@skaile/workspaces 5.11.0 → 5.12.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 (403) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/README.md +2 -2
  3. package/dist/{asset-feeds-CXGQIDFR.js → asset-feeds-AM6PSSGM.js} +24 -21
  4. package/dist/asset-feeds-AM6PSSGM.js.map +1 -0
  5. package/dist/asset-manager/catalog-deployer.js +8 -8
  6. package/dist/asset-manager/fragments.js +1 -1
  7. package/dist/asset-manager/index.js +16 -16
  8. package/dist/asset-manager/installer.js +11 -11
  9. package/dist/asset-manager/renderers.js +9 -9
  10. package/dist/asset-manager/src/fragments.d.ts +5 -0
  11. package/dist/asset-manager/src/fragments.d.ts.map +1 -1
  12. package/dist/asset-manager/src/index.d.ts +95 -10
  13. package/dist/asset-manager/src/index.d.ts.map +1 -1
  14. package/dist/asset-manager/src/install-agent.d.ts +9 -1
  15. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  16. package/dist/asset-manager/src/installer.d.ts +10 -0
  17. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  18. package/dist/asset-manager/src/renderers.d.ts +5 -0
  19. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  20. package/dist/bridge/drivers/claude-sdk.js +16 -13
  21. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  22. package/dist/bridge/drivers/codex.js +43 -16
  23. package/dist/bridge/drivers/codex.js.map +1 -1
  24. package/dist/bridge/drivers/continue.js +10 -10
  25. package/dist/bridge/drivers/echo.js +2 -2
  26. package/dist/bridge/drivers/gemini.js +7 -7
  27. package/dist/bridge/drivers/goose.js +10 -10
  28. package/dist/bridge/drivers/omp.js +37 -10
  29. package/dist/bridge/drivers/omp.js.map +1 -1
  30. package/dist/bridge/drivers/opencode.js +10 -10
  31. package/dist/bridge/drivers/qwen.js +7 -7
  32. package/dist/bridge/index.js +12 -12
  33. package/dist/bridge/src/codex/config-toml.d.ts +8 -3
  34. package/dist/bridge/src/codex/config-toml.d.ts.map +1 -1
  35. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  36. package/dist/bridge/src/drivers/claude-sdk.d.ts +1 -1
  37. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  38. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
  40. package/dist/bridge/src/drivers/omp.d.ts +9 -0
  41. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  42. package/dist/bridge/src/provider-materialize/credential-env.d.ts +15 -0
  43. package/dist/bridge/src/provider-materialize/credential-env.d.ts.map +1 -1
  44. package/dist/{chunk-4A4OD24G.js → chunk-27L6BBAT.js} +9 -9
  45. package/dist/{chunk-4A4OD24G.js.map → chunk-27L6BBAT.js.map} +1 -1
  46. package/dist/{chunk-HCEVNYSH.js → chunk-2JFIFDDO.js} +3 -3
  47. package/dist/{chunk-HCEVNYSH.js.map → chunk-2JFIFDDO.js.map} +1 -1
  48. package/dist/{chunk-3SM2DL2T.js → chunk-2X3JBVGD.js} +11 -10
  49. package/dist/chunk-2X3JBVGD.js.map +1 -0
  50. package/dist/{chunk-G4FFOV3N.js → chunk-3HUV2LJF.js} +4 -4
  51. package/dist/{chunk-G4FFOV3N.js.map → chunk-3HUV2LJF.js.map} +1 -1
  52. package/dist/{chunk-QZNJOHN6.js → chunk-3LVB3HGH.js} +3 -3
  53. package/dist/{chunk-QZNJOHN6.js.map → chunk-3LVB3HGH.js.map} +1 -1
  54. package/dist/{chunk-ZCAJZ4B2.js → chunk-6VLHITAM.js} +145 -3
  55. package/dist/chunk-6VLHITAM.js.map +1 -0
  56. package/dist/{chunk-J4RBUFGM.js → chunk-7CR2OZPA.js} +6 -6
  57. package/dist/{chunk-J4RBUFGM.js.map → chunk-7CR2OZPA.js.map} +1 -1
  58. package/dist/{chunk-HZXUXHIV.js → chunk-7QWQTA5S.js} +89 -12
  59. package/dist/chunk-7QWQTA5S.js.map +1 -0
  60. package/dist/{chunk-TCHRMVTO.js → chunk-7XWUJC3A.js} +4 -4
  61. package/dist/{chunk-TCHRMVTO.js.map → chunk-7XWUJC3A.js.map} +1 -1
  62. package/dist/{chunk-2F5AWQX5.js → chunk-C3BMXXTN.js} +137 -31
  63. package/dist/chunk-C3BMXXTN.js.map +1 -0
  64. package/dist/{chunk-ZPWTOUTK.js → chunk-CTP3XBMF.js} +7 -4
  65. package/dist/chunk-CTP3XBMF.js.map +1 -0
  66. package/dist/{chunk-GCHPUTA3.js → chunk-DCHQ6BAZ.js} +3 -3
  67. package/dist/{chunk-GCHPUTA3.js.map → chunk-DCHQ6BAZ.js.map} +1 -1
  68. package/dist/{chunk-DALV4HHP.js → chunk-DKXNKFKP.js} +3 -2
  69. package/dist/{chunk-DALV4HHP.js.map → chunk-DKXNKFKP.js.map} +1 -1
  70. package/dist/{chunk-X77SUM4P.js → chunk-G3X4MLDB.js} +3 -3
  71. package/dist/{chunk-X77SUM4P.js.map → chunk-G3X4MLDB.js.map} +1 -1
  72. package/dist/{chunk-CAHB6MHA.js → chunk-GWD3QNVS.js} +5 -5
  73. package/dist/{chunk-CAHB6MHA.js.map → chunk-GWD3QNVS.js.map} +1 -1
  74. package/dist/chunk-H5U7LNTJ.js +122 -0
  75. package/dist/chunk-H5U7LNTJ.js.map +1 -0
  76. package/dist/{chunk-QVFAS5IO.js → chunk-HYMERG57.js} +3 -3
  77. package/dist/{chunk-QVFAS5IO.js.map → chunk-HYMERG57.js.map} +1 -1
  78. package/dist/{chunk-R7NHYEJF.js → chunk-ICIYSJBQ.js} +4 -4
  79. package/dist/{chunk-R7NHYEJF.js.map → chunk-ICIYSJBQ.js.map} +1 -1
  80. package/dist/{chunk-YOH2L76X.js → chunk-ID745F3R.js} +353 -233
  81. package/dist/chunk-ID745F3R.js.map +1 -0
  82. package/dist/{chunk-PQFHMQHQ.js → chunk-JQ3DXNQV.js} +4 -4
  83. package/dist/{chunk-PQFHMQHQ.js.map → chunk-JQ3DXNQV.js.map} +1 -1
  84. package/dist/chunk-K4VOEYOR.js +21 -0
  85. package/dist/chunk-K4VOEYOR.js.map +1 -0
  86. package/dist/{chunk-XDKH7XSA.js → chunk-KVSDRB35.js} +5 -5
  87. package/dist/{chunk-XDKH7XSA.js.map → chunk-KVSDRB35.js.map} +1 -1
  88. package/dist/{chunk-47U4GZ4M.js → chunk-MF54ZHWT.js} +20 -3
  89. package/dist/chunk-MF54ZHWT.js.map +1 -0
  90. package/dist/{chunk-VLTQGE2E.js → chunk-N5M2EISA.js} +197 -52
  91. package/dist/chunk-N5M2EISA.js.map +1 -0
  92. package/dist/{chunk-T7CTHHG7.js → chunk-NDF24LYP.js} +3 -3
  93. package/dist/{chunk-T7CTHHG7.js.map → chunk-NDF24LYP.js.map} +1 -1
  94. package/dist/{chunk-CPWLNZGJ.js → chunk-NGJIVDDD.js} +3 -3
  95. package/dist/{chunk-CPWLNZGJ.js.map → chunk-NGJIVDDD.js.map} +1 -1
  96. package/dist/{chunk-FH7W6TJ4.js → chunk-NJV5SLEK.js} +104 -23
  97. package/dist/chunk-NJV5SLEK.js.map +1 -0
  98. package/dist/{chunk-M3B6EIJD.js → chunk-NJXR5OAM.js} +4 -4
  99. package/dist/{chunk-M3B6EIJD.js.map → chunk-NJXR5OAM.js.map} +1 -1
  100. package/dist/{chunk-CGYEHQOX.js → chunk-NOA6EJXE.js} +11 -2
  101. package/dist/chunk-NOA6EJXE.js.map +1 -0
  102. package/dist/{chunk-RYYLMBA2.js → chunk-NR7H7ZJP.js} +14 -6
  103. package/dist/chunk-NR7H7ZJP.js.map +1 -0
  104. package/dist/{chunk-OBYKJB4U.js → chunk-O2SYFJWP.js} +79 -5
  105. package/dist/chunk-O2SYFJWP.js.map +1 -0
  106. package/dist/{chunk-5LKOAX7I.js → chunk-OQ5MKDS3.js} +21 -5
  107. package/dist/chunk-OQ5MKDS3.js.map +1 -0
  108. package/dist/{chunk-CJERAGFY.js → chunk-P23WJCH2.js} +37 -11
  109. package/dist/chunk-P23WJCH2.js.map +1 -0
  110. package/dist/{chunk-NWDSLXOX.js → chunk-PHRNUTSG.js} +118 -118
  111. package/dist/chunk-PHRNUTSG.js.map +1 -0
  112. package/dist/{chunk-ALEYHUC5.js → chunk-PNOGX36L.js} +104 -24
  113. package/dist/chunk-PNOGX36L.js.map +1 -0
  114. package/dist/{chunk-BNMZVPYA.js → chunk-PNTXHTBC.js} +2 -2
  115. package/dist/{chunk-BNMZVPYA.js.map → chunk-PNTXHTBC.js.map} +1 -1
  116. package/dist/{chunk-GV4DZ6MT.js → chunk-POQ6PGNE.js} +4 -4
  117. package/dist/{chunk-GV4DZ6MT.js.map → chunk-POQ6PGNE.js.map} +1 -1
  118. package/dist/{chunk-T42WRQ4O.js → chunk-QCEKGYHF.js} +3 -3
  119. package/dist/{chunk-T42WRQ4O.js.map → chunk-QCEKGYHF.js.map} +1 -1
  120. package/dist/{chunk-EDYHEMJA.js → chunk-SHQMPGOL.js} +4 -4
  121. package/dist/{chunk-EDYHEMJA.js.map → chunk-SHQMPGOL.js.map} +1 -1
  122. package/dist/{chunk-S3O3GKB7.js → chunk-SMT3LNAG.js} +4 -4
  123. package/dist/{chunk-S3O3GKB7.js.map → chunk-SMT3LNAG.js.map} +1 -1
  124. package/dist/{chunk-PBBPZYVG.js → chunk-T5TSLSRO.js} +110 -44
  125. package/dist/chunk-T5TSLSRO.js.map +1 -0
  126. package/dist/{chunk-DZMNFCWB.js → chunk-TVAR4JHA.js} +530 -126
  127. package/dist/chunk-TVAR4JHA.js.map +1 -0
  128. package/dist/{chunk-COH6FQAG.js → chunk-UTKENBB6.js} +5 -5
  129. package/dist/{chunk-COH6FQAG.js.map → chunk-UTKENBB6.js.map} +1 -1
  130. package/dist/{chunk-XUSALIEI.js → chunk-VRLKHL74.js} +6 -6
  131. package/dist/{chunk-XUSALIEI.js.map → chunk-VRLKHL74.js.map} +1 -1
  132. package/dist/{chunk-WSBKB4CJ.js → chunk-WI4T3KIS.js} +51 -16
  133. package/dist/chunk-WI4T3KIS.js.map +1 -0
  134. package/dist/{chunk-D3B36CYC.js → chunk-X3RMRJNR.js} +4 -3
  135. package/dist/chunk-X3RMRJNR.js.map +1 -0
  136. package/dist/{chunk-IER3KIPH.js → chunk-X6LKA3TJ.js} +5 -5
  137. package/dist/{chunk-IER3KIPH.js.map → chunk-X6LKA3TJ.js.map} +1 -1
  138. package/dist/{chunk-Y3HTGHJC.js → chunk-XMAJJPA4.js} +3 -3
  139. package/dist/{chunk-Y3HTGHJC.js.map → chunk-XMAJJPA4.js.map} +1 -1
  140. package/dist/{chunk-SBSA3IQA.js → chunk-XTVSNWLL.js} +19 -7
  141. package/dist/chunk-XTVSNWLL.js.map +1 -0
  142. package/dist/{chunk-MZG34MBZ.js → chunk-XZY6SBGU.js} +3 -3
  143. package/dist/{chunk-MZG34MBZ.js.map → chunk-XZY6SBGU.js.map} +1 -1
  144. package/dist/{chunk-6O2X3GPW.js → chunk-YQU2BPQD.js} +7 -5
  145. package/dist/chunk-YQU2BPQD.js.map +1 -0
  146. package/dist/cli/index.js +1077 -497
  147. package/dist/cli/index.js.map +1 -1
  148. package/dist/cli/src/agent-checks.d.ts +40 -0
  149. package/dist/cli/src/agent-checks.d.ts.map +1 -0
  150. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  151. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  152. package/dist/cli/src/commands/catalog.d.ts +24 -0
  153. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  154. package/dist/cli/src/commands/config.d.ts.map +1 -1
  155. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  156. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  157. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  158. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  159. package/dist/cli/src/commands/mcp-server.d.ts +1 -1
  160. package/dist/cli/src/commands/migrate-assets.d.ts +2 -1
  161. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  162. package/dist/cli/src/commands/migrate.d.ts.map +1 -1
  163. package/dist/cli/src/commands/plugin/claude-code.d.ts +1 -1
  164. package/dist/cli/src/commands/plugin/claude-code.d.ts.map +1 -1
  165. package/dist/cli/src/commands/plugin/types.d.ts +1 -1
  166. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  167. package/dist/cli/src/commands/project.d.ts.map +1 -1
  168. package/dist/cli/src/commands/publish-core.d.ts +5 -0
  169. package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
  170. package/dist/cli/src/commands/run.d.ts +2 -1
  171. package/dist/cli/src/commands/run.d.ts.map +1 -1
  172. package/dist/cli/src/commands/serve-preflight.d.ts +22 -0
  173. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -0
  174. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  175. package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
  176. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  177. package/dist/cli/src/commands/source.d.ts.map +1 -1
  178. package/dist/cli/src/commands/store.d.ts.map +1 -1
  179. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  180. package/dist/cli/src/commands/update.d.ts.map +1 -1
  181. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  182. package/dist/cli/src/commands/why.d.ts.map +1 -1
  183. package/dist/cli/src/curated-manifests.d.ts +21 -0
  184. package/dist/cli/src/curated-manifests.d.ts.map +1 -0
  185. package/dist/cli/src/index-busy.d.ts +8 -0
  186. package/dist/cli/src/index-busy.d.ts.map +1 -0
  187. package/dist/cli/src/plugin-store/paths.d.ts +7 -3
  188. package/dist/cli/src/plugin-store/paths.d.ts.map +1 -1
  189. package/dist/cli/src/skill-checks.d.ts +15 -2
  190. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  191. package/dist/cli/src/store-addable.d.ts +18 -0
  192. package/dist/cli/src/store-addable.d.ts.map +1 -0
  193. package/dist/connectors/config.js +5 -5
  194. package/dist/connectors/index.js +16 -16
  195. package/dist/{connectors-4QWAKPHB.js → connectors-UNKUKEPG.js} +19 -19
  196. package/dist/{connectors-4QWAKPHB.js.map → connectors-UNKUKEPG.js.map} +1 -1
  197. package/dist/core/index.js +7 -7
  198. package/dist/core/logging.js +1 -1
  199. package/dist/core/manifest.js +2 -2
  200. package/dist/core/models.js +1 -1
  201. package/dist/core/publish-manifest.js +2 -2
  202. package/dist/core/ref.js +1 -1
  203. package/dist/core/runtime-assets.js +5 -5
  204. package/dist/core/src/index.d.ts +5 -4
  205. package/dist/core/src/index.d.ts.map +1 -1
  206. package/dist/core/src/lock.d.ts +15 -5
  207. package/dist/core/src/lock.d.ts.map +1 -1
  208. package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
  209. package/dist/core/src/manifest.d.ts +5 -0
  210. package/dist/core/src/manifest.d.ts.map +1 -1
  211. package/dist/core/src/models.d.ts +3 -3
  212. package/dist/core/src/package-manager.d.ts +19 -0
  213. package/dist/core/src/package-manager.d.ts.map +1 -0
  214. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  215. package/dist/core/src/repo-manager.d.ts +11 -0
  216. package/dist/core/src/repo-manager.d.ts.map +1 -1
  217. package/dist/core/src/settings.d.ts +26 -6
  218. package/dist/core/src/settings.d.ts.map +1 -1
  219. package/dist/core/src/walker.d.ts +6 -1
  220. package/dist/core/src/walker.d.ts.map +1 -1
  221. package/dist/core/src/workspace-config.d.ts.map +1 -1
  222. package/dist/core/workspace-config.js +4 -4
  223. package/dist/deploy/index.js +7 -7
  224. package/dist/discovery/index.js +5 -5
  225. package/dist/{ensure-sources-2RONZKCU.js → ensure-sources-POMEQSTM.js} +19 -19
  226. package/dist/{ensure-sources-2RONZKCU.js.map → ensure-sources-POMEQSTM.js.map} +1 -1
  227. package/dist/factory-assets/connectors/box.js +16 -16
  228. package/dist/factory-assets/connectors/deploy.js +16 -16
  229. package/dist/factory-assets/connectors/devserver.js +16 -16
  230. package/dist/factory-assets/connectors/flow/adapter.js +16 -16
  231. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  232. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  233. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  234. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  235. package/dist/factory-assets/connectors/flow/run-flow.js +18 -18
  236. package/dist/factory-assets/connectors/flow.js +16 -16
  237. package/dist/factory-assets/connectors/git.js +16 -16
  238. package/dist/factory-assets/connectors/gmail.js +16 -16
  239. package/dist/factory-assets/connectors/googledrive.js +16 -16
  240. package/dist/factory-assets/connectors/local.js +16 -16
  241. package/dist/factory-assets/connectors/mattermost.js +16 -16
  242. package/dist/factory-assets/connectors/memory.js +16 -16
  243. package/dist/factory-assets/connectors/minio.js +16 -16
  244. package/dist/factory-assets/connectors/postgres.js +16 -16
  245. package/dist/factory-assets/connectors/s3.js +16 -16
  246. package/dist/factory-assets/connectors/sharepoint.js +16 -16
  247. package/dist/factory-assets/connectors/sqlite.js +16 -16
  248. package/dist/factory-assets/connectors/static-server.js +16 -16
  249. package/dist/factory-assets/connectors/tunnel.js +16 -16
  250. package/dist/factory-assets/connectors/webdav.js +16 -16
  251. package/dist/factory-assets/connectors/xstate-store.js +16 -16
  252. package/dist/factory-assets/connectors/xstate.js +16 -16
  253. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +10 -8
  254. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +15 -11
  255. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +12 -9
  256. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +2 -2
  257. package/dist/{flows-EQF2CH4U.js → flows-DVKMZKM4.js} +12 -12
  258. package/dist/{flows-EQF2CH4U.js.map → flows-DVKMZKM4.js.map} +1 -1
  259. package/dist/{helpers-CFK6YP6R.js → helpers-Y4OT7VIS.js} +19 -19
  260. package/dist/{helpers-CFK6YP6R.js.map → helpers-Y4OT7VIS.js.map} +1 -1
  261. package/dist/library/index.js +12 -12
  262. package/dist/library/install.js +4 -4
  263. package/dist/library/src/index.d.ts +2 -2
  264. package/dist/library/src/index.d.ts.map +1 -1
  265. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  266. package/dist/library/src/local/db.d.ts +2 -0
  267. package/dist/library/src/local/db.d.ts.map +1 -1
  268. package/dist/library/src/local/library-manager.d.ts +5 -0
  269. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  270. package/dist/library/src/local/library.d.ts +5 -3
  271. package/dist/library/src/local/library.d.ts.map +1 -1
  272. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  273. package/dist/library/src/local/store-paths.d.ts +9 -0
  274. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  275. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  276. package/dist/library/src/remote/index.d.ts +1 -1
  277. package/dist/library/src/remote/index.d.ts.map +1 -1
  278. package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
  279. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  280. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  281. package/dist/{library-publish-53UTB3MB.js → library-publish-DI4Q5UOG.js} +45 -37
  282. package/dist/library-publish-DI4Q5UOG.js.map +1 -0
  283. package/dist/open-library-N6ESO6IK.js +40 -0
  284. package/dist/{open-library-BOSPJVID.js.map → open-library-N6ESO6IK.js.map} +1 -1
  285. package/dist/open-registry-CBZ5MWTT.js +32 -0
  286. package/dist/{open-registry-4FI7HKET.js.map → open-registry-CBZ5MWTT.js.map} +1 -1
  287. package/dist/paths-U6W6MQNQ.js +22 -0
  288. package/dist/{paths-SUS4S4YT.js.map → paths-U6W6MQNQ.js.map} +1 -1
  289. package/dist/{plugin-store-AGQDMING.js → plugin-store-XMZSPVBF.js} +48 -12
  290. package/dist/plugin-store-XMZSPVBF.js.map +1 -0
  291. package/dist/project-UP52HEHC.js +79 -0
  292. package/dist/{project-I55A4O2T.js.map → project-UP52HEHC.js.map} +1 -1
  293. package/dist/resolver/index.js +8 -8
  294. package/dist/runner/index.js +33 -33
  295. package/dist/runner/src/agent.d.ts.map +1 -1
  296. package/dist/runner/src/agents/in-process-host.d.ts.map +1 -1
  297. package/dist/runner/src/composition/index.d.ts +1 -0
  298. package/dist/runner/src/composition/index.d.ts.map +1 -1
  299. package/dist/runner/src/composition/prompt-sections.d.ts +7 -4
  300. package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -1
  301. package/dist/runner/src/composition/resolve.d.ts +10 -1
  302. package/dist/runner/src/composition/resolve.d.ts.map +1 -1
  303. package/dist/runner/src/composition/verify.d.ts +29 -0
  304. package/dist/runner/src/composition/verify.d.ts.map +1 -0
  305. package/dist/runner/src/credential-notice.d.ts +14 -0
  306. package/dist/runner/src/credential-notice.d.ts.map +1 -0
  307. package/dist/runner/src/environment.d.ts.map +1 -1
  308. package/dist/runner/src/final-text.d.ts +17 -0
  309. package/dist/runner/src/final-text.d.ts.map +1 -0
  310. package/dist/runner/src/index.d.ts +2 -0
  311. package/dist/runner/src/index.d.ts.map +1 -1
  312. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  313. package/dist/runner/src/serve.d.ts +13 -0
  314. package/dist/runner/src/serve.d.ts.map +1 -1
  315. package/dist/sdk/asset-manager.js +16 -16
  316. package/dist/sdk/bridge.js +12 -12
  317. package/dist/sdk/core.js +7 -7
  318. package/dist/sdk/flow.js +9 -9
  319. package/dist/sdk/index.js +36 -34
  320. package/dist/sdk/index.js.map +1 -1
  321. package/dist/sdk/resolver.js +8 -8
  322. package/dist/sdk/runner.js +33 -33
  323. package/dist/sdk/src/local-runtime.d.ts.map +1 -1
  324. package/dist/sdk/transport/ws/client.js +1 -1
  325. package/dist/sdk/transport/ws/server.js +1 -1
  326. package/dist/sdk/transport/ws.js +2 -2
  327. package/dist/sdk/transport.js +2 -2
  328. package/dist/serve-preflight-6P2JJEJ3.js +47 -0
  329. package/dist/serve-preflight-6P2JJEJ3.js.map +1 -0
  330. package/dist/{setup-7DQJKHUI.js → setup-5IRUH5OS.js} +24 -24
  331. package/dist/{setup-7DQJKHUI.js.map → setup-5IRUH5OS.js.map} +1 -1
  332. package/dist/{skills-NUEN5NDX.js → skills-HA36RFNM.js} +13 -13
  333. package/dist/{skills-NUEN5NDX.js.map → skills-HA36RFNM.js.map} +1 -1
  334. package/dist/source-DX5SGWEI.js +41 -0
  335. package/dist/{source-G2LV5LVD.js.map → source-DX5SGWEI.js.map} +1 -1
  336. package/dist/source-fetch-github-PIO6EMMF.js +4 -0
  337. package/dist/{source-fetch-github-QN4LLTL5.js.map → source-fetch-github-PIO6EMMF.js.map} +1 -1
  338. package/dist/{source-manifest-publish-6RM7SWLZ.js → source-manifest-publish-NMRLXWVW.js} +27 -26
  339. package/dist/source-manifest-publish-NMRLXWVW.js.map +1 -0
  340. package/dist/transport/index.js +2 -2
  341. package/dist/transport/src/ws/client.d.ts +6 -0
  342. package/dist/transport/src/ws/client.d.ts.map +1 -1
  343. package/dist/transport/src/ws/server.d.ts +4 -0
  344. package/dist/transport/src/ws/server.d.ts.map +1 -1
  345. package/dist/transport/ws/client.js +1 -1
  346. package/dist/transport/ws/server.js +1 -1
  347. package/dist/transport/ws.js +2 -2
  348. package/dist/tui/index.js +58 -41
  349. package/dist/tui/index.js.map +1 -1
  350. package/dist/tui/src/repl-session.d.ts +1 -1
  351. package/dist/tui/src/repl-session.d.ts.map +1 -1
  352. package/dist/tui/src/repl.d.ts +3 -0
  353. package/dist/tui/src/repl.d.ts.map +1 -1
  354. package/dist/types/manifests.js +1 -1
  355. package/dist/types/src/manifests/agent-composition.d.ts +20 -0
  356. package/dist/types/src/manifests/agent-composition.d.ts.map +1 -1
  357. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  358. package/dist/types/src/manifests/cron.d.ts +15 -0
  359. package/dist/types/src/manifests/cron.d.ts.map +1 -0
  360. package/dist/types/src/manifests/index.d.ts +3 -2
  361. package/dist/types/src/manifests/index.d.ts.map +1 -1
  362. package/dist/workspace-plugin/adapters/mcp.js +23 -23
  363. package/dist/workspace-plugin/adapters/omp.js +106 -51
  364. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  365. package/dist/workspace-plugin/index.js +2 -2
  366. package/dist/workspace-plugin/src/adapters/claude-code.d.ts.map +1 -1
  367. package/dist/workspace-plugin/src/adapters/omp.d.ts +11 -2
  368. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  369. package/package.json +1 -1
  370. package/dist/asset-feeds-CXGQIDFR.js.map +0 -1
  371. package/dist/chunk-2F5AWQX5.js.map +0 -1
  372. package/dist/chunk-3SM2DL2T.js.map +0 -1
  373. package/dist/chunk-47U4GZ4M.js.map +0 -1
  374. package/dist/chunk-5LKOAX7I.js.map +0 -1
  375. package/dist/chunk-6O2X3GPW.js.map +0 -1
  376. package/dist/chunk-ALEYHUC5.js.map +0 -1
  377. package/dist/chunk-CGYEHQOX.js.map +0 -1
  378. package/dist/chunk-CJERAGFY.js.map +0 -1
  379. package/dist/chunk-D3B36CYC.js.map +0 -1
  380. package/dist/chunk-DZMNFCWB.js.map +0 -1
  381. package/dist/chunk-FH7W6TJ4.js.map +0 -1
  382. package/dist/chunk-HZXUXHIV.js.map +0 -1
  383. package/dist/chunk-NWDSLXOX.js.map +0 -1
  384. package/dist/chunk-OBYKJB4U.js.map +0 -1
  385. package/dist/chunk-PBBPZYVG.js.map +0 -1
  386. package/dist/chunk-R7FOF242.js +0 -59
  387. package/dist/chunk-R7FOF242.js.map +0 -1
  388. package/dist/chunk-RYYLMBA2.js.map +0 -1
  389. package/dist/chunk-SBSA3IQA.js.map +0 -1
  390. package/dist/chunk-VLTQGE2E.js.map +0 -1
  391. package/dist/chunk-WSBKB4CJ.js.map +0 -1
  392. package/dist/chunk-YOH2L76X.js.map +0 -1
  393. package/dist/chunk-ZCAJZ4B2.js.map +0 -1
  394. package/dist/chunk-ZPWTOUTK.js.map +0 -1
  395. package/dist/library-publish-53UTB3MB.js.map +0 -1
  396. package/dist/open-library-BOSPJVID.js +0 -40
  397. package/dist/open-registry-4FI7HKET.js +0 -32
  398. package/dist/paths-SUS4S4YT.js +0 -22
  399. package/dist/plugin-store-AGQDMING.js.map +0 -1
  400. package/dist/project-I55A4O2T.js +0 -41
  401. package/dist/source-G2LV5LVD.js +0 -41
  402. package/dist/source-fetch-github-QN4LLTL5.js +0 -4
  403. package/dist/source-manifest-publish-6RM7SWLZ.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-J4RBUFGM.js';
2
- import { installFromManifest, assertSafeManifestPath } from './chunk-COH6FQAG.js';
3
- import { PresetManifestSchema } from './chunk-ZCAJZ4B2.js';
4
- import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-PBBPZYVG.js';
5
- import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-ALEYHUC5.js';
1
+ import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-7CR2OZPA.js';
2
+ import { installFromManifest, assertSafeManifestPath } from './chunk-UTKENBB6.js';
3
+ import { PresetManifestSchema } from './chunk-6VLHITAM.js';
4
+ import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-T5TSLSRO.js';
5
+ import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-PNOGX36L.js';
6
6
  import { userConfigPath, globalSkaileDir, mergeLegacyEntriesInto, migrateLegacyDir, globalCacheRoot } from './chunk-L5VSIPQD.js';
7
- import { encodeSkaileManifest, loadSkPublishManifest, SKAILE_MANIFEST_FILENAME } from './chunk-ZPWTOUTK.js';
8
- import { scanDirectory } from './chunk-SBSA3IQA.js';
9
- import { parseAssetRef, assetRefToStr } from './chunk-BNMZVPYA.js';
7
+ import { encodeSkaileManifest, loadSkPublishManifest, SKAILE_MANIFEST_FILENAME } from './chunk-CTP3XBMF.js';
8
+ import { scanDirectory } from './chunk-XTVSNWLL.js';
9
+ import { parseAssetRef, assetRefToStr } from './chunk-PNTXHTBC.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';
@@ -20,6 +20,7 @@ import { createClient } from '@libsql/client';
20
20
  import { drizzle } from 'drizzle-orm/libsql';
21
21
  import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
22
22
  import { spawnSync } from 'child_process';
23
+ import { valid, gt } from 'semver';
23
24
  import { isDeepStrictEqual } from 'util';
24
25
 
25
26
  // library/src/library.ts
@@ -369,6 +370,31 @@ function curatedManifestOverlay(sourceUrl) {
369
370
  const file = path16.join(getStoreManifestsDir(), `${storeManifestSlug(sourceUrl)}.yaml`);
370
371
  return fs11.existsSync(file) ? file : void 0;
371
372
  }
373
+ function commitStoreManifest(file, message) {
374
+ const root = getStoreRoot();
375
+ try {
376
+ const rel = path16.relative(root, file);
377
+ if (rel.startsWith("..") || path16.isAbsolute(rel)) return false;
378
+ initStoreGitRepo(root);
379
+ const run = (args) => spawnSync(
380
+ "git",
381
+ [
382
+ "-c",
383
+ "user.name=skaile",
384
+ "-c",
385
+ "user.email=skaile@localhost",
386
+ "-c",
387
+ "commit.gpgsign=false",
388
+ ...args
389
+ ],
390
+ { cwd: root, stdio: "ignore" }
391
+ );
392
+ if (run(["add", "--", rel]).status !== 0) return false;
393
+ return run(["commit", "--quiet", "-m", message, "--only", "--", rel]).status === 0;
394
+ } catch {
395
+ return false;
396
+ }
397
+ }
372
398
  function migratedMarkerPath() {
373
399
  return path16.join(getStoreRoot(), ".migrated");
374
400
  }
@@ -693,6 +719,7 @@ function assertNoLegacyLibDb(newDbPath) {
693
719
  );
694
720
  }
695
721
  }
722
+ var INDEX_BUSY_TIMEOUT_MS = 5e3;
696
723
  async function createLibraryDb(dbPath) {
697
724
  assertNoLegacyLibDb(dbPath);
698
725
  try {
@@ -704,6 +731,7 @@ async function createLibraryDb(dbPath) {
704
731
  );
705
732
  }
706
733
  const client = createClient({ url: `file:${dbPath}` });
734
+ await client.execute(`PRAGMA busy_timeout = ${INDEX_BUSY_TIMEOUT_MS}`);
707
735
  await client.execute("PRAGMA journal_mode = WAL");
708
736
  await client.execute("PRAGMA foreign_keys = ON");
709
737
  if (await legacySourcesPresent(client) && !await librariesPresent(client)) {
@@ -890,7 +918,10 @@ var LocalIndex = class {
890
918
  this.dbHandleRef = null;
891
919
  this.dbPromise = null;
892
920
  }
893
- /** Internal access for LibraryManager. Do not call from user code. */
921
+ /**
922
+ * Internal access for LibraryManager. Do not call from user code. Typed `unknown`
923
+ * so the published `.d.ts` pulls in no drizzle types (p461); the manager casts it.
924
+ */
894
925
  async dbHandle() {
895
926
  return this.ensureDb();
896
927
  }
@@ -1561,6 +1592,13 @@ var GitSyncDriver = class {
1561
1592
  }
1562
1593
  assertNoRebase(lib);
1563
1594
  const cfg = gitCfg(lib);
1595
+ if (git(lib.path, ["rev-parse", "--verify", "--quiet", `refs/heads/${cfg.branch}`]).status !== 0) {
1596
+ const current = git(lib.path, ["symbolic-ref", "--short", "-q", "HEAD"]).stdout.trim();
1597
+ throw new LibrarySyncError(
1598
+ current && current !== cfg.branch ? `no local branch "${cfg.branch}" in ${lib.name} (it is on "${current}"); run skaile library set ${lib.name} backendConfig.branch=${current}` : `no local branch "${cfg.branch}" in ${lib.name}; commit something on it first`,
1599
+ "remote_error"
1600
+ );
1601
+ }
1564
1602
  const args = ["push", "origin", cfg.branch];
1565
1603
  if (opts?.force) args.push("--force-with-lease");
1566
1604
  const countRef = "refs/skaile/push-base";
@@ -1579,9 +1617,16 @@ var GitSyncDriver = class {
1579
1617
  const baseRef = fetched.status === 0 || remoteHasNoBranch ? countRef : trackingRef;
1580
1618
  const local = `refs/heads/${cfg.branch}`;
1581
1619
  const pushed = countCommits(lib.path, `${baseRef}..${local}`) ?? countCommits(lib.path, local) ?? 0;
1620
+ const behind = remoteHasNoBranch ? 0 : countCommits(lib.path, `${local}..${baseRef}`) ?? 0;
1582
1621
  git(lib.path, ["update-ref", "-d", countRef]);
1583
1622
  const pushRes = git(lib.path, args);
1584
1623
  if (pushRes.status !== 0 && /non-fast-forward|fetch first|updates were rejected/i.test(pushRes.stderr)) {
1624
+ if (pushed === 0 && behind > 0) {
1625
+ throw new LibrarySyncError(
1626
+ `behind origin by ${behind} commit(s); run skaile library pull ${lib.name}`,
1627
+ "remote_error"
1628
+ );
1629
+ }
1585
1630
  throw new LibrarySyncError(
1586
1631
  `local and remote both changed; run skaile library git ${lib.name} pull --rebase origin ${cfg.branch}`,
1587
1632
  "remote_error"
@@ -1713,6 +1758,13 @@ var LibraryManager = class {
1713
1758
  lib;
1714
1759
  localDrv = new LocalSyncDriver();
1715
1760
  gitDrv = new GitSyncDriver();
1761
+ /**
1762
+ * The index's drizzle handle. `LocalIndex.dbHandle()` is typed `unknown` so the
1763
+ * published `.d.ts` pulls in no drizzle types; the type lives here.
1764
+ */
1765
+ async db() {
1766
+ return await this.lib.dbHandle();
1767
+ }
1716
1768
  /** Resolve the sync driver for a given backend. */
1717
1769
  driverFor(backend) {
1718
1770
  switch (backend) {
@@ -1724,7 +1776,7 @@ var LibraryManager = class {
1724
1776
  }
1725
1777
  async addLibrary(input) {
1726
1778
  assertValidLibraryName(input.name);
1727
- const db = await this.lib.dbHandle();
1779
+ const db = await this.db();
1728
1780
  const existing = await db.select().from(libraries).where(eq(libraries.name, input.name)).get();
1729
1781
  if (existing) throw new DuplicateLibraryNameError(input.name);
1730
1782
  const id = crypto.randomUUID();
@@ -1749,12 +1801,12 @@ var LibraryManager = class {
1749
1801
  return this.requireLibrary(id);
1750
1802
  }
1751
1803
  async listLibraries() {
1752
- const db = await this.lib.dbHandle();
1804
+ const db = await this.db();
1753
1805
  const rows = await db.select().from(libraries).all();
1754
1806
  return rows.map(rowToLibrary2).sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime());
1755
1807
  }
1756
1808
  async getLibrary(nameOrId) {
1757
- const db = await this.lib.dbHandle();
1809
+ const db = await this.db();
1758
1810
  let row = await db.select().from(libraries).where(eq(libraries.name, nameOrId)).get();
1759
1811
  if (!row) {
1760
1812
  row = await db.select().from(libraries).where(eq(libraries.id, nameOrId)).get();
@@ -1782,7 +1834,7 @@ var LibraryManager = class {
1782
1834
  async updateLibrary(nameOrId, patch) {
1783
1835
  const lib = await this.requireLibrary(nameOrId);
1784
1836
  if (patch.name !== void 0 && patch.name !== lib.name) assertValidLibraryName(patch.name);
1785
- const db = await this.lib.dbHandle();
1837
+ const db = await this.db();
1786
1838
  const updates = {
1787
1839
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
1788
1840
  };
@@ -1816,7 +1868,7 @@ var LibraryManager = class {
1816
1868
  }
1817
1869
  async setDefault(nameOrId) {
1818
1870
  const lib = await this.requireLibrary(nameOrId);
1819
- const db = await this.lib.dbHandle();
1871
+ const db = await this.db();
1820
1872
  await db.update(libraries).set({ isDefault: false }).run();
1821
1873
  await db.update(libraries).set({ isDefault: true, updatedAt: (/* @__PURE__ */ new Date()).toISOString() }).where(eq(libraries.id, lib.id)).run();
1822
1874
  return this.requireLibrary(lib.id);
@@ -2014,19 +2066,10 @@ var LocalCatalogSource = class {
2014
2066
  errors.push(`${err.path}: ${err.error}`);
2015
2067
  }
2016
2068
  const advisories = [];
2017
- let missingSha256Count = 0;
2018
2069
  for (const w of result.warnings) {
2019
- if (w.code === "missing_sha256") {
2020
- missingSha256Count++;
2021
- continue;
2022
- }
2070
+ if (w.code === "missing_sha256") continue;
2023
2071
  advisories.push(`${w.path}: ${w.warning}`);
2024
2072
  }
2025
- if (missingSha256Count > 0) {
2026
- advisories.push(
2027
- `${missingSha256Count} asset(s): sha256 not pinned \u2014 auto-computed locally (pin only for store publish)`
2028
- );
2029
- }
2030
2073
  const keepRefs = assets.map((a) => a.ref);
2031
2074
  let pruned = [];
2032
2075
  if (!syncOpts?.only && result.assets.length > 0) {
@@ -3296,8 +3339,6 @@ function sha256Hex(bytes) {
3296
3339
  h.update(bytes);
3297
3340
  return h.digest("hex");
3298
3341
  }
3299
-
3300
- // library/src/remote/remote-catalog-source.ts
3301
3342
  var TarballHashMismatchError = class extends Error {
3302
3343
  constructor(expected, actual) {
3303
3344
  super(`SHA256 mismatch: expected ${expected}, got ${actual}`);
@@ -3324,6 +3365,19 @@ var CatalogHttpError = class extends Error {
3324
3365
  status;
3325
3366
  url;
3326
3367
  };
3368
+ function describeCatalogError(err, baseUrl) {
3369
+ if (err instanceof OfflineError) return err.message;
3370
+ if (err instanceof CatalogHttpError) {
3371
+ return err.status >= 400 && err.status < 600 && !err.message.startsWith("tRPC") ? `${baseUrl} answered ${err.status} (${err.message})` : `${baseUrl}: ${err.message}`;
3372
+ }
3373
+ const e = err;
3374
+ if (e?.name === "TimeoutError" || e?.name === "AbortError") {
3375
+ return `no answer from ${baseUrl} within ${CATALOG_REQUEST_TIMEOUT_MS / 1e3} s`;
3376
+ }
3377
+ const cause = e?.cause;
3378
+ const why = cause?.code ?? cause?.message ?? e?.message ?? String(err);
3379
+ return `cannot reach ${baseUrl} (${why})`;
3380
+ }
3327
3381
  var DEFAULT_TTL_MS = 864e5;
3328
3382
  var RemoteCatalogSource = class {
3329
3383
  id;
@@ -3367,6 +3421,8 @@ var RemoteCatalogSource = class {
3367
3421
  if (this.cache.airGapped) {
3368
3422
  const stale2 = this.cache.getResolveStale(ref);
3369
3423
  if (stale2) return stale2.value;
3424
+ const listed = this.cachedListedAsset(ref);
3425
+ if (listed) return listed;
3370
3426
  throw new OfflineError(`Asset '${ref}' not in cache`);
3371
3427
  }
3372
3428
  const stale = this.cache.getResolveStale(ref);
@@ -3378,9 +3434,42 @@ var RemoteCatalogSource = class {
3378
3434
  return await this.fetchAndStoreResolve(ref);
3379
3435
  } catch (err) {
3380
3436
  if (stale) return stale.value;
3437
+ const listed = this.cachedListedAsset(ref);
3438
+ if (listed) return listed;
3381
3439
  throw err;
3382
3440
  }
3383
3441
  }
3442
+ /**
3443
+ * The row for `ref` from the cached, unfiltered catalog list (fresh or stale), or `null`.
3444
+ * A version-less ref takes the highest listed version. Never touches the network.
3445
+ */
3446
+ cachedListedAsset(ref) {
3447
+ const all = this.cache.getList(void 0) ?? this.cache.getListStale(void 0);
3448
+ if (!all) return null;
3449
+ const want = parseAssetRef(ref);
3450
+ const bare = (p) => p?.replace(/^@/, "");
3451
+ const hits = all.items.filter(
3452
+ (a) => a.kind === want.kind && a.name === want.name && (want.publisher === void 0 || bare(a.publisher) === bare(want.publisher)) && (want.pin === void 0 || a.version === want.pin)
3453
+ );
3454
+ if (hits.length === 0) return null;
3455
+ return hits.reduce(
3456
+ (best, a) => valid(a.version) && valid(best.version) && gt(a.version, best.version) ? a : best
3457
+ );
3458
+ }
3459
+ /**
3460
+ * `filter` applied to the cached, unfiltered catalog list (fresh or stale), or `null` when
3461
+ * that list is not cached or `filter` is empty. A `--kind` / publisher query needs no
3462
+ * round trip once the whole list is on disk.
3463
+ */
3464
+ cachedListFiltered(filter) {
3465
+ if (!filter || !filter.kind && !filter.publisher && !filter.prefix) return null;
3466
+ const all = this.cache.getList(void 0) ?? this.cache.getListStale(void 0);
3467
+ if (!all) return null;
3468
+ const bare = (p) => p.replace(/^@/, "");
3469
+ return all.items.filter(
3470
+ (a) => (!filter.kind || a.kind === filter.kind) && (!filter.publisher || bare(a.publisher) === bare(filter.publisher)) && (!filter.prefix || `${bare(a.publisher)}/${a.name}`.startsWith(filter.prefix))
3471
+ );
3472
+ }
3384
3473
  /**
3385
3474
  * Fetch `ref` from the store, bypassing the resolve cache, and cache the answer.
3386
3475
  * For a caller that knows the cached answer is wrong, e.g. a cached miss for an
@@ -3406,6 +3495,8 @@ var RemoteCatalogSource = class {
3406
3495
  if (this.cache.airGapped) {
3407
3496
  const stale2 = this.cache.getListStale(filter);
3408
3497
  if (stale2) return stale2.items;
3498
+ const subset = this.cachedListFiltered(filter);
3499
+ if (subset) return subset;
3409
3500
  throw new OfflineError("Catalog list not in cache");
3410
3501
  }
3411
3502
  const stale = this.cache.getListStale(filter);
@@ -3414,7 +3505,13 @@ var RemoteCatalogSource = class {
3414
3505
  this.scheduleBackground(`list:${filterKey2}`, () => this.fetchAndStoreList(filter));
3415
3506
  return stale.items;
3416
3507
  }
3417
- return this.fetchAndStoreList(filter);
3508
+ try {
3509
+ return await this.fetchAndStoreList(filter);
3510
+ } catch (err) {
3511
+ const subset = this.cachedListFiltered(filter);
3512
+ if (subset) return subset;
3513
+ throw err;
3514
+ }
3418
3515
  }
3419
3516
  /**
3420
3517
  * Fetch the content-addressed tarball for an asset. The bytes are downloaded
@@ -3518,6 +3615,9 @@ var RemoteCatalogSource = class {
3518
3615
  * @throws {@link CatalogHttpError} on a non-2xx response or malformed envelope.
3519
3616
  */
3520
3617
  async getInstallManifest(ref) {
3618
+ if (this.cache.airGapped) {
3619
+ throw new OfflineError(`Install manifest of '${ref}' is not cached`);
3620
+ }
3521
3621
  const url = trpcGetUrl(this.baseUrl, "catalog.getInstallManifest", { ref });
3522
3622
  const res = await this.httpClient(url, {
3523
3623
  method: "GET",
@@ -3555,6 +3655,9 @@ var RemoteCatalogSource = class {
3555
3655
  * @docLink packages/library/api-reference#remote-catalog-source
3556
3656
  */
3557
3657
  async getCanonicalDigest(ref) {
3658
+ if (this.cache.airGapped) {
3659
+ throw new OfflineError(`Canonical digest of '${ref}' is not cached`);
3660
+ }
3558
3661
  const url = trpcGetUrl(this.baseUrl, "catalog.getCanonicalDigest", { ref });
3559
3662
  const res = await this.httpClient(url, {
3560
3663
  method: "GET",
@@ -4143,6 +4246,7 @@ function writeCuratedManifest(input) {
4143
4246
  fs11.writeFileSync(manifestPath, encodeSkaileManifest(manifest), "utf-8");
4144
4247
  return { wrote: true, manifestPath, assetCount: assets.length };
4145
4248
  }
4249
+ var DEFAULT_ASSET_VERSION = "0.1.0";
4146
4250
  function openManifest(libraryPath) {
4147
4251
  const dir = path16.resolve(libraryPath);
4148
4252
  const file = path16.join(dir, SKAILE_MANIFEST_FILENAME);
@@ -4323,7 +4427,9 @@ async function syncManifestWithDisk(libraryPath, defaultPublisher, registry, opt
4323
4427
  kind: e.kind,
4324
4428
  name: e.name,
4325
4429
  root,
4326
- version: e.version
4430
+ // A file with no version of its own (AGENT.md) reads as 0.1.0 in every library; the
4431
+ // manifest entry is where that version is kept.
4432
+ version: e.version || DEFAULT_ASSET_VERSION
4327
4433
  });
4328
4434
  }
4329
4435
  return { removed, unknownKind, skipped, failed };
@@ -4482,6 +4588,6 @@ function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
4482
4588
  return raw.version === 2 ? 2 : 1;
4483
4589
  }
4484
4590
 
4485
- 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, classifyRef, cloneOrInitGitRepo, conflictingAssetRoot, createEmptyLockFile, curatedManifestOverlay, deriveSlug, 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 };
4486
- //# sourceMappingURL=chunk-2F5AWQX5.js.map
4487
- //# sourceMappingURL=chunk-2F5AWQX5.js.map
4591
+ 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, 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 };
4592
+ //# sourceMappingURL=chunk-C3BMXXTN.js.map
4593
+ //# sourceMappingURL=chunk-C3BMXXTN.js.map