@skaile/workspaces 5.7.0 → 5.8.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 (399) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-K36CR52Q.js → asset-feeds-EYRZR4K5.js} +54 -30
  4. package/dist/asset-feeds-EYRZR4K5.js.map +1 -0
  5. package/dist/asset-manager/catalog-deployer.js +9 -9
  6. package/dist/asset-manager/index.js +15 -15
  7. package/dist/asset-manager/installer.js +11 -11
  8. package/dist/asset-manager/renderers.js +10 -10
  9. package/dist/asset-manager/src/index.d.ts +268 -24
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/install-agent.d.ts +11 -0
  12. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  13. package/dist/asset-manager/src/installer.d.ts +2 -2
  14. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  15. package/dist/bridge/drivers/claude-sdk.js +147 -211
  16. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  17. package/dist/bridge/drivers/codex.js +90 -66
  18. package/dist/bridge/drivers/codex.js.map +1 -1
  19. package/dist/bridge/drivers/continue.js +14 -15
  20. package/dist/bridge/drivers/continue.js.map +1 -1
  21. package/dist/bridge/drivers/echo.js +4 -4
  22. package/dist/bridge/drivers/gemini.js +8 -8
  23. package/dist/bridge/drivers/goose.js +14 -15
  24. package/dist/bridge/drivers/goose.js.map +1 -1
  25. package/dist/bridge/drivers/omp.js +68 -104
  26. package/dist/bridge/drivers/omp.js.map +1 -1
  27. package/dist/bridge/drivers/opencode.js +14 -15
  28. package/dist/bridge/drivers/opencode.js.map +1 -1
  29. package/dist/bridge/drivers/qwen.js +8 -8
  30. package/dist/bridge/index.js +16 -17
  31. package/dist/bridge/src/codex/managed-driver.d.ts +13 -10
  32. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  33. package/dist/bridge/src/drivers/_subprocess-cli.d.ts +12 -2
  34. package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +1 -1
  35. package/dist/bridge/src/drivers/claude-sdk.d.ts +37 -62
  36. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  37. package/dist/bridge/src/drivers/codex.d.ts +26 -10
  38. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/continue.d.ts +2 -2
  40. package/dist/bridge/src/drivers/continue.d.ts.map +1 -1
  41. package/dist/bridge/src/drivers/gemini.d.ts +2 -2
  42. package/dist/bridge/src/drivers/gemini.d.ts.map +1 -1
  43. package/dist/bridge/src/drivers/goose.d.ts +2 -2
  44. package/dist/bridge/src/drivers/goose.d.ts.map +1 -1
  45. package/dist/bridge/src/drivers/omp.d.ts +24 -35
  46. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  47. package/dist/bridge/src/drivers/opencode.d.ts +2 -2
  48. package/dist/bridge/src/drivers/opencode.d.ts.map +1 -1
  49. package/dist/bridge/src/drivers/recovery-policy.d.ts +79 -0
  50. package/dist/bridge/src/drivers/recovery-policy.d.ts.map +1 -0
  51. package/dist/bridge/src/index.d.ts +1 -0
  52. package/dist/bridge/src/index.d.ts.map +1 -1
  53. package/dist/bridge/src/reconfigure-ledger.d.ts +117 -0
  54. package/dist/bridge/src/reconfigure-ledger.d.ts.map +1 -0
  55. package/dist/bridge/src/types.d.ts +57 -6
  56. package/dist/bridge/src/types.d.ts.map +1 -1
  57. package/dist/{chunk-WIEC3ZE4.js → chunk-2FRUUDZY.js} +5 -5
  58. package/dist/{chunk-WIEC3ZE4.js.map → chunk-2FRUUDZY.js.map} +1 -1
  59. package/dist/{chunk-O4Z7MAW7.js → chunk-2LWYNQK7.js} +3 -3
  60. package/dist/{chunk-O4Z7MAW7.js.map → chunk-2LWYNQK7.js.map} +1 -1
  61. package/dist/{chunk-OOLT6HGP.js → chunk-36AFURKZ.js} +7 -7
  62. package/dist/{chunk-OOLT6HGP.js.map → chunk-36AFURKZ.js.map} +1 -1
  63. package/dist/{chunk-DFFD4BFG.js → chunk-4MQS7CAF.js} +174 -86
  64. package/dist/chunk-4MQS7CAF.js.map +1 -0
  65. package/dist/{chunk-RNPHRRLG.js → chunk-4PTSR4UU.js} +3 -3
  66. package/dist/{chunk-RNPHRRLG.js.map → chunk-4PTSR4UU.js.map} +1 -1
  67. package/dist/{chunk-34C42MJX.js → chunk-6GRX5L6A.js} +5 -5
  68. package/dist/{chunk-34C42MJX.js.map → chunk-6GRX5L6A.js.map} +1 -1
  69. package/dist/{chunk-NFGRW3L7.js → chunk-7RGTAEG6.js} +3 -3
  70. package/dist/{chunk-NFGRW3L7.js.map → chunk-7RGTAEG6.js.map} +1 -1
  71. package/dist/{chunk-BTK7ECLH.js → chunk-AWQYXZVG.js} +15 -6
  72. package/dist/chunk-AWQYXZVG.js.map +1 -0
  73. package/dist/{chunk-XBSQ4KMC.js → chunk-B4X2N7JQ.js} +205 -3
  74. package/dist/chunk-B4X2N7JQ.js.map +1 -0
  75. package/dist/{chunk-FRHE7FFB.js → chunk-B6GIW55K.js} +5 -3
  76. package/dist/chunk-B6GIW55K.js.map +1 -0
  77. package/dist/{chunk-JLSCA5T5.js → chunk-BJNUNQAW.js} +3 -3
  78. package/dist/{chunk-JLSCA5T5.js.map → chunk-BJNUNQAW.js.map} +1 -1
  79. package/dist/{chunk-RVIZQ5XD.js → chunk-BTE2V4IW.js} +3 -3
  80. package/dist/{chunk-RVIZQ5XD.js.map → chunk-BTE2V4IW.js.map} +1 -1
  81. package/dist/{chunk-EB4XN3KE.js → chunk-CGT45WN7.js} +3 -3
  82. package/dist/{chunk-EB4XN3KE.js.map → chunk-CGT45WN7.js.map} +1 -1
  83. package/dist/{chunk-47ZD34KB.js → chunk-CIFS5K6T.js} +3 -3
  84. package/dist/{chunk-47ZD34KB.js.map → chunk-CIFS5K6T.js.map} +1 -1
  85. package/dist/{chunk-FAP63KV7.js → chunk-CKQEIY43.js} +4 -4
  86. package/dist/{chunk-FAP63KV7.js.map → chunk-CKQEIY43.js.map} +1 -1
  87. package/dist/{chunk-AVCUPPG6.js → chunk-EF7NPDDU.js} +4 -4
  88. package/dist/{chunk-AVCUPPG6.js.map → chunk-EF7NPDDU.js.map} +1 -1
  89. package/dist/chunk-EPBKISS5.js +84 -0
  90. package/dist/chunk-EPBKISS5.js.map +1 -0
  91. package/dist/{chunk-THEJJBOU.js → chunk-F2EKONM7.js} +3 -3
  92. package/dist/{chunk-THEJJBOU.js.map → chunk-F2EKONM7.js.map} +1 -1
  93. package/dist/{chunk-DMLDYFDS.js → chunk-F3RDEH5U.js} +7 -4
  94. package/dist/chunk-F3RDEH5U.js.map +1 -0
  95. package/dist/{chunk-SZWRPEF7.js → chunk-FTJJO3EM.js} +39 -29
  96. package/dist/chunk-FTJJO3EM.js.map +1 -0
  97. package/dist/{chunk-PSA6ONFB.js → chunk-FVJK4QWM.js} +4 -4
  98. package/dist/{chunk-PSA6ONFB.js.map → chunk-FVJK4QWM.js.map} +1 -1
  99. package/dist/{chunk-LBQ4BBX4.js → chunk-FZNG4V4J.js} +16 -30
  100. package/dist/chunk-FZNG4V4J.js.map +1 -0
  101. package/dist/{chunk-SWO25LTO.js → chunk-GB7WDMH2.js} +4 -4
  102. package/dist/{chunk-SWO25LTO.js.map → chunk-GB7WDMH2.js.map} +1 -1
  103. package/dist/{chunk-NARITJS2.js → chunk-GCICGXDD.js} +3 -3
  104. package/dist/{chunk-NARITJS2.js.map → chunk-GCICGXDD.js.map} +1 -1
  105. package/dist/{chunk-TTPSDC2G.js → chunk-GTILM2CI.js} +34 -13
  106. package/dist/chunk-GTILM2CI.js.map +1 -0
  107. package/dist/{chunk-EU3Q5AQ4.js → chunk-GXXFLBUQ.js} +23 -32
  108. package/dist/chunk-GXXFLBUQ.js.map +1 -0
  109. package/dist/{chunk-D5HOETOB.js → chunk-H7QUDDKH.js} +981 -126
  110. package/dist/chunk-H7QUDDKH.js.map +1 -0
  111. package/dist/{chunk-GIC3G5YG.js → chunk-HG34RNTK.js} +7 -13
  112. package/dist/chunk-HG34RNTK.js.map +1 -0
  113. package/dist/{chunk-LXY4BUA3.js → chunk-HYDRDNKN.js} +9 -5
  114. package/dist/chunk-HYDRDNKN.js.map +1 -0
  115. package/dist/{chunk-N6FBTXQ5.js → chunk-I6NLLJHZ.js} +2 -2
  116. package/dist/{chunk-N6FBTXQ5.js.map → chunk-I6NLLJHZ.js.map} +1 -1
  117. package/dist/{chunk-NWQB7UTY.js → chunk-IONAUNWB.js} +3 -3
  118. package/dist/{chunk-NWQB7UTY.js.map → chunk-IONAUNWB.js.map} +1 -1
  119. package/dist/{chunk-CT6NQSA4.js → chunk-ISHJITXJ.js} +3 -3
  120. package/dist/{chunk-CT6NQSA4.js.map → chunk-ISHJITXJ.js.map} +1 -1
  121. package/dist/chunk-IZCR27MU.js +60 -0
  122. package/dist/chunk-IZCR27MU.js.map +1 -0
  123. package/dist/{chunk-LCU5U5IW.js → chunk-JAKOMFC6.js} +67 -19
  124. package/dist/chunk-JAKOMFC6.js.map +1 -0
  125. package/dist/{chunk-VOOI7B2L.js → chunk-LEMHVDET.js} +86 -66
  126. package/dist/chunk-LEMHVDET.js.map +1 -0
  127. package/dist/{chunk-37FTLYFP.js → chunk-LNFKL23K.js} +3 -3
  128. package/dist/{chunk-37FTLYFP.js.map → chunk-LNFKL23K.js.map} +1 -1
  129. package/dist/{chunk-6UFFKMVC.js → chunk-LSXHED6I.js} +6 -6
  130. package/dist/{chunk-6UFFKMVC.js.map → chunk-LSXHED6I.js.map} +1 -1
  131. package/dist/{chunk-XUUYAS3Z.js → chunk-M3WPBTGJ.js} +3 -3
  132. package/dist/{chunk-XUUYAS3Z.js.map → chunk-M3WPBTGJ.js.map} +1 -1
  133. package/dist/{chunk-QZLWJETK.js → chunk-MGGFBZWA.js} +3 -3
  134. package/dist/{chunk-QZLWJETK.js.map → chunk-MGGFBZWA.js.map} +1 -1
  135. package/dist/{chunk-53MSCGR2.js → chunk-NPLPCRW5.js} +5 -5
  136. package/dist/{chunk-53MSCGR2.js.map → chunk-NPLPCRW5.js.map} +1 -1
  137. package/dist/{chunk-QCI6D7E4.js → chunk-NUELZWCF.js} +266 -170
  138. package/dist/chunk-NUELZWCF.js.map +1 -0
  139. package/dist/{chunk-BWZF2ZIF.js → chunk-OFBIWVCR.js} +3 -3
  140. package/dist/{chunk-BWZF2ZIF.js.map → chunk-OFBIWVCR.js.map} +1 -1
  141. package/dist/{chunk-IZLQ4GDO.js → chunk-P23M65LB.js} +43 -21
  142. package/dist/chunk-P23M65LB.js.map +1 -0
  143. package/dist/{chunk-G67BOI2J.js → chunk-PMECEZK3.js} +15 -9
  144. package/dist/chunk-PMECEZK3.js.map +1 -0
  145. package/dist/{chunk-GWXFSLBK.js → chunk-PTSGWKHR.js} +4 -4
  146. package/dist/{chunk-GWXFSLBK.js.map → chunk-PTSGWKHR.js.map} +1 -1
  147. package/dist/{chunk-OKGUDNDT.js → chunk-Q6E6FM7P.js} +35 -33
  148. package/dist/chunk-Q6E6FM7P.js.map +1 -0
  149. package/dist/{chunk-CWM3MYGX.js → chunk-QOP6KDFR.js} +8 -9
  150. package/dist/chunk-QOP6KDFR.js.map +1 -0
  151. package/dist/{chunk-O7VPNKYN.js → chunk-QVNRCDTV.js} +23 -7
  152. package/dist/chunk-QVNRCDTV.js.map +1 -0
  153. package/dist/{chunk-UX3K4RKE.js → chunk-S53LOR7B.js} +3 -3
  154. package/dist/{chunk-UX3K4RKE.js.map → chunk-S53LOR7B.js.map} +1 -1
  155. package/dist/{chunk-KNWCFEWU.js → chunk-SH5D7U7N.js} +20 -7
  156. package/dist/{chunk-KNWCFEWU.js.map → chunk-SH5D7U7N.js.map} +1 -1
  157. package/dist/{chunk-KM7XWC4Y.js → chunk-UAROCOXF.js} +3 -3
  158. package/dist/{chunk-KM7XWC4Y.js.map → chunk-UAROCOXF.js.map} +1 -1
  159. package/dist/{chunk-JMKB7IB4.js → chunk-UMVKJM4Q.js} +4 -4
  160. package/dist/chunk-UMVKJM4Q.js.map +1 -0
  161. package/dist/{chunk-HCYS7GFP.js → chunk-V2DXZYBB.js} +3 -3
  162. package/dist/{chunk-HCYS7GFP.js.map → chunk-V2DXZYBB.js.map} +1 -1
  163. package/dist/{chunk-IUUYRXT6.js → chunk-W5DWWE4Y.js} +4 -4
  164. package/dist/{chunk-IUUYRXT6.js.map → chunk-W5DWWE4Y.js.map} +1 -1
  165. package/dist/{chunk-FK6HPLQA.js → chunk-WTQ3TATB.js} +3 -3
  166. package/dist/{chunk-FK6HPLQA.js.map → chunk-WTQ3TATB.js.map} +1 -1
  167. package/dist/{chunk-7FJQT3GT.js → chunk-Y4N2NUZD.js} +4 -4
  168. package/dist/{chunk-7FJQT3GT.js.map → chunk-Y4N2NUZD.js.map} +1 -1
  169. package/dist/{chunk-6VRJH4MR.js → chunk-Y7QA2OLD.js} +6 -6
  170. package/dist/{chunk-6VRJH4MR.js.map → chunk-Y7QA2OLD.js.map} +1 -1
  171. package/dist/{chunk-74EEFB52.js → chunk-YSHVQGUS.js} +115 -27
  172. package/dist/chunk-YSHVQGUS.js.map +1 -0
  173. package/dist/{chunk-6C654TFI.js → chunk-ZAOGFXDO.js} +36 -8
  174. package/dist/chunk-ZAOGFXDO.js.map +1 -0
  175. package/dist/{chunk-MKLBK7HI.js → chunk-ZKSJMZKD.js} +17 -13
  176. package/dist/chunk-ZKSJMZKD.js.map +1 -0
  177. package/dist/cli/index.js +373 -188
  178. package/dist/cli/index.js.map +1 -1
  179. package/dist/cli/src/asset-feeds.d.ts +5 -2
  180. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  181. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  182. package/dist/cli/src/commands/catalog.d.ts +15 -2
  183. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  184. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  185. package/dist/cli/src/commands/library-index.d.ts +8 -0
  186. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  187. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  188. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  189. package/dist/cli/src/commands/outdated.d.ts +7 -2
  190. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  191. package/dist/cli/src/commands/project.d.ts +2 -0
  192. package/dist/cli/src/commands/project.d.ts.map +1 -1
  193. package/dist/cli/src/commands/publish-core.d.ts +10 -1
  194. package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
  195. package/dist/cli/src/commands/session.d.ts.map +1 -1
  196. package/dist/cli/src/commands/source.d.ts +14 -0
  197. package/dist/cli/src/commands/source.d.ts.map +1 -1
  198. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  199. package/dist/cli/src/commands/update.d.ts.map +1 -1
  200. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  201. package/dist/cli/src/flow-discovery.d.ts +8 -5
  202. package/dist/cli/src/flow-discovery.d.ts.map +1 -1
  203. package/dist/cli/src/open-library.d.ts +0 -11
  204. package/dist/cli/src/open-library.d.ts.map +1 -1
  205. package/dist/cli/src/skill-checks.d.ts +11 -2
  206. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  207. package/dist/connectors/config.js +5 -5
  208. package/dist/connectors/index.js +25 -26
  209. package/dist/connectors/src/access-policy.d.ts +33 -0
  210. package/dist/connectors/src/access-policy.d.ts.map +1 -0
  211. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  212. package/dist/connectors/src/index.d.ts +2 -0
  213. package/dist/connectors/src/index.d.ts.map +1 -1
  214. package/dist/connectors-O6Y6VESP.js +44 -0
  215. package/dist/{connectors-SSOTIDHT.js.map → connectors-O6Y6VESP.js.map} +1 -1
  216. package/dist/connectors-shared/index.js +2 -2
  217. package/dist/core/index.js +8 -8
  218. package/dist/core/logging.js +1 -1
  219. package/dist/core/manifest.js +2 -2
  220. package/dist/core/models.js +1 -1
  221. package/dist/core/publish-manifest.js +2 -2
  222. package/dist/core/ref.js +1 -1
  223. package/dist/core/runtime-assets.js +5 -5
  224. package/dist/core/src/index.d.ts +3 -3
  225. package/dist/core/src/index.d.ts.map +1 -1
  226. package/dist/core/src/logging/config.d.ts +9 -1
  227. package/dist/core/src/logging/config.d.ts.map +1 -1
  228. package/dist/core/src/manifest.d.ts +11 -1
  229. package/dist/core/src/manifest.d.ts.map +1 -1
  230. package/dist/core/src/models.d.ts +14 -6
  231. package/dist/core/src/models.d.ts.map +1 -1
  232. package/dist/core/src/repo-manager.d.ts +41 -6
  233. package/dist/core/src/repo-manager.d.ts.map +1 -1
  234. package/dist/core/src/store.d.ts +16 -2
  235. package/dist/core/src/store.d.ts.map +1 -1
  236. package/dist/core/src/workspace-config.d.ts +10 -1
  237. package/dist/core/src/workspace-config.d.ts.map +1 -1
  238. package/dist/core/store.js +1 -1
  239. package/dist/core/workspace-config.js +4 -4
  240. package/dist/deploy/index.js +8 -8
  241. package/dist/discovery/index.js +5 -5
  242. package/dist/{ensure-sources-277VI7R3.js → ensure-sources-SKLNM4UZ.js} +18 -18
  243. package/dist/{ensure-sources-277VI7R3.js.map → ensure-sources-SKLNM4UZ.js.map} +1 -1
  244. package/dist/factory-assets/connectors/box.js +25 -26
  245. package/dist/factory-assets/connectors/deploy.js +25 -26
  246. package/dist/factory-assets/connectors/devserver.js +25 -26
  247. package/dist/factory-assets/connectors/flow/adapter.d.ts +6 -0
  248. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  249. package/dist/factory-assets/connectors/flow/adapter.js +25 -26
  250. package/dist/factory-assets/connectors/flow/contract/expression.d.ts +3 -0
  251. package/dist/factory-assets/connectors/flow/contract/expression.d.ts.map +1 -1
  252. package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts +1 -1
  253. package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts.map +1 -1
  254. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -1
  255. package/dist/factory-assets/connectors/flow/contract.js +4 -4
  256. package/dist/factory-assets/connectors/flow/engine/flow-output.d.ts +4 -3
  257. package/dist/factory-assets/connectors/flow/engine/flow-output.d.ts.map +1 -1
  258. package/dist/factory-assets/connectors/flow/engine/output-schema.d.ts +6 -1
  259. package/dist/factory-assets/connectors/flow/engine/output-schema.d.ts.map +1 -1
  260. package/dist/factory-assets/connectors/flow/engine.js +12 -12
  261. package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts.map +1 -1
  262. package/dist/factory-assets/connectors/flow/prompt-fragments.js +3 -3
  263. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  264. package/dist/factory-assets/connectors/flow/run-flow.js +27 -28
  265. package/dist/factory-assets/connectors/flow.js +25 -26
  266. package/dist/factory-assets/connectors/git/config.d.ts.map +1 -1
  267. package/dist/factory-assets/connectors/git.js +25 -26
  268. package/dist/factory-assets/connectors/gmail.js +25 -26
  269. package/dist/factory-assets/connectors/googledrive.js +25 -26
  270. package/dist/factory-assets/connectors/local.js +25 -26
  271. package/dist/factory-assets/connectors/mattermost.js +25 -26
  272. package/dist/factory-assets/connectors/memory.js +25 -26
  273. package/dist/factory-assets/connectors/minio.js +25 -26
  274. package/dist/factory-assets/connectors/postgres.js +25 -26
  275. package/dist/factory-assets/connectors/s3.js +25 -26
  276. package/dist/factory-assets/connectors/sharepoint.js +25 -26
  277. package/dist/factory-assets/connectors/sqlite.js +25 -26
  278. package/dist/factory-assets/connectors/static-server.js +25 -26
  279. package/dist/factory-assets/connectors/tunnel.js +25 -26
  280. package/dist/factory-assets/connectors/webdav.js +25 -26
  281. package/dist/factory-assets/connectors/xstate-store.js +25 -26
  282. package/dist/factory-assets/connectors/xstate.js +25 -26
  283. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +10 -7
  284. package/dist/{flows-J2UEU2QM.js → flows-CBYRSAGS.js} +13 -13
  285. package/dist/{flows-J2UEU2QM.js.map → flows-CBYRSAGS.js.map} +1 -1
  286. package/dist/{helpers-KC5O7CML.js → helpers-MWZDRBLD.js} +18 -18
  287. package/dist/{helpers-KC5O7CML.js.map → helpers-MWZDRBLD.js.map} +1 -1
  288. package/dist/library/index.js +12 -12
  289. package/dist/library/install.js +3 -3
  290. package/dist/library/src/index.d.ts +3 -1
  291. package/dist/library/src/index.d.ts.map +1 -1
  292. package/dist/library/src/local/scan-authoring-libraries.d.ts +43 -0
  293. package/dist/library/src/local/scan-authoring-libraries.d.ts.map +1 -0
  294. package/dist/library/src/manifest-writer.d.ts +26 -3
  295. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  296. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  297. package/dist/{library-publish-FGXF5TJO.js → library-publish-PICMDSB2.js} +73 -37
  298. package/dist/library-publish-PICMDSB2.js.map +1 -0
  299. package/dist/open-library-OG457THY.js +40 -0
  300. package/dist/{open-library-P3D337NH.js.map → open-library-OG457THY.js.map} +1 -1
  301. package/dist/open-registry-ZUZJ7MS7.js +32 -0
  302. package/dist/{open-registry-Z3P2X2AB.js.map → open-registry-ZUZJ7MS7.js.map} +1 -1
  303. package/dist/paths-FQ64OLJG.js +22 -0
  304. package/dist/{paths-JKEKXM52.js.map → paths-FQ64OLJG.js.map} +1 -1
  305. package/dist/{plugin-store-WI4MZJLP.js → plugin-store-MPAMD5OT.js} +10 -10
  306. package/dist/{plugin-store-WI4MZJLP.js.map → plugin-store-MPAMD5OT.js.map} +1 -1
  307. package/dist/project-2GFT5LEZ.js +41 -0
  308. package/dist/{project-WFUDVYNN.js.map → project-2GFT5LEZ.js.map} +1 -1
  309. package/dist/resolver/index.js +9 -9
  310. package/dist/runner/index.js +40 -41
  311. package/dist/runner/src/logging-bootstrap.d.ts +6 -0
  312. package/dist/runner/src/logging-bootstrap.d.ts.map +1 -1
  313. package/dist/runner/src/reconfigure-handler.d.ts +38 -17
  314. package/dist/runner/src/reconfigure-handler.d.ts.map +1 -1
  315. package/dist/runner/src/serve.d.ts.map +1 -1
  316. package/dist/runner/src/session-capability-wiring.d.ts +0 -2
  317. package/dist/runner/src/session-capability-wiring.d.ts.map +1 -1
  318. package/dist/sdk/asset-manager.js +15 -15
  319. package/dist/sdk/bridge.js +16 -17
  320. package/dist/sdk/core.js +8 -8
  321. package/dist/sdk/flow.js +12 -12
  322. package/dist/sdk/index.js +68 -45
  323. package/dist/sdk/index.js.map +1 -1
  324. package/dist/sdk/resolver.js +9 -9
  325. package/dist/sdk/runner.js +40 -41
  326. package/dist/sdk/session.js +2 -2
  327. package/dist/sdk/src/agent-session.d.ts +8 -0
  328. package/dist/sdk/src/agent-session.d.ts.map +1 -1
  329. package/dist/sdk/store.js +2 -1
  330. package/dist/sdk/types.js +1 -1
  331. package/dist/session/index.js +2 -2
  332. package/dist/{setup-RAMLTORM.js → setup-WHMCSIF2.js} +26 -27
  333. package/dist/setup-WHMCSIF2.js.map +1 -0
  334. package/dist/skills-TVO26Y4V.js +26 -0
  335. package/dist/{skills-EOHZ2DZ4.js.map → skills-TVO26Y4V.js.map} +1 -1
  336. package/dist/source-LKOFTOEK.js +41 -0
  337. package/dist/{source-FYVSFYEI.js.map → source-LKOFTOEK.js.map} +1 -1
  338. package/dist/{source-manifest-publish-4FPIPPLV.js → source-manifest-publish-L5J3QXER.js} +27 -27
  339. package/dist/{source-manifest-publish-4FPIPPLV.js.map → source-manifest-publish-L5J3QXER.js.map} +1 -1
  340. package/dist/store/index.js +2 -1
  341. package/dist/store/src/store.d.ts +8 -5
  342. package/dist/store/src/store.d.ts.map +1 -1
  343. package/dist/tui/index.js +40 -41
  344. package/dist/tui/index.js.map +1 -1
  345. package/dist/types/index.js +1 -1
  346. package/dist/types/manifests.js +1 -1
  347. package/dist/types/src/ask-slots.d.ts +68 -0
  348. package/dist/types/src/ask-slots.d.ts.map +1 -0
  349. package/dist/types/src/delivery.d.ts.map +1 -1
  350. package/dist/types/src/events.d.ts +29 -1
  351. package/dist/types/src/events.d.ts.map +1 -1
  352. package/dist/types/src/index.d.ts +1 -1
  353. package/dist/types/src/index.d.ts.map +1 -1
  354. package/dist/types/src/manifests/index.d.ts +1 -1
  355. package/dist/types/src/manifests/index.d.ts.map +1 -1
  356. package/dist/types/src/manifests/preset.d.ts +4 -0
  357. package/dist/types/src/manifests/preset.d.ts.map +1 -1
  358. package/dist/types/src/version.d.ts +12 -1
  359. package/dist/types/src/version.d.ts.map +1 -1
  360. package/dist/workspace-plugin/adapters/mcp.js +32 -33
  361. package/dist/workspace-plugin/adapters/omp.js +14 -14
  362. package/dist/workspace-plugin/index.js +2 -2
  363. package/package.json +1 -1
  364. package/dist/asset-feeds-K36CR52Q.js.map +0 -1
  365. package/dist/chunk-6C654TFI.js.map +0 -1
  366. package/dist/chunk-74EEFB52.js.map +0 -1
  367. package/dist/chunk-BTK7ECLH.js.map +0 -1
  368. package/dist/chunk-CWM3MYGX.js.map +0 -1
  369. package/dist/chunk-D5HOETOB.js.map +0 -1
  370. package/dist/chunk-DFFD4BFG.js.map +0 -1
  371. package/dist/chunk-DMLDYFDS.js.map +0 -1
  372. package/dist/chunk-EINLFFP6.js +0 -59
  373. package/dist/chunk-EINLFFP6.js.map +0 -1
  374. package/dist/chunk-EU3Q5AQ4.js.map +0 -1
  375. package/dist/chunk-FRHE7FFB.js.map +0 -1
  376. package/dist/chunk-G67BOI2J.js.map +0 -1
  377. package/dist/chunk-GIC3G5YG.js.map +0 -1
  378. package/dist/chunk-IZLQ4GDO.js.map +0 -1
  379. package/dist/chunk-JMKB7IB4.js.map +0 -1
  380. package/dist/chunk-LBQ4BBX4.js.map +0 -1
  381. package/dist/chunk-LCU5U5IW.js.map +0 -1
  382. package/dist/chunk-LXY4BUA3.js.map +0 -1
  383. package/dist/chunk-MKLBK7HI.js.map +0 -1
  384. package/dist/chunk-O7VPNKYN.js.map +0 -1
  385. package/dist/chunk-OKGUDNDT.js.map +0 -1
  386. package/dist/chunk-QCI6D7E4.js.map +0 -1
  387. package/dist/chunk-SZWRPEF7.js.map +0 -1
  388. package/dist/chunk-TTPSDC2G.js.map +0 -1
  389. package/dist/chunk-VOOI7B2L.js.map +0 -1
  390. package/dist/chunk-XBSQ4KMC.js.map +0 -1
  391. package/dist/connectors-SSOTIDHT.js +0 -45
  392. package/dist/library-publish-FGXF5TJO.js.map +0 -1
  393. package/dist/open-library-P3D337NH.js +0 -40
  394. package/dist/open-registry-Z3P2X2AB.js +0 -32
  395. package/dist/paths-JKEKXM52.js +0 -22
  396. package/dist/project-WFUDVYNN.js +0 -41
  397. package/dist/setup-RAMLTORM.js.map +0 -1
  398. package/dist/skills-EOHZ2DZ4.js +0 -26
  399. package/dist/source-FYVSFYEI.js +0 -41
@@ -1,16 +1,16 @@
1
- import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-6VRJH4MR.js';
2
- import { installFromManifest, assertSafeManifestPath } from './chunk-FAP63KV7.js';
3
- import { PresetManifestSchema } from './chunk-FRHE7FFB.js';
4
- import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-OOLT6HGP.js';
5
- import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-LCU5U5IW.js';
1
+ import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-Y7QA2OLD.js';
2
+ import { installFromManifest, assertSafeManifestPath } from './chunk-CKQEIY43.js';
3
+ import { PresetManifestSchema } from './chunk-B6GIW55K.js';
4
+ import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-36AFURKZ.js';
5
+ import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-JAKOMFC6.js';
6
6
  import { userConfigPath, globalSkaileDir, mergeLegacyEntriesInto, migrateLegacyDir, globalCacheRoot } from './chunk-L5VSIPQD.js';
7
- import { encodeSkaileManifest, loadSkPublishManifest, SKAILE_MANIFEST_FILENAME } from './chunk-RVIZQ5XD.js';
8
- import { scanDirectory } from './chunk-TTPSDC2G.js';
9
- import { parseAssetRef, assetRefToStr } from './chunk-O7VPNKYN.js';
7
+ import { encodeSkaileManifest, loadSkPublishManifest, SKAILE_MANIFEST_FILENAME } from './chunk-BTE2V4IW.js';
8
+ import { scanDirectory } from './chunk-GTILM2CI.js';
9
+ import { parseAssetRef, assetRefToStr } from './chunk-QVNRCDTV.js';
10
10
  import { __export } from './chunk-NSBPE2FW.js';
11
11
  import * as fs10 from 'fs';
12
12
  import { existsSync, mkdirSync, symlinkSync, copyFileSync, cpSync } from 'fs';
13
- import * as path4 from 'path';
13
+ import * as path15 from 'path';
14
14
  import { resolve, relative, sep, join, dirname } from 'path';
15
15
  import { stringify, parse, parseDocument } from 'yaml';
16
16
  import * as z3 from 'zod';
@@ -103,10 +103,10 @@ var SkaileConfigSchema = z3.object({
103
103
  library: LibraryConfigSchema.optional()
104
104
  });
105
105
  function defaultIndexPath() {
106
- return path4.join(globalSkaileDir(), "index.db");
106
+ return path15.join(globalSkaileDir(), "index.db");
107
107
  }
108
108
  function resolveIndexPath() {
109
- if (process.env.SKAILE_INDEX_PATH) return path4.resolve(process.env.SKAILE_INDEX_PATH);
109
+ if (process.env.SKAILE_INDEX_PATH) return path15.resolve(process.env.SKAILE_INDEX_PATH);
110
110
  return defaultIndexPath();
111
111
  }
112
112
  function getConfigDefaults() {
@@ -117,7 +117,7 @@ function getConfigDefaults() {
117
117
  }
118
118
  var CONFIG_FILENAME = "config.yaml";
119
119
  function projectConfigPath(projectDir) {
120
- return path4.join(projectDir, ".skaile", CONFIG_FILENAME);
120
+ return path15.join(projectDir, ".skaile", CONFIG_FILENAME);
121
121
  }
122
122
  function loadConfigFile(filePath) {
123
123
  if (!fs10.existsSync(filePath)) return null;
@@ -170,7 +170,7 @@ function resolveConfig(opts) {
170
170
  return resolved;
171
171
  }
172
172
  function saveConfig(filePath, config) {
173
- const dir = path4.dirname(filePath);
173
+ const dir = path15.dirname(filePath);
174
174
  if (!fs10.existsSync(dir)) {
175
175
  fs10.mkdirSync(dir, { recursive: true });
176
176
  }
@@ -200,11 +200,11 @@ function validateKnowledge(data) {
200
200
 
201
201
  // library/src/knowledge/knowledge-kind-provider.ts
202
202
  function collectDirRecursive(baseDir, relativeDir) {
203
- const full = path4.join(baseDir, relativeDir);
203
+ const full = path15.join(baseDir, relativeDir);
204
204
  if (!fs10.existsSync(full) || !fs10.statSync(full).isDirectory()) return [];
205
205
  const results = [];
206
206
  for (const entry of fs10.readdirSync(full, { withFileTypes: true })) {
207
- const rel = path4.posix.join(relativeDir, entry.name);
207
+ const rel = path15.posix.join(relativeDir, entry.name);
208
208
  if (entry.isDirectory()) {
209
209
  results.push(...collectDirRecursive(baseDir, rel));
210
210
  } else if (entry.isFile()) {
@@ -231,8 +231,8 @@ var knowledgeKindProvider = {
231
231
  return validateKnowledge(data);
232
232
  },
233
233
  defaultFileFilter(manifestPath) {
234
- const dir = path4.dirname(manifestPath);
235
- const manifestName = path4.basename(manifestPath);
234
+ const dir = path15.dirname(manifestPath);
235
+ const manifestName = path15.basename(manifestPath);
236
236
  const files = [manifestName];
237
237
  files.push(...collectDirRecursive(dir, "documents"));
238
238
  files.sort();
@@ -311,30 +311,30 @@ var assignments = sqliteTable("assignments", {
311
311
  assignedAt: text("assigned_at").notNull()
312
312
  });
313
313
  function isClone(dir) {
314
- return fs10.existsSync(path4.join(dir, ".git"));
314
+ return fs10.existsSync(path15.join(dir, ".git"));
315
315
  }
316
316
  function getSidecarRoot() {
317
317
  const home = globalSkaileDir();
318
- const sidecars = path4.join(home, "sidecars");
319
- const legacy = path4.join(home, "sources");
318
+ const sidecars = path15.join(home, "sidecars");
319
+ const legacy = path15.join(home, "sources");
320
320
  mergeLegacyEntriesInto(getGlobalCacheDir(), legacy, isClone);
321
321
  mergeLegacyEntriesInto(sidecars, legacy, (p) => !isClone(p));
322
322
  return sidecars;
323
323
  }
324
324
  function resolveSidecarPaths(slug) {
325
325
  const rootDir = getSidecarRoot();
326
- const sidecarDir = path4.join(rootDir, slug);
326
+ const sidecarDir = path15.join(rootDir, slug);
327
327
  return {
328
328
  rootDir,
329
329
  sidecarDir,
330
- manifestFile: path4.join(sidecarDir, "skaile.manifest.yaml"),
331
- readmeFile: path4.join(sidecarDir, "README.md"),
332
- lockFile: path4.join(sidecarDir, "skaile.manifest.lock.json")
330
+ manifestFile: path15.join(sidecarDir, "skaile.manifest.yaml"),
331
+ readmeFile: path15.join(sidecarDir, "README.md"),
332
+ lockFile: path15.join(sidecarDir, "skaile.manifest.lock.json")
333
333
  };
334
334
  }
335
335
  function deriveSlug(sourceConfig, sourcePath, existingSlugs) {
336
336
  const fromConfig = sourceConfig && typeof sourceConfig.name === "string" ? sourceConfig.name : void 0;
337
- const base = fromConfig && fromConfig.length > 0 ? slugify(fromConfig) : slugify(path4.basename(sourcePath || "")) || "unnamed-source";
337
+ const base = fromConfig && fromConfig.length > 0 ? slugify(fromConfig) : slugify(path15.basename(sourcePath || "")) || "unnamed-source";
338
338
  const taken = new Set(existingSlugs);
339
339
  if (!taken.has(base)) return base;
340
340
  for (let i = 2; i < 1e3; i++) {
@@ -360,17 +360,17 @@ function slugify(input) {
360
360
 
361
361
  // library/src/local/store-paths.ts
362
362
  function getStoreRoot() {
363
- return path4.join(globalSkaileDir(), "store");
363
+ return path15.join(globalSkaileDir(), "store");
364
364
  }
365
365
  function getStoreManifestsDir() {
366
- return path4.join(getStoreRoot(), "manifests");
366
+ return path15.join(getStoreRoot(), "manifests");
367
367
  }
368
368
  function curatedManifestOverlay(sourceUrl) {
369
- const file = path4.join(getStoreManifestsDir(), `${storeManifestSlug(sourceUrl)}.yaml`);
369
+ const file = path15.join(getStoreManifestsDir(), `${storeManifestSlug(sourceUrl)}.yaml`);
370
370
  return fs10.existsSync(file) ? file : void 0;
371
371
  }
372
372
  function migratedMarkerPath() {
373
- return path4.join(getStoreRoot(), ".migrated");
373
+ return path15.join(getStoreRoot(), ".migrated");
374
374
  }
375
375
  function collectSidecarMigrationCandidates(sidecarRoot) {
376
376
  const candidates = [];
@@ -378,9 +378,9 @@ function collectSidecarMigrationCandidates(sidecarRoot) {
378
378
  for (const entry of fs10.readdirSync(sidecarRoot, { withFileTypes: true })) {
379
379
  if (!entry.isDirectory()) continue;
380
380
  if (entry.name.startsWith(".")) continue;
381
- const sidecarDir = path4.join(sidecarRoot, entry.name);
382
- const current = path4.join(sidecarDir, "skaile.manifest.yaml");
383
- const legacy = path4.join(sidecarDir, ".skaile-source.yaml");
381
+ const sidecarDir = path15.join(sidecarRoot, entry.name);
382
+ const current = path15.join(sidecarDir, "skaile.manifest.yaml");
383
+ const legacy = path15.join(sidecarDir, ".skaile-source.yaml");
384
384
  const src = fs10.existsSync(current) ? current : fs10.existsSync(legacy) ? legacy : void 0;
385
385
  if (src) candidates.push({ src, slug: entry.name });
386
386
  }
@@ -390,7 +390,7 @@ function collectSidecarMigrationCandidates(sidecarRoot) {
390
390
  function moveSidecarManifests(candidates, manifestsDir) {
391
391
  let migrated = 0;
392
392
  for (const { src, slug } of candidates) {
393
- const dest = path4.join(manifestsDir, `${slug}.yaml`);
393
+ const dest = path15.join(manifestsDir, `${slug}.yaml`);
394
394
  if (fs10.existsSync(dest)) continue;
395
395
  try {
396
396
  fs10.renameSync(src, dest);
@@ -405,11 +405,11 @@ function moveSidecarManifests(candidates, manifestsDir) {
405
405
  return migrated;
406
406
  }
407
407
  function initStoreGitRepo(storeRoot) {
408
- if (fs10.existsSync(path4.join(storeRoot, ".git"))) return;
408
+ if (fs10.existsSync(path15.join(storeRoot, ".git"))) return;
409
409
  try {
410
410
  spawnSync("git", ["init", "--quiet"], { cwd: storeRoot, stdio: "ignore" });
411
411
  fs10.writeFileSync(
412
- path4.join(storeRoot, ".gitignore"),
412
+ path15.join(storeRoot, ".gitignore"),
413
413
  "# Remote-store cache \u2014 local to this machine.\nremote-cache/\n",
414
414
  "utf8"
415
415
  );
@@ -507,7 +507,7 @@ async function librariesPresent(client) {
507
507
  return rs.rows.length > 0;
508
508
  }
509
509
  function slugify2(p) {
510
- const base = path4.basename(p) || "lib";
510
+ const base = path15.basename(p) || "lib";
511
511
  return base.toLowerCase().replace(/[^a-z0-9-]+/g, "-").replace(/^-|-$/g, "") || "lib";
512
512
  }
513
513
  async function runLibrariesMigration(client) {
@@ -672,19 +672,19 @@ async function purgeOrphanedAssetDefinitions(client) {
672
672
  }
673
673
  function assertNoLegacyLibDb(newDbPath) {
674
674
  if (fs10.existsSync(newDbPath)) return;
675
- const parent = path4.dirname(newDbPath);
675
+ const parent = path15.dirname(newDbPath);
676
676
  const skaileHome = globalSkaileDir();
677
- const defaultIndexPath2 = path4.join(skaileHome, "index.db");
677
+ const defaultIndexPath2 = path15.join(skaileHome, "index.db");
678
678
  const candidates = [];
679
- if (path4.basename(newDbPath) === "index.db") {
680
- candidates.push(path4.join(parent, "lib.db"));
679
+ if (path15.basename(newDbPath) === "index.db") {
680
+ candidates.push(path15.join(parent, "lib.db"));
681
681
  }
682
682
  if (newDbPath === defaultIndexPath2) {
683
- candidates.push(path4.join(skaileHome, "libraries", "lib.db"));
684
- candidates.push(path4.join(skaileHome, "library", "lib.db"));
683
+ candidates.push(path15.join(skaileHome, "libraries", "lib.db"));
684
+ candidates.push(path15.join(skaileHome, "library", "lib.db"));
685
685
  }
686
- if (path4.basename(parent) === "libraries") {
687
- candidates.push(path4.join(path4.dirname(parent), "library", "lib.db"));
686
+ if (path15.basename(parent) === "libraries") {
687
+ candidates.push(path15.join(path15.dirname(parent), "library", "lib.db"));
688
688
  }
689
689
  for (const legacy of candidates) {
690
690
  if (!fs10.existsSync(legacy)) continue;
@@ -846,14 +846,14 @@ var LocalIndex = class {
846
846
  let dbPath;
847
847
  if (typeof optionsOrDir === "string") {
848
848
  dir = optionsOrDir;
849
- dbPath = path4.join(dir, "index.db");
849
+ dbPath = path15.join(dir, "index.db");
850
850
  } else if (optionsOrDir?.indexPath) {
851
851
  dbPath = optionsOrDir.indexPath;
852
852
  dir = optionsOrDir.libraryDir ?? resolveLibraryDir();
853
853
  this._kindRegistry = optionsOrDir.kindRegistry;
854
854
  } else if (optionsOrDir?.libraryDir) {
855
855
  dir = optionsOrDir.libraryDir;
856
- dbPath = path4.join(dir, "index.db");
856
+ dbPath = path15.join(dir, "index.db");
857
857
  this._kindRegistry = optionsOrDir.kindRegistry;
858
858
  } else {
859
859
  dir = resolveLibraryDir();
@@ -863,7 +863,7 @@ var LocalIndex = class {
863
863
  if (!fs10.existsSync(dir)) {
864
864
  fs10.mkdirSync(dir, { recursive: true });
865
865
  }
866
- const dbParent = path4.dirname(dbPath);
866
+ const dbParent = path15.dirname(dbPath);
867
867
  if (!fs10.existsSync(dbParent)) {
868
868
  fs10.mkdirSync(dbParent, { recursive: true });
869
869
  }
@@ -1085,7 +1085,7 @@ var LocalIndex = class {
1085
1085
  * @returns The created Instance plus its on-disk install path.
1086
1086
  */
1087
1087
  async install(manifest, opts) {
1088
- const libraryRoot = opts?.libraryRoot ?? path4.join(this.libraryDir, GLOBAL_INSTALL_DIR_NAME);
1088
+ const libraryRoot = opts?.libraryRoot ?? path15.join(this.libraryDir, GLOBAL_INSTALL_DIR_NAME);
1089
1089
  const { installPath } = await installFromManifest({
1090
1090
  manifest,
1091
1091
  libraryRoot,
@@ -1242,7 +1242,7 @@ function git(cwd, args) {
1242
1242
  return spawnSync("git", args, { cwd, encoding: "utf-8" });
1243
1243
  }
1244
1244
  function isGitRepo(libPath) {
1245
- return existsSync(path4.join(libPath, ".git"));
1245
+ return existsSync(path15.join(libPath, ".git"));
1246
1246
  }
1247
1247
  function spawnGit(cwd, args, action) {
1248
1248
  const r = git(cwd, args);
@@ -1416,7 +1416,14 @@ var GitSyncDriver = class {
1416
1416
  if (opts?.force) args.push("--force-with-lease");
1417
1417
  const local = `refs/heads/${cfg.branch}`;
1418
1418
  const pushed = countCommits(lib.path, `refs/remotes/origin/${cfg.branch}..${local}`) ?? countCommits(lib.path, local) ?? 0;
1419
- ok(git(lib.path, args), "push");
1419
+ const pushRes = git(lib.path, args);
1420
+ if (pushRes.status !== 0 && /non-fast-forward|fetch first|updates were rejected/i.test(pushRes.stderr)) {
1421
+ throw new LibrarySyncError(
1422
+ `local and remote both changed; run skaile library git ${lib.name} pull --rebase origin ${cfg.branch}`,
1423
+ "remote_error"
1424
+ );
1425
+ }
1426
+ ok(pushRes, "push");
1420
1427
  return { pushed };
1421
1428
  }
1422
1429
  async propose(lib, opts) {
@@ -1645,7 +1652,7 @@ var LibraryManager = class {
1645
1652
  (l) => l.isDefault && (l.ownership === "owner" || l.ownership === "contributor")
1646
1653
  );
1647
1654
  if (writableDefault) return { library: writableDefault, created: false };
1648
- const personalPath = path4.join(librariesDir, "personal");
1655
+ const personalPath = path15.join(librariesDir, "personal");
1649
1656
  fs10.mkdirSync(personalPath, { recursive: true });
1650
1657
  const lib = await this.addLibrary({
1651
1658
  name: "personal",
@@ -1677,7 +1684,7 @@ function describeSyncError(err) {
1677
1684
  return parts.join(": ");
1678
1685
  }
1679
1686
  function scanLibraryRoot(rootPath, registry, scanOpts) {
1680
- const fallbackPublisher = resolveSourcePublisher(rootPath) ?? (path4.basename(rootPath) || "unknown");
1687
+ const fallbackPublisher = resolveSourcePublisher(rootPath) ?? (path15.basename(rootPath) || "unknown");
1681
1688
  const opts = {
1682
1689
  registry,
1683
1690
  sidecarManifestFile: scanOpts?.sidecarManifestFile,
@@ -1904,6 +1911,26 @@ function installLibraryAsset(opts) {
1904
1911
  writeLock(lockPath, mergeLockFile(prevLock, buildLockFile([], /* @__PURE__ */ new Set(), lockEntries)));
1905
1912
  return { installPath, lockKey: Object.keys(lockEntries)[0] ?? ref, sha256: found.sha256 };
1906
1913
  }
1914
+ function authoringLibraries(libs) {
1915
+ const newRoot = getGlobalCacheDir();
1916
+ const legacyRoot = path15.join(globalSkaileDir(), "sources");
1917
+ return libs.filter((l) => !l.path.startsWith(newRoot) && !l.path.startsWith(legacyRoot));
1918
+ }
1919
+ async function scanAuthoringLibraries(index, registry) {
1920
+ const libraries2 = authoringLibraries(await index.listSources()).sort(
1921
+ (a, b) => b.createdAt.getTime() - a.createdAt.getTime()
1922
+ );
1923
+ return libraries2.map((library) => {
1924
+ if (!existsSync(library.path)) {
1925
+ return { library, assets: [], error: `library path does not exist: ${library.path}` };
1926
+ }
1927
+ try {
1928
+ return { library, assets: scanLibraryRoot(library.path, registry).assets };
1929
+ } catch (err) {
1930
+ return { library, assets: [], error: describeSyncError(err) };
1931
+ }
1932
+ });
1933
+ }
1907
1934
  var FALLBACK_USER_NAME = "Skaile CLI";
1908
1935
  var FALLBACK_USER_EMAIL = "skaile-cli@local";
1909
1936
  var ROOT_README = `# Skaile Sidecar Manifests
@@ -1951,7 +1978,7 @@ var SidecarGit = class {
1951
1978
  if (!fs10.existsSync(this.rootDir)) {
1952
1979
  fs10.mkdirSync(this.rootDir, { recursive: true });
1953
1980
  }
1954
- const gitDir = path4.join(this.rootDir, ".git");
1981
+ const gitDir = path15.join(this.rootDir, ".git");
1955
1982
  const freshRepo = !fs10.existsSync(gitDir);
1956
1983
  if (freshRepo) {
1957
1984
  const init = this.spawn(["init", "-b", "main"]);
@@ -1959,9 +1986,9 @@ var SidecarGit = class {
1959
1986
  throw new Error(`git init failed: ${init.stderr || init.stdout}`);
1960
1987
  }
1961
1988
  }
1962
- const attrsPath = path4.join(this.rootDir, ".gitattributes");
1989
+ const attrsPath = path15.join(this.rootDir, ".gitattributes");
1963
1990
  if (!fs10.existsSync(attrsPath)) fs10.writeFileSync(attrsPath, GITATTRIBUTES, "utf-8");
1964
- const readmePath = path4.join(this.rootDir, "README.md");
1991
+ const readmePath = path15.join(this.rootDir, "README.md");
1965
1992
  if (!fs10.existsSync(readmePath)) fs10.writeFileSync(readmePath, ROOT_README, "utf-8");
1966
1993
  if (!this.hasGlobalGitConfig("user.name")) {
1967
1994
  this.spawn(["config", "user.name", FALLBACK_USER_NAME]);
@@ -1987,7 +2014,7 @@ var SidecarGit = class {
1987
2014
  */
1988
2015
  async commit(slug, message, opts) {
1989
2016
  if (opts?.skip) return;
1990
- const slugDir = path4.join(this.rootDir, slug);
2017
+ const slugDir = path15.join(this.rootDir, slug);
1991
2018
  if (fs10.existsSync(slugDir)) {
1992
2019
  this.spawn(["add", "--", slug]);
1993
2020
  } else {
@@ -2048,7 +2075,7 @@ ${result.stderr}`;
2048
2075
  };
2049
2076
  function migrateWorkspaceConfig(dir, opts) {
2050
2077
  const filename = opts?.filename ?? "skaile.yaml";
2051
- const filePath = path4.join(dir, filename);
2078
+ const filePath = path15.join(dir, filename);
2052
2079
  if (!fs10.existsSync(filePath)) {
2053
2080
  return { migrated: false, version: 1, warnings: ["No skaile.yaml found"] };
2054
2081
  }
@@ -2273,8 +2300,8 @@ function resolveTemplate(template, context) {
2273
2300
  });
2274
2301
  return { value: result, hasSecret: false };
2275
2302
  }
2276
- function setNestedValue(obj, path16, value) {
2277
- const parts = path16.split(".");
2303
+ function setNestedValue(obj, path17, value) {
2304
+ const parts = path17.split(".");
2278
2305
  let current = obj;
2279
2306
  for (let i = 0; i < parts.length - 1; i++) {
2280
2307
  const key = parts[i];
@@ -2879,8 +2906,8 @@ function deepEqual(a, b) {
2879
2906
  function defaultCatalogCacheDir() {
2880
2907
  const home = globalSkaileDir();
2881
2908
  return migrateLegacyDir(
2882
- path4.join(globalCacheRoot(), "catalog"),
2883
- path4.join(home, "catalog-cache")
2909
+ path15.join(globalCacheRoot(), "catalog"),
2910
+ path15.join(home, "catalog-cache")
2884
2911
  );
2885
2912
  }
2886
2913
  var INDEX_FILE = "index.json";
@@ -2953,7 +2980,7 @@ var CatalogCache = class {
2953
2980
  // ── public: tarball cache ───────────────────────────────────────────────
2954
2981
  /** Absolute path where a tarball with `sha256` would be cached. */
2955
2982
  tarballPath(sha256) {
2956
- return path4.join(this.dir, TARBALL_DIR, `${sha256}.tgz`);
2983
+ return path15.join(this.dir, TARBALL_DIR, `${sha256}.tgz`);
2957
2984
  }
2958
2985
  /** Read a cached tarball from disk if present, otherwise `null`. */
2959
2986
  readTarball(sha256) {
@@ -2963,7 +2990,7 @@ var CatalogCache = class {
2963
2990
  }
2964
2991
  /** Persist a tarball blob to disk (atomic write). */
2965
2992
  writeTarball(sha256, bytes) {
2966
- const dir = path4.join(this.dir, TARBALL_DIR);
2993
+ const dir = path15.join(this.dir, TARBALL_DIR);
2967
2994
  if (!fs10.existsSync(dir)) fs10.mkdirSync(dir, { recursive: true });
2968
2995
  const finalPath = this.tarballPath(sha256);
2969
2996
  const tmpPath = `${finalPath}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
@@ -2987,7 +3014,7 @@ var CatalogCache = class {
2987
3014
  */
2988
3015
  invalidateEverything() {
2989
3016
  this.invalidateAll();
2990
- const tarballDir = path4.join(this.dir, TARBALL_DIR);
3017
+ const tarballDir = path15.join(this.dir, TARBALL_DIR);
2991
3018
  if (fs10.existsSync(tarballDir)) {
2992
3019
  fs10.rmSync(tarballDir, { recursive: true, force: true });
2993
3020
  }
@@ -2999,11 +3026,11 @@ var CatalogCache = class {
2999
3026
  // ── private ─────────────────────────────────────────────────────────────
3000
3027
  ensureDir() {
3001
3028
  if (!fs10.existsSync(this.dir)) fs10.mkdirSync(this.dir, { recursive: true });
3002
- const tarballDir = path4.join(this.dir, TARBALL_DIR);
3029
+ const tarballDir = path15.join(this.dir, TARBALL_DIR);
3003
3030
  if (!fs10.existsSync(tarballDir)) fs10.mkdirSync(tarballDir, { recursive: true });
3004
3031
  }
3005
3032
  indexPath() {
3006
- return path4.join(this.dir, INDEX_FILE);
3033
+ return path15.join(this.dir, INDEX_FILE);
3007
3034
  }
3008
3035
  loadIndex() {
3009
3036
  if (this.index) return this.index;
@@ -3867,7 +3894,7 @@ var defaultFetch2 = async (url, init) => {
3867
3894
  });
3868
3895
  };
3869
3896
  function discoveredToAssetEntry(asset, repoPublisher, inheritPublisher) {
3870
- const root = path4.posix.dirname(asset.relativePath.replace(/\\/g, "/"));
3897
+ const root = path15.posix.dirname(asset.relativePath.replace(/\\/g, "/"));
3871
3898
  const entry = {
3872
3899
  kind: asset.kind,
3873
3900
  name: asset.name,
@@ -3891,13 +3918,13 @@ function writeCuratedManifest(input) {
3891
3918
  const inheritPublisher = input.inheritPublisher ?? false;
3892
3919
  const assets = input.assets.map((a) => discoveredToAssetEntry(a, publisher, inheritPublisher)).sort((a, b) => `${a.kind}:${a.name}`.localeCompare(`${b.kind}:${b.name}`));
3893
3920
  const manifest = { publisher, assets };
3894
- fs10.mkdirSync(path4.dirname(manifestPath), { recursive: true });
3921
+ fs10.mkdirSync(path15.dirname(manifestPath), { recursive: true });
3895
3922
  fs10.writeFileSync(manifestPath, encodeSkaileManifest(manifest), "utf-8");
3896
3923
  return { wrote: true, manifestPath, assetCount: assets.length };
3897
3924
  }
3898
3925
  function openManifest(libraryPath) {
3899
- const dir = path4.resolve(libraryPath);
3900
- const file = path4.join(dir, SKAILE_MANIFEST_FILENAME);
3926
+ const dir = path15.resolve(libraryPath);
3927
+ const file = path15.join(dir, SKAILE_MANIFEST_FILENAME);
3901
3928
  if (!fs10.existsSync(file)) {
3902
3929
  fs10.mkdirSync(dir, { recursive: true });
3903
3930
  return { editor: ManifestYamlEditor.create(file), created: true };
@@ -3910,6 +3937,19 @@ function openManifest(libraryPath) {
3910
3937
  function assertManifestEditable(libraryPath) {
3911
3938
  openManifest(libraryPath);
3912
3939
  }
3940
+ function conflictingAssetRoot(libraryPath, kind, name, root) {
3941
+ const existing = loadSkPublishManifest(path15.resolve(libraryPath))?.assets?.find(
3942
+ (a) => a.kind === kind && a.name === name
3943
+ );
3944
+ return existingRootConflict(libraryPath, existing, root);
3945
+ }
3946
+ function existingRootConflict(libraryPath, existing, root) {
3947
+ if (!existing?.root || existing.source) return void 0;
3948
+ const existingAbs = path15.resolve(libraryPath, existing.root);
3949
+ if (existingAbs === path15.resolve(libraryPath, root)) return void 0;
3950
+ const stat = fs10.statSync(existingAbs, { throwIfNoEntry: false });
3951
+ return stat?.isDirectory() ? existing.root : void 0;
3952
+ }
3913
3953
  function upsertManifestAsset(libraryPath, input) {
3914
3954
  if (input.root.split(/[\\/]+/).includes("..")) {
3915
3955
  throw new Error(`Asset root "${input.root}" must stay inside the library (no "..").`);
@@ -3924,6 +3964,12 @@ function upsertManifestAsset(libraryPath, input) {
3924
3964
  if (input.description) entry.description = input.description;
3925
3965
  if (input.keywords && input.keywords.length > 0) entry.keywords = input.keywords;
3926
3966
  const existing = editor.getAssets().find((a) => a.kind === input.kind && a.name === input.name);
3967
+ const conflict = existingRootConflict(libraryPath, existing, input.root);
3968
+ if (conflict) {
3969
+ throw new Error(
3970
+ `${input.kind}:${input.name} is already registered at "${conflict}" \u2014 "${input.root}" would re-point it and orphan the first asset. Remove or rename one of them.`
3971
+ );
3972
+ }
3927
3973
  const next = existing ? { ...existing, ...entry } : entry;
3928
3974
  if (existing && input.publisher && !overridesTopLevel) delete next.publisher;
3929
3975
  if (!existing || !isDeepStrictEqual(existing, next)) {
@@ -3935,7 +3981,7 @@ function upsertManifestAsset(libraryPath, input) {
3935
3981
  function missingRootAssets(libraryPath, manifest) {
3936
3982
  return (manifest.assets ?? []).filter((a) => {
3937
3983
  if (a.source || manifest.source || !a.root) return false;
3938
- const dir = path4.resolve(libraryPath, a.root);
3984
+ const dir = path15.resolve(libraryPath, a.root);
3939
3985
  return !(fs10.existsSync(dir) && fs10.statSync(dir).isDirectory());
3940
3986
  });
3941
3987
  }
@@ -3949,6 +3995,16 @@ function pruneMissingRootAssets(libraryPath) {
3949
3995
  if (removed.length > 0) editor.save();
3950
3996
  return removed;
3951
3997
  }
3998
+ function pruneUnknownKindAssets(libraryPath, knownKinds) {
3999
+ const manifest = loadSkPublishManifest(libraryPath);
4000
+ if (!manifest) return [];
4001
+ const unknown = (manifest.assets ?? []).filter((a) => !knownKinds.has(a.kind));
4002
+ if (unknown.length === 0) return [];
4003
+ const { editor } = openManifest(libraryPath);
4004
+ const removed = unknown.filter((a) => editor.removeAsset(a.kind, a.name));
4005
+ if (removed.length > 0) editor.save();
4006
+ return removed;
4007
+ }
3952
4008
  function stampManifestPublisher(libraryPath, publisher) {
3953
4009
  const { editor, created } = openManifest(libraryPath);
3954
4010
  if (editor.getPublisher()) return false;
@@ -3967,19 +4023,36 @@ function setManifestPublisher(libraryPath, publisher) {
3967
4023
  }
3968
4024
  async function syncManifestWithDisk(libraryPath, defaultPublisher, registry) {
3969
4025
  stampManifestPublisher(libraryPath, defaultPublisher);
4026
+ const knownKinds = new Set(registry.getAllKinds());
4027
+ const unknownKind = pruneUnknownKindAssets(libraryPath, knownKinds);
3970
4028
  const removed = pruneMissingRootAssets(libraryPath);
3971
4029
  const skipped = [];
3972
4030
  const publisher = loadSkPublishManifest(libraryPath)?.publisher ?? defaultPublisher;
3973
- for (const e of await scanDirectory(libraryPath, publisher, {
3974
- knownKinds: new Set(registry.getAllKinds())
3975
- })) {
4031
+ const scanned = await scanDirectory(libraryPath, publisher, {
4032
+ knownKinds,
4033
+ keepDuplicates: true
4034
+ });
4035
+ const rootOf = (e) => path15.relative(libraryPath, path15.dirname(e.source)) || e.name;
4036
+ const copiesOf = /* @__PURE__ */ new Map();
4037
+ for (const e of scanned) {
4038
+ const key = `${e.kind}:${e.name}`;
4039
+ copiesOf.set(key, [...copiesOf.get(key) ?? [], e]);
4040
+ }
4041
+ const unclaimed = /* @__PURE__ */ new Set();
4042
+ for (const [key, copies] of copiesOf) {
4043
+ const claimed = copies.some(
4044
+ (c) => conflictingAssetRoot(libraryPath, c.kind, c.name, rootOf(c))
4045
+ );
4046
+ if (copies.length > 1 && !claimed) unclaimed.add(key);
4047
+ }
4048
+ for (const e of scanned) {
3976
4049
  if (!isParsable(e.source)) {
3977
4050
  skipped.push({
3978
4051
  kind: e.kind,
3979
4052
  name: e.name,
3980
4053
  reason: "unparsable",
3981
4054
  detail: "manifest file could not be parsed",
3982
- file: path4.relative(libraryPath, e.source)
4055
+ file: path15.relative(libraryPath, e.source)
3983
4056
  });
3984
4057
  continue;
3985
4058
  }
@@ -3989,18 +4062,33 @@ async function syncManifestWithDisk(libraryPath, defaultPublisher, registry) {
3989
4062
  name: e.name,
3990
4063
  reason: "invalid-version",
3991
4064
  detail: `version "${e.version}" is not valid semver`,
3992
- file: path4.relative(libraryPath, e.source)
4065
+ file: path15.relative(libraryPath, e.source)
4066
+ });
4067
+ continue;
4068
+ }
4069
+ const key = `${e.kind}:${e.name}`;
4070
+ const root = rootOf(e);
4071
+ const registered = conflictingAssetRoot(libraryPath, e.kind, e.name, root);
4072
+ const others = (copiesOf.get(key) ?? []).filter((c) => c !== e);
4073
+ const conflict = unclaimed.has(key) ? `also found in ${others.map((c) => `"${rootOf(c)}"`).join(", ")}` : registered && `already registered at "${registered}"`;
4074
+ if (conflict) {
4075
+ skipped.push({
4076
+ kind: e.kind,
4077
+ name: e.name,
4078
+ reason: "duplicate",
4079
+ detail: conflict,
4080
+ file: path15.relative(libraryPath, e.source)
3993
4081
  });
3994
4082
  continue;
3995
4083
  }
3996
4084
  upsertManifestAsset(libraryPath, {
3997
4085
  kind: e.kind,
3998
4086
  name: e.name,
3999
- root: path4.relative(libraryPath, path4.dirname(e.source)) || e.name,
4087
+ root,
4000
4088
  version: e.version
4001
4089
  });
4002
4090
  }
4003
- return { removed, skipped };
4091
+ return { removed, unknownKind, skipped };
4004
4092
  }
4005
4093
  function isParsable(file) {
4006
4094
  try {
@@ -4061,7 +4149,7 @@ function parseWorkspaceV2(raw) {
4061
4149
  return WorkspaceConfigV2Schema.parse(raw);
4062
4150
  }
4063
4151
  function loadWorkspaceV2(dir, filename = "skaile.yaml") {
4064
- const filePath = path4.join(dir, filename);
4152
+ const filePath = path15.join(dir, filename);
4065
4153
  if (!fs10.existsSync(filePath)) return null;
4066
4154
  const content = fs10.readFileSync(filePath, "utf-8");
4067
4155
  const raw = parse(content);
@@ -4069,7 +4157,7 @@ function loadWorkspaceV2(dir, filename = "skaile.yaml") {
4069
4157
  return parseWorkspaceV2(raw);
4070
4158
  }
4071
4159
  function saveWorkspaceV2(dir, v2, filename = "skaile.yaml") {
4072
- const filePath = path4.join(dir, filename);
4160
+ const filePath = path15.join(dir, filename);
4073
4161
  let existing = {};
4074
4162
  if (fs10.existsSync(filePath)) {
4075
4163
  const content = fs10.readFileSync(filePath, "utf-8");
@@ -4085,7 +4173,7 @@ function saveWorkspaceV2(dir, v2, filename = "skaile.yaml") {
4085
4173
  }
4086
4174
  var LOCK_FILENAME = "skaile.lock.yaml";
4087
4175
  function loadLockFile(dir) {
4088
- const filePath = path4.join(dir, LOCK_FILENAME);
4176
+ const filePath = path15.join(dir, LOCK_FILENAME);
4089
4177
  if (!fs10.existsSync(filePath)) return null;
4090
4178
  const content = fs10.readFileSync(filePath, "utf-8");
4091
4179
  const raw = parse(content);
@@ -4103,7 +4191,7 @@ function loadLockFile(dir) {
4103
4191
  return LockFileSchema.parse(raw);
4104
4192
  }
4105
4193
  function saveLockFile(dir, lock) {
4106
- const filePath = path4.join(dir, LOCK_FILENAME);
4194
+ const filePath = path15.join(dir, LOCK_FILENAME);
4107
4195
  if (!fs10.existsSync(dir)) {
4108
4196
  fs10.mkdirSync(dir, { recursive: true });
4109
4197
  }
@@ -4124,7 +4212,7 @@ function createEmptyLockFile() {
4124
4212
  };
4125
4213
  }
4126
4214
  function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
4127
- const filePath = path4.join(dir, filename);
4215
+ const filePath = path15.join(dir, filename);
4128
4216
  if (!fs10.existsSync(filePath)) return null;
4129
4217
  const content = fs10.readFileSync(filePath, "utf-8");
4130
4218
  const raw = parse(content);
@@ -4132,6 +4220,6 @@ function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
4132
4220
  return raw.version === 2 ? 2 : 1;
4133
4221
  }
4134
4222
 
4135
- 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, createEmptyLockFile, curatedManifestOverlay, deriveSlug, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, installLibraryAsset, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, missingRootAssets, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, pruneMissingRootAssets, queryInstancePickerChoices, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, scanLibraryRoot, setManifestPublisher, setOriginUrl, sha256Hex, stampManifestPublisher, storeSecrets, syncManifestWithDisk, trackOriginBranch, trpcGetUrl, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
4136
- //# sourceMappingURL=chunk-DFFD4BFG.js.map
4137
- //# sourceMappingURL=chunk-DFFD4BFG.js.map
4223
+ 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, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, missingRootAssets, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, pruneMissingRootAssets, queryInstancePickerChoices, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, scanAuthoringLibraries, scanLibraryRoot, setManifestPublisher, setOriginUrl, sha256Hex, stampManifestPublisher, storeSecrets, syncManifestWithDisk, trackOriginBranch, trpcGetUrl, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
4224
+ //# sourceMappingURL=chunk-4MQS7CAF.js.map
4225
+ //# sourceMappingURL=chunk-4MQS7CAF.js.map