@skaile/workspaces 4.33.0 → 4.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +3 -3
- package/dist/{asset-feeds-CZGV7GCG.js → asset-feeds-NL3526ZV.js} +11 -11
- package/dist/{asset-feeds-CZGV7GCG.js.map → asset-feeds-NL3526ZV.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +5 -5
- package/dist/asset-manager/index.js +11 -11
- package/dist/asset-manager/installer.js +8 -8
- package/dist/asset-manager/renderers.js +2 -2
- package/dist/asset-manager/src/index.d.ts +30 -24
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/renderers.d.ts +2 -2
- package/dist/bridge/drivers/claude-sdk.js +9 -9
- package/dist/bridge/drivers/codex.js +8 -8
- package/dist/bridge/drivers/continue.js +10 -10
- package/dist/bridge/drivers/continue.js.map +1 -1
- package/dist/bridge/drivers/echo.js +2 -2
- package/dist/bridge/drivers/gemini.js +6 -6
- package/dist/bridge/drivers/goose.js +10 -10
- package/dist/bridge/drivers/goose.js.map +1 -1
- package/dist/bridge/drivers/omp.js +3 -3
- package/dist/bridge/drivers/omp.js.map +1 -1
- package/dist/bridge/drivers/opencode.js +11 -11
- package/dist/bridge/drivers/opencode.js.map +1 -1
- package/dist/bridge/drivers/qwen.js +6 -6
- package/dist/bridge/index.js +10 -10
- package/dist/bridge/src/capability-dispatch.d.ts +1 -1
- package/dist/bridge/src/drivers/_subprocess-cli.d.ts +3 -3
- package/dist/bridge/src/drivers/continue.d.ts +1 -1
- package/dist/bridge/src/drivers/gemini.d.ts +3 -3
- package/dist/bridge/src/drivers/goose.d.ts +1 -1
- package/dist/bridge/src/drivers/opencode.d.ts +1 -1
- package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts +2 -2
- package/dist/bridge/src/provider-materialize/credential-env.d.ts +4 -4
- package/dist/bridge/src/provider-materialize/env-drivers.d.ts +18 -18
- package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts +1 -1
- package/dist/bridge/src/provider-materialize/opencode-config.d.ts +1 -1
- package/dist/bridge/src/provider-materialize/session-config-home.d.ts +5 -5
- package/dist/bridge/src/registry.d.ts +10 -10
- package/dist/bridge/src/types.d.ts +9 -9
- package/dist/{chunk-AAPFZCQX.js → chunk-24X2GGSC.js} +6 -6
- package/dist/{chunk-AAPFZCQX.js.map → chunk-24X2GGSC.js.map} +1 -1
- package/dist/{chunk-WPISSDEI.js → chunk-3ELIPWCH.js} +6 -6
- package/dist/{chunk-WPISSDEI.js.map → chunk-3ELIPWCH.js.map} +1 -1
- package/dist/{chunk-HL6SZ7Z3.js → chunk-5YXKEM7Q.js} +7 -7
- package/dist/{chunk-HL6SZ7Z3.js.map → chunk-5YXKEM7Q.js.map} +1 -1
- package/dist/{chunk-HXC5VF3L.js → chunk-66A35U4V.js} +36 -35
- package/dist/chunk-66A35U4V.js.map +1 -0
- package/dist/{chunk-ENUCD5MW.js → chunk-75LXFKQR.js} +4 -4
- package/dist/{chunk-ENUCD5MW.js.map → chunk-75LXFKQR.js.map} +1 -1
- package/dist/{chunk-GMXG2JGN.js → chunk-7ERHZQ7O.js} +3 -3
- package/dist/{chunk-GMXG2JGN.js.map → chunk-7ERHZQ7O.js.map} +1 -1
- package/dist/{chunk-JULFGNQN.js → chunk-7HJ6SFFF.js} +3 -3
- package/dist/{chunk-JULFGNQN.js.map → chunk-7HJ6SFFF.js.map} +1 -1
- package/dist/{chunk-DKCFWSVW.js → chunk-7LBPHRRP.js} +3 -3
- package/dist/chunk-7LBPHRRP.js.map +1 -0
- package/dist/{chunk-A7WRTOFI.js → chunk-AKO6XHGV.js} +5 -5
- package/dist/{chunk-A7WRTOFI.js.map → chunk-AKO6XHGV.js.map} +1 -1
- package/dist/{chunk-3C6Q6TCZ.js → chunk-AO7TCPOS.js} +62 -18
- package/dist/chunk-AO7TCPOS.js.map +1 -0
- package/dist/{chunk-54A5QAIV.js → chunk-C3256F2F.js} +2 -2
- package/dist/{chunk-54A5QAIV.js.map → chunk-C3256F2F.js.map} +1 -1
- package/dist/{chunk-2JANXYTJ.js → chunk-DHLE66FV.js} +3 -3
- package/dist/{chunk-2JANXYTJ.js.map → chunk-DHLE66FV.js.map} +1 -1
- package/dist/{chunk-BR2IXOWX.js → chunk-DOF77WEV.js} +6 -6
- package/dist/{chunk-BR2IXOWX.js.map → chunk-DOF77WEV.js.map} +1 -1
- package/dist/{chunk-MENCWIHW.js → chunk-EB4ZTESQ.js} +4 -4
- package/dist/chunk-EB4ZTESQ.js.map +1 -0
- package/dist/{chunk-XUVQSDNV.js → chunk-GKTFGCQZ.js} +3 -3
- package/dist/chunk-GKTFGCQZ.js.map +1 -0
- package/dist/{chunk-GTVQUHBN.js → chunk-GORUF3YZ.js} +10 -10
- package/dist/{chunk-GTVQUHBN.js.map → chunk-GORUF3YZ.js.map} +1 -1
- package/dist/{chunk-ACDHNOT7.js → chunk-IFUQ6XBQ.js} +87 -10
- package/dist/chunk-IFUQ6XBQ.js.map +1 -0
- package/dist/{chunk-6J4WBP3C.js → chunk-IGNY4C6K.js} +21 -21
- package/dist/{chunk-6J4WBP3C.js.map → chunk-IGNY4C6K.js.map} +1 -1
- package/dist/{chunk-I6NZG7WX.js → chunk-J4ANCOQ4.js} +6 -6
- package/dist/chunk-J4ANCOQ4.js.map +1 -0
- package/dist/{chunk-5RHPNNWP.js → chunk-JRIU5GA7.js} +3 -3
- package/dist/{chunk-5RHPNNWP.js.map → chunk-JRIU5GA7.js.map} +1 -1
- package/dist/{chunk-F3HNW354.js → chunk-KIFJWSNC.js} +3 -3
- package/dist/{chunk-F3HNW354.js.map → chunk-KIFJWSNC.js.map} +1 -1
- package/dist/{chunk-DF7C3KZK.js → chunk-LRCSWOZO.js} +14 -14
- package/dist/chunk-LRCSWOZO.js.map +1 -0
- package/dist/{chunk-TAZMDZFP.js → chunk-MTWZ7KHZ.js} +3 -3
- package/dist/{chunk-TAZMDZFP.js.map → chunk-MTWZ7KHZ.js.map} +1 -1
- package/dist/{chunk-QDRQKQOU.js → chunk-N2UGG6WV.js} +3 -3
- package/dist/{chunk-QDRQKQOU.js.map → chunk-N2UGG6WV.js.map} +1 -1
- package/dist/{chunk-4T25XCWX.js → chunk-NVQLE4MK.js} +3 -3
- package/dist/{chunk-4T25XCWX.js.map → chunk-NVQLE4MK.js.map} +1 -1
- package/dist/{chunk-C4JDLXPI.js → chunk-QJOOD3OV.js} +3 -3
- package/dist/{chunk-C4JDLXPI.js.map → chunk-QJOOD3OV.js.map} +1 -1
- package/dist/{chunk-NPS765HV.js → chunk-RHESVS7V.js} +9 -9
- package/dist/{chunk-NPS765HV.js.map → chunk-RHESVS7V.js.map} +1 -1
- package/dist/{chunk-6GSZLKA5.js → chunk-T762W5CI.js} +3 -3
- package/dist/chunk-T762W5CI.js.map +1 -0
- package/dist/{chunk-3ZE7X5Y6.js → chunk-TB3LJ6NA.js} +3 -3
- package/dist/{chunk-3ZE7X5Y6.js.map → chunk-TB3LJ6NA.js.map} +1 -1
- package/dist/{chunk-N7B3LZ7V.js → chunk-TGE33MKN.js} +2 -2
- package/dist/{chunk-N7B3LZ7V.js.map → chunk-TGE33MKN.js.map} +1 -1
- package/dist/{chunk-DRAI3JH5.js → chunk-TGJIX77V.js} +11 -11
- package/dist/chunk-TGJIX77V.js.map +1 -0
- package/dist/{chunk-UWJAJP6T.js → chunk-TTITGVXV.js} +2 -2
- package/dist/{chunk-UWJAJP6T.js.map → chunk-TTITGVXV.js.map} +1 -1
- package/dist/{chunk-N3AH66VX.js → chunk-TUTVTGMG.js} +4 -4
- package/dist/{chunk-N3AH66VX.js.map → chunk-TUTVTGMG.js.map} +1 -1
- package/dist/{chunk-HGPSZXZP.js → chunk-VOXFI3XS.js} +3 -3
- package/dist/{chunk-HGPSZXZP.js.map → chunk-VOXFI3XS.js.map} +1 -1
- package/dist/{chunk-SK36WO2Z.js → chunk-XTOTP7MJ.js} +2 -2
- package/dist/{chunk-SK36WO2Z.js.map → chunk-XTOTP7MJ.js.map} +1 -1
- package/dist/cli/index.js +119 -119
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/catalog.d.ts +1 -1
- package/dist/cli/src/commands/integration.d.ts +2 -2
- package/dist/cli/src/commands/plugin/claude-code.d.ts +2 -2
- package/dist/cli/src/commands/plugin/codex.d.ts +2 -2
- package/dist/cli/src/commands/plugin/omp.d.ts +2 -2
- package/dist/cli/src/commands/plugin/types.d.ts +13 -13
- package/dist/cli/src/commands/plugin/types.d.ts.map +1 -1
- package/dist/cli/src/commands/run.d.ts +1 -1
- package/dist/connectors/config.js +3 -3
- package/dist/connectors/index.js +13 -13
- package/dist/connectors/src/connect-failure-carry-over.d.ts +38 -0
- package/dist/connectors/src/connect-failure-carry-over.d.ts.map +1 -0
- package/dist/connectors/src/connector-manager.d.ts +15 -0
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +1 -0
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/core/driver-targets.js +1 -1
- package/dist/core/index.js +5 -5
- package/dist/core/runtime-assets.js +3 -3
- package/dist/core/src/driver-targets.d.ts +8 -8
- package/dist/core/src/index.d.ts +8 -2
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/settings.d.ts +1 -1
- package/dist/core/src/workspace-config.d.ts +16 -15
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/store.js +2 -2
- package/dist/core/workspace-config.js +2 -2
- package/dist/deploy/index.js +5 -5
- package/dist/discovery/index.js +2 -2
- package/dist/{ensure-sources-JGKHWDC4.js → ensure-sources-DVPPPCBS.js} +14 -14
- package/dist/{ensure-sources-JGKHWDC4.js.map → ensure-sources-DVPPPCBS.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +13 -13
- package/dist/factory-assets/connectors/deploy.js +13 -13
- package/dist/factory-assets/connectors/devserver.js +13 -13
- package/dist/factory-assets/connectors/flow/CONNECTOR.md +2 -2
- package/dist/factory-assets/connectors/flow/adapter.js +13 -13
- package/dist/factory-assets/connectors/flow/engine.js +6 -6
- package/dist/factory-assets/connectors/flow/run-flow.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/run-flow.js +14 -14
- package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts +3 -3
- package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow.js +13 -13
- package/dist/factory-assets/connectors/git.js +13 -13
- package/dist/factory-assets/connectors/gmail.js +13 -13
- package/dist/factory-assets/connectors/googledrive.js +13 -13
- package/dist/factory-assets/connectors/local.js +13 -13
- package/dist/factory-assets/connectors/mattermost.js +13 -13
- package/dist/factory-assets/connectors/memory.js +13 -13
- package/dist/factory-assets/connectors/minio.js +13 -13
- package/dist/factory-assets/connectors/postgres.js +13 -13
- package/dist/factory-assets/connectors/s3.js +13 -13
- package/dist/factory-assets/connectors/sharepoint.js +13 -13
- package/dist/factory-assets/connectors/sqlite.js +13 -13
- package/dist/factory-assets/connectors/static-server.js +13 -13
- package/dist/factory-assets/connectors/tunnel.js +13 -13
- package/dist/factory-assets/connectors/webdav.js +13 -13
- package/dist/factory-assets/connectors/xstate-store.js +13 -13
- package/dist/factory-assets/connectors/xstate.js +13 -13
- package/dist/{flows-QTUSWYKY.js → flows-X7JFAVRR.js} +8 -8
- package/dist/{flows-QTUSWYKY.js.map → flows-X7JFAVRR.js.map} +1 -1
- package/dist/{helpers-6X4HJKWS.js → helpers-KLO5VUVZ.js} +14 -14
- package/dist/{helpers-6X4HJKWS.js.map → helpers-KLO5VUVZ.js.map} +1 -1
- package/dist/library/index.js +8 -8
- package/dist/{library-publish-MGN3N73A.js → library-publish-X6JGR7K3.js} +18 -18
- package/dist/{library-publish-MGN3N73A.js.map → library-publish-X6JGR7K3.js.map} +1 -1
- package/dist/{open-library-4PFE2CJ7.js → open-library-S2ZFKJUK.js} +16 -16
- package/dist/{open-library-4PFE2CJ7.js.map → open-library-S2ZFKJUK.js.map} +1 -1
- package/dist/{paths-IOOMNHTC.js → paths-OI5IIS22.js} +8 -8
- package/dist/{paths-IOOMNHTC.js.map → paths-OI5IIS22.js.map} +1 -1
- package/dist/plugin-registry/src/targets.d.ts +5 -5
- package/dist/plugin-registry/src/targets.d.ts.map +1 -1
- package/dist/{plugin-store-OIIPB2MQ.js → plugin-store-C67RLSPD.js} +7 -7
- package/dist/{plugin-store-OIIPB2MQ.js.map → plugin-store-C67RLSPD.js.map} +1 -1
- package/dist/{project-MD4HQ62C.js → project-7VOTYB7O.js} +15 -15
- package/dist/{project-MD4HQ62C.js.map → project-7VOTYB7O.js.map} +1 -1
- package/dist/resolver/index.js +5 -5
- package/dist/runner/index.js +18 -18
- package/dist/runner/src/manifest.d.ts +1 -1
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts +47 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts +2 -2
- package/dist/runner/src/session-stimulus.d.ts +5 -0
- package/dist/runner/src/session-stimulus.d.ts.map +1 -1
- package/dist/runner/src/session.d.ts +1 -1
- package/dist/runner/src/session.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +11 -11
- package/dist/sdk/bridge.js +10 -10
- package/dist/sdk/core.js +5 -5
- package/dist/sdk/flow.js +6 -6
- package/dist/sdk/index.js +18 -18
- package/dist/sdk/resolver.js +5 -5
- package/dist/sdk/runner.js +18 -18
- package/dist/{setup-PB35G5SG.js → setup-RO3PGJYS.js} +19 -19
- package/dist/{setup-PB35G5SG.js.map → setup-RO3PGJYS.js.map} +1 -1
- package/dist/{skills-DH75K326.js → skills-4YTVHMOH.js} +7 -7
- package/dist/{skills-DH75K326.js.map → skills-4YTVHMOH.js.map} +1 -1
- package/dist/{source-Y5OF6IZU.js → source-ZZLLOP2U.js} +17 -17
- package/dist/{source-Y5OF6IZU.js.map → source-ZZLLOP2U.js.map} +1 -1
- package/dist/{source-manifest-publish-YWFVYTEI.js → source-manifest-publish-7WRQDIXO.js} +19 -19
- package/dist/{source-manifest-publish-YWFVYTEI.js.map → source-manifest-publish-7WRQDIXO.js.map} +1 -1
- package/dist/tui/index.js +18 -18
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/manifests/agent.d.ts +4 -4
- package/dist/types/src/runtime.d.ts +4 -4
- package/dist/workspace-plugin/adapters/mcp.js +7 -7
- package/dist/workspace-plugin/adapters/omp.js +7 -7
- package/dist/workspace-plugin/index.js +1 -1
- package/dist/workspace-plugin/src/plugin.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-3C6Q6TCZ.js.map +0 -1
- package/dist/chunk-6GSZLKA5.js.map +0 -1
- package/dist/chunk-ACDHNOT7.js.map +0 -1
- package/dist/chunk-DF7C3KZK.js.map +0 -1
- package/dist/chunk-DKCFWSVW.js.map +0 -1
- package/dist/chunk-DRAI3JH5.js.map +0 -1
- package/dist/chunk-HXC5VF3L.js.map +0 -1
- package/dist/chunk-I6NZG7WX.js.map +0 -1
- package/dist/chunk-MENCWIHW.js.map +0 -1
- package/dist/chunk-XUVQSDNV.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../bridge/src/provider-materialize/session-config-home.ts"],"names":[],"mappings":";;;;;AAmDO,SAAS,uBAAA,CAAwB,UAAkB,MAAA,EAAkC;AAC1F,EAAA,MAAM,GAAA,GACJ,MAAA,CAAO,SAAA,IAAa,yBAAA,CAA0B,IAAA,CAAK,OAAO,SAAS,CAAA,GAC/D,MAAA,CAAO,SAAA,GACP,UAAA,CAAW,QAAQ,EAChB,MAAA,CAAO,MAAA,CAAO,SAAA,IAAa,MAAA,CAAO,GAAG,CAAA,CACrC,OAAO,KAAK,CAAA,CACZ,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AACpB,EAAA,OAAO,IAAA,CAAK,eAAA,EAAgB,EAAG,QAAA,EAAU,GAAG,CAAA;AAC9C;AAQO,SAAS,sBAAA,CAAuB,GAAA,EAAa,QAAA,EAAkB,QAAA,EAA0B;AAC9F,EAAA,SAAA,CAAU,KAAK,EAAE,SAAA,EAAW,IAAA,EAAM,IAAA,EAAM,KAAO,CAAA;AAC/C,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,GAAA,EAAK,QAAQ,CAAA;AAC/B,EAAA,MAAM,SAAA,GAAY,GAAG,IAAI,CAAA,IAAA,CAAA;AACzB,EAAA,MAAA,CAAO,SAAA,EAAW,EAAE,KAAA,EAAO,IAAA,EAAM,CAAA;AACjC,EAAA,aAAA,CAAc,WAAW,QAAA,EAAU,EAAE,MAAM,GAAA,EAAO,IAAA,EAAM,MAAM,CAAA;AAC9D,EAAA,UAAA,CAAW,WAAW,IAAI,CAAA;AAC1B,EAAA,OAAO,IAAA;AACT;AASO,SAAS,qBAAA,CAAsB,KAAa,IAAA,EAAiC;AAClF,EAAA,IAAI,CAAC,UAAA,CAAW,GAAG,CAAA,EAAG;AACtB,EAAA,KAAA,MAAW,IAAA,IAAQ,WAAA,CAAY,GAAG,CAAA,EAAG;AACnC,IAAA,IAAI,CAAC,KAAK,QAAA,CAAS,OAAO,KAAK,IAAA,CAAK,GAAA,CAAI,IAAI,CAAA,EAAG;AAC/C,IAAA,MAAA,CAAO,KAAK,GAAA,EAAK,IAAI,GAAG,EAAE,KAAA,EAAO,MAAM,CAAA;AAAA,EACzC;AACF;AAGO,SAAS,uBAAA,CAAwB,KAAa,QAAA,EAAwB;AAC3E,EAAA,MAAA,CAAO,KAAK,GAAA,EAAK,QAAQ,GAAG,EAAE,KAAA,EAAO,MAAM,CAAA;AAC7C","file":"chunk-6GSZLKA5.js","sourcesContent":["/**\n * Session-private config homes for the **file-shaped CLI drivers** — OpenCode,\n * Goose and Continue (§2.3, file rows).\n *\n * An environment variable can say *which* endpoint a backend should use, but\n * it cannot describe one the backend has never heard of: a self-hosted\n * gateway, a LiteLLM proxy, an Ollama box. Each of these three backends learns\n * such an endpoint only from its own config file, and each resolves that file\n * out of a config home it takes from the environment:\n *\n * | driver | variable | file this adapter writes |\n * |------------|----------------------|--------------------------------------|\n * | `opencode` | `XDG_CONFIG_HOME` | `opencode/opencode.json` |\n * | `goose` | `GOOSE_PATH_ROOT` | `config/custom_providers/<id>.json` |\n * | `continue` | `CONTINUE_GLOBAL_DIR`| `config.yaml` |\n *\n * Pointing those variables at a directory this process owns is what keeps the\n * developer's real `~/.config/opencode`, goose config dir and `~/.continue`\n * out of the session: unread, and — the part that matters — unwritten. The\n * backends all persist state next to their config (sessions, logs, an index),\n * so a session that rendered into the ambient home would leave its debris in\n * it.\n *\n * The home is keyed by session id so a resumed turn finds the same directory,\n * and it lives under `$SKAILE_HOME` (default `~/.skaile`) rather than inside\n * `cwd`: the working tree is writable by the model, and a config home in there\n * would let a turn rewrite its own `base_url`. `$SKAILE_HOME` is also the test\n * seam.\n *\n * @see PROVIDER-CONFIG-PLAN.md §2.3\n */\n\nimport { createHash } from \"node:crypto\";\nimport { existsSync, mkdirSync, readdirSync, renameSync, rmSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { globalSkaileDir } from \"@skaile/workspaces/core\";\n\n/** The `AgentConfig` fields a session home is derived from. */\nexport interface SessionHomeInput {\n cwd: string;\n sessionId?: string;\n}\n\n/**\n * `$SKAILE_HOME/<driverId>/<key>` — the directory this process owns on the\n * session's behalf.\n *\n * `key` is the session id when it is already a safe path segment, and a\n * digest of it (or of `cwd`, for a session that carries no id) otherwise, so\n * an id containing a separator can never escape the driver's subtree.\n */\nexport function driverSessionConfigHome(driverId: string, config: SessionHomeInput): string {\n const key =\n config.sessionId && /^[A-Za-z0-9._-]{1,128}$/.test(config.sessionId)\n ? config.sessionId\n : createHash(\"sha256\")\n .update(config.sessionId ?? config.cwd)\n .digest(\"hex\")\n .slice(0, 32);\n return join(globalSkaileDir(), driverId, key);\n}\n\n/**\n * Write `contents` to `path`, creating its directory.\n *\n * Atomic by rename: a backend reading a half-written config fails the whole\n * session, and these files are re-rendered before every turn.\n */\nexport function writeSessionConfigFile(dir: string, filename: string, contents: string): string {\n mkdirSync(dir, { recursive: true, mode: 0o700 });\n const path = join(dir, filename);\n const temporary = `${path}.new`;\n rmSync(temporary, { force: true });\n writeFileSync(temporary, contents, { mode: 0o600, flag: \"wx\" });\n renameSync(temporary, path);\n return path;\n}\n\n/**\n * Delete every `.json` file in `dir` that is not in `keep`.\n *\n * Goose loads *all* of `custom_providers/`, so a provider file left over from\n * an earlier render of the same session would keep answering for an endpoint\n * the registry no longer declares.\n */\nexport function pruneSessionConfigDir(dir: string, keep: ReadonlySet<string>): void {\n if (!existsSync(dir)) return;\n for (const name of readdirSync(dir)) {\n if (!name.endsWith(\".json\") || keep.has(name)) continue;\n rmSync(join(dir, name), { force: true });\n }\n}\n\n/** Remove a file an earlier render left behind. */\nexport function removeSessionConfigFile(dir: string, filename: string): void {\n rmSync(join(dir, filename), { force: true });\n}\n"]}
|