@skaile/workspaces 0.24.0 → 0.26.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 +276 -0
- package/README.md +2 -2
- package/dist/{asset-feeds-WKIKSZ6Z.js → asset-feeds-WMVTI7KW.js} +11 -10
- package/dist/asset-feeds-WMVTI7KW.js.map +1 -0
- package/dist/asset-manager/index.js +11 -10
- package/dist/asset-manager/installer.js +10 -9
- package/dist/asset-manager/renderers.js +2 -2
- package/dist/asset-manager/src/index.d.ts +6 -7
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +14 -7
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +8 -34
- package/dist/bridge/drivers/codex.js.map +1 -1
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/omp.js +64 -50
- package/dist/bridge/drivers/omp.js.map +1 -1
- package/dist/bridge/index.js +4 -4
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
- package/dist/bridge/src/drivers/omp.d.ts +20 -4
- package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
- package/dist/bridge/src/error-classifier.d.ts +17 -0
- package/dist/bridge/src/error-classifier.d.ts.map +1 -1
- package/dist/bridge/src/models.d.ts +1 -1
- package/dist/bridge/src/models.d.ts.map +1 -1
- package/dist/bridge/src/provider-endpoints.d.ts +16 -0
- package/dist/bridge/src/provider-endpoints.d.ts.map +1 -0
- package/dist/bridge/src/validation.d.ts +1 -1
- package/dist/bridge/src/validation.d.ts.map +1 -1
- package/dist/{chunk-M5TE6YI5.js → chunk-23M4XZQW.js} +10 -52
- package/dist/chunk-23M4XZQW.js.map +1 -0
- package/dist/{chunk-DH4N5AW4.js → chunk-2FS4FPZ7.js} +3 -3
- package/dist/{chunk-DH4N5AW4.js.map → chunk-2FS4FPZ7.js.map} +1 -1
- package/dist/{chunk-6VTG73UY.js → chunk-45H3UO2R.js} +2 -2
- package/dist/{chunk-6VTG73UY.js.map → chunk-45H3UO2R.js.map} +1 -1
- package/dist/chunk-4SQ6Y6U7.js +28 -0
- package/dist/chunk-4SQ6Y6U7.js.map +1 -0
- package/dist/{chunk-LSGAYQ2E.js → chunk-5YO3H5Q4.js} +3 -3
- package/dist/{chunk-LSGAYQ2E.js.map → chunk-5YO3H5Q4.js.map} +1 -1
- package/dist/{chunk-JDX54X4Y.js → chunk-7GWYRVAX.js} +12 -9
- package/dist/chunk-7GWYRVAX.js.map +1 -0
- package/dist/{chunk-46COM7M5.js → chunk-7OBGSR7O.js} +5 -5
- package/dist/chunk-7OBGSR7O.js.map +1 -0
- package/dist/{chunk-2RFOFHSM.js → chunk-BKF3UFF4.js} +21 -9
- package/dist/chunk-BKF3UFF4.js.map +1 -0
- package/dist/{chunk-KOVLSBXK.js → chunk-BMQKMOQY.js} +81 -79
- package/dist/chunk-BMQKMOQY.js.map +1 -0
- package/dist/{chunk-J2TITSXF.js → chunk-BQRRBGDE.js} +2 -2
- package/dist/{chunk-J2TITSXF.js.map → chunk-BQRRBGDE.js.map} +1 -1
- package/dist/{chunk-5ESCS2OS.js → chunk-C32BRO2W.js} +67 -35
- package/dist/chunk-C32BRO2W.js.map +1 -0
- package/dist/{chunk-GZWJGNNN.js → chunk-DEYYRFQU.js} +3 -3
- package/dist/chunk-DEYYRFQU.js.map +1 -0
- package/dist/{chunk-YX3UWPJ5.js → chunk-IEJ5IOC3.js} +27 -49
- package/dist/chunk-IEJ5IOC3.js.map +1 -0
- package/dist/chunk-IERB3UXJ.js +215 -0
- package/dist/chunk-IERB3UXJ.js.map +1 -0
- package/dist/{chunk-FVTV7M76.js → chunk-IFGTRL2I.js} +3 -3
- package/dist/chunk-IFGTRL2I.js.map +1 -0
- package/dist/{chunk-LJ52ZKIU.js → chunk-JIQLLZ65.js} +203 -39
- package/dist/chunk-JIQLLZ65.js.map +1 -0
- package/dist/{chunk-Z3M5K67G.js → chunk-KL2MQ6WI.js} +114 -63
- package/dist/chunk-KL2MQ6WI.js.map +1 -0
- package/dist/{chunk-6FNCZYJY.js → chunk-MBOR7D65.js} +3 -3
- package/dist/{chunk-6FNCZYJY.js.map → chunk-MBOR7D65.js.map} +1 -1
- package/dist/{chunk-QAVZOJCV.js → chunk-OVRSNIKJ.js} +2 -2
- package/dist/chunk-OVRSNIKJ.js.map +1 -0
- package/dist/{chunk-DQWREFRQ.js → chunk-PAYAFNXG.js} +22 -3
- package/dist/chunk-PAYAFNXG.js.map +1 -0
- package/dist/{chunk-D3VO6WNC.js → chunk-PRLD7EXG.js} +3 -3
- package/dist/chunk-PRLD7EXG.js.map +1 -0
- package/dist/{chunk-N6TA6RSH.js → chunk-PY7AQRGH.js} +59 -13
- package/dist/chunk-PY7AQRGH.js.map +1 -0
- package/dist/{chunk-NELZIQ2E.js → chunk-QDJKE557.js} +20 -3
- package/dist/chunk-QDJKE557.js.map +1 -0
- package/dist/{chunk-OYRW5RCM.js → chunk-QHXS3YDV.js} +9 -9
- package/dist/chunk-QHXS3YDV.js.map +1 -0
- package/dist/{chunk-2F3RUZXC.js → chunk-RTAIGPTF.js} +161 -106
- package/dist/chunk-RTAIGPTF.js.map +1 -0
- package/dist/{chunk-IPUYL6TD.js → chunk-TV72ZJYN.js} +8 -5
- package/dist/{chunk-IPUYL6TD.js.map → chunk-TV72ZJYN.js.map} +1 -1
- package/dist/{chunk-ICS76R4T.js → chunk-W7W66MDZ.js} +10 -8
- package/dist/chunk-W7W66MDZ.js.map +1 -0
- package/dist/{chunk-JQBHCJ6N.js → chunk-WD4LP66U.js} +329 -121
- package/dist/chunk-WD4LP66U.js.map +1 -0
- package/dist/{chunk-AFLH7B64.js → chunk-XGLGS5B4.js} +3 -3
- package/dist/{chunk-AFLH7B64.js.map → chunk-XGLGS5B4.js.map} +1 -1
- package/dist/{chunk-HIIARTRZ.js → chunk-YDTW4GT6.js} +450 -207
- package/dist/chunk-YDTW4GT6.js.map +1 -0
- package/dist/{chunk-2XY6732A.js → chunk-YRU4WB6Y.js} +5 -5
- package/dist/chunk-YRU4WB6Y.js.map +1 -0
- package/dist/{chunk-542K7SR6.js → chunk-Z5DI7PDG.js} +173 -90
- package/dist/chunk-Z5DI7PDG.js.map +1 -0
- package/dist/{chunk-KLNL7QHN.js → chunk-ZAP2BDHG.js} +30 -5
- package/dist/chunk-ZAP2BDHG.js.map +1 -0
- package/dist/{chunk-GCJXPUHG.js → chunk-ZONCCO5N.js} +9 -4
- package/dist/chunk-ZONCCO5N.js.map +1 -0
- package/dist/{chunk-ODPII24X.js → chunk-ZYDE52WE.js} +3 -3
- package/dist/{chunk-ODPII24X.js.map → chunk-ZYDE52WE.js.map} +1 -1
- package/dist/cli/index.js +566 -425
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/complete-resolvers.d.ts.map +1 -1
- package/dist/cli/src/commands/config.d.ts.map +1 -1
- package/dist/cli/src/commands/connector.d.ts +7 -0
- package/dist/cli/src/commands/connector.d.ts.map +1 -1
- package/dist/cli/src/commands/flow.d.ts +3 -2
- package/dist/cli/src/commands/flow.d.ts.map +1 -1
- package/dist/cli/src/commands/npx.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/run.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/flow-discovery.d.ts +24 -0
- package/dist/cli/src/flow-discovery.d.ts.map +1 -0
- package/dist/cli/src/open-registry.d.ts +2 -2
- package/dist/cli/src/paths.d.ts +26 -9
- package/dist/cli/src/paths.d.ts.map +1 -1
- package/dist/cli/src/skill-walker.d.ts +9 -5
- package/dist/cli/src/skill-walker.d.ts.map +1 -1
- package/dist/connectors/config.js +8 -7
- package/dist/connectors/index.js +13 -12
- package/dist/connectors/rclone-config.js +1 -1
- package/dist/connectors/src/connector-manager.d.ts +24 -2
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
- package/dist/connectors/src/connector-registry.d.ts +3 -3
- package/dist/connectors/src/credential-helper-script.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +4 -2
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
- package/dist/connectors/src/mount-placeholder.d.ts +68 -0
- package/dist/connectors/src/mount-placeholder.d.ts.map +1 -0
- package/dist/connectors/src/rclone-config/googledrive.d.ts +1 -1
- package/dist/core/discovery.js +1 -1
- package/dist/core/index.js +7 -6
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.js +1 -1
- package/dist/core/publish-manifest.d.ts +2 -0
- package/dist/core/publish-manifest.js +5 -0
- package/dist/core/publish-manifest.js.map +1 -0
- package/dist/core/runtime-assets.js +5 -4
- package/dist/core/src/discovery.d.ts +27 -0
- package/dist/core/src/discovery.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +9 -6
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/manifest-yaml-editor.d.ts +62 -0
- package/dist/core/src/manifest-yaml-editor.d.ts.map +1 -0
- package/dist/core/src/models.d.ts +16 -3
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/publish-manifest.d.ts +160 -0
- package/dist/core/src/publish-manifest.d.ts.map +1 -0
- package/dist/core/src/repo-manager.d.ts +9 -1
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/runtime-assets.d.ts +80 -29
- package/dist/core/src/runtime-assets.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts +19 -6
- package/dist/core/src/walker.d.ts.map +1 -1
- package/dist/core/src/workspace-config.d.ts +30 -36
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/src/workspace-yaml-editor.d.ts +1 -15
- package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
- package/dist/core/workspace-config.js +4 -3
- package/dist/deploy/index.js +50 -79
- package/dist/deploy/index.js.map +1 -1
- package/dist/deploy/src/targets/container-runtime.d.ts +1 -1
- package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
- package/dist/deploy/src/targets/local.d.ts.map +1 -1
- package/dist/deploy/src/targets/nix.d.ts.map +1 -1
- package/dist/deploy/src/targets/process-handle.d.ts +7 -5
- package/dist/deploy/src/targets/process-handle.d.ts.map +1 -1
- package/dist/discovery/index.js +5 -4
- package/dist/discovery/src/discover-manifest.d.ts +3 -2
- package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
- package/dist/discovery/src/discover.d.ts +2 -2
- package/dist/discovery/src/discover.d.ts.map +1 -1
- package/dist/discovery/src/index.d.ts +1 -1
- package/dist/discovery/src/index.d.ts.map +1 -1
- package/dist/discovery/src/source-config.d.ts +53 -12
- package/dist/discovery/src/source-config.d.ts.map +1 -1
- package/dist/discovery/src/tree-entries.d.ts +2 -2
- package/dist/discovery/src/tree-entries.d.ts.map +1 -1
- package/dist/{ensure-sources-OJUBGX6Z.js → ensure-sources-CVULUVH4.js} +12 -11
- package/dist/ensure-sources-CVULUVH4.js.map +1 -0
- package/dist/factory-assets/.skaile-source.yaml +6 -0
- package/dist/factory-assets/README.md +36 -0
- package/dist/factory-assets/bundles/workspaces-authoring/workspaces-authoring.bundle.yaml +9 -0
- package/dist/factory-assets/connectors/deploy/CONNECTOR.md +41 -0
- package/dist/{base-assets → factory-assets}/connectors/deploy/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/deploy/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/deploy.js +22 -0
- package/dist/factory-assets/connectors/devserver/CONNECTOR.md +44 -0
- package/dist/{base-assets → factory-assets}/connectors/devserver/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/devserver/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/devserver.js +22 -0
- package/dist/factory-assets/connectors/flow/CONNECTOR.md +47 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/adapter.js +22 -0
- package/dist/factory-assets/connectors/flow/engine/engine.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/engine/flow-kind-provider.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/flow-manifest.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/index.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/loader.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/types.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine.js +15 -0
- package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.d.ts +5 -5
- package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.js +1 -1
- package/dist/{base-assets → factory-assets}/connectors/flow/run-flow.d.ts +8 -8
- package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/run-flow.js +25 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/stimulus-driver.d.ts +2 -2
- package/dist/factory-assets/connectors/flow/stimulus-driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/stimulus-driver.js +4 -0
- package/dist/factory-assets/connectors/flow.js +22 -0
- package/dist/factory-assets/connectors/git/CONNECTOR.md +145 -0
- package/dist/{base-assets → factory-assets}/connectors/git/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git.js +22 -0
- package/dist/factory-assets/connectors/gmail/CONNECTOR.md +50 -0
- package/dist/{base-assets → factory-assets}/connectors/gmail/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/gmail/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/gmail.js +22 -0
- package/dist/factory-assets/connectors/googledrive/CONNECTOR.md +150 -0
- package/dist/{base-assets → factory-assets}/connectors/googledrive/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/googledrive/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/googledrive.js +22 -0
- package/dist/factory-assets/connectors/local/CONNECTOR.md +40 -0
- package/dist/{base-assets → factory-assets}/connectors/local/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/local/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/local.js +22 -0
- package/dist/factory-assets/connectors/mattermost/CONNECTOR.md +65 -0
- package/dist/{base-assets → factory-assets}/connectors/mattermost/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/mattermost/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/mattermost.js +22 -0
- package/dist/factory-assets/connectors/memory/CONNECTOR.md +40 -0
- package/dist/{base-assets → factory-assets}/connectors/memory/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/memory/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/memory.js +22 -0
- package/dist/factory-assets/connectors/minio/CONNECTOR.md +68 -0
- package/dist/{base-assets → factory-assets}/connectors/minio/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/minio/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/minio.js +22 -0
- package/dist/factory-assets/connectors/postgres/CONNECTOR.md +46 -0
- package/dist/{base-assets → factory-assets}/connectors/postgres/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/postgres/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/postgres.js +22 -0
- package/dist/factory-assets/connectors/s3/CONNECTOR.md +76 -0
- package/dist/{base-assets → factory-assets}/connectors/s3/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/s3/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/s3.js +22 -0
- package/dist/factory-assets/connectors/sharepoint/CONNECTOR.md +181 -0
- package/dist/{base-assets → factory-assets}/connectors/sharepoint/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/sharepoint/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/sharepoint.js +22 -0
- package/dist/factory-assets/connectors/sqlite/CONNECTOR.md +44 -0
- package/dist/{base-assets → factory-assets}/connectors/sqlite/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/sqlite/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/sqlite.js +22 -0
- package/dist/factory-assets/connectors/static-server/CONNECTOR.md +41 -0
- package/dist/{base-assets → factory-assets}/connectors/static-server/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/static-server/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/static-server.js +22 -0
- package/dist/factory-assets/connectors/tunnel/CONNECTOR.md +40 -0
- package/dist/{base-assets → factory-assets}/connectors/tunnel/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/tunnel/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/tunnel.js +22 -0
- package/dist/factory-assets/connectors/webdav/CONNECTOR.md +139 -0
- package/dist/{base-assets → factory-assets}/connectors/webdav/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/webdav/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/webdav.js +22 -0
- package/dist/factory-assets/connectors/xstate/CONNECTOR.md +57 -0
- package/dist/{base-assets → factory-assets}/connectors/xstate/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/xstate/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/xstate-store/CONNECTOR.md +48 -0
- package/dist/{base-assets → factory-assets}/connectors/xstate-store/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/xstate-store/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/xstate-store.js +22 -0
- package/dist/factory-assets/connectors/xstate.js +22 -0
- package/dist/{base-assets → factory-assets}/index.d.ts +1 -1
- package/dist/factory-assets/index.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/index.js +1 -1
- package/dist/factory-assets/index.js.map +1 -0
- package/dist/factory-assets/skaile.manifest.yaml +25 -0
- package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +176 -0
- package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +243 -0
- package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +197 -0
- package/dist/factory-assets/skills/manifest-compliance/SKILL.md +140 -0
- package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +239 -0
- package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +168 -0
- package/dist/{flows-DYFTPCPM.js → flows-JZFJD5IN.js} +3 -3
- package/dist/{flows-DYFTPCPM.js.map → flows-JZFJD5IN.js.map} +1 -1
- package/dist/library/index.js +14 -5
- package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
- package/dist/library/src/library.d.ts +2 -0
- package/dist/library/src/library.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts +2 -0
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/local-catalog-source.d.ts +2 -1
- package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
- package/dist/library/src/local/sidecar-paths.d.ts +4 -4
- package/dist/library/src/local/sidecar-paths.d.ts.map +1 -1
- package/dist/library/src/local/store-paths.d.ts +4 -3
- package/dist/library/src/local/store-paths.d.ts.map +1 -1
- package/dist/library/src/pin-resolver.d.ts.map +1 -1
- package/dist/library/src/preset/apply.d.ts.map +1 -1
- package/dist/library/src/preset/placeholders.d.ts.map +1 -1
- package/dist/library/src/remote/remote-catalog-source.d.ts +7 -0
- package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
- package/dist/library/src/remote/rest-catalog-source.d.ts +7 -0
- package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
- package/dist/library/src/sync/manifest-writeback.d.ts +1 -1
- package/dist/library/src/sync/manifest-writeback.d.ts.map +1 -1
- package/dist/open-library-WYASW4BH.js +22 -0
- package/dist/{open-library-67FSSQWE.js.map → open-library-WYASW4BH.js.map} +1 -1
- package/dist/paths-BMW6JYW6.js +15 -0
- package/dist/{paths-FKKGS6BA.js.map → paths-BMW6JYW6.js.map} +1 -1
- package/dist/{plugin-store-IZ5SCRAV.js → plugin-store-O5VR45CA.js} +9 -8
- package/dist/plugin-store-O5VR45CA.js.map +1 -0
- package/dist/plugins/src/asset-kind-provider.d.ts +1 -1
- package/dist/plugins/src/catalog-source.d.ts +13 -0
- package/dist/plugins/src/catalog-source.d.ts.map +1 -1
- package/dist/resolver/index.js +1 -1
- package/dist/resolver/src/parser.d.ts.map +1 -1
- package/dist/runner/index.js +20 -19
- package/dist/runner/src/capability-registry.d.ts +1 -1
- package/dist/runner/src/capability-registry.d.ts.map +1 -1
- package/dist/runner/src/external-mcp.d.ts +112 -0
- package/dist/runner/src/external-mcp.d.ts.map +1 -0
- package/dist/runner/src/resource-handler.d.ts.map +1 -1
- package/dist/runner/src/resources.d.ts +10 -2
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts +12 -0
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/runner/src/workspace-migration.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +11 -10
- package/dist/sdk/bridge.js +4 -4
- package/dist/sdk/core.js +7 -6
- package/dist/sdk/flow.js +12 -1
- package/dist/sdk/index.js +23 -22
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.js +1 -1
- package/dist/sdk/runner.js +20 -19
- package/dist/sdk/session.js +1 -1
- package/dist/sdk/src/flow/index.d.ts +1 -1
- package/dist/sdk/src/flow/index.d.ts.map +1 -1
- package/dist/sdk/src/workspace.d.ts +3 -2
- package/dist/sdk/src/workspace.d.ts.map +1 -1
- package/dist/sdk/telemetry.js +1 -1
- package/dist/secrets/index.js +1 -1
- package/dist/secrets/src/providers/env.d.ts.map +1 -1
- package/dist/secrets/src/providers/local.d.ts.map +1 -1
- package/dist/session/index.js +1 -1
- package/dist/session/src/mentions.d.ts.map +1 -1
- package/dist/{setup-J7CYEQOF.js → setup-YNLFR5GB.js} +13 -12
- package/dist/setup-YNLFR5GB.js.map +1 -0
- package/dist/skills-6HJ3WINN.js +7 -0
- package/dist/{skills-CRL3VJNN.js.map → skills-6HJ3WINN.js.map} +1 -1
- package/dist/store-client-CENBEASX.js +15 -0
- package/dist/{store-client-AEI6Y3KD.js.map → store-client-CENBEASX.js.map} +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/src/config.d.ts +0 -16
- package/dist/telemetry/src/config.d.ts.map +1 -1
- package/dist/tui/index.js +20 -19
- package/dist/tui/index.js.map +1 -1
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/flow.d.ts +2 -2
- package/dist/types/src/install-manifest.d.ts +1 -1
- package/dist/types/src/install-manifest.d.ts.map +1 -1
- package/dist/types/src/manifests/index.d.ts +1 -1
- package/dist/types/src/manifests/skill.d.ts +21 -0
- package/dist/types/src/manifests/skill.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +4 -4
- package/dist/workspace-plugin/adapters/omp.js +7 -7
- package/dist/workspace-plugin/index.js +1 -1
- package/dist/workspace-plugin/src/tools/flows.d.ts.map +1 -1
- package/package.json +158 -151
- package/dist/asset-feeds-WKIKSZ6Z.js.map +0 -1
- package/dist/base-assets/connectors/deploy/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/deploy.js +0 -21
- package/dist/base-assets/connectors/devserver/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/devserver.js +0 -21
- package/dist/base-assets/connectors/flow/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/adapter.js +0 -21
- package/dist/base-assets/connectors/flow/engine/engine.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/flow-manifest.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/index.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/loader.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/types.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine.js +0 -4
- package/dist/base-assets/connectors/flow/index.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/prompt-fragments.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/run-flow.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/run-flow.js +0 -24
- package/dist/base-assets/connectors/flow/stimulus-driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/stimulus-driver.js +0 -4
- package/dist/base-assets/connectors/flow.js +0 -21
- package/dist/base-assets/connectors/git/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/git.js +0 -21
- package/dist/base-assets/connectors/gmail/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/gmail.js +0 -21
- package/dist/base-assets/connectors/googledrive/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/googledrive.js +0 -21
- package/dist/base-assets/connectors/local/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/local.js +0 -21
- package/dist/base-assets/connectors/mattermost/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/mattermost.js +0 -21
- package/dist/base-assets/connectors/memory/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/memory.js +0 -21
- package/dist/base-assets/connectors/minio/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/minio.js +0 -21
- package/dist/base-assets/connectors/postgres/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/postgres.js +0 -21
- package/dist/base-assets/connectors/s3/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/s3.js +0 -21
- package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/sharepoint.js +0 -21
- package/dist/base-assets/connectors/sqlite/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/sqlite.js +0 -21
- package/dist/base-assets/connectors/static-server/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/static-server.js +0 -21
- package/dist/base-assets/connectors/tunnel/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/tunnel.js +0 -21
- package/dist/base-assets/connectors/webdav/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/webdav.js +0 -21
- package/dist/base-assets/connectors/xstate/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/xstate-store/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/xstate-store.js +0 -21
- package/dist/base-assets/connectors/xstate.js +0 -21
- package/dist/base-assets/index.d.ts.map +0 -1
- package/dist/base-assets/index.js.map +0 -1
- package/dist/chunk-2F3RUZXC.js.map +0 -1
- package/dist/chunk-2M3XTMOL.js +0 -23
- package/dist/chunk-2M3XTMOL.js.map +0 -1
- package/dist/chunk-2RFOFHSM.js.map +0 -1
- package/dist/chunk-2XY6732A.js.map +0 -1
- package/dist/chunk-46COM7M5.js.map +0 -1
- package/dist/chunk-542K7SR6.js.map +0 -1
- package/dist/chunk-5ESCS2OS.js.map +0 -1
- package/dist/chunk-D3VO6WNC.js.map +0 -1
- package/dist/chunk-DQWREFRQ.js.map +0 -1
- package/dist/chunk-FVTV7M76.js.map +0 -1
- package/dist/chunk-GCJXPUHG.js.map +0 -1
- package/dist/chunk-GZWJGNNN.js.map +0 -1
- package/dist/chunk-HIIARTRZ.js.map +0 -1
- package/dist/chunk-ICS76R4T.js.map +0 -1
- package/dist/chunk-JDX54X4Y.js.map +0 -1
- package/dist/chunk-JQBHCJ6N.js.map +0 -1
- package/dist/chunk-KLNL7QHN.js.map +0 -1
- package/dist/chunk-KOVLSBXK.js.map +0 -1
- package/dist/chunk-LJ52ZKIU.js.map +0 -1
- package/dist/chunk-M5TE6YI5.js.map +0 -1
- package/dist/chunk-N6TA6RSH.js.map +0 -1
- package/dist/chunk-NELZIQ2E.js.map +0 -1
- package/dist/chunk-OYRW5RCM.js.map +0 -1
- package/dist/chunk-QAVZOJCV.js.map +0 -1
- package/dist/chunk-YX3UWPJ5.js.map +0 -1
- package/dist/chunk-Z3M5K67G.js.map +0 -1
- package/dist/ensure-sources-OJUBGX6Z.js.map +0 -1
- package/dist/open-library-67FSSQWE.js +0 -13
- package/dist/paths-FKKGS6BA.js +0 -4
- package/dist/plugin-store-IZ5SCRAV.js.map +0 -1
- package/dist/setup-J7CYEQOF.js.map +0 -1
- package/dist/skills-CRL3VJNN.js +0 -7
- package/dist/store-client-AEI6Y3KD.js +0 -14
- /package/dist/{base-assets → factory-assets}/connectors/deploy.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/deploy.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/devserver.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/devserver.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/adapter.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/engine.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/flow-manifest.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/index.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/loader.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/types.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/index.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/run-flow.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/stimulus-driver.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/git.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/git.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/gmail.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/gmail.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/googledrive.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/googledrive.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/local.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/local.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/mattermost.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/mattermost.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/memory.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/memory.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/minio.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/minio.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/postgres.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/postgres.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/s3.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/s3.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sharepoint.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sharepoint.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sqlite.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sqlite.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/static-server.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/static-server.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/tunnel.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/tunnel.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/webdav.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/webdav.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate-store.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate-store.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate.js.map +0 -0
|
@@ -7,7 +7,7 @@ async function flowList(projectDir) {
|
|
|
7
7
|
try {
|
|
8
8
|
const assetsRoot = findAiAssetsRoot(projectDir);
|
|
9
9
|
if (!assetsRoot) return okJson([]);
|
|
10
|
-
const { loadAllFlows } = await import('./
|
|
10
|
+
const { loadAllFlows } = await import('./factory-assets/connectors/flow/engine.js');
|
|
11
11
|
const flows = loadAllFlows(assetsRoot);
|
|
12
12
|
const summary = flows.map((f) => ({
|
|
13
13
|
id: f.id,
|
|
@@ -23,7 +23,7 @@ async function flowShow(projectDir, flowId) {
|
|
|
23
23
|
try {
|
|
24
24
|
const assetsRoot = findAiAssetsRoot(projectDir);
|
|
25
25
|
if (!assetsRoot) return err(`Flow not found: ${flowId}`);
|
|
26
|
-
const { loadAllFlows } = await import('./
|
|
26
|
+
const { loadAllFlows } = await import('./factory-assets/connectors/flow/engine.js');
|
|
27
27
|
const flows = loadAllFlows(assetsRoot);
|
|
28
28
|
const flow = flows.find((f) => f.id === flowId);
|
|
29
29
|
if (!flow) return err(`Flow not found: ${flowId}`);
|
|
@@ -57,7 +57,7 @@ async function flowFindFlowForSession(projectDir, runId) {
|
|
|
57
57
|
if (!session) return err(`Session not found: ${runId}`);
|
|
58
58
|
const assetsRoot = findAiAssetsRoot(projectDir);
|
|
59
59
|
if (!assetsRoot) return err(`Flow not found for session: ${runId} (no ai-assets root)`);
|
|
60
|
-
const { loadAllFlows } = await import('./
|
|
60
|
+
const { loadAllFlows } = await import('./factory-assets/connectors/flow/engine.js');
|
|
61
61
|
const flows = loadAllFlows(assetsRoot);
|
|
62
62
|
const flow = flows.find((f) => f.id === session.flowId);
|
|
63
63
|
if (!flow) return err(`Flow not found: ${session.flowId}`);
|
|
@@ -68,5 +68,5 @@ async function flowFindFlowForSession(projectDir, runId) {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
export { flowFindFlowForSession, flowGetSession, flowList, flowListSessions, flowShow };
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-YRU4WB6Y.js.map
|
|
72
|
+
//# sourceMappingURL=chunk-YRU4WB6Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../workspace-plugin/src/tools/flows.ts"],"names":[],"mappings":"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","file":"chunk-YRU4WB6Y.js","sourcesContent":["// src/tools/flows.ts\nimport { err, okJson } from \"../types.js\";\nimport type { ToolResult } from \"../types.js\";\nimport { findAiAssetsRoot } from \"../utils/ai-assets.js\";\nimport { readAllSessions } from \"./sessions.js\";\n\n// ── Flow tools ────────────────────────────────────────────────────────────────\n\n/**\n * List all flow definitions available in the project's `ai-assets` directory.\n *\n * Returns a JSON array of summary objects `{ id, name, nodeCount }`.\n * Returns an empty array when no `ai-assets` root is found.\n *\n * @param projectDir - Absolute path to the skaile project root.\n *\n * @docLink packages/workspace-plugin/concepts#tool-delivery\n */\nexport async function flowList(projectDir: string): Promise<ToolResult> {\n try {\n const assetsRoot = findAiAssetsRoot(projectDir);\n if (!assetsRoot) return okJson([]);\n const { loadAllFlows } = await import(\n \"@skaile/workspaces/factory-assets/connectors/flow/engine\"\n );\n const flows = loadAllFlows(assetsRoot);\n const summary = flows.map((f: any) => ({\n id: f.id,\n name: f.name ?? f.id,\n nodeCount: f.nodes?.length ?? 0,\n }));\n return okJson(summary);\n } catch (e: unknown) {\n return err(e instanceof Error ? e.message : String(e));\n }\n}\n\n/**\n * Show the full flow definition (nodes, edges, metadata) for a specific flow.\n *\n * @param projectDir - Absolute path to the skaile project root.\n * @param flowId - Flow ID as returned by {@link flowList}.\n *\n * @docLink packages/workspace-plugin/concepts#tool-delivery\n */\nexport async function flowShow(projectDir: string, flowId: string): Promise<ToolResult> {\n try {\n const assetsRoot = findAiAssetsRoot(projectDir);\n if (!assetsRoot) return err(`Flow not found: ${flowId}`);\n const { loadAllFlows } = await import(\n \"@skaile/workspaces/factory-assets/connectors/flow/engine\"\n );\n const flows = loadAllFlows(assetsRoot);\n const flow = flows.find((f: any) => f.id === flowId);\n if (!flow) return err(`Flow not found: ${flowId}`);\n return okJson(flow);\n } catch (e: unknown) {\n return err(e instanceof Error ? e.message : String(e));\n }\n}\n\n/**\n * List all past and active flow run sessions for the workspace.\n *\n * Delegates to {@link readAllSessions} (reads `.skaile/sessions/*.json`),\n * sorted newest-first by `updatedAt`.\n *\n * @param projectDir - Absolute path to the skaile project root.\n *\n * @docLink packages/workspace-plugin/concepts#tool-delivery\n */\nexport async function flowListSessions(projectDir: string): Promise<ToolResult> {\n try {\n const sessions = await readAllSessions(projectDir);\n return okJson(sessions);\n } catch (e: unknown) {\n return err(e instanceof Error ? e.message : String(e));\n }\n}\n\n/**\n * Get driver metadata for a specific flow run session.\n *\n * @param projectDir - Absolute path to the skaile project root.\n * @param runId - Run ID from {@link flowListSessions}.\n *\n * @docLink packages/workspace-plugin/concepts#tool-delivery\n */\nexport async function flowGetSession(projectDir: string, runId: string): Promise<ToolResult> {\n try {\n const sessions = await readAllSessions(projectDir);\n const session = sessions.find((s) => s.runId === runId);\n if (!session) return err(`Session not found: ${runId}`);\n return okJson(session);\n } catch (e: unknown) {\n return err(e instanceof Error ? e.message : String(e));\n }\n}\n\n/**\n * Resolve and return the flow definition that was used in a past session.\n *\n * Looks up the session by `runId`, reads its `flowId`, then returns the full\n * flow definition from `ai-assets`.\n *\n * @param projectDir - Absolute path to the skaile project root.\n * @param runId - Run ID from {@link flowListSessions}.\n *\n * @docLink packages/workspace-plugin/concepts#tool-delivery\n */\nexport async function flowFindFlowForSession(\n projectDir: string,\n runId: string,\n): Promise<ToolResult> {\n try {\n const sessions = await readAllSessions(projectDir);\n const session = sessions.find((s) => s.runId === runId);\n if (!session) return err(`Session not found: ${runId}`);\n\n const assetsRoot = findAiAssetsRoot(projectDir);\n if (!assetsRoot) return err(`Flow not found for session: ${runId} (no ai-assets root)`);\n\n const { loadAllFlows } = await import(\n \"@skaile/workspaces/factory-assets/connectors/flow/engine\"\n );\n const flows = loadAllFlows(assetsRoot);\n const flow = flows.find((f: any) => f.id === session.flowId);\n if (!flow) return err(`Flow not found: ${session.flowId}`);\n return okJson(flow);\n } catch (e: unknown) {\n return err(e instanceof Error ? e.message : String(e));\n }\n}\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { decodeSkaileManifest, SKAILE_MANIFEST_FILENAME } from './chunk-IERB3UXJ.js';
|
|
2
|
+
import { scanDirectory, parseFrontmatter, bundleDepRefs, fromMcpServerMd } from './chunk-2FS4FPZ7.js';
|
|
3
|
+
import { parseAssetRef, assetRefToStr } from './chunk-IEJ5IOC3.js';
|
|
4
|
+
import { mkdirSync, existsSync, readFileSync, writeFileSync, lstatSync, symlinkSync, rmSync, readdirSync, cpSync } from 'fs';
|
|
4
5
|
import { homedir } from 'os';
|
|
5
|
-
import { join, resolve, relative, dirname, parse as parse$1 } from 'path';
|
|
6
|
+
import { join, resolve, relative, dirname, parse as parse$1, basename } from 'path';
|
|
6
7
|
import { parse, stringify } from 'yaml';
|
|
7
8
|
import { spawnSync } from 'child_process';
|
|
8
9
|
import semver from 'semver';
|
|
@@ -176,10 +177,10 @@ function repoSlugFromGitRemote(rootDir) {
|
|
|
176
177
|
return m ? `${m[1]}/${m[2]}` : void 0;
|
|
177
178
|
}
|
|
178
179
|
function declaredPublisher(repoDir) {
|
|
179
|
-
const
|
|
180
|
-
if (existsSync(
|
|
180
|
+
const manifestPath = join(repoDir, SKAILE_MANIFEST_FILENAME);
|
|
181
|
+
if (existsSync(manifestPath)) {
|
|
181
182
|
try {
|
|
182
|
-
const raw = parse(readFileSync(
|
|
183
|
+
const raw = parse(readFileSync(manifestPath, "utf8"));
|
|
183
184
|
if (raw && typeof raw.publisher === "string" && raw.publisher.length > 0)
|
|
184
185
|
return raw.publisher;
|
|
185
186
|
} catch {
|
|
@@ -292,17 +293,20 @@ async function resolveAll(deps, opts) {
|
|
|
292
293
|
const sourceCandidates = opts.provenanceIndex.get(key) ?? [];
|
|
293
294
|
const storeCandidates = [];
|
|
294
295
|
if (opts.stores.length > 0 && opts.storeFetcher) {
|
|
295
|
-
const
|
|
296
|
-
|
|
297
|
-
sourceCandidates.map((c) => c.version)
|
|
298
|
-
);
|
|
296
|
+
const sourceVersions = sourceCandidates.map((c) => c.version);
|
|
297
|
+
const fetcher = opts.storeFetcher;
|
|
299
298
|
for (const store of opts.stores) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
299
|
+
let versionsHint = sourceVersions;
|
|
300
|
+
if (versionsHint.length === 0 && needsStoreVersionDiscovery(ref.pin) && fetcher.listVersions) {
|
|
301
|
+
versionsHint = await fetcher.listVersions(
|
|
303
302
|
store.url,
|
|
304
|
-
assetRefToStr({ ...ref, pin:
|
|
303
|
+
assetRefToStr({ ...ref, pin: void 0 })
|
|
305
304
|
);
|
|
305
|
+
}
|
|
306
|
+
const candidateVersions = enumerateVersionsForPin(ref.pin, versionsHint);
|
|
307
|
+
for (const v of candidateVersions) {
|
|
308
|
+
if (!v) continue;
|
|
309
|
+
const m = await fetcher.getInstallManifest(store.url, assetRefToStr({ ...ref, pin: v }));
|
|
306
310
|
if (m) {
|
|
307
311
|
storeCandidates.push({
|
|
308
312
|
publisher: ref.publisher,
|
|
@@ -387,6 +391,11 @@ function matchPin(pin, version) {
|
|
|
387
391
|
if (!semver.valid(version)) return version === pin;
|
|
388
392
|
return semver.satisfies(version, pin, { includePrerelease: false });
|
|
389
393
|
}
|
|
394
|
+
function needsStoreVersionDiscovery(pin) {
|
|
395
|
+
if (!pin) return true;
|
|
396
|
+
if (SHA_PIN_RE.test(pin)) return false;
|
|
397
|
+
return !semver.valid(pin);
|
|
398
|
+
}
|
|
390
399
|
function enumerateVersionsForPin(pin, sourceVersionsHint) {
|
|
391
400
|
if (!pin) return sourceVersionsHint.length > 0 ? sourceVersionsHint : [];
|
|
392
401
|
if (semver.valid(pin)) return [pin];
|
|
@@ -484,55 +493,112 @@ function buildProvenanceIndex(clones, _opts) {
|
|
|
484
493
|
return index;
|
|
485
494
|
}
|
|
486
495
|
function walkOne(clone, index) {
|
|
487
|
-
const
|
|
488
|
-
if (
|
|
489
|
-
walkWithManifest(clone, yamlPath, index);
|
|
490
|
-
} else {
|
|
496
|
+
const manifestPaths = findManifestFiles(clone.localPath);
|
|
497
|
+
if (manifestPaths.length === 0) {
|
|
491
498
|
walkFilenameConvention(clone, index);
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
function walkWithManifest(clone, yamlPath, index) {
|
|
495
|
-
const raw = parse(readFileSync(yamlPath, "utf8")) ?? {};
|
|
496
|
-
const publisher = typeof raw.publisher === "string" && raw.publisher.length > 0 ? raw.publisher : publisherFromGithubUrl(clone.sourceUrl);
|
|
497
|
-
if (!publisher) {
|
|
498
|
-
throw new Error(
|
|
499
|
-
`${clone.sourceUrl}: publisher must be declared in skaile.yaml (non-GitHub source URL \u2014 auto-derivation not available).`
|
|
500
|
-
);
|
|
501
|
-
}
|
|
502
|
-
const sourceVersion = (typeof raw.version === "string" ? raw.version : void 0) ?? (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
|
|
503
|
-
const assets = Array.isArray(raw.assets) ? raw.assets : [];
|
|
504
|
-
if (assets.length === 0) {
|
|
505
|
-
walkFilenameConvention(clone, index, publisher, sourceVersion);
|
|
506
499
|
return;
|
|
507
500
|
}
|
|
501
|
+
let produced = false;
|
|
502
|
+
for (const p of manifestPaths) {
|
|
503
|
+
if (walkWithManifest(clone, p, index)) produced = true;
|
|
504
|
+
}
|
|
505
|
+
if (!produced) walkFilenameConvention(clone, index);
|
|
506
|
+
}
|
|
507
|
+
function findManifestFiles(root) {
|
|
508
|
+
const found = [];
|
|
509
|
+
const walk = (dir) => {
|
|
510
|
+
if (!existsSync(dir)) return;
|
|
511
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
512
|
+
if (entry.name === ".git" || entry.name === "node_modules") continue;
|
|
513
|
+
const abs = join(dir, entry.name);
|
|
514
|
+
if (entry.isDirectory()) walk(abs);
|
|
515
|
+
else if (entry.isFile() && entry.name === SKAILE_MANIFEST_FILENAME) found.push(abs);
|
|
516
|
+
}
|
|
517
|
+
};
|
|
518
|
+
walk(root);
|
|
519
|
+
return found;
|
|
520
|
+
}
|
|
521
|
+
function walkWithManifest(clone, manifestPath, index) {
|
|
522
|
+
const { manifest } = decodeSkaileManifest(readFileSync(manifestPath, "utf8"));
|
|
523
|
+
const repoRoot = clone.localPath;
|
|
524
|
+
const manifestPublisher = manifest.publisher ?? publisherFromGithubUrl(clone.sourceUrl);
|
|
525
|
+
const manifestVersion = manifest.version ?? (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
|
|
526
|
+
const assets = manifest.assets ?? [];
|
|
527
|
+
if (assets.length === 0) return false;
|
|
508
528
|
for (const a of assets) {
|
|
509
|
-
const assetPublisher = a.publisher ??
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
529
|
+
const assetPublisher = a.publisher ?? manifestPublisher;
|
|
530
|
+
if (!assetPublisher) {
|
|
531
|
+
throw new Error(
|
|
532
|
+
`${clone.sourceUrl}: publisher must be declared in skaile.manifest.yaml (non-GitHub source URL \u2014 auto-derivation not available).`
|
|
533
|
+
);
|
|
534
|
+
}
|
|
535
|
+
const curatedSource = a.source ?? manifest.source;
|
|
536
|
+
const version = a.version ?? manifestVersion;
|
|
537
|
+
let files;
|
|
538
|
+
let sourceUrl;
|
|
539
|
+
let commit;
|
|
540
|
+
let metadata;
|
|
541
|
+
let frontmatter;
|
|
542
|
+
if (curatedSource) {
|
|
543
|
+
files = granularFiles(a) ?? [];
|
|
544
|
+
sourceUrl = curatedSource.url;
|
|
545
|
+
commit = curatedSource.commit ?? clone.commit;
|
|
546
|
+
} else {
|
|
547
|
+
files = expandAssetFiles(repoRoot, a);
|
|
548
|
+
verifyNameMatch(repoRoot, files, a.name, a.kind);
|
|
549
|
+
metadata = readMetadata(repoRoot, files, a.kind);
|
|
550
|
+
frontmatter = readContentFrontmatter(repoRoot, files, a.kind);
|
|
551
|
+
sourceUrl = clone.sourceUrl;
|
|
552
|
+
commit = clone.commit;
|
|
553
|
+
}
|
|
514
554
|
const candidate = {
|
|
515
555
|
publisher: assetPublisher,
|
|
516
556
|
kind: a.kind,
|
|
517
557
|
name: a.name,
|
|
518
558
|
version,
|
|
519
|
-
sourceUrl
|
|
520
|
-
commit
|
|
559
|
+
sourceUrl,
|
|
560
|
+
commit,
|
|
521
561
|
files,
|
|
522
|
-
sha256: compositeSha256(files),
|
|
562
|
+
sha256: a.sha256 ?? compositeSha256(files),
|
|
523
563
|
metadata,
|
|
524
|
-
deps: bundleDeps(
|
|
564
|
+
deps: a.dependencies ?? bundleDeps(repoRoot, files, a.kind)
|
|
525
565
|
};
|
|
566
|
+
const fmStr = (k) => typeof frontmatter?.[k] === "string" ? frontmatter[k] : void 0;
|
|
567
|
+
const fmArr = (k) => Array.isArray(frontmatter?.[k]) ? frontmatter[k].filter((x) => typeof x === "string") : void 0;
|
|
568
|
+
const description = a.description ?? fmStr("description");
|
|
569
|
+
const keywords = a.keywords ?? fmArr("keywords");
|
|
570
|
+
const category = a.category ?? fmStr("category");
|
|
571
|
+
const license = a.license ?? manifest.license;
|
|
572
|
+
const homepage = a.homepage ?? manifest.homepage;
|
|
573
|
+
if (description) candidate.description = description;
|
|
574
|
+
if (keywords && keywords.length > 0) candidate.keywords = keywords;
|
|
575
|
+
if (category) candidate.category = category;
|
|
576
|
+
if (license) candidate.license = license;
|
|
577
|
+
if (homepage) candidate.homepage = homepage;
|
|
526
578
|
push(index, `${assetPublisher}/${a.kind}:${a.name}`, candidate);
|
|
527
579
|
}
|
|
580
|
+
return true;
|
|
581
|
+
}
|
|
582
|
+
function globFiles(a) {
|
|
583
|
+
if (!Array.isArray(a.files)) return void 0;
|
|
584
|
+
const strings = a.files.filter((f) => typeof f === "string");
|
|
585
|
+
return strings.length > 0 ? strings : void 0;
|
|
586
|
+
}
|
|
587
|
+
function granularFiles(a) {
|
|
588
|
+
if (!Array.isArray(a.files)) return void 0;
|
|
589
|
+
const granular = a.files.filter(
|
|
590
|
+
(f) => !!f && typeof f === "object" && "path" in f && "sha256" in f
|
|
591
|
+
);
|
|
592
|
+
return granular.length > 0 ? granular : void 0;
|
|
528
593
|
}
|
|
529
594
|
function expandAssetFiles(repoRoot, a) {
|
|
530
595
|
const out = [];
|
|
531
596
|
if (a.root) {
|
|
532
597
|
walkDirRecursive(join(repoRoot, a.root), repoRoot, out);
|
|
533
598
|
}
|
|
534
|
-
|
|
535
|
-
|
|
599
|
+
const globs = globFiles(a);
|
|
600
|
+
if (globs) {
|
|
601
|
+
const matches = fg.sync(globs, { cwd: repoRoot, onlyFiles: true, dot: false });
|
|
536
602
|
for (const rel of matches) {
|
|
537
603
|
out.push({ path: rel, sha256: fileSha256(join(repoRoot, rel)) });
|
|
538
604
|
}
|
|
@@ -560,14 +626,14 @@ var DIR_SCOPED_KINDS = /* @__PURE__ */ new Set([
|
|
|
560
626
|
"connector",
|
|
561
627
|
"knowledge"
|
|
562
628
|
]);
|
|
563
|
-
function walkFilenameConvention(clone, index
|
|
564
|
-
const publisher =
|
|
629
|
+
function walkFilenameConvention(clone, index) {
|
|
630
|
+
const publisher = publisherFromGithubUrl(clone.sourceUrl);
|
|
565
631
|
if (!publisher) {
|
|
566
632
|
throw new Error(
|
|
567
|
-
`${clone.sourceUrl}: publisher must be declared in skaile.yaml (non-GitHub source URL).`
|
|
633
|
+
`${clone.sourceUrl}: publisher must be declared in skaile.manifest.yaml (non-GitHub source URL).`
|
|
568
634
|
);
|
|
569
635
|
}
|
|
570
|
-
const version =
|
|
636
|
+
const version = (clone.tag ? clone.tag.replace(/^v/, "") : void 0) ?? syntheticVersion(clone.commit);
|
|
571
637
|
for (const e of scanDirectory(clone.localPath, publisher)) {
|
|
572
638
|
const manifestAbs = e.source;
|
|
573
639
|
const files = [];
|
|
@@ -600,7 +666,7 @@ function verifyNameMatch(repoRoot, files, expectedName, kind) {
|
|
|
600
666
|
const declared = typeof data.name === "string" ? data.name : void 0;
|
|
601
667
|
if (declared && declared !== expectedName) {
|
|
602
668
|
throw new Error(
|
|
603
|
-
`name mismatch: ${mdName} says "${declared}", skaile.yaml says "${expectedName}" \u2014 index-time hard error.`
|
|
669
|
+
`name mismatch: ${mdName} says "${declared}", skaile.manifest.yaml says "${expectedName}" \u2014 index-time hard error.`
|
|
604
670
|
);
|
|
605
671
|
}
|
|
606
672
|
}
|
|
@@ -611,6 +677,17 @@ function readMetadata(repoRoot, files, kind) {
|
|
|
611
677
|
const { data } = parseFrontmatter(readFileSync(join(repoRoot, mcpMd.path), "utf8"));
|
|
612
678
|
return data;
|
|
613
679
|
}
|
|
680
|
+
function readContentFrontmatter(repoRoot, files, kind) {
|
|
681
|
+
const mdName = MD_FILE_BY_KIND[kind];
|
|
682
|
+
if (!mdName) return void 0;
|
|
683
|
+
const md = files.find((f) => f.path.endsWith(mdName));
|
|
684
|
+
if (!md) return void 0;
|
|
685
|
+
try {
|
|
686
|
+
return parseFrontmatter(readFileSync(join(repoRoot, md.path), "utf8")).data;
|
|
687
|
+
} catch {
|
|
688
|
+
return void 0;
|
|
689
|
+
}
|
|
690
|
+
}
|
|
614
691
|
function bundleDeps(repoRoot, files, kind) {
|
|
615
692
|
if (kind !== "bundle") return void 0;
|
|
616
693
|
const bf = files.find((f) => f.path.endsWith(".bundle.yaml") || f.path.endsWith("BUNDLE.md"));
|
|
@@ -771,13 +848,6 @@ function mergeSkWorkspaceConfigs(base, overlay) {
|
|
|
771
848
|
},
|
|
772
849
|
// startup: overlay wins (project-level only)
|
|
773
850
|
startup: overlay.startup ?? base.startup,
|
|
774
|
-
// publication half — scalars: overlay wins when defined; assets: by kind+name
|
|
775
|
-
publisher: overlay.publisher ?? base.publisher,
|
|
776
|
-
version: overlay.version ?? base.version,
|
|
777
|
-
assets: dedupeByKey(
|
|
778
|
-
[...base.assets ?? [], ...overlay.assets ?? []],
|
|
779
|
-
(a) => `${a.kind}:${a.name}`
|
|
780
|
-
),
|
|
781
851
|
// mounts: by id — overlay wins
|
|
782
852
|
mounts: mergeById(base.mounts ?? [], overlay.mounts ?? []),
|
|
783
853
|
// connectors: by id — overlay wins
|
|
@@ -932,38 +1002,20 @@ function normalizeConfigInternal(raw) {
|
|
|
932
1002
|
}
|
|
933
1003
|
if (raw.repositories !== void 0) {
|
|
934
1004
|
throw new Error(
|
|
935
|
-
"skaile.yaml: unknown top-level key `repositories:`. The schema changed
|
|
1005
|
+
"skaile.yaml: unknown top-level key `repositories:`. The schema changed \u2014 see docs/concepts/manifest-schema.md, or ask your AI assistant to apply the `migrate-skaile-manifest` skill."
|
|
936
1006
|
);
|
|
937
1007
|
}
|
|
938
1008
|
if (raw.ai_resources !== void 0 || raw.aiResources !== void 0) {
|
|
939
1009
|
throw new Error(
|
|
940
|
-
"skaile.yaml: unknown top-level key `ai_resources:`. The schema changed
|
|
1010
|
+
"skaile.yaml: unknown top-level key `ai_resources:`. The schema changed \u2014 see docs/concepts/manifest-schema.md, or ask your AI assistant to apply the `migrate-skaile-manifest` skill."
|
|
941
1011
|
);
|
|
942
1012
|
}
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
}
|
|
949
|
-
if (Array.isArray(raw.assets)) {
|
|
950
|
-
const entries = [];
|
|
951
|
-
for (const item of raw.assets) {
|
|
952
|
-
if (!item || typeof item !== "object" || Array.isArray(item)) continue;
|
|
953
|
-
const a = item;
|
|
954
|
-
const kind = typeof a.kind === "string" ? a.kind : "";
|
|
955
|
-
const name = typeof a.name === "string" ? a.name : "";
|
|
956
|
-
if (!kind || !name) continue;
|
|
957
|
-
const entry = { kind, name };
|
|
958
|
-
if (typeof a.root === "string") entry.root = a.root;
|
|
959
|
-
if (Array.isArray(a.files)) {
|
|
960
|
-
entry.files = a.files.filter((f) => typeof f === "string");
|
|
961
|
-
}
|
|
962
|
-
if (typeof a.version === "string") entry.version = a.version;
|
|
963
|
-
if (typeof a.publisher === "string") entry.publisher = a.publisher;
|
|
964
|
-
entries.push(entry);
|
|
1013
|
+
for (const key of ["publisher", "version", "assets"]) {
|
|
1014
|
+
if (raw[key] !== void 0) {
|
|
1015
|
+
throw new Error(
|
|
1016
|
+
`skaile.yaml: \`${key}:\` is no longer valid here \u2014 publication keys (publisher, version, assets) describe what a repo publishes and now live in skaile.manifest.yaml. See docs/concepts/manifest-schema.md, or run the \`migrate-skaile-manifest\` skill.`
|
|
1017
|
+
);
|
|
965
1018
|
}
|
|
966
|
-
if (entries.length > 0) config.assets = entries;
|
|
967
1019
|
}
|
|
968
1020
|
if (Array.isArray(raw.stores)) {
|
|
969
1021
|
const entries = [];
|
|
@@ -1151,9 +1203,6 @@ function validateConfigValues(config, diagnostics) {
|
|
|
1151
1203
|
var CANONICAL_KEY_ORDER = [
|
|
1152
1204
|
"name",
|
|
1153
1205
|
"description",
|
|
1154
|
-
"publisher",
|
|
1155
|
-
"version",
|
|
1156
|
-
"assets",
|
|
1157
1206
|
"agent_config",
|
|
1158
1207
|
"dependencies",
|
|
1159
1208
|
"plugins",
|
|
@@ -1332,6 +1381,35 @@ function loadMaterializedMcpDeclarations(projectDir) {
|
|
|
1332
1381
|
}
|
|
1333
1382
|
return result;
|
|
1334
1383
|
}
|
|
1384
|
+
function stageMaterializedSkills(projectDir, skillsDir) {
|
|
1385
|
+
const dir = join(projectDir, ".skaile/assets/skill");
|
|
1386
|
+
if (!existsSync(dir)) return [];
|
|
1387
|
+
const staged = [];
|
|
1388
|
+
let subdirs;
|
|
1389
|
+
try {
|
|
1390
|
+
subdirs = readdirSync(dir, { withFileTypes: true }).filter((e) => e.isDirectory()).map((e) => e.name);
|
|
1391
|
+
} catch {
|
|
1392
|
+
return [];
|
|
1393
|
+
}
|
|
1394
|
+
for (const name of subdirs) {
|
|
1395
|
+
const src = join(dir, name);
|
|
1396
|
+
if (!existsSync(join(src, "SKILL.md"))) continue;
|
|
1397
|
+
const dest = join(projectDir, skillsDir, name);
|
|
1398
|
+
try {
|
|
1399
|
+
cpSync(src, dest, {
|
|
1400
|
+
recursive: true,
|
|
1401
|
+
force: true,
|
|
1402
|
+
filter: (source) => basename(source) !== ".instance.json"
|
|
1403
|
+
});
|
|
1404
|
+
staged.push(name);
|
|
1405
|
+
} catch (err) {
|
|
1406
|
+
console.warn(
|
|
1407
|
+
`[workspace-config] stageMaterializedSkills: failed to stage "${src}": ${err instanceof Error ? err.message : String(err)}`
|
|
1408
|
+
);
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
return staged;
|
|
1412
|
+
}
|
|
1335
1413
|
function sourceSlug(url) {
|
|
1336
1414
|
return url.replace(/\.git$/, "").split(/[/:]/).pop() ?? "source";
|
|
1337
1415
|
}
|
|
@@ -1349,17 +1427,22 @@ function buildSourceClones(sources) {
|
|
|
1349
1427
|
}
|
|
1350
1428
|
function catalogEntryFromCandidate(c) {
|
|
1351
1429
|
const md = c.metadata ?? {};
|
|
1352
|
-
|
|
1430
|
+
const entry = {
|
|
1353
1431
|
name: c.name,
|
|
1354
1432
|
kind: c.kind,
|
|
1355
|
-
description: typeof md.description === "string" ? md.description : "",
|
|
1433
|
+
description: c.description ?? (typeof md.description === "string" ? md.description : ""),
|
|
1356
1434
|
source: c.files[0]?.path ?? "",
|
|
1357
1435
|
publisher: c.publisher,
|
|
1358
1436
|
version: c.version,
|
|
1359
1437
|
requires: [],
|
|
1360
|
-
dependencies: [],
|
|
1438
|
+
dependencies: c.deps ?? [],
|
|
1361
1439
|
metadata: c.metadata
|
|
1362
1440
|
};
|
|
1441
|
+
if (c.category != null) entry.category = c.category;
|
|
1442
|
+
if (c.keywords && c.keywords.length > 0) entry.keywords = c.keywords;
|
|
1443
|
+
if (c.license != null) entry.license = c.license;
|
|
1444
|
+
if (c.homepage != null) entry.homepage = c.homepage;
|
|
1445
|
+
return entry;
|
|
1363
1446
|
}
|
|
1364
1447
|
function loadMcpServerDeclarations(projectDir) {
|
|
1365
1448
|
const config = resolveSkWorkspaceConfig(projectDir);
|
|
@@ -1449,6 +1532,6 @@ function resolveAgentDir(projectDir) {
|
|
|
1449
1532
|
return resolve(projectDir, definition);
|
|
1450
1533
|
}
|
|
1451
1534
|
|
|
1452
|
-
export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, decodeSkaileYaml, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, isWorkspaceConfigFilename, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, scanRepo, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename, writeLinks };
|
|
1453
|
-
//# sourceMappingURL=chunk-
|
|
1454
|
-
//# sourceMappingURL=chunk-
|
|
1535
|
+
export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, decodeSkaileYaml, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, isWorkspaceConfigFilename, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, scanRepo, stageMaterializedSkills, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename, writeLinks };
|
|
1536
|
+
//# sourceMappingURL=chunk-Z5DI7PDG.js.map
|
|
1537
|
+
//# sourceMappingURL=chunk-Z5DI7PDG.js.map
|