( handle: SandboxHandle, projection: WorkspaceProjection, )
| 202 | * @param projection - The portable workspace inputs from `withSandbox`. |
| 203 | */ |
| 204 | export async function projectOpencodeWorkspace( |
| 205 | handle: SandboxHandle, |
| 206 | projection: WorkspaceProjection, |
| 207 | ): Promise<void> { |
| 208 | // Always re-resolve and rewrite the secret-bearing MCP config so rotated |
| 209 | // secrets re-apply and snapshots can't serve stale values. |
| 210 | await projectMcpServers(handle, projection) |
| 211 | |
| 212 | // Gate only the safe, idempotent, non-secret operations on the marker. |
| 213 | if (await handle.fs.exists(projection.markerPath)) return |
| 214 | |
| 215 | projectGitSkills(projection) |
| 216 | projectAgentSkills(projection) |
| 217 | projectPlugins(projection) |
| 218 | |
| 219 | await handle.fs.write(projection.markerPath, '') |
| 220 | } |
no test coverage detected