@skaile/workspaces 6.14.0 → 6.16.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 +83 -0
- package/dist/agent-file-refresh-76NNFB4W.js +89 -0
- package/dist/agent-file-refresh-76NNFB4W.js.map +1 -0
- package/dist/ai-sdk.js +8 -7
- package/dist/ai-sdk.js.map +1 -1
- package/dist/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-DOG5FK7T.js → asset-feeds-ON7FYHHF.js} +25 -23
- package/dist/asset-feeds-ON7FYHHF.js.map +1 -0
- package/dist/asset-manager/catalog-deployer.js +8 -7
- package/dist/asset-manager/history.js +7 -6
- package/dist/asset-manager/index.js +17 -15
- package/dist/asset-manager/installer.js +16 -9
- package/dist/asset-manager/renderers.js +8 -8
- package/dist/asset-manager/src/add-remove/add.d.ts +134 -0
- package/dist/asset-manager/src/add-remove/add.d.ts.map +1 -0
- package/dist/asset-manager/src/add-remove/remove.d.ts +329 -0
- package/dist/asset-manager/src/add-remove/remove.d.ts.map +1 -0
- package/dist/asset-manager/src/agent-render.d.ts +116 -0
- package/dist/asset-manager/src/agent-render.d.ts.map +1 -0
- package/dist/asset-manager/src/composed-blocks.d.ts +40 -0
- package/dist/asset-manager/src/composed-blocks.d.ts.map +1 -0
- package/dist/asset-manager/src/config/core.d.ts +297 -0
- package/dist/asset-manager/src/config/core.d.ts.map +1 -0
- package/dist/asset-manager/src/config/edit.d.ts +161 -0
- package/dist/asset-manager/src/config/edit.d.ts.map +1 -0
- package/dist/asset-manager/src/index.d.ts +31 -2961
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/install/clone-commit-fetcher.d.ts +11 -0
- package/dist/asset-manager/src/install/clone-commit-fetcher.d.ts.map +1 -0
- package/dist/asset-manager/src/install/install.d.ts +151 -0
- package/dist/asset-manager/src/install/install.d.ts.map +1 -0
- package/dist/asset-manager/src/install/restore.d.ts +76 -0
- package/dist/asset-manager/src/install/restore.d.ts.map +1 -0
- package/dist/asset-manager/src/install-agent.d.ts +52 -4
- package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
- package/dist/asset-manager/src/install-instances.d.ts +70 -2
- package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +54 -4
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/asset-manager/src/lock/copies.d.ts +156 -0
- package/dist/asset-manager/src/lock/copies.d.ts.map +1 -0
- package/dist/asset-manager/src/lock/library.d.ts +261 -0
- package/dist/asset-manager/src/lock/library.d.ts.map +1 -0
- package/dist/asset-manager/src/mcp-render.d.ts +86 -0
- package/dist/asset-manager/src/mcp-render.d.ts.map +1 -0
- package/dist/asset-manager/src/omp-sweep.d.ts +25 -0
- package/dist/asset-manager/src/omp-sweep.d.ts.map +1 -0
- package/dist/asset-manager/src/read/diff.d.ts +109 -0
- package/dist/asset-manager/src/read/diff.d.ts.map +1 -0
- package/dist/asset-manager/src/read/doctor.d.ts +116 -0
- package/dist/asset-manager/src/read/doctor.d.ts.map +1 -0
- package/dist/asset-manager/src/read/gaps.d.ts +120 -0
- package/dist/asset-manager/src/read/gaps.d.ts.map +1 -0
- package/dist/asset-manager/src/read/graph.d.ts +69 -0
- package/dist/asset-manager/src/read/graph.d.ts.map +1 -0
- package/dist/asset-manager/src/read/outdated.d.ts +152 -0
- package/dist/asset-manager/src/read/outdated.d.ts.map +1 -0
- package/dist/asset-manager/src/read/state.d.ts +265 -0
- package/dist/asset-manager/src/read/state.d.ts.map +1 -0
- package/dist/asset-manager/src/renderers.d.ts +11 -1
- package/dist/asset-manager/src/renderers.d.ts.map +1 -1
- package/dist/asset-manager/src/resolve/guards.d.ts +167 -0
- package/dist/asset-manager/src/resolve/guards.d.ts.map +1 -0
- package/dist/asset-manager/src/resolve/scan.d.ts +222 -0
- package/dist/asset-manager/src/resolve/scan.d.ts.map +1 -0
- package/dist/asset-manager/src/resolve/stores.d.ts +176 -0
- package/dist/asset-manager/src/resolve/stores.d.ts.map +1 -0
- package/dist/asset-manager/src/shared/files.d.ts +42 -0
- package/dist/asset-manager/src/shared/files.d.ts.map +1 -0
- package/dist/asset-manager/src/shared/library-hooks.d.ts +16 -0
- package/dist/asset-manager/src/shared/library-hooks.d.ts.map +1 -0
- package/dist/asset-manager/src/shared/library.d.ts +96 -0
- package/dist/asset-manager/src/shared/library.d.ts.map +1 -0
- package/dist/asset-manager/src/shared/refs.d.ts +101 -0
- package/dist/asset-manager/src/shared/refs.d.ts.map +1 -0
- package/dist/asset-manager/src/shared/types.d.ts +399 -0
- package/dist/asset-manager/src/shared/types.d.ts.map +1 -0
- package/dist/bridge/harnesses/claude-sdk.js +13 -19
- package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
- package/dist/bridge/harnesses/codex.js +10 -10
- package/dist/bridge/harnesses/continue.js +12 -16
- package/dist/bridge/harnesses/continue.js.map +1 -1
- package/dist/bridge/harnesses/echo.js +5 -10
- package/dist/bridge/harnesses/echo.js.map +1 -1
- package/dist/bridge/harnesses/gemini.js +5 -5
- package/dist/bridge/harnesses/goose.js +13 -17
- package/dist/bridge/harnesses/goose.js.map +1 -1
- package/dist/bridge/harnesses/omp.js +7 -13
- package/dist/bridge/harnesses/omp.js.map +1 -1
- package/dist/bridge/harnesses/opencode.js +13 -17
- package/dist/bridge/harnesses/opencode.js.map +1 -1
- package/dist/bridge/harnesses/qwen.js +6 -11
- package/dist/bridge/harnesses/qwen.js.map +1 -1
- package/dist/bridge/index.js +18 -18
- package/dist/bridge/src/codex/managed-harness.d.ts.map +1 -1
- package/dist/bridge/src/driver-contract.d.ts +72 -0
- package/dist/bridge/src/driver-contract.d.ts.map +1 -0
- package/dist/bridge/src/harness-model-check.d.ts +1 -1
- package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/_subprocess-cli.d.ts +8 -0
- package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/codex.d.ts +2 -0
- package/dist/bridge/src/harnesses/codex.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/continue.d.ts.map +1 -1
- package/dist/bridge/src/harnesses/echo.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.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 -0
- package/dist/bridge/src/index.d.ts.map +1 -1
- package/dist/bridge/src/preflight.d.ts +114 -0
- package/dist/bridge/src/preflight.d.ts.map +1 -0
- package/dist/bridge/src/registry.d.ts +12 -0
- package/dist/bridge/src/registry.d.ts.map +1 -1
- package/dist/{chunk-7UBCUKJO.js → chunk-2JUCWMIS.js} +8808 -8337
- package/dist/chunk-2JUCWMIS.js.map +1 -0
- package/dist/{chunk-VS6XC5JE.js → chunk-2MTRRK37.js} +3 -3
- package/dist/{chunk-VS6XC5JE.js.map → chunk-2MTRRK37.js.map} +1 -1
- package/dist/chunk-2PJYJPDE.js +3 -0
- package/dist/chunk-2PJYJPDE.js.map +1 -0
- package/dist/{chunk-ZQL6HGTW.js → chunk-2SSG5B24.js} +4 -4
- package/dist/{chunk-ZQL6HGTW.js.map → chunk-2SSG5B24.js.map} +1 -1
- package/dist/{chunk-WDG5IVEA.js → chunk-2ZDZJ7XQ.js} +3 -3
- package/dist/{chunk-WDG5IVEA.js.map → chunk-2ZDZJ7XQ.js.map} +1 -1
- package/dist/{chunk-V2VDTQ7A.js → chunk-3A7JUOY2.js} +3 -3
- package/dist/{chunk-V2VDTQ7A.js.map → chunk-3A7JUOY2.js.map} +1 -1
- package/dist/chunk-3LAJJURV.js +26 -0
- package/dist/chunk-3LAJJURV.js.map +1 -0
- package/dist/{chunk-X66KSHZF.js → chunk-3UYKT62L.js} +5 -5
- package/dist/{chunk-X66KSHZF.js.map → chunk-3UYKT62L.js.map} +1 -1
- package/dist/{chunk-J3FJTH3V.js → chunk-4X5WXQV7.js} +4 -4
- package/dist/{chunk-J3FJTH3V.js.map → chunk-4X5WXQV7.js.map} +1 -1
- package/dist/chunk-4ZNKEDYH.js +887 -0
- package/dist/chunk-4ZNKEDYH.js.map +1 -0
- package/dist/{chunk-DYH3VSPU.js → chunk-65SOXO7I.js} +20 -14
- package/dist/chunk-65SOXO7I.js.map +1 -0
- package/dist/{chunk-MVUXBWNW.js → chunk-6HTN2UIJ.js} +3 -3
- package/dist/{chunk-MVUXBWNW.js.map → chunk-6HTN2UIJ.js.map} +1 -1
- package/dist/{chunk-4SSTREBO.js → chunk-6KV34G6A.js} +8 -8
- package/dist/{chunk-4SSTREBO.js.map → chunk-6KV34G6A.js.map} +1 -1
- package/dist/{chunk-YNQRVTXH.js → chunk-6M44OQKH.js} +40 -44
- package/dist/chunk-6M44OQKH.js.map +1 -0
- package/dist/{chunk-B6W5DCH5.js → chunk-72DYHOO2.js} +24 -25
- package/dist/chunk-72DYHOO2.js.map +1 -0
- package/dist/{chunk-RRAXV5LE.js → chunk-7IW5E6LB.js} +43 -48
- package/dist/chunk-7IW5E6LB.js.map +1 -0
- package/dist/{chunk-BNLXZXZN.js → chunk-BRAOB37W.js} +97 -47
- package/dist/chunk-BRAOB37W.js.map +1 -0
- package/dist/{chunk-ZLDAPZIX.js → chunk-BTMSHGN3.js} +4 -4
- package/dist/{chunk-ZLDAPZIX.js.map → chunk-BTMSHGN3.js.map} +1 -1
- package/dist/{chunk-7K73MCI6.js → chunk-CU5WY6HN.js} +3 -3
- package/dist/{chunk-7K73MCI6.js.map → chunk-CU5WY6HN.js.map} +1 -1
- package/dist/{chunk-G2ZWIYZR.js → chunk-DFFJKGCW.js} +3 -3
- package/dist/{chunk-G2ZWIYZR.js.map → chunk-DFFJKGCW.js.map} +1 -1
- package/dist/{chunk-CG63XGVV.js → chunk-EGKCKWWE.js} +3 -3
- package/dist/{chunk-CG63XGVV.js.map → chunk-EGKCKWWE.js.map} +1 -1
- package/dist/{chunk-CJO3XKO7.js → chunk-ETGC2MEM.js} +4 -4
- package/dist/{chunk-CJO3XKO7.js.map → chunk-ETGC2MEM.js.map} +1 -1
- package/dist/{chunk-CFRHYD4C.js → chunk-FPG36VC4.js} +8 -13
- package/dist/chunk-FPG36VC4.js.map +1 -0
- package/dist/{chunk-SBAUZ7XH.js → chunk-H3PY5DFL.js} +4 -4
- package/dist/{chunk-SBAUZ7XH.js.map → chunk-H3PY5DFL.js.map} +1 -1
- package/dist/{chunk-7HRZACI4.js → chunk-HW4BDJPC.js} +17 -6
- package/dist/chunk-HW4BDJPC.js.map +1 -0
- package/dist/{chunk-GJT2Q5XD.js → chunk-HXST2IYJ.js} +3 -3
- package/dist/{chunk-GJT2Q5XD.js.map → chunk-HXST2IYJ.js.map} +1 -1
- package/dist/{chunk-7VBD5XUM.js → chunk-IG4YQ7ER.js} +32 -90
- package/dist/chunk-IG4YQ7ER.js.map +1 -0
- package/dist/{chunk-DWPQBMCY.js → chunk-JPV4WE5L.js} +2 -2
- package/dist/{chunk-DWPQBMCY.js.map → chunk-JPV4WE5L.js.map} +1 -1
- package/dist/{chunk-OC3AIMZH.js → chunk-KDRA6FYE.js} +120 -211
- package/dist/chunk-KDRA6FYE.js.map +1 -0
- package/dist/{chunk-KOI7QFDH.js → chunk-M7XIYHWB.js} +3 -3
- package/dist/{chunk-KOI7QFDH.js.map → chunk-M7XIYHWB.js.map} +1 -1
- package/dist/{chunk-7LJUK5JK.js → chunk-MG6QD7GE.js} +201 -43
- package/dist/chunk-MG6QD7GE.js.map +1 -0
- package/dist/{chunk-XHLRMUMO.js → chunk-NAQXDTF3.js} +3 -3
- package/dist/{chunk-XHLRMUMO.js.map → chunk-NAQXDTF3.js.map} +1 -1
- package/dist/{chunk-YJAKSCCN.js → chunk-NJ6UCY2B.js} +3 -3
- package/dist/{chunk-YJAKSCCN.js.map → chunk-NJ6UCY2B.js.map} +1 -1
- package/dist/{chunk-OKPITFE3.js → chunk-NNJQQYHY.js} +2 -2
- package/dist/{chunk-OKPITFE3.js.map → chunk-NNJQQYHY.js.map} +1 -1
- package/dist/{chunk-QNHW26AT.js → chunk-OD4N5O7V.js} +4 -4
- package/dist/{chunk-QNHW26AT.js.map → chunk-OD4N5O7V.js.map} +1 -1
- package/dist/{chunk-F7WMHDTV.js → chunk-P6FJDT35.js} +27 -7
- package/dist/chunk-P6FJDT35.js.map +1 -0
- package/dist/{chunk-IOXFT5D7.js → chunk-PD42JZWI.js} +3 -3
- package/dist/{chunk-IOXFT5D7.js.map → chunk-PD42JZWI.js.map} +1 -1
- package/dist/{chunk-MS2IXLTC.js → chunk-PMXTBWFD.js} +27 -7
- package/dist/chunk-PMXTBWFD.js.map +1 -0
- package/dist/{chunk-NAAFRZTA.js → chunk-PPSSDUN6.js} +3 -3
- package/dist/{chunk-NAAFRZTA.js.map → chunk-PPSSDUN6.js.map} +1 -1
- package/dist/{chunk-LMUNQYJQ.js → chunk-PRB67LCK.js} +127 -18
- package/dist/chunk-PRB67LCK.js.map +1 -0
- package/dist/{chunk-RLV3FF4I.js → chunk-QUIK7L3Z.js} +11 -11
- package/dist/{chunk-RLV3FF4I.js.map → chunk-QUIK7L3Z.js.map} +1 -1
- package/dist/{chunk-DRUAQ7IY.js → chunk-QUPZKTF3.js} +9 -8
- package/dist/chunk-QUPZKTF3.js.map +1 -0
- package/dist/{chunk-7FXOOUOC.js → chunk-RPRMD7XV.js} +27 -11
- package/dist/chunk-RPRMD7XV.js.map +1 -0
- package/dist/{chunk-3BRBTQ6M.js → chunk-S3UOZBGE.js} +20 -3
- package/dist/chunk-S3UOZBGE.js.map +1 -0
- package/dist/{chunk-LQWOU7S2.js → chunk-SFBLZOV5.js} +3 -3
- package/dist/{chunk-LQWOU7S2.js.map → chunk-SFBLZOV5.js.map} +1 -1
- package/dist/{chunk-EB2LKPI6.js → chunk-SMFZ5YGN.js} +4 -4
- package/dist/{chunk-EB2LKPI6.js.map → chunk-SMFZ5YGN.js.map} +1 -1
- package/dist/{chunk-243Z3BNB.js → chunk-SX54OQQT.js} +4 -4
- package/dist/{chunk-243Z3BNB.js.map → chunk-SX54OQQT.js.map} +1 -1
- package/dist/{chunk-2PVYDAFN.js → chunk-T65N4CIZ.js} +3 -3
- package/dist/{chunk-2PVYDAFN.js.map → chunk-T65N4CIZ.js.map} +1 -1
- package/dist/{chunk-QBLS7X3Z.js → chunk-TVRL3IPZ.js} +3 -3
- package/dist/{chunk-QBLS7X3Z.js.map → chunk-TVRL3IPZ.js.map} +1 -1
- package/dist/{chunk-2URJ7W5X.js → chunk-TW5AP6IF.js} +5 -5
- package/dist/{chunk-2URJ7W5X.js.map → chunk-TW5AP6IF.js.map} +1 -1
- package/dist/{chunk-F6LDWA2N.js → chunk-TYK752MU.js} +3 -3
- package/dist/{chunk-F6LDWA2N.js.map → chunk-TYK752MU.js.map} +1 -1
- package/dist/{chunk-HPQ2WDYC.js → chunk-U2WPJHRA.js} +5 -5
- package/dist/{chunk-HPQ2WDYC.js.map → chunk-U2WPJHRA.js.map} +1 -1
- package/dist/{chunk-MEU2HHGV.js → chunk-U7P22GEB.js} +386 -46
- package/dist/chunk-U7P22GEB.js.map +1 -0
- package/dist/{chunk-6ISJMEDX.js → chunk-VFEZUSB6.js} +4 -4
- package/dist/{chunk-6ISJMEDX.js.map → chunk-VFEZUSB6.js.map} +1 -1
- package/dist/{chunk-5FO4U3OL.js → chunk-WW22FS74.js} +75 -67
- package/dist/chunk-WW22FS74.js.map +1 -0
- package/dist/{chunk-WCUT3EQR.js → chunk-Z23I2JA6.js} +7 -7
- package/dist/{chunk-WCUT3EQR.js.map → chunk-Z23I2JA6.js.map} +1 -1
- package/dist/{chunk-VKGNMXGZ.js → chunk-Z7HLX4V2.js} +4 -4
- package/dist/{chunk-VKGNMXGZ.js.map → chunk-Z7HLX4V2.js.map} +1 -1
- package/dist/{chunk-LZCX2TCZ.js → chunk-ZII54C3E.js} +355 -1075
- package/dist/chunk-ZII54C3E.js.map +1 -0
- package/dist/{chunk-CVUMZTNO.js → chunk-ZQPBYLCS.js} +4 -4
- package/dist/{chunk-CVUMZTNO.js.map → chunk-ZQPBYLCS.js.map} +1 -1
- package/dist/{claude-code-LFAOJ3UQ.js → claude-code-VL6UM7BZ.js} +4 -4
- package/dist/{claude-code-LFAOJ3UQ.js.map → claude-code-VL6UM7BZ.js.map} +1 -1
- package/dist/cli/index.js +494 -301
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/agent-file-refresh.d.ts +25 -0
- package/dist/cli/src/agent-file-refresh.d.ts.map +1 -0
- package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/catalog.d.ts +9 -2
- 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.d.ts +1 -1
- package/dist/cli/src/commands/harness.d.ts.map +1 -1
- package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/library-index.d.ts +5 -7
- package/dist/cli/src/commands/library-index.d.ts.map +1 -1
- package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/preset-export.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/serve-preflight.d.ts +27 -48
- 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/source.d.ts +6 -9
- package/dist/cli/src/commands/source.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts +6 -0
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/config-checks.d.ts.map +1 -1
- package/dist/cli/src/harness-error.d.ts +11 -9
- package/dist/cli/src/harness-error.d.ts.map +1 -1
- package/dist/cli/src/skill-checks.d.ts +48 -74
- package/dist/cli/src/skill-checks.d.ts.map +1 -1
- package/dist/connectors/config.js +5 -5
- package/dist/connectors/index.js +22 -22
- package/dist/{connectors-KPF4UUDS.js → connectors-7EPJRVLJ.js} +25 -25
- package/dist/{connectors-KPF4UUDS.js.map → connectors-7EPJRVLJ.js.map} +1 -1
- package/dist/connectors-shared/index.js +2 -2
- 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.js +3 -3
- package/dist/core/ref.js +1 -1
- package/dist/core/runtime-assets.js +5 -5
- package/dist/core/src/agent-prompt-sections.d.ts +96 -4
- package/dist/core/src/agent-prompt-sections.d.ts.map +1 -1
- package/dist/core/src/check-asset.d.ts +115 -0
- package/dist/core/src/check-asset.d.ts.map +1 -0
- package/dist/core/src/harness-model.d.ts +20 -0
- package/dist/core/src/harness-model.d.ts.map +1 -0
- package/dist/core/src/index.d.ts +10 -6
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +12 -10
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +42 -11
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/publish-manifest.d.ts +17 -0
- package/dist/core/src/publish-manifest.d.ts.map +1 -1
- package/dist/core/src/repo-identity.d.ts +41 -0
- package/dist/core/src/repo-identity.d.ts.map +1 -0
- package/dist/core/src/repo-manager.d.ts +3 -9
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts.map +1 -1
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/workspace-config.js +4 -4
- package/dist/deploy/index.js +7 -6
- package/dist/deploy/index.js.map +1 -1
- package/dist/discovery/index.js +5 -5
- package/dist/discovery/src/source-config.d.ts.map +1 -1
- package/dist/{ensure-sources-FOMEGCQ5.js → ensure-sources-CI3JQJST.js} +32 -30
- package/dist/ensure-sources-CI3JQJST.js.map +1 -0
- package/dist/factory-assets/connectors/box.js +22 -22
- package/dist/factory-assets/connectors/deploy.js +22 -22
- package/dist/factory-assets/connectors/devserver.js +22 -22
- package/dist/factory-assets/connectors/flow/adapter.js +22 -22
- package/dist/factory-assets/connectors/flow/engine.js +8 -7
- package/dist/factory-assets/connectors/flow/run-flow.js +24 -24
- package/dist/factory-assets/connectors/flow.js +22 -22
- package/dist/factory-assets/connectors/git.js +22 -22
- package/dist/factory-assets/connectors/gmail.js +22 -22
- package/dist/factory-assets/connectors/googledrive.js +22 -22
- package/dist/factory-assets/connectors/local.js +22 -22
- package/dist/factory-assets/connectors/mattermost.js +22 -22
- package/dist/factory-assets/connectors/memory.js +22 -22
- package/dist/factory-assets/connectors/minio.js +22 -22
- package/dist/factory-assets/connectors/postgres.js +22 -22
- package/dist/factory-assets/connectors/s3.js +22 -22
- package/dist/factory-assets/connectors/sharepoint.js +22 -22
- package/dist/factory-assets/connectors/sqlite.js +22 -22
- package/dist/factory-assets/connectors/static-server.js +22 -22
- package/dist/factory-assets/connectors/tunnel.js +22 -22
- package/dist/factory-assets/connectors/webdav.js +22 -22
- package/dist/factory-assets/connectors/xstate-store.js +22 -22
- package/dist/factory-assets/connectors/xstate.js +22 -22
- package/dist/{flows-J64L5MGJ.js → flows-6XQAYQS4.js} +12 -11
- package/dist/{flows-J64L5MGJ.js.map → flows-6XQAYQS4.js.map} +1 -1
- package/dist/{helpers-ZJ67FO3Z.js → helpers-26MR5QPO.js} +32 -30
- package/dist/{helpers-ZJ67FO3Z.js.map → helpers-26MR5QPO.js.map} +1 -1
- package/dist/library/index.js +10 -10
- package/dist/library/install.js +4 -4
- package/dist/library/src/index.d.ts +1 -1
- package/dist/library/src/index.d.ts.map +1 -1
- package/dist/library/src/local/db.d.ts.map +1 -1
- package/dist/library/src/local/library-manager.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/schema.d.ts +19 -0
- package/dist/library/src/local/schema.d.ts.map +1 -1
- package/dist/library/src/user-library.d.ts +18 -0
- package/dist/library/src/user-library.d.ts.map +1 -1
- package/dist/{library-publish-RGVXGTY4.js → library-publish-F3AKF66O.js} +74 -68
- package/dist/library-publish-F3AKF66O.js.map +1 -0
- package/dist/model-endpoint/index.js +10 -9
- package/dist/{open-library-I5JHL37T.js → open-library-FVV6GG4I.js} +35 -33
- package/dist/{open-library-I5JHL37T.js.map → open-library-FVV6GG4I.js.map} +1 -1
- package/dist/{open-registry-4HNCWOCN.js → open-registry-VX2BVMS5.js} +16 -16
- package/dist/{open-registry-4HNCWOCN.js.map → open-registry-VX2BVMS5.js.map} +1 -1
- package/dist/{paths-PXBWY532.js → paths-PIWSSUUG.js} +10 -9
- package/dist/{paths-PXBWY532.js.map → paths-PIWSSUUG.js.map} +1 -1
- package/dist/{plugin-store-ZC3EGZ3D.js → plugin-store-MVTW6G7J.js} +10 -9
- package/dist/{plugin-store-ZC3EGZ3D.js.map → plugin-store-MVTW6G7J.js.map} +1 -1
- package/dist/{project-K5JWPIJ6.js → project-GFQP4TW6.js} +50 -48
- package/dist/{project-K5JWPIJ6.js.map → project-GFQP4TW6.js.map} +1 -1
- package/dist/resolver/index.js +8 -7
- package/dist/runner/composition-content.d.ts +2 -0
- package/dist/runner/composition-content.js +29 -0
- package/dist/runner/composition-content.js.map +1 -0
- package/dist/runner/index.js +40 -39
- package/dist/runner/src/compaction/prompt.d.ts.map +1 -1
- package/dist/runner/src/composition/content-entry.d.ts +15 -0
- package/dist/runner/src/composition/content-entry.d.ts.map +1 -0
- package/dist/runner/src/composition/content-source.d.ts +7 -0
- package/dist/runner/src/composition/content-source.d.ts.map +1 -1
- package/dist/runner/src/composition/dry-run.d.ts +5 -1
- package/dist/runner/src/composition/dry-run.d.ts.map +1 -1
- package/dist/runner/src/composition/index.d.ts +1 -1
- package/dist/runner/src/composition/index.d.ts.map +1 -1
- package/dist/runner/src/composition/prompt-sections.d.ts +47 -20
- package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -1
- package/dist/runner/src/context-usage/compose.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts +3 -8
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/runner/src/work-practices.d.ts +9 -0
- package/dist/runner/src/work-practices.d.ts.map +1 -0
- package/dist/sdk/asset-manager.js +17 -15
- package/dist/sdk/bridge.js +18 -18
- package/dist/sdk/core.js +7 -6
- package/dist/sdk/flow.js +8 -7
- package/dist/sdk/index.js +40 -39
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.js +8 -7
- package/dist/sdk/runner.js +40 -39
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/transport/ws/server.js +8 -7
- package/dist/sdk/transport/ws.js +8 -7
- package/dist/sdk/transport.js +8 -7
- package/dist/sdk/types.js +1 -1
- package/dist/serve-preflight-XJS5OZML.js +138 -0
- package/dist/serve-preflight-XJS5OZML.js.map +1 -0
- package/dist/session/index.js +2 -2
- package/dist/{setup-RXTNGML5.js → setup-BFEBJLYF.js} +33 -31
- package/dist/setup-BFEBJLYF.js.map +1 -0
- package/dist/{skills-5D4KDVPJ.js → skills-OCG7B5CL.js} +13 -12
- package/dist/{skills-5D4KDVPJ.js.map → skills-OCG7B5CL.js.map} +1 -1
- package/dist/source-P6JPZYWP.js +93 -0
- package/dist/{source-2LP5W3ST.js.map → source-P6JPZYWP.js.map} +1 -1
- package/dist/{source-manifest-publish-EZNCTSQF.js → source-manifest-publish-XBFHEURV.js} +54 -52
- package/dist/source-manifest-publish-XBFHEURV.js.map +1 -0
- package/dist/transport/index.js +8 -7
- package/dist/transport/ws/server.js +8 -7
- package/dist/transport/ws.js +8 -7
- package/dist/tui/index.js +40 -39
- package/dist/tui/index.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/src/context-usage.d.ts +1 -1
- package/dist/types/src/events.d.ts +3 -2
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/runtime.d.ts +6 -0
- package/dist/types/src/runtime.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +29 -29
- package/dist/workspace-plugin/adapters/omp.js +14 -14
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +7 -1
- package/dist/asset-feeds-DOG5FK7T.js.map +0 -1
- package/dist/chunk-3BRBTQ6M.js.map +0 -1
- package/dist/chunk-5FO4U3OL.js.map +0 -1
- package/dist/chunk-7FXOOUOC.js.map +0 -1
- package/dist/chunk-7HRZACI4.js.map +0 -1
- package/dist/chunk-7LJUK5JK.js.map +0 -1
- package/dist/chunk-7UBCUKJO.js.map +0 -1
- package/dist/chunk-7VBD5XUM.js.map +0 -1
- package/dist/chunk-A7TM4PZZ.js +0 -110
- package/dist/chunk-A7TM4PZZ.js.map +0 -1
- package/dist/chunk-B6W5DCH5.js.map +0 -1
- package/dist/chunk-BNLXZXZN.js.map +0 -1
- package/dist/chunk-CFRHYD4C.js.map +0 -1
- package/dist/chunk-DRUAQ7IY.js.map +0 -1
- package/dist/chunk-DYH3VSPU.js.map +0 -1
- package/dist/chunk-F7WMHDTV.js.map +0 -1
- package/dist/chunk-LMUNQYJQ.js.map +0 -1
- package/dist/chunk-LZCX2TCZ.js.map +0 -1
- package/dist/chunk-MEU2HHGV.js.map +0 -1
- package/dist/chunk-MS2IXLTC.js.map +0 -1
- package/dist/chunk-OC3AIMZH.js.map +0 -1
- package/dist/chunk-RRAXV5LE.js.map +0 -1
- package/dist/chunk-YNQRVTXH.js.map +0 -1
- package/dist/cli/src/commands/harness-preflight.d.ts +0 -40
- package/dist/cli/src/commands/harness-preflight.d.ts.map +0 -1
- package/dist/ensure-sources-FOMEGCQ5.js.map +0 -1
- package/dist/library-publish-RGVXGTY4.js.map +0 -1
- package/dist/serve-preflight-L6VVCDM5.js +0 -61
- package/dist/serve-preflight-L6VVCDM5.js.map +0 -1
- package/dist/setup-RXTNGML5.js.map +0 -1
- package/dist/source-2LP5W3ST.js +0 -91
- package/dist/source-manifest-publish-EZNCTSQF.js.map +0 -1
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { type CatalogEntry, type HarnessName, type LockFile, type SourceDeclaration } from "@skaile/workspaces/core";
|
|
2
|
+
import { type DeployableEntry } from "../installer.js";
|
|
3
|
+
import { AmMcpRender } from "../mcp-render.js";
|
|
4
|
+
import type { DeclaredAsset, IncompleteDeploy } from "../shared/types.js";
|
|
5
|
+
import type { OutdatedEntry } from "./outdated.js";
|
|
6
|
+
/**
|
|
7
|
+
* A tracked asset whose copy still sits in the project dirs of a harness the
|
|
8
|
+
* project no longer deploys to. See {@link AssetManager.listStaleHarnessCopies}.
|
|
9
|
+
*/
|
|
10
|
+
export interface StaleHarnessCopy {
|
|
11
|
+
/** The harness whose dir holds the stale copy. */
|
|
12
|
+
harness: HarnessName;
|
|
13
|
+
kind: string;
|
|
14
|
+
name: string;
|
|
15
|
+
/** Absolute path of the stale copy. */
|
|
16
|
+
path: string;
|
|
17
|
+
/**
|
|
18
|
+
* `true` when skaile wrote this copy, so `harness set --clean` may delete it: its bytes equal
|
|
19
|
+
* the copy the active harness holds now, or (an agent, whose shape differs per harness) the
|
|
20
|
+
* lock records the asset. `false` for a folder the user made: it is named and kept (p1671).
|
|
21
|
+
*/
|
|
22
|
+
skaileWrote: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated Use {@link StaleHarnessCopy}, which also names the harness of the stale copy.
|
|
26
|
+
*/
|
|
27
|
+
export interface LegacyDeployedAsset {
|
|
28
|
+
kind: string;
|
|
29
|
+
name: string;
|
|
30
|
+
/** Absolute path of the stale copy. */
|
|
31
|
+
path: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A global declared dependency from `~/.skaile/skaile.yaml`, reconciled against
|
|
35
|
+
* **one** harness's global deploy dir. The same ref yields one entry per global
|
|
36
|
+
* harness (see {@link AssetManager.globalState}) so an asset can read `installed`
|
|
37
|
+
* for `claude-code` and `drift`/`declared` for `codex` simultaneously.
|
|
38
|
+
*/
|
|
39
|
+
export interface HarnessDeclaredAsset extends DeclaredAsset {
|
|
40
|
+
/** The global harness this state was reconciled against. */
|
|
41
|
+
harness: HarnessName;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Thrown by {@link AssetManager.listDeclared} when the project has no
|
|
45
|
+
* `skaile.yaml`. The CLI maps this to a `skaile init` hint.
|
|
46
|
+
*/
|
|
47
|
+
export declare class MissingManifestError extends Error {
|
|
48
|
+
readonly projectDir: string;
|
|
49
|
+
constructor(projectDir: string);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Live sync status for a repository.
|
|
53
|
+
*
|
|
54
|
+
* @docLink packages/asset-manager/concepts#asset-manager
|
|
55
|
+
*/
|
|
56
|
+
export interface RepoStatusInfo {
|
|
57
|
+
/** Repository name as declared in `skaile.yaml`. */
|
|
58
|
+
name: string;
|
|
59
|
+
/** How the repo is sourced. */
|
|
60
|
+
kind: "local" | "remote" | "linked";
|
|
61
|
+
/** Number of commits the local clone is behind the remote. */
|
|
62
|
+
behind: number;
|
|
63
|
+
/** `true` when the local clone matches the remote HEAD. */
|
|
64
|
+
upToDate: boolean;
|
|
65
|
+
/** Error message when status check failed. */
|
|
66
|
+
error?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A single deployed asset shown in the workspace overview.
|
|
70
|
+
*
|
|
71
|
+
* @docLink packages/asset-manager/concepts#asset-manager
|
|
72
|
+
*/
|
|
73
|
+
export interface OverviewEntry {
|
|
74
|
+
/** Asset kind (`skill`, `agent`, `prompt`, `flow`, `contract`). */
|
|
75
|
+
kind: string;
|
|
76
|
+
/** Asset name. */
|
|
77
|
+
name: string;
|
|
78
|
+
/** Publisher that provides this asset (from the lock file; `"unknown"` when unresolvable). */
|
|
79
|
+
publisher: string;
|
|
80
|
+
/** Version string from the lock file. */
|
|
81
|
+
version: string;
|
|
82
|
+
/**
|
|
83
|
+
* Sync status relative to the source repository.
|
|
84
|
+
* - `"synced"` — local clone matches remote HEAD
|
|
85
|
+
* - `"outdated"` — local clone is behind the remote
|
|
86
|
+
* - `"local"` — sourced from a local path, no remote to compare
|
|
87
|
+
* - `"error"` — status check failed
|
|
88
|
+
* - `"unknown"` — repository not found or lock entry missing
|
|
89
|
+
*/
|
|
90
|
+
syncStatus: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Aggregated workspace overview returned by `AssetManager.overview()`.
|
|
94
|
+
*
|
|
95
|
+
* @docLink packages/asset-manager/concepts#asset-manager
|
|
96
|
+
*/
|
|
97
|
+
export interface OverviewResult {
|
|
98
|
+
/** Entries grouped by publisher, sorted alphabetically. Each group is sorted by kind then name. */
|
|
99
|
+
byPublisher: Map<string, OverviewEntry[]>;
|
|
100
|
+
/** Total number of deployed assets. */
|
|
101
|
+
total: number;
|
|
102
|
+
/** Sync status for each configured repository. */
|
|
103
|
+
repos: RepoStatusInfo[];
|
|
104
|
+
}
|
|
105
|
+
/** Search, info, listDeployed, listDeclared, globalState, overview. One layer of the `AssetManager` class chain (see `asset-manager/CLAUDE.md`). */
|
|
106
|
+
export declare abstract class AmReadState extends AmMcpRender {
|
|
107
|
+
protected abstract declaredPresetGaps(declared: readonly string[], lock: LockFile | null): Promise<Map<string, Array<{
|
|
108
|
+
ref: string;
|
|
109
|
+
resolvable: boolean;
|
|
110
|
+
}>>>;
|
|
111
|
+
abstract outdated(): Promise<OutdatedEntry[]>;
|
|
112
|
+
/**
|
|
113
|
+
* Search the catalog across all configured repositories.
|
|
114
|
+
*
|
|
115
|
+
* @param query - Substring to match against entry names and descriptions (case-insensitive).
|
|
116
|
+
* Omit to return all entries.
|
|
117
|
+
* @param kind - Filter by asset kind (`"skill"`, `"agent"`, `"prompt"`, `"flow"`, `"contract"`).
|
|
118
|
+
* Omit to return all kinds.
|
|
119
|
+
* @returns Array of matching {@link CatalogEntry} objects from all accessible repositories.
|
|
120
|
+
*/
|
|
121
|
+
search(query?: string, kind?: string): Promise<CatalogEntry[]>;
|
|
122
|
+
/**
|
|
123
|
+
* On-disk root + config slug for every declared (and the implicit factory)
|
|
124
|
+
* source that has a local clone. Companion to {@link search}: callers that
|
|
125
|
+
* need to relate a scanned entry back to its source root (e.g. to stamp
|
|
126
|
+
* plugin grouping) can't recover the root from the flat
|
|
127
|
+
* {@link CatalogEntry} list `search` returns.
|
|
128
|
+
*/
|
|
129
|
+
searchRepoRoots(): {
|
|
130
|
+
repoName: string;
|
|
131
|
+
root: string;
|
|
132
|
+
}[];
|
|
133
|
+
/**
|
|
134
|
+
* Look up a single asset's full catalog entry.
|
|
135
|
+
*
|
|
136
|
+
* Accepts a bare `kind:name` ref (no publisher) in addition to the fully-qualified
|
|
137
|
+
* `kind:@publisher/name` form — {@link listDeployed} emits publisher-less refs and
|
|
138
|
+
* {@link doctor} passes them straight to this method.
|
|
139
|
+
*
|
|
140
|
+
* @param ref - Asset ref in `kind:name`, `kind:@publisher/name`, or `repo/kind:name` form.
|
|
141
|
+
* @returns The matching {@link CatalogEntry}, or `null` when not found.
|
|
142
|
+
*/
|
|
143
|
+
info(ref: string): Promise<DeployableEntry | null>;
|
|
144
|
+
/**
|
|
145
|
+
* List all assets currently deployed in the workspace (or global cache).
|
|
146
|
+
*
|
|
147
|
+
* Scans the framework deploy directories rather than the lock file, so it
|
|
148
|
+
* also returns assets that were installed manually or outside of `skaile install`.
|
|
149
|
+
*
|
|
150
|
+
* @param kind - Filter by asset kind. Omit to return all kinds.
|
|
151
|
+
* @returns Shallow {@link CatalogEntry} objects (description and version will be empty).
|
|
152
|
+
*/
|
|
153
|
+
listDeployed(kind?: string): CatalogEntry[];
|
|
154
|
+
/**
|
|
155
|
+
* Absolute path → sha256 of every native agent file the lock records under `rendered:`. A
|
|
156
|
+
* `harness set` rewrites the lock for the new harness, so a caller that cleans up afterwards
|
|
157
|
+
* reads this first and hands it to {@link AssetManager.listStaleHarnessCopies}.
|
|
158
|
+
*/
|
|
159
|
+
lockedRenderedHashes(): Map<string, string>;
|
|
160
|
+
/**
|
|
161
|
+
* Tracked assets (`skaile.lock.yaml` or declared in `skaile.yaml`) whose copy
|
|
162
|
+
* still sits in the project dirs of another harness (`.claude/…`, `.omp/…`,
|
|
163
|
+
* `.codex/…`) although this manager deploys to {@link AssetManager.harness}.
|
|
164
|
+
* A project that moved with `skaile harness set` holds orphans there that
|
|
165
|
+
* `remove` / `clean` / `list` no longer look at.
|
|
166
|
+
*
|
|
167
|
+
* Read-only: nothing is deleted. Empty for global mode and for kinds whose
|
|
168
|
+
* dir is shared with the active target (flows).
|
|
169
|
+
*
|
|
170
|
+
* @param opts.renderedBefore - {@link AssetManager.lockedRenderedHashes} of the lock as it was
|
|
171
|
+
* before the move to this harness. An agent copy counts as skaile's only when it matches a
|
|
172
|
+
* hash the lock (now or then) recorded for its path.
|
|
173
|
+
* @returns One {@link StaleHarnessCopy} per stale copy, sorted by harness, kind, then name.
|
|
174
|
+
*/
|
|
175
|
+
listStaleHarnessCopies(opts?: {
|
|
176
|
+
renderedBefore?: ReadonlyMap<string, string>;
|
|
177
|
+
}): StaleHarnessCopy[];
|
|
178
|
+
/**
|
|
179
|
+
* @deprecated Use {@link AssetManager.listStaleHarnessCopies}, which covers every
|
|
180
|
+
* other harness folder. This returns only its `.claude/` rows (the old default
|
|
181
|
+
* deploy dir), in the old shape.
|
|
182
|
+
*/
|
|
183
|
+
listLegacyClaudeDeployed(): LegacyDeployedAsset[];
|
|
184
|
+
/**
|
|
185
|
+
* List the **declared** top-level dependencies from `skaile.yaml`, each tagged
|
|
186
|
+
* with a reconciliation {@link DeclaredState}:
|
|
187
|
+
*
|
|
188
|
+
* - `declared` — in `skaile.yaml`, not yet resolved into the lock.
|
|
189
|
+
* - `installed` — declared + locked, and (for kinds with an `installTarget`)
|
|
190
|
+
* materialized on disk. An `mcp-server` is instead checked against the
|
|
191
|
+
* declarations the runner would actually wire (store-staged or materialized
|
|
192
|
+
* `MCP.md`); the remaining composition-only kinds (no `installTarget`) count as
|
|
193
|
+
* installed once locked — they are resolved at session start with no harness
|
|
194
|
+
* footprint here.
|
|
195
|
+
* - `drift` — declared + locked but the deployed files are missing on disk.
|
|
196
|
+
* - `invalid` — the `dependencies:` entry isn't a parseable canonical ref. Only
|
|
197
|
+
* surfaced in the unfiltered listing (a `kind` filter can't classify it).
|
|
198
|
+
*
|
|
199
|
+
* Transitive (lock-only) deps are excluded by construction — only the declared
|
|
200
|
+
* set is walked, so a lock entry with no matching `dependencies:` ref never shows.
|
|
201
|
+
*
|
|
202
|
+
* @param kind - Filter by asset kind. Omit to return all kinds.
|
|
203
|
+
* @returns One {@link DeclaredAsset} per declared dep (after the optional kind filter), plus
|
|
204
|
+
* one per locked agent that only an agent instance of `skaile.yaml` binds.
|
|
205
|
+
* @throws {MissingManifestError} when the project has no `skaile.yaml`.
|
|
206
|
+
* @throws {Error} with a `migrate-skaile-manifest` hint on legacy `repositories:` / `ai_resources:` keys.
|
|
207
|
+
*/
|
|
208
|
+
listDeclared(kind?: string): Promise<DeclaredAsset[]>;
|
|
209
|
+
/**
|
|
210
|
+
* One note per locked library asset whose library went back to an older version than the lock
|
|
211
|
+
* (`library is at 0.1.0, locked 0.3.0`). Not drift: `install` keeps the lock and only `update`
|
|
212
|
+
* moves it, so `check` and `doctor` print the note as a `!` line and still exit 0 (p1257).
|
|
213
|
+
* Empty for a global manager or when the libraries cannot be read.
|
|
214
|
+
*/
|
|
215
|
+
libraryOlderNotices(): Promise<string[]>;
|
|
216
|
+
/**
|
|
217
|
+
* Locked assets whose deployed directory lacks files the deploy writes — a deleted
|
|
218
|
+
* `build.py` / `scripts/` helper next to an intact `SKILL.md`. The expected set is the file
|
|
219
|
+
* set the lock covers: a library entry's files (every file under its manifest `root:`), a
|
|
220
|
+
* source or store entry's `files[]` (the asset's whole file set at the locked commit). Only
|
|
221
|
+
* presence is checked, so a local edit never counts. An asset with no deployed directory is
|
|
222
|
+
* not listed (`listDeclared` reports it as drift); an agent is rendered, not copied, so it
|
|
223
|
+
* has no file mirror to compare. `skaile install` restores what is listed.
|
|
224
|
+
*
|
|
225
|
+
* @returns One {@link IncompleteDeploy} per affected asset; empty when healthy
|
|
226
|
+
* or when the project has no lock.
|
|
227
|
+
*/
|
|
228
|
+
incompleteDeploys(): Promise<IncompleteDeploy[]>;
|
|
229
|
+
/**
|
|
230
|
+
* Per-harness reconciliation of the **global** declared deps
|
|
231
|
+
* (`~/.skaile/skaile.yaml`) against each global harness's deploy dir. The
|
|
232
|
+
* global twin of {@link listDeclared}: the same `declared` / `installed` /
|
|
233
|
+
* `drift` / `invalid` vocabulary, but one row **per (ref, harness)** so an
|
|
234
|
+
* asset can be `installed` for `claude-code` and `drift`/`declared` for
|
|
235
|
+
* `codex` at once.
|
|
236
|
+
*
|
|
237
|
+
* Reads the SSOT + the global lock (`~/.skaile/skaile.lock.yaml`) — construct
|
|
238
|
+
* the manager with `global: true`. Unlike `listDeclared`, a missing SSOT is
|
|
239
|
+
* **not** an error: it yields an empty list (a fresh machine has no globals).
|
|
240
|
+
*
|
|
241
|
+
* @param opts.harness - Reconcile against this one harness only (the
|
|
242
|
+
* `--harness` filter); omit for every harness in {@link targetHarnesses}.
|
|
243
|
+
* @param opts.kind - Filter by asset kind.
|
|
244
|
+
* @returns One {@link HarnessDeclaredAsset} per declared dep × harness.
|
|
245
|
+
* @throws {Error} on legacy keys in `~/.skaile/skaile.yaml` (migration hint).
|
|
246
|
+
*/
|
|
247
|
+
globalState(opts?: {
|
|
248
|
+
harness?: HarnessName;
|
|
249
|
+
/** @deprecated Use `harness`. Honoured only when `harness` is absent; removed in the next major. */
|
|
250
|
+
backend?: HarnessName;
|
|
251
|
+
kind?: string;
|
|
252
|
+
}): HarnessDeclaredAsset[];
|
|
253
|
+
/**
|
|
254
|
+
* Build an aggregated workspace overview with publisher grouping and sync status.
|
|
255
|
+
*
|
|
256
|
+
* Combines deployed assets, lock file metadata, and live repository status
|
|
257
|
+
* into a single structured result. Used by `skaile status`.
|
|
258
|
+
*
|
|
259
|
+
* @returns {@link OverviewResult} with entries grouped by publisher and per-repo sync status.
|
|
260
|
+
*/
|
|
261
|
+
overview(): OverviewResult;
|
|
262
|
+
/** Collect live sync status for every configured repository, keyed by name. */
|
|
263
|
+
protected buildRepoStatuses(repositories: Record<string, SourceDeclaration>): Map<string, RepoStatusInfo>;
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../asset-manager/src/read/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* Removed (no bridge harness): cursor, roo, github-copilot, gemini, amp.
|
|
13
13
|
* Add them back when a bridge harness is implemented.
|
|
14
14
|
*/
|
|
15
|
+
import { type AgentPromptMemoryBlock, type AgentPromptPart, type AgentPromptSectionsInput } from "@skaile/workspaces/core";
|
|
15
16
|
import { type AgentLifecycle, type AgentManifest } from "@skaile/workspaces/types/manifests";
|
|
16
17
|
import type { AbilityRef, ContractRef } from "./fragments.js";
|
|
17
18
|
export type { AgentManifest };
|
|
@@ -42,7 +43,11 @@ export interface AgentRenderInput {
|
|
|
42
43
|
/** Resolved framework fragment markdown blocks (agent-mode, handoff, skill-discovery, etc.). */
|
|
43
44
|
frameworkFragments: string[];
|
|
44
45
|
/** Per-project prompt extension markdown blocks loaded from `skaile.yaml` `agent.prompt-extensions`. */
|
|
45
|
-
promptExtensions:
|
|
46
|
+
promptExtensions: readonly AgentPromptPart[];
|
|
47
|
+
/** Inline blocks the agent composes (`composes:` rulesets, prompts, …), baked into the prompt after the contracts. */
|
|
48
|
+
composed?: readonly AgentPromptPart[];
|
|
49
|
+
/** Memory blocks with their seed content, baked into the prompt as `<MEMORY>`. */
|
|
50
|
+
memory?: readonly AgentPromptMemoryBlock[];
|
|
46
51
|
/** `standing` (long-running identity) or `role` (short-lived, callable). */
|
|
47
52
|
lifecycle: AgentLifecycle;
|
|
48
53
|
/** Names of the skills the agent composes (`composes[{kind: skill}]`), as installed. */
|
|
@@ -74,6 +79,11 @@ export interface AgentRenderResult {
|
|
|
74
79
|
* @docLink packages/asset-manager/api-reference#renderers
|
|
75
80
|
*/
|
|
76
81
|
export type AgentRenderer = (input: AgentRenderInput) => AgentRenderResult;
|
|
82
|
+
/**
|
|
83
|
+
* The prompt inputs of a render input: the one input set `assembleAgent` takes, whoever asks for
|
|
84
|
+
* the prompt (the renderers here, `skaile run --dry-run --print-prompt`).
|
|
85
|
+
*/
|
|
86
|
+
export declare function agentPromptInput(input: Pick<AgentRenderInput, "soul" | "rules" | "duties" | "abilityRefs" | "contractRefs" | "frameworkFragments" | "promptExtensions" | "composed" | "memory">): AgentPromptSectionsInput;
|
|
77
87
|
/**
|
|
78
88
|
* Render a GitAgent to Claude Code's `.claude/agents/<name>.md` format.
|
|
79
89
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/renderers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { type CatalogEntry, type HarnessName, type ProvenanceCandidate, type SourceDeclaration } from "@skaile/workspaces/core";
|
|
2
|
+
import { type DeployableEntry } from "../installer.js";
|
|
3
|
+
import type { FolderIdentity, LibraryIndexSnapshot, LockedLibrary } from "../shared/types.js";
|
|
4
|
+
import { AmResolveScan } from "./scan.js";
|
|
5
|
+
/** Where a ref that misses went when its publisher changed: see {@link AssetManager.publisherChangeHints}. */
|
|
6
|
+
interface PublisherChange {
|
|
7
|
+
/** The lock holds the same kind + name under this other publisher, from the library that now publishes it elsewhere. */
|
|
8
|
+
lockedAs?: string;
|
|
9
|
+
/** A registered library holds the same kind + name under another publisher: its ref and library name. */
|
|
10
|
+
moved?: {
|
|
11
|
+
ref: string;
|
|
12
|
+
library?: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** One asset that several registered libraries hold, as an `add` met it. */
|
|
16
|
+
interface LibraryCollision {
|
|
17
|
+
/** `kind:@publisher/name`. */
|
|
18
|
+
key: string;
|
|
19
|
+
libraries: string[];
|
|
20
|
+
/** `library (version)` per holder. */
|
|
21
|
+
held: string[];
|
|
22
|
+
chosen: string;
|
|
23
|
+
version: string;
|
|
24
|
+
/** Libraries holding the chosen version with other bytes. */
|
|
25
|
+
differing: string[];
|
|
26
|
+
}
|
|
27
|
+
/** Publisher change findings, library collisions, folder-collision asserts. One layer of the `AssetManager` class chain (see `asset-manager/CLAUDE.md`). */
|
|
28
|
+
export declare abstract class AmResolveGuards extends AmResolveScan {
|
|
29
|
+
protected abstract lockedLibrary(origin: {
|
|
30
|
+
name: string;
|
|
31
|
+
url?: string;
|
|
32
|
+
sha256?: string;
|
|
33
|
+
}, snap: LibraryIndexSnapshot | null, asset?: {
|
|
34
|
+
kind: string;
|
|
35
|
+
publisher: string;
|
|
36
|
+
name: string;
|
|
37
|
+
}): LockedLibrary;
|
|
38
|
+
/**
|
|
39
|
+
* Where each missed publisher-qualified ref went when its publisher changed, for every
|
|
40
|
+
* ref at once (one library scan, one lock read):
|
|
41
|
+
* - `moved` when a registered library holds the same kind + name under another publisher.
|
|
42
|
+
* When the lock ties the missed ref to a library, only that library is looked at (an
|
|
43
|
+
* asset of the same name in another library is a different asset). Without a lock
|
|
44
|
+
* entry, a library asset the project already declares or locks under its own ref is
|
|
45
|
+
* not offered, and two candidate publishers are ambiguous: no hint;
|
|
46
|
+
* - `lockedAs` when the lock holds the same kind + name under another publisher, records
|
|
47
|
+
* the library it came from, and that library now holds the asset under yet another
|
|
48
|
+
* publisher than the locked one. An unrelated asset that merely shares kind + name does
|
|
49
|
+
* not qualify.
|
|
50
|
+
*
|
|
51
|
+
* @param refs - Missed refs; a trailing `(reason)` after the first space is ignored.
|
|
52
|
+
* @returns one finding per ref that has one. Never warns.
|
|
53
|
+
*/
|
|
54
|
+
protected publisherChangeFindings(refs: string[]): Promise<Map<string, PublisherChange>>;
|
|
55
|
+
/**
|
|
56
|
+
* Explain misses caused by a publisher change, as parenthesized hint text per ref:
|
|
57
|
+
* `did you mean <ref>?` when a registered library holds the same kind + name under
|
|
58
|
+
* another publisher, and `locked as <lockRef>; run skaile install to re-resolve` when
|
|
59
|
+
* the lock holds it under the library's previous publisher (see
|
|
60
|
+
* {@link AssetManager.publisherChangeFindings}).
|
|
61
|
+
*
|
|
62
|
+
* @param refs - Missed refs; a trailing `(reason)` after the first space is ignored.
|
|
63
|
+
* @returns hint text per ref, only for refs that have one. Never warns.
|
|
64
|
+
*/
|
|
65
|
+
protected publisherChangeHints(refs: string[]): Promise<Record<string, string>>;
|
|
66
|
+
/**
|
|
67
|
+
* What the user has to change for each ref that is locked from a library but resolves
|
|
68
|
+
* nowhere any more, where `skaile install` cannot help: the library is not registered
|
|
69
|
+
* (renamed away or removed), the library now publishes the asset under another
|
|
70
|
+
* publisher, or the library no longer holds it. A ref the lock does not tie to a
|
|
71
|
+
* library has no entry.
|
|
72
|
+
*
|
|
73
|
+
* @param refs - Declared or locked refs, `kind:@publisher/name` (a trailing `(reason)`
|
|
74
|
+
* after the first space is ignored).
|
|
75
|
+
* @returns a phrase per ref that follows the ref name, without parentheses.
|
|
76
|
+
*/
|
|
77
|
+
protected unresolvedFixes(refs: string[]): Promise<Map<string, string>>;
|
|
78
|
+
/**
|
|
79
|
+
* A ref pinned to a version its library never held (`#9.9.9`): the thing to change is the pin
|
|
80
|
+
* in `skaile.yaml`, not the library (p1096). Sets the fix and returns `true` when it applies.
|
|
81
|
+
*/
|
|
82
|
+
protected pinNeverHeld(ref: string, plain: string, lookup: LockedLibrary, out: Map<string, string>): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* The ref a library now holds a flow under when a project still locks it by the slug of the
|
|
85
|
+
* flow's `name:` (5.12.0 named a flow by `name:`; later releases name it by `id:`), or
|
|
86
|
+
* `undefined` when `kind` is no flow, the library is not at hand or no flow of it matches.
|
|
87
|
+
*/
|
|
88
|
+
protected renamedFlowRef(lookup: LockedLibrary, publisher: string | undefined, kind: string, name: string): Promise<string | undefined>;
|
|
89
|
+
/** Collision messages already printed by this instance (one warning per ref + library set). */
|
|
90
|
+
protected readonly warnedLibraryCollisions: Set<string>;
|
|
91
|
+
/**
|
|
92
|
+
* Collisions of one `add`, held back until {@link flushLibraryCollisions} so a dependency
|
|
93
|
+
* tree that touches several colliding assets prints one summary, not one line per asset
|
|
94
|
+
* (p1097). `null` outside an `add`: a collision then warns at once.
|
|
95
|
+
*/
|
|
96
|
+
protected collisionBatch: Map<string, LibraryCollision> | null;
|
|
97
|
+
/**
|
|
98
|
+
* Warn once when `key` is held by more than one library: names every library
|
|
99
|
+
* with its version and the one chosen, so a silent pick can't surprise.
|
|
100
|
+
*/
|
|
101
|
+
protected warnLibraryCollision(key: string, candidates: Array<{
|
|
102
|
+
entry: CatalogEntry;
|
|
103
|
+
library: string;
|
|
104
|
+
}>, chosen: {
|
|
105
|
+
entry: CatalogEntry;
|
|
106
|
+
library: string;
|
|
107
|
+
}, differing?: string[]): void;
|
|
108
|
+
/** Print each distinct collision message once; the sink also gets the keys it names. */
|
|
109
|
+
protected emitLibraryCollision(msg: string, keys: readonly string[]): void;
|
|
110
|
+
/**
|
|
111
|
+
* End the batch of {@link collisionBatch}: one collision prints its full message; several
|
|
112
|
+
* print one summary (how many libraries and assets, the library each asset came from, the
|
|
113
|
+
* assets whose bytes differ). `verboseCollisions` prints every asset's full message instead.
|
|
114
|
+
*/
|
|
115
|
+
protected flushLibraryCollisions(): void;
|
|
116
|
+
/** Kind, name and bare publisher of a deploy entry; the publisher comes from its canonical ref. */
|
|
117
|
+
protected entryIdentity(entry: CatalogEntry): FolderIdentity;
|
|
118
|
+
/**
|
|
119
|
+
* Refuse to lock a source commit another machine cannot check out. A commit made in the clone
|
|
120
|
+
* itself (or one `source sync` could not fast-forward past) is in no remote branch: the lock
|
|
121
|
+
* would name bytes nobody else has, and `install --locked` there could not restore them.
|
|
122
|
+
* Linked (dev-override) and user-owned local sources are never checked: their lock is
|
|
123
|
+
* machine-local by choice.
|
|
124
|
+
*
|
|
125
|
+
* @param resolved - Candidates about to be locked.
|
|
126
|
+
* @param repositories - Source declarations of the project.
|
|
127
|
+
* @throws With `<url> clone has unpublished commit <sha>` and the way out.
|
|
128
|
+
*/
|
|
129
|
+
protected assertSourceCommitsPublished(resolved: readonly ProvenanceCandidate[], repositories: Record<string, SourceDeclaration>): void;
|
|
130
|
+
/**
|
|
131
|
+
* Refuse assets of one kind and name from different publishers: they deploy into the
|
|
132
|
+
* same folder, so the later one would silently overwrite the earlier. Throws one line
|
|
133
|
+
* naming the folder and the asset that holds it.
|
|
134
|
+
*
|
|
135
|
+
* @param incoming - Assets about to be deployed. Two of them clashing is refused.
|
|
136
|
+
* @param held - Assets the project already declares or has locked; one of them
|
|
137
|
+
* clashing with an incoming asset is refused when its folder is on disk.
|
|
138
|
+
*/
|
|
139
|
+
protected assertNoFolderCollision(incoming: FolderIdentity[], held?: FolderIdentity[]): void;
|
|
140
|
+
/**
|
|
141
|
+
* Refuse to deploy over a folder (or agent file) the project did not put there: it is on disk,
|
|
142
|
+
* but no lock entry of the same kind and name owns it, so it is the user's own work and the
|
|
143
|
+
* deploy would replace it and `remove` would delete it. Throws one line naming the folder.
|
|
144
|
+
*
|
|
145
|
+
* A folder the deploy would rewrite with the same content is adopted silently (the way back
|
|
146
|
+
* from `asset import`: the project's own copy is what the library now holds): every file in
|
|
147
|
+
* it is shipped by the asset with the same bytes, or the same body and an asset frontmatter
|
|
148
|
+
* that only adds to the folder's (import normalizes it). Nothing is lost then.
|
|
149
|
+
*
|
|
150
|
+
* @param incoming - Assets about to be deployed, with the entry whose bytes would be written
|
|
151
|
+
* when there is one.
|
|
152
|
+
* @param owned - Assets the lock holds; one of the same kind and name, from any publisher,
|
|
153
|
+
* owns the folder (a publisher clash is {@link assertNoFolderCollision}'s refusal).
|
|
154
|
+
*/
|
|
155
|
+
protected assertNoUnownedFolder(incoming: Array<{
|
|
156
|
+
id: FolderIdentity;
|
|
157
|
+
entry?: DeployableEntry | null;
|
|
158
|
+
}>, owned: FolderIdentity[]): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Whether deploying `entry` over the folder already in `target` loses nothing: the folder
|
|
161
|
+
* holds no file the asset does not ship, and each of its files equals the asset's, or is a
|
|
162
|
+
* markdown file with the same body whose frontmatter the asset's only extends.
|
|
163
|
+
*/
|
|
164
|
+
protected deployWouldOnlyRewriteSame(entry: DeployableEntry, target: HarnessName): Promise<boolean>;
|
|
165
|
+
}
|
|
166
|
+
export {};
|
|
167
|
+
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../asset-manager/src/resolve/guards.ts"],"names":[],"mappings":"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"}
|