@skaile/workspaces 0.21.0 → 0.22.0-beta.1
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 +176 -0
- package/dist/{asset-feeds-CI76R7FI.js → asset-feeds-QXCSAJRN.js} +11 -11
- package/dist/{asset-feeds-CI76R7FI.js.map → asset-feeds-QXCSAJRN.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.d.ts +2 -0
- package/dist/asset-manager/contrib.d.ts +2 -0
- package/dist/asset-manager/fragments.d.ts +2 -0
- package/dist/asset-manager/history.d.ts +2 -0
- package/dist/asset-manager/index.d.ts +2 -0
- package/dist/asset-manager/index.js +9 -9
- package/dist/asset-manager/installer.d.ts +2 -0
- package/dist/asset-manager/installer.js +8 -8
- package/dist/asset-manager/renderers.d.ts +2 -0
- package/dist/asset-manager/src/index.d.ts +18 -7
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +3 -3
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/base-assets/connectors/deploy.d.ts +2 -0
- package/dist/base-assets/connectors/deploy.js +10 -9
- package/dist/base-assets/connectors/devserver.d.ts +2 -0
- package/dist/base-assets/connectors/devserver.js +10 -9
- package/dist/base-assets/connectors/flow/adapter.js +10 -9
- package/dist/base-assets/connectors/flow/engine.d.ts +2 -0
- package/dist/base-assets/connectors/flow/run-flow.js +11 -10
- package/dist/base-assets/connectors/flow.d.ts +2 -0
- package/dist/base-assets/connectors/flow.js +10 -9
- package/dist/base-assets/connectors/git.d.ts +2 -0
- package/dist/base-assets/connectors/git.js +10 -9
- package/dist/base-assets/connectors/gmail.d.ts +2 -0
- package/dist/base-assets/connectors/gmail.js +10 -9
- package/dist/base-assets/connectors/googledrive.d.ts +2 -0
- package/dist/base-assets/connectors/googledrive.js +10 -9
- package/dist/base-assets/connectors/local.d.ts +2 -0
- package/dist/base-assets/connectors/local.js +10 -9
- package/dist/base-assets/connectors/mattermost.d.ts +2 -0
- package/dist/base-assets/connectors/mattermost.js +10 -9
- package/dist/base-assets/connectors/memory.d.ts +2 -0
- package/dist/base-assets/connectors/memory.js +10 -9
- package/dist/base-assets/connectors/minio.d.ts +2 -0
- package/dist/base-assets/connectors/minio.js +10 -9
- package/dist/base-assets/connectors/postgres.d.ts +2 -0
- package/dist/base-assets/connectors/postgres.js +10 -9
- package/dist/base-assets/connectors/s3.d.ts +2 -0
- package/dist/base-assets/connectors/s3.js +10 -9
- package/dist/base-assets/connectors/sharepoint.d.ts +2 -0
- package/dist/base-assets/connectors/sharepoint.js +10 -9
- package/dist/base-assets/connectors/sqlite.d.ts +2 -0
- package/dist/base-assets/connectors/sqlite.js +10 -9
- package/dist/base-assets/connectors/static-server.d.ts +2 -0
- package/dist/base-assets/connectors/static-server.js +10 -9
- package/dist/base-assets/connectors/tunnel.d.ts +2 -0
- package/dist/base-assets/connectors/tunnel.js +10 -9
- package/dist/base-assets/connectors/webdav.d.ts +2 -0
- package/dist/base-assets/connectors/webdav.js +10 -9
- package/dist/base-assets/connectors/xstate-store.d.ts +2 -0
- package/dist/base-assets/connectors/xstate-store.js +10 -9
- package/dist/base-assets/connectors/xstate.d.ts +2 -0
- package/dist/base-assets/connectors/xstate.js +10 -9
- package/dist/bridge/drivers/claude-sdk.d.ts +2 -0
- package/dist/bridge/drivers/claude-sdk.js +13 -3
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.d.ts +2 -0
- package/dist/bridge/drivers/codex.js +13 -3
- package/dist/bridge/drivers/codex.js.map +1 -1
- package/dist/bridge/drivers/echo.d.ts +2 -0
- package/dist/bridge/drivers/echo.js +13 -4
- package/dist/bridge/drivers/echo.js.map +1 -1
- package/dist/bridge/drivers/omp.d.ts +2 -0
- package/dist/bridge/drivers/omp.js +13 -3
- package/dist/bridge/drivers/omp.js.map +1 -1
- package/dist/bridge/index.d.ts +2 -0
- package/dist/bridge/index.js +3 -2
- package/dist/bridge/src/drivers/claude-sdk.d.ts +7 -0
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/codex.d.ts +7 -0
- package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
- package/dist/bridge/src/drivers/echo.d.ts +6 -0
- package/dist/bridge/src/drivers/echo.d.ts.map +1 -1
- package/dist/bridge/src/drivers/omp.d.ts +6 -0
- package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
- package/dist/bridge/src/registry.d.ts +34 -34
- package/dist/bridge/src/registry.d.ts.map +1 -1
- package/dist/{chunk-ZWIG55ZX.js → chunk-2XY6732A.js} +3 -3
- package/dist/{chunk-ZWIG55ZX.js.map → chunk-2XY6732A.js.map} +1 -1
- package/dist/{chunk-NCUTHLRV.js → chunk-3ECS5PFD.js} +4 -4
- package/dist/{chunk-NCUTHLRV.js.map → chunk-3ECS5PFD.js.map} +1 -1
- package/dist/{chunk-FRPKLIEZ.js → chunk-4AZKT2BU.js} +13 -13
- package/dist/chunk-4AZKT2BU.js.map +1 -0
- package/dist/chunk-6E6PKKAD.js +161 -0
- package/dist/chunk-6E6PKKAD.js.map +1 -0
- package/dist/{chunk-4ACWI5YT.js → chunk-6VTG73UY.js} +48 -36
- package/dist/chunk-6VTG73UY.js.map +1 -0
- package/dist/{chunk-H45ANMIU.js → chunk-APAOQLPT.js} +3 -3
- package/dist/{chunk-H45ANMIU.js.map → chunk-APAOQLPT.js.map} +1 -1
- package/dist/{chunk-4S4TZDCD.js → chunk-D7K72XEY.js} +3 -3
- package/dist/{chunk-4S4TZDCD.js.map → chunk-D7K72XEY.js.map} +1 -1
- package/dist/{chunk-2WVQMRIE.js → chunk-DKGDOALM.js} +5 -5
- package/dist/{chunk-2WVQMRIE.js.map → chunk-DKGDOALM.js.map} +1 -1
- package/dist/{chunk-DFUXWNTS.js → chunk-GFNW72LW.js} +17 -5
- package/dist/chunk-GFNW72LW.js.map +1 -0
- package/dist/{chunk-37JKX6D7.js → chunk-I3UEM3FX.js} +36 -8
- package/dist/chunk-I3UEM3FX.js.map +1 -0
- package/dist/{chunk-5QNQLSBW.js → chunk-J3VKAEQP.js} +514 -143
- package/dist/chunk-J3VKAEQP.js.map +1 -0
- package/dist/{chunk-BSY56QS7.js → chunk-JHF66MCK.js} +49 -3
- package/dist/chunk-JHF66MCK.js.map +1 -0
- package/dist/{chunk-XAVM2BAJ.js → chunk-LT4DLEYE.js} +114 -619
- package/dist/chunk-LT4DLEYE.js.map +1 -0
- package/dist/{chunk-S2OVTCAL.js → chunk-M5TE6YI5.js} +3 -3
- package/dist/{chunk-S2OVTCAL.js.map → chunk-M5TE6YI5.js.map} +1 -1
- package/dist/{chunk-RDH4SSMH.js → chunk-NJLHHZIW.js} +2 -2
- package/dist/{chunk-RDH4SSMH.js.map → chunk-NJLHHZIW.js.map} +1 -1
- package/dist/{chunk-XGWGLIHZ.js → chunk-PTIHB2TV.js} +5 -5
- package/dist/{chunk-XGWGLIHZ.js.map → chunk-PTIHB2TV.js.map} +1 -1
- package/dist/{chunk-W5DFC35Z.js → chunk-UMOENHVH.js} +279 -133
- package/dist/chunk-UMOENHVH.js.map +1 -0
- package/dist/{chunk-G4BR355S.js → chunk-V3QMSM5I.js} +38 -43
- package/dist/chunk-V3QMSM5I.js.map +1 -0
- package/dist/{chunk-DEQ3OOTU.js → chunk-VCYXVP2S.js} +263 -177
- package/dist/chunk-VCYXVP2S.js.map +1 -0
- package/dist/{chunk-KFDTS7RX.js → chunk-XIHFJVOD.js} +3 -3
- package/dist/{chunk-KFDTS7RX.js.map → chunk-XIHFJVOD.js.map} +1 -1
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +762 -472
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/deploy.d.ts +24 -0
- package/dist/cli/src/commands/deploy.d.ts.map +1 -0
- package/dist/cli/src/commands/integration.d.ts +19 -0
- package/dist/cli/src/commands/integration.d.ts.map +1 -0
- package/dist/cli/src/commands/manage.d.ts +1 -1
- package/dist/cli/src/commands/plugin-registry-cmd.d.ts +22 -0
- package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -0
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/serve.d.ts.map +1 -1
- package/dist/cli/src/commands/source.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts.map +1 -1
- package/dist/cli/src/ensure-sources.d.ts.map +1 -1
- package/dist/cli/src/plugin-store/index.d.ts +37 -0
- package/dist/cli/src/plugin-store/index.d.ts.map +1 -0
- package/dist/cli/src/plugin-store/load.d.ts +35 -0
- package/dist/cli/src/plugin-store/load.d.ts.map +1 -0
- package/dist/cli/src/plugin-store/paths.d.ts +23 -0
- package/dist/cli/src/plugin-store/paths.d.ts.map +1 -0
- package/dist/cli/src/plugin-store/reconcile.d.ts +50 -0
- package/dist/cli/src/plugin-store/reconcile.d.ts.map +1 -0
- package/dist/cli/src/plugin-store/spec.d.ts +25 -0
- package/dist/cli/src/plugin-store/spec.d.ts.map +1 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/connectors/config.d.ts +2 -0
- package/dist/connectors/config.js +8 -8
- package/dist/connectors/index.d.ts +2 -0
- package/dist/connectors/index.js +10 -9
- package/dist/connectors/rclone-config.d.ts +2 -0
- package/dist/connectors/rclone.d.ts +2 -0
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/connector-registry.d.ts +42 -22
- package/dist/connectors/src/connector-registry.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +2 -3
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/connectors-shared/index.d.ts +2 -0
- package/dist/connectors-shared/index.js +8 -0
- package/dist/connectors-shared/index.js.map +1 -0
- package/dist/connectors-shared/src/index.d.ts +11 -0
- package/dist/connectors-shared/src/index.d.ts.map +1 -0
- package/dist/connectors-shared/src/schemas.d.ts +10 -0
- package/dist/connectors-shared/src/schemas.d.ts.map +1 -0
- package/dist/connectors-shared/src/types.d.ts +11 -0
- package/dist/connectors-shared/src/types.d.ts.map +1 -0
- package/dist/core/discovery.d.ts +2 -0
- package/dist/core/driver-targets.d.ts +2 -0
- package/dist/core/framework.d.ts +2 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +7 -7
- package/dist/core/logging.d.ts +2 -0
- package/dist/core/manifest.d.ts +2 -0
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.d.ts +2 -0
- package/dist/core/models.js +1 -1
- package/dist/core/runtime-assets.d.ts +2 -0
- package/dist/core/runtime-assets.js +4 -4
- package/dist/core/src/index.d.ts +8 -6
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +64 -24
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +66 -47
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +62 -34
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/runtime-assets.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts +52 -0
- package/dist/core/src/walker.d.ts.map +1 -0
- package/dist/core/src/workspace-config.d.ts +174 -45
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/src/workspace-yaml-editor.d.ts +53 -16
- package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
- package/dist/core/store.d.ts +2 -0
- package/dist/core/workspace-config.d.ts +2 -0
- package/dist/core/workspace-config.js +3 -3
- package/dist/deploy/index.d.ts +2 -0
- package/dist/deploy/index.js +473 -0
- package/dist/deploy/index.js.map +1 -0
- package/dist/deploy/src/handle-store.d.ts +22 -0
- package/dist/deploy/src/handle-store.d.ts.map +1 -0
- package/dist/deploy/src/index.d.ts +21 -0
- package/dist/deploy/src/index.d.ts.map +1 -0
- package/dist/deploy/src/targets/container-runtime.d.ts +39 -0
- package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -0
- package/dist/deploy/src/targets/docker.d.ts +19 -0
- package/dist/deploy/src/targets/docker.d.ts.map +1 -0
- package/dist/deploy/src/targets/local.d.ts +30 -0
- package/dist/deploy/src/targets/local.d.ts.map +1 -0
- package/dist/deploy/src/targets/podman.d.ts +19 -0
- package/dist/deploy/src/targets/podman.d.ts.map +1 -0
- package/dist/deploy/src/targets/port.d.ts +10 -0
- package/dist/deploy/src/targets/port.d.ts.map +1 -0
- package/dist/deploy/src/targets/stream-lines.d.ts +44 -0
- package/dist/deploy/src/targets/stream-lines.d.ts.map +1 -0
- package/dist/discovery/index.d.ts +2 -0
- package/dist/discovery/index.js +3 -3
- package/dist/discovery/src/source-config.d.ts +2 -2
- package/dist/{ensure-sources-IDVQ77NJ.js → ensure-sources-SL2S4UEX.js} +22 -18
- package/dist/ensure-sources-SL2S4UEX.js.map +1 -0
- package/dist/{flows-6BNO4GKK.js → flows-DYFTPCPM.js} +4 -4
- package/dist/{flows-6BNO4GKK.js.map → flows-DYFTPCPM.js.map} +1 -1
- package/dist/library/index.d.ts +2 -0
- package/dist/library/index.js +4 -4
- package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
- package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
- package/dist/open-library-M4DB3D3J.js +13 -0
- package/dist/{open-library-IOYWFK7M.js.map → open-library-M4DB3D3J.js.map} +1 -1
- package/dist/plugin-registry/index.d.ts +2 -0
- package/dist/plugin-registry/index.js +4 -0
- package/dist/plugin-registry/index.js.map +1 -0
- package/dist/plugin-registry/src/context.d.ts +29 -0
- package/dist/plugin-registry/src/context.d.ts.map +1 -0
- package/dist/plugin-registry/src/deploy-handle.d.ts +76 -0
- package/dist/plugin-registry/src/deploy-handle.d.ts.map +1 -0
- package/dist/plugin-registry/src/deploy-helpers.d.ts +69 -0
- package/dist/plugin-registry/src/deploy-helpers.d.ts.map +1 -0
- package/dist/plugin-registry/src/errors.d.ts +23 -0
- package/dist/plugin-registry/src/errors.d.ts.map +1 -0
- package/dist/plugin-registry/src/index.d.ts +18 -0
- package/dist/plugin-registry/src/index.d.ts.map +1 -0
- package/dist/plugin-registry/src/internal.d.ts +13 -0
- package/dist/plugin-registry/src/internal.d.ts.map +1 -0
- package/dist/plugin-registry/src/registry.d.ts +26 -0
- package/dist/plugin-registry/src/registry.d.ts.map +1 -0
- package/dist/plugin-registry/src/targets.d.ts +46 -0
- package/dist/plugin-registry/src/targets.d.ts.map +1 -0
- package/dist/plugin-store-AJ3FGXIC.js +144 -0
- package/dist/plugin-store-AJ3FGXIC.js.map +1 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/resolver/index.d.ts +2 -0
- package/dist/runner/index.d.ts +2 -0
- package/dist/runner/index.js +15 -14
- package/dist/runner/prompt-assembly.d.ts +2 -0
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.d.ts +2 -0
- package/dist/sdk/asset-manager.js +9 -9
- package/dist/sdk/bridge.d.ts +2 -0
- package/dist/sdk/bridge.js +3 -2
- package/dist/sdk/client.d.ts +2 -0
- package/dist/sdk/core.d.ts +2 -0
- package/dist/sdk/core.js +7 -7
- package/dist/sdk/flow.d.ts +2 -0
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.js +51 -17
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.d.ts +2 -0
- package/dist/sdk/runner.d.ts +2 -0
- package/dist/sdk/runner.js +15 -14
- package/dist/sdk/session.d.ts +2 -0
- package/dist/sdk/src/local-runtime.d.ts +8 -0
- package/dist/sdk/src/local-runtime.d.ts.map +1 -1
- package/dist/sdk/src/transport.d.ts +7 -1
- package/dist/sdk/src/transport.d.ts.map +1 -1
- package/dist/sdk/store.d.ts +2 -0
- package/dist/sdk/telemetry.d.ts +2 -0
- package/dist/sdk/transport/ws/client.d.ts +2 -0
- package/dist/sdk/transport/ws/server.d.ts +2 -0
- package/dist/sdk/transport/ws.d.ts +2 -0
- package/dist/sdk/transport.d.ts +2 -0
- package/dist/sdk/types.d.ts +2 -0
- package/dist/secrets/index.d.ts +2 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/{setup-AIOLUTKV.js → setup-GBSQX7JF.js} +12 -11
- package/dist/setup-GBSQX7JF.js.map +1 -0
- package/dist/store/index.d.ts +2 -0
- package/dist/store/react.d.ts +2 -0
- package/dist/store/vue.d.ts +2 -0
- package/dist/store-client-5WBRUC5U.js +14 -0
- package/dist/{store-client-CYEH2GKC.js.map → store-client-5WBRUC5U.js.map} +1 -1
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/transport/index.d.ts +2 -0
- package/dist/transport/ws/client.d.ts +2 -0
- package/dist/transport/ws/server.d.ts +2 -0
- package/dist/transport/ws.d.ts +2 -0
- package/dist/tui/index.d.ts +2 -0
- package/dist/tui/index.js +15 -14
- package/dist/tui/index.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/manifests.d.ts +2 -0
- package/dist/workspace-plugin/adapters/mcp.d.ts +2 -0
- package/dist/workspace-plugin/adapters/mcp.js +2 -2
- package/dist/workspace-plugin/adapters/omp.d.ts +2 -0
- package/dist/workspace-plugin/adapters/omp.js +3 -3
- package/dist/workspace-plugin/index.d.ts +2 -0
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +23 -24
- package/dist/base-assets/connectors/redis/adapter.d.ts +0 -39
- package/dist/base-assets/connectors/redis/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/redis.js +0 -20
- package/dist/base-assets/connectors/redis.js.map +0 -1
- package/dist/base-assets/connectors/yjs/adapter.d.ts +0 -50
- package/dist/base-assets/connectors/yjs/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/yjs.js +0 -20
- package/dist/base-assets/connectors/yjs.js.map +0 -1
- package/dist/chunk-37JKX6D7.js.map +0 -1
- package/dist/chunk-4ACWI5YT.js.map +0 -1
- package/dist/chunk-5QNQLSBW.js.map +0 -1
- package/dist/chunk-BSY56QS7.js.map +0 -1
- package/dist/chunk-DEQ3OOTU.js.map +0 -1
- package/dist/chunk-DFUXWNTS.js.map +0 -1
- package/dist/chunk-FRPKLIEZ.js.map +0 -1
- package/dist/chunk-G4BR355S.js.map +0 -1
- package/dist/chunk-W5DFC35Z.js.map +0 -1
- package/dist/chunk-XAVM2BAJ.js.map +0 -1
- package/dist/cli/src/commands/plugin.d.ts +0 -14
- package/dist/cli/src/commands/plugin.d.ts.map +0 -1
- package/dist/ensure-sources-IDVQ77NJ.js.map +0 -1
- package/dist/open-library-IOYWFK7M.js +0 -13
- package/dist/setup-AIOLUTKV.js.map +0 -1
- package/dist/store-client-CYEH2GKC.js +0 -14
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveSkWorkspaceConfig } from './chunk-J3VKAEQP.js';
|
|
2
2
|
import { createHash } from 'crypto';
|
|
3
3
|
import fs, { writeFileSync, existsSync, readFileSync, mkdirSync, cpSync, readdirSync } from 'fs';
|
|
4
|
-
import path, { join,
|
|
4
|
+
import path, { join, dirname, basename } from 'path';
|
|
5
5
|
import { stringify, parse, parseDocument, Document, isMap, isSeq } from 'yaml';
|
|
6
6
|
import { spawnSync, spawn } from 'child_process';
|
|
7
7
|
import fsp from 'fs/promises';
|
|
@@ -13,105 +13,107 @@ function writeLock(lockPath, data) {
|
|
|
13
13
|
}
|
|
14
14
|
function readLock(lockPath) {
|
|
15
15
|
if (!existsSync(lockPath)) return null;
|
|
16
|
+
let raw;
|
|
16
17
|
try {
|
|
17
|
-
|
|
18
|
+
raw = parse(readFileSync(lockPath, "utf8"));
|
|
18
19
|
} catch {
|
|
19
20
|
return null;
|
|
20
21
|
}
|
|
22
|
+
if (!raw || typeof raw !== "object") return null;
|
|
23
|
+
const r = raw;
|
|
24
|
+
if (r.schema_version !== 2) {
|
|
25
|
+
throw new Error(
|
|
26
|
+
"lockfile schema v1 detected. The lockfile shape changed in @skaile/workspaces 4.x. Regenerate: `rm skaile.lock.yaml && skaile install`."
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
return r;
|
|
21
30
|
}
|
|
22
31
|
function computeHash(filePath) {
|
|
23
|
-
const content = readFileSync(filePath
|
|
32
|
+
const content = readFileSync(filePath);
|
|
24
33
|
return createHash("sha256").update(content).digest("hex");
|
|
25
34
|
}
|
|
26
|
-
function
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
entry.url = decl.url;
|
|
33
|
-
const repoDir = links[name] ?? join(reposDir, name);
|
|
34
|
-
if (existsSync(join(repoDir, ".git"))) {
|
|
35
|
-
entry.commit = getRepoCommit(repoDir) ?? void 0;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (decl.path) entry.path = decl.path;
|
|
39
|
-
lockRepos[name] = entry;
|
|
40
|
-
}
|
|
35
|
+
function compositeHash(files) {
|
|
36
|
+
const lines = files.slice().sort((a, b) => a.path.localeCompare(b.path)).map((f) => `${f.path}:${f.sha256}
|
|
37
|
+
`).join("");
|
|
38
|
+
return createHash("sha256").update(lines).digest("hex");
|
|
39
|
+
}
|
|
40
|
+
function buildLockFile(resolved, overridesApplied) {
|
|
41
41
|
const assets = {};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
repoDir = links[e.repository];
|
|
51
|
-
} else if (decl.path) {
|
|
52
|
-
repoDir = resolve(join(reposDir, ".."), decl.path);
|
|
53
|
-
} else {
|
|
54
|
-
repoDir = join(reposDir, e.repository);
|
|
55
|
-
}
|
|
56
|
-
if (source.startsWith(repoDir)) {
|
|
57
|
-
source = source.slice(repoDir.length).replace(/^\//, "");
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
assets[key] = {
|
|
62
|
-
version: e.version,
|
|
63
|
-
repository: e.repository ?? "unknown",
|
|
64
|
-
source,
|
|
65
|
-
domain: e.domain,
|
|
66
|
-
integrity: existsSync(e.source) ? `sha256-${computeHash(e.source)}` : "",
|
|
67
|
-
resolved_by: resolvedBy.get(key) ?? "direct"
|
|
42
|
+
const sourceMap = /* @__PURE__ */ new Map();
|
|
43
|
+
for (const c of resolved) {
|
|
44
|
+
const canonicalRef = `${c.publisher}/${c.kind}:${c.name}@${c.version}`;
|
|
45
|
+
assets[canonicalRef] = {
|
|
46
|
+
sha256: c.sha256,
|
|
47
|
+
source: { url: c.sourceUrl, commit: c.commit },
|
|
48
|
+
files: c.files,
|
|
49
|
+
override_applied: overridesApplied.has(canonicalRef)
|
|
68
50
|
};
|
|
51
|
+
if (!sourceMap.has(c.sourceUrl)) {
|
|
52
|
+
sourceMap.set(c.sourceUrl, { url: c.sourceUrl, commit: c.commit });
|
|
53
|
+
}
|
|
69
54
|
}
|
|
70
55
|
return {
|
|
71
|
-
|
|
56
|
+
schema_version: 2,
|
|
57
|
+
locked_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
58
|
+
assets,
|
|
59
|
+
sources: Array.from(sourceMap.values()).sort((a, b) => a.url.localeCompare(b.url))
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function lockPathFor(projectDir) {
|
|
63
|
+
return join(projectDir, "skaile.lock.yaml");
|
|
64
|
+
}
|
|
65
|
+
function readPluginsLockSlice(projectDir) {
|
|
66
|
+
try {
|
|
67
|
+
return readLock(lockPathFor(projectDir))?.plugins;
|
|
68
|
+
} catch {
|
|
69
|
+
return void 0;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function writePluginsLockSlice(projectDir, slice) {
|
|
73
|
+
const lockPath = lockPathFor(projectDir);
|
|
74
|
+
let existing = null;
|
|
75
|
+
try {
|
|
76
|
+
existing = readLock(lockPath);
|
|
77
|
+
} catch {
|
|
78
|
+
existing = null;
|
|
79
|
+
}
|
|
80
|
+
const next = existing ?? {
|
|
81
|
+
schema_version: 2,
|
|
72
82
|
locked_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
73
|
-
|
|
74
|
-
|
|
83
|
+
assets: {},
|
|
84
|
+
sources: []
|
|
75
85
|
};
|
|
86
|
+
next.plugins = slice;
|
|
87
|
+
writeLock(lockPath, next);
|
|
76
88
|
}
|
|
77
|
-
function verifyLock(lock,
|
|
89
|
+
function verifyLock(lock, resolveCloneDir) {
|
|
78
90
|
const drifted = [];
|
|
79
91
|
const missing = [];
|
|
80
|
-
for (const [name, lockRepo] of Object.entries(lock.repositories)) {
|
|
81
|
-
if (!lockRepo.commit || lockRepo.path) continue;
|
|
82
|
-
const repoDir = join(reposDir, name);
|
|
83
|
-
const currentCommit = existsSync(join(repoDir, ".git")) ? getRepoCommit(repoDir) : null;
|
|
84
|
-
if (currentCommit && currentCommit !== lockRepo.commit) ;
|
|
85
|
-
}
|
|
86
92
|
for (const [ref, entry] of Object.entries(lock.assets)) {
|
|
87
|
-
const
|
|
88
|
-
if (!
|
|
93
|
+
const cloneDir = resolveCloneDir(entry.source.url);
|
|
94
|
+
if (!cloneDir) {
|
|
89
95
|
missing.push(ref);
|
|
90
96
|
continue;
|
|
91
97
|
}
|
|
92
|
-
let
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
98
|
+
let allPresent = true;
|
|
99
|
+
const recomputed = [];
|
|
100
|
+
for (const f of entry.files) {
|
|
101
|
+
const abs = join(cloneDir, f.path);
|
|
102
|
+
if (!existsSync(abs)) {
|
|
103
|
+
allPresent = false;
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
recomputed.push({ path: f.path, sha256: computeHash(abs) });
|
|
97
107
|
}
|
|
98
|
-
|
|
99
|
-
if (!existsSync(fullPath)) {
|
|
108
|
+
if (!allPresent) {
|
|
100
109
|
missing.push(ref);
|
|
101
110
|
continue;
|
|
102
111
|
}
|
|
103
|
-
if (entry.
|
|
104
|
-
|
|
105
|
-
if (currentHash !== entry.integrity) {
|
|
106
|
-
drifted.push(ref);
|
|
107
|
-
}
|
|
112
|
+
if (compositeHash(recomputed) !== entry.sha256) {
|
|
113
|
+
drifted.push(ref);
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
|
-
return {
|
|
111
|
-
ok: drifted.length === 0 && missing.length === 0,
|
|
112
|
-
drifted,
|
|
113
|
-
missing
|
|
114
|
-
};
|
|
116
|
+
return { ok: drifted.length === 0 && missing.length === 0, drifted, missing };
|
|
115
117
|
}
|
|
116
118
|
function extractForPatch(entry, patchDir) {
|
|
117
119
|
const ref = `${entry.kind}-${entry.name}`;
|
|
@@ -362,9 +364,9 @@ function portableSpawn(cmd, opts = {}) {
|
|
|
362
364
|
stdio: ["ignore", "pipe", "pipe"],
|
|
363
365
|
detached: opts.detached
|
|
364
366
|
});
|
|
365
|
-
const exited = new Promise((
|
|
366
|
-
child.on("close", (code) =>
|
|
367
|
-
child.on("error", () =>
|
|
367
|
+
const exited = new Promise((resolve) => {
|
|
368
|
+
child.on("close", (code) => resolve(code ?? 0));
|
|
369
|
+
child.on("error", () => resolve(-1));
|
|
368
370
|
});
|
|
369
371
|
return {
|
|
370
372
|
pid: child.pid ?? -1,
|
|
@@ -482,51 +484,24 @@ var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
|
|
|
482
484
|
const node = this.doc.get("agent-config", true) ?? this.doc.get("agent_config", true);
|
|
483
485
|
return isMap(node) ? node : void 0;
|
|
484
486
|
}
|
|
485
|
-
// ──
|
|
486
|
-
/** Get
|
|
487
|
-
|
|
488
|
-
const
|
|
489
|
-
|
|
490
|
-
return val;
|
|
487
|
+
// ── Publisher / version (publication half) ──────────────────────────────────
|
|
488
|
+
/** Get the publication-half `publisher:` field. */
|
|
489
|
+
getPublisher() {
|
|
490
|
+
const v = this.doc.get("publisher");
|
|
491
|
+
return v != null ? String(v) : void 0;
|
|
491
492
|
}
|
|
492
|
-
/**
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
*/
|
|
496
|
-
setAiResource(entry) {
|
|
497
|
-
const node = this.doc.get("ai_resources", true);
|
|
498
|
-
if (!node || !isSeq(node)) {
|
|
499
|
-
this.doc.set("ai_resources", this.doc.createNode([entry]));
|
|
500
|
-
return;
|
|
501
|
-
}
|
|
502
|
-
let found = false;
|
|
503
|
-
for (let i = 0; i < node.items.length; i++) {
|
|
504
|
-
const item = node.items[i];
|
|
505
|
-
if (isMap(item)) {
|
|
506
|
-
const nameVal = item.get("name");
|
|
507
|
-
if (nameVal === entry.name) {
|
|
508
|
-
node.set(i, this.doc.createNode(entry));
|
|
509
|
-
found = true;
|
|
510
|
-
break;
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
if (!found) {
|
|
515
|
-
node.add(this.doc.createNode(entry));
|
|
516
|
-
}
|
|
493
|
+
/** Set the publication-half `publisher:` field. */
|
|
494
|
+
setPublisher(p) {
|
|
495
|
+
this.doc.set("publisher", p);
|
|
517
496
|
}
|
|
518
|
-
/**
|
|
519
|
-
|
|
520
|
-
const
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
return true;
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
return false;
|
|
497
|
+
/** Get the publication-half `version:` field. */
|
|
498
|
+
getVersion() {
|
|
499
|
+
const v = this.doc.get("version");
|
|
500
|
+
return v != null ? String(v) : void 0;
|
|
501
|
+
}
|
|
502
|
+
/** Set the publication-half `version:` field. */
|
|
503
|
+
setVersion(v) {
|
|
504
|
+
this.doc.set("version", v);
|
|
530
505
|
}
|
|
531
506
|
// ── Connectors ─────────────────────────────────────────────────────────────
|
|
532
507
|
/** Get all connectors. */
|
|
@@ -570,16 +545,75 @@ var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
|
|
|
570
545
|
}
|
|
571
546
|
return false;
|
|
572
547
|
}
|
|
548
|
+
// ── Plugins ────────────────────────────────────────────────────────────────
|
|
549
|
+
/** Get all `plugins:` specifiers. */
|
|
550
|
+
getPlugins() {
|
|
551
|
+
const node = this.doc.get("plugins", true);
|
|
552
|
+
if (!isSeq(node)) return [];
|
|
553
|
+
const out = [];
|
|
554
|
+
for (const item of node.items) {
|
|
555
|
+
const cur = item != null && typeof item === "object" && "value" in item ? item.value : item;
|
|
556
|
+
if (typeof cur === "string") out.push(cur);
|
|
557
|
+
}
|
|
558
|
+
return out;
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* Add a plugin specifier to `plugins:`, deduped by package name.
|
|
562
|
+
* If an entry with the same package name exists it is replaced (so a version
|
|
563
|
+
* bump re-pins in place); otherwise the spec is appended.
|
|
564
|
+
*
|
|
565
|
+
* @param spec - npm specifier, e.g. `"@skaile/provider-fly@^0.1.0"`.
|
|
566
|
+
* @param nameOf - Extracts the package name from a spec (caller passes `parseSpec`-derived names).
|
|
567
|
+
* @returns `true` when an existing entry was replaced, `false` when appended.
|
|
568
|
+
*/
|
|
569
|
+
addPlugin(spec, nameOf) {
|
|
570
|
+
const node = this.doc.get("plugins", true);
|
|
571
|
+
if (!node || !isSeq(node)) {
|
|
572
|
+
this.doc.set("plugins", this.doc.createNode([spec]));
|
|
573
|
+
return false;
|
|
574
|
+
}
|
|
575
|
+
const wantName = nameOf(spec);
|
|
576
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
577
|
+
const item = node.items[i];
|
|
578
|
+
const cur = item != null && typeof item === "object" && "value" in item ? item.value : item;
|
|
579
|
+
if (typeof cur === "string" && nameOf(cur) === wantName) {
|
|
580
|
+
node.set(i, this.doc.createNode(spec));
|
|
581
|
+
return true;
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
node.add(this.doc.createNode(spec));
|
|
585
|
+
return false;
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Remove the `plugins:` entry whose package name matches `name`.
|
|
589
|
+
*
|
|
590
|
+
* @param name - Package name to remove (e.g. `"@skaile/provider-fly"`).
|
|
591
|
+
* @param nameOf - Extracts the package name from a spec.
|
|
592
|
+
* @returns `true` when an entry was removed.
|
|
593
|
+
*/
|
|
594
|
+
removePlugin(name, nameOf) {
|
|
595
|
+
const node = this.doc.get("plugins", true);
|
|
596
|
+
if (!node || !isSeq(node)) return false;
|
|
597
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
598
|
+
const item = node.items[i];
|
|
599
|
+
const cur = item != null && typeof item === "object" && "value" in item ? item.value : item;
|
|
600
|
+
if (typeof cur === "string" && nameOf(cur) === name) {
|
|
601
|
+
node.delete(i);
|
|
602
|
+
return true;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
return false;
|
|
606
|
+
}
|
|
573
607
|
// ── Sources ────────────────────────────────────────────────────────────────
|
|
574
|
-
/** Get all source entries. */
|
|
608
|
+
/** Get all source entries (`{url, pin?}`). */
|
|
575
609
|
getSources() {
|
|
576
610
|
const val = this.doc.get("sources");
|
|
577
611
|
if (!Array.isArray(val)) return [];
|
|
578
612
|
return val;
|
|
579
613
|
}
|
|
580
614
|
/**
|
|
581
|
-
* Add or update a source entry by
|
|
582
|
-
* If an entry with the same
|
|
615
|
+
* Add or update a source entry, matched by `url`.
|
|
616
|
+
* If an entry with the same url exists, it is replaced.
|
|
583
617
|
*/
|
|
584
618
|
setSource(entry) {
|
|
585
619
|
const node = this.doc.get("sources", true);
|
|
@@ -590,23 +624,135 @@ var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
|
|
|
590
624
|
let found = false;
|
|
591
625
|
for (let i = 0; i < node.items.length; i++) {
|
|
592
626
|
const item = node.items[i];
|
|
593
|
-
if (isMap(item) && item.get("
|
|
627
|
+
if (isMap(item) && item.get("url") === entry.url) {
|
|
594
628
|
node.set(i, this.doc.createNode(entry));
|
|
595
629
|
found = true;
|
|
596
630
|
break;
|
|
597
631
|
}
|
|
598
632
|
}
|
|
599
|
-
if (!found)
|
|
600
|
-
node.add(this.doc.createNode(entry));
|
|
601
|
-
}
|
|
633
|
+
if (!found) node.add(this.doc.createNode(entry));
|
|
602
634
|
}
|
|
603
|
-
/** Remove a source entry by
|
|
604
|
-
removeSource(
|
|
635
|
+
/** Remove a source entry by url. Returns true when an entry was removed. */
|
|
636
|
+
removeSource(url) {
|
|
605
637
|
const node = this.doc.get("sources", true);
|
|
606
638
|
if (!node || !isSeq(node)) return false;
|
|
607
639
|
for (let i = 0; i < node.items.length; i++) {
|
|
608
640
|
const item = node.items[i];
|
|
609
|
-
if (isMap(item) && item.get("
|
|
641
|
+
if (isMap(item) && item.get("url") === url) {
|
|
642
|
+
node.delete(i);
|
|
643
|
+
return true;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
return false;
|
|
647
|
+
}
|
|
648
|
+
// ── Stores ─────────────────────────────────────────────────────────────────
|
|
649
|
+
/** Get all store entries (`{url}`). */
|
|
650
|
+
getStores() {
|
|
651
|
+
const val = this.doc.get("stores");
|
|
652
|
+
if (!Array.isArray(val)) return [];
|
|
653
|
+
return val;
|
|
654
|
+
}
|
|
655
|
+
/** Add or update a store entry, matched by `url`. */
|
|
656
|
+
setStore(entry) {
|
|
657
|
+
const node = this.doc.get("stores", true);
|
|
658
|
+
if (!node || !isSeq(node)) {
|
|
659
|
+
this.doc.set("stores", this.doc.createNode([entry]));
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
662
|
+
let found = false;
|
|
663
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
664
|
+
const item = node.items[i];
|
|
665
|
+
if (isMap(item) && item.get("url") === entry.url) {
|
|
666
|
+
node.set(i, this.doc.createNode(entry));
|
|
667
|
+
found = true;
|
|
668
|
+
break;
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
if (!found) node.add(this.doc.createNode(entry));
|
|
672
|
+
}
|
|
673
|
+
/** Remove a store entry by url. Returns true when an entry was removed. */
|
|
674
|
+
removeStore(url) {
|
|
675
|
+
const node = this.doc.get("stores", true);
|
|
676
|
+
if (!node || !isSeq(node)) return false;
|
|
677
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
678
|
+
const item = node.items[i];
|
|
679
|
+
if (isMap(item) && item.get("url") === url) {
|
|
680
|
+
node.delete(i);
|
|
681
|
+
return true;
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
return false;
|
|
685
|
+
}
|
|
686
|
+
// ── Overrides ────────────────────────────────────────────────────────────────
|
|
687
|
+
/** Get all override entries (`{ref, source, reason}`). */
|
|
688
|
+
getOverrides() {
|
|
689
|
+
const val = this.doc.get("overrides");
|
|
690
|
+
if (!Array.isArray(val)) return [];
|
|
691
|
+
return val;
|
|
692
|
+
}
|
|
693
|
+
/** Add or update an override entry, matched by `ref`. */
|
|
694
|
+
setOverride(entry) {
|
|
695
|
+
const node = this.doc.get("overrides", true);
|
|
696
|
+
if (!node || !isSeq(node)) {
|
|
697
|
+
this.doc.set("overrides", this.doc.createNode([entry]));
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
700
|
+
let found = false;
|
|
701
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
702
|
+
const item = node.items[i];
|
|
703
|
+
if (isMap(item) && item.get("ref") === entry.ref) {
|
|
704
|
+
node.set(i, this.doc.createNode(entry));
|
|
705
|
+
found = true;
|
|
706
|
+
break;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
if (!found) node.add(this.doc.createNode(entry));
|
|
710
|
+
}
|
|
711
|
+
/** Remove an override entry by ref. Returns true when an entry was removed. */
|
|
712
|
+
removeOverride(ref) {
|
|
713
|
+
const node = this.doc.get("overrides", true);
|
|
714
|
+
if (!node || !isSeq(node)) return false;
|
|
715
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
716
|
+
const item = node.items[i];
|
|
717
|
+
if (isMap(item) && item.get("ref") === ref) {
|
|
718
|
+
node.delete(i);
|
|
719
|
+
return true;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
return false;
|
|
723
|
+
}
|
|
724
|
+
// ── Publication assets ───────────────────────────────────────────────────────
|
|
725
|
+
/** Get all publication-half `assets:` entries. */
|
|
726
|
+
getPublicationAssets() {
|
|
727
|
+
const val = this.doc.get("assets");
|
|
728
|
+
if (!Array.isArray(val)) return [];
|
|
729
|
+
return val;
|
|
730
|
+
}
|
|
731
|
+
/** Add or update a publication asset entry, matched by `kind` + `name`. */
|
|
732
|
+
setPublicationAsset(entry) {
|
|
733
|
+
const node = this.doc.get("assets", true);
|
|
734
|
+
if (!node || !isSeq(node)) {
|
|
735
|
+
this.doc.set("assets", this.doc.createNode([entry]));
|
|
736
|
+
return;
|
|
737
|
+
}
|
|
738
|
+
let found = false;
|
|
739
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
740
|
+
const item = node.items[i];
|
|
741
|
+
if (isMap(item) && item.get("kind") === entry.kind && item.get("name") === entry.name) {
|
|
742
|
+
node.set(i, this.doc.createNode(entry));
|
|
743
|
+
found = true;
|
|
744
|
+
break;
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
if (!found) node.add(this.doc.createNode(entry));
|
|
748
|
+
}
|
|
749
|
+
/** Remove a publication asset entry by kind + name. Returns true when removed. */
|
|
750
|
+
removePublicationAsset(kind, name) {
|
|
751
|
+
const node = this.doc.get("assets", true);
|
|
752
|
+
if (!node || !isSeq(node)) return false;
|
|
753
|
+
for (let i = 0; i < node.items.length; i++) {
|
|
754
|
+
const item = node.items[i];
|
|
755
|
+
if (isMap(item) && item.get("kind") === kind && item.get("name") === name) {
|
|
610
756
|
node.delete(i);
|
|
611
757
|
return true;
|
|
612
758
|
}
|
|
@@ -620,6 +766,6 @@ var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
|
|
|
620
766
|
}
|
|
621
767
|
};
|
|
622
768
|
|
|
623
|
-
export { ALL_PROVIDERS, SETTINGS_DEFAULTS, WorkspaceYamlEditor, applyPatch, buildLockFile, computeHash, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, resolveAllKeys, resolveApiKey, resolveSettings, savePatch, saveSettings, verifyLock, walkForSettings, writeLock };
|
|
624
|
-
//# sourceMappingURL=chunk-
|
|
625
|
-
//# sourceMappingURL=chunk-
|
|
769
|
+
export { ALL_PROVIDERS, SETTINGS_DEFAULTS, WorkspaceYamlEditor, applyPatch, buildLockFile, computeHash, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, readPluginsLockSlice, resolveAllKeys, resolveApiKey, resolveSettings, savePatch, saveSettings, verifyLock, walkForSettings, writeLock, writePluginsLockSlice };
|
|
770
|
+
//# sourceMappingURL=chunk-UMOENHVH.js.map
|
|
771
|
+
//# sourceMappingURL=chunk-UMOENHVH.js.map
|