@skaile/workspaces 5.1.2 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-EVS3WPWS.js → asset-feeds-WDIB3E6H.js} +11 -11
  4. package/dist/{asset-feeds-EVS3WPWS.js.map → asset-feeds-WDIB3E6H.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +8 -8
  6. package/dist/asset-manager/index.js +12 -12
  7. package/dist/asset-manager/installer.js +8 -8
  8. package/dist/asset-manager/src/index.d.ts +27 -1
  9. package/dist/asset-manager/src/index.d.ts.map +1 -1
  10. package/dist/bridge/drivers/claude-sdk.js +110 -23
  11. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  12. package/dist/bridge/drivers/codex.js +11 -10
  13. package/dist/bridge/drivers/codex.js.map +1 -1
  14. package/dist/bridge/drivers/continue.js +10 -10
  15. package/dist/bridge/drivers/echo.js +3 -3
  16. package/dist/bridge/drivers/gemini.js +5 -5
  17. package/dist/bridge/drivers/goose.js +10 -10
  18. package/dist/bridge/drivers/omp.js +6 -5
  19. package/dist/bridge/drivers/omp.js.map +1 -1
  20. package/dist/bridge/drivers/opencode.js +10 -10
  21. package/dist/bridge/drivers/qwen.js +5 -5
  22. package/dist/bridge/index.js +13 -13
  23. package/dist/bridge/src/driver-capabilities.d.ts +66 -0
  24. package/dist/bridge/src/driver-capabilities.d.ts.map +1 -0
  25. package/dist/bridge/src/drivers/claude-sdk.d.ts +16 -0
  26. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  27. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  28. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  29. package/dist/bridge/src/index.d.ts +1 -0
  30. package/dist/bridge/src/index.d.ts.map +1 -1
  31. package/dist/bridge/src/registry.d.ts.map +1 -1
  32. package/dist/{chunk-CJB5HUY6.js → chunk-2MEMXBLC.js} +8 -7
  33. package/dist/chunk-2MEMXBLC.js.map +1 -0
  34. package/dist/{chunk-TVOODIZE.js → chunk-2QZG5VJQ.js} +3 -3
  35. package/dist/{chunk-TVOODIZE.js.map → chunk-2QZG5VJQ.js.map} +1 -1
  36. package/dist/{chunk-7SAWDPUT.js → chunk-37GBJLF5.js} +5 -55
  37. package/dist/chunk-37GBJLF5.js.map +1 -0
  38. package/dist/{chunk-RDTHJSGY.js → chunk-3E2TIPBZ.js} +56 -7
  39. package/dist/chunk-3E2TIPBZ.js.map +1 -0
  40. package/dist/{chunk-H4EGUQ7M.js → chunk-4YE7OYTB.js} +5 -5
  41. package/dist/chunk-4YE7OYTB.js.map +1 -0
  42. package/dist/{chunk-K5GBV4SA.js → chunk-5BEFNLOR.js} +6 -5
  43. package/dist/chunk-5BEFNLOR.js.map +1 -0
  44. package/dist/{chunk-UO5CWEHZ.js → chunk-6OWIEFZ2.js} +5 -5
  45. package/dist/{chunk-UO5CWEHZ.js.map → chunk-6OWIEFZ2.js.map} +1 -1
  46. package/dist/{chunk-EPHQWHOH.js → chunk-6ZCVROWW.js} +6 -6
  47. package/dist/{chunk-EPHQWHOH.js.map → chunk-6ZCVROWW.js.map} +1 -1
  48. package/dist/{chunk-TB6GDL6Q.js → chunk-77GKEZ2R.js} +21 -4
  49. package/dist/chunk-77GKEZ2R.js.map +1 -0
  50. package/dist/{chunk-TYUJB336.js → chunk-7Y43UXKA.js} +3 -3
  51. package/dist/{chunk-TYUJB336.js.map → chunk-7Y43UXKA.js.map} +1 -1
  52. package/dist/{chunk-YV4J7V53.js → chunk-ANWHAGM7.js} +3 -3
  53. package/dist/{chunk-YV4J7V53.js.map → chunk-ANWHAGM7.js.map} +1 -1
  54. package/dist/{chunk-SP47UJKE.js → chunk-B4J4RGNY.js} +231 -114
  55. package/dist/chunk-B4J4RGNY.js.map +1 -0
  56. package/dist/{chunk-IWCCZL7C.js → chunk-BIMEKYOE.js} +91 -25
  57. package/dist/chunk-BIMEKYOE.js.map +1 -0
  58. package/dist/{chunk-WCQMXBO5.js → chunk-BJQUSAGB.js} +4 -4
  59. package/dist/{chunk-WCQMXBO5.js.map → chunk-BJQUSAGB.js.map} +1 -1
  60. package/dist/{chunk-RDYI4MML.js → chunk-BNUZEYC3.js} +3 -3
  61. package/dist/{chunk-RDYI4MML.js.map → chunk-BNUZEYC3.js.map} +1 -1
  62. package/dist/{chunk-P5UQ56RA.js → chunk-BUNBKRJZ.js} +3 -3
  63. package/dist/{chunk-P5UQ56RA.js.map → chunk-BUNBKRJZ.js.map} +1 -1
  64. package/dist/{chunk-KDH74UWB.js → chunk-BWOLP6KQ.js} +3 -3
  65. package/dist/{chunk-KDH74UWB.js.map → chunk-BWOLP6KQ.js.map} +1 -1
  66. package/dist/chunk-BZXR6SW5.js +15 -0
  67. package/dist/{chunk-XUQBVK4R.js.map → chunk-BZXR6SW5.js.map} +1 -1
  68. package/dist/{chunk-ZMMFBID4.js → chunk-DD3OZLRD.js} +3 -3
  69. package/dist/{chunk-ZMMFBID4.js.map → chunk-DD3OZLRD.js.map} +1 -1
  70. package/dist/{chunk-56IWSMSD.js → chunk-EOGNW74K.js} +9 -8
  71. package/dist/chunk-EOGNW74K.js.map +1 -0
  72. package/dist/{chunk-RNNUYFFD.js → chunk-FJTC5YFO.js} +3 -3
  73. package/dist/{chunk-RNNUYFFD.js.map → chunk-FJTC5YFO.js.map} +1 -1
  74. package/dist/{chunk-THPQ6J3U.js → chunk-IOUIC2ZD.js} +8 -8
  75. package/dist/{chunk-THPQ6J3U.js.map → chunk-IOUIC2ZD.js.map} +1 -1
  76. package/dist/{chunk-YMOZC2D3.js → chunk-JPR7EPIM.js} +4 -4
  77. package/dist/{chunk-YMOZC2D3.js.map → chunk-JPR7EPIM.js.map} +1 -1
  78. package/dist/{chunk-IDEA6CYI.js → chunk-K2K7OF4P.js} +95 -3
  79. package/dist/chunk-K2K7OF4P.js.map +1 -0
  80. package/dist/{chunk-AGWYBS2E.js → chunk-KGGT6MUM.js} +4 -4
  81. package/dist/{chunk-AGWYBS2E.js.map → chunk-KGGT6MUM.js.map} +1 -1
  82. package/dist/{chunk-YJACHPI7.js → chunk-L257BENF.js} +73 -54
  83. package/dist/chunk-L257BENF.js.map +1 -0
  84. package/dist/{chunk-UVOJSWD2.js → chunk-LZ5RH6LD.js} +24 -13
  85. package/dist/chunk-LZ5RH6LD.js.map +1 -0
  86. package/dist/{chunk-N2X7DK2S.js → chunk-MGHUSFYQ.js} +2472 -2265
  87. package/dist/chunk-MGHUSFYQ.js.map +1 -0
  88. package/dist/{chunk-43ZBF3WH.js → chunk-OABIGSUY.js} +16 -3
  89. package/dist/chunk-OABIGSUY.js.map +1 -0
  90. package/dist/{chunk-YIVB7GIP.js → chunk-OFNXRI4L.js} +4 -4
  91. package/dist/{chunk-YIVB7GIP.js.map → chunk-OFNXRI4L.js.map} +1 -1
  92. package/dist/{chunk-MXXKTQXJ.js → chunk-P2EM6FNQ.js} +5 -5
  93. package/dist/{chunk-MXXKTQXJ.js.map → chunk-P2EM6FNQ.js.map} +1 -1
  94. package/dist/{chunk-KAYH6AXN.js → chunk-PHKFFJ4I.js} +3 -3
  95. package/dist/{chunk-KAYH6AXN.js.map → chunk-PHKFFJ4I.js.map} +1 -1
  96. package/dist/{chunk-YDJZRLGN.js → chunk-PU5VY7KF.js} +4 -4
  97. package/dist/{chunk-YDJZRLGN.js.map → chunk-PU5VY7KF.js.map} +1 -1
  98. package/dist/{chunk-KC3OF6B2.js → chunk-QMWMSZQ4.js} +3 -3
  99. package/dist/{chunk-KC3OF6B2.js.map → chunk-QMWMSZQ4.js.map} +1 -1
  100. package/dist/{chunk-52PFJLBJ.js → chunk-R3QW7CA5.js} +5 -5
  101. package/dist/{chunk-52PFJLBJ.js.map → chunk-R3QW7CA5.js.map} +1 -1
  102. package/dist/{chunk-UMSWQKCY.js → chunk-RXPC4KBW.js} +3 -3
  103. package/dist/{chunk-UMSWQKCY.js.map → chunk-RXPC4KBW.js.map} +1 -1
  104. package/dist/{chunk-X6IELFVB.js → chunk-S6KNDUAU.js} +4 -4
  105. package/dist/{chunk-X6IELFVB.js.map → chunk-S6KNDUAU.js.map} +1 -1
  106. package/dist/{chunk-6CSSFLGC.js → chunk-TVJBJLXR.js} +14 -15
  107. package/dist/chunk-TVJBJLXR.js.map +1 -0
  108. package/dist/{chunk-WKIOWDLQ.js → chunk-UDBN3LZU.js} +4 -4
  109. package/dist/{chunk-WKIOWDLQ.js.map → chunk-UDBN3LZU.js.map} +1 -1
  110. package/dist/{chunk-E67J56FJ.js → chunk-WMEPS6S4.js} +3 -3
  111. package/dist/{chunk-E67J56FJ.js.map → chunk-WMEPS6S4.js.map} +1 -1
  112. package/dist/{chunk-CXGHL75R.js → chunk-XIYXBHLN.js} +5 -4
  113. package/dist/chunk-XIYXBHLN.js.map +1 -0
  114. package/dist/{chunk-VDJKWKH2.js → chunk-XOTJVCJB.js} +3 -3
  115. package/dist/{chunk-VDJKWKH2.js.map → chunk-XOTJVCJB.js.map} +1 -1
  116. package/dist/{chunk-DXUQCMVT.js → chunk-YANDJSMN.js} +3 -3
  117. package/dist/{chunk-DXUQCMVT.js.map → chunk-YANDJSMN.js.map} +1 -1
  118. package/dist/{chunk-AG44ZJ7W.js → chunk-YRF5CYHR.js} +5 -14
  119. package/dist/chunk-YRF5CYHR.js.map +1 -0
  120. package/dist/{chunk-VFAJZE45.js → chunk-ZSFTCMZL.js} +907 -785
  121. package/dist/chunk-ZSFTCMZL.js.map +1 -0
  122. package/dist/cli/index.js +506 -434
  123. package/dist/cli/index.js.map +1 -1
  124. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  125. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  126. package/dist/cli/src/commands/config.d.ts.map +1 -1
  127. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  128. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  129. package/dist/cli/src/commands/project.d.ts.map +1 -1
  130. package/dist/cli/src/commands/run.d.ts.map +1 -1
  131. package/dist/cli/src/commands/skailify-lib.d.ts +0 -45
  132. package/dist/cli/src/commands/skailify-lib.d.ts.map +1 -1
  133. package/dist/cli/src/commands/source.d.ts.map +1 -1
  134. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  135. package/dist/cli/src/flow-discovery.d.ts +9 -0
  136. package/dist/cli/src/flow-discovery.d.ts.map +1 -1
  137. package/dist/cli/src/helpers.d.ts +13 -0
  138. package/dist/cli/src/helpers.d.ts.map +1 -1
  139. package/dist/cli/src/setup.d.ts.map +1 -1
  140. package/dist/connectors/config.js +5 -5
  141. package/dist/connectors/index.js +17 -17
  142. package/dist/connectors/src/connector-manager.d.ts +8 -27
  143. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  144. package/dist/connectors/src/index.d.ts +1 -1
  145. package/dist/connectors/src/index.d.ts.map +1 -1
  146. package/dist/connectors/src/mount-ledger.d.ts +61 -0
  147. package/dist/connectors/src/mount-ledger.d.ts.map +1 -0
  148. package/dist/{connectors-KSVPVYCA.js → connectors-GUN4MRWR.js} +20 -20
  149. package/dist/{connectors-KSVPVYCA.js.map → connectors-GUN4MRWR.js.map} +1 -1
  150. package/dist/connectors-shared/index.js +2 -2
  151. package/dist/core/framework.js +1 -1
  152. package/dist/core/index.js +7 -7
  153. package/dist/core/manifest.js +2 -2
  154. package/dist/core/models.js +1 -1
  155. package/dist/core/publish-manifest.js +2 -2
  156. package/dist/core/ref.js +1 -1
  157. package/dist/core/runtime-assets.js +5 -5
  158. package/dist/core/src/framework.d.ts +7 -0
  159. package/dist/core/src/framework.d.ts.map +1 -1
  160. package/dist/core/src/index.d.ts +4 -4
  161. package/dist/core/src/index.d.ts.map +1 -1
  162. package/dist/core/src/lock.d.ts +12 -0
  163. package/dist/core/src/lock.d.ts.map +1 -1
  164. package/dist/core/src/manifest-yaml-editor.d.ts +14 -6
  165. package/dist/core/src/manifest-yaml-editor.d.ts.map +1 -1
  166. package/dist/core/src/models.d.ts +15 -0
  167. package/dist/core/src/models.d.ts.map +1 -1
  168. package/dist/core/src/publish-manifest.d.ts +4 -6
  169. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  170. package/dist/core/src/settings.d.ts.map +1 -1
  171. package/dist/core/workspace-config.js +4 -4
  172. package/dist/deploy/index.js +7 -7
  173. package/dist/discovery/index.js +4 -4
  174. package/dist/discovery/src/discover-manifest.d.ts +5 -0
  175. package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
  176. package/dist/discovery/src/index.d.ts +1 -1
  177. package/dist/discovery/src/index.d.ts.map +1 -1
  178. package/dist/{ensure-sources-KVV72WRP.js → ensure-sources-VCPA762L.js} +15 -15
  179. package/dist/{ensure-sources-KVV72WRP.js.map → ensure-sources-VCPA762L.js.map} +1 -1
  180. package/dist/factory-assets/connectors/box.js +17 -17
  181. package/dist/factory-assets/connectors/deploy.js +17 -17
  182. package/dist/factory-assets/connectors/devserver.js +17 -17
  183. package/dist/factory-assets/connectors/flow/adapter.d.ts +28 -4
  184. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  185. package/dist/factory-assets/connectors/flow/adapter.js +17 -17
  186. package/dist/factory-assets/connectors/flow/engine.js +8 -8
  187. package/dist/factory-assets/connectors/flow/index.d.ts +1 -1
  188. package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
  189. package/dist/factory-assets/connectors/flow/run-flow.js +19 -19
  190. package/dist/factory-assets/connectors/flow.js +17 -17
  191. package/dist/factory-assets/connectors/git/checkout.d.ts +161 -0
  192. package/dist/factory-assets/connectors/git/checkout.d.ts.map +1 -0
  193. package/dist/factory-assets/connectors/git/config.d.ts +78 -0
  194. package/dist/factory-assets/connectors/git/config.d.ts.map +1 -0
  195. package/dist/factory-assets/connectors/git/credentials.d.ts +93 -0
  196. package/dist/factory-assets/connectors/git/credentials.d.ts.map +1 -0
  197. package/dist/factory-assets/connectors/git/driver.d.ts +39 -598
  198. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  199. package/dist/factory-assets/connectors/git/exec.d.ts +177 -0
  200. package/dist/factory-assets/connectors/git/exec.d.ts.map +1 -0
  201. package/dist/factory-assets/connectors/git/inspect.d.ts +120 -0
  202. package/dist/factory-assets/connectors/git/inspect.d.ts.map +1 -0
  203. package/dist/factory-assets/connectors/git/lifecycle.d.ts +107 -0
  204. package/dist/factory-assets/connectors/git/lifecycle.d.ts.map +1 -0
  205. package/dist/factory-assets/connectors/git/repo.d.ts +496 -0
  206. package/dist/factory-assets/connectors/git/repo.d.ts.map +1 -0
  207. package/dist/factory-assets/connectors/git.js +17 -17
  208. package/dist/factory-assets/connectors/gmail.js +17 -17
  209. package/dist/factory-assets/connectors/googledrive.js +17 -17
  210. package/dist/factory-assets/connectors/local.js +17 -17
  211. package/dist/factory-assets/connectors/mattermost.js +17 -17
  212. package/dist/factory-assets/connectors/memory.js +17 -17
  213. package/dist/factory-assets/connectors/minio.js +17 -17
  214. package/dist/factory-assets/connectors/postgres.js +17 -17
  215. package/dist/factory-assets/connectors/s3.js +17 -17
  216. package/dist/factory-assets/connectors/sharepoint.js +17 -17
  217. package/dist/factory-assets/connectors/sqlite.js +17 -17
  218. package/dist/factory-assets/connectors/static-server.js +17 -17
  219. package/dist/factory-assets/connectors/tunnel.js +17 -17
  220. package/dist/factory-assets/connectors/webdav.js +17 -17
  221. package/dist/factory-assets/connectors/xstate-store.js +17 -17
  222. package/dist/factory-assets/connectors/xstate.js +17 -17
  223. package/dist/{flows-SVCCADGE.js → flows-BOB5YA5R.js} +12 -12
  224. package/dist/{flows-SVCCADGE.js.map → flows-BOB5YA5R.js.map} +1 -1
  225. package/dist/{helpers-4NT7UX6I.js → helpers-ZGK4R5MZ.js} +15 -15
  226. package/dist/{helpers-4NT7UX6I.js.map → helpers-ZGK4R5MZ.js.map} +1 -1
  227. package/dist/library/index.js +10 -10
  228. package/dist/library/install.js +2 -2
  229. package/dist/library/src/index.d.ts +6 -3
  230. package/dist/library/src/index.d.ts.map +1 -1
  231. package/dist/library/src/install/install-from-manifest.d.ts +21 -0
  232. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
  233. package/dist/library/src/local/install-library-asset.d.ts +64 -0
  234. package/dist/library/src/local/install-library-asset.d.ts.map +1 -0
  235. package/dist/library/src/local/local-catalog-source.d.ts +30 -0
  236. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  237. package/dist/library/src/local/store-paths.d.ts +6 -0
  238. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  239. package/dist/library/src/manifest-writer.d.ts +73 -0
  240. package/dist/library/src/manifest-writer.d.ts.map +1 -0
  241. package/dist/library/src/sync/manifest-writeback.d.ts +2 -17
  242. package/dist/library/src/sync/manifest-writeback.d.ts.map +1 -1
  243. package/dist/{library-publish-GHIWWEEY.js → library-publish-RIP6NBYA.js} +20 -21
  244. package/dist/library-publish-RIP6NBYA.js.map +1 -0
  245. package/dist/{open-library-XKWTUYU2.js → open-library-4IJTBVTR.js} +18 -18
  246. package/dist/{open-library-XKWTUYU2.js.map → open-library-4IJTBVTR.js.map} +1 -1
  247. package/dist/{open-registry-CHCWKV5W.js → open-registry-G5DI4RPU.js} +14 -14
  248. package/dist/{open-registry-CHCWKV5W.js.map → open-registry-G5DI4RPU.js.map} +1 -1
  249. package/dist/paths-L5XLUC3D.js +22 -0
  250. package/dist/{paths-MKSI52PF.js.map → paths-L5XLUC3D.js.map} +1 -1
  251. package/dist/plugin-registry/src/targets.d.ts +3 -1
  252. package/dist/plugin-registry/src/targets.d.ts.map +1 -1
  253. package/dist/{plugin-store-SVYV7L4C.js → plugin-store-QENDYZ63.js} +9 -9
  254. package/dist/{plugin-store-SVYV7L4C.js.map → plugin-store-QENDYZ63.js.map} +1 -1
  255. package/dist/{project-P2QS3GNG.js → project-4INCIIZI.js} +16 -16
  256. package/dist/{project-P2QS3GNG.js.map → project-4INCIIZI.js.map} +1 -1
  257. package/dist/resolver/index.js +8 -8
  258. package/dist/runner/index.js +27 -27
  259. package/dist/runner/src/agent.d.ts +1 -1
  260. package/dist/runner/src/agent.d.ts.map +1 -1
  261. package/dist/runner/src/ai-provider-switch.d.ts +10 -0
  262. package/dist/runner/src/ai-provider-switch.d.ts.map +1 -1
  263. package/dist/runner/src/codex-init.d.ts.map +1 -1
  264. package/dist/runner/src/compaction-gate.d.ts +9 -33
  265. package/dist/runner/src/compaction-gate.d.ts.map +1 -1
  266. package/dist/runner/src/managed-codex-bootstrap.d.ts.map +1 -1
  267. package/dist/runner/src/pending-turns.d.ts +7 -2
  268. package/dist/runner/src/pending-turns.d.ts.map +1 -1
  269. package/dist/runner/src/resources.d.ts +2 -2
  270. package/dist/runner/src/resources.d.ts.map +1 -1
  271. package/dist/runner/src/serve-credentials.d.ts +2 -1
  272. package/dist/runner/src/serve-credentials.d.ts.map +1 -1
  273. package/dist/runner/src/serve.d.ts +19 -35
  274. package/dist/runner/src/serve.d.ts.map +1 -1
  275. package/dist/runner/src/session-builder.d.ts.map +1 -1
  276. package/dist/runner/src/turn-scheduler.d.ts +158 -0
  277. package/dist/runner/src/turn-scheduler.d.ts.map +1 -0
  278. package/dist/sdk/asset-manager.js +12 -12
  279. package/dist/sdk/bridge.js +13 -13
  280. package/dist/sdk/core.js +7 -7
  281. package/dist/sdk/flow.js +8 -8
  282. package/dist/sdk/index.js +27 -27
  283. package/dist/sdk/resolver.js +8 -8
  284. package/dist/sdk/runner.js +27 -27
  285. package/dist/sdk/session.js +2 -2
  286. package/dist/sdk/types.js +1 -1
  287. package/dist/session/index.js +2 -2
  288. package/dist/session/src/dispatcher.d.ts.map +1 -1
  289. package/dist/{setup-RVP74D37.js → setup-RG4PJJUW.js} +23 -23
  290. package/dist/setup-RG4PJJUW.js.map +1 -0
  291. package/dist/{skills-7K2YO3KN.js → skills-CL45F7AG.js} +13 -13
  292. package/dist/{skills-7K2YO3KN.js.map → skills-CL45F7AG.js.map} +1 -1
  293. package/dist/{source-VBROLEFB.js → source-LJOI5AXU.js} +19 -19
  294. package/dist/{source-VBROLEFB.js.map → source-LJOI5AXU.js.map} +1 -1
  295. package/dist/{source-manifest-publish-7XDLJRLX.js → source-manifest-publish-QEJML4VS.js} +21 -21
  296. package/dist/{source-manifest-publish-7XDLJRLX.js.map → source-manifest-publish-QEJML4VS.js.map} +1 -1
  297. package/dist/tui/index.js +28 -28
  298. package/dist/tui/index.js.map +1 -1
  299. package/dist/types/index.js +1 -1
  300. package/dist/types/src/delivery.d.ts +26 -0
  301. package/dist/types/src/delivery.d.ts.map +1 -0
  302. package/dist/types/src/index.d.ts +3 -1
  303. package/dist/types/src/index.d.ts.map +1 -1
  304. package/dist/types/src/runtime.d.ts +51 -0
  305. package/dist/types/src/runtime.d.ts.map +1 -1
  306. package/dist/workspace-plugin/adapters/mcp.js +24 -24
  307. package/dist/workspace-plugin/adapters/omp.js +18 -17
  308. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  309. package/dist/workspace-plugin/index.js +2 -1
  310. package/dist/workspace-plugin/src/adapters/mcp.d.ts.map +1 -1
  311. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  312. package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
  313. package/package.json +1 -1
  314. package/dist/chunk-43ZBF3WH.js.map +0 -1
  315. package/dist/chunk-56IWSMSD.js.map +0 -1
  316. package/dist/chunk-6CSSFLGC.js.map +0 -1
  317. package/dist/chunk-7SAWDPUT.js.map +0 -1
  318. package/dist/chunk-AG44ZJ7W.js.map +0 -1
  319. package/dist/chunk-CJB5HUY6.js.map +0 -1
  320. package/dist/chunk-CXGHL75R.js.map +0 -1
  321. package/dist/chunk-F7JHP7JV.js +0 -122
  322. package/dist/chunk-F7JHP7JV.js.map +0 -1
  323. package/dist/chunk-H4EGUQ7M.js.map +0 -1
  324. package/dist/chunk-IDEA6CYI.js.map +0 -1
  325. package/dist/chunk-IWCCZL7C.js.map +0 -1
  326. package/dist/chunk-K5GBV4SA.js.map +0 -1
  327. package/dist/chunk-N2X7DK2S.js.map +0 -1
  328. package/dist/chunk-RDTHJSGY.js.map +0 -1
  329. package/dist/chunk-SP47UJKE.js.map +0 -1
  330. package/dist/chunk-TB6GDL6Q.js.map +0 -1
  331. package/dist/chunk-UVOJSWD2.js.map +0 -1
  332. package/dist/chunk-VFAJZE45.js.map +0 -1
  333. package/dist/chunk-XUQBVK4R.js +0 -15
  334. package/dist/chunk-YJACHPI7.js.map +0 -1
  335. package/dist/library-publish-GHIWWEEY.js.map +0 -1
  336. package/dist/paths-MKSI52PF.js +0 -22
  337. package/dist/runner/src/flow-turn-dispatch.d.ts +0 -41
  338. package/dist/runner/src/flow-turn-dispatch.d.ts.map +0 -1
  339. package/dist/runner/src/reply-routing.d.ts +0 -54
  340. package/dist/runner/src/reply-routing.d.ts.map +0 -1
  341. package/dist/setup-RVP74D37.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1009](https://github.com/skaile-ai/workspaces/pull/1009) [`06e75c7`](https://github.com/skaile-ai/workspaces/commit/06e75c7ab044444fbf46b32691613b96e264ddf5) Thanks [@mortegro](https://github.com/mortegro)! - `skaile list` and `skaile install` warn once when an omp/codex project still holds tracked assets in `.claude/` (the old default deploy dir), naming the stale copies and the cleanup step; nothing is deleted. Adds `AssetManager.listLegacyClaudeDeployed()`. Asset-manager tests now isolate `SKAILE_HOME` so a developer's `~/.skaile/settings.json` cannot change which harness they deploy to. See MIGRATION.md.
8
+
9
+ ### Patch Changes
10
+
11
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: compaction state moves into the session turn scheduler. The server no longer keeps its own `compacting`, `gateHold` and `suppressedBy` flags: the scheduler holds user turns off for a compaction, suppresses the compaction turn's events, and a stale orchestrator (its driver replaced by a recreate) can no longer start a compaction. The `status: idle` that ends a compaction now goes through the same single idle decision as a turn end, so it is no longer sent while a turn waits behind the compaction, and neither is the `status: idle` of the snapshot turn the compaction injects afterwards; it goes out once the queue drains. Other wire events are unchanged.
12
+
13
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: bulk and hot-plug connector connects share one pipeline and one mount ledger. Hot-plug now behaves like bulk on failure: a connect of an unknown driver reports an `error` status (with `errorKind`) and records the failure instead of staying at `connecting`, and a failed hot-plug of an already-live connector id keeps that connector's mount target reserved while releasing (and removing, if the attempt created it) the new target the failed attempt claimed.
14
+
15
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: each driver now declares what the runner needs to know (in-process MCP servers, live tool updates, managed session, Claude Code credentials, transcript-file resume) as `capabilities` on its `DriverInfo`, read through `driverCapabilities(id)`. The runner no longer compares driver ids, and the default driver id (`DEFAULT_DRIVER_ID`) is defined once in core. Wire events, CLI output and files on disk are unchanged.
16
+
17
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: every event and command type now has its delivery class (persisted, broadcast-only or private) declared once in `@skaile/workspaces/types`, and the session dispatcher and runner read it from there. A new type without a class fails to compile. The runner's compaction counter no longer counts `session_info`, which the dispatcher never stores.
18
+
19
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - The flow connector now owns the rule for when a flow run is terminal, takes a chat turn, or needs a turn kick after a restore. `FlowAdapter.turnRule(handle)` answers all three, and the runner asks it instead of keeping its own copy of the flow status values (`isTerminalFlowStatus` and `flowRunDrivesTurns` are gone, with the comment that kept them in step with `shouldDriveAgentTurn`). The re-drive after a driver recreate reads the connector's `restoreKick`. No wire event, CLI output or file on disk changes.
20
+
21
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: the git connector's credential handling (token acquisition, refresh timer, managed gitconfig, teardown) moves into its own module; connector behaviour is unchanged.
22
+
23
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: the git connector splits into a repo module (clone, commit, merge, push, pull, auto-commit, the agent's `push`/`pull`/`fetch` ops), a lifecycle module (periodic fetch, idle auto-commit, hibernate, session close, read-only refresh) and the credentials module; `GitConnector` is a thin adapter over them and no state object is shared between them. The test-only `__test` export of the driver is gone. Connector behaviour, wire events and files on disk are unchanged.
24
+
25
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: every write to a library's `skaile.manifest.yaml` (upsert, prune of deleted roots, publisher stamp) now goes through one writer in `@skaile/workspaces/library`. It edits the file in place, so hand-written comments and formatting in the manifest survive `library index`, `library create` and `asset import`. A manifest that cannot be parsed is no longer overwritten: `library index`, `library create` and `asset import` report it as a one-line error before they change any file. `saveSkPublishManifest` and `writeManifestIfMissing` are removed; nothing in the repo called them.
26
+
27
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - Internal refactor: prompts, question replies and flow turns now go through one session turn scheduler that owns the swap and compaction waits, the turn claim, the pending-turn count, prompt order and the single `status: idle` emit. Wire events are unchanged, with one exception: the `status: idle` that follows a prompt handed to a flow no longer goes out while a compaction is running (it used to); the compaction's own end reports it once nothing is queued.
28
+
29
+ - [#1010](https://github.com/skaile-ai/workspaces/pull/1010) [`974ae7c`](https://github.com/skaile-ai/workspaces/commit/974ae7c1de8598bc428eb9ecfbf589649bf6aacd) Thanks [@mortegro](https://github.com/mortegro)! - `skaile asset install` now installs through one verified library path: it checks the asset's content hash against the library index, guards the target path, copies or symlinks the asset directory and records a library-origin entry in the target's `skaile.lock.yaml`. If the library changed since it was indexed, the install now fails with `hash mismatch` instead of copying the edited bytes. It also installs nested assets from the directory where discovery found them; the old `<library>/<name>` path guess was wrong for assets in subfolders. `prompt` and `preset` assets install only their own file, not the whole folder they share with other assets. When a manifest lists several prompts or presets from one folder, each entry now resolves to its own file (before, every entry resolved to the first file in the folder, so `asset install` and source indexing read the wrong prompt). Assets from a source's cache are found through the curated store manifest the index used. When such an asset is not found, the error now says to run `skaile source sync`, not `skaile library index`, which would write a manifest into the reader-owned clone. The lock entry `asset install` writes is marked `installed`, so a later `skaile install` keeps the entry and its files.
30
+
31
+ - [#1009](https://github.com/skaile-ai/workspaces/pull/1009) [`06e75c7`](https://github.com/skaile-ai/workspaces/commit/06e75c7ab044444fbf46b32691613b96e264ddf5) Thanks [@mortegro](https://github.com/mortegro)! - `library index` no longer empties a curated library's manifest: entries that inherit the manifest-level `source:` are treated as curated (like the walker does), so `index`, `library publish` and `validate` no longer report their upstream `root:` as missing.
32
+
33
+ - [#1009](https://github.com/skaile-ai/workspaces/pull/1009) [`06e75c7`](https://github.com/skaile-ai/workspaces/commit/06e75c7ab044444fbf46b32691613b96e264ddf5) Thanks [@mortegro](https://github.com/mortegro)! - `skaile run` now scans the registered local libraries at most once per invocation: the flow lookup and the "Available flows" listing (or the interactive picker and the lookup) share one memoized `libraryFlowEntries()` result instead of re-opening `index.db` and re-hashing every library each time.
34
+
35
+ ## 5.1.3
36
+
37
+ ### Patch Changes
38
+
39
+ - [#1007](https://github.com/skaile-ai/workspaces/pull/1007) [`30dd4ef`](https://github.com/skaile-ai/workspaces/commit/30dd4efb5c9098b6a2c758729a8c74c8b0255eaa) Thanks [@Frozen666](https://github.com/Frozen666)! - A turn that the claude-sdk driver replays on another AI provider seat after a usage limit no longer shows a fatal "Agent stopped" error before the replayed reply. A turn still running on the old seat after a `credentialRotated` switch is now replayed on the new seat when it hits the old seat's limit, instead of ending with the limit error.
40
+
3
41
  ## 5.1.2
4
42
 
5
43
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { PROTOCOL_VERSION_STRING } from '../chunk-IDEA6CYI.js';
1
+ import { PROTOCOL_VERSION_STRING } from '../chunk-K2K7OF4P.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  import * as z from 'zod';
4
4
 
@@ -1,16 +1,16 @@
1
- import './chunk-IWCCZL7C.js';
1
+ import './chunk-BIMEKYOE.js';
2
2
  import './chunk-4GY63JU6.js';
3
- import { factoryAssetRoots } from './chunk-YDJZRLGN.js';
3
+ import { factoryAssetRoots } from './chunk-PU5VY7KF.js';
4
4
  import './chunk-U6K3I3AX.js';
5
- import './chunk-K5GBV4SA.js';
5
+ import './chunk-5BEFNLOR.js';
6
6
  import './chunk-A2ULN3KX.js';
7
- import { scanRepo } from './chunk-MXXKTQXJ.js';
7
+ import { scanRepo } from './chunk-P2EM6FNQ.js';
8
8
  import './chunk-TLKM4M47.js';
9
9
  import './chunk-TOSHZX4C.js';
10
- import './chunk-AG44ZJ7W.js';
10
+ import './chunk-YRF5CYHR.js';
11
11
  import './chunk-RVRB27AN.js';
12
- import './chunk-DXUQCMVT.js';
13
- import './chunk-43ZBF3WH.js';
12
+ import './chunk-YANDJSMN.js';
13
+ import './chunk-OABIGSUY.js';
14
14
  import './chunk-ICSCSM5D.js';
15
15
  import './chunk-JMKB7IB4.js';
16
16
  import './chunk-MJHSLODD.js';
@@ -23,7 +23,7 @@ import * as path from 'path';
23
23
  async function libraryAssets() {
24
24
  const notes = [];
25
25
  try {
26
- const { openLibraryManager, authoringLibraries } = await import('./open-library-XKWTUYU2.js');
26
+ const { openLibraryManager, authoringLibraries } = await import('./open-library-4IJTBVTR.js');
27
27
  const { manager, close } = await openLibraryManager();
28
28
  try {
29
29
  const libs = authoringLibraries(await manager.listLibraries());
@@ -48,7 +48,7 @@ async function libraryAssets() {
48
48
  async function storeAssets(projectDir) {
49
49
  const notes = [];
50
50
  try {
51
- const { resolveCatalogSource } = await import('./open-library-XKWTUYU2.js');
51
+ const { resolveCatalogSource } = await import('./open-library-4IJTBVTR.js');
52
52
  const { source, close } = await resolveCatalogSource({ projectDir });
53
53
  try {
54
54
  const assets = await source.listAssets();
@@ -127,5 +127,5 @@ async function gatherAssetFeeds(am, projectDir) {
127
127
  }
128
128
 
129
129
  export { gatherAssetFeeds };
130
- //# sourceMappingURL=asset-feeds-EVS3WPWS.js.map
131
- //# sourceMappingURL=asset-feeds-EVS3WPWS.js.map
130
+ //# sourceMappingURL=asset-feeds-WDIB3E6H.js.map
131
+ //# sourceMappingURL=asset-feeds-WDIB3E6H.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/asset-feeds.ts"],"names":[],"mappings":"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","file":"asset-feeds-EVS3WPWS.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` (filesystem\n * scan of each library's `path`).\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 { existsSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n type AssetKind,\n type CatalogEntry,\n factoryAssetRoots,\n scanRepo,\n} from \"@skaile/workspaces/core\";\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 * Pull assets from local libraries (the authoring places under\n * `~/.skaile/libraries/<name>/`, not the `~/.skaile/cache/sources/` cache). Each\n * library's `path` is scanned with `scanRepo` and grouped under the bare library\n * name (`group: <name>`) so the manage TUI shows a clean `<name>` band — no\n * `library:` prefix (mirrors the source feed). Plugin grouping (`entry.plugin`)\n * is stamped by `scanRepo`.\n */\nasync function libraryAssets(): Promise<{\n entries: OriginEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const { openLibraryManager, authoringLibraries } = await import(\"./open-library.ts\");\n const { manager, close } = await openLibraryManager();\n try {\n // Authoring libraries are the rows that are NOT source clones.\n const libs = authoringLibraries(await manager.listLibraries());\n const entries: OriginEntry[] = [];\n for (const lib of libs) {\n if (!existsSync(lib.path)) continue;\n const libEntries = [...(await scanRepo(lib.path, lib.name))];\n for (const entry of libEntries) entries.push({ origin: \"library\", entry, group: lib.name });\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 const assets = await source.listAssets();\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\")));\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-WDIB3E6H.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` (filesystem\n * scan of each library's `path`).\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 { existsSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n type AssetKind,\n type CatalogEntry,\n factoryAssetRoots,\n scanRepo,\n} from \"@skaile/workspaces/core\";\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 * Pull assets from local libraries (the authoring places under\n * `~/.skaile/libraries/<name>/`, not the `~/.skaile/cache/sources/` cache). Each\n * library's `path` is scanned with `scanRepo` and grouped under the bare library\n * name (`group: <name>`) so the manage TUI shows a clean `<name>` band — no\n * `library:` prefix (mirrors the source feed). Plugin grouping (`entry.plugin`)\n * is stamped by `scanRepo`.\n */\nasync function libraryAssets(): Promise<{\n entries: OriginEntry[];\n notes: FeedNote[];\n}> {\n const notes: FeedNote[] = [];\n try {\n const { openLibraryManager, authoringLibraries } = await import(\"./open-library.ts\");\n const { manager, close } = await openLibraryManager();\n try {\n // Authoring libraries are the rows that are NOT source clones.\n const libs = authoringLibraries(await manager.listLibraries());\n const entries: OriginEntry[] = [];\n for (const lib of libs) {\n if (!existsSync(lib.path)) continue;\n const libEntries = [...(await scanRepo(lib.path, lib.name))];\n for (const entry of libEntries) entries.push({ origin: \"library\", entry, group: lib.name });\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 const assets = await source.listAssets();\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\")));\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,17 +1,17 @@
1
- export { WORKSPACE_MOUNT_ENV_VAR, deployAll, deployCatalogEntry, findAiAssetsRoot, isUnderWorkspaceMount, resolveFlowSkills, undeployCatalogEntry, workspaceMountDirs } from '../chunk-VDJKWKH2.js';
2
- import '../chunk-IWCCZL7C.js';
1
+ export { WORKSPACE_MOUNT_ENV_VAR, deployAll, deployCatalogEntry, findAiAssetsRoot, isUnderWorkspaceMount, resolveFlowSkills, undeployCatalogEntry, workspaceMountDirs } from '../chunk-XOTJVCJB.js';
2
+ import '../chunk-BIMEKYOE.js';
3
3
  import '../chunk-4GY63JU6.js';
4
- import '../chunk-YDJZRLGN.js';
4
+ import '../chunk-PU5VY7KF.js';
5
5
  import '../chunk-U6K3I3AX.js';
6
- import '../chunk-K5GBV4SA.js';
6
+ import '../chunk-5BEFNLOR.js';
7
7
  import '../chunk-A2ULN3KX.js';
8
- import '../chunk-MXXKTQXJ.js';
8
+ import '../chunk-P2EM6FNQ.js';
9
9
  import '../chunk-TLKM4M47.js';
10
10
  import '../chunk-TOSHZX4C.js';
11
- import '../chunk-AG44ZJ7W.js';
11
+ import '../chunk-YRF5CYHR.js';
12
12
  import '../chunk-RVRB27AN.js';
13
- import '../chunk-DXUQCMVT.js';
14
- import '../chunk-43ZBF3WH.js';
13
+ import '../chunk-YANDJSMN.js';
14
+ import '../chunk-OABIGSUY.js';
15
15
  import '../chunk-ICSCSM5D.js';
16
16
  import '../chunk-JMKB7IB4.js';
17
17
  import '../chunk-MJHSLODD.js';
@@ -1,24 +1,24 @@
1
- export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-YJACHPI7.js';
2
- import '../chunk-SP47UJKE.js';
3
- import '../chunk-UVOJSWD2.js';
4
- import '../chunk-H4EGUQ7M.js';
1
+ export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-L257BENF.js';
2
+ import '../chunk-B4J4RGNY.js';
3
+ import '../chunk-LZ5RH6LD.js';
4
+ import '../chunk-4YE7OYTB.js';
5
5
  import '../chunk-R7FOF242.js';
6
6
  import '../chunk-ZDKJHQY2.js';
7
- export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-AGWYBS2E.js';
7
+ export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-KGGT6MUM.js';
8
8
  export { BUILT_IN_FRAGMENTS, loadPromptExtensions, resolveFragments } from '../chunk-CGYEHQOX.js';
9
- import '../chunk-IWCCZL7C.js';
9
+ import '../chunk-BIMEKYOE.js';
10
10
  import '../chunk-4GY63JU6.js';
11
- import '../chunk-YDJZRLGN.js';
11
+ import '../chunk-PU5VY7KF.js';
12
12
  import '../chunk-U6K3I3AX.js';
13
- import '../chunk-K5GBV4SA.js';
13
+ import '../chunk-5BEFNLOR.js';
14
14
  import '../chunk-A2ULN3KX.js';
15
- import '../chunk-MXXKTQXJ.js';
15
+ import '../chunk-P2EM6FNQ.js';
16
16
  import '../chunk-TLKM4M47.js';
17
17
  import '../chunk-TOSHZX4C.js';
18
- import '../chunk-AG44ZJ7W.js';
18
+ import '../chunk-YRF5CYHR.js';
19
19
  import '../chunk-RVRB27AN.js';
20
- import '../chunk-DXUQCMVT.js';
21
- import '../chunk-43ZBF3WH.js';
20
+ import '../chunk-YANDJSMN.js';
21
+ import '../chunk-OABIGSUY.js';
22
22
  import '../chunk-ICSCSM5D.js';
23
23
  import '../chunk-JMKB7IB4.js';
24
24
  import '../chunk-MJHSLODD.js';
@@ -1,18 +1,18 @@
1
- export { createScaffold, deployAll, deployAsset, removeAsset } from '../chunk-AGWYBS2E.js';
1
+ export { createScaffold, deployAll, deployAsset, removeAsset } from '../chunk-KGGT6MUM.js';
2
2
  import '../chunk-CGYEHQOX.js';
3
- import '../chunk-IWCCZL7C.js';
3
+ import '../chunk-BIMEKYOE.js';
4
4
  import '../chunk-4GY63JU6.js';
5
- import '../chunk-YDJZRLGN.js';
5
+ import '../chunk-PU5VY7KF.js';
6
6
  import '../chunk-U6K3I3AX.js';
7
- import '../chunk-K5GBV4SA.js';
7
+ import '../chunk-5BEFNLOR.js';
8
8
  import '../chunk-A2ULN3KX.js';
9
- import '../chunk-MXXKTQXJ.js';
9
+ import '../chunk-P2EM6FNQ.js';
10
10
  import '../chunk-TLKM4M47.js';
11
11
  import '../chunk-TOSHZX4C.js';
12
- import '../chunk-AG44ZJ7W.js';
12
+ import '../chunk-YRF5CYHR.js';
13
13
  import '../chunk-RVRB27AN.js';
14
- import '../chunk-DXUQCMVT.js';
15
- import '../chunk-43ZBF3WH.js';
14
+ import '../chunk-YANDJSMN.js';
15
+ import '../chunk-OABIGSUY.js';
16
16
  import '../chunk-ICSCSM5D.js';
17
17
  import '../chunk-JMKB7IB4.js';
18
18
  import '../chunk-MJHSLODD.js';
@@ -59,7 +59,7 @@ export declare function softDepName(ref: string): string;
59
59
  /**
60
60
  * Parse a ref for lookup, tolerating a **missing publisher** (`kind:name`, the
61
61
  * shape `listDeployed` emits and the strict `parseAssetRef` rejects). Returns
62
- * `null` when neither kind nor name is recoverable. Unlike {@link parseRefLoose}
62
+ * `null` when neither kind nor name is recoverable. Unlike {@link parseAssetRefLoose}
63
63
  * (publisher-required, only strips a `#pin`), this keeps the publisher optional.
64
64
  *
65
65
  * @internal Exported for unit tests; not part of the stable public surface.
@@ -83,6 +83,17 @@ export interface DeclaredAsset {
83
83
  name: string;
84
84
  state: DeclaredState;
85
85
  }
86
+ /**
87
+ * A tracked asset whose copy still sits in the previous default deploy dir
88
+ * (`.claude/…`) although the project now deploys to another harness. See
89
+ * {@link AssetManager.listLegacyClaudeDeployed}.
90
+ */
91
+ export interface LegacyDeployedAsset {
92
+ kind: string;
93
+ name: string;
94
+ /** Absolute path of the stale copy. */
95
+ path: string;
96
+ }
86
97
  /**
87
98
  * A global declared dependency from `~/.skaile/skaile.yaml`, reconciled against
88
99
  * **one** harness's global deploy dir. The same ref yields one entry per global
@@ -591,6 +602,8 @@ export declare class AssetManager {
591
602
  * so resolution still runs against whatever is on disk.
592
603
  */
593
604
  private ensureSourceClonesQuiet;
605
+ /** Lock entries `skaile asset install` wrote (copied/linked straight into the project). */
606
+ private directInstallLockEntries;
594
607
  /**
595
608
  * Remove stale assets — those recorded in the old lock but absent from the
596
609
  * newly resolved set (`resolved` source candidates plus `keep`, the canonical
@@ -801,6 +814,19 @@ export declare class AssetManager {
801
814
  * @returns Shallow {@link CatalogEntry} objects (description and version will be empty).
802
815
  */
803
816
  listDeployed(kind?: string): CatalogEntry[];
817
+ /**
818
+ * Tracked assets (`skaile.lock.yaml` or declared in `skaile.yaml`) whose copy
819
+ * still sits in the project's `.claude/…` dirs although this manager deploys
820
+ * to another harness. Before the default followed the configured harness every
821
+ * project deployed to `.claude/`, so an omp/codex project upgraded from then
822
+ * holds orphans there that `remove` / `clean` / `list` no longer look at.
823
+ *
824
+ * Read-only: nothing is deleted. Empty for `claude-code`, for global mode, and
825
+ * for kinds whose dir is shared with the active target (flows).
826
+ *
827
+ * @returns One {@link LegacyDeployedAsset} per stale copy, sorted by kind then name.
828
+ */
829
+ listLegacyClaudeDeployed(): LegacyDeployedAsset[];
804
830
  /**
805
831
  * List the **declared** top-level dependencies from `skaile.yaml`, each tagged
806
832
  * with a reconciliation {@link DeclaredState}:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../asset-manager/src/index.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,26 @@
1
1
  import { formatDroppedToolsNotice, filterInProcessMcpServerTools, checkToolPropertyKeys } from '../../chunk-X5O56UO4.js';
2
- import { scrubPoisonedTranscript, transcriptStoreForRuntime, resolveClaudeConfigDir, claudeEndpointMode, buildClaudeEndpointEnv } from '../../chunk-TVOODIZE.js';
2
+ import { scrubPoisonedTranscript, transcriptStoreForRuntime, resolveClaudeConfigDir, claudeEndpointMode, buildClaudeEndpointEnv } from '../../chunk-2QZG5VJQ.js';
3
3
  import { scopeReconfigureModel } from '../../chunk-EINLFFP6.js';
4
- import { dispatchCapability } from '../../chunk-RDYI4MML.js';
5
- import { fetchProviderModels } from '../../chunk-P5UQ56RA.js';
4
+ import { dispatchCapability } from '../../chunk-BNUZEYC3.js';
5
+ import { fetchProviderModels } from '../../chunk-BUNBKRJZ.js';
6
6
  import { AuthError, stripRunnerPrivateEnv, classifyClaudeSdkError, reclassifyAuthAsAccountUnavailable, AccountUnavailableError, isLongContextEntitlementRejection, LONG_CONTEXT_CREDITS_API_ERROR } from '../../chunk-XBSQ4KMC.js';
7
7
  import { agentExecRequested, wrapAgentCommand, resolveAgentExec } from '../../chunk-YROR332M.js';
8
- import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger, entryCredentialValue, registryDriverConfig } from '../../chunk-RDTHJSGY.js';
8
+ import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger, entryCredentialValue, registryDriverConfig } from '../../chunk-3E2TIPBZ.js';
9
9
  import '../../chunk-6E6PKKAD.js';
10
- import { withActivityLabelShape } from '../../chunk-IDEA6CYI.js';
11
- import '../../chunk-IWCCZL7C.js';
10
+ import { withActivityLabelShape } from '../../chunk-K2K7OF4P.js';
11
+ import '../../chunk-BIMEKYOE.js';
12
12
  import '../../chunk-4GY63JU6.js';
13
- import '../../chunk-YDJZRLGN.js';
13
+ import '../../chunk-PU5VY7KF.js';
14
14
  import '../../chunk-U6K3I3AX.js';
15
- import '../../chunk-K5GBV4SA.js';
15
+ import '../../chunk-5BEFNLOR.js';
16
16
  import '../../chunk-A2ULN3KX.js';
17
- import '../../chunk-MXXKTQXJ.js';
17
+ import '../../chunk-P2EM6FNQ.js';
18
18
  import '../../chunk-TLKM4M47.js';
19
19
  import '../../chunk-TOSHZX4C.js';
20
- import '../../chunk-AG44ZJ7W.js';
20
+ import '../../chunk-YRF5CYHR.js';
21
21
  import '../../chunk-RVRB27AN.js';
22
- import '../../chunk-DXUQCMVT.js';
23
- import '../../chunk-43ZBF3WH.js';
22
+ import '../../chunk-YANDJSMN.js';
23
+ import '../../chunk-OABIGSUY.js';
24
24
  import '../../chunk-ICSCSM5D.js';
25
25
  import '../../chunk-JMKB7IB4.js';
26
26
  import { mergeRegistries, parseModelRef, isEntryEnabled, resolveEntryBaseUrl } from '../../chunk-MJHSLODD.js';
@@ -414,6 +414,43 @@ var MODEL_USAGE_COUNTERS = [
414
414
  ["cacheCreationTokens", "cacheCreationInputTokens"],
415
415
  ["costUsd", "costUSD"]
416
416
  ];
417
+ var USAGE_COUNTERS = [
418
+ "inputTokens",
419
+ "outputTokens",
420
+ "cacheReadTokens",
421
+ "cacheCreationTokens",
422
+ "reasoningTokens",
423
+ "totalTokens"
424
+ ];
425
+ function addTokens(a, b) {
426
+ const sum = { ...a, ...b };
427
+ for (const key of USAGE_COUNTERS) {
428
+ if (typeof a[key] === "number" && typeof b[key] === "number") {
429
+ sum[key] = a[key] + b[key];
430
+ }
431
+ }
432
+ return sum;
433
+ }
434
+ function addAttemptUsage(event, earlier) {
435
+ const out = {};
436
+ if (typeof event.costUsd === "number" || typeof earlier.costUsd === "number") {
437
+ out.costUsd = (event.costUsd ?? 0) + (earlier.costUsd ?? 0);
438
+ }
439
+ if (event.tokens || earlier.tokens)
440
+ out.tokens = addTokens(event.tokens ?? {}, earlier.tokens ?? {});
441
+ if (event.modelUsage || earlier.modelUsage) {
442
+ const merged = { ...event.modelUsage };
443
+ for (const [model, usage] of Object.entries(earlier.modelUsage ?? {})) {
444
+ const current = merged[model];
445
+ merged[model] = current ? {
446
+ ...addTokens(current, usage),
447
+ ...typeof current.costUsd === "number" || typeof usage.costUsd === "number" ? { costUsd: (current.costUsd ?? 0) + (usage.costUsd ?? 0) } : {}
448
+ } : usage;
449
+ }
450
+ out.modelUsage = merged;
451
+ }
452
+ return out;
453
+ }
417
454
  function diffModelUsage(current, previous) {
418
455
  const out = {};
419
456
  for (const [model, usage] of Object.entries(current)) {
@@ -449,7 +486,8 @@ var ClaudeSdkDriver = class extends AgentDriver {
449
486
  id: "claude-sdk",
450
487
  name: "Claude Agent SDK",
451
488
  modelAgnostic: false,
452
- supportsInBandAbort: true
489
+ supportsInBandAbort: true,
490
+ capabilities: BUILTIN_DRIVER_CATALOG["claude-sdk"]?.capabilities
453
491
  };
454
492
  log = getBridgeLogger("claude-sdk");
455
493
  /** `kind: mcp` logger for tool-schema drops, alongside the runner's MCP rows. */
@@ -617,6 +655,18 @@ var ClaudeSdkDriver = class extends AgentDriver {
617
655
  * promise) rather than also drawing the runner's fatal "prompt failed".
618
656
  */
619
657
  limitTurnRejectedForFailover = false;
658
+ /**
659
+ * The error `result` of an attempt rejected for a seat failover, held back
660
+ * like the error event: a host normalizes it into a fatal "Agent stopped"
661
+ * error, which a replayed turn must not show. Emitted only if the turn is
662
+ * not replayed after all.
663
+ */
664
+ heldFailoverResult = null;
665
+ /**
666
+ * What a replayed failover attempt billed. Its `result` is dropped, so the
667
+ * replay's own `result` carries this too; seat A's spend is otherwise lost.
668
+ */
669
+ failoverUsageCarry = null;
620
670
  /**
621
671
  * Whether this attempt already reported a provider rejection. One upstream
622
672
  * failure routinely reaches the driver twice — `rejected` telemetry followed
@@ -896,12 +946,14 @@ var ClaudeSdkDriver = class extends AgentDriver {
896
946
  this.longContextRejectionLogged = false;
897
947
  this.lastLimitInfo = null;
898
948
  this.deferredTurnError = null;
949
+ this.heldFailoverResult = null;
899
950
  let retrying = false;
900
951
  const isFirstAttempt = !_budget.staleResume && !_budget.poison && !_budget.auth && !_budget.queryEnded && !_budget.limit;
901
952
  if (isFirstAttempt) {
902
953
  this._lastTokens = null;
903
954
  this._lastContextTokens = null;
904
955
  this._lastModelUsage = null;
956
+ this.failoverUsageCarry = null;
905
957
  }
906
958
  this.running = true;
907
959
  this.prevText = "";
@@ -969,9 +1021,13 @@ var ClaudeSdkDriver = class extends AgentDriver {
969
1021
  if (await this.attemptLimitFailover(err)) {
970
1022
  if (this.abortController?.signal.aborted) {
971
1023
  this.log.info("aborted during the seat failover; not replaying the prompt");
1024
+ this.emitHeldFailoverResult();
972
1025
  this.emitAgentEnd();
973
1026
  return;
974
1027
  }
1028
+ const held = this.heldFailoverResult;
1029
+ if (held) this.failoverUsageCarry = addAttemptUsage(held, this.failoverUsageCarry ?? {});
1030
+ this.heldFailoverResult = null;
975
1031
  this.retractUnfinishedText();
976
1032
  retrying = true;
977
1033
  return this.runPrompt(message, { ..._budget, limit: true });
@@ -994,6 +1050,8 @@ var ClaudeSdkDriver = class extends AgentDriver {
994
1050
  this.limitTurnRejectedForFailover = false;
995
1051
  this.lastLimitInfo = null;
996
1052
  this.deferredTurnError = null;
1053
+ this.heldFailoverResult = null;
1054
+ this.failoverUsageCarry = null;
997
1055
  this.suppressedAuthRenderText = null;
998
1056
  this.lastApiErrorRender = null;
999
1057
  }
@@ -1456,6 +1514,7 @@ var ClaudeSdkDriver = class extends AgentDriver {
1456
1514
  this.log.info("no alternative AI provider config available; surfacing the limit error", {
1457
1515
  reason: outcome?.reason
1458
1516
  });
1517
+ this.emitHeldFailoverResult();
1459
1518
  const detail = err?.detail;
1460
1519
  this.emitDeferredTurnError({
1461
1520
  type: "error",
@@ -2222,6 +2281,26 @@ var ClaudeSdkDriver = class extends AgentDriver {
2222
2281
  });
2223
2282
  }
2224
2283
  }
2284
+ /** Fold a replayed failover attempt's usage into the `result` that ends the turn, once. */
2285
+ withFailoverUsage(event) {
2286
+ const carry = this.failoverUsageCarry;
2287
+ if (!carry) return event;
2288
+ this.failoverUsageCarry = null;
2289
+ return { ...event, ...addAttemptUsage(event, carry) };
2290
+ }
2291
+ /** Emit the result {@link handleErrorResult} held for a failover that did not replay. */
2292
+ emitHeldFailoverResult() {
2293
+ const event = this.heldFailoverResult;
2294
+ this.heldFailoverResult = null;
2295
+ if (!event) return;
2296
+ try {
2297
+ this.emit("agent-event", event);
2298
+ } catch (emitErr) {
2299
+ this.log.warn("agent-event listener threw while surfacing a held result; suppressing", {
2300
+ error: emitErr instanceof Error ? emitErr.message : String(emitErr)
2301
+ });
2302
+ }
2303
+ }
2225
2304
  /**
2226
2305
  * Emit the error {@link failTurn} withheld, exactly once. Called by a
2227
2306
  * recovery path that decided NOT to retry, so every failure produces one
@@ -2613,14 +2692,17 @@ var ClaudeSdkDriver = class extends AgentDriver {
2613
2692
  };
2614
2693
  this.emit("agent-event", { type: "message_end", message: agentMsg });
2615
2694
  }
2616
- this.emit("agent-event", {
2617
- type: "result",
2618
- subtype: msg.subtype,
2619
- summary: result ?? "Task completed",
2620
- costUsd: this._lastTurnCostUsd,
2621
- ...this._lastTokens ? { tokens: this._lastTokens } : {},
2622
- ...this.turnUsageFields()
2623
- });
2695
+ this.emit(
2696
+ "agent-event",
2697
+ this.withFailoverUsage({
2698
+ type: "result",
2699
+ subtype: msg.subtype,
2700
+ summary: result ?? "Task completed",
2701
+ costUsd: this._lastTurnCostUsd,
2702
+ ...this._lastTokens ? { tokens: this._lastTokens } : {},
2703
+ ...this.turnUsageFields()
2704
+ })
2705
+ );
2624
2706
  }
2625
2707
  /**
2626
2708
  * Handle the non-clean branch (legacy `SDKResultError`, or a `success`
@@ -2632,14 +2714,19 @@ var ClaudeSdkDriver = class extends AgentDriver {
2632
2714
  const looseMsg = msg;
2633
2715
  const errors = looseMsg.errors?.length ? looseMsg.errors : [];
2634
2716
  if (looseMsg.is_error && this.handleResultErrorPayload(msg, errors)) return;
2635
- this.emit("agent-event", {
2717
+ const resultEvent = {
2636
2718
  type: "result",
2637
2719
  subtype: msg.subtype,
2638
2720
  errors,
2639
2721
  ...this._lastCostReported ? { costUsd: this._lastTurnCostUsd } : {},
2640
2722
  ...this._lastTokens ? { tokens: this._lastTokens } : {},
2641
2723
  ...this.turnUsageFields()
2642
- });
2724
+ };
2725
+ if (this.limitTurnRejectedForFailover) {
2726
+ this.heldFailoverResult = resultEvent;
2727
+ } else {
2728
+ this.emit("agent-event", this.withFailoverUsage(resultEvent));
2729
+ }
2643
2730
  const awaitingFollowUpThrow = looseMsg.is_error === true && errors.length === 0;
2644
2731
  if (!this.turnCompleted && !awaitingFollowUpThrow) {
2645
2732
  this.completeTurn();