@skaile/workspaces 5.19.0 → 6.0.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 (663) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +8 -8
  3. package/dist/app-sdk/index.js +1 -1
  4. package/dist/{asset-feeds-QGLI3AXI.js → asset-feeds-PXUWCXVI.js} +18 -18
  5. package/dist/{asset-feeds-QGLI3AXI.js.map → asset-feeds-PXUWCXVI.js.map} +1 -1
  6. package/dist/asset-manager/catalog-deployer.js +8 -8
  7. package/dist/asset-manager/index.js +14 -14
  8. package/dist/asset-manager/installer.js +11 -11
  9. package/dist/asset-manager/renderers.js +10 -10
  10. package/dist/asset-manager/src/index.d.ts +22 -22
  11. package/dist/asset-manager/src/index.d.ts.map +1 -1
  12. package/dist/asset-manager/src/install-agent.d.ts +2 -2
  13. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  14. package/dist/asset-manager/src/install-instances.d.ts +8 -8
  15. package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
  16. package/dist/asset-manager/src/installer.d.ts +3 -3
  17. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  18. package/dist/asset-manager/src/mcp-config.d.ts +14 -14
  19. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  20. package/dist/asset-manager/src/renderers.d.ts +12 -12
  21. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  22. package/dist/bridge/codex-app-server.js +2 -2
  23. package/dist/bridge/harnesses/claude-sdk.d.ts +2 -0
  24. package/dist/bridge/{drivers → harnesses}/claude-sdk.js +63 -63
  25. package/dist/bridge/harnesses/claude-sdk.js.map +1 -0
  26. package/dist/bridge/{drivers/gemini.d.ts → harnesses/codex.d.ts} +1 -1
  27. package/dist/bridge/{drivers → harnesses}/codex.js +50 -50
  28. package/dist/bridge/harnesses/codex.js.map +1 -0
  29. package/dist/bridge/{drivers/claude-sdk.d.ts → harnesses/continue.d.ts} +1 -1
  30. package/dist/bridge/{drivers → harnesses}/continue.js +27 -27
  31. package/dist/bridge/harnesses/continue.js.map +1 -0
  32. package/dist/bridge/{drivers → harnesses}/echo.d.ts +1 -1
  33. package/dist/bridge/{drivers → harnesses}/echo.js +27 -27
  34. package/dist/bridge/harnesses/echo.js.map +1 -0
  35. package/dist/bridge/{drivers/continue.d.ts → harnesses/gemini.d.ts} +1 -1
  36. package/dist/bridge/harnesses/gemini.js +18 -0
  37. package/dist/bridge/{drivers → harnesses}/goose.d.ts +1 -1
  38. package/dist/bridge/{drivers → harnesses}/goose.js +27 -27
  39. package/dist/bridge/harnesses/goose.js.map +1 -0
  40. package/dist/bridge/{drivers → harnesses}/omp.d.ts +1 -1
  41. package/dist/bridge/{drivers → harnesses}/omp.js +31 -31
  42. package/dist/bridge/harnesses/omp.js.map +1 -0
  43. package/dist/bridge/{drivers → harnesses}/opencode.d.ts +1 -1
  44. package/dist/bridge/{drivers → harnesses}/opencode.js +28 -28
  45. package/dist/bridge/harnesses/opencode.js.map +1 -0
  46. package/dist/bridge/{drivers → harnesses}/qwen.d.ts +1 -1
  47. package/dist/bridge/{drivers → harnesses}/qwen.js +20 -20
  48. package/dist/bridge/harnesses/qwen.js.map +1 -0
  49. package/dist/bridge/index.js +22 -22
  50. package/dist/bridge/src/agent-exec.d.ts +2 -2
  51. package/dist/bridge/src/agent-transcript.d.ts +1 -1
  52. package/dist/bridge/src/agent-transcript.d.ts.map +1 -1
  53. package/dist/bridge/src/approval-card.d.ts +3 -3
  54. package/dist/bridge/src/capability-dispatch.d.ts +5 -5
  55. package/dist/bridge/src/cloud.d.ts +4 -4
  56. package/dist/bridge/src/codex/config-toml.d.ts +3 -3
  57. package/dist/bridge/src/codex/friendly-error.d.ts +1 -1
  58. package/dist/bridge/src/codex/friendly-error.d.ts.map +1 -1
  59. package/dist/bridge/src/codex/{managed-driver.d.ts → managed-harness.d.ts} +5 -5
  60. package/dist/bridge/src/codex/managed-harness.d.ts.map +1 -0
  61. package/dist/bridge/src/codex/native-approvals.d.ts +1 -1
  62. package/dist/bridge/src/codex/native-approvals.d.ts.map +1 -1
  63. package/dist/bridge/src/error-classifier.d.ts +7 -7
  64. package/dist/bridge/src/{driver-capabilities.d.ts → harness-capabilities.d.ts} +18 -18
  65. package/dist/bridge/src/harness-capabilities.d.ts.map +1 -0
  66. package/dist/bridge/src/{driver-model-check.d.ts → harness-model-check.d.ts} +9 -9
  67. package/dist/bridge/src/harness-model-check.d.ts.map +1 -0
  68. package/dist/bridge/src/{drivers → harnesses}/_subprocess-cli.d.ts +8 -8
  69. package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -0
  70. package/dist/bridge/src/{drivers → harnesses}/claude-context-usage.d.ts +5 -5
  71. package/dist/bridge/src/harnesses/claude-context-usage.d.ts.map +1 -0
  72. package/dist/bridge/src/{drivers → harnesses}/claude-sdk.d.ts +27 -27
  73. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -0
  74. package/dist/bridge/src/{drivers → harnesses}/claude-self-turns.d.ts +5 -5
  75. package/dist/bridge/src/harnesses/claude-self-turns.d.ts.map +1 -0
  76. package/dist/bridge/src/{drivers → harnesses}/claude-tool-allowlist.d.ts +4 -4
  77. package/dist/bridge/src/harnesses/claude-tool-allowlist.d.ts.map +1 -0
  78. package/dist/bridge/src/{drivers → harnesses}/codex.d.ts +14 -14
  79. package/dist/bridge/src/harnesses/codex.d.ts.map +1 -0
  80. package/dist/bridge/src/{drivers → harnesses}/continue.d.ts +12 -12
  81. package/dist/bridge/src/harnesses/continue.d.ts.map +1 -0
  82. package/dist/bridge/src/{drivers → harnesses}/echo.d.ts +16 -16
  83. package/dist/bridge/src/harnesses/echo.d.ts.map +1 -0
  84. package/dist/bridge/src/{drivers → harnesses}/flow-script.d.ts +9 -9
  85. package/dist/bridge/src/harnesses/flow-script.d.ts.map +1 -0
  86. package/dist/bridge/src/{drivers → harnesses}/gemini.d.ts +15 -15
  87. package/dist/bridge/src/harnesses/gemini.d.ts.map +1 -0
  88. package/dist/bridge/src/{drivers → harnesses}/goose.d.ts +10 -10
  89. package/dist/bridge/src/harnesses/goose.d.ts.map +1 -0
  90. package/dist/bridge/src/{drivers → harnesses}/omp-models-yml.d.ts +12 -12
  91. package/dist/bridge/src/harnesses/omp-models-yml.d.ts.map +1 -0
  92. package/dist/bridge/src/{drivers → harnesses}/omp.d.ts +23 -23
  93. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -0
  94. package/dist/bridge/src/{drivers → harnesses}/opencode.d.ts +11 -11
  95. package/dist/bridge/src/harnesses/opencode.d.ts.map +1 -0
  96. package/dist/bridge/src/{drivers → harnesses}/qwen.d.ts +12 -12
  97. package/dist/bridge/src/harnesses/qwen.d.ts.map +1 -0
  98. package/dist/bridge/src/{drivers → harnesses}/recovery-policy.d.ts +4 -4
  99. package/dist/bridge/src/harnesses/recovery-policy.d.ts.map +1 -0
  100. package/dist/bridge/src/{drivers → harnesses}/resume-probe.d.ts +3 -3
  101. package/dist/bridge/src/harnesses/resume-probe.d.ts.map +1 -0
  102. package/dist/bridge/src/{drivers → harnesses}/sanitize-assistant-text.d.ts +1 -1
  103. package/dist/bridge/src/harnesses/sanitize-assistant-text.d.ts.map +1 -0
  104. package/dist/bridge/src/{drivers → harnesses}/scrub-transcript.d.ts +1 -1
  105. package/dist/bridge/src/harnesses/scrub-transcript.d.ts.map +1 -0
  106. package/dist/bridge/src/index.d.ts +4 -4
  107. package/dist/bridge/src/index.d.ts.map +1 -1
  108. package/dist/bridge/src/logger.d.ts +4 -4
  109. package/dist/bridge/src/models.d.ts +1 -1
  110. package/dist/bridge/src/normalizer.d.ts +2 -2
  111. package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts +5 -5
  112. package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts.map +1 -1
  113. package/dist/bridge/src/provider-materialize/credential-env.d.ts +3 -3
  114. package/dist/bridge/src/provider-materialize/{env-drivers.d.ts → env-harnesses.d.ts} +19 -19
  115. package/dist/bridge/src/provider-materialize/env-harnesses.d.ts.map +1 -0
  116. package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts +5 -5
  117. package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts.map +1 -1
  118. package/dist/bridge/src/provider-materialize/opencode-config.d.ts +7 -7
  119. package/dist/bridge/src/provider-materialize/opencode-config.d.ts.map +1 -1
  120. package/dist/bridge/src/provider-materialize/session-config-home.d.ts +5 -5
  121. package/dist/bridge/src/provider-materialize/session-config-home.d.ts.map +1 -1
  122. package/dist/bridge/src/provider-registry-derive.d.ts +4 -4
  123. package/dist/bridge/src/provider-registry-derive.d.ts.map +1 -1
  124. package/dist/bridge/src/reconfigure-ledger.d.ts +8 -8
  125. package/dist/bridge/src/reconfigure-ledger.d.ts.map +1 -1
  126. package/dist/bridge/src/registry.d.ts +34 -41
  127. package/dist/bridge/src/registry.d.ts.map +1 -1
  128. package/dist/bridge/src/runner-private-env.d.ts +2 -2
  129. package/dist/bridge/src/runtime.d.ts +11 -11
  130. package/dist/bridge/src/runtime.d.ts.map +1 -1
  131. package/dist/bridge/src/types.d.ts +158 -158
  132. package/dist/bridge/src/types.d.ts.map +1 -1
  133. package/dist/{chunk-2PBSAH3Z.js → chunk-2UUKCROR.js} +4 -4
  134. package/dist/{chunk-2PBSAH3Z.js.map → chunk-2UUKCROR.js.map} +1 -1
  135. package/dist/{chunk-WG6V4ISA.js → chunk-3IXIEHUB.js} +7 -7
  136. package/dist/{chunk-WG6V4ISA.js.map → chunk-3IXIEHUB.js.map} +1 -1
  137. package/dist/{chunk-JTOWA6RS.js → chunk-3JKGY2YC.js} +37 -42
  138. package/dist/chunk-3JKGY2YC.js.map +1 -0
  139. package/dist/{chunk-X5YPJV4N.js → chunk-3MWQKQUB.js} +2 -2
  140. package/dist/{chunk-X5YPJV4N.js.map → chunk-3MWQKQUB.js.map} +1 -1
  141. package/dist/{chunk-EPBKISS5.js → chunk-3TG2NV2F.js} +2 -2
  142. package/dist/chunk-3TG2NV2F.js.map +1 -0
  143. package/dist/{chunk-L2AMXONH.js → chunk-3X7VTCPG.js} +2 -2
  144. package/dist/chunk-3X7VTCPG.js.map +1 -0
  145. package/dist/{chunk-VJ7NU7GD.js → chunk-4DWBSTYA.js} +4 -4
  146. package/dist/chunk-4DWBSTYA.js.map +1 -0
  147. package/dist/{chunk-7SCS64BG.js → chunk-4XWLB7JB.js} +48 -48
  148. package/dist/chunk-4XWLB7JB.js.map +1 -0
  149. package/dist/{chunk-5TBFN46Z.js → chunk-5KRMNUL4.js} +4 -4
  150. package/dist/chunk-5KRMNUL4.js.map +1 -0
  151. package/dist/{chunk-YIF2IJUA.js → chunk-6GWSDPBP.js} +3 -3
  152. package/dist/{chunk-YIF2IJUA.js.map → chunk-6GWSDPBP.js.map} +1 -1
  153. package/dist/{chunk-MKRWN7XP.js → chunk-7CV3HFWJ.js} +5 -5
  154. package/dist/chunk-7CV3HFWJ.js.map +1 -0
  155. package/dist/{chunk-YROR332M.js → chunk-7DN6JKP2.js} +2 -2
  156. package/dist/chunk-7DN6JKP2.js.map +1 -0
  157. package/dist/{chunk-IZCR27MU.js → chunk-7EKQDY2T.js} +3 -3
  158. package/dist/chunk-7EKQDY2T.js.map +1 -0
  159. package/dist/{chunk-2LSDMJI2.js → chunk-7TPYPVAH.js} +4 -4
  160. package/dist/{chunk-2LSDMJI2.js.map → chunk-7TPYPVAH.js.map} +1 -1
  161. package/dist/{chunk-ICSCSM5D.js → chunk-ADPM6AYF.js} +3 -3
  162. package/dist/{chunk-ICSCSM5D.js.map → chunk-ADPM6AYF.js.map} +1 -1
  163. package/dist/{chunk-Y5MBW5EU.js → chunk-AF432MS3.js} +3 -3
  164. package/dist/{chunk-Y5MBW5EU.js.map → chunk-AF432MS3.js.map} +1 -1
  165. package/dist/{chunk-F6AA42GW.js → chunk-ARWKK325.js} +5 -5
  166. package/dist/{chunk-F6AA42GW.js.map → chunk-ARWKK325.js.map} +1 -1
  167. package/dist/{chunk-AJ7EGIFR.js → chunk-BIRW3HOG.js} +3 -3
  168. package/dist/chunk-BIRW3HOG.js.map +1 -0
  169. package/dist/{chunk-X4ZZTHU3.js → chunk-DHYSUJ3H.js} +4 -4
  170. package/dist/{chunk-X4ZZTHU3.js.map → chunk-DHYSUJ3H.js.map} +1 -1
  171. package/dist/{chunk-C7WBGSBV.js → chunk-DUMTLYSO.js} +10 -10
  172. package/dist/chunk-DUMTLYSO.js.map +1 -0
  173. package/dist/{chunk-XJVBUDDJ.js → chunk-E3GPGTW3.js} +8 -8
  174. package/dist/chunk-E3GPGTW3.js.map +1 -0
  175. package/dist/{chunk-335ENCCS.js → chunk-E572OHGY.js} +2 -2
  176. package/dist/{chunk-335ENCCS.js.map → chunk-E572OHGY.js.map} +1 -1
  177. package/dist/{chunk-CQJH4G2K.js → chunk-F2GOZMRA.js} +63 -64
  178. package/dist/chunk-F2GOZMRA.js.map +1 -0
  179. package/dist/{chunk-6E6PKKAD.js → chunk-G5SUWZEU.js} +18 -8
  180. package/dist/chunk-G5SUWZEU.js.map +1 -0
  181. package/dist/{chunk-2GXSSZAM.js → chunk-GEQSUC6U.js} +12 -12
  182. package/dist/chunk-GEQSUC6U.js.map +1 -0
  183. package/dist/{chunk-IP2IPMEH.js → chunk-GN4VVSAA.js} +18 -18
  184. package/dist/chunk-GN4VVSAA.js.map +1 -0
  185. package/dist/{chunk-W4Q6CKJ5.js → chunk-HK7HMEPT.js} +11 -11
  186. package/dist/chunk-HK7HMEPT.js.map +1 -0
  187. package/dist/{chunk-Y56YIT6J.js → chunk-JCPD4QRM.js} +4 -4
  188. package/dist/chunk-JCPD4QRM.js.map +1 -0
  189. package/dist/{chunk-VSZWNUZC.js → chunk-JDR6ILCW.js} +4 -4
  190. package/dist/chunk-JDR6ILCW.js.map +1 -0
  191. package/dist/{chunk-K4O6L3WH.js → chunk-KNY356I3.js} +3 -3
  192. package/dist/{chunk-K4O6L3WH.js.map → chunk-KNY356I3.js.map} +1 -1
  193. package/dist/{chunk-4ZTPYIBE.js → chunk-KW37WNXY.js} +12 -12
  194. package/dist/chunk-KW37WNXY.js.map +1 -0
  195. package/dist/{chunk-QG6GHTRM.js → chunk-KX2PT5Q4.js} +8 -8
  196. package/dist/chunk-KX2PT5Q4.js.map +1 -0
  197. package/dist/{chunk-N46LQR46.js → chunk-L4YKW5AY.js} +37 -26
  198. package/dist/chunk-L4YKW5AY.js.map +1 -0
  199. package/dist/{chunk-I7TWVK6N.js → chunk-LN6QB7XI.js} +3 -3
  200. package/dist/{chunk-I7TWVK6N.js.map → chunk-LN6QB7XI.js.map} +1 -1
  201. package/dist/{chunk-MJHSLODD.js → chunk-LSI2IVFT.js} +2 -2
  202. package/dist/chunk-LSI2IVFT.js.map +1 -0
  203. package/dist/{chunk-VIM3PWZM.js → chunk-MCUJTNY5.js} +3 -3
  204. package/dist/{chunk-VIM3PWZM.js.map → chunk-MCUJTNY5.js.map} +1 -1
  205. package/dist/{chunk-EAZECHPM.js → chunk-NBAGV6L2.js} +5 -5
  206. package/dist/chunk-NBAGV6L2.js.map +1 -0
  207. package/dist/{chunk-ZQSOJH6I.js → chunk-NMI2TWMH.js} +21 -11
  208. package/dist/chunk-NMI2TWMH.js.map +1 -0
  209. package/dist/{chunk-MRHVPQNO.js → chunk-OAHVKSQJ.js} +112 -119
  210. package/dist/chunk-OAHVKSQJ.js.map +1 -0
  211. package/dist/{chunk-V257LUBM.js → chunk-OHNKYHRR.js} +40 -13
  212. package/dist/chunk-OHNKYHRR.js.map +1 -0
  213. package/dist/{chunk-TIIXG3PN.js → chunk-OTIB4D2K.js} +3 -3
  214. package/dist/{chunk-TIIXG3PN.js.map → chunk-OTIB4D2K.js.map} +1 -1
  215. package/dist/{chunk-WST6UITC.js → chunk-OULSJRXV.js} +17 -17
  216. package/dist/chunk-OULSJRXV.js.map +1 -0
  217. package/dist/{chunk-I37INEWE.js → chunk-QOM5Z62G.js} +3 -3
  218. package/dist/{chunk-I37INEWE.js.map → chunk-QOM5Z62G.js.map} +1 -1
  219. package/dist/{chunk-HT35SQZD.js → chunk-SNEE6UGY.js} +28 -28
  220. package/dist/chunk-SNEE6UGY.js.map +1 -0
  221. package/dist/{chunk-R4I3VBSS.js → chunk-SRODW6M2.js} +4 -4
  222. package/dist/{chunk-R4I3VBSS.js.map → chunk-SRODW6M2.js.map} +1 -1
  223. package/dist/{chunk-IF6IA3PZ.js → chunk-SZXGRHQQ.js} +3 -3
  224. package/dist/{chunk-IF6IA3PZ.js.map → chunk-SZXGRHQQ.js.map} +1 -1
  225. package/dist/{chunk-J24CY3PF.js → chunk-T2BDID2J.js} +37 -37
  226. package/dist/chunk-T2BDID2J.js.map +1 -0
  227. package/dist/{chunk-WOIRYY5L.js → chunk-TKHJXPSB.js} +11 -11
  228. package/dist/{chunk-WOIRYY5L.js.map → chunk-TKHJXPSB.js.map} +1 -1
  229. package/dist/{chunk-PYJS5K7V.js → chunk-U56GGCC2.js} +3 -3
  230. package/dist/{chunk-PYJS5K7V.js.map → chunk-U56GGCC2.js.map} +1 -1
  231. package/dist/{chunk-XM6T2AZ2.js → chunk-UL22SDGR.js} +6 -6
  232. package/dist/{chunk-XM6T2AZ2.js.map → chunk-UL22SDGR.js.map} +1 -1
  233. package/dist/{chunk-XWOPZW26.js → chunk-UVVVR4XO.js} +38 -38
  234. package/dist/chunk-UVVVR4XO.js.map +1 -0
  235. package/dist/{chunk-A6SMCEEE.js → chunk-VBI7HGHB.js} +11 -11
  236. package/dist/{chunk-A6SMCEEE.js.map → chunk-VBI7HGHB.js.map} +1 -1
  237. package/dist/{chunk-7NT4F6SR.js → chunk-VJRTDKXS.js} +462 -446
  238. package/dist/chunk-VJRTDKXS.js.map +1 -0
  239. package/dist/{chunk-IG5LZ3WU.js → chunk-VTETQCR6.js} +10 -10
  240. package/dist/chunk-VTETQCR6.js.map +1 -0
  241. package/dist/{chunk-EFLKSMCO.js → chunk-VUJXZDCY.js} +5 -5
  242. package/dist/{chunk-EFLKSMCO.js.map → chunk-VUJXZDCY.js.map} +1 -1
  243. package/dist/{chunk-25ZVWL2R.js → chunk-VXEYX73S.js} +4 -4
  244. package/dist/{chunk-25ZVWL2R.js.map → chunk-VXEYX73S.js.map} +1 -1
  245. package/dist/{chunk-M3WPBTGJ.js → chunk-WD3L5QSU.js} +2 -2
  246. package/dist/{chunk-M3WPBTGJ.js.map → chunk-WD3L5QSU.js.map} +1 -1
  247. package/dist/{chunk-COJIL7G4.js → chunk-WDAIWDLK.js} +7 -7
  248. package/dist/chunk-WDAIWDLK.js.map +1 -0
  249. package/dist/{chunk-FPHNJE4M.js → chunk-WEH33JSG.js} +14 -14
  250. package/dist/chunk-WEH33JSG.js.map +1 -0
  251. package/dist/{chunk-RO6VOM6Z.js → chunk-WYHQUCHR.js} +13 -13
  252. package/dist/{chunk-RO6VOM6Z.js.map → chunk-WYHQUCHR.js.map} +1 -1
  253. package/dist/{chunk-R6O6YWU7.js → chunk-WYZXSJBK.js} +3 -3
  254. package/dist/{chunk-R6O6YWU7.js.map → chunk-WYZXSJBK.js.map} +1 -1
  255. package/dist/{chunk-RPZVHXQ3.js → chunk-XFIEVEU7.js} +4 -4
  256. package/dist/chunk-XFIEVEU7.js.map +1 -0
  257. package/dist/{chunk-Q6E6FM7P.js → chunk-XKNXPLKR.js} +6 -6
  258. package/dist/{chunk-Q6E6FM7P.js.map → chunk-XKNXPLKR.js.map} +1 -1
  259. package/dist/{chunk-HU5HVKY7.js → chunk-Y2TO2U7W.js} +4 -4
  260. package/dist/{chunk-HU5HVKY7.js.map → chunk-Y2TO2U7W.js.map} +1 -1
  261. package/dist/{chunk-ZX4KRWRB.js → chunk-YGRZNFRO.js} +4 -4
  262. package/dist/{chunk-ZX4KRWRB.js.map → chunk-YGRZNFRO.js.map} +1 -1
  263. package/dist/{chunk-5BEFNLOR.js → chunk-Z7ZEZZB6.js} +8 -8
  264. package/dist/chunk-Z7ZEZZB6.js.map +1 -0
  265. package/dist/{chunk-PHRNUTSG.js → chunk-ZFUZ5AKM.js} +4 -4
  266. package/dist/{chunk-PHRNUTSG.js.map → chunk-ZFUZ5AKM.js.map} +1 -1
  267. package/dist/claude-code-VJGYBXQR.js +10 -0
  268. package/dist/{claude-code-2PU7TITZ.js.map → claude-code-VJGYBXQR.js.map} +1 -1
  269. package/dist/cli/index.js +471 -308
  270. package/dist/cli/index.js.map +1 -1
  271. package/dist/cli/src/commands/catalog.d.ts +3 -3
  272. package/dist/cli/src/commands/complete-resolvers.d.ts.map +1 -1
  273. package/dist/cli/src/commands/config.d.ts +2 -2
  274. package/dist/cli/src/commands/config.d.ts.map +1 -1
  275. package/dist/cli/src/commands/integration.d.ts +1 -1
  276. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  277. package/dist/cli/src/commands/migrate-files.d.ts +14 -0
  278. package/dist/cli/src/commands/migrate-files.d.ts.map +1 -1
  279. package/dist/cli/src/commands/migrate-harness.d.ts +49 -0
  280. package/dist/cli/src/commands/migrate-harness.d.ts.map +1 -0
  281. package/dist/cli/src/commands/migrate.d.ts +4 -2
  282. package/dist/cli/src/commands/migrate.d.ts.map +1 -1
  283. package/dist/cli/src/commands/plugin/types.d.ts +1 -6
  284. package/dist/cli/src/commands/plugin/types.d.ts.map +1 -1
  285. package/dist/cli/src/commands/plugin-registry-cmd.d.ts +1 -1
  286. package/dist/cli/src/commands/preset-export.d.ts +1 -1
  287. package/dist/cli/src/commands/project.d.ts +1 -1
  288. package/dist/cli/src/commands/run.d.ts +2 -2
  289. package/dist/cli/src/commands/run.d.ts.map +1 -1
  290. package/dist/cli/src/commands/serve-preflight.d.ts +11 -11
  291. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  292. package/dist/cli/src/commands/serve.d.ts +1 -1
  293. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  294. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  295. package/dist/cli/src/harness-error.d.ts +47 -0
  296. package/dist/cli/src/harness-error.d.ts.map +1 -0
  297. package/dist/cli/src/helpers.d.ts +5 -5
  298. package/dist/cli/src/helpers.d.ts.map +1 -1
  299. package/dist/cli/src/plugin-store/index.d.ts +2 -2
  300. package/dist/cli/src/setup.d.ts +3 -3
  301. package/dist/cli/src/setup.d.ts.map +1 -1
  302. package/dist/connectors/config.js +3 -3
  303. package/dist/connectors/index.js +27 -27
  304. package/dist/connectors/src/connector-prompt.d.ts +5 -5
  305. package/dist/connectors/src/connector-registry.d.ts +1 -1
  306. package/dist/connectors-CXZLXAFZ.js +48 -0
  307. package/dist/{connectors-RBGZ3M7G.js.map → connectors-CXZLXAFZ.js.map} +1 -1
  308. package/dist/connectors-shared/index.js +2 -2
  309. package/dist/core/framework.js +1 -1
  310. package/dist/{bridge/drivers/codex.d.ts → core/harness-targets.d.ts} +1 -1
  311. package/dist/core/harness-targets.js +4 -0
  312. package/dist/core/harness-targets.js.map +1 -0
  313. package/dist/core/index.js +8 -8
  314. package/dist/core/provider-registry-credentials.js +2 -2
  315. package/dist/core/provider-registry.js +1 -1
  316. package/dist/core/runtime-assets.js +3 -3
  317. package/dist/core/src/asset-roots.d.ts +2 -2
  318. package/dist/core/src/framework.d.ts +21 -21
  319. package/dist/core/src/framework.d.ts.map +1 -1
  320. package/dist/core/src/{driver-sdk.d.ts → harness-sdk.d.ts} +9 -9
  321. package/dist/core/src/harness-sdk.d.ts.map +1 -0
  322. package/dist/core/src/harness-targets.d.ts +71 -0
  323. package/dist/core/src/harness-targets.d.ts.map +1 -0
  324. package/dist/core/src/index.d.ts +8 -8
  325. package/dist/core/src/index.d.ts.map +1 -1
  326. package/dist/core/src/provider-registry.d.ts +2 -2
  327. package/dist/core/src/settings.d.ts +17 -16
  328. package/dist/core/src/settings.d.ts.map +1 -1
  329. package/dist/core/src/store.d.ts +12 -12
  330. package/dist/core/src/store.d.ts.map +1 -1
  331. package/dist/core/src/workspace-config.d.ts +31 -21
  332. package/dist/core/src/workspace-config.d.ts.map +1 -1
  333. package/dist/core/src/workspace-yaml-editor.d.ts +1 -1
  334. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  335. package/dist/core/store.js +2 -2
  336. package/dist/core/workspace-config.js +2 -2
  337. package/dist/deploy/index.js +9 -9
  338. package/dist/discovery/index.js +2 -2
  339. package/dist/{ensure-sources-GKVLE6L5.js → ensure-sources-UPTHZKGF.js} +17 -17
  340. package/dist/{ensure-sources-GKVLE6L5.js.map → ensure-sources-UPTHZKGF.js.map} +1 -1
  341. package/dist/factory-assets/connectors/box.js +27 -27
  342. package/dist/factory-assets/connectors/deploy.js +27 -27
  343. package/dist/factory-assets/connectors/devserver.js +27 -27
  344. package/dist/factory-assets/connectors/flow/CONNECTOR.md +5 -5
  345. package/dist/factory-assets/connectors/flow/adapter.d.ts +3 -3
  346. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  347. package/dist/factory-assets/connectors/flow/adapter.js +27 -27
  348. package/dist/factory-assets/connectors/flow/engine/types.d.ts +1 -1
  349. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  350. package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts +2 -2
  351. package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts.map +1 -1
  352. package/dist/factory-assets/connectors/flow/orchestrator-turn.d.ts +4 -4
  353. package/dist/factory-assets/connectors/flow/orchestrator-turn.d.ts.map +1 -1
  354. package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts +1 -1
  355. package/dist/factory-assets/connectors/flow/prompt-fragments.js +1 -1
  356. package/dist/factory-assets/connectors/flow/run-flow.d.ts +12 -12
  357. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  358. package/dist/factory-assets/connectors/flow/run-flow.js +28 -28
  359. package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts +1 -1
  360. package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts.map +1 -1
  361. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts +22 -22
  362. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts.map +1 -1
  363. package/dist/factory-assets/connectors/flow.js +27 -27
  364. package/dist/factory-assets/connectors/git.js +27 -27
  365. package/dist/factory-assets/connectors/gmail.js +27 -27
  366. package/dist/factory-assets/connectors/googledrive.js +27 -27
  367. package/dist/factory-assets/connectors/local.js +27 -27
  368. package/dist/factory-assets/connectors/mattermost.js +27 -27
  369. package/dist/factory-assets/connectors/memory.js +27 -27
  370. package/dist/factory-assets/connectors/minio.js +27 -27
  371. package/dist/factory-assets/connectors/postgres.js +27 -27
  372. package/dist/factory-assets/connectors/s3.js +27 -27
  373. package/dist/factory-assets/connectors/sharepoint.js +27 -27
  374. package/dist/factory-assets/connectors/sqlite.js +27 -27
  375. package/dist/factory-assets/connectors/static-server.js +27 -27
  376. package/dist/factory-assets/connectors/tunnel.js +27 -27
  377. package/dist/factory-assets/connectors/webdav.js +27 -27
  378. package/dist/factory-assets/connectors/xstate-store.js +27 -27
  379. package/dist/factory-assets/connectors/xstate.js +27 -27
  380. package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +1 -1
  381. package/dist/{flows-W2FB7WIM.js → flows-TJQIMGUX.js} +13 -13
  382. package/dist/{flows-W2FB7WIM.js.map → flows-TJQIMGUX.js.map} +1 -1
  383. package/dist/{helpers-34QNVIGB.js → helpers-DE53KG3E.js} +17 -17
  384. package/dist/{helpers-34QNVIGB.js.map → helpers-DE53KG3E.js.map} +1 -1
  385. package/dist/library/index.js +11 -11
  386. package/dist/{library-publish-RUQTKTJU.js → library-publish-KKQ2ULLX.js} +55 -55
  387. package/dist/{library-publish-RUQTKTJU.js.map → library-publish-KKQ2ULLX.js.map} +1 -1
  388. package/dist/model-endpoint/index.js +12 -12
  389. package/dist/model-endpoint/src/resolve.d.ts +1 -1
  390. package/dist/{open-library-PVTIUQUF.js → open-library-RJGJIW5H.js} +20 -20
  391. package/dist/{open-library-PVTIUQUF.js.map → open-library-RJGJIW5H.js.map} +1 -1
  392. package/dist/open-registry-3QS3J7KO.js +32 -0
  393. package/dist/{open-registry-SOIS3TA2.js.map → open-registry-3QS3J7KO.js.map} +1 -1
  394. package/dist/paths-QAV4C3KX.js +22 -0
  395. package/dist/{paths-JLNX7Y4X.js.map → paths-QAV4C3KX.js.map} +1 -1
  396. package/dist/plugin-registry/index.js +1 -1
  397. package/dist/plugin-registry/src/context.d.ts +3 -3
  398. package/dist/plugin-registry/src/context.d.ts.map +1 -1
  399. package/dist/plugin-registry/src/deploy-handle.d.ts +1 -1
  400. package/dist/plugin-registry/src/index.d.ts +2 -2
  401. package/dist/plugin-registry/src/index.d.ts.map +1 -1
  402. package/dist/plugin-registry/src/internal.d.ts.map +1 -1
  403. package/dist/plugin-registry/src/registry.d.ts +3 -3
  404. package/dist/plugin-registry/src/registry.d.ts.map +1 -1
  405. package/dist/plugin-registry/src/targets.d.ts +9 -9
  406. package/dist/plugin-registry/src/targets.d.ts.map +1 -1
  407. package/dist/{plugin-store-G2GWAHSD.js → plugin-store-MSH6GK6T.js} +12 -12
  408. package/dist/{plugin-store-G2GWAHSD.js.map → plugin-store-MSH6GK6T.js.map} +1 -1
  409. package/dist/plugins/src/asset-kind-provider.d.ts +1 -1
  410. package/dist/project-HZW2MZPA.js +84 -0
  411. package/dist/{project-EX47PUBN.js.map → project-HZW2MZPA.js.map} +1 -1
  412. package/dist/resolver/index.js +8 -8
  413. package/dist/runner/index.js +42 -42
  414. package/dist/runner/src/agent.d.ts +3 -3
  415. package/dist/runner/src/agent.d.ts.map +1 -1
  416. package/dist/runner/src/agents/in-process-host.d.ts +1 -1
  417. package/dist/runner/src/agents/instances.d.ts +1 -1
  418. package/dist/runner/src/agents/instances.d.ts.map +1 -1
  419. package/dist/runner/src/agents/run-controller.d.ts +7 -7
  420. package/dist/runner/src/agents/run-controller.d.ts.map +1 -1
  421. package/dist/runner/src/agents/standalone-surface.d.ts +2 -2
  422. package/dist/runner/src/agents/standalone-surface.d.ts.map +1 -1
  423. package/dist/runner/src/ai-provider-switch.d.ts +7 -7
  424. package/dist/runner/src/assistant-home.d.ts +1 -1
  425. package/dist/runner/src/capability-registry.d.ts +2 -2
  426. package/dist/runner/src/coalesced-restart.d.ts +2 -2
  427. package/dist/runner/src/compaction/context-window.d.ts +8 -8
  428. package/dist/runner/src/compaction/context-window.d.ts.map +1 -1
  429. package/dist/runner/src/compaction/orchestrator.d.ts +24 -24
  430. package/dist/runner/src/compaction/orchestrator.d.ts.map +1 -1
  431. package/dist/runner/src/compaction-gate.d.ts +30 -30
  432. package/dist/runner/src/compaction-gate.d.ts.map +1 -1
  433. package/dist/runner/src/composition/dry-run.d.ts +2 -2
  434. package/dist/runner/src/composition/dry-run.d.ts.map +1 -1
  435. package/dist/runner/src/composition/resolve-instance.d.ts +2 -2
  436. package/dist/runner/src/composition/resolve.d.ts +1 -1
  437. package/dist/runner/src/config.d.ts +3 -3
  438. package/dist/runner/src/config.d.ts.map +1 -1
  439. package/dist/runner/src/context-usage/collector.d.ts +15 -15
  440. package/dist/runner/src/context-usage/collector.d.ts.map +1 -1
  441. package/dist/runner/src/context-usage/compose.d.ts +6 -6
  442. package/dist/runner/src/context-usage/compose.d.ts.map +1 -1
  443. package/dist/runner/src/context-usage/estimator.d.ts +1 -1
  444. package/dist/runner/src/context-usage/index.d.ts +1 -1
  445. package/dist/runner/src/context-usage/index.d.ts.map +1 -1
  446. package/dist/runner/src/context-usage/transcript-tracker.d.ts +2 -2
  447. package/dist/runner/src/context-usage/transcript-tracker.d.ts.map +1 -1
  448. package/dist/runner/src/credential-notice.d.ts +3 -3
  449. package/dist/runner/src/credential-notice.d.ts.map +1 -1
  450. package/dist/runner/src/credential-rotated.d.ts +1 -1
  451. package/dist/runner/src/final-text.d.ts +1 -1
  452. package/dist/runner/src/{driver-swap-gate.d.ts → harness-swap-gate.d.ts} +21 -21
  453. package/dist/runner/src/harness-swap-gate.d.ts.map +1 -0
  454. package/dist/runner/src/late-mcp-rebuild.d.ts +6 -6
  455. package/dist/runner/src/late-mcp-rebuild.d.ts.map +1 -1
  456. package/dist/runner/src/lifecycle-handler.d.ts +1 -1
  457. package/dist/runner/src/lifecycle-handler.d.ts.map +1 -1
  458. package/dist/runner/src/manifest.d.ts +1 -1
  459. package/dist/runner/src/mcp-runtime-handlers.d.ts +6 -6
  460. package/dist/runner/src/mcp-runtime-handlers.d.ts.map +1 -1
  461. package/dist/runner/src/model-endpoint-discovery.d.ts +1 -1
  462. package/dist/runner/src/pending-turns.d.ts +3 -3
  463. package/dist/runner/src/platform-blocks.d.ts +5 -5
  464. package/dist/runner/src/platform-blocks.d.ts.map +1 -1
  465. package/dist/runner/src/prompt-turn-queue.d.ts +1 -1
  466. package/dist/runner/src/provider-quota-forwarder.d.ts +1 -1
  467. package/dist/runner/src/provider-quota-forwarder.d.ts.map +1 -1
  468. package/dist/runner/src/reconfigure-handler.d.ts +14 -14
  469. package/dist/runner/src/reconfigure-handler.d.ts.map +1 -1
  470. package/dist/runner/src/resource-handler.d.ts +1 -1
  471. package/dist/runner/src/resources.d.ts +5 -5
  472. package/dist/runner/src/resources.d.ts.map +1 -1
  473. package/dist/runner/src/runner-capabilities.d.ts +7 -7
  474. package/dist/runner/src/runtime-session-emit.d.ts +5 -5
  475. package/dist/runner/src/runtime-session-emit.d.ts.map +1 -1
  476. package/dist/runner/src/s3-presign-client.d.ts +1 -1
  477. package/dist/runner/src/serve-credentials.d.ts +7 -7
  478. package/dist/runner/src/serve-credentials.d.ts.map +1 -1
  479. package/dist/runner/src/serve.d.ts +32 -32
  480. package/dist/runner/src/serve.d.ts.map +1 -1
  481. package/dist/runner/src/session-builder.d.ts +41 -41
  482. package/dist/runner/src/session-builder.d.ts.map +1 -1
  483. package/dist/runner/src/session-capability-wiring.d.ts +9 -9
  484. package/dist/runner/src/session-capability-wiring.d.ts.map +1 -1
  485. package/dist/runner/src/session-stimulus.d.ts +1 -1
  486. package/dist/runner/src/session.d.ts +5 -5
  487. package/dist/runner/src/session.d.ts.map +1 -1
  488. package/dist/runner/src/skill-staging.d.ts +16 -16
  489. package/dist/runner/src/skill-staging.d.ts.map +1 -1
  490. package/dist/runner/src/turn-end-contract.d.ts +5 -5
  491. package/dist/runner/src/turn-end-contract.d.ts.map +1 -1
  492. package/dist/runner/src/turn-scheduler.d.ts +22 -22
  493. package/dist/runner/src/turn-scheduler.d.ts.map +1 -1
  494. package/dist/runner/src/turn-status-replay.d.ts +1 -1
  495. package/dist/runner/src/usage-limit-turn-hold.d.ts +1 -1
  496. package/dist/sdk/asset-manager.js +14 -14
  497. package/dist/sdk/bridge.js +22 -22
  498. package/dist/sdk/core.js +8 -8
  499. package/dist/sdk/flow.js +9 -9
  500. package/dist/sdk/index.js +46 -46
  501. package/dist/sdk/index.js.map +1 -1
  502. package/dist/sdk/resolver.js +8 -8
  503. package/dist/sdk/runner.js +42 -42
  504. package/dist/sdk/session.js +2 -2
  505. package/dist/sdk/src/agent-session.d.ts +1 -1
  506. package/dist/sdk/src/local-runtime.d.ts +1 -1
  507. package/dist/sdk/src/local-runtime.d.ts.map +1 -1
  508. package/dist/sdk/src/types.d.ts +1 -1
  509. package/dist/sdk/src/types.d.ts.map +1 -1
  510. package/dist/sdk/store.js +2 -2
  511. package/dist/sdk/transport/ws/server.js +9 -9
  512. package/dist/sdk/transport/ws.js +9 -9
  513. package/dist/sdk/transport.js +9 -9
  514. package/dist/sdk/types.js +1 -1
  515. package/dist/{serve-preflight-QXRKGOI5.js → serve-preflight-L4POEHNQ.js} +42 -42
  516. package/dist/serve-preflight-L4POEHNQ.js.map +1 -0
  517. package/dist/session/index.js +2 -2
  518. package/dist/session/src/dispatcher.d.ts +2 -2
  519. package/dist/sessions-2Q7SSYPT.js +5 -0
  520. package/dist/{sessions-DICDEONJ.js.map → sessions-2Q7SSYPT.js.map} +1 -1
  521. package/dist/{setup-AFZQNGKA.js → setup-AGYB4PKR.js} +47 -47
  522. package/dist/setup-AGYB4PKR.js.map +1 -0
  523. package/dist/{skills-YYYC6D5X.js → skills-2LMQ2IAD.js} +12 -12
  524. package/dist/{skills-YYYC6D5X.js.map → skills-2LMQ2IAD.js.map} +1 -1
  525. package/dist/source-GBMYD3RO.js +85 -0
  526. package/dist/{source-DGPCT5IC.js.map → source-GBMYD3RO.js.map} +1 -1
  527. package/dist/{source-manifest-publish-AGJ63JF2.js → source-manifest-publish-FK22TVQT.js} +54 -54
  528. package/dist/{source-manifest-publish-AGJ63JF2.js.map → source-manifest-publish-FK22TVQT.js.map} +1 -1
  529. package/dist/store/index.js +2 -2
  530. package/dist/store/src/store.d.ts +3 -3
  531. package/dist/store/src/store.d.ts.map +1 -1
  532. package/dist/transport/index.js +9 -9
  533. package/dist/transport/ws/server.js +9 -9
  534. package/dist/transport/ws.js +9 -9
  535. package/dist/tui/index.js +62 -62
  536. package/dist/tui/index.js.map +1 -1
  537. package/dist/tui/src/repl-session.d.ts +5 -5
  538. package/dist/tui/src/repl.d.ts +5 -5
  539. package/dist/tui/src/repl.d.ts.map +1 -1
  540. package/dist/types/index.js +1 -1
  541. package/dist/types/manifests.js +1 -1
  542. package/dist/types/src/agent-lifecycle.d.ts +1 -1
  543. package/dist/types/src/agent-lifecycle.d.ts.map +1 -1
  544. package/dist/types/src/ask-slots.d.ts +1 -1
  545. package/dist/types/src/capabilities.d.ts +1 -1
  546. package/dist/types/src/context-usage.d.ts +22 -22
  547. package/dist/types/src/context-usage.d.ts.map +1 -1
  548. package/dist/types/src/events.d.ts +49 -49
  549. package/dist/types/src/events.d.ts.map +1 -1
  550. package/dist/types/src/index.d.ts +2 -2
  551. package/dist/types/src/index.d.ts.map +1 -1
  552. package/dist/types/src/lifecycle.d.ts +6 -6
  553. package/dist/types/src/lifecycle.d.ts.map +1 -1
  554. package/dist/types/src/logging.d.ts +1 -1
  555. package/dist/types/src/manifests/agent.d.ts +3 -3
  556. package/dist/types/src/protocol.d.ts +4 -4
  557. package/dist/types/src/runtime.d.ts +38 -38
  558. package/dist/types/src/runtime.d.ts.map +1 -1
  559. package/dist/types/src/version.d.ts +22 -11
  560. package/dist/types/src/version.d.ts.map +1 -1
  561. package/dist/validator-DRHMJ457.js +5 -0
  562. package/dist/{validator-FA2PFW6N.js.map → validator-DRHMJ457.js.map} +1 -1
  563. package/dist/workspace-plugin/adapters/mcp.js +34 -34
  564. package/dist/workspace-plugin/adapters/omp.js +26 -26
  565. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  566. package/dist/workspace-plugin/index.js +3 -3
  567. package/dist/workspace-plugin/src/plugin.d.ts +5 -5
  568. package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
  569. package/dist/workspace-plugin/src/tools/flows.d.ts +1 -1
  570. package/dist/workspace-plugin/src/tools/validator.d.ts +6 -6
  571. package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
  572. package/dist/workspace-plugin/src/types.d.ts +2 -2
  573. package/dist/workspace-plugin/src/types.d.ts.map +1 -1
  574. package/package.json +59 -59
  575. package/dist/bridge/drivers/claude-sdk.js.map +0 -1
  576. package/dist/bridge/drivers/codex.js.map +0 -1
  577. package/dist/bridge/drivers/continue.js.map +0 -1
  578. package/dist/bridge/drivers/echo.js.map +0 -1
  579. package/dist/bridge/drivers/gemini.js +0 -18
  580. package/dist/bridge/drivers/goose.js.map +0 -1
  581. package/dist/bridge/drivers/omp.js.map +0 -1
  582. package/dist/bridge/drivers/opencode.js.map +0 -1
  583. package/dist/bridge/drivers/qwen.js.map +0 -1
  584. package/dist/bridge/src/codex/managed-driver.d.ts.map +0 -1
  585. package/dist/bridge/src/driver-capabilities.d.ts.map +0 -1
  586. package/dist/bridge/src/driver-model-check.d.ts.map +0 -1
  587. package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +0 -1
  588. package/dist/bridge/src/drivers/claude-context-usage.d.ts.map +0 -1
  589. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +0 -1
  590. package/dist/bridge/src/drivers/claude-self-turns.d.ts.map +0 -1
  591. package/dist/bridge/src/drivers/claude-tool-allowlist.d.ts.map +0 -1
  592. package/dist/bridge/src/drivers/codex.d.ts.map +0 -1
  593. package/dist/bridge/src/drivers/continue.d.ts.map +0 -1
  594. package/dist/bridge/src/drivers/echo.d.ts.map +0 -1
  595. package/dist/bridge/src/drivers/flow-script.d.ts.map +0 -1
  596. package/dist/bridge/src/drivers/gemini.d.ts.map +0 -1
  597. package/dist/bridge/src/drivers/goose.d.ts.map +0 -1
  598. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +0 -1
  599. package/dist/bridge/src/drivers/omp.d.ts.map +0 -1
  600. package/dist/bridge/src/drivers/opencode.d.ts.map +0 -1
  601. package/dist/bridge/src/drivers/qwen.d.ts.map +0 -1
  602. package/dist/bridge/src/drivers/recovery-policy.d.ts.map +0 -1
  603. package/dist/bridge/src/drivers/resume-probe.d.ts.map +0 -1
  604. package/dist/bridge/src/drivers/sanitize-assistant-text.d.ts.map +0 -1
  605. package/dist/bridge/src/drivers/scrub-transcript.d.ts.map +0 -1
  606. package/dist/bridge/src/provider-materialize/env-drivers.d.ts.map +0 -1
  607. package/dist/chunk-2GXSSZAM.js.map +0 -1
  608. package/dist/chunk-4ZTPYIBE.js.map +0 -1
  609. package/dist/chunk-5BEFNLOR.js.map +0 -1
  610. package/dist/chunk-5TBFN46Z.js.map +0 -1
  611. package/dist/chunk-6E6PKKAD.js.map +0 -1
  612. package/dist/chunk-7NT4F6SR.js.map +0 -1
  613. package/dist/chunk-7SCS64BG.js.map +0 -1
  614. package/dist/chunk-AJ7EGIFR.js.map +0 -1
  615. package/dist/chunk-C7WBGSBV.js.map +0 -1
  616. package/dist/chunk-COJIL7G4.js.map +0 -1
  617. package/dist/chunk-CQJH4G2K.js.map +0 -1
  618. package/dist/chunk-EAZECHPM.js.map +0 -1
  619. package/dist/chunk-EPBKISS5.js.map +0 -1
  620. package/dist/chunk-FPHNJE4M.js.map +0 -1
  621. package/dist/chunk-HT35SQZD.js.map +0 -1
  622. package/dist/chunk-IG5LZ3WU.js.map +0 -1
  623. package/dist/chunk-IP2IPMEH.js.map +0 -1
  624. package/dist/chunk-IZCR27MU.js.map +0 -1
  625. package/dist/chunk-J24CY3PF.js.map +0 -1
  626. package/dist/chunk-JTOWA6RS.js.map +0 -1
  627. package/dist/chunk-L2AMXONH.js.map +0 -1
  628. package/dist/chunk-MJHSLODD.js.map +0 -1
  629. package/dist/chunk-MKRWN7XP.js.map +0 -1
  630. package/dist/chunk-MRHVPQNO.js.map +0 -1
  631. package/dist/chunk-N46LQR46.js.map +0 -1
  632. package/dist/chunk-QG6GHTRM.js.map +0 -1
  633. package/dist/chunk-RPZVHXQ3.js.map +0 -1
  634. package/dist/chunk-V257LUBM.js.map +0 -1
  635. package/dist/chunk-VJ7NU7GD.js.map +0 -1
  636. package/dist/chunk-VSZWNUZC.js.map +0 -1
  637. package/dist/chunk-W4Q6CKJ5.js.map +0 -1
  638. package/dist/chunk-WST6UITC.js.map +0 -1
  639. package/dist/chunk-XJVBUDDJ.js.map +0 -1
  640. package/dist/chunk-XWOPZW26.js.map +0 -1
  641. package/dist/chunk-Y56YIT6J.js.map +0 -1
  642. package/dist/chunk-YROR332M.js.map +0 -1
  643. package/dist/chunk-ZQSOJH6I.js.map +0 -1
  644. package/dist/claude-code-2PU7TITZ.js +0 -10
  645. package/dist/cli/src/driver-error.d.ts +0 -28
  646. package/dist/cli/src/driver-error.d.ts.map +0 -1
  647. package/dist/connectors-RBGZ3M7G.js +0 -48
  648. package/dist/core/driver-targets.d.ts +0 -2
  649. package/dist/core/driver-targets.js +0 -4
  650. package/dist/core/driver-targets.js.map +0 -1
  651. package/dist/core/src/driver-sdk.d.ts.map +0 -1
  652. package/dist/core/src/driver-targets.d.ts +0 -71
  653. package/dist/core/src/driver-targets.d.ts.map +0 -1
  654. package/dist/open-registry-SOIS3TA2.js +0 -32
  655. package/dist/paths-JLNX7Y4X.js +0 -22
  656. package/dist/project-EX47PUBN.js +0 -84
  657. package/dist/runner/src/driver-swap-gate.d.ts.map +0 -1
  658. package/dist/serve-preflight-QXRKGOI5.js.map +0 -1
  659. package/dist/sessions-DICDEONJ.js +0 -5
  660. package/dist/setup-AFZQNGKA.js.map +0 -1
  661. package/dist/source-DGPCT5IC.js +0 -85
  662. package/dist/validator-FA2PFW6N.js +0 -5
  663. /package/dist/bridge/{drivers → harnesses}/gemini.js.map +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#1100](https://github.com/skaile-ai/workspaces/pull/1100) [`3a3aa72`](https://github.com/skaile-ai/workspaces/commit/3a3aa72a169904ebc758a7d029ffa95b2c8178a7) Thanks [@mortegro](https://github.com/mortegro)! - Harness replaces driver. The coding-agent runtime adapters (omp, claude-sdk, codex, gemini, qwen, opencode, goose, continue, echo) are now called harnesses everywhere: `AgentDriver` is `AgentHarness`, `DriverInfo` is `HarnessInfo`, `createDriver`/`listDrivers` are `createHarness`/`listHarnesses`, the subpaths `@skaile/workspaces/drivers/<id>` are `@skaile/workspaces/harnesses/<id>`, `@skaile/workspaces/core/driver-targets` is `@skaile/workspaces/core/harness-targets` (its `DriverTarget` union is `HarnessName`), the plugin-registry kind `"driver"` is `"harness"`, the wire fields `driverSessionId`/`driverSessionIdAtCompaction` are `harnessSessionId`/`harnessSessionIdAtCompaction`, `ResolvedAgentConfig.driver` is `harness`, and the event protocol is 5.0.0. The CLI flag is `--harness` and the `skaile.yaml` agent-config / settings key is `harness`. Connector and mount `driver` is unchanged. See MIGRATION.md.
8
+
3
9
  ## 5.19.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -10,7 +10,7 @@ published package. Every internal folder is exposed as a subpath export and the
10
10
  |---|---|---|
11
11
  | **core** | `@skaile/workspaces/core` | Shared types, manifest parsing, settings, store, framework config. Zero heavy deps. |
12
12
  | **types** | `@skaile/workspaces/types` | Unified message types, event types, and runtime interfaces. The shared contract. |
13
- | **bridge** | `@skaile/workspaces/bridge` | Pluggable agent driver abstraction. Harnesses: Claude SDK, Codex, OMP. |
13
+ | **bridge** | `@skaile/workspaces/bridge` | Pluggable agent harness abstraction. Harnesses: Claude SDK, Codex, OMP. |
14
14
  | **flow engine** | `@skaile/workspaces/factory-assets/connectors/flow/engine` | Flow state machine with typed bindings, precondition admission, consumed-output validation, deterministic routing, active strict v2 agent/function/gate/router/sub-flow nodes, and legacy skill compatibility. |
15
15
  | **flow contract** | `@skaile/workspaces/factory-assets/connectors/flow/contract` | Strict Flow v2 authoring schemas, v1 normalization, bounded expressions, binding origins, and canonical content identity. |
16
16
  | **resolver** | `@skaile/workspaces/resolver` | Parses SKILL.md requirements (`metadata.prerequisites`), validates gates, generates the agent preamble. |
@@ -25,7 +25,7 @@ published package. Every internal folder is exposed as a subpath export and the
25
25
  | **Vue bindings** | `@skaile/workspace-bridge-vue` | `useAgentStore` + `useResourceClient` for Vue 3.3+. Separate npm package, lives at [`packages/bridge-vue`](https://github.com/skaile-ai/workspaces/tree/main/packages/bridge-vue) in this monorepo. |
26
26
 
27
27
  Coding-agent plugin integration is **CLI-generated** — run
28
- `skaile integration install --driver <claude-code|omp|codex>`. There are no separate
28
+ `skaile integration install --harness <claude-code|omp|codex>`. There are no separate
29
29
  plugin packages.
30
30
 
31
31
  ## Dependency Graph
@@ -34,7 +34,7 @@ plugin packages.
34
34
  cli (top-level CLI — orchestrates everything below)
35
35
  │
36
36
  ├── runner (headless runtime — session state, flow execution)
37
- │ ├── bridge (pluggable LLM driver: Claude SDK, Codex, OMP)
37
+ │ ├── bridge (pluggable LLM harness: Claude SDK, Codex, OMP)
38
38
  │ ├── transport (WebSocket server transport for serve mode)
39
39
  │ ├── resolver (skill requirements parsing + validation)
40
40
  │ ├── connectors (optional — external data backend access)
@@ -76,11 +76,11 @@ cli (top-level CLI — orchestrates everything below)
76
76
 
77
77
  ## Quick Start
78
78
 
79
- `skaile run` and `skaile repl` start a driver (a harness), and two of the drivers need an
80
- optional SDK that `skaile-cli` does not install. Install the one for your driver before the
79
+ `skaile run` and `skaile repl` start an agent harness, and two of the harnesses need an
80
+ optional SDK that `skaile-cli` does not install. Install the one for your harness before the
81
81
  first `run` or `repl`:
82
82
 
83
- | Driver | Install |
83
+ | Harness | Install |
84
84
  |---|---|
85
85
  | `claude-sdk` (default) | `npm i @anthropic-ai/claude-agent-sdk` (with Bun: `bun add @anthropic-ai/claude-agent-sdk`) |
86
86
  | `codex` | `npm i @openai/codex-sdk` (0.160 or newer; with Bun: `bun add @openai/codex-sdk`) |
@@ -135,7 +135,7 @@ Node, or Python commands in the existing session workspace without a model
135
135
  turn, with resolved values exported as environment variables — a check's exit
136
136
  status is a pass/fail verdict rather than a plain success/failure. Subprompt
137
137
  nodes are `function`-shaped except for how the work runs: a second, isolated
138
- `AgentDriver` instance per call, with no Skaile system prompt, no MCP servers, no connector capabilities, and no access to the session conversation, bounded to a single turn. It does retain the harness's own native tool surface (a coding harness keeps its file and shell tools, rooted at the session workspace) — isolation here means a separate conversation, not a sandbox, resolving its declared `run.model` tier via a pure
138
+ `AgentHarness` instance per call, with no Skaile system prompt, no MCP servers, no connector capabilities, and no access to the session conversation, bounded to a single turn. It does retain the harness's own native tool surface (a coding harness keeps its file and shell tools, rooted at the session workspace) — isolation here means a separate conversation, not a sandbox, resolving its declared `run.model` tier via a pure
139
139
  `resolveModelTier` against per-provider built-in tiers, failing the node
140
140
  rather than substituting a model when a tier cannot be served. A declared output contract drives a JSON-response request and
141
141
  response parsing through the same consumed-output validation every kind uses;
@@ -156,7 +156,7 @@ convergence stays available. An unfinished declared output waits without
156
156
  starving unrelated runtime work; possible branch targets stay off runtime and
157
157
  agent availability until selection. Routers never invoke the session agent,
158
158
  model client, or `NodeExecutor`. Sub-flow nodes load one child inline through the same session,
159
- driver, `NodeExecutor`, gate operations, and `FlowAdapter` lifecycle. Parked approval and
159
+ harness, `NodeExecutor`, gate operations, and `FlowAdapter` lifecycle. Parked approval and
160
160
  input interactions are published on the parent sub-flow node, while the child
161
161
  adapter remains transient and resumable in memory. Canonical flow identities,
162
162
  cycle detection, and a depth bound keep resolution contained. Sub-flows create
@@ -1,4 +1,4 @@
1
- import { PROTOCOL_VERSION_STRING } from '../chunk-Y56YIT6J.js';
1
+ import { PROTOCOL_VERSION_STRING } from '../chunk-JCPD4QRM.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  import * as z from 'zod';
4
4
 
@@ -1,31 +1,31 @@
1
1
  import { storeNotInstallableReason } from './chunk-PUK7TQT4.js';
2
- import { getKnownKinds } from './chunk-F6AA42GW.js';
3
- import './chunk-IF6IA3PZ.js';
2
+ import { getKnownKinds } from './chunk-ARWKK325.js';
3
+ import './chunk-SZXGRHQQ.js';
4
4
  import './chunk-7RGTAEG6.js';
5
- import './chunk-XM6T2AZ2.js';
6
- import './chunk-I37INEWE.js';
5
+ import './chunk-UL22SDGR.js';
6
+ import './chunk-QOM5Z62G.js';
7
7
  import './chunk-7XSAW5OC.js';
8
8
  import './chunk-BFMYYNDT.js';
9
9
  import './chunk-3TXEJN4W.js';
10
10
  import './chunk-X3RMRJNR.js';
11
11
  import './chunk-NUELZWCF.js';
12
- import './chunk-335ENCCS.js';
13
- import './chunk-N46LQR46.js';
12
+ import './chunk-E572OHGY.js';
13
+ import './chunk-L4YKW5AY.js';
14
14
  import './chunk-4GY63JU6.js';
15
- import { factoryAssetRoots } from './chunk-TIIXG3PN.js';
16
- import './chunk-5TBFN46Z.js';
17
- import './chunk-5BEFNLOR.js';
15
+ import { factoryAssetRoots } from './chunk-OTIB4D2K.js';
16
+ import './chunk-5KRMNUL4.js';
17
+ import './chunk-Z7ZEZZB6.js';
18
18
  import './chunk-MWXYN6NY.js';
19
- import { scanRepo } from './chunk-V257LUBM.js';
19
+ import { scanRepo } from './chunk-OHNKYHRR.js';
20
20
  import './chunk-L5VSIPQD.js';
21
- import './chunk-IG5LZ3WU.js';
21
+ import './chunk-VTETQCR6.js';
22
22
  import './chunk-UQ33Y4DM.js';
23
23
  import './chunk-RVRB27AN.js';
24
24
  import { parseRequires } from './chunk-GOCWM7FN.js';
25
25
  import './chunk-WDXZA7QW.js';
26
- import './chunk-ICSCSM5D.js';
26
+ import './chunk-ADPM6AYF.js';
27
27
  import './chunk-DKXNKFKP.js';
28
- import './chunk-MJHSLODD.js';
28
+ import './chunk-LSI2IVFT.js';
29
29
  import './chunk-C3CAXQMA.js';
30
30
  import './chunk-BOFL7GIF.js';
31
31
  import './chunk-NSBPE2FW.js';
@@ -52,8 +52,8 @@ function libraryEntryOf(asset) {
52
52
  async function libraryAssets() {
53
53
  const notes = [];
54
54
  try {
55
- const { openLibraryManager } = await import('./open-library-PVTIUQUF.js');
56
- const { getKindRegistry } = await import('./open-registry-SOIS3TA2.js');
55
+ const { openLibraryManager } = await import('./open-library-RJGJIW5H.js');
56
+ const { getKindRegistry } = await import('./open-registry-3QS3J7KO.js');
57
57
  const { scanAuthoringLibraries } = await import('./library/index.js');
58
58
  const { library: index, close } = await openLibraryManager();
59
59
  try {
@@ -86,7 +86,7 @@ async function libraryAssets() {
86
86
  async function storeAssets(projectDir) {
87
87
  const notes = [];
88
88
  try {
89
- const { resolveCatalogSource } = await import('./open-library-PVTIUQUF.js');
89
+ const { resolveCatalogSource } = await import('./open-library-RJGJIW5H.js');
90
90
  const { source, close } = await resolveCatalogSource({ projectDir });
91
91
  try {
92
92
  const assets = (await source.listAssets()).filter(
@@ -167,5 +167,5 @@ async function gatherAssetFeeds(am, projectDir) {
167
167
  }
168
168
 
169
169
  export { gatherAssetFeeds };
170
- //# sourceMappingURL=asset-feeds-QGLI3AXI.js.map
171
- //# sourceMappingURL=asset-feeds-QGLI3AXI.js.map
170
+ //# sourceMappingURL=asset-feeds-PXUWCXVI.js.map
171
+ //# sourceMappingURL=asset-feeds-PXUWCXVI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/asset-feeds.ts"],"names":[],"mappings":"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","file":"asset-feeds-QGLI3AXI.js","sourcesContent":["/**\n * asset-feeds.ts — gather installable assets from every feed the manage TUI\n * surfaces.\n *\n * Four feeds, normalized into `CatalogEntry`:\n * - **Project sources** — `skaile.yaml` `sources:` entries (scanned via\n * `AssetManager.search()`; the new `sources:` field is merged into the\n * legacy repositories map in `AssetManager.loadConfig`).\n * - **Local libraries** — user authoring places from `LocalIndex`, read through\n * `scanAuthoringLibraries` (`@skaile/workspaces/library`): the same scan\n * `library index` / `search --local` use, so publishers and refs match them\n * (per-asset `publisher_overrides` honoured), `dev_paths` assets are left out,\n * and a library that fails to scan becomes one note while the rest stay listed.\n * - **Factory assets** — the bundled first-party `factory-assets` tree\n * (`factoryAssetRoots()`), scanned from disk. Always present; no network.\n * - **Remote store** — the configured catalog source when `catalog.url` is\n * not `local`. Failures are non-fatal — they surface as notes.\n */\n\nimport * as path from \"node:path\";\nimport {\n type AssetKind,\n type CatalogEntry,\n factoryAssetRoots,\n parseRequires,\n scanRepo,\n} from \"@skaile/workspaces/core\";\nimport { getKnownKinds } from \"./open-registry.ts\";\nimport { storeNotInstallableReason } from \"./store-addable.ts\";\nimport type { DiscoveredAsset } from \"@skaile/workspaces/discovery\";\n\n/** One non-fatal note returned to the caller for surfacing in the UI. */\nexport interface FeedNote {\n feed: \"sources\" | \"libraries\" | \"store\" | \"factory\";\n message: string;\n}\n\n/**\n * Which feed an asset came from. This is the top-level grouping axis in the\n * manage TUI (\"where is this skill coming from?\") and is intentionally distinct\n * from `publisher` (asset-intrinsic identity): the same publisher can legitimately\n * appear under more than one origin (e.g. a github repo you added as a `source`\n * that is also listed in the remote `store`).\n */\nexport type AssetOrigin = \"source\" | \"library\" | \"factory\" | \"store\";\n\n/** A catalog entry tagged with the feed it was gathered from. */\nexport interface OriginEntry {\n origin: AssetOrigin;\n entry: CatalogEntry;\n /**\n * Second-level grouping label for the manage tree. Defaults (when unset) to the\n * entry's `publisher`; the source feed sets it to the source's short repo name\n * so the Sources band groups by source — \"which repo did this come from\" — not\n * by the asset-intrinsic publisher.\n */\n group?: string;\n}\n\nexport interface AssetFeedResult {\n entries: OriginEntry[];\n notes: FeedNote[];\n}\n\n/**\n * Map one discovered library asset to the `CatalogEntry` the manage rows read.\n * `publisher` is the bare per-asset publisher (what `search --local` prints),\n * `source` the manifest path. `repo` is left unset: it only feeds the Sources-tree\n * org grouping. `requires` / `dependencies` come from the manifest the way the\n * scanner fills them — string `requires:` refs parsed to `{kind, name}`, a bundle's\n * string `dependencies:` list verbatim.\n */\nfunction libraryEntryOf(asset: DiscoveredAsset): CatalogEntry {\n const { manifest } = asset;\n const nested = (manifest.metadata as Record<string, unknown> | undefined)?.requires;\n const rawRequires = manifest.requires ?? nested;\n const requireRefs =\n typeof rawRequires === \"string\"\n ? rawRequires\n : Array.isArray(rawRequires)\n ? rawRequires.filter((r): r is string => typeof r === \"string\")\n : undefined;\n const deps = manifest.dependencies;\n return {\n name: asset.name,\n kind: asset.kind as AssetKind,\n description: typeof manifest.description === \"string\" ? manifest.description : \"\",\n source: asset.manifestPath,\n publisher: asset.publisher,\n ...(asset.plugin ? { plugin: asset.plugin } : {}),\n version: asset.version,\n requires: requireRefs === undefined ? [] : parseRequires({ requires: requireRefs }),\n dependencies:\n asset.kind === \"bundle\" && Array.isArray(deps)\n ? deps.filter((d): d is string => typeof d === \"string\" && d.length > 0)\n : [],\n };\n}\n\n/**\n * Pull assets from local libraries (the authoring places under\n * `~/.skaile/libraries/<name>/`, not the `~/.skaile/cache/sources/` cache) through\n * `scanAuthoringLibraries`, grouped under the bare library name\n * (`group: <name>`) so the manage TUI shows a clean `<name>` band — no\n * `library:` prefix (mirrors the source feed). Plugin grouping (`entry.plugin`)\n * comes from `DiscoveredAsset.plugin`. A library whose scan fails becomes one\n * `FeedNote`; the outer `catch` covers only opening the index.\n */\nasync function libraryAssets(): Promise<{\n entries: OriginEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n // Lazy: the library subpath pulls in SQLite, which the other feeds never need.\n const { openLibraryManager } = await import(\"./open-library.ts\");\n const { getKindRegistry } = await import(\"./open-registry.ts\");\n const { scanAuthoringLibraries } = await import(\"@skaile/workspaces/library\");\n const { library: index, close } = await openLibraryManager();\n try {\n const entries: OriginEntry[] = [];\n for (const scan of await scanAuthoringLibraries(index, getKindRegistry())) {\n if (scan.error !== undefined) {\n notes.push({ feed: \"libraries\", message: `${scan.library.name}: ${scan.error}` });\n continue;\n }\n for (const asset of scan.assets) {\n entries.push({\n origin: \"library\",\n entry: libraryEntryOf(asset),\n group: scan.library.name,\n });\n }\n }\n return { entries, notes };\n } finally {\n close();\n }\n } catch (err) {\n notes.push({\n feed: \"libraries\",\n message: err instanceof Error ? err.message : String(err),\n });\n return { entries: [], notes };\n }\n}\n\n/**\n * Pull a (best-effort) snapshot of the connected remote store catalog.\n *\n * - Returns no entries when the resolved catalog is local-only or the host\n * is unreachable (the failure becomes a note, not an exception).\n * - Maps `CatalogAsset` → `CatalogEntry`, carrying `publisher`, `repo`, and\n * `category` straight through and using `source = \"store://<id>\"`; per-file\n * `source` paths are not available for remote assets so the canonical ref is\n * a stable placeholder.\n */\nasync function storeAssets(projectDir: string): Promise<{\n entries: CatalogEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const { resolveCatalogSource } = await import(\"./open-library.ts\");\n const { source, close } = await resolveCatalogSource({ projectDir });\n try {\n // The store lists only what `skaile add` can install (see store-addable.ts).\n const assets = (await source.listAssets()).filter(\n (a) => storeNotInstallableReason(a) === undefined,\n );\n const entries: CatalogEntry[] = assets.map((a) => ({\n name: a.name,\n kind: (a.kind as AssetKind) ?? \"skill\",\n description: a.description ?? \"\",\n source: `store://${a.id}`,\n publisher: a.publisher,\n repo: a.repo,\n plugin: a.plugin,\n category: a.category,\n version: a.version,\n requires: [],\n dependencies: [],\n }));\n return { entries, notes };\n } finally {\n close();\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n // Local-only catalog throws a recognizable message — silence it; absence\n // is the user's choice, not an error.\n if (!/local/i.test(msg)) {\n notes.push({ feed: \"store\", message: msg });\n }\n return { entries: [], notes };\n }\n}\n\n/** The slice of `AssetManager` the source feed needs (kept narrow for tests). */\ninterface AssetManagerLike {\n search: () => Promise<CatalogEntry[]>;\n searchRepoRoots: () => { repoName: string; root: string }[];\n}\n\n/**\n * Project-source feed: leans on `AssetManager.search()`, which merges\n * `skaile.yaml`'s `sources:` field into the repositories map. Plugin grouping\n * (`entry.plugin`) is stamped by the scanner, so entries pass through as-is.\n */\nasync function sourceAssets(am: AssetManagerLike): Promise<OriginEntry[]> {\n // The bundled factory tree is injected into the repositories map as an implicit\n // source, so `am.search()` returns it too. It has its own `factory` origin band,\n // so drop it here — otherwise the same first-party skills list twice under Sources.\n const factoryPrefixes = factoryAssetRoots().map((r) => (r.endsWith(path.sep) ? r : r + path.sep));\n const isFactoryPath = (p: string) =>\n factoryPrefixes.some((fp) => p === fp.slice(0, -1) || p.startsWith(fp));\n\n const all = (await am.search()).filter((e) => !isFactoryPath(e.source));\n const entries: OriginEntry[] = [];\n // Group each source's entries under the source node (its short repo name), not\n // the publisher: under Sources the navigational question is \"which repo did\n // this come from\". Each entry's `source` (absolute manifest path) lives under\n // exactly one declared root, so group by prefix. The cache slug is\n // URL-keyed `github.com/<org>/<repo>` — take the trailing segment.\n for (const { repoName, root } of am.searchRepoRoots()) {\n if (isFactoryPath(root)) continue;\n const prefix = root.endsWith(path.sep) ? root : root + path.sep;\n const owned = all.filter((e) => e.source === root || e.source.startsWith(prefix));\n if (owned.length === 0) continue;\n const sourceName = repoName.split(\"/\").pop() || repoName;\n for (const entry of owned) entries.push({ origin: \"source\", entry, group: sourceName });\n }\n return entries;\n}\n\n/**\n * Factory-asset feed: scan the bundled first-party `factory-assets` tree(s)\n * resolved by `factoryAssetRoots()` (the `SKAILE_FACTORY_ASSETS_DIR` override\n * layer ahead of the bundled tree). Local disk only, no network — the entries are\n * the built-in skills / connectors / bundles that ship with `@skaile/workspaces`.\n * `factoryAssetRoots()` already dedupes, so the env override pointing at the\n * bundled dir collapses to one root.\n */\nasync function factoryAssets(): Promise<{\n entries: CatalogEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const entries: CatalogEntry[] = [];\n for (const root of factoryAssetRoots()) {\n entries.push(...(await scanRepo(root, \"skaile-factory\", { knownKinds: getKnownKinds() })));\n }\n return { entries, notes };\n } catch (err) {\n notes.push({\n feed: \"factory\",\n message: err instanceof Error ? err.message : String(err),\n });\n return { entries: [], notes };\n }\n}\n\n/** Tag a flat entry list with a single origin. */\nfunction tag(origin: AssetOrigin, entries: CatalogEntry[]): OriginEntry[] {\n return entries.map((entry) => ({ origin, entry }));\n}\n\n/**\n * Run all feeds and return a single normalized result.\n *\n * Feeds run in parallel where possible — the store fetch is the slow one\n * (one HTTP call) and is fired alongside the local library walk. The factory\n * scan is local disk only, so it runs inline.\n */\nexport async function gatherAssetFeeds(\n am: AssetManagerLike,\n projectDir: string,\n): Promise<AssetFeedResult> {\n const [libs, store] = await Promise.all([libraryAssets(), storeAssets(projectDir)]);\n const factory = await factoryAssets();\n const src = await sourceAssets(am);\n return {\n entries: [\n ...src,\n ...libs.entries,\n ...tag(\"factory\", factory.entries),\n ...tag(\"store\", store.entries),\n ],\n notes: [...libs.notes, ...store.notes, ...factory.notes],\n };\n}\n"]}
1
+ {"version":3,"sources":["../cli/src/asset-feeds.ts"],"names":[],"mappings":"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","file":"asset-feeds-PXUWCXVI.js","sourcesContent":["/**\n * asset-feeds.ts — gather installable assets from every feed the manage TUI\n * surfaces.\n *\n * Four feeds, normalized into `CatalogEntry`:\n * - **Project sources** — `skaile.yaml` `sources:` entries (scanned via\n * `AssetManager.search()`; the new `sources:` field is merged into the\n * legacy repositories map in `AssetManager.loadConfig`).\n * - **Local libraries** — user authoring places from `LocalIndex`, read through\n * `scanAuthoringLibraries` (`@skaile/workspaces/library`): the same scan\n * `library index` / `search --local` use, so publishers and refs match them\n * (per-asset `publisher_overrides` honoured), `dev_paths` assets are left out,\n * and a library that fails to scan becomes one note while the rest stay listed.\n * - **Factory assets** — the bundled first-party `factory-assets` tree\n * (`factoryAssetRoots()`), scanned from disk. Always present; no network.\n * - **Remote store** — the configured catalog source when `catalog.url` is\n * not `local`. Failures are non-fatal — they surface as notes.\n */\n\nimport * as path from \"node:path\";\nimport {\n type AssetKind,\n type CatalogEntry,\n factoryAssetRoots,\n parseRequires,\n scanRepo,\n} from \"@skaile/workspaces/core\";\nimport { getKnownKinds } from \"./open-registry.ts\";\nimport { storeNotInstallableReason } from \"./store-addable.ts\";\nimport type { DiscoveredAsset } from \"@skaile/workspaces/discovery\";\n\n/** One non-fatal note returned to the caller for surfacing in the UI. */\nexport interface FeedNote {\n feed: \"sources\" | \"libraries\" | \"store\" | \"factory\";\n message: string;\n}\n\n/**\n * Which feed an asset came from. This is the top-level grouping axis in the\n * manage TUI (\"where is this skill coming from?\") and is intentionally distinct\n * from `publisher` (asset-intrinsic identity): the same publisher can legitimately\n * appear under more than one origin (e.g. a github repo you added as a `source`\n * that is also listed in the remote `store`).\n */\nexport type AssetOrigin = \"source\" | \"library\" | \"factory\" | \"store\";\n\n/** A catalog entry tagged with the feed it was gathered from. */\nexport interface OriginEntry {\n origin: AssetOrigin;\n entry: CatalogEntry;\n /**\n * Second-level grouping label for the manage tree. Defaults (when unset) to the\n * entry's `publisher`; the source feed sets it to the source's short repo name\n * so the Sources band groups by source — \"which repo did this come from\" — not\n * by the asset-intrinsic publisher.\n */\n group?: string;\n}\n\nexport interface AssetFeedResult {\n entries: OriginEntry[];\n notes: FeedNote[];\n}\n\n/**\n * Map one discovered library asset to the `CatalogEntry` the manage rows read.\n * `publisher` is the bare per-asset publisher (what `search --local` prints),\n * `source` the manifest path. `repo` is left unset: it only feeds the Sources-tree\n * org grouping. `requires` / `dependencies` come from the manifest the way the\n * scanner fills them — string `requires:` refs parsed to `{kind, name}`, a bundle's\n * string `dependencies:` list verbatim.\n */\nfunction libraryEntryOf(asset: DiscoveredAsset): CatalogEntry {\n const { manifest } = asset;\n const nested = (manifest.metadata as Record<string, unknown> | undefined)?.requires;\n const rawRequires = manifest.requires ?? nested;\n const requireRefs =\n typeof rawRequires === \"string\"\n ? rawRequires\n : Array.isArray(rawRequires)\n ? rawRequires.filter((r): r is string => typeof r === \"string\")\n : undefined;\n const deps = manifest.dependencies;\n return {\n name: asset.name,\n kind: asset.kind as AssetKind,\n description: typeof manifest.description === \"string\" ? manifest.description : \"\",\n source: asset.manifestPath,\n publisher: asset.publisher,\n ...(asset.plugin ? { plugin: asset.plugin } : {}),\n version: asset.version,\n requires: requireRefs === undefined ? [] : parseRequires({ requires: requireRefs }),\n dependencies:\n asset.kind === \"bundle\" && Array.isArray(deps)\n ? deps.filter((d): d is string => typeof d === \"string\" && d.length > 0)\n : [],\n };\n}\n\n/**\n * Pull assets from local libraries (the authoring places under\n * `~/.skaile/libraries/<name>/`, not the `~/.skaile/cache/sources/` cache) through\n * `scanAuthoringLibraries`, grouped under the bare library name\n * (`group: <name>`) so the manage TUI shows a clean `<name>` band — no\n * `library:` prefix (mirrors the source feed). Plugin grouping (`entry.plugin`)\n * comes from `DiscoveredAsset.plugin`. A library whose scan fails becomes one\n * `FeedNote`; the outer `catch` covers only opening the index.\n */\nasync function libraryAssets(): Promise<{\n entries: OriginEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n // Lazy: the library subpath pulls in SQLite, which the other feeds never need.\n const { openLibraryManager } = await import(\"./open-library.ts\");\n const { getKindRegistry } = await import(\"./open-registry.ts\");\n const { scanAuthoringLibraries } = await import(\"@skaile/workspaces/library\");\n const { library: index, close } = await openLibraryManager();\n try {\n const entries: OriginEntry[] = [];\n for (const scan of await scanAuthoringLibraries(index, getKindRegistry())) {\n if (scan.error !== undefined) {\n notes.push({ feed: \"libraries\", message: `${scan.library.name}: ${scan.error}` });\n continue;\n }\n for (const asset of scan.assets) {\n entries.push({\n origin: \"library\",\n entry: libraryEntryOf(asset),\n group: scan.library.name,\n });\n }\n }\n return { entries, notes };\n } finally {\n close();\n }\n } catch (err) {\n notes.push({\n feed: \"libraries\",\n message: err instanceof Error ? err.message : String(err),\n });\n return { entries: [], notes };\n }\n}\n\n/**\n * Pull a (best-effort) snapshot of the connected remote store catalog.\n *\n * - Returns no entries when the resolved catalog is local-only or the host\n * is unreachable (the failure becomes a note, not an exception).\n * - Maps `CatalogAsset` → `CatalogEntry`, carrying `publisher`, `repo`, and\n * `category` straight through and using `source = \"store://<id>\"`; per-file\n * `source` paths are not available for remote assets so the canonical ref is\n * a stable placeholder.\n */\nasync function storeAssets(projectDir: string): Promise<{\n entries: CatalogEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const { resolveCatalogSource } = await import(\"./open-library.ts\");\n const { source, close } = await resolveCatalogSource({ projectDir });\n try {\n // The store lists only what `skaile add` can install (see store-addable.ts).\n const assets = (await source.listAssets()).filter(\n (a) => storeNotInstallableReason(a) === undefined,\n );\n const entries: CatalogEntry[] = assets.map((a) => ({\n name: a.name,\n kind: (a.kind as AssetKind) ?? \"skill\",\n description: a.description ?? \"\",\n source: `store://${a.id}`,\n publisher: a.publisher,\n repo: a.repo,\n plugin: a.plugin,\n category: a.category,\n version: a.version,\n requires: [],\n dependencies: [],\n }));\n return { entries, notes };\n } finally {\n close();\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n // Local-only catalog throws a recognizable message — silence it; absence\n // is the user's choice, not an error.\n if (!/local/i.test(msg)) {\n notes.push({ feed: \"store\", message: msg });\n }\n return { entries: [], notes };\n }\n}\n\n/** The slice of `AssetManager` the source feed needs (kept narrow for tests). */\ninterface AssetManagerLike {\n search: () => Promise<CatalogEntry[]>;\n searchRepoRoots: () => { repoName: string; root: string }[];\n}\n\n/**\n * Project-source feed: leans on `AssetManager.search()`, which merges\n * `skaile.yaml`'s `sources:` field into the repositories map. Plugin grouping\n * (`entry.plugin`) is stamped by the scanner, so entries pass through as-is.\n */\nasync function sourceAssets(am: AssetManagerLike): Promise<OriginEntry[]> {\n // The bundled factory tree is injected into the repositories map as an implicit\n // source, so `am.search()` returns it too. It has its own `factory` origin band,\n // so drop it here — otherwise the same first-party skills list twice under Sources.\n const factoryPrefixes = factoryAssetRoots().map((r) => (r.endsWith(path.sep) ? r : r + path.sep));\n const isFactoryPath = (p: string) =>\n factoryPrefixes.some((fp) => p === fp.slice(0, -1) || p.startsWith(fp));\n\n const all = (await am.search()).filter((e) => !isFactoryPath(e.source));\n const entries: OriginEntry[] = [];\n // Group each source's entries under the source node (its short repo name), not\n // the publisher: under Sources the navigational question is \"which repo did\n // this come from\". Each entry's `source` (absolute manifest path) lives under\n // exactly one declared root, so group by prefix. The cache slug is\n // URL-keyed `github.com/<org>/<repo>` — take the trailing segment.\n for (const { repoName, root } of am.searchRepoRoots()) {\n if (isFactoryPath(root)) continue;\n const prefix = root.endsWith(path.sep) ? root : root + path.sep;\n const owned = all.filter((e) => e.source === root || e.source.startsWith(prefix));\n if (owned.length === 0) continue;\n const sourceName = repoName.split(\"/\").pop() || repoName;\n for (const entry of owned) entries.push({ origin: \"source\", entry, group: sourceName });\n }\n return entries;\n}\n\n/**\n * Factory-asset feed: scan the bundled first-party `factory-assets` tree(s)\n * resolved by `factoryAssetRoots()` (the `SKAILE_FACTORY_ASSETS_DIR` override\n * layer ahead of the bundled tree). Local disk only, no network — the entries are\n * the built-in skills / connectors / bundles that ship with `@skaile/workspaces`.\n * `factoryAssetRoots()` already dedupes, so the env override pointing at the\n * bundled dir collapses to one root.\n */\nasync function factoryAssets(): Promise<{\n entries: CatalogEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const entries: CatalogEntry[] = [];\n for (const root of factoryAssetRoots()) {\n entries.push(...(await scanRepo(root, \"skaile-factory\", { knownKinds: getKnownKinds() })));\n }\n return { entries, notes };\n } catch (err) {\n notes.push({\n feed: \"factory\",\n message: err instanceof Error ? err.message : String(err),\n });\n return { entries: [], notes };\n }\n}\n\n/** Tag a flat entry list with a single origin. */\nfunction tag(origin: AssetOrigin, entries: CatalogEntry[]): OriginEntry[] {\n return entries.map((entry) => ({ origin, entry }));\n}\n\n/**\n * Run all feeds and return a single normalized result.\n *\n * Feeds run in parallel where possible — the store fetch is the slow one\n * (one HTTP call) and is fired alongside the local library walk. The factory\n * scan is local disk only, so it runs inline.\n */\nexport async function gatherAssetFeeds(\n am: AssetManagerLike,\n projectDir: string,\n): Promise<AssetFeedResult> {\n const [libs, store] = await Promise.all([libraryAssets(), storeAssets(projectDir)]);\n const factory = await factoryAssets();\n const src = await sourceAssets(am);\n return {\n entries: [\n ...src,\n ...libs.entries,\n ...tag(\"factory\", factory.entries),\n ...tag(\"store\", store.entries),\n ],\n notes: [...libs.notes, ...store.notes, ...factory.notes],\n };\n}\n"]}
@@ -1,20 +1,20 @@
1
1
  export { WORKSPACE_MOUNT_ENV_VAR, deployAll, deployCatalogEntry, findAiAssetsRoot, isUnderWorkspaceMount, resolveFlowSkills, undeployCatalogEntry, workspaceMountDirs } from '../chunk-H6UVIKQ2.js';
2
- import '../chunk-N46LQR46.js';
2
+ import '../chunk-L4YKW5AY.js';
3
3
  import '../chunk-4GY63JU6.js';
4
- import '../chunk-TIIXG3PN.js';
5
- import '../chunk-5TBFN46Z.js';
6
- import '../chunk-5BEFNLOR.js';
4
+ import '../chunk-OTIB4D2K.js';
5
+ import '../chunk-5KRMNUL4.js';
6
+ import '../chunk-Z7ZEZZB6.js';
7
7
  import '../chunk-MWXYN6NY.js';
8
- import '../chunk-V257LUBM.js';
8
+ import '../chunk-OHNKYHRR.js';
9
9
  import '../chunk-L5VSIPQD.js';
10
- import '../chunk-IG5LZ3WU.js';
10
+ import '../chunk-VTETQCR6.js';
11
11
  import '../chunk-UQ33Y4DM.js';
12
12
  import '../chunk-RVRB27AN.js';
13
13
  import '../chunk-GOCWM7FN.js';
14
14
  import '../chunk-WDXZA7QW.js';
15
- import '../chunk-ICSCSM5D.js';
15
+ import '../chunk-ADPM6AYF.js';
16
16
  import '../chunk-DKXNKFKP.js';
17
- import '../chunk-MJHSLODD.js';
17
+ import '../chunk-LSI2IVFT.js';
18
18
  import '../chunk-C3CAXQMA.js';
19
19
  import '../chunk-BOFL7GIF.js';
20
20
  import '../chunk-NSBPE2FW.js';
@@ -1,6 +1,6 @@
1
- export { AssetManager, FACTORY_SOURCE_URL, LibraryEntryError, MissingManifestError, installAgentInstances, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-MRHVPQNO.js';
2
- import '../chunk-XM6T2AZ2.js';
3
- import '../chunk-I37INEWE.js';
1
+ export { AssetManager, FACTORY_SOURCE_URL, LibraryEntryError, MissingManifestError, installAgentInstances, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-OAHVKSQJ.js';
2
+ import '../chunk-UL22SDGR.js';
3
+ import '../chunk-QOM5Z62G.js';
4
4
  import '../chunk-7XSAW5OC.js';
5
5
  import '../chunk-BFMYYNDT.js';
6
6
  import '../chunk-3TXEJN4W.js';
@@ -8,28 +8,28 @@ import '../chunk-ISHJITXJ.js';
8
8
  import '../chunk-LNFKL23K.js';
9
9
  import '../chunk-X3RMRJNR.js';
10
10
  import '../chunk-NUELZWCF.js';
11
- export { SCAFFOLD_KINDS, createScaffold, deployAll, installAgent, installTargetOf, removeAsset } from '../chunk-JTOWA6RS.js';
11
+ export { SCAFFOLD_KINDS, createScaffold, deployAll, installAgent, installTargetOf, removeAsset } from '../chunk-3JKGY2YC.js';
12
12
  export { BUILT_IN_FRAGMENTS, loadPromptExtensions, resolveFragments } from '../chunk-NOA6EJXE.js';
13
13
  export { appendHistory, clearHistory, getRecentHistory, loadHistory } from '../chunk-KTBKW2FI.js';
14
14
  import '../chunk-UQ6LFBPZ.js';
15
- export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-C7WBGSBV.js';
16
- import '../chunk-335ENCCS.js';
17
- import '../chunk-N46LQR46.js';
15
+ export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, harnessTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-DUMTLYSO.js';
16
+ import '../chunk-E572OHGY.js';
17
+ import '../chunk-L4YKW5AY.js';
18
18
  import '../chunk-4GY63JU6.js';
19
- import '../chunk-TIIXG3PN.js';
20
- import '../chunk-5TBFN46Z.js';
21
- import '../chunk-5BEFNLOR.js';
19
+ import '../chunk-OTIB4D2K.js';
20
+ import '../chunk-5KRMNUL4.js';
21
+ import '../chunk-Z7ZEZZB6.js';
22
22
  import '../chunk-MWXYN6NY.js';
23
- import '../chunk-V257LUBM.js';
23
+ import '../chunk-OHNKYHRR.js';
24
24
  import '../chunk-L5VSIPQD.js';
25
- import '../chunk-IG5LZ3WU.js';
25
+ import '../chunk-VTETQCR6.js';
26
26
  import '../chunk-UQ33Y4DM.js';
27
27
  import '../chunk-RVRB27AN.js';
28
28
  import '../chunk-GOCWM7FN.js';
29
29
  import '../chunk-WDXZA7QW.js';
30
- import '../chunk-ICSCSM5D.js';
30
+ import '../chunk-ADPM6AYF.js';
31
31
  import '../chunk-DKXNKFKP.js';
32
- import '../chunk-MJHSLODD.js';
32
+ import '../chunk-LSI2IVFT.js';
33
33
  import '../chunk-C3CAXQMA.js';
34
34
  import '../chunk-BOFL7GIF.js';
35
35
  import '../chunk-NSBPE2FW.js';
@@ -1,23 +1,23 @@
1
- export { SCAFFOLD_KINDS, assertNoLibrarySymlinks, canonicalEntryRef, createScaffold, deployAll, deployAsset, deployedAssetDrift, diffDeployedAgent, installTargetOf, readKeptLegacyCopies, removeAsset, writeKeptLegacyCopies } from '../chunk-JTOWA6RS.js';
1
+ export { SCAFFOLD_KINDS, assertNoLibrarySymlinks, canonicalEntryRef, createScaffold, deployAll, deployAsset, deployedAssetDrift, diffDeployedAgent, installTargetOf, readKeptLegacyCopies, removeAsset, writeKeptLegacyCopies } from '../chunk-3JKGY2YC.js';
2
2
  import '../chunk-NOA6EJXE.js';
3
- import '../chunk-C7WBGSBV.js';
4
- import '../chunk-335ENCCS.js';
5
- import '../chunk-N46LQR46.js';
3
+ import '../chunk-DUMTLYSO.js';
4
+ import '../chunk-E572OHGY.js';
5
+ import '../chunk-L4YKW5AY.js';
6
6
  import '../chunk-4GY63JU6.js';
7
- import '../chunk-TIIXG3PN.js';
8
- import '../chunk-5TBFN46Z.js';
9
- import '../chunk-5BEFNLOR.js';
7
+ import '../chunk-OTIB4D2K.js';
8
+ import '../chunk-5KRMNUL4.js';
9
+ import '../chunk-Z7ZEZZB6.js';
10
10
  import '../chunk-MWXYN6NY.js';
11
- import '../chunk-V257LUBM.js';
11
+ import '../chunk-OHNKYHRR.js';
12
12
  import '../chunk-L5VSIPQD.js';
13
- import '../chunk-IG5LZ3WU.js';
13
+ import '../chunk-VTETQCR6.js';
14
14
  import '../chunk-UQ33Y4DM.js';
15
15
  import '../chunk-RVRB27AN.js';
16
16
  import '../chunk-GOCWM7FN.js';
17
17
  import '../chunk-WDXZA7QW.js';
18
- import '../chunk-ICSCSM5D.js';
18
+ import '../chunk-ADPM6AYF.js';
19
19
  import '../chunk-DKXNKFKP.js';
20
- import '../chunk-MJHSLODD.js';
20
+ import '../chunk-LSI2IVFT.js';
21
21
  import '../chunk-C3CAXQMA.js';
22
22
  import '../chunk-BOFL7GIF.js';
23
23
  import '../chunk-NSBPE2FW.js';
@@ -1,21 +1,21 @@
1
- export { AGENT_RENDERERS, CODEX_IDENTITY_DIR, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-C7WBGSBV.js';
2
- import '../chunk-335ENCCS.js';
3
- import '../chunk-N46LQR46.js';
1
+ export { AGENT_RENDERERS, CODEX_IDENTITY_DIR, claudeCodeRenderer, codexRenderer, harnessTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-DUMTLYSO.js';
2
+ import '../chunk-E572OHGY.js';
3
+ import '../chunk-L4YKW5AY.js';
4
4
  import '../chunk-4GY63JU6.js';
5
- import '../chunk-TIIXG3PN.js';
6
- import '../chunk-5TBFN46Z.js';
7
- import '../chunk-5BEFNLOR.js';
5
+ import '../chunk-OTIB4D2K.js';
6
+ import '../chunk-5KRMNUL4.js';
7
+ import '../chunk-Z7ZEZZB6.js';
8
8
  import '../chunk-MWXYN6NY.js';
9
- import '../chunk-V257LUBM.js';
9
+ import '../chunk-OHNKYHRR.js';
10
10
  import '../chunk-L5VSIPQD.js';
11
- import '../chunk-IG5LZ3WU.js';
11
+ import '../chunk-VTETQCR6.js';
12
12
  import '../chunk-UQ33Y4DM.js';
13
13
  import '../chunk-RVRB27AN.js';
14
14
  import '../chunk-GOCWM7FN.js';
15
15
  import '../chunk-WDXZA7QW.js';
16
- import '../chunk-ICSCSM5D.js';
16
+ import '../chunk-ADPM6AYF.js';
17
17
  import '../chunk-DKXNKFKP.js';
18
- import '../chunk-MJHSLODD.js';
18
+ import '../chunk-LSI2IVFT.js';
19
19
  import '../chunk-C3CAXQMA.js';
20
20
  import '../chunk-BOFL7GIF.js';
21
21
  import '../chunk-NSBPE2FW.js';
@@ -9,7 +9,7 @@
9
9
  * const am = new AssetManager({ projectDir: "/path/to/project" })
10
10
  * await am.install()
11
11
  */
12
- import type { AssetRef, CatalogEntry, DriverTarget, LockFile, StoreFetcher } from "@skaile/workspaces/core";
12
+ import type { AssetRef, CatalogEntry, HarnessName, LockFile, StoreFetcher } from "@skaile/workspaces/core";
13
13
  import type { IAssetKindRegistry } from "@skaile/workspaces/plugins";
14
14
  import type { PresetExpansion } from "@skaile/workspaces/core";
15
15
  import type { AssetFetcher } from "@skaile/workspaces/library";
@@ -152,7 +152,7 @@ export interface LegacyDeployedAsset {
152
152
  */
153
153
  export interface HarnessDeclaredAsset extends DeclaredAsset {
154
154
  /** The global harness this state was reconciled against. */
155
- harness: DriverTarget;
155
+ harness: HarnessName;
156
156
  }
157
157
  /** @deprecated Use {@link HarnessDeclaredAsset}; the `backend` field is now `harness`. Removed in the next major. */
158
158
  export type BackendDeclaredAsset = HarnessDeclaredAsset;
@@ -624,15 +624,15 @@ export interface AssetManagerOptions {
624
624
  * Agent framework to target for asset deployment.
625
625
  * Determines which framework directories (``.claude/``, ``.omp/``, etc.) are used.
626
626
  * Defaults to the harness the project is configured for (`skaile.yaml`
627
- * `agent-config.default.driver`, `.skaile/settings.json`), else `"claude-code"`.
627
+ * `agent-config.default.harness`, `.skaile/settings.json`), else `"claude-code"`.
628
628
  */
629
- driverTarget?: DriverTarget;
629
+ harness?: HarnessName;
630
630
  /**
631
631
  * When `true`, the manager operates in **global cross-harness** mode: config
632
632
  * SSOT, lock, cache, and history root at `~/.skaile` (not the project), the
633
633
  * `dependencies:` manifest edits target `~/.skaile/skaile.yaml`, and deploy
634
634
  * fans out to every harness in {@link harnesses}. When `false` (default),
635
- * everything is project-scoped against the single {@link driverTarget}.
635
+ * everything is project-scoped against the single {@link harness}.
636
636
  */
637
637
  global?: boolean;
638
638
  /**
@@ -641,9 +641,9 @@ export interface AssetManagerOptions {
641
641
  * (`resolveGlobalHarnesses`). Ignored in project mode. A `--harness` filter
642
642
  * narrows this to a subset.
643
643
  */
644
- harnesses?: DriverTarget[];
644
+ harnesses?: HarnessName[];
645
645
  /** @deprecated Use `harnesses`. Honoured only when `harnesses` is absent; removed in the next major. */
646
- backends?: DriverTarget[];
646
+ backends?: HarnessName[];
647
647
  /**
648
648
  * Catalog read-protocol fetcher used to resolve store-published assets. When
649
649
  * omitted, one is built per call from the configured stores
@@ -718,8 +718,8 @@ export declare const FACTORY_SOURCE_URL = "https://github.com/skaile-ai/ai-asset
718
718
  export declare class AssetManager {
719
719
  /** Resolved absolute path to the workspace root. */
720
720
  readonly projectDir: string;
721
- /** Agent framework driver target used for all deploy operations. */
722
- readonly driverTarget: DriverTarget;
721
+ /** Harness all deploy operations target (a `HarnessName`). */
722
+ readonly harness: HarnessName;
723
723
  /** Whether this instance operates in global-install mode. */
724
724
  readonly global: boolean;
725
725
  /** Asset-kind registry shared with the host (one instance per process). */
@@ -763,7 +763,7 @@ export declare class AssetManager {
763
763
  /**
764
764
  * Root for this manager's **state** — config SSOT, lock, cache, history.
765
765
  * `~/.skaile` in global mode (the cross-harness SSOT), else the project dir.
766
- * Deploy dirs are unaffected; they come from `DRIVER_TARGETS[target]`.
766
+ * Deploy dirs are unaffected; they come from `HARNESS_TARGETS[target]`.
767
767
  */
768
768
  private get stateRoot();
769
769
  /**
@@ -771,7 +771,7 @@ export declare class AssetManager {
771
771
  * filter), else the explicit `global_harnesses:` of `~/.skaile/skaile.yaml`, else every harness
772
772
  * whose root dir exists under `~` plus the harness the project is configured for (a project on
773
773
  * a harness whose dir does not exist yet still gets its user-scope assets). In project mode
774
- * this is exactly `[driverTarget]`, so the shared fan-out loop degenerates to the
774
+ * this is exactly `[harness]`, so the shared fan-out loop degenerates to the
775
775
  * single-target path.
776
776
  */
777
777
  private targetHarnesses;
@@ -812,10 +812,10 @@ export declare class AssetManager {
812
812
  /** The old omp copies the deploys since the last call removed (see {@link sweepLegacyOmpCopies}). */
813
813
  takeLegacyCopiesRemoved(): string[];
814
814
  /**
815
- * The harnesses `add` / `install` deploy into: `[driverTarget]` for a project, the global
815
+ * The harnesses `add` / `install` deploy into: `[harness]` for a project, the global
816
816
  * harness set (see {@link AssetManager.targetHarnesses}) for a global manager.
817
817
  */
818
- deployTargets(): DriverTarget[];
818
+ deployTargets(): HarnessName[];
819
819
  private get storeCacheDir();
820
820
  private get reposDir();
821
821
  /**
@@ -829,8 +829,8 @@ export declare class AssetManager {
829
829
  };
830
830
  private get lockPath();
831
831
  private get patchDir();
832
- /** Deploy options for one harness. In global mode, `driverTarget` is the
833
- * fan-out target (not the constructor's `driverTarget`, which is project-only). */
832
+ /** Deploy options for one harness. In global mode, `harness` is the
833
+ * fan-out target (not the constructor's `harness`, which is project-only). */
834
834
  private deployOptsFor;
835
835
  /**
836
836
  * Names of the `mcp-server` assets the lock holds (the declaration ids, unscoped); a missing
@@ -866,7 +866,7 @@ export declare class AssetManager {
866
866
  */
867
867
  private mcpPendingRender;
868
868
  /**
869
- * Render the project's declared MCP servers into the driver target's own
869
+ * Render the project's declared MCP servers into the harness target's own
870
870
  * native MCP config (`<project>/.mcp.json` for `claude-code`), so the coding
871
871
  * agent sees the same servers skaile's agent loop wires up.
872
872
  *
@@ -879,9 +879,9 @@ export declare class AssetManager {
879
879
  * removed) because they had drifted from the declaration: `install` names them, as it does
880
880
  * a restored skill file.
881
881
  */
882
- private renderDriverMcpConfig;
882
+ private renderHarnessMcpConfig;
883
883
  /**
884
- * Render every agent instance of `skaile.yaml` into the driver target's native
884
+ * Render every agent instance of `skaile.yaml` into the harness target's native
885
885
  * agent files (`.claude/agents/<id>.md`, …) and prune the renderings of
886
886
  * instances that left the config. Runs after the skills deploy, so composed
887
887
  * skills resolve. Project scope only. An instance whose `ref` resolves to no agent is
@@ -1618,7 +1618,7 @@ export declare class AssetManager {
1618
1618
  * Removes only `ref` itself; use {@link removeWithDependencies} to also drop the
1619
1619
  * dependencies it leaves orphaned.
1620
1620
  *
1621
- * Deliberately does NOT re-render the driver target's MCP config: the render
1621
+ * Deliberately does NOT re-render the harness target's MCP config: the render
1622
1622
  * step is async (the declaration resolver is), and making this synchronous
1623
1623
  * method async would break every external caller. {@link removeWithDependencies}
1624
1624
  * (what `skaile remove` runs) does re-render it; a caller of this method gets the
@@ -1843,9 +1843,9 @@ export declare class AssetManager {
1843
1843
  * @throws {Error} on legacy keys in `~/.skaile/skaile.yaml` (migration hint).
1844
1844
  */
1845
1845
  globalState(opts?: {
1846
- harness?: DriverTarget;
1846
+ harness?: HarnessName;
1847
1847
  /** @deprecated Use `harness`. Honoured only when `harness` is absent; removed in the next major. */
1848
- backend?: DriverTarget;
1848
+ backend?: HarnessName;
1849
1849
  kind?: string;
1850
1850
  }): HarnessDeclaredAsset[];
1851
1851
  /**
@@ -2382,7 +2382,7 @@ export { installAgent } from "./install-agent.js";
2382
2382
  export type { InstalledAgentInstance, InstallAgentInstancesOptions, InstallAgentInstancesResult, } from "./install-instances.js";
2383
2383
  export { installAgentInstances } from "./install-instances.js";
2384
2384
  export type { AgentRenderer, AgentRenderInput, AgentRenderResult } from "./renderers.js";
2385
- export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, } from "./renderers.js";
2385
+ export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, harnessTargetSupportsAgents, ompRenderer, } from "./renderers.js";
2386
2386
  export type { AbilityRef, ConnectorRef, ContractRef, FragmentContext, FragmentId, } from "./fragments.js";
2387
2387
  export { BUILT_IN_FRAGMENTS, loadPromptExtensions, resolveFragments } from "./fragments.js";
2388
2388
  //# sourceMappingURL=index.d.ts.map