@skaile/workspaces 4.39.0 → 5.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 (392) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/asset-feeds-TU5CS6QL.js +131 -0
  3. package/dist/asset-feeds-TU5CS6QL.js.map +1 -0
  4. package/dist/asset-manager/catalog-deployer.js +12 -11
  5. package/dist/asset-manager/index.js +17 -16
  6. package/dist/asset-manager/installer.js +12 -11
  7. package/dist/asset-manager/src/catalog-deployer.d.ts +1 -3
  8. package/dist/asset-manager/src/catalog-deployer.d.ts.map +1 -1
  9. package/dist/asset-manager/src/index.d.ts +8 -9
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/bridge/drivers/claude-sdk.js +25 -13
  12. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  13. package/dist/bridge/drivers/codex.js +13 -12
  14. package/dist/bridge/drivers/codex.js.map +1 -1
  15. package/dist/bridge/drivers/continue.js +14 -13
  16. package/dist/bridge/drivers/continue.js.map +1 -1
  17. package/dist/bridge/drivers/echo.js +2 -2
  18. package/dist/bridge/drivers/gemini.js +6 -6
  19. package/dist/bridge/drivers/goose.js +14 -13
  20. package/dist/bridge/drivers/goose.js.map +1 -1
  21. package/dist/bridge/drivers/omp.js +3 -3
  22. package/dist/bridge/drivers/opencode.js +14 -13
  23. package/dist/bridge/drivers/opencode.js.map +1 -1
  24. package/dist/bridge/drivers/qwen.js +6 -6
  25. package/dist/bridge/index.js +15 -14
  26. package/dist/bridge/src/drivers/claude-sdk.d.ts +4 -0
  27. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  28. package/dist/bridge/src/types.d.ts +7 -0
  29. package/dist/bridge/src/types.d.ts.map +1 -1
  30. package/dist/{chunk-NLKIW2VI.js → chunk-2Y6DSR36.js} +5 -4
  31. package/dist/chunk-2Y6DSR36.js.map +1 -0
  32. package/dist/{chunk-H7N6RWNF.js → chunk-3KSAFYD4.js} +9 -5
  33. package/dist/chunk-3KSAFYD4.js.map +1 -0
  34. package/dist/{chunk-SM6EUQMY.js → chunk-3NGPZC44.js} +11 -11
  35. package/dist/chunk-3NGPZC44.js.map +1 -0
  36. package/dist/{chunk-A5EDMBFG.js → chunk-43ZBF3WH.js} +5 -8
  37. package/dist/chunk-43ZBF3WH.js.map +1 -0
  38. package/dist/{chunk-P7BU6DAC.js → chunk-55RMUF4G.js} +76 -33
  39. package/dist/chunk-55RMUF4G.js.map +1 -0
  40. package/dist/{chunk-TQ6XNACF.js → chunk-6LDUA57J.js} +25 -26
  41. package/dist/chunk-6LDUA57J.js.map +1 -0
  42. package/dist/chunk-A2ULN3KX.js +40 -0
  43. package/dist/chunk-A2ULN3KX.js.map +1 -0
  44. package/dist/{chunk-DSB6X25D.js → chunk-AG44ZJ7W.js} +3 -3
  45. package/dist/{chunk-DSB6X25D.js.map → chunk-AG44ZJ7W.js.map} +1 -1
  46. package/dist/{chunk-YCMZHL4T.js → chunk-AGWYBS2E.js} +6 -6
  47. package/dist/{chunk-YCMZHL4T.js.map → chunk-AGWYBS2E.js.map} +1 -1
  48. package/dist/{chunk-35G4M33T.js → chunk-AOMWF2OE.js} +4 -4
  49. package/dist/chunk-AOMWF2OE.js.map +1 -0
  50. package/dist/{chunk-X4DKUGV4.js → chunk-AYNPGPT5.js} +9 -15
  51. package/dist/chunk-AYNPGPT5.js.map +1 -0
  52. package/dist/{chunk-SSCPTAFJ.js → chunk-CI6FQ654.js} +3 -3
  53. package/dist/{chunk-SSCPTAFJ.js.map → chunk-CI6FQ654.js.map} +1 -1
  54. package/dist/{chunk-6X4DHKHP.js → chunk-CT6NQSA4.js} +3 -3
  55. package/dist/{chunk-6X4DHKHP.js.map → chunk-CT6NQSA4.js.map} +1 -1
  56. package/dist/{chunk-5K2VT6E2.js → chunk-DXUQCMVT.js} +3 -3
  57. package/dist/{chunk-5K2VT6E2.js.map → chunk-DXUQCMVT.js.map} +1 -1
  58. package/dist/{chunk-3C3ODIDE.js → chunk-E3ZACBHD.js} +13 -16
  59. package/dist/chunk-E3ZACBHD.js.map +1 -0
  60. package/dist/{chunk-C75VKXAM.js → chunk-E67J56FJ.js} +3 -3
  61. package/dist/{chunk-C75VKXAM.js.map → chunk-E67J56FJ.js.map} +1 -1
  62. package/dist/{chunk-B4IAZTZZ.js → chunk-EB6OPURC.js} +3 -3
  63. package/dist/{chunk-B4IAZTZZ.js.map → chunk-EB6OPURC.js.map} +1 -1
  64. package/dist/{chunk-VXPFSZDT.js → chunk-EPHQWHOH.js} +6 -6
  65. package/dist/{chunk-VXPFSZDT.js.map → chunk-EPHQWHOH.js.map} +1 -1
  66. package/dist/chunk-F7JHP7JV.js +122 -0
  67. package/dist/chunk-F7JHP7JV.js.map +1 -0
  68. package/dist/{chunk-FTPKMJFD.js → chunk-G47EV3V6.js} +2 -2
  69. package/dist/{chunk-FTPKMJFD.js.map → chunk-G47EV3V6.js.map} +1 -1
  70. package/dist/{chunk-252TK4RU.js → chunk-G4T7MYTA.js} +12 -14
  71. package/dist/chunk-G4T7MYTA.js.map +1 -0
  72. package/dist/{chunk-2EL2PBRC.js → chunk-H4EGUQ7M.js} +3 -3
  73. package/dist/{chunk-2EL2PBRC.js.map → chunk-H4EGUQ7M.js.map} +1 -1
  74. package/dist/{chunk-YV3YI3TA.js → chunk-IWCCZL7C.js} +17 -11
  75. package/dist/chunk-IWCCZL7C.js.map +1 -0
  76. package/dist/{chunk-QVLQGXT6.js → chunk-IYIIT4R3.js} +5 -5
  77. package/dist/{chunk-QVLQGXT6.js.map → chunk-IYIIT4R3.js.map} +1 -1
  78. package/dist/{chunk-YYH5EVPM.js → chunk-JUXQUZOQ.js} +12 -4
  79. package/dist/{chunk-YYH5EVPM.js.map → chunk-JUXQUZOQ.js.map} +1 -1
  80. package/dist/{chunk-BCUVRJXV.js → chunk-KAYH6AXN.js} +3 -3
  81. package/dist/{chunk-BCUVRJXV.js.map → chunk-KAYH6AXN.js.map} +1 -1
  82. package/dist/{chunk-JEPSP6XK.js → chunk-MXXKTQXJ.js} +18 -12
  83. package/dist/chunk-MXXKTQXJ.js.map +1 -0
  84. package/dist/{chunk-UDFWBALP.js → chunk-NFGRW3L7.js} +3 -3
  85. package/dist/{chunk-UDFWBALP.js.map → chunk-NFGRW3L7.js.map} +1 -1
  86. package/dist/{chunk-WCWFS36P.js → chunk-P5UQ56RA.js} +3 -3
  87. package/dist/{chunk-WCWFS36P.js.map → chunk-P5UQ56RA.js.map} +1 -1
  88. package/dist/{chunk-ORH2BZEM.js → chunk-QCI6D7E4.js} +69 -22
  89. package/dist/chunk-QCI6D7E4.js.map +1 -0
  90. package/dist/{chunk-5RWL4L3X.js → chunk-QFZFZXQW.js} +171 -28
  91. package/dist/chunk-QFZFZXQW.js.map +1 -0
  92. package/dist/{chunk-DIQDYNXZ.js → chunk-QZLWJETK.js} +3 -3
  93. package/dist/{chunk-DIQDYNXZ.js.map → chunk-QZLWJETK.js.map} +1 -1
  94. package/dist/{chunk-TSVRKUGV.js → chunk-RDTHJSGY.js} +11 -2
  95. package/dist/chunk-RDTHJSGY.js.map +1 -0
  96. package/dist/{chunk-QBQITQAM.js → chunk-RNNUYFFD.js} +3 -3
  97. package/dist/{chunk-QBQITQAM.js.map → chunk-RNNUYFFD.js.map} +1 -1
  98. package/dist/chunk-RVRB27AN.js +64 -0
  99. package/dist/chunk-RVRB27AN.js.map +1 -0
  100. package/dist/{chunk-XU7JET5Z.js → chunk-SP47UJKE.js} +37 -109
  101. package/dist/chunk-SP47UJKE.js.map +1 -0
  102. package/dist/{chunk-EB4ZTESQ.js → chunk-TOSHZX4C.js} +8 -3
  103. package/dist/chunk-TOSHZX4C.js.map +1 -0
  104. package/dist/{chunk-5NYBY6ZE.js → chunk-TVOODIZE.js} +3 -3
  105. package/dist/{chunk-5NYBY6ZE.js.map → chunk-TVOODIZE.js.map} +1 -1
  106. package/dist/{chunk-EOKAFBJ7.js → chunk-TYUJB336.js} +3 -3
  107. package/dist/{chunk-EOKAFBJ7.js.map → chunk-TYUJB336.js.map} +1 -1
  108. package/dist/{chunk-KAJH3XPW.js → chunk-U6K3I3AX.js} +3 -3
  109. package/dist/{chunk-KAJH3XPW.js.map → chunk-U6K3I3AX.js.map} +1 -1
  110. package/dist/{chunk-7RC37XFW.js → chunk-UMSWQKCY.js} +59 -12
  111. package/dist/chunk-UMSWQKCY.js.map +1 -0
  112. package/dist/{chunk-OLMNDIAU.js → chunk-UVOJSWD2.js} +95 -320
  113. package/dist/chunk-UVOJSWD2.js.map +1 -0
  114. package/dist/{chunk-DOVURNRK.js → chunk-VDJKWKH2.js} +3 -3
  115. package/dist/chunk-VDJKWKH2.js.map +1 -0
  116. package/dist/{chunk-VDBP6Y5M.js → chunk-WCQMXBO5.js} +21 -47
  117. package/dist/chunk-WCQMXBO5.js.map +1 -0
  118. package/dist/{chunk-YQEF36D5.js → chunk-WKIOWDLQ.js} +4 -4
  119. package/dist/{chunk-YQEF36D5.js.map → chunk-WKIOWDLQ.js.map} +1 -1
  120. package/dist/{chunk-5LF27VUB.js → chunk-X6E7Y4JD.js} +17 -15
  121. package/dist/chunk-X6E7Y4JD.js.map +1 -0
  122. package/dist/chunk-XUQBVK4R.js +15 -0
  123. package/dist/chunk-XUQBVK4R.js.map +1 -0
  124. package/dist/{chunk-K3IBZ2UZ.js → chunk-XUUYAS3Z.js} +3 -3
  125. package/dist/{chunk-K3IBZ2UZ.js.map → chunk-XUUYAS3Z.js.map} +1 -1
  126. package/dist/{chunk-36ML6SFP.js → chunk-YDJZRLGN.js} +4 -4
  127. package/dist/{chunk-36ML6SFP.js.map → chunk-YDJZRLGN.js.map} +1 -1
  128. package/dist/{chunk-M7GPCWEV.js → chunk-YIVB7GIP.js} +3 -3
  129. package/dist/{chunk-M7GPCWEV.js.map → chunk-YIVB7GIP.js.map} +1 -1
  130. package/dist/{chunk-VJNTB4DN.js → chunk-YMOZC2D3.js} +4 -4
  131. package/dist/{chunk-VJNTB4DN.js.map → chunk-YMOZC2D3.js.map} +1 -1
  132. package/dist/{chunk-OQRB7JUS.js → chunk-YV4J7V53.js} +3 -3
  133. package/dist/{chunk-OQRB7JUS.js.map → chunk-YV4J7V53.js.map} +1 -1
  134. package/dist/{chunk-JXT46QFC.js → chunk-ZDKJHQY2.js} +2 -2
  135. package/dist/{chunk-JXT46QFC.js.map → chunk-ZDKJHQY2.js.map} +1 -1
  136. package/dist/cli/index.js +777 -1120
  137. package/dist/cli/index.js.map +1 -1
  138. package/dist/cli/src/asset-feeds.d.ts +1 -8
  139. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  140. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  141. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  142. package/dist/cli/src/commands/flow.d.ts +5 -5
  143. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  144. package/dist/cli/src/commands/library-index.d.ts +5 -12
  145. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  146. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  147. package/dist/cli/src/commands/manage.d.ts +74 -58
  148. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  149. package/dist/cli/src/commands/project.d.ts.map +1 -1
  150. package/dist/cli/src/commands/publish-core.d.ts +10 -0
  151. package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
  152. package/dist/cli/src/commands/run.d.ts.map +1 -1
  153. package/dist/cli/src/commands/show.d.ts +1 -1
  154. package/dist/cli/src/commands/skailify-lib.d.ts +17 -31
  155. package/dist/cli/src/commands/skailify-lib.d.ts.map +1 -1
  156. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  157. package/dist/cli/src/commands/validate.d.ts +20 -2
  158. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  159. package/dist/cli/src/flow-discovery.d.ts +46 -3
  160. package/dist/cli/src/flow-discovery.d.ts.map +1 -1
  161. package/dist/cli/src/helpers.d.ts +6 -0
  162. package/dist/cli/src/helpers.d.ts.map +1 -1
  163. package/dist/cli/src/hooks/pre-commit-version.d.ts +1 -1
  164. package/dist/cli/src/open-library.d.ts +11 -0
  165. package/dist/cli/src/open-library.d.ts.map +1 -1
  166. package/dist/cli/src/skill-walker.d.ts +7 -10
  167. package/dist/cli/src/skill-walker.d.ts.map +1 -1
  168. package/dist/connectors/config.js +7 -6
  169. package/dist/connectors/index.js +23 -22
  170. package/dist/connectors/src/connector-manager.d.ts +53 -3
  171. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  172. package/dist/connectors/src/connector-prompt.d.ts +16 -2
  173. package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
  174. package/dist/connectors/src/fleet-utils.d.ts +3 -4
  175. package/dist/connectors/src/fleet-utils.d.ts.map +1 -1
  176. package/dist/connectors/src/index.d.ts +3 -3
  177. package/dist/connectors/src/index.d.ts.map +1 -1
  178. package/dist/connectors-VX7YRFFS.js +45 -0
  179. package/dist/{connectors-T57XL7EA.js.map → connectors-VX7YRFFS.js.map} +1 -1
  180. package/dist/core/discovery.js +1 -1
  181. package/dist/core/driver-targets.js +1 -1
  182. package/dist/core/index.js +11 -10
  183. package/dist/core/manifest.js +2 -2
  184. package/dist/core/models.js +1 -1
  185. package/dist/core/plugin-groupings.d.ts +2 -0
  186. package/dist/core/plugin-groupings.js +4 -0
  187. package/dist/core/plugin-groupings.js.map +1 -0
  188. package/dist/core/publish-manifest.js +2 -2
  189. package/dist/core/ref.js +1 -1
  190. package/dist/core/runtime-assets.js +7 -6
  191. package/dist/core/src/discovery.d.ts +11 -51
  192. package/dist/core/src/discovery.d.ts.map +1 -1
  193. package/dist/core/src/driver-targets.d.ts +10 -0
  194. package/dist/core/src/driver-targets.d.ts.map +1 -1
  195. package/dist/core/src/index.d.ts +5 -4
  196. package/dist/core/src/index.d.ts.map +1 -1
  197. package/dist/core/src/models.d.ts +6 -33
  198. package/dist/core/src/models.d.ts.map +1 -1
  199. package/dist/core/src/plugin-groupings.d.ts +31 -0
  200. package/dist/core/src/plugin-groupings.d.ts.map +1 -0
  201. package/dist/core/src/repo-manager.d.ts.map +1 -1
  202. package/dist/core/src/settings.d.ts +14 -1
  203. package/dist/core/src/settings.d.ts.map +1 -1
  204. package/dist/core/src/workspace-config.d.ts +1 -1
  205. package/dist/core/store.js +2 -2
  206. package/dist/core/workspace-config.js +6 -5
  207. package/dist/deploy/index.js +11 -10
  208. package/dist/deploy/index.js.map +1 -1
  209. package/dist/discovery/index.js +6 -5
  210. package/dist/discovery/src/discover.d.ts +9 -25
  211. package/dist/discovery/src/discover.d.ts.map +1 -1
  212. package/dist/discovery/src/index.d.ts +0 -2
  213. package/dist/discovery/src/index.d.ts.map +1 -1
  214. package/dist/discovery/src/source-config.d.ts +13 -9
  215. package/dist/discovery/src/source-config.d.ts.map +1 -1
  216. package/dist/discovery/src/tree-entries.d.ts +6 -11
  217. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  218. package/dist/{ensure-sources-J5CDTQ36.js → ensure-sources-2XQS32WI.js} +20 -19
  219. package/dist/ensure-sources-2XQS32WI.js.map +1 -0
  220. package/dist/factory-assets/README.md +1 -1
  221. package/dist/factory-assets/connectors/box.js +23 -22
  222. package/dist/factory-assets/connectors/deploy.js +23 -22
  223. package/dist/factory-assets/connectors/devserver.js +23 -22
  224. package/dist/factory-assets/connectors/flow/CONNECTOR.md +6 -1
  225. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  226. package/dist/factory-assets/connectors/flow/adapter.js +23 -22
  227. package/dist/factory-assets/connectors/flow/contract/flow.v2.schema.json +13 -3
  228. package/dist/factory-assets/connectors/flow/contract/index.d.ts +1 -0
  229. package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -1
  230. package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts +21 -5
  231. package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts.map +1 -1
  232. package/dist/factory-assets/connectors/flow/contract/schema.d.ts +2 -0
  233. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -1
  234. package/dist/factory-assets/connectors/flow/contract/sub-flow-output.d.ts +20 -0
  235. package/dist/factory-assets/connectors/flow/contract/sub-flow-output.d.ts.map +1 -0
  236. package/dist/factory-assets/connectors/flow/contract.js +4 -4
  237. package/dist/factory-assets/connectors/flow/engine/bindings.d.ts.map +1 -1
  238. package/dist/factory-assets/connectors/flow/engine/flow-output.d.ts +12 -0
  239. package/dist/factory-assets/connectors/flow/engine/flow-output.d.ts.map +1 -0
  240. package/dist/factory-assets/connectors/flow/engine/index.d.ts +1 -0
  241. package/dist/factory-assets/connectors/flow/engine/index.d.ts.map +1 -1
  242. package/dist/factory-assets/connectors/flow/engine/loader.d.ts +3 -3
  243. package/dist/factory-assets/connectors/flow/engine/locate.d.ts +2 -2
  244. package/dist/factory-assets/connectors/flow/engine/locate.d.ts.map +1 -1
  245. package/dist/factory-assets/connectors/flow/engine/types.d.ts +0 -2
  246. package/dist/factory-assets/connectors/flow/engine/types.d.ts.map +1 -1
  247. package/dist/factory-assets/connectors/flow/engine.js +15 -14
  248. package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts.map +1 -1
  249. package/dist/factory-assets/connectors/flow/prompt-fragments.js +3 -3
  250. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  251. package/dist/factory-assets/connectors/flow/run-flow.js +25 -24
  252. package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts +6 -5
  253. package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts.map +1 -1
  254. package/dist/factory-assets/connectors/flow.js +23 -22
  255. package/dist/factory-assets/connectors/git.js +23 -22
  256. package/dist/factory-assets/connectors/gmail.js +23 -22
  257. package/dist/factory-assets/connectors/googledrive.js +23 -22
  258. package/dist/factory-assets/connectors/local.js +23 -22
  259. package/dist/factory-assets/connectors/mattermost.js +23 -22
  260. package/dist/factory-assets/connectors/memory.js +23 -22
  261. package/dist/factory-assets/connectors/minio.js +23 -22
  262. package/dist/factory-assets/connectors/postgres.js +23 -22
  263. package/dist/factory-assets/connectors/s3.js +23 -22
  264. package/dist/factory-assets/connectors/sharepoint.js +23 -22
  265. package/dist/factory-assets/connectors/sqlite.js +23 -22
  266. package/dist/factory-assets/connectors/static-server.js +23 -22
  267. package/dist/factory-assets/connectors/tunnel.js +23 -22
  268. package/dist/factory-assets/connectors/webdav.js +23 -22
  269. package/dist/factory-assets/connectors/xstate-store.js +23 -22
  270. package/dist/factory-assets/connectors/xstate.js +23 -22
  271. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +37 -26
  272. package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +2 -2
  273. package/dist/factory-assets/skills/skailify/SKILL.md +10 -19
  274. package/dist/flows-SVCCADGE.js +26 -0
  275. package/dist/{flows-PX53XFV7.js.map → flows-SVCCADGE.js.map} +1 -1
  276. package/dist/helpers-IELQGVGB.js +34 -0
  277. package/dist/{helpers-EP6H3O3S.js.map → helpers-IELQGVGB.js.map} +1 -1
  278. package/dist/library/index.js +15 -14
  279. package/dist/library/install.js +2 -2
  280. package/dist/library/src/index.d.ts +1 -1
  281. package/dist/library/src/index.d.ts.map +1 -1
  282. package/dist/library/src/local/db.d.ts.map +1 -1
  283. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  284. package/dist/library/src/local/library.d.ts.map +1 -1
  285. package/dist/library/src/local/local-catalog-source.d.ts +14 -10
  286. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  287. package/dist/library/src/local/schema.d.ts +1 -20
  288. package/dist/library/src/local/schema.d.ts.map +1 -1
  289. package/dist/library/src/remote/remote-catalog-source.d.ts +1 -11
  290. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  291. package/dist/library/src/sync/manifest-writeback.d.ts +5 -5
  292. package/dist/library/src/sync/manifest-writeback.d.ts.map +1 -1
  293. package/dist/library/src/user-library.d.ts +1 -9
  294. package/dist/library/src/user-library.d.ts.map +1 -1
  295. package/dist/{library-publish-KKT73FJK.js → library-publish-TCFU3X5L.js} +39 -26
  296. package/dist/library-publish-TCFU3X5L.js.map +1 -0
  297. package/dist/open-library-SSBN4FX2.js +40 -0
  298. package/dist/{open-library-R62UBL6E.js.map → open-library-SSBN4FX2.js.map} +1 -1
  299. package/dist/open-registry-CHCWKV5W.js +32 -0
  300. package/dist/open-registry-CHCWKV5W.js.map +1 -0
  301. package/dist/paths-MKSI52PF.js +22 -0
  302. package/dist/{paths-W4LDORQQ.js.map → paths-MKSI52PF.js.map} +1 -1
  303. package/dist/{plugin-store-D45CREMJ.js → plugin-store-SVYV7L4C.js} +13 -12
  304. package/dist/plugin-store-SVYV7L4C.js.map +1 -0
  305. package/dist/plugins/index.js +1 -1
  306. package/dist/plugins/src/catalog-source.d.ts +4 -55
  307. package/dist/plugins/src/catalog-source.d.ts.map +1 -1
  308. package/dist/plugins/src/index.d.ts +1 -1
  309. package/dist/plugins/src/index.d.ts.map +1 -1
  310. package/dist/project-PJ37PM6N.js +35 -0
  311. package/dist/{project-GCW5DFAB.js.map → project-PJ37PM6N.js.map} +1 -1
  312. package/dist/resolver/index.js +12 -11
  313. package/dist/runner/index.js +35 -34
  314. package/dist/runner/src/compaction/orchestrator.d.ts +2 -1
  315. package/dist/runner/src/compaction/orchestrator.d.ts.map +1 -1
  316. package/dist/runner/src/compaction-gate.d.ts +13 -0
  317. package/dist/runner/src/compaction-gate.d.ts.map +1 -1
  318. package/dist/runner/src/fleet-health-flag-dispatcher.d.ts +14 -11
  319. package/dist/runner/src/fleet-health-flag-dispatcher.d.ts.map +1 -1
  320. package/dist/runner/src/serve.d.ts.map +1 -1
  321. package/dist/sdk/asset-manager.js +17 -16
  322. package/dist/sdk/bridge.js +15 -14
  323. package/dist/sdk/core.js +11 -10
  324. package/dist/sdk/flow.js +15 -14
  325. package/dist/sdk/index.js +35 -34
  326. package/dist/sdk/index.js.map +1 -1
  327. package/dist/sdk/resolver.js +12 -11
  328. package/dist/sdk/runner.js +35 -34
  329. package/dist/secrets/index.js +2 -2
  330. package/dist/{setup-Q3LXY5AE.js → setup-JW2ZGCUG.js} +25 -24
  331. package/dist/setup-JW2ZGCUG.js.map +1 -0
  332. package/dist/skills-7K2YO3KN.js +26 -0
  333. package/dist/{skills-R3RPIPWP.js.map → skills-7K2YO3KN.js.map} +1 -1
  334. package/dist/source-F2VO32W6.js +41 -0
  335. package/dist/{source-CFQESKJU.js.map → source-F2VO32W6.js.map} +1 -1
  336. package/dist/{source-manifest-publish-3TCBA2RV.js → source-manifest-publish-AXNII2J4.js} +29 -27
  337. package/dist/source-manifest-publish-AXNII2J4.js.map +1 -0
  338. package/dist/tui/index.js +35 -34
  339. package/dist/tui/index.js.map +1 -1
  340. package/dist/workspace-plugin/adapters/mcp.js +40 -18
  341. package/dist/workspace-plugin/adapters/omp.js +21 -21
  342. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  343. package/dist/workspace-plugin/index.js +1 -1
  344. package/dist/workspace-plugin/src/adapters/mcp.d.ts +4 -4
  345. package/dist/workspace-plugin/src/adapters/mcp.d.ts.map +1 -1
  346. package/dist/workspace-plugin/src/adapters/omp.d.ts +2 -2
  347. package/dist/workspace-plugin/src/tools/connectors.d.ts +1 -1
  348. package/dist/workspace-plugin/src/tools/connectors.d.ts.map +1 -1
  349. package/dist/workspace-plugin/src/tools/skills.d.ts +5 -17
  350. package/dist/workspace-plugin/src/tools/skills.d.ts.map +1 -1
  351. package/package.json +7 -1
  352. package/dist/asset-feeds-KXL45ALC.js +0 -210
  353. package/dist/asset-feeds-KXL45ALC.js.map +0 -1
  354. package/dist/chunk-252TK4RU.js.map +0 -1
  355. package/dist/chunk-35G4M33T.js.map +0 -1
  356. package/dist/chunk-3C3ODIDE.js.map +0 -1
  357. package/dist/chunk-5LF27VUB.js.map +0 -1
  358. package/dist/chunk-5RWL4L3X.js.map +0 -1
  359. package/dist/chunk-7RC37XFW.js.map +0 -1
  360. package/dist/chunk-A5EDMBFG.js.map +0 -1
  361. package/dist/chunk-DOVURNRK.js.map +0 -1
  362. package/dist/chunk-EB4ZTESQ.js.map +0 -1
  363. package/dist/chunk-H7N6RWNF.js.map +0 -1
  364. package/dist/chunk-JEPSP6XK.js.map +0 -1
  365. package/dist/chunk-NLKIW2VI.js.map +0 -1
  366. package/dist/chunk-OLMNDIAU.js.map +0 -1
  367. package/dist/chunk-ORH2BZEM.js.map +0 -1
  368. package/dist/chunk-P7BU6DAC.js.map +0 -1
  369. package/dist/chunk-QVZA2MDT.js +0 -81
  370. package/dist/chunk-QVZA2MDT.js.map +0 -1
  371. package/dist/chunk-SM6EUQMY.js.map +0 -1
  372. package/dist/chunk-TQ6XNACF.js.map +0 -1
  373. package/dist/chunk-TSVRKUGV.js.map +0 -1
  374. package/dist/chunk-VDBP6Y5M.js.map +0 -1
  375. package/dist/chunk-X4DKUGV4.js.map +0 -1
  376. package/dist/chunk-XU7JET5Z.js.map +0 -1
  377. package/dist/chunk-YV3YI3TA.js.map +0 -1
  378. package/dist/connectors-T57XL7EA.js +0 -5
  379. package/dist/discovery/src/domains.d.ts +0 -149
  380. package/dist/discovery/src/domains.d.ts.map +0 -1
  381. package/dist/ensure-sources-J5CDTQ36.js.map +0 -1
  382. package/dist/flows-PX53XFV7.js +0 -25
  383. package/dist/helpers-EP6H3O3S.js +0 -33
  384. package/dist/library-publish-KKT73FJK.js.map +0 -1
  385. package/dist/open-library-R62UBL6E.js +0 -38
  386. package/dist/paths-W4LDORQQ.js +0 -21
  387. package/dist/plugin-store-D45CREMJ.js.map +0 -1
  388. package/dist/project-GCW5DFAB.js +0 -34
  389. package/dist/setup-Q3LXY5AE.js.map +0 -1
  390. package/dist/skills-R3RPIPWP.js +0 -25
  391. package/dist/source-CFQESKJU.js +0 -39
  392. package/dist/source-manifest-publish-3TCBA2RV.js.map +0 -1
@@ -0,0 +1,64 @@
1
+ import { readFileSync } from 'fs';
2
+ import { resolve, join, relative, sep, isAbsolute } from 'path';
3
+
4
+ // core/src/plugin-groupings.ts
5
+ var PLUGIN_DIR = ".claude-plugin";
6
+ function readJsonObject(file) {
7
+ try {
8
+ const parsed = JSON.parse(readFileSync(file, "utf8"));
9
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
10
+ } catch {
11
+ return null;
12
+ }
13
+ }
14
+ function str(v) {
15
+ return typeof v === "string" && v.length > 0 ? v : void 0;
16
+ }
17
+ function toRootRelative(root, base, skillPath) {
18
+ const rel = relative(root, resolve(base, skillPath));
19
+ if (rel === ".." || rel.startsWith(`..${sep}`) || isAbsolute(rel)) return null;
20
+ return rel.split(sep).join("/");
21
+ }
22
+ function addPluginSkills(out, root, base, pluginName, skills) {
23
+ if (!Array.isArray(skills)) return;
24
+ for (const s of skills) {
25
+ const skillPath = str(s);
26
+ if (!skillPath) continue;
27
+ const rel = toRootRelative(root, base, skillPath);
28
+ if (rel === null || out.has(rel)) continue;
29
+ out.set(rel, pluginName);
30
+ }
31
+ }
32
+ function readPluginGroupings(root) {
33
+ const out = /* @__PURE__ */ new Map();
34
+ const absRoot = resolve(root);
35
+ const marketplace = readJsonObject(join(absRoot, PLUGIN_DIR, "marketplace.json"));
36
+ if (marketplace && Array.isArray(marketplace.plugins)) {
37
+ const meta = marketplace.metadata;
38
+ const pluginRoot = meta && typeof meta === "object" ? str(meta.pluginRoot) : void 0;
39
+ const marketBase = pluginRoot ? resolve(absRoot, pluginRoot) : absRoot;
40
+ for (const p of marketplace.plugins) {
41
+ if (!p || typeof p !== "object") continue;
42
+ const plugin = p;
43
+ const name = str(plugin.name);
44
+ if (!name) continue;
45
+ const source = str(plugin.source);
46
+ const base = source ? resolve(marketBase, source) : marketBase;
47
+ if (toRootRelative(absRoot, base, ".") === null) continue;
48
+ addPluginSkills(out, absRoot, base, name, plugin.skills);
49
+ }
50
+ }
51
+ const single = readJsonObject(join(absRoot, PLUGIN_DIR, "plugin.json"));
52
+ if (single) {
53
+ const name = str(single.name);
54
+ if (name) addPluginSkills(out, absRoot, absRoot, name, single.skills);
55
+ }
56
+ return out;
57
+ }
58
+ function pluginTitle(pluginName) {
59
+ return pluginName.split("-").filter((w) => w.length > 0).map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
60
+ }
61
+
62
+ export { pluginTitle, readPluginGroupings };
63
+ //# sourceMappingURL=chunk-RVRB27AN.js.map
64
+ //# sourceMappingURL=chunk-RVRB27AN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../core/src/plugin-groupings.ts"],"names":[],"mappings":"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","file":"chunk-RVRB27AN.js","sourcesContent":["/**\n * Claude plugin groupings — which plugin an asset directory belongs to.\n *\n * Mirrors vercel-labs/skills `getPluginGroupings`: a content root may carry\n * `.claude-plugin/marketplace.json` (multi-plugin) and/or\n * `.claude-plugin/plugin.json` (single plugin), each listing the skill\n * directories the plugin claims. Membership is opt-in and central — directory\n * names carry no meaning. The result is display-only grouping metadata\n * (`CatalogEntry.plugin`); it never affects asset identity.\n */\n\nimport { readFileSync } from \"node:fs\";\nimport { isAbsolute, join, relative, resolve, sep } from \"node:path\";\n\nconst PLUGIN_DIR = \".claude-plugin\";\n\n/** Read + parse a JSON file; `null` when absent, unreadable, or not a JSON object. */\nfunction readJsonObject(file: string): Record<string, unknown> | null {\n try {\n const parsed: unknown = JSON.parse(readFileSync(file, \"utf8\"));\n return parsed && typeof parsed === \"object\" && !Array.isArray(parsed)\n ? (parsed as Record<string, unknown>)\n : null;\n } catch {\n return null;\n }\n}\n\n/** Non-empty string, or `undefined`. */\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v.length > 0 ? v : undefined;\n}\n\n/**\n * Resolve `base`/`skillPath` to a root-relative POSIX dir (no leading `./`, no\n * trailing `/`), or `null` when the result escapes `root`.\n */\nfunction toRootRelative(root: string, base: string, skillPath: string): string | null {\n const rel = relative(root, resolve(base, skillPath));\n if (rel === \"..\" || rel.startsWith(`..${sep}`) || isAbsolute(rel)) return null;\n return rel.split(sep).join(\"/\");\n}\n\n/** Register every `skills[]` dir of one plugin under `pluginName` (first mapping wins). */\nfunction addPluginSkills(\n out: Map<string, string>,\n root: string,\n base: string,\n pluginName: string,\n skills: unknown,\n): void {\n if (!Array.isArray(skills)) return;\n for (const s of skills) {\n const skillPath = str(s);\n if (!skillPath) continue;\n const rel = toRootRelative(root, base, skillPath);\n if (rel === null || out.has(rel)) continue;\n out.set(rel, pluginName);\n }\n}\n\n/**\n * Read the plugin membership of the asset directories under `root`.\n *\n * Reads `<root>/.claude-plugin/marketplace.json` first (`metadata.pluginRoot`\n * optional base; `plugins[]` each `{ name, source?, skills? }`, skill paths\n * resolved against `root/pluginRoot/source` — a non-string `source` is\n * ignored), then `<root>/.claude-plugin/plugin.json` (`{ name, skills? }`,\n * resolved against `root`). A dir already mapped by the marketplace is not\n * remapped by `plugin.json`. Paths resolving outside `root` are ignored.\n * Missing, unreadable, or invalid manifests yield no groupings; never throws.\n *\n * @param root - Absolute path to the content root\n * @returns Map of root-relative POSIX asset dir → plugin name\n */\nexport function readPluginGroupings(root: string): Map<string, string> {\n const out = new Map<string, string>();\n const absRoot = resolve(root);\n\n const marketplace = readJsonObject(join(absRoot, PLUGIN_DIR, \"marketplace.json\"));\n if (marketplace && Array.isArray(marketplace.plugins)) {\n const meta = marketplace.metadata;\n const pluginRoot =\n meta && typeof meta === \"object\"\n ? str((meta as Record<string, unknown>).pluginRoot)\n : undefined;\n const marketBase = pluginRoot ? resolve(absRoot, pluginRoot) : absRoot;\n for (const p of marketplace.plugins) {\n if (!p || typeof p !== \"object\") continue;\n const plugin = p as Record<string, unknown>;\n const name = str(plugin.name);\n if (!name) continue;\n const source = str(plugin.source);\n const base = source ? resolve(marketBase, source) : marketBase;\n // A manifest pointing the plugin base outside the root claims nothing.\n if (toRootRelative(absRoot, base, \".\") === null) continue;\n addPluginSkills(out, absRoot, base, name, plugin.skills);\n }\n }\n\n const single = readJsonObject(join(absRoot, PLUGIN_DIR, \"plugin.json\"));\n if (single) {\n const name = str(single.name);\n if (name) addPluginSkills(out, absRoot, absRoot, name, single.skills);\n }\n\n return out;\n}\n\n/**\n * Kebab-case plugin name → display title (`mattpocock-skills` → `Mattpocock Skills`).\n * Matches the skills CLI's `kebabToTitle`.\n */\nexport function pluginTitle(pluginName: string): string {\n return pluginName\n .split(\"-\")\n .filter((w) => w.length > 0)\n .map((w) => w.charAt(0).toUpperCase() + w.slice(1))\n .join(\" \");\n}\n"]}
@@ -1,10 +1,10 @@
1
- import { readManifestSourceConfig, discoverAssetsInTree, isManifestMode } from './chunk-OLMNDIAU.js';
2
- import { installFromManifest } from './chunk-2EL2PBRC.js';
3
- import { defaultLibraryDir, resolveLibraryDir } from './chunk-YV3YI3TA.js';
4
- import { getGlobalCacheDir, resolveSourcePublisher } from './chunk-JEPSP6XK.js';
1
+ import { readManifestSourceConfig, discoverAssetsInTree } from './chunk-UVOJSWD2.js';
2
+ import { installFromManifest } from './chunk-H4EGUQ7M.js';
3
+ import { defaultLibraryDir, resolveLibraryDir } from './chunk-IWCCZL7C.js';
4
+ import { getGlobalCacheDir, resolveSourcePublisher } from './chunk-MXXKTQXJ.js';
5
5
  import { globalSkaileDir, mergeLegacyEntriesInto, migrateLegacyDir, globalCacheRoot } from './chunk-TLKM4M47.js';
6
- import { encodeSkaileManifest } from './chunk-DSB6X25D.js';
7
- import { parseAssetRef } from './chunk-A5EDMBFG.js';
6
+ import { encodeSkaileManifest } from './chunk-AG44ZJ7W.js';
7
+ import { parseAssetRef } from './chunk-43ZBF3WH.js';
8
8
  import { PresetManifestSchema } from './chunk-5CYEWBPB.js';
9
9
  import { __export } from './chunk-NSBPE2FW.js';
10
10
  import * as fs10 from 'fs';
@@ -275,8 +275,6 @@ var libraries = sqliteTable("libraries", {
275
275
  backendConfig: text("backend_config").notNull().default("{}"),
276
276
  /** Ownership: `owner | contributor | reader`. */
277
277
  ownership: text("ownership").notNull(),
278
- /** Layout: `flat | domain` or null when not yet detected. */
279
- structure: text("structure"),
280
278
  /** Boolean (0/1) — true iff this is the auto-target for `asset migrate`. */
281
279
  isDefault: integer("is_default", { mode: "boolean" }).notNull().default(false),
282
280
  /** Boolean (0/1) — true iff the CLI generated the on-disk manifest. */
@@ -450,7 +448,6 @@ CREATE TABLE IF NOT EXISTS libraries (
450
448
  backend TEXT NOT NULL,
451
449
  backend_config TEXT NOT NULL DEFAULT '{}',
452
450
  ownership TEXT NOT NULL,
453
- structure TEXT,
454
451
  is_default INTEGER NOT NULL DEFAULT 0,
455
452
  manifest_generated INTEGER NOT NULL DEFAULT 0,
456
453
  last_sync_at TEXT,
@@ -534,7 +531,6 @@ async function runLibrariesMigration(client) {
534
531
  backend TEXT NOT NULL,
535
532
  backend_config TEXT NOT NULL DEFAULT '{}',
536
533
  ownership TEXT NOT NULL,
537
- structure TEXT,
538
534
  is_default INTEGER NOT NULL DEFAULT 0,
539
535
  manifest_generated INTEGER NOT NULL DEFAULT 0,
540
536
  last_sync_at TEXT,
@@ -792,7 +788,6 @@ function rowToLibrary(row) {
792
788
  backend: row.backend,
793
789
  backendConfig: cfg,
794
790
  ownership: row.ownership,
795
- structure: row.structure ?? void 0,
796
791
  isDefault: row.isDefault,
797
792
  manifestGenerated: row.manifestGenerated,
798
793
  lastSyncAt: row.lastSyncAt ? new Date(row.lastSyncAt) : void 0,
@@ -927,7 +922,6 @@ var LocalIndex = class {
927
922
  ownership: input.ownership ?? (input.backend === "local" ? "owner" : "reader"),
928
923
  isDefault: input.isDefault ?? false,
929
924
  manifestGenerated: input.manifestGenerated ?? false,
930
- structure: input.structure ?? null,
931
925
  createdAt: now,
932
926
  updatedAt: now
933
927
  }).run();
@@ -1225,7 +1219,6 @@ var LocalIndex = class {
1225
1219
  // library/src/user-library.ts
1226
1220
  var LIBRARY_BACKENDS = ["local", "git"];
1227
1221
  var LIBRARY_OWNERSHIPS = ["owner", "contributor", "reader"];
1228
- var LIBRARY_STRUCTURES = ["flat", "domain"];
1229
1222
  var LibrarySyncError = class extends Error {
1230
1223
  constructor(message, code) {
1231
1224
  super(message);
@@ -1491,7 +1484,6 @@ function rowToLibrary2(row) {
1491
1484
  backend: row.backend,
1492
1485
  backendConfig: cfg,
1493
1486
  ownership: row.ownership,
1494
- structure: row.structure ?? void 0,
1495
1487
  isDefault: row.isDefault,
1496
1488
  manifestGenerated: row.manifestGenerated,
1497
1489
  lastSyncAt: row.lastSyncAt ? new Date(row.lastSyncAt) : void 0,
@@ -1531,7 +1523,6 @@ var LibraryManager = class {
1531
1523
  backend: input.backend,
1532
1524
  backendConfig: JSON.stringify(input.backendConfig ?? {}),
1533
1525
  ownership: input.ownership,
1534
- structure: input.structure ?? null,
1535
1526
  isDefault: input.isDefault ?? false,
1536
1527
  manifestGenerated: input.manifestGenerated ?? false,
1537
1528
  createdAt: now,
@@ -1569,7 +1560,6 @@ var LibraryManager = class {
1569
1560
  if (patch.backendConfig !== void 0)
1570
1561
  updates.backendConfig = JSON.stringify(patch.backendConfig);
1571
1562
  if (patch.ownership !== void 0) updates.ownership = patch.ownership;
1572
- if (patch.structure !== void 0) updates.structure = patch.structure;
1573
1563
  if (patch.manifestGenerated !== void 0) updates.manifestGenerated = patch.manifestGenerated;
1574
1564
  if (patch.isDefault !== void 0) updates.isDefault = patch.isDefault;
1575
1565
  if (patch.lastSyncAt !== void 0) updates.lastSyncAt = patch.lastSyncAt.toISOString();
@@ -1624,7 +1614,6 @@ var LibraryManager = class {
1624
1614
  backend: "local",
1625
1615
  backendConfig: {},
1626
1616
  ownership: "owner",
1627
- structure: "domain",
1628
1617
  isDefault: true,
1629
1618
  manifestGenerated: false
1630
1619
  });
@@ -1635,8 +1624,6 @@ var LibraryManager = class {
1635
1624
  return { library: lib, created: true };
1636
1625
  }
1637
1626
  };
1638
-
1639
- // library/src/local/local-catalog-source.ts
1640
1627
  function describeSyncError(err) {
1641
1628
  if (!(err instanceof Error)) return String(err);
1642
1629
  const parts = [err.message];
@@ -1699,11 +1686,34 @@ var LocalCatalogSource = class {
1699
1686
  async listSources() {
1700
1687
  return [{ id: this.sourceId, type: "local", url: this.rootPath }];
1701
1688
  }
1689
+ /**
1690
+ * Walk the source directory and return what discovery finds — the exact scan
1691
+ * {@link sync} indexes, without touching the index. Lets a caller that needs
1692
+ * the on-disk location of an asset (`manifestPath`) share the indexer's walk
1693
+ * and publisher keying instead of re-implementing the layout rules.
1694
+ *
1695
+ * @param scanOpts - When `includeDev` is set, assets under the source
1696
+ * config's `dev_paths` (e.g. `ai-assets-dev/`) are discovered too.
1697
+ */
1698
+ scan(scanOpts) {
1699
+ const fallbackPublisher = resolveSourcePublisher(this.rootPath) ?? (path5.basename(this.rootPath) || "unknown");
1700
+ const opts = {
1701
+ registry: this.registry,
1702
+ sidecarManifestFile: this.sidecarManifestFile,
1703
+ sidecarPath: this.sidecarPath,
1704
+ includeDev: scanOpts?.includeDev ?? false,
1705
+ publisher: fallbackPublisher
1706
+ };
1707
+ if (!this.sidecarPath && !this.sidecarManifestFile) {
1708
+ opts.sourceConfig = readManifestSourceConfig(this.rootPath, fallbackPublisher);
1709
+ }
1710
+ return discoverAssetsInTree(this.rootPath, opts);
1711
+ }
1702
1712
  /**
1703
1713
  * Sync: discover assets in the source directory and cache them in the library.
1704
1714
  *
1705
1715
  * Runs the discovery pipeline (glob -> parse -> filter -> hash -> requires)
1706
- * and upserts each discovered asset into the LocalIndex cache.
1716
+ * via {@link scan} and upserts each discovered asset into the LocalIndex cache.
1707
1717
  *
1708
1718
  * @param syncOpts - When `includeDev` is set, assets under the source
1709
1719
  * config's `dev_paths` (e.g. `ai-assets-dev/`) are discovered and cached
@@ -1712,16 +1722,7 @@ var LocalCatalogSource = class {
1712
1722
  * (missing sha256, unknown kind) — the latter never signal a failed index.
1713
1723
  */
1714
1724
  async sync(syncOpts) {
1715
- const opts = {
1716
- registry: this.registry,
1717
- sidecarManifestFile: this.sidecarManifestFile,
1718
- sidecarPath: this.sidecarPath,
1719
- includeDev: syncOpts?.includeDev ?? false
1720
- };
1721
- if (!this.sidecarPath && !this.sidecarManifestFile) {
1722
- opts.sourceConfig = this.alignPublisher(readManifestSourceConfig(this.rootPath));
1723
- }
1724
- const result = discoverAssetsInTree(this.rootPath, opts);
1725
+ const result = this.scan(syncOpts);
1725
1726
  let assetsUpdated = 0;
1726
1727
  const errors = [];
1727
1728
  const softDepsByRef = /* @__PURE__ */ new Map();
@@ -1777,29 +1778,6 @@ var LocalCatalogSource = class {
1777
1778
  if (keepRefs.length > 0) await this.library.pruneAssetDefs(this.sourceId, keepRefs);
1778
1779
  return { assetsFound: result.assets.length, assetsUpdated, errors, advisories };
1779
1780
  }
1780
- /**
1781
- * When the loaded source config declares no publisher (no manifest, or a
1782
- * manifest without `publisher`), substitute the canonical publisher derived
1783
- * the same way the provenance walker derives it (`resolveSourcePublisher`).
1784
- * Leaves manifest-mode (`assets:` inventory) and explicitly-published configs
1785
- * untouched, and is a no-op outside a git checkout (`resolveSourcePublisher`
1786
- * returns `undefined`) — preserving the legacy first-path-segment fallback.
1787
- */
1788
- alignPublisher(config) {
1789
- if (config && (isManifestMode(config) || !config.publisher_default.includes("<domain>"))) {
1790
- return config;
1791
- }
1792
- const publisher = resolveSourcePublisher(this.rootPath);
1793
- if (!publisher) return config;
1794
- const base = config ?? {
1795
- version: 1,
1796
- publisher_default: `@${publisher}`,
1797
- default_ref: "main",
1798
- publisher_overrides: [],
1799
- dev_paths: []
1800
- };
1801
- return { ...base, publisher_default: `@${publisher}` };
1802
- }
1803
1781
  };
1804
1782
  function defToCatalogAsset(def) {
1805
1783
  return {
@@ -2184,8 +2162,8 @@ function resolveTemplate(template, context) {
2184
2162
  });
2185
2163
  return { value: result, hasSecret: false };
2186
2164
  }
2187
- function setNestedValue(obj, path14, value) {
2188
- const parts = path14.split(".");
2165
+ function setNestedValue(obj, path15, value) {
2166
+ const parts = path15.split(".");
2189
2167
  let current = obj;
2190
2168
  for (let i = 0; i < parts.length - 1; i++) {
2191
2169
  const key = parts[i];
@@ -3120,32 +3098,6 @@ var RemoteCatalogSource = class {
3120
3098
  async listSources() {
3121
3099
  return [{ id: this.id, type: "remote-catalog", url: this.baseUrl }];
3122
3100
  }
3123
- /**
3124
- * List navigational domains via `GET /trpc/catalog.listDomains`. Display-only,
3125
- * so this **never throws**: a missing endpoint (older store → 404), a transport
3126
- * error, or a malformed payload all degrade to `[]` rather than jeopardize the
3127
- * asset feed this call accompanies. Air-gapped mode returns `[]` (domains are
3128
- * not part of the offline cache in v1).
3129
- *
3130
- * Not cached — domains are read once per `skaile manage` open and are cheap.
3131
- */
3132
- async listDomains(filter) {
3133
- if (this.cache.airGapped) return [];
3134
- try {
3135
- const input = filter && (filter.publisher || filter.source) ? filter : {};
3136
- const url = trpcGetUrl(this.baseUrl, "catalog.listDomains", input);
3137
- const res = await this.httpClient(url, {
3138
- method: "GET",
3139
- headers: { Accept: "application/json" }
3140
- });
3141
- if (!res.ok) return [];
3142
- const data = await parseTrpcGet(res);
3143
- if (!Array.isArray(data)) return [];
3144
- return data.map(normalizeCatalogDomain).filter((d) => d !== null);
3145
- } catch {
3146
- return [];
3147
- }
3148
- }
3149
3101
  // ── extension API ───────────────────────────────────────────────────────
3150
3102
  /**
3151
3103
  * Force a metadata-cache refresh. Wipes all resolve/list entries and
@@ -3397,8 +3349,6 @@ function normalizeCatalogAsset(raw) {
3397
3349
  if (category) asset.category = category;
3398
3350
  const repo = pickString(r, "repo");
3399
3351
  if (repo) asset.repo = repo;
3400
- const domainSlug = pickString(r, "domainSlug");
3401
- if (domainSlug) asset.domainSlug = domainSlug;
3402
3352
  const softDeps = pickRefs(r, "softDepsJson");
3403
3353
  if (softDeps.length > 0) asset.softDeps = softDeps;
3404
3354
  return asset;
@@ -3415,26 +3365,6 @@ function pickString(r, key) {
3415
3365
  const v = r[key];
3416
3366
  return typeof v === "string" ? v : void 0;
3417
3367
  }
3418
- function normalizeCatalogDomain(raw) {
3419
- if (!raw || typeof raw !== "object") return null;
3420
- const r = raw;
3421
- const slug = pickString(r, "slug");
3422
- const title = pickString(r, "title");
3423
- if (!slug || !title) return null;
3424
- const domain = { slug, title };
3425
- const description = pickString(r, "description");
3426
- if (description) domain.description = description;
3427
- const relation = pickString(r, "relation");
3428
- if (relation === "additions" || relation === "alternatives" || relation === "sequence") {
3429
- domain.relation = relation;
3430
- }
3431
- if (typeof r.order === "number") domain.order = r.order;
3432
- const recommendedRef = pickString(r, "recommendedRef");
3433
- if (recommendedRef) domain.recommendedRef = recommendedRef;
3434
- const sidecarSource = pickString(r, "sidecarSource");
3435
- if (sidecarSource) domain.sidecarSource = sidecarSource;
3436
- return domain;
3437
- }
3438
3368
  var CATALOG_REQUEST_TIMEOUT_MS = 1e4;
3439
3369
  var defaultFetch = async (url, init) => {
3440
3370
  if (typeof fetch === "undefined") {
@@ -3759,8 +3689,6 @@ function normalizeRestAsset(raw) {
3759
3689
  if (license) asset.license = license;
3760
3690
  const category = pickString2(r, "category");
3761
3691
  if (category) asset.category = category;
3762
- const domainSlug = pickString2(r, "domainSlug");
3763
- if (domainSlug) asset.domainSlug = domainSlug;
3764
3692
  const softDeps = refsFrom(tryParseJson(pickString2(r, "softDepsJson")));
3765
3693
  if (softDeps.length > 0) asset.softDeps = softDeps;
3766
3694
  return asset;
@@ -3803,7 +3731,7 @@ async function writeManifestIfMissing(input) {
3803
3731
  const manifestPath = path5.join(input.libraryPath, MANIFEST_FILENAME);
3804
3732
  if (fs10.existsSync(manifestPath)) return { wrote: false, manifestPath };
3805
3733
  const now = (/* @__PURE__ */ new Date()).toISOString();
3806
- const yaml = `# Generated by skaile library add on ${now} (structure: ${input.structure})
3734
+ const yaml = `# Generated by skaile library add on ${now}
3807
3735
  # Edit by hand to inline discovered assets; or run \`skaile library refresh-manifest\`.
3808
3736
  publisher: ""
3809
3737
  assets: []
@@ -3979,6 +3907,6 @@ function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
3979
3907
  return raw.version === 2 ? 2 : 1;
3980
3908
  }
3981
3909
 
3982
- export { AssignmentNotFoundError, CatalogCache, CatalogConfigSchema, CatalogHttpError, DuplicateAssignmentError, DuplicateLibraryNameError, GitSyncDriver, InstanceHasConsumersError, InstanceNotFoundError, InterpolationError, KNOWN_ASSET_KINDS, KnowledgeManifestSchema, LIBRARY_BACKENDS, LIBRARY_OWNERSHIPS, LIBRARY_STRUCTURES, 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, classifyRef, cloneOrInitGitRepo, createEmptyLockFile, deriveSlug, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, queryInstancePickerChoices, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, setOriginUrl, sha256Hex, storeSecrets, trpcGetUrl, userConfigPath, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest, writeManifestIfMissing };
3983
- //# sourceMappingURL=chunk-XU7JET5Z.js.map
3984
- //# sourceMappingURL=chunk-XU7JET5Z.js.map
3910
+ export { AssignmentNotFoundError, CatalogCache, CatalogConfigSchema, CatalogHttpError, DuplicateAssignmentError, DuplicateLibraryNameError, GitSyncDriver, InstanceHasConsumersError, InstanceNotFoundError, InterpolationError, KNOWN_ASSET_KINDS, 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, classifyRef, cloneOrInitGitRepo, createEmptyLockFile, deriveSlug, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, ensureGitRepo, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, interpolate, isGitRepo, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, queryInstancePickerChoices, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, setOriginUrl, sha256Hex, storeSecrets, trpcGetUrl, userConfigPath, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeCuratedManifest, writeManifestIfMissing };
3911
+ //# sourceMappingURL=chunk-SP47UJKE.js.map
3912
+ //# sourceMappingURL=chunk-SP47UJKE.js.map