@skaile/workspaces 1.16.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/CHANGELOG.md +265 -0
  2. package/dist/{asset-feeds-WIBEP37F.js → asset-feeds-7VQVISDI.js} +25 -24
  3. package/dist/asset-feeds-7VQVISDI.js.map +1 -0
  4. package/dist/asset-manager/catalog-deployer.js +13 -1
  5. package/dist/asset-manager/index.js +10 -9
  6. package/dist/asset-manager/installer.js +7 -6
  7. package/dist/asset-manager/src/catalog-deployer.d.ts +70 -5
  8. package/dist/asset-manager/src/catalog-deployer.d.ts.map +1 -1
  9. package/dist/asset-manager/src/index.d.ts +22 -17
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/bridge/drivers/claude-sdk.js +108 -56
  12. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  13. package/dist/bridge/drivers/codex.js +3 -2
  14. package/dist/bridge/drivers/codex.js.map +1 -1
  15. package/dist/bridge/drivers/continue.js +4 -3
  16. package/dist/bridge/drivers/continue.js.map +1 -1
  17. package/dist/bridge/drivers/echo.js +3 -2
  18. package/dist/bridge/drivers/echo.js.map +1 -1
  19. package/dist/bridge/drivers/gemini.js +5 -4
  20. package/dist/bridge/drivers/goose.js +4 -3
  21. package/dist/bridge/drivers/goose.js.map +1 -1
  22. package/dist/bridge/drivers/omp.js +3 -2
  23. package/dist/bridge/drivers/omp.js.map +1 -1
  24. package/dist/bridge/drivers/opencode.js +4 -3
  25. package/dist/bridge/drivers/opencode.js.map +1 -1
  26. package/dist/bridge/drivers/qwen.js +5 -4
  27. package/dist/bridge/drivers/qwen.js.map +1 -1
  28. package/dist/bridge/index.js +4 -3
  29. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  30. package/dist/bridge/src/drivers/scrub-transcript.d.ts +21 -1
  31. package/dist/bridge/src/drivers/scrub-transcript.d.ts.map +1 -1
  32. package/dist/{chunk-344DEXZS.js → chunk-35ELAMQ5.js} +4 -4
  33. package/dist/{chunk-344DEXZS.js.map → chunk-35ELAMQ5.js.map} +1 -1
  34. package/dist/{chunk-WSTY3AWY.js → chunk-6FJH63NN.js} +4 -4
  35. package/dist/{chunk-WSTY3AWY.js.map → chunk-6FJH63NN.js.map} +1 -1
  36. package/dist/{chunk-ISA7R7PK.js → chunk-72EOJJOM.js} +82 -38
  37. package/dist/chunk-72EOJJOM.js.map +1 -0
  38. package/dist/chunk-7GOCNYUV.js +300 -0
  39. package/dist/chunk-7GOCNYUV.js.map +1 -0
  40. package/dist/{chunk-TFIFNDT2.js → chunk-A5OYCQGT.js} +4 -4
  41. package/dist/{chunk-TFIFNDT2.js.map → chunk-A5OYCQGT.js.map} +1 -1
  42. package/dist/{chunk-KY5NY7LB.js → chunk-BCTU4TN7.js} +11 -11
  43. package/dist/chunk-BCTU4TN7.js.map +1 -0
  44. package/dist/chunk-BEAIJRVF.js +159 -0
  45. package/dist/chunk-BEAIJRVF.js.map +1 -0
  46. package/dist/chunk-BK3WL3QK.js +10 -0
  47. package/dist/chunk-BK3WL3QK.js.map +1 -0
  48. package/dist/{chunk-BI2NKPA4.js → chunk-CA5CWLGN.js} +3 -2
  49. package/dist/chunk-CA5CWLGN.js.map +1 -0
  50. package/dist/{chunk-2TSSCHCQ.js → chunk-CKVIN4H3.js} +5 -5
  51. package/dist/{chunk-2TSSCHCQ.js.map → chunk-CKVIN4H3.js.map} +1 -1
  52. package/dist/{chunk-GXC3TYMQ.js → chunk-CZZRDYT4.js} +70 -32
  53. package/dist/chunk-CZZRDYT4.js.map +1 -0
  54. package/dist/{chunk-MNKUZUN2.js → chunk-DRXDEL3A.js} +3 -3
  55. package/dist/{chunk-MNKUZUN2.js.map → chunk-DRXDEL3A.js.map} +1 -1
  56. package/dist/{chunk-BYS6JDZB.js → chunk-DY2AK577.js} +3 -3
  57. package/dist/{chunk-BYS6JDZB.js.map → chunk-DY2AK577.js.map} +1 -1
  58. package/dist/chunk-DYMWJAL4.js +552 -0
  59. package/dist/chunk-DYMWJAL4.js.map +1 -0
  60. package/dist/{chunk-ACXLKNIM.js → chunk-E7HKNQTH.js} +10 -4
  61. package/dist/chunk-E7HKNQTH.js.map +1 -0
  62. package/dist/{chunk-O5VCUU6D.js → chunk-KUZEIKZH.js} +4 -4
  63. package/dist/{chunk-O5VCUU6D.js.map → chunk-KUZEIKZH.js.map} +1 -1
  64. package/dist/{chunk-YULV7UTU.js → chunk-KYLWY3A7.js} +10 -10
  65. package/dist/{chunk-YULV7UTU.js.map → chunk-KYLWY3A7.js.map} +1 -1
  66. package/dist/{chunk-2BQBWWFX.js → chunk-LBZP2IYG.js} +6 -6
  67. package/dist/chunk-LBZP2IYG.js.map +1 -0
  68. package/dist/{chunk-MZV6WCF3.js → chunk-MAN7AGQJ.js} +3 -3
  69. package/dist/{chunk-MZV6WCF3.js.map → chunk-MAN7AGQJ.js.map} +1 -1
  70. package/dist/{chunk-7J7LQP6T.js → chunk-MMD2KQ3A.js} +31 -19
  71. package/dist/chunk-MMD2KQ3A.js.map +1 -0
  72. package/dist/{chunk-FIUGSIKC.js → chunk-NYCJ7B27.js} +19 -11
  73. package/dist/chunk-NYCJ7B27.js.map +1 -0
  74. package/dist/{chunk-ACWCVB5Q.js → chunk-ORZW7MMO.js} +3 -3
  75. package/dist/{chunk-ACWCVB5Q.js.map → chunk-ORZW7MMO.js.map} +1 -1
  76. package/dist/{chunk-M5GJT3D7.js → chunk-OYX22NJL.js} +3 -3
  77. package/dist/{chunk-M5GJT3D7.js.map → chunk-OYX22NJL.js.map} +1 -1
  78. package/dist/{chunk-C4KVFALU.js → chunk-QIQTYN7F.js} +3 -3
  79. package/dist/{chunk-C4KVFALU.js.map → chunk-QIQTYN7F.js.map} +1 -1
  80. package/dist/{chunk-2IJFUAZB.js → chunk-RK3HU3H3.js} +123 -18
  81. package/dist/chunk-RK3HU3H3.js.map +1 -0
  82. package/dist/{chunk-5NZ56R63.js → chunk-ST3DLLNZ.js} +18 -6
  83. package/dist/chunk-ST3DLLNZ.js.map +1 -0
  84. package/dist/{chunk-6POODADP.js → chunk-SVL4EZJT.js} +453 -250
  85. package/dist/chunk-SVL4EZJT.js.map +1 -0
  86. package/dist/{chunk-JB35MVBN.js → chunk-U5POE4BA.js} +4 -298
  87. package/dist/chunk-U5POE4BA.js.map +1 -0
  88. package/dist/{chunk-MO43URUI.js → chunk-UAQVFATZ.js} +7 -7
  89. package/dist/{chunk-MO43URUI.js.map → chunk-UAQVFATZ.js.map} +1 -1
  90. package/dist/{chunk-A22KZ7GZ.js → chunk-UVW3R6S7.js} +72 -37
  91. package/dist/chunk-UVW3R6S7.js.map +1 -0
  92. package/dist/{chunk-STQOPWPS.js → chunk-VCU4NPUS.js} +4 -4
  93. package/dist/{chunk-STQOPWPS.js.map → chunk-VCU4NPUS.js.map} +1 -1
  94. package/dist/{chunk-MB6563TL.js → chunk-WCWXDW22.js} +3 -3
  95. package/dist/{chunk-MB6563TL.js.map → chunk-WCWXDW22.js.map} +1 -1
  96. package/dist/{chunk-BG4XVMG2.js → chunk-WZPADAE7.js} +254 -135
  97. package/dist/chunk-WZPADAE7.js.map +1 -0
  98. package/dist/{chunk-EPWY2ABE.js → chunk-Y3JVBJ3Y.js} +5 -5
  99. package/dist/{chunk-EPWY2ABE.js.map → chunk-Y3JVBJ3Y.js.map} +1 -1
  100. package/dist/cli/index.js +347 -127
  101. package/dist/cli/index.js.map +1 -1
  102. package/dist/cli/src/asset-feeds.d.ts +2 -2
  103. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  104. package/dist/cli/src/commands/catalog.d.ts +51 -2
  105. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  106. package/dist/cli/src/commands/connector.d.ts +1 -1
  107. package/dist/cli/src/commands/connector.d.ts.map +1 -1
  108. package/dist/cli/src/commands/logs.d.ts.map +1 -1
  109. package/dist/cli/src/commands/manage.d.ts +30 -3
  110. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  111. package/dist/cli/src/commands/project.d.ts +5 -2
  112. package/dist/cli/src/commands/project.d.ts.map +1 -1
  113. package/dist/connectors/config.js +7 -6
  114. package/dist/connectors/index.js +8 -7
  115. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  116. package/dist/connectors/src/watcher.d.ts.map +1 -1
  117. package/dist/connectors/src/worktree.d.ts +20 -2
  118. package/dist/connectors/src/worktree.d.ts.map +1 -1
  119. package/dist/core/index.js +6 -5
  120. package/dist/core/logging.js +2 -1
  121. package/dist/core/manifest.js +2 -1
  122. package/dist/core/runtime-assets.js +4 -3
  123. package/dist/core/src/fs-deadline.d.ts +84 -0
  124. package/dist/core/src/fs-deadline.d.ts.map +1 -0
  125. package/dist/core/src/index.d.ts +4 -3
  126. package/dist/core/src/index.d.ts.map +1 -1
  127. package/dist/core/src/manifest.d.ts +142 -18
  128. package/dist/core/src/manifest.d.ts.map +1 -1
  129. package/dist/core/src/repo-manager.d.ts +2 -2
  130. package/dist/core/src/repo-manager.d.ts.map +1 -1
  131. package/dist/core/src/runtime-assets.d.ts.map +1 -1
  132. package/dist/core/src/subprocess.d.ts +33 -1
  133. package/dist/core/src/subprocess.d.ts.map +1 -1
  134. package/dist/core/src/walker.d.ts +1 -1
  135. package/dist/core/src/walker.d.ts.map +1 -1
  136. package/dist/core/src/workspace-config.d.ts +9 -2
  137. package/dist/core/src/workspace-config.d.ts.map +1 -1
  138. package/dist/core/workspace-config.js +3 -2
  139. package/dist/deploy/index.js +12 -7
  140. package/dist/deploy/index.js.map +1 -1
  141. package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
  142. package/dist/discovery/index.js +3 -2
  143. package/dist/{ensure-sources-RSTZONIE.js → ensure-sources-JLVHHZI2.js} +13 -12
  144. package/dist/ensure-sources-JLVHHZI2.js.map +1 -0
  145. package/dist/factory-assets/connectors/box.js +8 -7
  146. package/dist/factory-assets/connectors/deploy/CONNECTOR.md +19 -0
  147. package/dist/factory-assets/connectors/deploy/adapter.d.ts.map +1 -1
  148. package/dist/factory-assets/connectors/deploy.js +8 -7
  149. package/dist/factory-assets/connectors/devserver/adapter.d.ts.map +1 -1
  150. package/dist/factory-assets/connectors/devserver.js +8 -7
  151. package/dist/factory-assets/connectors/flow/adapter.js +8 -7
  152. package/dist/factory-assets/connectors/flow/engine.js +6 -5
  153. package/dist/factory-assets/connectors/flow/run-flow.js +10 -9
  154. package/dist/factory-assets/connectors/flow.js +8 -7
  155. package/dist/factory-assets/connectors/git/driver.d.ts +12 -1
  156. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  157. package/dist/factory-assets/connectors/git.js +8 -7
  158. package/dist/factory-assets/connectors/gmail.js +8 -7
  159. package/dist/factory-assets/connectors/googledrive.js +8 -7
  160. package/dist/factory-assets/connectors/local/driver.d.ts +25 -1
  161. package/dist/factory-assets/connectors/local/driver.d.ts.map +1 -1
  162. package/dist/factory-assets/connectors/local.js +8 -7
  163. package/dist/factory-assets/connectors/mattermost.js +8 -7
  164. package/dist/factory-assets/connectors/memory.js +8 -7
  165. package/dist/factory-assets/connectors/minio.js +8 -7
  166. package/dist/factory-assets/connectors/postgres.js +8 -7
  167. package/dist/factory-assets/connectors/s3/driver.d.ts +15 -0
  168. package/dist/factory-assets/connectors/s3/driver.d.ts.map +1 -1
  169. package/dist/factory-assets/connectors/s3.js +8 -7
  170. package/dist/factory-assets/connectors/sharepoint.js +8 -7
  171. package/dist/factory-assets/connectors/sqlite/adapter.d.ts +8 -1
  172. package/dist/factory-assets/connectors/sqlite/adapter.d.ts.map +1 -1
  173. package/dist/factory-assets/connectors/sqlite.js +8 -7
  174. package/dist/factory-assets/connectors/static-server/adapter.d.ts.map +1 -1
  175. package/dist/factory-assets/connectors/static-server.js +8 -7
  176. package/dist/factory-assets/connectors/tunnel.js +8 -7
  177. package/dist/factory-assets/connectors/webdav.js +8 -7
  178. package/dist/factory-assets/connectors/xstate/adapter.d.ts +6 -0
  179. package/dist/factory-assets/connectors/xstate/adapter.d.ts.map +1 -1
  180. package/dist/factory-assets/connectors/xstate-store.js +8 -7
  181. package/dist/factory-assets/connectors/xstate.js +8 -7
  182. package/dist/flows-LV5WYJ2I.js +20 -0
  183. package/dist/{flows-FHWBCLXF.js.map → flows-LV5WYJ2I.js.map} +1 -1
  184. package/dist/{helpers-GUUWPPAX.js → helpers-PJ3CPUUL.js} +13 -12
  185. package/dist/{helpers-GUUWPPAX.js.map → helpers-PJ3CPUUL.js.map} +1 -1
  186. package/dist/library/index.js +8 -7
  187. package/dist/library/install.js +6 -5
  188. package/dist/{library-publish-UKKSJP7V.js → library-publish-HVZRCE3C.js} +16 -15
  189. package/dist/library-publish-HVZRCE3C.js.map +1 -0
  190. package/dist/{open-library-VALRYGFV.js → open-library-RMI2FTQ4.js} +14 -13
  191. package/dist/{open-library-VALRYGFV.js.map → open-library-RMI2FTQ4.js.map} +1 -1
  192. package/dist/{paths-5QJJBAND.js → paths-JSVTQAVW.js} +11 -10
  193. package/dist/{paths-5QJJBAND.js.map → paths-JSVTQAVW.js.map} +1 -1
  194. package/dist/plugin-registry/src/deploy-helpers.d.ts +1 -1
  195. package/dist/{plugin-store-ZBJZ7F6D.js → plugin-store-7TVJB2TS.js} +8 -7
  196. package/dist/plugin-store-7TVJB2TS.js.map +1 -0
  197. package/dist/{project-IRUJLIVX.js → project-P636MSYT.js} +14 -13
  198. package/dist/{project-IRUJLIVX.js.map → project-P636MSYT.js.map} +1 -1
  199. package/dist/resolver/index.js +13 -1
  200. package/dist/resolver/src/types.d.ts +7 -0
  201. package/dist/resolver/src/types.d.ts.map +1 -1
  202. package/dist/resolver/src/validator.d.ts +8 -1
  203. package/dist/resolver/src/validator.d.ts.map +1 -1
  204. package/dist/runner/index.js +13 -12
  205. package/dist/runner/src/external-mcp.d.ts +1 -1
  206. package/dist/runner/src/external-mcp.d.ts.map +1 -1
  207. package/dist/runner/src/mcp-prompt.d.ts +7 -3
  208. package/dist/runner/src/mcp-prompt.d.ts.map +1 -1
  209. package/dist/runner/src/mcp-runtime-handlers.d.ts +12 -0
  210. package/dist/runner/src/mcp-runtime-handlers.d.ts.map +1 -1
  211. package/dist/runner/src/mixin-resolver.d.ts.map +1 -1
  212. package/dist/runner/src/recipe-resolver.d.ts +20 -6
  213. package/dist/runner/src/recipe-resolver.d.ts.map +1 -1
  214. package/dist/runner/src/resource-handler.d.ts +43 -0
  215. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  216. package/dist/runner/src/resources.d.ts +12 -5
  217. package/dist/runner/src/resources.d.ts.map +1 -1
  218. package/dist/runner/src/serve.d.ts +5 -5
  219. package/dist/runner/src/serve.d.ts.map +1 -1
  220. package/dist/runner/src/session-builder.d.ts +9 -0
  221. package/dist/runner/src/session-builder.d.ts.map +1 -1
  222. package/dist/runner/src/session-capability-wiring.d.ts +5 -0
  223. package/dist/runner/src/session-capability-wiring.d.ts.map +1 -1
  224. package/dist/runner/src/workspace-migration.d.ts +37 -3
  225. package/dist/runner/src/workspace-migration.d.ts.map +1 -1
  226. package/dist/sdk/asset-manager.js +10 -9
  227. package/dist/sdk/bridge.js +4 -3
  228. package/dist/sdk/core.js +6 -5
  229. package/dist/sdk/flow.js +6 -5
  230. package/dist/sdk/index.js +13 -12
  231. package/dist/sdk/index.js.map +1 -1
  232. package/dist/sdk/resolver.js +13 -1
  233. package/dist/sdk/runner.js +13 -12
  234. package/dist/sdk/session.js +1 -1
  235. package/dist/sdk/store.js +1 -1
  236. package/dist/session/index.js +1 -1
  237. package/dist/session/src/dispatcher.d.ts.map +1 -1
  238. package/dist/{setup-WJPNUE32.js → setup-OYW3W3XK.js} +10 -9
  239. package/dist/setup-OYW3W3XK.js.map +1 -0
  240. package/dist/skills-QY5PHBD3.js +20 -0
  241. package/dist/{skills-BMI6H7HI.js.map → skills-QY5PHBD3.js.map} +1 -1
  242. package/dist/{source-5KDURFBS.js → source-63CHWDC2.js} +15 -14
  243. package/dist/{source-5KDURFBS.js.map → source-63CHWDC2.js.map} +1 -1
  244. package/dist/{source-manifest-publish-DPQI44D3.js → source-manifest-publish-DLASGDK5.js} +17 -16
  245. package/dist/source-manifest-publish-DLASGDK5.js.map +1 -0
  246. package/dist/store/index.js +1 -1
  247. package/dist/store/src/store.d.ts +9 -0
  248. package/dist/store/src/store.d.ts.map +1 -1
  249. package/dist/tui/index.js +13 -12
  250. package/dist/tui/index.js.map +1 -1
  251. package/dist/validator-RN64BKFW.js +5 -0
  252. package/dist/{validator-VF5M764T.js.map → validator-RN64BKFW.js.map} +1 -1
  253. package/dist/workspace-plugin/adapters/mcp.js +18 -5
  254. package/dist/workspace-plugin/adapters/mcp.js.map +1 -1
  255. package/dist/workspace-plugin/adapters/omp.js +10 -10
  256. package/dist/workspace-plugin/index.js +3 -2
  257. package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
  258. package/dist/workspace-plugin/src/utils/ai-assets.d.ts +11 -6
  259. package/dist/workspace-plugin/src/utils/ai-assets.d.ts.map +1 -1
  260. package/package.json +1 -1
  261. package/dist/asset-feeds-WIBEP37F.js.map +0 -1
  262. package/dist/chunk-2BQBWWFX.js.map +0 -1
  263. package/dist/chunk-2IJFUAZB.js.map +0 -1
  264. package/dist/chunk-5NZ56R63.js.map +0 -1
  265. package/dist/chunk-6POODADP.js.map +0 -1
  266. package/dist/chunk-7J7LQP6T.js.map +0 -1
  267. package/dist/chunk-A22KZ7GZ.js.map +0 -1
  268. package/dist/chunk-ACXLKNIM.js.map +0 -1
  269. package/dist/chunk-BG4XVMG2.js.map +0 -1
  270. package/dist/chunk-BI2NKPA4.js.map +0 -1
  271. package/dist/chunk-BQCGFPHW.js +0 -345
  272. package/dist/chunk-BQCGFPHW.js.map +0 -1
  273. package/dist/chunk-FIUGSIKC.js.map +0 -1
  274. package/dist/chunk-GXC3TYMQ.js.map +0 -1
  275. package/dist/chunk-ISA7R7PK.js.map +0 -1
  276. package/dist/chunk-JB35MVBN.js.map +0 -1
  277. package/dist/chunk-KY5NY7LB.js.map +0 -1
  278. package/dist/chunk-LV2HPH3C.js +0 -73
  279. package/dist/chunk-LV2HPH3C.js.map +0 -1
  280. package/dist/chunk-XCBG2KDC.js +0 -23
  281. package/dist/chunk-XCBG2KDC.js.map +0 -1
  282. package/dist/ensure-sources-RSTZONIE.js.map +0 -1
  283. package/dist/flows-FHWBCLXF.js +0 -7
  284. package/dist/library-publish-UKKSJP7V.js.map +0 -1
  285. package/dist/plugin-store-ZBJZ7F6D.js.map +0 -1
  286. package/dist/setup-WJPNUE32.js.map +0 -1
  287. package/dist/skills-BMI6H7HI.js +0 -7
  288. package/dist/source-manifest-publish-DPQI44D3.js.map +0 -1
  289. package/dist/validator-VF5M764T.js +0 -5
@@ -1,9 +1,9 @@
1
- import { resolveLibraryDir, getStoreManifestsDir } from './chunk-344DEXZS.js';
2
- import { deployAll, removeAsset, createScaffold } from './chunk-STQOPWPS.js';
3
- import { writeLock, buildLockFile, readLock, verifyLock, extractForPatch, generatePatch, savePatch, applyPatch } from './chunk-5NZ56R63.js';
4
- import { resolveRuntimeAssets, factoryAssetRoots } from './chunk-7J7LQP6T.js';
5
- import { globalSkaileDir, resolveGlobalBackends, globalCacheRoot, migrateLegacyDir, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, getGlobalCacheDir, sourceCacheKey, getRepoCommit, coerceVersion, matchPin, resolveAll, buildProvenanceIndex, ensureRepo, sourceShortName, scanRepo, SKAILE_YAML_DEFAULT, checkRepoStatus, resolveAsset, readLinks, storeManifestSlug } from './chunk-ISA7R7PK.js';
6
- import { scanDirectory, parseRequires } from './chunk-BQCGFPHW.js';
1
+ import { resolveLibraryDir, getStoreManifestsDir } from './chunk-35ELAMQ5.js';
2
+ import { deployAll, removeAsset, createScaffold } from './chunk-VCU4NPUS.js';
3
+ import { writeLock, buildLockFile, readLock, verifyLock, extractForPatch, generatePatch, savePatch, applyPatch } from './chunk-ST3DLLNZ.js';
4
+ import { resolveRuntimeAssets, factoryAssetRoots } from './chunk-MMD2KQ3A.js';
5
+ import { globalSkaileDir, resolveGlobalBackends, globalCacheRoot, migrateLegacyDir, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, getGlobalCacheDir, sourceCacheKey, getRepoCommit, coerceVersion, matchPin, resolveAll, buildProvenanceIndex, ensureRepo, sourceShortName, scanRepo, SKAILE_YAML_DEFAULT, checkRepoStatus, resolveAsset, readLinks, loadMcpServerDeclarations, storeManifestSlug } from './chunk-72EOJJOM.js';
6
+ import { scanDirectory, parseRequires } from './chunk-DYMWJAL4.js';
7
7
  import { parseAssetRef, slugifyAssetName, assetRefToStr } from './chunk-GEEW6SY2.js';
8
8
  import { deployedBase, isDeployed, deployedDir } from './chunk-F3HNW354.js';
9
9
  import { appendHistory, getRecentHistory, clearHistory } from './chunk-KTBKW2FI.js';
@@ -48,6 +48,9 @@ var NON_DEPLOYABLE_KINDS = /* @__PURE__ */ new Set([
48
48
  "ruleset",
49
49
  "knowledge"
50
50
  ]);
51
+ function unscopedName(x) {
52
+ return x.includes("/") ? x.split("/").pop() : x;
53
+ }
51
54
  function commonDirPrefix(paths) {
52
55
  if (paths.length === 0) return "";
53
56
  const dirs = paths.map((p) => p.split("/").slice(0, -1));
@@ -390,7 +393,7 @@ var AssetManager = class {
390
393
  *
391
394
  * @returns the matched deploy entries plus the set of `missing` refs covered.
392
395
  */
393
- resolveLibraryEntries(missing) {
396
+ async resolveLibraryEntries(missing) {
394
397
  const resolved = /* @__PURE__ */ new Set();
395
398
  if (missing.length === 0) return { entries: [], resolved };
396
399
  let librariesRoot;
@@ -405,7 +408,7 @@ var AssetManager = class {
405
408
  if (!dirent.isDirectory()) continue;
406
409
  const libPath = join(librariesRoot, dirent.name);
407
410
  const publisher = readDeclaredPublisher(libPath) ?? slugifyAssetName(dirent.name);
408
- for (const entry of scanDirectory(libPath, publisher)) {
411
+ for (const entry of await scanDirectory(libPath, publisher)) {
409
412
  const key = `${entry.kind}:@${entry.publisher}/${entry.name}`;
410
413
  const prev = byKey.get(key);
411
414
  if (!prev || gt(coerceVersion(entry.version ?? ""), coerceVersion(prev.version ?? ""))) {
@@ -510,9 +513,10 @@ var AssetManager = class {
510
513
  return entries;
511
514
  }
512
515
  /**
513
- * Fetch + SHA-verify the bytes of every store-resolved deployable candidate
514
- * into `.skaile/cache/store/`, reusing the same verified-fetch path the
515
- * pointer-only `library.install` uses (`installFromManifest` flat mode).
516
+ * Fetch + SHA-verify the bytes of every store-resolved candidate that needs
517
+ * bytes on disk into `.skaile/cache/store/`, reusing the same verified-fetch
518
+ * path the pointer-only `library.install` uses (`installFromManifest` flat
519
+ * mode). That is the deployable kinds plus `mcp-server` — see the skip guard.
516
520
  *
517
521
  * @returns Map of candidate key → staged primary-manifest path.
518
522
  */
@@ -520,7 +524,7 @@ var AssetManager = class {
520
524
  const staged = /* @__PURE__ */ new Map();
521
525
  let installFromManifest;
522
526
  for (const c of resolved) {
523
- if (NON_DEPLOYABLE_KINDS.has(c.kind)) continue;
527
+ if (NON_DEPLOYABLE_KINDS.has(c.kind) && c.kind !== "mcp-server") continue;
524
528
  if (!c.files || c.files.length === 0 || !c.sourceUrl || !c.commit) continue;
525
529
  if (this.candidateHasLocalBytes(c, repositories)) continue;
526
530
  if (!installFromManifest) {
@@ -631,7 +635,7 @@ var AssetManager = class {
631
635
  }
632
636
  const cloneError = this.ensureSourceClones(repositories, sources);
633
637
  if (cloneError) return cloneError;
634
- const provenanceIndex = buildProvenanceIndex(this.buildClones(repositories), {
638
+ const provenanceIndex = await buildProvenanceIndex(this.buildClones(repositories), {
635
639
  projectDir: this.projectDir
636
640
  });
637
641
  const { resolved, missing, overridesApplied } = await this.resolveWithStores(dependencies, {
@@ -639,7 +643,7 @@ var AssetManager = class {
639
643
  overrides,
640
644
  stores
641
645
  });
642
- const lib = this.resolveLibraryEntries(missing);
646
+ const lib = await this.resolveLibraryEntries(missing);
643
647
  const removed = this.reconcileRemovedAssets(resolved);
644
648
  const entries = [...await this.buildCatalogEntries(resolved, repositories), ...lib.entries];
645
649
  const deployed = [
@@ -758,6 +762,16 @@ var AssetManager = class {
758
762
  const { RemoteCatalogSource } = await import('./library/index.js');
759
763
  const src = new RemoteCatalogSource({ baseUrl: storeUrl });
760
764
  return src.getCanonicalDigest(ref);
765
+ },
766
+ listVersions: async (storeUrl, ref) => {
767
+ const { RemoteCatalogSource } = await import('./library/index.js');
768
+ const src = new RemoteCatalogSource({ baseUrl: storeUrl });
769
+ try {
770
+ return await src.listVersions(ref);
771
+ } catch (err) {
772
+ console.warn(`skaile: store ${storeUrl} version lookup for ${ref} failed \u2014 ${err}`);
773
+ return [];
774
+ }
761
775
  }
762
776
  };
763
777
  }
@@ -873,7 +887,7 @@ var AssetManager = class {
873
887
  } catch {
874
888
  }
875
889
  }
876
- const provenanceIndex = buildProvenanceIndex(this.buildClones(repositories), {
890
+ const provenanceIndex = await buildProvenanceIndex(this.buildClones(repositories), {
877
891
  projectDir: this.projectDir
878
892
  });
879
893
  const { resolved, missing, overridesApplied } = await this.resolveWithStores([ref], {
@@ -881,7 +895,7 @@ var AssetManager = class {
881
895
  overrides,
882
896
  stores
883
897
  });
884
- const lib = this.resolveLibraryEntries(missing);
898
+ const lib = await this.resolveLibraryEntries(missing);
885
899
  if (resolved.length === 0 && lib.entries.length === 0) {
886
900
  throw new Error(
887
901
  `Asset not found: ${ref}${missing.length ? ` (missing: ${missing.join(", ")})` : ""}`
@@ -1168,13 +1182,13 @@ var AssetManager = class {
1168
1182
  * Omit to return all kinds.
1169
1183
  * @returns Array of matching {@link CatalogEntry} objects from all accessible repositories.
1170
1184
  */
1171
- search(query, kind) {
1185
+ async search(query, kind) {
1172
1186
  const { repositories } = this.loadConfig();
1173
1187
  let all = [];
1174
1188
  for (const [name, decl] of Object.entries(repositories)) {
1175
1189
  const repoDir = this.resolveRepoDir(decl, name);
1176
1190
  if (!repoDir) continue;
1177
- all = [...all, ...scanRepo(repoDir, name)];
1191
+ all = [...all, ...await scanRepo(repoDir, name)];
1178
1192
  }
1179
1193
  if (kind) all = all.filter((e) => e.kind === kind);
1180
1194
  if (query) {
@@ -1211,14 +1225,14 @@ var AssetManager = class {
1211
1225
  * @param ref - Asset ref in `kind:name`, `kind:@publisher/name`, or `repo/kind:name` form.
1212
1226
  * @returns The matching {@link CatalogEntry}, or `null` when not found.
1213
1227
  */
1214
- info(ref) {
1228
+ async info(ref) {
1215
1229
  const { repositories } = this.loadConfig();
1216
1230
  const parsed = parseRefTolerant(ref);
1217
1231
  if (!parsed) return null;
1218
1232
  for (const [name, decl] of Object.entries(repositories)) {
1219
1233
  const repoDir = this.resolveRepoDir(decl, name);
1220
1234
  if (!repoDir) continue;
1221
- const entries = scanRepo(repoDir, name);
1235
+ const entries = await scanRepo(repoDir, name);
1222
1236
  const match = entries.find(
1223
1237
  (e) => e.kind === parsed.kind && e.name === parsed.name && (!parsed.publisher || e.publisher === parsed.publisher)
1224
1238
  );
@@ -1276,8 +1290,10 @@ var AssetManager = class {
1276
1290
  *
1277
1291
  * - `declared` — in `skaile.yaml`, not yet resolved into the lock.
1278
1292
  * - `installed` — declared + locked, and (for deployable kinds) materialized on
1279
- * disk. Non-deployable kinds ({@link NON_DEPLOYABLE_KINDS}) count as installed
1280
- * once locked they are wired at session start, never written to the target dir.
1293
+ * disk. An `mcp-server` is instead checked against the declarations the runner
1294
+ * would actually wire (store-staged or materialized `MCP.md`); the remaining
1295
+ * non-deployable kinds ({@link NON_DEPLOYABLE_KINDS}) count as installed once
1296
+ * locked — they are resolved at session start with no on-disk footprint here.
1281
1297
  * - `drift` — declared + locked but the deployed files are missing on disk.
1282
1298
  * - `invalid` — the `dependencies:` entry isn't a parseable canonical ref. Only
1283
1299
  * surfaced in the unfiltered listing (a `kind` filter can't classify it).
@@ -1290,13 +1306,25 @@ var AssetManager = class {
1290
1306
  * @throws {MissingManifestError} when the project has no `skaile.yaml`.
1291
1307
  * @throws {Error} with a `migrate-skaile-manifest` hint on legacy `repositories:` / `ai_resources:` keys.
1292
1308
  */
1293
- listDeclared(kind) {
1309
+ async listDeclared(kind) {
1294
1310
  if (!existsSync(join(this.projectDir, SKAILE_YAML_DEFAULT))) {
1295
1311
  throw new MissingManifestError(this.projectDir);
1296
1312
  }
1297
1313
  const dependencies = resolveSkWorkspaceConfig(this.projectDir).dependencies ?? [];
1298
1314
  const lock = this.tryReadLock();
1299
1315
  const lockKeys = lock ? Object.keys(lock.assets).map(parseCanonicalLockKey) : [];
1316
+ let wiredMcps;
1317
+ const wiredMcpNames = async () => {
1318
+ if (wiredMcps === void 0) {
1319
+ try {
1320
+ const decls = await loadMcpServerDeclarations(this.projectDir);
1321
+ wiredMcps = new Set(decls.flatMap((d) => [d.id, unscopedName(d.id)]));
1322
+ } catch {
1323
+ wiredMcps = /* @__PURE__ */ new Set();
1324
+ }
1325
+ }
1326
+ return wiredMcps;
1327
+ };
1300
1328
  const out = [];
1301
1329
  for (const ref of dependencies) {
1302
1330
  let parsed;
@@ -1313,6 +1341,9 @@ var AssetManager = class {
1313
1341
  let state;
1314
1342
  if (!locked) {
1315
1343
  state = "declared";
1344
+ } else if (parsed.kind === "mcp-server") {
1345
+ const wired = await wiredMcpNames();
1346
+ state = wired.has(parsed.name) || wired.has(unscopedName(parsed.name)) ? "installed" : "drift";
1316
1347
  } else if (NON_DEPLOYABLE_KINDS.has(parsed.kind)) {
1317
1348
  state = "installed";
1318
1349
  } else {
@@ -1502,9 +1533,9 @@ var AssetManager = class {
1502
1533
  * @returns Unified diff string, or `null` when there are no differences or the
1503
1534
  * asset is not deployed/resolvable.
1504
1535
  */
1505
- diff(ref) {
1536
+ async diff(ref) {
1506
1537
  const parsed = parseAssetRef(ref);
1507
- const entry = this.info(ref);
1538
+ const entry = await this.info(ref);
1508
1539
  if (!entry) return null;
1509
1540
  const deployedPath = join(
1510
1541
  deployedBase(parsed.kind, this.driverTarget, this.global, this.projectDir),
@@ -1531,7 +1562,7 @@ var AssetManager = class {
1531
1562
  } catch {
1532
1563
  }
1533
1564
  }
1534
- const provenanceIndex = buildProvenanceIndex(this.buildClones(repositories), {
1565
+ const provenanceIndex = await buildProvenanceIndex(this.buildClones(repositories), {
1535
1566
  projectDir: this.projectDir
1536
1567
  });
1537
1568
  const { resolved, overridesApplied } = await this.resolveWithStores(dependencies, {
@@ -1554,8 +1585,8 @@ var AssetManager = class {
1554
1585
  * @returns Absolute path to the patch working directory.
1555
1586
  * @throws When the asset cannot be found in the catalog.
1556
1587
  */
1557
- patch(ref) {
1558
- const entry = this.info(ref);
1588
+ async patch(ref) {
1589
+ const entry = await this.info(ref);
1559
1590
  if (!entry) throw new Error(`Asset not found: ${ref}`);
1560
1591
  return extractForPatch(entry, this.patchDir);
1561
1592
  }
@@ -1569,9 +1600,9 @@ var AssetManager = class {
1569
1600
  * @returns Absolute path to the generated `.patch` file.
1570
1601
  * @throws When the patch working directory does not exist or no differences are found.
1571
1602
  */
1572
- patchCommit(ref) {
1603
+ async patchCommit(ref) {
1573
1604
  const parsed = parseAssetRef(ref);
1574
- const entry = this.info(ref);
1605
+ const entry = await this.info(ref);
1575
1606
  if (!entry) throw new Error(`Asset not found: ${ref}`);
1576
1607
  const patchedDir = join(this.patchDir, `${parsed.kind}-${parsed.name}`);
1577
1608
  if (!existsSync(patchedDir)) {
@@ -1593,9 +1624,9 @@ var AssetManager = class {
1593
1624
  * @param ref - Asset ref in `kind:name` form.
1594
1625
  * @throws When the asset is not found, has no repository, or the patch file is missing.
1595
1626
  */
1596
- patchSubmit(ref) {
1627
+ async patchSubmit(ref) {
1597
1628
  const parsed = parseAssetRef(ref);
1598
- const entry = this.info(ref);
1629
+ const entry = await this.info(ref);
1599
1630
  if (!entry?.publisher) throw new Error(`Asset not found or no publisher: ${ref}`);
1600
1631
  const { repositories } = this.loadConfig();
1601
1632
  const decl = repositories[entry.publisher];
@@ -1636,12 +1667,12 @@ var AssetManager = class {
1636
1667
  *
1637
1668
  * @returns Array of {@link DepIssue} objects. An empty array means the workspace is healthy.
1638
1669
  */
1639
- doctor() {
1670
+ async doctor() {
1640
1671
  const { repositories } = this.loadConfig();
1641
1672
  const deployed = this.listDeployed();
1642
1673
  const issues = [];
1643
1674
  for (const entry of deployed) {
1644
- const full = this.info(`${entry.kind}:${entry.name}`);
1675
+ const full = await this.info(`${entry.kind}:${entry.name}`);
1645
1676
  if (!full) continue;
1646
1677
  for (const req of full.requires) {
1647
1678
  if (!isDeployed(
@@ -1651,7 +1682,11 @@ var AssetManager = class {
1651
1682
  this.global,
1652
1683
  this.projectDir
1653
1684
  )) {
1654
- const inRepos = resolveAsset({ kind: req.kind, name: req.name }, repositories, this.reposDir) !== null;
1685
+ const inRepos = await resolveAsset(
1686
+ { kind: req.kind, name: req.name },
1687
+ repositories,
1688
+ this.reposDir
1689
+ ) !== null;
1655
1690
  issues.push({
1656
1691
  assetKind: entry.kind,
1657
1692
  assetName: entry.name,
@@ -1851,5 +1886,5 @@ var AssetManager = class {
1851
1886
  };
1852
1887
 
1853
1888
  export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, softDepName };
1854
- //# sourceMappingURL=chunk-A22KZ7GZ.js.map
1855
- //# sourceMappingURL=chunk-A22KZ7GZ.js.map
1889
+ //# sourceMappingURL=chunk-UVW3R6S7.js.map
1890
+ //# sourceMappingURL=chunk-UVW3R6S7.js.map