@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
@@ -0,0 +1,265 @@
1
+ import { type CatalogEntry, type HarnessName, type LockFile, type SourceDeclaration } from "@skaile/workspaces/core";
2
+ import { type DeployableEntry } from "../installer.js";
3
+ import { AmMcpRender } from "../mcp-render.js";
4
+ import type { DeclaredAsset, IncompleteDeploy } from "../shared/types.js";
5
+ import type { OutdatedEntry } from "./outdated.js";
6
+ /**
7
+ * A tracked asset whose copy still sits in the project dirs of a harness the
8
+ * project no longer deploys to. See {@link AssetManager.listStaleHarnessCopies}.
9
+ */
10
+ export interface StaleHarnessCopy {
11
+ /** The harness whose dir holds the stale copy. */
12
+ harness: HarnessName;
13
+ kind: string;
14
+ name: string;
15
+ /** Absolute path of the stale copy. */
16
+ path: string;
17
+ /**
18
+ * `true` when skaile wrote this copy, so `harness set --clean` may delete it: its bytes equal
19
+ * the copy the active harness holds now, or (an agent, whose shape differs per harness) the
20
+ * lock records the asset. `false` for a folder the user made: it is named and kept (p1671).
21
+ */
22
+ skaileWrote: boolean;
23
+ }
24
+ /**
25
+ * @deprecated Use {@link StaleHarnessCopy}, which also names the harness of the stale copy.
26
+ */
27
+ export interface LegacyDeployedAsset {
28
+ kind: string;
29
+ name: string;
30
+ /** Absolute path of the stale copy. */
31
+ path: string;
32
+ }
33
+ /**
34
+ * A global declared dependency from `~/.skaile/skaile.yaml`, reconciled against
35
+ * **one** harness's global deploy dir. The same ref yields one entry per global
36
+ * harness (see {@link AssetManager.globalState}) so an asset can read `installed`
37
+ * for `claude-code` and `drift`/`declared` for `codex` simultaneously.
38
+ */
39
+ export interface HarnessDeclaredAsset extends DeclaredAsset {
40
+ /** The global harness this state was reconciled against. */
41
+ harness: HarnessName;
42
+ }
43
+ /**
44
+ * Thrown by {@link AssetManager.listDeclared} when the project has no
45
+ * `skaile.yaml`. The CLI maps this to a `skaile init` hint.
46
+ */
47
+ export declare class MissingManifestError extends Error {
48
+ readonly projectDir: string;
49
+ constructor(projectDir: string);
50
+ }
51
+ /**
52
+ * Live sync status for a repository.
53
+ *
54
+ * @docLink packages/asset-manager/concepts#asset-manager
55
+ */
56
+ export interface RepoStatusInfo {
57
+ /** Repository name as declared in `skaile.yaml`. */
58
+ name: string;
59
+ /** How the repo is sourced. */
60
+ kind: "local" | "remote" | "linked";
61
+ /** Number of commits the local clone is behind the remote. */
62
+ behind: number;
63
+ /** `true` when the local clone matches the remote HEAD. */
64
+ upToDate: boolean;
65
+ /** Error message when status check failed. */
66
+ error?: string;
67
+ }
68
+ /**
69
+ * A single deployed asset shown in the workspace overview.
70
+ *
71
+ * @docLink packages/asset-manager/concepts#asset-manager
72
+ */
73
+ export interface OverviewEntry {
74
+ /** Asset kind (`skill`, `agent`, `prompt`, `flow`, `contract`). */
75
+ kind: string;
76
+ /** Asset name. */
77
+ name: string;
78
+ /** Publisher that provides this asset (from the lock file; `"unknown"` when unresolvable). */
79
+ publisher: string;
80
+ /** Version string from the lock file. */
81
+ version: string;
82
+ /**
83
+ * Sync status relative to the source repository.
84
+ * - `"synced"` — local clone matches remote HEAD
85
+ * - `"outdated"` — local clone is behind the remote
86
+ * - `"local"` — sourced from a local path, no remote to compare
87
+ * - `"error"` — status check failed
88
+ * - `"unknown"` — repository not found or lock entry missing
89
+ */
90
+ syncStatus: string;
91
+ }
92
+ /**
93
+ * Aggregated workspace overview returned by `AssetManager.overview()`.
94
+ *
95
+ * @docLink packages/asset-manager/concepts#asset-manager
96
+ */
97
+ export interface OverviewResult {
98
+ /** Entries grouped by publisher, sorted alphabetically. Each group is sorted by kind then name. */
99
+ byPublisher: Map<string, OverviewEntry[]>;
100
+ /** Total number of deployed assets. */
101
+ total: number;
102
+ /** Sync status for each configured repository. */
103
+ repos: RepoStatusInfo[];
104
+ }
105
+ /** Search, info, listDeployed, listDeclared, globalState, overview. One layer of the `AssetManager` class chain (see `asset-manager/CLAUDE.md`). */
106
+ export declare abstract class AmReadState extends AmMcpRender {
107
+ protected abstract declaredPresetGaps(declared: readonly string[], lock: LockFile | null): Promise<Map<string, Array<{
108
+ ref: string;
109
+ resolvable: boolean;
110
+ }>>>;
111
+ abstract outdated(): Promise<OutdatedEntry[]>;
112
+ /**
113
+ * Search the catalog across all configured repositories.
114
+ *
115
+ * @param query - Substring to match against entry names and descriptions (case-insensitive).
116
+ * Omit to return all entries.
117
+ * @param kind - Filter by asset kind (`"skill"`, `"agent"`, `"prompt"`, `"flow"`, `"contract"`).
118
+ * Omit to return all kinds.
119
+ * @returns Array of matching {@link CatalogEntry} objects from all accessible repositories.
120
+ */
121
+ search(query?: string, kind?: string): Promise<CatalogEntry[]>;
122
+ /**
123
+ * On-disk root + config slug for every declared (and the implicit factory)
124
+ * source that has a local clone. Companion to {@link search}: callers that
125
+ * need to relate a scanned entry back to its source root (e.g. to stamp
126
+ * plugin grouping) can't recover the root from the flat
127
+ * {@link CatalogEntry} list `search` returns.
128
+ */
129
+ searchRepoRoots(): {
130
+ repoName: string;
131
+ root: string;
132
+ }[];
133
+ /**
134
+ * Look up a single asset's full catalog entry.
135
+ *
136
+ * Accepts a bare `kind:name` ref (no publisher) in addition to the fully-qualified
137
+ * `kind:@publisher/name` form — {@link listDeployed} emits publisher-less refs and
138
+ * {@link doctor} passes them straight to this method.
139
+ *
140
+ * @param ref - Asset ref in `kind:name`, `kind:@publisher/name`, or `repo/kind:name` form.
141
+ * @returns The matching {@link CatalogEntry}, or `null` when not found.
142
+ */
143
+ info(ref: string): Promise<DeployableEntry | null>;
144
+ /**
145
+ * List all assets currently deployed in the workspace (or global cache).
146
+ *
147
+ * Scans the framework deploy directories rather than the lock file, so it
148
+ * also returns assets that were installed manually or outside of `skaile install`.
149
+ *
150
+ * @param kind - Filter by asset kind. Omit to return all kinds.
151
+ * @returns Shallow {@link CatalogEntry} objects (description and version will be empty).
152
+ */
153
+ listDeployed(kind?: string): CatalogEntry[];
154
+ /**
155
+ * Absolute path → sha256 of every native agent file the lock records under `rendered:`. A
156
+ * `harness set` rewrites the lock for the new harness, so a caller that cleans up afterwards
157
+ * reads this first and hands it to {@link AssetManager.listStaleHarnessCopies}.
158
+ */
159
+ lockedRenderedHashes(): Map<string, string>;
160
+ /**
161
+ * Tracked assets (`skaile.lock.yaml` or declared in `skaile.yaml`) whose copy
162
+ * still sits in the project dirs of another harness (`.claude/…`, `.omp/…`,
163
+ * `.codex/…`) although this manager deploys to {@link AssetManager.harness}.
164
+ * A project that moved with `skaile harness set` holds orphans there that
165
+ * `remove` / `clean` / `list` no longer look at.
166
+ *
167
+ * Read-only: nothing is deleted. Empty for global mode and for kinds whose
168
+ * dir is shared with the active target (flows).
169
+ *
170
+ * @param opts.renderedBefore - {@link AssetManager.lockedRenderedHashes} of the lock as it was
171
+ * before the move to this harness. An agent copy counts as skaile's only when it matches a
172
+ * hash the lock (now or then) recorded for its path.
173
+ * @returns One {@link StaleHarnessCopy} per stale copy, sorted by harness, kind, then name.
174
+ */
175
+ listStaleHarnessCopies(opts?: {
176
+ renderedBefore?: ReadonlyMap<string, string>;
177
+ }): StaleHarnessCopy[];
178
+ /**
179
+ * @deprecated Use {@link AssetManager.listStaleHarnessCopies}, which covers every
180
+ * other harness folder. This returns only its `.claude/` rows (the old default
181
+ * deploy dir), in the old shape.
182
+ */
183
+ listLegacyClaudeDeployed(): LegacyDeployedAsset[];
184
+ /**
185
+ * List the **declared** top-level dependencies from `skaile.yaml`, each tagged
186
+ * with a reconciliation {@link DeclaredState}:
187
+ *
188
+ * - `declared` — in `skaile.yaml`, not yet resolved into the lock.
189
+ * - `installed` — declared + locked, and (for kinds with an `installTarget`)
190
+ * materialized on disk. An `mcp-server` is instead checked against the
191
+ * declarations the runner would actually wire (store-staged or materialized
192
+ * `MCP.md`); the remaining composition-only kinds (no `installTarget`) count as
193
+ * installed once locked — they are resolved at session start with no harness
194
+ * footprint here.
195
+ * - `drift` — declared + locked but the deployed files are missing on disk.
196
+ * - `invalid` — the `dependencies:` entry isn't a parseable canonical ref. Only
197
+ * surfaced in the unfiltered listing (a `kind` filter can't classify it).
198
+ *
199
+ * Transitive (lock-only) deps are excluded by construction — only the declared
200
+ * set is walked, so a lock entry with no matching `dependencies:` ref never shows.
201
+ *
202
+ * @param kind - Filter by asset kind. Omit to return all kinds.
203
+ * @returns One {@link DeclaredAsset} per declared dep (after the optional kind filter), plus
204
+ * one per locked agent that only an agent instance of `skaile.yaml` binds.
205
+ * @throws {MissingManifestError} when the project has no `skaile.yaml`.
206
+ * @throws {Error} with a `migrate-skaile-manifest` hint on legacy `repositories:` / `ai_resources:` keys.
207
+ */
208
+ listDeclared(kind?: string): Promise<DeclaredAsset[]>;
209
+ /**
210
+ * One note per locked library asset whose library went back to an older version than the lock
211
+ * (`library is at 0.1.0, locked 0.3.0`). Not drift: `install` keeps the lock and only `update`
212
+ * moves it, so `check` and `doctor` print the note as a `!` line and still exit 0 (p1257).
213
+ * Empty for a global manager or when the libraries cannot be read.
214
+ */
215
+ libraryOlderNotices(): Promise<string[]>;
216
+ /**
217
+ * Locked assets whose deployed directory lacks files the deploy writes — a deleted
218
+ * `build.py` / `scripts/` helper next to an intact `SKILL.md`. The expected set is the file
219
+ * set the lock covers: a library entry's files (every file under its manifest `root:`), a
220
+ * source or store entry's `files[]` (the asset's whole file set at the locked commit). Only
221
+ * presence is checked, so a local edit never counts. An asset with no deployed directory is
222
+ * not listed (`listDeclared` reports it as drift); an agent is rendered, not copied, so it
223
+ * has no file mirror to compare. `skaile install` restores what is listed.
224
+ *
225
+ * @returns One {@link IncompleteDeploy} per affected asset; empty when healthy
226
+ * or when the project has no lock.
227
+ */
228
+ incompleteDeploys(): Promise<IncompleteDeploy[]>;
229
+ /**
230
+ * Per-harness reconciliation of the **global** declared deps
231
+ * (`~/.skaile/skaile.yaml`) against each global harness's deploy dir. The
232
+ * global twin of {@link listDeclared}: the same `declared` / `installed` /
233
+ * `drift` / `invalid` vocabulary, but one row **per (ref, harness)** so an
234
+ * asset can be `installed` for `claude-code` and `drift`/`declared` for
235
+ * `codex` at once.
236
+ *
237
+ * Reads the SSOT + the global lock (`~/.skaile/skaile.lock.yaml`) — construct
238
+ * the manager with `global: true`. Unlike `listDeclared`, a missing SSOT is
239
+ * **not** an error: it yields an empty list (a fresh machine has no globals).
240
+ *
241
+ * @param opts.harness - Reconcile against this one harness only (the
242
+ * `--harness` filter); omit for every harness in {@link targetHarnesses}.
243
+ * @param opts.kind - Filter by asset kind.
244
+ * @returns One {@link HarnessDeclaredAsset} per declared dep × harness.
245
+ * @throws {Error} on legacy keys in `~/.skaile/skaile.yaml` (migration hint).
246
+ */
247
+ globalState(opts?: {
248
+ harness?: HarnessName;
249
+ /** @deprecated Use `harness`. Honoured only when `harness` is absent; removed in the next major. */
250
+ backend?: HarnessName;
251
+ kind?: string;
252
+ }): HarnessDeclaredAsset[];
253
+ /**
254
+ * Build an aggregated workspace overview with publisher grouping and sync status.
255
+ *
256
+ * Combines deployed assets, lock file metadata, and live repository status
257
+ * into a single structured result. Used by `skaile status`.
258
+ *
259
+ * @returns {@link OverviewResult} with entries grouped by publisher and per-repo sync status.
260
+ */
261
+ overview(): OverviewResult;
262
+ /** Collect live sync status for every configured repository, keyed by name. */
263
+ protected buildRepoStatuses(repositories: Record<string, SourceDeclaration>): Map<string, RepoStatusInfo>;
264
+ }
265
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../asset-manager/src/read/state.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  * Removed (no bridge harness): cursor, roo, github-copilot, gemini, amp.
13
13
  * Add them back when a bridge harness is implemented.
14
14
  */
15
+ import { type AgentPromptMemoryBlock, type AgentPromptPart, type AgentPromptSectionsInput } from "@skaile/workspaces/core";
15
16
  import { type AgentLifecycle, type AgentManifest } from "@skaile/workspaces/types/manifests";
16
17
  import type { AbilityRef, ContractRef } from "./fragments.js";
17
18
  export type { AgentManifest };
@@ -42,7 +43,11 @@ export interface AgentRenderInput {
42
43
  /** Resolved framework fragment markdown blocks (agent-mode, handoff, skill-discovery, etc.). */
43
44
  frameworkFragments: string[];
44
45
  /** Per-project prompt extension markdown blocks loaded from `skaile.yaml` `agent.prompt-extensions`. */
45
- promptExtensions: string[];
46
+ promptExtensions: readonly AgentPromptPart[];
47
+ /** Inline blocks the agent composes (`composes:` rulesets, prompts, …), baked into the prompt after the contracts. */
48
+ composed?: readonly AgentPromptPart[];
49
+ /** Memory blocks with their seed content, baked into the prompt as `<MEMORY>`. */
50
+ memory?: readonly AgentPromptMemoryBlock[];
46
51
  /** `standing` (long-running identity) or `role` (short-lived, callable). */
47
52
  lifecycle: AgentLifecycle;
48
53
  /** Names of the skills the agent composes (`composes[{kind: skill}]`), as installed. */
@@ -74,6 +79,11 @@ export interface AgentRenderResult {
74
79
  * @docLink packages/asset-manager/api-reference#renderers
75
80
  */
76
81
  export type AgentRenderer = (input: AgentRenderInput) => AgentRenderResult;
82
+ /**
83
+ * The prompt inputs of a render input: the one input set `assembleAgent` takes, whoever asks for
84
+ * the prompt (the renderers here, `skaile run --dry-run --print-prompt`).
85
+ */
86
+ export declare function agentPromptInput(input: Pick<AgentRenderInput, "soul" | "rules" | "duties" | "abilityRefs" | "contractRefs" | "frameworkFragments" | "promptExtensions" | "composed" | "memory">): AgentPromptSectionsInput;
77
87
  /**
78
88
  * Render a GitAgent to Claude Code's `.claude/agents/<name>.md` format.
79
89
  *
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,CAAC;IACxB,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sDAAsD;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kGAAkG;IAClG,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gGAAgG;IAChG,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wGAAwG;IACxG,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,SAAS,EAAE,cAAc,CAAC;IAC1B,wFAAwF;IACxF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gIAAgI;IAChI,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,iBAAiB,CAAC;AAoL3E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,EAAE,aA6EhC,CAAC;AA2BF,sGAAsG;AACtG,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,aAkD3B,CAAC;AAiBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,aA+FzB,CAAC;AAIF,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAGxC;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,GAAU,GACd,iBAAiB,CAanB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAIzD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CAkBV"}
1
+ {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/renderers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import { type CatalogEntry, type HarnessName, type ProvenanceCandidate, type SourceDeclaration } from "@skaile/workspaces/core";
2
+ import { type DeployableEntry } from "../installer.js";
3
+ import type { FolderIdentity, LibraryIndexSnapshot, LockedLibrary } from "../shared/types.js";
4
+ import { AmResolveScan } from "./scan.js";
5
+ /** Where a ref that misses went when its publisher changed: see {@link AssetManager.publisherChangeHints}. */
6
+ interface PublisherChange {
7
+ /** The lock holds the same kind + name under this other publisher, from the library that now publishes it elsewhere. */
8
+ lockedAs?: string;
9
+ /** A registered library holds the same kind + name under another publisher: its ref and library name. */
10
+ moved?: {
11
+ ref: string;
12
+ library?: string;
13
+ };
14
+ }
15
+ /** One asset that several registered libraries hold, as an `add` met it. */
16
+ interface LibraryCollision {
17
+ /** `kind:@publisher/name`. */
18
+ key: string;
19
+ libraries: string[];
20
+ /** `library (version)` per holder. */
21
+ held: string[];
22
+ chosen: string;
23
+ version: string;
24
+ /** Libraries holding the chosen version with other bytes. */
25
+ differing: string[];
26
+ }
27
+ /** Publisher change findings, library collisions, folder-collision asserts. One layer of the `AssetManager` class chain (see `asset-manager/CLAUDE.md`). */
28
+ export declare abstract class AmResolveGuards extends AmResolveScan {
29
+ protected abstract lockedLibrary(origin: {
30
+ name: string;
31
+ url?: string;
32
+ sha256?: string;
33
+ }, snap: LibraryIndexSnapshot | null, asset?: {
34
+ kind: string;
35
+ publisher: string;
36
+ name: string;
37
+ }): LockedLibrary;
38
+ /**
39
+ * Where each missed publisher-qualified ref went when its publisher changed, for every
40
+ * ref at once (one library scan, one lock read):
41
+ * - `moved` when a registered library holds the same kind + name under another publisher.
42
+ * When the lock ties the missed ref to a library, only that library is looked at (an
43
+ * asset of the same name in another library is a different asset). Without a lock
44
+ * entry, a library asset the project already declares or locks under its own ref is
45
+ * not offered, and two candidate publishers are ambiguous: no hint;
46
+ * - `lockedAs` when the lock holds the same kind + name under another publisher, records
47
+ * the library it came from, and that library now holds the asset under yet another
48
+ * publisher than the locked one. An unrelated asset that merely shares kind + name does
49
+ * not qualify.
50
+ *
51
+ * @param refs - Missed refs; a trailing `(reason)` after the first space is ignored.
52
+ * @returns one finding per ref that has one. Never warns.
53
+ */
54
+ protected publisherChangeFindings(refs: string[]): Promise<Map<string, PublisherChange>>;
55
+ /**
56
+ * Explain misses caused by a publisher change, as parenthesized hint text per ref:
57
+ * `did you mean <ref>?` when a registered library holds the same kind + name under
58
+ * another publisher, and `locked as <lockRef>; run skaile install to re-resolve` when
59
+ * the lock holds it under the library's previous publisher (see
60
+ * {@link AssetManager.publisherChangeFindings}).
61
+ *
62
+ * @param refs - Missed refs; a trailing `(reason)` after the first space is ignored.
63
+ * @returns hint text per ref, only for refs that have one. Never warns.
64
+ */
65
+ protected publisherChangeHints(refs: string[]): Promise<Record<string, string>>;
66
+ /**
67
+ * What the user has to change for each ref that is locked from a library but resolves
68
+ * nowhere any more, where `skaile install` cannot help: the library is not registered
69
+ * (renamed away or removed), the library now publishes the asset under another
70
+ * publisher, or the library no longer holds it. A ref the lock does not tie to a
71
+ * library has no entry.
72
+ *
73
+ * @param refs - Declared or locked refs, `kind:@publisher/name` (a trailing `(reason)`
74
+ * after the first space is ignored).
75
+ * @returns a phrase per ref that follows the ref name, without parentheses.
76
+ */
77
+ protected unresolvedFixes(refs: string[]): Promise<Map<string, string>>;
78
+ /**
79
+ * A ref pinned to a version its library never held (`#9.9.9`): the thing to change is the pin
80
+ * in `skaile.yaml`, not the library (p1096). Sets the fix and returns `true` when it applies.
81
+ */
82
+ protected pinNeverHeld(ref: string, plain: string, lookup: LockedLibrary, out: Map<string, string>): Promise<boolean>;
83
+ /**
84
+ * The ref a library now holds a flow under when a project still locks it by the slug of the
85
+ * flow's `name:` (5.12.0 named a flow by `name:`; later releases name it by `id:`), or
86
+ * `undefined` when `kind` is no flow, the library is not at hand or no flow of it matches.
87
+ */
88
+ protected renamedFlowRef(lookup: LockedLibrary, publisher: string | undefined, kind: string, name: string): Promise<string | undefined>;
89
+ /** Collision messages already printed by this instance (one warning per ref + library set). */
90
+ protected readonly warnedLibraryCollisions: Set<string>;
91
+ /**
92
+ * Collisions of one `add`, held back until {@link flushLibraryCollisions} so a dependency
93
+ * tree that touches several colliding assets prints one summary, not one line per asset
94
+ * (p1097). `null` outside an `add`: a collision then warns at once.
95
+ */
96
+ protected collisionBatch: Map<string, LibraryCollision> | null;
97
+ /**
98
+ * Warn once when `key` is held by more than one library: names every library
99
+ * with its version and the one chosen, so a silent pick can't surprise.
100
+ */
101
+ protected warnLibraryCollision(key: string, candidates: Array<{
102
+ entry: CatalogEntry;
103
+ library: string;
104
+ }>, chosen: {
105
+ entry: CatalogEntry;
106
+ library: string;
107
+ }, differing?: string[]): void;
108
+ /** Print each distinct collision message once; the sink also gets the keys it names. */
109
+ protected emitLibraryCollision(msg: string, keys: readonly string[]): void;
110
+ /**
111
+ * End the batch of {@link collisionBatch}: one collision prints its full message; several
112
+ * print one summary (how many libraries and assets, the library each asset came from, the
113
+ * assets whose bytes differ). `verboseCollisions` prints every asset's full message instead.
114
+ */
115
+ protected flushLibraryCollisions(): void;
116
+ /** Kind, name and bare publisher of a deploy entry; the publisher comes from its canonical ref. */
117
+ protected entryIdentity(entry: CatalogEntry): FolderIdentity;
118
+ /**
119
+ * Refuse to lock a source commit another machine cannot check out. A commit made in the clone
120
+ * itself (or one `source sync` could not fast-forward past) is in no remote branch: the lock
121
+ * would name bytes nobody else has, and `install --locked` there could not restore them.
122
+ * Linked (dev-override) and user-owned local sources are never checked: their lock is
123
+ * machine-local by choice.
124
+ *
125
+ * @param resolved - Candidates about to be locked.
126
+ * @param repositories - Source declarations of the project.
127
+ * @throws With `<url> clone has unpublished commit <sha>` and the way out.
128
+ */
129
+ protected assertSourceCommitsPublished(resolved: readonly ProvenanceCandidate[], repositories: Record<string, SourceDeclaration>): void;
130
+ /**
131
+ * Refuse assets of one kind and name from different publishers: they deploy into the
132
+ * same folder, so the later one would silently overwrite the earlier. Throws one line
133
+ * naming the folder and the asset that holds it.
134
+ *
135
+ * @param incoming - Assets about to be deployed. Two of them clashing is refused.
136
+ * @param held - Assets the project already declares or has locked; one of them
137
+ * clashing with an incoming asset is refused when its folder is on disk.
138
+ */
139
+ protected assertNoFolderCollision(incoming: FolderIdentity[], held?: FolderIdentity[]): void;
140
+ /**
141
+ * Refuse to deploy over a folder (or agent file) the project did not put there: it is on disk,
142
+ * but no lock entry of the same kind and name owns it, so it is the user's own work and the
143
+ * deploy would replace it and `remove` would delete it. Throws one line naming the folder.
144
+ *
145
+ * A folder the deploy would rewrite with the same content is adopted silently (the way back
146
+ * from `asset import`: the project's own copy is what the library now holds): every file in
147
+ * it is shipped by the asset with the same bytes, or the same body and an asset frontmatter
148
+ * that only adds to the folder's (import normalizes it). Nothing is lost then.
149
+ *
150
+ * @param incoming - Assets about to be deployed, with the entry whose bytes would be written
151
+ * when there is one.
152
+ * @param owned - Assets the lock holds; one of the same kind and name, from any publisher,
153
+ * owns the folder (a publisher clash is {@link assertNoFolderCollision}'s refusal).
154
+ */
155
+ protected assertNoUnownedFolder(incoming: Array<{
156
+ id: FolderIdentity;
157
+ entry?: DeployableEntry | null;
158
+ }>, owned: FolderIdentity[]): Promise<void>;
159
+ /**
160
+ * Whether deploying `entry` over the folder already in `target` loses nothing: the folder
161
+ * holds no file the asset does not ship, and each of its files equals the asset's, or is a
162
+ * markdown file with the same body whose frontmatter the asset's only extends.
163
+ */
164
+ protected deployWouldOnlyRewriteSame(entry: DeployableEntry, target: HarnessName): Promise<boolean>;
165
+ }
166
+ export {};
167
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../asset-manager/src/resolve/guards.ts"],"names":[],"mappings":"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"}