@skaile/workspaces 5.15.1 → 5.17.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 (398) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-FVDNQ2FM.js → asset-feeds-MALYFZUM.js} +18 -18
  4. package/dist/{asset-feeds-FVDNQ2FM.js.map → asset-feeds-MALYFZUM.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +7 -7
  6. package/dist/asset-manager/index.js +13 -13
  7. package/dist/asset-manager/installer.js +9 -9
  8. package/dist/asset-manager/renderers.js +8 -8
  9. package/dist/asset-manager/src/index.d.ts +105 -6
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/installer.d.ts +11 -2
  12. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  13. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  14. package/dist/bridge/drivers/claude-sdk.js +425 -111
  15. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  16. package/dist/bridge/drivers/codex.js +15 -128
  17. package/dist/bridge/drivers/codex.js.map +1 -1
  18. package/dist/bridge/drivers/continue.js +10 -10
  19. package/dist/bridge/drivers/echo.js +4 -4
  20. package/dist/bridge/drivers/gemini.js +7 -7
  21. package/dist/bridge/drivers/goose.js +10 -10
  22. package/dist/bridge/drivers/omp.js +64 -8
  23. package/dist/bridge/drivers/omp.js.map +1 -1
  24. package/dist/bridge/drivers/opencode.js +10 -10
  25. package/dist/bridge/drivers/qwen.js +7 -7
  26. package/dist/bridge/index.js +15 -14
  27. package/dist/bridge/src/approval-card.d.ts +24 -0
  28. package/dist/bridge/src/approval-card.d.ts.map +1 -0
  29. package/dist/bridge/src/driver-model-check.d.ts +21 -0
  30. package/dist/bridge/src/driver-model-check.d.ts.map +1 -0
  31. package/dist/bridge/src/drivers/claude-sdk.d.ts +95 -19
  32. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  33. package/dist/bridge/src/drivers/claude-self-turns.d.ts +25 -6
  34. package/dist/bridge/src/drivers/claude-self-turns.d.ts.map +1 -1
  35. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
  36. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  37. package/dist/bridge/src/drivers/sanitize-assistant-text.d.ts +10 -0
  38. package/dist/bridge/src/drivers/sanitize-assistant-text.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/scrub-transcript.d.ts +20 -0
  40. package/dist/bridge/src/drivers/scrub-transcript.d.ts.map +1 -1
  41. package/dist/bridge/src/index.d.ts +2 -0
  42. package/dist/bridge/src/index.d.ts.map +1 -1
  43. package/dist/bridge/src/types.d.ts +23 -0
  44. package/dist/bridge/src/types.d.ts.map +1 -1
  45. package/dist/{chunk-YUURCZWY.js → chunk-2SKPPIV7.js} +5 -5
  46. package/dist/{chunk-YUURCZWY.js.map → chunk-2SKPPIV7.js.map} +1 -1
  47. package/dist/{chunk-TCWECSEB.js → chunk-3OYOBTY4.js} +70 -6
  48. package/dist/chunk-3OYOBTY4.js.map +1 -0
  49. package/dist/{chunk-PK5XQBOC.js → chunk-46IRZJV4.js} +4 -4
  50. package/dist/{chunk-PK5XQBOC.js.map → chunk-46IRZJV4.js.map} +1 -1
  51. package/dist/{chunk-54TVXZP3.js → chunk-5DCOG5B5.js} +3 -3
  52. package/dist/{chunk-54TVXZP3.js.map → chunk-5DCOG5B5.js.map} +1 -1
  53. package/dist/{chunk-X7DIT65W.js → chunk-5RDZ5JHH.js} +4 -4
  54. package/dist/{chunk-X7DIT65W.js.map → chunk-5RDZ5JHH.js.map} +1 -1
  55. package/dist/chunk-5SWED2LW.js +125 -0
  56. package/dist/chunk-5SWED2LW.js.map +1 -0
  57. package/dist/{chunk-BV7NLPI6.js → chunk-6GSE63K2.js} +4 -4
  58. package/dist/{chunk-BV7NLPI6.js.map → chunk-6GSE63K2.js.map} +1 -1
  59. package/dist/{chunk-PW3TYWOI.js → chunk-AJ7EGIFR.js} +3 -3
  60. package/dist/{chunk-PW3TYWOI.js.map → chunk-AJ7EGIFR.js.map} +1 -1
  61. package/dist/{chunk-LEOXPIC6.js → chunk-AP24HESN.js} +3 -3
  62. package/dist/{chunk-LEOXPIC6.js.map → chunk-AP24HESN.js.map} +1 -1
  63. package/dist/{chunk-7Y7UYNGL.js → chunk-BBRMS4IC.js} +12 -9
  64. package/dist/chunk-BBRMS4IC.js.map +1 -0
  65. package/dist/{chunk-55VKZUQY.js → chunk-BVXXBZWA.js} +70 -34
  66. package/dist/chunk-BVXXBZWA.js.map +1 -0
  67. package/dist/{chunk-JUHDED6J.js → chunk-CWAWYXD5.js} +3 -3
  68. package/dist/{chunk-JUHDED6J.js.map → chunk-CWAWYXD5.js.map} +1 -1
  69. package/dist/{chunk-OOQ5Q75W.js → chunk-D3PU3C6F.js} +41 -16
  70. package/dist/chunk-D3PU3C6F.js.map +1 -0
  71. package/dist/{chunk-WXKNM2JJ.js → chunk-D5REDKVU.js} +3 -3
  72. package/dist/{chunk-WXKNM2JJ.js.map → chunk-D5REDKVU.js.map} +1 -1
  73. package/dist/{chunk-B6I7SF2X.js → chunk-DR5ZOEYI.js} +114 -81
  74. package/dist/chunk-DR5ZOEYI.js.map +1 -0
  75. package/dist/{chunk-YIDZJHY6.js → chunk-EFLKSMCO.js} +3 -3
  76. package/dist/{chunk-YIDZJHY6.js.map → chunk-EFLKSMCO.js.map} +1 -1
  77. package/dist/{chunk-JJLH4TX4.js → chunk-EOKWTN4N.js} +421 -112
  78. package/dist/chunk-EOKWTN4N.js.map +1 -0
  79. package/dist/{chunk-NKDSU4Q7.js → chunk-ES6ARJPQ.js} +21 -7
  80. package/dist/chunk-ES6ARJPQ.js.map +1 -0
  81. package/dist/{chunk-VQQCA7BD.js → chunk-EYDRONKO.js} +4 -4
  82. package/dist/{chunk-VQQCA7BD.js.map → chunk-EYDRONKO.js.map} +1 -1
  83. package/dist/{chunk-U7YMGW7M.js → chunk-FACRITOL.js} +2 -2
  84. package/dist/{chunk-U7YMGW7M.js.map → chunk-FACRITOL.js.map} +1 -1
  85. package/dist/{chunk-WWUWMOX2.js → chunk-FSLVMZXR.js} +37 -17
  86. package/dist/chunk-FSLVMZXR.js.map +1 -0
  87. package/dist/{chunk-MKTJZLQM.js → chunk-FSSRBWYL.js} +4 -4
  88. package/dist/{chunk-MKTJZLQM.js.map → chunk-FSSRBWYL.js.map} +1 -1
  89. package/dist/{chunk-VY6NTFE7.js → chunk-FT4ZHLYR.js} +3 -2
  90. package/dist/chunk-FT4ZHLYR.js.map +1 -0
  91. package/dist/{chunk-O673TBWJ.js → chunk-GYZJKZPJ.js} +3 -3
  92. package/dist/{chunk-O673TBWJ.js.map → chunk-GYZJKZPJ.js.map} +1 -1
  93. package/dist/{chunk-ANSZULXH.js → chunk-H7R7R5BN.js} +21 -6
  94. package/dist/chunk-H7R7R5BN.js.map +1 -0
  95. package/dist/{chunk-RNFHJUK7.js → chunk-HLETG3CX.js} +3 -3
  96. package/dist/{chunk-RNFHJUK7.js.map → chunk-HLETG3CX.js.map} +1 -1
  97. package/dist/{plugin-store-BIITCNOZ.js → chunk-HUKUYWBJ.js} +32 -23
  98. package/dist/chunk-HUKUYWBJ.js.map +1 -0
  99. package/dist/chunk-KZWZRNIY.js +1016 -0
  100. package/dist/chunk-KZWZRNIY.js.map +1 -0
  101. package/dist/{chunk-X5O56UO4.js → chunk-L2AMXONH.js} +3 -3
  102. package/dist/chunk-L2AMXONH.js.map +1 -0
  103. package/dist/{chunk-NOF73BUH.js → chunk-L6UMSKDF.js} +10 -2
  104. package/dist/chunk-L6UMSKDF.js.map +1 -0
  105. package/dist/{chunk-GQ5OYFVD.js → chunk-LQT2IKYY.js} +47 -47
  106. package/dist/chunk-LQT2IKYY.js.map +1 -0
  107. package/dist/{chunk-NHH3MRSC.js → chunk-MMARPEV7.js} +7 -7
  108. package/dist/{chunk-NHH3MRSC.js.map → chunk-MMARPEV7.js.map} +1 -1
  109. package/dist/{chunk-GR7TV4XC.js → chunk-OQN7PCI4.js} +4 -4
  110. package/dist/{chunk-GR7TV4XC.js.map → chunk-OQN7PCI4.js.map} +1 -1
  111. package/dist/{chunk-NVBN3YOH.js → chunk-OXUCYHL5.js} +46 -67
  112. package/dist/chunk-OXUCYHL5.js.map +1 -0
  113. package/dist/{chunk-SZPE55SB.js → chunk-PGZDSDOB.js} +3 -3
  114. package/dist/{chunk-SZPE55SB.js.map → chunk-PGZDSDOB.js.map} +1 -1
  115. package/dist/{chunk-4QINFQ27.js → chunk-PIC23DDE.js} +59 -17
  116. package/dist/chunk-PIC23DDE.js.map +1 -0
  117. package/dist/{chunk-SAKVAG23.js → chunk-QBY74UBH.js} +7 -7
  118. package/dist/{chunk-SAKVAG23.js.map → chunk-QBY74UBH.js.map} +1 -1
  119. package/dist/{chunk-GV3MFKDV.js → chunk-QEX75L77.js} +62 -6
  120. package/dist/chunk-QEX75L77.js.map +1 -0
  121. package/dist/{chunk-4AKR4XPQ.js → chunk-QSLXB44M.js} +3 -3
  122. package/dist/chunk-QSLXB44M.js.map +1 -0
  123. package/dist/{chunk-PQF5QHVS.js → chunk-QW534EZB.js} +20 -6
  124. package/dist/chunk-QW534EZB.js.map +1 -0
  125. package/dist/{chunk-DPCEQOIZ.js → chunk-QXA2W6UB.js} +3 -3
  126. package/dist/{chunk-DPCEQOIZ.js.map → chunk-QXA2W6UB.js.map} +1 -1
  127. package/dist/{chunk-N36S36OZ.js → chunk-SPV2CXJ3.js} +3 -3
  128. package/dist/{chunk-N36S36OZ.js.map → chunk-SPV2CXJ3.js.map} +1 -1
  129. package/dist/{chunk-KRRHADE7.js → chunk-SXWGLW23.js} +4 -4
  130. package/dist/{chunk-KRRHADE7.js.map → chunk-SXWGLW23.js.map} +1 -1
  131. package/dist/{chunk-MUOSKYI2.js → chunk-V5CDPKDA.js} +12 -12
  132. package/dist/{chunk-MUOSKYI2.js.map → chunk-V5CDPKDA.js.map} +1 -1
  133. package/dist/{chunk-R37L4BNR.js → chunk-W44KA24A.js} +648 -76
  134. package/dist/chunk-W44KA24A.js.map +1 -0
  135. package/dist/{chunk-PV47EEHD.js → chunk-WKEBNB5S.js} +4 -4
  136. package/dist/{chunk-PV47EEHD.js.map → chunk-WKEBNB5S.js.map} +1 -1
  137. package/dist/{chunk-ESXZJP4M.js → chunk-WXWQNJCT.js} +3 -3
  138. package/dist/{chunk-ESXZJP4M.js.map → chunk-WXWQNJCT.js.map} +1 -1
  139. package/dist/{chunk-354JIEIE.js → chunk-WY22FMZF.js} +5 -5
  140. package/dist/{chunk-354JIEIE.js.map → chunk-WY22FMZF.js.map} +1 -1
  141. package/dist/{chunk-D5WTOVLG.js → chunk-Y56YIT6J.js} +2 -2
  142. package/dist/chunk-Y56YIT6J.js.map +1 -0
  143. package/dist/{chunk-ZIW34FGO.js → chunk-YIF2IJUA.js} +3 -3
  144. package/dist/{chunk-ZIW34FGO.js.map → chunk-YIF2IJUA.js.map} +1 -1
  145. package/dist/{chunk-MGM5EJQQ.js → chunk-YK3XLEQJ.js} +40 -26
  146. package/dist/chunk-YK3XLEQJ.js.map +1 -0
  147. package/dist/{chunk-SP5NGNBV.js → chunk-YW2BNDSE.js} +11 -4
  148. package/dist/chunk-YW2BNDSE.js.map +1 -0
  149. package/dist/{chunk-GLMKS6V6.js → chunk-ZPCABSSW.js} +4 -4
  150. package/dist/{chunk-GLMKS6V6.js.map → chunk-ZPCABSSW.js.map} +1 -1
  151. package/dist/{chunk-J76LDUDS.js → chunk-ZVZTCDUN.js} +26 -10
  152. package/dist/chunk-ZVZTCDUN.js.map +1 -0
  153. package/dist/{chunk-RTYDYSUV.js → chunk-ZWUJ22RF.js} +82 -22
  154. package/dist/chunk-ZWUJ22RF.js.map +1 -0
  155. package/dist/cli/index.js +902 -1620
  156. package/dist/cli/index.js.map +1 -1
  157. package/dist/cli/src/agent-checks.d.ts +22 -10
  158. package/dist/cli/src/agent-checks.d.ts.map +1 -1
  159. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  160. package/dist/cli/src/commands/config.d.ts.map +1 -1
  161. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  162. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  163. package/dist/cli/src/commands/library-index.d.ts +6 -0
  164. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  165. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  166. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  167. package/dist/cli/src/commands/plugin/codex.d.ts +10 -0
  168. package/dist/cli/src/commands/plugin/codex.d.ts.map +1 -1
  169. package/dist/cli/src/commands/plugin/types.d.ts +5 -2
  170. package/dist/cli/src/commands/plugin/types.d.ts.map +1 -1
  171. package/dist/cli/src/commands/preset-export.d.ts.map +1 -1
  172. package/dist/cli/src/commands/project.d.ts +6 -0
  173. package/dist/cli/src/commands/project.d.ts.map +1 -1
  174. package/dist/cli/src/commands/rebuild.d.ts.map +1 -1
  175. package/dist/cli/src/commands/run.d.ts.map +1 -1
  176. package/dist/cli/src/commands/serve-preflight.d.ts +13 -0
  177. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  178. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  179. package/dist/cli/src/commands/show.d.ts.map +1 -1
  180. package/dist/cli/src/commands/source.d.ts +2 -1
  181. package/dist/cli/src/commands/source.d.ts.map +1 -1
  182. package/dist/cli/src/commands/store.d.ts.map +1 -1
  183. package/dist/cli/src/commands/update.d.ts.map +1 -1
  184. package/dist/cli/src/commands/validate.d.ts +6 -1
  185. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  186. package/dist/cli/src/commands/verify.d.ts.map +1 -1
  187. package/dist/cli/src/helpers.d.ts +23 -0
  188. package/dist/cli/src/helpers.d.ts.map +1 -1
  189. package/dist/cli/src/plugin-store/index.d.ts +8 -0
  190. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  191. package/dist/cli/src/plugin-store/load.d.ts +1 -0
  192. package/dist/cli/src/plugin-store/load.d.ts.map +1 -1
  193. package/dist/cli/src/skill-checks.d.ts +9 -21
  194. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  195. package/dist/connectors/config.js +5 -5
  196. package/dist/connectors/index.js +19 -18
  197. package/dist/{connectors-TVFFE5H4.js → connectors-CIEIMJY2.js} +22 -21
  198. package/dist/{connectors-TVFFE5H4.js.map → connectors-CIEIMJY2.js.map} +1 -1
  199. package/dist/connectors-shared/index.js +2 -2
  200. package/dist/core/index.js +6 -6
  201. package/dist/core/manifest.js +2 -2
  202. package/dist/core/models.js +1 -1
  203. package/dist/core/publish-manifest.js +3 -3
  204. package/dist/core/ref.js +1 -1
  205. package/dist/core/runtime-assets.js +5 -5
  206. package/dist/core/src/conformance.d.ts.map +1 -1
  207. package/dist/core/src/driver-sdk.d.ts +12 -2
  208. package/dist/core/src/driver-sdk.d.ts.map +1 -1
  209. package/dist/core/src/index.d.ts +4 -4
  210. package/dist/core/src/index.d.ts.map +1 -1
  211. package/dist/core/src/lock.d.ts +7 -0
  212. package/dist/core/src/lock.d.ts.map +1 -1
  213. package/dist/core/src/manifest.d.ts +9 -0
  214. package/dist/core/src/manifest.d.ts.map +1 -1
  215. package/dist/core/src/models.d.ts.map +1 -1
  216. package/dist/core/src/publish-manifest.d.ts +5 -2
  217. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  218. package/dist/core/src/repo-manager.d.ts +14 -0
  219. package/dist/core/src/repo-manager.d.ts.map +1 -1
  220. package/dist/core/workspace-config.js +4 -4
  221. package/dist/deploy/index.js +6 -6
  222. package/dist/discovery/index.js +5 -5
  223. package/dist/discovery/src/index.d.ts +2 -2
  224. package/dist/discovery/src/index.d.ts.map +1 -1
  225. package/dist/discovery/src/parse-manifest.d.ts +7 -0
  226. package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
  227. package/dist/discovery/src/source-config.d.ts +6 -0
  228. package/dist/discovery/src/source-config.d.ts.map +1 -1
  229. package/dist/{ensure-sources-N4E5EDGC.js → ensure-sources-I62QMZZP.js} +16 -16
  230. package/dist/{ensure-sources-N4E5EDGC.js.map → ensure-sources-I62QMZZP.js.map} +1 -1
  231. package/dist/factory-assets/README.md +1 -1
  232. package/dist/factory-assets/connectors/box.js +19 -18
  233. package/dist/factory-assets/connectors/deploy.js +19 -18
  234. package/dist/factory-assets/connectors/devserver.js +19 -18
  235. package/dist/factory-assets/connectors/flow/adapter.js +19 -18
  236. package/dist/factory-assets/connectors/flow/engine.js +7 -7
  237. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  238. package/dist/factory-assets/connectors/flow/run-flow.js +21 -20
  239. package/dist/factory-assets/connectors/flow.js +19 -18
  240. package/dist/factory-assets/connectors/git.js +19 -18
  241. package/dist/factory-assets/connectors/gmail.js +19 -18
  242. package/dist/factory-assets/connectors/googledrive.js +19 -18
  243. package/dist/factory-assets/connectors/local.js +19 -18
  244. package/dist/factory-assets/connectors/mattermost.js +19 -18
  245. package/dist/factory-assets/connectors/memory.js +19 -18
  246. package/dist/factory-assets/connectors/minio.js +19 -18
  247. package/dist/factory-assets/connectors/postgres.js +19 -18
  248. package/dist/factory-assets/connectors/s3.js +19 -18
  249. package/dist/factory-assets/connectors/sharepoint.js +19 -18
  250. package/dist/factory-assets/connectors/sqlite.js +19 -18
  251. package/dist/factory-assets/connectors/static-server.js +19 -18
  252. package/dist/factory-assets/connectors/tunnel.js +19 -18
  253. package/dist/factory-assets/connectors/webdav.js +19 -18
  254. package/dist/factory-assets/connectors/xstate-store.js +19 -18
  255. package/dist/factory-assets/connectors/xstate.js +19 -18
  256. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +12 -11
  257. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +11 -7
  258. package/dist/factory-assets/skills/skailify/SKILL.md +3 -3
  259. package/dist/{flows-CYJI3URW.js → flows-YKC53LDP.js} +11 -11
  260. package/dist/{flows-CYJI3URW.js.map → flows-YKC53LDP.js.map} +1 -1
  261. package/dist/{helpers-PPVGVYIZ.js → helpers-3FOM37BO.js} +16 -16
  262. package/dist/{helpers-PPVGVYIZ.js.map → helpers-3FOM37BO.js.map} +1 -1
  263. package/dist/library/index.js +10 -10
  264. package/dist/library/install.js +4 -4
  265. package/dist/library/src/index.d.ts +1 -1
  266. package/dist/library/src/index.d.ts.map +1 -1
  267. package/dist/library/src/local/store-paths.d.ts +8 -0
  268. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  269. package/dist/library/src/manifest-writer.d.ts +5 -1
  270. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  271. package/dist/library/src/remote/remote-catalog-source.d.ts +3 -2
  272. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  273. package/dist/{library-publish-EQFYHJ6G.js → library-publish-EFKITCGE.js} +59 -51
  274. package/dist/library-publish-EFKITCGE.js.map +1 -0
  275. package/dist/model-endpoint/index.js +19 -3
  276. package/dist/model-endpoint/src/index.d.ts +1 -1
  277. package/dist/model-endpoint/src/index.d.ts.map +1 -1
  278. package/dist/model-endpoint/src/resolve.d.ts +5 -0
  279. package/dist/model-endpoint/src/resolve.d.ts.map +1 -1
  280. package/dist/model-endpoint/src/server.d.ts +7 -0
  281. package/dist/model-endpoint/src/server.d.ts.map +1 -1
  282. package/dist/model-endpoint/src/types.d.ts +41 -7
  283. package/dist/model-endpoint/src/types.d.ts.map +1 -1
  284. package/dist/{open-library-JJGDEYYT.js → open-library-NZUI4XGF.js} +19 -19
  285. package/dist/{open-library-JJGDEYYT.js.map → open-library-NZUI4XGF.js.map} +1 -1
  286. package/dist/{open-registry-X6YQVP7V.js → open-registry-YPRQDUMK.js} +14 -14
  287. package/dist/{open-registry-X6YQVP7V.js.map → open-registry-YPRQDUMK.js.map} +1 -1
  288. package/dist/{paths-NXWIBZCX.js → paths-P55DTBEK.js} +9 -9
  289. package/dist/{paths-NXWIBZCX.js.map → paths-P55DTBEK.js.map} +1 -1
  290. package/dist/plugin-store-IPIBZRBX.js +23 -0
  291. package/dist/plugin-store-IPIBZRBX.js.map +1 -0
  292. package/dist/project-2BNFZ2CR.js +83 -0
  293. package/dist/{project-5HW3XSOE.js.map → project-2BNFZ2CR.js.map} +1 -1
  294. package/dist/resolver/index.js +7 -7
  295. package/dist/resolver/src/types.d.ts +1 -0
  296. package/dist/resolver/src/types.d.ts.map +1 -1
  297. package/dist/resolver/src/validator.d.ts +1 -1
  298. package/dist/runner/index.js +35 -34
  299. package/dist/runner/src/agent.d.ts +9 -1
  300. package/dist/runner/src/agent.d.ts.map +1 -1
  301. package/dist/runner/src/agents/in-process-host.d.ts.map +1 -1
  302. package/dist/runner/src/coalesced-restart.d.ts +41 -0
  303. package/dist/runner/src/coalesced-restart.d.ts.map +1 -0
  304. package/dist/runner/src/compaction/prompt.d.ts.map +1 -1
  305. package/dist/runner/src/composition/content-source.d.ts.map +1 -1
  306. package/dist/runner/src/composition/index.d.ts +1 -1
  307. package/dist/runner/src/composition/index.d.ts.map +1 -1
  308. package/dist/runner/src/composition/resolve-instance.d.ts +20 -0
  309. package/dist/runner/src/composition/resolve-instance.d.ts.map +1 -1
  310. package/dist/runner/src/mcp-runtime-handlers.d.ts +27 -0
  311. package/dist/runner/src/mcp-runtime-handlers.d.ts.map +1 -1
  312. package/dist/runner/src/model-endpoint-discovery.d.ts.map +1 -1
  313. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  314. package/dist/runner/src/runner-capabilities.d.ts +16 -3
  315. package/dist/runner/src/runner-capabilities.d.ts.map +1 -1
  316. package/dist/runner/src/serve.d.ts +10 -0
  317. package/dist/runner/src/serve.d.ts.map +1 -1
  318. package/dist/runner/src/session-builder.d.ts +20 -1
  319. package/dist/runner/src/session-builder.d.ts.map +1 -1
  320. package/dist/runner/src/session-capability-wiring.d.ts +7 -0
  321. package/dist/runner/src/session-capability-wiring.d.ts.map +1 -1
  322. package/dist/sdk/asset-manager.js +13 -13
  323. package/dist/sdk/bridge.js +15 -14
  324. package/dist/sdk/core.js +6 -6
  325. package/dist/sdk/flow.js +7 -7
  326. package/dist/sdk/index.js +35 -34
  327. package/dist/sdk/index.js.map +1 -1
  328. package/dist/sdk/resolver.js +7 -7
  329. package/dist/sdk/runner.js +35 -34
  330. package/dist/sdk/session.js +2 -2
  331. package/dist/sdk/transport/ws/server.js +1 -1
  332. package/dist/sdk/transport/ws.js +1 -1
  333. package/dist/sdk/transport.js +1 -1
  334. package/dist/sdk/types.js +1 -1
  335. package/dist/{serve-preflight-GD7IQFA3.js → serve-preflight-V5GM33T3.js} +15 -9
  336. package/dist/serve-preflight-V5GM33T3.js.map +1 -0
  337. package/dist/session/index.js +2 -2
  338. package/dist/{setup-52NDDR7C.js → setup-ZMAPTKJW.js} +25 -24
  339. package/dist/setup-ZMAPTKJW.js.map +1 -0
  340. package/dist/{skills-XVHOXOOH.js → skills-7G6QCDEM.js} +12 -12
  341. package/dist/{skills-XVHOXOOH.js.map → skills-7G6QCDEM.js.map} +1 -1
  342. package/dist/{source-WKV4QFGS.js → source-6BZA34F5.js} +45 -44
  343. package/dist/{source-WKV4QFGS.js.map → source-6BZA34F5.js.map} +1 -1
  344. package/dist/{source-manifest-publish-3HAX6DPN.js → source-manifest-publish-MJXCSUKT.js} +47 -46
  345. package/dist/source-manifest-publish-MJXCSUKT.js.map +1 -0
  346. package/dist/transport/index.js +1 -1
  347. package/dist/transport/src/ws/server.d.ts +9 -0
  348. package/dist/transport/src/ws/server.d.ts.map +1 -1
  349. package/dist/transport/ws/server.js +1 -1
  350. package/dist/transport/ws.js +1 -1
  351. package/dist/tui/index.js +110 -44
  352. package/dist/tui/index.js.map +1 -1
  353. package/dist/tui/src/repl-session.d.ts +7 -0
  354. package/dist/tui/src/repl-session.d.ts.map +1 -1
  355. package/dist/tui/src/repl.d.ts +16 -0
  356. package/dist/tui/src/repl.d.ts.map +1 -1
  357. package/dist/types/index.js +1 -1
  358. package/dist/types/manifests.js +1 -1
  359. package/dist/types/src/events.d.ts +7 -4
  360. package/dist/types/src/events.d.ts.map +1 -1
  361. package/dist/types/src/manifests/index.d.ts +1 -0
  362. package/dist/types/src/manifests/index.d.ts.map +1 -1
  363. package/dist/types/src/manifests/scaffold-body.d.ts +8 -0
  364. package/dist/types/src/manifests/scaffold-body.d.ts.map +1 -0
  365. package/dist/workspace-plugin/adapters/mcp.js +26 -25
  366. package/dist/workspace-plugin/adapters/omp.js +14 -14
  367. package/dist/workspace-plugin/index.js +1 -1
  368. package/package.json +1 -1
  369. package/dist/chunk-4AKR4XPQ.js.map +0 -1
  370. package/dist/chunk-4QINFQ27.js.map +0 -1
  371. package/dist/chunk-55VKZUQY.js.map +0 -1
  372. package/dist/chunk-7Y7UYNGL.js.map +0 -1
  373. package/dist/chunk-ANSZULXH.js.map +0 -1
  374. package/dist/chunk-B6I7SF2X.js.map +0 -1
  375. package/dist/chunk-D5WTOVLG.js.map +0 -1
  376. package/dist/chunk-GQ5OYFVD.js.map +0 -1
  377. package/dist/chunk-GV3MFKDV.js.map +0 -1
  378. package/dist/chunk-J76LDUDS.js.map +0 -1
  379. package/dist/chunk-JJLH4TX4.js.map +0 -1
  380. package/dist/chunk-MGM5EJQQ.js.map +0 -1
  381. package/dist/chunk-NKDSU4Q7.js.map +0 -1
  382. package/dist/chunk-NOF73BUH.js.map +0 -1
  383. package/dist/chunk-NVBN3YOH.js.map +0 -1
  384. package/dist/chunk-OOQ5Q75W.js.map +0 -1
  385. package/dist/chunk-PQF5QHVS.js.map +0 -1
  386. package/dist/chunk-R37L4BNR.js.map +0 -1
  387. package/dist/chunk-RTYDYSUV.js.map +0 -1
  388. package/dist/chunk-SP5NGNBV.js.map +0 -1
  389. package/dist/chunk-TCWECSEB.js.map +0 -1
  390. package/dist/chunk-VY6NTFE7.js.map +0 -1
  391. package/dist/chunk-WWUWMOX2.js.map +0 -1
  392. package/dist/chunk-X5O56UO4.js.map +0 -1
  393. package/dist/library-publish-EQFYHJ6G.js.map +0 -1
  394. package/dist/plugin-store-BIITCNOZ.js.map +0 -1
  395. package/dist/project-5HW3XSOE.js +0 -82
  396. package/dist/serve-preflight-GD7IQFA3.js.map +0 -1
  397. package/dist/setup-52NDDR7C.js.map +0 -1
  398. package/dist/source-manifest-publish-3HAX6DPN.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { getStoreConfig, getStoreToken, storeFetch } from './chunk-VQQCA7BD.js';
1
+ import { getStoreConfig, getStoreToken, storeFetch } from './chunk-EYDRONKO.js';
2
2
 
3
3
  // cli/src/store-publisher.ts
4
4
  function makeHttpPublisherClient(config = getStoreConfig(), timeoutMs = 2e4) {
@@ -25,5 +25,5 @@ function makeHttpPublisherClient(config = getStoreConfig(), timeoutMs = 2e4) {
25
25
  }
26
26
 
27
27
  export { makeHttpPublisherClient };
28
- //# sourceMappingURL=chunk-JUHDED6J.js.map
29
- //# sourceMappingURL=chunk-JUHDED6J.js.map
28
+ //# sourceMappingURL=chunk-CWAWYXD5.js.map
29
+ //# sourceMappingURL=chunk-CWAWYXD5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/store-publisher.ts"],"names":[],"mappings":";;;AA+FO,SAAS,uBAAA,CACd,MAAA,GAAsB,cAAA,EAAe,EACrC,YAAY,GAAA,EACK;AAGjB,EAAA,MAAM,IAAA,GAAO,OACX,IAAA,EACA,IAAA,KACe;AACf,IAAA,MAAM,GAAA,GAAM,MAAM,aAAA,EAAc;AAChC,IAAA,OAAO,UAAA,CAAc,EAAE,GAAG,MAAA,EAAQ,GAAA,EAAI,EAAG,IAAA,EAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAM,CAAA;AAAA,EACvE,CAAA;AACA,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,MAAM,IAAA,CAAK,YAAY,CAAA;AAAA,IAC3B,UAAA,EAAY,CAAC,IAAA,KAAS,IAAA,CAAK,mBAAmB,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,CAAA;AAAA,IACtE,WAAA,EAAa,MAAM,IAAA,CAAK,iBAAiB,CAAA;AAAA,IACzC,UAAA,EAAY,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,KAAA,CAAA,EAAS,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IACnF,QAAQ,CAAC,KAAA,KAAU,IAAA,CAAK,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,CAAA;AAAA,IAC/C,kBAAkB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,WAAA,CAAa,CAAA;AAAA,IACjE,cAAc,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAU,CAAA;AAAA,IACzD,YAAA,EAAc,CAAC,EAAA,EAAI,IAAA,EAAM,WACvB,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAA,EAAY;AAAA,MACnC,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA;AAAA,MACA,GAAI,SAAS,EAAE,MAAA,EAAQ,EAAE,MAAA,EAAQ,GAAA,EAAI,EAAE,GAAI;AAAC,KAC7C,CAAA;AAAA,IACH,cAAA,EAAgB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,UAAA,CAAA,EAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IAC3F,qBAAA,EAAuB,CAAC,EAAA,KACtB,IAAA,CAAK,sBAAsB,kBAAA,CAAmB,EAAE,CAAC,CAAA,aAAA,CAAe;AAAA,GACpE;AACF","file":"chunk-JUHDED6J.js","sourcesContent":["/**\n * Typed REST client for the AI Asset Store **publisher** surface — the\n * curator-publish flow (`skaile source manifest publish` / `yank`). Thin\n * wrappers over {@link storeFetch}; every method maps 1:1 to an `/api/v1/…`\n * endpoint. The {@link PublisherClient} interface is injectable so the\n * orchestration in `commands/source-manifest-publish.ts` can be unit-tested\n * against a fake without a live store.\n *\n * @docLink cli/dev-guide#store-publisher\n */\n\nimport { getStoreConfig, getStoreToken, type StoreConfig, storeFetch } from \"./store-client.ts\";\n\n/**\n * The publisher REST surface used by the curator-publish flow. Kept minimal —\n * only the endpoints `runPublish` / `runYank` actually call. Response shapes\n * are narrowed to the fields the orchestration reads (the server returns more).\n */\nexport interface PublisherClient {\n /**\n * Identity of the caller. `username` is the Keycloak login (personal-tier\n * namespace); `githubLogin` is the verified GitHub handle when connected —\n * the namespace to publish under when it differs from the login.\n */\n me(): Promise<{ username: string; githubLogin?: string | null }>;\n /** Register (or re-register) a source; returns the created/existing row id. */\n sourcesAdd(body: {\n url: string;\n ref: string;\n sidecarUrl?: string;\n sidecarRef?: string;\n /**\n * Target publisher namespace (the manifest's `publisher`). When it differs\n * from the caller's login username, the store resolves the CLAIMED Publisher\n * for it (the store must already have the claim). Omitted → the store\n * defaults to `@<username>` (personal).\n */\n namespace?: string;\n }): Promise<{ id: string }>;\n /** List sources — used to recover an id when `sourcesAdd` rejects a dup url. */\n sourcesList(): Promise<Array<{ id: string; url: string }>>;\n /** Kick off a source sync; returns the async job id to poll. */\n sourceSync(id: string): Promise<{ jobId: string }>;\n /** Poll a job's terminal status + per-item results. */\n jobGet(\n jobId: string,\n ): Promise<{ status: string; items?: Array<{ label: string; status: string; error?: string }> }>;\n /** Discovered publishable candidates for a synced source. */\n sourceCandidates(id: string): Promise<\n Array<{\n id: string;\n name: string;\n version: string;\n kind: string;\n published: boolean;\n assetRoot: string;\n }>\n >;\n /** Per-asset preview — the discovered file set + resolved candidate metadata. */\n assetPreview(id: string): Promise<{\n discoveredFiles: string[];\n candidate: { name: string; version: string; kind: string; publisherNamespace: string };\n }>;\n /**\n * Publish one asset. `dryRun` returns the would-be `{ manifest }` without\n * launching a job; the normal path returns `{ jobId }`.\n */\n assetPublish(\n id: string,\n body: { ref: string; files: string[] },\n dryRun?: boolean,\n ): Promise<{ jobId?: string; manifest?: unknown }>;\n /** Retract a published asset. Response body is ignored. */\n assetUnpublish(id: string): Promise<unknown>;\n /**\n * Read-only \"can I publish under `@<ns>` right now, and if not, what's the\n * path?\" probe. Backs the `publish --dry-run` namespace status line; its\n * `message` is store-authored and meant to be surfaced verbatim.\n */\n namespaceAvailability(ns: string): Promise<{\n namespace: string;\n status: \"owned-by-you\" | \"claimable-by-you\" | \"reserved\" | \"available\";\n claimMethod?: string;\n message: string;\n }>;\n}\n\n/**\n * Construct the real HTTP-backed {@link PublisherClient}. Every call carries a\n * longer timeout than the default store client because publish/sync trigger\n * server-side clone work.\n *\n * @param config - Store connection config; defaults to {@link getStoreConfig}.\n * @param timeoutMs - Per-request abort timeout (default 20s).\n */\nexport function makeHttpPublisherClient(\n config: StoreConfig = getStoreConfig(),\n timeoutMs = 20_000,\n): PublisherClient {\n // Acquire a fresh Keycloak token per call (device-flow session in\n // ~/.skaile/auth.json, refreshed on demand) rather than a static config.jwt.\n const call = async <T>(\n path: string,\n opts?: { method?: string; body?: unknown; params?: Record<string, string> },\n ): Promise<T> => {\n const jwt = await getStoreToken();\n return storeFetch<T>({ ...config, jwt }, path, { timeoutMs, ...opts });\n };\n return {\n me: () => call(\"/api/v1/me\"),\n sourcesAdd: (body) => call(\"/api/v1/sources\", { method: \"POST\", body }),\n sourcesList: () => call(\"/api/v1/sources\"),\n sourceSync: (id) => call(`/api/v1/sources/${id}/sync`, { method: \"POST\", body: {} }),\n jobGet: (jobId) => call(`/api/v1/jobs/${jobId}`),\n sourceCandidates: (id) => call(`/api/v1/sources/${id}/candidates`),\n assetPreview: (id) => call(`/api/v1/assets/${id}/preview`),\n assetPublish: (id, body, dryRun) =>\n call(`/api/v1/assets/${id}/publish`, {\n method: \"POST\",\n body,\n ...(dryRun ? { params: { dryRun: \"1\" } } : {}),\n }),\n assetUnpublish: (id) => call(`/api/v1/assets/${id}/unpublish`, { method: \"POST\", body: {} }),\n namespaceAvailability: (ns) =>\n call(`/api/v1/namespaces/${encodeURIComponent(ns)}/availability`),\n };\n}\n"]}
1
+ {"version":3,"sources":["../cli/src/store-publisher.ts"],"names":[],"mappings":";;;AA+FO,SAAS,uBAAA,CACd,MAAA,GAAsB,cAAA,EAAe,EACrC,YAAY,GAAA,EACK;AAGjB,EAAA,MAAM,IAAA,GAAO,OACX,IAAA,EACA,IAAA,KACe;AACf,IAAA,MAAM,GAAA,GAAM,MAAM,aAAA,EAAc;AAChC,IAAA,OAAO,UAAA,CAAc,EAAE,GAAG,MAAA,EAAQ,GAAA,EAAI,EAAG,IAAA,EAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAM,CAAA;AAAA,EACvE,CAAA;AACA,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,MAAM,IAAA,CAAK,YAAY,CAAA;AAAA,IAC3B,UAAA,EAAY,CAAC,IAAA,KAAS,IAAA,CAAK,mBAAmB,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,CAAA;AAAA,IACtE,WAAA,EAAa,MAAM,IAAA,CAAK,iBAAiB,CAAA;AAAA,IACzC,UAAA,EAAY,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,KAAA,CAAA,EAAS,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IACnF,QAAQ,CAAC,KAAA,KAAU,IAAA,CAAK,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,CAAA;AAAA,IAC/C,kBAAkB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,WAAA,CAAa,CAAA;AAAA,IACjE,cAAc,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAU,CAAA;AAAA,IACzD,YAAA,EAAc,CAAC,EAAA,EAAI,IAAA,EAAM,WACvB,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAA,EAAY;AAAA,MACnC,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA;AAAA,MACA,GAAI,SAAS,EAAE,MAAA,EAAQ,EAAE,MAAA,EAAQ,GAAA,EAAI,EAAE,GAAI;AAAC,KAC7C,CAAA;AAAA,IACH,cAAA,EAAgB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,UAAA,CAAA,EAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IAC3F,qBAAA,EAAuB,CAAC,EAAA,KACtB,IAAA,CAAK,sBAAsB,kBAAA,CAAmB,EAAE,CAAC,CAAA,aAAA,CAAe;AAAA,GACpE;AACF","file":"chunk-CWAWYXD5.js","sourcesContent":["/**\n * Typed REST client for the AI Asset Store **publisher** surface — the\n * curator-publish flow (`skaile source manifest publish` / `yank`). Thin\n * wrappers over {@link storeFetch}; every method maps 1:1 to an `/api/v1/…`\n * endpoint. The {@link PublisherClient} interface is injectable so the\n * orchestration in `commands/source-manifest-publish.ts` can be unit-tested\n * against a fake without a live store.\n *\n * @docLink cli/dev-guide#store-publisher\n */\n\nimport { getStoreConfig, getStoreToken, type StoreConfig, storeFetch } from \"./store-client.ts\";\n\n/**\n * The publisher REST surface used by the curator-publish flow. Kept minimal —\n * only the endpoints `runPublish` / `runYank` actually call. Response shapes\n * are narrowed to the fields the orchestration reads (the server returns more).\n */\nexport interface PublisherClient {\n /**\n * Identity of the caller. `username` is the Keycloak login (personal-tier\n * namespace); `githubLogin` is the verified GitHub handle when connected —\n * the namespace to publish under when it differs from the login.\n */\n me(): Promise<{ username: string; githubLogin?: string | null }>;\n /** Register (or re-register) a source; returns the created/existing row id. */\n sourcesAdd(body: {\n url: string;\n ref: string;\n sidecarUrl?: string;\n sidecarRef?: string;\n /**\n * Target publisher namespace (the manifest's `publisher`). When it differs\n * from the caller's login username, the store resolves the CLAIMED Publisher\n * for it (the store must already have the claim). Omitted → the store\n * defaults to `@<username>` (personal).\n */\n namespace?: string;\n }): Promise<{ id: string }>;\n /** List sources — used to recover an id when `sourcesAdd` rejects a dup url. */\n sourcesList(): Promise<Array<{ id: string; url: string }>>;\n /** Kick off a source sync; returns the async job id to poll. */\n sourceSync(id: string): Promise<{ jobId: string }>;\n /** Poll a job's terminal status + per-item results. */\n jobGet(\n jobId: string,\n ): Promise<{ status: string; items?: Array<{ label: string; status: string; error?: string }> }>;\n /** Discovered publishable candidates for a synced source. */\n sourceCandidates(id: string): Promise<\n Array<{\n id: string;\n name: string;\n version: string;\n kind: string;\n published: boolean;\n assetRoot: string;\n }>\n >;\n /** Per-asset preview — the discovered file set + resolved candidate metadata. */\n assetPreview(id: string): Promise<{\n discoveredFiles: string[];\n candidate: { name: string; version: string; kind: string; publisherNamespace: string };\n }>;\n /**\n * Publish one asset. `dryRun` returns the would-be `{ manifest }` without\n * launching a job; the normal path returns `{ jobId }`.\n */\n assetPublish(\n id: string,\n body: { ref: string; files: string[] },\n dryRun?: boolean,\n ): Promise<{ jobId?: string; manifest?: unknown }>;\n /** Retract a published asset. Response body is ignored. */\n assetUnpublish(id: string): Promise<unknown>;\n /**\n * Read-only \"can I publish under `@<ns>` right now, and if not, what's the\n * path?\" probe. Backs the `publish --dry-run` namespace status line; its\n * `message` is store-authored and meant to be surfaced verbatim.\n */\n namespaceAvailability(ns: string): Promise<{\n namespace: string;\n status: \"owned-by-you\" | \"claimable-by-you\" | \"reserved\" | \"available\";\n claimMethod?: string;\n message: string;\n }>;\n}\n\n/**\n * Construct the real HTTP-backed {@link PublisherClient}. Every call carries a\n * longer timeout than the default store client because publish/sync trigger\n * server-side clone work.\n *\n * @param config - Store connection config; defaults to {@link getStoreConfig}.\n * @param timeoutMs - Per-request abort timeout (default 20s).\n */\nexport function makeHttpPublisherClient(\n config: StoreConfig = getStoreConfig(),\n timeoutMs = 20_000,\n): PublisherClient {\n // Acquire a fresh Keycloak token per call (device-flow session in\n // ~/.skaile/auth.json, refreshed on demand) rather than a static config.jwt.\n const call = async <T>(\n path: string,\n opts?: { method?: string; body?: unknown; params?: Record<string, string> },\n ): Promise<T> => {\n const jwt = await getStoreToken();\n return storeFetch<T>({ ...config, jwt }, path, { timeoutMs, ...opts });\n };\n return {\n me: () => call(\"/api/v1/me\"),\n sourcesAdd: (body) => call(\"/api/v1/sources\", { method: \"POST\", body }),\n sourcesList: () => call(\"/api/v1/sources\"),\n sourceSync: (id) => call(`/api/v1/sources/${id}/sync`, { method: \"POST\", body: {} }),\n jobGet: (jobId) => call(`/api/v1/jobs/${jobId}`),\n sourceCandidates: (id) => call(`/api/v1/sources/${id}/candidates`),\n assetPreview: (id) => call(`/api/v1/assets/${id}/preview`),\n assetPublish: (id, body, dryRun) =>\n call(`/api/v1/assets/${id}/publish`, {\n method: \"POST\",\n body,\n ...(dryRun ? { params: { dryRun: \"1\" } } : {}),\n }),\n assetUnpublish: (id) => call(`/api/v1/assets/${id}/unpublish`, { method: \"POST\", body: {} }),\n namespaceAvailability: (ns) =>\n call(`/api/v1/namespaces/${encodeURIComponent(ns)}/availability`),\n };\n}\n"]}
@@ -1,12 +1,12 @@
1
- import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-NKDSU4Q7.js';
2
- import { installFromManifest, assertSafeManifestPath } from './chunk-KRRHADE7.js';
3
- import { PresetManifestSchema } from './chunk-MGM5EJQQ.js';
4
- import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-4QINFQ27.js';
5
- import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-J76LDUDS.js';
1
+ import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, invalidSemverMessage, parseManifestFile } from './chunk-ES6ARJPQ.js';
2
+ import { installFromManifest, assertSafeManifestPath } from './chunk-SXWGLW23.js';
3
+ import { PresetManifestSchema } from './chunk-YK3XLEQJ.js';
4
+ import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-PIC23DDE.js';
5
+ import { getGlobalCacheDir, storeManifestSlug, priorStoreManifestSlugs, resolveSourcePublisher } from './chunk-ZVZTCDUN.js';
6
6
  import { userConfigPath, globalSkaileDir, mergeLegacyEntriesInto, migrateLegacyDir, globalCacheRoot } from './chunk-L5VSIPQD.js';
7
- import { encodeSkaileManifest, SKAILE_MANIFEST_FILENAME, librarySymlinkMessage, loadSkPublishManifest } from './chunk-ANSZULXH.js';
8
- import { scanDirectory } from './chunk-SP5NGNBV.js';
9
- import { parseAssetRef, assetRefToStr, isValidAssetName } from './chunk-VY6NTFE7.js';
7
+ import { encodeSkaileManifest, SKAILE_MANIFEST_FILENAME, librarySymlinkMessage, loadSkPublishManifest } from './chunk-H7R7R5BN.js';
8
+ import { scanDirectory } from './chunk-YW2BNDSE.js';
9
+ import { parseAssetRef, assetRefToStr, isValidAssetName } from './chunk-FT4ZHLYR.js';
10
10
  import { __export } from './chunk-NSBPE2FW.js';
11
11
  import * as fs11 from 'fs';
12
12
  import { existsSync, mkdirSync, symlinkSync, copyFileSync, cpSync } from 'fs';
@@ -366,8 +366,18 @@ function getStoreRoot() {
366
366
  function getStoreManifestsDir() {
367
367
  return path16.join(getStoreRoot(), "manifests");
368
368
  }
369
+ function storeManifestFile(sourceUrl) {
370
+ const dir = getStoreManifestsDir();
371
+ const current = path16.join(dir, `${storeManifestSlug(sourceUrl)}.yaml`);
372
+ if (fs11.existsSync(current)) return current;
373
+ for (const slug of priorStoreManifestSlugs(sourceUrl)) {
374
+ const old = path16.join(dir, `${slug}.yaml`);
375
+ if (fs11.existsSync(old)) return old;
376
+ }
377
+ return current;
378
+ }
369
379
  function curatedManifestOverlay(sourceUrl) {
370
- const file = path16.join(getStoreManifestsDir(), `${storeManifestSlug(sourceUrl)}.yaml`);
380
+ const file = storeManifestFile(sourceUrl);
371
381
  return fs11.existsSync(file) ? file : void 0;
372
382
  }
373
383
  function commitStoreManifest(file, message) {
@@ -3585,8 +3595,9 @@ var RemoteCatalogSource = class {
3585
3595
  }
3586
3596
  // ── extension API ───────────────────────────────────────────────────────
3587
3597
  /**
3588
- * Force a metadata-cache refresh. Wipes all resolve/list entries and
3589
- * re-fetches `listAssets()` (no filter) to pre-warm the canonical query.
3598
+ * Force a metadata-cache refresh. Re-fetches `listAssets()` (no filter), then wipes all
3599
+ * resolve/list entries and stores the fresh list. When the fetch fails the old entries stay,
3600
+ * so a failed `skaile update` keeps the warm cache for offline reads (p960).
3590
3601
  *
3591
3602
  * Driven by `skaile update`. Tarballs (content-addressed) are not touched
3592
3603
  * — they remain valid across refreshes.
@@ -3598,7 +3609,6 @@ var RemoteCatalogSource = class {
3598
3609
  * error then reads `no answer from <url> within <n> s`.
3599
3610
  */
3600
3611
  async refresh(opts) {
3601
- this.cache.invalidateAll();
3602
3612
  let items;
3603
3613
  try {
3604
3614
  items = await this.fetchListNetwork(void 0, opts?.timeoutMs);
@@ -3609,6 +3619,7 @@ var RemoteCatalogSource = class {
3609
3619
  }
3610
3620
  throw err;
3611
3621
  }
3622
+ this.cache.invalidateAll();
3612
3623
  this.cache.setList(void 0, items);
3613
3624
  for (const item of items) {
3614
3625
  this.cache.setResolve(item.id, item);
@@ -4344,6 +4355,9 @@ function assetRootProblem(libraryPath, root) {
4344
4355
  if (path16.isAbsolute(root) || parts.includes("..")) {
4345
4356
  return `asset root "${root}" must stay inside the library (${realLib}): it resolves to ${path16.resolve(libDir, root)}.`;
4346
4357
  }
4358
+ if (parts.every((part) => part === "" || part === ".")) {
4359
+ return `asset root "${root}" is the library root: an asset needs its own directory.`;
4360
+ }
4347
4361
  let current = libDir;
4348
4362
  const walked = [];
4349
4363
  for (const part of parts) {
@@ -4492,6 +4506,17 @@ async function syncManifestWithDisk(libraryPath, defaultPublisher, registry, opt
4492
4506
  knownKinds,
4493
4507
  keepDuplicates: true
4494
4508
  });
4509
+ const refused = scanned.filter((e) => opts.refuse?.(e));
4510
+ for (const e of refused) {
4511
+ failed.push({
4512
+ kind: e.kind,
4513
+ name: e.name,
4514
+ file: path16.relative(libraryPath, e.source),
4515
+ findings: opts.check?.(e) ?? [],
4516
+ inManifest: false
4517
+ });
4518
+ }
4519
+ scanned.splice(0, scanned.length, ...scanned.filter((e) => !refused.includes(e)));
4495
4520
  const { renamed, superseded } = reconcileEntryNames(libraryPath, scanned);
4496
4521
  const rootOf = (e) => path16.relative(libraryPath, path16.dirname(e.source)) || e.name;
4497
4522
  const copiesOf = /* @__PURE__ */ new Map();
@@ -4525,7 +4550,7 @@ async function syncManifestWithDisk(libraryPath, defaultPublisher, registry, opt
4525
4550
  kind: e.kind,
4526
4551
  name: e.name,
4527
4552
  reason: "invalid-version",
4528
- detail: `version "${e.version}" is not valid semver`,
4553
+ detail: invalidSemverMessage(e.version),
4529
4554
  file: path16.relative(libraryPath, e.source)
4530
4555
  });
4531
4556
  continue;
@@ -4723,6 +4748,6 @@ function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
4723
4748
  return raw.version === 2 ? 2 : 1;
4724
4749
  }
4725
4750
 
4726
- export { AssignmentNotFoundError, CatalogCache, CatalogConfigSchema, CatalogHttpError, DuplicateAssignmentError, DuplicateLibraryNameError, GitSyncDriver, InstanceHasConsumersError, InstanceNotFoundError, InterpolationError, KnowledgeManifestSchema, LIBRARY_BACKENDS, LIBRARY_OWNERSHIPS, LOCAL_CATALOG_URL, LibraryConfigSchema, LibraryError, LibraryInstanceRefSchema, LibraryManager, LibrarySectionSchema, LibrarySyncError, LocalCatalogSource, LocalIndex, LocalSyncDriver, LockAssignmentSchema, LockFileSchema, OfflineError, OperationNotPermittedError, PIN_POLICIES, PinPolicySchema, PresetAppliedSchema, PresetExpandedSchema, RemoteCatalogSource, RequiresEdgeSchema, RestCatalogSource, SidecarGit, SkaileConfigSchema, SourceNotFoundError, TarballHashMismatchError, UserLibraryNotFoundError, WorkspaceConfigV2Schema, applyNonStructuralUpgrade, applyPreset, applyPresetFromData, assertManifestEditable, assertValidLibraryName, assetRootProblem, classifyRef, cloneOrInitGitRepo, commitStoreManifest, conflictingAssetRoot, createEmptyLockFile, curatedManifestOverlay, deriveSlug, describeCatalogError, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, installLibraryAsset, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, libraryDirMissing, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, markLibraryUnregistered, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, missingLibraryDirMessage, missingRootAssets, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, pruneMissingRootAssets, queryInstancePickerChoices, recordLibraryRename, renamedLibraryName, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, scanAuthoringLibraries, scanLibraryRoot, scanUnlistedAssets, setManifestPublisher, setOriginUrl, sha256Hex, stampManifestPublisher, storeSecrets, syncManifestWithDisk, trackOriginBranch, trpcGetUrl, unregisteredLibraryNames, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
4727
- //# sourceMappingURL=chunk-OOQ5Q75W.js.map
4728
- //# sourceMappingURL=chunk-OOQ5Q75W.js.map
4751
+ export { AssignmentNotFoundError, CatalogCache, CatalogConfigSchema, CatalogHttpError, DuplicateAssignmentError, DuplicateLibraryNameError, GitSyncDriver, InstanceHasConsumersError, InstanceNotFoundError, InterpolationError, KnowledgeManifestSchema, LIBRARY_BACKENDS, LIBRARY_OWNERSHIPS, LOCAL_CATALOG_URL, LibraryConfigSchema, LibraryError, LibraryInstanceRefSchema, LibraryManager, LibrarySectionSchema, LibrarySyncError, LocalCatalogSource, LocalIndex, LocalSyncDriver, LockAssignmentSchema, LockFileSchema, OfflineError, OperationNotPermittedError, PIN_POLICIES, PinPolicySchema, PresetAppliedSchema, PresetExpandedSchema, RemoteCatalogSource, RequiresEdgeSchema, RestCatalogSource, SidecarGit, SkaileConfigSchema, SourceNotFoundError, TarballHashMismatchError, UserLibraryNotFoundError, WorkspaceConfigV2Schema, applyNonStructuralUpgrade, applyPreset, applyPresetFromData, assertManifestEditable, assertValidLibraryName, assetRootProblem, classifyRef, cloneOrInitGitRepo, commitStoreManifest, conflictingAssetRoot, createEmptyLockFile, curatedManifestOverlay, deriveSlug, describeCatalogError, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, installLibraryAsset, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, libraryDirMissing, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, markLibraryUnregistered, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, missingLibraryDirMessage, missingRootAssets, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, pruneMissingRootAssets, queryInstancePickerChoices, recordLibraryRename, renamedLibraryName, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, scanAuthoringLibraries, scanLibraryRoot, scanUnlistedAssets, setManifestPublisher, setOriginUrl, sha256Hex, stampManifestPublisher, storeManifestFile, storeSecrets, syncManifestWithDisk, trackOriginBranch, trpcGetUrl, unregisteredLibraryNames, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
4752
+ //# sourceMappingURL=chunk-D3PU3C6F.js.map
4753
+ //# sourceMappingURL=chunk-D3PU3C6F.js.map