@skaile/workspaces 5.6.0 → 5.7.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 (261) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +4 -2
  3. package/dist/{asset-feeds-4O2JK5S4.js → asset-feeds-K36CR52Q.js} +17 -17
  4. package/dist/{asset-feeds-4O2JK5S4.js.map → asset-feeds-K36CR52Q.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +9 -9
  6. package/dist/asset-manager/index.js +14 -14
  7. package/dist/asset-manager/installer.js +10 -10
  8. package/dist/asset-manager/renderers.js +9 -9
  9. package/dist/asset-manager/src/index.d.ts +106 -16
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/installer.d.ts +4 -1
  12. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  13. package/dist/bridge/drivers/claude-sdk.js +11 -11
  14. package/dist/bridge/drivers/codex.js +10 -10
  15. package/dist/bridge/drivers/continue.js +12 -12
  16. package/dist/bridge/drivers/echo.js +1 -1
  17. package/dist/bridge/drivers/gemini.js +5 -5
  18. package/dist/bridge/drivers/goose.js +12 -12
  19. package/dist/bridge/drivers/omp.js +2 -2
  20. package/dist/bridge/drivers/opencode.js +12 -12
  21. package/dist/bridge/drivers/qwen.js +5 -5
  22. package/dist/bridge/index.js +12 -12
  23. package/dist/{chunk-VX3INFBA.js → chunk-34C42MJX.js} +3 -3
  24. package/dist/{chunk-VX3INFBA.js.map → chunk-34C42MJX.js.map} +1 -1
  25. package/dist/{chunk-NLXIALVO.js → chunk-53MSCGR2.js} +5 -5
  26. package/dist/{chunk-NLXIALVO.js.map → chunk-53MSCGR2.js.map} +1 -1
  27. package/dist/chunk-6C654TFI.js +84 -0
  28. package/dist/chunk-6C654TFI.js.map +1 -0
  29. package/dist/{chunk-6NPINANG.js → chunk-6UFFKMVC.js} +5 -5
  30. package/dist/{chunk-6NPINANG.js.map → chunk-6UFFKMVC.js.map} +1 -1
  31. package/dist/{chunk-XOGG7VDZ.js → chunk-6VRJH4MR.js} +16 -24
  32. package/dist/chunk-6VRJH4MR.js.map +1 -0
  33. package/dist/{chunk-IPWR33AW.js → chunk-74EEFB52.js} +31 -15
  34. package/dist/chunk-74EEFB52.js.map +1 -0
  35. package/dist/{chunk-OGLDAJFL.js → chunk-7FJQT3GT.js} +4 -4
  36. package/dist/{chunk-OGLDAJFL.js.map → chunk-7FJQT3GT.js.map} +1 -1
  37. package/dist/{chunk-VKSXST23.js → chunk-AVCUPPG6.js} +3 -3
  38. package/dist/{chunk-VKSXST23.js.map → chunk-AVCUPPG6.js.map} +1 -1
  39. package/dist/{chunk-5B5IZVEP.js → chunk-BTK7ECLH.js} +2 -2
  40. package/dist/{chunk-5B5IZVEP.js.map → chunk-BTK7ECLH.js.map} +1 -1
  41. package/dist/{chunk-O5GDKC5I.js → chunk-BWZF2ZIF.js} +3 -3
  42. package/dist/{chunk-O5GDKC5I.js.map → chunk-BWZF2ZIF.js.map} +1 -1
  43. package/dist/{chunk-PJS2YWGG.js → chunk-CWM3MYGX.js} +6 -6
  44. package/dist/{chunk-PJS2YWGG.js.map → chunk-CWM3MYGX.js.map} +1 -1
  45. package/dist/{chunk-4CTGEEN6.js → chunk-D5HOETOB.js} +424 -98
  46. package/dist/chunk-D5HOETOB.js.map +1 -0
  47. package/dist/{chunk-MX3UQXLU.js → chunk-DFFD4BFG.js} +96 -20
  48. package/dist/chunk-DFFD4BFG.js.map +1 -0
  49. package/dist/{chunk-KXTO7HON.js → chunk-EAZECHPM.js} +3 -3
  50. package/dist/{chunk-KXTO7HON.js.map → chunk-EAZECHPM.js.map} +1 -1
  51. package/dist/{chunk-ZBBM6O6P.js → chunk-EB4XN3KE.js} +3 -3
  52. package/dist/{chunk-ZBBM6O6P.js.map → chunk-EB4XN3KE.js.map} +1 -1
  53. package/dist/{chunk-MX6LZE2C.js → chunk-EU3Q5AQ4.js} +26 -18
  54. package/dist/chunk-EU3Q5AQ4.js.map +1 -0
  55. package/dist/{chunk-BTISGSK4.js → chunk-FAP63KV7.js} +4 -4
  56. package/dist/{chunk-BTISGSK4.js.map → chunk-FAP63KV7.js.map} +1 -1
  57. package/dist/{chunk-46OVMT76.js → chunk-G67BOI2J.js} +3 -3
  58. package/dist/{chunk-46OVMT76.js.map → chunk-G67BOI2J.js.map} +1 -1
  59. package/dist/{chunk-V7NN3HXR.js → chunk-GIC3G5YG.js} +6 -6
  60. package/dist/{chunk-V7NN3HXR.js.map → chunk-GIC3G5YG.js.map} +1 -1
  61. package/dist/{chunk-27HS2DHB.js → chunk-GWXFSLBK.js} +3 -3
  62. package/dist/{chunk-27HS2DHB.js.map → chunk-GWXFSLBK.js.map} +1 -1
  63. package/dist/{chunk-VSQFGU5D.js → chunk-ILFGVSTJ.js} +3 -3
  64. package/dist/{chunk-VSQFGU5D.js.map → chunk-ILFGVSTJ.js.map} +1 -1
  65. package/dist/{chunk-KYXOGHY6.js → chunk-IUUYRXT6.js} +4 -4
  66. package/dist/{chunk-KYXOGHY6.js.map → chunk-IUUYRXT6.js.map} +1 -1
  67. package/dist/{chunk-436GRQC2.js → chunk-IZLQ4GDO.js} +63 -44
  68. package/dist/chunk-IZLQ4GDO.js.map +1 -0
  69. package/dist/{chunk-LLKKLKZJ.js → chunk-JLSCA5T5.js} +3 -3
  70. package/dist/{chunk-LLKKLKZJ.js.map → chunk-JLSCA5T5.js.map} +1 -1
  71. package/dist/{chunk-SX4UIDKT.js → chunk-KM7XWC4Y.js} +3 -3
  72. package/dist/{chunk-SX4UIDKT.js.map → chunk-KM7XWC4Y.js.map} +1 -1
  73. package/dist/{chunk-KUFNKVBM.js → chunk-KNWCFEWU.js} +3 -3
  74. package/dist/{chunk-KUFNKVBM.js.map → chunk-KNWCFEWU.js.map} +1 -1
  75. package/dist/{chunk-MFHKHXDE.js → chunk-L5VSIPQD.js} +5 -5
  76. package/dist/chunk-L5VSIPQD.js.map +1 -0
  77. package/dist/{chunk-AOAZCSDI.js → chunk-LBQ4BBX4.js} +3 -3
  78. package/dist/{chunk-AOAZCSDI.js.map → chunk-LBQ4BBX4.js.map} +1 -1
  79. package/dist/{chunk-2W4LBLIN.js → chunk-LCU5U5IW.js} +6 -6
  80. package/dist/{chunk-2W4LBLIN.js.map → chunk-LCU5U5IW.js.map} +1 -1
  81. package/dist/{chunk-DZM73WDN.js → chunk-LXY4BUA3.js} +5 -5
  82. package/dist/{chunk-DZM73WDN.js.map → chunk-LXY4BUA3.js.map} +1 -1
  83. package/dist/{chunk-7KLC4LZO.js → chunk-MKLBK7HI.js} +8 -8
  84. package/dist/{chunk-7KLC4LZO.js.map → chunk-MKLBK7HI.js.map} +1 -1
  85. package/dist/{chunk-4GNJELPH.js → chunk-N6FBTXQ5.js} +2 -2
  86. package/dist/{chunk-4GNJELPH.js.map → chunk-N6FBTXQ5.js.map} +1 -1
  87. package/dist/{chunk-2XFUXGV6.js → chunk-NWQB7UTY.js} +3 -3
  88. package/dist/{chunk-2XFUXGV6.js.map → chunk-NWQB7UTY.js.map} +1 -1
  89. package/dist/{chunk-SDFROXSA.js → chunk-O4Z7MAW7.js} +3 -3
  90. package/dist/{chunk-SDFROXSA.js.map → chunk-O4Z7MAW7.js.map} +1 -1
  91. package/dist/{chunk-AO7VJ6G6.js → chunk-O7VPNKYN.js} +8 -3
  92. package/dist/chunk-O7VPNKYN.js.map +1 -0
  93. package/dist/{chunk-TZCQ7ZWQ.js → chunk-OOLT6HGP.js} +10 -11
  94. package/dist/chunk-OOLT6HGP.js.map +1 -0
  95. package/dist/{chunk-2GRB5ITE.js → chunk-PSA6ONFB.js} +4 -4
  96. package/dist/{chunk-2GRB5ITE.js.map → chunk-PSA6ONFB.js.map} +1 -1
  97. package/dist/{chunk-45VFGT7A.js → chunk-RNPHRRLG.js} +3 -3
  98. package/dist/{chunk-45VFGT7A.js.map → chunk-RNPHRRLG.js.map} +1 -1
  99. package/dist/{chunk-7ZHLYXTI.js → chunk-RVIZQ5XD.js} +3 -3
  100. package/dist/{chunk-7ZHLYXTI.js.map → chunk-RVIZQ5XD.js.map} +1 -1
  101. package/dist/{chunk-BF33SCLY.js → chunk-SWO25LTO.js} +4 -4
  102. package/dist/{chunk-BF33SCLY.js.map → chunk-SWO25LTO.js.map} +1 -1
  103. package/dist/{chunk-UAP2XHRF.js → chunk-SZWRPEF7.js} +8 -8
  104. package/dist/{chunk-UAP2XHRF.js.map → chunk-SZWRPEF7.js.map} +1 -1
  105. package/dist/{chunk-S7QXEXKY.js → chunk-THEJJBOU.js} +3 -3
  106. package/dist/{chunk-S7QXEXKY.js.map → chunk-THEJJBOU.js.map} +1 -1
  107. package/dist/{chunk-PA7WLID3.js → chunk-TTPSDC2G.js} +33 -3
  108. package/dist/chunk-TTPSDC2G.js.map +1 -0
  109. package/dist/{chunk-VBBBZDI7.js → chunk-UX3K4RKE.js} +3 -3
  110. package/dist/{chunk-VBBBZDI7.js.map → chunk-UX3K4RKE.js.map} +1 -1
  111. package/dist/{chunk-RGXVQZOV.js → chunk-VOOI7B2L.js} +23 -21
  112. package/dist/chunk-VOOI7B2L.js.map +1 -0
  113. package/dist/{chunk-OLLAQLFJ.js → chunk-WIEC3ZE4.js} +5 -5
  114. package/dist/{chunk-OLLAQLFJ.js.map → chunk-WIEC3ZE4.js.map} +1 -1
  115. package/dist/cli/index.js +944 -600
  116. package/dist/cli/index.js.map +1 -1
  117. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  118. package/dist/cli/src/commands/catalog.d.ts +12 -3
  119. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  120. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  121. package/dist/cli/src/commands/library-index.d.ts +41 -4
  122. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  123. package/dist/cli/src/commands/library-publish.d.ts +9 -0
  124. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  125. package/dist/cli/src/commands/manage.d.ts +8 -2
  126. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  127. package/dist/cli/src/commands/migrate-agents.d.ts.map +1 -1
  128. package/dist/cli/src/commands/outdated.d.ts +3 -2
  129. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  130. package/dist/cli/src/commands/project.d.ts +13 -4
  131. package/dist/cli/src/commands/project.d.ts.map +1 -1
  132. package/dist/cli/src/commands/source.d.ts +4 -3
  133. package/dist/cli/src/commands/source.d.ts.map +1 -1
  134. package/dist/cli/src/commands/update.d.ts +1 -1
  135. package/dist/cli/src/commands/update.d.ts.map +1 -1
  136. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  137. package/dist/cli/src/skill-checks.d.ts +21 -10
  138. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  139. package/dist/connectors/config.js +6 -6
  140. package/dist/connectors/index.js +15 -15
  141. package/dist/{connectors-HWENZFKW.js → connectors-SSOTIDHT.js} +18 -18
  142. package/dist/{connectors-HWENZFKW.js.map → connectors-SSOTIDHT.js.map} +1 -1
  143. package/dist/core/index.js +8 -8
  144. package/dist/core/manifest.js +2 -2
  145. package/dist/core/models.js +1 -1
  146. package/dist/core/publish-manifest.js +2 -2
  147. package/dist/core/ref.js +1 -1
  148. package/dist/core/runtime-assets.js +6 -6
  149. package/dist/core/src/cache-paths.d.ts.map +1 -1
  150. package/dist/core/src/index.d.ts +1 -1
  151. package/dist/core/src/index.d.ts.map +1 -1
  152. package/dist/core/src/lock.d.ts +3 -3
  153. package/dist/core/src/lock.d.ts.map +1 -1
  154. package/dist/core/src/manifest.d.ts +6 -1
  155. package/dist/core/src/manifest.d.ts.map +1 -1
  156. package/dist/core/src/models.d.ts +8 -0
  157. package/dist/core/src/models.d.ts.map +1 -1
  158. package/dist/core/store.js +2 -2
  159. package/dist/core/workspace-config.js +5 -5
  160. package/dist/deploy/index.js +8 -8
  161. package/dist/discovery/index.js +4 -4
  162. package/dist/discovery/src/index.d.ts +1 -1
  163. package/dist/discovery/src/index.d.ts.map +1 -1
  164. package/dist/discovery/src/source-config.d.ts +12 -0
  165. package/dist/discovery/src/source-config.d.ts.map +1 -1
  166. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  167. package/dist/{ensure-sources-VCPKNPK2.js → ensure-sources-277VI7R3.js} +17 -17
  168. package/dist/{ensure-sources-VCPKNPK2.js.map → ensure-sources-277VI7R3.js.map} +1 -1
  169. package/dist/factory-assets/connectors/box.js +15 -15
  170. package/dist/factory-assets/connectors/deploy.js +15 -15
  171. package/dist/factory-assets/connectors/devserver.js +15 -15
  172. package/dist/factory-assets/connectors/flow/adapter.js +15 -15
  173. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  174. package/dist/factory-assets/connectors/flow/run-flow.js +17 -17
  175. package/dist/factory-assets/connectors/flow.js +15 -15
  176. package/dist/factory-assets/connectors/git.js +15 -15
  177. package/dist/factory-assets/connectors/gmail.js +15 -15
  178. package/dist/factory-assets/connectors/googledrive.js +15 -15
  179. package/dist/factory-assets/connectors/local.js +15 -15
  180. package/dist/factory-assets/connectors/mattermost.js +15 -15
  181. package/dist/factory-assets/connectors/memory.js +15 -15
  182. package/dist/factory-assets/connectors/minio.js +15 -15
  183. package/dist/factory-assets/connectors/postgres.js +15 -15
  184. package/dist/factory-assets/connectors/s3.js +15 -15
  185. package/dist/factory-assets/connectors/sharepoint.js +15 -15
  186. package/dist/factory-assets/connectors/sqlite.js +15 -15
  187. package/dist/factory-assets/connectors/static-server.js +15 -15
  188. package/dist/factory-assets/connectors/tunnel.js +15 -15
  189. package/dist/factory-assets/connectors/webdav.js +15 -15
  190. package/dist/factory-assets/connectors/xstate-store.js +15 -15
  191. package/dist/factory-assets/connectors/xstate.js +15 -15
  192. package/dist/{flows-ENQY2DV7.js → flows-J2UEU2QM.js} +13 -13
  193. package/dist/{flows-ENQY2DV7.js.map → flows-J2UEU2QM.js.map} +1 -1
  194. package/dist/{helpers-IW36CEJX.js → helpers-KC5O7CML.js} +17 -17
  195. package/dist/{helpers-IW36CEJX.js.map → helpers-KC5O7CML.js.map} +1 -1
  196. package/dist/library/index.js +11 -11
  197. package/dist/library/install.js +3 -3
  198. package/dist/library/src/index.d.ts +3 -3
  199. package/dist/library/src/index.d.ts.map +1 -1
  200. package/dist/library/src/local/library-manager.d.ts +6 -0
  201. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  202. package/dist/library/src/local/local-catalog-source.d.ts +5 -2
  203. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  204. package/dist/library/src/manifest-writer.d.ts +23 -1
  205. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  206. package/dist/library/src/sync/git-driver.d.ts +12 -0
  207. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  208. package/dist/{library-publish-R3DQLMTD.js → library-publish-FGXF5TJO.js} +85 -41
  209. package/dist/library-publish-FGXF5TJO.js.map +1 -0
  210. package/dist/{open-library-FAJZRDKE.js → open-library-P3D337NH.js} +20 -20
  211. package/dist/{open-library-FAJZRDKE.js.map → open-library-P3D337NH.js.map} +1 -1
  212. package/dist/open-registry-Z3P2X2AB.js +32 -0
  213. package/dist/{open-registry-NVPCQPND.js.map → open-registry-Z3P2X2AB.js.map} +1 -1
  214. package/dist/paths-JKEKXM52.js +22 -0
  215. package/dist/{paths-YUCP7K6U.js.map → paths-JKEKXM52.js.map} +1 -1
  216. package/dist/{plugin-store-66QFBNEO.js → plugin-store-WI4MZJLP.js} +10 -10
  217. package/dist/{plugin-store-66QFBNEO.js.map → plugin-store-WI4MZJLP.js.map} +1 -1
  218. package/dist/project-WFUDVYNN.js +41 -0
  219. package/dist/{project-ALJIVFHI.js.map → project-WFUDVYNN.js.map} +1 -1
  220. package/dist/resolver/index.js +9 -9
  221. package/dist/runner/index.js +28 -28
  222. package/dist/runner/src/serve.d.ts.map +1 -1
  223. package/dist/sdk/asset-manager.js +14 -14
  224. package/dist/sdk/bridge.js +12 -12
  225. package/dist/sdk/core.js +8 -8
  226. package/dist/sdk/flow.js +9 -9
  227. package/dist/sdk/index.js +28 -28
  228. package/dist/sdk/resolver.js +9 -9
  229. package/dist/sdk/runner.js +28 -28
  230. package/dist/secrets/index.js +2 -2
  231. package/dist/{setup-35JXIA3N.js → setup-RAMLTORM.js} +22 -22
  232. package/dist/{setup-35JXIA3N.js.map → setup-RAMLTORM.js.map} +1 -1
  233. package/dist/skills-EOHZ2DZ4.js +26 -0
  234. package/dist/{skills-CS7NE5TT.js.map → skills-EOHZ2DZ4.js.map} +1 -1
  235. package/dist/{source-ISR4KRZV.js → source-FYVSFYEI.js} +21 -21
  236. package/dist/{source-ISR4KRZV.js.map → source-FYVSFYEI.js.map} +1 -1
  237. package/dist/{source-manifest-publish-P22IPK5F.js → source-manifest-publish-4FPIPPLV.js} +23 -23
  238. package/dist/{source-manifest-publish-P22IPK5F.js.map → source-manifest-publish-4FPIPPLV.js.map} +1 -1
  239. package/dist/tui/index.js +28 -28
  240. package/dist/workspace-plugin/adapters/mcp.js +22 -22
  241. package/dist/workspace-plugin/adapters/omp.js +14 -14
  242. package/dist/workspace-plugin/index.js +1 -1
  243. package/package.json +3 -1
  244. package/dist/chunk-2NYXQYHN.js +0 -22
  245. package/dist/chunk-2NYXQYHN.js.map +0 -1
  246. package/dist/chunk-436GRQC2.js.map +0 -1
  247. package/dist/chunk-4CTGEEN6.js.map +0 -1
  248. package/dist/chunk-AO7VJ6G6.js.map +0 -1
  249. package/dist/chunk-IPWR33AW.js.map +0 -1
  250. package/dist/chunk-MFHKHXDE.js.map +0 -1
  251. package/dist/chunk-MX3UQXLU.js.map +0 -1
  252. package/dist/chunk-MX6LZE2C.js.map +0 -1
  253. package/dist/chunk-PA7WLID3.js.map +0 -1
  254. package/dist/chunk-RGXVQZOV.js.map +0 -1
  255. package/dist/chunk-TZCQ7ZWQ.js.map +0 -1
  256. package/dist/chunk-XOGG7VDZ.js.map +0 -1
  257. package/dist/library-publish-R3DQLMTD.js.map +0 -1
  258. package/dist/open-registry-NVPCQPND.js +0 -32
  259. package/dist/paths-YUCP7K6U.js +0 -22
  260. package/dist/project-ALJIVFHI.js +0 -41
  261. package/dist/skills-CS7NE5TT.js +0 -26
@@ -1,12 +1,12 @@
1
- import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder } from './chunk-XOGG7VDZ.js';
2
- import { installFromManifest, assertSafeManifestPath } from './chunk-BTISGSK4.js';
1
+ import { readManifestSourceConfig, discoverAssetsInTree, barePublisher, createDefaultKindRegistry, sharesItsFolder, SEMVER_RE, parseManifestFile } from './chunk-6VRJH4MR.js';
2
+ import { installFromManifest, assertSafeManifestPath } from './chunk-FAP63KV7.js';
3
3
  import { PresetManifestSchema } from './chunk-FRHE7FFB.js';
4
- import { defaultLibraryDir, resolveLibraryDir, GLOBAL_INSTALL_DIR_NAME, readLock, buildLibraryLockEntries, writeLock, mergeLockFile, buildLockFile, ManifestYamlEditor } from './chunk-TZCQ7ZWQ.js';
5
- import { getGlobalCacheDir, storeManifestSlug, resolveSourcePublisher } from './chunk-2W4LBLIN.js';
6
- import { userConfigPath, globalSkaileDir, mergeLegacyEntriesInto, migrateLegacyDir, globalCacheRoot } from './chunk-MFHKHXDE.js';
7
- import { encodeSkaileManifest, loadSkPublishManifest, SKAILE_MANIFEST_FILENAME } from './chunk-7ZHLYXTI.js';
8
- import { scanDirectory } from './chunk-PA7WLID3.js';
9
- import { parseAssetRef, assetRefToStr } from './chunk-AO7VJ6G6.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';
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';
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';
@@ -106,7 +106,7 @@ function defaultIndexPath() {
106
106
  return path4.join(globalSkaileDir(), "index.db");
107
107
  }
108
108
  function resolveIndexPath() {
109
- if (process.env.SKAILE_INDEX_PATH) return process.env.SKAILE_INDEX_PATH;
109
+ if (process.env.SKAILE_INDEX_PATH) return path4.resolve(process.env.SKAILE_INDEX_PATH);
110
110
  return defaultIndexPath();
111
111
  }
112
112
  function getConfigDefaults() {
@@ -1269,6 +1269,18 @@ function ensureGitRepo(libPath, url, branch) {
1269
1269
  }
1270
1270
  setOriginUrl(libPath, url);
1271
1271
  }
1272
+ function trackOriginBranch(libPath, branch, opts) {
1273
+ spawnGit(libPath, ["config", `branch.${branch}.remote`, "origin"], "config");
1274
+ spawnGit(libPath, ["config", `branch.${branch}.merge`, `refs/heads/${branch}`], "config");
1275
+ if (opts?.fetch) {
1276
+ spawnSync("git", ["fetch", "--quiet", "origin", branch], {
1277
+ cwd: libPath,
1278
+ encoding: "utf-8",
1279
+ timeout: 2e4,
1280
+ env: { ...process.env, GIT_TERMINAL_PROMPT: "0" }
1281
+ });
1282
+ }
1283
+ }
1272
1284
  function cloneOrInitGitRepo(libPath, url, branch) {
1273
1285
  mkdirSync(libPath, { recursive: true });
1274
1286
  const clone = spawnSync("git", ["clone", "--", url, libPath], {
@@ -1364,8 +1376,27 @@ var GitSyncDriver = class {
1364
1376
  const r = git(lib.path, args);
1365
1377
  if (r.status !== 0) {
1366
1378
  if (/couldn't find remote ref/i.test(r.stderr)) return { applied: 0, conflicts: [] };
1367
- if (/non-fast-forward|diverged|conflict/i.test(r.stderr)) {
1368
- return { applied: 0, conflicts: [{ path: "(branch)", reason: r.stderr.trim() }] };
1379
+ if (/not possible to fast-forward|non-fast-forward|diverg/i.test(r.stderr)) {
1380
+ return {
1381
+ applied: 0,
1382
+ conflicts: [
1383
+ {
1384
+ path: "(branch)",
1385
+ reason: `local and remote both changed; run skaile library git ${lib.name} pull --rebase origin ${cfg.branch}`
1386
+ }
1387
+ ]
1388
+ };
1389
+ }
1390
+ if (opts?.rebase && /conflict/i.test(r.stderr)) {
1391
+ return {
1392
+ applied: 0,
1393
+ conflicts: [
1394
+ {
1395
+ path: "(branch)",
1396
+ reason: `rebase stopped on conflicts; resolve them, then run skaile library git ${lib.name} rebase --continue (or --abort)`
1397
+ }
1398
+ ]
1399
+ };
1369
1400
  }
1370
1401
  throw new LibrarySyncError(`git pull failed: ${r.stderr.trim()}`, "remote_error");
1371
1402
  }
@@ -1489,6 +1520,14 @@ function rowToLibrary2(row) {
1489
1520
  updatedAt: new Date(row.updatedAt)
1490
1521
  };
1491
1522
  }
1523
+ var LIBRARY_NAME_PATTERN = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
1524
+ function assertValidLibraryName(name) {
1525
+ if (!LIBRARY_NAME_PATTERN.test(name)) {
1526
+ throw new Error(
1527
+ `Invalid library name "${name}": use letters, digits, "_" or "-", starting with a letter or digit.`
1528
+ );
1529
+ }
1530
+ }
1492
1531
  var LibraryManager = class {
1493
1532
  constructor(lib) {
1494
1533
  this.lib = lib;
@@ -1506,6 +1545,7 @@ var LibraryManager = class {
1506
1545
  }
1507
1546
  }
1508
1547
  async addLibrary(input) {
1548
+ assertValidLibraryName(input.name);
1509
1549
  const db = await this.lib.dbHandle();
1510
1550
  const existing = await db.select().from(libraries).where(eq(libraries.name, input.name)).get();
1511
1551
  if (existing) throw new DuplicateLibraryNameError(input.name);
@@ -1548,6 +1588,7 @@ var LibraryManager = class {
1548
1588
  }
1549
1589
  async updateLibrary(nameOrId, patch) {
1550
1590
  const lib = await this.requireLibrary(nameOrId);
1591
+ if (patch.name !== void 0 && patch.name !== lib.name) assertValidLibraryName(patch.name);
1551
1592
  const db = await this.lib.dbHandle();
1552
1593
  const updates = {
1553
1594
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
@@ -1726,12 +1767,16 @@ var LocalCatalogSource = class {
1726
1767
  *
1727
1768
  * @param syncOpts - When `includeDev` is set, assets under the source
1728
1769
  * config's `dev_paths` (e.g. `ai-assets-dev/`) are discovered and cached
1729
- * too. Defaults to excluding them (a normal run).
1770
+ * too. Defaults to excluding them (a normal run). `exclude` drops every
1771
+ * asset it returns `true` for — never upserted, and any row an earlier sync
1772
+ * left behind is pruned (`library index` leaves out a non-semver version).
1730
1773
  * @returns Discovery statistics, fatal `errors`, and non-fatal `advisories`
1731
1774
  * (missing sha256, unknown kind) — the latter never signal a failed index.
1732
1775
  */
1733
1776
  async sync(syncOpts) {
1734
1777
  const result = this.scan(syncOpts);
1778
+ const exclude = syncOpts?.exclude;
1779
+ const assets = exclude ? result.assets.filter((a) => !exclude(a)) : result.assets;
1735
1780
  let assetsUpdated = 0;
1736
1781
  const errors = [];
1737
1782
  const softDepsByRef = /* @__PURE__ */ new Map();
@@ -1741,7 +1786,7 @@ var LocalCatalogSource = class {
1741
1786
  if (list) list.push(e.to);
1742
1787
  else softDepsByRef.set(e.from, [e.to]);
1743
1788
  }
1744
- for (const asset of result.assets) {
1789
+ for (const asset of assets) {
1745
1790
  const softDeps = softDepsByRef.get(asset.ref) ?? [];
1746
1791
  try {
1747
1792
  await this.library.upsertAssetDef({
@@ -1782,9 +1827,9 @@ var LocalCatalogSource = class {
1782
1827
  `${missingSha256Count} asset(s): sha256 not pinned \u2014 auto-computed locally (pin only for store publish)`
1783
1828
  );
1784
1829
  }
1785
- const keepRefs = result.assets.map((a) => a.ref);
1786
- if (keepRefs.length > 0) await this.library.pruneAssetDefs(this.sourceId, keepRefs);
1787
- return { assetsFound: result.assets.length, assetsUpdated, errors, advisories };
1830
+ const keepRefs = assets.map((a) => a.ref);
1831
+ if (result.assets.length > 0) await this.library.pruneAssetDefs(this.sourceId, keepRefs);
1832
+ return { assetsFound: assets.length, assetsUpdated, errors, advisories };
1788
1833
  }
1789
1834
  };
1790
1835
  function defToCatalogAsset(def) {
@@ -3866,6 +3911,9 @@ function assertManifestEditable(libraryPath) {
3866
3911
  openManifest(libraryPath);
3867
3912
  }
3868
3913
  function upsertManifestAsset(libraryPath, input) {
3914
+ if (input.root.split(/[\\/]+/).includes("..")) {
3915
+ throw new Error(`Asset root "${input.root}" must stay inside the library (no "..").`);
3916
+ }
3869
3917
  const { editor } = openManifest(libraryPath);
3870
3918
  const declared = editor.getPublisher();
3871
3919
  const topLevel = declared === void 0 ? void 0 : barePublisher(declared);
@@ -3920,10 +3968,31 @@ function setManifestPublisher(libraryPath, publisher) {
3920
3968
  async function syncManifestWithDisk(libraryPath, defaultPublisher, registry) {
3921
3969
  stampManifestPublisher(libraryPath, defaultPublisher);
3922
3970
  const removed = pruneMissingRootAssets(libraryPath);
3971
+ const skipped = [];
3923
3972
  const publisher = loadSkPublishManifest(libraryPath)?.publisher ?? defaultPublisher;
3924
3973
  for (const e of await scanDirectory(libraryPath, publisher, {
3925
3974
  knownKinds: new Set(registry.getAllKinds())
3926
3975
  })) {
3976
+ if (!isParsable(e.source)) {
3977
+ skipped.push({
3978
+ kind: e.kind,
3979
+ name: e.name,
3980
+ reason: "unparsable",
3981
+ detail: "manifest file could not be parsed",
3982
+ file: path4.relative(libraryPath, e.source)
3983
+ });
3984
+ continue;
3985
+ }
3986
+ if (e.version && !SEMVER_RE.test(e.version)) {
3987
+ skipped.push({
3988
+ kind: e.kind,
3989
+ name: e.name,
3990
+ reason: "invalid-version",
3991
+ detail: `version "${e.version}" is not valid semver`,
3992
+ file: path4.relative(libraryPath, e.source)
3993
+ });
3994
+ continue;
3995
+ }
3927
3996
  upsertManifestAsset(libraryPath, {
3928
3997
  kind: e.kind,
3929
3998
  name: e.name,
@@ -3931,7 +4000,14 @@ async function syncManifestWithDisk(libraryPath, defaultPublisher, registry) {
3931
4000
  version: e.version
3932
4001
  });
3933
4002
  }
3934
- return removed;
4003
+ return { removed, skipped };
4004
+ }
4005
+ function isParsable(file) {
4006
+ try {
4007
+ return parseManifestFile(file, fs10.readFileSync(file, "utf-8")).ok;
4008
+ } catch {
4009
+ return false;
4010
+ }
3935
4011
  }
3936
4012
  var PinPolicySchema = z3.enum(PIN_POLICIES);
3937
4013
  var LibraryInstanceRefSchema = z3.object({
@@ -4056,6 +4132,6 @@ function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
4056
4132
  return raw.version === 2 ? 2 : 1;
4057
4133
  }
4058
4134
 
4059
- 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, 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, trpcGetUrl, upsertManifestAsset, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest };
4060
- //# sourceMappingURL=chunk-MX3UQXLU.js.map
4061
- //# sourceMappingURL=chunk-MX3UQXLU.js.map
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