@skaile/workspaces 0.25.0 → 0.26.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 +223 -0
- package/README.md +2 -2
- package/dist/{asset-feeds-77KLWCBP.js → asset-feeds-WMVTI7KW.js} +11 -10
- package/dist/asset-feeds-WMVTI7KW.js.map +1 -0
- package/dist/asset-manager/index.js +11 -10
- package/dist/asset-manager/installer.js +10 -9
- package/dist/asset-manager/renderers.js +2 -2
- package/dist/asset-manager/src/index.d.ts +6 -7
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +14 -7
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +8 -34
- package/dist/bridge/drivers/codex.js.map +1 -1
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/omp.js +64 -50
- package/dist/bridge/drivers/omp.js.map +1 -1
- package/dist/bridge/index.js +4 -4
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
- package/dist/bridge/src/drivers/omp.d.ts +20 -4
- package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
- package/dist/bridge/src/error-classifier.d.ts +17 -0
- package/dist/bridge/src/error-classifier.d.ts.map +1 -1
- package/dist/bridge/src/models.d.ts +1 -1
- package/dist/bridge/src/models.d.ts.map +1 -1
- package/dist/bridge/src/provider-endpoints.d.ts +16 -0
- package/dist/bridge/src/provider-endpoints.d.ts.map +1 -0
- package/dist/bridge/src/validation.d.ts +1 -1
- package/dist/bridge/src/validation.d.ts.map +1 -1
- package/dist/{chunk-M5TE6YI5.js → chunk-23M4XZQW.js} +10 -52
- package/dist/chunk-23M4XZQW.js.map +1 -0
- package/dist/{chunk-GL45UNVS.js → chunk-2FS4FPZ7.js} +3 -3
- package/dist/{chunk-GL45UNVS.js.map → chunk-2FS4FPZ7.js.map} +1 -1
- package/dist/{chunk-6VTG73UY.js → chunk-45H3UO2R.js} +2 -2
- package/dist/{chunk-6VTG73UY.js.map → chunk-45H3UO2R.js.map} +1 -1
- package/dist/chunk-4SQ6Y6U7.js +28 -0
- package/dist/chunk-4SQ6Y6U7.js.map +1 -0
- package/dist/{chunk-LSGAYQ2E.js → chunk-5YO3H5Q4.js} +3 -3
- package/dist/{chunk-LSGAYQ2E.js.map → chunk-5YO3H5Q4.js.map} +1 -1
- package/dist/{chunk-JDX54X4Y.js → chunk-7GWYRVAX.js} +12 -9
- package/dist/chunk-7GWYRVAX.js.map +1 -0
- package/dist/{chunk-4FADEVBN.js → chunk-7OBGSR7O.js} +5 -5
- package/dist/chunk-7OBGSR7O.js.map +1 -0
- package/dist/{chunk-QXC62DOF.js → chunk-BKF3UFF4.js} +21 -9
- package/dist/chunk-BKF3UFF4.js.map +1 -0
- package/dist/{chunk-KOVLSBXK.js → chunk-BMQKMOQY.js} +81 -79
- package/dist/chunk-BMQKMOQY.js.map +1 -0
- package/dist/{chunk-4QVFQEY2.js → chunk-BQRRBGDE.js} +2 -2
- package/dist/{chunk-4QVFQEY2.js.map → chunk-BQRRBGDE.js.map} +1 -1
- package/dist/{chunk-UD4ZLXGS.js → chunk-C32BRO2W.js} +67 -35
- package/dist/chunk-C32BRO2W.js.map +1 -0
- package/dist/{chunk-GZWJGNNN.js → chunk-DEYYRFQU.js} +3 -3
- package/dist/chunk-DEYYRFQU.js.map +1 -0
- package/dist/{chunk-WIAHJOMG.js → chunk-IEJ5IOC3.js} +10 -2
- package/dist/chunk-IEJ5IOC3.js.map +1 -0
- package/dist/chunk-IERB3UXJ.js +215 -0
- package/dist/chunk-IERB3UXJ.js.map +1 -0
- package/dist/{chunk-FVTV7M76.js → chunk-IFGTRL2I.js} +3 -3
- package/dist/chunk-IFGTRL2I.js.map +1 -0
- package/dist/{chunk-KT3CK26V.js → chunk-JIQLLZ65.js} +203 -39
- package/dist/chunk-JIQLLZ65.js.map +1 -0
- package/dist/{chunk-XVL22AWE.js → chunk-KL2MQ6WI.js} +114 -63
- package/dist/chunk-KL2MQ6WI.js.map +1 -0
- package/dist/{chunk-6FNCZYJY.js → chunk-MBOR7D65.js} +3 -3
- package/dist/{chunk-6FNCZYJY.js.map → chunk-MBOR7D65.js.map} +1 -1
- package/dist/{chunk-QAVZOJCV.js → chunk-OVRSNIKJ.js} +2 -2
- package/dist/chunk-OVRSNIKJ.js.map +1 -0
- package/dist/{chunk-DQWREFRQ.js → chunk-PAYAFNXG.js} +22 -3
- package/dist/chunk-PAYAFNXG.js.map +1 -0
- package/dist/{chunk-D3VO6WNC.js → chunk-PRLD7EXG.js} +3 -3
- package/dist/chunk-PRLD7EXG.js.map +1 -0
- package/dist/{chunk-B4ZXBH57.js → chunk-PY7AQRGH.js} +59 -13
- package/dist/chunk-PY7AQRGH.js.map +1 -0
- package/dist/{chunk-NELZIQ2E.js → chunk-QDJKE557.js} +20 -3
- package/dist/chunk-QDJKE557.js.map +1 -0
- package/dist/{chunk-FJFHJBGS.js → chunk-QHXS3YDV.js} +9 -9
- package/dist/chunk-QHXS3YDV.js.map +1 -0
- package/dist/{chunk-DCAWIRD6.js → chunk-RTAIGPTF.js} +150 -104
- package/dist/chunk-RTAIGPTF.js.map +1 -0
- package/dist/{chunk-IPUYL6TD.js → chunk-TV72ZJYN.js} +8 -5
- package/dist/{chunk-IPUYL6TD.js.map → chunk-TV72ZJYN.js.map} +1 -1
- package/dist/{chunk-ICS76R4T.js → chunk-W7W66MDZ.js} +10 -8
- package/dist/chunk-W7W66MDZ.js.map +1 -0
- package/dist/{chunk-BJWUSHC4.js → chunk-WD4LP66U.js} +21 -20
- package/dist/chunk-WD4LP66U.js.map +1 -0
- package/dist/{chunk-4FJE6BI6.js → chunk-XGLGS5B4.js} +3 -3
- package/dist/{chunk-4FJE6BI6.js.map → chunk-XGLGS5B4.js.map} +1 -1
- package/dist/{chunk-XMP6XTMF.js → chunk-YDTW4GT6.js} +450 -207
- package/dist/chunk-YDTW4GT6.js.map +1 -0
- package/dist/{chunk-2XY6732A.js → chunk-YRU4WB6Y.js} +5 -5
- package/dist/chunk-YRU4WB6Y.js.map +1 -0
- package/dist/{chunk-3QTZWPGH.js → chunk-Z5DI7PDG.js} +141 -87
- package/dist/chunk-Z5DI7PDG.js.map +1 -0
- package/dist/{chunk-KLNL7QHN.js → chunk-ZAP2BDHG.js} +30 -5
- package/dist/chunk-ZAP2BDHG.js.map +1 -0
- package/dist/{chunk-GCJXPUHG.js → chunk-ZONCCO5N.js} +9 -4
- package/dist/chunk-ZONCCO5N.js.map +1 -0
- package/dist/{chunk-SETTLPBD.js → chunk-ZYDE52WE.js} +3 -3
- package/dist/{chunk-SETTLPBD.js.map → chunk-ZYDE52WE.js.map} +1 -1
- package/dist/cli/index.js +442 -415
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/complete-resolvers.d.ts.map +1 -1
- package/dist/cli/src/commands/config.d.ts.map +1 -1
- package/dist/cli/src/commands/connector.d.ts +7 -0
- package/dist/cli/src/commands/connector.d.ts.map +1 -1
- package/dist/cli/src/commands/flow.d.ts +3 -2
- package/dist/cli/src/commands/flow.d.ts.map +1 -1
- package/dist/cli/src/commands/npx.d.ts.map +1 -1
- package/dist/cli/src/commands/run.d.ts.map +1 -1
- package/dist/cli/src/flow-discovery.d.ts +24 -0
- package/dist/cli/src/flow-discovery.d.ts.map +1 -0
- package/dist/cli/src/open-registry.d.ts +2 -2
- package/dist/cli/src/paths.d.ts +26 -9
- package/dist/cli/src/paths.d.ts.map +1 -1
- package/dist/cli/src/skill-walker.d.ts +9 -5
- package/dist/cli/src/skill-walker.d.ts.map +1 -1
- package/dist/connectors/config.js +8 -7
- package/dist/connectors/index.js +13 -12
- package/dist/connectors/rclone-config.js +1 -1
- package/dist/connectors/src/connector-manager.d.ts +24 -2
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
- package/dist/connectors/src/connector-registry.d.ts +3 -3
- package/dist/connectors/src/credential-helper-script.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +4 -2
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
- package/dist/connectors/src/mount-placeholder.d.ts +68 -0
- package/dist/connectors/src/mount-placeholder.d.ts.map +1 -0
- package/dist/connectors/src/rclone-config/googledrive.d.ts +1 -1
- package/dist/core/discovery.js +1 -1
- package/dist/core/index.js +7 -6
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.js +1 -1
- package/dist/core/publish-manifest.d.ts +2 -0
- package/dist/core/publish-manifest.js +5 -0
- package/dist/core/publish-manifest.js.map +1 -0
- package/dist/core/runtime-assets.js +5 -4
- package/dist/core/src/discovery.d.ts +27 -0
- package/dist/core/src/discovery.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +8 -5
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/manifest-yaml-editor.d.ts +62 -0
- package/dist/core/src/manifest-yaml-editor.d.ts.map +1 -0
- package/dist/core/src/models.d.ts +6 -0
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/publish-manifest.d.ts +160 -0
- package/dist/core/src/publish-manifest.d.ts.map +1 -0
- package/dist/core/src/repo-manager.d.ts +9 -1
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/runtime-assets.d.ts +80 -29
- package/dist/core/src/runtime-assets.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts +19 -6
- package/dist/core/src/walker.d.ts.map +1 -1
- package/dist/core/src/workspace-config.d.ts +9 -36
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/src/workspace-yaml-editor.d.ts +1 -15
- package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
- package/dist/core/workspace-config.js +4 -3
- package/dist/deploy/index.js +50 -79
- package/dist/deploy/index.js.map +1 -1
- package/dist/deploy/src/targets/container-runtime.d.ts +1 -1
- package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
- package/dist/deploy/src/targets/local.d.ts.map +1 -1
- package/dist/deploy/src/targets/nix.d.ts.map +1 -1
- package/dist/deploy/src/targets/process-handle.d.ts +7 -5
- package/dist/deploy/src/targets/process-handle.d.ts.map +1 -1
- package/dist/discovery/index.js +5 -4
- package/dist/discovery/src/discover-manifest.d.ts +3 -2
- package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
- package/dist/discovery/src/discover.d.ts +2 -2
- package/dist/discovery/src/discover.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/discovery/src/source-config.d.ts +53 -12
- package/dist/discovery/src/source-config.d.ts.map +1 -1
- package/dist/discovery/src/tree-entries.d.ts +2 -2
- package/dist/discovery/src/tree-entries.d.ts.map +1 -1
- package/dist/{ensure-sources-7MOOKY3K.js → ensure-sources-CVULUVH4.js} +12 -11
- package/dist/ensure-sources-CVULUVH4.js.map +1 -0
- package/dist/factory-assets/.skaile-source.yaml +6 -0
- package/dist/factory-assets/README.md +36 -0
- package/dist/factory-assets/bundles/workspaces-authoring/workspaces-authoring.bundle.yaml +9 -0
- package/dist/factory-assets/connectors/deploy/CONNECTOR.md +41 -0
- package/dist/{base-assets → factory-assets}/connectors/deploy/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/deploy/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/deploy.js +22 -0
- package/dist/factory-assets/connectors/devserver/CONNECTOR.md +44 -0
- package/dist/{base-assets → factory-assets}/connectors/devserver/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/devserver/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/devserver.js +22 -0
- package/dist/factory-assets/connectors/flow/CONNECTOR.md +47 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/adapter.js +22 -0
- package/dist/factory-assets/connectors/flow/engine/engine.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/engine/flow-kind-provider.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/flow-manifest.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/index.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/loader.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine/types.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/engine.js +15 -0
- package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.d.ts +5 -5
- package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.js +1 -1
- package/dist/{base-assets → factory-assets}/connectors/flow/run-flow.d.ts +8 -8
- package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/run-flow.js +25 -0
- package/dist/{base-assets → factory-assets}/connectors/flow/stimulus-driver.d.ts +2 -2
- package/dist/factory-assets/connectors/flow/stimulus-driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/stimulus-driver.js +4 -0
- package/dist/factory-assets/connectors/flow.js +22 -0
- package/dist/factory-assets/connectors/git/CONNECTOR.md +145 -0
- package/dist/{base-assets → factory-assets}/connectors/git/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/git.js +22 -0
- package/dist/factory-assets/connectors/gmail/CONNECTOR.md +50 -0
- package/dist/{base-assets → factory-assets}/connectors/gmail/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/gmail/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/gmail.js +22 -0
- package/dist/factory-assets/connectors/googledrive/CONNECTOR.md +150 -0
- package/dist/{base-assets → factory-assets}/connectors/googledrive/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/googledrive/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/googledrive.js +22 -0
- package/dist/factory-assets/connectors/local/CONNECTOR.md +40 -0
- package/dist/{base-assets → factory-assets}/connectors/local/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/local/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/local.js +22 -0
- package/dist/factory-assets/connectors/mattermost/CONNECTOR.md +65 -0
- package/dist/{base-assets → factory-assets}/connectors/mattermost/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/mattermost/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/mattermost.js +22 -0
- package/dist/factory-assets/connectors/memory/CONNECTOR.md +40 -0
- package/dist/{base-assets → factory-assets}/connectors/memory/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/memory/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/memory.js +22 -0
- package/dist/factory-assets/connectors/minio/CONNECTOR.md +68 -0
- package/dist/{base-assets → factory-assets}/connectors/minio/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/minio/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/minio.js +22 -0
- package/dist/factory-assets/connectors/postgres/CONNECTOR.md +46 -0
- package/dist/{base-assets → factory-assets}/connectors/postgres/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/postgres/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/postgres.js +22 -0
- package/dist/factory-assets/connectors/s3/CONNECTOR.md +76 -0
- package/dist/{base-assets → factory-assets}/connectors/s3/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/s3/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/s3.js +22 -0
- package/dist/factory-assets/connectors/sharepoint/CONNECTOR.md +181 -0
- package/dist/{base-assets → factory-assets}/connectors/sharepoint/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/sharepoint/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/sharepoint.js +22 -0
- package/dist/factory-assets/connectors/sqlite/CONNECTOR.md +44 -0
- package/dist/{base-assets → factory-assets}/connectors/sqlite/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/sqlite/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/sqlite.js +22 -0
- package/dist/factory-assets/connectors/static-server/CONNECTOR.md +41 -0
- package/dist/{base-assets → factory-assets}/connectors/static-server/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/static-server/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/static-server.js +22 -0
- package/dist/factory-assets/connectors/tunnel/CONNECTOR.md +40 -0
- package/dist/{base-assets → factory-assets}/connectors/tunnel/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/tunnel/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/tunnel.js +22 -0
- package/dist/factory-assets/connectors/webdav/CONNECTOR.md +139 -0
- package/dist/{base-assets → factory-assets}/connectors/webdav/driver.d.ts +2 -2
- package/dist/factory-assets/connectors/webdav/driver.d.ts.map +1 -0
- package/dist/factory-assets/connectors/webdav.js +22 -0
- package/dist/factory-assets/connectors/xstate/CONNECTOR.md +57 -0
- package/dist/{base-assets → factory-assets}/connectors/xstate/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/xstate/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/xstate-store/CONNECTOR.md +48 -0
- package/dist/{base-assets → factory-assets}/connectors/xstate-store/adapter.d.ts +2 -2
- package/dist/factory-assets/connectors/xstate-store/adapter.d.ts.map +1 -0
- package/dist/factory-assets/connectors/xstate-store.js +22 -0
- package/dist/factory-assets/connectors/xstate.js +22 -0
- package/dist/{base-assets → factory-assets}/index.d.ts +1 -1
- package/dist/factory-assets/index.d.ts.map +1 -0
- package/dist/{base-assets → factory-assets}/index.js +1 -1
- package/dist/factory-assets/index.js.map +1 -0
- package/dist/factory-assets/skaile.manifest.yaml +25 -0
- package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +176 -0
- package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +243 -0
- package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +197 -0
- package/dist/factory-assets/skills/manifest-compliance/SKILL.md +140 -0
- package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +239 -0
- package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +168 -0
- package/dist/{flows-DYFTPCPM.js → flows-JZFJD5IN.js} +3 -3
- package/dist/{flows-DYFTPCPM.js.map → flows-JZFJD5IN.js.map} +1 -1
- package/dist/library/index.js +10 -9
- package/dist/library/src/library.d.ts +2 -0
- package/dist/library/src/library.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts +2 -0
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/local-catalog-source.d.ts +2 -1
- package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
- package/dist/library/src/local/sidecar-paths.d.ts +4 -4
- package/dist/library/src/local/sidecar-paths.d.ts.map +1 -1
- package/dist/library/src/local/store-paths.d.ts +4 -3
- package/dist/library/src/local/store-paths.d.ts.map +1 -1
- package/dist/library/src/pin-resolver.d.ts.map +1 -1
- package/dist/library/src/preset/apply.d.ts.map +1 -1
- package/dist/library/src/preset/placeholders.d.ts.map +1 -1
- package/dist/library/src/remote/remote-catalog-source.d.ts +7 -0
- package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
- package/dist/library/src/remote/rest-catalog-source.d.ts +7 -0
- package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
- package/dist/library/src/sync/manifest-writeback.d.ts +1 -1
- package/dist/library/src/sync/manifest-writeback.d.ts.map +1 -1
- package/dist/open-library-WYASW4BH.js +22 -0
- package/dist/{open-library-GW7DWWNZ.js.map → open-library-WYASW4BH.js.map} +1 -1
- package/dist/paths-BMW6JYW6.js +15 -0
- package/dist/{paths-FKKGS6BA.js.map → paths-BMW6JYW6.js.map} +1 -1
- package/dist/{plugin-store-R32NH7JE.js → plugin-store-O5VR45CA.js} +9 -8
- package/dist/plugin-store-O5VR45CA.js.map +1 -0
- package/dist/plugins/src/asset-kind-provider.d.ts +1 -1
- package/dist/plugins/src/catalog-source.d.ts +13 -0
- package/dist/plugins/src/catalog-source.d.ts.map +1 -1
- package/dist/resolver/index.js +1 -1
- package/dist/resolver/src/parser.d.ts.map +1 -1
- package/dist/runner/index.js +20 -19
- package/dist/runner/src/capability-registry.d.ts +1 -1
- package/dist/runner/src/capability-registry.d.ts.map +1 -1
- package/dist/runner/src/resource-handler.d.ts.map +1 -1
- package/dist/runner/src/resources.d.ts +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/workspace-migration.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +11 -10
- package/dist/sdk/bridge.js +4 -4
- package/dist/sdk/core.js +7 -6
- package/dist/sdk/flow.js +12 -1
- package/dist/sdk/index.js +23 -22
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.js +1 -1
- package/dist/sdk/runner.js +20 -19
- package/dist/sdk/session.js +1 -1
- package/dist/sdk/src/flow/index.d.ts +1 -1
- package/dist/sdk/src/flow/index.d.ts.map +1 -1
- package/dist/sdk/src/workspace.d.ts +3 -2
- package/dist/sdk/src/workspace.d.ts.map +1 -1
- package/dist/sdk/telemetry.js +1 -1
- package/dist/secrets/index.js +1 -1
- package/dist/secrets/src/providers/env.d.ts.map +1 -1
- package/dist/secrets/src/providers/local.d.ts.map +1 -1
- package/dist/session/index.js +1 -1
- package/dist/session/src/mentions.d.ts.map +1 -1
- package/dist/{setup-SRPBQOHY.js → setup-YNLFR5GB.js} +13 -12
- package/dist/setup-YNLFR5GB.js.map +1 -0
- package/dist/skills-6HJ3WINN.js +7 -0
- package/dist/{skills-CRL3VJNN.js.map → skills-6HJ3WINN.js.map} +1 -1
- package/dist/store-client-CENBEASX.js +15 -0
- package/dist/{store-client-INZD2RYD.js.map → store-client-CENBEASX.js.map} +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/src/config.d.ts +0 -16
- package/dist/telemetry/src/config.d.ts.map +1 -1
- package/dist/tui/index.js +20 -19
- package/dist/tui/index.js.map +1 -1
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/flow.d.ts +2 -2
- package/dist/types/src/manifests/index.d.ts +1 -1
- package/dist/types/src/manifests/skill.d.ts +21 -0
- package/dist/types/src/manifests/skill.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +4 -4
- package/dist/workspace-plugin/adapters/omp.js +7 -7
- package/dist/workspace-plugin/index.js +1 -1
- package/dist/workspace-plugin/src/tools/flows.d.ts.map +1 -1
- package/package.json +158 -151
- package/dist/asset-feeds-77KLWCBP.js.map +0 -1
- package/dist/base-assets/connectors/deploy/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/deploy.js +0 -21
- package/dist/base-assets/connectors/devserver/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/devserver.js +0 -21
- package/dist/base-assets/connectors/flow/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/adapter.js +0 -21
- package/dist/base-assets/connectors/flow/engine/engine.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/flow-manifest.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/index.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/loader.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine/types.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/engine.js +0 -4
- package/dist/base-assets/connectors/flow/index.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/prompt-fragments.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/run-flow.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/run-flow.js +0 -24
- package/dist/base-assets/connectors/flow/stimulus-driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/flow/stimulus-driver.js +0 -4
- package/dist/base-assets/connectors/flow.js +0 -21
- package/dist/base-assets/connectors/git/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/git.js +0 -21
- package/dist/base-assets/connectors/gmail/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/gmail.js +0 -21
- package/dist/base-assets/connectors/googledrive/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/googledrive.js +0 -21
- package/dist/base-assets/connectors/local/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/local.js +0 -21
- package/dist/base-assets/connectors/mattermost/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/mattermost.js +0 -21
- package/dist/base-assets/connectors/memory/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/memory.js +0 -21
- package/dist/base-assets/connectors/minio/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/minio.js +0 -21
- package/dist/base-assets/connectors/postgres/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/postgres.js +0 -21
- package/dist/base-assets/connectors/s3/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/s3.js +0 -21
- package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/sharepoint.js +0 -21
- package/dist/base-assets/connectors/sqlite/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/sqlite.js +0 -21
- package/dist/base-assets/connectors/static-server/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/static-server.js +0 -21
- package/dist/base-assets/connectors/tunnel/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/tunnel.js +0 -21
- package/dist/base-assets/connectors/webdav/driver.d.ts.map +0 -1
- package/dist/base-assets/connectors/webdav.js +0 -21
- package/dist/base-assets/connectors/xstate/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/xstate-store/adapter.d.ts.map +0 -1
- package/dist/base-assets/connectors/xstate-store.js +0 -21
- package/dist/base-assets/connectors/xstate.js +0 -21
- package/dist/base-assets/index.d.ts.map +0 -1
- package/dist/base-assets/index.js.map +0 -1
- package/dist/chunk-2M3XTMOL.js +0 -23
- package/dist/chunk-2M3XTMOL.js.map +0 -1
- package/dist/chunk-2XY6732A.js.map +0 -1
- package/dist/chunk-3QTZWPGH.js.map +0 -1
- package/dist/chunk-4FADEVBN.js.map +0 -1
- package/dist/chunk-B4ZXBH57.js.map +0 -1
- package/dist/chunk-BJWUSHC4.js.map +0 -1
- package/dist/chunk-D3VO6WNC.js.map +0 -1
- package/dist/chunk-DCAWIRD6.js.map +0 -1
- package/dist/chunk-DQWREFRQ.js.map +0 -1
- package/dist/chunk-FJFHJBGS.js.map +0 -1
- package/dist/chunk-FVTV7M76.js.map +0 -1
- package/dist/chunk-GCJXPUHG.js.map +0 -1
- package/dist/chunk-GZWJGNNN.js.map +0 -1
- package/dist/chunk-ICS76R4T.js.map +0 -1
- package/dist/chunk-JDX54X4Y.js.map +0 -1
- package/dist/chunk-KLNL7QHN.js.map +0 -1
- package/dist/chunk-KOVLSBXK.js.map +0 -1
- package/dist/chunk-KT3CK26V.js.map +0 -1
- package/dist/chunk-M5TE6YI5.js.map +0 -1
- package/dist/chunk-NELZIQ2E.js.map +0 -1
- package/dist/chunk-QAVZOJCV.js.map +0 -1
- package/dist/chunk-QXC62DOF.js.map +0 -1
- package/dist/chunk-UD4ZLXGS.js.map +0 -1
- package/dist/chunk-WIAHJOMG.js.map +0 -1
- package/dist/chunk-XMP6XTMF.js.map +0 -1
- package/dist/chunk-XVL22AWE.js.map +0 -1
- package/dist/ensure-sources-7MOOKY3K.js.map +0 -1
- package/dist/open-library-GW7DWWNZ.js +0 -21
- package/dist/paths-FKKGS6BA.js +0 -4
- package/dist/plugin-store-R32NH7JE.js.map +0 -1
- package/dist/setup-SRPBQOHY.js.map +0 -1
- package/dist/skills-CRL3VJNN.js +0 -7
- package/dist/store-client-INZD2RYD.js +0 -14
- /package/dist/{base-assets → factory-assets}/connectors/deploy.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/deploy.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/devserver.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/devserver.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/adapter.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/engine.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/flow-manifest.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/index.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/loader.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine/types.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/engine.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/index.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/run-flow.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow/stimulus-driver.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/flow.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/git.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/git.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/gmail.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/gmail.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/googledrive.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/googledrive.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/local.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/local.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/mattermost.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/mattermost.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/memory.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/memory.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/minio.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/minio.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/postgres.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/postgres.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/s3.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/s3.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sharepoint.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sharepoint.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sqlite.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/sqlite.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/static-server.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/static-server.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/tunnel.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/tunnel.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/webdav.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/webdav.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate-store.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate-store.js.map +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate.d.ts +0 -0
- /package/dist/{base-assets → factory-assets}/connectors/xstate.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../core/src/publish-manifest.ts"],"names":[],"mappings":"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","file":"chunk-IERB3UXJ.js","sourcesContent":["/**\n * Publish manifest — `skaile.manifest.yaml`\n *\n * What a repo PUBLISHES: the `publisher` / `version` / `assets[]` that used to\n * live in the publication half of `skaile.yaml`, plus a per-asset dependency\n * graph, store-listing metadata, and an optional curator `source:` pointer.\n *\n * ── Two files, two codecs ──────────────────────────────────────────────────\n *\n * skaile.yaml → SkWorkspaceConfig (workspace + consumption)\n * skaile.manifest.yaml → SkPublishManifest (publication) ← this module\n *\n * A repo can have either file, both, or neither: a pure workspace has only\n * `skaile.yaml`; a pure asset repo (e.g. `ai-assets`) has only\n * `skaile.manifest.yaml`; a repo that is both has both.\n *\n * ── One format, three roles ────────────────────────────────────────────────\n *\n * First-party `source:` absent → bytes live in this repo (`root`/`files`).\n * Curator/sidecar `source:` present → bytes come from the referenced upstream,\n * verified by `sha256`.\n *\n * `decodeSkaileManifest` mirrors `decodeSkaileYaml`: total (never throws),\n * returns {@link Diagnostic}s. Dep-ref strings are validated with `parseAssetRef`.\n */\n\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { parse, stringify } from \"yaml\";\nimport { parseAssetRef } from \"./models.js\";\nimport type { Diagnostic } from \"./workspace-config.js\";\n\n// ── Types ───────────────────────────────────────────────────────────────────\n\n/** One file inside a curated asset, pinned to an exact upstream blob hash. */\nexport interface ManifestFileEntry {\n path: string;\n /** 64-hex sha256 of the upstream blob. */\n sha256: string;\n}\n\n/**\n * One entry in a manifest's `assets:` list. Either `root:` (recursive walk) or\n * `files:` (explicit list, supports globs for first-party; the granular\n * `{path, sha256}` form for curated upstream verification) declares which paths\n * constitute the asset. `version:` overrides the manifest-level version.\n *\n * @docLink packages/core/publish-manifest#asset-entry\n */\nexport interface AssetEntry {\n kind: string;\n name: string;\n root?: string;\n /**\n * Explicit file listing. First-party manifests use bare `string[]` (globs,\n * fast-glob). Curated entries may use the granular `{path, sha256}` form so\n * the resolver fetches + verifies exact upstream blobs without a full clone.\n */\n files?: string[] | ManifestFileEntry[];\n version?: string;\n /** Per-asset publisher override (e.g. for curator/mirror repos). */\n publisher?: string;\n\n /**\n * Canonical dep refs (`kind:@<publisher>/name[#version]`) — same grammar as\n * `SkWorkspaceConfig.dependencies`. Authoritative for this asset's resolved\n * deps. (Was `requires` in `.skaile-source.yaml`.)\n */\n dependencies?: string[];\n\n /**\n * Author-pinned composite sha256 over the asset's `files`/`root` (same\n * deterministic algorithm as the walker + discovery). Optional locally;\n * REQUIRED on store publish. (Was `.skaile-source.yaml` `assets[].sha256`.)\n */\n sha256?: string;\n\n /**\n * Curator override: this single asset's bytes come from a different upstream\n * than the manifest-level `source`. Absent → inherit manifest `source` (or\n * first-party when that is also absent).\n */\n source?: ManifestSource;\n\n // ── Store-listing metadata (all optional; fall back to content frontmatter) ──\n description?: string;\n keywords?: string[];\n category?: string;\n license?: string;\n homepage?: string;\n}\n\n/**\n * Upstream the bytes come from when a manifest curates a repo it does not own.\n * Absent → first-party (bytes live in the manifest's own repo).\n *\n * @docLink packages/core/publish-manifest#manifest-source\n */\nexport interface ManifestSource {\n url: string;\n /** 40-char commit the curated bytes are pinned to. */\n commit?: string;\n}\n\n/**\n * Signing/attribution recorded when a manifest is published on behalf of others.\n *\n * @docLink packages/core/publish-manifest#manifest-provenance\n */\nexport interface ManifestProvenance {\n curator: string;\n signed_by?: string;\n}\n\n/**\n * Parsed `skaile.manifest.yaml` — what a repo publishes.\n *\n * @docLink packages/core/publish-manifest#sk-publish-manifest\n */\nexport interface SkPublishManifest {\n publisher?: string;\n version?: string;\n /** Repo-level store defaults inherited by assets unless overridden per-entry. */\n license?: string;\n homepage?: string;\n /**\n * Repo-relative path prefixes holding dev-only assets — excluded from\n * discovery/publish unless `--dev`. (Was `.skaile-source.yaml` `dev_paths`.)\n */\n dev_paths?: string[];\n /**\n * Curator mode: the single upstream all assets in this file come from. A\n * per-asset `source` overrides it. Absent → first-party (own repo).\n */\n source?: ManifestSource;\n /** Present when this manifest is curated/published on behalf of another author. */\n provenance?: ManifestProvenance;\n assets?: AssetEntry[];\n}\n\n/** Result of {@link decodeSkaileManifest}: the manifest plus any notes. */\nexport interface ManifestDecodeResult {\n manifest: SkPublishManifest;\n diagnostics: Diagnostic[];\n}\n\n/** The single fixed filename for a publish manifest. */\nexport const SKAILE_MANIFEST_FILENAME = \"skaile.manifest.yaml\";\n\n// ── Decode ──────────────────────────────────────────────────────────────────\n\nfunction parseSource(raw: unknown): ManifestSource | undefined {\n if (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return undefined;\n const s = raw as Record<string, unknown>;\n if (typeof s.url !== \"string\" || s.url.length === 0) return undefined;\n const out: ManifestSource = { url: s.url };\n if (typeof s.commit === \"string\" && s.commit.length > 0) out.commit = s.commit;\n return out;\n}\n\nfunction parseProvenance(raw: unknown): ManifestProvenance | undefined {\n if (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return undefined;\n const p = raw as Record<string, unknown>;\n if (typeof p.curator !== \"string\" || p.curator.length === 0) return undefined;\n const out: ManifestProvenance = { curator: p.curator };\n if (typeof p.signed_by === \"string\" && p.signed_by.length > 0) out.signed_by = p.signed_by;\n return out;\n}\n\n/** Parse `files:` as either `string[]` (globs) or `{path, sha256}[]` (granular). */\nfunction parseFiles(raw: unknown): string[] | ManifestFileEntry[] | undefined {\n if (!Array.isArray(raw)) return undefined;\n const strings: string[] = [];\n const granular: ManifestFileEntry[] = [];\n for (const item of raw) {\n if (typeof item === \"string\") {\n strings.push(item);\n } else if (item && typeof item === \"object\" && !Array.isArray(item)) {\n const f = item as Record<string, unknown>;\n if (typeof f.path === \"string\" && typeof f.sha256 === \"string\") {\n granular.push({ path: f.path, sha256: f.sha256 });\n }\n }\n }\n // A manifest uses one form per entry; if both somehow appear, granular wins\n // (it is the verifiable form). Empty → undefined.\n if (granular.length > 0) return granular;\n if (strings.length > 0) return strings;\n return undefined;\n}\n\n/**\n * Decode `skaile.manifest.yaml` text into a {@link SkPublishManifest} plus\n * {@link Diagnostic}s. Total — never throws: a YAML syntax error or non-object\n * root is reported as an `error`-severity diagnostic with an empty manifest.\n * Malformed `assets[].dependencies` refs are reported as `warning`s (validated\n * via `parseAssetRef`) rather than silently dropped.\n *\n * Pair with {@link encodeSkaileManifest} for round-tripping.\n * @docLink packages/core/publish-manifest#decode-skaile-manifest\n */\nexport function decodeSkaileManifest(text: string): ManifestDecodeResult {\n let parsed: unknown;\n try {\n parsed = parse(text) ?? {};\n } catch (err) {\n return {\n manifest: {},\n diagnostics: [\n {\n code: \"yaml_syntax\",\n severity: \"error\",\n message: `Invalid YAML: ${err instanceof Error ? err.message : String(err)}`,\n },\n ],\n };\n }\n if (typeof parsed !== \"object\" || parsed === null || Array.isArray(parsed)) {\n return {\n manifest: {},\n diagnostics: [\n {\n code: \"non_object_root\",\n severity: \"error\",\n message: \"skaile.manifest.yaml must be a mapping at the top level.\",\n },\n ],\n };\n }\n\n const raw = parsed as Record<string, unknown>;\n const manifest: SkPublishManifest = {};\n const diagnostics: Diagnostic[] = [];\n\n if (typeof raw.publisher === \"string\" && raw.publisher.length > 0) {\n manifest.publisher = raw.publisher;\n }\n if (typeof raw.version === \"string\" && raw.version.length > 0) {\n manifest.version = raw.version;\n }\n if (typeof raw.license === \"string\" && raw.license.length > 0) {\n manifest.license = raw.license;\n }\n if (typeof raw.homepage === \"string\" && raw.homepage.length > 0) {\n manifest.homepage = raw.homepage;\n }\n if (Array.isArray(raw.dev_paths)) {\n const paths = raw.dev_paths.filter((p): p is string => typeof p === \"string\" && p.length > 0);\n if (paths.length > 0) manifest.dev_paths = paths;\n }\n const source = parseSource(raw.source);\n if (source) manifest.source = source;\n const provenance = parseProvenance(raw.provenance);\n if (provenance) manifest.provenance = provenance;\n\n if (Array.isArray(raw.assets)) {\n const entries: AssetEntry[] = [];\n for (const item of raw.assets) {\n if (!item || typeof item !== \"object\" || Array.isArray(item)) continue;\n const a = item as Record<string, unknown>;\n const kind = typeof a.kind === \"string\" ? a.kind : \"\";\n const name = typeof a.name === \"string\" ? a.name : \"\";\n if (!kind || !name) continue;\n const entry: AssetEntry = { kind, name };\n if (typeof a.root === \"string\") entry.root = a.root;\n const files = parseFiles(a.files);\n if (files) entry.files = files;\n if (typeof a.version === \"string\") entry.version = a.version;\n if (typeof a.publisher === \"string\") entry.publisher = a.publisher;\n if (typeof a.sha256 === \"string\") entry.sha256 = a.sha256;\n const assetSource = parseSource(a.source);\n if (assetSource) entry.source = assetSource;\n\n if (Array.isArray(a.dependencies)) {\n const deps: string[] = [];\n for (const dep of a.dependencies) {\n if (typeof dep !== \"string\") continue;\n try {\n parseAssetRef(dep);\n deps.push(dep);\n } catch (err) {\n diagnostics.push({\n code: \"malformed_dependency\",\n severity: \"warning\",\n message: `assets[${kind}:${name}].dependencies: ${\n err instanceof Error ? err.message : String(err)\n }`,\n path: `assets.${kind}:${name}.dependencies`,\n });\n }\n }\n if (deps.length > 0) entry.dependencies = deps;\n }\n\n if (typeof a.description === \"string\") entry.description = a.description;\n if (Array.isArray(a.keywords)) {\n const kw = a.keywords.filter((k): k is string => typeof k === \"string\");\n if (kw.length > 0) entry.keywords = kw;\n }\n if (typeof a.category === \"string\") entry.category = a.category;\n if (typeof a.license === \"string\") entry.license = a.license;\n if (typeof a.homepage === \"string\") entry.homepage = a.homepage;\n\n entries.push(entry);\n }\n if (entries.length > 0) manifest.assets = entries;\n }\n\n return { manifest, diagnostics };\n}\n\n// ── Encode ──────────────────────────────────────────────────────────────────\n\n/** Fixed top-level key order for {@link encodeSkaileManifest}. */\nconst MANIFEST_KEY_ORDER: (keyof SkPublishManifest)[] = [\n \"publisher\",\n \"version\",\n \"license\",\n \"homepage\",\n \"dev_paths\",\n \"source\",\n \"provenance\",\n \"assets\",\n];\n\n/** Fixed per-asset key order for {@link encodeSkaileManifest}. */\nconst ASSET_KEY_ORDER: (keyof AssetEntry)[] = [\n \"kind\",\n \"name\",\n \"source\",\n \"root\",\n \"files\",\n \"version\",\n \"publisher\",\n \"sha256\",\n \"dependencies\",\n \"description\",\n \"keywords\",\n \"category\",\n \"license\",\n \"homepage\",\n];\n\nfunction orderedAsset(a: AssetEntry): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const key of ASSET_KEY_ORDER) {\n const value = a[key];\n if (value !== undefined) out[key] = value;\n }\n return out;\n}\n\n/**\n * Encode a {@link SkPublishManifest} to canonical `skaile.manifest.yaml` text:\n * deterministic key order, only defined fields, `lineWidth: 120` (mirrors\n * `encodeSkaileYaml`).\n * @docLink packages/core/publish-manifest#encode-skaile-manifest\n */\nexport function encodeSkaileManifest(manifest: SkPublishManifest): string {\n const out: Record<string, unknown> = {};\n for (const key of MANIFEST_KEY_ORDER) {\n const value = manifest[key];\n if (value === undefined) continue;\n if (key === \"assets\" && Array.isArray(value)) {\n out.assets = (value as AssetEntry[]).map(orderedAsset);\n } else {\n out[key] = value;\n }\n }\n return stringify(out, { lineWidth: 120 });\n}\n\n// ── File I/O ──────────────────────────────────────────────────────────────────\n\n/**\n * Load and decode `<dir>/skaile.manifest.yaml`. Returns `null` when the file is\n * absent or unparseable (mirrors `loadSkWorkspaceConfig`'s tolerant contract).\n * @docLink packages/core/publish-manifest#load-sk-publish-manifest\n */\nexport function loadSkPublishManifest(dir: string): SkPublishManifest | null {\n const filePath = join(resolve(dir), SKAILE_MANIFEST_FILENAME);\n if (!existsSync(filePath)) return null;\n let raw: string;\n try {\n raw = readFileSync(filePath, \"utf-8\");\n } catch {\n return null;\n }\n const { manifest, diagnostics } = decodeSkaileManifest(raw);\n if (diagnostics.some((d) => d.code === \"yaml_syntax\" || d.code === \"non_object_root\")) {\n return null;\n }\n return manifest;\n}\n\n/**\n * Encode and write a manifest to `<dir>/skaile.manifest.yaml`, creating the\n * directory if needed. Returns the absolute path written.\n * @docLink packages/core/publish-manifest#save-sk-publish-manifest\n */\nexport function saveSkPublishManifest(dir: string, manifest: SkPublishManifest): string {\n const resolvedDir = resolve(dir);\n const filePath = join(resolvedDir, SKAILE_MANIFEST_FILENAME);\n if (!existsSync(resolvedDir)) {\n mkdirSync(resolvedDir, { recursive: true });\n }\n writeFileSync(filePath, encodeSkaileManifest(manifest));\n return filePath;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// factory-assets/connectors/flow/stimulus-driver.ts
|
|
2
2
|
function computeStimulus(oldExec, newExec) {
|
|
3
3
|
if (!oldExec) {
|
|
4
4
|
return { kind: "state_changed" };
|
|
@@ -26,5 +26,5 @@ function snapshotsEqual(a, b) {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export { computeStimulus };
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-IFGTRL2I.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-IFGTRL2I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../factory-assets/connectors/flow/stimulus-driver.ts"],"names":[],"mappings":";AA0CO,SAAS,eAAA,CACd,SACA,OAAA,EACqB;AAGrB,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,EAAE,MAAM,eAAA,EAAgB;AAAA,EACjC;AAIA,EAAA,IAAI,YAAY,OAAA,EAAS;AACvB,IAAA,OAAO,IAAA;AAAA,EACT;AAKA,EAAA,IAAI,cAAA,CAAe,OAAA,EAAS,OAAO,CAAA,EAAG;AACpC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,EAAE,MAAM,eAAA,EAAgB;AACjC;AASA,SAAS,cAAA,CAAe,GAAkB,CAAA,EAA2B;AACnE,EAAA,IAAI,CAAA,KAAM,GAAG,OAAO,IAAA;AAGpB,EAAA,IAAI,CAAA,CAAE,KAAA,KAAU,CAAA,CAAE,KAAA,EAAO,OAAO,KAAA;AAChC,EAAA,IAAI,CAAA,CAAE,MAAA,KAAW,CAAA,CAAE,MAAA,EAAQ,OAAO,KAAA;AAClC,EAAA,IAAI,CAAA,CAAE,MAAA,KAAW,CAAA,CAAE,MAAA,EAAQ,OAAO,KAAA;AAClC,EAAA,IAAI,CAAA,CAAE,IAAA,KAAS,CAAA,CAAE,IAAA,EAAM,OAAO,KAAA;AAC9B,EAAA,IAAI,CAAA,CAAE,cAAA,KAAmB,CAAA,CAAE,cAAA,EAAgB,OAAO,KAAA;AAElD,EAAA,IAAI;AACF,IAAA,OAAO,KAAK,SAAA,CAAU,CAAC,CAAA,KAAM,IAAA,CAAK,UAAU,CAAC,CAAA;AAAA,EAC/C,CAAA,CAAA,MAAQ;AAGN,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"chunk-IFGTRL2I.js","sourcesContent":["/**\n * Pure state-change → stimulus translator for the flow connector.\n *\n * Given the previous and current {@link FlowExecution} snapshots, decides\n * whether the runner should be woken with a fresh turn and (if so) what\n * kind of stimulus to render. Returns `null` when no turn is warranted\n * (e.g. the snapshots are deep-equal).\n *\n * Today's FlowOrchestrator subscribes to `adapter.onStateChange(...)` and\n * forwards the snapshot to the host without kicking a turn — the host\n * issues explicit turn-kicking commands (`approve_flow_node`, etc.). Phase\n * 3 of the flow-connector extraction adds this function as the connector-\n * side decision point so a future direct path (FlowAdapter →\n * SessionStimulusBus → runner) can reproduce today's coalesced \"state\n * changed → maybe a turn\" semantics without going through the orchestrator.\n *\n * Default behaviour mirrors today exactly: any structural change in the\n * FlowExecution snapshot produces a single `{ kind: \"state_changed\" }`\n * stimulus. Phase 4 may refine this with kind discriminators (approval-\n * received, input-received, etc.) once the orchestrator's onStateChange\n * subscription is removed; until then we keep gating purely on equality.\n *\n * @docLink packages/factory-assets/flow#stimulus-driver\n */\n\nimport type { FlowExecution } from \"@skaile/workspaces/types\";\nimport type { TurnStimulus } from \"./prompt-fragments.js\";\n\n/**\n * Decide whether a state transition warrants kicking an agent turn, and\n * which kind of stimulus to render. Returns `null` to suppress turn-kicking\n * when nothing observable changed.\n *\n * Pure — depends only on its inputs.\n *\n * @param oldExec - Previous FlowExecution snapshot (or `undefined` on the\n * first emission, e.g. immediately after `connect()`).\n * @param newExec - Current FlowExecution snapshot.\n * @returns A {@link TurnStimulus} when a turn should be kicked, or `null`.\n *\n * @docLink packages/factory-assets/flow#compute-stimulus\n */\nexport function computeStimulus(\n oldExec: FlowExecution | undefined,\n newExec: FlowExecution,\n): TurnStimulus | null {\n // First emission (no prior snapshot) — treat as a full state change so\n // downstream consumers can latch onto the initial state.\n if (!oldExec) {\n return { kind: \"state_changed\" };\n }\n\n // Identity short-circuit (cheap; mutate() returns a fresh object on every\n // change so reference inequality is the common case).\n if (oldExec === newExec) {\n return null;\n }\n\n // Structural compare — JSON.stringify is good enough for FlowExecution\n // because it has stable key ordering produced by the engine and contains\n // no functions or class instances. Avoids pulling in a deep-equal dep.\n if (snapshotsEqual(oldExec, newExec)) {\n return null;\n }\n\n return { kind: \"state_changed\" };\n}\n\n/**\n * Cheap structural equality for two FlowExecution snapshots. Mirrors the\n * comparison the orchestrator's onStateChange subscription would do if it\n * cared (it currently re-fires unconditionally).\n *\n * @internal\n */\nfunction snapshotsEqual(a: FlowExecution, b: FlowExecution): boolean {\n if (a === b) return true;\n // Hot-path guard: differing top-level fields short-circuit before the\n // expensive serialize.\n if (a.runId !== b.runId) return false;\n if (a.flowId !== b.flowId) return false;\n if (a.status !== b.status) return false;\n if (a.done !== b.done) return false;\n if (a.autonomousMode !== b.autonomousMode) return false;\n\n try {\n return JSON.stringify(a) === JSON.stringify(b);\n } catch {\n // Defensive: if a snapshot somehow contains a circular ref the safe\n // answer is \"treat as different\" so we don't suppress a real change.\n return false;\n }\n}\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AssetKindRegistryFrozenError, AssetKindConflictError, AssetKindPatternConflictError, AssetKindPathAmbiguityError } from './chunk-OKRUTSG7.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { decodeSkaileManifest, SKAILE_MANIFEST_FILENAME } from './chunk-IERB3UXJ.js';
|
|
3
|
+
import { parseFrontmatter } from './chunk-2FS4FPZ7.js';
|
|
4
|
+
import { isValidAssetName } from './chunk-IEJ5IOC3.js';
|
|
5
|
+
import { validatePersona, validateRuleset, validateSkill, validateAgent, validateConnector, validateMcpServer, validateContract, validatePrompt, validatePreset } from './chunk-QDJKE557.js';
|
|
4
6
|
import * as fs from 'fs';
|
|
5
7
|
import * as path from 'path';
|
|
6
8
|
import * as z from 'zod';
|
|
@@ -481,8 +483,14 @@ var SyncConfigSchema = z.object({
|
|
|
481
483
|
path: ["poll_interval"]
|
|
482
484
|
});
|
|
483
485
|
var AssetEntrySchema = z.object({
|
|
484
|
-
/**
|
|
486
|
+
/** Asset root directory, relative to the repo. Files are resolved under it. */
|
|
485
487
|
path: z.string().min(1),
|
|
488
|
+
/**
|
|
489
|
+
* Optional recursive root. When set (and `files` absent), the asset spans
|
|
490
|
+
* every file under `<path>` (walked recursively). Mirrors the
|
|
491
|
+
* `skaile.manifest.yaml` `root:` form via `manifestToSourceConfig`.
|
|
492
|
+
*/
|
|
493
|
+
root: z.string().min(1).optional(),
|
|
486
494
|
/** Asset kind — validated against `IAssetKindRegistry` at discovery time. */
|
|
487
495
|
kind: z.string().min(1),
|
|
488
496
|
/** Publisher namespace. Required per entry; overrides publisher_default / _overrides. */
|
|
@@ -496,12 +504,19 @@ var AssetEntrySchema = z.object({
|
|
|
496
504
|
* Optional on write, REQUIRED on Catalog publish (Phase 4).
|
|
497
505
|
*/
|
|
498
506
|
sha256: z.string().regex(/^[a-f0-9]{64}$/, "sha256 must be 64-character hex").optional(),
|
|
499
|
-
/**
|
|
500
|
-
|
|
507
|
+
/**
|
|
508
|
+
* Curated file filter (paths relative to `path:`). At least one entry when
|
|
509
|
+
* present. Optional: a `root`-only entry omits it and is materialised by a
|
|
510
|
+
* recursive walk at discovery time.
|
|
511
|
+
*/
|
|
512
|
+
files: z.array(z.string().min(1)).min(1).optional(),
|
|
501
513
|
/** Author-declared requires-graph entries. */
|
|
502
514
|
requires: z.array(z.string().min(1)).default([]),
|
|
503
515
|
/** Optional passthrough to `AssetDefinition.manifest`. */
|
|
504
516
|
metadata: z.record(z.string(), z.unknown()).optional()
|
|
517
|
+
}).refine((a) => a.root !== void 0 || a.files !== void 0, {
|
|
518
|
+
message: "asset entry must declare either `root` or `files`",
|
|
519
|
+
path: ["files"]
|
|
505
520
|
});
|
|
506
521
|
var SourceConfigSchema = z.object({
|
|
507
522
|
/** Schema version. `1` (glob mode) or `2` (allows `assets:` block). */
|
|
@@ -580,6 +595,91 @@ function collectWarnings(config) {
|
|
|
580
595
|
}
|
|
581
596
|
return warnings;
|
|
582
597
|
}
|
|
598
|
+
function atPublisher(publisher) {
|
|
599
|
+
return publisher.startsWith("@") ? publisher : `@${publisher}`;
|
|
600
|
+
}
|
|
601
|
+
function derivePublisherFromPath(p) {
|
|
602
|
+
const seg = p.split("/").find((s) => s.length > 0 && s !== ".");
|
|
603
|
+
return seg ? `@${seg}` : "@unknown";
|
|
604
|
+
}
|
|
605
|
+
function manifestFilesToStrings(files) {
|
|
606
|
+
if (!Array.isArray(files) || files.length === 0) return void 0;
|
|
607
|
+
const out = files.map((f) => typeof f === "string" ? f : f.path).filter((p) => p.length > 0);
|
|
608
|
+
return out.length > 0 ? out : void 0;
|
|
609
|
+
}
|
|
610
|
+
function manifestEntryMetadata(a, manifest) {
|
|
611
|
+
const meta = {};
|
|
612
|
+
if (a.description !== void 0) meta.description = a.description;
|
|
613
|
+
if (a.keywords !== void 0) meta.keywords = a.keywords;
|
|
614
|
+
if (a.category !== void 0) meta.category = a.category;
|
|
615
|
+
const license = a.license ?? manifest.license;
|
|
616
|
+
if (license !== void 0) meta.license = license;
|
|
617
|
+
const homepage = a.homepage ?? manifest.homepage;
|
|
618
|
+
if (homepage !== void 0) meta.homepage = homepage;
|
|
619
|
+
return Object.keys(meta).length > 0 ? meta : void 0;
|
|
620
|
+
}
|
|
621
|
+
function adaptManifestAssetEntry(a, manifest) {
|
|
622
|
+
const root = typeof a.root === "string" && a.root.length > 0 ? a.root : void 0;
|
|
623
|
+
const assetPath = root ?? ".";
|
|
624
|
+
const files = root ? void 0 : manifestFilesToStrings(a.files);
|
|
625
|
+
const publisher = a.publisher ? atPublisher(a.publisher) : manifest.publisher ? atPublisher(manifest.publisher) : derivePublisherFromPath(assetPath);
|
|
626
|
+
const entry = {
|
|
627
|
+
path: assetPath,
|
|
628
|
+
kind: a.kind,
|
|
629
|
+
publisher,
|
|
630
|
+
name: a.name,
|
|
631
|
+
version: a.version ?? manifest.version ?? "0.1.0",
|
|
632
|
+
requires: a.dependencies ?? []
|
|
633
|
+
};
|
|
634
|
+
if (root) entry.root = root;
|
|
635
|
+
if (files) entry.files = files;
|
|
636
|
+
if (a.sha256) entry.sha256 = a.sha256;
|
|
637
|
+
const metadata = manifestEntryMetadata(a, manifest);
|
|
638
|
+
if (metadata) entry.metadata = metadata;
|
|
639
|
+
return entry;
|
|
640
|
+
}
|
|
641
|
+
function manifestToSourceConfig(manifest) {
|
|
642
|
+
const publisherDefault = manifest.publisher ? atPublisher(manifest.publisher) : "@<domain>";
|
|
643
|
+
const devPaths = manifest.dev_paths ?? [];
|
|
644
|
+
if (!manifest.assets || manifest.assets.length === 0) {
|
|
645
|
+
return {
|
|
646
|
+
version: 1,
|
|
647
|
+
publisher_default: publisherDefault,
|
|
648
|
+
default_ref: "main",
|
|
649
|
+
publisher_overrides: [],
|
|
650
|
+
dev_paths: devPaths
|
|
651
|
+
};
|
|
652
|
+
}
|
|
653
|
+
return {
|
|
654
|
+
version: 2,
|
|
655
|
+
publisher_default: publisherDefault,
|
|
656
|
+
default_ref: "main",
|
|
657
|
+
publisher_overrides: [],
|
|
658
|
+
dev_paths: devPaths,
|
|
659
|
+
assets: manifest.assets.map((a) => adaptManifestAssetEntry(a, manifest))
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
function decodeManifestSourceConfig(text) {
|
|
663
|
+
const { manifest, diagnostics } = decodeSkaileManifest(text);
|
|
664
|
+
const fatal = diagnostics.filter((d) => d.severity === "error");
|
|
665
|
+
if (fatal.length > 0) {
|
|
666
|
+
return {
|
|
667
|
+
ok: false,
|
|
668
|
+
errors: fatal.map((d) => ({ path: d.path ?? "", message: d.message }))
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
return { ok: true, config: manifestToSourceConfig(manifest) };
|
|
672
|
+
}
|
|
673
|
+
function readManifestSourceConfig(dir) {
|
|
674
|
+
const filePath = path.join(dir, SKAILE_MANIFEST_FILENAME);
|
|
675
|
+
if (!fs.existsSync(filePath)) return void 0;
|
|
676
|
+
try {
|
|
677
|
+
const result = decodeManifestSourceConfig(fs.readFileSync(filePath, "utf-8"));
|
|
678
|
+
return result.ok ? result.config : void 0;
|
|
679
|
+
} catch {
|
|
680
|
+
return void 0;
|
|
681
|
+
}
|
|
682
|
+
}
|
|
583
683
|
function mergeSourceConfigs(base, overlay) {
|
|
584
684
|
if (!base && !overlay) return void 0;
|
|
585
685
|
if (!overlay) return base;
|
|
@@ -638,11 +738,11 @@ function loadMergedSourceConfig(rootPath, sidecarPath) {
|
|
|
638
738
|
return warnings.length > 0 ? { ok: true, config: merged, warnings } : { ok: true, config: merged };
|
|
639
739
|
}
|
|
640
740
|
function loadSourceConfigFromDir(dir) {
|
|
641
|
-
const filePath = path.join(dir,
|
|
741
|
+
const filePath = path.join(dir, SKAILE_MANIFEST_FILENAME);
|
|
642
742
|
if (!fs.existsSync(filePath)) return void 0;
|
|
643
743
|
try {
|
|
644
744
|
const text = fs.readFileSync(filePath, "utf-8");
|
|
645
|
-
return
|
|
745
|
+
return decodeManifestSourceConfig(text);
|
|
646
746
|
} catch (err) {
|
|
647
747
|
return {
|
|
648
748
|
ok: false,
|
|
@@ -718,10 +818,18 @@ function processEntry(rootPath, entry, registry) {
|
|
|
718
818
|
const errors = [];
|
|
719
819
|
const assetRoot = path.resolve(rootPath, entry.path);
|
|
720
820
|
const assetRootRelative = entry.path;
|
|
721
|
-
const
|
|
821
|
+
const files = entry.files ?? expandRootFiles(assetRoot);
|
|
822
|
+
if (entry.files === void 0 && files.length === 0) {
|
|
823
|
+
errors.push({
|
|
824
|
+
path: assetRootRelative,
|
|
825
|
+
error: `ManifestFileMissing: root "${entry.root ?? entry.path}" contains no files`
|
|
826
|
+
});
|
|
827
|
+
return { asset: null, errors };
|
|
828
|
+
}
|
|
829
|
+
const manifestFileRel = pickManifestFile(entry.path, files, entry.kind, registry);
|
|
722
830
|
const manifestAbsPath = path.join(assetRoot, manifestFileRel);
|
|
723
831
|
const missing = [];
|
|
724
|
-
for (const file of
|
|
832
|
+
for (const file of files) {
|
|
725
833
|
if (!fs.existsSync(path.join(assetRoot, file))) {
|
|
726
834
|
missing.push(file);
|
|
727
835
|
}
|
|
@@ -757,7 +865,7 @@ function processEntry(rootPath, entry, registry) {
|
|
|
757
865
|
}
|
|
758
866
|
const { sha256: computedHash, missing: hashMissing } = computeDeterministicHashDetailed(
|
|
759
867
|
assetRoot,
|
|
760
|
-
|
|
868
|
+
files
|
|
761
869
|
);
|
|
762
870
|
if (hashMissing.length > 0) {
|
|
763
871
|
errors.push({
|
|
@@ -800,7 +908,7 @@ function processEntry(rootPath, entry, registry) {
|
|
|
800
908
|
relativePath: path.join(assetRootRelative, manifestFileRel).replace(/\\/g, "/"),
|
|
801
909
|
fileFilter: {
|
|
802
910
|
assetRoot,
|
|
803
|
-
files: [...
|
|
911
|
+
files: [...files].sort()
|
|
804
912
|
},
|
|
805
913
|
sha256: computedHash,
|
|
806
914
|
requires
|
|
@@ -818,26 +926,49 @@ var MANIFEST_FILENAMES = /* @__PURE__ */ new Set([
|
|
|
818
926
|
"RULESET.md"
|
|
819
927
|
]);
|
|
820
928
|
var MANIFEST_SUFFIXES = [".flow.yaml", ".flow.json", ".prompt.md", ".preset.yaml"];
|
|
821
|
-
function pickManifestFile(
|
|
822
|
-
const provider = registry.getProvider(
|
|
929
|
+
function pickManifestFile(assetPath, files, kind, registry) {
|
|
930
|
+
const provider = registry.getProvider(kind);
|
|
823
931
|
if (provider) {
|
|
824
|
-
for (const file of
|
|
825
|
-
if (provider.matchesPath(path.join(
|
|
932
|
+
for (const file of files) {
|
|
933
|
+
if (provider.matchesPath(path.join(assetPath, file).replace(/\\/g, "/"))) {
|
|
826
934
|
return file;
|
|
827
935
|
}
|
|
828
936
|
}
|
|
829
937
|
}
|
|
830
|
-
for (const file of
|
|
938
|
+
for (const file of files) {
|
|
831
939
|
if (MANIFEST_FILENAMES.has(path.basename(file))) return file;
|
|
832
940
|
if (MANIFEST_SUFFIXES.some((s) => file.endsWith(s))) return file;
|
|
833
941
|
}
|
|
834
|
-
return
|
|
942
|
+
return files[0];
|
|
943
|
+
}
|
|
944
|
+
function expandRootFiles(assetRoot) {
|
|
945
|
+
const out = [];
|
|
946
|
+
const walk = (absDir, relDir) => {
|
|
947
|
+
let entries;
|
|
948
|
+
try {
|
|
949
|
+
entries = fs.readdirSync(absDir, { withFileTypes: true });
|
|
950
|
+
} catch {
|
|
951
|
+
return;
|
|
952
|
+
}
|
|
953
|
+
for (const e of entries.sort((a, b) => a.name < b.name ? -1 : 1)) {
|
|
954
|
+
const rel = relDir ? `${relDir}/${e.name}` : e.name;
|
|
955
|
+
if (e.isDirectory()) {
|
|
956
|
+
if (e.name === ".git" || e.name === "node_modules" || e.name === ".skaile") continue;
|
|
957
|
+
walk(path.join(absDir, e.name), rel);
|
|
958
|
+
} else if (e.isFile()) {
|
|
959
|
+
out.push(rel);
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
};
|
|
963
|
+
walk(assetRoot, "");
|
|
964
|
+
return out;
|
|
835
965
|
}
|
|
836
966
|
function parseManifest(absPath) {
|
|
837
967
|
try {
|
|
838
968
|
const content = fs.readFileSync(absPath, "utf-8");
|
|
839
969
|
if (absPath.endsWith(".md")) {
|
|
840
970
|
const { data } = parseFrontmatter(content);
|
|
971
|
+
if (!data || Object.keys(data).length === 0) return null;
|
|
841
972
|
return data;
|
|
842
973
|
}
|
|
843
974
|
if (absPath.endsWith(".yaml") || absPath.endsWith(".yml")) {
|
|
@@ -927,7 +1058,7 @@ function discoverAssetsInTree(rootPath, optionsOrSourceConfig) {
|
|
|
927
1058
|
}
|
|
928
1059
|
const publisher = resolvePublisher(relativePath, sourceConfig);
|
|
929
1060
|
const name = deriveName(relativePath, kind, manifest);
|
|
930
|
-
const version =
|
|
1061
|
+
const version = coerceVersion(manifest.version);
|
|
931
1062
|
const ref = `${publisher}/${name}@${version}`;
|
|
932
1063
|
const fileFilter = registry.defaultFileFilter(kind, absPath) ?? {
|
|
933
1064
|
assetRoot: path.dirname(absPath),
|
|
@@ -985,6 +1116,7 @@ function parseManifest2(absPath) {
|
|
|
985
1116
|
const content = fs.readFileSync(absPath, "utf-8");
|
|
986
1117
|
if (absPath.endsWith(".md")) {
|
|
987
1118
|
const { data } = parseFrontmatter(content);
|
|
1119
|
+
if (!data || Object.keys(data).length === 0) return null;
|
|
988
1120
|
return data;
|
|
989
1121
|
}
|
|
990
1122
|
if (absPath.endsWith(".yaml") || absPath.endsWith(".yml")) {
|
|
@@ -1019,8 +1151,13 @@ function resolvePublisher(relativePath, sourceConfig) {
|
|
|
1019
1151
|
}
|
|
1020
1152
|
return template;
|
|
1021
1153
|
}
|
|
1154
|
+
function coerceVersion(version) {
|
|
1155
|
+
if (typeof version === "string") return version;
|
|
1156
|
+
if (typeof version === "number") return String(version);
|
|
1157
|
+
return "0.1.0";
|
|
1158
|
+
}
|
|
1022
1159
|
function deriveName(relativePath, kind, manifest) {
|
|
1023
|
-
if (typeof manifest.name === "string" && manifest.name.length > 0) {
|
|
1160
|
+
if (typeof manifest.name === "string" && manifest.name.length > 0 && isValidAssetName(manifest.name)) {
|
|
1024
1161
|
return manifest.name;
|
|
1025
1162
|
}
|
|
1026
1163
|
const parts = relativePath.split("/");
|
|
@@ -1119,7 +1256,7 @@ async function discoverAssetsInTreeEntries(entries, options) {
|
|
|
1119
1256
|
}
|
|
1120
1257
|
const publisher = resolvePublisher2(relativePath, resolvedSourceConfig);
|
|
1121
1258
|
const name = deriveName2(relativePath, kind, manifest);
|
|
1122
|
-
const version =
|
|
1259
|
+
const version = coerceVersion2(manifest.version);
|
|
1123
1260
|
const ref = `${publisher}/${name}@${version}`;
|
|
1124
1261
|
const fileFilter = computeFileFilter(kind, relativePath, blobByPath);
|
|
1125
1262
|
let sha256;
|
|
@@ -1158,6 +1295,7 @@ function parseManifestText(relativePath, text) {
|
|
|
1158
1295
|
try {
|
|
1159
1296
|
if (relativePath.endsWith(".md")) {
|
|
1160
1297
|
const { data } = parseFrontmatter(text);
|
|
1298
|
+
if (!data || Object.keys(data).length === 0) return null;
|
|
1161
1299
|
return data;
|
|
1162
1300
|
}
|
|
1163
1301
|
if (relativePath.endsWith(".yaml") || relativePath.endsWith(".yml")) {
|
|
@@ -1192,8 +1330,13 @@ function resolvePublisher2(relativePath, sourceConfig) {
|
|
|
1192
1330
|
}
|
|
1193
1331
|
return template;
|
|
1194
1332
|
}
|
|
1333
|
+
function coerceVersion2(version) {
|
|
1334
|
+
if (typeof version === "string") return version;
|
|
1335
|
+
if (typeof version === "number") return String(version);
|
|
1336
|
+
return "0.1.0";
|
|
1337
|
+
}
|
|
1195
1338
|
function deriveName2(relativePath, kind, manifest) {
|
|
1196
|
-
if (typeof manifest.name === "string" && manifest.name.length > 0) {
|
|
1339
|
+
if (typeof manifest.name === "string" && manifest.name.length > 0 && isValidAssetName(manifest.name)) {
|
|
1197
1340
|
return manifest.name;
|
|
1198
1341
|
}
|
|
1199
1342
|
const parts = relativePath.split("/");
|
|
@@ -1335,11 +1478,11 @@ async function fetchAsBuffer(fetchBlob, sha) {
|
|
|
1335
1478
|
}
|
|
1336
1479
|
async function resolveSourceConfigFromTree(explicit, blobByPath, fetchBlob) {
|
|
1337
1480
|
if (explicit) return explicit;
|
|
1338
|
-
const entry = blobByPath.get(
|
|
1481
|
+
const entry = blobByPath.get(SKAILE_MANIFEST_FILENAME);
|
|
1339
1482
|
if (!entry) return void 0;
|
|
1340
1483
|
const bytes = await fetchAsBuffer(fetchBlob, entry.sha);
|
|
1341
1484
|
if (!bytes) return void 0;
|
|
1342
|
-
const result =
|
|
1485
|
+
const result = decodeManifestSourceConfig(bytes.toString("utf-8"));
|
|
1343
1486
|
return result.ok ? result.config : void 0;
|
|
1344
1487
|
}
|
|
1345
1488
|
async function discoverFromManifestTree(sourceConfig, blobByPath, fetchBlob, registry, includeDev = false) {
|
|
@@ -1366,8 +1509,16 @@ async function discoverFromManifestTree(sourceConfig, blobByPath, fetchBlob, reg
|
|
|
1366
1509
|
async function processManifestEntryTree(entry, blobByPath, fetchBlob, registry) {
|
|
1367
1510
|
const errors = [];
|
|
1368
1511
|
const assetRootRelative = entry.path;
|
|
1512
|
+
const files = entry.files ?? expandRootFilesTree(entry.path, blobByPath);
|
|
1513
|
+
if (entry.files === void 0 && files.length === 0) {
|
|
1514
|
+
errors.push({
|
|
1515
|
+
path: assetRootRelative,
|
|
1516
|
+
error: `ManifestFileMissing: root "${entry.root ?? entry.path}" contains no files`
|
|
1517
|
+
});
|
|
1518
|
+
return { asset: null, errors };
|
|
1519
|
+
}
|
|
1369
1520
|
const missing = [];
|
|
1370
|
-
for (const file of
|
|
1521
|
+
for (const file of files) {
|
|
1371
1522
|
const full = joinPosix(entry.path, file);
|
|
1372
1523
|
if (!blobByPath.has(full)) missing.push(file);
|
|
1373
1524
|
}
|
|
@@ -1378,7 +1529,7 @@ async function processManifestEntryTree(entry, blobByPath, fetchBlob, registry)
|
|
|
1378
1529
|
});
|
|
1379
1530
|
return { asset: null, errors };
|
|
1380
1531
|
}
|
|
1381
|
-
const manifestFileRel = pickManifestFileTree(entry, registry);
|
|
1532
|
+
const manifestFileRel = pickManifestFileTree(entry.path, files, entry.kind, registry);
|
|
1382
1533
|
const manifestFull = joinPosix(entry.path, manifestFileRel);
|
|
1383
1534
|
const manifestEntry = blobByPath.get(manifestFull);
|
|
1384
1535
|
let manifestBytes;
|
|
@@ -1422,7 +1573,7 @@ async function processManifestEntryTree(entry, blobByPath, fetchBlob, registry)
|
|
|
1422
1573
|
}
|
|
1423
1574
|
let computedHash;
|
|
1424
1575
|
try {
|
|
1425
|
-
computedHash = await computeManifestHashTree(entry, blobByPath, fetchBlob);
|
|
1576
|
+
computedHash = await computeManifestHashTree(entry.path, files, blobByPath, fetchBlob);
|
|
1426
1577
|
} catch (err) {
|
|
1427
1578
|
errors.push({
|
|
1428
1579
|
path: assetRootRelative,
|
|
@@ -1464,7 +1615,7 @@ async function processManifestEntryTree(entry, blobByPath, fetchBlob, registry)
|
|
|
1464
1615
|
relativePath: manifestFull,
|
|
1465
1616
|
fileFilter: {
|
|
1466
1617
|
assetRoot: entry.path,
|
|
1467
|
-
files: [...
|
|
1618
|
+
files: [...files].sort()
|
|
1468
1619
|
},
|
|
1469
1620
|
sha256: computedHash,
|
|
1470
1621
|
requires
|
|
@@ -1482,25 +1633,38 @@ var MANIFEST_FILENAMES2 = /* @__PURE__ */ new Set([
|
|
|
1482
1633
|
"RULESET.md"
|
|
1483
1634
|
]);
|
|
1484
1635
|
var MANIFEST_SUFFIXES2 = [".flow.yaml", ".flow.json", ".prompt.md", ".preset.yaml"];
|
|
1485
|
-
function pickManifestFileTree(
|
|
1486
|
-
const provider = registry.getProvider(
|
|
1636
|
+
function pickManifestFileTree(assetPath, files, kind, registry) {
|
|
1637
|
+
const provider = registry.getProvider(kind);
|
|
1487
1638
|
if (provider) {
|
|
1488
|
-
for (const file of
|
|
1489
|
-
if (provider.matchesPath(joinPosix(
|
|
1639
|
+
for (const file of files) {
|
|
1640
|
+
if (provider.matchesPath(joinPosix(assetPath, file))) return file;
|
|
1490
1641
|
}
|
|
1491
1642
|
}
|
|
1492
|
-
for (const file of
|
|
1643
|
+
for (const file of files) {
|
|
1493
1644
|
const base = file.split("/").pop() ?? file;
|
|
1494
1645
|
if (MANIFEST_FILENAMES2.has(base)) return file;
|
|
1495
1646
|
if (MANIFEST_SUFFIXES2.some((s) => file.endsWith(s))) return file;
|
|
1496
1647
|
}
|
|
1497
|
-
return
|
|
1648
|
+
return files[0];
|
|
1498
1649
|
}
|
|
1499
|
-
|
|
1650
|
+
function expandRootFilesTree(assetPath, blobByPath) {
|
|
1651
|
+
const out = [];
|
|
1652
|
+
const root = assetPath === "." ? "" : assetPath;
|
|
1653
|
+
for (const blobPath of blobByPath.keys()) {
|
|
1654
|
+
if (!isInDir(blobPath, root)) continue;
|
|
1655
|
+
const rel = root === "" ? blobPath : blobPath.slice(root.length + 1);
|
|
1656
|
+
if (rel.startsWith(".git/") || rel.startsWith("node_modules/") || rel.startsWith(".skaile/") || rel.includes("/.git/") || rel.includes("/node_modules/") || rel.includes("/.skaile/")) {
|
|
1657
|
+
continue;
|
|
1658
|
+
}
|
|
1659
|
+
out.push(rel);
|
|
1660
|
+
}
|
|
1661
|
+
return out.sort();
|
|
1662
|
+
}
|
|
1663
|
+
async function computeManifestHashTree(assetPath, files, blobByPath, fetchBlob) {
|
|
1500
1664
|
const hash = crypto.createHash("sha256");
|
|
1501
|
-
const sorted = [...
|
|
1665
|
+
const sorted = [...files].sort();
|
|
1502
1666
|
for (const file of sorted) {
|
|
1503
|
-
const full = joinPosix(
|
|
1667
|
+
const full = joinPosix(assetPath, file);
|
|
1504
1668
|
const blob = blobByPath.get(full);
|
|
1505
1669
|
if (!blob) continue;
|
|
1506
1670
|
hash.update(file);
|
|
@@ -1523,6 +1687,6 @@ function validateRequiresSyntax2(requires) {
|
|
|
1523
1687
|
// discovery/src/index.ts
|
|
1524
1688
|
var VERSION = "0.0.0";
|
|
1525
1689
|
|
|
1526
|
-
export { AssetKindRegistry, BUILTIN_PROVIDERS, SEMVER_RE, SourceConfigSchema, VERSION, agentProvider, buildRequiresGraph, computeDeterministicHash, computeDeterministicHashDetailed, connectorProvider, contractProvider, createDefaultRegistry, detectCycles, discoverAssetsInTree, discoverAssetsInTreeEntries, discoverFromManifest, extractRequires, isExcludedDevPath, isManifestMode, loadMergedSourceConfig, loadSourceConfig, mcpServerProvider, mergeSourceConfigs, parseSourceConfig, personaProvider, presetProvider, promptProvider, rulesetProvider, skillProvider, validateSourceConfig };
|
|
1527
|
-
//# sourceMappingURL=chunk-
|
|
1528
|
-
//# sourceMappingURL=chunk-
|
|
1690
|
+
export { AssetKindRegistry, BUILTIN_PROVIDERS, SEMVER_RE, SourceConfigSchema, VERSION, agentProvider, buildRequiresGraph, computeDeterministicHash, computeDeterministicHashDetailed, connectorProvider, contractProvider, createDefaultRegistry, decodeManifestSourceConfig, detectCycles, discoverAssetsInTree, discoverAssetsInTreeEntries, discoverFromManifest, extractRequires, isExcludedDevPath, isManifestMode, loadMergedSourceConfig, loadSourceConfig, manifestToSourceConfig, mcpServerProvider, mergeSourceConfigs, parseSourceConfig, personaProvider, presetProvider, promptProvider, readManifestSourceConfig, rulesetProvider, skillProvider, validateSourceConfig };
|
|
1691
|
+
//# sourceMappingURL=chunk-JIQLLZ65.js.map
|
|
1692
|
+
//# sourceMappingURL=chunk-JIQLLZ65.js.map
|