@skaile/workspaces 5.11.0 → 5.13.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 +193 -0
- package/README.md +4 -4
- package/dist/{asset-feeds-CXGQIDFR.js → asset-feeds-ALMTHLPV.js} +26 -23
- package/dist/asset-feeds-ALMTHLPV.js.map +1 -0
- package/dist/asset-manager/catalog-deployer.js +10 -10
- package/dist/asset-manager/fragments.js +1 -1
- package/dist/asset-manager/index.js +18 -18
- package/dist/asset-manager/installer.js +13 -13
- package/dist/asset-manager/renderers.js +11 -11
- package/dist/asset-manager/src/fragments.d.ts +5 -0
- package/dist/asset-manager/src/fragments.d.ts.map +1 -1
- package/dist/asset-manager/src/index.d.ts +140 -12
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/install-agent.d.ts +9 -1
- package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/asset-manager/src/renderers.d.ts +5 -0
- package/dist/asset-manager/src/renderers.d.ts.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +21 -16
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +101 -29
- package/dist/bridge/drivers/codex.js.map +1 -1
- package/dist/bridge/drivers/continue.js +12 -12
- package/dist/bridge/drivers/echo.js +2 -2
- package/dist/bridge/drivers/gemini.js +7 -7
- package/dist/bridge/drivers/goose.js +12 -12
- package/dist/bridge/drivers/omp.js +135 -33
- package/dist/bridge/drivers/omp.js.map +1 -1
- package/dist/bridge/drivers/opencode.js +12 -12
- package/dist/bridge/drivers/qwen.js +7 -7
- package/dist/bridge/index.js +14 -14
- package/dist/bridge/src/codex/config-toml.d.ts +16 -3
- package/dist/bridge/src/codex/config-toml.d.ts.map +1 -1
- package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
- package/dist/bridge/src/drivers/claude-sdk.d.ts +1 -1
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/codex.d.ts +6 -0
- package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
- package/dist/bridge/src/drivers/omp-models-yml.d.ts +32 -0
- package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
- package/dist/bridge/src/drivers/omp.d.ts +29 -6
- package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
- package/dist/bridge/src/provider-materialize/credential-env.d.ts +15 -0
- package/dist/bridge/src/provider-materialize/credential-env.d.ts.map +1 -1
- package/dist/{chunk-T42WRQ4O.js → chunk-2BIESC6S.js} +3 -3
- package/dist/{chunk-T42WRQ4O.js.map → chunk-2BIESC6S.js.map} +1 -1
- package/dist/{chunk-CPWLNZGJ.js → chunk-4DLQESIY.js} +3 -3
- package/dist/{chunk-CPWLNZGJ.js.map → chunk-4DLQESIY.js.map} +1 -1
- package/dist/{chunk-HZXUXHIV.js → chunk-4L4R5LV3.js} +89 -12
- package/dist/chunk-4L4R5LV3.js.map +1 -0
- package/dist/{chunk-CAHB6MHA.js → chunk-4NJ3QQHZ.js} +5 -5
- package/dist/{chunk-CAHB6MHA.js.map → chunk-4NJ3QQHZ.js.map} +1 -1
- package/dist/{chunk-ZCAJZ4B2.js → chunk-57SF6W6E.js} +147 -4
- package/dist/chunk-57SF6W6E.js.map +1 -0
- package/dist/{chunk-FH7W6TJ4.js → chunk-5FYOM4RF.js} +106 -25
- package/dist/chunk-5FYOM4RF.js.map +1 -0
- package/dist/{chunk-R7NHYEJF.js → chunk-5SKVCMRC.js} +15 -7
- package/dist/chunk-5SKVCMRC.js.map +1 -0
- package/dist/{chunk-CJERAGFY.js → chunk-6GICC4RJ.js} +44 -13
- package/dist/chunk-6GICC4RJ.js.map +1 -0
- package/dist/{chunk-G4FFOV3N.js → chunk-6JKIOPT3.js} +4 -4
- package/dist/{chunk-G4FFOV3N.js.map → chunk-6JKIOPT3.js.map} +1 -1
- package/dist/{chunk-T7CTHHG7.js → chunk-6NQDDCIL.js} +3 -3
- package/dist/{chunk-T7CTHHG7.js.map → chunk-6NQDDCIL.js.map} +1 -1
- package/dist/{chunk-XUSALIEI.js → chunk-7SMP4GNW.js} +6 -6
- package/dist/{chunk-XUSALIEI.js.map → chunk-7SMP4GNW.js.map} +1 -1
- package/dist/{chunk-Y3HTGHJC.js → chunk-AHCI4V5L.js} +3 -3
- package/dist/{chunk-Y3HTGHJC.js.map → chunk-AHCI4V5L.js.map} +1 -1
- package/dist/{chunk-M3B6EIJD.js → chunk-B7CZYFB2.js} +4 -4
- package/dist/{chunk-M3B6EIJD.js.map → chunk-B7CZYFB2.js.map} +1 -1
- package/dist/{chunk-PBBPZYVG.js → chunk-BF422IDP.js} +112 -46
- package/dist/chunk-BF422IDP.js.map +1 -0
- package/dist/{chunk-47U4GZ4M.js → chunk-BVJU2GKE.js} +20 -3
- package/dist/chunk-BVJU2GKE.js.map +1 -0
- package/dist/{chunk-PMECEZK3.js → chunk-D54T2F54.js} +5 -4
- package/dist/chunk-D54T2F54.js.map +1 -0
- package/dist/{chunk-2F5AWQX5.js → chunk-DKGEV6SQ.js} +192 -42
- package/dist/chunk-DKGEV6SQ.js.map +1 -0
- package/dist/{chunk-DALV4HHP.js → chunk-DKXNKFKP.js} +3 -2
- package/dist/{chunk-DALV4HHP.js.map → chunk-DKXNKFKP.js.map} +1 -1
- package/dist/chunk-FB3NREF7.js +649 -0
- package/dist/chunk-FB3NREF7.js.map +1 -0
- package/dist/{chunk-QZNJOHN6.js → chunk-FHDK3BFD.js} +3 -3
- package/dist/{chunk-QZNJOHN6.js.map → chunk-FHDK3BFD.js.map} +1 -1
- package/dist/{chunk-3SM2DL2T.js → chunk-GMDSRSGI.js} +21 -11
- package/dist/chunk-GMDSRSGI.js.map +1 -0
- package/dist/chunk-H5U7LNTJ.js +122 -0
- package/dist/chunk-H5U7LNTJ.js.map +1 -0
- package/dist/{chunk-VLTQGE2E.js → chunk-HBZD3MIW.js} +269 -81
- package/dist/chunk-HBZD3MIW.js.map +1 -0
- package/dist/{chunk-S3O3GKB7.js → chunk-HWGYJMME.js} +4 -4
- package/dist/{chunk-S3O3GKB7.js.map → chunk-HWGYJMME.js.map} +1 -1
- package/dist/{chunk-CPSIPIX7.js → chunk-IG5LZ3WU.js} +8 -6
- package/dist/chunk-IG5LZ3WU.js.map +1 -0
- package/dist/{chunk-ZPWTOUTK.js → chunk-IY5E7Y5W.js} +61 -8
- package/dist/chunk-IY5E7Y5W.js.map +1 -0
- package/dist/{chunk-6O2X3GPW.js → chunk-J4DB5G36.js} +7 -5
- package/dist/chunk-J4DB5G36.js.map +1 -0
- package/dist/{chunk-BNMZVPYA.js → chunk-J4OYIYFQ.js} +2 -2
- package/dist/{chunk-BNMZVPYA.js.map → chunk-J4OYIYFQ.js.map} +1 -1
- package/dist/{chunk-ALEYHUC5.js → chunk-L3ZGYSWY.js} +182 -41
- package/dist/chunk-L3ZGYSWY.js.map +1 -0
- package/dist/{chunk-SBSA3IQA.js → chunk-M3P4BYRK.js} +49 -14
- package/dist/chunk-M3P4BYRK.js.map +1 -0
- package/dist/{chunk-IER3KIPH.js → chunk-NDUYFYJB.js} +5 -5
- package/dist/{chunk-IER3KIPH.js.map → chunk-NDUYFYJB.js.map} +1 -1
- package/dist/{chunk-CGYEHQOX.js → chunk-NOA6EJXE.js} +11 -2
- package/dist/chunk-NOA6EJXE.js.map +1 -0
- package/dist/{chunk-J4RBUFGM.js → chunk-NVO6WECE.js} +9 -8
- package/dist/chunk-NVO6WECE.js.map +1 -0
- package/dist/{chunk-OBYKJB4U.js → chunk-O2SYFJWP.js} +79 -5
- package/dist/chunk-O2SYFJWP.js.map +1 -0
- package/dist/{chunk-5LKOAX7I.js → chunk-OQ5MKDS3.js} +21 -5
- package/dist/chunk-OQ5MKDS3.js.map +1 -0
- package/dist/{chunk-NWDSLXOX.js → chunk-PHRNUTSG.js} +118 -118
- package/dist/chunk-PHRNUTSG.js.map +1 -0
- package/dist/chunk-PN44DOGP.js +345 -0
- package/dist/chunk-PN44DOGP.js.map +1 -0
- package/dist/{chunk-COH6FQAG.js → chunk-PXDWTJ3P.js} +5 -5
- package/dist/{chunk-COH6FQAG.js.map → chunk-PXDWTJ3P.js.map} +1 -1
- package/dist/{chunk-GV4DZ6MT.js → chunk-PYTTF754.js} +22 -6
- package/dist/chunk-PYTTF754.js.map +1 -0
- package/dist/chunk-PZOO7L26.js +64 -0
- package/dist/chunk-PZOO7L26.js.map +1 -0
- package/dist/{chunk-EDYHEMJA.js → chunk-QO7CR3KB.js} +10 -5
- package/dist/chunk-QO7CR3KB.js.map +1 -0
- package/dist/{chunk-XDKH7XSA.js → chunk-R6QHJEHE.js} +5 -5
- package/dist/{chunk-XDKH7XSA.js.map → chunk-R6QHJEHE.js.map} +1 -1
- package/dist/chunk-U27JRO5L.js +13 -0
- package/dist/chunk-U27JRO5L.js.map +1 -0
- package/dist/{chunk-X77SUM4P.js → chunk-USHB5KEY.js} +3 -3
- package/dist/{chunk-X77SUM4P.js.map → chunk-USHB5KEY.js.map} +1 -1
- package/dist/{chunk-QVFAS5IO.js → chunk-V5JHD4I2.js} +3 -3
- package/dist/{chunk-QVFAS5IO.js.map → chunk-V5JHD4I2.js.map} +1 -1
- package/dist/{chunk-PQFHMQHQ.js → chunk-VLBIME5L.js} +6 -6
- package/dist/{chunk-PQFHMQHQ.js.map → chunk-VLBIME5L.js.map} +1 -1
- package/dist/{chunk-D3B36CYC.js → chunk-X3RMRJNR.js} +4 -3
- package/dist/chunk-X3RMRJNR.js.map +1 -0
- package/dist/{chunk-TCHRMVTO.js → chunk-XBYSURMK.js} +4 -4
- package/dist/{chunk-TCHRMVTO.js.map → chunk-XBYSURMK.js.map} +1 -1
- package/dist/{chunk-MZG34MBZ.js → chunk-XJYBCDY2.js} +3 -3
- package/dist/{chunk-MZG34MBZ.js.map → chunk-XJYBCDY2.js.map} +1 -1
- package/dist/{chunk-4A4OD24G.js → chunk-Y4Z7LGSH.js} +9 -9
- package/dist/{chunk-4A4OD24G.js.map → chunk-Y4Z7LGSH.js.map} +1 -1
- package/dist/{chunk-DZMNFCWB.js → chunk-Y7WKXPWS.js} +816 -143
- package/dist/chunk-Y7WKXPWS.js.map +1 -0
- package/dist/{chunk-HCEVNYSH.js → chunk-YTZFSKWL.js} +3 -3
- package/dist/{chunk-HCEVNYSH.js.map → chunk-YTZFSKWL.js.map} +1 -1
- package/dist/{chunk-WSBKB4CJ.js → chunk-ZSMMX3JD.js} +167 -25
- package/dist/chunk-ZSMMX3JD.js.map +1 -0
- package/dist/{chunk-GCHPUTA3.js → chunk-ZU24LWBI.js} +3 -3
- package/dist/{chunk-GCHPUTA3.js.map → chunk-ZU24LWBI.js.map} +1 -1
- package/dist/cli/index.js +1427 -605
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/agent-checks.d.ts +40 -0
- package/dist/cli/src/agent-checks.d.ts.map +1 -0
- 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/catalog-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/catalog.d.ts +26 -0
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/config.d.ts.map +1 -1
- package/dist/cli/src/commands/diff.d.ts +1 -1
- package/dist/cli/src/commands/diff.d.ts.map +1 -1
- package/dist/cli/src/commands/integration.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 +10 -0
- package/dist/cli/src/commands/library-index.d.ts.map +1 -1
- package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/mcp-server.d.ts +1 -1
- package/dist/cli/src/commands/migrate-assets.d.ts +2 -1
- package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
- package/dist/cli/src/commands/migrate.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin/claude-code.d.ts +1 -1
- package/dist/cli/src/commands/plugin/claude-code.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin/types.d.ts +3 -1
- package/dist/cli/src/commands/plugin/types.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/preset-apply.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts +8 -0
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/publish-core.d.ts +5 -0
- package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
- package/dist/cli/src/commands/run.d.ts +11 -1
- package/dist/cli/src/commands/run.d.ts.map +1 -1
- package/dist/cli/src/commands/serve-preflight.d.ts +23 -0
- package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -0
- package/dist/cli/src/commands/serve.d.ts.map +1 -1
- package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/source-manifest.d.ts +1 -0
- package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
- package/dist/cli/src/commands/source.d.ts +9 -1
- package/dist/cli/src/commands/source.d.ts.map +1 -1
- package/dist/cli/src/commands/store.d.ts.map +1 -1
- package/dist/cli/src/commands/tree.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts.map +1 -1
- package/dist/cli/src/commands/validate-instances.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts +3 -2
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/commands/why.d.ts.map +1 -1
- package/dist/cli/src/curated-manifests.d.ts +21 -0
- package/dist/cli/src/curated-manifests.d.ts.map +1 -0
- package/dist/cli/src/driver-error.d.ts +7 -0
- package/dist/cli/src/driver-error.d.ts.map +1 -1
- package/dist/cli/src/helpers.d.ts +6 -0
- package/dist/cli/src/helpers.d.ts.map +1 -1
- package/dist/cli/src/index-busy.d.ts +8 -0
- package/dist/cli/src/index-busy.d.ts.map +1 -0
- package/dist/cli/src/plugin-store/index.d.ts +1 -1
- package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
- package/dist/cli/src/plugin-store/paths.d.ts +7 -3
- package/dist/cli/src/plugin-store/paths.d.ts.map +1 -1
- package/dist/cli/src/plugin-store/reconcile.d.ts +24 -4
- package/dist/cli/src/plugin-store/reconcile.d.ts.map +1 -1
- package/dist/cli/src/skill-checks.d.ts +27 -3
- package/dist/cli/src/skill-checks.d.ts.map +1 -1
- package/dist/cli/src/store-addable.d.ts +17 -0
- package/dist/cli/src/store-addable.d.ts.map +1 -0
- package/dist/connectors/config.js +6 -6
- package/dist/connectors/index.js +18 -18
- package/dist/connectors/src/config.d.ts.map +1 -1
- package/dist/{connectors-4QWAKPHB.js → connectors-GFKMKAXV.js} +21 -21
- package/dist/{connectors-4QWAKPHB.js.map → connectors-GFKMKAXV.js.map} +1 -1
- package/dist/core/driver-targets.js +1 -1
- package/dist/core/index.js +9 -9
- package/dist/core/logging.js +1 -1
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.js +1 -1
- package/dist/core/publish-manifest.js +4 -2
- package/dist/core/ref.js +1 -1
- package/dist/core/runtime-assets.js +6 -6
- package/dist/core/src/agent-instances.d.ts +5 -0
- package/dist/core/src/agent-instances.d.ts.map +1 -1
- package/dist/core/src/driver-targets.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +6 -5
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +15 -5
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
- package/dist/core/src/manifest.d.ts +14 -3
- package/dist/core/src/manifest.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +11 -3
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/package-manager.d.ts +19 -0
- package/dist/core/src/package-manager.d.ts.map +1 -0
- package/dist/core/src/publish-manifest.d.ts +38 -1
- package/dist/core/src/publish-manifest.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +19 -3
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/runtime-assets.d.ts.map +1 -1
- package/dist/core/src/settings.d.ts +26 -6
- package/dist/core/src/settings.d.ts.map +1 -1
- package/dist/core/src/store.d.ts +4 -0
- package/dist/core/src/store.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts +8 -1
- package/dist/core/src/walker.d.ts.map +1 -1
- package/dist/core/src/workspace-config.d.ts +24 -2
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/store.js +2 -2
- package/dist/core/workspace-config.js +5 -5
- package/dist/deploy/index.js +9 -9
- package/dist/discovery/index.js +5 -5
- package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
- package/dist/discovery/src/source-config.d.ts +5 -3
- package/dist/discovery/src/source-config.d.ts.map +1 -1
- package/dist/{ensure-sources-2RONZKCU.js → ensure-sources-VUKHL65L.js} +21 -21
- package/dist/{ensure-sources-2RONZKCU.js.map → ensure-sources-VUKHL65L.js.map} +1 -1
- package/dist/factory-assets/README.md +1 -1
- package/dist/factory-assets/connectors/box.js +18 -18
- package/dist/factory-assets/connectors/deploy.js +18 -18
- package/dist/factory-assets/connectors/devserver.js +18 -18
- package/dist/factory-assets/connectors/flow/adapter.js +18 -18
- package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/contract.js +1 -1
- package/dist/factory-assets/connectors/flow/engine.js +11 -11
- package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/run-flow.js +20 -20
- package/dist/factory-assets/connectors/flow.js +18 -18
- package/dist/factory-assets/connectors/git.js +18 -18
- package/dist/factory-assets/connectors/gmail.js +18 -18
- package/dist/factory-assets/connectors/googledrive.js +18 -18
- package/dist/factory-assets/connectors/local.js +18 -18
- package/dist/factory-assets/connectors/mattermost.js +18 -18
- package/dist/factory-assets/connectors/memory.js +18 -18
- package/dist/factory-assets/connectors/minio.js +18 -18
- package/dist/factory-assets/connectors/postgres.js +18 -18
- package/dist/factory-assets/connectors/s3.js +18 -18
- package/dist/factory-assets/connectors/sharepoint.js +18 -18
- package/dist/factory-assets/connectors/sqlite.js +18 -18
- package/dist/factory-assets/connectors/static-server.js +18 -18
- package/dist/factory-assets/connectors/tunnel.js +18 -18
- package/dist/factory-assets/connectors/webdav.js +18 -18
- package/dist/factory-assets/connectors/xstate-store.js +18 -18
- package/dist/factory-assets/connectors/xstate.js +18 -18
- package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +10 -8
- package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +15 -11
- package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +12 -9
- package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +2 -2
- package/dist/flows-A4YALSZY.js +26 -0
- package/dist/{flows-EQF2CH4U.js.map → flows-A4YALSZY.js.map} +1 -1
- package/dist/helpers-53XZW7KF.js +34 -0
- package/dist/{helpers-CFK6YP6R.js.map → helpers-53XZW7KF.js.map} +1 -1
- package/dist/library/index.js +14 -14
- package/dist/library/install.js +6 -4
- package/dist/library/src/index.d.ts +2 -2
- package/dist/library/src/index.d.ts.map +1 -1
- package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
- package/dist/library/src/local/db.d.ts +2 -0
- package/dist/library/src/local/db.d.ts.map +1 -1
- package/dist/library/src/local/library-manager.d.ts +5 -0
- package/dist/library/src/local/library-manager.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts +5 -3
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/local-catalog-source.d.ts +6 -0
- package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
- package/dist/library/src/local/store-paths.d.ts +9 -0
- package/dist/library/src/local/store-paths.d.ts.map +1 -1
- package/dist/library/src/manifest-writer.d.ts +1 -1
- package/dist/library/src/manifest-writer.d.ts.map +1 -1
- package/dist/library/src/remote/index.d.ts +1 -1
- package/dist/library/src/remote/index.d.ts.map +1 -1
- package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
- package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
- package/dist/library/src/sync/git-driver.d.ts.map +1 -1
- package/dist/library/src/user-library.d.ts +2 -0
- package/dist/library/src/user-library.d.ts.map +1 -1
- package/dist/{library-publish-53UTB3MB.js → library-publish-FFIPWIRM.js} +50 -39
- package/dist/library-publish-FFIPWIRM.js.map +1 -0
- package/dist/open-library-PZAT3TJA.js +40 -0
- package/dist/{open-library-BOSPJVID.js.map → open-library-PZAT3TJA.js.map} +1 -1
- package/dist/open-registry-W46UXZ3I.js +32 -0
- package/dist/{open-registry-4FI7HKET.js.map → open-registry-W46UXZ3I.js.map} +1 -1
- package/dist/paths-KKY3NSBZ.js +22 -0
- package/dist/{paths-SUS4S4YT.js.map → paths-KKY3NSBZ.js.map} +1 -1
- package/dist/plugin-store-CK7YWRIC.js +227 -0
- package/dist/plugin-store-CK7YWRIC.js.map +1 -0
- package/dist/plugins/src/catalog-source.d.ts +6 -0
- package/dist/plugins/src/catalog-source.d.ts.map +1 -1
- package/dist/project-EZUH7PUJ.js +79 -0
- package/dist/{project-I55A4O2T.js.map → project-EZUH7PUJ.js.map} +1 -1
- package/dist/resolver/index.js +10 -10
- package/dist/runner/index.js +35 -35
- package/dist/runner/src/agent.d.ts.map +1 -1
- package/dist/runner/src/agents/in-process-host.d.ts.map +1 -1
- package/dist/runner/src/composition/index.d.ts +2 -1
- package/dist/runner/src/composition/index.d.ts.map +1 -1
- package/dist/runner/src/composition/prompt-sections.d.ts +20 -5
- package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -1
- package/dist/runner/src/composition/resolve.d.ts +10 -1
- package/dist/runner/src/composition/resolve.d.ts.map +1 -1
- package/dist/runner/src/composition/verify.d.ts +29 -0
- package/dist/runner/src/composition/verify.d.ts.map +1 -0
- package/dist/runner/src/credential-notice.d.ts +14 -0
- package/dist/runner/src/credential-notice.d.ts.map +1 -0
- package/dist/runner/src/environment.d.ts.map +1 -1
- package/dist/runner/src/final-text.d.ts +17 -0
- package/dist/runner/src/final-text.d.ts.map +1 -0
- package/dist/runner/src/index.d.ts +2 -0
- package/dist/runner/src/index.d.ts.map +1 -1
- package/dist/runner/src/resource-handler.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts +13 -0
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/runner/src/session.d.ts +2 -0
- package/dist/runner/src/session.d.ts.map +1 -1
- package/dist/runner/src/ws-auth-warning.d.ts +17 -0
- package/dist/runner/src/ws-auth-warning.d.ts.map +1 -0
- package/dist/sdk/asset-manager.js +18 -18
- package/dist/sdk/bridge.js +14 -14
- package/dist/sdk/core.js +9 -9
- package/dist/sdk/flow.js +11 -11
- package/dist/sdk/index.js +38 -36
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.js +10 -10
- package/dist/sdk/runner.js +35 -35
- package/dist/sdk/src/local-runtime.d.ts.map +1 -1
- package/dist/sdk/transport/ws/client.js +1 -1
- package/dist/sdk/transport/ws/server.js +1 -1
- package/dist/sdk/transport/ws.js +2 -2
- package/dist/sdk/transport.js +2 -2
- package/dist/serve-preflight-F7MYF747.js +64 -0
- package/dist/serve-preflight-F7MYF747.js.map +1 -0
- package/dist/{setup-7DQJKHUI.js → setup-L632QIHV.js} +26 -26
- package/dist/{setup-7DQJKHUI.js.map → setup-L632QIHV.js.map} +1 -1
- package/dist/skills-OY3Y5GKA.js +26 -0
- package/dist/{skills-NUEN5NDX.js.map → skills-OY3Y5GKA.js.map} +1 -1
- package/dist/source-36FHMN5V.js +42 -0
- package/dist/{source-G2LV5LVD.js.map → source-36FHMN5V.js.map} +1 -1
- package/dist/source-fetch-github-PIO6EMMF.js +4 -0
- package/dist/{source-fetch-github-QN4LLTL5.js.map → source-fetch-github-PIO6EMMF.js.map} +1 -1
- package/dist/{source-manifest-publish-6RM7SWLZ.js → source-manifest-publish-NIXJSJ22.js} +30 -28
- package/dist/source-manifest-publish-NIXJSJ22.js.map +1 -0
- package/dist/transport/index.js +2 -2
- package/dist/transport/src/ws/client.d.ts +6 -0
- package/dist/transport/src/ws/client.d.ts.map +1 -1
- package/dist/transport/src/ws/server.d.ts +4 -0
- package/dist/transport/src/ws/server.d.ts.map +1 -1
- package/dist/transport/ws/client.js +1 -1
- package/dist/transport/ws/server.js +1 -1
- package/dist/transport/ws.js +2 -2
- package/dist/tui/index.js +77 -50
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/src/repl-session.d.ts +1 -1
- package/dist/tui/src/repl-session.d.ts.map +1 -1
- package/dist/tui/src/repl.d.ts +3 -0
- package/dist/tui/src/repl.d.ts.map +1 -1
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/lifecycle.d.ts +2 -1
- package/dist/types/src/lifecycle.d.ts.map +1 -1
- package/dist/types/src/manifests/agent-composition.d.ts +20 -0
- package/dist/types/src/manifests/agent-composition.d.ts.map +1 -1
- package/dist/types/src/manifests/agent.d.ts.map +1 -1
- package/dist/types/src/manifests/cron.d.ts +15 -0
- package/dist/types/src/manifests/cron.d.ts.map +1 -0
- package/dist/types/src/manifests/index.d.ts +3 -2
- package/dist/types/src/manifests/index.d.ts.map +1 -1
- package/dist/types/src/manifests/preset.d.ts +6 -1
- package/dist/types/src/manifests/preset.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +25 -25
- package/dist/workspace-plugin/adapters/omp.js +106 -51
- package/dist/workspace-plugin/adapters/omp.js.map +1 -1
- package/dist/workspace-plugin/index.js +2 -2
- package/dist/workspace-plugin/src/adapters/claude-code.d.ts.map +1 -1
- package/dist/workspace-plugin/src/adapters/omp.d.ts +11 -2
- package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/asset-feeds-CXGQIDFR.js.map +0 -1
- package/dist/chunk-2F5AWQX5.js.map +0 -1
- package/dist/chunk-3SM2DL2T.js.map +0 -1
- package/dist/chunk-47U4GZ4M.js.map +0 -1
- package/dist/chunk-5LKOAX7I.js.map +0 -1
- package/dist/chunk-6O2X3GPW.js.map +0 -1
- package/dist/chunk-ALEYHUC5.js.map +0 -1
- package/dist/chunk-CGYEHQOX.js.map +0 -1
- package/dist/chunk-CJERAGFY.js.map +0 -1
- package/dist/chunk-CPSIPIX7.js.map +0 -1
- package/dist/chunk-D3B36CYC.js.map +0 -1
- package/dist/chunk-DZMNFCWB.js.map +0 -1
- package/dist/chunk-EDYHEMJA.js.map +0 -1
- package/dist/chunk-FH7W6TJ4.js.map +0 -1
- package/dist/chunk-GV4DZ6MT.js.map +0 -1
- package/dist/chunk-HZXUXHIV.js.map +0 -1
- package/dist/chunk-J4RBUFGM.js.map +0 -1
- package/dist/chunk-NWDSLXOX.js.map +0 -1
- package/dist/chunk-OBYKJB4U.js.map +0 -1
- package/dist/chunk-PBBPZYVG.js.map +0 -1
- package/dist/chunk-PMECEZK3.js.map +0 -1
- package/dist/chunk-R7FOF242.js +0 -59
- package/dist/chunk-R7FOF242.js.map +0 -1
- package/dist/chunk-R7NHYEJF.js.map +0 -1
- package/dist/chunk-RYYLMBA2.js +0 -392
- package/dist/chunk-RYYLMBA2.js.map +0 -1
- package/dist/chunk-SBSA3IQA.js.map +0 -1
- package/dist/chunk-VLTQGE2E.js.map +0 -1
- package/dist/chunk-WSBKB4CJ.js.map +0 -1
- package/dist/chunk-YOH2L76X.js +0 -505
- package/dist/chunk-YOH2L76X.js.map +0 -1
- package/dist/chunk-ZCAJZ4B2.js.map +0 -1
- package/dist/chunk-ZPWTOUTK.js.map +0 -1
- package/dist/flows-EQF2CH4U.js +0 -26
- package/dist/helpers-CFK6YP6R.js +0 -34
- package/dist/library-publish-53UTB3MB.js.map +0 -1
- package/dist/open-library-BOSPJVID.js +0 -40
- package/dist/open-registry-4FI7HKET.js +0 -32
- package/dist/paths-SUS4S4YT.js +0 -22
- package/dist/plugin-store-AGQDMING.js +0 -149
- package/dist/plugin-store-AGQDMING.js.map +0 -1
- package/dist/project-I55A4O2T.js +0 -41
- package/dist/skills-NUEN5NDX.js +0 -26
- package/dist/source-G2LV5LVD.js +0 -41
- package/dist/source-fetch-github-QN4LLTL5.js +0 -4
- package/dist/source-manifest-publish-6RM7SWLZ.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-
|
|
2
|
-
import { installFromManifest, assertSafeManifestPath } from './chunk-
|
|
3
|
-
import { PresetManifestSchema } from './chunk-
|
|
4
|
-
import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-
|
|
5
|
-
import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-
|
|
1
|
+
import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-NVO6WECE.js';
|
|
2
|
+
import { installFromManifest, assertSafeManifestPath } from './chunk-PXDWTJ3P.js';
|
|
3
|
+
import { PresetManifestSchema } from './chunk-57SF6W6E.js';
|
|
4
|
+
import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-BF422IDP.js';
|
|
5
|
+
import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-L3ZGYSWY.js';
|
|
6
6
|
import { userConfigPath, globalSkaileDir, mergeLegacyEntriesInto, migrateLegacyDir, globalCacheRoot } from './chunk-L5VSIPQD.js';
|
|
7
|
-
import { encodeSkaileManifest,
|
|
8
|
-
import { scanDirectory } from './chunk-
|
|
9
|
-
import { parseAssetRef, assetRefToStr } from './chunk-
|
|
7
|
+
import { encodeSkaileManifest, SKAILE_MANIFEST_FILENAME, loadSkPublishManifest } from './chunk-IY5E7Y5W.js';
|
|
8
|
+
import { scanDirectory } from './chunk-M3P4BYRK.js';
|
|
9
|
+
import { parseAssetRef, assetRefToStr, isValidAssetName } from './chunk-J4OYIYFQ.js';
|
|
10
10
|
import { __export } from './chunk-NSBPE2FW.js';
|
|
11
11
|
import * as fs11 from 'fs';
|
|
12
12
|
import { existsSync, mkdirSync, symlinkSync, copyFileSync, cpSync } from 'fs';
|
|
@@ -20,6 +20,7 @@ import { createClient } from '@libsql/client';
|
|
|
20
20
|
import { drizzle } from 'drizzle-orm/libsql';
|
|
21
21
|
import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
|
|
22
22
|
import { spawnSync } from 'child_process';
|
|
23
|
+
import { valid, gt } from 'semver';
|
|
23
24
|
import { isDeepStrictEqual } from 'util';
|
|
24
25
|
|
|
25
26
|
// library/src/library.ts
|
|
@@ -369,6 +370,31 @@ function curatedManifestOverlay(sourceUrl) {
|
|
|
369
370
|
const file = path16.join(getStoreManifestsDir(), `${storeManifestSlug(sourceUrl)}.yaml`);
|
|
370
371
|
return fs11.existsSync(file) ? file : void 0;
|
|
371
372
|
}
|
|
373
|
+
function commitStoreManifest(file, message) {
|
|
374
|
+
const root = getStoreRoot();
|
|
375
|
+
try {
|
|
376
|
+
const rel = path16.relative(root, file);
|
|
377
|
+
if (rel.startsWith("..") || path16.isAbsolute(rel)) return false;
|
|
378
|
+
initStoreGitRepo(root);
|
|
379
|
+
const run = (args) => spawnSync(
|
|
380
|
+
"git",
|
|
381
|
+
[
|
|
382
|
+
"-c",
|
|
383
|
+
"user.name=skaile",
|
|
384
|
+
"-c",
|
|
385
|
+
"user.email=skaile@localhost",
|
|
386
|
+
"-c",
|
|
387
|
+
"commit.gpgsign=false",
|
|
388
|
+
...args
|
|
389
|
+
],
|
|
390
|
+
{ cwd: root, stdio: "ignore" }
|
|
391
|
+
);
|
|
392
|
+
if (run(["add", "--", rel]).status !== 0) return false;
|
|
393
|
+
return run(["commit", "--quiet", "-m", message, "--only", "--", rel]).status === 0;
|
|
394
|
+
} catch {
|
|
395
|
+
return false;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
372
398
|
function migratedMarkerPath() {
|
|
373
399
|
return path16.join(getStoreRoot(), ".migrated");
|
|
374
400
|
}
|
|
@@ -693,6 +719,7 @@ function assertNoLegacyLibDb(newDbPath) {
|
|
|
693
719
|
);
|
|
694
720
|
}
|
|
695
721
|
}
|
|
722
|
+
var INDEX_BUSY_TIMEOUT_MS = 5e3;
|
|
696
723
|
async function createLibraryDb(dbPath) {
|
|
697
724
|
assertNoLegacyLibDb(dbPath);
|
|
698
725
|
try {
|
|
@@ -704,6 +731,7 @@ async function createLibraryDb(dbPath) {
|
|
|
704
731
|
);
|
|
705
732
|
}
|
|
706
733
|
const client = createClient({ url: `file:${dbPath}` });
|
|
734
|
+
await client.execute(`PRAGMA busy_timeout = ${INDEX_BUSY_TIMEOUT_MS}`);
|
|
707
735
|
await client.execute("PRAGMA journal_mode = WAL");
|
|
708
736
|
await client.execute("PRAGMA foreign_keys = ON");
|
|
709
737
|
if (await legacySourcesPresent(client) && !await librariesPresent(client)) {
|
|
@@ -890,7 +918,10 @@ var LocalIndex = class {
|
|
|
890
918
|
this.dbHandleRef = null;
|
|
891
919
|
this.dbPromise = null;
|
|
892
920
|
}
|
|
893
|
-
/**
|
|
921
|
+
/**
|
|
922
|
+
* Internal access for LibraryManager. Do not call from user code. Typed `unknown`
|
|
923
|
+
* so the published `.d.ts` pulls in no drizzle types (p461); the manager casts it.
|
|
924
|
+
*/
|
|
894
925
|
async dbHandle() {
|
|
895
926
|
return this.ensureDb();
|
|
896
927
|
}
|
|
@@ -1561,6 +1592,13 @@ var GitSyncDriver = class {
|
|
|
1561
1592
|
}
|
|
1562
1593
|
assertNoRebase(lib);
|
|
1563
1594
|
const cfg = gitCfg(lib);
|
|
1595
|
+
if (git(lib.path, ["rev-parse", "--verify", "--quiet", `refs/heads/${cfg.branch}`]).status !== 0) {
|
|
1596
|
+
const current = git(lib.path, ["symbolic-ref", "--short", "-q", "HEAD"]).stdout.trim();
|
|
1597
|
+
throw new LibrarySyncError(
|
|
1598
|
+
current && current !== cfg.branch ? `no local branch "${cfg.branch}" in ${lib.name} (it is on "${current}"); run skaile library set ${lib.name} backendConfig.branch=${current}` : `no local branch "${cfg.branch}" in ${lib.name}; commit something on it first`,
|
|
1599
|
+
"remote_error"
|
|
1600
|
+
);
|
|
1601
|
+
}
|
|
1564
1602
|
const args = ["push", "origin", cfg.branch];
|
|
1565
1603
|
if (opts?.force) args.push("--force-with-lease");
|
|
1566
1604
|
const countRef = "refs/skaile/push-base";
|
|
@@ -1579,9 +1617,16 @@ var GitSyncDriver = class {
|
|
|
1579
1617
|
const baseRef = fetched.status === 0 || remoteHasNoBranch ? countRef : trackingRef;
|
|
1580
1618
|
const local = `refs/heads/${cfg.branch}`;
|
|
1581
1619
|
const pushed = countCommits(lib.path, `${baseRef}..${local}`) ?? countCommits(lib.path, local) ?? 0;
|
|
1620
|
+
const behind = remoteHasNoBranch ? 0 : countCommits(lib.path, `${local}..${baseRef}`) ?? 0;
|
|
1582
1621
|
git(lib.path, ["update-ref", "-d", countRef]);
|
|
1583
1622
|
const pushRes = git(lib.path, args);
|
|
1584
1623
|
if (pushRes.status !== 0 && /non-fast-forward|fetch first|updates were rejected/i.test(pushRes.stderr)) {
|
|
1624
|
+
if (pushed === 0 && behind > 0) {
|
|
1625
|
+
throw new LibrarySyncError(
|
|
1626
|
+
`behind origin by ${behind} commit(s); run skaile library pull ${lib.name}`,
|
|
1627
|
+
"remote_error"
|
|
1628
|
+
);
|
|
1629
|
+
}
|
|
1585
1630
|
throw new LibrarySyncError(
|
|
1586
1631
|
`local and remote both changed; run skaile library git ${lib.name} pull --rebase origin ${cfg.branch}`,
|
|
1587
1632
|
"remote_error"
|
|
@@ -1713,6 +1758,13 @@ var LibraryManager = class {
|
|
|
1713
1758
|
lib;
|
|
1714
1759
|
localDrv = new LocalSyncDriver();
|
|
1715
1760
|
gitDrv = new GitSyncDriver();
|
|
1761
|
+
/**
|
|
1762
|
+
* The index's drizzle handle. `LocalIndex.dbHandle()` is typed `unknown` so the
|
|
1763
|
+
* published `.d.ts` pulls in no drizzle types; the type lives here.
|
|
1764
|
+
*/
|
|
1765
|
+
async db() {
|
|
1766
|
+
return await this.lib.dbHandle();
|
|
1767
|
+
}
|
|
1716
1768
|
/** Resolve the sync driver for a given backend. */
|
|
1717
1769
|
driverFor(backend) {
|
|
1718
1770
|
switch (backend) {
|
|
@@ -1724,7 +1776,7 @@ var LibraryManager = class {
|
|
|
1724
1776
|
}
|
|
1725
1777
|
async addLibrary(input) {
|
|
1726
1778
|
assertValidLibraryName(input.name);
|
|
1727
|
-
const db = await this.
|
|
1779
|
+
const db = await this.db();
|
|
1728
1780
|
const existing = await db.select().from(libraries).where(eq(libraries.name, input.name)).get();
|
|
1729
1781
|
if (existing) throw new DuplicateLibraryNameError(input.name);
|
|
1730
1782
|
const id = crypto.randomUUID();
|
|
@@ -1749,12 +1801,12 @@ var LibraryManager = class {
|
|
|
1749
1801
|
return this.requireLibrary(id);
|
|
1750
1802
|
}
|
|
1751
1803
|
async listLibraries() {
|
|
1752
|
-
const db = await this.
|
|
1804
|
+
const db = await this.db();
|
|
1753
1805
|
const rows = await db.select().from(libraries).all();
|
|
1754
1806
|
return rows.map(rowToLibrary2).sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime());
|
|
1755
1807
|
}
|
|
1756
1808
|
async getLibrary(nameOrId) {
|
|
1757
|
-
const db = await this.
|
|
1809
|
+
const db = await this.db();
|
|
1758
1810
|
let row = await db.select().from(libraries).where(eq(libraries.name, nameOrId)).get();
|
|
1759
1811
|
if (!row) {
|
|
1760
1812
|
row = await db.select().from(libraries).where(eq(libraries.id, nameOrId)).get();
|
|
@@ -1782,7 +1834,7 @@ var LibraryManager = class {
|
|
|
1782
1834
|
async updateLibrary(nameOrId, patch) {
|
|
1783
1835
|
const lib = await this.requireLibrary(nameOrId);
|
|
1784
1836
|
if (patch.name !== void 0 && patch.name !== lib.name) assertValidLibraryName(patch.name);
|
|
1785
|
-
const db = await this.
|
|
1837
|
+
const db = await this.db();
|
|
1786
1838
|
const updates = {
|
|
1787
1839
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
1788
1840
|
};
|
|
@@ -1816,7 +1868,7 @@ var LibraryManager = class {
|
|
|
1816
1868
|
}
|
|
1817
1869
|
async setDefault(nameOrId) {
|
|
1818
1870
|
const lib = await this.requireLibrary(nameOrId);
|
|
1819
|
-
const db = await this.
|
|
1871
|
+
const db = await this.db();
|
|
1820
1872
|
await db.update(libraries).set({ isDefault: false }).run();
|
|
1821
1873
|
await db.update(libraries).set({ isDefault: true, updatedAt: (/* @__PURE__ */ new Date()).toISOString() }).where(eq(libraries.id, lib.id)).run();
|
|
1822
1874
|
return this.requireLibrary(lib.id);
|
|
@@ -1875,7 +1927,7 @@ function describeSyncError(err) {
|
|
|
1875
1927
|
return parts.join(": ");
|
|
1876
1928
|
}
|
|
1877
1929
|
function scanLibraryRoot(rootPath, registry, scanOpts) {
|
|
1878
|
-
const fallbackPublisher = resolveSourcePublisher(rootPath) ?? (path16.basename(rootPath) || "unknown");
|
|
1930
|
+
const fallbackPublisher = resolveSourcePublisher(rootPath, scanOpts?.publisher) ?? (path16.basename(rootPath) || "unknown");
|
|
1879
1931
|
const opts = {
|
|
1880
1932
|
registry,
|
|
1881
1933
|
sidecarManifestFile: scanOpts?.sidecarManifestFile,
|
|
@@ -1889,8 +1941,12 @@ function scanLibraryRoot(rootPath, registry, scanOpts) {
|
|
|
1889
1941
|
return discoverAssetsInTree(rootPath, opts);
|
|
1890
1942
|
}
|
|
1891
1943
|
function libraryScanOptions(library) {
|
|
1892
|
-
const
|
|
1893
|
-
return {
|
|
1944
|
+
const source = library.ownership === "reader" && library.backendConfig && "url" in library.backendConfig ? library.backendConfig : void 0;
|
|
1945
|
+
return {
|
|
1946
|
+
includeDev: true,
|
|
1947
|
+
sidecarManifestFile: source ? curatedManifestOverlay(source.url) : void 0,
|
|
1948
|
+
publisher: source?.publisher
|
|
1949
|
+
};
|
|
1894
1950
|
}
|
|
1895
1951
|
var LocalCatalogSource = class {
|
|
1896
1952
|
constructor(library, sourceId, rootPath, registry, options) {
|
|
@@ -1901,6 +1957,7 @@ var LocalCatalogSource = class {
|
|
|
1901
1957
|
this.id = `local:${sourceId}`;
|
|
1902
1958
|
this.sidecarPath = options?.sidecarPath;
|
|
1903
1959
|
this.sidecarManifestFile = options?.sidecarManifestFile;
|
|
1960
|
+
this.publisher = options?.publisher;
|
|
1904
1961
|
}
|
|
1905
1962
|
library;
|
|
1906
1963
|
sourceId;
|
|
@@ -1909,6 +1966,7 @@ var LocalCatalogSource = class {
|
|
|
1909
1966
|
id;
|
|
1910
1967
|
sidecarPath;
|
|
1911
1968
|
sidecarManifestFile;
|
|
1969
|
+
publisher;
|
|
1912
1970
|
async resolve(ref) {
|
|
1913
1971
|
const def = await this.library.getAssetDef(ref);
|
|
1914
1972
|
if (!def || def.libraryId !== this.sourceId) return null;
|
|
@@ -1954,6 +2012,7 @@ var LocalCatalogSource = class {
|
|
|
1954
2012
|
return scanLibraryRoot(this.rootPath, this.registry, {
|
|
1955
2013
|
sidecarPath: this.sidecarPath,
|
|
1956
2014
|
sidecarManifestFile: this.sidecarManifestFile,
|
|
2015
|
+
publisher: this.publisher,
|
|
1957
2016
|
includeDev: scanOpts?.includeDev
|
|
1958
2017
|
});
|
|
1959
2018
|
}
|
|
@@ -2014,19 +2073,10 @@ var LocalCatalogSource = class {
|
|
|
2014
2073
|
errors.push(`${err.path}: ${err.error}`);
|
|
2015
2074
|
}
|
|
2016
2075
|
const advisories = [];
|
|
2017
|
-
let missingSha256Count = 0;
|
|
2018
2076
|
for (const w of result.warnings) {
|
|
2019
|
-
if (w.code === "missing_sha256")
|
|
2020
|
-
missingSha256Count++;
|
|
2021
|
-
continue;
|
|
2022
|
-
}
|
|
2077
|
+
if (w.code === "missing_sha256") continue;
|
|
2023
2078
|
advisories.push(`${w.path}: ${w.warning}`);
|
|
2024
2079
|
}
|
|
2025
|
-
if (missingSha256Count > 0) {
|
|
2026
|
-
advisories.push(
|
|
2027
|
-
`${missingSha256Count} asset(s): sha256 not pinned \u2014 auto-computed locally (pin only for store publish)`
|
|
2028
|
-
);
|
|
2029
|
-
}
|
|
2030
2080
|
const keepRefs = assets.map((a) => a.ref);
|
|
2031
2081
|
let pruned = [];
|
|
2032
2082
|
if (!syncOpts?.only && result.assets.length > 0) {
|
|
@@ -3296,8 +3346,6 @@ function sha256Hex(bytes) {
|
|
|
3296
3346
|
h.update(bytes);
|
|
3297
3347
|
return h.digest("hex");
|
|
3298
3348
|
}
|
|
3299
|
-
|
|
3300
|
-
// library/src/remote/remote-catalog-source.ts
|
|
3301
3349
|
var TarballHashMismatchError = class extends Error {
|
|
3302
3350
|
constructor(expected, actual) {
|
|
3303
3351
|
super(`SHA256 mismatch: expected ${expected}, got ${actual}`);
|
|
@@ -3324,6 +3372,19 @@ var CatalogHttpError = class extends Error {
|
|
|
3324
3372
|
status;
|
|
3325
3373
|
url;
|
|
3326
3374
|
};
|
|
3375
|
+
function describeCatalogError(err, baseUrl) {
|
|
3376
|
+
if (err instanceof OfflineError) return err.message;
|
|
3377
|
+
if (err instanceof CatalogHttpError) {
|
|
3378
|
+
return err.status >= 400 && err.status < 600 && !err.message.startsWith("tRPC") ? `${baseUrl} answered ${err.status} (${err.message})` : `${baseUrl}: ${err.message}`;
|
|
3379
|
+
}
|
|
3380
|
+
const e = err;
|
|
3381
|
+
if (e?.name === "TimeoutError" || e?.name === "AbortError") {
|
|
3382
|
+
return `no answer from ${baseUrl} within ${CATALOG_REQUEST_TIMEOUT_MS / 1e3} s`;
|
|
3383
|
+
}
|
|
3384
|
+
const cause = e?.cause;
|
|
3385
|
+
const why = cause?.code ?? cause?.message ?? e?.message ?? String(err);
|
|
3386
|
+
return `cannot reach ${baseUrl} (${why})`;
|
|
3387
|
+
}
|
|
3327
3388
|
var DEFAULT_TTL_MS = 864e5;
|
|
3328
3389
|
var RemoteCatalogSource = class {
|
|
3329
3390
|
id;
|
|
@@ -3362,25 +3423,62 @@ var RemoteCatalogSource = class {
|
|
|
3362
3423
|
async resolve(ref) {
|
|
3363
3424
|
const fresh = this.cache.getResolve(ref);
|
|
3364
3425
|
if (fresh && (this.cache.airGapped || fresh.value === null || fresh.value.requires !== void 0)) {
|
|
3365
|
-
return fresh.value;
|
|
3426
|
+
return cachedAsset(fresh.value);
|
|
3366
3427
|
}
|
|
3367
3428
|
if (this.cache.airGapped) {
|
|
3368
3429
|
const stale2 = this.cache.getResolveStale(ref);
|
|
3369
|
-
if (stale2) return stale2.value;
|
|
3430
|
+
if (stale2) return cachedAsset(stale2.value);
|
|
3431
|
+
const listed = this.cachedListedAsset(ref);
|
|
3432
|
+
if (listed) return listed;
|
|
3370
3433
|
throw new OfflineError(`Asset '${ref}' not in cache`);
|
|
3371
3434
|
}
|
|
3372
3435
|
const stale = this.cache.getResolveStale(ref);
|
|
3373
3436
|
if (stale && (stale.value === null || stale.value.requires !== void 0)) {
|
|
3374
3437
|
this.scheduleBackground(`resolve:${ref}`, () => this.fetchAndStoreResolve(ref));
|
|
3375
|
-
return stale.value;
|
|
3438
|
+
return cachedAsset(stale.value);
|
|
3376
3439
|
}
|
|
3377
3440
|
try {
|
|
3378
3441
|
return await this.fetchAndStoreResolve(ref);
|
|
3379
3442
|
} catch (err) {
|
|
3380
|
-
if (stale) return stale.value;
|
|
3443
|
+
if (stale) return cachedAsset(stale.value);
|
|
3444
|
+
const listed = this.cachedListedAsset(ref);
|
|
3445
|
+
if (listed) return listed;
|
|
3381
3446
|
throw err;
|
|
3382
3447
|
}
|
|
3383
3448
|
}
|
|
3449
|
+
/**
|
|
3450
|
+
* The row for `ref` from the cached, unfiltered catalog list (fresh or stale), or `null`.
|
|
3451
|
+
* A version-less ref takes the highest listed version. Never touches the network.
|
|
3452
|
+
*/
|
|
3453
|
+
cachedListedAsset(ref) {
|
|
3454
|
+
const all = this.cache.getList(void 0) ?? this.cache.getListStale(void 0);
|
|
3455
|
+
if (!all) return null;
|
|
3456
|
+
const want = parseAssetRef(ref);
|
|
3457
|
+
const bare = (p) => p?.replace(/^@/, "");
|
|
3458
|
+
const hits = all.items.filter(
|
|
3459
|
+
(a) => a.kind === want.kind && a.name === want.name && (want.publisher === void 0 || bare(a.publisher) === bare(want.publisher)) && (want.pin === void 0 || a.version === want.pin)
|
|
3460
|
+
);
|
|
3461
|
+
if (hits.length === 0) return null;
|
|
3462
|
+
return cachedAsset(
|
|
3463
|
+
hits.reduce(
|
|
3464
|
+
(best, a) => valid(a.version) && valid(best.version) && gt(a.version, best.version) ? a : best
|
|
3465
|
+
)
|
|
3466
|
+
);
|
|
3467
|
+
}
|
|
3468
|
+
/**
|
|
3469
|
+
* `filter` applied to the cached, unfiltered catalog list (fresh or stale), or `null` when
|
|
3470
|
+
* that list is not cached or `filter` is empty. A `--kind` / publisher query needs no
|
|
3471
|
+
* round trip once the whole list is on disk.
|
|
3472
|
+
*/
|
|
3473
|
+
cachedListFiltered(filter) {
|
|
3474
|
+
if (!filter || !filter.kind && !filter.publisher && !filter.prefix) return null;
|
|
3475
|
+
const all = this.cache.getList(void 0) ?? this.cache.getListStale(void 0);
|
|
3476
|
+
if (!all) return null;
|
|
3477
|
+
const bare = (p) => p.replace(/^@/, "");
|
|
3478
|
+
return all.items.filter(
|
|
3479
|
+
(a) => (!filter.kind || a.kind === filter.kind) && (!filter.publisher || bare(a.publisher) === bare(filter.publisher)) && (!filter.prefix || `${bare(a.publisher)}/${a.name}`.startsWith(filter.prefix))
|
|
3480
|
+
).map(cachedAsset);
|
|
3481
|
+
}
|
|
3384
3482
|
/**
|
|
3385
3483
|
* Fetch `ref` from the store, bypassing the resolve cache, and cache the answer.
|
|
3386
3484
|
* For a caller that knows the cached answer is wrong, e.g. a cached miss for an
|
|
@@ -3402,19 +3500,27 @@ var RemoteCatalogSource = class {
|
|
|
3402
3500
|
*/
|
|
3403
3501
|
async listAssets(filter) {
|
|
3404
3502
|
const fresh = this.cache.getList(filter);
|
|
3405
|
-
if (fresh) return fresh.items;
|
|
3503
|
+
if (fresh) return fresh.items.map(cachedAsset);
|
|
3406
3504
|
if (this.cache.airGapped) {
|
|
3407
3505
|
const stale2 = this.cache.getListStale(filter);
|
|
3408
|
-
if (stale2) return stale2.items;
|
|
3506
|
+
if (stale2) return stale2.items.map(cachedAsset);
|
|
3507
|
+
const subset = this.cachedListFiltered(filter);
|
|
3508
|
+
if (subset) return subset;
|
|
3409
3509
|
throw new OfflineError("Catalog list not in cache");
|
|
3410
3510
|
}
|
|
3411
3511
|
const stale = this.cache.getListStale(filter);
|
|
3412
3512
|
if (stale) {
|
|
3413
3513
|
const filterKey2 = JSON.stringify(filter ?? null);
|
|
3414
3514
|
this.scheduleBackground(`list:${filterKey2}`, () => this.fetchAndStoreList(filter));
|
|
3415
|
-
return stale.items;
|
|
3515
|
+
return stale.items.map(cachedAsset);
|
|
3516
|
+
}
|
|
3517
|
+
try {
|
|
3518
|
+
return await this.fetchAndStoreList(filter);
|
|
3519
|
+
} catch (err) {
|
|
3520
|
+
const subset = this.cachedListFiltered(filter);
|
|
3521
|
+
if (subset) return subset;
|
|
3522
|
+
throw err;
|
|
3416
3523
|
}
|
|
3417
|
-
return this.fetchAndStoreList(filter);
|
|
3418
3524
|
}
|
|
3419
3525
|
/**
|
|
3420
3526
|
* Fetch the content-addressed tarball for an asset. The bytes are downloaded
|
|
@@ -3518,6 +3624,9 @@ var RemoteCatalogSource = class {
|
|
|
3518
3624
|
* @throws {@link CatalogHttpError} on a non-2xx response or malformed envelope.
|
|
3519
3625
|
*/
|
|
3520
3626
|
async getInstallManifest(ref) {
|
|
3627
|
+
if (this.cache.airGapped) {
|
|
3628
|
+
throw new OfflineError(`Install manifest of '${ref}' is not cached`);
|
|
3629
|
+
}
|
|
3521
3630
|
const url = trpcGetUrl(this.baseUrl, "catalog.getInstallManifest", { ref });
|
|
3522
3631
|
const res = await this.httpClient(url, {
|
|
3523
3632
|
method: "GET",
|
|
@@ -3555,6 +3664,9 @@ var RemoteCatalogSource = class {
|
|
|
3555
3664
|
* @docLink packages/library/api-reference#remote-catalog-source
|
|
3556
3665
|
*/
|
|
3557
3666
|
async getCanonicalDigest(ref) {
|
|
3667
|
+
if (this.cache.airGapped) {
|
|
3668
|
+
throw new OfflineError(`Canonical digest of '${ref}' is not cached`);
|
|
3669
|
+
}
|
|
3558
3670
|
const url = trpcGetUrl(this.baseUrl, "catalog.getCanonicalDigest", { ref });
|
|
3559
3671
|
const res = await this.httpClient(url, {
|
|
3560
3672
|
method: "GET",
|
|
@@ -3730,9 +3842,42 @@ function normalizeCatalogAsset(raw) {
|
|
|
3730
3842
|
if (repo) asset.repo = repo;
|
|
3731
3843
|
const softDeps = pickRefs(r, "softDepsJson");
|
|
3732
3844
|
if (softDeps.length > 0) asset.softDeps = softDeps;
|
|
3733
|
-
asset.requires = pickRefs(r, "requiresJson");
|
|
3845
|
+
asset.requires = canonicalRequirements(pickRefs(r, "requiresJson"), publisher);
|
|
3846
|
+
if (r.demo === true || r.internal === true) asset.demo = true;
|
|
3734
3847
|
return asset;
|
|
3735
3848
|
}
|
|
3849
|
+
function canonicalRequirements(refs, rowPublisher) {
|
|
3850
|
+
const out = [];
|
|
3851
|
+
for (const ref of refs) {
|
|
3852
|
+
let canonical;
|
|
3853
|
+
try {
|
|
3854
|
+
canonical = assetRefToStr(parseAssetRef(ref));
|
|
3855
|
+
} catch {
|
|
3856
|
+
const hash = ref.indexOf("#");
|
|
3857
|
+
const head = hash === -1 ? ref : ref.slice(0, hash);
|
|
3858
|
+
const colon = head.indexOf(":");
|
|
3859
|
+
const name = colon === -1 ? head : head.slice(colon + 1);
|
|
3860
|
+
if (rowPublisher && isValidAssetName(name)) {
|
|
3861
|
+
try {
|
|
3862
|
+
canonical = assetRefToStr(
|
|
3863
|
+
parseAssetRef(
|
|
3864
|
+
`${colon === -1 ? "skill" : head.slice(0, colon)}:@${rowPublisher}/${name}${hash === -1 ? "" : ref.slice(hash)}`
|
|
3865
|
+
)
|
|
3866
|
+
);
|
|
3867
|
+
} catch {
|
|
3868
|
+
}
|
|
3869
|
+
}
|
|
3870
|
+
}
|
|
3871
|
+
if (canonical !== void 0 && !out.includes(canonical)) out.push(canonical);
|
|
3872
|
+
}
|
|
3873
|
+
return out;
|
|
3874
|
+
}
|
|
3875
|
+
function cachedAsset(asset) {
|
|
3876
|
+
if (!asset?.requires) return asset;
|
|
3877
|
+
const requires = canonicalRequirements(asset.requires, asset.publisher);
|
|
3878
|
+
const same = requires.length === asset.requires.length && requires.every((r, i) => r === asset.requires?.[i]);
|
|
3879
|
+
return same ? asset : { ...asset, requires };
|
|
3880
|
+
}
|
|
3736
3881
|
function pickRefs(r, key) {
|
|
3737
3882
|
let v = r[key];
|
|
3738
3883
|
if (typeof v === "string") {
|
|
@@ -4143,6 +4288,7 @@ function writeCuratedManifest(input) {
|
|
|
4143
4288
|
fs11.writeFileSync(manifestPath, encodeSkaileManifest(manifest), "utf-8");
|
|
4144
4289
|
return { wrote: true, manifestPath, assetCount: assets.length };
|
|
4145
4290
|
}
|
|
4291
|
+
var DEFAULT_ASSET_VERSION = "0.1.0";
|
|
4146
4292
|
function openManifest(libraryPath) {
|
|
4147
4293
|
const dir = path16.resolve(libraryPath);
|
|
4148
4294
|
const file = path16.join(dir, SKAILE_MANIFEST_FILENAME);
|
|
@@ -4156,6 +4302,8 @@ function openManifest(libraryPath) {
|
|
|
4156
4302
|
return { editor, created: false };
|
|
4157
4303
|
}
|
|
4158
4304
|
function assertManifestEditable(libraryPath) {
|
|
4305
|
+
const file = path16.join(path16.resolve(libraryPath), SKAILE_MANIFEST_FILENAME);
|
|
4306
|
+
if (!fs11.existsSync(file)) return;
|
|
4159
4307
|
openManifest(libraryPath);
|
|
4160
4308
|
}
|
|
4161
4309
|
function conflictingAssetRoot(libraryPath, kind, name, root) {
|
|
@@ -4323,7 +4471,9 @@ async function syncManifestWithDisk(libraryPath, defaultPublisher, registry, opt
|
|
|
4323
4471
|
kind: e.kind,
|
|
4324
4472
|
name: e.name,
|
|
4325
4473
|
root,
|
|
4326
|
-
version
|
|
4474
|
+
// A file with no version of its own (AGENT.md) reads as 0.1.0 in every library; the
|
|
4475
|
+
// manifest entry is where that version is kept.
|
|
4476
|
+
version: e.version || DEFAULT_ASSET_VERSION
|
|
4327
4477
|
});
|
|
4328
4478
|
}
|
|
4329
4479
|
return { removed, unknownKind, skipped, failed };
|
|
@@ -4482,6 +4632,6 @@ function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
|
|
|
4482
4632
|
return raw.version === 2 ? 2 : 1;
|
|
4483
4633
|
}
|
|
4484
4634
|
|
|
4485
|
-
export { AssignmentNotFoundError, CatalogCache, CatalogConfigSchema, CatalogHttpError, DuplicateAssignmentError, DuplicateLibraryNameError, GitSyncDriver, InstanceHasConsumersError, InstanceNotFoundError, InterpolationError, KnowledgeManifestSchema, LIBRARY_BACKENDS, LIBRARY_OWNERSHIPS, LOCAL_CATALOG_URL, LibraryConfigSchema, LibraryError, LibraryInstanceRefSchema, LibraryManager, LibrarySectionSchema, LibrarySyncError, LocalCatalogSource, LocalIndex, LocalSyncDriver, LockAssignmentSchema, LockFileSchema, OfflineError, OperationNotPermittedError, PIN_POLICIES, PinPolicySchema, PresetAppliedSchema, PresetExpandedSchema, RemoteCatalogSource, RequiresEdgeSchema, RestCatalogSource, SidecarGit, SkaileConfigSchema, SourceNotFoundError, TarballHashMismatchError, UserLibraryNotFoundError, WorkspaceConfigV2Schema, applyNonStructuralUpgrade, applyPreset, applyPresetFromData, assertManifestEditable, assertValidLibraryName, classifyRef, cloneOrInitGitRepo, conflictingAssetRoot, createEmptyLockFile, curatedManifestOverlay, deriveSlug, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, installLibraryAsset, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, libraryDirMissing, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, markLibraryUnregistered, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, missingLibraryDirMessage, missingRootAssets, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, pruneMissingRootAssets, queryInstancePickerChoices, recordLibraryRename, renamedLibraryName, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, scanAuthoringLibraries, scanLibraryRoot, scanUnlistedAssets, setManifestPublisher, setOriginUrl, sha256Hex, stampManifestPublisher, storeSecrets, syncManifestWithDisk, trackOriginBranch, trpcGetUrl, unregisteredLibraryNames, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
|
|
4486
|
-
//# sourceMappingURL=chunk-
|
|
4487
|
-
//# sourceMappingURL=chunk-
|
|
4635
|
+
export { AssignmentNotFoundError, CatalogCache, CatalogConfigSchema, CatalogHttpError, DuplicateAssignmentError, DuplicateLibraryNameError, GitSyncDriver, InstanceHasConsumersError, InstanceNotFoundError, InterpolationError, KnowledgeManifestSchema, LIBRARY_BACKENDS, LIBRARY_OWNERSHIPS, LOCAL_CATALOG_URL, LibraryConfigSchema, LibraryError, LibraryInstanceRefSchema, LibraryManager, LibrarySectionSchema, LibrarySyncError, LocalCatalogSource, LocalIndex, LocalSyncDriver, LockAssignmentSchema, LockFileSchema, OfflineError, OperationNotPermittedError, PIN_POLICIES, PinPolicySchema, PresetAppliedSchema, PresetExpandedSchema, RemoteCatalogSource, RequiresEdgeSchema, RestCatalogSource, SidecarGit, SkaileConfigSchema, SourceNotFoundError, TarballHashMismatchError, UserLibraryNotFoundError, WorkspaceConfigV2Schema, applyNonStructuralUpgrade, applyPreset, applyPresetFromData, assertManifestEditable, assertValidLibraryName, classifyRef, cloneOrInitGitRepo, commitStoreManifest, conflictingAssetRoot, createEmptyLockFile, curatedManifestOverlay, deriveSlug, describeCatalogError, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, installLibraryAsset, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, libraryDirMissing, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, markLibraryUnregistered, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, missingLibraryDirMessage, missingRootAssets, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, pruneMissingRootAssets, queryInstancePickerChoices, recordLibraryRename, renamedLibraryName, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, scanAuthoringLibraries, scanLibraryRoot, scanUnlistedAssets, setManifestPublisher, setOriginUrl, sha256Hex, stampManifestPublisher, storeSecrets, syncManifestWithDisk, trackOriginBranch, trpcGetUrl, unregisteredLibraryNames, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
|
|
4636
|
+
//# sourceMappingURL=chunk-DKGEV6SQ.js.map
|
|
4637
|
+
//# sourceMappingURL=chunk-DKGEV6SQ.js.map
|