@skaile/workspaces 4.37.0 → 4.38.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/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-KTRFFJYM.js → asset-feeds-UYIFZKKG.js} +16 -16
- package/dist/asset-feeds-UYIFZKKG.js.map +1 -0
- package/dist/asset-manager/catalog-deployer.js +9 -8
- package/dist/asset-manager/index.js +15 -14
- package/dist/asset-manager/installer.js +11 -10
- package/dist/asset-manager/renderers.js +2 -2
- package/dist/asset-manager/src/index.d.ts +77 -18
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +11 -1
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +14 -13
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +11 -10
- package/dist/bridge/drivers/codex.js.map +1 -1
- package/dist/bridge/drivers/continue.js +12 -11
- package/dist/bridge/drivers/continue.js.map +1 -1
- package/dist/bridge/drivers/echo.js +3 -3
- package/dist/bridge/drivers/gemini.js +6 -6
- package/dist/bridge/drivers/goose.js +12 -11
- package/dist/bridge/drivers/goose.js.map +1 -1
- package/dist/bridge/drivers/omp.js +4 -4
- package/dist/bridge/drivers/opencode.js +12 -11
- package/dist/bridge/drivers/opencode.js.map +1 -1
- package/dist/bridge/drivers/qwen.js +6 -6
- package/dist/bridge/index.js +15 -14
- package/dist/{chunk-SGMCSVTO.js → chunk-27DN4DZD.js} +8 -8
- package/dist/{chunk-SGMCSVTO.js.map → chunk-27DN4DZD.js.map} +1 -1
- package/dist/{chunk-VOEBLPXO.js → chunk-2EL2PBRC.js} +3 -3
- package/dist/{chunk-VOEBLPXO.js.map → chunk-2EL2PBRC.js.map} +1 -1
- package/dist/{chunk-VRFKCF3R.js → chunk-36ML6SFP.js} +4 -4
- package/dist/{chunk-VRFKCF3R.js.map → chunk-36ML6SFP.js.map} +1 -1
- package/dist/{chunk-UFBURH6K.js → chunk-4WKZEMBD.js} +4 -4
- package/dist/{chunk-UFBURH6K.js.map → chunk-4WKZEMBD.js.map} +1 -1
- package/dist/{chunk-2D3C4AJP.js → chunk-5CYEWBPB.js} +11 -4
- package/dist/chunk-5CYEWBPB.js.map +1 -0
- package/dist/{chunk-SQ7IN7KR.js → chunk-5K2VT6E2.js} +3 -3
- package/dist/{chunk-SQ7IN7KR.js.map → chunk-5K2VT6E2.js.map} +1 -1
- package/dist/{chunk-NTASYPDN.js → chunk-5NYBY6ZE.js} +3 -3
- package/dist/{chunk-NTASYPDN.js.map → chunk-5NYBY6ZE.js.map} +1 -1
- package/dist/{chunk-SOFPA4S4.js → chunk-6EMF4UZI.js} +8 -8
- package/dist/{chunk-SOFPA4S4.js.map → chunk-6EMF4UZI.js.map} +1 -1
- package/dist/{chunk-WQULDAH2.js → chunk-6KPQDP7P.js} +2 -2
- package/dist/{chunk-WQULDAH2.js.map → chunk-6KPQDP7P.js.map} +1 -1
- package/dist/{chunk-OPBGV4DX.js → chunk-6VRZ6M2L.js} +3 -3
- package/dist/{chunk-OPBGV4DX.js.map → chunk-6VRZ6M2L.js.map} +1 -1
- package/dist/{chunk-KN5Y5BXK.js → chunk-7FZSABQV.js} +5 -5
- package/dist/{chunk-KN5Y5BXK.js.map → chunk-7FZSABQV.js.map} +1 -1
- package/dist/{chunk-FLGLODDF.js → chunk-7RC37XFW.js} +3 -3
- package/dist/{chunk-FLGLODDF.js.map → chunk-7RC37XFW.js.map} +1 -1
- package/dist/{chunk-5SGS5SN2.js → chunk-7UL2SQQH.js} +4 -4
- package/dist/{chunk-5SGS5SN2.js.map → chunk-7UL2SQQH.js.map} +1 -1
- package/dist/{chunk-GEEW6SY2.js → chunk-A5EDMBFG.js} +2 -2
- package/dist/{chunk-GEEW6SY2.js.map → chunk-A5EDMBFG.js.map} +1 -1
- package/dist/{chunk-QABZZROM.js → chunk-ARUJBGAH.js} +3 -3
- package/dist/{chunk-QABZZROM.js.map → chunk-ARUJBGAH.js.map} +1 -1
- package/dist/{chunk-ENXE4BKS.js → chunk-BQ3HXZNT.js} +2 -2
- package/dist/{chunk-ENXE4BKS.js.map → chunk-BQ3HXZNT.js.map} +1 -1
- package/dist/{chunk-U4CNCL7Q.js → chunk-CACCIOQL.js} +12 -12
- package/dist/{chunk-U4CNCL7Q.js.map → chunk-CACCIOQL.js.map} +1 -1
- package/dist/{chunk-5JAO4MXA.js → chunk-DOVURNRK.js} +3 -3
- package/dist/{chunk-5JAO4MXA.js.map → chunk-DOVURNRK.js.map} +1 -1
- package/dist/{chunk-P4VHQA4N.js → chunk-DSB6X25D.js} +3 -3
- package/dist/{chunk-P4VHQA4N.js.map → chunk-DSB6X25D.js.map} +1 -1
- package/dist/{chunk-2QYQOJ2F.js → chunk-DV47JNI4.js} +3 -3
- package/dist/{chunk-2QYQOJ2F.js.map → chunk-DV47JNI4.js.map} +1 -1
- package/dist/{chunk-FZFCOQTI.js → chunk-EETXMMZS.js} +3 -3
- package/dist/{chunk-FZFCOQTI.js.map → chunk-EETXMMZS.js.map} +1 -1
- package/dist/{chunk-OEBAXTQ4.js → chunk-EOKAFBJ7.js} +3 -3
- package/dist/{chunk-OEBAXTQ4.js.map → chunk-EOKAFBJ7.js.map} +1 -1
- package/dist/{chunk-6BEGKO2Q.js → chunk-HUNZYTOS.js} +4 -3
- package/dist/chunk-HUNZYTOS.js.map +1 -0
- package/dist/{chunk-7YCPY6NC.js → chunk-HXG6IZSF.js} +6 -6
- package/dist/{chunk-7YCPY6NC.js.map → chunk-HXG6IZSF.js.map} +1 -1
- package/dist/{chunk-L7R52OOV.js → chunk-ILAZDNIA.js} +3 -3
- package/dist/{chunk-L7R52OOV.js.map → chunk-ILAZDNIA.js.map} +1 -1
- package/dist/{chunk-WTBXGJCD.js → chunk-J5UF3OOS.js} +10 -10
- package/dist/{chunk-WTBXGJCD.js.map → chunk-J5UF3OOS.js.map} +1 -1
- package/dist/{chunk-QKXDRBLL.js → chunk-JEPSP6XK.js} +11 -80
- package/dist/chunk-JEPSP6XK.js.map +1 -0
- package/dist/{chunk-KIFJWSNC.js → chunk-KAJH3XPW.js} +7 -3
- package/dist/chunk-KAJH3XPW.js.map +1 -0
- package/dist/chunk-LOHQTTUV.js +29 -0
- package/dist/chunk-LOHQTTUV.js.map +1 -0
- package/dist/{chunk-MDBAEEY5.js → chunk-MQ42OYKH.js} +159 -7
- package/dist/chunk-MQ42OYKH.js.map +1 -0
- package/dist/{chunk-YU433JEL.js → chunk-MS2JK4V7.js} +6 -6
- package/dist/{chunk-YU433JEL.js.map → chunk-MS2JK4V7.js.map} +1 -1
- package/dist/{chunk-DFZDL62S.js → chunk-OLMNDIAU.js} +14 -9
- package/dist/chunk-OLMNDIAU.js.map +1 -0
- package/dist/{chunk-3SUWLY3H.js → chunk-OQRB7JUS.js} +3 -3
- package/dist/{chunk-3SUWLY3H.js.map → chunk-OQRB7JUS.js.map} +1 -1
- package/dist/{chunk-RZXP5ZER.js → chunk-PRCUGFXV.js} +3 -3
- package/dist/{chunk-RZXP5ZER.js.map → chunk-PRCUGFXV.js.map} +1 -1
- package/dist/{chunk-MRS5YHPI.js → chunk-QBQITQAM.js} +3 -3
- package/dist/{chunk-MRS5YHPI.js.map → chunk-QBQITQAM.js.map} +1 -1
- package/dist/{chunk-R2SYODNK.js → chunk-QWWDDU5Z.js} +274 -67
- package/dist/chunk-QWWDDU5Z.js.map +1 -0
- package/dist/{chunk-UTZEHXYT.js → chunk-R2U346ER.js} +3 -3
- package/dist/{chunk-UTZEHXYT.js.map → chunk-R2U346ER.js.map} +1 -1
- package/dist/{chunk-USJWXEXS.js → chunk-R5ARWJGE.js} +46 -41
- package/dist/chunk-R5ARWJGE.js.map +1 -0
- package/dist/chunk-TLKM4M47.js +78 -0
- package/dist/chunk-TLKM4M47.js.map +1 -0
- package/dist/{chunk-NFECHLV6.js → chunk-TNWXGHLD.js} +3 -3
- package/dist/{chunk-NFECHLV6.js.map → chunk-TNWXGHLD.js.map} +1 -1
- package/dist/{chunk-H3KXUUYQ.js → chunk-VDBP6Y5M.js} +4 -4
- package/dist/{chunk-H3KXUUYQ.js.map → chunk-VDBP6Y5M.js.map} +1 -1
- package/dist/{chunk-XN7DAZB7.js → chunk-VJNTB4DN.js} +5 -5
- package/dist/chunk-VJNTB4DN.js.map +1 -0
- package/dist/{chunk-BSIHJZKN.js → chunk-XU7JET5Z.js} +107 -26
- package/dist/chunk-XU7JET5Z.js.map +1 -0
- package/dist/{chunk-A5RRXBLI.js → chunk-YCJ3PJNB.js} +5 -5
- package/dist/{chunk-A5RRXBLI.js.map → chunk-YCJ3PJNB.js.map} +1 -1
- package/dist/{chunk-VCLN2IUM.js → chunk-YCMZHL4T.js} +31 -27
- package/dist/chunk-YCMZHL4T.js.map +1 -0
- package/dist/{chunk-V2OQ3BI6.js → chunk-YNUBJY3L.js} +2 -2
- package/dist/chunk-YNUBJY3L.js.map +1 -0
- package/dist/{chunk-S63H4HDH.js → chunk-YQEF36D5.js} +4 -4
- package/dist/{chunk-S63H4HDH.js.map → chunk-YQEF36D5.js.map} +1 -1
- package/dist/{chunk-FJYOQMXT.js → chunk-YV3YI3TA.js} +32 -16
- package/dist/chunk-YV3YI3TA.js.map +1 -0
- package/dist/cli/index.js +755 -533
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/asset-feeds.d.ts.map +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 +28 -3
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/complete-resolvers.d.ts +1 -7
- package/dist/cli/src/commands/complete-resolvers.d.ts.map +1 -1
- package/dist/cli/src/commands/complete.d.ts.map +1 -1
- package/dist/cli/src/commands/diff.d.ts +3 -1
- package/dist/cli/src/commands/diff.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 +8 -0
- package/dist/cli/src/commands/library-index.d.ts.map +1 -1
- package/dist/cli/src/commands/library-publish.d.ts +7 -2
- package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/manage.d.ts.map +1 -1
- package/dist/cli/src/commands/outdated.d.ts +12 -2
- package/dist/cli/src/commands/outdated.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts +2 -2
- package/dist/cli/src/commands/publish-core.d.ts +21 -0
- package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
- package/dist/cli/src/commands/skailify-lib.d.ts +18 -1
- package/dist/cli/src/commands/skailify-lib.d.ts.map +1 -1
- package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/store.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/paths.d.ts +1 -1
- package/dist/cli/src/paths.d.ts.map +1 -1
- package/dist/cli/src/store-auth.d.ts.map +1 -1
- package/dist/connectors/config.js +6 -5
- package/dist/connectors/index.js +19 -18
- package/dist/connectors-shared/index.js +2 -2
- package/dist/core/index.js +8 -7
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.js +1 -1
- package/dist/core/publish-manifest.js +2 -2
- package/dist/core/ref.js +1 -1
- package/dist/core/runtime-assets.js +6 -5
- package/dist/core/src/asset-roots.d.ts +2 -12
- package/dist/core/src/asset-roots.d.ts.map +1 -1
- package/dist/core/src/cache-paths.d.ts +7 -3
- package/dist/core/src/cache-paths.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +3 -3
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +27 -4
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +26 -6
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/settings.d.ts +2 -1
- package/dist/core/src/settings.d.ts.map +1 -1
- package/dist/core/src/store.d.ts.map +1 -1
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/store.js +2 -1
- package/dist/core/workspace-config.js +5 -4
- package/dist/deploy/index.js +8 -7
- package/dist/deploy/index.js.map +1 -1
- package/dist/discovery/index.js +5 -5
- package/dist/discovery/src/domains.d.ts +6 -1
- package/dist/discovery/src/domains.d.ts.map +1 -1
- package/dist/discovery/src/index.d.ts +1 -1
- package/dist/discovery/src/index.d.ts.map +1 -1
- package/dist/{ensure-sources-IGU65O72.js → ensure-sources-VX63EKY7.js} +18 -17
- package/dist/ensure-sources-VX63EKY7.js.map +1 -0
- package/dist/factory-assets/connectors/box.js +19 -18
- package/dist/factory-assets/connectors/deploy.js +19 -18
- package/dist/factory-assets/connectors/devserver.js +19 -18
- package/dist/factory-assets/connectors/flow/adapter.js +19 -18
- package/dist/factory-assets/connectors/flow/engine.js +9 -8
- package/dist/factory-assets/connectors/flow/run-flow.js +21 -20
- package/dist/factory-assets/connectors/flow.js +19 -18
- package/dist/factory-assets/connectors/git.js +19 -18
- package/dist/factory-assets/connectors/gmail.js +19 -18
- package/dist/factory-assets/connectors/googledrive.js +19 -18
- package/dist/factory-assets/connectors/local.js +19 -18
- package/dist/factory-assets/connectors/mattermost.js +19 -18
- package/dist/factory-assets/connectors/memory.js +19 -18
- package/dist/factory-assets/connectors/minio.js +19 -18
- package/dist/factory-assets/connectors/postgres.js +19 -18
- package/dist/factory-assets/connectors/s3.js +19 -18
- package/dist/factory-assets/connectors/sharepoint.js +19 -18
- package/dist/factory-assets/connectors/sqlite.js +19 -18
- package/dist/factory-assets/connectors/static-server.js +19 -18
- package/dist/factory-assets/connectors/tunnel.js +19 -18
- package/dist/factory-assets/connectors/webdav.js +19 -18
- package/dist/factory-assets/connectors/xstate-store.js +19 -18
- package/dist/factory-assets/connectors/xstate.js +19 -18
- package/dist/flows-PX53XFV7.js +25 -0
- package/dist/{flows-6MDMBQUZ.js.map → flows-PX53XFV7.js.map} +1 -1
- package/dist/{helpers-IELIL4YR.js → helpers-DF55G2YC.js} +18 -17
- package/dist/{helpers-IELIL4YR.js.map → helpers-DF55G2YC.js.map} +1 -1
- package/dist/library/index.js +12 -11
- package/dist/library/install.js +2 -2
- package/dist/library/src/config.d.ts +11 -9
- package/dist/library/src/config.d.ts.map +1 -1
- package/dist/library/src/index.d.ts +2 -2
- 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 +7 -0
- package/dist/library/src/local/library-manager.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts +5 -4
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/schema.d.ts +2 -0
- package/dist/library/src/local/schema.d.ts.map +1 -1
- package/dist/library/src/local/sidecar-paths.d.ts.map +1 -1
- package/dist/library/src/local/store-paths.d.ts.map +1 -1
- package/dist/library/src/remote/cache.d.ts.map +1 -1
- package/dist/library/src/sync/git-driver.d.ts +34 -0
- package/dist/library/src/sync/git-driver.d.ts.map +1 -1
- package/dist/{library-publish-YKBYHZ43.js → library-publish-2PNWJJOY.js} +95 -41
- package/dist/library-publish-2PNWJJOY.js.map +1 -0
- package/dist/open-library-SUVOMIWZ.js +38 -0
- package/dist/{open-library-ULRYWTEA.js.map → open-library-SUVOMIWZ.js.map} +1 -1
- package/dist/paths-W4LDORQQ.js +21 -0
- package/dist/{paths-4MTICP3T.js.map → paths-W4LDORQQ.js.map} +1 -1
- package/dist/{plugin-store-GQ4WQZJ2.js → plugin-store-D45CREMJ.js} +10 -9
- package/dist/plugin-store-D45CREMJ.js.map +1 -0
- package/dist/project-RTLVOXUU.js +34 -0
- package/dist/{project-VKYNDEB6.js.map → project-RTLVOXUU.js.map} +1 -1
- package/dist/resolver/index.js +9 -8
- package/dist/runner/index.js +28 -27
- package/dist/runner/src/composition/bootstrap.d.ts +1 -1
- package/dist/runner/src/composition/bootstrap.d.ts.map +1 -1
- package/dist/runner/src/runtime-session-emit.d.ts +2 -1
- package/dist/runner/src/runtime-session-emit.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +15 -14
- package/dist/sdk/bridge.js +15 -14
- package/dist/sdk/core.js +8 -7
- package/dist/sdk/flow.js +9 -8
- package/dist/sdk/index.js +28 -27
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.js +9 -8
- package/dist/sdk/runner.js +28 -27
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/types.js +1 -1
- package/dist/secrets/index.js +18 -1
- package/dist/secrets/src/providers/local.d.ts.map +1 -1
- package/dist/session/index.js +2 -2
- package/dist/{setup-INJFK3VJ.js → setup-ZA7VZL72.js} +25 -24
- package/dist/setup-ZA7VZL72.js.map +1 -0
- package/dist/skills-R3RPIPWP.js +25 -0
- package/dist/{skills-JHUY4DFE.js.map → skills-R3RPIPWP.js.map} +1 -1
- package/dist/{source-IZXICUBU.js → source-Y5YQ7M53.js} +21 -20
- package/dist/{source-IZXICUBU.js.map → source-Y5YQ7M53.js.map} +1 -1
- package/dist/{source-manifest-publish-4JHOT4PA.js → source-manifest-publish-RZIJNRIW.js} +24 -25
- package/dist/source-manifest-publish-RZIJNRIW.js.map +1 -0
- package/dist/tui/index.js +28 -27
- package/dist/tui/index.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/events.d.ts +4 -2
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/manifests/index.d.ts +1 -1
- package/dist/types/src/manifests/index.d.ts.map +1 -1
- package/dist/types/src/manifests/skill.d.ts +10 -0
- package/dist/types/src/manifests/skill.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +15 -14
- package/dist/workspace-plugin/adapters/omp.js +7 -7
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/asset-feeds-KTRFFJYM.js.map +0 -1
- package/dist/chunk-2D3C4AJP.js.map +0 -1
- package/dist/chunk-6BEGKO2Q.js.map +0 -1
- package/dist/chunk-BSIHJZKN.js.map +0 -1
- package/dist/chunk-DFZDL62S.js.map +0 -1
- package/dist/chunk-FJYOQMXT.js.map +0 -1
- package/dist/chunk-KIFJWSNC.js.map +0 -1
- package/dist/chunk-MDBAEEY5.js.map +0 -1
- package/dist/chunk-MIRWAK5C.js +0 -158
- package/dist/chunk-MIRWAK5C.js.map +0 -1
- package/dist/chunk-QKXDRBLL.js.map +0 -1
- package/dist/chunk-R2SYODNK.js.map +0 -1
- package/dist/chunk-USJWXEXS.js.map +0 -1
- package/dist/chunk-V2OQ3BI6.js.map +0 -1
- package/dist/chunk-VCLN2IUM.js.map +0 -1
- package/dist/chunk-XN7DAZB7.js.map +0 -1
- package/dist/ensure-sources-IGU65O72.js.map +0 -1
- package/dist/flows-6MDMBQUZ.js +0 -24
- package/dist/library-publish-YKBYHZ43.js.map +0 -1
- package/dist/open-library-ULRYWTEA.js +0 -37
- package/dist/paths-4MTICP3T.js +0 -20
- package/dist/plugin-store-GQ4WQZJ2.js.map +0 -1
- package/dist/project-VKYNDEB6.js +0 -33
- package/dist/setup-INJFK3VJ.js.map +0 -1
- package/dist/skills-JHUY4DFE.js +0 -24
- package/dist/source-manifest-publish-4JHOT4PA.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.38.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - Assets added from a local library are now written to `skaile.lock.yaml`. A library-only project used to end with `skaile list` showing `declared`, `install` writing no lock, `install --locked` failing with "No lock file found", and `outdated` reporting everything up to date after a library version bump. A library-origin lock entry carries `library: { name, version, sha256? }` instead of `source`; `install --locked` restores it from that library (a missing library, missing asset or different library version is reported missing, exit 1), `list` shows it `installed`, and `outdated` compares the locked version against the library index. `skaile diff` now tells an unknown ref (`✗ Asset not found`, exit 1), a ref that is not deployed, and an identical copy apart instead of printing "No differences (or asset not found)". API: `LockEntry.source` is optional, `AssetManager.diff()` returns a `DiffResult`, `AssetManager.outdated()` is async — see MIGRATION.md.
|
|
8
|
+
|
|
9
|
+
A lock holding a library-origin entry is written as `schema_version: 4` (else `3`), so older CLIs reject it with the regenerate error instead of crashing on the missing `source`. The locked library hash is computed from the files on disk, and `install --locked` re-hashes them, so an asset edited in place since the lock (same version, no re-index) is reported missing instead of deployed. `library init --git` warns with git's stderr when the clone fails for any reason other than a non-empty directory.
|
|
10
|
+
|
|
11
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library link <name> <url>` now creates the git repo (`git init -b <branch>`) and points `origin` at the url; it used to flip the library row to `git` only, so `library commit` printed "Nothing committed" on a directory with no repo, `push` failed and `sync` crashed with a `LibrarySyncError` stack trace. `library init --git <url>` clones the url (falling back to `git init` + `origin` when the clone fails) and records the branch actually checked out. `library set <name> backendConfig.url=<url>` re-points `origin`, so `push`/`pull` follow the configured url. `library pull`/`sync` treat a fresh empty remote as nothing to pull. `library commit` on a non-repo exits 1. Sync errors in `init`, `link`, `set`, `pull`, `push`, `propose` and `sync` print one `✗` line and exit 1. `library git <name> [args...]` passes all arguments to git (`library git L -- log --oneline` and `library git L status --short` both work; it failed with "too many arguments"). New `@skaile/workspaces/library` exports: `isGitRepo`, `setOriginUrl`, `ensureGitRepo`, `cloneOrInitGitRepo`.
|
|
12
|
+
|
|
13
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library` lifecycle fixes. `library init` now makes the new library the default when none is set (a `reader` library never is), and `library create` / `library domain *` / `asset import` fall back to the only owner/contributor library when no default is marked (`LibraryManager.findDefaultLibrary()`), where `create` used to fail with "No default library set" right after `init`. `library init --contributor` / `--reader` were silently ignored for local libraries; they now exit 1 without `--git` (ownership only governs sync with a git remote), and combining ownership flags is an error. `library init` scaffolds `README.md` and `.gitignore` (`.DS_Store`, `node_modules/`, `*.log`) into a blank directory, since `library publish` runs `git add -A` and pushes to a public remote; an adopted directory or a cloned non-empty remote is left untouched, and no `LICENSE` is written. `library init <name> --path <dir>` registers a library at any directory (created if missing, existing content adopted as-is), `library set <name> path=<dir>` re-points a library at an existing directory without moving files, and `add` / `install --locked` resolve library assets from the registered path instead of assuming `<libraries dir>/<name>`; a duplicate name or an already-registered path is refused before the disk is touched. `library sync` / `pull` / `push` always reported `applied=1` / `pushed 1`; the git driver now counts the upstream commits a pull applied and the local commits a push sent (`0` / `0` on a clean, synced repo). `library list` sized its name column to a fixed 16 characters, so longer names shifted the other columns; columns now fit the longest value.
|
|
14
|
+
|
|
15
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `SKAILE_HOME` moved only part of what skaile keeps per user: `store/`, `cache/` and `sidecars/` followed it, while `index.db`, `libraries/`, `config.yaml`, `settings.json`, the secrets dir and the global flow install root stayed under the real `~/.skaile` (`library init x` with `SKAILE_HOME=/tmp/skh` wrote to the real home). Every per-user path now derives from one helper, `globalSkaileDir()`; `skaileHomeDir()` is removed (see `MIGRATION.md`), and `SKAILE_INDEX_PATH` / `SKAILE_LIBRARIES_DIR` remain the more specific overrides. Separately, `skaile library remove` (with or without `--purge`) left the library's rows in `asset_definitions` (`ON DELETE SET NULL`), so the removed skills still appeared in `skaile search` while `skaile add` failed with "Asset not found". Removal now deletes the library's asset definitions, and an index written by an older version is cleaned once on open (rows with no library, or pointing at a library that no longer exists, are dropped; `PRAGMA user_version` records that the cleanup ran).
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library domain create` wrote `DOMAIN.md` frontmatter as `name/publisher/description` while discovery reads `slug/title/description/relation/order/members`, so every `library index` warned `fun/DOMAIN.md: InvalidSlug: ''`. Discovery's schema is now the only one: the CLI writes `slug` (= the directory name), `title`, `publisher` and `description`, `DomainMd` gains an optional `publisher`, and every CLI reader goes through `parseDomainMd`. Files written by earlier CLI versions (`name:`, no `slug:`) still work because `parseDomainMd` treats `name` as the slug when `slug` is absent. A domain name must now be a valid slug (lowercase `a-z0-9`, single hyphens, ≤39 chars), since it is both directory and slug; `ensureDomain` on an existing `DOMAIN.md` now reports that file's own publisher instead of re-deriving it from the name.
|
|
20
|
+
|
|
21
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile init` no longer writes `agent-config.default.provider` into the generated `skaile.yaml`. The config parser rejects that key, so the first `skaile add` in every freshly initialised claude-code or codex project failed with "`agent-config.default.provider` is no longer valid". CLI help lists `library domain` / `library index` and no longer calls `library publish / register / yank` stubs. Shell completion stops offering the nonexistent `skill show` / `skill list` commands (`show skill <TAB>` completes skill names). Docs: removed the pages for the nonexistent `skaile skill`, `agent`, `prompt` and `package` commands; `library` docs cover `domain`, `index`, `create --dir/--publisher`, the real `publish`/`register`/`yank` flags and the git flow; `asset import` is documented; tutorial 01 installs the published `skaile-cli` and adds an "Author your own skills" section; source clones are documented at `~/.skaile/cache/sources/<host>/<owner>/<repo>/`.
|
|
22
|
+
|
|
23
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library index` now stamps the manifest's top-level `publisher` when `skaile.manifest.yaml` has none, resolved the same way `library create` does (store identity, else the slugified library name). A library whose assets were added by hand used to index `<lib>/keepi/SKILL.md` as `skill:@keepi/keepi`, because discovery fell back to the first path segment, while `skaile add` resolved it as `skill:@<lib>/keepi`.
|
|
24
|
+
|
|
25
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library create --dir <domain>` now publishes under the domain's own publisher. A library with domains `fun` (`@mortegro`) and `work` (`@acme`) used to index and publish every asset under the first publisher written to `skaile.manifest.yaml`, while `library create` printed the domain's `skaile add skill:@acme/b` ref, which did not resolve. `library create` and `library index` now write `assets[].publisher` when an asset's publisher differs from the manifest's top-level one (the top-level `publisher` stays first-writer; `library index` derives it from the asset's domain `DOMAIN.md` and never overwrites an author-set one). `library publish`, `register` and `yank` compute each ref as `assets[].publisher ?? publisher`, and `publish` preflights every distinct namespace before the git push.
|
|
26
|
+
|
|
27
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library publish` / `register` now check the plan before doing anything. `publish --create-repo` always ran `gh repo create --public` with no way to pick visibility; it takes `--private` now (only valid together with `--create-repo`), the dry-run plan says which visibility the repo would get, and a warning explains that the store only registers public repos, so a private repo can be created and linked but not published. `--dry-run` used to accept a local-path remote (`/tmp/x.git`) and only the real publish failed when the store tried to reach GitHub; `publish` and `register` now exit 1 in the plan phase, naming the remote, unless it is a GitHub url (`https://github.com/<o>/<r>[.git]`, `git@github.com:<o>/<r>[.git]`, `ssh://git@github.com/<o>/<r>[.git]`). The plan also warns when the library root has no `LICENSE` / `LICENSE.md` and, for `publish`, lists up to 10 untracked files that `git add -A` is about to commit and make public.
|
|
28
|
+
|
|
29
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - The CLI prints one asset ref grammar, `kind:@publisher/name[#version]`. One asset used to appear as `skill:@pub/name` (`add`), `@pub/name@ver` (`asset show`, search JSON `id`), `skill:@pub/name#ver` (publish plan) and `@pub/name#ver` (docs). `asset show` JSON now leads with a canonical `ref` (the index's `id` stays as the storage key and is still accepted as input); `asset install`, the `library create` hint, `outdated` rows and `store show` print the canonical ref; `outdated <filter>` and `store yank --asset` accept it. `skaile search` (local and store) sizes the description column to the terminal width and cuts it with `…` and a gap before the version column instead of running the description into `v0.1.0`.
|
|
30
|
+
|
|
31
|
+
- [#982](https://github.com/skaile-ai/workspaces/pull/982) [`b64f689`](https://github.com/skaile-ai/workspaces/commit/b64f68964f1de7b16fe264fed8dc94b1c52f9cd9) Thanks [@Frozen666](https://github.com/Frozen666)! - The runner now emits `runtime_session` right after it applies a live `capability_register` or `capability_deregister`, not only when a turn finishes. Its `capabilitySignature` is the value the next wake (tier-1 resume) and a re-adopting gateway (the replayed `session_init_ack`) compare, so a platform that persists it stops seeing a false drift when a backend redeploy or a hibernate lands between a live capability push and the next finished turn. No wire change: the event and its fields are unchanged, it is just sent at one more point, and only when the driver has a session id and something changed.
|
|
32
|
+
|
|
33
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile library create skill x` scaffolded `description: ""` and a stub body, and nothing told the author the Agent Skills spec requires a description that says what the skill does and when to use it. `library create` now takes `--description <text>` (1–1024 chars, written verbatim; also honoured for the other kinds); without it markdown scaffolds get a `TODO: describe …` placeholder and the command prints a reminder. The skill manifest schema (`validateSkill`, the single check behind `skaile validate`) now rejects an empty, whitespace-only or `TODO:`-prefixed description as an error with a message naming the field, and `skaile validate` warns when a skill body is still the untouched `Skill prompt goes here.` scaffold text (exit code unchanged). The warning summary line now reads `N warning(s)` instead of `N conformance warning(s)`. `AssetManager.create` / `createScaffold` gain an optional `{ description }` argument and `@skaile/workspaces/types/manifests` exports `SKILL_DESCRIPTION_PLACEHOLDER(_PREFIX)` and `SKILL_BODY_PLACEHOLDER`. `library index` and `library publish` do not read SKILL.md frontmatter, so they are unaffected; `skaile validate` remains the gate.
|
|
34
|
+
|
|
35
|
+
- [#965](https://github.com/skaile-ai/workspaces/pull/965) [`1fa7400`](https://github.com/skaile-ai/workspaces/commit/1fa7400abdca57c96b1d7fcef5f14d8b92014fb6) Thanks [@mortegro](https://github.com/mortegro)! - `skaile update` exits after a failed catalog refresh. The refresh spinner was never stopped on the error path, so under Node the command re-deployed the assets and then hung (for example with `catalog.url: local`).
|
|
36
|
+
|
|
3
37
|
## 4.37.0
|
|
4
38
|
|
|
5
39
|
### Minor Changes
|
package/dist/app-sdk/index.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { assignDomain, buildDomainIndex, DOMAIN_MD_FILENAME, parseDomainMd } from './chunk-
|
|
1
|
+
import { assignDomain, buildDomainIndex, DOMAIN_MD_FILENAME, parseDomainMd } from './chunk-OLMNDIAU.js';
|
|
2
2
|
import './chunk-JXT46QFC.js';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-YV3YI3TA.js';
|
|
4
4
|
import './chunk-4GY63JU6.js';
|
|
5
|
-
import { factoryAssetRoots } from './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import { factoryAssetRoots } from './chunk-36ML6SFP.js';
|
|
6
|
+
import './chunk-KAJH3XPW.js';
|
|
7
7
|
import './chunk-K5GBV4SA.js';
|
|
8
8
|
import './chunk-QVZA2MDT.js';
|
|
9
|
-
import { scanRepo } from './chunk-
|
|
9
|
+
import { scanRepo } from './chunk-JEPSP6XK.js';
|
|
10
|
+
import './chunk-TLKM4M47.js';
|
|
10
11
|
import './chunk-EB4ZTESQ.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import { walkDir, parseFrontmatter } from './chunk-
|
|
13
|
-
import './chunk-
|
|
12
|
+
import './chunk-DSB6X25D.js';
|
|
13
|
+
import { walkDir, parseFrontmatter } from './chunk-5K2VT6E2.js';
|
|
14
|
+
import './chunk-A5EDMBFG.js';
|
|
14
15
|
import './chunk-JMKB7IB4.js';
|
|
15
16
|
import './chunk-ICSCSM5D.js';
|
|
16
17
|
import './chunk-MJHSLODD.js';
|
|
17
18
|
import './chunk-C3CAXQMA.js';
|
|
18
19
|
import './chunk-BOFL7GIF.js';
|
|
19
|
-
import './chunk-
|
|
20
|
+
import './chunk-5CYEWBPB.js';
|
|
20
21
|
import './chunk-NSBPE2FW.js';
|
|
21
22
|
import { existsSync, readFileSync } from 'fs';
|
|
22
23
|
import * as path from 'path';
|
|
@@ -68,15 +69,14 @@ async function libraryAssets() {
|
|
|
68
69
|
const notes = [];
|
|
69
70
|
const domains = [];
|
|
70
71
|
try {
|
|
71
|
-
const [{ openLibraryManager }, {
|
|
72
|
-
import('./open-library-
|
|
73
|
-
import('./library/index.js'),
|
|
72
|
+
const [{ openLibraryManager }, { getGlobalCacheDir, globalSkaileDir }] = await Promise.all([
|
|
73
|
+
import('./open-library-SUVOMIWZ.js'),
|
|
74
74
|
import('./core/index.js')
|
|
75
75
|
]);
|
|
76
76
|
const { manager, close } = await openLibraryManager();
|
|
77
77
|
try {
|
|
78
78
|
const newRoot = getGlobalCacheDir();
|
|
79
|
-
const legacyRoot = path.join(
|
|
79
|
+
const legacyRoot = path.join(globalSkaileDir(), "sources");
|
|
80
80
|
const libs = (await manager.listLibraries()).filter(
|
|
81
81
|
(l) => !l.path.startsWith(newRoot) && !l.path.startsWith(legacyRoot)
|
|
82
82
|
);
|
|
@@ -102,7 +102,7 @@ async function libraryAssets() {
|
|
|
102
102
|
async function storeAssets(projectDir) {
|
|
103
103
|
const notes = [];
|
|
104
104
|
try {
|
|
105
|
-
const { resolveCatalogSource } = await import('./open-library-
|
|
105
|
+
const { resolveCatalogSource } = await import('./open-library-SUVOMIWZ.js');
|
|
106
106
|
const { source, close } = await resolveCatalogSource({ projectDir });
|
|
107
107
|
try {
|
|
108
108
|
const assets = await source.listAssets();
|
|
@@ -206,5 +206,5 @@ function dedupeBySlug(domains) {
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
export { gatherAssetFeeds };
|
|
209
|
-
//# sourceMappingURL=asset-feeds-
|
|
210
|
-
//# sourceMappingURL=asset-feeds-
|
|
209
|
+
//# sourceMappingURL=asset-feeds-UYIFZKKG.js.map
|
|
210
|
+
//# sourceMappingURL=asset-feeds-UYIFZKKG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../cli/src/asset-feeds.ts"],"names":[],"mappings":"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","file":"asset-feeds-UYIFZKKG.js","sourcesContent":["/**\n * asset-feeds.ts — gather installable assets from every feed the manage TUI\n * surfaces.\n *\n * Four feeds, normalized into `CatalogEntry`:\n * - **Project sources** — `skaile.yaml` `sources:` entries (scanned via\n * `AssetManager.search()`; the new `sources:` field is merged into the\n * legacy repositories map in `AssetManager.loadConfig`).\n * - **Local libraries** — user authoring places from `LocalIndex` (filesystem\n * scan of each library's `path`).\n * - **Factory assets** — the bundled first-party `factory-assets` tree\n * (`factoryAssetRoots()`), scanned from disk. Always present; no network.\n * - **Remote store** — the configured catalog source when `catalog.url` is\n * not `local`. Failures are non-fatal — they surface as notes.\n */\n\nimport { existsSync, readFileSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n type AssetKind,\n type CatalogDomain,\n type CatalogEntry,\n factoryAssetRoots,\n parseFrontmatter,\n scanRepo,\n walkDir,\n} from \"@skaile/workspaces/core\";\nimport {\n assignDomain,\n buildDomainIndex,\n DOMAIN_MD_FILENAME,\n type DomainMd,\n parseDomainMd,\n} from \"@skaile/workspaces/discovery\";\n\n/** One non-fatal note returned to the caller for surfacing in the UI. */\nexport interface FeedNote {\n feed: \"sources\" | \"libraries\" | \"store\" | \"factory\";\n message: string;\n}\n\n/**\n * Which feed an asset came from. This is the top-level grouping axis in the\n * manage TUI (\"where is this skill coming from?\") and is intentionally distinct\n * from `publisher` (asset-intrinsic identity): the same publisher can legitimately\n * appear under more than one origin (e.g. a github repo you added as a `source`\n * that is also listed in the remote `store`).\n */\nexport type AssetOrigin = \"source\" | \"library\" | \"factory\" | \"store\";\n\n/** A catalog entry tagged with the feed it was gathered from. */\nexport interface OriginEntry {\n origin: AssetOrigin;\n entry: CatalogEntry;\n /**\n * Second-level grouping label for the manage tree. Defaults (when unset) to the\n * entry's `publisher`; the source feed sets it to the source's short repo name\n * so the Sources band groups by source — \"which repo did this come from\" — not\n * by the asset-intrinsic publisher.\n */\n group?: string;\n}\n\nexport interface AssetFeedResult {\n entries: OriginEntry[];\n /**\n * Display-only domain metadata, keyed (by the consumer) on `slug`. Populated\n * from the store's `catalog.listDomains` when the connected catalog source\n * exposes it; empty otherwise. The manage TUI joins `entry.domainSlug` → a\n * domain for grouping headers, descriptions, and relation badges.\n */\n domains: CatalogDomain[];\n notes: FeedNote[];\n}\n\n// ── Domain stamping (on-disk feeds) ──────────────────────────────────────────\n//\n// `scanRepo` (the source / library / factory scan path) does not read the\n// `DOMAIN.md` sidecars, so its entries arrive with no `domainSlug` and render\n// flat under their publisher band. We re-derive the grouping here from the\n// root's `DOMAIN.md` files (the same sidecars the remote store computes\n// server-side), and fall back to the repo/source name for any entry no domain\n// claims so it still groups instead of landing in the synthetic \"no domain\" pile.\n\n/** Repo-relative POSIX path (DOMAIN.md slugs are matched whole-segment, `/`-joined). */\nfunction toPosix(p: string): string {\n return p.split(path.sep).join(\"/\");\n}\n\n/** Parse every `DOMAIN.md` sidecar under `root` into a {@link DomainMd}. */\nasync function loadDomainMds(root: string): Promise<DomainMd[]> {\n const out: DomainMd[] = [];\n for await (const { path: filePath, name } of walkDir(root)) {\n if (name !== DOMAIN_MD_FILENAME) continue;\n try {\n const { data } = parseFrontmatter(readFileSync(filePath, \"utf8\"));\n out.push(parseDomainMd(toPosix(path.relative(root, filePath)), data));\n } catch {}\n }\n return out;\n}\n\n/**\n * Stamp `domainSlug` onto every entry scanned from `root` using the root's\n * `DOMAIN.md` sidecars. Returns the `CatalogDomain` registry for the real\n * domains, plus a synthetic fallback domain when any entry used the fallback.\n * Mutates `entries` in place (sets `entry.domainSlug`).\n *\n * `synthesizeFallback` (default true): entries no domain claims fall back to\n * `fallbackSlug` (the repo/source name). Pass `false` when the caller already\n * groups these entries one level up (e.g. the source feed groups by source\n * node) — unmatched entries then get no domain (`\"\"`) and hang directly under\n * that parent, instead of nesting under a same-named fallback domain.\n */\nasync function stampDomains(\n root: string,\n fallbackSlug: string,\n entries: CatalogEntry[],\n synthesizeFallback = true,\n): Promise<CatalogDomain[]> {\n const domainMds = await loadDomainMds(root);\n const assignables = entries.map((entry) => ({\n entry,\n ref: `${entry.kind}:${entry.name}`,\n relativePath: toPosix(path.relative(root, entry.source)),\n }));\n\n let usedFallback = false;\n for (const a of assignables) {\n const slug = assignDomain(a.relativePath, domainMds);\n if (slug) a.entry.domainSlug = slug;\n else if (synthesizeFallback) {\n a.entry.domainSlug = fallbackSlug;\n usedFallback = true;\n } else a.entry.domainSlug = \"\";\n }\n\n const { index } = buildDomainIndex(assignables, domainMds);\n const catalog: CatalogDomain[] = Object.values(index).map((d) => ({\n slug: d.slug,\n title: d.title,\n ...(d.description ? { description: d.description } : {}),\n ...(d.relation ? { relation: d.relation } : {}),\n ...(d.order !== undefined ? { order: d.order } : {}),\n ...(d.recommended[0] ? { recommendedRef: d.recommended[0] } : {}),\n }));\n if (usedFallback) catalog.push({ slug: fallbackSlug, title: fallbackSlug });\n return catalog;\n}\n\n/**\n * Pull assets from local libraries (the authoring places under\n * `~/.skaile/libraries/<name>/`, not the `~/.skaile/cache/sources/` cache). Each\n * library's `path` is scanned with `scanRepo` and grouped under the bare library\n * name (`group: <name>`) so the manage TUI shows a clean `<name>` band — no\n * `library:` prefix and no redundant same-named fallback domain (mirrors the\n * source feed).\n */\nasync function libraryAssets(): Promise<{\n entries: OriginEntry[];\n domains: CatalogDomain[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n const domains: CatalogDomain[] = [];\n try {\n const [{ openLibraryManager }, { getGlobalCacheDir, globalSkaileDir }] = await Promise.all([\n import(\"./open-library.ts\"),\n import(\"@skaile/workspaces/core\"),\n ]);\n const { manager, close } = await openLibraryManager();\n try {\n // Authoring libraries are the rows that are NOT source clones. index.db\n // rows predating the cache migration still carry the legacy\n // ~/.skaile/sources path, so exclude both roots.\n const newRoot = getGlobalCacheDir();\n const legacyRoot = path.join(globalSkaileDir(), \"sources\");\n const libs = (await manager.listLibraries()).filter(\n (l) => !l.path.startsWith(newRoot) && !l.path.startsWith(legacyRoot),\n );\n const entries: OriginEntry[] = [];\n for (const lib of libs) {\n if (!existsSync(lib.path)) continue;\n // Scan + group under the bare library name. `synthesizeFallback: false`\n // (as the source feed does) keeps domainless assets directly under the\n // library band instead of a redundant same-named fallback domain.\n const libEntries = [...(await scanRepo(lib.path, lib.name))];\n domains.push(...(await stampDomains(lib.path, lib.name, libEntries, false)));\n for (const entry of libEntries) entries.push({ origin: \"library\", entry, group: lib.name });\n }\n return { entries, domains, notes };\n } finally {\n close();\n }\n } catch (err) {\n notes.push({\n feed: \"libraries\",\n message: err instanceof Error ? err.message : String(err),\n });\n return { entries: [], domains, notes };\n }\n}\n\n/**\n * Pull a (best-effort) snapshot of the connected remote store catalog.\n *\n * - Returns no entries when the resolved catalog is local-only or the host\n * is unreachable (the failure becomes a note, not an exception).\n * - Maps `CatalogAsset` → `CatalogEntry`, carrying `publisher`, `repo`, and\n * `category` straight through and using `source = \"store://<id>\"`; per-file\n * `source` paths are not available for remote assets so the canonical ref is\n * a stable placeholder.\n */\nasync function storeAssets(projectDir: string): Promise<{\n entries: CatalogEntry[];\n domains: CatalogDomain[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const { resolveCatalogSource } = await import(\"./open-library.ts\");\n const { source, close } = await resolveCatalogSource({ projectDir });\n try {\n const assets = await source.listAssets();\n const entries: CatalogEntry[] = assets.map((a) => ({\n name: a.name,\n kind: (a.kind as AssetKind) ?? \"skill\",\n description: a.description ?? \"\",\n source: `store://${a.id}`,\n publisher: a.publisher,\n repo: a.repo,\n domainSlug: a.domainSlug,\n category: a.category,\n version: a.version,\n requires: [],\n dependencies: [],\n }));\n // Domains are optional on the catalog source — only the store backend\n // (post Part 4 `catalog.listDomains`) exposes them. Duck-type the call so\n // older sources and the local catalog degrade to no domains, not an error.\n const domains = await loadDomains(source);\n return { entries, domains, notes };\n } finally {\n close();\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n // Local-only catalog throws a recognizable message — silence it; absence\n // is the user's choice, not an error.\n if (!/local/i.test(msg)) {\n notes.push({ feed: \"store\", message: msg });\n }\n return { entries: [], domains: [], notes };\n }\n}\n\n/** Optional `listDomains` capability — returns `[]` when the source lacks it. */\nasync function loadDomains(source: unknown): Promise<CatalogDomain[]> {\n const fn = (source as { listDomains?: () => Promise<CatalogDomain[]> }).listDomains;\n if (typeof fn !== \"function\") return [];\n const domains = await fn.call(source);\n return Array.isArray(domains) ? domains : [];\n}\n\n/** The slice of `AssetManager` the source feed needs (kept narrow for tests). */\ninterface AssetManagerLike {\n search: () => Promise<CatalogEntry[]>;\n searchRepoRoots: () => { repoName: string; root: string }[];\n}\n\n/**\n * Project-source feed: leans on `AssetManager.search()`, which now merges\n * `skaile.yaml`'s `sources:` field into the repositories map, then stamps\n * `DOMAIN.md`-derived domain grouping onto the scanned entries via\n * `searchRepoRoots()`.\n */\nasync function sourceAssets(\n am: AssetManagerLike,\n): Promise<{ entries: OriginEntry[]; domains: CatalogDomain[] }> {\n // The bundled factory tree is injected into the repositories map as an implicit\n // source, so `am.search()` returns it too. It has its own `factory` origin band,\n // so drop it here — otherwise the same first-party skills list twice under Sources.\n const factoryPrefixes = factoryAssetRoots().map((r) => (r.endsWith(path.sep) ? r : r + path.sep));\n const isFactoryPath = (p: string) =>\n factoryPrefixes.some((fp) => p === fp.slice(0, -1) || p.startsWith(fp));\n\n const all = (await am.search()).filter((e) => !isFactoryPath(e.source));\n const entries: OriginEntry[] = [];\n const domains: CatalogDomain[] = [];\n // Group each source's entries under the source node (its short repo name), not\n // the publisher: under Sources the navigational question is \"which repo did\n // this come from\". Each entry's `source` (absolute manifest path) lives under\n // exactly one declared root, so group + stamp by prefix. The cache slug is\n // URL-keyed `github.com/<org>/<repo>` — take the trailing segment.\n for (const { repoName, root } of am.searchRepoRoots()) {\n if (isFactoryPath(root)) continue;\n const prefix = root.endsWith(path.sep) ? root : root + path.sep;\n const owned = all.filter((e) => e.source === root || e.source.startsWith(prefix));\n if (owned.length === 0) continue;\n const sourceName = repoName.split(\"/\").pop() || repoName;\n // No synthetic fallback domain — the source node already groups these, so a\n // same-named fallback would just nest the source under itself.\n domains.push(...(await stampDomains(root, sourceName, owned, false)));\n for (const entry of owned) entries.push({ origin: \"source\", entry, group: sourceName });\n }\n return { entries, domains };\n}\n\n/**\n * Factory-asset feed: scan the bundled first-party `factory-assets` tree(s)\n * resolved by `factoryAssetRoots()` (the `SKAILE_FACTORY_ASSETS_DIR` override\n * layer ahead of the bundled tree). Local disk only, no network — the entries are\n * the built-in skills / connectors / bundles that ship with `@skaile/workspaces`.\n * `factoryAssetRoots()` already dedupes, so the env override pointing at the\n * bundled dir collapses to one root.\n */\nasync function factoryAssets(): Promise<{\n entries: CatalogEntry[];\n domains: CatalogDomain[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n const domains: CatalogDomain[] = [];\n try {\n const entries: CatalogEntry[] = [];\n for (const root of factoryAssetRoots()) {\n const rootEntries = [...(await scanRepo(root, \"skaile-factory\"))];\n domains.push(...(await stampDomains(root, \"skaile-factory\", rootEntries)));\n entries.push(...rootEntries);\n }\n return { entries, domains, notes };\n } catch (err) {\n notes.push({\n feed: \"factory\",\n message: err instanceof Error ? err.message : String(err),\n });\n return { entries: [], domains, notes };\n }\n}\n\n/** Tag a flat entry list with a single origin. */\nfunction tag(origin: AssetOrigin, entries: CatalogEntry[]): OriginEntry[] {\n return entries.map((entry) => ({ origin, entry }));\n}\n\n/**\n * Run all feeds and return a single normalized result.\n *\n * Feeds run in parallel where possible — the store fetch is the slow one\n * (one HTTP call) and is fired alongside the local library walk. The factory\n * scan is local disk only, so it runs inline.\n */\nexport async function gatherAssetFeeds(\n am: AssetManagerLike,\n projectDir: string,\n): Promise<AssetFeedResult> {\n const [libs, store] = await Promise.all([libraryAssets(), storeAssets(projectDir)]);\n const factory = await factoryAssets();\n const src = await sourceAssets(am);\n return {\n entries: [\n ...src.entries,\n ...libs.entries,\n ...tag(\"factory\", factory.entries),\n ...tag(\"store\", store.entries),\n ],\n // Store domains first (server-curated), then the on-disk feeds; dedupe by\n // slug, first-wins, so a store-served domain shadows a same-slug local one.\n domains: dedupeBySlug([...store.domains, ...src.domains, ...libs.domains, ...factory.domains]),\n notes: [...libs.notes, ...store.notes, ...factory.notes],\n };\n}\n\n/** First-wins dedupe of a domain list by `slug`. */\nfunction dedupeBySlug(domains: CatalogDomain[]): CatalogDomain[] {\n const seen = new Set<string>();\n const out: CatalogDomain[] = [];\n for (const d of domains) {\n if (seen.has(d.slug)) continue;\n seen.add(d.slug);\n out.push(d);\n }\n return out;\n}\n"]}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
export { WORKSPACE_MOUNT_ENV_VAR, deployAll, deployCatalogEntry, findAiAssetsRoot, isUnderWorkspaceMount, resolveFlowSkills, undeployCatalogEntry, workspaceMountDirs } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { WORKSPACE_MOUNT_ENV_VAR, deployAll, deployCatalogEntry, findAiAssetsRoot, isUnderWorkspaceMount, resolveFlowSkills, undeployCatalogEntry, workspaceMountDirs } from '../chunk-DOVURNRK.js';
|
|
2
|
+
import '../chunk-YV3YI3TA.js';
|
|
3
3
|
import '../chunk-4GY63JU6.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-36ML6SFP.js';
|
|
5
|
+
import '../chunk-KAJH3XPW.js';
|
|
6
6
|
import '../chunk-K5GBV4SA.js';
|
|
7
7
|
import '../chunk-QVZA2MDT.js';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-JEPSP6XK.js';
|
|
9
|
+
import '../chunk-TLKM4M47.js';
|
|
9
10
|
import '../chunk-EB4ZTESQ.js';
|
|
10
|
-
import '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-DSB6X25D.js';
|
|
12
|
+
import '../chunk-5K2VT6E2.js';
|
|
13
|
+
import '../chunk-A5EDMBFG.js';
|
|
13
14
|
import '../chunk-JMKB7IB4.js';
|
|
14
15
|
import '../chunk-ICSCSM5D.js';
|
|
15
16
|
import '../chunk-MJHSLODD.js';
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-QWWDDU5Z.js';
|
|
2
|
+
import '../chunk-XU7JET5Z.js';
|
|
3
|
+
import '../chunk-OLMNDIAU.js';
|
|
4
|
+
import '../chunk-2EL2PBRC.js';
|
|
5
5
|
import '../chunk-R7FOF242.js';
|
|
6
6
|
import '../chunk-JXT46QFC.js';
|
|
7
|
-
export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-
|
|
7
|
+
export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-YCMZHL4T.js';
|
|
8
8
|
export { BUILT_IN_FRAGMENTS, loadPromptExtensions, resolveFragments } from '../chunk-CGYEHQOX.js';
|
|
9
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-YV3YI3TA.js';
|
|
10
10
|
import '../chunk-4GY63JU6.js';
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-36ML6SFP.js';
|
|
12
|
+
import '../chunk-KAJH3XPW.js';
|
|
13
13
|
import '../chunk-K5GBV4SA.js';
|
|
14
14
|
import '../chunk-QVZA2MDT.js';
|
|
15
|
-
import '../chunk-
|
|
15
|
+
import '../chunk-JEPSP6XK.js';
|
|
16
|
+
import '../chunk-TLKM4M47.js';
|
|
16
17
|
import '../chunk-EB4ZTESQ.js';
|
|
17
|
-
import '../chunk-
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-DSB6X25D.js';
|
|
19
|
+
import '../chunk-5K2VT6E2.js';
|
|
20
|
+
import '../chunk-A5EDMBFG.js';
|
|
20
21
|
import '../chunk-JMKB7IB4.js';
|
|
21
22
|
import '../chunk-ICSCSM5D.js';
|
|
22
23
|
import '../chunk-MJHSLODD.js';
|
|
@@ -24,8 +25,8 @@ import '../chunk-C3CAXQMA.js';
|
|
|
24
25
|
import '../chunk-BOFL7GIF.js';
|
|
25
26
|
export { appendHistory, clearHistory, getRecentHistory, loadHistory } from '../chunk-KTBKW2FI.js';
|
|
26
27
|
import '../chunk-UQ6LFBPZ.js';
|
|
27
|
-
export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-
|
|
28
|
-
import '../chunk-
|
|
28
|
+
export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-TNWXGHLD.js';
|
|
29
|
+
import '../chunk-5CYEWBPB.js';
|
|
29
30
|
import '../chunk-NSBPE2FW.js';
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
export { createScaffold, deployAll, deployAsset, removeAsset } from '../chunk-
|
|
1
|
+
export { createScaffold, deployAll, deployAsset, removeAsset } from '../chunk-YCMZHL4T.js';
|
|
2
2
|
import '../chunk-CGYEHQOX.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-YV3YI3TA.js';
|
|
4
4
|
import '../chunk-4GY63JU6.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-36ML6SFP.js';
|
|
6
|
+
import '../chunk-KAJH3XPW.js';
|
|
7
7
|
import '../chunk-K5GBV4SA.js';
|
|
8
8
|
import '../chunk-QVZA2MDT.js';
|
|
9
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-JEPSP6XK.js';
|
|
10
|
+
import '../chunk-TLKM4M47.js';
|
|
10
11
|
import '../chunk-EB4ZTESQ.js';
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-DSB6X25D.js';
|
|
13
|
+
import '../chunk-5K2VT6E2.js';
|
|
14
|
+
import '../chunk-A5EDMBFG.js';
|
|
14
15
|
import '../chunk-JMKB7IB4.js';
|
|
15
16
|
import '../chunk-ICSCSM5D.js';
|
|
16
17
|
import '../chunk-MJHSLODD.js';
|
|
17
18
|
import '../chunk-C3CAXQMA.js';
|
|
18
19
|
import '../chunk-BOFL7GIF.js';
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
20
|
+
import '../chunk-TNWXGHLD.js';
|
|
21
|
+
import '../chunk-5CYEWBPB.js';
|
|
21
22
|
import '../chunk-NSBPE2FW.js';
|
|
22
23
|
//# sourceMappingURL=installer.js.map
|
|
23
24
|
//# sourceMappingURL=installer.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-TNWXGHLD.js';
|
|
2
|
+
import '../chunk-5CYEWBPB.js';
|
|
3
3
|
import '../chunk-NSBPE2FW.js';
|
|
4
4
|
//# sourceMappingURL=renderers.js.map
|
|
5
5
|
//# sourceMappingURL=renderers.js.map
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import type { AssetRef, CatalogEntry, DriverTarget, LockFile, StoreFetcher } from "@skaile/workspaces/core";
|
|
13
13
|
import type { AssetFetcher } from "@skaile/workspaces/library";
|
|
14
14
|
import type { HistoryEntry } from "./history.js";
|
|
15
|
+
import type { ScaffoldOptions } from "./installer.js";
|
|
15
16
|
/**
|
|
16
17
|
* Normalize a git remote URL to a comparable identity so the same repo declared
|
|
17
18
|
* in different syntaxes (`https://…`, `git@host:…`, trailing `/`, `.git` suffix,
|
|
@@ -128,7 +129,7 @@ export declare class MissingManifestError extends Error {
|
|
|
128
129
|
}
|
|
129
130
|
export type { HistoryEntry } from "./history.js";
|
|
130
131
|
export { appendHistory, clearHistory, getRecentHistory, loadHistory, } from "./history.js";
|
|
131
|
-
export type { DeployOptions } from "./installer.js";
|
|
132
|
+
export type { DeployOptions, ScaffoldOptions } from "./installer.js";
|
|
132
133
|
export { createScaffold, deployAll, removeAsset } from "./installer.js";
|
|
133
134
|
export type { RenderMcpConfigOptions, RenderMcpConfigResult, SkippedMcpServer, } from "./mcp-config.js";
|
|
134
135
|
export { renderMcpServerConfig } from "./mcp-config.js";
|
|
@@ -210,9 +211,34 @@ export interface OutdatedEntry {
|
|
|
210
211
|
publisher: string;
|
|
211
212
|
/** Version string recorded in the lock file at install time. */
|
|
212
213
|
currentVersion: string;
|
|
213
|
-
/** Number of commits the local repository is behind the remote. */
|
|
214
|
+
/** Number of commits the local repository is behind the remote (always 0 for a library asset). */
|
|
214
215
|
behind: number;
|
|
216
|
+
/** Library-origin asset only: the version the library index now offers (newer than `currentVersion`). */
|
|
217
|
+
latestVersion?: string;
|
|
218
|
+
/** Library-origin asset only: name of the library the asset was locked from. */
|
|
219
|
+
library?: string;
|
|
215
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Outcome of `AssetManager.diff()` — distinguishes an unknown ref from a real
|
|
223
|
+
* "no differences" so callers never conflate the two.
|
|
224
|
+
*
|
|
225
|
+
* - `not-found` — the ref resolves to no asset (source, store or library).
|
|
226
|
+
* - `not-deployed` — the asset resolves, but there is no deployed copy to compare.
|
|
227
|
+
* - `identical` — the deployed copy matches the source.
|
|
228
|
+
* - `differs` — the deployed copy differs; `diff` carries the unified diff.
|
|
229
|
+
*
|
|
230
|
+
* @docLink packages/asset-manager/concepts#asset-manager
|
|
231
|
+
*/
|
|
232
|
+
export type DiffResult = {
|
|
233
|
+
status: "not-found";
|
|
234
|
+
} | {
|
|
235
|
+
status: "not-deployed";
|
|
236
|
+
} | {
|
|
237
|
+
status: "identical";
|
|
238
|
+
} | {
|
|
239
|
+
status: "differs";
|
|
240
|
+
diff: string;
|
|
241
|
+
};
|
|
216
242
|
/**
|
|
217
243
|
* A node in the resolved dependency tree (returned by `AssetManager.tree()`).
|
|
218
244
|
*
|
|
@@ -444,15 +470,40 @@ export declare class AssetManager {
|
|
|
444
470
|
* the consume side of `library create` — a freshly authored asset is
|
|
445
471
|
* deployable with `skaile add <kind>:@<publisher>/<name>` without publishing.
|
|
446
472
|
*
|
|
447
|
-
*
|
|
448
|
-
*
|
|
449
|
-
*
|
|
450
|
-
* re-discovered on every `add`/`install`, so reconcile never treats them as
|
|
451
|
-
* stale.
|
|
473
|
+
* Local read (no network) and mirrors how `findSkills` discovers library
|
|
474
|
+
* content. The returned `libraryOf` map names the library each entry came from
|
|
475
|
+
* so callers can lock it as library-origin (see {@link libraryLockEntries}).
|
|
452
476
|
*
|
|
453
|
-
* @returns the matched deploy entries
|
|
477
|
+
* @returns the matched deploy entries, the set of `missing` refs covered, and
|
|
478
|
+
* each entry's originating library name.
|
|
454
479
|
*/
|
|
455
480
|
private resolveLibraryEntries;
|
|
481
|
+
/**
|
|
482
|
+
* Open the local index and snapshot its libraries + asset definitions.
|
|
483
|
+
* Best-effort: no index file (never indexed), or any open/guard failure,
|
|
484
|
+
* yields `null` — a lock/outdated read must never create `index.db` or throw.
|
|
485
|
+
*/
|
|
486
|
+
private loadLibraryIndex;
|
|
487
|
+
/**
|
|
488
|
+
* Library-origin lock entries for the assets {@link resolveLibraryEntries}
|
|
489
|
+
* matched. The locked version comes from the library index when it knows the
|
|
490
|
+
* asset (its manifest-declared version is authoritative), else from the
|
|
491
|
+
* on-disk asset. The hash is computed from the files on disk, so it matches
|
|
492
|
+
* what `install --locked` re-hashes.
|
|
493
|
+
*/
|
|
494
|
+
private libraryLockEntries;
|
|
495
|
+
/**
|
|
496
|
+
* Re-resolve every library-origin lock entry from its named library, for
|
|
497
|
+
* `install --locked`. An entry is restored only when its library is still
|
|
498
|
+
* registered/on disk, still holds the asset, and still offers the locked
|
|
499
|
+
* version; anything else is reported in `missing` with the reason.
|
|
500
|
+
*/
|
|
501
|
+
private restoreLibraryLockEntries;
|
|
502
|
+
/**
|
|
503
|
+
* On-disk root of the library named `name`: the registered path from the index
|
|
504
|
+
* when it exists, else `<libraries dir>/<name>`; `null` when neither is a directory.
|
|
505
|
+
*/
|
|
506
|
+
private libraryPath;
|
|
456
507
|
/** A candidate's stable identity key (`<publisher>/<kind>:<name>@<version>`). */
|
|
457
508
|
private candidateKey;
|
|
458
509
|
/**
|
|
@@ -543,7 +594,9 @@ export declare class AssetManager {
|
|
|
543
594
|
private ensureSourceClonesQuiet;
|
|
544
595
|
/**
|
|
545
596
|
* Remove stale assets — those recorded in the old lock but absent from the
|
|
546
|
-
* newly resolved set
|
|
597
|
+
* newly resolved set (`resolved` source candidates plus `keep`, the canonical
|
|
598
|
+
* refs of library-origin assets locked in this run). Returns the list of
|
|
599
|
+
* removed refs.
|
|
547
600
|
*/
|
|
548
601
|
private reconcileRemovedAssets;
|
|
549
602
|
/** Append `add`/`remove` history entries for a completed install reconcile. */
|
|
@@ -824,14 +877,18 @@ export declare class AssetManager {
|
|
|
824
877
|
*/
|
|
825
878
|
why(ref: string): string[];
|
|
826
879
|
/**
|
|
827
|
-
* List installed assets
|
|
880
|
+
* List installed assets that have a newer upstream available.
|
|
828
881
|
*
|
|
829
|
-
*
|
|
882
|
+
* Two kinds of staleness are reported:
|
|
883
|
+
* - **Source assets** — only remote repositories (not local paths) are checked;
|
|
884
|
+
* `behind` is the number of commits the local clone is missing.
|
|
885
|
+
* - **Library assets** — a library-origin lock entry whose library index now
|
|
886
|
+
* offers a newer version than the locked one; `behind` is 0, `latestVersion`
|
|
887
|
+
* and `library` are set. A library not indexed (or removed) is not reported.
|
|
830
888
|
*
|
|
831
|
-
* @returns Array of {@link OutdatedEntry} objects
|
|
832
|
-
* that has commits not yet pulled locally.
|
|
889
|
+
* @returns Array of {@link OutdatedEntry} objects.
|
|
833
890
|
*/
|
|
834
|
-
outdated(): OutdatedEntry[]
|
|
891
|
+
outdated(): Promise<OutdatedEntry[]>;
|
|
835
892
|
/**
|
|
836
893
|
* Produce a unified diff between the deployed asset and its catalog source.
|
|
837
894
|
*
|
|
@@ -839,10 +896,11 @@ export declare class AssetManager {
|
|
|
839
896
|
* was applied correctly.
|
|
840
897
|
*
|
|
841
898
|
* @param ref - Asset ref in `kind:name` form.
|
|
842
|
-
* @returns
|
|
843
|
-
*
|
|
899
|
+
* @returns A {@link DiffResult}: `not-found` (unknown ref), `not-deployed`,
|
|
900
|
+
* `identical`, or `differs` with the unified diff.
|
|
901
|
+
* @throws When `diff(1)` itself fails (exit status other than 0/1).
|
|
844
902
|
*/
|
|
845
|
-
diff(ref: string): Promise<
|
|
903
|
+
diff(ref: string): Promise<DiffResult>;
|
|
846
904
|
/**
|
|
847
905
|
* Resolve all declared dependencies and write (or overwrite) `skaile.lock.yaml`.
|
|
848
906
|
*
|
|
@@ -906,10 +964,11 @@ export declare class AssetManager {
|
|
|
906
964
|
* @param name - Asset name (also used as the directory name).
|
|
907
965
|
* @param kind - Asset kind: `skill` | `agent` | `bundle` | `flow` | `prompt` | `contract`.
|
|
908
966
|
* @param destDir - Parent directory to create the asset in.
|
|
967
|
+
* @param opts - Optional scaffold content (`description`).
|
|
909
968
|
* @returns `{ ok: true, path }` on success, `{ ok: false, path: errorMessage }` if the
|
|
910
969
|
* directory already exists.
|
|
911
970
|
*/
|
|
912
|
-
create(name: string, kind: string, destDir: string): {
|
|
971
|
+
create(name: string, kind: string, destDir: string, opts?: ScaffoldOptions): {
|
|
913
972
|
ok: boolean;
|
|
914
973
|
path: string;
|
|
915
974
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,OAAO,KAAK,EAEV,QAAQ,EACR,YAAY,EACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,15 @@ export declare function deployAll(resolved: CatalogEntry[], repositories: Record
|
|
|
74
74
|
* @docLink packages/asset-manager/api-reference#installer
|
|
75
75
|
*/
|
|
76
76
|
export declare function removeAsset(kind: string, name: string, opts?: DeployOptions): boolean;
|
|
77
|
+
/** Options for {@link createScaffold}. */
|
|
78
|
+
export interface ScaffoldOptions {
|
|
79
|
+
/**
|
|
80
|
+
* Description written into the manifest. Omitted: markdown kinds get a
|
|
81
|
+
* `TODO:` placeholder that `skaile validate` rejects until it is replaced;
|
|
82
|
+
* bundles and flows keep their generic default.
|
|
83
|
+
*/
|
|
84
|
+
description?: string;
|
|
85
|
+
}
|
|
77
86
|
/**
|
|
78
87
|
* Create a minimal scaffold directory for a new asset.
|
|
79
88
|
*
|
|
@@ -84,11 +93,12 @@ export declare function removeAsset(kind: string, name: string, opts?: DeployOpt
|
|
|
84
93
|
* @param name - Asset name (also used as the directory name).
|
|
85
94
|
* @param kind - Asset kind: `skill` | `agent` | `bundle` | `flow` | `prompt` | `contract`.
|
|
86
95
|
* @param destDir - Parent directory to create the asset in.
|
|
96
|
+
* @param opts - Optional scaffold content ({@link ScaffoldOptions}).
|
|
87
97
|
* @returns `{ ok: true, path }` on success, `{ ok: false, path: errorMessage }` if the
|
|
88
98
|
* directory already exists.
|
|
89
99
|
* @docLink packages/asset-manager/api-reference#installer
|
|
90
100
|
*/
|
|
91
|
-
export declare function createScaffold(name: string, kind: string, destDir: string): {
|
|
101
|
+
export declare function createScaffold(name: string, kind: string, destDir: string, opts?: ScaffoldOptions): {
|
|
92
102
|
ok: boolean;
|
|
93
103
|
path: string;
|
|
94
104
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAEV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAEV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,YAAY,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAmD1C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,+GAA+G;IAC/G,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,IAAI,GAAE,aAAkB,EACxB,GAAG,GAAE,GAAU,GACd,OAAO,CA2DT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,YAAY,EAAE,EACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,GAAE,aAAkB,EACxB,GAAG,GAAE,GAAU,GACd,MAAM,EAAE,CA8FV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAczF;AA2CD,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,eAAoB,GACzB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAqC/B"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { formatDroppedToolsNotice, filterInProcessMcpServerTools, checkToolPropertyKeys } from '../../chunk-X5O56UO4.js';
|
|
2
|
-
import { scrubPoisonedTranscript, transcriptStoreForRuntime, resolveClaudeConfigDir, claudeEndpointMode, buildClaudeEndpointEnv } from '../../chunk-
|
|
2
|
+
import { scrubPoisonedTranscript, transcriptStoreForRuntime, resolveClaudeConfigDir, claudeEndpointMode, buildClaudeEndpointEnv } from '../../chunk-5NYBY6ZE.js';
|
|
3
3
|
import { scopeReconfigureModel } from '../../chunk-EINLFFP6.js';
|
|
4
|
-
import { dispatchCapability } from '../../chunk-
|
|
5
|
-
import { fetchProviderModels } from '../../chunk-
|
|
4
|
+
import { dispatchCapability } from '../../chunk-PRCUGFXV.js';
|
|
5
|
+
import { fetchProviderModels } from '../../chunk-4WKZEMBD.js';
|
|
6
6
|
import { AuthError, stripRunnerPrivateEnv, classifyClaudeSdkError, reclassifyAuthAsAccountUnavailable, AccountUnavailableError, isLongContextEntitlementRejection, LONG_CONTEXT_CREDITS_API_ERROR } from '../../chunk-XBSQ4KMC.js';
|
|
7
7
|
import { agentExecRequested, wrapAgentCommand, resolveAgentExec } from '../../chunk-YROR332M.js';
|
|
8
|
-
import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger, entryCredentialValue, registryDriverConfig } from '../../chunk-
|
|
8
|
+
import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger, entryCredentialValue, registryDriverConfig } from '../../chunk-6KPQDP7P.js';
|
|
9
9
|
import '../../chunk-6E6PKKAD.js';
|
|
10
|
-
import { withActivityLabelShape } from '../../chunk-
|
|
11
|
-
import '../../chunk-
|
|
10
|
+
import { withActivityLabelShape } from '../../chunk-YNUBJY3L.js';
|
|
11
|
+
import '../../chunk-YV3YI3TA.js';
|
|
12
12
|
import '../../chunk-4GY63JU6.js';
|
|
13
|
-
import '../../chunk-
|
|
14
|
-
import '../../chunk-
|
|
13
|
+
import '../../chunk-36ML6SFP.js';
|
|
14
|
+
import '../../chunk-KAJH3XPW.js';
|
|
15
15
|
import '../../chunk-K5GBV4SA.js';
|
|
16
16
|
import '../../chunk-QVZA2MDT.js';
|
|
17
|
-
import '../../chunk-
|
|
17
|
+
import '../../chunk-JEPSP6XK.js';
|
|
18
|
+
import '../../chunk-TLKM4M47.js';
|
|
18
19
|
import '../../chunk-EB4ZTESQ.js';
|
|
19
|
-
import '../../chunk-
|
|
20
|
-
import '../../chunk-
|
|
21
|
-
import '../../chunk-
|
|
20
|
+
import '../../chunk-DSB6X25D.js';
|
|
21
|
+
import '../../chunk-5K2VT6E2.js';
|
|
22
|
+
import '../../chunk-A5EDMBFG.js';
|
|
22
23
|
import '../../chunk-JMKB7IB4.js';
|
|
23
24
|
import '../../chunk-ICSCSM5D.js';
|
|
24
25
|
import { mergeRegistries, parseModelRef, isEntryEnabled, resolveEntryBaseUrl } from '../../chunk-MJHSLODD.js';
|
|
25
26
|
import '../../chunk-C3CAXQMA.js';
|
|
26
27
|
import { createLogger } from '../../chunk-BOFL7GIF.js';
|
|
27
|
-
import '../../chunk-
|
|
28
|
+
import '../../chunk-5CYEWBPB.js';
|
|
28
29
|
import '../../chunk-NSBPE2FW.js';
|
|
29
30
|
import { spawnSync, spawn } from 'child_process';
|
|
30
31
|
import { readFileSync, existsSync } from 'fs';
|