@skaile/workspaces 6.0.0 → 6.1.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 (320) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/{asset-feeds-PXUWCXVI.js → asset-feeds-HJFV7UPW.js} +26 -18
  3. package/dist/asset-feeds-HJFV7UPW.js.map +1 -0
  4. package/dist/asset-manager/catalog-deployer.js +7 -7
  5. package/dist/asset-manager/index.js +13 -13
  6. package/dist/asset-manager/installer.js +8 -8
  7. package/dist/asset-manager/renderers.js +7 -7
  8. package/dist/asset-manager/src/index.d.ts +192 -5
  9. package/dist/asset-manager/src/index.d.ts.map +1 -1
  10. package/dist/asset-manager/src/installer.d.ts +31 -0
  11. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  12. package/dist/asset-manager/src/mcp-config.d.ts +21 -0
  13. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  14. package/dist/bridge/harnesses/claude-sdk.js +13 -17
  15. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  16. package/dist/bridge/harnesses/codex.js +10 -10
  17. package/dist/bridge/harnesses/continue.js +10 -10
  18. package/dist/bridge/harnesses/echo.js +2 -2
  19. package/dist/bridge/harnesses/gemini.js +6 -6
  20. package/dist/bridge/harnesses/goose.js +10 -10
  21. package/dist/bridge/harnesses/omp.js +4 -4
  22. package/dist/bridge/harnesses/opencode.js +10 -10
  23. package/dist/bridge/harnesses/qwen.js +6 -6
  24. package/dist/bridge/index.js +14 -14
  25. package/dist/bridge/src/claude-sdk-surface.d.ts +17 -0
  26. package/dist/bridge/src/claude-sdk-surface.d.ts.map +1 -0
  27. package/dist/bridge/src/harness-model-check.d.ts +15 -0
  28. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  29. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  30. package/dist/bridge/src/index.d.ts +2 -1
  31. package/dist/bridge/src/index.d.ts.map +1 -1
  32. package/dist/bridge/src/normalizer.d.ts +3 -1
  33. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  34. package/dist/{chunk-VJRTDKXS.js → chunk-2LAPHLDH.js} +144 -94
  35. package/dist/chunk-2LAPHLDH.js.map +1 -0
  36. package/dist/{chunk-VXEYX73S.js → chunk-3GMOPFWH.js} +4 -4
  37. package/dist/{chunk-VXEYX73S.js.map → chunk-3GMOPFWH.js.map} +1 -1
  38. package/dist/{chunk-MCUJTNY5.js → chunk-4FVIT5DI.js} +3 -3
  39. package/dist/{chunk-MCUJTNY5.js.map → chunk-4FVIT5DI.js.map} +1 -1
  40. package/dist/{chunk-SZXGRHQQ.js → chunk-4MUDQCBP.js} +4 -4
  41. package/dist/{chunk-SZXGRHQQ.js.map → chunk-4MUDQCBP.js.map} +1 -1
  42. package/dist/{chunk-7CV3HFWJ.js → chunk-5J4NPGFM.js} +3 -3
  43. package/dist/{chunk-7CV3HFWJ.js.map → chunk-5J4NPGFM.js.map} +1 -1
  44. package/dist/{chunk-4XWLB7JB.js → chunk-5Y2KGB4H.js} +69 -34
  45. package/dist/chunk-5Y2KGB4H.js.map +1 -0
  46. package/dist/{chunk-OULSJRXV.js → chunk-6YR4ALVX.js} +6 -6
  47. package/dist/{chunk-OULSJRXV.js.map → chunk-6YR4ALVX.js.map} +1 -1
  48. package/dist/chunk-7HX6FNKL.js +317 -0
  49. package/dist/chunk-7HX6FNKL.js.map +1 -0
  50. package/dist/{chunk-WDAIWDLK.js → chunk-7LP7RCZI.js} +4 -4
  51. package/dist/{chunk-WDAIWDLK.js.map → chunk-7LP7RCZI.js.map} +1 -1
  52. package/dist/{chunk-2UUKCROR.js → chunk-AATHJRKL.js} +4 -4
  53. package/dist/{chunk-2UUKCROR.js.map → chunk-AATHJRKL.js.map} +1 -1
  54. package/dist/{chunk-DUMTLYSO.js → chunk-ABFPSVIS.js} +3 -3
  55. package/dist/{chunk-DUMTLYSO.js.map → chunk-ABFPSVIS.js.map} +1 -1
  56. package/dist/{chunk-TKHJXPSB.js → chunk-AITJ7ELM.js} +140 -26
  57. package/dist/chunk-AITJ7ELM.js.map +1 -0
  58. package/dist/{chunk-Y2TO2U7W.js → chunk-ASWTQQ7E.js} +3 -3
  59. package/dist/{chunk-Y2TO2U7W.js.map → chunk-ASWTQQ7E.js.map} +1 -1
  60. package/dist/{chunk-WYHQUCHR.js → chunk-AZ2H6R5I.js} +51 -25
  61. package/dist/chunk-AZ2H6R5I.js.map +1 -0
  62. package/dist/{chunk-LN6QB7XI.js → chunk-BBBCJSSU.js} +4 -4
  63. package/dist/{chunk-LN6QB7XI.js.map → chunk-BBBCJSSU.js.map} +1 -1
  64. package/dist/{chunk-WEH33JSG.js → chunk-CEKW3KXP.js} +87 -26
  65. package/dist/chunk-CEKW3KXP.js.map +1 -0
  66. package/dist/{chunk-ARWKK325.js → chunk-COYF6IG2.js} +5 -5
  67. package/dist/{chunk-ARWKK325.js.map → chunk-COYF6IG2.js.map} +1 -1
  68. package/dist/{chunk-SNEE6UGY.js → chunk-DGTI65OC.js} +11 -11
  69. package/dist/{chunk-SNEE6UGY.js.map → chunk-DGTI65OC.js.map} +1 -1
  70. package/dist/{chunk-HK7HMEPT.js → chunk-DIGFA7Z5.js} +3 -3
  71. package/dist/{chunk-HK7HMEPT.js.map → chunk-DIGFA7Z5.js.map} +1 -1
  72. package/dist/{chunk-AF432MS3.js → chunk-EJPMNDTP.js} +3 -3
  73. package/dist/{chunk-AF432MS3.js.map → chunk-EJPMNDTP.js.map} +1 -1
  74. package/dist/chunk-EX3GLAL6.js +31 -0
  75. package/dist/chunk-EX3GLAL6.js.map +1 -0
  76. package/dist/{chunk-UVVVR4XO.js → chunk-FKQNBCDW.js} +3 -3
  77. package/dist/{chunk-UVVVR4XO.js.map → chunk-FKQNBCDW.js.map} +1 -1
  78. package/dist/{chunk-GEQSUC6U.js → chunk-GNZBFSRB.js} +3 -3
  79. package/dist/{chunk-GEQSUC6U.js.map → chunk-GNZBFSRB.js.map} +1 -1
  80. package/dist/{chunk-U56GGCC2.js → chunk-HMISULVD.js} +4 -4
  81. package/dist/{chunk-U56GGCC2.js.map → chunk-HMISULVD.js.map} +1 -1
  82. package/dist/{chunk-GN4VVSAA.js → chunk-HPMQRAIF.js} +7 -7
  83. package/dist/{chunk-GN4VVSAA.js.map → chunk-HPMQRAIF.js.map} +1 -1
  84. package/dist/{chunk-OAHVKSQJ.js → chunk-HWNK3F3X.js} +913 -80
  85. package/dist/chunk-HWNK3F3X.js.map +1 -0
  86. package/dist/{chunk-NMI2TWMH.js → chunk-IHFGPHCT.js} +131 -341
  87. package/dist/chunk-IHFGPHCT.js.map +1 -0
  88. package/dist/{chunk-F2GOZMRA.js → chunk-ILLTBKDJ.js} +47 -47
  89. package/dist/chunk-ILLTBKDJ.js.map +1 -0
  90. package/dist/{chunk-FKU57Q5Q.js → chunk-IRYKRKVQ.js} +3 -3
  91. package/dist/{chunk-FKU57Q5Q.js.map → chunk-IRYKRKVQ.js.map} +1 -1
  92. package/dist/{chunk-T2BDID2J.js → chunk-J72MO2WA.js} +8 -8
  93. package/dist/{chunk-T2BDID2J.js.map → chunk-J72MO2WA.js.map} +1 -1
  94. package/dist/{chunk-X3RMRJNR.js → chunk-JRN5QF4C.js} +8 -3
  95. package/dist/chunk-JRN5QF4C.js.map +1 -0
  96. package/dist/{chunk-E3GPGTW3.js → chunk-KUQAJVYT.js} +5 -5
  97. package/dist/{chunk-E3GPGTW3.js.map → chunk-KUQAJVYT.js.map} +1 -1
  98. package/dist/{chunk-WDXZA7QW.js → chunk-LSSYC5IC.js} +2 -2
  99. package/dist/{chunk-WDXZA7QW.js.map → chunk-LSSYC5IC.js.map} +1 -1
  100. package/dist/{chunk-3IXIEHUB.js → chunk-NB7SYQYP.js} +5 -5
  101. package/dist/{chunk-3IXIEHUB.js.map → chunk-NB7SYQYP.js.map} +1 -1
  102. package/dist/{chunk-3JKGY2YC.js → chunk-NUA33BYO.js} +149 -27
  103. package/dist/chunk-NUA33BYO.js.map +1 -0
  104. package/dist/{chunk-VBI7HGHB.js → chunk-QAKUD6QN.js} +2 -2
  105. package/dist/{chunk-VBI7HGHB.js.map → chunk-QAKUD6QN.js.map} +1 -1
  106. package/dist/{chunk-KX2PT5Q4.js → chunk-QEULL4Q3.js} +4 -4
  107. package/dist/{chunk-KX2PT5Q4.js.map → chunk-QEULL4Q3.js.map} +1 -1
  108. package/dist/{chunk-YGRZNFRO.js → chunk-QSYQOTWN.js} +3 -3
  109. package/dist/{chunk-YGRZNFRO.js.map → chunk-QSYQOTWN.js.map} +1 -1
  110. package/dist/{chunk-DHYSUJ3H.js → chunk-RDTLPOPD.js} +4 -4
  111. package/dist/{chunk-DHYSUJ3H.js.map → chunk-RDTLPOPD.js.map} +1 -1
  112. package/dist/{chunk-GOCWM7FN.js → chunk-RHN5MRQO.js} +21 -4
  113. package/dist/chunk-RHN5MRQO.js.map +1 -0
  114. package/dist/{chunk-UL22SDGR.js → chunk-S2XHGWQC.js} +161 -123
  115. package/dist/chunk-S2XHGWQC.js.map +1 -0
  116. package/dist/{chunk-4DWBSTYA.js → chunk-SVTMNSPI.js} +22 -5
  117. package/dist/chunk-SVTMNSPI.js.map +1 -0
  118. package/dist/{chunk-QOM5Z62G.js → chunk-UI745XC3.js} +9 -22
  119. package/dist/chunk-UI745XC3.js.map +1 -0
  120. package/dist/{chunk-L4YKW5AY.js → chunk-VMVDAZLA.js} +20 -8
  121. package/dist/chunk-VMVDAZLA.js.map +1 -0
  122. package/dist/{chunk-H6UVIKQ2.js → chunk-VYVTEMAW.js} +3 -3
  123. package/dist/{chunk-H6UVIKQ2.js.map → chunk-VYVTEMAW.js.map} +1 -1
  124. package/dist/{chunk-SRODW6M2.js → chunk-X3YGUKCG.js} +3 -3
  125. package/dist/{chunk-SRODW6M2.js.map → chunk-X3YGUKCG.js.map} +1 -1
  126. package/dist/{chunk-JDR6ILCW.js → chunk-XGULGQA3.js} +3 -3
  127. package/dist/{chunk-JDR6ILCW.js.map → chunk-XGULGQA3.js.map} +1 -1
  128. package/dist/{chunk-7XSAW5OC.js → chunk-YLLVSR2U.js} +4 -4
  129. package/dist/{chunk-7XSAW5OC.js.map → chunk-YLLVSR2U.js.map} +1 -1
  130. package/dist/{chunk-6Z5KTFJT.js → chunk-Z3VKUWAX.js} +3 -3
  131. package/dist/{chunk-6Z5KTFJT.js.map → chunk-Z3VKUWAX.js.map} +1 -1
  132. package/dist/{chunk-7TPYPVAH.js → chunk-ZAELRYKS.js} +3 -3
  133. package/dist/{chunk-7TPYPVAH.js.map → chunk-ZAELRYKS.js.map} +1 -1
  134. package/dist/{chunk-UQ33Y4DM.js → chunk-ZBHZLWV3.js} +4 -4
  135. package/dist/{chunk-UQ33Y4DM.js.map → chunk-ZBHZLWV3.js.map} +1 -1
  136. package/dist/{chunk-OTIB4D2K.js → chunk-ZDLUQLI6.js} +4 -4
  137. package/dist/{chunk-OTIB4D2K.js.map → chunk-ZDLUQLI6.js.map} +1 -1
  138. package/dist/{chunk-OHNKYHRR.js → chunk-ZHGKAZJ7.js} +214 -16
  139. package/dist/chunk-ZHGKAZJ7.js.map +1 -0
  140. package/dist/{claude-code-VJGYBXQR.js → claude-code-RE46FJXI.js} +4 -4
  141. package/dist/{claude-code-VJGYBXQR.js.map → claude-code-RE46FJXI.js.map} +1 -1
  142. package/dist/cli/index.js +704 -448
  143. package/dist/cli/index.js.map +1 -1
  144. package/dist/cli/src/agent-pins.d.ts +11 -0
  145. package/dist/cli/src/agent-pins.d.ts.map +1 -1
  146. package/dist/cli/src/commands/catalog.d.ts +1 -1
  147. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  148. package/dist/cli/src/commands/config.d.ts.map +1 -1
  149. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  150. package/dist/cli/src/commands/harness.d.ts +24 -0
  151. package/dist/cli/src/commands/harness.d.ts.map +1 -0
  152. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  153. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  154. package/dist/cli/src/commands/library-index.d.ts +20 -2
  155. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  156. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  157. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  158. package/dist/cli/src/commands/project.d.ts +19 -1
  159. package/dist/cli/src/commands/project.d.ts.map +1 -1
  160. package/dist/cli/src/commands/run.d.ts.map +1 -1
  161. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  162. package/dist/cli/src/commands/session-logs/local-query.d.ts +2 -0
  163. package/dist/cli/src/commands/session-logs/local-query.d.ts.map +1 -1
  164. package/dist/cli/src/commands/source.d.ts +9 -2
  165. package/dist/cli/src/commands/source.d.ts.map +1 -1
  166. package/dist/cli/src/commands/store.d.ts.map +1 -1
  167. package/dist/cli/src/commands/update.d.ts.map +1 -1
  168. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  169. package/dist/cli/src/config-checks.d.ts +37 -0
  170. package/dist/cli/src/config-checks.d.ts.map +1 -0
  171. package/dist/cli/src/skill-checks.d.ts +27 -0
  172. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  173. package/dist/cli/src/store-addable.d.ts +11 -0
  174. package/dist/cli/src/store-addable.d.ts.map +1 -1
  175. package/dist/connectors/config.js +5 -5
  176. package/dist/connectors/index.js +18 -18
  177. package/dist/{connectors-CXZLXAFZ.js → connectors-7THEF7YA.js} +21 -21
  178. package/dist/{connectors-CXZLXAFZ.js.map → connectors-7THEF7YA.js.map} +1 -1
  179. package/dist/core/index.js +6 -6
  180. package/dist/core/manifest.js +2 -2
  181. package/dist/core/models.js +1 -1
  182. package/dist/core/publish-manifest.js +3 -3
  183. package/dist/core/ref.js +1 -1
  184. package/dist/core/runtime-assets.js +5 -5
  185. package/dist/core/src/agent-instances.d.ts.map +1 -1
  186. package/dist/core/src/config-key-diagnostics.d.ts +9 -0
  187. package/dist/core/src/config-key-diagnostics.d.ts.map +1 -0
  188. package/dist/core/src/index.d.ts +1 -1
  189. package/dist/core/src/index.d.ts.map +1 -1
  190. package/dist/core/src/manifest.d.ts +10 -0
  191. package/dist/core/src/manifest.d.ts.map +1 -1
  192. package/dist/core/src/models.d.ts +8 -0
  193. package/dist/core/src/models.d.ts.map +1 -1
  194. package/dist/core/src/workspace-config.d.ts +8 -0
  195. package/dist/core/src/workspace-config.d.ts.map +1 -1
  196. package/dist/core/src/workspace-yaml-editor.d.ts +9 -2
  197. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  198. package/dist/core/workspace-config.js +4 -4
  199. package/dist/deploy/index.js +6 -6
  200. package/dist/discovery/index.js +4 -4
  201. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  202. package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
  203. package/dist/{ensure-sources-UPTHZKGF.js → ensure-sources-IH7CHSJF.js} +16 -16
  204. package/dist/{ensure-sources-UPTHZKGF.js.map → ensure-sources-IH7CHSJF.js.map} +1 -1
  205. package/dist/factory-assets/connectors/box.js +18 -18
  206. package/dist/factory-assets/connectors/deploy.js +18 -18
  207. package/dist/factory-assets/connectors/devserver.js +18 -18
  208. package/dist/factory-assets/connectors/flow/adapter.js +18 -18
  209. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  210. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  211. package/dist/factory-assets/connectors/flow/engine.js +8 -8
  212. package/dist/factory-assets/connectors/flow/run-flow.js +20 -20
  213. package/dist/factory-assets/connectors/flow.js +18 -18
  214. package/dist/factory-assets/connectors/git.js +18 -18
  215. package/dist/factory-assets/connectors/gmail.js +18 -18
  216. package/dist/factory-assets/connectors/googledrive.js +18 -18
  217. package/dist/factory-assets/connectors/local.js +18 -18
  218. package/dist/factory-assets/connectors/mattermost.js +18 -18
  219. package/dist/factory-assets/connectors/memory.js +18 -18
  220. package/dist/factory-assets/connectors/minio.js +18 -18
  221. package/dist/factory-assets/connectors/postgres.js +18 -18
  222. package/dist/factory-assets/connectors/s3.js +18 -18
  223. package/dist/factory-assets/connectors/sharepoint.js +18 -18
  224. package/dist/factory-assets/connectors/sqlite.js +18 -18
  225. package/dist/factory-assets/connectors/static-server.js +18 -18
  226. package/dist/factory-assets/connectors/tunnel.js +18 -18
  227. package/dist/factory-assets/connectors/webdav.js +18 -18
  228. package/dist/factory-assets/connectors/xstate-store.js +18 -18
  229. package/dist/factory-assets/connectors/xstate.js +18 -18
  230. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +1 -1
  231. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +2 -2
  232. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +3 -3
  233. package/dist/{flows-TJQIMGUX.js → flows-4JZQ3XFK.js} +11 -11
  234. package/dist/{flows-TJQIMGUX.js.map → flows-4JZQ3XFK.js.map} +1 -1
  235. package/dist/{helpers-DE53KG3E.js → helpers-JNMK3FC2.js} +16 -16
  236. package/dist/{helpers-DE53KG3E.js.map → helpers-JNMK3FC2.js.map} +1 -1
  237. package/dist/library/index.js +9 -9
  238. package/dist/library/install.js +4 -4
  239. package/dist/library/src/index.d.ts +1 -1
  240. package/dist/library/src/index.d.ts.map +1 -1
  241. package/dist/library/src/local/library-dir.d.ts +22 -5
  242. package/dist/library/src/local/library-dir.d.ts.map +1 -1
  243. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  244. package/dist/library/src/remote/remote-catalog-source.d.ts +6 -0
  245. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  246. package/dist/{library-publish-KKQ2ULLX.js → library-publish-I3UWXAHI.js} +52 -50
  247. package/dist/library-publish-I3UWXAHI.js.map +1 -0
  248. package/dist/model-endpoint/index.js +9 -9
  249. package/dist/{open-library-RJGJIW5H.js → open-library-NKKUJLWA.js} +19 -19
  250. package/dist/{open-library-RJGJIW5H.js.map → open-library-NKKUJLWA.js.map} +1 -1
  251. package/dist/{open-registry-3QS3J7KO.js → open-registry-BYAXSHUI.js} +14 -14
  252. package/dist/{open-registry-3QS3J7KO.js.map → open-registry-BYAXSHUI.js.map} +1 -1
  253. package/dist/{paths-QAV4C3KX.js → paths-UKWE35XS.js} +9 -9
  254. package/dist/{paths-QAV4C3KX.js.map → paths-UKWE35XS.js.map} +1 -1
  255. package/dist/{plugin-store-MSH6GK6T.js → plugin-store-ABE35NRX.js} +9 -9
  256. package/dist/{plugin-store-MSH6GK6T.js.map → plugin-store-ABE35NRX.js.map} +1 -1
  257. package/dist/project-BIPK47JK.js +86 -0
  258. package/dist/{project-HZW2MZPA.js.map → project-BIPK47JK.js.map} +1 -1
  259. package/dist/resolver/index.js +7 -7
  260. package/dist/runner/index.js +33 -33
  261. package/dist/runner/src/composition/content-source.d.ts.map +1 -1
  262. package/dist/runner/src/composition/errors.d.ts +16 -1
  263. package/dist/runner/src/composition/errors.d.ts.map +1 -1
  264. package/dist/runner/src/credential-notice.d.ts +3 -3
  265. package/dist/runner/src/credential-notice.d.ts.map +1 -1
  266. package/dist/runner/src/serve.d.ts +14 -2
  267. package/dist/runner/src/serve.d.ts.map +1 -1
  268. package/dist/sdk/asset-manager.js +13 -13
  269. package/dist/sdk/bridge.js +14 -14
  270. package/dist/sdk/core.js +6 -6
  271. package/dist/sdk/flow.js +8 -8
  272. package/dist/sdk/index.js +33 -33
  273. package/dist/sdk/resolver.js +7 -7
  274. package/dist/sdk/runner.js +33 -33
  275. package/dist/sdk/transport/ws/server.js +7 -7
  276. package/dist/sdk/transport/ws.js +7 -7
  277. package/dist/sdk/transport.js +7 -7
  278. package/dist/{serve-preflight-L4POEHNQ.js → serve-preflight-FLTIBTEX.js} +28 -29
  279. package/dist/serve-preflight-FLTIBTEX.js.map +1 -0
  280. package/dist/{setup-AGYB4PKR.js → setup-AG6NFHSN.js} +25 -25
  281. package/dist/{setup-AGYB4PKR.js.map → setup-AG6NFHSN.js.map} +1 -1
  282. package/dist/{skills-2LMQ2IAD.js → skills-UQYUHVKO.js} +12 -12
  283. package/dist/{skills-2LMQ2IAD.js.map → skills-UQYUHVKO.js.map} +1 -1
  284. package/dist/source-ASEHI2XS.js +85 -0
  285. package/dist/{source-GBMYD3RO.js.map → source-ASEHI2XS.js.map} +1 -1
  286. package/dist/{source-manifest-publish-FK22TVQT.js → source-manifest-publish-IEVV3W6J.js} +45 -45
  287. package/dist/{source-manifest-publish-FK22TVQT.js.map → source-manifest-publish-IEVV3W6J.js.map} +1 -1
  288. package/dist/transport/index.js +7 -7
  289. package/dist/transport/ws/server.js +7 -7
  290. package/dist/transport/ws.js +7 -7
  291. package/dist/tui/index.js +33 -33
  292. package/dist/types/src/install-manifest.d.ts +1 -1
  293. package/dist/types/src/install-manifest.d.ts.map +1 -1
  294. package/dist/workspace-plugin/adapters/mcp.js +25 -25
  295. package/dist/workspace-plugin/adapters/omp.js +14 -14
  296. package/dist/workspace-plugin/index.js +1 -1
  297. package/package.json +1 -1
  298. package/dist/asset-feeds-PXUWCXVI.js.map +0 -1
  299. package/dist/chunk-3JKGY2YC.js.map +0 -1
  300. package/dist/chunk-4DWBSTYA.js.map +0 -1
  301. package/dist/chunk-4XWLB7JB.js.map +0 -1
  302. package/dist/chunk-F2GOZMRA.js.map +0 -1
  303. package/dist/chunk-GOCWM7FN.js.map +0 -1
  304. package/dist/chunk-L4YKW5AY.js.map +0 -1
  305. package/dist/chunk-NMI2TWMH.js.map +0 -1
  306. package/dist/chunk-OAHVKSQJ.js.map +0 -1
  307. package/dist/chunk-OHNKYHRR.js.map +0 -1
  308. package/dist/chunk-PUK7TQT4.js +0 -13
  309. package/dist/chunk-PUK7TQT4.js.map +0 -1
  310. package/dist/chunk-QOM5Z62G.js.map +0 -1
  311. package/dist/chunk-TKHJXPSB.js.map +0 -1
  312. package/dist/chunk-UL22SDGR.js.map +0 -1
  313. package/dist/chunk-VJRTDKXS.js.map +0 -1
  314. package/dist/chunk-WEH33JSG.js.map +0 -1
  315. package/dist/chunk-WYHQUCHR.js.map +0 -1
  316. package/dist/chunk-X3RMRJNR.js.map +0 -1
  317. package/dist/library-publish-KKQ2ULLX.js.map +0 -1
  318. package/dist/project-HZW2MZPA.js +0 -84
  319. package/dist/serve-preflight-L4POEHNQ.js.map +0 -1
  320. package/dist/source-GBMYD3RO.js +0 -85
@@ -1,14 +1,14 @@
1
- import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, invalidSemverMessage, parseManifestFile } from './chunk-QOM5Z62G.js';
2
- import { installFromManifest, assertSafeManifestPath } from './chunk-7XSAW5OC.js';
1
+ import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, invalidSemverMessage, parseManifestFile } from './chunk-UI745XC3.js';
2
+ import { installFromManifest, assertSafeManifestPath } from './chunk-YLLVSR2U.js';
3
3
  import { PresetManifestSchema } from './chunk-E572OHGY.js';
4
- import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-L4YKW5AY.js';
5
- import { getGlobalCacheDir, storeManifestSlug, priorStoreManifestSlugs, resolveSourcePublisher } from './chunk-OHNKYHRR.js';
4
+ import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-VMVDAZLA.js';
5
+ import { getGlobalCacheDir, storeManifestSlug, priorStoreManifestSlugs, resolveSourcePublisher } from './chunk-ZHGKAZJ7.js';
6
6
  import { userConfigPath, globalSkaileDir, mergeLegacyEntriesInto, migrateLegacyDir, globalCacheRoot } from './chunk-L5VSIPQD.js';
7
- import { encodeSkaileManifest, expandManifestFiles, SKAILE_MANIFEST_FILENAME, librarySymlinkMessage, loadSkPublishManifest } from './chunk-UQ33Y4DM.js';
8
- import { scanDirectory } from './chunk-GOCWM7FN.js';
9
- import { parseAssetRef, assetRefToStr, isValidAssetName } from './chunk-WDXZA7QW.js';
7
+ import { encodeSkaileManifest, expandManifestFiles, SKAILE_MANIFEST_FILENAME, librarySymlinkMessage, loadSkPublishManifest } from './chunk-ZBHZLWV3.js';
8
+ import { scanDirectory } from './chunk-RHN5MRQO.js';
9
+ import { parseAssetRef, assetRefToStr, isValidAssetName } from './chunk-LSSYC5IC.js';
10
10
  import { __export } from './chunk-NSBPE2FW.js';
11
- import * as fs11 from 'fs';
11
+ import * as fs12 from 'fs';
12
12
  import { existsSync, mkdirSync, symlinkSync, copyFileSync, cpSync } from 'fs';
13
13
  import * as path16 from 'path';
14
14
  import { resolve, relative, sep, join, dirname } from 'path';
@@ -121,9 +121,9 @@ function projectConfigPath(projectDir) {
121
121
  return path16.join(projectDir, ".skaile", CONFIG_FILENAME);
122
122
  }
123
123
  function loadConfigFile(filePath) {
124
- if (!fs11.existsSync(filePath)) return null;
124
+ if (!fs12.existsSync(filePath)) return null;
125
125
  try {
126
- const content = fs11.readFileSync(filePath, "utf-8");
126
+ const content = fs12.readFileSync(filePath, "utf-8");
127
127
  const raw = parse(content);
128
128
  if (!raw || typeof raw !== "object") return null;
129
129
  return SkaileConfigSchema.partial().parse(raw);
@@ -172,10 +172,10 @@ function resolveConfig(opts) {
172
172
  }
173
173
  function saveConfig(filePath, config) {
174
174
  const dir = path16.dirname(filePath);
175
- if (!fs11.existsSync(dir)) {
176
- fs11.mkdirSync(dir, { recursive: true });
175
+ if (!fs12.existsSync(dir)) {
176
+ fs12.mkdirSync(dir, { recursive: true });
177
177
  }
178
- fs11.writeFileSync(filePath, stringify(config, { indent: 2 }), "utf-8");
178
+ fs12.writeFileSync(filePath, stringify(config, { indent: 2 }), "utf-8");
179
179
  }
180
180
  var KnowledgeManifestSchema = z3.looseObject({
181
181
  name: z3.string().optional(),
@@ -202,9 +202,9 @@ function validateKnowledge(data) {
202
202
  // library/src/knowledge/knowledge-kind-provider.ts
203
203
  function collectDirRecursive(baseDir, relativeDir) {
204
204
  const full = path16.join(baseDir, relativeDir);
205
- if (!fs11.existsSync(full) || !fs11.statSync(full).isDirectory()) return [];
205
+ if (!fs12.existsSync(full) || !fs12.statSync(full).isDirectory()) return [];
206
206
  const results = [];
207
- for (const entry of fs11.readdirSync(full, { withFileTypes: true })) {
207
+ for (const entry of fs12.readdirSync(full, { withFileTypes: true })) {
208
208
  const rel = path16.posix.join(relativeDir, entry.name);
209
209
  if (entry.isDirectory()) {
210
210
  results.push(...collectDirRecursive(baseDir, rel));
@@ -312,7 +312,7 @@ var assignments = sqliteTable("assignments", {
312
312
  assignedAt: text("assigned_at").notNull()
313
313
  });
314
314
  function isClone(dir) {
315
- return fs11.existsSync(path16.join(dir, ".git"));
315
+ return fs12.existsSync(path16.join(dir, ".git"));
316
316
  }
317
317
  function getSidecarRoot() {
318
318
  const home = globalSkaileDir();
@@ -346,9 +346,9 @@ function deriveSlug(sourceConfig, sourcePath, existingSlugs) {
346
346
  }
347
347
  function listSidecarSlugsOnDisk() {
348
348
  const root = getSidecarRoot();
349
- if (!fs11.existsSync(root)) return [];
349
+ if (!fs12.existsSync(root)) return [];
350
350
  const out = [];
351
- for (const entry of fs11.readdirSync(root, { withFileTypes: true })) {
351
+ for (const entry of fs12.readdirSync(root, { withFileTypes: true })) {
352
352
  if (!entry.isDirectory()) continue;
353
353
  if (entry.name.startsWith(".")) continue;
354
354
  out.push(entry.name);
@@ -369,16 +369,16 @@ function getStoreManifestsDir() {
369
369
  function storeManifestFile(sourceUrl) {
370
370
  const dir = getStoreManifestsDir();
371
371
  const current = path16.join(dir, `${storeManifestSlug(sourceUrl)}.yaml`);
372
- if (fs11.existsSync(current)) return current;
372
+ if (fs12.existsSync(current)) return current;
373
373
  for (const slug of priorStoreManifestSlugs(sourceUrl)) {
374
374
  const old = path16.join(dir, `${slug}.yaml`);
375
- if (fs11.existsSync(old)) return old;
375
+ if (fs12.existsSync(old)) return old;
376
376
  }
377
377
  return current;
378
378
  }
379
379
  function curatedManifestOverlay(sourceUrl) {
380
380
  const file = storeManifestFile(sourceUrl);
381
- return fs11.existsSync(file) ? file : void 0;
381
+ return fs12.existsSync(file) ? file : void 0;
382
382
  }
383
383
  function commitStoreManifest(file, message) {
384
384
  const root = getStoreRoot();
@@ -410,14 +410,14 @@ function migratedMarkerPath() {
410
410
  }
411
411
  function collectSidecarMigrationCandidates(sidecarRoot) {
412
412
  const candidates = [];
413
- if (fs11.existsSync(sidecarRoot)) {
414
- for (const entry of fs11.readdirSync(sidecarRoot, { withFileTypes: true })) {
413
+ if (fs12.existsSync(sidecarRoot)) {
414
+ for (const entry of fs12.readdirSync(sidecarRoot, { withFileTypes: true })) {
415
415
  if (!entry.isDirectory()) continue;
416
416
  if (entry.name.startsWith(".")) continue;
417
417
  const sidecarDir = path16.join(sidecarRoot, entry.name);
418
418
  const current = path16.join(sidecarDir, "skaile.manifest.yaml");
419
419
  const legacy = path16.join(sidecarDir, ".skaile-source.yaml");
420
- const src = fs11.existsSync(current) ? current : fs11.existsSync(legacy) ? legacy : void 0;
420
+ const src = fs12.existsSync(current) ? current : fs12.existsSync(legacy) ? legacy : void 0;
421
421
  if (src) candidates.push({ src, slug: entry.name });
422
422
  }
423
423
  }
@@ -427,9 +427,9 @@ function moveSidecarManifests(candidates, manifestsDir) {
427
427
  let migrated = 0;
428
428
  for (const { src, slug } of candidates) {
429
429
  const dest = path16.join(manifestsDir, `${slug}.yaml`);
430
- if (fs11.existsSync(dest)) continue;
430
+ if (fs12.existsSync(dest)) continue;
431
431
  try {
432
- fs11.renameSync(src, dest);
432
+ fs12.renameSync(src, dest);
433
433
  migrated++;
434
434
  } catch (err) {
435
435
  process.stderr.write(
@@ -441,10 +441,10 @@ function moveSidecarManifests(candidates, manifestsDir) {
441
441
  return migrated;
442
442
  }
443
443
  function initStoreGitRepo(storeRoot) {
444
- if (fs11.existsSync(path16.join(storeRoot, ".git"))) return;
444
+ if (fs12.existsSync(path16.join(storeRoot, ".git"))) return;
445
445
  try {
446
446
  spawnSync("git", ["init", "--quiet"], { cwd: storeRoot, stdio: "ignore" });
447
- fs11.writeFileSync(
447
+ fs12.writeFileSync(
448
448
  path16.join(storeRoot, ".gitignore"),
449
449
  "# Remote-store cache \u2014 local to this machine.\nremote-cache/\n",
450
450
  "utf8"
@@ -455,14 +455,14 @@ function initStoreGitRepo(storeRoot) {
455
455
  function migrateSidecarsToStoreIfNeeded() {
456
456
  const storeRoot = getStoreRoot();
457
457
  const marker = migratedMarkerPath();
458
- if (fs11.existsSync(marker)) return { migrated: 0, storeRoot };
458
+ if (fs12.existsSync(marker)) return { migrated: 0, storeRoot };
459
459
  const sidecarRoot = getSidecarRoot();
460
460
  const manifestsDir = getStoreManifestsDir();
461
461
  const candidates = collectSidecarMigrationCandidates(sidecarRoot);
462
- fs11.mkdirSync(manifestsDir, { recursive: true });
462
+ fs12.mkdirSync(manifestsDir, { recursive: true });
463
463
  const migrated = moveSidecarManifests(candidates, manifestsDir);
464
464
  initStoreGitRepo(storeRoot);
465
- fs11.writeFileSync(marker, (/* @__PURE__ */ new Date()).toISOString(), "utf8");
465
+ fs12.writeFileSync(marker, (/* @__PURE__ */ new Date()).toISOString(), "utf8");
466
466
  return { migrated, storeRoot };
467
467
  }
468
468
 
@@ -707,7 +707,7 @@ async function purgeOrphanedAssetDefinitions(client) {
707
707
  await client.execute(`PRAGMA user_version = ${ORPHAN_PURGE_VERSION}`);
708
708
  }
709
709
  function assertNoLegacyLibDb(newDbPath) {
710
- if (fs11.existsSync(newDbPath)) return;
710
+ if (fs12.existsSync(newDbPath)) return;
711
711
  const parent = path16.dirname(newDbPath);
712
712
  const skaileHome = globalSkaileDir();
713
713
  const defaultIndexPath2 = path16.join(skaileHome, "index.db");
@@ -723,7 +723,7 @@ function assertNoLegacyLibDb(newDbPath) {
723
723
  candidates.push(path16.join(path16.dirname(parent), "library", "lib.db"));
724
724
  }
725
725
  for (const legacy of candidates) {
726
- if (!fs11.existsSync(legacy)) continue;
726
+ if (!fs12.existsSync(legacy)) continue;
727
727
  throw new Error(
728
728
  `Found legacy index database at ${legacy}. The lib.db \u2192 index.db relocation ran for one release and has been removed. Move the file manually to ${newDbPath} (and any -wal / -shm siblings), then retry.`
729
729
  );
@@ -898,12 +898,12 @@ var LocalIndex = class {
898
898
  dbPath = resolveIndexPath();
899
899
  this._kindRegistry = optionsOrDir?.kindRegistry;
900
900
  }
901
- if (!fs11.existsSync(dir)) {
902
- fs11.mkdirSync(dir, { recursive: true });
901
+ if (!fs12.existsSync(dir)) {
902
+ fs12.mkdirSync(dir, { recursive: true });
903
903
  }
904
904
  const dbParent = path16.dirname(dbPath);
905
- if (!fs11.existsSync(dbParent)) {
906
- fs11.mkdirSync(dbParent, { recursive: true });
905
+ if (!fs12.existsSync(dbParent)) {
906
+ fs12.mkdirSync(dbParent, { recursive: true });
907
907
  }
908
908
  this.libraryDir = dir;
909
909
  this.dbPath = dbPath;
@@ -1250,17 +1250,20 @@ var LocalIndex = class {
1250
1250
  var UNREGISTERED_FILE = ".unregistered-libraries";
1251
1251
  function libraryDirMissing(lib) {
1252
1252
  try {
1253
- return !fs11.statSync(lib.path).isDirectory();
1253
+ return !fs12.statSync(lib.path).isDirectory();
1254
1254
  } catch {
1255
1255
  return true;
1256
1256
  }
1257
1257
  }
1258
1258
  function missingLibraryDirMessage(lib) {
1259
- return `library "${lib.name}" is registered but its directory ${lib.path} is missing - run skaile library init ${lib.name} --path <dir> or skaile library remove ${lib.name}`;
1259
+ const cfg = lib.backendConfig;
1260
+ const cloneUrl = lib.ownership === "reader" && cfg && typeof cfg === "object" && "url" in cfg ? String(cfg.url) : void 0;
1261
+ const head = `library "${lib.name}" is registered but its directory ${lib.path} is missing - `;
1262
+ return cloneUrl ? `${head}it is the clone of the source ${cloneUrl}: run skaile source sync in a project that declares it, or skaile library remove ${lib.name}` : `${head}run skaile library init ${lib.name} --path <dir> or skaile library remove ${lib.name}`;
1260
1263
  }
1261
1264
  function realDir(dir) {
1262
1265
  try {
1263
- return fs11.realpathSync(dir);
1266
+ return fs12.realpathSync(dir);
1264
1267
  } catch {
1265
1268
  return path16.resolve(dir);
1266
1269
  }
@@ -1268,7 +1271,7 @@ function realDir(dir) {
1268
1271
  function unregisteredLibraryNames() {
1269
1272
  try {
1270
1273
  return new Set(
1271
- fs11.readFileSync(path16.join(resolveLibraryDir(), UNREGISTERED_FILE), "utf8").split("\n").map((l) => l.trim()).filter(Boolean)
1274
+ fs12.readFileSync(path16.join(resolveLibraryDir(), UNREGISTERED_FILE), "utf8").split("\n").map((l) => l.trim()).filter(Boolean)
1272
1275
  );
1273
1276
  } catch {
1274
1277
  return /* @__PURE__ */ new Set();
@@ -1279,8 +1282,8 @@ function markLibraryUnregistered(lib) {
1279
1282
  const known = unregisteredLibraryNames();
1280
1283
  const add = [.../* @__PURE__ */ new Set([lib.name, path16.basename(lib.path)])].filter((n) => !known.has(n));
1281
1284
  if (add.length === 0) return;
1282
- fs11.mkdirSync(resolveLibraryDir(), { recursive: true });
1283
- fs11.appendFileSync(
1285
+ fs12.mkdirSync(resolveLibraryDir(), { recursive: true });
1286
+ fs12.appendFileSync(
1284
1287
  path16.join(resolveLibraryDir(), UNREGISTERED_FILE),
1285
1288
  `${add.join("\n")}
1286
1289
  `,
@@ -1297,62 +1300,80 @@ function clearLibraryUnregistered(lib) {
1297
1300
  const keep = [...known].filter((n) => !drop.has(n));
1298
1301
  if (keep.length === known.size) return;
1299
1302
  const file = path16.join(resolveLibraryDir(), UNREGISTERED_FILE);
1300
- if (keep.length === 0) fs11.rmSync(file, { force: true });
1301
- else fs11.writeFileSync(file, `${keep.join("\n")}
1303
+ if (keep.length === 0) fs12.rmSync(file, { force: true });
1304
+ else fs12.writeFileSync(file, `${keep.join("\n")}
1302
1305
  `, "utf8");
1303
1306
  }
1304
1307
  var RENAMED_FILE = ".renamed-libraries";
1305
- function readRenames() {
1308
+ function readAllRenames() {
1306
1309
  const out = /* @__PURE__ */ new Map();
1307
1310
  try {
1308
- for (const line of fs11.readFileSync(path16.join(resolveLibraryDir(), RENAMED_FILE), "utf8").split("\n")) {
1309
- const [from, to] = line.split(" ").map((s) => s.trim());
1310
- if (from && to && from !== to) out.set(from, to);
1311
+ for (const line of fs12.readFileSync(path16.join(resolveLibraryDir(), RENAMED_FILE), "utf8").split("\n")) {
1312
+ const [from, to, flag] = line.split(" ").map((s) => s.trim());
1313
+ if (from && to && from !== to) out.set(from, { to, gone: flag === "gone" });
1311
1314
  }
1312
1315
  } catch {
1313
1316
  }
1314
1317
  return out;
1315
1318
  }
1316
- function writeRenames(renames) {
1319
+ function writeAllRenames(renames) {
1317
1320
  const file = path16.join(resolveLibraryDir(), RENAMED_FILE);
1318
1321
  if (renames.size === 0) {
1319
- fs11.rmSync(file, { force: true });
1322
+ fs12.rmSync(file, { force: true });
1320
1323
  return;
1321
1324
  }
1322
- fs11.mkdirSync(resolveLibraryDir(), { recursive: true });
1323
- fs11.writeFileSync(
1325
+ fs12.mkdirSync(resolveLibraryDir(), { recursive: true });
1326
+ fs12.writeFileSync(
1324
1327
  file,
1325
- `${[...renames].map(([from, to]) => `${from} ${to}`).join("\n")}
1328
+ `${[...renames].map(([from, r]) => `${from} ${r.to}${r.gone ? " gone" : ""}`).join("\n")}
1326
1329
  `,
1327
1330
  "utf8"
1328
1331
  );
1329
1332
  }
1330
1333
  function recordLibraryRename(from, to) {
1331
1334
  if (from === to) return;
1332
- const renames = readRenames();
1333
- for (const [k, v] of renames) if (v === from) renames.set(k, to);
1335
+ const renames = readAllRenames();
1336
+ for (const [k, r] of renames) if (r.to === from && !r.gone) renames.set(k, { to, gone: false });
1334
1337
  renames.delete(to);
1335
- renames.set(from, to);
1336
- for (const [k, v] of renames) if (k === v) renames.delete(k);
1337
- writeRenames(renames);
1338
+ renames.set(from, { to, gone: false });
1339
+ for (const [k, r] of renames) if (k === r.to) renames.delete(k);
1340
+ writeAllRenames(renames);
1338
1341
  }
1339
1342
  function renamedLibraryName(name) {
1340
- return readRenames().get(name);
1343
+ const r = readAllRenames().get(name);
1344
+ return r && !r.gone ? r.to : void 0;
1345
+ }
1346
+ function lastLibraryName(name) {
1347
+ const renames = readAllRenames();
1348
+ let at = name;
1349
+ const seen = /* @__PURE__ */ new Set();
1350
+ for (let next = renames.get(at); next && !seen.has(at); next = renames.get(at)) {
1351
+ seen.add(at);
1352
+ at = next.to;
1353
+ }
1354
+ return at === name ? void 0 : at;
1341
1355
  }
1342
1356
  function clearLibraryRenamed(name) {
1343
- const renames = readRenames();
1344
- if (renames.delete(name)) writeRenames(renames);
1357
+ const renames = readAllRenames();
1358
+ let changed = renames.delete(name);
1359
+ for (const [from, r] of renames) {
1360
+ if (r.gone && r.to === name) {
1361
+ renames.delete(from);
1362
+ changed = true;
1363
+ }
1364
+ }
1365
+ if (changed) writeAllRenames(renames);
1345
1366
  }
1346
1367
  function dropLibraryRenamesTo(name) {
1347
- const renames = readRenames();
1368
+ const renames = readAllRenames();
1348
1369
  let changed = false;
1349
- for (const [from, to] of renames) {
1350
- if (to === name) {
1351
- renames.delete(from);
1370
+ for (const [from, r] of renames) {
1371
+ if (r.to === name && !r.gone) {
1372
+ renames.set(from, { to: name, gone: true });
1352
1373
  changed = true;
1353
1374
  }
1354
1375
  }
1355
- if (changed) writeRenames(renames);
1376
+ if (changed) writeAllRenames(renames);
1356
1377
  }
1357
1378
 
1358
1379
  // library/src/user-library.ts
@@ -1886,8 +1907,8 @@ var LibraryManager = class {
1886
1907
  async removeLibrary(nameOrId, opts = {}) {
1887
1908
  const lib = await this.requireLibrary(nameOrId);
1888
1909
  await this.lib.removeSource(lib.id);
1889
- if (opts.purge && fs11.existsSync(lib.path)) {
1890
- fs11.rmSync(lib.path, { recursive: true, force: true });
1910
+ if (opts.purge && fs12.existsSync(lib.path)) {
1911
+ fs12.rmSync(lib.path, { recursive: true, force: true });
1891
1912
  }
1892
1913
  dropLibraryRenamesTo(lib.name);
1893
1914
  if (!opts.purge) markLibraryUnregistered(lib);
@@ -1906,7 +1927,7 @@ var LibraryManager = class {
1906
1927
  );
1907
1928
  if (writableDefault) return { library: writableDefault, created: false };
1908
1929
  const personalPath = path16.join(librariesDir, "personal");
1909
- fs11.mkdirSync(personalPath, { recursive: true });
1930
+ fs12.mkdirSync(personalPath, { recursive: true });
1910
1931
  const lib = await this.addLibrary({
1911
1932
  name: "personal",
1912
1933
  path: personalPath,
@@ -2089,12 +2110,20 @@ var LocalCatalogSource = class {
2089
2110
  }
2090
2111
  const keepRefs = assets.map((a) => a.ref);
2091
2112
  let pruned = [];
2092
- if (!syncOpts?.only && result.assets.length > 0) {
2113
+ if (!syncOpts?.only && (result.assets.length > 0 || isReadableDirectory(this.rootPath))) {
2093
2114
  pruned = await this.library.pruneAssetDefs(this.sourceId, keepRefs);
2094
2115
  }
2095
2116
  return { assetsFound: assets.length, assetsUpdated, errors, advisories, pruned };
2096
2117
  }
2097
2118
  };
2119
+ function isReadableDirectory(dir) {
2120
+ try {
2121
+ fs12.readdirSync(dir);
2122
+ return true;
2123
+ } catch {
2124
+ return false;
2125
+ }
2126
+ }
2098
2127
  function defToCatalogAsset(def) {
2099
2128
  return {
2100
2129
  id: def.id,
@@ -2231,11 +2260,11 @@ var SidecarGit = class {
2231
2260
  * @docLink packages/library/concepts#sidecar-git
2232
2261
  */
2233
2262
  async ensureInitialized() {
2234
- if (!fs11.existsSync(this.rootDir)) {
2235
- fs11.mkdirSync(this.rootDir, { recursive: true });
2263
+ if (!fs12.existsSync(this.rootDir)) {
2264
+ fs12.mkdirSync(this.rootDir, { recursive: true });
2236
2265
  }
2237
2266
  const gitDir = path16.join(this.rootDir, ".git");
2238
- const freshRepo = !fs11.existsSync(gitDir);
2267
+ const freshRepo = !fs12.existsSync(gitDir);
2239
2268
  if (freshRepo) {
2240
2269
  const init = this.spawn(["init", "-b", "main"]);
2241
2270
  if (init.exitCode !== 0) {
@@ -2243,9 +2272,9 @@ var SidecarGit = class {
2243
2272
  }
2244
2273
  }
2245
2274
  const attrsPath = path16.join(this.rootDir, ".gitattributes");
2246
- if (!fs11.existsSync(attrsPath)) fs11.writeFileSync(attrsPath, GITATTRIBUTES, "utf-8");
2275
+ if (!fs12.existsSync(attrsPath)) fs12.writeFileSync(attrsPath, GITATTRIBUTES, "utf-8");
2247
2276
  const readmePath = path16.join(this.rootDir, "README.md");
2248
- if (!fs11.existsSync(readmePath)) fs11.writeFileSync(readmePath, ROOT_README, "utf-8");
2277
+ if (!fs12.existsSync(readmePath)) fs12.writeFileSync(readmePath, ROOT_README, "utf-8");
2249
2278
  if (!this.hasGlobalGitConfig("user.name")) {
2250
2279
  this.spawn(["config", "user.name", FALLBACK_USER_NAME]);
2251
2280
  }
@@ -2271,7 +2300,7 @@ var SidecarGit = class {
2271
2300
  async commit(slug, message, opts) {
2272
2301
  if (opts?.skip) return;
2273
2302
  const slugDir = path16.join(this.rootDir, slug);
2274
- if (fs11.existsSync(slugDir)) {
2303
+ if (fs12.existsSync(slugDir)) {
2275
2304
  this.spawn(["add", "--", slug]);
2276
2305
  } else {
2277
2306
  this.spawn(["add", "-A"]);
@@ -2332,10 +2361,10 @@ ${result.stderr}`;
2332
2361
  function migrateWorkspaceConfig(dir, opts) {
2333
2362
  const filename = opts?.filename ?? "skaile.yaml";
2334
2363
  const filePath = path16.join(dir, filename);
2335
- if (!fs11.existsSync(filePath)) {
2364
+ if (!fs12.existsSync(filePath)) {
2336
2365
  return { migrated: false, version: 1, warnings: ["No skaile.yaml found"] };
2337
2366
  }
2338
- const content = fs11.readFileSync(filePath, "utf-8");
2367
+ const content = fs12.readFileSync(filePath, "utf-8");
2339
2368
  const raw = parse(content);
2340
2369
  if (!raw || typeof raw !== "object") {
2341
2370
  return { migrated: false, version: 1, warnings: ["Invalid YAML content"] };
@@ -2367,7 +2396,7 @@ function migrateWorkspaceConfig(dir, opts) {
2367
2396
  } else {
2368
2397
  doc.set("version", 2);
2369
2398
  }
2370
- fs11.writeFileSync(filePath, doc.toString(), "utf-8");
2399
+ fs12.writeFileSync(filePath, doc.toString(), "utf-8");
2371
2400
  }
2372
2401
  return {
2373
2402
  migrated: !opts?.dryRun,
@@ -3261,17 +3290,17 @@ var CatalogCache = class {
3261
3290
  /** Read a cached tarball from disk if present, otherwise `null`. */
3262
3291
  readTarball(sha256) {
3263
3292
  const p = this.tarballPath(sha256);
3264
- if (!fs11.existsSync(p)) return null;
3265
- return fs11.readFileSync(p);
3293
+ if (!fs12.existsSync(p)) return null;
3294
+ return fs12.readFileSync(p);
3266
3295
  }
3267
3296
  /** Persist a tarball blob to disk (atomic write). */
3268
3297
  writeTarball(sha256, bytes) {
3269
3298
  const dir = path16.join(this.dir, TARBALL_DIR);
3270
- if (!fs11.existsSync(dir)) fs11.mkdirSync(dir, { recursive: true });
3299
+ if (!fs12.existsSync(dir)) fs12.mkdirSync(dir, { recursive: true });
3271
3300
  const finalPath = this.tarballPath(sha256);
3272
3301
  const tmpPath = `${finalPath}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
3273
- fs11.writeFileSync(tmpPath, bytes);
3274
- fs11.renameSync(tmpPath, finalPath);
3302
+ fs12.writeFileSync(tmpPath, bytes);
3303
+ fs12.renameSync(tmpPath, finalPath);
3275
3304
  }
3276
3305
  // ── public: invalidation ────────────────────────────────────────────────
3277
3306
  /**
@@ -3291,8 +3320,8 @@ var CatalogCache = class {
3291
3320
  invalidateEverything() {
3292
3321
  this.invalidateAll();
3293
3322
  const tarballDir = path16.join(this.dir, TARBALL_DIR);
3294
- if (fs11.existsSync(tarballDir)) {
3295
- fs11.rmSync(tarballDir, { recursive: true, force: true });
3323
+ if (fs12.existsSync(tarballDir)) {
3324
+ fs12.rmSync(tarballDir, { recursive: true, force: true });
3296
3325
  }
3297
3326
  }
3298
3327
  /** Return whether `ttlMs` is zero (air-gapped mode). */
@@ -3301,9 +3330,9 @@ var CatalogCache = class {
3301
3330
  }
3302
3331
  // ── private ─────────────────────────────────────────────────────────────
3303
3332
  ensureDir() {
3304
- if (!fs11.existsSync(this.dir)) fs11.mkdirSync(this.dir, { recursive: true });
3333
+ if (!fs12.existsSync(this.dir)) fs12.mkdirSync(this.dir, { recursive: true });
3305
3334
  const tarballDir = path16.join(this.dir, TARBALL_DIR);
3306
- if (!fs11.existsSync(tarballDir)) fs11.mkdirSync(tarballDir, { recursive: true });
3335
+ if (!fs12.existsSync(tarballDir)) fs12.mkdirSync(tarballDir, { recursive: true });
3307
3336
  }
3308
3337
  indexPath() {
3309
3338
  return path16.join(this.dir, INDEX_FILE);
@@ -3311,12 +3340,12 @@ var CatalogCache = class {
3311
3340
  loadIndex() {
3312
3341
  if (this.index) return this.index;
3313
3342
  const p = this.indexPath();
3314
- if (!fs11.existsSync(p)) {
3343
+ if (!fs12.existsSync(p)) {
3315
3344
  this.index = { version: 1, resolve: {}, list: {} };
3316
3345
  return this.index;
3317
3346
  }
3318
3347
  try {
3319
- const raw = JSON.parse(fs11.readFileSync(p, "utf-8"));
3348
+ const raw = JSON.parse(fs12.readFileSync(p, "utf-8"));
3320
3349
  if (raw && typeof raw === "object" && raw.version === 1) {
3321
3350
  this.index = {
3322
3351
  version: 1,
@@ -3334,8 +3363,8 @@ var CatalogCache = class {
3334
3363
  this.index = idx;
3335
3364
  const p = this.indexPath();
3336
3365
  const tmp = `${p}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
3337
- fs11.writeFileSync(tmp, JSON.stringify(idx, null, 2), "utf-8");
3338
- fs11.renameSync(tmp, p);
3366
+ fs12.writeFileSync(tmp, JSON.stringify(idx, null, 2), "utf-8");
3367
+ fs12.renameSync(tmp, p);
3339
3368
  }
3340
3369
  };
3341
3370
  function filterKey(filter) {
@@ -3489,6 +3518,15 @@ var RemoteCatalogSource = class {
3489
3518
  (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))
3490
3519
  ).map(cachedAsset);
3491
3520
  }
3521
+ /**
3522
+ * `true` when the cached catalog (a resolved row or the cached list, fresh or stale) holds
3523
+ * `ref`. Never touches the network: `check` and `doctor` use it to tell a store-supplied
3524
+ * lock entry from one whose source is gone (p1062).
3525
+ */
3526
+ holdsCached(ref) {
3527
+ if (this.cache.getResolveStale(ref)?.value) return true;
3528
+ return this.cachedListedAsset(ref) !== null;
3529
+ }
3492
3530
  /**
3493
3531
  * Fetch `ref` from the store, bypassing the resolve cache, and cache the answer.
3494
3532
  * For a caller that knows the cached answer is wrong, e.g. a cached miss for an
@@ -4314,15 +4352,15 @@ function discoveredToAssetEntry(asset, repoPublisher, inheritPublisher) {
4314
4352
  }
4315
4353
  function writeCuratedManifest(input) {
4316
4354
  const manifestPath = input.manifestFile;
4317
- if (fs11.existsSync(manifestPath) && !input.force) {
4355
+ if (fs12.existsSync(manifestPath) && !input.force) {
4318
4356
  return { wrote: false, manifestPath, assetCount: 0 };
4319
4357
  }
4320
4358
  const publisher = input.publisher.startsWith("@") ? input.publisher.slice(1) : input.publisher;
4321
4359
  const inheritPublisher = input.inheritPublisher ?? false;
4322
4360
  const assets = input.assets.map((a) => discoveredToAssetEntry(a, publisher, inheritPublisher)).sort((a, b) => `${a.kind}:${a.name}`.localeCompare(`${b.kind}:${b.name}`));
4323
4361
  const manifest = { publisher, assets };
4324
- fs11.mkdirSync(path16.dirname(manifestPath), { recursive: true });
4325
- fs11.writeFileSync(manifestPath, encodeSkaileManifest(manifest), "utf-8");
4362
+ fs12.mkdirSync(path16.dirname(manifestPath), { recursive: true });
4363
+ fs12.writeFileSync(manifestPath, encodeSkaileManifest(manifest), "utf-8");
4326
4364
  return { wrote: true, manifestPath, assetCount: assets.length };
4327
4365
  }
4328
4366
  function filesEntryPaths(libraryPath, entry) {
@@ -4336,8 +4374,8 @@ var DEFAULT_ASSET_VERSION = "0.1.0";
4336
4374
  function openManifest(libraryPath) {
4337
4375
  const dir = path16.resolve(libraryPath);
4338
4376
  const file = path16.join(dir, SKAILE_MANIFEST_FILENAME);
4339
- if (!fs11.existsSync(file)) {
4340
- fs11.mkdirSync(dir, { recursive: true });
4377
+ if (!fs12.existsSync(file)) {
4378
+ fs12.mkdirSync(dir, { recursive: true });
4341
4379
  return { editor: ManifestYamlEditor.create(file), created: true };
4342
4380
  }
4343
4381
  const editor = ManifestYamlEditor.load(file);
@@ -4347,14 +4385,14 @@ function openManifest(libraryPath) {
4347
4385
  }
4348
4386
  function assertManifestEditable(libraryPath) {
4349
4387
  const file = path16.join(path16.resolve(libraryPath), SKAILE_MANIFEST_FILENAME);
4350
- if (!fs11.existsSync(file)) return;
4388
+ if (!fs12.existsSync(file)) return;
4351
4389
  openManifest(libraryPath);
4352
4390
  }
4353
4391
  function assetRootProblem(libraryPath, root) {
4354
4392
  const libDir = path16.resolve(libraryPath);
4355
4393
  let realLib;
4356
4394
  try {
4357
- realLib = fs11.realpathSync(libDir);
4395
+ realLib = fs12.realpathSync(libDir);
4358
4396
  } catch {
4359
4397
  return void 0;
4360
4398
  }
@@ -4373,12 +4411,12 @@ function assetRootProblem(libraryPath, root) {
4373
4411
  walked.push(part);
4374
4412
  let stat;
4375
4413
  try {
4376
- stat = fs11.lstatSync(current);
4414
+ stat = fs12.lstatSync(current);
4377
4415
  } catch {
4378
4416
  return void 0;
4379
4417
  }
4380
4418
  if (stat.isSymbolicLink()) {
4381
- return librarySymlinkMessage({ path: walked.join("/"), target: fs11.readlinkSync(current) });
4419
+ return librarySymlinkMessage({ path: walked.join("/"), target: fs12.readlinkSync(current) });
4382
4420
  }
4383
4421
  }
4384
4422
  return void 0;
@@ -4393,7 +4431,7 @@ function existingRootConflict(libraryPath, existing, root) {
4393
4431
  if (!existing?.root || existing.source) return void 0;
4394
4432
  const existingAbs = path16.resolve(libraryPath, existing.root);
4395
4433
  if (existingAbs === path16.resolve(libraryPath, root)) return void 0;
4396
- const stat = fs11.statSync(existingAbs, { throwIfNoEntry: false });
4434
+ const stat = fs12.statSync(existingAbs, { throwIfNoEntry: false });
4397
4435
  return stat?.isDirectory() ? existing.root : void 0;
4398
4436
  }
4399
4437
  function upsertManifestAsset(libraryPath, input) {
@@ -4429,7 +4467,7 @@ function missingRootAssets(libraryPath, manifest) {
4429
4467
  return (manifest.assets ?? []).filter((a) => {
4430
4468
  if (a.source || manifest.source || !a.root) return false;
4431
4469
  const dir = path16.resolve(libraryPath, a.root);
4432
- return !(fs11.existsSync(dir) && fs11.statSync(dir).isDirectory());
4470
+ return !(fs12.existsSync(dir) && fs12.statSync(dir).isDirectory());
4433
4471
  });
4434
4472
  }
4435
4473
  function pruneMissingRootAssets(libraryPath) {
@@ -4663,14 +4701,14 @@ async function unparsableAssetFiles(libraryPath, registry) {
4663
4701
  }
4664
4702
  function isParsable(file) {
4665
4703
  try {
4666
- return parseManifestFile(file, fs11.readFileSync(file, "utf-8")).ok;
4704
+ return parseManifestFile(file, fs12.readFileSync(file, "utf-8")).ok;
4667
4705
  } catch {
4668
4706
  return false;
4669
4707
  }
4670
4708
  }
4671
4709
  function parseFailureOf(file) {
4672
4710
  try {
4673
- const res = parseManifestFile(file, fs11.readFileSync(file, "utf-8"));
4711
+ const res = parseManifestFile(file, fs12.readFileSync(file, "utf-8"));
4674
4712
  return res.ok ? void 0 : res.reason;
4675
4713
  } catch (err) {
4676
4714
  return err instanceof Error ? err.message : String(err);
@@ -4729,8 +4767,8 @@ function parseWorkspaceV2(raw) {
4729
4767
  }
4730
4768
  function loadWorkspaceV2(dir, filename = "skaile.yaml") {
4731
4769
  const filePath = path16.join(dir, filename);
4732
- if (!fs11.existsSync(filePath)) return null;
4733
- const content = fs11.readFileSync(filePath, "utf-8");
4770
+ if (!fs12.existsSync(filePath)) return null;
4771
+ const content = fs12.readFileSync(filePath, "utf-8");
4734
4772
  const raw = parse(content);
4735
4773
  if (!raw || typeof raw !== "object") return null;
4736
4774
  return parseWorkspaceV2(raw);
@@ -4738,23 +4776,23 @@ function loadWorkspaceV2(dir, filename = "skaile.yaml") {
4738
4776
  function saveWorkspaceV2(dir, v2, filename = "skaile.yaml") {
4739
4777
  const filePath = path16.join(dir, filename);
4740
4778
  let existing = {};
4741
- if (fs11.existsSync(filePath)) {
4742
- const content = fs11.readFileSync(filePath, "utf-8");
4779
+ if (fs12.existsSync(filePath)) {
4780
+ const content = fs12.readFileSync(filePath, "utf-8");
4743
4781
  existing = parse(content) ?? {};
4744
4782
  }
4745
4783
  existing.version = 2;
4746
4784
  if (v2.library !== void 0) existing.library = v2.library;
4747
4785
  if (v2.presets_applied !== void 0) existing.presets_applied = v2.presets_applied;
4748
- if (!fs11.existsSync(dir)) {
4749
- fs11.mkdirSync(dir, { recursive: true });
4786
+ if (!fs12.existsSync(dir)) {
4787
+ fs12.mkdirSync(dir, { recursive: true });
4750
4788
  }
4751
- fs11.writeFileSync(filePath, stringify(existing, { indent: 2 }), "utf-8");
4789
+ fs12.writeFileSync(filePath, stringify(existing, { indent: 2 }), "utf-8");
4752
4790
  }
4753
4791
  var LOCK_FILENAME = "skaile.lock.yaml";
4754
4792
  function loadLockFile(dir) {
4755
4793
  const filePath = path16.join(dir, LOCK_FILENAME);
4756
- if (!fs11.existsSync(filePath)) return null;
4757
- const content = fs11.readFileSync(filePath, "utf-8");
4794
+ if (!fs12.existsSync(filePath)) return null;
4795
+ const content = fs12.readFileSync(filePath, "utf-8");
4758
4796
  const raw = parse(content);
4759
4797
  if (raw !== null && !("assignments" in raw) && "subscriptions" in raw) {
4760
4798
  const legacySubs = raw.subscriptions;
@@ -4771,10 +4809,10 @@ function loadLockFile(dir) {
4771
4809
  }
4772
4810
  function saveLockFile(dir, lock) {
4773
4811
  const filePath = path16.join(dir, LOCK_FILENAME);
4774
- if (!fs11.existsSync(dir)) {
4775
- fs11.mkdirSync(dir, { recursive: true });
4812
+ if (!fs12.existsSync(dir)) {
4813
+ fs12.mkdirSync(dir, { recursive: true });
4776
4814
  }
4777
- fs11.writeFileSync(
4815
+ fs12.writeFileSync(
4778
4816
  filePath,
4779
4817
  `# Auto-generated by skaile. Do not edit manually.
4780
4818
  ${stringify(lock, { indent: 2 })}`,
@@ -4792,13 +4830,13 @@ function createEmptyLockFile() {
4792
4830
  }
4793
4831
  function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
4794
4832
  const filePath = path16.join(dir, filename);
4795
- if (!fs11.existsSync(filePath)) return null;
4796
- const content = fs11.readFileSync(filePath, "utf-8");
4833
+ if (!fs12.existsSync(filePath)) return null;
4834
+ const content = fs12.readFileSync(filePath, "utf-8");
4797
4835
  const raw = parse(content);
4798
4836
  if (!raw || typeof raw !== "object") return null;
4799
4837
  return raw.version === 2 ? 2 : 1;
4800
4838
  }
4801
4839
 
4802
- 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, UNLISTED_SCAN_SKIP_DIRS, UserLibraryNotFoundError, WorkspaceConfigV2Schema, applyNonStructuralUpgrade, applyPreset, applyPresetFromData, assertManifestEditable, assertValidLibraryName, assetRootProblem, classifyRef, cloneOrInitGitRepo, commitStoreManifest, conflictingAssetRoot, createEmptyLockFile, curatedManifestOverlay, deriveSlug, describeCatalogError, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filesEntryPaths, 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, unparsableAssetFiles, unregisteredLibraryNames, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
4803
- //# sourceMappingURL=chunk-UL22SDGR.js.map
4804
- //# sourceMappingURL=chunk-UL22SDGR.js.map
4840
+ 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, UNLISTED_SCAN_SKIP_DIRS, UserLibraryNotFoundError, WorkspaceConfigV2Schema, applyNonStructuralUpgrade, applyPreset, applyPresetFromData, assertManifestEditable, assertValidLibraryName, assetRootProblem, classifyRef, cloneOrInitGitRepo, commitStoreManifest, conflictingAssetRoot, createEmptyLockFile, curatedManifestOverlay, deriveSlug, describeCatalogError, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filesEntryPaths, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, installLibraryAsset, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, lastLibraryName, 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, unparsableAssetFiles, unregisteredLibraryNames, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
4841
+ //# sourceMappingURL=chunk-S2XHGWQC.js.map
4842
+ //# sourceMappingURL=chunk-S2XHGWQC.js.map