( handle: SandboxHandle, projection: WorkspaceProjection, )
| 234 | * @param projection - The portable workspace inputs from `withSandbox`. |
| 235 | */ |
| 236 | export async function projectCodexWorkspace( |
| 237 | handle: SandboxHandle, |
| 238 | projection: WorkspaceProjection, |
| 239 | ): Promise<void> { |
| 240 | // Always re-resolve and rewrite the secret-bearing MCP config so rotated |
| 241 | // secrets re-apply and snapshots can't serve stale values. |
| 242 | await projectMcpServers(handle, projection) |
| 243 | |
| 244 | // Gate only the safe, idempotent, non-secret operations on the marker. |
| 245 | if (await handle.fs.exists(projection.markerPath)) return |
| 246 | |
| 247 | await projectGitSkills(handle, projection) |
| 248 | projectAgentSkills(projection) |
| 249 | projectPlugins(projection) |
| 250 | |
| 251 | await handle.fs.write(projection.markerPath, '') |
| 252 | } |
no test coverage detected