@skaile/workspaces 0.22.0-beta.0 → 0.22.0-beta.2
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 +221 -0
- package/dist/{asset-feeds-PJDJ3QYI.js → asset-feeds-2M6UKEJ7.js} +13 -14
- package/dist/asset-feeds-2M6UKEJ7.js.map +1 -0
- package/dist/asset-manager/catalog-deployer.d.ts +2 -0
- package/dist/asset-manager/contrib.d.ts +2 -0
- package/dist/asset-manager/fragments.d.ts +2 -0
- package/dist/asset-manager/history.d.ts +2 -0
- package/dist/asset-manager/index.d.ts +2 -0
- package/dist/asset-manager/index.js +7 -7
- package/dist/asset-manager/installer.d.ts +2 -0
- package/dist/asset-manager/installer.js +6 -6
- package/dist/asset-manager/renderers.d.ts +2 -0
- package/dist/asset-manager/src/index.d.ts +18 -7
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +3 -3
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/base-assets/connectors/deploy.d.ts +2 -0
- package/dist/base-assets/connectors/deploy.js +8 -8
- package/dist/base-assets/connectors/devserver.d.ts +2 -0
- package/dist/base-assets/connectors/devserver.js +8 -8
- package/dist/base-assets/connectors/flow/adapter.js +8 -8
- package/dist/base-assets/connectors/flow/engine.d.ts +2 -0
- package/dist/base-assets/connectors/flow/run-flow.js +9 -9
- package/dist/base-assets/connectors/flow.d.ts +2 -0
- package/dist/base-assets/connectors/flow.js +8 -8
- package/dist/base-assets/connectors/git/driver.d.ts.map +1 -1
- package/dist/base-assets/connectors/git.d.ts +2 -0
- package/dist/base-assets/connectors/git.js +8 -8
- package/dist/base-assets/connectors/gmail.d.ts +2 -0
- package/dist/base-assets/connectors/gmail.js +8 -8
- package/dist/base-assets/connectors/googledrive.d.ts +2 -0
- package/dist/base-assets/connectors/googledrive.js +8 -8
- package/dist/base-assets/connectors/local.d.ts +2 -0
- package/dist/base-assets/connectors/local.js +8 -8
- package/dist/base-assets/connectors/mattermost.d.ts +2 -0
- package/dist/base-assets/connectors/mattermost.js +8 -8
- package/dist/base-assets/connectors/memory.d.ts +2 -0
- package/dist/base-assets/connectors/memory.js +8 -8
- package/dist/base-assets/connectors/minio.d.ts +2 -0
- package/dist/base-assets/connectors/minio.js +8 -8
- package/dist/base-assets/connectors/postgres.d.ts +2 -0
- package/dist/base-assets/connectors/postgres.js +8 -8
- package/dist/base-assets/connectors/s3.d.ts +2 -0
- package/dist/base-assets/connectors/s3.js +8 -8
- package/dist/base-assets/connectors/sharepoint.d.ts +2 -0
- package/dist/base-assets/connectors/sharepoint.js +8 -8
- package/dist/base-assets/connectors/sqlite.d.ts +2 -0
- package/dist/base-assets/connectors/sqlite.js +8 -8
- package/dist/base-assets/connectors/static-server.d.ts +2 -0
- package/dist/base-assets/connectors/static-server.js +8 -8
- package/dist/base-assets/connectors/tunnel.d.ts +2 -0
- package/dist/base-assets/connectors/tunnel.js +8 -8
- package/dist/base-assets/connectors/webdav.d.ts +2 -0
- package/dist/base-assets/connectors/webdav.js +8 -8
- package/dist/base-assets/connectors/xstate-store.d.ts +2 -0
- package/dist/base-assets/connectors/xstate-store.js +8 -8
- package/dist/base-assets/connectors/xstate.d.ts +2 -0
- package/dist/base-assets/connectors/xstate.js +8 -8
- package/dist/bridge/drivers/claude-sdk.d.ts +2 -0
- package/dist/bridge/drivers/claude-sdk.js +2 -2
- package/dist/bridge/drivers/codex.d.ts +2 -0
- package/dist/bridge/drivers/codex.js +2 -2
- package/dist/bridge/drivers/echo.d.ts +2 -0
- package/dist/bridge/drivers/echo.js +2 -2
- package/dist/bridge/drivers/omp.d.ts +2 -0
- package/dist/bridge/drivers/omp.js +2 -2
- package/dist/bridge/index.d.ts +2 -0
- package/dist/bridge/index.js +3 -3
- package/dist/bridge/src/registry.d.ts +4 -2
- package/dist/bridge/src/registry.d.ts.map +1 -1
- package/dist/chunk-32NA4TVC.js +30 -0
- package/dist/chunk-32NA4TVC.js.map +1 -0
- package/dist/{chunk-CSDQBWE6.js → chunk-3KLWGHDE.js} +5 -5
- package/dist/{chunk-CSDQBWE6.js.map → chunk-3KLWGHDE.js.map} +1 -1
- package/dist/{chunk-UZRY5UI2.js → chunk-6E6PKKAD.js} +68 -3
- package/dist/chunk-6E6PKKAD.js.map +1 -0
- package/dist/{chunk-G6GKWGOW.js → chunk-6SA2SIOU.js} +26 -10
- package/dist/chunk-6SA2SIOU.js.map +1 -0
- package/dist/{chunk-IGQEXBBG.js → chunk-6VTG73UY.js} +13 -9
- package/dist/chunk-6VTG73UY.js.map +1 -0
- package/dist/{chunk-TTY56FQQ.js → chunk-74GTZ4TJ.js} +17 -5
- package/dist/chunk-74GTZ4TJ.js.map +1 -0
- package/dist/chunk-7QBNJTTQ.js +3 -0
- package/dist/{chunk-W2O5LWYU.js.map → chunk-7QBNJTTQ.js.map} +1 -1
- package/dist/{chunk-SL6JVGRD.js → chunk-CEUHU3C4.js} +3 -3
- package/dist/{chunk-SL6JVGRD.js.map → chunk-CEUHU3C4.js.map} +1 -1
- package/dist/{chunk-J2FCO6TM.js → chunk-FIHVQFXB.js} +2 -2
- package/dist/{chunk-J2FCO6TM.js.map → chunk-FIHVQFXB.js.map} +1 -1
- package/dist/{chunk-F3MGZ5E6.js → chunk-FVZLCBSX.js} +3 -3
- package/dist/{chunk-F3MGZ5E6.js.map → chunk-FVZLCBSX.js.map} +1 -1
- package/dist/{chunk-7PTP3SQJ.js → chunk-GTS2FODO.js} +32 -7
- package/dist/chunk-GTS2FODO.js.map +1 -0
- package/dist/{chunk-KA46DUM4.js → chunk-I5SGBFMM.js} +51 -3
- package/dist/chunk-I5SGBFMM.js.map +1 -0
- package/dist/{chunk-MO4JPTRD.js → chunk-LDLZFYLR.js} +5 -5
- package/dist/{chunk-MO4JPTRD.js.map → chunk-LDLZFYLR.js.map} +1 -1
- package/dist/{chunk-TKOLD2O7.js → chunk-LDYPQVRU.js} +516 -145
- package/dist/chunk-LDYPQVRU.js.map +1 -0
- package/dist/{chunk-GKM6MDUC.js → chunk-M5JDVO6D.js} +3 -3
- package/dist/{chunk-GKM6MDUC.js.map → chunk-M5JDVO6D.js.map} +1 -1
- package/dist/{chunk-XHFMUGDD.js → chunk-M5TE6YI5.js} +3 -3
- package/dist/{chunk-XHFMUGDD.js.map → chunk-M5TE6YI5.js.map} +1 -1
- package/dist/{chunk-NGC7ZQI4.js → chunk-NICAMYPV.js} +39 -45
- package/dist/chunk-NICAMYPV.js.map +1 -0
- package/dist/{chunk-WIR34WMU.js → chunk-NQL3T75I.js} +24 -59
- package/dist/chunk-NQL3T75I.js.map +1 -0
- package/dist/{chunk-RENHNO4J.js → chunk-P4FYHEHW.js} +206 -137
- package/dist/chunk-P4FYHEHW.js.map +1 -0
- package/dist/{chunk-2DNSSQ22.js → chunk-TWQPDBHB.js} +270 -173
- package/dist/chunk-TWQPDBHB.js.map +1 -0
- package/dist/{chunk-UZVHJ7LX.js → chunk-UBLTUFFI.js} +4 -4
- package/dist/{chunk-UZVHJ7LX.js.map → chunk-UBLTUFFI.js.map} +1 -1
- package/dist/{chunk-X5Y4EGZB.js → chunk-VUCPJBAG.js} +43 -10
- package/dist/chunk-VUCPJBAG.js.map +1 -0
- package/dist/{chunk-PBWMV5GM.js → chunk-WQ7DE5UC.js} +18 -4
- package/dist/chunk-WQ7DE5UC.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +258 -262
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/deploy.d.ts.map +1 -1
- package/dist/cli/src/commands/manage.d.ts +22 -31
- package/dist/cli/src/commands/manage.d.ts.map +1 -1
- package/dist/cli/src/commands/npx.d.ts +5 -3
- package/dist/cli/src/commands/npx.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/source.d.ts +7 -0
- package/dist/cli/src/commands/source.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts.map +1 -1
- package/dist/cli/src/ensure-sources.d.ts.map +1 -1
- package/dist/client/index.d.ts +2 -0
- package/dist/connectors/config.d.ts +2 -0
- package/dist/connectors/config.js +6 -6
- package/dist/connectors/index.d.ts +2 -0
- package/dist/connectors/index.js +8 -8
- package/dist/connectors/rclone-config.d.ts +2 -0
- package/dist/connectors/rclone.d.ts +2 -0
- package/dist/connectors-shared/index.d.ts +2 -0
- package/dist/core/discovery.d.ts +2 -0
- package/dist/core/driver-targets.d.ts +2 -0
- package/dist/core/framework.d.ts +2 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +5 -5
- package/dist/core/logging.d.ts +2 -0
- package/dist/core/manifest.d.ts +2 -0
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.d.ts +2 -0
- package/dist/core/models.js +1 -1
- package/dist/core/runtime-assets.d.ts +2 -0
- package/dist/core/runtime-assets.js +4 -4
- package/dist/core/src/index.d.ts +7 -5
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +47 -26
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/manifest.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +61 -49
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +79 -36
- 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/walker.d.ts +52 -0
- package/dist/core/src/walker.d.ts.map +1 -0
- package/dist/core/src/workspace-config.d.ts +160 -45
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/src/workspace-yaml-editor.d.ts +33 -16
- package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
- package/dist/core/store.d.ts +2 -0
- package/dist/core/workspace-config.d.ts +2 -0
- package/dist/core/workspace-config.js +3 -3
- package/dist/deploy/index.d.ts +2 -0
- package/dist/deploy/index.js +167 -52
- package/dist/deploy/index.js.map +1 -1
- package/dist/deploy/src/index.d.ts +4 -3
- package/dist/deploy/src/index.d.ts.map +1 -1
- package/dist/deploy/src/targets/container-runtime.d.ts +1 -0
- package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
- package/dist/deploy/src/targets/docker.d.ts +1 -0
- package/dist/deploy/src/targets/docker.d.ts.map +1 -1
- package/dist/deploy/src/targets/local.d.ts.map +1 -1
- package/dist/deploy/src/targets/nix.d.ts +36 -0
- package/dist/deploy/src/targets/nix.d.ts.map +1 -0
- package/dist/deploy/src/targets/podman.d.ts +1 -0
- package/dist/deploy/src/targets/podman.d.ts.map +1 -1
- package/dist/deploy/src/targets/process-handle.d.ts +34 -0
- package/dist/deploy/src/targets/process-handle.d.ts.map +1 -0
- package/dist/discovery/index.d.ts +2 -0
- package/dist/discovery/index.js +3 -3
- package/dist/discovery/src/source-config.d.ts +2 -2
- package/dist/{ensure-sources-COGVKY44.js → ensure-sources-ALTI5PXR.js} +20 -16
- package/dist/ensure-sources-ALTI5PXR.js.map +1 -0
- package/dist/library/index.d.ts +2 -0
- package/dist/library/index.js +4 -4
- 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/open-library-EEGG6RDN.js +13 -0
- package/dist/{open-library-DWAQFUSQ.js.map → open-library-EEGG6RDN.js.map} +1 -1
- package/dist/plugin-registry/index.d.ts +2 -0
- package/dist/plugin-registry/index.js +1 -1
- package/dist/plugin-registry/src/context.d.ts +30 -1
- package/dist/plugin-registry/src/context.d.ts.map +1 -1
- package/dist/plugin-registry/src/deploy-handle.d.ts +17 -1
- package/dist/plugin-registry/src/deploy-handle.d.ts.map +1 -1
- package/dist/plugin-registry/src/deploy-helpers.d.ts +69 -0
- package/dist/plugin-registry/src/deploy-helpers.d.ts.map +1 -0
- package/dist/plugin-registry/src/index.d.ts +6 -4
- package/dist/plugin-registry/src/index.d.ts.map +1 -1
- package/dist/plugin-registry/src/internal.d.ts.map +1 -1
- package/dist/plugin-registry/src/registry.d.ts +1 -0
- package/dist/plugin-registry/src/registry.d.ts.map +1 -1
- package/dist/plugin-registry/src/targets.d.ts +4 -0
- package/dist/plugin-registry/src/targets.d.ts.map +1 -1
- package/dist/{plugin-store-6OENKNFW.js → plugin-store-G277ZX3B.js} +8 -8
- package/dist/{plugin-store-6OENKNFW.js.map → plugin-store-G277ZX3B.js.map} +1 -1
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/src/catalog-source.d.ts +5 -0
- package/dist/plugins/src/catalog-source.d.ts.map +1 -1
- package/dist/resolver/index.d.ts +2 -0
- package/dist/runner/index.d.ts +2 -0
- package/dist/runner/index.js +17 -16
- package/dist/runner/prompt-assembly.d.ts +2 -0
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts +7 -0
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.d.ts +2 -0
- package/dist/sdk/asset-manager.js +7 -7
- package/dist/sdk/bridge.d.ts +2 -0
- package/dist/sdk/bridge.js +3 -3
- package/dist/sdk/client.d.ts +2 -0
- package/dist/sdk/core.d.ts +2 -0
- package/dist/sdk/core.js +5 -5
- package/dist/sdk/flow.d.ts +2 -0
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.js +53 -19
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.d.ts +2 -0
- package/dist/sdk/runner.d.ts +2 -0
- package/dist/sdk/runner.js +17 -16
- package/dist/sdk/session.d.ts +2 -0
- package/dist/sdk/src/local-runtime.d.ts +8 -0
- package/dist/sdk/src/local-runtime.d.ts.map +1 -1
- package/dist/sdk/src/transport.d.ts +7 -1
- package/dist/sdk/src/transport.d.ts.map +1 -1
- package/dist/sdk/store.d.ts +2 -0
- package/dist/sdk/telemetry.d.ts +2 -0
- package/dist/sdk/transport/ws/client.d.ts +2 -0
- package/dist/sdk/transport/ws/client.js +2 -1
- package/dist/sdk/transport/ws/server.d.ts +2 -0
- package/dist/sdk/transport/ws/server.js +2 -1
- package/dist/sdk/transport/ws.d.ts +2 -0
- package/dist/sdk/transport/ws.js +4 -3
- package/dist/sdk/transport.d.ts +2 -0
- package/dist/sdk/transport.js +4 -3
- package/dist/sdk/types.d.ts +2 -0
- package/dist/secrets/index.d.ts +2 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/{setup-ACMP3QZC.js → setup-REX4I5NE.js} +10 -10
- package/dist/{setup-ACMP3QZC.js.map → setup-REX4I5NE.js.map} +1 -1
- package/dist/store/index.d.ts +2 -0
- package/dist/store/react.d.ts +2 -0
- package/dist/store/vue.d.ts +2 -0
- package/dist/store-client-IX3Y67NK.js +14 -0
- package/dist/{store-client-ZSLNOOQG.js.map → store-client-IX3Y67NK.js.map} +1 -1
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/transport/index.d.ts +2 -0
- package/dist/transport/index.js +4 -3
- package/dist/transport/src/ws/auth.d.ts +34 -0
- package/dist/transport/src/ws/auth.d.ts.map +1 -0
- package/dist/transport/src/ws/client.d.ts +4 -0
- package/dist/transport/src/ws/client.d.ts.map +1 -1
- package/dist/transport/src/ws/index.d.ts +3 -2
- package/dist/transport/src/ws/index.d.ts.map +1 -1
- package/dist/transport/src/ws/server.d.ts +5 -0
- package/dist/transport/src/ws/server.d.ts.map +1 -1
- package/dist/transport/ws/client.d.ts +2 -0
- package/dist/transport/ws/client.js +2 -1
- package/dist/transport/ws/server.d.ts +2 -0
- package/dist/transport/ws/server.js +2 -1
- package/dist/transport/ws.d.ts +2 -0
- package/dist/transport/ws.js +4 -3
- package/dist/tui/index.d.ts +2 -0
- package/dist/tui/index.js +17 -16
- package/dist/tui/index.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/manifests.d.ts +2 -0
- package/dist/workspace-plugin/adapters/mcp.d.ts +2 -0
- package/dist/workspace-plugin/adapters/omp.d.ts +2 -0
- package/dist/workspace-plugin/index.d.ts +2 -0
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +4 -2
- package/dist/asset-feeds-PJDJ3QYI.js.map +0 -1
- package/dist/chunk-2DNSSQ22.js.map +0 -1
- package/dist/chunk-7PTP3SQJ.js.map +0 -1
- package/dist/chunk-G6GKWGOW.js.map +0 -1
- package/dist/chunk-IGQEXBBG.js.map +0 -1
- package/dist/chunk-KA46DUM4.js.map +0 -1
- package/dist/chunk-NGC7ZQI4.js.map +0 -1
- package/dist/chunk-PBWMV5GM.js.map +0 -1
- package/dist/chunk-RENHNO4J.js.map +0 -1
- package/dist/chunk-TKOLD2O7.js.map +0 -1
- package/dist/chunk-TTY56FQQ.js.map +0 -1
- package/dist/chunk-UZRY5UI2.js.map +0 -1
- package/dist/chunk-W2O5LWYU.js +0 -3
- package/dist/chunk-WIR34WMU.js.map +0 -1
- package/dist/chunk-X5Y4EGZB.js.map +0 -1
- package/dist/ensure-sources-COGVKY44.js.map +0 -1
- package/dist/open-library-DWAQFUSQ.js +0 -13
- package/dist/store-client-ZSLNOOQG.js +0 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,226 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.22.0-beta.2
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`cd5b3b3`](https://github.com/skaile-ai/workspaces/commit/cd5b3b39ed6e65f0124d5cda81fc791ddd1c25e5) Thanks [@mortegro](https://github.com/mortegro)! - Asset display: regroup the `skaile manage` TUI as **publisher → repo → asset**.
|
|
8
|
+
|
|
9
|
+
The derived `domain` axis (first-level directory of a scanned repo) is replaced
|
|
10
|
+
by `repo` — the real `"<org>/<repo>"` GitHub coordinate. `category` is demoted
|
|
11
|
+
out of the tree to a row badge.
|
|
12
|
+
|
|
13
|
+
- `plugins` — `CatalogAsset` gains optional `repo?`.
|
|
14
|
+
- `core` — `CatalogEntry` drops `domain`, gains `repo?` and `category?`.
|
|
15
|
+
`entryFromRaw` reads `repo` with a one-release legacy-`domain` read-fallback
|
|
16
|
+
(stale `catalog.yaml` caches self-heal on next write). `scanRepo` derives
|
|
17
|
+
`repo` once from the scanned root's git remote (`repoSlugFromGitRemote`) and
|
|
18
|
+
stamps it onto every entry; `scanDirectory` no longer emits a per-asset
|
|
19
|
+
`domain`.
|
|
20
|
+
- `library` — `RemoteCatalogSource` threads the store's `repo` through.
|
|
21
|
+
- `cli` — `manage` regroups to publisher → repo → asset with category badges;
|
|
22
|
+
the `asset-feeds` store mapping now carries `publisher`/`repo`/`category`
|
|
23
|
+
(fixing the bug that mis-shelved every remote asset under `other`).
|
|
24
|
+
|
|
25
|
+
Local libraries with no git remote (and non-GitHub sources) have no `repo`;
|
|
26
|
+
their assets group directly under the publisher.
|
|
27
|
+
|
|
28
|
+
- [#71](https://github.com/skaile-ai/workspaces/pull/71) [`fb32a60`](https://github.com/skaile-ai/workspaces/commit/fb32a6028ce1c0639c3339e8561ba72dcd24388f) Thanks [@mortegro](https://github.com/mortegro)! - Deploy contract: add a generic per-session injection channel and a built-in
|
|
29
|
+
`nix` target, so a host (e.g. skaile-platform) can drive every deploy target
|
|
30
|
+
uniformly without forking the decision in its own code.
|
|
31
|
+
|
|
32
|
+
- `DeployContext` gains optional `mounts` / `labels` / `resources`
|
|
33
|
+
(`@skaile/workspaces/plugin-registry`, with new `DeployMount` / `DeployResources`
|
|
34
|
+
types). Container built-ins (`docker` / `podman`) map them to `-v` / `--label`
|
|
35
|
+
/ `--cpus` / `--memory` / `--pids-limit`; the process built-ins ignore mounts.
|
|
36
|
+
Target-specific policy (apparmor, FUSE, fleet binds, …) stays in each target's
|
|
37
|
+
own `configSchema` — it never enters this shared context.
|
|
38
|
+
- `local` now also merges `ctx.env` into the spawned process env (`config.env`
|
|
39
|
+
still wins).
|
|
40
|
+
- New built-in `nixDeployTarget` (id `nix`) runs `skaile serve` inside a
|
|
41
|
+
`nix shell` over `ws://127.0.0.1:<port>`; registered by
|
|
42
|
+
`registerBuiltinDeployTargets()`. Exports `nixDeployTarget` + the pure
|
|
43
|
+
`buildNixArgs()` from `@skaile/workspaces/deploy`. Generic on purpose
|
|
44
|
+
(`flakeRef` + `stackAttr` only).
|
|
45
|
+
|
|
46
|
+
- [`e219bf1`](https://github.com/skaile-ai/workspaces/commit/e219bf1a483538b2e6a8538ab87bda8c5063ad21) Thanks [@mortegro](https://github.com/mortegro)! - CLI: `skaile source add` now accepts GitHub shorthand — a bare `<name>`
|
|
47
|
+
resolves to `git@github.com:skaile-ai/<name>.git` and `<owner>/<repo>` to
|
|
48
|
+
`git@github.com:<owner>/<repo>.git`; full URLs and scp-style specs pass through
|
|
49
|
+
unchanged.
|
|
50
|
+
|
|
51
|
+
CLI: fixed `skaile npx skills add <url> --skill <name>` (the npx compatibility
|
|
52
|
+
shim) under the canonical-identity model. It now clones into the canonical
|
|
53
|
+
sources cache (`~/.skaile/sources/<slug>`), registers the source in the
|
|
54
|
+
project's `skaile.yaml` `sources[]`, builds a publisher-qualified ref
|
|
55
|
+
(`skill:<name>@<publisher>`, publisher from the source's `skaile.yaml` or its
|
|
56
|
+
GitHub org), and maps a requested SKILL.md `name:` to the directory the
|
|
57
|
+
canonical resolver keys by.
|
|
58
|
+
|
|
59
|
+
- [#71](https://github.com/skaile-ai/workspaces/pull/71) [`fb32a60`](https://github.com/skaile-ai/workspaces/commit/fb32a6028ce1c0639c3339e8561ba72dcd24388f) Thanks [@mortegro](https://github.com/mortegro)! - WebSocket transport: enforce a bearer auth token end-to-end so a deploy target's
|
|
60
|
+
issued `wsAuth` actually gates the socket.
|
|
61
|
+
|
|
62
|
+
- `WebSocketServerTransport` accepts `authToken`. When set, every upgrade must
|
|
63
|
+
present the matching token via the `skaile-bearer.<base64url>` subprotocol or
|
|
64
|
+
the handshake is rejected with HTTP 401 (before any command handler runs).
|
|
65
|
+
When unset, behaviour is unchanged (back-compatible).
|
|
66
|
+
- `WebSocketClientTransport` accepts `auth`; sends it as the WS subprotocol
|
|
67
|
+
(the one handshake field a browser client can populate).
|
|
68
|
+
- `startAgentServer` threads `opts.authToken ?? SKAILE_WS_AUTH_TOKEN` into the
|
|
69
|
+
default server, so `skaile serve` enforces the token from the environment.
|
|
70
|
+
- New `@skaile/workspaces/transport` exports: `encodeBearerSubprotocol`,
|
|
71
|
+
`decodeBearerFromHeader`, `tokensEqual`, `BEARER_SUBPROTOCOL_PREFIX`.
|
|
72
|
+
- Robustness fix: `WebSocketClientTransport.connect()` now rejects when the
|
|
73
|
+
socket closes or errors before opening (a rejected auth upgrade, or a refused
|
|
74
|
+
port) instead of hanging until the connect timeout.
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- [#68](https://github.com/skaile-ai/workspaces/pull/68) [`4073406`](https://github.com/skaile-ai/workspaces/commit/407340687ce038c9ae8a71cc8b80e237545a4db9) Thanks [@Frozen666](https://github.com/Frozen666)! - fix(base-assets/git): recurse into submodules on clone and pull. Git mounts cloned without `--recurse-submodules` and never ran `submodule update`, leaving submodule directories empty or stale on upstream pointer bumps. A `syncSubmodules()` helper now runs after every ref-changing operation (clone, bootstrap, session-branch checkout, sync pull, merge-on-close, periodic auto-pull/rebase); it no-ops when `.gitmodules` is absent and swallows submodule failures so a broken submodule remote can't abort the parent mount.
|
|
79
|
+
|
|
80
|
+
- [`cd3bee2`](https://github.com/skaile-ai/workspaces/commit/cd3bee27bd6e182b4d8f8d08f1816820edd2b0a7) Thanks [@mortegro](https://github.com/mortegro)! - Auto-clone url-backed source caches on miss. `ensureRepo` now clones a remote
|
|
81
|
+
source into its managed `~/.skaile/sources/<slug>` cache dir when the clone is
|
|
82
|
+
absent, instead of throwing `Local repository path not found` — so `skaile
|
|
83
|
+
install` works without a pre-populated clone. The source pin is no longer
|
|
84
|
+
mis-encoded as a clone `--branch` (tag/SHA pins now reach `checkoutPin`), and a
|
|
85
|
+
clone/auth failure surfaces as `missing: ["source:<slug> (<reason>)"]` rather
|
|
86
|
+
than a bare slug.
|
|
87
|
+
|
|
88
|
+
## 0.22.0-beta.1
|
|
89
|
+
|
|
90
|
+
### Minor Changes
|
|
91
|
+
|
|
92
|
+
- [`ce3f33f`](https://github.com/skaile-ai/workspaces/commit/ce3f33f5b85f81d1c80689a99a8e63cf0c2afc07) Thanks [@mortegro](https://github.com/mortegro)! - Fix deploy-handle readiness timeout + dedupe deploy-target helpers.
|
|
93
|
+
|
|
94
|
+
- **Fix:** `DeployHandle.waitReady(timeoutMs)` silently ignored its `timeoutMs`
|
|
95
|
+
argument in the fly / k8s / vercel-sandbox targets, always using a hard-coded
|
|
96
|
+
internal deadline. The caller's timeout is now honored.
|
|
97
|
+
- **Fix (`@skaile/provider-fly`):** `deleteMachine` swallowed _all_ errors while
|
|
98
|
+
only intending to ignore a 404, so `stop()` could falsely report success on a
|
|
99
|
+
still-running (still-billing) machine. Non-404 errors now propagate.
|
|
100
|
+
- **Added (`@skaile/workspaces/plugin-registry`):** shared deploy helpers —
|
|
101
|
+
`buildStrategySchema` / `BuildStrategy`, abort-aware `sleep`, generic
|
|
102
|
+
`pollUntil`, and the `makeDeployHandle` factory — replacing the per-provider
|
|
103
|
+
copies of the sleep loop, handle wrapper, and build-strategy enum.
|
|
104
|
+
|
|
105
|
+
- [#65](https://github.com/skaile-ai/workspaces/pull/65) [`2af2e52`](https://github.com/skaile-ai/workspaces/commit/2af2e525588648e45a14fb8acdfde72f1ebb57e8) Thanks [@mortegro](https://github.com/mortegro)! - Add `listDeployTargets()` / `getDeployTarget()` to
|
|
106
|
+
`@skaile/workspaces/plugin-registry`, the symmetric counterparts to
|
|
107
|
+
`listDrivers()` / `listConnectors()` so UIs can enumerate all three plugin kinds
|
|
108
|
+
uniformly. Both default to the process-wide `pluginRegistry`;
|
|
109
|
+
`listDeployTargets()` returns lightweight `{ id, displayName }` rows and
|
|
110
|
+
`getDeployTarget(id)` returns the full target without the override/yaml/default
|
|
111
|
+
precedence `resolveDeployTarget` applies.
|
|
112
|
+
|
|
113
|
+
Docs (`docs/deploy/`): documented the container-target image lifecycle — that
|
|
114
|
+
`buildStrategy: "local"` is bring-your-own-image (`create()` never builds), how
|
|
115
|
+
`pullPolicy` interacts with a locally-built vs. registry-published image, that
|
|
116
|
+
`workspace.container.{packages,agent_clis,stack,nix}` are image-build inputs
|
|
117
|
+
distinct from the deploy `config.image` (with skaile-platform's
|
|
118
|
+
`skaile-vm-agent:thin` / Nix-stack model as the reference), and that the
|
|
119
|
+
in-process runtime is deliberately out of scope for the deploy abstraction
|
|
120
|
+
(no `wsUrl`).
|
|
121
|
+
|
|
122
|
+
- [#67](https://github.com/skaile-ai/workspaces/pull/67) [`c67a381`](https://github.com/skaile-ai/workspaces/commit/c67a381f1029bec547531e238d235636eef16740) Thanks [@mortegro](https://github.com/mortegro)! - Canonical-identity manifest architecture (BREAKING).
|
|
123
|
+
|
|
124
|
+
Schema:
|
|
125
|
+
|
|
126
|
+
- `skaile.yaml` top-level keys `repositories:` and `ai_resources:` are removed
|
|
127
|
+
and now throw a parse error pointing at `docs/concepts/manifest-schema.md` and
|
|
128
|
+
the `migrate-skaile-manifest` skill.
|
|
129
|
+
- New publication half: `publisher`, `version`, `assets[]`.
|
|
130
|
+
- New consumption half: collapsed `sources:[{url, pin?}]` (no `name`),
|
|
131
|
+
`stores:[{url}]`, `dependencies:[<kind>:<name>@<publisher>[#pin]]`,
|
|
132
|
+
`overrides:[{ref, source, reason}]` with required `reason:`.
|
|
133
|
+
|
|
134
|
+
Dep ref grammar:
|
|
135
|
+
|
|
136
|
+
- Canonical form `kind:name@<publisher>[#pin]`. `publisher` is required and
|
|
137
|
+
GitHub-shaped. Pins accept SemVer constraints (^, ~, x), exact SemVer, a
|
|
138
|
+
40-char SHA, or absent. Floating refs (main/latest/HEAD) throw.
|
|
139
|
+
|
|
140
|
+
Resolution:
|
|
141
|
+
|
|
142
|
+
- The resolver collects candidates from every source clone (via the new
|
|
143
|
+
provenance-index walker) and optionally every store. Divergent sha256 at the
|
|
144
|
+
same (publisher, kind, name, version) is a hard error
|
|
145
|
+
(`CanonicalRefConflictError`) with a dep-chain walk. `overrides[]` pin a
|
|
146
|
+
chosen source and flag `override_applied: true` on the lock entry. A cheap
|
|
147
|
+
`catalog.getCanonicalDigest` probe cross-checks source vs store at the same
|
|
148
|
+
version. `resolveAll` is now async.
|
|
149
|
+
|
|
150
|
+
Lock file:
|
|
151
|
+
|
|
152
|
+
- Schema v2. Keys are canonical refs `<publisher>/<kind>:<name>@<version>`;
|
|
153
|
+
values carry `sha256`, `source.{url, commit}`, `files[]`, `override_applied`.
|
|
154
|
+
Top-level `sources:` records every contributing URL+commit. Old v1 lockfiles
|
|
155
|
+
must be deleted and regenerated; the reader emits a clear error.
|
|
156
|
+
|
|
157
|
+
Types:
|
|
158
|
+
|
|
159
|
+
- `AssetRef.repository` → `AssetRef.publisher` (and `CatalogEntry.publisher`).
|
|
160
|
+
- `RepositoryDeclaration` → `SourceDeclaration`.
|
|
161
|
+
- `LockEntry` reshaped; new `LockSourceEntry`, `LockFileEntry`,
|
|
162
|
+
`StoreEntry`, `AssetEntry`, `OverrideEntry`.
|
|
163
|
+
- `RemoteCatalogSource.getCanonicalDigest(ref)` added.
|
|
164
|
+
|
|
165
|
+
Migration:
|
|
166
|
+
|
|
167
|
+
- No `skaile manifest migrate` CLI command. The transform is performed by the
|
|
168
|
+
`migrate-skaile-manifest` skill (lives in `ai-assets`).
|
|
169
|
+
|
|
170
|
+
- [#53](https://github.com/skaile-ai/workspaces/pull/53) [`4e3c2b2`](https://github.com/skaile-ai/workspaces/commit/4e3c2b27ed6a004e7b9c3d60b0ae3754a8192eb5) Thanks [@peteralbert](https://github.com/peteralbert)! - Support the BYO-flake recipe form on `AssetRecipe`.
|
|
171
|
+
|
|
172
|
+
- `AssetRecipe` gains optional `flake` (the asset's own flake: `"."` or a flake URL) and
|
|
173
|
+
`publisher` fields; `attr` is now optional and defaults to `"default"` for the flake form
|
|
174
|
+
(the legacy `{ attr }` platform-flake form is unchanged and still requires `attr`).
|
|
175
|
+
- New `validateAssetRecipeFlake` validates the flake source shape (`"."`, `github:`,
|
|
176
|
+
`git+https://`, `git+ssh://`, `path:`; rejects bare paths, traversal, unknown schemes, and
|
|
177
|
+
shell metacharacters). Exported alongside `DEFAULT_RECIPE_ATTR`.
|
|
178
|
+
- `mcpDeclFromCatalogEntry` carries `flake`/`publisher` onto the decl; an invalid flake drops
|
|
179
|
+
the whole recipe (no silent fall back to a platform-flake attr).
|
|
180
|
+
- The runner resolves a flake-sourced recipe by `mcps.<id>` (the recipe id) rather than `attr`,
|
|
181
|
+
since BYO-flake recipes all build `#default` and `attr` is not a unique map key.
|
|
182
|
+
|
|
183
|
+
### Patch Changes
|
|
184
|
+
|
|
185
|
+
- [#60](https://github.com/skaile-ai/workspaces/pull/60) [`69f9924`](https://github.com/skaile-ai/workspaces/commit/69f99243cff137da1f835777e298e0779dec45e2) Thanks [@peteralbert](https://github.com/peteralbert)! - Emit sidecar `.d.ts` files next to each tsup `.js` output so consumers and
|
|
186
|
+
tools that look for a declaration file adjacent to the `.js` (classic node
|
|
187
|
+
resolution, some bundlers, IDE quick-lookups, ad-hoc `grep` audits) find one.
|
|
188
|
+
|
|
189
|
+
Previously, tsup emitted JS at `dist/<entry>.js` (e.g.
|
|
190
|
+
`dist/core/workspace-config.js`) while `tsc` emitted `.d.ts` at the
|
|
191
|
+
source-preserving path `dist/<src>/<entry>.d.ts` (e.g.
|
|
192
|
+
`dist/core/src/workspace-config.d.ts`). The package.json `exports` map
|
|
193
|
+
bridged these with separate `types` and `import` conditions — correct for
|
|
194
|
+
node16/nodenext/bundler resolvers, but invisible to anything looking
|
|
195
|
+
adjacent to the `.js`. A new post-build step (`build:dts-sidecars`) writes a
|
|
196
|
+
thin re-export shim at the tsup output path that points at the canonical
|
|
197
|
+
tsc-emitted declaration, eliminating the apparent stale-types mismatch
|
|
198
|
+
reported on `@skaile/workspaces/core/workspace-config`.
|
|
199
|
+
|
|
200
|
+
- [#66](https://github.com/skaile-ai/workspaces/pull/66) [`90a2c61`](https://github.com/skaile-ai/workspaces/commit/90a2c61564b4dd91ff54a96d3dcff213c35e465f) Thanks [@mortegro](https://github.com/mortegro)! - deploy(container): make `isRunning()` async so the docker/podman `inspect` round-trip stays off the event loop. Previously `health()`/`restore()` called a synchronous `portableSpawnSync` inspect, freezing log pumps and other connections on each status poll.
|
|
201
|
+
|
|
202
|
+
- [#64](https://github.com/skaile-ai/workspaces/pull/64) [`f1b14f3`](https://github.com/skaile-ai/workspaces/commit/f1b14f3f9bed870efe6f8c7de2819cfbeeb444a2) Thanks [@mortegro](https://github.com/mortegro)! - fix(sdk): InProcessTransport now tracks real readiness and never drops commands
|
|
203
|
+
|
|
204
|
+
`InProcessTransport.connected` previously returned a hard-coded `true`, so
|
|
205
|
+
`LocalRuntime.isRunning` reported `true` even before `start()`. It now reflects
|
|
206
|
+
whether a command handler is actually registered.
|
|
207
|
+
|
|
208
|
+
`inject()` also silently dropped commands sent before the runner wired its
|
|
209
|
+
`onCommand` handler (e.g. a `debug`/`prompt` issued during the ~50ms `start()`
|
|
210
|
+
window, or against a lazily-started runtime), which made debug queries hang
|
|
211
|
+
until their own timeout. Such commands are now buffered and flushed to the
|
|
212
|
+
first handler, so none are lost.
|
|
213
|
+
|
|
214
|
+
`LocalRuntime` gains `whenReady()`, a promise resolved once `startAgentServer`
|
|
215
|
+
returns, so consumers can await wiring before issuing reply-expecting commands.
|
|
216
|
+
|
|
217
|
+
- [#60](https://github.com/skaile-ai/workspaces/pull/60) [`69f9924`](https://github.com/skaile-ai/workspaces/commit/69f99243cff137da1f835777e298e0779dec45e2) Thanks [@peteralbert](https://github.com/peteralbert)! - Add `unregister(kind, id)` to `PluginRegistry` so tests can swap a built-in
|
|
218
|
+
target (e.g. the real `local` / `git` connector) for a fake within the
|
|
219
|
+
process-wide singleton. Production callers should rarely reach for it —
|
|
220
|
+
built-ins and loaded plugins register once at startup and live for the
|
|
221
|
+
process — but the hook is needed for test isolation across describe blocks
|
|
222
|
+
that share the registry.
|
|
223
|
+
|
|
3
224
|
## 0.22.0-beta.0
|
|
4
225
|
|
|
5
226
|
### Minor Changes
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import './chunk-
|
|
1
|
+
import './chunk-P4FYHEHW.js';
|
|
2
2
|
import './chunk-K5GBV4SA.js';
|
|
3
3
|
import './chunk-KLNL7QHN.js';
|
|
4
|
-
import './chunk-
|
|
5
|
-
import { scanRepo } from './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
4
|
+
import './chunk-74GTZ4TJ.js';
|
|
5
|
+
import { scanRepo } from './chunk-LDYPQVRU.js';
|
|
6
|
+
import './chunk-NQL3T75I.js';
|
|
7
|
+
import './chunk-VUCPJBAG.js';
|
|
8
8
|
import './chunk-JKNWJ64A.js';
|
|
9
9
|
import './chunk-O4JH3KUE.js';
|
|
10
10
|
import './chunk-24UIWON4.js';
|
|
@@ -16,15 +16,13 @@ async function libraryAssets() {
|
|
|
16
16
|
const notes = [];
|
|
17
17
|
try {
|
|
18
18
|
const [{ openLibraryManager }, { skaileHomeDir }] = await Promise.all([
|
|
19
|
-
import('./open-library-
|
|
19
|
+
import('./open-library-EEGG6RDN.js'),
|
|
20
20
|
import('./library/index.js')
|
|
21
21
|
]);
|
|
22
22
|
const { manager, close } = await openLibraryManager();
|
|
23
23
|
try {
|
|
24
24
|
const sourcesDir = path.join(skaileHomeDir(), "sources");
|
|
25
|
-
const libs = (await manager.listLibraries()).filter(
|
|
26
|
-
(l) => !l.path.startsWith(sourcesDir)
|
|
27
|
-
);
|
|
25
|
+
const libs = (await manager.listLibraries()).filter((l) => !l.path.startsWith(sourcesDir));
|
|
28
26
|
const entries = [];
|
|
29
27
|
for (const lib of libs) {
|
|
30
28
|
if (!existsSync(lib.path)) continue;
|
|
@@ -47,7 +45,7 @@ async function libraryAssets() {
|
|
|
47
45
|
async function storeAssets(projectDir) {
|
|
48
46
|
const notes = [];
|
|
49
47
|
try {
|
|
50
|
-
const { resolveCatalogSource } = await import('./open-library-
|
|
48
|
+
const { resolveCatalogSource } = await import('./open-library-EEGG6RDN.js');
|
|
51
49
|
const { source, close } = await resolveCatalogSource({ projectDir });
|
|
52
50
|
try {
|
|
53
51
|
const assets = await source.listAssets();
|
|
@@ -56,8 +54,9 @@ async function storeAssets(projectDir) {
|
|
|
56
54
|
kind: a.kind ?? "skill",
|
|
57
55
|
description: a.description ?? "",
|
|
58
56
|
source: `store://${a.id}`,
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
publisher: a.publisher,
|
|
58
|
+
repo: a.repo,
|
|
59
|
+
category: a.category,
|
|
61
60
|
version: a.version,
|
|
62
61
|
requires: [],
|
|
63
62
|
dependencies: []
|
|
@@ -86,5 +85,5 @@ async function gatherAssetFeeds(am, projectDir) {
|
|
|
86
85
|
}
|
|
87
86
|
|
|
88
87
|
export { gatherAssetFeeds, sourceAssets };
|
|
89
|
-
//# sourceMappingURL=asset-feeds-
|
|
90
|
-
//# sourceMappingURL=asset-feeds-
|
|
88
|
+
//# sourceMappingURL=asset-feeds-2M6UKEJ7.js.map
|
|
89
|
+
//# sourceMappingURL=asset-feeds-2M6UKEJ7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../cli/src/asset-feeds.ts"],"names":[],"mappings":"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","file":"asset-feeds-2M6UKEJ7.js","sourcesContent":["/**\n * asset-feeds.ts — gather installable assets from every feed the manage TUI\n * surfaces.\n *\n * Three feeds, normalized into `CatalogEntry`:\n * - **Project sources** — `skaile.yaml` `sources:` entries (scanned via\n * `AssetManager.search()`; the new `sources:` field is merged into the\n * legacy repositories map in `AssetManager.loadConfig`).\n * - **Local libraries** — user authoring places from `LocalIndex` (filesystem\n * scan of each library's `path`).\n * - **Remote store** — the configured catalog source when `catalog.url` is\n * not `local`. Failures are non-fatal — they surface as notes.\n */\n\nimport { existsSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport { type AssetKind, type CatalogEntry, scanRepo } from \"@skaile/workspaces/core\";\n\n/** One non-fatal note returned to the caller for surfacing in the UI. */\nexport interface FeedNote {\n feed: \"sources\" | \"libraries\" | \"store\";\n message: string;\n}\n\nexport interface AssetFeedResult {\n entries: CatalogEntry[];\n notes: FeedNote[];\n}\n\n/**\n * Pull assets from local libraries (the authoring places under\n * `~/.skaile/libraries/<name>/`, not the `~/.skaile/sources/` cache). Each\n * library's `path` is scanned with `scanRepo` and tagged with\n * `repository = \"library:<name>\"` so the manage TUI groups them into their\n * own headers.\n */\nasync function libraryAssets(): Promise<{ entries: CatalogEntry[]; notes: FeedNote[] }> {\n const notes: FeedNote[] = [];\n try {\n const [{ openLibraryManager }, { skaileHomeDir }] = await Promise.all([\n import(\"./open-library.ts\"),\n import(\"@skaile/workspaces/library\"),\n ]);\n const { manager, close } = await openLibraryManager();\n try {\n const sourcesDir = path.join(skaileHomeDir(), \"sources\");\n const libs = (await manager.listLibraries()).filter((l) => !l.path.startsWith(sourcesDir));\n const entries: CatalogEntry[] = [];\n for (const lib of libs) {\n if (!existsSync(lib.path)) continue;\n for (const e of scanRepo(lib.path, `library:${lib.name}`)) {\n entries.push(e);\n }\n }\n return { entries, notes };\n } finally {\n close();\n }\n } catch (err) {\n notes.push({\n feed: \"libraries\",\n message: err instanceof Error ? err.message : String(err),\n });\n return { entries: [], notes };\n }\n}\n\n/**\n * Pull a (best-effort) snapshot of the connected remote store catalog.\n *\n * - Returns no entries when the resolved catalog is local-only or the host\n * is unreachable (the failure becomes a note, not an exception).\n * - Maps `CatalogAsset` → `CatalogEntry`, carrying `publisher`, `repo`, and\n * `category` straight through and using `source = \"store://<id>\"`; per-file\n * `source` paths are not available for remote assets so the canonical ref is\n * a stable placeholder.\n */\nasync function storeAssets(projectDir: string): Promise<{\n entries: CatalogEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const { resolveCatalogSource } = await import(\"./open-library.ts\");\n const { source, close } = await resolveCatalogSource({ projectDir });\n try {\n const assets = await source.listAssets();\n const entries: CatalogEntry[] = assets.map((a) => ({\n name: a.name,\n kind: (a.kind as AssetKind) ?? \"skill\",\n description: a.description ?? \"\",\n source: `store://${a.id}`,\n publisher: a.publisher,\n repo: a.repo,\n category: a.category,\n version: a.version,\n requires: [],\n dependencies: [],\n }));\n return { entries, notes };\n } finally {\n close();\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n // Local-only catalog throws a recognizable message — silence it; absence\n // is the user's choice, not an error.\n if (!/local/i.test(msg)) {\n notes.push({ feed: \"store\", message: msg });\n }\n return { entries: [], notes };\n }\n}\n\n/**\n * Project-source feed: leans on `AssetManager.search()`, which now merges\n * `skaile.yaml`'s `sources:` field into the repositories map. Provided as a\n * function rather than an inline call so the caller can supply a fresh\n * `AssetManager` instance.\n */\nexport function sourceAssets(am: { search: () => CatalogEntry[] }): CatalogEntry[] {\n return am.search();\n}\n\n/**\n * Run all three feeds and return a single normalized result.\n *\n * Feeds run in parallel where possible — the store fetch is the slow one\n * (one HTTP call) and is fired alongside the local library walk.\n */\nexport async function gatherAssetFeeds(\n am: { search: () => CatalogEntry[] },\n projectDir: string,\n): Promise<AssetFeedResult> {\n const [libs, store] = await Promise.all([libraryAssets(), storeAssets(projectDir)]);\n return {\n entries: [...sourceAssets(am), ...libs.entries, ...store.entries],\n notes: [...libs.notes, ...store.notes],\n };\n}\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { AssetManager } from '../chunk-
|
|
2
|
-
export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { AssetManager } from '../chunk-TWQPDBHB.js';
|
|
2
|
+
export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-LDLZFYLR.js';
|
|
3
|
+
import '../chunk-P4FYHEHW.js';
|
|
4
4
|
import '../chunk-K5GBV4SA.js';
|
|
5
5
|
import '../chunk-KLNL7QHN.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-74GTZ4TJ.js';
|
|
7
|
+
import '../chunk-LDYPQVRU.js';
|
|
8
|
+
import '../chunk-NQL3T75I.js';
|
|
9
|
+
import '../chunk-VUCPJBAG.js';
|
|
10
10
|
import '../chunk-JKNWJ64A.js';
|
|
11
11
|
import '../chunk-O4JH3KUE.js';
|
|
12
12
|
import '../chunk-24UIWON4.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { createScaffold, deployAll, deployAsset, removeAsset } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { createScaffold, deployAll, deployAsset, removeAsset } from '../chunk-LDLZFYLR.js';
|
|
2
|
+
import '../chunk-P4FYHEHW.js';
|
|
3
3
|
import '../chunk-K5GBV4SA.js';
|
|
4
4
|
import '../chunk-KLNL7QHN.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-74GTZ4TJ.js';
|
|
6
|
+
import '../chunk-LDYPQVRU.js';
|
|
7
|
+
import '../chunk-NQL3T75I.js';
|
|
8
|
+
import '../chunk-VUCPJBAG.js';
|
|
9
9
|
import '../chunk-JKNWJ64A.js';
|
|
10
10
|
import '../chunk-O4JH3KUE.js';
|
|
11
11
|
import '../chunk-24UIWON4.js';
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* const am = new AssetManager({ projectDir: "/path/to/project" })
|
|
10
10
|
* await am.install()
|
|
11
11
|
*/
|
|
12
|
-
import type {
|
|
12
|
+
import type { CatalogEntry, LockFile } from "@skaile/workspaces/core";
|
|
13
13
|
import type { DriverTarget } from "@skaile/workspaces/core";
|
|
14
14
|
import type { HistoryEntry } from "./history.js";
|
|
15
15
|
export type { DeployOptions } from "./installer.js";
|
|
@@ -68,8 +68,6 @@ export interface InstallResult {
|
|
|
68
68
|
missing: string[];
|
|
69
69
|
/** Whether `skaile.lock.yaml` was written or updated. */
|
|
70
70
|
lockWritten: boolean;
|
|
71
|
-
/** Assets that exist in multiple repos — the resolved entry shadows others. */
|
|
72
|
-
collisions: AssetCollision[];
|
|
73
71
|
/**
|
|
74
72
|
* npm packages installed as a side effect of resolving runtime asset peer
|
|
75
73
|
* deps (connectors / mounts declared in skaile.yaml). Empty when nothing
|
|
@@ -93,7 +91,7 @@ export interface OutdatedEntry {
|
|
|
93
91
|
/** Asset name as registered in the catalog. */
|
|
94
92
|
name: string;
|
|
95
93
|
/** Repository that provides this asset. */
|
|
96
|
-
|
|
94
|
+
publisher: string;
|
|
97
95
|
/** Version string recorded in the lock file at install time. */
|
|
98
96
|
currentVersion: string;
|
|
99
97
|
/** Number of commits the local repository is behind the remote. */
|
|
@@ -140,7 +138,7 @@ export interface OverviewEntry {
|
|
|
140
138
|
/** Domain the asset belongs to (from the lock file; `"unknown"` when unresolvable). */
|
|
141
139
|
domain: string;
|
|
142
140
|
/** Repository that provides this asset. */
|
|
143
|
-
|
|
141
|
+
publisher: string;
|
|
144
142
|
/** Version string from the lock file. */
|
|
145
143
|
version: string;
|
|
146
144
|
/**
|
|
@@ -226,6 +224,15 @@ export declare class AssetManager {
|
|
|
226
224
|
private get patchDir();
|
|
227
225
|
private get deployOpts();
|
|
228
226
|
private loadConfig;
|
|
227
|
+
/** Build provenance-index clones from the resolved source declarations. */
|
|
228
|
+
private buildClones;
|
|
229
|
+
/**
|
|
230
|
+
* Bridge a resolved {@link ProvenanceCandidate} to a {@link CatalogEntry} for
|
|
231
|
+
* the deploy pipeline. `source` is the absolute path to the asset's primary
|
|
232
|
+
* manifest (or its directory) inside the clone; `publisher` is set to the
|
|
233
|
+
* clone slug so `deployAll`'s repositories lookup resolves local-vs-remote.
|
|
234
|
+
*/
|
|
235
|
+
private candidateToCatalogEntry;
|
|
229
236
|
/**
|
|
230
237
|
* Install all dependencies declared in `skaile.yaml`.
|
|
231
238
|
*
|
|
@@ -240,6 +247,10 @@ export declare class AssetManager {
|
|
|
240
247
|
install(opts?: {
|
|
241
248
|
locked?: boolean;
|
|
242
249
|
}): Promise<InstallResult>;
|
|
250
|
+
/** Read the lock, returning null on a legacy v1 lock instead of throwing. */
|
|
251
|
+
private tryReadLock;
|
|
252
|
+
/** Build a store fetcher from the configured stores, or undefined when none. */
|
|
253
|
+
private buildStoreFetcher;
|
|
243
254
|
/**
|
|
244
255
|
* Resolve runtime assets and install any missing npm peer deps.
|
|
245
256
|
*
|
|
@@ -261,7 +272,7 @@ export declare class AssetManager {
|
|
|
261
272
|
* @returns Array of asset refs that were deployed in this call.
|
|
262
273
|
* @throws When the asset cannot be found in any configured repository.
|
|
263
274
|
*/
|
|
264
|
-
add(ref: string): string[]
|
|
275
|
+
add(ref: string): Promise<string[]>;
|
|
265
276
|
/**
|
|
266
277
|
* Remove a deployed asset and unregister it from `skaile.yaml`.
|
|
267
278
|
*
|
|
@@ -349,7 +360,7 @@ export declare class AssetManager {
|
|
|
349
360
|
*
|
|
350
361
|
* @returns The written {@link LockFile} data.
|
|
351
362
|
*/
|
|
352
|
-
lock(): LockFile
|
|
363
|
+
lock(): Promise<LockFile>;
|
|
353
364
|
/**
|
|
354
365
|
* Extract a deployed asset into a patch working directory for editing.
|
|
355
366
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH,OAAO,KAAK,EAEV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Asset deployment — symlink (local repos) or copy (remote repos) to framework dirs.
|
|
3
3
|
*/
|
|
4
4
|
import type { CatalogEntry } from "@skaile/workspaces/core";
|
|
5
|
-
import type { DriverTarget,
|
|
5
|
+
import type { DriverTarget, SourceDeclaration } from "@skaile/workspaces/core";
|
|
6
6
|
import type { Log } from "./renderers.js";
|
|
7
7
|
export type { Log } from "./renderers.js";
|
|
8
8
|
/**
|
|
@@ -34,7 +34,7 @@ export interface DeployOptions {
|
|
|
34
34
|
* @returns `true` when the asset was deployed successfully.
|
|
35
35
|
* @docLink packages/asset-manager/api-reference#installer
|
|
36
36
|
*/
|
|
37
|
-
export declare function deployAsset(entry: CatalogEntry, repositories: Record<string,
|
|
37
|
+
export declare function deployAsset(entry: CatalogEntry, repositories: Record<string, SourceDeclaration>, opts?: DeployOptions, log?: Log): boolean;
|
|
38
38
|
/**
|
|
39
39
|
* Deploy all resolved assets, applying patches where configured.
|
|
40
40
|
*
|
|
@@ -51,7 +51,7 @@ export declare function deployAsset(entry: CatalogEntry, repositories: Record<st
|
|
|
51
51
|
* @returns Array of asset refs (`kind:name`) that were newly deployed in this call.
|
|
52
52
|
* @docLink packages/asset-manager/api-reference#installer
|
|
53
53
|
*/
|
|
54
|
-
export declare function deployAll(resolved: CatalogEntry[], repositories: Record<string,
|
|
54
|
+
export declare function deployAll(resolved: CatalogEntry[], repositories: Record<string, SourceDeclaration>, patches: Record<string, string>, opts?: DeployOptions, log?: Log): string[];
|
|
55
55
|
/**
|
|
56
56
|
* Remove a deployed asset from the framework directory.
|
|
57
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/installer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASzE,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/installer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASzE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAG1C,YAAY,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AA6C1C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,+GAA+G;IAC/G,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,IAAI,GAAE,aAAkB,EACxB,GAAG,GAAE,GAAU,GACd,OAAO,CAwDT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,YAAY,EAAE,EACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,GAAE,aAAkB,EACxB,GAAG,GAAE,GAAU,GACd,MAAM,EAAE,CAwEV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAczF;AAkCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuB/B"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
export { DeployConnector, createConnector19 as createConnector } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { DeployConnector, createConnector19 as createConnector } from '../../chunk-6SA2SIOU.js';
|
|
2
|
+
import '../../chunk-M5JDVO6D.js';
|
|
3
3
|
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-QAVZOJCV.js';
|
|
5
|
-
import '../../chunk-
|
|
5
|
+
import '../../chunk-6E6PKKAD.js';
|
|
6
6
|
import '../../chunk-ICS76R4T.js';
|
|
7
7
|
import '../../chunk-GZWJGNNN.js';
|
|
8
8
|
import '../../chunk-FVTV7M76.js';
|
|
9
|
-
import '../../chunk-
|
|
9
|
+
import '../../chunk-P4FYHEHW.js';
|
|
10
10
|
import '../../chunk-K5GBV4SA.js';
|
|
11
11
|
import '../../chunk-KLNL7QHN.js';
|
|
12
|
-
import '../../chunk-
|
|
13
|
-
import '../../chunk-
|
|
14
|
-
import '../../chunk-
|
|
15
|
-
import '../../chunk-
|
|
12
|
+
import '../../chunk-74GTZ4TJ.js';
|
|
13
|
+
import '../../chunk-LDYPQVRU.js';
|
|
14
|
+
import '../../chunk-NQL3T75I.js';
|
|
15
|
+
import '../../chunk-VUCPJBAG.js';
|
|
16
16
|
import '../../chunk-JKNWJ64A.js';
|
|
17
17
|
import '../../chunk-O4JH3KUE.js';
|
|
18
18
|
import '../../chunk-24UIWON4.js';
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
export { DevServerConnector, createConnector16 as createConnector } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { DevServerConnector, createConnector16 as createConnector } from '../../chunk-6SA2SIOU.js';
|
|
2
|
+
import '../../chunk-M5JDVO6D.js';
|
|
3
3
|
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-QAVZOJCV.js';
|
|
5
|
-
import '../../chunk-
|
|
5
|
+
import '../../chunk-6E6PKKAD.js';
|
|
6
6
|
import '../../chunk-ICS76R4T.js';
|
|
7
7
|
import '../../chunk-GZWJGNNN.js';
|
|
8
8
|
import '../../chunk-FVTV7M76.js';
|
|
9
|
-
import '../../chunk-
|
|
9
|
+
import '../../chunk-P4FYHEHW.js';
|
|
10
10
|
import '../../chunk-K5GBV4SA.js';
|
|
11
11
|
import '../../chunk-KLNL7QHN.js';
|
|
12
|
-
import '../../chunk-
|
|
13
|
-
import '../../chunk-
|
|
14
|
-
import '../../chunk-
|
|
15
|
-
import '../../chunk-
|
|
12
|
+
import '../../chunk-74GTZ4TJ.js';
|
|
13
|
+
import '../../chunk-LDYPQVRU.js';
|
|
14
|
+
import '../../chunk-NQL3T75I.js';
|
|
15
|
+
import '../../chunk-VUCPJBAG.js';
|
|
16
16
|
import '../../chunk-JKNWJ64A.js';
|
|
17
17
|
import '../../chunk-O4JH3KUE.js';
|
|
18
18
|
import '../../chunk-24UIWON4.js';
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
export { FlowAdapter, createConnector } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
1
|
+
export { FlowAdapter, createConnector } from '../../../chunk-6SA2SIOU.js';
|
|
2
|
+
import '../../../chunk-M5JDVO6D.js';
|
|
3
3
|
import '../../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../../chunk-QAVZOJCV.js';
|
|
5
|
-
import '../../../chunk-
|
|
5
|
+
import '../../../chunk-6E6PKKAD.js';
|
|
6
6
|
export { isBlocking } from '../../../chunk-ICS76R4T.js';
|
|
7
7
|
import '../../../chunk-GZWJGNNN.js';
|
|
8
8
|
import '../../../chunk-FVTV7M76.js';
|
|
9
|
-
import '../../../chunk-
|
|
9
|
+
import '../../../chunk-P4FYHEHW.js';
|
|
10
10
|
import '../../../chunk-K5GBV4SA.js';
|
|
11
11
|
import '../../../chunk-KLNL7QHN.js';
|
|
12
|
-
import '../../../chunk-
|
|
13
|
-
import '../../../chunk-
|
|
14
|
-
import '../../../chunk-
|
|
15
|
-
import '../../../chunk-
|
|
12
|
+
import '../../../chunk-74GTZ4TJ.js';
|
|
13
|
+
import '../../../chunk-LDYPQVRU.js';
|
|
14
|
+
import '../../../chunk-NQL3T75I.js';
|
|
15
|
+
import '../../../chunk-VUCPJBAG.js';
|
|
16
16
|
import '../../../chunk-JKNWJ64A.js';
|
|
17
17
|
import '../../../chunk-O4JH3KUE.js';
|
|
18
18
|
import '../../../chunk-24UIWON4.js';
|