@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.
Files changed (306) hide show
  1. package/CHANGELOG.md +221 -0
  2. package/dist/{asset-feeds-PJDJ3QYI.js → asset-feeds-2M6UKEJ7.js} +13 -14
  3. package/dist/asset-feeds-2M6UKEJ7.js.map +1 -0
  4. package/dist/asset-manager/catalog-deployer.d.ts +2 -0
  5. package/dist/asset-manager/contrib.d.ts +2 -0
  6. package/dist/asset-manager/fragments.d.ts +2 -0
  7. package/dist/asset-manager/history.d.ts +2 -0
  8. package/dist/asset-manager/index.d.ts +2 -0
  9. package/dist/asset-manager/index.js +7 -7
  10. package/dist/asset-manager/installer.d.ts +2 -0
  11. package/dist/asset-manager/installer.js +6 -6
  12. package/dist/asset-manager/renderers.d.ts +2 -0
  13. package/dist/asset-manager/src/index.d.ts +18 -7
  14. package/dist/asset-manager/src/index.d.ts.map +1 -1
  15. package/dist/asset-manager/src/installer.d.ts +3 -3
  16. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  17. package/dist/base-assets/connectors/deploy.d.ts +2 -0
  18. package/dist/base-assets/connectors/deploy.js +8 -8
  19. package/dist/base-assets/connectors/devserver.d.ts +2 -0
  20. package/dist/base-assets/connectors/devserver.js +8 -8
  21. package/dist/base-assets/connectors/flow/adapter.js +8 -8
  22. package/dist/base-assets/connectors/flow/engine.d.ts +2 -0
  23. package/dist/base-assets/connectors/flow/run-flow.js +9 -9
  24. package/dist/base-assets/connectors/flow.d.ts +2 -0
  25. package/dist/base-assets/connectors/flow.js +8 -8
  26. package/dist/base-assets/connectors/git/driver.d.ts.map +1 -1
  27. package/dist/base-assets/connectors/git.d.ts +2 -0
  28. package/dist/base-assets/connectors/git.js +8 -8
  29. package/dist/base-assets/connectors/gmail.d.ts +2 -0
  30. package/dist/base-assets/connectors/gmail.js +8 -8
  31. package/dist/base-assets/connectors/googledrive.d.ts +2 -0
  32. package/dist/base-assets/connectors/googledrive.js +8 -8
  33. package/dist/base-assets/connectors/local.d.ts +2 -0
  34. package/dist/base-assets/connectors/local.js +8 -8
  35. package/dist/base-assets/connectors/mattermost.d.ts +2 -0
  36. package/dist/base-assets/connectors/mattermost.js +8 -8
  37. package/dist/base-assets/connectors/memory.d.ts +2 -0
  38. package/dist/base-assets/connectors/memory.js +8 -8
  39. package/dist/base-assets/connectors/minio.d.ts +2 -0
  40. package/dist/base-assets/connectors/minio.js +8 -8
  41. package/dist/base-assets/connectors/postgres.d.ts +2 -0
  42. package/dist/base-assets/connectors/postgres.js +8 -8
  43. package/dist/base-assets/connectors/s3.d.ts +2 -0
  44. package/dist/base-assets/connectors/s3.js +8 -8
  45. package/dist/base-assets/connectors/sharepoint.d.ts +2 -0
  46. package/dist/base-assets/connectors/sharepoint.js +8 -8
  47. package/dist/base-assets/connectors/sqlite.d.ts +2 -0
  48. package/dist/base-assets/connectors/sqlite.js +8 -8
  49. package/dist/base-assets/connectors/static-server.d.ts +2 -0
  50. package/dist/base-assets/connectors/static-server.js +8 -8
  51. package/dist/base-assets/connectors/tunnel.d.ts +2 -0
  52. package/dist/base-assets/connectors/tunnel.js +8 -8
  53. package/dist/base-assets/connectors/webdav.d.ts +2 -0
  54. package/dist/base-assets/connectors/webdav.js +8 -8
  55. package/dist/base-assets/connectors/xstate-store.d.ts +2 -0
  56. package/dist/base-assets/connectors/xstate-store.js +8 -8
  57. package/dist/base-assets/connectors/xstate.d.ts +2 -0
  58. package/dist/base-assets/connectors/xstate.js +8 -8
  59. package/dist/bridge/drivers/claude-sdk.d.ts +2 -0
  60. package/dist/bridge/drivers/claude-sdk.js +2 -2
  61. package/dist/bridge/drivers/codex.d.ts +2 -0
  62. package/dist/bridge/drivers/codex.js +2 -2
  63. package/dist/bridge/drivers/echo.d.ts +2 -0
  64. package/dist/bridge/drivers/echo.js +2 -2
  65. package/dist/bridge/drivers/omp.d.ts +2 -0
  66. package/dist/bridge/drivers/omp.js +2 -2
  67. package/dist/bridge/index.d.ts +2 -0
  68. package/dist/bridge/index.js +3 -3
  69. package/dist/bridge/src/registry.d.ts +4 -2
  70. package/dist/bridge/src/registry.d.ts.map +1 -1
  71. package/dist/chunk-32NA4TVC.js +30 -0
  72. package/dist/chunk-32NA4TVC.js.map +1 -0
  73. package/dist/{chunk-CSDQBWE6.js → chunk-3KLWGHDE.js} +5 -5
  74. package/dist/{chunk-CSDQBWE6.js.map → chunk-3KLWGHDE.js.map} +1 -1
  75. package/dist/{chunk-UZRY5UI2.js → chunk-6E6PKKAD.js} +68 -3
  76. package/dist/chunk-6E6PKKAD.js.map +1 -0
  77. package/dist/{chunk-G6GKWGOW.js → chunk-6SA2SIOU.js} +26 -10
  78. package/dist/chunk-6SA2SIOU.js.map +1 -0
  79. package/dist/{chunk-IGQEXBBG.js → chunk-6VTG73UY.js} +13 -9
  80. package/dist/chunk-6VTG73UY.js.map +1 -0
  81. package/dist/{chunk-TTY56FQQ.js → chunk-74GTZ4TJ.js} +17 -5
  82. package/dist/chunk-74GTZ4TJ.js.map +1 -0
  83. package/dist/chunk-7QBNJTTQ.js +3 -0
  84. package/dist/{chunk-W2O5LWYU.js.map → chunk-7QBNJTTQ.js.map} +1 -1
  85. package/dist/{chunk-SL6JVGRD.js → chunk-CEUHU3C4.js} +3 -3
  86. package/dist/{chunk-SL6JVGRD.js.map → chunk-CEUHU3C4.js.map} +1 -1
  87. package/dist/{chunk-J2FCO6TM.js → chunk-FIHVQFXB.js} +2 -2
  88. package/dist/{chunk-J2FCO6TM.js.map → chunk-FIHVQFXB.js.map} +1 -1
  89. package/dist/{chunk-F3MGZ5E6.js → chunk-FVZLCBSX.js} +3 -3
  90. package/dist/{chunk-F3MGZ5E6.js.map → chunk-FVZLCBSX.js.map} +1 -1
  91. package/dist/{chunk-7PTP3SQJ.js → chunk-GTS2FODO.js} +32 -7
  92. package/dist/chunk-GTS2FODO.js.map +1 -0
  93. package/dist/{chunk-KA46DUM4.js → chunk-I5SGBFMM.js} +51 -3
  94. package/dist/chunk-I5SGBFMM.js.map +1 -0
  95. package/dist/{chunk-MO4JPTRD.js → chunk-LDLZFYLR.js} +5 -5
  96. package/dist/{chunk-MO4JPTRD.js.map → chunk-LDLZFYLR.js.map} +1 -1
  97. package/dist/{chunk-TKOLD2O7.js → chunk-LDYPQVRU.js} +516 -145
  98. package/dist/chunk-LDYPQVRU.js.map +1 -0
  99. package/dist/{chunk-GKM6MDUC.js → chunk-M5JDVO6D.js} +3 -3
  100. package/dist/{chunk-GKM6MDUC.js.map → chunk-M5JDVO6D.js.map} +1 -1
  101. package/dist/{chunk-XHFMUGDD.js → chunk-M5TE6YI5.js} +3 -3
  102. package/dist/{chunk-XHFMUGDD.js.map → chunk-M5TE6YI5.js.map} +1 -1
  103. package/dist/{chunk-NGC7ZQI4.js → chunk-NICAMYPV.js} +39 -45
  104. package/dist/chunk-NICAMYPV.js.map +1 -0
  105. package/dist/{chunk-WIR34WMU.js → chunk-NQL3T75I.js} +24 -59
  106. package/dist/chunk-NQL3T75I.js.map +1 -0
  107. package/dist/{chunk-RENHNO4J.js → chunk-P4FYHEHW.js} +206 -137
  108. package/dist/chunk-P4FYHEHW.js.map +1 -0
  109. package/dist/{chunk-2DNSSQ22.js → chunk-TWQPDBHB.js} +270 -173
  110. package/dist/chunk-TWQPDBHB.js.map +1 -0
  111. package/dist/{chunk-UZVHJ7LX.js → chunk-UBLTUFFI.js} +4 -4
  112. package/dist/{chunk-UZVHJ7LX.js.map → chunk-UBLTUFFI.js.map} +1 -1
  113. package/dist/{chunk-X5Y4EGZB.js → chunk-VUCPJBAG.js} +43 -10
  114. package/dist/chunk-VUCPJBAG.js.map +1 -0
  115. package/dist/{chunk-PBWMV5GM.js → chunk-WQ7DE5UC.js} +18 -4
  116. package/dist/chunk-WQ7DE5UC.js.map +1 -0
  117. package/dist/cli/index.d.ts +2 -0
  118. package/dist/cli/index.js +258 -262
  119. package/dist/cli/index.js.map +1 -1
  120. package/dist/cli/src/commands/deploy.d.ts.map +1 -1
  121. package/dist/cli/src/commands/manage.d.ts +22 -31
  122. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  123. package/dist/cli/src/commands/npx.d.ts +5 -3
  124. package/dist/cli/src/commands/npx.d.ts.map +1 -1
  125. package/dist/cli/src/commands/project.d.ts.map +1 -1
  126. package/dist/cli/src/commands/source.d.ts +7 -0
  127. package/dist/cli/src/commands/source.d.ts.map +1 -1
  128. package/dist/cli/src/commands/update.d.ts.map +1 -1
  129. package/dist/cli/src/ensure-sources.d.ts.map +1 -1
  130. package/dist/client/index.d.ts +2 -0
  131. package/dist/connectors/config.d.ts +2 -0
  132. package/dist/connectors/config.js +6 -6
  133. package/dist/connectors/index.d.ts +2 -0
  134. package/dist/connectors/index.js +8 -8
  135. package/dist/connectors/rclone-config.d.ts +2 -0
  136. package/dist/connectors/rclone.d.ts +2 -0
  137. package/dist/connectors-shared/index.d.ts +2 -0
  138. package/dist/core/discovery.d.ts +2 -0
  139. package/dist/core/driver-targets.d.ts +2 -0
  140. package/dist/core/framework.d.ts +2 -0
  141. package/dist/core/index.d.ts +2 -0
  142. package/dist/core/index.js +5 -5
  143. package/dist/core/logging.d.ts +2 -0
  144. package/dist/core/manifest.d.ts +2 -0
  145. package/dist/core/manifest.js +2 -2
  146. package/dist/core/models.d.ts +2 -0
  147. package/dist/core/models.js +1 -1
  148. package/dist/core/runtime-assets.d.ts +2 -0
  149. package/dist/core/runtime-assets.js +4 -4
  150. package/dist/core/src/index.d.ts +7 -5
  151. package/dist/core/src/index.d.ts.map +1 -1
  152. package/dist/core/src/lock.d.ts +47 -26
  153. package/dist/core/src/lock.d.ts.map +1 -1
  154. package/dist/core/src/manifest.d.ts.map +1 -1
  155. package/dist/core/src/models.d.ts +61 -49
  156. package/dist/core/src/models.d.ts.map +1 -1
  157. package/dist/core/src/repo-manager.d.ts +79 -36
  158. package/dist/core/src/repo-manager.d.ts.map +1 -1
  159. package/dist/core/src/runtime-assets.d.ts.map +1 -1
  160. package/dist/core/src/walker.d.ts +52 -0
  161. package/dist/core/src/walker.d.ts.map +1 -0
  162. package/dist/core/src/workspace-config.d.ts +160 -45
  163. package/dist/core/src/workspace-config.d.ts.map +1 -1
  164. package/dist/core/src/workspace-yaml-editor.d.ts +33 -16
  165. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  166. package/dist/core/store.d.ts +2 -0
  167. package/dist/core/workspace-config.d.ts +2 -0
  168. package/dist/core/workspace-config.js +3 -3
  169. package/dist/deploy/index.d.ts +2 -0
  170. package/dist/deploy/index.js +167 -52
  171. package/dist/deploy/index.js.map +1 -1
  172. package/dist/deploy/src/index.d.ts +4 -3
  173. package/dist/deploy/src/index.d.ts.map +1 -1
  174. package/dist/deploy/src/targets/container-runtime.d.ts +1 -0
  175. package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
  176. package/dist/deploy/src/targets/docker.d.ts +1 -0
  177. package/dist/deploy/src/targets/docker.d.ts.map +1 -1
  178. package/dist/deploy/src/targets/local.d.ts.map +1 -1
  179. package/dist/deploy/src/targets/nix.d.ts +36 -0
  180. package/dist/deploy/src/targets/nix.d.ts.map +1 -0
  181. package/dist/deploy/src/targets/podman.d.ts +1 -0
  182. package/dist/deploy/src/targets/podman.d.ts.map +1 -1
  183. package/dist/deploy/src/targets/process-handle.d.ts +34 -0
  184. package/dist/deploy/src/targets/process-handle.d.ts.map +1 -0
  185. package/dist/discovery/index.d.ts +2 -0
  186. package/dist/discovery/index.js +3 -3
  187. package/dist/discovery/src/source-config.d.ts +2 -2
  188. package/dist/{ensure-sources-COGVKY44.js → ensure-sources-ALTI5PXR.js} +20 -16
  189. package/dist/ensure-sources-ALTI5PXR.js.map +1 -0
  190. package/dist/library/index.d.ts +2 -0
  191. package/dist/library/index.js +4 -4
  192. package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
  193. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  194. package/dist/open-library-EEGG6RDN.js +13 -0
  195. package/dist/{open-library-DWAQFUSQ.js.map → open-library-EEGG6RDN.js.map} +1 -1
  196. package/dist/plugin-registry/index.d.ts +2 -0
  197. package/dist/plugin-registry/index.js +1 -1
  198. package/dist/plugin-registry/src/context.d.ts +30 -1
  199. package/dist/plugin-registry/src/context.d.ts.map +1 -1
  200. package/dist/plugin-registry/src/deploy-handle.d.ts +17 -1
  201. package/dist/plugin-registry/src/deploy-handle.d.ts.map +1 -1
  202. package/dist/plugin-registry/src/deploy-helpers.d.ts +69 -0
  203. package/dist/plugin-registry/src/deploy-helpers.d.ts.map +1 -0
  204. package/dist/plugin-registry/src/index.d.ts +6 -4
  205. package/dist/plugin-registry/src/index.d.ts.map +1 -1
  206. package/dist/plugin-registry/src/internal.d.ts.map +1 -1
  207. package/dist/plugin-registry/src/registry.d.ts +1 -0
  208. package/dist/plugin-registry/src/registry.d.ts.map +1 -1
  209. package/dist/plugin-registry/src/targets.d.ts +4 -0
  210. package/dist/plugin-registry/src/targets.d.ts.map +1 -1
  211. package/dist/{plugin-store-6OENKNFW.js → plugin-store-G277ZX3B.js} +8 -8
  212. package/dist/{plugin-store-6OENKNFW.js.map → plugin-store-G277ZX3B.js.map} +1 -1
  213. package/dist/plugins/index.d.ts +2 -0
  214. package/dist/plugins/src/catalog-source.d.ts +5 -0
  215. package/dist/plugins/src/catalog-source.d.ts.map +1 -1
  216. package/dist/resolver/index.d.ts +2 -0
  217. package/dist/runner/index.d.ts +2 -0
  218. package/dist/runner/index.js +17 -16
  219. package/dist/runner/prompt-assembly.d.ts +2 -0
  220. package/dist/runner/src/resources.d.ts.map +1 -1
  221. package/dist/runner/src/serve.d.ts +7 -0
  222. package/dist/runner/src/serve.d.ts.map +1 -1
  223. package/dist/sdk/asset-manager.d.ts +2 -0
  224. package/dist/sdk/asset-manager.js +7 -7
  225. package/dist/sdk/bridge.d.ts +2 -0
  226. package/dist/sdk/bridge.js +3 -3
  227. package/dist/sdk/client.d.ts +2 -0
  228. package/dist/sdk/core.d.ts +2 -0
  229. package/dist/sdk/core.js +5 -5
  230. package/dist/sdk/flow.d.ts +2 -0
  231. package/dist/sdk/index.d.ts +2 -0
  232. package/dist/sdk/index.js +53 -19
  233. package/dist/sdk/index.js.map +1 -1
  234. package/dist/sdk/resolver.d.ts +2 -0
  235. package/dist/sdk/runner.d.ts +2 -0
  236. package/dist/sdk/runner.js +17 -16
  237. package/dist/sdk/session.d.ts +2 -0
  238. package/dist/sdk/src/local-runtime.d.ts +8 -0
  239. package/dist/sdk/src/local-runtime.d.ts.map +1 -1
  240. package/dist/sdk/src/transport.d.ts +7 -1
  241. package/dist/sdk/src/transport.d.ts.map +1 -1
  242. package/dist/sdk/store.d.ts +2 -0
  243. package/dist/sdk/telemetry.d.ts +2 -0
  244. package/dist/sdk/transport/ws/client.d.ts +2 -0
  245. package/dist/sdk/transport/ws/client.js +2 -1
  246. package/dist/sdk/transport/ws/server.d.ts +2 -0
  247. package/dist/sdk/transport/ws/server.js +2 -1
  248. package/dist/sdk/transport/ws.d.ts +2 -0
  249. package/dist/sdk/transport/ws.js +4 -3
  250. package/dist/sdk/transport.d.ts +2 -0
  251. package/dist/sdk/transport.js +4 -3
  252. package/dist/sdk/types.d.ts +2 -0
  253. package/dist/secrets/index.d.ts +2 -0
  254. package/dist/session/index.d.ts +2 -0
  255. package/dist/{setup-ACMP3QZC.js → setup-REX4I5NE.js} +10 -10
  256. package/dist/{setup-ACMP3QZC.js.map → setup-REX4I5NE.js.map} +1 -1
  257. package/dist/store/index.d.ts +2 -0
  258. package/dist/store/react.d.ts +2 -0
  259. package/dist/store/vue.d.ts +2 -0
  260. package/dist/store-client-IX3Y67NK.js +14 -0
  261. package/dist/{store-client-ZSLNOOQG.js.map → store-client-IX3Y67NK.js.map} +1 -1
  262. package/dist/telemetry/index.d.ts +2 -0
  263. package/dist/transport/index.d.ts +2 -0
  264. package/dist/transport/index.js +4 -3
  265. package/dist/transport/src/ws/auth.d.ts +34 -0
  266. package/dist/transport/src/ws/auth.d.ts.map +1 -0
  267. package/dist/transport/src/ws/client.d.ts +4 -0
  268. package/dist/transport/src/ws/client.d.ts.map +1 -1
  269. package/dist/transport/src/ws/index.d.ts +3 -2
  270. package/dist/transport/src/ws/index.d.ts.map +1 -1
  271. package/dist/transport/src/ws/server.d.ts +5 -0
  272. package/dist/transport/src/ws/server.d.ts.map +1 -1
  273. package/dist/transport/ws/client.d.ts +2 -0
  274. package/dist/transport/ws/client.js +2 -1
  275. package/dist/transport/ws/server.d.ts +2 -0
  276. package/dist/transport/ws/server.js +2 -1
  277. package/dist/transport/ws.d.ts +2 -0
  278. package/dist/transport/ws.js +4 -3
  279. package/dist/tui/index.d.ts +2 -0
  280. package/dist/tui/index.js +17 -16
  281. package/dist/tui/index.js.map +1 -1
  282. package/dist/types/index.d.ts +2 -0
  283. package/dist/types/manifests.d.ts +2 -0
  284. package/dist/workspace-plugin/adapters/mcp.d.ts +2 -0
  285. package/dist/workspace-plugin/adapters/omp.d.ts +2 -0
  286. package/dist/workspace-plugin/index.d.ts +2 -0
  287. package/dist/workspace-plugin/index.js +1 -1
  288. package/package.json +4 -2
  289. package/dist/asset-feeds-PJDJ3QYI.js.map +0 -1
  290. package/dist/chunk-2DNSSQ22.js.map +0 -1
  291. package/dist/chunk-7PTP3SQJ.js.map +0 -1
  292. package/dist/chunk-G6GKWGOW.js.map +0 -1
  293. package/dist/chunk-IGQEXBBG.js.map +0 -1
  294. package/dist/chunk-KA46DUM4.js.map +0 -1
  295. package/dist/chunk-NGC7ZQI4.js.map +0 -1
  296. package/dist/chunk-PBWMV5GM.js.map +0 -1
  297. package/dist/chunk-RENHNO4J.js.map +0 -1
  298. package/dist/chunk-TKOLD2O7.js.map +0 -1
  299. package/dist/chunk-TTY56FQQ.js.map +0 -1
  300. package/dist/chunk-UZRY5UI2.js.map +0 -1
  301. package/dist/chunk-W2O5LWYU.js +0 -3
  302. package/dist/chunk-WIR34WMU.js.map +0 -1
  303. package/dist/chunk-X5Y4EGZB.js.map +0 -1
  304. package/dist/ensure-sources-COGVKY44.js.map +0 -1
  305. package/dist/open-library-DWAQFUSQ.js +0 -13
  306. 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-RENHNO4J.js';
1
+ import './chunk-P4FYHEHW.js';
2
2
  import './chunk-K5GBV4SA.js';
3
3
  import './chunk-KLNL7QHN.js';
4
- import './chunk-TTY56FQQ.js';
5
- import { scanRepo } from './chunk-TKOLD2O7.js';
6
- import './chunk-WIR34WMU.js';
7
- import './chunk-X5Y4EGZB.js';
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-DWAQFUSQ.js'),
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-DWAQFUSQ.js');
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
- repository: "store",
60
- domain: a.publisher,
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-PJDJ3QYI.js.map
90
- //# sourceMappingURL=asset-feeds-PJDJ3QYI.js.map
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"]}
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./src/catalog-deployer.js";
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./src/contrib.js";
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./src/fragments.js";
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./src/history.js";
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./src/index.js";
@@ -1,12 +1,12 @@
1
- export { AssetManager } from '../chunk-2DNSSQ22.js';
2
- export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-MO4JPTRD.js';
3
- import '../chunk-RENHNO4J.js';
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-TTY56FQQ.js';
7
- import '../chunk-TKOLD2O7.js';
8
- import '../chunk-WIR34WMU.js';
9
- import '../chunk-X5Y4EGZB.js';
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';
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./src/installer.js";
@@ -1,11 +1,11 @@
1
- export { createScaffold, deployAll, deployAsset, removeAsset } from '../chunk-MO4JPTRD.js';
2
- import '../chunk-RENHNO4J.js';
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-TTY56FQQ.js';
6
- import '../chunk-TKOLD2O7.js';
7
- import '../chunk-WIR34WMU.js';
8
- import '../chunk-X5Y4EGZB.js';
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';
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./src/renderers.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 { AssetCollision, CatalogEntry, LockFile } from "@skaile/workspaces/core";
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
- repository: string;
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
- repository: string;
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":"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"}
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, RepositoryDeclaration } from "@skaile/workspaces/core";
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, RepositoryDeclaration>, opts?: DeployOptions, log?: Log): boolean;
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, RepositoryDeclaration>, patches: Record<string, string>, opts?: DeployOptions, log?: Log): 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,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,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,qBAAqB,CAAC,EACnD,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,qBAAqB,CAAC,EACnD,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
+ {"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"}
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./deploy/adapter.js";
@@ -1,18 +1,18 @@
1
- export { DeployConnector, createConnector19 as createConnector } from '../../chunk-G6GKWGOW.js';
2
- import '../../chunk-GKM6MDUC.js';
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-UZRY5UI2.js';
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-RENHNO4J.js';
9
+ import '../../chunk-P4FYHEHW.js';
10
10
  import '../../chunk-K5GBV4SA.js';
11
11
  import '../../chunk-KLNL7QHN.js';
12
- import '../../chunk-TTY56FQQ.js';
13
- import '../../chunk-TKOLD2O7.js';
14
- import '../../chunk-WIR34WMU.js';
15
- import '../../chunk-X5Y4EGZB.js';
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';
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./devserver/adapter.js";
@@ -1,18 +1,18 @@
1
- export { DevServerConnector, createConnector16 as createConnector } from '../../chunk-G6GKWGOW.js';
2
- import '../../chunk-GKM6MDUC.js';
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-UZRY5UI2.js';
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-RENHNO4J.js';
9
+ import '../../chunk-P4FYHEHW.js';
10
10
  import '../../chunk-K5GBV4SA.js';
11
11
  import '../../chunk-KLNL7QHN.js';
12
- import '../../chunk-TTY56FQQ.js';
13
- import '../../chunk-TKOLD2O7.js';
14
- import '../../chunk-WIR34WMU.js';
15
- import '../../chunk-X5Y4EGZB.js';
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-G6GKWGOW.js';
2
- import '../../../chunk-GKM6MDUC.js';
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-UZRY5UI2.js';
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-RENHNO4J.js';
9
+ import '../../../chunk-P4FYHEHW.js';
10
10
  import '../../../chunk-K5GBV4SA.js';
11
11
  import '../../../chunk-KLNL7QHN.js';
12
- import '../../../chunk-TTY56FQQ.js';
13
- import '../../../chunk-TKOLD2O7.js';
14
- import '../../../chunk-WIR34WMU.js';
15
- import '../../../chunk-X5Y4EGZB.js';
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';
@@ -0,0 +1,2 @@
1
+ // Auto-generated by _scripts/emit-dts-sidecars.ts — do not edit by hand.
2
+ export * from "./engine/index.js";