@skaile/workspaces 6.6.0 → 6.8.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 +34 -0
- package/dist/ai-sdk.js +10 -17
- package/dist/ai-sdk.js.map +1 -1
- package/dist/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-WQ6YQPHV.js → asset-feeds-NU5UOO5F.js} +18 -18
- package/dist/{asset-feeds-WQ6YQPHV.js.map → asset-feeds-NU5UOO5F.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +4 -4
- package/dist/asset-manager/index.js +10 -10
- package/dist/asset-manager/installer.js +6 -6
- package/dist/asset-manager/renderers.js +5 -5
- package/dist/asset-manager/src/index.d.ts +89 -15
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/install-agent.d.ts +22 -1
- package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
- package/dist/asset-manager/src/install-instances.d.ts +30 -1
- package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +12 -0
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/asset-manager/src/renderers.d.ts.map +1 -1
- package/dist/bridge/harnesses/claude-sdk.js +34 -20
- package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
- package/dist/bridge/harnesses/codex.js +9 -8
- package/dist/bridge/harnesses/codex.js.map +1 -1
- package/dist/bridge/harnesses/continue.js +11 -9
- package/dist/bridge/harnesses/continue.js.map +1 -1
- package/dist/bridge/harnesses/echo.js +5 -4
- package/dist/bridge/harnesses/echo.js.map +1 -1
- package/dist/bridge/harnesses/gemini.js +8 -6
- package/dist/bridge/harnesses/goose.js +11 -9
- package/dist/bridge/harnesses/goose.js.map +1 -1
- package/dist/bridge/harnesses/omp.js +9 -7
- package/dist/bridge/harnesses/omp.js.map +1 -1
- package/dist/bridge/harnesses/opencode.js +11 -9
- package/dist/bridge/harnesses/opencode.js.map +1 -1
- package/dist/bridge/harnesses/qwen.js +9 -7
- package/dist/bridge/harnesses/qwen.js.map +1 -1
- package/dist/bridge/index.js +17 -15
- package/dist/bridge/src/ai-sdk.d.ts.map +1 -1
- package/dist/bridge/src/claude-sdk-surface.d.ts +2 -1
- package/dist/bridge/src/claude-sdk-surface.d.ts.map +1 -1
- package/dist/bridge/src/harness-binaries.d.ts +21 -0
- package/dist/bridge/src/harness-binaries.d.ts.map +1 -0
- package/dist/bridge/src/harness-model-check.d.ts +22 -6
- package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/claude-self-turns.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/continue.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/gemini.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/goose.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/omp-models-yml.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/opencode.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/qwen.d.ts.map +1 -1
- package/dist/bridge/src/index.d.ts +2 -1
- package/dist/bridge/src/index.d.ts.map +1 -1
- package/dist/bridge/src/types.d.ts +11 -0
- package/dist/bridge/src/types.d.ts.map +1 -1
- package/dist/{chunk-LBJ4M5J2.js → chunk-237BMOZW.js} +4 -4
- package/dist/{chunk-LBJ4M5J2.js.map → chunk-237BMOZW.js.map} +1 -1
- package/dist/{chunk-XYCYGN3Q.js → chunk-2I5HNM7K.js} +79 -20
- package/dist/chunk-2I5HNM7K.js.map +1 -0
- package/dist/{chunk-MXI3XWV6.js → chunk-3HSLJAMJ.js} +4 -4
- package/dist/{chunk-MXI3XWV6.js.map → chunk-3HSLJAMJ.js.map} +1 -1
- package/dist/{chunk-SCRYXAHH.js → chunk-3NJFPGEB.js} +6 -6
- package/dist/{chunk-SCRYXAHH.js.map → chunk-3NJFPGEB.js.map} +1 -1
- package/dist/{chunk-RHCEX2EV.js → chunk-3QX2X77G.js} +3 -3
- package/dist/{chunk-RHCEX2EV.js.map → chunk-3QX2X77G.js.map} +1 -1
- package/dist/{chunk-DS6UUCFG.js → chunk-4CD2R4MJ.js} +5 -4
- package/dist/chunk-4CD2R4MJ.js.map +1 -0
- package/dist/{chunk-7I5PNB2G.js → chunk-5TLMHB2U.js} +3 -3
- package/dist/{chunk-7I5PNB2G.js.map → chunk-5TLMHB2U.js.map} +1 -1
- package/dist/{chunk-KSH5CFQS.js → chunk-6PVRP3LW.js} +36 -5
- package/dist/chunk-6PVRP3LW.js.map +1 -0
- package/dist/{chunk-BSMW3PX2.js → chunk-6UP2EDFN.js} +4 -313
- package/dist/chunk-6UP2EDFN.js.map +1 -0
- package/dist/{chunk-U3UDOX6I.js → chunk-6ZM5X2XW.js} +6 -4
- package/dist/chunk-6ZM5X2XW.js.map +1 -0
- package/dist/{chunk-JRVQV7WC.js → chunk-757G6TTZ.js} +595 -126
- package/dist/chunk-757G6TTZ.js.map +1 -0
- package/dist/{chunk-G5SYFFMD.js → chunk-7NN3P6VF.js} +22 -5
- package/dist/chunk-7NN3P6VF.js.map +1 -0
- package/dist/{chunk-7PVGND4J.js → chunk-7YOHUX2M.js} +21 -14
- package/dist/chunk-7YOHUX2M.js.map +1 -0
- package/dist/{chunk-O7QZI6MQ.js → chunk-BB5EJLKZ.js} +2 -2
- package/dist/{chunk-O7QZI6MQ.js.map → chunk-BB5EJLKZ.js.map} +1 -1
- package/dist/{chunk-2M3VLKT2.js → chunk-BRPEW3UL.js} +3 -3
- package/dist/{chunk-2M3VLKT2.js.map → chunk-BRPEW3UL.js.map} +1 -1
- package/dist/{chunk-EPXZQIC6.js → chunk-DFP476EU.js} +8 -4
- package/dist/chunk-DFP476EU.js.map +1 -0
- package/dist/{chunk-B6N653ZG.js → chunk-DRHJRTAS.js} +6 -6
- package/dist/{chunk-B6N653ZG.js.map → chunk-DRHJRTAS.js.map} +1 -1
- package/dist/{chunk-4J7JQX4G.js → chunk-E3KABQS3.js} +4 -4
- package/dist/{chunk-4J7JQX4G.js.map → chunk-E3KABQS3.js.map} +1 -1
- package/dist/{chunk-MMOWIRHP.js → chunk-G44FFUMA.js} +12 -10
- package/dist/chunk-G44FFUMA.js.map +1 -0
- package/dist/{chunk-JIQUF3X2.js → chunk-G7NMF5WQ.js} +3 -3
- package/dist/{chunk-JIQUF3X2.js.map → chunk-G7NMF5WQ.js.map} +1 -1
- package/dist/{chunk-HGZN6JLP.js → chunk-HKRME377.js} +4 -4
- package/dist/{chunk-HGZN6JLP.js.map → chunk-HKRME377.js.map} +1 -1
- package/dist/{chunk-6A6HE5LW.js → chunk-HLAEYFUN.js} +3 -3
- package/dist/{chunk-6A6HE5LW.js.map → chunk-HLAEYFUN.js.map} +1 -1
- package/dist/{chunk-F4CZQD3T.js → chunk-I6XH46Q6.js} +4 -3
- package/dist/chunk-I6XH46Q6.js.map +1 -0
- package/dist/{chunk-7SJHSGUV.js → chunk-K6HCOTOZ.js} +16 -15
- package/dist/chunk-K6HCOTOZ.js.map +1 -0
- package/dist/{chunk-AQNW2FET.js → chunk-K7ZGY2BY.js} +351 -51
- package/dist/chunk-K7ZGY2BY.js.map +1 -0
- package/dist/{chunk-GTGWRKMJ.js → chunk-KHWGUXSF.js} +6 -6
- package/dist/{chunk-GTGWRKMJ.js.map → chunk-KHWGUXSF.js.map} +1 -1
- package/dist/{chunk-DI6J2PJB.js → chunk-KO3VSZQP.js} +47 -18
- package/dist/chunk-KO3VSZQP.js.map +1 -0
- package/dist/{chunk-VXYZ5M7Z.js → chunk-LJ6PLEDU.js} +64 -27
- package/dist/chunk-LJ6PLEDU.js.map +1 -0
- package/dist/{chunk-SHTXMERQ.js → chunk-LL5GMUQG.js} +10 -8
- package/dist/chunk-LL5GMUQG.js.map +1 -0
- package/dist/{chunk-TCH5UDKT.js → chunk-NW7Y5SNK.js} +10 -8
- package/dist/chunk-NW7Y5SNK.js.map +1 -0
- package/dist/{chunk-J4WKNJHO.js → chunk-O5Y7VMVQ.js} +15 -14
- package/dist/chunk-O5Y7VMVQ.js.map +1 -0
- package/dist/{chunk-6SXSVKQY.js → chunk-O7ADRMCR.js} +63 -14
- package/dist/chunk-O7ADRMCR.js.map +1 -0
- package/dist/{chunk-WW5NAU6N.js → chunk-ORXV3UB6.js} +3 -3
- package/dist/{chunk-WW5NAU6N.js.map → chunk-ORXV3UB6.js.map} +1 -1
- package/dist/{chunk-VJRL6ZK6.js → chunk-OSABUEWA.js} +3 -3
- package/dist/{chunk-VJRL6ZK6.js.map → chunk-OSABUEWA.js.map} +1 -1
- package/dist/{chunk-XD3RYAMR.js → chunk-PMZMG3HC.js} +6 -6
- package/dist/{chunk-XD3RYAMR.js.map → chunk-PMZMG3HC.js.map} +1 -1
- package/dist/{chunk-J262X4JU.js → chunk-Q6FKWPRO.js} +69 -16
- package/dist/chunk-Q6FKWPRO.js.map +1 -0
- package/dist/{chunk-E2EC6SAX.js → chunk-QC5BYUED.js} +51 -15
- package/dist/chunk-QC5BYUED.js.map +1 -0
- package/dist/{chunk-RAU5QPI6.js → chunk-QCR5AE5E.js} +5 -5
- package/dist/{chunk-RAU5QPI6.js.map → chunk-QCR5AE5E.js.map} +1 -1
- package/dist/{chunk-I5IF3JCG.js → chunk-QGA2OBUJ.js} +3 -3
- package/dist/{chunk-I5IF3JCG.js.map → chunk-QGA2OBUJ.js.map} +1 -1
- package/dist/{chunk-TUFNY6OD.js → chunk-QW5B3TEO.js} +10 -4
- package/dist/chunk-QW5B3TEO.js.map +1 -0
- package/dist/{chunk-Z4FERR4U.js → chunk-RDIGVPXX.js} +2 -2
- package/dist/{chunk-Z4FERR4U.js.map → chunk-RDIGVPXX.js.map} +1 -1
- package/dist/{chunk-SZKCE7EC.js → chunk-REAF7ZFA.js} +5 -5
- package/dist/{chunk-SZKCE7EC.js.map → chunk-REAF7ZFA.js.map} +1 -1
- package/dist/{chunk-OY22B7E2.js → chunk-SBNUXJ6E.js} +3 -3
- package/dist/{chunk-OY22B7E2.js.map → chunk-SBNUXJ6E.js.map} +1 -1
- package/dist/chunk-SILFO5RY.js +315 -0
- package/dist/chunk-SILFO5RY.js.map +1 -0
- package/dist/{chunk-6ARPZHOV.js → chunk-TMJBEGS4.js} +35 -6
- package/dist/chunk-TMJBEGS4.js.map +1 -0
- package/dist/{chunk-5XHQBCB5.js → chunk-WFK4MUBL.js} +21 -7
- package/dist/chunk-WFK4MUBL.js.map +1 -0
- package/dist/chunk-WWSRIT3J.js +59 -0
- package/dist/chunk-WWSRIT3J.js.map +1 -0
- package/dist/{chunk-N2PBAXAA.js → chunk-XCGDRLMH.js} +3 -3
- package/dist/{chunk-N2PBAXAA.js.map → chunk-XCGDRLMH.js.map} +1 -1
- package/dist/{chunk-YN6N3RBM.js → chunk-XIIIGLSL.js} +47 -11
- package/dist/chunk-XIIIGLSL.js.map +1 -0
- package/dist/{chunk-65UAC3ZR.js → chunk-Y6LC5PEZ.js} +4 -3
- package/dist/chunk-Y6LC5PEZ.js.map +1 -0
- package/dist/{chunk-KSUT5KAE.js → chunk-YEOG7CWQ.js} +3 -3
- package/dist/{chunk-KSUT5KAE.js.map → chunk-YEOG7CWQ.js.map} +1 -1
- package/dist/{chunk-5ETYBC2X.js → chunk-YGP6XEPA.js} +6 -6
- package/dist/{chunk-5ETYBC2X.js.map → chunk-YGP6XEPA.js.map} +1 -1
- package/dist/{chunk-2TLPC6TQ.js → chunk-YHNPWSSH.js} +41 -19
- package/dist/chunk-YHNPWSSH.js.map +1 -0
- package/dist/{chunk-6RHWTZPT.js → chunk-YZD7DUEF.js} +3 -3
- package/dist/{chunk-6RHWTZPT.js.map → chunk-YZD7DUEF.js.map} +1 -1
- package/dist/{chunk-4BFEPZ6J.js → chunk-ZBA4P5TD.js} +3 -3
- package/dist/{chunk-4BFEPZ6J.js.map → chunk-ZBA4P5TD.js.map} +1 -1
- package/dist/{claude-code-LZH7Y4Y5.js → claude-code-AESK7XO4.js} +4 -4
- package/dist/{claude-code-LZH7Y4Y5.js.map → claude-code-AESK7XO4.js.map} +1 -1
- package/dist/cli/index.js +474 -198
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/agent-pins.d.ts +9 -3
- package/dist/cli/src/agent-pins.d.ts.map +1 -1
- package/dist/cli/src/commands/asset-cmd.d.ts +1 -1
- package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/cache.d.ts.map +1 -1
- package/dist/cli/src/commands/catalog.d.ts +2 -0
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/config.d.ts.map +1 -1
- package/dist/cli/src/commands/harness-preflight.d.ts +38 -0
- package/dist/cli/src/commands/harness-preflight.d.ts.map +1 -0
- package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/library-index.d.ts +16 -0
- package/dist/cli/src/commands/library-index.d.ts.map +1 -1
- package/dist/cli/src/commands/migrate-assets.d.ts +5 -0
- package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
- package/dist/cli/src/commands/migrate-harness.d.ts +15 -7
- package/dist/cli/src/commands/migrate-harness.d.ts.map +1 -1
- package/dist/cli/src/commands/migrate.d.ts.map +1 -1
- package/dist/cli/src/commands/outdated.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts +14 -0
- 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/serve-preflight.d.ts +6 -5
- package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
- package/dist/cli/src/commands/serve.d.ts.map +1 -1
- package/dist/cli/src/commands/session.d.ts.map +1 -1
- package/dist/cli/src/commands/source.d.ts +11 -0
- 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/commands/validate-instances.d.ts +6 -0
- package/dist/cli/src/commands/validate-instances.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/commands/why.d.ts.map +1 -1
- package/dist/cli/src/plugin-store/reconcile.d.ts.map +1 -1
- package/dist/cli/src/session-hint.d.ts +7 -0
- package/dist/cli/src/session-hint.d.ts.map +1 -0
- package/dist/connectors/config.js +3 -3
- package/dist/connectors/index.js +21 -19
- package/dist/connectors/src/managed-gitconfig.d.ts +6 -4
- package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
- package/dist/{connectors-HU5MHSUJ.js → connectors-5ZZRVAPD.js} +24 -22
- package/dist/{connectors-HU5MHSUJ.js.map → connectors-5ZZRVAPD.js.map} +1 -1
- package/dist/connectors-shared/index.js +2 -2
- package/dist/core/index.js +4 -4
- package/dist/core/publish-manifest.js +1 -1
- package/dist/core/runtime-assets.js +3 -3
- package/dist/core/src/agent-instances.d.ts +11 -0
- package/dist/core/src/agent-instances.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +3 -2
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/publish-manifest.d.ts +20 -6
- package/dist/core/src/publish-manifest.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +9 -0
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/run-state-ignore.d.ts +17 -0
- package/dist/core/src/run-state-ignore.d.ts.map +1 -0
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/workspace-config.js +2 -2
- package/dist/deploy/index.js +4 -4
- package/dist/discovery/index.js +2 -2
- package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
- package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
- package/dist/discovery/src/tree-entries.d.ts.map +1 -1
- package/dist/{ensure-sources-CAMWJTMR.js → ensure-sources-VLJ7AUUK.js} +26 -24
- package/dist/ensure-sources-VLJ7AUUK.js.map +1 -0
- package/dist/factory-assets/connectors/box.js +21 -19
- package/dist/factory-assets/connectors/deploy.js +21 -19
- package/dist/factory-assets/connectors/devserver.js +21 -19
- package/dist/factory-assets/connectors/flow/adapter.js +21 -19
- package/dist/factory-assets/connectors/flow/contract/schema.d.ts +3 -3
- package/dist/factory-assets/connectors/flow/engine/router-settlement.d.ts +2 -0
- package/dist/factory-assets/connectors/flow/engine/router-settlement.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/engine.js +5 -5
- package/dist/factory-assets/connectors/flow/run-flow.js +22 -20
- package/dist/factory-assets/connectors/flow.js +21 -19
- package/dist/factory-assets/connectors/git/CONNECTOR.md +4 -1
- package/dist/factory-assets/connectors/git/exec.d.ts.map +1 -1
- package/dist/factory-assets/connectors/git.js +21 -19
- package/dist/factory-assets/connectors/gmail.js +21 -19
- package/dist/factory-assets/connectors/googledrive.js +21 -19
- package/dist/factory-assets/connectors/local.js +21 -19
- package/dist/factory-assets/connectors/mattermost.js +21 -19
- package/dist/factory-assets/connectors/memory.js +21 -19
- package/dist/factory-assets/connectors/minio.js +21 -19
- package/dist/factory-assets/connectors/postgres.js +21 -19
- package/dist/factory-assets/connectors/s3.js +21 -19
- package/dist/factory-assets/connectors/sharepoint.js +21 -19
- package/dist/factory-assets/connectors/sqlite.js +21 -19
- package/dist/factory-assets/connectors/static-server.js +21 -19
- package/dist/factory-assets/connectors/tunnel.js +21 -19
- package/dist/factory-assets/connectors/webdav.js +21 -19
- package/dist/factory-assets/connectors/xstate-store.js +21 -19
- package/dist/factory-assets/connectors/xstate.js +21 -19
- package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +14 -1
- package/dist/{flows-GVOVQGQW.js → flows-I6ODIPZZ.js} +7 -7
- package/dist/{flows-GVOVQGQW.js.map → flows-I6ODIPZZ.js.map} +1 -1
- package/dist/{helpers-WMCCODAV.js → helpers-APXGTZ5A.js} +26 -24
- package/dist/{helpers-WMCCODAV.js.map → helpers-APXGTZ5A.js.map} +1 -1
- package/dist/library/index.js +7 -7
- package/dist/library/install.js +2 -2
- package/dist/library/src/manifest-writer.d.ts +5 -0
- package/dist/library/src/manifest-writer.d.ts.map +1 -1
- package/dist/{library-publish-UQQMHTND.js → library-publish-B5HL4OBE.js} +47 -45
- package/dist/library-publish-B5HL4OBE.js.map +1 -0
- package/dist/model-endpoint/index.js +8 -7
- package/dist/{open-library-OJ4HT2X4.js → open-library-F56D46K7.js} +29 -27
- package/dist/{open-library-OJ4HT2X4.js.map → open-library-F56D46K7.js.map} +1 -1
- package/dist/{open-registry-LWGIOJDK.js → open-registry-RZW2AFD6.js} +11 -11
- package/dist/{open-registry-LWGIOJDK.js.map → open-registry-RZW2AFD6.js.map} +1 -1
- package/dist/{paths-FR2752HV.js → paths-RPK5PNZQ.js} +7 -7
- package/dist/{paths-FR2752HV.js.map → paths-RPK5PNZQ.js.map} +1 -1
- package/dist/{plugin-store-IALJUBN2.js → plugin-store-OJTERUEZ.js} +7 -7
- package/dist/{plugin-store-IALJUBN2.js.map → plugin-store-OJTERUEZ.js.map} +1 -1
- package/dist/{project-UQFCYHYS.js → project-GLTP6VFV.js} +43 -41
- package/dist/{project-UQFCYHYS.js.map → project-GLTP6VFV.js.map} +1 -1
- package/dist/resolver/index.js +4 -4
- package/dist/runner/index.js +32 -30
- package/dist/runner/src/capability-roundtrip.d.ts +8 -7
- package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
- package/dist/runner/src/composition/run-snapshot.d.ts +7 -1
- package/dist/runner/src/composition/run-snapshot.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/turn-scheduler.d.ts +8 -0
- package/dist/runner/src/turn-scheduler.d.ts.map +1 -1
- package/dist/runner/src/turn-visibility.d.ts +97 -0
- package/dist/runner/src/turn-visibility.d.ts.map +1 -0
- package/dist/sdk/asset-manager.js +10 -10
- package/dist/sdk/bridge.js +17 -15
- package/dist/sdk/core.js +4 -4
- package/dist/sdk/flow.js +5 -5
- package/dist/sdk/index.js +32 -30
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.js +4 -4
- package/dist/sdk/runner.js +32 -30
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/transport/ws/server.js +5 -5
- package/dist/sdk/transport/ws.js +5 -5
- package/dist/sdk/transport.js +5 -5
- package/dist/sdk/types.js +1 -1
- package/dist/serve-preflight-EHLBSNUE.js +58 -0
- package/dist/{serve-preflight-TYEKHC32.js.map → serve-preflight-EHLBSNUE.js.map} +1 -1
- package/dist/session/index.js +2 -2
- package/dist/session/src/dispatcher.d.ts.map +1 -1
- package/dist/{setup-4JV2IMCB.js → setup-PMZLMFCD.js} +27 -25
- package/dist/setup-PMZLMFCD.js.map +1 -0
- package/dist/{skills-6QTKFMLW.js → skills-KHHW3RZ3.js} +6 -6
- package/dist/{skills-6QTKFMLW.js.map → skills-KHHW3RZ3.js.map} +1 -1
- package/dist/source-QNSGAM3S.js +88 -0
- package/dist/{source-XYMMJVKR.js.map → source-QNSGAM3S.js.map} +1 -1
- package/dist/{source-manifest-publish-SZFGGKB4.js → source-manifest-publish-AI725AVE.js} +44 -42
- package/dist/source-manifest-publish-AI725AVE.js.map +1 -0
- package/dist/transport/index.js +5 -5
- package/dist/transport/ws/server.js +5 -5
- package/dist/transport/ws.js +5 -5
- package/dist/tui/index.js +56 -37
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/src/repl.d.ts +10 -0
- package/dist/tui/src/repl.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/src/capabilities.d.ts +3 -2
- package/dist/types/src/capabilities.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +11 -10
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/manifests/preset.d.ts +5 -5
- package/dist/types/src/protocol.d.ts +3 -0
- package/dist/types/src/protocol.d.ts.map +1 -1
- package/dist/types/src/turn-visibility.d.ts +50 -0
- package/dist/types/src/turn-visibility.d.ts.map +1 -0
- package/dist/types/src/version.d.ts +18 -5
- package/dist/types/src/version.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +24 -22
- package/dist/workspace-plugin/adapters/omp.js +14 -14
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-2TLPC6TQ.js.map +0 -1
- package/dist/chunk-5XHQBCB5.js.map +0 -1
- package/dist/chunk-65UAC3ZR.js.map +0 -1
- package/dist/chunk-6ARPZHOV.js.map +0 -1
- package/dist/chunk-6SXSVKQY.js.map +0 -1
- package/dist/chunk-7PVGND4J.js.map +0 -1
- package/dist/chunk-7SJHSGUV.js.map +0 -1
- package/dist/chunk-AQNW2FET.js.map +0 -1
- package/dist/chunk-BSMW3PX2.js.map +0 -1
- package/dist/chunk-DI6J2PJB.js.map +0 -1
- package/dist/chunk-DS6UUCFG.js.map +0 -1
- package/dist/chunk-E2EC6SAX.js.map +0 -1
- package/dist/chunk-EPXZQIC6.js.map +0 -1
- package/dist/chunk-F4CZQD3T.js.map +0 -1
- package/dist/chunk-G5SYFFMD.js.map +0 -1
- package/dist/chunk-J262X4JU.js.map +0 -1
- package/dist/chunk-J4WKNJHO.js.map +0 -1
- package/dist/chunk-JRVQV7WC.js.map +0 -1
- package/dist/chunk-KSH5CFQS.js.map +0 -1
- package/dist/chunk-MMOWIRHP.js.map +0 -1
- package/dist/chunk-SHTXMERQ.js.map +0 -1
- package/dist/chunk-TCH5UDKT.js.map +0 -1
- package/dist/chunk-TUFNY6OD.js.map +0 -1
- package/dist/chunk-U3UDOX6I.js.map +0 -1
- package/dist/chunk-VXYZ5M7Z.js.map +0 -1
- package/dist/chunk-XYCYGN3Q.js.map +0 -1
- package/dist/chunk-YN6N3RBM.js.map +0 -1
- package/dist/ensure-sources-CAMWJTMR.js.map +0 -1
- package/dist/library-publish-UQQMHTND.js.map +0 -1
- package/dist/serve-preflight-TYEKHC32.js +0 -56
- package/dist/setup-4JV2IMCB.js.map +0 -1
- package/dist/source-XYMMJVKR.js +0 -86
- package/dist/source-manifest-publish-SZFGGKB4.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { mountList, mountSync, mountStatus, mountRead, connectorList, connectorRead, connectorWrite, connectorSearch, connectorExec, connectorLoadSkill, connectorDescribe } from './chunk-
|
|
2
|
-
import { flowList, flowShow, flowListSessions, flowGetSession, flowFindFlowForSession } from './chunk-
|
|
1
|
+
import { mountList, mountSync, mountStatus, mountRead, connectorList, connectorRead, connectorWrite, connectorSearch, connectorExec, connectorLoadSkill, connectorDescribe } from './chunk-5TLMHB2U.js';
|
|
2
|
+
import { flowList, flowShow, flowListSessions, flowGetSession, flowFindFlowForSession } from './chunk-BB5EJLKZ.js';
|
|
3
3
|
import { sessionList, sessionGet } from './chunk-WYZXSJBK.js';
|
|
4
4
|
import { skillList, skillShow, skillSearch, skillCheckRequirements, skillGetPreamble } from './chunk-GTAHU4N4.js';
|
|
5
5
|
import { workspaceValidate, workspaceInfo, workspaceTestSecret, workspaceReload } from './chunk-KW37WNXY.js';
|
|
6
|
-
import { withActivityLabelDefs } from './chunk-
|
|
7
|
-
import { loadHarnessSdk } from './chunk-
|
|
6
|
+
import { withActivityLabelDefs } from './chunk-7NN3P6VF.js';
|
|
7
|
+
import { loadHarnessSdk } from './chunk-TMJBEGS4.js';
|
|
8
8
|
import { DEFAULT_HARNESS_ID } from './chunk-C5HFK34M.js';
|
|
9
9
|
import * as zNS from 'zod';
|
|
10
10
|
|
|
@@ -251,5 +251,5 @@ async function runMcpServerStdio(plugin) {
|
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
export { buildWorkspaceMcpServer, buildWorkspaceMcpStdioServer, buildWorkspaceToolDefs, runMcpServerStdio };
|
|
254
|
-
//# sourceMappingURL=chunk-
|
|
255
|
-
//# sourceMappingURL=chunk-
|
|
254
|
+
//# sourceMappingURL=chunk-KHWGUXSF.js.map
|
|
255
|
+
//# sourceMappingURL=chunk-KHWGUXSF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../workspace-plugin/src/adapters/mcp.ts"],"names":["z"],"mappings":"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","file":"chunk-GTGWRKMJ.js","sourcesContent":["// Static namespace import so bun --compile bundles zod into the binary.\n// Dynamic import(\"zod\") via a string variable evades bun's static analysis\n// and fails at runtime inside /$bunfs/. The unwrap (zNS.z ?? zNS.default\n// ?? zNS) handles both bun's native ESM and vitest's CJS-interop resolver,\n// which return the zod namespace at different keys.\nimport * as zNS from \"zod\";\nimport { loadHarnessSdk } from \"@skaile/workspaces/core\";\nimport { DEFAULT_HARNESS_ID } from \"@skaile/workspaces/core/framework\";\nimport { withActivityLabelDefs } from \"@skaile/workspaces/types\";\nimport type { WorkspacePlugin } from \"../plugin.js\";\nimport {\n connectorDescribe,\n connectorExec,\n connectorList,\n connectorLoadSkill,\n connectorRead,\n connectorSearch,\n connectorWrite,\n mountList,\n mountRead,\n mountStatus,\n mountSync,\n} from \"../tools/connectors.js\";\nimport {\n flowFindFlowForSession,\n flowGetSession,\n flowList,\n flowListSessions,\n flowShow,\n} from \"../tools/flows.js\";\nimport { sessionGet, sessionList } from \"../tools/sessions.js\";\nimport {\n skillCheckRequirements,\n skillGetPreamble,\n skillList,\n skillSearch,\n skillShow,\n} from \"../tools/skills.js\";\nimport {\n workspaceInfo,\n workspaceReload,\n workspaceTestSecret,\n workspaceValidate,\n} from \"../tools/validator.js\";\n\nconst zStatic: any = (zNS as any).z ?? (zNS as any).default ?? zNS;\n\n/**\n * One workspace plugin tool — name, description, a zod raw-shape input schema,\n * and an async handler returning a `ToolResult`.\n *\n * Carries **zero MCP/SDK dependency**: the same definitions feed both the\n * in-process Claude Agent SDK server ({@link buildWorkspaceMcpServer}) and the\n * raw stdio MCP server ({@link buildWorkspaceMcpStdioServer}).\n */\nexport interface WorkspaceToolDef {\n name: string;\n description: string;\n inputSchema: Record<string, unknown>;\n handler: (args: any) => Promise<unknown>;\n}\n\n/**\n * Build the 27 workspace plugin tool definitions.\n *\n * Tool groups:\n * - 4 mount tools (`mount_list`, `mount_sync`, `mount_status`, `mount_read`)\n * - 5 flow tools (`flow_list`, `flow_show`, `flow_list_sessions`, `flow_get_session`, `flow_find_flow_for_session`)\n * - 5 skill tools (`skill_list`, `skill_show`, `skill_search`, `skill_check_requirements`, `skill_get_preamble`)\n * - 2 session tools (`session_list`, `session_get`)\n * - 7 connector tools (`connector_list`, `connector_read`, `connector_write`, `connector_search`, `connector_exec`, `connector_load_skill`, `connector_describe`)\n * - 4 workspace tools (`workspace_validate`, `workspace_info`, `workspace_test_secret`, `workspace_reload`)\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n * @returns The 27 tool definitions, free of any MCP/SDK coupling.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport function buildWorkspaceToolDefs(plugin: WorkspacePlugin): WorkspaceToolDef[] {\n const z: any = zStatic;\n\n const harness = plugin.harness ?? DEFAULT_HARNESS_ID;\n const p = plugin.projectDir;\n\n return [\n // Mount tools\n {\n name: \"mount_list\",\n description: \"List all mounts declared in skaile.yaml with their mount status.\",\n inputSchema: {},\n handler: async () => mountList(plugin.connectorManager),\n },\n {\n name: \"mount_sync\",\n description: \"Sync a mount — pull latest from remote (git, S3, WebDAV).\",\n inputSchema: { mount_id: z.string().describe(\"Mount ID from mount_list\") },\n handler: async ({ mount_id }: { mount_id: string }) =>\n mountSync(plugin.connectorManager, mount_id),\n },\n {\n name: \"mount_status\",\n description: \"Get the mount status and last sync time for a mount.\",\n inputSchema: { mount_id: z.string() },\n handler: async ({ mount_id }: { mount_id: string }) =>\n mountStatus(plugin.connectorManager, mount_id),\n },\n {\n name: \"mount_read\",\n description: \"Read a file from a mounted mount by path.\",\n inputSchema: {\n mount_id: z.string(),\n path: z.string().describe(\"Relative path within the mount\"),\n },\n handler: async ({ mount_id, path }: { mount_id: string; path: string }) =>\n mountRead(plugin.connectorManager, mount_id, path),\n },\n // Flow tools\n {\n name: \"flow_list\",\n description: \"List all available flow definitions from ai-assets.\",\n inputSchema: {},\n handler: async () => flowList(p),\n },\n {\n name: \"flow_show\",\n description: \"Show full flow definition (nodes + edges) for a flow ID.\",\n inputSchema: { flow_id: z.string().describe(\"Flow ID from flow_list\") },\n handler: async ({ flow_id }: { flow_id: string }) => flowShow(p, flow_id),\n },\n {\n name: \"flow_list_sessions\",\n description: \"List past and active flow run sessions for this workspace.\",\n inputSchema: {},\n handler: async () => flowListSessions(p),\n },\n {\n name: \"flow_get_session\",\n description: \"Get harness metadata for a specific flow run session.\",\n inputSchema: { run_id: z.string().describe(\"Run ID from flow_list_sessions\") },\n handler: async ({ run_id }: { run_id: string }) => flowGetSession(p, run_id),\n },\n {\n name: \"flow_find_flow_for_session\",\n description: \"Resolve and return the flow definition used in a past session.\",\n inputSchema: { run_id: z.string() },\n handler: async ({ run_id }: { run_id: string }) => flowFindFlowForSession(p, run_id),\n },\n // Skill tools\n {\n name: \"skill_list\",\n description: \"List all skills in the ai-assets catalog.\",\n inputSchema: {},\n handler: async () => skillList(p),\n },\n {\n name: \"skill_show\",\n description: \"Show the full SKILL.md content for a skill ID.\",\n inputSchema: { skill_id: z.string().describe(\"Skill ID from skill_list\") },\n handler: async ({ skill_id }: { skill_id: string }) => skillShow(p, skill_id),\n },\n {\n name: \"skill_search\",\n description: \"Search skills by name, description, or keywords.\",\n inputSchema: { query: z.string() },\n handler: async ({ query }: { query: string }) => skillSearch(p, query),\n },\n {\n name: \"skill_check_requirements\",\n description: \"Validate that all skill prerequisites are met in the target directory.\",\n inputSchema: {\n skill_id: z.string(),\n target_dir: z\n .string()\n .optional()\n .describe(\"Directory to check against (default: projectDir)\"),\n },\n handler: async ({ skill_id, target_dir }: { skill_id: string; target_dir?: string }) =>\n skillCheckRequirements(p, skill_id, target_dir ?? p),\n },\n {\n name: \"skill_get_preamble\",\n description: \"Get the REQUIRES/INPUT/READS/WRITES DSL preamble for a skill.\",\n inputSchema: { skill_id: z.string() },\n handler: async ({ skill_id }: { skill_id: string }) => skillGetPreamble(p, skill_id),\n },\n // Session tools\n {\n name: \"session_list\",\n description: \"List all past agent run sessions for this workspace, sorted newest first.\",\n inputSchema: {},\n handler: async () => sessionList(p),\n },\n {\n name: \"session_get\",\n description: \"Get full metadata for a specific session by run ID.\",\n inputSchema: { run_id: z.string() },\n handler: async ({ run_id }: { run_id: string }) => sessionGet(p, run_id),\n },\n // Connector tools\n {\n name: \"connector_list\",\n description:\n \"List connectors declared in skaile.yaml as {connected, failed, notice?}. A host-managed mount in `connected` carries `health` {status: ok|stale|failed, errorClass, checkedAt}; if it is not ok, tell the user and do not write to it. `failed` holds connectors that did not connect this session, with the failure reason — their mount paths are dead directories, not synced workspaces.\",\n inputSchema: {},\n handler: async () => connectorList(plugin.connectorManager),\n },\n {\n name: \"connector_read\",\n description: \"Read content from a connector by path.\",\n inputSchema: {\n connector_id: z.string().describe(\"Connector ID from connector_list\"),\n path: z.string().describe(\"Path within the connector\"),\n },\n handler: async ({ connector_id, path }: { connector_id: string; path: string }) =>\n connectorRead(plugin.connectorManager, connector_id, path),\n },\n {\n name: \"connector_write\",\n description: \"Write content to a connector by path.\",\n inputSchema: {\n connector_id: z.string(),\n path: z.string(),\n content: z.string().describe(\"Content to write\"),\n },\n handler: async ({\n connector_id,\n path,\n content,\n }: {\n connector_id: string;\n path: string;\n content: string;\n }) => connectorWrite(plugin.connectorManager, connector_id, path, content),\n },\n {\n name: \"connector_search\",\n description: \"Search within a connector by query string.\",\n inputSchema: {\n connector_id: z.string(),\n query: z.string().describe(\"Search query\"),\n },\n handler: async ({ connector_id, query }: { connector_id: string; query: string }) =>\n connectorSearch(plugin.connectorManager, connector_id, query),\n },\n {\n name: \"connector_exec\",\n description: \"Execute a custom operation on a connector.\",\n inputSchema: {\n connector_id: z.string(),\n operation: z.string().describe(\"Operation name from connector_describe\"),\n args: z.record(z.string(), z.unknown()).describe(\"Operation arguments\"),\n },\n handler: async ({\n connector_id,\n operation,\n args,\n }: {\n connector_id: string;\n operation: string;\n args: Record<string, unknown>;\n }) => connectorExec(plugin.connectorManager, connector_id, operation, args),\n },\n {\n name: \"connector_load_skill\",\n description: \"Load the rendered skill body for a connector (operations + usage).\",\n inputSchema: {\n connector_id: z.string(),\n },\n handler: async ({ connector_id }: { connector_id: string }) =>\n connectorLoadSkill(plugin.connectorManager, connector_id),\n },\n {\n name: \"connector_describe\",\n description: \"Describe a connector's capabilities via its RuntimeSkillDescriptor.\",\n inputSchema: {\n connector_id: z.string(),\n },\n handler: async ({ connector_id }: { connector_id: string }) =>\n connectorDescribe(plugin.connectorManager, connector_id),\n },\n // Validator tools\n {\n name: \"workspace_validate\",\n description: \"Run a full health check: connectors, mounts, secrets, harness binary.\",\n inputSchema: {},\n handler: async () => workspaceValidate(plugin, harness),\n },\n {\n name: \"workspace_info\",\n description: \"Show workspace configuration: harness, model, provider, resource counts.\",\n inputSchema: {},\n handler: async () => workspaceInfo(plugin, harness, plugin.model),\n },\n {\n name: \"workspace_test_secret\",\n description: \"Test resolution of one secret reference (env:VAR, forge:key).\",\n inputSchema: { ref: z.string().describe(\"Secret ref e.g. env:ANTHROPIC_API_KEY\") },\n handler: async ({ ref }: { ref: string }) => workspaceTestSecret(ref),\n },\n {\n name: \"workspace_reload\",\n description: \"Re-read skaile.yaml and re-sync the plugin state.\",\n inputSchema: {},\n handler: async () => workspaceReload(plugin),\n },\n ];\n}\n\n/**\n * Build the **in-process** workspace MCP server via the Claude Agent SDK's\n * `createSdkMcpServer`. This shape is what the runner embeds into a Claude\n * Agent SDK `query()` call — the runner *is* the Claude Agent SDK host.\n *\n * Returns `null` when `@anthropic-ai/claude-agent-sdk` is not installed\n * (graceful degradation for non-Claude-Code environments).\n *\n * For the standalone `skaile mcp-server` stdio subprocess use\n * {@link buildWorkspaceMcpStdioServer} / {@link runMcpServerStdio} instead —\n * those carry no Claude Agent SDK dependency.\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n * @returns The SDK MCP server object or `null` if the SDK is unavailable.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport async function buildWorkspaceMcpServer(plugin: WorkspacePlugin): Promise<unknown | null> {\n let sdk: any;\n try {\n sdk = await loadHarnessSdk(\n \"@anthropic-ai/claude-agent-sdk\",\n plugin.projectDir,\n () => import(\"@anthropic-ai/claude-agent-sdk\"),\n );\n } catch {\n return null;\n }\n return sdk.createSdkMcpServer({\n name: \"skaile-workspace\",\n tools: withActivityLabelDefs(buildWorkspaceToolDefs(plugin), zStatic),\n });\n}\n\n/**\n * Build a **raw stdio** workspace MCP server on `@modelcontextprotocol/sdk` —\n * no Claude Agent SDK. This is the correct shape for the `skaile mcp-server`\n * stdio subprocess that MCP-client agents (Claude Code, Codex, …) spawn.\n * Runs on plain Node.\n *\n * The returned server is not yet connected — call `.connect(transport)` (or\n * use {@link runMcpServerStdio}).\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n * @returns A `McpServer` with all 27 workspace tools registered.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport async function buildWorkspaceMcpStdioServer(plugin: WorkspacePlugin): Promise<any> {\n const { McpServer } = await import(\"@modelcontextprotocol/sdk/server/mcp.js\" as string);\n const server = new McpServer({ name: \"skaile-workspace\", version: \"1.0.0\" });\n for (const def of buildWorkspaceToolDefs(plugin)) {\n server.registerTool(\n def.name,\n { description: def.description, inputSchema: def.inputSchema },\n def.handler,\n );\n }\n return server;\n}\n\n/**\n * Start the workspace MCP server over stdio transport.\n *\n * Builds the raw `@modelcontextprotocol/sdk` server via\n * {@link buildWorkspaceMcpStdioServer} and connects a `StdioServerTransport`.\n * No `@anthropic-ai/claude-agent-sdk` dependency anywhere on this path.\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport async function runMcpServerStdio(plugin: WorkspacePlugin): Promise<void> {\n const server = await buildWorkspaceMcpStdioServer(plugin);\n const { StdioServerTransport } = await import(\n \"@modelcontextprotocol/sdk/server/stdio.js\" as string\n );\n await server.connect(new StdioServerTransport());\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../workspace-plugin/src/adapters/mcp.ts"],"names":["z"],"mappings":"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","file":"chunk-KHWGUXSF.js","sourcesContent":["// Static namespace import so bun --compile bundles zod into the binary.\n// Dynamic import(\"zod\") via a string variable evades bun's static analysis\n// and fails at runtime inside /$bunfs/. The unwrap (zNS.z ?? zNS.default\n// ?? zNS) handles both bun's native ESM and vitest's CJS-interop resolver,\n// which return the zod namespace at different keys.\nimport * as zNS from \"zod\";\nimport { loadHarnessSdk } from \"@skaile/workspaces/core\";\nimport { DEFAULT_HARNESS_ID } from \"@skaile/workspaces/core/framework\";\nimport { withActivityLabelDefs } from \"@skaile/workspaces/types\";\nimport type { WorkspacePlugin } from \"../plugin.js\";\nimport {\n connectorDescribe,\n connectorExec,\n connectorList,\n connectorLoadSkill,\n connectorRead,\n connectorSearch,\n connectorWrite,\n mountList,\n mountRead,\n mountStatus,\n mountSync,\n} from \"../tools/connectors.js\";\nimport {\n flowFindFlowForSession,\n flowGetSession,\n flowList,\n flowListSessions,\n flowShow,\n} from \"../tools/flows.js\";\nimport { sessionGet, sessionList } from \"../tools/sessions.js\";\nimport {\n skillCheckRequirements,\n skillGetPreamble,\n skillList,\n skillSearch,\n skillShow,\n} from \"../tools/skills.js\";\nimport {\n workspaceInfo,\n workspaceReload,\n workspaceTestSecret,\n workspaceValidate,\n} from \"../tools/validator.js\";\n\nconst zStatic: any = (zNS as any).z ?? (zNS as any).default ?? zNS;\n\n/**\n * One workspace plugin tool — name, description, a zod raw-shape input schema,\n * and an async handler returning a `ToolResult`.\n *\n * Carries **zero MCP/SDK dependency**: the same definitions feed both the\n * in-process Claude Agent SDK server ({@link buildWorkspaceMcpServer}) and the\n * raw stdio MCP server ({@link buildWorkspaceMcpStdioServer}).\n */\nexport interface WorkspaceToolDef {\n name: string;\n description: string;\n inputSchema: Record<string, unknown>;\n handler: (args: any) => Promise<unknown>;\n}\n\n/**\n * Build the 27 workspace plugin tool definitions.\n *\n * Tool groups:\n * - 4 mount tools (`mount_list`, `mount_sync`, `mount_status`, `mount_read`)\n * - 5 flow tools (`flow_list`, `flow_show`, `flow_list_sessions`, `flow_get_session`, `flow_find_flow_for_session`)\n * - 5 skill tools (`skill_list`, `skill_show`, `skill_search`, `skill_check_requirements`, `skill_get_preamble`)\n * - 2 session tools (`session_list`, `session_get`)\n * - 7 connector tools (`connector_list`, `connector_read`, `connector_write`, `connector_search`, `connector_exec`, `connector_load_skill`, `connector_describe`)\n * - 4 workspace tools (`workspace_validate`, `workspace_info`, `workspace_test_secret`, `workspace_reload`)\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n * @returns The 27 tool definitions, free of any MCP/SDK coupling.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport function buildWorkspaceToolDefs(plugin: WorkspacePlugin): WorkspaceToolDef[] {\n const z: any = zStatic;\n\n const harness = plugin.harness ?? DEFAULT_HARNESS_ID;\n const p = plugin.projectDir;\n\n return [\n // Mount tools\n {\n name: \"mount_list\",\n description: \"List all mounts declared in skaile.yaml with their mount status.\",\n inputSchema: {},\n handler: async () => mountList(plugin.connectorManager),\n },\n {\n name: \"mount_sync\",\n description: \"Sync a mount — pull latest from remote (git, S3, WebDAV).\",\n inputSchema: { mount_id: z.string().describe(\"Mount ID from mount_list\") },\n handler: async ({ mount_id }: { mount_id: string }) =>\n mountSync(plugin.connectorManager, mount_id),\n },\n {\n name: \"mount_status\",\n description: \"Get the mount status and last sync time for a mount.\",\n inputSchema: { mount_id: z.string() },\n handler: async ({ mount_id }: { mount_id: string }) =>\n mountStatus(plugin.connectorManager, mount_id),\n },\n {\n name: \"mount_read\",\n description: \"Read a file from a mounted mount by path.\",\n inputSchema: {\n mount_id: z.string(),\n path: z.string().describe(\"Relative path within the mount\"),\n },\n handler: async ({ mount_id, path }: { mount_id: string; path: string }) =>\n mountRead(plugin.connectorManager, mount_id, path),\n },\n // Flow tools\n {\n name: \"flow_list\",\n description: \"List all available flow definitions from ai-assets.\",\n inputSchema: {},\n handler: async () => flowList(p),\n },\n {\n name: \"flow_show\",\n description: \"Show full flow definition (nodes + edges) for a flow ID.\",\n inputSchema: { flow_id: z.string().describe(\"Flow ID from flow_list\") },\n handler: async ({ flow_id }: { flow_id: string }) => flowShow(p, flow_id),\n },\n {\n name: \"flow_list_sessions\",\n description: \"List past and active flow run sessions for this workspace.\",\n inputSchema: {},\n handler: async () => flowListSessions(p),\n },\n {\n name: \"flow_get_session\",\n description: \"Get harness metadata for a specific flow run session.\",\n inputSchema: { run_id: z.string().describe(\"Run ID from flow_list_sessions\") },\n handler: async ({ run_id }: { run_id: string }) => flowGetSession(p, run_id),\n },\n {\n name: \"flow_find_flow_for_session\",\n description: \"Resolve and return the flow definition used in a past session.\",\n inputSchema: { run_id: z.string() },\n handler: async ({ run_id }: { run_id: string }) => flowFindFlowForSession(p, run_id),\n },\n // Skill tools\n {\n name: \"skill_list\",\n description: \"List all skills in the ai-assets catalog.\",\n inputSchema: {},\n handler: async () => skillList(p),\n },\n {\n name: \"skill_show\",\n description: \"Show the full SKILL.md content for a skill ID.\",\n inputSchema: { skill_id: z.string().describe(\"Skill ID from skill_list\") },\n handler: async ({ skill_id }: { skill_id: string }) => skillShow(p, skill_id),\n },\n {\n name: \"skill_search\",\n description: \"Search skills by name, description, or keywords.\",\n inputSchema: { query: z.string() },\n handler: async ({ query }: { query: string }) => skillSearch(p, query),\n },\n {\n name: \"skill_check_requirements\",\n description: \"Validate that all skill prerequisites are met in the target directory.\",\n inputSchema: {\n skill_id: z.string(),\n target_dir: z\n .string()\n .optional()\n .describe(\"Directory to check against (default: projectDir)\"),\n },\n handler: async ({ skill_id, target_dir }: { skill_id: string; target_dir?: string }) =>\n skillCheckRequirements(p, skill_id, target_dir ?? p),\n },\n {\n name: \"skill_get_preamble\",\n description: \"Get the REQUIRES/INPUT/READS/WRITES DSL preamble for a skill.\",\n inputSchema: { skill_id: z.string() },\n handler: async ({ skill_id }: { skill_id: string }) => skillGetPreamble(p, skill_id),\n },\n // Session tools\n {\n name: \"session_list\",\n description: \"List all past agent run sessions for this workspace, sorted newest first.\",\n inputSchema: {},\n handler: async () => sessionList(p),\n },\n {\n name: \"session_get\",\n description: \"Get full metadata for a specific session by run ID.\",\n inputSchema: { run_id: z.string() },\n handler: async ({ run_id }: { run_id: string }) => sessionGet(p, run_id),\n },\n // Connector tools\n {\n name: \"connector_list\",\n description:\n \"List connectors declared in skaile.yaml as {connected, failed, notice?}. A host-managed mount in `connected` carries `health` {status: ok|stale|failed, errorClass, checkedAt}; if it is not ok, tell the user and do not write to it. `failed` holds connectors that did not connect this session, with the failure reason — their mount paths are dead directories, not synced workspaces.\",\n inputSchema: {},\n handler: async () => connectorList(plugin.connectorManager),\n },\n {\n name: \"connector_read\",\n description: \"Read content from a connector by path.\",\n inputSchema: {\n connector_id: z.string().describe(\"Connector ID from connector_list\"),\n path: z.string().describe(\"Path within the connector\"),\n },\n handler: async ({ connector_id, path }: { connector_id: string; path: string }) =>\n connectorRead(plugin.connectorManager, connector_id, path),\n },\n {\n name: \"connector_write\",\n description: \"Write content to a connector by path.\",\n inputSchema: {\n connector_id: z.string(),\n path: z.string(),\n content: z.string().describe(\"Content to write\"),\n },\n handler: async ({\n connector_id,\n path,\n content,\n }: {\n connector_id: string;\n path: string;\n content: string;\n }) => connectorWrite(plugin.connectorManager, connector_id, path, content),\n },\n {\n name: \"connector_search\",\n description: \"Search within a connector by query string.\",\n inputSchema: {\n connector_id: z.string(),\n query: z.string().describe(\"Search query\"),\n },\n handler: async ({ connector_id, query }: { connector_id: string; query: string }) =>\n connectorSearch(plugin.connectorManager, connector_id, query),\n },\n {\n name: \"connector_exec\",\n description: \"Execute a custom operation on a connector.\",\n inputSchema: {\n connector_id: z.string(),\n operation: z.string().describe(\"Operation name from connector_describe\"),\n args: z.record(z.string(), z.unknown()).describe(\"Operation arguments\"),\n },\n handler: async ({\n connector_id,\n operation,\n args,\n }: {\n connector_id: string;\n operation: string;\n args: Record<string, unknown>;\n }) => connectorExec(plugin.connectorManager, connector_id, operation, args),\n },\n {\n name: \"connector_load_skill\",\n description: \"Load the rendered skill body for a connector (operations + usage).\",\n inputSchema: {\n connector_id: z.string(),\n },\n handler: async ({ connector_id }: { connector_id: string }) =>\n connectorLoadSkill(plugin.connectorManager, connector_id),\n },\n {\n name: \"connector_describe\",\n description: \"Describe a connector's capabilities via its RuntimeSkillDescriptor.\",\n inputSchema: {\n connector_id: z.string(),\n },\n handler: async ({ connector_id }: { connector_id: string }) =>\n connectorDescribe(plugin.connectorManager, connector_id),\n },\n // Validator tools\n {\n name: \"workspace_validate\",\n description: \"Run a full health check: connectors, mounts, secrets, harness binary.\",\n inputSchema: {},\n handler: async () => workspaceValidate(plugin, harness),\n },\n {\n name: \"workspace_info\",\n description: \"Show workspace configuration: harness, model, provider, resource counts.\",\n inputSchema: {},\n handler: async () => workspaceInfo(plugin, harness, plugin.model),\n },\n {\n name: \"workspace_test_secret\",\n description: \"Test resolution of one secret reference (env:VAR, forge:key).\",\n inputSchema: { ref: z.string().describe(\"Secret ref e.g. env:ANTHROPIC_API_KEY\") },\n handler: async ({ ref }: { ref: string }) => workspaceTestSecret(ref),\n },\n {\n name: \"workspace_reload\",\n description: \"Re-read skaile.yaml and re-sync the plugin state.\",\n inputSchema: {},\n handler: async () => workspaceReload(plugin),\n },\n ];\n}\n\n/**\n * Build the **in-process** workspace MCP server via the Claude Agent SDK's\n * `createSdkMcpServer`. This shape is what the runner embeds into a Claude\n * Agent SDK `query()` call — the runner *is* the Claude Agent SDK host.\n *\n * Returns `null` when `@anthropic-ai/claude-agent-sdk` is not installed\n * (graceful degradation for non-Claude-Code environments).\n *\n * For the standalone `skaile mcp-server` stdio subprocess use\n * {@link buildWorkspaceMcpStdioServer} / {@link runMcpServerStdio} instead —\n * those carry no Claude Agent SDK dependency.\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n * @returns The SDK MCP server object or `null` if the SDK is unavailable.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport async function buildWorkspaceMcpServer(plugin: WorkspacePlugin): Promise<unknown | null> {\n let sdk: any;\n try {\n sdk = await loadHarnessSdk(\n \"@anthropic-ai/claude-agent-sdk\",\n plugin.projectDir,\n () => import(\"@anthropic-ai/claude-agent-sdk\"),\n );\n } catch {\n return null;\n }\n return sdk.createSdkMcpServer({\n name: \"skaile-workspace\",\n tools: withActivityLabelDefs(buildWorkspaceToolDefs(plugin), zStatic),\n });\n}\n\n/**\n * Build a **raw stdio** workspace MCP server on `@modelcontextprotocol/sdk` —\n * no Claude Agent SDK. This is the correct shape for the `skaile mcp-server`\n * stdio subprocess that MCP-client agents (Claude Code, Codex, …) spawn.\n * Runs on plain Node.\n *\n * The returned server is not yet connected — call `.connect(transport)` (or\n * use {@link runMcpServerStdio}).\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n * @returns A `McpServer` with all 27 workspace tools registered.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport async function buildWorkspaceMcpStdioServer(plugin: WorkspacePlugin): Promise<any> {\n const { McpServer } = await import(\"@modelcontextprotocol/sdk/server/mcp.js\" as string);\n const server = new McpServer({ name: \"skaile-workspace\", version: \"1.0.0\" });\n for (const def of buildWorkspaceToolDefs(plugin)) {\n server.registerTool(\n def.name,\n { description: def.description, inputSchema: def.inputSchema },\n def.handler,\n );\n }\n return server;\n}\n\n/**\n * Start the workspace MCP server over stdio transport.\n *\n * Builds the raw `@modelcontextprotocol/sdk` server via\n * {@link buildWorkspaceMcpStdioServer} and connects a `StdioServerTransport`.\n * No `@anthropic-ai/claude-agent-sdk` dependency anywhere on this path.\n *\n * @param plugin - A booted `WorkspacePlugin` instance.\n *\n * @docLink packages/workspace-plugin/concepts#adapters\n */\nexport async function runMcpServerStdio(plugin: WorkspacePlugin): Promise<void> {\n const server = await buildWorkspaceMcpStdioServer(plugin);\n const { StdioServerTransport } = await import(\n \"@modelcontextprotocol/sdk/server/stdio.js\" as string\n );\n await server.connect(new StdioServerTransport());\n}\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { resolveFragments, loadPromptExtensions } from './chunk-PKE3PXOK.js';
|
|
2
|
-
import { renderAgentToFramework, CODEX_IDENTITY_DIR } from './chunk-
|
|
2
|
+
import { renderAgentToFramework, harnessTargetSupportsAgents, CODEX_IDENTITY_DIR } from './chunk-4CD2R4MJ.js';
|
|
3
3
|
import { SKILL_DESCRIPTION_PLACEHOLDER_PREFIX, SKILL_DESCRIPTION_PLACEHOLDER, PRESET_ITEM_PLACEHOLDER_REF, FLOW_NODE_INSTRUCTION_PLACEHOLDER, AGENT_BODY_PLACEHOLDER, PROMPT_BODY_PLACEHOLDER, CONTRACT_BODY_PLACEHOLDER, SKILL_BODY_PLACEHOLDER } from './chunk-VT6G5AJV.js';
|
|
4
|
-
import { computeHash, applyPatch } from './chunk-
|
|
4
|
+
import { computeHash, applyPatch } from './chunk-TMJBEGS4.js';
|
|
5
5
|
import { deployedDir, isDeployed, deployedBase, deployedPaths } from './chunk-5KRMNUL4.js';
|
|
6
|
-
import { agentSourceCacheDir, resolveSkWorkspaceConfig, resolveAgentDefinitionDir, AGENT_INSTANCE_ID_PATTERN } from './chunk-
|
|
6
|
+
import { agentSourceCacheDir, resolveSkWorkspaceConfig, resolveAgentDefinitionDir, AGENT_INSTANCE_ID_PATTERN } from './chunk-O7ADRMCR.js';
|
|
7
7
|
import { globalSkaileDir } from './chunk-L5VSIPQD.js';
|
|
8
8
|
import { HARNESS_TARGETS } from './chunk-VTETQCR6.js';
|
|
9
|
-
import { listAssetFiles, listSecretFiles, listSkippedSymlinks, librarySymlinkMessage, isSecretFileName, isEnvFileName, isNonAssetDir, isNonAssetFile } from './chunk-
|
|
9
|
+
import { listAssetFiles, listSecretFiles, listSkippedSymlinks, librarySymlinkMessage, isSecretFileName, isEnvFileName, isLibraryManifestAtAssetRoot, isNonAssetDir, isNonAssetFile } from './chunk-QC5BYUED.js';
|
|
10
10
|
import { parseFrontmatter } from './chunk-GNUA7XT2.js';
|
|
11
11
|
import { assetRefToStr, parseAssetRefLoose } from './chunk-V5KG6CCV.js';
|
|
12
12
|
import { spawnSync } from 'child_process';
|
|
@@ -99,6 +99,10 @@ function mergeManifests(parent, child) {
|
|
|
99
99
|
}
|
|
100
100
|
return result;
|
|
101
101
|
}
|
|
102
|
+
var reportedMissingParents = /* @__PURE__ */ new Set();
|
|
103
|
+
function resetMissingParentWarnings() {
|
|
104
|
+
reportedMissingParents.clear();
|
|
105
|
+
}
|
|
102
106
|
function applyExtendsMerge(manifest, srcDir, warnings) {
|
|
103
107
|
if (!manifest.extends) return manifest;
|
|
104
108
|
const parentDir = resolve(srcDir, manifest.extends);
|
|
@@ -106,8 +110,12 @@ function applyExtendsMerge(manifest, srcDir, warnings) {
|
|
|
106
110
|
if (parentManifest) {
|
|
107
111
|
return mergeManifests(parentManifest, manifest);
|
|
108
112
|
}
|
|
113
|
+
if (reportedMissingParents.has(resolve(srcDir))) return manifest;
|
|
114
|
+
reportedMissingParents.add(resolve(srcDir));
|
|
115
|
+
const outside = relative(resolve(srcDir), parentDir).startsWith("..");
|
|
116
|
+
const name = manifest.name ?? basename(srcDir);
|
|
109
117
|
warnings.push(
|
|
110
|
-
`extends: parent agent
|
|
118
|
+
outside ? `agent ${name} extends "${manifest.extends}", a parent outside its own folder that this copy does not hold: installed without the parent's settings. The publisher must ship the parent inside the agent or drop \`extends\`.` : `agent ${name} extends "${manifest.extends}", but no agent.yaml or AGENT.md is there: installed without the parent's settings.`
|
|
111
119
|
);
|
|
112
120
|
return manifest;
|
|
113
121
|
}
|
|
@@ -138,6 +146,15 @@ function delegateNamesOf(srcDir) {
|
|
|
138
146
|
const names = (manifest?.composes ?? []).filter((item) => item.kind === "agent" && item.binding !== "run").map((item) => composeRefName(item.ref));
|
|
139
147
|
return [...new Set(names)];
|
|
140
148
|
}
|
|
149
|
+
function composedAgentNamesOf(srcDir) {
|
|
150
|
+
const items = (readManifest(srcDir)?.composes ?? []).filter((item) => item.kind === "agent");
|
|
151
|
+
const names = (run) => [
|
|
152
|
+
...new Set(
|
|
153
|
+
items.filter((item) => item.binding === "run" === run).map((i) => composeRefName(i.ref))
|
|
154
|
+
)
|
|
155
|
+
];
|
|
156
|
+
return { run: names(true), delegate: names(false) };
|
|
157
|
+
}
|
|
141
158
|
function boundMcpServers(manifest, instance) {
|
|
142
159
|
const names = (manifest.composes ?? []).filter((item) => item.kind === "mcp-server").map(
|
|
143
160
|
(item) => (item.id ? instance?.connectors?.[item.id] : void 0) ?? composeRefName(item.ref)
|
|
@@ -226,14 +243,15 @@ function buildFragmentContext(subAgentNames, harness, skillsRelDir, wsConfig, ab
|
|
|
226
243
|
contractRefs
|
|
227
244
|
};
|
|
228
245
|
}
|
|
229
|
-
function installAgent(srcDir, agentDeployDir, workspaceRoot, harness, skillsRelDir, nameOverride, includeSubAgents, visited, wsConfig, log, instance, delegated = false) {
|
|
246
|
+
function installAgent(srcDir, agentDeployDir, workspaceRoot, harness, skillsRelDir, nameOverride, includeSubAgents, visited, wsConfig, log, instance, delegated = false, assetVersion) {
|
|
230
247
|
const created = [];
|
|
231
248
|
const changed = [];
|
|
232
249
|
const warnings = [];
|
|
233
250
|
const realSrc = resolve(srcDir);
|
|
234
251
|
if (visited.has(realSrc)) return { created, changed, warnings };
|
|
235
252
|
visited.add(realSrc);
|
|
236
|
-
const
|
|
253
|
+
const rawManifest = readManifest(srcDir);
|
|
254
|
+
const initialManifest = rawManifest && assetVersion && !rawManifest.version ? { ...rawManifest, version: assetVersion } : rawManifest;
|
|
237
255
|
if (!initialManifest) {
|
|
238
256
|
warnings.push(`${srcDir} has no agent.yaml or AGENT.md \u2014 skipping (not an agent package)`);
|
|
239
257
|
return { created, changed, warnings };
|
|
@@ -359,7 +377,7 @@ function clearDeployedAsset(dest) {
|
|
|
359
377
|
for (const e of readdirSync(dir, { withFileTypes: true })) {
|
|
360
378
|
const path = join(dir, e.name);
|
|
361
379
|
if (e.isDirectory()) {
|
|
362
|
-
if (isNonAssetDir(e.name)) kept = true;
|
|
380
|
+
if (isNonAssetDir(e.name, dir === dest)) kept = true;
|
|
363
381
|
else if (!empty(path)) kept = true;
|
|
364
382
|
else rmSync(path, { recursive: true, force: true });
|
|
365
383
|
} else if (e.isFile() && isNonAssetFile(e.name) && !isLeakedSecret(e.name)) {
|
|
@@ -429,7 +447,8 @@ function copyAsset(provider, entry, dest, onSecretFile) {
|
|
|
429
447
|
const name = basename(src);
|
|
430
448
|
const stat = lstatSync(src);
|
|
431
449
|
if (stat.isSymbolicLink()) return false;
|
|
432
|
-
if (
|
|
450
|
+
if (isLibraryManifestAtAssetRoot(relative(source, src))) return false;
|
|
451
|
+
if (stat.isDirectory() ? isNonAssetDir(name, dirname(src) === source) : isNonAssetFile(name)) {
|
|
433
452
|
if (stat.isFile() && isSecretFileName(name)) {
|
|
434
453
|
onSecretFile?.(entry, join(basename(source), relative(source, src)));
|
|
435
454
|
}
|
|
@@ -633,7 +652,7 @@ function composeRows(root) {
|
|
|
633
652
|
const here = rel ? `${rel}/${name}` : name;
|
|
634
653
|
if (stat.isSymbolicLink()) continue;
|
|
635
654
|
if (stat.isDirectory()) {
|
|
636
|
-
if (!isNonAssetDir(name)) walk(abs, here);
|
|
655
|
+
if (!isNonAssetDir(name, rel === "")) walk(abs, here);
|
|
637
656
|
} else if (stat.isFile() && !isNonAssetFile(name)) {
|
|
638
657
|
out.set(here, computeHash(abs));
|
|
639
658
|
}
|
|
@@ -752,7 +771,7 @@ function bundleParentComposes(dest, srcDir, ctx) {
|
|
|
752
771
|
if (src === from) return true;
|
|
753
772
|
const stat = lstatSync(src);
|
|
754
773
|
if (stat.isSymbolicLink()) return false;
|
|
755
|
-
return stat.isDirectory() ? !isNonAssetDir(basename(src)) : !isNonAssetFile(basename(src));
|
|
774
|
+
return stat.isDirectory() ? !isNonAssetDir(basename(src), dirname(src) === from) : !isNonAssetFile(basename(src));
|
|
756
775
|
}
|
|
757
776
|
});
|
|
758
777
|
} else {
|
|
@@ -767,7 +786,7 @@ function bundleParentComposes(dest, srcDir, ctx) {
|
|
|
767
786
|
function deployAsset(entry, repositories, opts, log = noop) {
|
|
768
787
|
return deployEntry(entry, repositories, opts, log).deployed;
|
|
769
788
|
}
|
|
770
|
-
function deployEntry(entry, repositories, opts, log, sourceKept = false, delegated = false) {
|
|
789
|
+
function deployEntry(entry, repositories, opts, log, sourceKept = false, delegated = false, runRole = false) {
|
|
771
790
|
const harness = opts.harness ?? "claude-code";
|
|
772
791
|
const globalInstall = opts.global ?? false;
|
|
773
792
|
const cwd = opts.cwd;
|
|
@@ -781,6 +800,10 @@ function deployEntry(entry, repositories, opts, log, sourceKept = false, delegat
|
|
|
781
800
|
const skillsRelDir = targetMap?.local.skill ?? "";
|
|
782
801
|
const wsConfig = resolveSkWorkspaceConfig(workspaceRoot);
|
|
783
802
|
const srcDir = statSync(entry.source).isDirectory() ? entry.source : dirname(entry.source);
|
|
803
|
+
if (!globalInstall && harnessTargetSupportsAgents(harness) && (opts.instanceBoundAgents?.has(entry.name) || runRole)) {
|
|
804
|
+
if (!sourceKept) materializeAgentSource(provider, entry, srcDir, workspaceRoot, log, opts);
|
|
805
|
+
return { deployed: true, changed: !(opts.agentLocked?.(entry.name) ?? false) };
|
|
806
|
+
}
|
|
784
807
|
for (const held of deployedPaths(component, entry.name, harness, globalInstall, cwd)) {
|
|
785
808
|
try {
|
|
786
809
|
if (lstatSync(held).isSymbolicLink()) unlinkSync(held);
|
|
@@ -800,7 +823,8 @@ function deployEntry(entry, repositories, opts, log, sourceKept = false, delegat
|
|
|
800
823
|
wsConfig,
|
|
801
824
|
log,
|
|
802
825
|
void 0,
|
|
803
|
-
delegated
|
|
826
|
+
delegated,
|
|
827
|
+
entry.version
|
|
804
828
|
);
|
|
805
829
|
for (const w of result.warnings) log(` warn: ${w}`);
|
|
806
830
|
if (result.created.length > 0) {
|
|
@@ -854,9 +878,11 @@ function deployAll(resolved, repositories, patches, opts, log = noop) {
|
|
|
854
878
|
}
|
|
855
879
|
const agentsLast = resolved.filter(isAgent).reverse();
|
|
856
880
|
const delegatedNames = /* @__PURE__ */ new Set();
|
|
881
|
+
const runNames = /* @__PURE__ */ new Set();
|
|
857
882
|
for (const entry of agentsLast) {
|
|
858
883
|
const srcDir = statSync(entry.source).isDirectory() ? entry.source : dirname(entry.source);
|
|
859
884
|
for (const name of delegateNamesOf(srcDir)) delegatedNames.add(name);
|
|
885
|
+
for (const name of composedAgentNamesOf(srcDir).run) runNames.add(name);
|
|
860
886
|
}
|
|
861
887
|
for (const entry of [...resolved.filter((e) => !isAgent(e)), ...agentsLast]) {
|
|
862
888
|
const component = installTargetOf(opts.registry, entry.kind);
|
|
@@ -886,7 +912,8 @@ function deployAll(resolved, repositories, patches, opts, log = noop) {
|
|
|
886
912
|
opts,
|
|
887
913
|
log,
|
|
888
914
|
keptSources.has(entry),
|
|
889
|
-
isAgent(entry) && delegatedNames.has(entry.name)
|
|
915
|
+
isAgent(entry) && delegatedNames.has(entry.name),
|
|
916
|
+
isAgent(entry) && runNames.has(entry.name) && !delegatedNames.has(entry.name)
|
|
890
917
|
);
|
|
891
918
|
if (changed) deployedAt.push([resolved.indexOf(entry), canonicalEntryRef(entry)]);
|
|
892
919
|
const patchFile = patches[ref];
|
|
@@ -922,7 +949,9 @@ function diffDeployedAgent(entry, opts, instance) {
|
|
|
922
949
|
/* @__PURE__ */ new Set(),
|
|
923
950
|
resolveSkWorkspaceConfig(workspaceRoot),
|
|
924
951
|
void 0,
|
|
925
|
-
instance?.config
|
|
952
|
+
instance?.config,
|
|
953
|
+
false,
|
|
954
|
+
entry.version
|
|
926
955
|
);
|
|
927
956
|
if (rendered.created.length === 0) return null;
|
|
928
957
|
const pairs = [];
|
|
@@ -1098,6 +1127,6 @@ function createScaffold(name, kind, destDir, opts = {}) {
|
|
|
1098
1127
|
return { ok: true, path: dest };
|
|
1099
1128
|
}
|
|
1100
1129
|
|
|
1101
|
-
export { SCAFFOLD_KINDS, assertNoLibrarySymlinks, cachedComposedFiles, canonicalEntryRef, composedDriftRefs, createScaffold, deployAll, deployAsset, deployedAssetDrift, diffDeployedAgent, entriesNeedingDeploy, installAgent, installTargetOf, readKeptLegacyCopies, removeAsset, sourceComposedFiles, writeKeptLegacyCopies };
|
|
1102
|
-
//# sourceMappingURL=chunk-
|
|
1103
|
-
//# sourceMappingURL=chunk-
|
|
1130
|
+
export { SCAFFOLD_KINDS, assertNoLibrarySymlinks, cachedComposedFiles, canonicalEntryRef, composedAgentNamesOf, composedDriftRefs, createScaffold, deployAll, deployAsset, deployedAssetDrift, diffDeployedAgent, entriesNeedingDeploy, installAgent, installTargetOf, readKeptLegacyCopies, removeAsset, resetMissingParentWarnings, sourceComposedFiles, writeKeptLegacyCopies };
|
|
1131
|
+
//# sourceMappingURL=chunk-KO3VSZQP.js.map
|
|
1132
|
+
//# sourceMappingURL=chunk-KO3VSZQP.js.map
|