@skaile/workspaces 5.6.1 → 5.8.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 (428) hide show
  1. package/CHANGELOG.md +176 -0
  2. package/README.md +4 -2
  3. package/dist/app-sdk/index.js +1 -1
  4. package/dist/{asset-feeds-LU7NHOAP.js → asset-feeds-EYRZR4K5.js} +55 -31
  5. package/dist/asset-feeds-EYRZR4K5.js.map +1 -0
  6. package/dist/asset-manager/catalog-deployer.js +10 -10
  7. package/dist/asset-manager/index.js +16 -16
  8. package/dist/asset-manager/installer.js +12 -12
  9. package/dist/asset-manager/renderers.js +11 -11
  10. package/dist/asset-manager/src/index.d.ts +364 -30
  11. package/dist/asset-manager/src/index.d.ts.map +1 -1
  12. package/dist/asset-manager/src/install-agent.d.ts +11 -0
  13. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  14. package/dist/asset-manager/src/installer.d.ts +6 -3
  15. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  16. package/dist/bridge/drivers/claude-sdk.js +148 -212
  17. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  18. package/dist/bridge/drivers/codex.js +91 -67
  19. package/dist/bridge/drivers/codex.js.map +1 -1
  20. package/dist/bridge/drivers/continue.js +16 -17
  21. package/dist/bridge/drivers/continue.js.map +1 -1
  22. package/dist/bridge/drivers/echo.js +4 -4
  23. package/dist/bridge/drivers/gemini.js +8 -8
  24. package/dist/bridge/drivers/goose.js +16 -17
  25. package/dist/bridge/drivers/goose.js.map +1 -1
  26. package/dist/bridge/drivers/omp.js +68 -104
  27. package/dist/bridge/drivers/omp.js.map +1 -1
  28. package/dist/bridge/drivers/opencode.js +16 -17
  29. package/dist/bridge/drivers/opencode.js.map +1 -1
  30. package/dist/bridge/drivers/qwen.js +8 -8
  31. package/dist/bridge/index.js +17 -18
  32. package/dist/bridge/src/codex/managed-driver.d.ts +13 -10
  33. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  34. package/dist/bridge/src/drivers/_subprocess-cli.d.ts +12 -2
  35. package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +1 -1
  36. package/dist/bridge/src/drivers/claude-sdk.d.ts +37 -62
  37. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  38. package/dist/bridge/src/drivers/codex.d.ts +26 -10
  39. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  40. package/dist/bridge/src/drivers/continue.d.ts +2 -2
  41. package/dist/bridge/src/drivers/continue.d.ts.map +1 -1
  42. package/dist/bridge/src/drivers/gemini.d.ts +2 -2
  43. package/dist/bridge/src/drivers/gemini.d.ts.map +1 -1
  44. package/dist/bridge/src/drivers/goose.d.ts +2 -2
  45. package/dist/bridge/src/drivers/goose.d.ts.map +1 -1
  46. package/dist/bridge/src/drivers/omp.d.ts +24 -35
  47. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  48. package/dist/bridge/src/drivers/opencode.d.ts +2 -2
  49. package/dist/bridge/src/drivers/opencode.d.ts.map +1 -1
  50. package/dist/bridge/src/drivers/recovery-policy.d.ts +79 -0
  51. package/dist/bridge/src/drivers/recovery-policy.d.ts.map +1 -0
  52. package/dist/bridge/src/index.d.ts +1 -0
  53. package/dist/bridge/src/index.d.ts.map +1 -1
  54. package/dist/bridge/src/reconfigure-ledger.d.ts +117 -0
  55. package/dist/bridge/src/reconfigure-ledger.d.ts.map +1 -0
  56. package/dist/bridge/src/types.d.ts +57 -6
  57. package/dist/bridge/src/types.d.ts.map +1 -1
  58. package/dist/{chunk-OLLAQLFJ.js → chunk-2FRUUDZY.js} +5 -5
  59. package/dist/{chunk-OLLAQLFJ.js.map → chunk-2FRUUDZY.js.map} +1 -1
  60. package/dist/{chunk-SDFROXSA.js → chunk-2LWYNQK7.js} +3 -3
  61. package/dist/{chunk-SDFROXSA.js.map → chunk-2LWYNQK7.js.map} +1 -1
  62. package/dist/{chunk-TZCQ7ZWQ.js → chunk-36AFURKZ.js} +10 -11
  63. package/dist/chunk-36AFURKZ.js.map +1 -0
  64. package/dist/{chunk-MX3UQXLU.js → chunk-4MQS7CAF.js} +256 -92
  65. package/dist/chunk-4MQS7CAF.js.map +1 -0
  66. package/dist/{chunk-45VFGT7A.js → chunk-4PTSR4UU.js} +3 -3
  67. package/dist/{chunk-45VFGT7A.js.map → chunk-4PTSR4UU.js.map} +1 -1
  68. package/dist/{chunk-VX3INFBA.js → chunk-6GRX5L6A.js} +5 -5
  69. package/dist/{chunk-VX3INFBA.js.map → chunk-6GRX5L6A.js.map} +1 -1
  70. package/dist/{chunk-NFGRW3L7.js → chunk-7RGTAEG6.js} +3 -3
  71. package/dist/{chunk-NFGRW3L7.js.map → chunk-7RGTAEG6.js.map} +1 -1
  72. package/dist/{chunk-5B5IZVEP.js → chunk-AWQYXZVG.js} +15 -6
  73. package/dist/chunk-AWQYXZVG.js.map +1 -0
  74. package/dist/{chunk-XBSQ4KMC.js → chunk-B4X2N7JQ.js} +205 -3
  75. package/dist/chunk-B4X2N7JQ.js.map +1 -0
  76. package/dist/{chunk-FRHE7FFB.js → chunk-B6GIW55K.js} +5 -3
  77. package/dist/chunk-B6GIW55K.js.map +1 -0
  78. package/dist/{chunk-LLKKLKZJ.js → chunk-BJNUNQAW.js} +3 -3
  79. package/dist/{chunk-LLKKLKZJ.js.map → chunk-BJNUNQAW.js.map} +1 -1
  80. package/dist/{chunk-7ZHLYXTI.js → chunk-BTE2V4IW.js} +3 -3
  81. package/dist/{chunk-7ZHLYXTI.js.map → chunk-BTE2V4IW.js.map} +1 -1
  82. package/dist/{chunk-ZBBM6O6P.js → chunk-CGT45WN7.js} +3 -3
  83. package/dist/{chunk-ZBBM6O6P.js.map → chunk-CGT45WN7.js.map} +1 -1
  84. package/dist/{chunk-47ZD34KB.js → chunk-CIFS5K6T.js} +3 -3
  85. package/dist/{chunk-47ZD34KB.js.map → chunk-CIFS5K6T.js.map} +1 -1
  86. package/dist/{chunk-BTISGSK4.js → chunk-CKQEIY43.js} +4 -4
  87. package/dist/{chunk-BTISGSK4.js.map → chunk-CKQEIY43.js.map} +1 -1
  88. package/dist/{chunk-KXTO7HON.js → chunk-EAZECHPM.js} +3 -3
  89. package/dist/{chunk-KXTO7HON.js.map → chunk-EAZECHPM.js.map} +1 -1
  90. package/dist/{chunk-VKSXST23.js → chunk-EF7NPDDU.js} +4 -4
  91. package/dist/{chunk-VKSXST23.js.map → chunk-EF7NPDDU.js.map} +1 -1
  92. package/dist/chunk-EPBKISS5.js +84 -0
  93. package/dist/chunk-EPBKISS5.js.map +1 -0
  94. package/dist/{chunk-VJENKWXF.js → chunk-F2EKONM7.js} +3 -3
  95. package/dist/{chunk-VJENKWXF.js.map → chunk-F2EKONM7.js.map} +1 -1
  96. package/dist/{chunk-DMLDYFDS.js → chunk-F3RDEH5U.js} +7 -4
  97. package/dist/chunk-F3RDEH5U.js.map +1 -0
  98. package/dist/{chunk-UAP2XHRF.js → chunk-FTJJO3EM.js} +39 -29
  99. package/dist/chunk-FTJJO3EM.js.map +1 -0
  100. package/dist/{chunk-2GRB5ITE.js → chunk-FVJK4QWM.js} +4 -4
  101. package/dist/{chunk-2GRB5ITE.js.map → chunk-FVJK4QWM.js.map} +1 -1
  102. package/dist/{chunk-AOAZCSDI.js → chunk-FZNG4V4J.js} +16 -30
  103. package/dist/chunk-FZNG4V4J.js.map +1 -0
  104. package/dist/{chunk-BF33SCLY.js → chunk-GB7WDMH2.js} +4 -4
  105. package/dist/{chunk-BF33SCLY.js.map → chunk-GB7WDMH2.js.map} +1 -1
  106. package/dist/{chunk-NARITJS2.js → chunk-GCICGXDD.js} +3 -3
  107. package/dist/{chunk-NARITJS2.js.map → chunk-GCICGXDD.js.map} +1 -1
  108. package/dist/{chunk-PA7WLID3.js → chunk-GTILM2CI.js} +56 -5
  109. package/dist/chunk-GTILM2CI.js.map +1 -0
  110. package/dist/{chunk-WIHQWVWL.js → chunk-GXXFLBUQ.js} +26 -27
  111. package/dist/chunk-GXXFLBUQ.js.map +1 -0
  112. package/dist/{chunk-PTO2YDDG.js → chunk-H7QUDDKH.js} +1337 -168
  113. package/dist/chunk-H7QUDDKH.js.map +1 -0
  114. package/dist/{chunk-I4QBZLOR.js → chunk-HG34RNTK.js} +7 -13
  115. package/dist/chunk-HG34RNTK.js.map +1 -0
  116. package/dist/{chunk-65EYRFZJ.js → chunk-HYDRDNKN.js} +10 -6
  117. package/dist/chunk-HYDRDNKN.js.map +1 -0
  118. package/dist/{chunk-4GNJELPH.js → chunk-I6NLLJHZ.js} +2 -2
  119. package/dist/{chunk-4GNJELPH.js.map → chunk-I6NLLJHZ.js.map} +1 -1
  120. package/dist/{chunk-VSQFGU5D.js → chunk-ILFGVSTJ.js} +3 -3
  121. package/dist/{chunk-VSQFGU5D.js.map → chunk-ILFGVSTJ.js.map} +1 -1
  122. package/dist/{chunk-2XFUXGV6.js → chunk-IONAUNWB.js} +3 -3
  123. package/dist/{chunk-2XFUXGV6.js.map → chunk-IONAUNWB.js.map} +1 -1
  124. package/dist/{chunk-CT6NQSA4.js → chunk-ISHJITXJ.js} +3 -3
  125. package/dist/{chunk-CT6NQSA4.js.map → chunk-ISHJITXJ.js.map} +1 -1
  126. package/dist/chunk-IZCR27MU.js +60 -0
  127. package/dist/chunk-IZCR27MU.js.map +1 -0
  128. package/dist/{chunk-2W4LBLIN.js → chunk-JAKOMFC6.js} +68 -20
  129. package/dist/chunk-JAKOMFC6.js.map +1 -0
  130. package/dist/{chunk-MFHKHXDE.js → chunk-L5VSIPQD.js} +5 -5
  131. package/dist/chunk-L5VSIPQD.js.map +1 -0
  132. package/dist/{chunk-RGXVQZOV.js → chunk-LEMHVDET.js} +89 -67
  133. package/dist/chunk-LEMHVDET.js.map +1 -0
  134. package/dist/{chunk-37FTLYFP.js → chunk-LNFKL23K.js} +3 -3
  135. package/dist/{chunk-37FTLYFP.js.map → chunk-LNFKL23K.js.map} +1 -1
  136. package/dist/{chunk-6NPINANG.js → chunk-LSXHED6I.js} +6 -6
  137. package/dist/{chunk-6NPINANG.js.map → chunk-LSXHED6I.js.map} +1 -1
  138. package/dist/{chunk-XUUYAS3Z.js → chunk-M3WPBTGJ.js} +3 -3
  139. package/dist/{chunk-XUUYAS3Z.js.map → chunk-M3WPBTGJ.js.map} +1 -1
  140. package/dist/{chunk-QZLWJETK.js → chunk-MGGFBZWA.js} +3 -3
  141. package/dist/{chunk-QZLWJETK.js.map → chunk-MGGFBZWA.js.map} +1 -1
  142. package/dist/{chunk-QD772CGQ.js → chunk-NPLPCRW5.js} +5 -5
  143. package/dist/{chunk-QD772CGQ.js.map → chunk-NPLPCRW5.js.map} +1 -1
  144. package/dist/{chunk-QCI6D7E4.js → chunk-NUELZWCF.js} +266 -170
  145. package/dist/chunk-NUELZWCF.js.map +1 -0
  146. package/dist/{chunk-GP6ZL7PE.js → chunk-OFBIWVCR.js} +3 -3
  147. package/dist/{chunk-GP6ZL7PE.js.map → chunk-OFBIWVCR.js.map} +1 -1
  148. package/dist/{chunk-D2V42LUE.js → chunk-P23M65LB.js} +93 -52
  149. package/dist/chunk-P23M65LB.js.map +1 -0
  150. package/dist/{chunk-46OVMT76.js → chunk-PMECEZK3.js} +16 -10
  151. package/dist/chunk-PMECEZK3.js.map +1 -0
  152. package/dist/{chunk-27HS2DHB.js → chunk-PTSGWKHR.js} +4 -4
  153. package/dist/{chunk-27HS2DHB.js.map → chunk-PTSGWKHR.js.map} +1 -1
  154. package/dist/{chunk-OKGUDNDT.js → chunk-Q6E6FM7P.js} +35 -33
  155. package/dist/chunk-Q6E6FM7P.js.map +1 -0
  156. package/dist/{chunk-PJS2YWGG.js → chunk-QOP6KDFR.js} +8 -9
  157. package/dist/chunk-QOP6KDFR.js.map +1 -0
  158. package/dist/{chunk-AO7VJ6G6.js → chunk-QVNRCDTV.js} +29 -8
  159. package/dist/chunk-QVNRCDTV.js.map +1 -0
  160. package/dist/{chunk-VBBBZDI7.js → chunk-S53LOR7B.js} +3 -3
  161. package/dist/{chunk-VBBBZDI7.js.map → chunk-S53LOR7B.js.map} +1 -1
  162. package/dist/{chunk-KUFNKVBM.js → chunk-SH5D7U7N.js} +20 -7
  163. package/dist/{chunk-KUFNKVBM.js.map → chunk-SH5D7U7N.js.map} +1 -1
  164. package/dist/{chunk-SX4UIDKT.js → chunk-UAROCOXF.js} +3 -3
  165. package/dist/{chunk-SX4UIDKT.js.map → chunk-UAROCOXF.js.map} +1 -1
  166. package/dist/{chunk-JMKB7IB4.js → chunk-UMVKJM4Q.js} +4 -4
  167. package/dist/chunk-UMVKJM4Q.js.map +1 -0
  168. package/dist/{chunk-HCYS7GFP.js → chunk-V2DXZYBB.js} +3 -3
  169. package/dist/{chunk-HCYS7GFP.js.map → chunk-V2DXZYBB.js.map} +1 -1
  170. package/dist/{chunk-KYXOGHY6.js → chunk-W5DWWE4Y.js} +4 -4
  171. package/dist/{chunk-KYXOGHY6.js.map → chunk-W5DWWE4Y.js.map} +1 -1
  172. package/dist/{chunk-FK6HPLQA.js → chunk-WTQ3TATB.js} +3 -3
  173. package/dist/{chunk-FK6HPLQA.js.map → chunk-WTQ3TATB.js.map} +1 -1
  174. package/dist/{chunk-OGLDAJFL.js → chunk-Y4N2NUZD.js} +4 -4
  175. package/dist/{chunk-OGLDAJFL.js.map → chunk-Y4N2NUZD.js.map} +1 -1
  176. package/dist/{chunk-XOGG7VDZ.js → chunk-Y7QA2OLD.js} +17 -25
  177. package/dist/chunk-Y7QA2OLD.js.map +1 -0
  178. package/dist/{chunk-2KOKBTR4.js → chunk-YSHVQGUS.js} +123 -28
  179. package/dist/chunk-YSHVQGUS.js.map +1 -0
  180. package/dist/chunk-ZAOGFXDO.js +112 -0
  181. package/dist/chunk-ZAOGFXDO.js.map +1 -0
  182. package/dist/{chunk-7KLC4LZO.js → chunk-ZKSJMZKD.js} +17 -13
  183. package/dist/chunk-ZKSJMZKD.js.map +1 -0
  184. package/dist/cli/index.js +1169 -672
  185. package/dist/cli/index.js.map +1 -1
  186. package/dist/cli/src/asset-feeds.d.ts +5 -2
  187. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  188. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  189. package/dist/cli/src/commands/catalog.d.ts +27 -5
  190. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  191. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  192. package/dist/cli/src/commands/library-index.d.ts +49 -4
  193. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  194. package/dist/cli/src/commands/library-publish.d.ts +9 -0
  195. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  196. package/dist/cli/src/commands/manage.d.ts +8 -2
  197. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  198. package/dist/cli/src/commands/outdated.d.ts +10 -4
  199. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  200. package/dist/cli/src/commands/project.d.ts +15 -4
  201. package/dist/cli/src/commands/project.d.ts.map +1 -1
  202. package/dist/cli/src/commands/publish-core.d.ts +10 -1
  203. package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
  204. package/dist/cli/src/commands/session.d.ts.map +1 -1
  205. package/dist/cli/src/commands/source.d.ts +18 -3
  206. package/dist/cli/src/commands/source.d.ts.map +1 -1
  207. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  208. package/dist/cli/src/commands/update.d.ts +1 -1
  209. package/dist/cli/src/commands/update.d.ts.map +1 -1
  210. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  211. package/dist/cli/src/flow-discovery.d.ts +8 -5
  212. package/dist/cli/src/flow-discovery.d.ts.map +1 -1
  213. package/dist/cli/src/open-library.d.ts +0 -11
  214. package/dist/cli/src/open-library.d.ts.map +1 -1
  215. package/dist/cli/src/skill-checks.d.ts +30 -10
  216. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  217. package/dist/connectors/config.js +6 -6
  218. package/dist/connectors/index.js +26 -27
  219. package/dist/connectors/src/access-policy.d.ts +33 -0
  220. package/dist/connectors/src/access-policy.d.ts.map +1 -0
  221. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  222. package/dist/connectors/src/index.d.ts +2 -0
  223. package/dist/connectors/src/index.d.ts.map +1 -1
  224. package/dist/connectors-O6Y6VESP.js +44 -0
  225. package/dist/{connectors-HWENZFKW.js.map → connectors-O6Y6VESP.js.map} +1 -1
  226. package/dist/connectors-shared/index.js +2 -2
  227. package/dist/core/index.js +9 -9
  228. package/dist/core/logging.js +1 -1
  229. package/dist/core/manifest.js +2 -2
  230. package/dist/core/models.js +1 -1
  231. package/dist/core/publish-manifest.js +2 -2
  232. package/dist/core/ref.js +1 -1
  233. package/dist/core/runtime-assets.js +6 -6
  234. package/dist/core/src/cache-paths.d.ts.map +1 -1
  235. package/dist/core/src/index.d.ts +4 -4
  236. package/dist/core/src/index.d.ts.map +1 -1
  237. package/dist/core/src/lock.d.ts +3 -3
  238. package/dist/core/src/lock.d.ts.map +1 -1
  239. package/dist/core/src/logging/config.d.ts +9 -1
  240. package/dist/core/src/logging/config.d.ts.map +1 -1
  241. package/dist/core/src/manifest.d.ts +17 -2
  242. package/dist/core/src/manifest.d.ts.map +1 -1
  243. package/dist/core/src/models.d.ts +22 -6
  244. package/dist/core/src/models.d.ts.map +1 -1
  245. package/dist/core/src/repo-manager.d.ts +41 -6
  246. package/dist/core/src/repo-manager.d.ts.map +1 -1
  247. package/dist/core/src/store.d.ts +16 -2
  248. package/dist/core/src/store.d.ts.map +1 -1
  249. package/dist/core/src/workspace-config.d.ts +10 -1
  250. package/dist/core/src/workspace-config.d.ts.map +1 -1
  251. package/dist/core/store.js +2 -2
  252. package/dist/core/workspace-config.js +5 -5
  253. package/dist/deploy/index.js +9 -9
  254. package/dist/discovery/index.js +5 -5
  255. package/dist/discovery/src/index.d.ts +1 -1
  256. package/dist/discovery/src/index.d.ts.map +1 -1
  257. package/dist/discovery/src/source-config.d.ts +12 -0
  258. package/dist/discovery/src/source-config.d.ts.map +1 -1
  259. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  260. package/dist/{ensure-sources-DSTSXJWK.js → ensure-sources-SKLNM4UZ.js} +19 -19
  261. package/dist/{ensure-sources-DSTSXJWK.js.map → ensure-sources-SKLNM4UZ.js.map} +1 -1
  262. package/dist/factory-assets/connectors/box.js +26 -27
  263. package/dist/factory-assets/connectors/deploy.js +26 -27
  264. package/dist/factory-assets/connectors/devserver.js +26 -27
  265. package/dist/factory-assets/connectors/flow/adapter.d.ts +6 -0
  266. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  267. package/dist/factory-assets/connectors/flow/adapter.js +26 -27
  268. package/dist/factory-assets/connectors/flow/contract/expression.d.ts +3 -0
  269. package/dist/factory-assets/connectors/flow/contract/expression.d.ts.map +1 -1
  270. package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts +1 -1
  271. package/dist/factory-assets/connectors/flow/contract/output-fields.d.ts.map +1 -1
  272. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -1
  273. package/dist/factory-assets/connectors/flow/contract.js +4 -4
  274. package/dist/factory-assets/connectors/flow/engine/flow-output.d.ts +4 -3
  275. package/dist/factory-assets/connectors/flow/engine/flow-output.d.ts.map +1 -1
  276. package/dist/factory-assets/connectors/flow/engine/output-schema.d.ts +6 -1
  277. package/dist/factory-assets/connectors/flow/engine/output-schema.d.ts.map +1 -1
  278. package/dist/factory-assets/connectors/flow/engine.js +13 -13
  279. package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts.map +1 -1
  280. package/dist/factory-assets/connectors/flow/prompt-fragments.js +3 -3
  281. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  282. package/dist/factory-assets/connectors/flow/run-flow.js +28 -29
  283. package/dist/factory-assets/connectors/flow.js +26 -27
  284. package/dist/factory-assets/connectors/git/config.d.ts.map +1 -1
  285. package/dist/factory-assets/connectors/git.js +26 -27
  286. package/dist/factory-assets/connectors/gmail.js +26 -27
  287. package/dist/factory-assets/connectors/googledrive.js +26 -27
  288. package/dist/factory-assets/connectors/local.js +26 -27
  289. package/dist/factory-assets/connectors/mattermost.js +26 -27
  290. package/dist/factory-assets/connectors/memory.js +26 -27
  291. package/dist/factory-assets/connectors/minio.js +26 -27
  292. package/dist/factory-assets/connectors/postgres.js +26 -27
  293. package/dist/factory-assets/connectors/s3.js +26 -27
  294. package/dist/factory-assets/connectors/sharepoint.js +26 -27
  295. package/dist/factory-assets/connectors/sqlite.js +26 -27
  296. package/dist/factory-assets/connectors/static-server.js +26 -27
  297. package/dist/factory-assets/connectors/tunnel.js +26 -27
  298. package/dist/factory-assets/connectors/webdav.js +26 -27
  299. package/dist/factory-assets/connectors/xstate-store.js +26 -27
  300. package/dist/factory-assets/connectors/xstate.js +26 -27
  301. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +10 -7
  302. package/dist/flows-CBYRSAGS.js +26 -0
  303. package/dist/{flows-ENQY2DV7.js.map → flows-CBYRSAGS.js.map} +1 -1
  304. package/dist/{helpers-R44RUTDY.js → helpers-MWZDRBLD.js} +19 -19
  305. package/dist/{helpers-R44RUTDY.js.map → helpers-MWZDRBLD.js.map} +1 -1
  306. package/dist/library/index.js +13 -13
  307. package/dist/library/install.js +3 -3
  308. package/dist/library/src/index.d.ts +5 -3
  309. package/dist/library/src/index.d.ts.map +1 -1
  310. package/dist/library/src/local/library-manager.d.ts +6 -0
  311. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  312. package/dist/library/src/local/local-catalog-source.d.ts +5 -2
  313. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  314. package/dist/library/src/local/scan-authoring-libraries.d.ts +43 -0
  315. package/dist/library/src/local/scan-authoring-libraries.d.ts.map +1 -0
  316. package/dist/library/src/manifest-writer.d.ts +46 -1
  317. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  318. package/dist/library/src/sync/git-driver.d.ts +12 -0
  319. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  320. package/dist/{library-publish-LFOJJVMK.js → library-publish-PICMDSB2.js} +129 -49
  321. package/dist/library-publish-PICMDSB2.js.map +1 -0
  322. package/dist/open-library-OG457THY.js +40 -0
  323. package/dist/{open-library-4WUMQHES.js.map → open-library-OG457THY.js.map} +1 -1
  324. package/dist/open-registry-ZUZJ7MS7.js +32 -0
  325. package/dist/{open-registry-NVPCQPND.js.map → open-registry-ZUZJ7MS7.js.map} +1 -1
  326. package/dist/paths-FQ64OLJG.js +22 -0
  327. package/dist/{paths-YUCP7K6U.js.map → paths-FQ64OLJG.js.map} +1 -1
  328. package/dist/{plugin-store-66QFBNEO.js → plugin-store-MPAMD5OT.js} +11 -11
  329. package/dist/{plugin-store-66QFBNEO.js.map → plugin-store-MPAMD5OT.js.map} +1 -1
  330. package/dist/project-2GFT5LEZ.js +41 -0
  331. package/dist/{project-VMOHUXBD.js.map → project-2GFT5LEZ.js.map} +1 -1
  332. package/dist/resolver/index.js +10 -10
  333. package/dist/runner/index.js +41 -42
  334. package/dist/runner/src/logging-bootstrap.d.ts +6 -0
  335. package/dist/runner/src/logging-bootstrap.d.ts.map +1 -1
  336. package/dist/runner/src/reconfigure-handler.d.ts +38 -17
  337. package/dist/runner/src/reconfigure-handler.d.ts.map +1 -1
  338. package/dist/runner/src/serve.d.ts.map +1 -1
  339. package/dist/runner/src/session-capability-wiring.d.ts +0 -2
  340. package/dist/runner/src/session-capability-wiring.d.ts.map +1 -1
  341. package/dist/sdk/asset-manager.js +16 -16
  342. package/dist/sdk/bridge.js +17 -18
  343. package/dist/sdk/core.js +9 -9
  344. package/dist/sdk/flow.js +13 -13
  345. package/dist/sdk/index.js +69 -46
  346. package/dist/sdk/index.js.map +1 -1
  347. package/dist/sdk/resolver.js +10 -10
  348. package/dist/sdk/runner.js +41 -42
  349. package/dist/sdk/session.js +2 -2
  350. package/dist/sdk/src/agent-session.d.ts +8 -0
  351. package/dist/sdk/src/agent-session.d.ts.map +1 -1
  352. package/dist/sdk/store.js +2 -1
  353. package/dist/sdk/types.js +1 -1
  354. package/dist/secrets/index.js +2 -2
  355. package/dist/session/index.js +2 -2
  356. package/dist/{setup-PYY23HGZ.js → setup-WHMCSIF2.js} +27 -28
  357. package/dist/setup-WHMCSIF2.js.map +1 -0
  358. package/dist/skills-TVO26Y4V.js +26 -0
  359. package/dist/{skills-CS7NE5TT.js.map → skills-TVO26Y4V.js.map} +1 -1
  360. package/dist/source-LKOFTOEK.js +41 -0
  361. package/dist/{source-JCF6KSQN.js.map → source-LKOFTOEK.js.map} +1 -1
  362. package/dist/{source-manifest-publish-O6P7G2M7.js → source-manifest-publish-L5J3QXER.js} +28 -28
  363. package/dist/{source-manifest-publish-O6P7G2M7.js.map → source-manifest-publish-L5J3QXER.js.map} +1 -1
  364. package/dist/store/index.js +2 -1
  365. package/dist/store/src/store.d.ts +8 -5
  366. package/dist/store/src/store.d.ts.map +1 -1
  367. package/dist/tui/index.js +41 -42
  368. package/dist/tui/index.js.map +1 -1
  369. package/dist/types/index.js +1 -1
  370. package/dist/types/manifests.js +1 -1
  371. package/dist/types/src/ask-slots.d.ts +68 -0
  372. package/dist/types/src/ask-slots.d.ts.map +1 -0
  373. package/dist/types/src/delivery.d.ts.map +1 -1
  374. package/dist/types/src/events.d.ts +29 -1
  375. package/dist/types/src/events.d.ts.map +1 -1
  376. package/dist/types/src/index.d.ts +1 -1
  377. package/dist/types/src/index.d.ts.map +1 -1
  378. package/dist/types/src/manifests/index.d.ts +1 -1
  379. package/dist/types/src/manifests/index.d.ts.map +1 -1
  380. package/dist/types/src/manifests/preset.d.ts +4 -0
  381. package/dist/types/src/manifests/preset.d.ts.map +1 -1
  382. package/dist/types/src/version.d.ts +12 -1
  383. package/dist/types/src/version.d.ts.map +1 -1
  384. package/dist/workspace-plugin/adapters/mcp.js +33 -34
  385. package/dist/workspace-plugin/adapters/omp.js +14 -14
  386. package/dist/workspace-plugin/index.js +2 -2
  387. package/package.json +1 -1
  388. package/dist/asset-feeds-LU7NHOAP.js.map +0 -1
  389. package/dist/chunk-2KOKBTR4.js.map +0 -1
  390. package/dist/chunk-2NYXQYHN.js +0 -22
  391. package/dist/chunk-2NYXQYHN.js.map +0 -1
  392. package/dist/chunk-2W4LBLIN.js.map +0 -1
  393. package/dist/chunk-46OVMT76.js.map +0 -1
  394. package/dist/chunk-5B5IZVEP.js.map +0 -1
  395. package/dist/chunk-65EYRFZJ.js.map +0 -1
  396. package/dist/chunk-7KLC4LZO.js.map +0 -1
  397. package/dist/chunk-AO7VJ6G6.js.map +0 -1
  398. package/dist/chunk-AOAZCSDI.js.map +0 -1
  399. package/dist/chunk-D2V42LUE.js.map +0 -1
  400. package/dist/chunk-DMLDYFDS.js.map +0 -1
  401. package/dist/chunk-EINLFFP6.js +0 -59
  402. package/dist/chunk-EINLFFP6.js.map +0 -1
  403. package/dist/chunk-FRHE7FFB.js.map +0 -1
  404. package/dist/chunk-I4QBZLOR.js.map +0 -1
  405. package/dist/chunk-JMKB7IB4.js.map +0 -1
  406. package/dist/chunk-MFHKHXDE.js.map +0 -1
  407. package/dist/chunk-MX3UQXLU.js.map +0 -1
  408. package/dist/chunk-OKGUDNDT.js.map +0 -1
  409. package/dist/chunk-PA7WLID3.js.map +0 -1
  410. package/dist/chunk-PJS2YWGG.js.map +0 -1
  411. package/dist/chunk-PTO2YDDG.js.map +0 -1
  412. package/dist/chunk-QCI6D7E4.js.map +0 -1
  413. package/dist/chunk-RGXVQZOV.js.map +0 -1
  414. package/dist/chunk-TZCQ7ZWQ.js.map +0 -1
  415. package/dist/chunk-UAP2XHRF.js.map +0 -1
  416. package/dist/chunk-WIHQWVWL.js.map +0 -1
  417. package/dist/chunk-XBSQ4KMC.js.map +0 -1
  418. package/dist/chunk-XOGG7VDZ.js.map +0 -1
  419. package/dist/connectors-HWENZFKW.js +0 -45
  420. package/dist/flows-ENQY2DV7.js +0 -26
  421. package/dist/library-publish-LFOJJVMK.js.map +0 -1
  422. package/dist/open-library-4WUMQHES.js +0 -40
  423. package/dist/open-registry-NVPCQPND.js +0 -32
  424. package/dist/paths-YUCP7K6U.js +0 -22
  425. package/dist/project-VMOHUXBD.js +0 -41
  426. package/dist/setup-PYY23HGZ.js.map +0 -1
  427. package/dist/skills-CS7NE5TT.js +0 -26
  428. package/dist/source-JCF6KSQN.js +0 -41
@@ -1,7 +1,7 @@
1
1
  import type { DriverTarget } from "@skaile/workspaces/plugin-registry";
2
2
  import type { TokenUsage } from "@skaile/workspaces/types";
3
3
  import { type ModelEntry } from "../models.js";
4
- import { type AgentConfig, AgentDriver, type AgentPromptInput, type DriverInfo } from "../types.js";
4
+ import { type AgentConfig, AgentDriver, type DriverInfo, type ReconfigureOutcome, type ReconfigurePatch } from "../types.js";
5
5
  /**
6
6
  * Agent driver for the OpenAI Codex SDK.
7
7
  *
@@ -31,13 +31,18 @@ import { type AgentConfig, AgentDriver, type AgentPromptInput, type DriverInfo }
31
31
  * file. A session with no addressable registry entry renders nothing and
32
32
  * falls back to codex's built-in providers with `OPENAI_API_KEY`.
33
33
  *
34
+ * **Standalone only** — the constructor throws `CODEX_MANAGED_REQUIRES_FACTORY` for
35
+ * a managed config (see {@link isManagedCodexConfig}); build through
36
+ * `createDriver("codex", config)` / `codexDriverTarget.create(config)`, which pick
37
+ * the managed App Server adapter, so managed auth never falls back to local auth.
38
+ *
34
39
  * @docLink packages/bridge/drivers#codex-driver
35
40
  */
36
41
  export declare class CodexDriver extends AgentDriver {
37
42
  readonly driverInfo: DriverInfo;
38
43
  private readonly log;
39
44
  private config;
40
- private readonly managed?;
45
+ private readonly reconfig;
41
46
  private thread;
42
47
  private running;
43
48
  private abortController;
@@ -49,11 +54,14 @@ export declare class CodexDriver extends AgentDriver {
49
54
  private _lastTokens;
50
55
  constructor(config: AgentConfig);
51
56
  get runtimeSessionId(): string | undefined;
52
- get acceptsReplyAsPrompt(): boolean;
53
57
  dispose(): Promise<void>;
54
- hasPendingQuestion(): boolean;
55
- answerQuestion(answer: string, question?: string, requestId?: string): boolean;
56
- promptInput(input: AgentPromptInput): Promise<void>;
58
+ /**
59
+ * Store a model / thinking / effort change. The SDK thread is built from
60
+ * `config` in {@link start}, so the next thread start (first prompt, or after
61
+ * `resetSession()`) uses it; a thread already running keeps its options.
62
+ */
63
+ reconfigure(patch: ReconfigurePatch): Promise<ReconfigureOutcome>;
64
+ getModel(): string | undefined;
57
65
  start(): Promise<void>;
58
66
  prompt(message: string): Promise<void>;
59
67
  abort(): Promise<void>;
@@ -77,8 +85,6 @@ export declare class CodexDriver extends AgentDriver {
77
85
  private selectedProviderEntry;
78
86
  resetSession(): Promise<void>;
79
87
  getTokenUsage(): TokenUsage | null;
80
- reconfigure(patch: Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>): void;
81
- getModel(): string | undefined;
82
88
  /**
83
89
  * Write a combined instructions file for Codex CLI's `model_instructions_file` config.
84
90
  * Combines the agent's pre-rendered identity (`.codex/skaile-agents/<agentName>.md`, written
@@ -98,10 +104,20 @@ export declare class CodexDriver extends AgentDriver {
98
104
  private toObject;
99
105
  private classifyErrorMessage;
100
106
  }
107
+ /**
108
+ * Whether `config` selects the managed (App Server) adapter: a `managedRuntime`
109
+ * is set, or `authSource` is set and not `"local"`. Single source for the
110
+ * standalone-vs-managed decision; `codexDriverTarget` is the only place that
111
+ * acts on it, and the standalone `CodexDriver` constructor refuses such a
112
+ * config so managed auth never falls back to local credentials.
113
+ */
114
+ export declare function isManagedCodexConfig(config: AgentConfig): boolean;
101
115
  /**
102
116
  * `DriverTarget` wrapper for the codex driver. Registered into the plugin
103
- * registry by `registerBuiltinDrivers()`. The Codex SDK is lazy-imported inside
104
- * `start()` — this target export never pulls it at module top.
117
+ * registry by `registerBuiltinDrivers()`. Picks the standalone SDK adapter
118
+ * (`CodexDriver`) or the managed App Server adapter (`ManagedCodexDriver`) once
119
+ * per config. The Codex SDK is lazy-imported inside `start()` — this target
120
+ * export never pulls it at module top.
105
121
  */
106
122
  export declare const codexDriverTarget: DriverTarget<AgentConfig>;
107
123
  //# sourceMappingURL=codex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/codex.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAcnE,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAQpE,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,EAIX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AA4BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAM7B;IAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoC;IACxD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,uDAAuD;IACvD,OAAO,CAAC,WAAW,CAA2B;gBAElC,MAAM,EAAE,WAAW;IAa/B,IAAa,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAElD;IAED,IAAa,oBAAoB,IAAI,OAAO,CAE3C;IACc,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,kBAAkB,IAAI,OAAO;IAG7B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAG9E,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+EtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC,IAAW,SAAS,IAAI,OAAO,CAG9B;IAEM,IAAI,IAAI,IAAI;IAWnB;;;;;;;;;OASG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAalD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAcvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1B,aAAa,IAAI,UAAU,GAAG,IAAI;IAKlC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI;IAIrF,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIvC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,iBAAiB;IAoEzB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,oBAAoB;CAoC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAavD,CAAC"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/codex.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAcnE,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AASpE,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,EAIX,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AA4BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAM7B;IAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoC;IACxD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwD;IACjF,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,uDAAuD;IACvD,OAAO,CAAC,WAAW,CAA2B;gBAElC,MAAM,EAAE,WAAW;IAM/B,IAAa,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAElD;IAEc,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;;OAIG;IACM,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIjE,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8EtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,IAAW,SAAS,IAAI,OAAO,CAE9B;IAEM,IAAI,IAAI,IAAI;IAOnB;;;;;;;;;OASG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAYlD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAcvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1B,aAAa,IAAI,UAAU,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,iBAAiB;IAoEzB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,oBAAoB;CAoC7B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAKjE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAkBvD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { DriverTarget } from "@skaile/workspaces/plugin-registry";
2
2
  import type { Logger } from "@skaile/workspaces/types";
3
3
  import type { ModelEntry } from "../models.js";
4
- import type { AgentConfig, DriverInfo } from "../types.js";
4
+ import type { AgentConfig, DriverInfo, ReconfigureApplied } from "../types.js";
5
5
  import { SubprocessCliDriver } from "./_subprocess-cli.js";
6
6
  /**
7
7
  * Agent driver for the **Continue CLI** (`cn`), the model-agnostic agent backed
@@ -37,7 +37,7 @@ export declare class ContinueDriver extends SubprocessCliDriver {
37
37
  private providerSession;
38
38
  /** The entry + model bound to Continue's `chat` role for this session. */
39
39
  private roleBinding;
40
- reconfigure(patch: Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>): void;
40
+ protected onReconfigured(applied: ReconfigureApplied): void;
41
41
  getModel(): string | undefined;
42
42
  start(): Promise<void>;
43
43
  protected buildArgs(message: string, resumeId: string | undefined): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"continue.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/continue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAa/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAA2C,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA+B;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,QAAQ;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,kBAAkB;IAChD,SAAS,CAAC,QAAQ,CAAC,SAAS,cAAc;IAC1C,mBAA4B,IAAI,EAAG,UAAU,CAAU;IAEvD,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,kEAAkE;IAClE,OAAO,CAAC,eAAe;IAKvB,0EAA0E;IAC1E,OAAO,CAAC,WAAW;IAIV,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI;IAKrF,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAarC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAW5E;;;;;;;;;;OAUG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAuB5C,SAAS,CAAC,WAAW,IAAI,MAAM;IAI/B,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAyB3C;;;OAGG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGnD;AAqCD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,WAAW,CAY1D,CAAC"}
1
+ {"version":3,"file":"continue.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/continue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAa/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAA2C,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA+B;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,QAAQ;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,kBAAkB;IAChD,SAAS,CAAC,QAAQ,CAAC,SAAS,cAAc;IAC1C,mBAA4B,IAAI,EAAG,UAAU,CAAU;IAEvD,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,kEAAkE;IAClE,OAAO,CAAC,eAAe;IAKvB,0EAA0E;IAC1E,OAAO,CAAC,WAAW;cAIA,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI3D,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAarC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAW5E;;;;;;;;;;OAUG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAuB5C,SAAS,CAAC,WAAW,IAAI,MAAM;IAI/B,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAyB3C;;;OAGG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGnD;AAqCD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,WAAW,CAY1D,CAAC"}
@@ -2,7 +2,7 @@ import type { DriverTarget } from "@skaile/workspaces/plugin-registry";
2
2
  import type { Logger } from "@skaile/workspaces/types";
3
3
  import { type ModelEntry } from "../models.js";
4
4
  import { type EnvDriverSession, type RegistryModelBinding } from "../provider-materialize/env-drivers.js";
5
- import type { AgentConfig, DriverInfo } from "../types.js";
5
+ import type { AgentConfig, DriverInfo, ReconfigureApplied } from "../types.js";
6
6
  import { SubprocessCliDriver } from "./_subprocess-cli.js";
7
7
  /**
8
8
  * Shared base for the Gemini-CLI event family. Gemini CLI and Qwen Code (a fork
@@ -35,7 +35,7 @@ export declare abstract class GeminiFamilyDriver extends SubprocessCliDriver {
35
35
  * harness cannot — the error names the surface.
36
36
  */
37
37
  start(): Promise<void>;
38
- reconfigure(patch: Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>): void;
38
+ protected onReconfigured(applied: ReconfigureApplied): void;
39
39
  /** The provider-side model id the harness is actually run with. */
40
40
  getModel(): string | undefined;
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrF,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAG1B,MAAM,wCAAwC,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAA2C,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAQpG;;;;;;;;GAQG;AACH,8BAAsB,kBAAmB,SAAQ,mBAAmB;IAClE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAkDrC,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAC,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAAS;IAEhC,kEAAkE;IAClE,SAAS,CAAC,eAAe,IAAI,gBAAgB;IAK7C;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,IAAI,oBAAoB,GAAG,SAAS;IAa7D;;;OAGG;IACY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI;IAQ9F,mEAAmE;IAC1D,QAAQ,IAAI,MAAM,GAAG,SAAS;CAGxC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA6B;IAC3D,SAAS,CAAC,QAAQ,CAAC,UAAU,YAAY;IACzC,SAAS,CAAC,QAAQ,CAAC,WAAW,gBAAgB;IAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,YAAY;IAExC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAY5E,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAsB5C,SAAS,CAAC,WAAW,IAAI,MAAM;cAIZ,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAalF;;;;;OAKG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAgBnD;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,WAAW,CAYxD,CAAC"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrF,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAG1B,MAAM,wCAAwC,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAA2C,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAQpG;;;;;;;;GAQG;AACH,8BAAsB,kBAAmB,SAAQ,mBAAmB;IAClE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAkDrC,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAC,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAAS;IAEhC,kEAAkE;IAClE,SAAS,CAAC,eAAe,IAAI,gBAAgB;IAK7C;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,IAAI,oBAAoB,GAAG,SAAS;IAa7D;;;OAGG;IACY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAKlB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAOpE,mEAAmE;IAC1D,QAAQ,IAAI,MAAM,GAAG,SAAS;CAGxC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA6B;IAC3D,SAAS,CAAC,QAAQ,CAAC,UAAU,YAAY;IACzC,SAAS,CAAC,QAAQ,CAAC,WAAW,gBAAgB;IAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,YAAY;IAExC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAY5E,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAsB5C,SAAS,CAAC,WAAW,IAAI,MAAM;cAIZ,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAalF;;;;;OAKG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAgBnD;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,WAAW,CAYxD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { DriverTarget } from "@skaile/workspaces/plugin-registry";
2
2
  import type { Logger } from "@skaile/workspaces/types";
3
3
  import type { ModelEntry } from "../models.js";
4
- import type { AgentConfig, DriverInfo } from "../types.js";
4
+ import type { AgentConfig, DriverInfo, ReconfigureApplied } from "../types.js";
5
5
  import { SubprocessCliDriver } from "./_subprocess-cli.js";
6
6
  /**
7
7
  * Agent driver for **Goose** (Block) (`goose`), the model-agnostic open-source
@@ -36,7 +36,7 @@ export declare class GooseDriver extends SubprocessCliDriver {
36
36
  private providers?;
37
37
  /** This session's AI providers, resolved once from the config. */
38
38
  private providerSession;
39
- reconfigure(patch: Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>): void;
39
+ protected onReconfigured(applied: ReconfigureApplied): void;
40
40
  getModel(): string | undefined;
41
41
  protected buildArgs(message: string, resumeId: string | undefined): string[];
42
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"goose.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/goose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAA2C,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAY,SAAQ,mBAAmB;IAClD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA4B;IAC1D,SAAS,CAAC,QAAQ,CAAC,UAAU,WAAW;IACxC,SAAS,CAAC,QAAQ,CAAC,WAAW,WAAW;IACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,WAAW;IAEvC,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,kEAAkE;IAClE,OAAO,CAAC,eAAe;IAKd,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI;IAKrF,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIvC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAM5E;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA0B5C,SAAS,CAAC,WAAW,IAAI,MAAM;IAI/B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IA8CrC;;;OAGG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGnD;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAYvD,CAAC"}
1
+ {"version":3,"file":"goose.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/goose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAA2C,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAY,SAAQ,mBAAmB;IAClD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA4B;IAC1D,SAAS,CAAC,QAAQ,CAAC,UAAU,WAAW;IACxC,SAAS,CAAC,QAAQ,CAAC,WAAW,WAAW;IACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,WAAW;IAEvC,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,kEAAkE;IAClE,OAAO,CAAC,eAAe;cAKJ,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI3D,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIvC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAM5E;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA0B5C,SAAS,CAAC,WAAW,IAAI,MAAM;IAI/B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IA8CrC;;;OAGG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGnD;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAYvD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { DriverTarget } from "@skaile/workspaces/plugin-registry";
2
2
  import { type DriverContextReport, type TokenUsage } from "@skaile/workspaces/types";
3
3
  import type { ModelEntry } from "../models.js";
4
- import { type AgentConfig, AgentDriver, type AgentPromptInput, type BridgeCapabilityTool, type DriverInfo, type SlashCommandInfo } from "../types.js";
4
+ import { type AgentConfig, AgentDriver, type AgentPromptInput, type BridgeCapabilityTool, type DriverInfo, type ReconfigureOutcome, type ReconfigurePatch, type SlashCommandInfo } from "../types.js";
5
5
  /**
6
6
  * Build the explicit env allowlist forwarded to the omp child process.
7
7
  *
@@ -225,44 +225,33 @@ export declare class OmpDriver extends AgentDriver {
225
225
  getSlashCommands(): SlashCommandInfo[];
226
226
  getModel(): string | undefined;
227
227
  /**
228
- * What the running omp process was last told, by config snapshot: `model`,
229
- * `thinking` and `effort` are the config values those settings came from (also
230
- * the rollback targets when omp rejects a change), `level` the omp thinking
231
- * level sent. Set at spawn, updated on each successful `set_*`.
228
+ * Owns the desired config, drift and ordering of live reconfigures. Its
229
+ * snapshot is what the running omp process was last told: the config values
230
+ * `model`, `modelRef`, `thinking` and `effort` came from (the rollback targets
231
+ * when omp refuses a change) and the omp thinking `level` sent. Set at spawn,
232
+ * updated on each successful `set_*`.
232
233
  */
233
- private ompApplied;
234
- /** Serialises live reconfigure RPCs so concurrent patches never interleave. */
235
- private reconfigureChain;
234
+ private readonly reconfig;
236
235
  /**
237
- * Apply `model` / `thinking` / `effort` to this driver and, when the process
238
- * is up and idle, to the running omp session (`set_model` /
239
- * `set_thinking_level`). The base contract is synchronous and void, so the
240
- * RPCs are fire-and-forget: a rejected change is surfaced as an `error`
241
- * agent event and the config rolls back, keeping {@link getModel} honest.
242
- *
243
- * A patch that arrives mid-turn or before `ready` is not lost: config is the
244
- * source of truth, flushed before the next `prompt()` and read by the next
245
- * spawn. A model `set_model` cannot express live (no `provider/` prefix) is
246
- * rejected the same way as one omp refuses: an `error` event and a rollback,
247
- * since the running process cannot switch to it. In registry mode the patch
248
- * also replaces `modelRef`, so a respawn (crash, `resetSession()`) starts the
249
- * reconfigured model; models.yml already lists every enabled provider.
250
- */
251
- reconfigure(patch: Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>): void;
252
- private syncReconfigure;
253
- /** Push config drift to the running process. Never rejects. */
254
- private applyReconfigure;
255
- /**
256
- * Restore the model the running process holds after a failed live switch —
257
- * unless a newer patch already replaced `model` (it will be applied next).
236
+ * Apply `model` / `thinking` / `effort`: the {@link ReconfigureLedger} writes
237
+ * the desired config and, when the process is up and idle, pushes it through
238
+ * {@link applyLive} (`set_model` / `set_thinking_level`), answering from omp's
239
+ * reply. A patch that arrives mid-turn or before `ready` is not lost: config is
240
+ * the source of truth, flushed before the next `prompt()` and read by the next
241
+ * spawn. A refusal (omp's, or a model `set_model` cannot express live: no
242
+ * `provider/` prefix) rolls the config back and answers `rejected`. In registry
243
+ * mode the patch also replaces `modelRef`, so a respawn (crash, `resetSession()`)
244
+ * starts the reconfigured model; models.yml already lists every enabled provider.
258
245
  */
259
- private rollbackModel;
260
- /** Push thinking/effort drift to the running process. Never rejects. */
261
- private applyThinking;
246
+ reconfigure(patch: ReconfigurePatch): Promise<ReconfigureOutcome>;
247
+ /** Push drifted model / thinking settings to the running process. Never rejects. */
248
+ private applyLive;
262
249
  /**
263
- * Send one live-reconfigure request. A failed `response` is already emitted
264
- * as an `error` event by {@link handleEvent}; a transport failure (timeout,
265
- * process gone) is emitted here. Returns whether omp accepted it.
250
+ * Send one live-reconfigure request. A failed `response` is emitted as an
251
+ * `error` event by {@link handleEvent}, and a transport failure (timeout,
252
+ * process gone) here, unless `late`: a refusal of a patch already answered
253
+ * `ok` reaches the host as `reconfigure_rejected`, so it gets no `error`
254
+ * event as well. Returns `null` when omp accepted it, else why not.
266
255
  */
267
256
  private sendReconfigure;
268
257
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"omp.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/omp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"omp.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/omp.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { DriverTarget } from "@skaile/workspaces/plugin-registry";
2
2
  import type { Logger } from "@skaile/workspaces/types";
3
3
  import type { ModelEntry } from "../models.js";
4
- import type { AgentConfig, DriverInfo } from "../types.js";
4
+ import type { AgentConfig, DriverInfo, ReconfigureApplied } from "../types.js";
5
5
  import { SubprocessCliDriver } from "./_subprocess-cli.js";
6
6
  /**
7
7
  * Agent driver for **OpenCode** (`opencode`), the model-agnostic open-source
@@ -36,7 +36,7 @@ export declare class OpenCodeDriver extends SubprocessCliDriver {
36
36
  private providers?;
37
37
  /** This session's AI providers, resolved once from the config. */
38
38
  private providerSession;
39
- reconfigure(patch: Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>): void;
39
+ protected onReconfigured(applied: ReconfigureApplied): void;
40
40
  getModel(): string | undefined;
41
41
  protected buildArgs(message: string, resumeId: string | undefined): string[];
42
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,0BAA0B,CAAC;AAGnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAe,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAmDxE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA+B;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,cAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,cAAc;IAC5C,SAAS,CAAC,QAAQ,CAAC,SAAS,cAAc;IAE1C,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,kEAAkE;IAClE,OAAO,CAAC,eAAe;IAKd,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI;IAKrF,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIvC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAS5E;;;;;;;;;;OAUG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiB5C,SAAS,CAAC,WAAW,IAAI,MAAM;IAIhB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAM;IACtB,2DAA2D;IAC3D,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAAqB;IAErC;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAkCzC;;;;OAIG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGnD;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,WAAW,CAY1D,CAAC"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,0BAA0B,CAAC;AAGnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY/C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAe,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAmDxE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAA+B;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,cAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,cAAc;IAC5C,SAAS,CAAC,QAAQ,CAAC,SAAS,cAAc;IAE1C,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,kEAAkE;IAClE,OAAO,CAAC,eAAe;cAKJ,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI3D,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIvC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAS5E;;;;;;;;;;OAUG;IACH,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiB5C,SAAS,CAAC,WAAW,IAAI,MAAM;IAIhB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAM;IACtB,2DAA2D;IAC3D,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAAqB;IAErC;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAkCzC;;;;OAIG;IACY,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGnD;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,WAAW,CAY1D,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Recovery policy for a failed turn: one decision per failure.
3
+ *
4
+ * A harness driver that can recover from a failed turn (the claude-sdk driver,
5
+ * and the managed codex driver's 401 refresh gate) observes a failure, asks
6
+ * {@link decide} once what to do, records the answer on the turn, and acts on
7
+ * that record. The policy is pure: it picks at most one recovery *attempt* or
8
+ * says to *fail*, and it owns the per-turn budgets. The recovery actions
9
+ * themselves (drop the query, retract text, scrub a transcript, replay the
10
+ * prompt, refresh a credential) stay in the driver.
11
+ *
12
+ * Rules:
13
+ * - One attempt per kind per turn. Budgets are independent per kind, so a
14
+ * stale-resume retry never uses up the auth budget (the fresh session it
15
+ * starts can still meet an expired credential).
16
+ * - Auth refresh and limit failover exclude each other: an auth failure with
17
+ * no `onAuthError` callback falls through to limit failover.
18
+ * - Limit failover needs a limit rejection seen on *this* attempt.
19
+ * - A poisoned-transcript scrub needs a resumable session id.
20
+ *
21
+ * Internal module: not exported from `bridge/src/index.ts`.
22
+ */
23
+ /** The recovery attempts a failed turn can take. */
24
+ export type RecoveryKind = "stale_resume" | "poison_scrub" | "auth_refresh" | "limit_failover" | "query_ended_replay";
25
+ /**
26
+ * What the driver saw fail. Facts only — the policy derives the meaning.
27
+ */
28
+ export interface FailureObservation {
29
+ /** The failure's message text (thrown error, or the result's joined `errors[]`). */
30
+ message: string;
31
+ /** The failure was classified as an auth failure (a 401-shaped `AuthError`). */
32
+ authError: boolean;
33
+ /** An upstream usage-limit rejection was seen on THIS attempt (not an earlier one). */
34
+ limitRejected: boolean;
35
+ /** The turn was never dispatched: the serving query ended before it ran. */
36
+ queryEnded: boolean;
37
+ }
38
+ /** Which host capabilities exist for this failure. */
39
+ export interface RecoveryWiring {
40
+ /** The host wired an `onAuthError` credential-refresh callback. */
41
+ onAuthError: boolean;
42
+ /** The host wired an `onLimitBlocked` seat-failover callback. */
43
+ onLimitBlocked: boolean;
44
+ /** A session id exists that a transcript scrub could repair and resume. */
45
+ resumableSessionId: boolean;
46
+ }
47
+ /** One-shot budgets for a single logical turn; `true` = that kind has been spent. */
48
+ export type RecoveryBudget = Readonly<Record<RecoveryKind, boolean>>;
49
+ /** The policy's answer: take one recovery attempt, or fail the turn. */
50
+ export type RecoveryDecision = {
51
+ attempt: RecoveryKind;
52
+ } | {
53
+ fail: true;
54
+ };
55
+ /** The "no recovery" answer. */
56
+ export declare const FAIL: RecoveryDecision;
57
+ /** A pristine budget for the first attempt of a turn (nothing spent yet). */
58
+ export declare function freshBudget(): RecoveryBudget;
59
+ /** The budget after `kind` has been spent; the input is not modified. */
60
+ export declare function spend(budget: RecoveryBudget, kind: RecoveryKind): RecoveryBudget;
61
+ /** Whether `kind` has already been spent this turn (regardless of wiring). */
62
+ export declare function isSpent(budget: RecoveryBudget, kind: RecoveryKind): boolean;
63
+ /**
64
+ * Whether no recovery has been spent yet — the turn is on its first attempt.
65
+ * Derived from the budget, so a new {@link RecoveryKind} is covered by default.
66
+ */
67
+ export declare function isFirstAttempt(budget: RecoveryBudget): boolean;
68
+ /**
69
+ * Whether `kind` could still run this turn: unspent and with the host
70
+ * capability it needs. For checks that run before any failure is classified
71
+ * (e.g. hiding an auth-error render while a self-heal can still follow).
72
+ */
73
+ export declare function isAvailable(budget: RecoveryBudget, kind: RecoveryKind, wiring: RecoveryWiring): boolean;
74
+ /**
75
+ * Decide what to do about one failure. Call once per failure, where it is
76
+ * classified, and act on the recorded answer.
77
+ */
78
+ export declare function decide(observation: FailureObservation, budget: RecoveryBudget, wiring: RecoveryWiring): RecoveryDecision;
79
+ //# sourceMappingURL=recovery-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-policy.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/recovery-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,oDAAoD;AACpD,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,aAAa,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,cAAc,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAErE,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAE1E,gCAAgC;AAChC,eAAO,MAAM,IAAI,EAAE,gBAAiC,CAAC;AAgBrD,6EAA6E;AAC7E,wBAAgB,WAAW,IAAI,cAAc,CAQ5C;AAED,yEAAyE;AACzE,wBAAgB,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,CAEhF;AAED,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAE3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,cAAc,GACrB,OAAO,CAaT;AAED;;;GAGG;AACH,wBAAgB,MAAM,CACpB,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GACrB,gBAAgB,CA0BlB"}
@@ -12,6 +12,7 @@ export * from "./normalizer.js";
12
12
  export * from "./provider-catalog.js";
13
13
  export * from "./provider-materialize/credential-env.js";
14
14
  export * from "./provider-registry-derive.js";
15
+ export * from "./reconfigure-ledger.js";
15
16
  export * from "./reconfigure-model-ref.js";
16
17
  export * from "./registry.js";
17
18
  export { probeResumeTranscript, type ResumeProbeOutcome, resolveClaudeConfigDir, } from "./drivers/resume-probe.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../bridge/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,KAAK,yBAAyB,EAC9B,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3F,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AAItC,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../bridge/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,KAAK,yBAAyB,EAC9B,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3F,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AAItC,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,117 @@
1
+ import type { Logger } from "@skaile/workspaces/types";
2
+ import type { AgentConfig, ReconfigureApplied, ReconfigureOutcome, ReconfigurePatch, ReconfigureRollback } from "./types.js";
3
+ /** The config fields a live reconfigure reads and writes (the driver's own config object). */
4
+ export type ReconfigureConfig = Pick<AgentConfig, "model" | "modelRef" | "thinking" | "effort" | "registry" | "roles">;
5
+ /** What the running process holds: the settings it spawned with or was last switched to. */
6
+ export interface ReconfigureSnapshot {
7
+ model?: string;
8
+ modelRef?: string;
9
+ thinking?: AgentConfig["thinking"];
10
+ effort?: AgentConfig["effort"];
11
+ }
12
+ /**
13
+ * What an {@link ReconfigureLedgerOptions.applyLive} hook answers:
14
+ *
15
+ * - `"applied"`: the process now runs the delta.
16
+ * - `"respawn"`: the process cannot take it live; the driver replaces it before
17
+ * the next turn and the new process reads the desired config.
18
+ * - `{ rejected }`: the process refuses it; the ledger rolls the config back to
19
+ * the snapshot.
20
+ */
21
+ export type ReconfigureApplyResult = "applied" | "respawn" | {
22
+ rejected: string;
23
+ };
24
+ /**
25
+ * What an {@link ReconfigureLedgerOptions.applyLive} hook is told about a push.
26
+ * `late` is true when the whole delta was answered `ok` earlier (it landed
27
+ * mid-turn): a refusal then reaches the host only through
28
+ * {@link ReconfigureLedgerOptions.onLateRejection}, so the hook must not also
29
+ * report it on another channel (an `error` event).
30
+ */
31
+ export interface ReconfigurePushContext {
32
+ late: boolean;
33
+ }
34
+ export interface ReconfigureLedgerOptions<S extends ReconfigureSnapshot> {
35
+ /**
36
+ * The desired config. A getter, because a driver may replace its config object;
37
+ * the ledger writes accepted patches into whatever it returns.
38
+ */
39
+ config: () => ReconfigureConfig;
40
+ /**
41
+ * Push a delta (the fields whose desired value differs from the snapshot) into
42
+ * the running process. Called with the process up and idle, or at a turn
43
+ * boundary through {@link ReconfigureLedger.flushBeforeTurn}. The hook receives
44
+ * the live snapshot and may refine it (a driver that keeps extra fields on `S`
45
+ * updates them here); on `"applied"` the ledger copies the delta into it.
46
+ * A hook that throws counts as a rejection. Its `context.late` says whether a
47
+ * refusal is reported elsewhere (see {@link ReconfigurePushContext}). Absent: the process reads the
48
+ * desired config at its next spawn and there is nothing to push.
49
+ */
50
+ applyLive?: (delta: ReconfigureApplied, snapshot: S, context: ReconfigurePushContext) => ReconfigureApplyResult | Promise<ReconfigureApplyResult>;
51
+ /** Whether the process is up and can take a push. Default: true. */
52
+ isLive?: () => boolean;
53
+ /** Whether no turn is in flight. Default: true. */
54
+ isIdle?: () => boolean;
55
+ /**
56
+ * Called synchronously once a patch is written to the desired config, before
57
+ * any live push. For drivers that must refresh a derived cache on a change.
58
+ */
59
+ onDesired?: (applied: ReconfigureApplied) => void;
60
+ /**
61
+ * A refusal that arrives after the patch was already answered `ok` (it landed
62
+ * mid-turn and flushed at the turn boundary). The config is already rolled back
63
+ * when this runs, and an idle-time refusal never calls it (the capability call
64
+ * answers that one). A driver emits the driver event `reconfigure-rollback`.
65
+ */
66
+ onLateRejection?: (rollback: ReconfigureRollback) => void;
67
+ log?: Pick<Logger, "warn" | "info">;
68
+ }
69
+ /**
70
+ * Serialised live reconfigure for one driver.
71
+ *
72
+ * `ok: true` means effective from the next turn: the next turn runs on the new
73
+ * settings by live switch, query recycle or respawn. A patch that lands while a
74
+ * turn is in flight (or before the process is ready) stays desired, is answered
75
+ * `ok`, and is pushed by {@link flushBeforeTurn}.
76
+ *
77
+ * @category Bridge
78
+ */
79
+ export declare class ReconfigureLedger<S extends ReconfigureSnapshot = ReconfigureSnapshot> {
80
+ private readonly options;
81
+ private snapshot;
82
+ private respawn;
83
+ private tail;
84
+ constructor(options: ReconfigureLedgerOptions<S>);
85
+ /**
86
+ * Record what a freshly spawned process runs. Call at every spawn: the
87
+ * desired config is what that spawn read, so drift is computed against this.
88
+ * `null` forgets the process (nothing left to push to).
89
+ */
90
+ setSnapshot(snapshot: S | null): void;
91
+ /**
92
+ * The process cannot take the desired config live and the driver must replace
93
+ * it before the next turn. Cleared by the next {@link setSnapshot}.
94
+ */
95
+ get needsRespawn(): boolean;
96
+ /**
97
+ * Apply a patch: scope the model to the session's provider entry, write it to
98
+ * the desired config, and push it when the process is up and idle. Patches run
99
+ * one at a time in arrival order.
100
+ */
101
+ reconfigure(patch: ReconfigurePatch): Promise<ReconfigureOutcome>;
102
+ /**
103
+ * Push any drift to the process at a turn boundary. Await it before the turn
104
+ * is sent, so the turn runs on the desired settings. Never rejects.
105
+ */
106
+ flushBeforeTurn(): Promise<void>;
107
+ private enqueue;
108
+ private runPatch;
109
+ /**
110
+ * Push the drift to the process. Returns the refusal message, or `null` when
111
+ * the process took it (or will, by respawn). On a refusal the config rolls back
112
+ * to the snapshot; fields outside `own` were answered `ok` earlier, so they are
113
+ * reported through `onLateRejection`.
114
+ */
115
+ private flush;
116
+ }
117
+ //# sourceMappingURL=reconfigure-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconfigure-ledger.d.ts","sourceRoot":"","sources":["../../../bridge/src/reconfigure-ledger.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,WAAW,EACX,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CACpE,CAAC;AAEF,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;CACf;AAID,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,mBAAmB;IACrE;;;OAGG;IACH,MAAM,EAAE,MAAM,iBAAiB,CAAC;IAChC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,CACV,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,sBAAsB,KAC5B,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC9D,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;IACvB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClD;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC1D,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAKpE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAiC;gBAEhB,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAEjE;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAKrC;;;OAGG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIjE;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC,OAAO,CAAC,OAAO;YAcD,QAAQ;IA8CtB;;;;;OAKG;YACW,KAAK;CAqDpB"}
@@ -788,6 +788,52 @@ export type AgentEvent = {
788
788
  reason: "signature_mismatch" | "model_mismatch" | "jsonl_lost" | "jsonl_poisoned" | "native_state_unavailable";
789
789
  [k: string]: any;
790
790
  };
791
+ /** The settings a live reconfigure may change. */
792
+ export type ReconfigurePatch = Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>;
793
+ /**
794
+ * What a driver now holds for the fields of an accepted reconfigure. `modelRef`
795
+ * is the registry selector the model was scoped to; it is absent when the
796
+ * session has none. A host remembers exactly this, never the raw patch.
797
+ */
798
+ export interface ReconfigureApplied {
799
+ model?: string;
800
+ modelRef?: string;
801
+ thinking?: AgentConfig["thinking"];
802
+ effort?: AgentConfig["effort"];
803
+ }
804
+ /**
805
+ * Result of `AgentDriver.reconfigure()`. `ok: true` means effective from the
806
+ * next turn (live switch, query recycle or respawn); a driver that cannot
807
+ * promise that answers `ok: false` instead.
808
+ *
809
+ * - `not_supported`: the driver cannot change settings live.
810
+ * - `model_not_on_provider`: the session's AI provider entry does not list the
811
+ * model (`providerId` names the entry).
812
+ * - `rejected`: the running process refused the change; the driver config is
813
+ * unchanged.
814
+ *
815
+ * @category Bridge
816
+ */
817
+ export type ReconfigureOutcome = {
818
+ ok: true;
819
+ applied: ReconfigureApplied;
820
+ } | {
821
+ ok: false;
822
+ code: "not_supported" | "model_not_on_provider" | "rejected";
823
+ message: string;
824
+ providerId?: string;
825
+ };
826
+ /**
827
+ * A reconfigure the driver answered `ok` (it landed mid-turn) and then refused
828
+ * at the next turn boundary. The driver already rolled its config back;
829
+ * `requested` is what was asked, `restored` what it holds again. Emitted as the
830
+ * driver event `'reconfigure-rollback'`.
831
+ */
832
+ export interface ReconfigureRollback {
833
+ message: string;
834
+ requested: ReconfigureApplied;
835
+ restored: ReconfigureApplied;
836
+ }
791
837
  /**
792
838
  * Abstract base class for agent drivers.
793
839
  *
@@ -798,7 +844,9 @@ export type AgentEvent = {
798
844
  * Subclasses must implement `start`, `prompt`, `abort`, `kill`, and `isRunning`.
799
845
  * Implementations should never emit an event name other than `'agent-event'` as
800
846
  * the public streaming channel — internal events (`'ready'`, `'exit'`, etc.) are
801
- * driver-private.
847
+ * driver-private. The one other public event is `'reconfigure-rollback'` (a
848
+ * {@link ReconfigureRollback}): a live reconfigure the driver had accepted and
849
+ * then refused at the turn boundary, already rolled back in the driver.
802
850
  *
803
851
  * @example
804
852
  * ```ts
@@ -889,13 +937,16 @@ export declare abstract class AgentDriver extends EventEmitter {
889
937
  */
890
938
  supersedePendingQuestion(): void;
891
939
  /**
892
- * Live-update driver configuration. The new values take effect on the next
893
- * prompt() call. Only model/thinking/effort are reconfigurable mid-session.
940
+ * Live-update driver configuration. `ok: true` means effective from the next
941
+ * turn: the next turn runs on the new settings, by live switch, query recycle
942
+ * or respawn, and the host needs no restart. A turn in progress finishes on
943
+ * the old settings. Only model/thinking/effort are reconfigurable mid-session.
894
944
  *
895
- * Subclasses that store config locally should override this to apply the
896
- * patch to their own config field. The base implementation is a no-op.
945
+ * Drivers that can honour that promise build a `ReconfigureLedger` and
946
+ * delegate to it; it owns the model scope rule, ordering, drift and rollback.
947
+ * The base implementation answers `not_supported`.
897
948
  */
898
- reconfigure(patch: Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>): void;
949
+ reconfigure(patch: ReconfigurePatch): Promise<ReconfigureOutcome>;
899
950
  /**
900
951
  * Returns the model identifier currently configured on this driver.
901
952
  * Subclasses that store config locally should override this.