@skaile/workspaces 6.0.0 → 6.2.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 (431) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/{asset-feeds-PXUWCXVI.js → asset-feeds-KPKCE64E.js} +31 -23
  3. package/dist/asset-feeds-KPKCE64E.js.map +1 -0
  4. package/dist/asset-manager/catalog-deployer.js +10 -10
  5. package/dist/asset-manager/fragments.js +1 -1
  6. package/dist/asset-manager/index.js +19 -19
  7. package/dist/asset-manager/installer.js +13 -13
  8. package/dist/asset-manager/renderers.js +11 -11
  9. package/dist/asset-manager/src/index.d.ts +339 -19
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/installer.d.ts +40 -0
  12. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  13. package/dist/asset-manager/src/mcp-config.d.ts +21 -0
  14. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  15. package/dist/asset-manager/src/renderers.d.ts +7 -0
  16. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  17. package/dist/bridge/harnesses/claude-sdk.js +18 -22
  18. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  19. package/dist/bridge/harnesses/codex.js +24 -17
  20. package/dist/bridge/harnesses/codex.js.map +1 -1
  21. package/dist/bridge/harnesses/continue.js +14 -14
  22. package/dist/bridge/harnesses/echo.js +4 -4
  23. package/dist/bridge/harnesses/gemini.js +10 -10
  24. package/dist/bridge/harnesses/goose.js +14 -14
  25. package/dist/bridge/harnesses/omp.js +15 -8
  26. package/dist/bridge/harnesses/omp.js.map +1 -1
  27. package/dist/bridge/harnesses/opencode.js +14 -14
  28. package/dist/bridge/harnesses/qwen.js +10 -10
  29. package/dist/bridge/index.js +19 -19
  30. package/dist/bridge/src/claude-sdk-surface.d.ts +17 -0
  31. package/dist/bridge/src/claude-sdk-surface.d.ts.map +1 -0
  32. package/dist/bridge/src/harness-model-check.d.ts +30 -0
  33. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  34. package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -1
  35. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  36. package/dist/bridge/src/harnesses/codex.d.ts.map +1 -1
  37. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  38. package/dist/bridge/src/index.d.ts +2 -1
  39. package/dist/bridge/src/index.d.ts.map +1 -1
  40. package/dist/bridge/src/normalizer.d.ts +3 -1
  41. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  42. package/dist/bridge/src/runner-private-env.d.ts +7 -0
  43. package/dist/bridge/src/runner-private-env.d.ts.map +1 -1
  44. package/dist/{chunk-HK7HMEPT.js → chunk-27SXN33H.js} +13 -5
  45. package/dist/chunk-27SXN33H.js.map +1 -0
  46. package/dist/{chunk-TKHJXPSB.js → chunk-2XM3ZH36.js} +183 -33
  47. package/dist/chunk-2XM3ZH36.js.map +1 -0
  48. package/dist/{chunk-E3GPGTW3.js → chunk-3HACK2Z7.js} +142 -28
  49. package/dist/chunk-3HACK2Z7.js.map +1 -0
  50. package/dist/{chunk-T2BDID2J.js → chunk-5JPW27BI.js} +10 -9
  51. package/dist/chunk-5JPW27BI.js.map +1 -0
  52. package/dist/{chunk-2UUKCROR.js → chunk-5LQ62LNT.js} +4 -4
  53. package/dist/{chunk-2UUKCROR.js.map → chunk-5LQ62LNT.js.map} +1 -1
  54. package/dist/{chunk-UL22SDGR.js → chunk-6CYKTHNT.js} +194 -127
  55. package/dist/chunk-6CYKTHNT.js.map +1 -0
  56. package/dist/{chunk-XFIEVEU7.js → chunk-6OHZUUR7.js} +5 -4
  57. package/dist/chunk-6OHZUUR7.js.map +1 -0
  58. package/dist/{chunk-E572OHGY.js → chunk-76FLBODK.js} +4 -3
  59. package/dist/chunk-76FLBODK.js.map +1 -0
  60. package/dist/{chunk-GN4VVSAA.js → chunk-7DRFKAJZ.js} +7 -7
  61. package/dist/{chunk-GN4VVSAA.js.map → chunk-7DRFKAJZ.js.map} +1 -1
  62. package/dist/chunk-7H6XRCPG.js +31 -0
  63. package/dist/chunk-7H6XRCPG.js.map +1 -0
  64. package/dist/{chunk-MCUJTNY5.js → chunk-7Y6S4XLL.js} +3 -3
  65. package/dist/{chunk-MCUJTNY5.js.map → chunk-7Y6S4XLL.js.map} +1 -1
  66. package/dist/{chunk-DHYSUJ3H.js → chunk-BEYNH2LS.js} +4 -4
  67. package/dist/{chunk-DHYSUJ3H.js.map → chunk-BEYNH2LS.js.map} +1 -1
  68. package/dist/{chunk-GEQSUC6U.js → chunk-BOT64P3U.js} +4 -4
  69. package/dist/{chunk-GEQSUC6U.js.map → chunk-BOT64P3U.js.map} +1 -1
  70. package/dist/{chunk-L4YKW5AY.js → chunk-BRK5QZKI.js} +121 -20
  71. package/dist/chunk-BRK5QZKI.js.map +1 -0
  72. package/dist/{chunk-YGRZNFRO.js → chunk-BY5WIRCU.js} +58 -5
  73. package/dist/chunk-BY5WIRCU.js.map +1 -0
  74. package/dist/{chunk-Z7ZEZZB6.js → chunk-C5HFK34M.js} +3 -3
  75. package/dist/chunk-C5HFK34M.js.map +1 -0
  76. package/dist/{chunk-DUMTLYSO.js → chunk-COAFAYBS.js} +31 -7
  77. package/dist/chunk-COAFAYBS.js.map +1 -0
  78. package/dist/{chunk-7XSAW5OC.js → chunk-E5NQRHEB.js} +30 -7
  79. package/dist/chunk-E5NQRHEB.js.map +1 -0
  80. package/dist/{chunk-BFMYYNDT.js → chunk-F3D25RGM.js} +11 -3
  81. package/dist/chunk-F3D25RGM.js.map +1 -0
  82. package/dist/{chunk-VBI7HGHB.js → chunk-GF5JXQIZ.js} +3 -3
  83. package/dist/{chunk-VBI7HGHB.js.map → chunk-GF5JXQIZ.js.map} +1 -1
  84. package/dist/{chunk-ZFUZ5AKM.js → chunk-I7LC5TDY.js} +3 -3
  85. package/dist/{chunk-ZFUZ5AKM.js.map → chunk-I7LC5TDY.js.map} +1 -1
  86. package/dist/{chunk-3IXIEHUB.js → chunk-ICSGNT5P.js} +7 -7
  87. package/dist/{chunk-3IXIEHUB.js.map → chunk-ICSGNT5P.js.map} +1 -1
  88. package/dist/{chunk-WEH33JSG.js → chunk-ITFCWMOY.js} +93 -29
  89. package/dist/chunk-ITFCWMOY.js.map +1 -0
  90. package/dist/{chunk-WDXZA7QW.js → chunk-IZQOO6MN.js} +2 -2
  91. package/dist/{chunk-WDXZA7QW.js.map → chunk-IZQOO6MN.js.map} +1 -1
  92. package/dist/{chunk-WDAIWDLK.js → chunk-JFLQICIU.js} +5 -5
  93. package/dist/{chunk-WDAIWDLK.js.map → chunk-JFLQICIU.js.map} +1 -1
  94. package/dist/{chunk-ARWKK325.js → chunk-JJJ2G4K2.js} +5 -5
  95. package/dist/{chunk-ARWKK325.js.map → chunk-JJJ2G4K2.js.map} +1 -1
  96. package/dist/{chunk-GOCWM7FN.js → chunk-JMIKGAUA.js} +43 -4
  97. package/dist/chunk-JMIKGAUA.js.map +1 -0
  98. package/dist/{chunk-X3RMRJNR.js → chunk-JRN5QF4C.js} +8 -3
  99. package/dist/chunk-JRN5QF4C.js.map +1 -0
  100. package/dist/{chunk-SNEE6UGY.js → chunk-K3R2UKG7.js} +18 -12
  101. package/dist/chunk-K3R2UKG7.js.map +1 -0
  102. package/dist/{chunk-VXEYX73S.js → chunk-KB56WBQ3.js} +4 -4
  103. package/dist/{chunk-VXEYX73S.js.map → chunk-KB56WBQ3.js.map} +1 -1
  104. package/dist/{chunk-OHNKYHRR.js → chunk-KJSC2ZD6.js} +264 -18
  105. package/dist/chunk-KJSC2ZD6.js.map +1 -0
  106. package/dist/{chunk-UQ33Y4DM.js → chunk-KPKGWXUJ.js} +4 -4
  107. package/dist/{chunk-UQ33Y4DM.js.map → chunk-KPKGWXUJ.js.map} +1 -1
  108. package/dist/{chunk-AF432MS3.js → chunk-KXJMQTOU.js} +3 -3
  109. package/dist/{chunk-AF432MS3.js.map → chunk-KXJMQTOU.js.map} +1 -1
  110. package/dist/chunk-LRBP3234.js +302 -0
  111. package/dist/chunk-LRBP3234.js.map +1 -0
  112. package/dist/{chunk-UVVVR4XO.js → chunk-M4OG2YN4.js} +4 -4
  113. package/dist/{chunk-UVVVR4XO.js.map → chunk-M4OG2YN4.js.map} +1 -1
  114. package/dist/{chunk-QOM5Z62G.js → chunk-MAZ3UXJK.js} +17 -24
  115. package/dist/chunk-MAZ3UXJK.js.map +1 -0
  116. package/dist/{chunk-Y2TO2U7W.js → chunk-MM4YO3EL.js} +3 -3
  117. package/dist/{chunk-Y2TO2U7W.js.map → chunk-MM4YO3EL.js.map} +1 -1
  118. package/dist/{chunk-OULSJRXV.js → chunk-OCQNUV4T.js} +7 -7
  119. package/dist/{chunk-OULSJRXV.js.map → chunk-OCQNUV4T.js.map} +1 -1
  120. package/dist/{chunk-SZXGRHQQ.js → chunk-PJJSBZZP.js} +4 -4
  121. package/dist/{chunk-SZXGRHQQ.js.map → chunk-PJJSBZZP.js.map} +1 -1
  122. package/dist/{chunk-OAHVKSQJ.js → chunk-PKBLJI23.js} +1471 -126
  123. package/dist/chunk-PKBLJI23.js.map +1 -0
  124. package/dist/{chunk-NOA6EJXE.js → chunk-PKE3PXOK.js} +3 -3
  125. package/dist/{chunk-NOA6EJXE.js.map → chunk-PKE3PXOK.js.map} +1 -1
  126. package/dist/{chunk-WYHQUCHR.js → chunk-PMWRM4EJ.js} +109 -48
  127. package/dist/chunk-PMWRM4EJ.js.map +1 -0
  128. package/dist/{chunk-H6UVIKQ2.js → chunk-PNUM7GUY.js} +3 -3
  129. package/dist/{chunk-H6UVIKQ2.js.map → chunk-PNUM7GUY.js.map} +1 -1
  130. package/dist/{chunk-SRODW6M2.js → chunk-Q5RN4PWV.js} +3 -3
  131. package/dist/{chunk-SRODW6M2.js.map → chunk-Q5RN4PWV.js.map} +1 -1
  132. package/dist/{chunk-LN6QB7XI.js → chunk-QIHL3YPL.js} +4 -4
  133. package/dist/{chunk-LN6QB7XI.js.map → chunk-QIHL3YPL.js.map} +1 -1
  134. package/dist/{chunk-U56GGCC2.js → chunk-QK7AG5AV.js} +4 -4
  135. package/dist/{chunk-U56GGCC2.js.map → chunk-QK7AG5AV.js.map} +1 -1
  136. package/dist/{chunk-OTIB4D2K.js → chunk-QPWR3YMY.js} +15 -5
  137. package/dist/chunk-QPWR3YMY.js.map +1 -0
  138. package/dist/{chunk-4DWBSTYA.js → chunk-QXKUFROW.js} +22 -5
  139. package/dist/chunk-QXKUFROW.js.map +1 -0
  140. package/dist/{chunk-4XWLB7JB.js → chunk-RQMIZONH.js} +95 -35
  141. package/dist/chunk-RQMIZONH.js.map +1 -0
  142. package/dist/{chunk-LSI2IVFT.js → chunk-RXGPFAMN.js} +4 -3
  143. package/dist/chunk-RXGPFAMN.js.map +1 -0
  144. package/dist/{chunk-3JKGY2YC.js → chunk-S2H3RBK7.js} +182 -33
  145. package/dist/chunk-S2H3RBK7.js.map +1 -0
  146. package/dist/{chunk-VJRTDKXS.js → chunk-SJNZ4WPA.js} +165 -106
  147. package/dist/chunk-SJNZ4WPA.js.map +1 -0
  148. package/dist/{chunk-KX2PT5Q4.js → chunk-T2VBPVWZ.js} +77 -18
  149. package/dist/chunk-T2VBPVWZ.js.map +1 -0
  150. package/dist/{chunk-6Z5KTFJT.js → chunk-TSTRH4SM.js} +3 -3
  151. package/dist/{chunk-6Z5KTFJT.js.map → chunk-TSTRH4SM.js.map} +1 -1
  152. package/dist/{chunk-7CV3HFWJ.js → chunk-TZERN27L.js} +5 -5
  153. package/dist/{chunk-7CV3HFWJ.js.map → chunk-TZERN27L.js.map} +1 -1
  154. package/dist/{chunk-JDR6ILCW.js → chunk-U673DB5U.js} +4 -4
  155. package/dist/{chunk-JDR6ILCW.js.map → chunk-U673DB5U.js.map} +1 -1
  156. package/dist/{chunk-FKU57Q5Q.js → chunk-URCJIV7T.js} +3 -3
  157. package/dist/{chunk-FKU57Q5Q.js.map → chunk-URCJIV7T.js.map} +1 -1
  158. package/dist/{chunk-ADPM6AYF.js → chunk-VSX2G7LA.js} +3 -3
  159. package/dist/{chunk-ADPM6AYF.js.map → chunk-VSX2G7LA.js.map} +1 -1
  160. package/dist/{chunk-F2GOZMRA.js → chunk-X37JUNEW.js} +49 -49
  161. package/dist/chunk-X37JUNEW.js.map +1 -0
  162. package/dist/{chunk-NMI2TWMH.js → chunk-Z3IRZBXB.js} +158 -344
  163. package/dist/chunk-Z3IRZBXB.js.map +1 -0
  164. package/dist/{chunk-7TPYPVAH.js → chunk-ZWJCRHP3.js} +3 -3
  165. package/dist/{chunk-7TPYPVAH.js.map → chunk-ZWJCRHP3.js.map} +1 -1
  166. package/dist/{claude-code-VJGYBXQR.js → claude-code-BBMNVH2J.js} +5 -5
  167. package/dist/{claude-code-VJGYBXQR.js.map → claude-code-BBMNVH2J.js.map} +1 -1
  168. package/dist/cli/index.js +964 -501
  169. package/dist/cli/index.js.map +1 -1
  170. package/dist/cli/src/agent-pins.d.ts +11 -0
  171. package/dist/cli/src/agent-pins.d.ts.map +1 -1
  172. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  173. package/dist/cli/src/commands/catalog.d.ts +1 -1
  174. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  175. package/dist/cli/src/commands/config.d.ts.map +1 -1
  176. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  177. package/dist/cli/src/commands/harness.d.ts +24 -0
  178. package/dist/cli/src/commands/harness.d.ts.map +1 -0
  179. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  180. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  181. package/dist/cli/src/commands/library-index.d.ts +28 -3
  182. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  183. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  184. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  185. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  186. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  187. package/dist/cli/src/commands/project.d.ts +19 -1
  188. package/dist/cli/src/commands/project.d.ts.map +1 -1
  189. package/dist/cli/src/commands/rebuild.d.ts.map +1 -1
  190. package/dist/cli/src/commands/run.d.ts.map +1 -1
  191. package/dist/cli/src/commands/serve-preflight.d.ts +31 -1
  192. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  193. package/dist/cli/src/commands/serve.d.ts +10 -0
  194. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  195. package/dist/cli/src/commands/session-logs/local-query.d.ts +2 -0
  196. package/dist/cli/src/commands/session-logs/local-query.d.ts.map +1 -1
  197. package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
  198. package/dist/cli/src/commands/source-manifest.d.ts +19 -7
  199. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  200. package/dist/cli/src/commands/source.d.ts +9 -2
  201. package/dist/cli/src/commands/source.d.ts.map +1 -1
  202. package/dist/cli/src/commands/store.d.ts.map +1 -1
  203. package/dist/cli/src/commands/update.d.ts.map +1 -1
  204. package/dist/cli/src/commands/validate-instances.d.ts.map +1 -1
  205. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  206. package/dist/cli/src/commands/why.d.ts.map +1 -1
  207. package/dist/cli/src/config-checks.d.ts +55 -0
  208. package/dist/cli/src/config-checks.d.ts.map +1 -0
  209. package/dist/cli/src/harness-error.d.ts +12 -1
  210. package/dist/cli/src/harness-error.d.ts.map +1 -1
  211. package/dist/cli/src/helpers.d.ts +18 -8
  212. package/dist/cli/src/helpers.d.ts.map +1 -1
  213. package/dist/cli/src/plugin-store/index.d.ts +10 -1
  214. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  215. package/dist/cli/src/plugin-store/spec.d.ts +8 -0
  216. package/dist/cli/src/plugin-store/spec.d.ts.map +1 -1
  217. package/dist/cli/src/skill-checks.d.ts +27 -0
  218. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  219. package/dist/cli/src/store-addable.d.ts +11 -0
  220. package/dist/cli/src/store-addable.d.ts.map +1 -1
  221. package/dist/connectors/config.js +5 -5
  222. package/dist/connectors/index.js +23 -23
  223. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  224. package/dist/connectors-47EM6C2P.js +48 -0
  225. package/dist/{connectors-CXZLXAFZ.js.map → connectors-47EM6C2P.js.map} +1 -1
  226. package/dist/core/framework.js +1 -1
  227. package/dist/core/index.js +9 -9
  228. package/dist/core/manifest.js +2 -2
  229. package/dist/core/models.js +1 -1
  230. package/dist/core/provider-registry-credentials.js +2 -2
  231. package/dist/core/provider-registry.js +1 -1
  232. package/dist/core/publish-manifest.js +3 -3
  233. package/dist/core/ref.js +1 -1
  234. package/dist/core/runtime-assets.js +5 -5
  235. package/dist/core/src/agent-instances.d.ts.map +1 -1
  236. package/dist/core/src/config-key-diagnostics.d.ts +9 -0
  237. package/dist/core/src/config-key-diagnostics.d.ts.map +1 -0
  238. package/dist/core/src/framework.d.ts +5 -3
  239. package/dist/core/src/framework.d.ts.map +1 -1
  240. package/dist/core/src/index.d.ts +3 -2
  241. package/dist/core/src/index.d.ts.map +1 -1
  242. package/dist/core/src/lock.d.ts +12 -0
  243. package/dist/core/src/lock.d.ts.map +1 -1
  244. package/dist/core/src/manifest.d.ts +25 -0
  245. package/dist/core/src/manifest.d.ts.map +1 -1
  246. package/dist/core/src/models.d.ts +15 -0
  247. package/dist/core/src/models.d.ts.map +1 -1
  248. package/dist/core/src/provider-registry.d.ts +6 -0
  249. package/dist/core/src/provider-registry.d.ts.map +1 -1
  250. package/dist/core/src/workspace-config.d.ts +18 -1
  251. package/dist/core/src/workspace-config.d.ts.map +1 -1
  252. package/dist/core/src/workspace-yaml-editor.d.ts +9 -2
  253. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  254. package/dist/core/workspace-config.js +4 -4
  255. package/dist/deploy/index.js +9 -9
  256. package/dist/discovery/index.js +5 -5
  257. package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
  258. package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
  259. package/dist/{ensure-sources-UPTHZKGF.js → ensure-sources-K5EFNC3L.js} +36 -22
  260. package/dist/ensure-sources-K5EFNC3L.js.map +1 -0
  261. package/dist/factory-assets/connectors/box.js +23 -23
  262. package/dist/factory-assets/connectors/deploy.js +23 -23
  263. package/dist/factory-assets/connectors/devserver.js +23 -23
  264. package/dist/factory-assets/connectors/flow/adapter.js +23 -23
  265. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  266. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  267. package/dist/factory-assets/connectors/flow/engine.js +11 -11
  268. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  269. package/dist/factory-assets/connectors/flow/run-flow.js +25 -25
  270. package/dist/factory-assets/connectors/flow.js +23 -23
  271. package/dist/factory-assets/connectors/git.js +23 -23
  272. package/dist/factory-assets/connectors/gmail.js +23 -23
  273. package/dist/factory-assets/connectors/googledrive.js +23 -23
  274. package/dist/factory-assets/connectors/local.js +23 -23
  275. package/dist/factory-assets/connectors/mattermost.js +23 -23
  276. package/dist/factory-assets/connectors/memory.js +23 -23
  277. package/dist/factory-assets/connectors/minio.js +23 -23
  278. package/dist/factory-assets/connectors/postgres.js +23 -23
  279. package/dist/factory-assets/connectors/s3.js +23 -23
  280. package/dist/factory-assets/connectors/sharepoint.js +23 -23
  281. package/dist/factory-assets/connectors/sqlite.js +23 -23
  282. package/dist/factory-assets/connectors/static-server.js +23 -23
  283. package/dist/factory-assets/connectors/tunnel.js +23 -23
  284. package/dist/factory-assets/connectors/webdav.js +23 -23
  285. package/dist/factory-assets/connectors/xstate-store.js +23 -23
  286. package/dist/factory-assets/connectors/xstate.js +23 -23
  287. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +1 -1
  288. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +2 -2
  289. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +3 -3
  290. package/dist/flows-KLBNSKLO.js +26 -0
  291. package/dist/{flows-TJQIMGUX.js.map → flows-KLBNSKLO.js.map} +1 -1
  292. package/dist/helpers-LUSV2ICC.js +52 -0
  293. package/dist/{helpers-DE53KG3E.js.map → helpers-LUSV2ICC.js.map} +1 -1
  294. package/dist/library/index.js +14 -14
  295. package/dist/library/install.js +5 -5
  296. package/dist/library/src/index.d.ts +2 -2
  297. package/dist/library/src/index.d.ts.map +1 -1
  298. package/dist/library/src/install/index.d.ts +1 -1
  299. package/dist/library/src/install/index.d.ts.map +1 -1
  300. package/dist/library/src/install/install-from-manifest.d.ts +13 -0
  301. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
  302. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  303. package/dist/library/src/local/library-dir.d.ts +22 -5
  304. package/dist/library/src/local/library-dir.d.ts.map +1 -1
  305. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  306. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  307. package/dist/library/src/remote/remote-catalog-source.d.ts +8 -0
  308. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  309. package/dist/library/src/remote/rest-catalog-source.d.ts +3 -2
  310. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  311. package/dist/{library-publish-KKQ2ULLX.js → library-publish-XMRCKRNR.js} +59 -58
  312. package/dist/library-publish-XMRCKRNR.js.map +1 -0
  313. package/dist/model-endpoint/index.js +12 -12
  314. package/dist/model-endpoint/src/openai-chat.d.ts +7 -2
  315. package/dist/model-endpoint/src/openai-chat.d.ts.map +1 -1
  316. package/dist/model-endpoint/src/openai-shared.d.ts +8 -0
  317. package/dist/model-endpoint/src/openai-shared.d.ts.map +1 -1
  318. package/dist/model-endpoint/src/server.d.ts.map +1 -1
  319. package/dist/model-endpoint/src/types.d.ts +1 -1
  320. package/dist/model-endpoint/src/types.d.ts.map +1 -1
  321. package/dist/model-endpoint/src/usage-cost.d.ts +23 -0
  322. package/dist/model-endpoint/src/usage-cost.d.ts.map +1 -0
  323. package/dist/open-library-XBR46DJL.js +56 -0
  324. package/dist/{open-library-RJGJIW5H.js.map → open-library-XBR46DJL.js.map} +1 -1
  325. package/dist/open-registry-W562DCDL.js +32 -0
  326. package/dist/{open-registry-3QS3J7KO.js.map → open-registry-W562DCDL.js.map} +1 -1
  327. package/dist/paths-2AZXB3QL.js +22 -0
  328. package/dist/{paths-QAV4C3KX.js.map → paths-2AZXB3QL.js.map} +1 -1
  329. package/dist/plugin-store-36SIL4TV.js +23 -0
  330. package/dist/{plugin-store-MSH6GK6T.js.map → plugin-store-36SIL4TV.js.map} +1 -1
  331. package/dist/project-D7GN7WLS.js +86 -0
  332. package/dist/{project-HZW2MZPA.js.map → project-D7GN7WLS.js.map} +1 -1
  333. package/dist/resolver/index.js +10 -10
  334. package/dist/runner/index.js +40 -40
  335. package/dist/runner/src/capability-roundtrip.d.ts +7 -6
  336. package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
  337. package/dist/runner/src/composition/content-source.d.ts.map +1 -1
  338. package/dist/runner/src/composition/errors.d.ts +16 -1
  339. package/dist/runner/src/composition/errors.d.ts.map +1 -1
  340. package/dist/runner/src/credential-notice.d.ts +3 -3
  341. package/dist/runner/src/credential-notice.d.ts.map +1 -1
  342. package/dist/runner/src/serve.d.ts +20 -7
  343. package/dist/runner/src/serve.d.ts.map +1 -1
  344. package/dist/sdk/asset-manager.js +19 -19
  345. package/dist/sdk/bridge.js +19 -19
  346. package/dist/sdk/core.js +9 -9
  347. package/dist/sdk/flow.js +11 -11
  348. package/dist/sdk/index.js +40 -40
  349. package/dist/sdk/resolver.js +10 -10
  350. package/dist/sdk/runner.js +40 -40
  351. package/dist/sdk/transport/ws/server.js +10 -10
  352. package/dist/sdk/transport/ws.js +10 -10
  353. package/dist/sdk/transport.js +10 -10
  354. package/dist/serve-preflight-CGA5G3AE.js +135 -0
  355. package/dist/serve-preflight-CGA5G3AE.js.map +1 -0
  356. package/dist/{setup-AGYB4PKR.js → setup-IBDNJAOU.js} +32 -32
  357. package/dist/{setup-AGYB4PKR.js.map → setup-IBDNJAOU.js.map} +1 -1
  358. package/dist/skills-CTTO7SZK.js +26 -0
  359. package/dist/{skills-2LMQ2IAD.js.map → skills-CTTO7SZK.js.map} +1 -1
  360. package/dist/source-2DJ5KNOI.js +85 -0
  361. package/dist/{source-GBMYD3RO.js.map → source-2DJ5KNOI.js.map} +1 -1
  362. package/dist/source-fetch-github-RWHV4I5Z.js +4 -0
  363. package/dist/{source-fetch-github-ST4MFL3D.js.map → source-fetch-github-RWHV4I5Z.js.map} +1 -1
  364. package/dist/{source-manifest-publish-FK22TVQT.js → source-manifest-publish-IYWUMUCY.js} +55 -57
  365. package/dist/source-manifest-publish-IYWUMUCY.js.map +1 -0
  366. package/dist/transport/index.js +10 -10
  367. package/dist/transport/ws/server.js +10 -10
  368. package/dist/transport/ws.js +10 -10
  369. package/dist/tui/index.js +48 -41
  370. package/dist/tui/index.js.map +1 -1
  371. package/dist/tui/src/repl.d.ts.map +1 -1
  372. package/dist/types/manifests.js +1 -1
  373. package/dist/types/src/install-manifest.d.ts +1 -1
  374. package/dist/types/src/install-manifest.d.ts.map +1 -1
  375. package/dist/types/src/manifests/index.d.ts +1 -1
  376. package/dist/types/src/manifests/index.d.ts.map +1 -1
  377. package/dist/types/src/manifests/scaffold-body.d.ts +2 -0
  378. package/dist/types/src/manifests/scaffold-body.d.ts.map +1 -1
  379. package/dist/workspace-plugin/adapters/mcp.js +30 -30
  380. package/dist/workspace-plugin/adapters/omp.js +15 -15
  381. package/dist/workspace-plugin/index.js +2 -2
  382. package/package.json +1 -1
  383. package/dist/asset-feeds-PXUWCXVI.js.map +0 -1
  384. package/dist/chunk-3JKGY2YC.js.map +0 -1
  385. package/dist/chunk-4DWBSTYA.js.map +0 -1
  386. package/dist/chunk-4XWLB7JB.js.map +0 -1
  387. package/dist/chunk-7XSAW5OC.js.map +0 -1
  388. package/dist/chunk-BFMYYNDT.js.map +0 -1
  389. package/dist/chunk-DUMTLYSO.js.map +0 -1
  390. package/dist/chunk-E3GPGTW3.js.map +0 -1
  391. package/dist/chunk-E572OHGY.js.map +0 -1
  392. package/dist/chunk-F2GOZMRA.js.map +0 -1
  393. package/dist/chunk-GOCWM7FN.js.map +0 -1
  394. package/dist/chunk-HK7HMEPT.js.map +0 -1
  395. package/dist/chunk-KX2PT5Q4.js.map +0 -1
  396. package/dist/chunk-L4YKW5AY.js.map +0 -1
  397. package/dist/chunk-LSI2IVFT.js.map +0 -1
  398. package/dist/chunk-NMI2TWMH.js.map +0 -1
  399. package/dist/chunk-OAHVKSQJ.js.map +0 -1
  400. package/dist/chunk-OHNKYHRR.js.map +0 -1
  401. package/dist/chunk-OTIB4D2K.js.map +0 -1
  402. package/dist/chunk-PUK7TQT4.js +0 -13
  403. package/dist/chunk-PUK7TQT4.js.map +0 -1
  404. package/dist/chunk-QOM5Z62G.js.map +0 -1
  405. package/dist/chunk-SNEE6UGY.js.map +0 -1
  406. package/dist/chunk-T2BDID2J.js.map +0 -1
  407. package/dist/chunk-TKHJXPSB.js.map +0 -1
  408. package/dist/chunk-UL22SDGR.js.map +0 -1
  409. package/dist/chunk-VJRTDKXS.js.map +0 -1
  410. package/dist/chunk-WEH33JSG.js.map +0 -1
  411. package/dist/chunk-WYHQUCHR.js.map +0 -1
  412. package/dist/chunk-X3RMRJNR.js.map +0 -1
  413. package/dist/chunk-XFIEVEU7.js.map +0 -1
  414. package/dist/chunk-YGRZNFRO.js.map +0 -1
  415. package/dist/chunk-Z7ZEZZB6.js.map +0 -1
  416. package/dist/connectors-CXZLXAFZ.js +0 -48
  417. package/dist/ensure-sources-UPTHZKGF.js.map +0 -1
  418. package/dist/flows-TJQIMGUX.js +0 -26
  419. package/dist/helpers-DE53KG3E.js +0 -38
  420. package/dist/library-publish-KKQ2ULLX.js.map +0 -1
  421. package/dist/open-library-RJGJIW5H.js +0 -42
  422. package/dist/open-registry-3QS3J7KO.js +0 -32
  423. package/dist/paths-QAV4C3KX.js +0 -22
  424. package/dist/plugin-store-MSH6GK6T.js +0 -23
  425. package/dist/project-HZW2MZPA.js +0 -84
  426. package/dist/serve-preflight-L4POEHNQ.js +0 -108
  427. package/dist/serve-preflight-L4POEHNQ.js.map +0 -1
  428. package/dist/skills-2LMQ2IAD.js +0 -26
  429. package/dist/source-GBMYD3RO.js +0 -85
  430. package/dist/source-fetch-github-ST4MFL3D.js +0 -4
  431. package/dist/source-manifest-publish-FK22TVQT.js.map +0 -1
@@ -1,17 +1,17 @@
1
- import { openLibrary } from './chunk-DHYSUJ3H.js';
2
- import { S, logErr, logWarn, logOk, logInfo } from './chunk-KX2PT5Q4.js';
3
- import { getKindRegistry } from './chunk-ARWKK325.js';
4
- import { resolveBinding, UnknownCompositionKindError } from './chunk-VJRTDKXS.js';
5
- import { filesEntryPaths, assetRootProblem, stampManifestPublisher, upsertManifestAsset, resolveIndexPath, LocalIndex } from './chunk-UL22SDGR.js';
6
- import { SEMVER_RE, invalidSemverMessage, flowFileNameError, parseManifestFile, requiresSyntaxErrors } from './chunk-QOM5Z62G.js';
7
- import { parseFlowDefinition } from './chunk-X3RMRJNR.js';
8
- import { SKILL_DESCRIPTION_PLACEHOLDER_PREFIX, FLOW_DESCRIPTION_PLACEHOLDER, PRESET_DESCRIPTION_PLACEHOLDER, PRESET_ITEM_PLACEHOLDER_REF, isScaffoldBody, composeSlotDiagnostics, agentDeprecationDiagnostics, composeRefTarget } from './chunk-E572OHGY.js';
9
- import { checkAgentSkillConformance } from './chunk-L4YKW5AY.js';
10
- import { matchPin } from './chunk-OHNKYHRR.js';
1
+ import { openLibrary } from './chunk-BEYNH2LS.js';
2
+ import { S, logErr, logWarn, logOk, logInfo } from './chunk-T2VBPVWZ.js';
3
+ import { getKindRegistry } from './chunk-JJJ2G4K2.js';
4
+ import { resolveBinding, UnknownCompositionKindError } from './chunk-SJNZ4WPA.js';
5
+ import { filesEntryPaths, assetRootProblem, stampManifestPublisher, upsertManifestAsset, resolveIndexPath, LocalIndex } from './chunk-6CYKTHNT.js';
6
+ import { SEMVER_RE, invalidSemverMessage, flowFileNameError, parseManifestFile, requiresSyntaxErrors } from './chunk-MAZ3UXJK.js';
7
+ import { parseFlowDefinition } from './chunk-JRN5QF4C.js';
8
+ import { SKILL_DESCRIPTION_PLACEHOLDER_PREFIX, FLOW_DESCRIPTION_PLACEHOLDER, FLOW_NODE_INSTRUCTION_PLACEHOLDER, PRESET_DESCRIPTION_PLACEHOLDER, PRESET_ITEM_PLACEHOLDER_REF, isScaffoldBody, composeSlotDiagnostics, agentDeprecationDiagnostics, composeRefTarget } from './chunk-76FLBODK.js';
9
+ import { checkAgentSkillConformance } from './chunk-BRK5QZKI.js';
10
+ import { matchPin } from './chunk-KJSC2ZD6.js';
11
11
  import { globalSkaileDir } from './chunk-L5VSIPQD.js';
12
- import { SKAILE_MANIFEST_FILENAME, loadSkPublishManifest, listLibrarySymlinks, librarySymlinkMessage } from './chunk-UQ33Y4DM.js';
13
- import { readAssetBody, parseFrontmatter } from './chunk-GOCWM7FN.js';
14
- import { parseDep, PUBLISHER_HINT, isValidPublisher, slugifyAssetName, parseAssetRef, isValidAssetName, ASSET_NAME_HINT, assetRefProblem } from './chunk-WDXZA7QW.js';
12
+ import { SKAILE_MANIFEST_FILENAME, loadSkPublishManifest, expandManifestFiles, listLibrarySymlinks, librarySymlinkMessage } from './chunk-KPKGWXUJ.js';
13
+ import { readAssetBody, parseFrontmatter } from './chunk-JMIKGAUA.js';
14
+ import { parseDep, PUBLISHER_HINT, isValidPublisher, isValidAssetName, slugifyAssetName, parseAssetRef, ASSET_NAME_HINT, assetRefProblem } from './chunk-IZQOO6MN.js';
15
15
  import * as fs3 from 'fs';
16
16
  import { rmSync, readFileSync, mkdirSync, writeFileSync, chmodSync } from 'fs';
17
17
  import * as path3 from 'path';
@@ -174,6 +174,30 @@ function agentComposeRefProblems(parsed, context) {
174
174
  });
175
175
  return out;
176
176
  }
177
+ var MANIFEST_GLOBS = [
178
+ { pattern: /\/SKILL\.md$/, kind: "skill" },
179
+ { pattern: /\/agent\.yaml$/, kind: "agent" },
180
+ { pattern: /\/AGENT\.md$/, kind: "agent" },
181
+ { pattern: /\/CONTRACT\.md$/, kind: "contract" },
182
+ { pattern: /\/PERSONA\.md$/, kind: "persona" },
183
+ { pattern: /\/RULESET\.md$/, kind: "ruleset" },
184
+ { pattern: /\.flow\.yaml$/, kind: "flow" },
185
+ { pattern: /\.flow\.json$/, kind: "flow" },
186
+ { pattern: /\/CONNECTOR\.md$/, kind: "connector" },
187
+ { pattern: /\.prompt\.md$/, kind: "prompt" },
188
+ { pattern: /\/MCP\.md$/, kind: "mcp-server" },
189
+ { pattern: /\/knowledge\.yaml$/, kind: "knowledge" },
190
+ { pattern: /\/knowledge\/index\.yaml$/, kind: "knowledge" },
191
+ { pattern: /\.preset\.yaml$/, kind: "preset" }
192
+ ];
193
+ function manifestKindOfFile(file) {
194
+ const posix = file.split(path3.sep).join("/");
195
+ const hay = posix.startsWith("/") ? posix : `/${posix}`;
196
+ return MANIFEST_GLOBS.find((g) => g.pattern.test(hay))?.kind;
197
+ }
198
+ function manifestParseErrorText(reason) {
199
+ return `parse error: ${reason}`;
200
+ }
177
201
  var UNUSED_KEYS = ["reads_from", "writes_to"];
178
202
  function checkAssetManifest(kind, parsed, body, dirName) {
179
203
  const out = [];
@@ -277,6 +301,18 @@ function scaffoldDefinitionErrors(kind, parsed) {
277
301
  out.push("nodes is missing; a flow needs at least one node");
278
302
  } else if (Array.isArray(parsed.nodes) && parsed.nodes.length === 0) {
279
303
  out.push("nodes is still the scaffold placeholder (nodes: []); add the flow's nodes");
304
+ } else if (Array.isArray(parsed.nodes)) {
305
+ for (const node of parsed.nodes) {
306
+ if (typeof node !== "object" || node === null || !("run" in node)) continue;
307
+ const run = node.run;
308
+ if (typeof run !== "object" || run === null || !("instruction" in run)) continue;
309
+ if (run.instruction === FLOW_NODE_INSTRUCTION_PLACEHOLDER) {
310
+ const id = "id" in node ? String(node.id) : "?";
311
+ out.push(
312
+ `node "${id}" instruction is still the scaffold placeholder; say what the step does`
313
+ );
314
+ }
315
+ }
280
316
  }
281
317
  }
282
318
  if (kind === "preset") {
@@ -341,6 +377,31 @@ function referenceErrors(kind, parsed, registry, fileName) {
341
377
  }
342
378
  return out;
343
379
  }
380
+ function nameDescriptionProblem(kind, parsed, dirName, e) {
381
+ if (e.path === "name") {
382
+ const name = parsed.name;
383
+ if ((name ?? null) === null) {
384
+ return `name is required: add \`name: ${dirName}\` (lowercase kebab-case, the name of the ${kind})`;
385
+ }
386
+ if (typeof name !== "string") {
387
+ return `name must be text: write \`name: ${dirName}\` (lowercase kebab-case, the name of the ${kind})`;
388
+ }
389
+ return void 0;
390
+ }
391
+ if (e.path === "description") {
392
+ const description = parsed.description;
393
+ if ((description ?? null) === null) {
394
+ return `description is required: say what the ${kind} does and when to use it`;
395
+ }
396
+ if (typeof description !== "string") {
397
+ return `description must be text: say what the ${kind} does and when to use it`;
398
+ }
399
+ if (description.trim() === "" && !e.message.startsWith("description is empty")) {
400
+ return `description: description is empty \u2014 say what the ${kind} does and when to use it`;
401
+ }
402
+ }
403
+ return void 0;
404
+ }
344
405
  function checkAsset(kind, parsed, body, dirName, registry, rawText, fileName, agentFiles) {
345
406
  const errors = [];
346
407
  const error2 = (text) => {
@@ -355,6 +416,7 @@ function checkAsset(kind, parsed, body, dirName, registry, rawText, fileName, ag
355
416
  const effective = withManifestDefaults(kind, parsed);
356
417
  const versionKey = ["skill", "prompt", "contract"].includes(kind) ? "metadata.version" : "version";
357
418
  const provider = registry.getProvider(kind);
419
+ const reported = /* @__PURE__ */ new Set();
358
420
  if (!provider) {
359
421
  error2(`unknown_asset_kind: kind "${kind}" is not registered`);
360
422
  } else {
@@ -367,8 +429,10 @@ function checkAsset(kind, parsed, body, dirName, registry, rawText, fileName, ag
367
429
  }
368
430
  continue;
369
431
  }
370
- if (e.path === "description" && (parsed.description ?? null) === null) {
371
- error2(`description is required: say what the ${kind} does and when to use it`);
432
+ reported.add(e.path);
433
+ const plain = nameDescriptionProblem(kind, parsed, dirName, e);
434
+ if (plain) {
435
+ error2(plain);
372
436
  continue;
373
437
  }
374
438
  error2(`${e.path ? `${e.path}: ` : ""}${e.message}`);
@@ -384,9 +448,22 @@ function checkAsset(kind, parsed, body, dirName, registry, rawText, fileName, ag
384
448
  for (const text of scaffoldDefinitionErrors(kind, parsed)) error2(text);
385
449
  for (const text of referenceErrors(kind, parsed, registry, fileName)) error2(text);
386
450
  if (kind === "flow") {
451
+ if (!reported.has("description")) {
452
+ const plain = nameDescriptionProblem(kind, parsed, dirName, {
453
+ path: "description",
454
+ message: ""
455
+ });
456
+ if (plain) {
457
+ error2(plain);
458
+ reported.add("description");
459
+ }
460
+ }
461
+ const v2WithoutVersion = flowMissingSchemaVersionError(parsed);
462
+ if (v2WithoutVersion) error2(v2WithoutVersion);
387
463
  const flow = parseFlowDefinition(effective);
388
464
  if (!flow.ok) {
389
465
  for (const e of flow.errors) {
466
+ if (reported.has(e.path)) continue;
390
467
  error2(`invalid flow definition: ${e.path || "<root>"}: ${e.message}`);
391
468
  }
392
469
  }
@@ -406,6 +483,16 @@ function checkAsset(kind, parsed, body, dirName, registry, rawText, fileName, ag
406
483
  }
407
484
  return { errors, advisories };
408
485
  }
486
+ function flowMissingSchemaVersionError(parsed) {
487
+ if ("schemaVersion" in parsed || !Array.isArray(parsed.nodes)) return void 0;
488
+ for (const node of parsed.nodes) {
489
+ if (typeof node !== "object" || node === null || !("run" in node)) continue;
490
+ if (typeof node.run !== "object" || node.run === null) continue;
491
+ const id = "id" in node ? String(node.id) : "?";
492
+ return `schemaVersion is missing: node "${id}" has a run: block, the v2 shape; add schemaVersion: 2 as the first line (a v2 flow takes defaults:, not globals:)`;
493
+ }
494
+ return void 0;
495
+ }
409
496
  function findAssetManifestFile(dir, kind, name) {
410
497
  const candidates = [];
411
498
  if (kind === "skill") candidates.push("SKILL.md");
@@ -462,6 +549,25 @@ function checkAssetFile(file, kind, registry, libraryRoot, composeRefs) {
462
549
  );
463
550
  return [...checked.errors, ...checked.advisories.filter((f) => f.scaffoldBody)];
464
551
  }
552
+ function libraryAssetRefusals(asset, libraryPath, registry) {
553
+ let file = asset.source;
554
+ try {
555
+ if (fs3.statSync(file).isDirectory()) file = findAssetManifestFile(file, asset.kind, asset.name);
556
+ } catch {
557
+ return [];
558
+ }
559
+ if (!file || manifestKindOfFile(file) !== asset.kind) return [];
560
+ const rel = path3.relative(libraryPath, file).split(path3.sep).join("/");
561
+ try {
562
+ const parsed = parseManifestFile(file, fs3.readFileSync(file, "utf8"));
563
+ if (!parsed.ok) return [`${rel} [${asset.kind}] \u2014 ${manifestParseErrorText(parsed.reason)}`];
564
+ } catch {
565
+ return [];
566
+ }
567
+ return checkAssetFile(file, asset.kind, registry, libraryPath).map(
568
+ (f) => `${rel} [${f.tag}] \u2014 ${f.text}`
569
+ );
570
+ }
465
571
  function unheldRequiresOfFile(file, kind, context) {
466
572
  try {
467
573
  const res = parseManifestFile(file, fs3.readFileSync(file, "utf8"));
@@ -821,7 +927,7 @@ function manifestRequiresProblems(dir) {
821
927
  for (const message of requiresSyntaxErrors(entries)) {
822
928
  problems.push({
823
929
  asset: `${String(kind)}:${String(name)}`,
824
- message: `ManifestRequiresError: ${message}`
930
+ message
825
931
  });
826
932
  }
827
933
  }
@@ -957,9 +1063,14 @@ function exitOnManifestPublisherProblems(dir, libName) {
957
1063
  process.exit(1);
958
1064
  }
959
1065
  function manifestEntryNameProblems(dir) {
1066
+ return manifestEntryRenames(dir).map(
1067
+ (r) => `${SKAILE_MANIFEST_FILENAME} [assets] ${r.kind}:${r.name} \u2014 ${r.file} now names "${r.now}": the entry is a ref \`add\` cannot resolve. Run \`skaile library index <library>\` to rename it, or restore the name.`
1068
+ );
1069
+ }
1070
+ function manifestEntryRenames(dir) {
960
1071
  const manifest = loadSkPublishManifest(dir);
961
1072
  if (!manifest || manifest.source) return [];
962
- const problems = [];
1073
+ const renames = [];
963
1074
  for (const entry of manifest.assets ?? []) {
964
1075
  if (!entry.root || entry.source) continue;
965
1076
  if (assetRootProblem(dir, entry.root)) continue;
@@ -974,11 +1085,17 @@ function manifestEntryNameProblems(dir) {
974
1085
  continue;
975
1086
  }
976
1087
  if (typeof parsedName !== "string" || parsedName === "" || parsedName === entry.name) continue;
977
- problems.push(
978
- `${SKAILE_MANIFEST_FILENAME} [assets] ${entry.kind}:${entry.name} \u2014 ${path3.relative(dir, file)} now names "${parsedName}": the entry is a ref \`add\` cannot resolve. Run \`skaile library index <library>\` to rename it, or restore the name.`
979
- );
1088
+ if (!isValidAssetName(parsedName)) continue;
1089
+ const publisher = entry.publisher ?? manifest.publisher;
1090
+ renames.push({
1091
+ kind: entry.kind,
1092
+ name: entry.name,
1093
+ ...publisher ? { publisher } : {},
1094
+ file: path3.relative(dir, file),
1095
+ now: parsedName
1096
+ });
980
1097
  }
981
- return problems;
1098
+ return renames;
982
1099
  }
983
1100
  function manifestRootProblems(dir) {
984
1101
  let doc;
@@ -1004,8 +1121,34 @@ function manifestRootProblems(dir) {
1004
1121
  }
1005
1122
  return problems;
1006
1123
  }
1007
- function exitOnManifestRootProblems(dir, verb) {
1008
- const problems = manifestRootProblems(dir);
1124
+ function manifestFilesProblems(dir) {
1125
+ const manifest = loadSkPublishManifest(dir);
1126
+ if (!manifest || manifest.source) return [];
1127
+ const problems = [];
1128
+ for (const a of manifest.assets ?? []) {
1129
+ if (a.source || !Array.isArray(a.files) || a.files.length === 0) continue;
1130
+ const ref = assetEntryRef(a, manifest);
1131
+ const patterns = a.files.map((f) => typeof f === "string" ? f : f.path).filter(Boolean);
1132
+ const outside = patterns.filter(
1133
+ (p) => path3.isAbsolute(p) || p.split(/[\\/]+/).includes("..") || /^[a-zA-Z]:/.test(p)
1134
+ );
1135
+ if (outside.length > 0) {
1136
+ problems.push(
1137
+ `${SKAILE_MANIFEST_FILENAME} [assets] ${ref} \u2014 files: ${outside.join(", ")} leaves the library: \`add\` ignores it and a published repo has no file for it. Remove the entry from the \`files:\` list or move the file into the library.`
1138
+ );
1139
+ continue;
1140
+ }
1141
+ const { unmatched } = expandManifestFiles(dir, patterns);
1142
+ if (unmatched.length > 0) {
1143
+ problems.push(
1144
+ `${SKAILE_MANIFEST_FILENAME} [assets] ${ref} \u2014 files: ${unmatched.join(", ")} not found. Fix the \`files:\` list or drop the entry.`
1145
+ );
1146
+ }
1147
+ }
1148
+ return problems;
1149
+ }
1150
+ function exitOnManifestPathProblems(dir, verb) {
1151
+ const problems = [...manifestRootProblems(dir), ...manifestFilesProblems(dir)];
1009
1152
  if (problems.length === 0) return;
1010
1153
  for (const message of problems) logErr(message);
1011
1154
  logErr(`Fix or remove the entry in ${SKAILE_MANIFEST_FILENAME}, then re-run \`${verb}\`.`);
@@ -1022,17 +1165,24 @@ function exitOnLibrarySymlinks(dir, verb) {
1022
1165
  logErr(`${count} symlink(s) in ${dir}: remove them, then re-run \`${verb}\`.`);
1023
1166
  process.exit(1);
1024
1167
  }
1168
+ function manifestParseFailureLine(libPath, rel) {
1169
+ const file = path3.join(libPath, rel);
1170
+ try {
1171
+ if (!fs3.statSync(file).isFile()) return void 0;
1172
+ const res = parseManifestFile(file, fs3.readFileSync(file, "utf-8"));
1173
+ if (res.ok) return void 0;
1174
+ const kind = manifestKindOfFile(file) ?? "asset";
1175
+ return `${rel.split(path3.sep).join("/")} [${kind}] \u2014 ${manifestParseErrorText(res.reason)}`;
1176
+ } catch {
1177
+ return void 0;
1178
+ }
1179
+ }
1025
1180
  function parseFailureText(libPath, error2) {
1026
1181
  const m = /^(.*): ManifestSchemaError: failed to parse manifest file (.+)$/.exec(error2);
1027
1182
  if (!m) return error2;
1028
1183
  for (const rel of [m[1], path3.join(m[1], m[2]), m[2]]) {
1029
- const file = path3.join(libPath, rel);
1030
- try {
1031
- if (!fs3.statSync(file).isFile()) continue;
1032
- const res = parseManifestFile(file, fs3.readFileSync(file, "utf-8"));
1033
- if (!res.ok) return `${rel.split(path3.sep).join("/")}: ${res.reason}`;
1034
- } catch {
1035
- }
1184
+ const line = manifestParseFailureLine(libPath, rel);
1185
+ if (line) return line;
1036
1186
  }
1037
1187
  return error2;
1038
1188
  }
@@ -1184,6 +1334,6 @@ function warnLegacyBundleFiles(root) {
1184
1334
  return files.length;
1185
1335
  }
1186
1336
 
1187
- export { DOMAIN_REMOVED_HINT, assetEntryRef, assetNamespace, bareName, checkAsset, checkAssetFile, checkComposeKinds, composeRefContext, declaredVersion, deviceLogin, duplicateAssetMessage, exitOnEmptyAsset, exitOnLibrarySymlinks, exitOnManifestPublisherProblems, exitOnManifestRootProblems, findAssetManifestFile, findEntryManifestFile, formatNamespaceAvailability, getAccessToken, getStoreIdentity, hasStoredAuth, indexLibrary, invalidPublisherMessage, invalidSemverText, loadStoreAuthConfig, logout, manifestDependencyProblems, manifestEntryNameProblems, manifestNamespaces, manifestPublisherProblems, manifestRequiresProblems, manifestRootProblems, manifestVersionMismatchMessage, plannedRefs, preflightNamespace, publishToStore, refFor, registerLibraryAsset, registeredAssetKeys, rejectRemovedDomainOption, removedDomainOption, reportLibrarySymlinks, requireValidPublisherOrExit, resolveLibraryPublisherDetailed, unheldRequiresOfFile, unresolvedManifestDependencies, warnIgnoredDomainFiles, warnLegacyBundleFiles, warnLibraryNameFallback };
1188
- //# sourceMappingURL=chunk-TKHJXPSB.js.map
1189
- //# sourceMappingURL=chunk-TKHJXPSB.js.map
1337
+ export { DOMAIN_REMOVED_HINT, MANIFEST_GLOBS, assetEntryRef, assetNamespace, bareName, checkAsset, checkAssetFile, checkComposeKinds, composeRefContext, declaredVersion, deviceLogin, duplicateAssetMessage, exitOnEmptyAsset, exitOnLibrarySymlinks, exitOnManifestPathProblems, exitOnManifestPublisherProblems, findAssetManifestFile, findEntryManifestFile, formatNamespaceAvailability, getAccessToken, getStoreIdentity, hasStoredAuth, indexLibrary, invalidPublisherMessage, invalidSemverText, libraryAssetRefusals, loadStoreAuthConfig, logout, manifestDependencyProblems, manifestEntryNameProblems, manifestEntryRenames, manifestFilesProblems, manifestNamespaces, manifestParseErrorText, manifestParseFailureLine, manifestPublisherProblems, manifestRequiresProblems, manifestRootProblems, manifestVersionMismatchMessage, plannedRefs, preflightNamespace, publishToStore, refFor, registerLibraryAsset, registeredAssetKeys, rejectRemovedDomainOption, removedDomainOption, reportLibrarySymlinks, requireValidPublisherOrExit, resolveLibraryPublisherDetailed, unheldRequiresOfFile, unresolvedManifestDependencies, warnIgnoredDomainFiles, warnLegacyBundleFiles, warnLibraryNameFallback };
1338
+ //# sourceMappingURL=chunk-2XM3ZH36.js.map
1339
+ //# sourceMappingURL=chunk-2XM3ZH36.js.map