@skaile/workspaces 6.14.0 → 6.16.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 (447) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/agent-file-refresh-76NNFB4W.js +89 -0
  3. package/dist/agent-file-refresh-76NNFB4W.js.map +1 -0
  4. package/dist/ai-sdk.js +8 -7
  5. package/dist/ai-sdk.js.map +1 -1
  6. package/dist/app-sdk/index.js +1 -1
  7. package/dist/{asset-feeds-DOG5FK7T.js → asset-feeds-ON7FYHHF.js} +25 -23
  8. package/dist/asset-feeds-ON7FYHHF.js.map +1 -0
  9. package/dist/asset-manager/catalog-deployer.js +8 -7
  10. package/dist/asset-manager/history.js +7 -6
  11. package/dist/asset-manager/index.js +17 -15
  12. package/dist/asset-manager/installer.js +16 -9
  13. package/dist/asset-manager/renderers.js +8 -8
  14. package/dist/asset-manager/src/add-remove/add.d.ts +134 -0
  15. package/dist/asset-manager/src/add-remove/add.d.ts.map +1 -0
  16. package/dist/asset-manager/src/add-remove/remove.d.ts +329 -0
  17. package/dist/asset-manager/src/add-remove/remove.d.ts.map +1 -0
  18. package/dist/asset-manager/src/agent-render.d.ts +116 -0
  19. package/dist/asset-manager/src/agent-render.d.ts.map +1 -0
  20. package/dist/asset-manager/src/composed-blocks.d.ts +40 -0
  21. package/dist/asset-manager/src/composed-blocks.d.ts.map +1 -0
  22. package/dist/asset-manager/src/config/core.d.ts +297 -0
  23. package/dist/asset-manager/src/config/core.d.ts.map +1 -0
  24. package/dist/asset-manager/src/config/edit.d.ts +161 -0
  25. package/dist/asset-manager/src/config/edit.d.ts.map +1 -0
  26. package/dist/asset-manager/src/index.d.ts +31 -2961
  27. package/dist/asset-manager/src/index.d.ts.map +1 -1
  28. package/dist/asset-manager/src/install/clone-commit-fetcher.d.ts +11 -0
  29. package/dist/asset-manager/src/install/clone-commit-fetcher.d.ts.map +1 -0
  30. package/dist/asset-manager/src/install/install.d.ts +151 -0
  31. package/dist/asset-manager/src/install/install.d.ts.map +1 -0
  32. package/dist/asset-manager/src/install/restore.d.ts +76 -0
  33. package/dist/asset-manager/src/install/restore.d.ts.map +1 -0
  34. package/dist/asset-manager/src/install-agent.d.ts +52 -4
  35. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  36. package/dist/asset-manager/src/install-instances.d.ts +70 -2
  37. package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
  38. package/dist/asset-manager/src/installer.d.ts +54 -4
  39. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  40. package/dist/asset-manager/src/lock/copies.d.ts +156 -0
  41. package/dist/asset-manager/src/lock/copies.d.ts.map +1 -0
  42. package/dist/asset-manager/src/lock/library.d.ts +261 -0
  43. package/dist/asset-manager/src/lock/library.d.ts.map +1 -0
  44. package/dist/asset-manager/src/mcp-render.d.ts +86 -0
  45. package/dist/asset-manager/src/mcp-render.d.ts.map +1 -0
  46. package/dist/asset-manager/src/omp-sweep.d.ts +25 -0
  47. package/dist/asset-manager/src/omp-sweep.d.ts.map +1 -0
  48. package/dist/asset-manager/src/read/diff.d.ts +109 -0
  49. package/dist/asset-manager/src/read/diff.d.ts.map +1 -0
  50. package/dist/asset-manager/src/read/doctor.d.ts +116 -0
  51. package/dist/asset-manager/src/read/doctor.d.ts.map +1 -0
  52. package/dist/asset-manager/src/read/gaps.d.ts +120 -0
  53. package/dist/asset-manager/src/read/gaps.d.ts.map +1 -0
  54. package/dist/asset-manager/src/read/graph.d.ts +69 -0
  55. package/dist/asset-manager/src/read/graph.d.ts.map +1 -0
  56. package/dist/asset-manager/src/read/outdated.d.ts +152 -0
  57. package/dist/asset-manager/src/read/outdated.d.ts.map +1 -0
  58. package/dist/asset-manager/src/read/state.d.ts +265 -0
  59. package/dist/asset-manager/src/read/state.d.ts.map +1 -0
  60. package/dist/asset-manager/src/renderers.d.ts +11 -1
  61. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  62. package/dist/asset-manager/src/resolve/guards.d.ts +167 -0
  63. package/dist/asset-manager/src/resolve/guards.d.ts.map +1 -0
  64. package/dist/asset-manager/src/resolve/scan.d.ts +222 -0
  65. package/dist/asset-manager/src/resolve/scan.d.ts.map +1 -0
  66. package/dist/asset-manager/src/resolve/stores.d.ts +176 -0
  67. package/dist/asset-manager/src/resolve/stores.d.ts.map +1 -0
  68. package/dist/asset-manager/src/shared/files.d.ts +42 -0
  69. package/dist/asset-manager/src/shared/files.d.ts.map +1 -0
  70. package/dist/asset-manager/src/shared/library-hooks.d.ts +16 -0
  71. package/dist/asset-manager/src/shared/library-hooks.d.ts.map +1 -0
  72. package/dist/asset-manager/src/shared/library.d.ts +96 -0
  73. package/dist/asset-manager/src/shared/library.d.ts.map +1 -0
  74. package/dist/asset-manager/src/shared/refs.d.ts +101 -0
  75. package/dist/asset-manager/src/shared/refs.d.ts.map +1 -0
  76. package/dist/asset-manager/src/shared/types.d.ts +399 -0
  77. package/dist/asset-manager/src/shared/types.d.ts.map +1 -0
  78. package/dist/bridge/harnesses/claude-sdk.js +13 -19
  79. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  80. package/dist/bridge/harnesses/codex.js +10 -10
  81. package/dist/bridge/harnesses/continue.js +12 -16
  82. package/dist/bridge/harnesses/continue.js.map +1 -1
  83. package/dist/bridge/harnesses/echo.js +5 -10
  84. package/dist/bridge/harnesses/echo.js.map +1 -1
  85. package/dist/bridge/harnesses/gemini.js +5 -5
  86. package/dist/bridge/harnesses/goose.js +13 -17
  87. package/dist/bridge/harnesses/goose.js.map +1 -1
  88. package/dist/bridge/harnesses/omp.js +7 -13
  89. package/dist/bridge/harnesses/omp.js.map +1 -1
  90. package/dist/bridge/harnesses/opencode.js +13 -17
  91. package/dist/bridge/harnesses/opencode.js.map +1 -1
  92. package/dist/bridge/harnesses/qwen.js +6 -11
  93. package/dist/bridge/harnesses/qwen.js.map +1 -1
  94. package/dist/bridge/index.js +18 -18
  95. package/dist/bridge/src/codex/managed-harness.d.ts.map +1 -1
  96. package/dist/bridge/src/driver-contract.d.ts +72 -0
  97. package/dist/bridge/src/driver-contract.d.ts.map +1 -0
  98. package/dist/bridge/src/harness-model-check.d.ts +1 -1
  99. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  100. package/dist/bridge/src/harnesses/_subprocess-cli.d.ts +8 -0
  101. package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -1
  102. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  103. package/dist/bridge/src/harnesses/codex.d.ts +2 -0
  104. package/dist/bridge/src/harnesses/codex.d.ts.map +1 -1
  105. package/dist/bridge/src/harnesses/continue.d.ts.map +1 -1
  106. package/dist/bridge/src/harnesses/echo.d.ts.map +1 -1
  107. package/dist/bridge/src/harnesses/gemini.d.ts.map +1 -1
  108. package/dist/bridge/src/harnesses/goose.d.ts.map +1 -1
  109. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  110. package/dist/bridge/src/harnesses/opencode.d.ts.map +1 -1
  111. package/dist/bridge/src/harnesses/qwen.d.ts.map +1 -1
  112. package/dist/bridge/src/index.d.ts +2 -0
  113. package/dist/bridge/src/index.d.ts.map +1 -1
  114. package/dist/bridge/src/preflight.d.ts +114 -0
  115. package/dist/bridge/src/preflight.d.ts.map +1 -0
  116. package/dist/bridge/src/registry.d.ts +12 -0
  117. package/dist/bridge/src/registry.d.ts.map +1 -1
  118. package/dist/{chunk-7UBCUKJO.js → chunk-2JUCWMIS.js} +8808 -8337
  119. package/dist/chunk-2JUCWMIS.js.map +1 -0
  120. package/dist/{chunk-VS6XC5JE.js → chunk-2MTRRK37.js} +3 -3
  121. package/dist/{chunk-VS6XC5JE.js.map → chunk-2MTRRK37.js.map} +1 -1
  122. package/dist/chunk-2PJYJPDE.js +3 -0
  123. package/dist/chunk-2PJYJPDE.js.map +1 -0
  124. package/dist/{chunk-ZQL6HGTW.js → chunk-2SSG5B24.js} +4 -4
  125. package/dist/{chunk-ZQL6HGTW.js.map → chunk-2SSG5B24.js.map} +1 -1
  126. package/dist/{chunk-WDG5IVEA.js → chunk-2ZDZJ7XQ.js} +3 -3
  127. package/dist/{chunk-WDG5IVEA.js.map → chunk-2ZDZJ7XQ.js.map} +1 -1
  128. package/dist/{chunk-V2VDTQ7A.js → chunk-3A7JUOY2.js} +3 -3
  129. package/dist/{chunk-V2VDTQ7A.js.map → chunk-3A7JUOY2.js.map} +1 -1
  130. package/dist/chunk-3LAJJURV.js +26 -0
  131. package/dist/chunk-3LAJJURV.js.map +1 -0
  132. package/dist/{chunk-X66KSHZF.js → chunk-3UYKT62L.js} +5 -5
  133. package/dist/{chunk-X66KSHZF.js.map → chunk-3UYKT62L.js.map} +1 -1
  134. package/dist/{chunk-J3FJTH3V.js → chunk-4X5WXQV7.js} +4 -4
  135. package/dist/{chunk-J3FJTH3V.js.map → chunk-4X5WXQV7.js.map} +1 -1
  136. package/dist/chunk-4ZNKEDYH.js +887 -0
  137. package/dist/chunk-4ZNKEDYH.js.map +1 -0
  138. package/dist/{chunk-DYH3VSPU.js → chunk-65SOXO7I.js} +20 -14
  139. package/dist/chunk-65SOXO7I.js.map +1 -0
  140. package/dist/{chunk-MVUXBWNW.js → chunk-6HTN2UIJ.js} +3 -3
  141. package/dist/{chunk-MVUXBWNW.js.map → chunk-6HTN2UIJ.js.map} +1 -1
  142. package/dist/{chunk-4SSTREBO.js → chunk-6KV34G6A.js} +8 -8
  143. package/dist/{chunk-4SSTREBO.js.map → chunk-6KV34G6A.js.map} +1 -1
  144. package/dist/{chunk-YNQRVTXH.js → chunk-6M44OQKH.js} +40 -44
  145. package/dist/chunk-6M44OQKH.js.map +1 -0
  146. package/dist/{chunk-B6W5DCH5.js → chunk-72DYHOO2.js} +24 -25
  147. package/dist/chunk-72DYHOO2.js.map +1 -0
  148. package/dist/{chunk-RRAXV5LE.js → chunk-7IW5E6LB.js} +43 -48
  149. package/dist/chunk-7IW5E6LB.js.map +1 -0
  150. package/dist/{chunk-BNLXZXZN.js → chunk-BRAOB37W.js} +97 -47
  151. package/dist/chunk-BRAOB37W.js.map +1 -0
  152. package/dist/{chunk-ZLDAPZIX.js → chunk-BTMSHGN3.js} +4 -4
  153. package/dist/{chunk-ZLDAPZIX.js.map → chunk-BTMSHGN3.js.map} +1 -1
  154. package/dist/{chunk-7K73MCI6.js → chunk-CU5WY6HN.js} +3 -3
  155. package/dist/{chunk-7K73MCI6.js.map → chunk-CU5WY6HN.js.map} +1 -1
  156. package/dist/{chunk-G2ZWIYZR.js → chunk-DFFJKGCW.js} +3 -3
  157. package/dist/{chunk-G2ZWIYZR.js.map → chunk-DFFJKGCW.js.map} +1 -1
  158. package/dist/{chunk-CG63XGVV.js → chunk-EGKCKWWE.js} +3 -3
  159. package/dist/{chunk-CG63XGVV.js.map → chunk-EGKCKWWE.js.map} +1 -1
  160. package/dist/{chunk-CJO3XKO7.js → chunk-ETGC2MEM.js} +4 -4
  161. package/dist/{chunk-CJO3XKO7.js.map → chunk-ETGC2MEM.js.map} +1 -1
  162. package/dist/{chunk-CFRHYD4C.js → chunk-FPG36VC4.js} +8 -13
  163. package/dist/chunk-FPG36VC4.js.map +1 -0
  164. package/dist/{chunk-SBAUZ7XH.js → chunk-H3PY5DFL.js} +4 -4
  165. package/dist/{chunk-SBAUZ7XH.js.map → chunk-H3PY5DFL.js.map} +1 -1
  166. package/dist/{chunk-7HRZACI4.js → chunk-HW4BDJPC.js} +17 -6
  167. package/dist/chunk-HW4BDJPC.js.map +1 -0
  168. package/dist/{chunk-GJT2Q5XD.js → chunk-HXST2IYJ.js} +3 -3
  169. package/dist/{chunk-GJT2Q5XD.js.map → chunk-HXST2IYJ.js.map} +1 -1
  170. package/dist/{chunk-7VBD5XUM.js → chunk-IG4YQ7ER.js} +32 -90
  171. package/dist/chunk-IG4YQ7ER.js.map +1 -0
  172. package/dist/{chunk-DWPQBMCY.js → chunk-JPV4WE5L.js} +2 -2
  173. package/dist/{chunk-DWPQBMCY.js.map → chunk-JPV4WE5L.js.map} +1 -1
  174. package/dist/{chunk-OC3AIMZH.js → chunk-KDRA6FYE.js} +120 -211
  175. package/dist/chunk-KDRA6FYE.js.map +1 -0
  176. package/dist/{chunk-KOI7QFDH.js → chunk-M7XIYHWB.js} +3 -3
  177. package/dist/{chunk-KOI7QFDH.js.map → chunk-M7XIYHWB.js.map} +1 -1
  178. package/dist/{chunk-7LJUK5JK.js → chunk-MG6QD7GE.js} +201 -43
  179. package/dist/chunk-MG6QD7GE.js.map +1 -0
  180. package/dist/{chunk-XHLRMUMO.js → chunk-NAQXDTF3.js} +3 -3
  181. package/dist/{chunk-XHLRMUMO.js.map → chunk-NAQXDTF3.js.map} +1 -1
  182. package/dist/{chunk-YJAKSCCN.js → chunk-NJ6UCY2B.js} +3 -3
  183. package/dist/{chunk-YJAKSCCN.js.map → chunk-NJ6UCY2B.js.map} +1 -1
  184. package/dist/{chunk-OKPITFE3.js → chunk-NNJQQYHY.js} +2 -2
  185. package/dist/{chunk-OKPITFE3.js.map → chunk-NNJQQYHY.js.map} +1 -1
  186. package/dist/{chunk-QNHW26AT.js → chunk-OD4N5O7V.js} +4 -4
  187. package/dist/{chunk-QNHW26AT.js.map → chunk-OD4N5O7V.js.map} +1 -1
  188. package/dist/{chunk-F7WMHDTV.js → chunk-P6FJDT35.js} +27 -7
  189. package/dist/chunk-P6FJDT35.js.map +1 -0
  190. package/dist/{chunk-IOXFT5D7.js → chunk-PD42JZWI.js} +3 -3
  191. package/dist/{chunk-IOXFT5D7.js.map → chunk-PD42JZWI.js.map} +1 -1
  192. package/dist/{chunk-MS2IXLTC.js → chunk-PMXTBWFD.js} +27 -7
  193. package/dist/chunk-PMXTBWFD.js.map +1 -0
  194. package/dist/{chunk-NAAFRZTA.js → chunk-PPSSDUN6.js} +3 -3
  195. package/dist/{chunk-NAAFRZTA.js.map → chunk-PPSSDUN6.js.map} +1 -1
  196. package/dist/{chunk-LMUNQYJQ.js → chunk-PRB67LCK.js} +127 -18
  197. package/dist/chunk-PRB67LCK.js.map +1 -0
  198. package/dist/{chunk-RLV3FF4I.js → chunk-QUIK7L3Z.js} +11 -11
  199. package/dist/{chunk-RLV3FF4I.js.map → chunk-QUIK7L3Z.js.map} +1 -1
  200. package/dist/{chunk-DRUAQ7IY.js → chunk-QUPZKTF3.js} +9 -8
  201. package/dist/chunk-QUPZKTF3.js.map +1 -0
  202. package/dist/{chunk-7FXOOUOC.js → chunk-RPRMD7XV.js} +27 -11
  203. package/dist/chunk-RPRMD7XV.js.map +1 -0
  204. package/dist/{chunk-3BRBTQ6M.js → chunk-S3UOZBGE.js} +20 -3
  205. package/dist/chunk-S3UOZBGE.js.map +1 -0
  206. package/dist/{chunk-LQWOU7S2.js → chunk-SFBLZOV5.js} +3 -3
  207. package/dist/{chunk-LQWOU7S2.js.map → chunk-SFBLZOV5.js.map} +1 -1
  208. package/dist/{chunk-EB2LKPI6.js → chunk-SMFZ5YGN.js} +4 -4
  209. package/dist/{chunk-EB2LKPI6.js.map → chunk-SMFZ5YGN.js.map} +1 -1
  210. package/dist/{chunk-243Z3BNB.js → chunk-SX54OQQT.js} +4 -4
  211. package/dist/{chunk-243Z3BNB.js.map → chunk-SX54OQQT.js.map} +1 -1
  212. package/dist/{chunk-2PVYDAFN.js → chunk-T65N4CIZ.js} +3 -3
  213. package/dist/{chunk-2PVYDAFN.js.map → chunk-T65N4CIZ.js.map} +1 -1
  214. package/dist/{chunk-QBLS7X3Z.js → chunk-TVRL3IPZ.js} +3 -3
  215. package/dist/{chunk-QBLS7X3Z.js.map → chunk-TVRL3IPZ.js.map} +1 -1
  216. package/dist/{chunk-2URJ7W5X.js → chunk-TW5AP6IF.js} +5 -5
  217. package/dist/{chunk-2URJ7W5X.js.map → chunk-TW5AP6IF.js.map} +1 -1
  218. package/dist/{chunk-F6LDWA2N.js → chunk-TYK752MU.js} +3 -3
  219. package/dist/{chunk-F6LDWA2N.js.map → chunk-TYK752MU.js.map} +1 -1
  220. package/dist/{chunk-HPQ2WDYC.js → chunk-U2WPJHRA.js} +5 -5
  221. package/dist/{chunk-HPQ2WDYC.js.map → chunk-U2WPJHRA.js.map} +1 -1
  222. package/dist/{chunk-MEU2HHGV.js → chunk-U7P22GEB.js} +386 -46
  223. package/dist/chunk-U7P22GEB.js.map +1 -0
  224. package/dist/{chunk-6ISJMEDX.js → chunk-VFEZUSB6.js} +4 -4
  225. package/dist/{chunk-6ISJMEDX.js.map → chunk-VFEZUSB6.js.map} +1 -1
  226. package/dist/{chunk-5FO4U3OL.js → chunk-WW22FS74.js} +75 -67
  227. package/dist/chunk-WW22FS74.js.map +1 -0
  228. package/dist/{chunk-WCUT3EQR.js → chunk-Z23I2JA6.js} +7 -7
  229. package/dist/{chunk-WCUT3EQR.js.map → chunk-Z23I2JA6.js.map} +1 -1
  230. package/dist/{chunk-VKGNMXGZ.js → chunk-Z7HLX4V2.js} +4 -4
  231. package/dist/{chunk-VKGNMXGZ.js.map → chunk-Z7HLX4V2.js.map} +1 -1
  232. package/dist/{chunk-LZCX2TCZ.js → chunk-ZII54C3E.js} +355 -1075
  233. package/dist/chunk-ZII54C3E.js.map +1 -0
  234. package/dist/{chunk-CVUMZTNO.js → chunk-ZQPBYLCS.js} +4 -4
  235. package/dist/{chunk-CVUMZTNO.js.map → chunk-ZQPBYLCS.js.map} +1 -1
  236. package/dist/{claude-code-LFAOJ3UQ.js → claude-code-VL6UM7BZ.js} +4 -4
  237. package/dist/{claude-code-LFAOJ3UQ.js.map → claude-code-VL6UM7BZ.js.map} +1 -1
  238. package/dist/cli/index.js +494 -301
  239. package/dist/cli/index.js.map +1 -1
  240. package/dist/cli/src/agent-file-refresh.d.ts +25 -0
  241. package/dist/cli/src/agent-file-refresh.d.ts.map +1 -0
  242. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  243. package/dist/cli/src/commands/catalog.d.ts +9 -2
  244. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  245. package/dist/cli/src/commands/config.d.ts.map +1 -1
  246. package/dist/cli/src/commands/harness.d.ts +1 -1
  247. package/dist/cli/src/commands/harness.d.ts.map +1 -1
  248. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  249. package/dist/cli/src/commands/library-index.d.ts +5 -7
  250. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  251. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  252. package/dist/cli/src/commands/preset-export.d.ts.map +1 -1
  253. package/dist/cli/src/commands/project.d.ts.map +1 -1
  254. package/dist/cli/src/commands/run.d.ts.map +1 -1
  255. package/dist/cli/src/commands/serve-preflight.d.ts +27 -48
  256. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  257. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  258. package/dist/cli/src/commands/source.d.ts +6 -9
  259. package/dist/cli/src/commands/source.d.ts.map +1 -1
  260. package/dist/cli/src/commands/validate.d.ts +6 -0
  261. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  262. package/dist/cli/src/config-checks.d.ts.map +1 -1
  263. package/dist/cli/src/harness-error.d.ts +11 -9
  264. package/dist/cli/src/harness-error.d.ts.map +1 -1
  265. package/dist/cli/src/skill-checks.d.ts +48 -74
  266. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  267. package/dist/connectors/config.js +5 -5
  268. package/dist/connectors/index.js +22 -22
  269. package/dist/{connectors-KPF4UUDS.js → connectors-7EPJRVLJ.js} +25 -25
  270. package/dist/{connectors-KPF4UUDS.js.map → connectors-7EPJRVLJ.js.map} +1 -1
  271. package/dist/connectors-shared/index.js +2 -2
  272. package/dist/core/index.js +7 -6
  273. package/dist/core/manifest.js +2 -2
  274. package/dist/core/models.js +1 -1
  275. package/dist/core/publish-manifest.js +3 -3
  276. package/dist/core/ref.js +1 -1
  277. package/dist/core/runtime-assets.js +5 -5
  278. package/dist/core/src/agent-prompt-sections.d.ts +96 -4
  279. package/dist/core/src/agent-prompt-sections.d.ts.map +1 -1
  280. package/dist/core/src/check-asset.d.ts +115 -0
  281. package/dist/core/src/check-asset.d.ts.map +1 -0
  282. package/dist/core/src/harness-model.d.ts +20 -0
  283. package/dist/core/src/harness-model.d.ts.map +1 -0
  284. package/dist/core/src/index.d.ts +10 -6
  285. package/dist/core/src/index.d.ts.map +1 -1
  286. package/dist/core/src/lock.d.ts +12 -10
  287. package/dist/core/src/lock.d.ts.map +1 -1
  288. package/dist/core/src/models.d.ts +42 -11
  289. package/dist/core/src/models.d.ts.map +1 -1
  290. package/dist/core/src/publish-manifest.d.ts +17 -0
  291. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  292. package/dist/core/src/repo-identity.d.ts +41 -0
  293. package/dist/core/src/repo-identity.d.ts.map +1 -0
  294. package/dist/core/src/repo-manager.d.ts +3 -9
  295. package/dist/core/src/repo-manager.d.ts.map +1 -1
  296. package/dist/core/src/walker.d.ts.map +1 -1
  297. package/dist/core/src/workspace-config.d.ts.map +1 -1
  298. package/dist/core/workspace-config.js +4 -4
  299. package/dist/deploy/index.js +7 -6
  300. package/dist/deploy/index.js.map +1 -1
  301. package/dist/discovery/index.js +5 -5
  302. package/dist/discovery/src/source-config.d.ts.map +1 -1
  303. package/dist/{ensure-sources-FOMEGCQ5.js → ensure-sources-CI3JQJST.js} +32 -30
  304. package/dist/ensure-sources-CI3JQJST.js.map +1 -0
  305. package/dist/factory-assets/connectors/box.js +22 -22
  306. package/dist/factory-assets/connectors/deploy.js +22 -22
  307. package/dist/factory-assets/connectors/devserver.js +22 -22
  308. package/dist/factory-assets/connectors/flow/adapter.js +22 -22
  309. package/dist/factory-assets/connectors/flow/engine.js +8 -7
  310. package/dist/factory-assets/connectors/flow/run-flow.js +24 -24
  311. package/dist/factory-assets/connectors/flow.js +22 -22
  312. package/dist/factory-assets/connectors/git.js +22 -22
  313. package/dist/factory-assets/connectors/gmail.js +22 -22
  314. package/dist/factory-assets/connectors/googledrive.js +22 -22
  315. package/dist/factory-assets/connectors/local.js +22 -22
  316. package/dist/factory-assets/connectors/mattermost.js +22 -22
  317. package/dist/factory-assets/connectors/memory.js +22 -22
  318. package/dist/factory-assets/connectors/minio.js +22 -22
  319. package/dist/factory-assets/connectors/postgres.js +22 -22
  320. package/dist/factory-assets/connectors/s3.js +22 -22
  321. package/dist/factory-assets/connectors/sharepoint.js +22 -22
  322. package/dist/factory-assets/connectors/sqlite.js +22 -22
  323. package/dist/factory-assets/connectors/static-server.js +22 -22
  324. package/dist/factory-assets/connectors/tunnel.js +22 -22
  325. package/dist/factory-assets/connectors/webdav.js +22 -22
  326. package/dist/factory-assets/connectors/xstate-store.js +22 -22
  327. package/dist/factory-assets/connectors/xstate.js +22 -22
  328. package/dist/{flows-J64L5MGJ.js → flows-6XQAYQS4.js} +12 -11
  329. package/dist/{flows-J64L5MGJ.js.map → flows-6XQAYQS4.js.map} +1 -1
  330. package/dist/{helpers-ZJ67FO3Z.js → helpers-26MR5QPO.js} +32 -30
  331. package/dist/{helpers-ZJ67FO3Z.js.map → helpers-26MR5QPO.js.map} +1 -1
  332. package/dist/library/index.js +10 -10
  333. package/dist/library/install.js +4 -4
  334. package/dist/library/src/index.d.ts +1 -1
  335. package/dist/library/src/index.d.ts.map +1 -1
  336. package/dist/library/src/local/db.d.ts.map +1 -1
  337. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  338. package/dist/library/src/local/library.d.ts.map +1 -1
  339. package/dist/library/src/local/schema.d.ts +19 -0
  340. package/dist/library/src/local/schema.d.ts.map +1 -1
  341. package/dist/library/src/user-library.d.ts +18 -0
  342. package/dist/library/src/user-library.d.ts.map +1 -1
  343. package/dist/{library-publish-RGVXGTY4.js → library-publish-F3AKF66O.js} +74 -68
  344. package/dist/library-publish-F3AKF66O.js.map +1 -0
  345. package/dist/model-endpoint/index.js +10 -9
  346. package/dist/{open-library-I5JHL37T.js → open-library-FVV6GG4I.js} +35 -33
  347. package/dist/{open-library-I5JHL37T.js.map → open-library-FVV6GG4I.js.map} +1 -1
  348. package/dist/{open-registry-4HNCWOCN.js → open-registry-VX2BVMS5.js} +16 -16
  349. package/dist/{open-registry-4HNCWOCN.js.map → open-registry-VX2BVMS5.js.map} +1 -1
  350. package/dist/{paths-PXBWY532.js → paths-PIWSSUUG.js} +10 -9
  351. package/dist/{paths-PXBWY532.js.map → paths-PIWSSUUG.js.map} +1 -1
  352. package/dist/{plugin-store-ZC3EGZ3D.js → plugin-store-MVTW6G7J.js} +10 -9
  353. package/dist/{plugin-store-ZC3EGZ3D.js.map → plugin-store-MVTW6G7J.js.map} +1 -1
  354. package/dist/{project-K5JWPIJ6.js → project-GFQP4TW6.js} +50 -48
  355. package/dist/{project-K5JWPIJ6.js.map → project-GFQP4TW6.js.map} +1 -1
  356. package/dist/resolver/index.js +8 -7
  357. package/dist/runner/composition-content.d.ts +2 -0
  358. package/dist/runner/composition-content.js +29 -0
  359. package/dist/runner/composition-content.js.map +1 -0
  360. package/dist/runner/index.js +40 -39
  361. package/dist/runner/src/compaction/prompt.d.ts.map +1 -1
  362. package/dist/runner/src/composition/content-entry.d.ts +15 -0
  363. package/dist/runner/src/composition/content-entry.d.ts.map +1 -0
  364. package/dist/runner/src/composition/content-source.d.ts +7 -0
  365. package/dist/runner/src/composition/content-source.d.ts.map +1 -1
  366. package/dist/runner/src/composition/dry-run.d.ts +5 -1
  367. package/dist/runner/src/composition/dry-run.d.ts.map +1 -1
  368. package/dist/runner/src/composition/index.d.ts +1 -1
  369. package/dist/runner/src/composition/index.d.ts.map +1 -1
  370. package/dist/runner/src/composition/prompt-sections.d.ts +47 -20
  371. package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -1
  372. package/dist/runner/src/context-usage/compose.d.ts.map +1 -1
  373. package/dist/runner/src/session-builder.d.ts +3 -8
  374. package/dist/runner/src/session-builder.d.ts.map +1 -1
  375. package/dist/runner/src/work-practices.d.ts +9 -0
  376. package/dist/runner/src/work-practices.d.ts.map +1 -0
  377. package/dist/sdk/asset-manager.js +17 -15
  378. package/dist/sdk/bridge.js +18 -18
  379. package/dist/sdk/core.js +7 -6
  380. package/dist/sdk/flow.js +8 -7
  381. package/dist/sdk/index.js +40 -39
  382. package/dist/sdk/index.js.map +1 -1
  383. package/dist/sdk/resolver.js +8 -7
  384. package/dist/sdk/runner.js +40 -39
  385. package/dist/sdk/session.js +2 -2
  386. package/dist/sdk/transport/ws/server.js +8 -7
  387. package/dist/sdk/transport/ws.js +8 -7
  388. package/dist/sdk/transport.js +8 -7
  389. package/dist/sdk/types.js +1 -1
  390. package/dist/serve-preflight-XJS5OZML.js +138 -0
  391. package/dist/serve-preflight-XJS5OZML.js.map +1 -0
  392. package/dist/session/index.js +2 -2
  393. package/dist/{setup-RXTNGML5.js → setup-BFEBJLYF.js} +33 -31
  394. package/dist/setup-BFEBJLYF.js.map +1 -0
  395. package/dist/{skills-5D4KDVPJ.js → skills-OCG7B5CL.js} +13 -12
  396. package/dist/{skills-5D4KDVPJ.js.map → skills-OCG7B5CL.js.map} +1 -1
  397. package/dist/source-P6JPZYWP.js +93 -0
  398. package/dist/{source-2LP5W3ST.js.map → source-P6JPZYWP.js.map} +1 -1
  399. package/dist/{source-manifest-publish-EZNCTSQF.js → source-manifest-publish-XBFHEURV.js} +54 -52
  400. package/dist/source-manifest-publish-XBFHEURV.js.map +1 -0
  401. package/dist/transport/index.js +8 -7
  402. package/dist/transport/ws/server.js +8 -7
  403. package/dist/transport/ws.js +8 -7
  404. package/dist/tui/index.js +40 -39
  405. package/dist/tui/index.js.map +1 -1
  406. package/dist/types/index.js +1 -1
  407. package/dist/types/src/context-usage.d.ts +1 -1
  408. package/dist/types/src/events.d.ts +3 -2
  409. package/dist/types/src/events.d.ts.map +1 -1
  410. package/dist/types/src/runtime.d.ts +6 -0
  411. package/dist/types/src/runtime.d.ts.map +1 -1
  412. package/dist/workspace-plugin/adapters/mcp.js +29 -29
  413. package/dist/workspace-plugin/adapters/omp.js +14 -14
  414. package/dist/workspace-plugin/index.js +1 -1
  415. package/package.json +7 -1
  416. package/dist/asset-feeds-DOG5FK7T.js.map +0 -1
  417. package/dist/chunk-3BRBTQ6M.js.map +0 -1
  418. package/dist/chunk-5FO4U3OL.js.map +0 -1
  419. package/dist/chunk-7FXOOUOC.js.map +0 -1
  420. package/dist/chunk-7HRZACI4.js.map +0 -1
  421. package/dist/chunk-7LJUK5JK.js.map +0 -1
  422. package/dist/chunk-7UBCUKJO.js.map +0 -1
  423. package/dist/chunk-7VBD5XUM.js.map +0 -1
  424. package/dist/chunk-A7TM4PZZ.js +0 -110
  425. package/dist/chunk-A7TM4PZZ.js.map +0 -1
  426. package/dist/chunk-B6W5DCH5.js.map +0 -1
  427. package/dist/chunk-BNLXZXZN.js.map +0 -1
  428. package/dist/chunk-CFRHYD4C.js.map +0 -1
  429. package/dist/chunk-DRUAQ7IY.js.map +0 -1
  430. package/dist/chunk-DYH3VSPU.js.map +0 -1
  431. package/dist/chunk-F7WMHDTV.js.map +0 -1
  432. package/dist/chunk-LMUNQYJQ.js.map +0 -1
  433. package/dist/chunk-LZCX2TCZ.js.map +0 -1
  434. package/dist/chunk-MEU2HHGV.js.map +0 -1
  435. package/dist/chunk-MS2IXLTC.js.map +0 -1
  436. package/dist/chunk-OC3AIMZH.js.map +0 -1
  437. package/dist/chunk-RRAXV5LE.js.map +0 -1
  438. package/dist/chunk-YNQRVTXH.js.map +0 -1
  439. package/dist/cli/src/commands/harness-preflight.d.ts +0 -40
  440. package/dist/cli/src/commands/harness-preflight.d.ts.map +0 -1
  441. package/dist/ensure-sources-FOMEGCQ5.js.map +0 -1
  442. package/dist/library-publish-RGVXGTY4.js.map +0 -1
  443. package/dist/serve-preflight-L6VVCDM5.js +0 -61
  444. package/dist/serve-preflight-L6VVCDM5.js.map +0 -1
  445. package/dist/setup-RXTNGML5.js.map +0 -1
  446. package/dist/source-2LP5W3ST.js +0 -91
  447. package/dist/source-manifest-publish-EZNCTSQF.js.map +0 -1
@@ -1,17 +1,17 @@
1
- import { openLibrary } from './chunk-VKGNMXGZ.js';
2
- import { getKindRegistry } from './chunk-HPQ2WDYC.js';
3
- import { S, logErr, logWarn, logOk, logInfo } from './chunk-5FO4U3OL.js';
4
- import { resolveBinding, UnknownCompositionKindError } from './chunk-LZCX2TCZ.js';
5
- import { filesEntryPaths, resolveIndexPath, LocalIndex, assetRootProblem, stampManifestPublisher, upsertManifestAsset } from './chunk-7FXOOUOC.js';
6
- import { SEMVER_RE, invalidSemverMessage, flowFileNameError, parseManifestFile, requiresSyntaxErrors } from './chunk-DRUAQ7IY.js';
1
+ import { openLibrary } from './chunk-Z7HLX4V2.js';
2
+ import { getKindRegistry } from './chunk-U2WPJHRA.js';
3
+ import { S, logErr, logWarn, logOk, logInfo } from './chunk-WW22FS74.js';
7
4
  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-LCXQ4LVP.js';
9
- import { checkAgentSkillConformance } from './chunk-MEU2HHGV.js';
10
- import { matchPin } from './chunk-BNLXZXZN.js';
5
+ import { resolveBinding, UnknownCompositionKindError } from './chunk-4ZNKEDYH.js';
6
+ import { filesEntryPaths, resolveIndexPath, LocalIndex, assetRootProblem, stampManifestPublisher, upsertManifestAsset } from './chunk-RPRMD7XV.js';
7
+ import { SEMVER_RE, invalidSemverMessage, parseManifestFile, requiresSyntaxErrors, flowFileNameError } from './chunk-QUPZKTF3.js';
8
+ import { checkAsset, assetPathProblem } from './chunk-U7P22GEB.js';
9
+ import { matchPin } from './chunk-BRAOB37W.js';
11
10
  import { globalSkaileDir } from './chunk-L5VSIPQD.js';
12
- import { SKAILE_MANIFEST_FILENAME, loadSkPublishManifest, listAssetFiles, expandManifestFiles, listLibrarySymlinks, librarySymlinkMessage, isNonAssetPath, isLibraryManifestAtAssetRoot } from './chunk-MS2IXLTC.js';
13
- import { readAssetBody, parseFrontmatter } from './chunk-VS6XC5JE.js';
14
- import { parseDep, PUBLISHER_HINT, isValidPublisher, isValidAssetName, slugifyAssetName, parseAssetRef, ASSET_NAME_HINT, assetRefProblem } from './chunk-7HRZACI4.js';
11
+ import { SKAILE_MANIFEST_FILENAME, manifestTextPublisherProblems, loadSkPublishManifest, listAssetFiles, expandManifestFiles, listLibrarySymlinks, librarySymlinkMessage, isNonAssetPath, isLibraryManifestAtAssetRoot } from './chunk-PMXTBWFD.js';
12
+ import { readAssetBody, parseFrontmatter } from './chunk-2MTRRK37.js';
13
+ import { parseDep, parsePublisher, isValidAssetName, slugifyAssetName, assetRefProblem } from './chunk-HW4BDJPC.js';
14
+ import { composeSlotDiagnostics, agentDeprecationDiagnostics, composeRefTarget } from './chunk-LCXQ4LVP.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';
@@ -199,34 +199,6 @@ function manifestKindOfFile(file) {
199
199
  function manifestParseErrorText(reason) {
200
200
  return `parse error: ${reason}`;
201
201
  }
202
- var UNUSED_KEYS = ["reads_from", "writes_to"];
203
- function checkAssetManifest(kind, parsed, body, dirName) {
204
- const out = [];
205
- if (kind === "skill") {
206
- for (const f of checkAgentSkillConformance(parsed, { dirName })) {
207
- out.push({ tag: "skill conformance", text: `${f.field}: ${f.message}`, conformance: true });
208
- }
209
- }
210
- for (const key of UNUSED_KEYS) {
211
- if (key in parsed) {
212
- out.push({
213
- tag: kind,
214
- text: `${key}: unknown key; nothing in skaile reads it, so it has no effect. Remove it`,
215
- conformance: false
216
- });
217
- }
218
- }
219
- if (isScaffoldBody(kind, body)) {
220
- const noun = kind === "skill" ? "skill prompt" : kind;
221
- out.push({
222
- tag: kind,
223
- text: `body is still the scaffold placeholder; write the ${noun}`,
224
- conformance: false,
225
- scaffoldBody: true
226
- });
227
- }
228
- return out;
229
- }
230
202
  function declaredVersion(parsed) {
231
203
  const scalar = (v) => typeof v === "string" ? v : typeof v === "number" ? String(v) : void 0;
232
204
  const meta = parsed.metadata;
@@ -275,66 +247,6 @@ function withManifestDefaults(kind, parsed) {
275
247
  if (out.version == null && nested == null) out.version = DEFAULT_VERSION;
276
248
  return out;
277
249
  }
278
- function manifestIdentityError(kind, parsed) {
279
- const identity = kind === "flow" ? parsed.id : parsed.name;
280
- if (typeof identity !== "string" || identity.length === 0) return void 0;
281
- const publisher = typeof parsed.publisher === "string" ? parsed.publisher : void 0;
282
- if (publisher !== void 0) {
283
- try {
284
- parseAssetRef(`${kind}:@${publisher}/${identity}`);
285
- return void 0;
286
- } catch (e) {
287
- return e instanceof Error ? e.message : String(e);
288
- }
289
- }
290
- if (!isValidAssetName(identity)) {
291
- return `invalid asset ${kind === "flow" ? "id" : "name"} "${identity}" \u2014 ${ASSET_NAME_HINT}`;
292
- }
293
- return void 0;
294
- }
295
- function scaffoldDefinitionErrors(kind, parsed) {
296
- const out = [];
297
- if (kind === "flow") {
298
- if (parsed.description === FLOW_DESCRIPTION_PLACEHOLDER) {
299
- out.push("description is still the scaffold placeholder; say what the flow does");
300
- }
301
- if (parsed.nodes === void 0) {
302
- out.push("nodes is missing; a flow needs at least one node");
303
- } else if (Array.isArray(parsed.nodes) && parsed.nodes.length === 0) {
304
- out.push("nodes is still the scaffold placeholder (nodes: []); add the flow's nodes");
305
- } else if (Array.isArray(parsed.nodes)) {
306
- for (const node of parsed.nodes) {
307
- if (typeof node !== "object" || node === null || !("run" in node)) continue;
308
- const run = node.run;
309
- if (typeof run !== "object" || run === null || !("instruction" in run)) continue;
310
- if (run.instruction === FLOW_NODE_INSTRUCTION_PLACEHOLDER) {
311
- const id = "id" in node ? String(node.id) : "?";
312
- out.push(
313
- `node "${id}" instruction is still the scaffold placeholder; say what the step does`
314
- );
315
- }
316
- }
317
- }
318
- }
319
- if (kind === "preset") {
320
- if (parsed.description === PRESET_DESCRIPTION_PLACEHOLDER) {
321
- out.push(
322
- `description is still the scaffold placeholder ("${PRESET_DESCRIPTION_PLACEHOLDER}"); say what the preset does`
323
- );
324
- }
325
- const items = Array.isArray(parsed.items) ? parsed.items : [];
326
- const placeholderItem = items.some((item) => {
327
- const ref = typeof item === "string" ? item : item?.ref;
328
- return typeof ref === "string" && ref.trim() === PRESET_ITEM_PLACEHOLDER_REF;
329
- });
330
- if (placeholderItem) {
331
- out.push(
332
- `item ${PRESET_ITEM_PLACEHOLDER_REF} is still the scaffold placeholder; replace it with the preset's real items`
333
- );
334
- }
335
- }
336
- return out;
337
- }
338
250
  function contentRequiresEntries(parsed, fileName) {
339
251
  if (fileName === "agent.yaml") return [];
340
252
  const metadata = parsed.metadata;
@@ -403,86 +315,92 @@ function nameDescriptionProblem(kind, parsed, dirName, e) {
403
315
  }
404
316
  return void 0;
405
317
  }
406
- function checkAsset(kind, parsed, body, dirName, registry, rawText, fileName, agentFiles) {
407
- const errors = [];
408
- const error2 = (text) => {
409
- errors.push({ tag: kind, text, conformance: false });
410
- };
411
- const identity = manifestIdentityError(kind, parsed);
412
- if (identity) error2(identity);
413
- const flowFileError = kind === "flow" ? flowFileNameError(parsed, fileName) : void 0;
414
- if (flowFileError) error2(flowFileError);
415
- const semver = versionProblemText(parsed, rawText);
416
- if (semver) error2(semver);
318
+ function runAssetChecks(command, subject, opts = {}) {
319
+ const { registry, agentFiles, ...input } = subject;
320
+ const { kind, parsed, dirName, rawText, fileName } = input;
321
+ const error2 = (text) => ({ tag: kind, text, conformance: false });
417
322
  const effective = withManifestDefaults(kind, parsed);
418
- const versionKey = ["skill", "prompt", "contract"].includes(kind) ? "metadata.version" : "version";
419
- const provider = registry.getProvider(kind);
420
323
  const reported = /* @__PURE__ */ new Set();
421
- if (!provider) {
422
- error2(`unknown_asset_kind: kind "${kind}" is not registered`);
423
- } else {
424
- const result = provider.validateManifest(effective);
425
- if (!result.ok) {
324
+ let semver;
325
+ const deps = {
326
+ file: () => {
327
+ const text = kind === "flow" ? flowFileNameError(parsed, fileName) : void 0;
328
+ return text ? [error2(text)] : [];
329
+ },
330
+ version: () => {
331
+ semver = versionProblemText(parsed, rawText);
332
+ return semver ? [error2(semver)] : [];
333
+ },
334
+ schema: () => {
335
+ const errors = [];
336
+ const versionKey = ["skill", "prompt", "contract"].includes(kind) ? "metadata.version" : "version";
337
+ const provider = registry.getProvider(kind);
338
+ if (!provider) {
339
+ errors.push(error2(`unknown_asset_kind: kind "${kind}" is not registered`));
340
+ return errors;
341
+ }
342
+ const result = provider.validateManifest(effective);
343
+ if (result.ok) return errors;
426
344
  for (const e of result.errors) {
427
345
  if (e.path === "version" || e.path === "metadata.version") {
428
346
  if (!semver) {
429
- error2(`${e.path}: must be a semver string \u2014 set ${versionKey}: ${DEFAULT_VERSION}`);
347
+ errors.push(
348
+ error2(`${e.path}: must be a semver string \u2014 set ${versionKey}: ${DEFAULT_VERSION}`)
349
+ );
430
350
  }
431
351
  continue;
432
352
  }
433
353
  reported.add(e.path);
434
354
  const plain = nameDescriptionProblem(kind, parsed, dirName, e);
435
- if (plain) {
436
- error2(plain);
437
- continue;
438
- }
439
- error2(`${e.path ? `${e.path}: ` : ""}${e.message}`);
355
+ errors.push(error2(plain ?? `${e.path ? `${e.path}: ` : ""}${e.message}`));
440
356
  }
441
- }
442
- }
443
- const description = parsed.description;
444
- if (kind !== "skill" && typeof description === "string" && description.trim().startsWith(SKILL_DESCRIPTION_PLACEHOLDER_PREFIX)) {
445
- error2(
446
- `description: description is still the scaffold placeholder (${SKILL_DESCRIPTION_PLACEHOLDER_PREFIX} \u2026) \u2014 say what the ${kind} does and when to use it`
447
- );
448
- }
449
- for (const text of scaffoldDefinitionErrors(kind, parsed)) error2(text);
450
- for (const text of referenceErrors(kind, parsed, registry, fileName)) error2(text);
451
- if (kind === "flow") {
452
- if (!reported.has("description")) {
453
- const plain = nameDescriptionProblem(kind, parsed, dirName, {
454
- path: "description",
455
- message: ""
456
- });
457
- if (plain) {
458
- error2(plain);
459
- reported.add("description");
357
+ return errors;
358
+ },
359
+ references: () => ({
360
+ errors: referenceErrors(kind, parsed, registry, fileName).map(error2),
361
+ warnings: unheldRequiresFindings(kind, parsed, fileName, agentFiles?.composeRefs)
362
+ }),
363
+ definition: () => {
364
+ const errors = [];
365
+ const warnings = [];
366
+ if (kind === "flow") {
367
+ if (!reported.has("description")) {
368
+ const plain = nameDescriptionProblem(kind, parsed, dirName, {
369
+ path: "description",
370
+ message: ""
371
+ });
372
+ if (plain) {
373
+ errors.push(error2(plain));
374
+ reported.add("description");
375
+ }
376
+ }
377
+ const v2WithoutVersion = flowMissingSchemaVersionError(parsed);
378
+ if (v2WithoutVersion) errors.push(error2(v2WithoutVersion));
379
+ const flow = parseFlowDefinition(effective);
380
+ if (!flow.ok) {
381
+ for (const e of flow.errors) {
382
+ if (reported.has(e.path)) continue;
383
+ errors.push(error2(`invalid flow definition: ${e.path || "<root>"}: ${e.message}`));
384
+ }
385
+ }
460
386
  }
461
- }
462
- const v2WithoutVersion = flowMissingSchemaVersionError(parsed);
463
- if (v2WithoutVersion) error2(v2WithoutVersion);
464
- const flow = parseFlowDefinition(effective);
465
- if (!flow.ok) {
466
- for (const e of flow.errors) {
467
- if (reported.has(e.path)) continue;
468
- error2(`invalid flow definition: ${e.path || "<root>"}: ${e.message}`);
387
+ if (kind === "agent") {
388
+ if (fileName === "agent.yaml") {
389
+ const definition = checkAgentDefinition(parsed, registry);
390
+ errors.push(...definition.errors);
391
+ warnings.push(...definition.advisories);
392
+ }
393
+ if (agentFiles) {
394
+ errors.push(...checkAgentFiles(parsed, agentFiles.dir, agentFiles.libraryRoot));
395
+ }
396
+ if (agentFiles?.composeRefs) {
397
+ errors.push(...agentComposeRefProblems(parsed, agentFiles.composeRefs));
398
+ }
469
399
  }
400
+ return { errors, warnings };
470
401
  }
471
- }
472
- const advisories = checkAssetManifest(kind, parsed, body, dirName);
473
- advisories.push(...unheldRequiresFindings(kind, parsed, fileName, agentFiles?.composeRefs));
474
- if (kind === "agent") {
475
- if (fileName === "agent.yaml") {
476
- const definition = checkAgentDefinition(parsed, registry);
477
- errors.push(...definition.errors);
478
- advisories.push(...definition.advisories);
479
- }
480
- if (agentFiles) errors.push(...checkAgentFiles(parsed, agentFiles.dir, agentFiles.libraryRoot));
481
- if (agentFiles?.composeRefs) {
482
- errors.push(...agentComposeRefProblems(parsed, agentFiles.composeRefs));
483
- }
484
- }
485
- return { errors, advisories };
402
+ };
403
+ return checkAsset(command, input, deps, opts);
486
404
  }
487
405
  function flowMissingSchemaVersionError(parsed) {
488
406
  if ("schemaVersion" in parsed || !Array.isArray(parsed.nodes)) return void 0;
@@ -529,26 +447,34 @@ function findEntryManifestFile(libraryPath, entry) {
529
447
  }
530
448
  return null;
531
449
  }
532
- function checkAssetFile(file, kind, registry, libraryRoot, composeRefs) {
450
+ function checkAssetFileFull(command, file, kind, registry, libraryRoot, composeRefs) {
533
451
  let text;
534
452
  try {
535
453
  text = fs3.readFileSync(file, "utf8");
536
454
  } catch {
537
- return [];
455
+ return { errors: [], warnings: [] };
538
456
  }
539
457
  const res = parseManifestFile(file, text);
540
- if (!res.ok) return [];
541
- const checked = checkAsset(
458
+ if (!res.ok) return { errors: [], warnings: [] };
459
+ return runAssetChecks(command, {
542
460
  kind,
543
- res.data,
544
- readAssetBody(file, text),
545
- path3.basename(path3.dirname(file)),
461
+ parsed: res.data,
462
+ body: readAssetBody(file, text),
463
+ dirName: path3.basename(path3.dirname(file)),
546
464
  registry,
547
- text,
548
- path3.basename(file),
549
- libraryRoot === void 0 ? void 0 : { dir: path3.dirname(file), libraryRoot, ...composeRefs ? { composeRefs } : {} }
550
- );
551
- return [...checked.errors, ...checked.advisories.filter((f) => f.scaffoldBody)];
465
+ rawText: text,
466
+ fileName: path3.basename(file),
467
+ ...libraryRoot === void 0 ? {} : {
468
+ agentFiles: {
469
+ dir: path3.dirname(file),
470
+ libraryRoot,
471
+ ...composeRefs ? { composeRefs } : {}
472
+ }
473
+ }
474
+ });
475
+ }
476
+ function checkAssetFile(command, file, kind, registry, libraryRoot, composeRefs) {
477
+ return checkAssetFileFull(command, file, kind, registry, libraryRoot, composeRefs).errors;
552
478
  }
553
479
  function libraryAssetRefusals(asset, libraryPath, registry) {
554
480
  let file = asset.source;
@@ -565,7 +491,7 @@ function libraryAssetRefusals(asset, libraryPath, registry) {
565
491
  } catch {
566
492
  return [];
567
493
  }
568
- return checkAssetFile(file, asset.kind, registry, libraryPath).map(
494
+ return checkAssetFile("index", file, asset.kind, registry, libraryPath).map(
569
495
  (f) => `${rel} [${f.tag}] \u2014 ${f.text}`
570
496
  );
571
497
  }
@@ -1044,42 +970,24 @@ async function manifestDependencyProblems(dir) {
1044
970
  async function unresolvedManifestDependencies(dir) {
1045
971
  return (await manifestDependencyProblems(dir)).map((p) => p.message);
1046
972
  }
1047
- function invalidPublisherMessage(raw) {
1048
- return `Invalid publisher "${raw}": ${PUBLISHER_HINT}.`;
1049
- }
1050
973
  function requireValidPublisherOrExit(raw) {
1051
- const bare = raw.trim().replace(/^@/, "");
1052
- if (!isValidPublisher(bare)) {
1053
- logErr(invalidPublisherMessage(raw));
974
+ const parsed = parsePublisher(raw);
975
+ if (!parsed.ok) {
976
+ logErr(parsed.message);
1054
977
  process.exit(1);
1055
978
  }
1056
- return bare;
979
+ return parsed.publisher;
1057
980
  }
1058
981
  function manifestPublisherProblems(dir) {
1059
- let doc;
982
+ let text;
1060
983
  try {
1061
- doc = parse(fs3.readFileSync(path3.join(dir, SKAILE_MANIFEST_FILENAME), "utf-8"));
984
+ text = fs3.readFileSync(path3.join(dir, SKAILE_MANIFEST_FILENAME), "utf-8");
1062
985
  } catch {
1063
986
  return [];
1064
987
  }
1065
- if (!doc || typeof doc !== "object") return [];
1066
- const { publisher, assets } = doc;
1067
- const problems = [];
1068
- const check = (value, where) => {
1069
- if (typeof value !== "string") return;
1070
- if (!isValidPublisher(value.trim().replace(/^@/, ""))) {
1071
- problems.push(`${SKAILE_MANIFEST_FILENAME} ${where} \u2014 ${invalidPublisherMessage(value)}`);
1072
- }
1073
- };
1074
- check(publisher, "[publisher]");
1075
- if (Array.isArray(assets)) {
1076
- for (const a of assets) {
1077
- if (!a || typeof a !== "object") continue;
1078
- const { kind, name, publisher: assetPublisher } = a;
1079
- check(assetPublisher, `[assets] ${String(kind)}:${String(name)}`);
1080
- }
1081
- }
1082
- return problems;
988
+ return manifestTextPublisherProblems(text).map(
989
+ (p) => `${SKAILE_MANIFEST_FILENAME} ${p.where} \u2014 ${p.message}`
990
+ );
1083
991
  }
1084
992
  function exitOnManifestPublisherProblems(dir, libName) {
1085
993
  const problems = manifestPublisherProblems(dir);
@@ -1148,7 +1056,7 @@ function manifestRootProblems(dir) {
1148
1056
  if (!a || typeof a !== "object") continue;
1149
1057
  const { kind, name, root, source, files } = a;
1150
1058
  if (typeof root !== "string" || source !== void 0) continue;
1151
- const problem = assetRootProblem(dir, root) ?? (files === void 0 ? emptyRootProblem(dir, root) : void 0);
1059
+ const problem = assetRootProblem(dir, root) ?? assetPathProblem(root) ?? (files === void 0 ? emptyRootProblem(dir, root) : void 0);
1152
1060
  if (problem) {
1153
1061
  problems.push(
1154
1062
  `${SKAILE_MANIFEST_FILENAME} [assets] ${String(kind)}:${String(name)} \u2014 ${problem}`
@@ -1317,7 +1225,8 @@ function resolveLibraryPublisherDetailed(lib, opts, storeIdentity) {
1317
1225
  const declared = loadSkPublishManifest(lib.path)?.publisher?.trim();
1318
1226
  if (declared) return { publisher: bare(declared), source: "manifest" };
1319
1227
  const identity = (storeIdentity?.githubLogin ?? storeIdentity?.username)?.trim().toLowerCase();
1320
- if (identity && isValidPublisher(identity)) return { publisher: identity, source: "identity" };
1228
+ const parsedIdentity = identity === void 0 ? void 0 : parsePublisher(identity);
1229
+ if (parsedIdentity?.ok) return { publisher: parsedIdentity.publisher, source: "identity" };
1321
1230
  try {
1322
1231
  const slug = slugifyAssetName(lib.name).slice(0, 39).replace(/-+$/, "");
1323
1232
  return { publisher: slug, source: "library-name" };
@@ -1459,6 +1368,6 @@ function warnUntrackedAssetFiles(libPath) {
1459
1368
  return count;
1460
1369
  }
1461
1370
 
1462
- export { DEFAULT_VERSION, DOMAIN_REMOVED_HINT, MANIFEST_GLOBS, assetEntryRef, assetNamespace, bareName, checkAsset, checkAssetFile, checkComposeKinds, composeRefContext, declaredVersion, deviceLogin, duplicateAssetMessage, exitOnEmptyAsset, exitOnLibrarySymlinks, exitOnManifestPathProblems, exitOnManifestPublisherProblems, exitOnRootSkillExtraAssets, exitOnRootSkillLibrary, findAssetManifestFile, findEntryManifestFile, formatNamespaceAvailability, getAccessToken, getStoreIdentity, hasStoredAuth, indexLibrary, invalidPublisherMessage, invalidSemverText, libraryAssetRefusals, loadStoreAuthConfig, logout, manifestDependencyProblems, manifestEntryFilesRefusals, manifestEntryNameProblems, manifestEntryRenames, manifestEntryRootRefusals, manifestFilesProblems, manifestNamespaces, manifestParseErrorText, manifestParseFailureLine, manifestPublisherProblems, manifestRequiresProblems, manifestRootProblems, manifestVersionMismatchMessage, plannedRefs, preflightNamespace, publishToStore, readOnlyLibraryAt, refFor, registerLibraryAsset, registeredAssetKeys, rejectRemovedDomainOption, removedDomainOption, renameFileFix, reportLibrarySymlinks, requireValidPublisherOrExit, resolveLibraryPublisherDetailed, rootLevelAssetFileProblem, rootSkillExtraAssetProblems, unheldRequiresOfFile, unresolvedManifestDependencies, warnIgnoredDomainFiles, warnLegacyBundleFiles, warnLibraryNameFallback, warnUntrackedAssetFiles };
1463
- //# sourceMappingURL=chunk-OC3AIMZH.js.map
1464
- //# sourceMappingURL=chunk-OC3AIMZH.js.map
1371
+ export { DEFAULT_VERSION, DOMAIN_REMOVED_HINT, MANIFEST_GLOBS, assetEntryRef, assetNamespace, bareName, checkAssetFile, checkAssetFileFull, checkComposeKinds, composeRefContext, declaredVersion, deviceLogin, duplicateAssetMessage, exitOnEmptyAsset, exitOnLibrarySymlinks, exitOnManifestPathProblems, exitOnManifestPublisherProblems, exitOnRootSkillExtraAssets, exitOnRootSkillLibrary, findAssetManifestFile, findEntryManifestFile, formatNamespaceAvailability, getAccessToken, getStoreIdentity, hasStoredAuth, indexLibrary, invalidSemverText, libraryAssetRefusals, loadStoreAuthConfig, logout, manifestDependencyProblems, manifestEntryFilesRefusals, manifestEntryNameProblems, manifestEntryRenames, manifestEntryRootRefusals, manifestFilesProblems, manifestKindOfFile, manifestNamespaces, manifestParseErrorText, manifestParseFailureLine, manifestPublisherProblems, manifestRequiresProblems, manifestRootProblems, manifestVersionMismatchMessage, plannedRefs, preflightNamespace, publishToStore, readOnlyLibraryAt, refFor, registerLibraryAsset, registeredAssetKeys, rejectRemovedDomainOption, removedDomainOption, renameFileFix, reportLibrarySymlinks, requireValidPublisherOrExit, resolveLibraryPublisherDetailed, rootLevelAssetFileProblem, rootSkillExtraAssetProblems, runAssetChecks, unheldRequiresOfFile, unresolvedManifestDependencies, warnIgnoredDomainFiles, warnLegacyBundleFiles, warnLibraryNameFallback, warnUntrackedAssetFiles };
1372
+ //# sourceMappingURL=chunk-KDRA6FYE.js.map
1373
+ //# sourceMappingURL=chunk-KDRA6FYE.js.map