@skaile/workspaces 4.36.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 +44 -0
- package/dist/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-SJELMLNK.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-3CLUU45N.js → chunk-27DN4DZD.js} +8 -8
- package/dist/{chunk-3CLUU45N.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-O63QZ6XX.js → chunk-4WKZEMBD.js} +4 -4
- package/dist/{chunk-O63QZ6XX.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-FQE2NBUH.js → chunk-6EMF4UZI.js} +8 -8
- package/dist/{chunk-FQE2NBUH.js.map → chunk-6EMF4UZI.js.map} +1 -1
- package/dist/{chunk-MQU632EK.js → chunk-6KPQDP7P.js} +2 -2
- package/dist/{chunk-MQU632EK.js.map → chunk-6KPQDP7P.js.map} +1 -1
- package/dist/{chunk-LVRKJW53.js → chunk-6VRZ6M2L.js} +10 -3
- package/dist/chunk-6VRZ6M2L.js.map +1 -0
- package/dist/{chunk-5L55HNNA.js → chunk-7FZSABQV.js} +5 -5
- package/dist/{chunk-5L55HNNA.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-3VUHHDZW.js → chunk-7UL2SQQH.js} +4 -4
- package/dist/{chunk-3VUHHDZW.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-TILISP6X.js → chunk-BQ3HXZNT.js} +2 -2
- package/dist/{chunk-TILISP6X.js.map → chunk-BQ3HXZNT.js.map} +1 -1
- package/dist/{chunk-NVNKPWL4.js → chunk-CACCIOQL.js} +12 -12
- package/dist/{chunk-NVNKPWL4.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-ZWTCXL3H.js → chunk-DV47JNI4.js} +3 -3
- package/dist/{chunk-ZWTCXL3H.js.map → chunk-DV47JNI4.js.map} +1 -1
- package/dist/{chunk-Q7SIVPM2.js → chunk-EETXMMZS.js} +3 -3
- package/dist/{chunk-Q7SIVPM2.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-YOIENZHA.js → chunk-HXG6IZSF.js} +6 -6
- package/dist/{chunk-YOIENZHA.js.map → chunk-HXG6IZSF.js.map} +1 -1
- package/dist/{chunk-L22WTIIC.js → chunk-ILAZDNIA.js} +3 -3
- package/dist/{chunk-L22WTIIC.js.map → chunk-ILAZDNIA.js.map} +1 -1
- package/dist/{chunk-FWZTKSYI.js → chunk-J5UF3OOS.js} +10 -10
- package/dist/{chunk-FWZTKSYI.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-5JJ5KQUM.js → chunk-MS2JK4V7.js} +6 -6
- package/dist/{chunk-5JJ5KQUM.js.map → chunk-MS2JK4V7.js.map} +1 -1
- package/dist/{chunk-JRSLMZOT.js → chunk-OKGUDNDT.js} +37 -7
- package/dist/chunk-OKGUDNDT.js.map +1 -0
- 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-TTITGVXV.js → chunk-PRCUGFXV.js} +3 -3
- package/dist/{chunk-TTITGVXV.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-PKGI5QG7.js → chunk-QWWDDU5Z.js} +274 -67
- package/dist/chunk-QWWDDU5Z.js.map +1 -0
- package/dist/{chunk-NKYNDLCB.js → chunk-R2U346ER.js} +3 -3
- package/dist/{chunk-NKYNDLCB.js.map → chunk-R2U346ER.js.map} +1 -1
- package/dist/{chunk-KVDXSEQH.js → chunk-R5ARWJGE.js} +104 -63
- 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-LIS5KT2X.js → chunk-YCJ3PJNB.js} +5 -5
- package/dist/{chunk-LIS5KT2X.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-JS7DCCDA.js → chunk-YNUBJY3L.js} +4 -4
- 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-SYZO2HNP.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-IMUCDNME.js → helpers-DF55G2YC.js} +18 -17
- package/dist/{helpers-IMUCDNME.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-XAIAHKRL.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-6N3XZ2XL.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-HESTMGPU.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/prompt-turn-queue.d.ts +27 -4
- package/dist/runner/src/prompt-turn-queue.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/store.js +1 -1
- 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/session/src/dispatcher.d.ts.map +1 -1
- package/dist/{setup-PQG5DH5Z.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-PNYNVVPM.js → source-Y5YQ7M53.js} +21 -20
- package/dist/{source-PNYNVVPM.js.map → source-Y5YQ7M53.js.map} +1 -1
- package/dist/{source-manifest-publish-6O6H4T2P.js → source-manifest-publish-RZIJNRIW.js} +24 -25
- package/dist/source-manifest-publish-RZIJNRIW.js.map +1 -0
- package/dist/store/index.js +1 -1
- package/dist/store/src/store.d.ts +9 -0
- package/dist/store/src/store.d.ts.map +1 -1
- package/dist/store/src/types.d.ts +17 -0
- package/dist/store/src/types.d.ts.map +1 -1
- 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 +28 -3
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.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/types/src/protocol.d.ts +2 -0
- package/dist/types/src/protocol.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +12 -1
- package/dist/types/src/version.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-SJELMLNK.js.map +0 -1
- package/dist/chunk-2D3C4AJP.js.map +0 -1
- package/dist/chunk-422WJ2QC.js +0 -158
- package/dist/chunk-422WJ2QC.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-JRSLMZOT.js.map +0 -1
- package/dist/chunk-JS7DCCDA.js.map +0 -1
- package/dist/chunk-KIFJWSNC.js.map +0 -1
- package/dist/chunk-KVDXSEQH.js.map +0 -1
- package/dist/chunk-LVRKJW53.js.map +0 -1
- package/dist/chunk-MDBAEEY5.js.map +0 -1
- package/dist/chunk-PKGI5QG7.js.map +0 -1
- package/dist/chunk-QKXDRBLL.js.map +0 -1
- package/dist/chunk-VCLN2IUM.js.map +0 -1
- package/dist/chunk-XN7DAZB7.js.map +0 -1
- package/dist/ensure-sources-SYZO2HNP.js.map +0 -1
- package/dist/flows-6MDMBQUZ.js +0 -24
- package/dist/library-publish-XAIAHKRL.js.map +0 -1
- package/dist/open-library-6N3XZ2XL.js +0 -37
- package/dist/paths-4MTICP3T.js +0 -20
- package/dist/plugin-store-GQ4WQZJ2.js.map +0 -1
- package/dist/project-HESTMGPU.js +0 -33
- package/dist/setup-PQG5DH5Z.js.map +0 -1
- package/dist/skills-JHUY4DFE.js +0 -24
- package/dist/source-manifest-publish-6O6H4T2P.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export { ConnectorManifestSchema, validateConnector } from "./connector.js";
|
|
|
15
15
|
export type { MountManifest } from "./mount.js";
|
|
16
16
|
export { MountManifestSchema, validateMount } from "./mount.js";
|
|
17
17
|
export type { SkillManifest } from "./skill.js";
|
|
18
|
-
export { SkillManifestSchema, validateSkill } from "./skill.js";
|
|
18
|
+
export { SKILL_BODY_PLACEHOLDER, SKILL_DESCRIPTION_PLACEHOLDER, SKILL_DESCRIPTION_PLACEHOLDER_PREFIX, SkillManifestSchema, validateSkill, } from "./skill.js";
|
|
19
19
|
export type { ContractManifest } from "./contract.js";
|
|
20
20
|
export { ContractManifestSchema, validateContract } from "./contract.js";
|
|
21
21
|
export type { McpServerManifest } from "./mcp-server.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/src/manifests/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACV,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/src/manifests/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACV,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,oCAAoC,EACpC,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKnE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMtE,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AA+BxE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAMhG"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
2
|
import { type ManifestValidationResult } from "./_shared.js";
|
|
3
|
+
/**
|
|
4
|
+
* Prefix `skaile library create` writes into a new skill's `description`. The
|
|
5
|
+
* Agent Skills spec requires a real description (what the skill does and when
|
|
6
|
+
* to use it), so a description that still starts with this marker is rejected.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SKILL_DESCRIPTION_PLACEHOLDER_PREFIX = "TODO:";
|
|
9
|
+
/** Full placeholder description the scaffold writes when `--description` is omitted. */
|
|
10
|
+
export declare const SKILL_DESCRIPTION_PLACEHOLDER = "TODO: describe what this skill does and when to use it.";
|
|
11
|
+
/** Body the scaffold writes into a new SKILL.md; an untouched body is a lint warning. */
|
|
12
|
+
export declare const SKILL_BODY_PLACEHOLDER = "Skill prompt goes here.";
|
|
3
13
|
export declare const SkillManifestSchema: z.ZodObject<{
|
|
4
14
|
name: z.ZodString;
|
|
5
15
|
description: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../types/src/manifests/skill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAIL,KAAK,wBAAwB,EAG9B,MAAM,cAAc,CAAC;AA4CtB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../types/src/manifests/skill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAIL,KAAK,wBAAwB,EAG9B,MAAM,cAAc,CAAC;AA4CtB;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,UAAU,CAAC;AAE5D,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,4DAA8F,CAAC;AAEzI,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2B9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAEpF"}
|
|
@@ -51,6 +51,7 @@ export type AgentCommand = {
|
|
|
51
51
|
attachments?: AgentPromptInput["attachments"];
|
|
52
52
|
replyTo?: ReplyRef;
|
|
53
53
|
messageId?: string;
|
|
54
|
+
senderId?: string;
|
|
54
55
|
} | {
|
|
55
56
|
type: "reply";
|
|
56
57
|
answer: string;
|
|
@@ -58,6 +59,7 @@ export type AgentCommand = {
|
|
|
58
59
|
requestId?: string;
|
|
59
60
|
} | {
|
|
60
61
|
type: "cancel";
|
|
62
|
+
senderId?: string;
|
|
61
63
|
} | {
|
|
62
64
|
type: "shutdown";
|
|
63
65
|
} | ConnectorRequestCommand | DebugCommand | ConnectorMutateCommand | ConnectorQueryCommand | ConnectorConfigCommand | StateUpdateCommand | CustomMessageCommand | GetContextUsageCommand | CapabilityRegisterCommand | CapabilityDeregisterCommand | CapabilityResultCommand | CapabilityApproveCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../types/src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,2FAA2F;AAC3F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,KAAK,CACf;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC/B;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC5C;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAChD,CAAC;CACH;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../types/src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,17 @@ export type ProtocolVersion = {
|
|
|
48
48
|
* @category Protocol
|
|
49
49
|
* @since 3.0.0
|
|
50
50
|
*
|
|
51
|
+
* Changed in 4.14.0:
|
|
52
|
+
* `prompt` and `cancel` take an optional `senderId`, the user id of
|
|
53
|
+
* `MessageMeta.senderId`. A `cancel` with a `senderId` aborts the running turn
|
|
54
|
+
* as before and also drops that sender's prompts still waiting in the runner's
|
|
55
|
+
* prompt queue; the runner reports them in the new `queued_prompts_dropped`
|
|
56
|
+
* event. Other senders' queued prompts stay queued, and a prompt without a
|
|
57
|
+
* `senderId` is never dropped. A `cancel` without one keeps 4.13 behaviour. A
|
|
58
|
+
* 4.13 runner ignores both fields and runs every queued prompt after a
|
|
59
|
+
* cancel, so a host must feature-detect on `major === 4 && minor >= 14` before
|
|
60
|
+
* it marks prompts as not sent from anything but the event itself.
|
|
61
|
+
*
|
|
51
62
|
* Changed in 4.13.0:
|
|
52
63
|
* `runner.lifecycle` with `phase: "compact"` takes an optional `trigger`
|
|
53
64
|
* (`"manual"` | `"hibernate"`, default `"manual"`). `"hibernate"` compacts
|
|
@@ -358,7 +369,7 @@ export declare const PROTOCOL_VERSION: ProtocolVersion;
|
|
|
358
369
|
* @since 3.0.0
|
|
359
370
|
* @docLink packages/types/protocol-v3#protocol-version
|
|
360
371
|
*/
|
|
361
|
-
export declare const PROTOCOL_VERSION_STRING = "4.
|
|
372
|
+
export declare const PROTOCOL_VERSION_STRING = "4.14.0";
|
|
362
373
|
/**
|
|
363
374
|
* Parse a `"major.minor.patch"` string into a {@link ProtocolVersion}.
|
|
364
375
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../types/src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,4GAA4G;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../types/src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,4GAA4G;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuUG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAmD,CAAC;AAEnF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAoBvD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAExD"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
export { buildWorkspaceMcpServer, buildWorkspaceMcpStdioServer, buildWorkspaceToolDefs, runMcpServerStdio } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
1
|
+
export { buildWorkspaceMcpServer, buildWorkspaceMcpStdioServer, buildWorkspaceToolDefs, runMcpServerStdio } from '../../chunk-YCJ3PJNB.js';
|
|
2
|
+
import '../../chunk-QBQITQAM.js';
|
|
3
|
+
import '../../chunk-VDBP6Y5M.js';
|
|
4
|
+
import '../../chunk-EOKAFBJ7.js';
|
|
5
5
|
import '../../chunk-4ZTPYIBE.js';
|
|
6
6
|
import '../../chunk-35G4M33T.js';
|
|
7
7
|
import '../../chunk-R6O6YWU7.js';
|
|
8
8
|
import '../../chunk-X5YPJV4N.js';
|
|
9
|
-
import '../../chunk-
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import '../../chunk-
|
|
12
|
-
import '../../chunk-
|
|
9
|
+
import '../../chunk-OQRB7JUS.js';
|
|
10
|
+
import '../../chunk-DOVURNRK.js';
|
|
11
|
+
import '../../chunk-YNUBJY3L.js';
|
|
12
|
+
import '../../chunk-YV3YI3TA.js';
|
|
13
13
|
import '../../chunk-4GY63JU6.js';
|
|
14
|
-
import '../../chunk-
|
|
15
|
-
import '../../chunk-
|
|
14
|
+
import '../../chunk-36ML6SFP.js';
|
|
15
|
+
import '../../chunk-KAJH3XPW.js';
|
|
16
16
|
import '../../chunk-K5GBV4SA.js';
|
|
17
17
|
import '../../chunk-QVZA2MDT.js';
|
|
18
|
-
import '../../chunk-
|
|
18
|
+
import '../../chunk-JEPSP6XK.js';
|
|
19
|
+
import '../../chunk-TLKM4M47.js';
|
|
19
20
|
import '../../chunk-EB4ZTESQ.js';
|
|
20
|
-
import '../../chunk-
|
|
21
|
-
import '../../chunk-
|
|
22
|
-
import '../../chunk-
|
|
21
|
+
import '../../chunk-DSB6X25D.js';
|
|
22
|
+
import '../../chunk-5K2VT6E2.js';
|
|
23
|
+
import '../../chunk-A5EDMBFG.js';
|
|
23
24
|
import '../../chunk-JMKB7IB4.js';
|
|
24
25
|
import '../../chunk-ICSCSM5D.js';
|
|
25
26
|
import '../../chunk-MJHSLODD.js';
|
|
@@ -74,7 +74,7 @@ function buildOmpToolSet(plugin) {
|
|
|
74
74
|
description: "List all available flow definitions from ai-assets.",
|
|
75
75
|
parameters: {},
|
|
76
76
|
handler: async () => {
|
|
77
|
-
const { flowList } = await import('../../flows-
|
|
77
|
+
const { flowList } = await import('../../flows-PX53XFV7.js');
|
|
78
78
|
return (await flowList(plugin.projectDir)).content[0].text;
|
|
79
79
|
}
|
|
80
80
|
},
|
|
@@ -83,7 +83,7 @@ function buildOmpToolSet(plugin) {
|
|
|
83
83
|
description: "List past flow run sessions for this workspace.",
|
|
84
84
|
parameters: {},
|
|
85
85
|
handler: async () => {
|
|
86
|
-
const { flowListSessions } = await import('../../flows-
|
|
86
|
+
const { flowListSessions } = await import('../../flows-PX53XFV7.js');
|
|
87
87
|
return (await flowListSessions(plugin.projectDir)).content[0].text;
|
|
88
88
|
}
|
|
89
89
|
},
|
|
@@ -92,7 +92,7 @@ function buildOmpToolSet(plugin) {
|
|
|
92
92
|
description: "List all skills in the ai-assets catalog.",
|
|
93
93
|
parameters: { domain: { type: "string", optional: true } },
|
|
94
94
|
handler: async ({ domain }) => {
|
|
95
|
-
const { skillList } = await import('../../skills-
|
|
95
|
+
const { skillList } = await import('../../skills-R3RPIPWP.js');
|
|
96
96
|
return (await skillList(plugin.projectDir, domain)).content[0].text;
|
|
97
97
|
}
|
|
98
98
|
},
|
|
@@ -101,7 +101,7 @@ function buildOmpToolSet(plugin) {
|
|
|
101
101
|
description: "Search skills by name, description, or keywords.",
|
|
102
102
|
parameters: { query: { type: "string" } },
|
|
103
103
|
handler: async ({ query }) => {
|
|
104
|
-
const { skillSearch } = await import('../../skills-
|
|
104
|
+
const { skillSearch } = await import('../../skills-R3RPIPWP.js');
|
|
105
105
|
return (await skillSearch(plugin.projectDir, query)).content[0].text;
|
|
106
106
|
}
|
|
107
107
|
},
|
|
@@ -110,7 +110,7 @@ function buildOmpToolSet(plugin) {
|
|
|
110
110
|
description: "Show the full SKILL.md content for a skill.",
|
|
111
111
|
parameters: { skill_id: { type: "string" } },
|
|
112
112
|
handler: async ({ skill_id }) => {
|
|
113
|
-
const { skillShow } = await import('../../skills-
|
|
113
|
+
const { skillShow } = await import('../../skills-R3RPIPWP.js');
|
|
114
114
|
return (await skillShow(plugin.projectDir, skill_id)).content[0].text;
|
|
115
115
|
}
|
|
116
116
|
},
|
|
@@ -201,7 +201,7 @@ async function handleSlashCommand(plugin, group, args) {
|
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
async function handleFlowCommand(plugin, sub, rest) {
|
|
204
|
-
const { flowList, flowShow, flowListSessions, flowGetSession } = await import('../../flows-
|
|
204
|
+
const { flowList, flowShow, flowListSessions, flowGetSession } = await import('../../flows-PX53XFV7.js');
|
|
205
205
|
if (!sub || sub === "list") return (await flowList(plugin.projectDir)).content[0].text;
|
|
206
206
|
if (sub === "show" && rest[0])
|
|
207
207
|
return (await flowShow(plugin.projectDir, rest[0])).content[0].text;
|
|
@@ -230,7 +230,7 @@ async function handleConnectorCommand(plugin, sub, rest) {
|
|
|
230
230
|
return "Usage: /connector list | read <id> <path> | exec <id> <op> [json-args] | describe <id>";
|
|
231
231
|
}
|
|
232
232
|
async function handleSkillCommand(plugin, sub, rest) {
|
|
233
|
-
const { skillList, skillShow, skillSearch } = await import('../../skills-
|
|
233
|
+
const { skillList, skillShow, skillSearch } = await import('../../skills-R3RPIPWP.js');
|
|
234
234
|
if (sub === "run" && rest[0])
|
|
235
235
|
return (await skillShow(plugin.projectDir, rest[0])).content[0].text;
|
|
236
236
|
if (!sub || sub === "list") return (await skillList(plugin.projectDir, rest[0])).content[0].text;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { PluginStore, WorkspacePlugin, buildClaudePluginFiles, resolveProjectDir } from '../chunk-
|
|
1
|
+
export { PluginStore, WorkspacePlugin, buildClaudePluginFiles, resolveProjectDir } from '../chunk-BQ3HXZNT.js';
|
|
2
2
|
export { err, ok, okJson } from '../chunk-X5YPJV4N.js';
|
|
3
3
|
import '../chunk-JMKB7IB4.js';
|
|
4
4
|
import '../chunk-C3CAXQMA.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skaile/workspaces",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.38.0",
|
|
4
4
|
"description": "Skaile workspaces runtime — types, core, bridge, runner, store, connectors, and supporting layers as one publishable package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "bun@1.3.9",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../cli/src/asset-feeds.ts"],"names":[],"mappings":"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","file":"asset-feeds-SJELMLNK.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 }, { skaileHomeDir }, { getGlobalCacheDir }] = await Promise.all([\n import(\"./open-library.ts\"),\n import(\"@skaile/workspaces/library\"),\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(skaileHomeDir(), \"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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../types/src/manifests/_shared.ts","../types/src/manifests/agent.ts","../types/src/manifests/connector.ts","../types/src/manifests/mount.ts","../types/src/manifests/skill.ts","../types/src/manifests/contract.ts","../types/src/manifests/mcp-server.ts","../types/src/manifests/prompt.ts","../types/src/manifests/persona.ts","../types/src/manifests/preset.ts","../types/src/manifests/ruleset.ts","../types/src/manifests/index.ts"],"names":["z2","z3","z4","z5","z6","z7","z8","z9","z10","z11"],"mappings":"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","file":"chunk-2D3C4AJP.js","sourcesContent":["/**\n * Shared manifest frontmatter schemas and types.\n * Common across all 11 asset kinds + Preset.\n */\nimport * as z from \"zod\";\n\n// ---------------------------------------------------------------------------\n// Asset kind enum\n// ---------------------------------------------------------------------------\n\nexport const AssetKindValues = [\n \"skill\",\n \"agent\",\n \"connector\",\n \"mount\",\n \"flow\",\n \"contract\",\n \"prompt\",\n \"mcp-server\",\n \"knowledge\",\n \"persona\",\n \"ruleset\",\n] as const;\n\nexport const AssetKindSchema = z.enum(AssetKindValues);\nexport type AssetKind = z.infer<typeof AssetKindSchema>;\n\n// ---------------------------------------------------------------------------\n// Shared metadata sub-schemas\n// ---------------------------------------------------------------------------\n\n/** Artifact dependency (requires/produces/consumes in skill metadata). */\nexport const ArtifactRefSchema = z.object({\n id: z.string().min(1),\n description: z.string().optional(),\n gate: z.enum([\"hard\", \"soft\"]).optional(),\n path: z.string().optional(),\n});\n\n/** File prerequisite for a skill. */\nexport const FilePrerequisiteSchema = z.object({\n path: z.string().min(1),\n gate: z.enum([\"hard\", \"soft\"]).optional(),\n description: z.string().optional(),\n});\n\n/** User input definition (for skill user_inputs or metadata.prerequisites.inputs_*). */\nexport const UserInputSchema = z.looseObject({\n key: z.string().min(1).optional(),\n id: z.string().min(1).optional(),\n label: z.string().optional(),\n prompt: z.string().optional(),\n type: z.string().optional(),\n required: z.boolean().optional(),\n options: z.array(z.string()).optional(),\n values: z.array(z.union([z.string(), z.number()])).optional(),\n default: z\n .union([z.string(), z.number(), z.boolean(), z.array(z.union([z.string(), z.number()]))])\n .optional(),\n hint: z.string().optional(),\n});\n\n/** Field definition for connectors/mounts. */\nexport const FieldSchema = z.object({\n key: z.string().min(1),\n label: z.string().optional(),\n required: z.boolean().optional(),\n sensitive: z.boolean().optional(),\n type: z.string().optional(),\n default: z.union([z.string(), z.number(), z.boolean()]).optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Common metadata block (appears inside metadata: in most manifest kinds)\n// ---------------------------------------------------------------------------\n\nexport const CommonMetadataSchema = z.looseObject({\n version: z.string().optional(),\n author: z.string().optional(),\n tags: z.array(z.string()).optional(),\n stage: z.enum([\"alpha\", \"beta\", \"stable\", \"deprecated\"]).optional(),\n source: z.string().optional(),\n do_not_invoke: z.boolean().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Common frontmatter fields (top-level, shared across kinds)\n// ---------------------------------------------------------------------------\n\n/**\n * Fields that can appear at the top level of any manifest's frontmatter.\n * Not all are required -- each kind schema intersects with its own specifics.\n */\nexport const BaseFrontmatterSchema = z.object({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n\n // Catalog identity (populated at discovery or authoring time)\n publisher: z.string().optional(),\n category: z.string().optional(),\n license: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Validation result type\n// ---------------------------------------------------------------------------\n\nexport interface ManifestValidationSuccess<T> {\n ok: true;\n data: T;\n}\n\nexport interface ManifestValidationFailure {\n ok: false;\n errors: Array<{ path: string; message: string }>;\n}\n\nexport type ManifestValidationResult<T> = ManifestValidationSuccess<T> | ManifestValidationFailure;\n\nexport function validateManifest<T>(\n schema: z.ZodType<T>,\n data: unknown,\n): ManifestValidationResult<T> {\n const result = schema.safeParse(data);\n if (result.success) {\n return { ok: true, data: result.data };\n }\n return {\n ok: false,\n errors: result.error.issues.map((issue) => ({\n path: issue.path.join(\".\"),\n message: issue.message,\n })),\n };\n}\n","import * as z from \"zod\";\nimport { type ManifestValidationResult, validateManifest } from \"./_shared.js\";\n\n// ---------------------------------------------------------------------------\n// Model identifier validation + normalization\n// ---------------------------------------------------------------------------\n\n/**\n * Anthropic model aliases recognized by Claude Code and the Claude Agent SDK.\n *\n * - `inherit` — use the parent agent's model (Claude Code only).\n * - `opus` / `sonnet` / `haiku` — auto-rolling pointer to the current top model\n * in that family. Resolved by Claude Code / the Claude SDK at runtime.\n *\n * Use these in `agent.yaml` `model.preferred` for portability across Claude\n * Code and `claude-sdk`. Use a full ID (see {@link ANTHROPIC_FULL_ID_PATTERN})\n * when you need to pin to a specific Anthropic release.\n */\nexport const ANTHROPIC_MODEL_ALIASES = [\"inherit\", \"opus\", \"sonnet\", \"haiku\"] as const;\nexport type AnthropicModelAlias = (typeof ANTHROPIC_MODEL_ALIASES)[number];\n\n/**\n * Anthropic model family segments recognized inside a full model identifier.\n *\n * This is the *ID* vocabulary, deliberately wider than\n * {@link ANTHROPIC_MODEL_ALIASES}: `fable` ships as a real model family\n * (`claude-fable-5`) but has no Claude Code rolling alias, so it belongs here\n * and not there.\n *\n * @since 1.5.0\n */\nexport const ANTHROPIC_MODEL_FAMILIES = [\"opus\", \"sonnet\", \"haiku\", \"fable\"] as const;\nexport type AnthropicModelFamily = (typeof ANTHROPIC_MODEL_FAMILIES)[number];\n\nconst FAMILY_ALT = ANTHROPIC_MODEL_FAMILIES.join(\"|\");\n\n/**\n * Family + version core shared by the full / Bedrock / Vertex patterns.\n *\n * Matches both the Claude 4+ \"family-first\" form (`opus-4-6`, `opus-5`) and the\n * legacy \"version-first\" form used by Claude 3.x and some OpenRouter aliases\n * (`3-5-sonnet`).\n *\n * The version is `\\d+(?:[-.]\\d+)*` — one *or more* numeric components. It used\n * to demand two or more, which rejected every current single-digit-major ID\n * (`claude-opus-5`, `claude-sonnet-5`, `claude-fable-5`). Those are structurally\n * indistinguishable from the older partial IDs the two-component rule was\n * written to catch (`claude-opus-4`), so accepting the current lineup\n * necessarily accepts those too. This validator is structural, not a catalog\n * check — a well-formed ID that no provider serves is caught at dispatch, not\n * here.\n */\nconst FAMILY_VERSION_CORE = `(?:(?:${FAMILY_ALT})-\\\\d+(?:[-.]\\\\d+)*|\\\\d+(?:[-.]\\\\d+)*-(?:${FAMILY_ALT}))`;\n\n/**\n * Regex matching a full Anthropic model identifier, optionally provider-prefixed.\n *\n * Examples that match (family-first):\n * - `claude-opus-5`\n * - `claude-sonnet-5`\n * - `claude-fable-5`\n * - `claude-opus-4-6`\n * - `claude-haiku-4-5-20251001`\n * - `anthropic/claude-sonnet-4.6` (OpenRouter form)\n *\n * Examples that match (version-first / legacy):\n * - `claude-3-5-sonnet-20241022`\n * - `anthropic/claude-3.7-sonnet`\n *\n * Still rejected: a bare family (`claude-opus`), a non-Claude vendor\n * (`gpt-4o`), an unknown family (`claude-turbo-5`).\n */\nexport const ANTHROPIC_FULL_ID_PATTERN = new RegExp(\n `^(?:[a-z0-9-]+\\\\/)?claude-${FAMILY_VERSION_CORE}(?:-\\\\d{8})?$`,\n);\n\n/**\n * Regex matching an Amazon Bedrock-form Anthropic model identifier: an\n * optional region/scope prefix (`us.` / `eu.` / `apac.` / `global.`), the\n * `anthropic.` vendor segment, the same family/version core as\n * {@link ANTHROPIC_FULL_ID_PATTERN}, plus Bedrock's optional\n * `-v<major>[:<minor>]` suffix.\n *\n * Examples that match:\n * - `anthropic.claude-3-5-sonnet-20241022-v2:0`\n * - `us.anthropic.claude-opus-4-6-v1:0`\n * - `anthropic.claude-sonnet-4-5-20250929-v1:0`\n *\n * Does NOT match `anthropic.gpt-4` (not a Claude family) or a bare\n * `us.claude-…` (the `anthropic.` segment is required).\n *\n * @since 1.3.0\n */\nexport const BEDROCK_MODEL_ID_PATTERN = new RegExp(\n `^(?:(?:us|eu|apac|global)\\\\.)?anthropic\\\\.claude-${FAMILY_VERSION_CORE}(?:-\\\\d{8})?(?:-v\\\\d+(?::\\\\d+)?)?$`,\n);\n\n/**\n * Regex matching a Google Vertex AI publisher-form Anthropic identifier —\n * a first-party ID pinned with an `@YYYYMMDD` date suffix instead of the\n * native `-YYYYMMDD` (e.g. `claude-sonnet-4-5@20250929`).\n *\n * @since 1.3.0\n */\nexport const VERTEX_MODEL_ID_PATTERN = new RegExp(`^claude-${FAMILY_VERSION_CORE}@\\\\d{8}$`);\n\n/**\n * Zod schema for a **first-party Anthropic** model identifier: a Claude Code\n * alias, a full Anthropic ID, a Bedrock-form ID (see\n * {@link BEDROCK_MODEL_ID_PATTERN}), or a Vertex `@date`-pinned ID (see\n * {@link VERTEX_MODEL_ID_PATTERN}).\n *\n * This is **not** a universal model-id rule. It is the vocabulary of exactly\n * one wire target — `surface: anthropic-messages` on `transport: direct`\n * pointed at Anthropic's own host — because that is the only endpoint whose\n * model namespace this package knows. Every other endpoint names models it\n * cannot enumerate (a Bedrock ARN, an Azure deployment name,\n * `accounts/fireworks/models/…`, `meta-llama/Llama-3.3-70B`, an Ollama tag),\n * and applying this schema there rejected working configurations. Pick between\n * the two vocabularies with {@link modelIdSchemaForTarget}.\n *\n * Use {@link normalizeAnthropicModel} to coerce an unrecognized value to a safe\n * alias instead of failing.\n */\nexport const ModelIdSchema = z.union([\n z.enum(ANTHROPIC_MODEL_ALIASES),\n z\n .string()\n .regex(\n ANTHROPIC_FULL_ID_PATTERN,\n \"Invalid Anthropic model ID. Use an alias (opus | sonnet | haiku | inherit), a full ID (e.g. claude-opus-5, claude-sonnet-4-6), a Bedrock ID (e.g. us.anthropic.claude-opus-4-6-v1:0), or a Vertex ID (e.g. claude-sonnet-4-5@20250929).\",\n ),\n z.string().regex(BEDROCK_MODEL_ID_PATTERN),\n z.string().regex(VERTEX_MODEL_ID_PATTERN),\n]);\n\n/**\n * Hosts that serve the first-party Anthropic Messages API. An\n * `anthropic-messages` entry pointed anywhere else — a gateway, LiteLLM, an\n * Azure AI Foundry deployment — speaks the same wire protocol over its own\n * model namespace.\n *\n * @since 3.21.0\n */\nexport const ANTHROPIC_FIRST_PARTY_HOSTS: readonly string[] = [\"api.anthropic.com\"];\n\n/**\n * The slice of a provider-registry `llm` entry that decides which model-id\n * vocabulary applies.\n *\n * Structurally a subset of `AIProviderLlmEntry`\n * (`@skaile/workspaces/core/provider-registry`), so a registry entry can be\n * passed straight in. The fields are plain strings because this module sits\n * *below* the registry in the dependency graph and must not import it; the\n * enums live in exactly one place, and this is not it.\n *\n * @since 3.21.0\n */\nexport interface ModelIdTarget {\n /** omp `api` value — `anthropic-messages`, `openai-completions`, … */\n surface?: string;\n /** `direct` when absent. */\n transport?: string;\n /** Resolved endpoint: `resolveEntryBaseUrl(entry)`, or the preset literal. */\n base_url?: string;\n}\n\n/**\n * True when `baseUrl` is the first-party Anthropic API.\n *\n * An absent URL counts: an `anthropic-messages` entry with no endpoint of its\n * own is the first-party API (the catalog layer fills in\n * `https://api.anthropic.com` during the merge). A URL that will not parse is\n * treated as *not* first-party — guessing the other way would reject ids that\n * whatever is at the other end serves.\n *\n * @since 3.21.0\n */\nexport function isFirstPartyAnthropicEndpoint(baseUrl?: string): boolean {\n if (!baseUrl) return true;\n let host: string;\n try {\n host = new URL(baseUrl).hostname.toLowerCase();\n } catch {\n return false;\n }\n return ANTHROPIC_FIRST_PARTY_HOSTS.includes(host);\n}\n\n/**\n * Whether `target` demands an Anthropic-shaped model id.\n *\n * Exactly one combination does: the Anthropic Messages wire, spoken directly,\n * to Anthropic's own host. Every gateway transport (`bedrock`, `vertex`,\n * `foundry`, `azure-openai`) addresses the same models under a renamed\n * namespace — an inference-profile ARN, a publisher path, a deployment name —\n * and an `anthropic-messages` proxy owns its namespace outright.\n *\n * An absent `target` is the pre-registry default: first-party Anthropic is what\n * the Claude drivers talk to when nothing says otherwise, so the strict\n * vocabulary still applies there and nothing that validates today stops\n * validating.\n *\n * @since 3.21.0\n */\nexport function requiresAnthropicModelId(target?: ModelIdTarget): boolean {\n if (!target) return true;\n if (target.surface !== \"anthropic-messages\") return false;\n if ((target.transport ?? \"direct\") !== \"direct\") return false;\n return isFirstPartyAnthropicEndpoint(target.base_url);\n}\n\n/**\n * Any non-empty, whitespace-free model id — the vocabulary of every endpoint\n * whose model namespace belongs to the operator rather than to us.\n *\n * @since 3.21.0\n */\nexport const FreeFormModelIdSchema = z\n .string()\n .regex(/^\\S+$/, \"Model ID must be a non-empty string with no whitespace.\");\n\n/**\n * The model-id schema a given wire target enforces: {@link ModelIdSchema} for\n * first-party Anthropic, {@link FreeFormModelIdSchema} everywhere else.\n *\n * @since 3.21.0\n */\nexport function modelIdSchemaForTarget(target?: ModelIdTarget): z.ZodType<string> {\n return requiresAnthropicModelId(target)\n ? (ModelIdSchema as z.ZodType<string>)\n : (FreeFormModelIdSchema as z.ZodType<string>);\n}\n\n/**\n * Contextual model-ID schema for the legacy `cloud` dimension.\n *\n * `default` (or absent) is the first-party Anthropic API, so the strict\n * vocabulary applies. Every other value either renames the namespace\n * (`bedrock` ARNs, `vertex` publisher paths, `azure` deployments) or is an\n * unknowable proxy (`gateway`) — all free-form, the same answer\n * {@link modelIdSchemaForTarget} gives for the equivalent registry entry.\n *\n * Superseded by {@link modelIdSchemaForTarget}; it goes when the rest of the\n * `cloud` surface does.\n *\n * @since 1.3.0\n */\nexport function modelIdSchemaForCloud(cloud?: string): z.ZodType<string> {\n return !cloud || cloud === \"default\"\n ? modelIdSchemaForTarget()\n : (FreeFormModelIdSchema as z.ZodType<string>);\n}\n\n/**\n * Normalize an arbitrary model string to a safe Claude Code value.\n *\n * - If `input` is a recognized alias or a full / Bedrock-form / Vertex-form ID,\n * returns it unchanged.\n * - If `input` looks like `claude-<family>-...` but doesn't match any full-ID\n * regex (e.g. the broken `claude-opus-4`), returns the family alias.\n * - Otherwise returns `fallback` (default `\"sonnet\"` — Claude Code's default).\n *\n * Used by renderers that target Claude Code / the Claude SDK to coerce stale\n * or malformed model fields into a working alias rather than propagating a\n * silent runtime failure. All full-pattern checks run BEFORE the family\n * fallback so a valid Bedrock/Vertex ID is never downgraded to an alias.\n */\nexport function normalizeAnthropicModel(\n input: string | undefined | null,\n fallback: AnthropicModelAlias = \"sonnet\",\n): string {\n if (!input) return fallback;\n if ((ANTHROPIC_MODEL_ALIASES as readonly string[]).includes(input)) return input;\n if (ANTHROPIC_FULL_ID_PATTERN.test(input)) return input;\n if (BEDROCK_MODEL_ID_PATTERN.test(input) || VERTEX_MODEL_ID_PATTERN.test(input)) return input;\n // Family fallback is restricted to the rolling *aliases* — `fable` has no\n // Claude Code alias, so a malformed `claude-fable-*` falls through to\n // `fallback` rather than to an alias the runtime would reject.\n const familyMatch = input.match(/claude-(opus|sonnet|haiku)/i);\n if (familyMatch) return familyMatch[1]!.toLowerCase() as AnthropicModelAlias;\n return fallback;\n}\n\n/**\n * A model *selector* as a manifest writes it: `@role`,\n * `<providerId>/<modelId>`, a bare provider-side id, or an Anthropic alias.\n * Resolved against the provider registry — and only then checked against the\n * selected entry's own vocabulary — by `resolveManifestModel`\n * (`@skaile/workspaces/bridge`).\n *\n * Structural on purpose. An agent manifest is portable across providers: it\n * cannot know which registry entry will serve it, so an id-vocabulary check\n * here would enforce one endpoint's namespace on every other one. That check\n * belongs to {@link modelIdSchemaForTarget}, at the point where the endpoint is\n * known.\n *\n * @since 3.21.0\n */\nexport const ModelSelectorSchema = z\n .string()\n .regex(\n /^\\S+$/,\n 'Model selector must be a non-empty string with no whitespace: \"@role\", \"provider/model\", a model ID, or an Anthropic alias.',\n );\n\nconst ModelConfigSchema = z.looseObject({\n preferred: ModelSelectorSchema.optional(),\n fallback: z.array(ModelSelectorSchema).optional(),\n constraints: z\n .looseObject({\n temperature: z.number().optional(),\n max_tokens: z.number().optional(),\n })\n .optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Composition binding types (Task 1.7)\n// ---------------------------------------------------------------------------\n\nexport const BindingValues = [\"discoverable\", \"inline-live\", \"inline-snapshot\"] as const;\nexport const BindingSchema = z.enum(BindingValues);\nexport type Binding = z.infer<typeof BindingSchema>;\n\n/**\n * A single composition item within an agent's `composes:` field.\n *\n * - `kind`: the asset kind being composed (skill, connector, ruleset, etc.)\n * - `ref`: asset ref (e.g. '@skaile/gmail@^1')\n * - `instance`: optional Library Instance ref to reuse (e.g. 'library://personal/instances/uuid')\n * - `binding`: how the asset integrates into the agent runtime; defaults per-kind\n */\nexport const AgentComposeItemSchema = z.object({\n kind: z.string().min(1),\n ref: z.string().min(1),\n instance: z.string().optional(),\n binding: BindingSchema.optional(),\n});\n\nexport type AgentComposeItem = z.infer<typeof AgentComposeItemSchema>;\n\n// ---------------------------------------------------------------------------\n// Agent manifest\n// ---------------------------------------------------------------------------\n\n/**\n * Declared tool restrictions for an agent.\n *\n * `allowed` is an allowlist: when non-empty, the agent may invoke only these\n * tools. `denied` is a denylist applied on top. An absent block (or two empty\n * arrays) means \"no restriction\" — the harness's full default toolset.\n *\n * Tool names are written in the canonical Claude Code vocabulary (`Read`,\n * `Write`, `Bash`, `WebSearch`, …). Each driver maps them onto its own\n * runtime: `claude-sdk` passes them through as `allowedTools` /\n * `disallowedTools`; the omp driver translates them to omp's built-in tool\n * names and passes `--tools`. A name a harness does not recognize is dropped\n * for that harness rather than failing the manifest, because the same manifest\n * is expected to run on more than one harness.\n *\n * This was previously an undeclared field that survived only because\n * {@link AgentManifestSchema} is a loose object — so `AgentManifest.tools` was\n * typed `unknown` and every consumer read it through a cast.\n *\n * @since 1.5.0\n */\nexport const AgentToolsSchema = z.looseObject({\n /** Tool names the agent may invoke. Empty or absent means \"no allowlist\". */\n allowed: z.array(z.string().min(1)).optional(),\n /** Tool names the agent must not invoke. Applied after `allowed`. */\n denied: z.array(z.string().min(1)).optional(),\n});\n\nexport type AgentTools = z.infer<typeof AgentToolsSchema>;\n\nexport const AgentManifestSchema = z.looseObject({\n spec_version: z.string().optional(),\n name: z.string().min(1),\n version: z.string().optional(),\n description: z.string().min(1),\n extends: z.string().optional(),\n\n model: ModelConfigSchema.optional(),\n tools: AgentToolsSchema.optional(),\n skills: z.array(z.string()).optional(),\n delegation: z.looseObject({ mode: z.string() }).optional(),\n runtime: z\n .looseObject({\n max_turns: z.number().optional(),\n timeout: z.number().optional(),\n })\n .optional(),\n\n author: z.string().optional(),\n license: z.string().optional(),\n tags: z.array(z.string()).optional(),\n keywords: z.array(z.string()).optional(),\n\n // v2 composition (Task 1.7)\n composes: z.array(AgentComposeItemSchema).optional(),\n\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type AgentManifest = z.infer<typeof AgentManifestSchema>;\n\nexport function validateAgent(data: unknown): ManifestValidationResult<AgentManifest> {\n return validateManifest(AgentManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport { FieldSchema, type ManifestValidationResult, validateManifest } from \"./_shared.js\";\n\nexport const ConnectorManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n entry: z.string().min(1),\n npm_deps: z\n .object({\n required: z.array(z.string()).optional(),\n optional: z.array(z.string()).optional(),\n })\n .optional(),\n fields: z.array(FieldSchema).optional(),\n health_check: z.string().nullable().optional(),\n keywords: z.array(z.string()).optional(),\n license: z.string().optional(),\n});\n\nexport type ConnectorManifest = z.infer<typeof ConnectorManifestSchema>;\n\nexport function validateConnector(data: unknown): ManifestValidationResult<ConnectorManifest> {\n return validateManifest(ConnectorManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport { FieldSchema, type ManifestValidationResult, validateManifest } from \"./_shared.js\";\n\nexport const MountManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n entry: z.string().min(1),\n fields: z.array(FieldSchema).optional(),\n keywords: z.array(z.string()).optional(),\n license: z.string().optional(),\n});\n\nexport type MountManifest = z.infer<typeof MountManifestSchema>;\n\nexport function validateMount(data: unknown): ManifestValidationResult<MountManifest> {\n return validateManifest(MountManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport {\n ArtifactRefSchema,\n CommonMetadataSchema,\n FilePrerequisiteSchema,\n type ManifestValidationResult,\n UserInputSchema,\n validateManifest,\n} from \"./_shared.js\";\n\nconst SkillMetadataSchema = CommonMetadataSchema.extend({\n parameters: z.record(z.string(), z.unknown()).optional(),\n artifacts: z\n .object({\n requires: z.array(ArtifactRefSchema).optional(),\n produces: z.array(ArtifactRefSchema).optional(),\n consumes: z.array(ArtifactRefSchema).optional(),\n })\n .optional(),\n prerequisites: z\n .object({\n files: z.array(FilePrerequisiteSchema).optional(),\n inputs_required: z.array(UserInputSchema).optional(),\n inputs_optional: z.array(UserInputSchema).optional(),\n // Parsed by the resolver's parseSkillRequirements; Zod would strip them otherwise.\n reads: z.array(z.object({ path: z.string(), description: z.string().optional() })).optional(),\n produces: z\n .array(z.object({ path: z.string(), description: z.string().optional() }))\n .optional(),\n resources: z\n .array(\n z.object({\n id: z.string(),\n operations: z.array(z.string()).optional(),\n optional: z.boolean().optional(),\n description: z.string().optional(),\n }),\n )\n .optional(),\n connectors: z\n .array(\n z.object({\n driver: z.string(),\n access: z.enum([\"read-only\", \"read-write\"]).optional(),\n }),\n )\n .optional(),\n })\n .optional(),\n produces: z.array(z.object({ path: z.string(), description: z.string().optional() })).optional(),\n});\n\nexport const SkillManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n license: z.string().optional(),\n compatibility: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n // agentskills.io standard field. Kept as `unknown` (not `string`) so a legacy\n // array form never hard-fails validateSkill — the string-typing rule is\n // advisory, owned by checkAgentSkillConformance (warn, not error).\n \"allowed-tools\": z.unknown().optional(),\n\n // Legacy fields (SKILL.md convention)\n source: z.string().optional(),\n user_inputs: z.array(UserInputSchema).optional(),\n reads_from: z.array(z.string()).optional(),\n writes_to: z.array(z.string()).optional(),\n\n metadata: SkillMetadataSchema.optional(),\n});\n\nexport type SkillManifest = z.infer<typeof SkillManifestSchema>;\n\nexport function validateSkill(data: unknown): ManifestValidationResult<SkillManifest> {\n return validateManifest(SkillManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport {\n CommonMetadataSchema,\n type ManifestValidationResult,\n validateManifest,\n} from \"./_shared.js\";\n\nexport const ContractManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n license: z.string().optional(),\n metadata: CommonMetadataSchema.optional(),\n});\n\nexport type ContractManifest = z.infer<typeof ContractManifestSchema>;\n\nexport function validateContract(data: unknown): ManifestValidationResult<ContractManifest> {\n return validateManifest(ContractManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport { type ManifestValidationResult, validateManifest } from \"./_shared.js\";\n\nexport const McpServerManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.union([z.string(), z.number()]).optional(),\n // \"http\" is the runtime literal the runner honours (StreamableHTTPClientTransport);\n // \"streamable-http\" is accepted as an MCP-spec-aligned alias and normalized to\n // \"http\" in mcpDeclFromCatalogEntry. Keep both until the alias is retired.\n transport: z.enum([\"stdio\", \"sse\", \"http\", \"streamable-http\"]).optional(),\n command: z.string().optional(),\n args: z.array(z.string()).optional(),\n env: z.record(z.string(), z.string()).optional(),\n url: z.string().optional(),\n headers: z.record(z.string(), z.string()).optional(),\n /** Remote only: PEM CA certificate (or a secret ref to one) pinned for this server's TLS. */\n ca: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n license: z.string().optional(),\n // Optional runnable payload fetched + sha256-verified by the platform\n // session-materializer into the asset dir at materialize time (e.g. a bundled\n // server.js shipped as a GitHub release asset). `dest` defaults to the URL\n // basename.\n payload: z\n .object({\n // https only — bare `z.string().url()` also accepts file:/data:/javascript: schemes.\n url: z\n .string()\n .url()\n .refine((u) => u.startsWith(\"https://\"), { message: \"payload url must be https\" }),\n sha256: z.string().regex(/^[a-f0-9]{64}$/),\n // Plain filename, no path separators — schema-level guard against a traversal dest.\n dest: z\n .string()\n .regex(/^[^/\\\\]+$/, { message: \"dest must be a plain filename, not a path\" })\n .optional(),\n })\n .optional(),\n});\n\nexport type McpServerManifest = z.infer<typeof McpServerManifestSchema>;\n\nexport function validateMcpServer(data: unknown): ManifestValidationResult<McpServerManifest> {\n return validateManifest(McpServerManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport {\n CommonMetadataSchema,\n type ManifestValidationResult,\n validateManifest,\n} from \"./_shared.js\";\n\nexport const PromptManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n license: z.string().optional(),\n metadata: CommonMetadataSchema.optional(),\n});\n\nexport type PromptManifest = z.infer<typeof PromptManifestSchema>;\n\nexport function validatePrompt(data: unknown): ManifestValidationResult<PromptManifest> {\n return validateManifest(PromptManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport {\n CommonMetadataSchema,\n type ManifestValidationResult,\n validateManifest,\n} from \"./_shared.js\";\n\nexport const PersonaManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n license: z.string().optional(),\n metadata: CommonMetadataSchema.optional(),\n});\n\nexport type PersonaManifest = z.infer<typeof PersonaManifestSchema>;\n\nexport function validatePersona(data: unknown): ManifestValidationResult<PersonaManifest> {\n return validateManifest(PersonaManifestSchema, data);\n}\n","/**\n * Polymorphic Preset manifest schema.\n *\n * A Preset is the unified composition + configuration primitive. Items can be:\n * - Asset ref (plain or with inline config + placeholders)\n * - Library Instance ref (`library://tier/instances/id`)\n * - Nested Preset ref (resolved recursively, max depth 3)\n *\n * Apply semantics derive from ref type, not an explicit mode field.\n */\nimport * as z from \"zod\";\nimport { type ManifestValidationResult, validateManifest } from \"./_shared.js\";\n\n// ---------------------------------------------------------------------------\n// Placeholder types\n// ---------------------------------------------------------------------------\n\nconst PlaceholderTypeValues = [\n \"text\",\n \"multiline\",\n \"secret\",\n \"number\",\n \"boolean\",\n \"enum\",\n \"oauth\",\n \"instance-picker\",\n] as const;\n\nexport const PlaceholderTypeSchema = z.enum(PlaceholderTypeValues);\n\nexport const PlaceholderSchema = z.object({\n key: z.string().min(1),\n prompt: z.string().optional(),\n type: PlaceholderTypeSchema.optional(),\n required: z.boolean().optional(),\n default: z.union([z.string(), z.number(), z.boolean()]).optional(),\n values: z.array(z.union([z.string(), z.number()])).optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Compose item (for agents within presets)\n// ---------------------------------------------------------------------------\n\nconst ComposeRefSchema = z.object({\n kind: z.string().min(1),\n ref: z.string().min(1),\n});\n\n// ---------------------------------------------------------------------------\n// Preset item\n// ---------------------------------------------------------------------------\n\nexport const PresetItemSchema = z.looseObject({\n /** Asset ref, Library Instance ref, or nested Preset ref. */\n ref: z.string().min(1),\n /** Local item ID for cross-item references (#item-id). */\n id: z.string().optional(),\n /** Author-prefilled non-secret config values. */\n config: z.record(z.string(), z.unknown()).optional(),\n /** User/secret values prompted at install. */\n placeholders: z.array(PlaceholderSchema).optional(),\n /** How placeholder values fold into the Instance config. */\n materialize: z.record(z.string(), z.string()).optional(),\n /** Composition for agent items. */\n composes: z.array(ComposeRefSchema).optional(),\n /** Outer-Preset-author-supplied placeholder values for nested Presets. */\n inputs: z.record(z.string(), z.unknown()).optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Preset-level input (rare, shared across items)\n// ---------------------------------------------------------------------------\n\nconst PresetInputSchema = z.object({\n key: z.string().min(1),\n type: PlaceholderTypeSchema.optional(),\n prompt: z.string().optional(),\n required: z.boolean().optional(),\n values: z.array(z.union([z.string(), z.number()])).optional(),\n default: z.union([z.string(), z.number(), z.boolean()]).optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Source (git repo backing non-factory dependencies)\n// ---------------------------------------------------------------------------\n\n/** A `{url, pin?}` source the preset's dependencies resolve from (mirrors `SourceEntry`). */\nexport const PresetSourceSchema = z.object({\n url: z.string().min(1),\n pin: z.string().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Preset manifest\n// ---------------------------------------------------------------------------\n\nexport const PresetManifestSchema = z.looseObject({\n publisher: z.string().optional(),\n name: z.string().min(1),\n version: z.union([z.string(), z.number()]),\n description: z.string().min(1),\n category: z.string().optional(),\n license: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n\n /** 1+ polymorphic items. */\n items: z.array(PresetItemSchema).min(1),\n\n /** Preset-level inputs shared across items (rare). */\n inputs: z.array(PresetInputSchema).optional(),\n\n /** Git sources the dependency items resolve from; `apply` registers these first. */\n sources: z.array(PresetSourceSchema).optional(),\n});\n\nexport type PresetManifest = z.infer<typeof PresetManifestSchema>;\nexport type PresetItem = z.infer<typeof PresetItemSchema>;\nexport type PresetSource = z.infer<typeof PresetSourceSchema>;\nexport type Placeholder = z.infer<typeof PlaceholderSchema>;\n\nexport function validatePreset(data: unknown): ManifestValidationResult<PresetManifest> {\n return validateManifest(PresetManifestSchema, data);\n}\n","import * as z from \"zod\";\nimport {\n CommonMetadataSchema,\n type ManifestValidationResult,\n validateManifest,\n} from \"./_shared.js\";\n\nexport const RulesetManifestSchema = z.looseObject({\n name: z.string().min(1),\n description: z.string().min(1),\n version: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n license: z.string().optional(),\n metadata: CommonMetadataSchema.optional(),\n});\n\nexport type RulesetManifest = z.infer<typeof RulesetManifestSchema>;\n\nexport function validateRuleset(data: unknown): ManifestValidationResult<RulesetManifest> {\n return validateManifest(RulesetManifestSchema, data);\n}\n","/**\n * Asset manifest schemas for all 11 kinds + Preset.\n *\n * Each kind exports:\n * - <Kind>ManifestSchema (zod)\n * - <Kind>Manifest (type)\n * - validate<Kind>(data) -> ManifestValidationResult\n */\n\nexport type {\n AssetKind,\n ManifestValidationFailure,\n ManifestValidationResult,\n ManifestValidationSuccess,\n} from \"./_shared.js\";\n// Shared\nexport {\n ArtifactRefSchema,\n AssetKindSchema,\n AssetKindValues,\n BaseFrontmatterSchema,\n CommonMetadataSchema,\n FieldSchema,\n FilePrerequisiteSchema,\n UserInputSchema,\n validateManifest,\n} from \"./_shared.js\";\nexport type {\n AgentComposeItem,\n AgentManifest,\n AgentTools,\n AnthropicModelAlias,\n AnthropicModelFamily,\n Binding,\n ModelIdTarget,\n} from \"./agent.js\";\nexport {\n AgentComposeItemSchema,\n AgentManifestSchema,\n AgentToolsSchema,\n ANTHROPIC_FIRST_PARTY_HOSTS,\n ANTHROPIC_FULL_ID_PATTERN,\n ANTHROPIC_MODEL_ALIASES,\n ANTHROPIC_MODEL_FAMILIES,\n BEDROCK_MODEL_ID_PATTERN,\n BindingSchema,\n BindingValues,\n FreeFormModelIdSchema,\n isFirstPartyAnthropicEndpoint,\n ModelIdSchema,\n modelIdSchemaForCloud,\n modelIdSchemaForTarget,\n ModelSelectorSchema,\n normalizeAnthropicModel,\n requiresAnthropicModelId,\n validateAgent,\n VERTEX_MODEL_ID_PATTERN,\n} from \"./agent.js\";\nexport type { ConnectorManifest } from \"./connector.js\";\nexport { ConnectorManifestSchema, validateConnector } from \"./connector.js\";\nexport type { MountManifest } from \"./mount.js\";\nexport { MountManifestSchema, validateMount } from \"./mount.js\";\nexport type { SkillManifest } from \"./skill.js\";\n// Per-kind\nexport { SkillManifestSchema, validateSkill } from \"./skill.js\";\n\n// NOTE: FlowManifestSchema, FlowManifest, validateFlow live in @skaile/workspaces/factory-assets/connectors/flow/engine.\n// Import from @skaile/workspaces/factory-assets/connectors/flow/engine directly.\n\nexport type { ContractManifest } from \"./contract.js\";\nexport { ContractManifestSchema, validateContract } from \"./contract.js\";\nexport type { McpServerManifest } from \"./mcp-server.js\";\nexport { McpServerManifestSchema, validateMcpServer } from \"./mcp-server.js\";\nexport type { PromptManifest } from \"./prompt.js\";\nexport { PromptManifestSchema, validatePrompt } from \"./prompt.js\";\n\n// NOTE: KnowledgeManifestSchema, KnowledgeManifest, validateKnowledge moved to @skaile/library in 1.7.4.\n// Import from @skaile/library directly.\n\nexport type { PersonaManifest } from \"./persona.js\";\nexport { PersonaManifestSchema, validatePersona } from \"./persona.js\";\nexport type { Placeholder, PresetItem, PresetManifest, PresetSource } from \"./preset.js\";\n// Preset (composition entity, not an asset kind)\nexport {\n PlaceholderSchema,\n PlaceholderTypeSchema,\n PresetItemSchema,\n PresetManifestSchema,\n PresetSourceSchema,\n validatePreset,\n} from \"./preset.js\";\nexport type { RulesetManifest } from \"./ruleset.js\";\nexport { RulesetManifestSchema, validateRuleset } from \"./ruleset.js\";\n\n// ---------------------------------------------------------------------------\n// Kind-to-validator lookup\n// ---------------------------------------------------------------------------\n\nimport type { AssetKind, ManifestValidationResult } from \"./_shared.js\";\nimport { validateAgent } from \"./agent.js\";\nimport { validateConnector } from \"./connector.js\";\nimport { validateContract } from \"./contract.js\";\nimport { validateMcpServer } from \"./mcp-server.js\";\nimport { validateMount } from \"./mount.js\";\nimport { validatePersona } from \"./persona.js\";\nimport { validatePrompt } from \"./prompt.js\";\nimport { validateRuleset } from \"./ruleset.js\";\nimport { validateSkill } from \"./skill.js\";\n\n/**\n * Validators for core kinds that still live in this package.\n * flow: lives in @skaile/workspaces/factory-assets/connectors/flow/engine\n * knowledge: lives in @skaile/library\n *\n * For kinds not in this map, use the IAssetKindRegistry from @skaile/plugins.\n */\nconst validators: Partial<Record<AssetKind, (data: unknown) => ManifestValidationResult<unknown>>> =\n {\n skill: validateSkill,\n agent: validateAgent,\n connector: validateConnector,\n mount: validateMount,\n contract: validateContract,\n prompt: validatePrompt,\n \"mcp-server\": validateMcpServer,\n persona: validatePersona,\n ruleset: validateRuleset,\n };\n\n/**\n * Validate a manifest against the schema for the given asset kind.\n *\n * NOTE: flow validation lives in @skaile/workspaces/factory-assets/connectors/flow/engine. Use the\n * IAssetKindRegistry for kind-agnostic validation that includes all\n * registered providers (including extension kinds).\n */\nexport function validateByKind(kind: AssetKind, data: unknown): ManifestValidationResult<unknown> {\n const validator = validators[kind];\n if (!validator) {\n return { ok: false, errors: [{ path: \"kind\", message: `Unknown asset kind: ${kind}` }] };\n }\n return validator(data);\n}\n"]}
|