@makaio/framework 1.0.0-dev-1785407933303 → 1.0.0-dev-1786014320559

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 (511) hide show
  1. package/dist/.makaio-build.json +4 -3
  2. package/dist/{account-identity-DFx8pwKL.mjs → account-identity-DGpXd8h_.mjs} +1 -1
  3. package/dist/adapter-BkdJaOOG.mjs +1 -0
  4. package/dist/adapter-subsystem/index.d.mts +138 -6
  5. package/dist/adapter-subsystem/index.mjs +1 -1
  6. package/dist/adapters/acp-client/index.d.mts +105 -7
  7. package/dist/adapters/acp-client/index.mjs +2 -2
  8. package/dist/adapters/claude/index.d.mts +24 -24
  9. package/dist/adapters/config/index.d.mts +1 -1
  10. package/dist/adapters/config/index.mjs +1 -1
  11. package/dist/adapters/index.d.mts +379 -812
  12. package/dist/adapters/index.mjs +6 -6
  13. package/dist/adapters/node.d.mts +1 -1
  14. package/dist/adapters/node.mjs +1 -1
  15. package/dist/adapters/stream-session/index.d.mts +28 -7
  16. package/dist/adapters/stream-session/index.mjs +1 -1
  17. package/dist/agent-namespace-D51PODFf.mjs +1 -0
  18. package/dist/{ajv-DD3SIL2i.mjs → ajv-L5fKxaia.mjs} +2 -2
  19. package/dist/artifact-k3veR4Yx.mjs +1 -0
  20. package/dist/attach-error-BSlc7JfL.mjs +1 -0
  21. package/dist/{auth-DGEdiHF6.mjs → auth-A1K_7q-8.mjs} +1 -1
  22. package/dist/authority-state-bootstrap-YwtEImIB.mjs +1 -0
  23. package/dist/automation-trigger-CuSdQwir.mjs +1 -0
  24. package/dist/await-trigger-ph1S0zVI.mjs +1 -0
  25. package/dist/bus/index.d.mts +17 -3
  26. package/dist/bus/index.mjs +1 -1
  27. package/dist/bus-BIj0_aG6.mjs +1 -0
  28. package/dist/bus-CqgrphNE.mjs +2 -0
  29. package/dist/{canonical-model-BAytQ4NV.mjs → canonical-model-DJASlL4m.mjs} +1 -1
  30. package/dist/{capabilities-BQEp34ir.mjs → capabilities-Bqckjh7G.mjs} +1 -1
  31. package/dist/{client-DbS847wW.mjs → client-BL5__WT0.mjs} +1 -1
  32. package/dist/clients/index.d.mts +7 -7
  33. package/dist/clients/index.mjs +1 -1
  34. package/dist/clients/managed-install.d.mts +1 -1
  35. package/dist/clients/managed-install.mjs +1 -1
  36. package/dist/{compression-74fFeBha.mjs → compression-BbttSqm8.mjs} +1 -1
  37. package/dist/{config-namespace-TVX-hG4I.mjs → config-namespace-CyzeLWSg.mjs} +1 -1
  38. package/dist/{context-resolution-DNRkyQto.d.mts → context-resolution-CW0ya4QO.d.mts} +14 -14
  39. package/dist/contracts/adapter/index.d.mts +3 -3
  40. package/dist/contracts/adapter/index.mjs +1 -1
  41. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  42. package/dist/contracts/artifact/index.d.mts +3 -3
  43. package/dist/contracts/artifact/index.mjs +1 -1
  44. package/dist/contracts/auth/index.d.mts +2 -2
  45. package/dist/contracts/auth/index.mjs +1 -1
  46. package/dist/contracts/automation-trigger/index.d.mts +4 -0
  47. package/dist/contracts/automation-trigger/index.mjs +1 -0
  48. package/dist/contracts/canonical-model/index.d.mts +1 -1
  49. package/dist/contracts/canonical-model/index.mjs +1 -1
  50. package/dist/contracts/capabilities/index.d.mts +1 -1
  51. package/dist/contracts/capabilities/index.mjs +1 -1
  52. package/dist/contracts/client/index.d.mts +2 -2
  53. package/dist/contracts/client/index.mjs +1 -1
  54. package/dist/contracts/common/index.d.mts +1 -1
  55. package/dist/contracts/config/index.d.mts +1 -1
  56. package/dist/contracts/config/index.mjs +1 -1
  57. package/dist/contracts/extension/index.d.mts +6 -5
  58. package/dist/contracts/extension/index.mjs +1 -1
  59. package/dist/contracts/facet/index.d.mts +1 -1
  60. package/dist/contracts/facet/index.mjs +1 -1
  61. package/dist/contracts/harness/index.d.mts +1 -1
  62. package/dist/contracts/harness/index.mjs +1 -1
  63. package/dist/contracts/host/index.d.mts +1 -1
  64. package/dist/contracts/host/index.mjs +1 -1
  65. package/dist/contracts/index.d.mts +161 -100
  66. package/dist/contracts/index.mjs +1 -1
  67. package/dist/contracts/materialization/index.d.mts +3 -3
  68. package/dist/contracts/materialization/index.mjs +1 -1
  69. package/dist/contracts/model-registry/index.d.mts +1 -1
  70. package/dist/contracts/model-registry/index.mjs +1 -1
  71. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  72. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  73. package/dist/contracts/platform/index.d.mts +1 -1
  74. package/dist/contracts/platform/index.mjs +1 -1
  75. package/dist/contracts/provider/index.d.mts +2 -2
  76. package/dist/contracts/provider/index.mjs +1 -1
  77. package/dist/contracts/reaction/index.d.mts +2 -0
  78. package/dist/contracts/reaction/index.mjs +1 -0
  79. package/dist/contracts/session/index.d.mts +3 -3
  80. package/dist/contracts/session/index.mjs +1 -1
  81. package/dist/contracts/shared/index.d.mts +3 -3
  82. package/dist/contracts/shared/index.mjs +1 -1
  83. package/dist/contracts/skill/index.d.mts +1 -1
  84. package/dist/contracts/skill/index.mjs +1 -1
  85. package/dist/contracts/telemetry/index.d.mts +1 -1
  86. package/dist/contracts/telemetry/index.mjs +1 -1
  87. package/dist/contracts/timeout/index.d.mts +1 -1
  88. package/dist/contracts/timeout/index.mjs +1 -1
  89. package/dist/contracts/toast/index.mjs +1 -1
  90. package/dist/contracts/variant/index.d.mts +1 -1
  91. package/dist/contracts/variant/index.mjs +1 -1
  92. package/dist/contracts/worker-node/index.d.mts +1 -1
  93. package/dist/contracts/worker-node/index.mjs +1 -1
  94. package/dist/contracts/workflow/index.d.mts +3 -3
  95. package/dist/contracts/workflow/index.mjs +1 -1
  96. package/dist/contribution-BH-wKsWI.d.mts +35 -0
  97. package/dist/core/index.d.mts +60 -1
  98. package/dist/core/index.mjs +1 -1
  99. package/dist/definition-BYgHlmMw.d.mts +375 -0
  100. package/dist/{definition-CJfiv8xm.mjs → definition-CDg-Jq1T.mjs} +1 -1
  101. package/dist/{detached-extension-handle-Ddfquy5_.mjs → detached-extension-handle-DKd17UB6.mjs} +1 -1
  102. package/dist/drizzle/0031_adapter_session_currency.sql +66 -0
  103. package/dist/drizzle/0032_native_session_ownership.sql +77 -0
  104. package/dist/drizzle/0033_m_msf3hu2s.sql +1 -0
  105. package/dist/drizzle/meta/_journal.json +21 -0
  106. package/dist/{execution-attempt-repository-DWXKY41_.d.mts → execution-attempt-repository-DFyAnchJ.d.mts} +1 -1
  107. package/dist/{execution-target-Cf645pDj.mjs → execution-target-ByNwZh5-.mjs} +1 -1
  108. package/dist/extension-DMdmj9gi.mjs +1 -0
  109. package/dist/extension-DUmibvMk.mjs +1 -0
  110. package/dist/extension-context-CqfddWXs.d.mts +295 -0
  111. package/dist/{extension-discovery-CQRdbVQ6.d.mts → extension-discovery-Fhps4icD.d.mts} +2 -0
  112. package/dist/{extension-namespace-Yu41YepM.mjs → extension-namespace-B554RmCp.mjs} +1 -1
  113. package/dist/extension-package-provenance-Dh_-Z-tE.mjs +1 -0
  114. package/dist/{filesystem-service-DlP2HfDg.mjs → filesystem-service-FAtd9gWH.mjs} +1 -1
  115. package/dist/framework-packages-D_2hBZ-p.mjs +1 -0
  116. package/dist/git/index.mjs +1 -1
  117. package/dist/{globby-1yCVCk8s.mjs → globby-BBLuT_vy.mjs} +1 -1
  118. package/dist/handlers-2yd00VEq.mjs +57 -0
  119. package/dist/{harness-DpwsFsE7.mjs → harness-KxbWGL4I.mjs} +1 -1
  120. package/dist/{hook-responses-Dh1PWXqJ.d.mts → hook-responses-CQZIv3L3.d.mts} +2 -293
  121. package/dist/{index-HsTxm-R3.d.mts → index-3eUIRy7T.d.mts} +250 -20
  122. package/dist/{index-brqfk9JQ.d.mts → index-B4xdTT3c.d.mts} +6 -6
  123. package/dist/{index-CmFbzuiW.d.mts → index-B5op6AsV.d.mts} +72 -62
  124. package/dist/{index-CMgLxw14.d.mts → index-B6GOuxVy2.d.mts} +18 -18
  125. package/dist/index-BFhJe-Sb.d.mts +302 -0
  126. package/dist/{index-fmR2JNgJ.d.mts → index-BQprJNA_.d.mts} +4 -4
  127. package/dist/{index-EjsSBQXy2.d.mts → index-BSQ30wYP.d.mts} +1 -1
  128. package/dist/{index-Hk9mpC3o.d.mts → index-BSbGB23v.d.mts} +8 -8
  129. package/dist/{index-BbF2gRwd.d.mts → index-BiAYXjgM.d.mts} +41 -41
  130. package/dist/{index-sFsAqeK1.d.mts → index-ByZi9bml.d.mts} +7616 -4158
  131. package/dist/{index-CMJZ2Z8m.d.mts → index-C7HcDpHE.d.mts} +4 -0
  132. package/dist/{index-BskPjMet.d.mts → index-CB4aIUoF.d.mts} +16 -16
  133. package/dist/{index-B-xrJCwa.d.mts → index-CDusRXio.d.mts} +136 -137
  134. package/dist/{index-CUvNKYkV.d.mts → index-CSN_0sCo.d.mts} +19 -2
  135. package/dist/{index-BAXkicoQ.d.mts → index-C__EQfKa.d.mts} +1 -1
  136. package/dist/{index-BfLulUMy2.d.mts → index-CqQYgsbB.d.mts} +1659 -217
  137. package/dist/{index-DF9ffhVe.d.mts → index-CwDiyJkJ.d.mts} +327 -756
  138. package/dist/{index-GHASUiem.d.mts → index-DBadVauL.d.mts} +1 -1
  139. package/dist/{index-gUhidukN.d.mts → index-DI7-tIL3.d.mts} +299 -2
  140. package/dist/index-DP3o_13U.d.mts +165 -0
  141. package/dist/{index-DSBT83c0.d.mts → index-DcYAAJ0V.d.mts} +24 -3
  142. package/dist/{index-DqkjRTr7.d.mts → index-Dch_AxUg.d.mts} +77 -39
  143. package/dist/{index-XZyMxxnU.d.mts → index-DcqSUsX6.d.mts} +39 -83
  144. package/dist/{index-B0Kf_OWi.d.mts → index-DgOfgjx3.d.mts} +1 -1
  145. package/dist/{index-Ds5_rDEJ.d.mts → index-DwLRZscE.d.mts} +1 -12
  146. package/dist/{index-DkiTJM5p.d.mts → index-DxYDRoDE2.d.mts} +17 -3
  147. package/dist/{index-CRvpVIqA.d.mts → index-OsbtyMgx2.d.mts} +10 -1
  148. package/dist/{index-BaZeoZoS.d.mts → index-bIe_57cL.d.mts} +1 -1
  149. package/dist/{json-value-Brslhqbm.d.mts → json-value-C1RGgS0a.d.mts} +16 -1
  150. package/dist/{json-value-DmU8ibo_.mjs → json-value-D57aJhVn.mjs} +1 -1
  151. package/dist/kernel/cli/index.d.mts +2 -2
  152. package/dist/kernel/cli/index.mjs +1 -1
  153. package/dist/kernel/cli/register.d.mts +1 -1
  154. package/dist/kernel/cli/register.mjs +1 -1
  155. package/dist/kernel/cli/schemas.mjs +1 -1
  156. package/dist/kernel/extension/index.d.mts +1 -1
  157. package/dist/kernel/extension/index.mjs +1 -1
  158. package/dist/kernel/index.d.mts +9 -9
  159. package/dist/kernel/index.mjs +1 -1
  160. package/dist/kernel/namespace/index.d.mts +2 -2
  161. package/dist/kernel/namespace/index.mjs +1 -1
  162. package/dist/kernel/observability/index.d.mts +1 -1
  163. package/dist/kernel/observability/index.mjs +1 -1
  164. package/dist/kernel/providers/index.d.mts +1 -1
  165. package/dist/kernel/providers/index.mjs +1 -1
  166. package/dist/kernel/window/index.d.mts +1 -1
  167. package/dist/kernel/window/index.mjs +1 -1
  168. package/dist/{lib-C7-s68uf.mjs → lib-B_rJ6r0T.mjs} +1 -1
  169. package/dist/{lib-DErgth_E.mjs → lib-CnOAtohU.mjs} +1 -1
  170. package/dist/load-extensions-CW9uzNR5.mjs +1 -0
  171. package/dist/{load-extensions-BxsDB87B.d.mts → load-extensions-DUpaMQ7G.d.mts} +17 -13
  172. package/dist/{materialization-Jd198K3y.mjs → materialization-CcpCDhXh.mjs} +1 -1
  173. package/dist/mcp-http-server/index.mjs +1 -1
  174. package/dist/model-ZH3L1dPW.mjs +1 -0
  175. package/dist/{namespace-BqxtpNAn.mjs → namespace-B7bntOB8.mjs} +1 -1
  176. package/dist/{namespace-CWUDFGOy.mjs → namespace-BFqkUTJp.mjs} +1 -1
  177. package/dist/{namespace-D-WH2uYV2.d.mts → namespace-CAy4P5mW.d.mts} +8 -8
  178. package/dist/{namespace-B8uKAzWJ.mjs → namespace-CFjdyNXG.mjs} +1 -1
  179. package/dist/{namespace-DV-Hr9sZ.d.mts → namespace-ChnRTUG4.d.mts} +11 -1
  180. package/dist/namespace-CxrOLeeP.mjs +1 -0
  181. package/dist/{namespace-g_mbIZq_.d.mts → namespace-DSlfFhB1.d.mts} +410 -26
  182. package/dist/{namespace-Dkod-w11.d.mts → namespace-DwZwGXgF.d.mts} +4 -0
  183. package/dist/{namespace-BXvD9t0I.d.mts → namespace-Rge9mMI-.d.mts} +27 -19
  184. package/dist/{native-session-supervisor-DRx0MX-d.mjs → native-session-supervisor-fZYPUk0-.mjs} +1 -1
  185. package/dist/node/bus-server/index.d.mts +1 -1
  186. package/dist/node/bus-server/index.mjs +1 -1
  187. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  188. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  189. package/dist/{orchestrator-shared-BHCv-l2O.d.mts → orchestrator-shared-B-KRW1Z0.d.mts} +1 -0
  190. package/dist/orchestrator-shared-CTCZc6Vl.mjs +1 -0
  191. package/dist/ownership-memory-handler-Bblp93YC.mjs +1 -0
  192. package/dist/{package-DWMxGfzK.d.mts → package-Bf3hyuzs.d.mts} +234 -84
  193. package/dist/package-CBdvjyyZ.mjs +1 -0
  194. package/dist/package-CddkNbZI.mjs +1 -0
  195. package/dist/package-ypz4rKvn.mjs +7 -0
  196. package/dist/package.json +1 -1
  197. package/dist/{profile-BTAI31Nt.mjs → profile-BtznZlq3.mjs} +1 -1
  198. package/dist/{provider-context-Dq53Cgzz.mjs → provider-context-BrLZYnDW.mjs} +1 -1
  199. package/dist/{provider-context-PZIQWcqQ.mjs → provider-context-Dh-VOOYF.mjs} +1 -1
  200. package/dist/reaction-BS0k4eNN.mjs +1 -0
  201. package/dist/{registry-wfF2uTty.mjs → registry-BO_bOoky.mjs} +2 -2
  202. package/dist/{resolved-DZgqql2Z.mjs → resolved-DMByz1_2.mjs} +1 -1
  203. package/dist/rules/index.d.mts +1 -1
  204. package/dist/rules/index.mjs +1 -1
  205. package/dist/rules/schemas.d.mts +1 -1
  206. package/dist/runtime-bun/index.mjs +1 -1
  207. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  208. package/dist/runtime-node/extension-validation.d.mts +1 -1
  209. package/dist/runtime-node/extension-validation.mjs +1 -1
  210. package/dist/runtime-node/index.d.mts +4 -4
  211. package/dist/runtime-node/index.mjs +24 -24
  212. package/dist/runtime-node/makaio-config.d.mts +1 -1
  213. package/dist/runtime-node/makaio-config.mjs +1 -1
  214. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  215. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  216. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  217. package/dist/{schema-Dd-e89MO.mjs → schema-DBG7Jq5_.mjs} +1 -1
  218. package/dist/{schema-DKUb4rkr.d.mts → schema-DKTzriEY.d.mts} +519 -9
  219. package/dist/{schemas-B5eUUi6u.d.mts → schemas-9qeeHGBf.d.mts} +8 -8
  220. package/dist/{schemas-CRB2O5zo.mjs → schemas-BqD8LlQw.mjs} +1 -1
  221. package/dist/{schemas-DaHQzpgm.mjs → schemas-CsjN7cmM.mjs} +1 -1
  222. package/dist/schemas-DSkBOdx_.mjs +1 -0
  223. package/dist/schemas-DplrlAyR.mjs +1 -0
  224. package/dist/{schemas-DuIlOWR3.d.mts → schemas-VbB1FTxx.d.mts} +4 -0
  225. package/dist/scoped-bus-ClwTWqX8.mjs +1 -0
  226. package/dist/{selection-BNwTKEVT.mjs → selection-7Ku8DBnh.mjs} +1 -1
  227. package/dist/services/adapter-runtime/index.d.mts +3 -3
  228. package/dist/services/adapter-runtime/index.mjs +1 -1
  229. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  230. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  231. package/dist/services/adapter-subsystem/index.d.mts +4 -4
  232. package/dist/services/adapter-subsystem/index.mjs +1 -1
  233. package/dist/services/adapter-subsystem/namespace.d.mts +2 -2
  234. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  235. package/dist/services/agent-runtime/index.d.mts +2 -2
  236. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  237. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  238. package/dist/services/automation-trigger/index.d.mts +943 -0
  239. package/dist/services/automation-trigger/index.mjs +1 -0
  240. package/dist/services/capability/index.d.mts +1 -1
  241. package/dist/services/capability/index.mjs +1 -1
  242. package/dist/services/codebase/index.d.mts +2 -2
  243. package/dist/services/codebase/namespace.d.mts +1 -1
  244. package/dist/services/codebase/schemas.d.mts +1 -1
  245. package/dist/services/compression/index.d.mts +2 -2
  246. package/dist/services/compression/namespace.d.mts +1 -1
  247. package/dist/services/compression/schemas.d.mts +1 -1
  248. package/dist/services/context-rules/index.d.mts +4 -4
  249. package/dist/services/context-rules/index.mjs +1 -1
  250. package/dist/services/execution-target/index.d.mts +3 -3
  251. package/dist/services/execution-target/index.mjs +1 -1
  252. package/dist/services/execution-target/namespace.d.mts +1 -1
  253. package/dist/services/execution-target/namespace.mjs +1 -1
  254. package/dist/services/execution-target/schemas.d.mts +1 -1
  255. package/dist/services/execution-target/schemas.mjs +1 -1
  256. package/dist/services/filesystem/index.d.mts +1 -1
  257. package/dist/services/filesystem/index.mjs +1 -1
  258. package/dist/services/filesystem/namespace.d.mts +6 -6
  259. package/dist/services/filesystem/schemas.d.mts +3 -3
  260. package/dist/services/git/namespace.d.mts +2 -2
  261. package/dist/services/git/namespace.mjs +1 -1
  262. package/dist/services/git/schemas.d.mts +1 -1
  263. package/dist/services/git/schemas.mjs +1 -1
  264. package/dist/services/harness/index.d.mts +3 -3
  265. package/dist/services/harness/index.mjs +1 -1
  266. package/dist/services/index.d.mts +449 -83
  267. package/dist/services/index.mjs +1 -1
  268. package/dist/services/log-import/browser.d.mts +2 -2
  269. package/dist/services/log-import/index.d.mts +3 -3
  270. package/dist/services/log-import/log-import.d.mts +1 -1
  271. package/dist/services/log-import/log-import.mjs +1 -1
  272. package/dist/services/log-import/namespace.mjs +1 -1
  273. package/dist/services/log-import/schemas.mjs +1 -1
  274. package/dist/services/materialization/index.d.mts +1 -1
  275. package/dist/services/materialization/index.mjs +1 -1
  276. package/dist/services/model-registry/index.d.mts +1 -1
  277. package/dist/services/model-registry/index.mjs +1 -1
  278. package/dist/services/preferences/index.d.mts +2 -2
  279. package/dist/services/preferences/schemas.d.mts +1 -1
  280. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  281. package/dist/services/provider-context/index.d.mts +1 -1
  282. package/dist/services/provider-context/index.mjs +1 -1
  283. package/dist/services/provider-runtime/index.mjs +1 -1
  284. package/dist/services/session/handlers/index.d.mts +2 -2
  285. package/dist/services/session/handlers/index.mjs +1 -1
  286. package/dist/services/session/index.d.mts +10 -10
  287. package/dist/services/session/index.mjs +1 -1
  288. package/dist/services/session/messages/namespace.d.mts +1 -1
  289. package/dist/services/session/messages/namespace.mjs +1 -1
  290. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  291. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  292. package/dist/services/session/session-events/namespace.d.mts +1 -1
  293. package/dist/services/session/session-events/namespace.mjs +1 -1
  294. package/dist/services/session/storage/namespace.d.mts +1 -1
  295. package/dist/services/session/storage/schema.d.mts +2 -2
  296. package/dist/services/session/storage/schema.mjs +1 -1
  297. package/dist/services/session/testing/index.d.mts +12 -4
  298. package/dist/services/session/testing/index.mjs +36 -4
  299. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  300. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  301. package/dist/services/session/turns/namespace.d.mts +1 -1
  302. package/dist/services/session/turns/namespace.mjs +1 -1
  303. package/dist/services/session-editor/index.d.mts +1 -1
  304. package/dist/services/session-editor/index.mjs +1 -1
  305. package/dist/services/settings/index.d.mts +3 -3
  306. package/dist/services/settings/index.mjs +1 -1
  307. package/dist/services/settings/namespace.d.mts +8 -8
  308. package/dist/services/settings/namespace.mjs +1 -1
  309. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  310. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  311. package/dist/services/settings/storage/index.d.mts +3 -3
  312. package/dist/services/settings/storage/index.mjs +1 -1
  313. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  314. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  315. package/dist/services/subagent/index.d.mts +1 -1
  316. package/dist/services/subagent/index.mjs +1 -1
  317. package/dist/services/subagent-template/index.d.mts +2 -2
  318. package/dist/services/subagent-template/namespace.d.mts +1 -1
  319. package/dist/services/subagent-template/schemas.d.mts +1 -1
  320. package/dist/services/tool-approval/index.d.mts +1 -1
  321. package/dist/services/tool-approval/index.mjs +1 -1
  322. package/dist/services/tools/index.d.mts +1 -1
  323. package/dist/services/tools/index.mjs +1 -1
  324. package/dist/services/tray-menu/index.d.mts +3 -3
  325. package/dist/services/tray-menu/index.mjs +1 -1
  326. package/dist/services/tray-menu/namespace.d.mts +1 -1
  327. package/dist/services/tray-menu/schemas.d.mts +1 -1
  328. package/dist/services/turn/index.d.mts +1 -1
  329. package/dist/services/turn/namespace.d.mts +1 -1
  330. package/dist/services/workflow-transitions/index.d.mts +1 -1
  331. package/dist/services/workflow-transitions/index.mjs +1 -1
  332. package/dist/session-BMy2kRpX.mjs +90 -0
  333. package/dist/session-Cipx34j6.mjs +1 -0
  334. package/dist/{session-lineage-B_JW5LpF.d.mts → session-lineage-B_PVa1XN.d.mts} +1 -1
  335. package/dist/shared-BFVuCDPx.mjs +1 -0
  336. package/dist/{skill-BR6rkfLe.mjs → skill-C1D51nhh.mjs} +1 -1
  337. package/dist/{src-DD0v-nIj.mjs → src-xbmzokNe.mjs} +1 -1
  338. package/dist/storage/drizzle/client.d.mts +1 -1
  339. package/dist/storage/drizzle/client.mjs +1 -1
  340. package/dist/storage/drizzle/index.d.mts +42 -2
  341. package/dist/storage/drizzle/index.mjs +1 -1
  342. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  343. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  344. package/dist/storage/handlers/index.d.mts +1 -1
  345. package/dist/storage/handlers/index.mjs +1 -1
  346. package/dist/tool-approval-service-BVgN9Q1r.mjs +1 -0
  347. package/dist/{tools-PdG9fO1M.mjs → tools-DxwHox1a.mjs} +1 -1
  348. package/dist/{transition-DwqL8W9V.d.mts → transition-BF1nevaC.d.mts} +7 -34
  349. package/dist/{types-DMLDHFR9.d.mts → types-BNjPhj_a.d.mts} +1 -1
  350. package/dist/{types-DR60yv6W.d.mts → types-CijlWGwb.d.mts} +1575 -157
  351. package/dist/types-ClpEaoAm.d.mts +2917 -0
  352. package/dist/ui-hooks/index.d.mts +29 -2
  353. package/dist/ui-hooks/index.mjs +1 -1
  354. package/dist/ui-kernel/index.d.mts +2 -2
  355. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  356. package/dist/ui-views/index.d.mts +1 -1
  357. package/dist/utils/index.d.mts +77 -1
  358. package/dist/utils/index.mjs +2 -2
  359. package/dist/{version-CoCeMxDT.mjs → version-BfNnVAGr.mjs} +1 -1
  360. package/dist/{view-builder-qp51cMWh.d.mts → view-builder-Bc9dx6jF.d.mts} +1 -1
  361. package/dist/{visibility-qhGWmpSJ.mjs → visibility-Dl1o2I01.mjs} +1 -1
  362. package/dist/{worker-node-Bl9_vqYi.mjs → worker-node-BDOYPEpi.mjs} +1 -1
  363. package/dist/{worker-node-DZTuT1DS.mjs → worker-node-DJ41Tr-F.mjs} +1 -1
  364. package/dist/workflow-Hzc5jlnV.mjs +1 -0
  365. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  366. package/dist/workflow-engine/index.d.mts +161 -442
  367. package/dist/workflow-engine/index.mjs +1 -1
  368. package/dist/workflow-engine/package.d.mts +1 -1
  369. package/dist/workflow-engine/package.mjs +1 -1
  370. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  371. package/dist/workflow-engine/testing/index.d.mts +2 -2
  372. package/dist/workflow-engine/testing/index.mjs +1 -1
  373. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  374. package/dist/workflow-engine/testing/sqlite.mjs +27 -27
  375. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  376. package/dist/workflow-engine/workflow-trigger-binding-consumer.d.mts +46 -0
  377. package/dist/workflow-engine/workflow-trigger-binding-consumer.mjs +1 -0
  378. package/dist/{workflow-transitions-DSc45ixc.mjs → workflow-transitions-DM0fN_eP.mjs} +1 -1
  379. package/dist/workflow-worker-DARC7UZl.mjs +1 -0
  380. package/dist/zod-json-schema-BAGAFfCN.mjs +1 -0
  381. package/package.json +29 -1
  382. package/dist/adapter-D5c5LrPN.mjs +0 -1
  383. package/dist/artifact-DGiXqb11.mjs +0 -1
  384. package/dist/attach-error-C3tngg6J.mjs +0 -1
  385. package/dist/authority-state-bootstrap-GPL_tqaT.mjs +0 -1
  386. package/dist/await-trigger-I3lrepb8.mjs +0 -1
  387. package/dist/bus-B6SAjgOC.mjs +0 -2
  388. package/dist/bus-C2l3K74u.mjs +0 -1
  389. package/dist/extension-DCA4pYrY.mjs +0 -1
  390. package/dist/extension-hjOPs10e.mjs +0 -1
  391. package/dist/framework-packages-C3RWfJDk.mjs +0 -1
  392. package/dist/handlers-CfnLyLfE.mjs +0 -57
  393. package/dist/load-extensions-D0DfjYLC.mjs +0 -1
  394. package/dist/model-BGgVmRnN.mjs +0 -1
  395. package/dist/namespace-DJfUADSV.mjs +0 -1
  396. package/dist/orchestrator-shared-BxmHCPvx.mjs +0 -1
  397. package/dist/package-CNUPPcU1.mjs +0 -7
  398. package/dist/package-Dft_RItb.mjs +0 -1
  399. package/dist/schemas-Cm09dXL4.mjs +0 -1
  400. package/dist/scoped-bus-C9BdNwfM.mjs +0 -1
  401. package/dist/session-BOGCd18q.mjs +0 -1
  402. package/dist/session-BTFiDoGz.mjs +0 -76
  403. package/dist/shared-BQ0CHIVy.mjs +0 -1
  404. package/dist/tool-approval-service-kBA0fRzm.mjs +0 -1
  405. package/dist/types-CJ_QZ1yW.d.mts +0 -1487
  406. package/dist/workflow-BfDbgtIQ.mjs +0 -1
  407. package/dist/workflow-worker-BN9XPxQO.mjs +0 -1
  408. package/dist/{adapter-auth-runtime-DO-FVTXg.mjs → adapter-auth-runtime-D9Lnl7cc.mjs} +0 -0
  409. package/dist/{adapter-binding-DQchUtrK.d.mts → adapter-binding-B-FBoCys.d.mts} +0 -0
  410. package/dist/{attempt-record-codec-CqO1_XnE.mjs → attempt-record-codec-DaFLKR5C.mjs} +0 -0
  411. package/dist/{base-orchestrator-BilsQNW1.d.mts → base-orchestrator-D9u4NyiM.d.mts} +0 -0
  412. package/dist/{capability-service-BqiLlRGA.mjs → capability-service-CJHNkjvm.mjs} +0 -0
  413. package/dist/{client-B--e2qcU.d.mts → client-4ihewPUm.d.mts} +0 -0
  414. package/dist/{client-binary-version-verifier-taewmKTY.mjs → client-binary-version-verifier-DJajc_Ff.mjs} +0 -0
  415. package/dist/{client-binary-version-verifier-CgjM_vGF.d.mts → client-binary-version-verifier-jDDZ64Ah.d.mts} +0 -0
  416. package/dist/{clients-namespace-DfxjG2ZP.d.mts → clients-namespace-DFWuUawf.d.mts} +0 -0
  417. package/dist/{config-namespace-BCqvufbD.d.mts → config-namespace-D1kyZj0B.d.mts} +0 -0
  418. package/dist/{create-static-mount-bbQhTt6W.mjs → create-static-mount-9tnGpIeK.mjs} +0 -0
  419. package/dist/{cross-spawn-B57KZuns.mjs → cross-spawn-BIgueAqr.mjs} +0 -0
  420. package/dist/{cursor-storage-DIFK_9hg.mjs → cursor-storage-ROWfiTh1.mjs} +0 -0
  421. package/dist/{definition-gnKgXU91.d.mts → definition-DB-kKc0d.d.mts} +0 -0
  422. package/dist/{definitions-xrrY0wgz.mjs → definitions-CF6YmEhL.mjs} +0 -0
  423. package/dist/{descriptor-to-package-DvF08krT.mjs → descriptor-to-package-BecVCopf.mjs} +0 -0
  424. package/dist/{drizzle-z_0SiGY8.mjs → drizzle-CPv3vdTE.mjs} +0 -0
  425. package/dist/{esm-CltRnX8_.mjs → esm-CBFWM8u_.mjs} +0 -0
  426. package/dist/{event-CmVjR6Ib.mjs → event-DR8U9Efx.mjs} +0 -0
  427. package/dist/{facet-BCI00njh.mjs → facet-DVsW12iF.mjs} +0 -0
  428. package/dist/{filesystem-service-CQ9yVkSz.d.mts → filesystem-service-Cm2RHKBa.d.mts} +0 -0
  429. package/dist/{handler-Cbv9FqDO.mjs → handler-Bqlk-6BY.mjs} +0 -0
  430. package/dist/{host-Caq6ZfSJ.mjs → host-k5yoyKHg.mjs} +0 -0
  431. package/dist/{identity-D6guMtmi.mjs → identity-DC3Pk0ps.mjs} +0 -0
  432. package/dist/{index-dtsLKOID.d.mts → index-42UdYStR.d.mts} +0 -0
  433. package/dist/{index-DR40QWlw.d.mts → index-BJAB-BW_.d.mts} +0 -0
  434. package/dist/{index-Dm1nUxCF.d.mts → index-BJMezANn.d.mts} +0 -0
  435. package/dist/{index-Cv-o5Krs.d.mts → index-BRCrFirq.d.mts} +0 -0
  436. package/dist/{index-BVRQEpAg.d.mts → index-BRzHs7Bx.d.mts} +6 -6
  437. /package/dist/{index-vA--0lOM.d.mts → index-BVcQcphK.d.mts} +0 -0
  438. /package/dist/{index-ye0oklfU.d.mts → index-BcvqDfcN.d.mts} +0 -0
  439. /package/dist/{index-CGZQVTid.d.mts → index-BeENojSx2.d.mts} +0 -0
  440. /package/dist/{index-DjgLchuQ.d.mts → index-Beo_Ik8-.d.mts} +0 -0
  441. /package/dist/{index-sS6KUlrx.d.mts → index-BgGe9WZz.d.mts} +0 -0
  442. /package/dist/{index-CWHfOz6d.d.mts → index-CK3f0bAL.d.mts} +0 -0
  443. /package/dist/{index-DZunhZec.d.mts → index-CQuRTeRa.d.mts} +0 -0
  444. /package/dist/{index-jTaAHsul.d.mts → index-CRmE88hi.d.mts} +0 -0
  445. /package/dist/{index-CjdRdsd0.d.mts → index-CvW9_SzR.d.mts} +0 -0
  446. /package/dist/{index-ByKi34v5.d.mts → index-CxSSdIZz.d.mts} +0 -0
  447. /package/dist/{index-vcSj12YQ.d.mts → index-E4SET1AA.d.mts} +0 -0
  448. /package/dist/{index-DN4NOCqN2.d.mts → index-Ol9RBB0W2.d.mts} +0 -0
  449. /package/dist/{index-BIdsFcQs2.d.mts → index-aoxdnhJ42.d.mts} +0 -0
  450. /package/dist/{index-SsBHjUqA.d.mts → index-nydhGvXa.d.mts} +0 -0
  451. /package/dist/{jsonl-transport-bQl3JwIu.mjs → jsonl-transport-Bp_6pB2a.mjs} +0 -0
  452. /package/dist/{lib-DOBXZmYX.mjs → lib-Bwdd2m81.mjs} +0 -0
  453. /package/dist/{model-registry-CmgcPDH3.mjs → model-registry-Y854mUml.mjs} +0 -0
  454. /package/dist/{model-registry-xyBKSye-.mjs → model-registry-yURX738J.mjs} +0 -0
  455. /package/dist/{modes-BheyN7SS.mjs → modes-DmUsjHdV.mjs} +0 -0
  456. /package/dist/{namespace-HO2J9sO8.mjs → namespace-B9FEGuEu.mjs} +0 -0
  457. /package/dist/{namespace-jDhZjw-i.d.mts → namespace-Bi3CmYQy.d.mts} +0 -0
  458. /package/dist/{namespace-GPA7zots.d.mts → namespace-BusZERU8.d.mts} +0 -0
  459. /package/dist/{namespace-BOkKoq34.d.mts → namespace-ByP1Iipi.d.mts} +0 -0
  460. /package/dist/{namespace-YytVKIgI.d.mts → namespace-C1D77w7U.d.mts} +0 -0
  461. /package/dist/{namespace-CErHuXtb.d.mts → namespace-C6CVEGH8.d.mts} +0 -0
  462. /package/dist/{namespace-C-9si-fV.mjs → namespace-CfIW0hpQ.mjs} +0 -0
  463. /package/dist/{namespace-YxU1xf-K.mjs → namespace-CkBbNFSU.mjs} +0 -0
  464. /package/dist/{namespace-DWCEo-9M.d.mts → namespace-DX1Ec15L.d.mts} +0 -0
  465. /package/dist/{namespace-CWGKCNZm.mjs → namespace-DbNWsPFY.mjs} +0 -0
  466. /package/dist/{namespace-Cv1RFP7n.d.mts → namespace-Dgg0uoe6.d.mts} +0 -0
  467. /package/dist/{namespace-tGRAod3o.d.mts → namespace-s2y_NFKf.d.mts} +0 -0
  468. /package/dist/{namespace-Blp4c8GK.d.mts → namespace-yREpGJgG.d.mts} +0 -0
  469. /package/dist/{out-CvjtANXN.mjs → out-DrhwCgqM.mjs} +0 -0
  470. /package/dist/{packages-DtEEP0Vt.mjs → packages-FBv3fAOR.mjs} +0 -0
  471. /package/dist/{packages-BZ6pzFIq.d.mts → packages-N3-2Kl-Y.d.mts} +0 -0
  472. /package/dist/{platform-Bv8llU9c.mjs → platform-BrsMv_S3.mjs} +0 -0
  473. /package/dist/{provider-operation-Cxoe2SUr.d.mts → provider-operation-DJ_TLZFf.d.mts} +0 -0
  474. /package/dist/{providers-Co5UszRH.mjs → providers-CCcn4Ndp.mjs} +0 -0
  475. /package/dist/{providers-namespace-DjFkmvBR.d.mts → providers-namespace-DeJBh6MP.d.mts} +0 -0
  476. /package/dist/{quick-lru-CrOpWwrf.mjs → quick-lru-uwB0hP-y.mjs} +0 -0
  477. /package/dist/{schema-introspection-DgWQCpwx.mjs → schema-introspection-C1wvklj9.mjs} +0 -0
  478. /package/dist/{schema-Db-y-09L.mjs → schema-jIapW8Kb.mjs} +0 -0
  479. /package/dist/{schemas-CR8hSqTy.d.mts → schemas-B7zo7Zcx.d.mts} +0 -0
  480. /package/dist/{schemas-CqRm0i9a.mjs → schemas-BNdiVBWh.mjs} +0 -0
  481. /package/dist/{schemas-B1NWNASS.d.mts → schemas-C-Bm6Oac.d.mts} +0 -0
  482. /package/dist/{schemas-BO7uOum6.d.mts → schemas-CD0wOQxx.d.mts} +0 -0
  483. /package/dist/{schemas-N6x2z7Lf.d.mts → schemas-CeUI2i5j.d.mts} +0 -0
  484. /package/dist/{schemas-CwbYk_kZ.d.mts → schemas-Cg-Kwp8c.d.mts} +0 -0
  485. /package/dist/{schemas-BtZqovRH.d.mts → schemas-Cv3rR9Sz.d.mts} +0 -0
  486. /package/dist/{schemas-tDf_WiC8.mjs → schemas-CvHFbzdy.mjs} +0 -0
  487. /package/dist/{schemas-BsVYZviy.d.mts → schemas-DZH9lpxs.d.mts} +0 -0
  488. /package/dist/{schemas-BGExwp3j.mjs → schemas-DgwEVUt-.mjs} +0 -0
  489. /package/dist/{schemas-Bfxskx_2.mjs → schemas-mLpOfMoN.mjs} +0 -0
  490. /package/dist/{schemas-CQyRBqD6.d.mts → schemas-qA279_j_.d.mts} +0 -0
  491. /package/dist/{schemas-miYxK_Z1.d.mts → schemas-sMoRnBdZ.d.mts} +0 -0
  492. /package/dist/{semver-DlM8znk4.mjs → semver-DTXuyLcK.mjs} +0 -0
  493. /package/dist/{server-lifecycle-Dsq56aqC.d.mts → server-lifecycle-C_8iKgat.d.mts} +0 -0
  494. /package/dist/{server-lifecycle-kmQ5PUDv.mjs → server-lifecycle-DKx_fWlq.mjs} +0 -0
  495. /package/dist/{shared-schemas-DXwyMCwZ.mjs → shared-schemas-aahW97QW.mjs} +0 -0
  496. /package/dist/{src-CCu8TwL6.mjs → src-DHqsl5Pg.mjs} +0 -0
  497. /package/dist/{storage-namespace-BSrv0vXR.mjs → storage-namespace-Dz2jsssp.mjs} +0 -0
  498. /package/dist/{storage-namespace-dfywhXR3.d.mts → storage-namespace-Tf3P5yJ5.d.mts} +0 -0
  499. /package/dist/{storage-namespace-definition-BvlX0QV_.d.mts → storage-namespace-definition-BsnYAPot.d.mts} +0 -0
  500. /package/dist/{storage-namespace-definition-CkMKt7-I.mjs → storage-namespace-definition-CDef0E20.mjs} +0 -0
  501. /package/dist/{supports-color-DUugCQsK.mjs → supports-color-i7OTnKcZ.mjs} +0 -0
  502. /package/dist/{telemetry-Pr3oP2rk.mjs → telemetry-BvCBUjFg.mjs} +0 -0
  503. /package/dist/{timeout-DWDhddRJ.mjs → timeout-B0nYjLc8.mjs} +0 -0
  504. /package/dist/{tray-menu-service-BBLa-Rcv.mjs → tray-menu-service-Deo6yyP8.mjs} +0 -0
  505. /package/dist/{types-BrcjaNPZ.d.mts → types-CNS55jvt.d.mts} +0 -0
  506. /package/dist/{types-b54n1o57.d.mts → types-Ce6LL25v.d.mts} +0 -0
  507. /package/dist/{types-DHmPneIO.d.mts → types-xCdGghb2.d.mts} +0 -0
  508. /package/dist/{ui-config-CyCdlns_.mjs → ui-config-BIyGzMNL.mjs} +0 -0
  509. /package/dist/{variant-krjlTdJt.mjs → variant-B4uWdxW7.mjs} +0 -0
  510. /package/dist/{window-registry-BDnZLPVx.d.mts → window-registry-BLtVx3Iw.d.mts} +0 -0
  511. /package/dist/{window-registry-I-imZHV_.mjs → window-registry-CoBJq3u4.mjs} +0 -0
@@ -6001,6 +6001,19 @@ interface Agent {
6001
6001
  }
6002
6002
  //#endregion
6003
6003
  //#region adapters/shared/acp-client/src/terminal-manager.d.ts
6004
+ /**
6005
+ * What a terminal process's own end looks like once it has been observed.
6006
+ *
6007
+ * Named because it is the evidence type the manager hands out, not merely the
6008
+ * shape of a promise it keeps: a caller that reports a teardown class for a
6009
+ * connector reads exactly this per terminal it spawned.
6010
+ */
6011
+ interface TerminalExitObservation {
6012
+ /** Exit code, or `null` when the process was ended by a signal. */
6013
+ readonly exitCode: number | null;
6014
+ /** Terminating signal, or `null` when the process exited on its own. */
6015
+ readonly signal: string | null;
6016
+ }
6004
6017
  /**
6005
6018
  * Manages stateful terminal lifecycles for ACP agents.
6006
6019
  *
@@ -6010,16 +6023,36 @@ interface Agent {
6010
6023
  */
6011
6024
  declare class TerminalManager {
6012
6025
  private readonly terminals;
6026
+ /**
6027
+ * Ends of terminals already released one at a time, kept until somebody reads
6028
+ * them.
6029
+ *
6030
+ * An agent-initiated `terminal/release` is an ordinary protocol act, so it books
6031
+ * nothing and caps nothing — but it does end a process this runtime spawned, and
6032
+ * a shutdown that reports a class for this connector is answerable for that end
6033
+ * too. Dropping the exit promise on release let a later close claim `exited` for a
6034
+ * kill nobody ever watched land; keeping it makes the same close either *observe*
6035
+ * the end — the usual case, since the SIGKILL is long since reaped by then — or
6036
+ * report honestly that it did not.
6037
+ *
6038
+ * Bounded by the number of releases between two shutdown collections, and each
6039
+ * collection empties it: what is retained is a settled promise per released
6040
+ * terminal, not the terminal.
6041
+ */
6042
+ private readonly retiredExits;
6013
6043
  private readonly baseEnv;
6014
6044
  private readonly scrubEnvVars;
6045
+ private readonly spawnTimeoutMs;
6015
6046
  private nextId;
6016
6047
  /**
6017
6048
  * Create a terminal manager bound to one finalized connector environment.
6018
- * @param options - Sanitized base environment and variables that terminal requests may not restore
6049
+ * @param options - Sanitized base environment, variables that terminal requests
6050
+ * may not restore, and the budget a terminal spawn may take
6019
6051
  */
6020
6052
  constructor(options: {
6021
6053
  readonly baseEnv: Readonly<Record<string, string>>;
6022
6054
  readonly scrubEnvVars?: readonly string[];
6055
+ readonly spawnTimeoutMs: number;
6023
6056
  });
6024
6057
  /**
6025
6058
  * Creates a new terminal subprocess.
@@ -6049,19 +6082,44 @@ declare class TerminalManager {
6049
6082
  */
6050
6083
  killTerminal(params: KillTerminalRequest): Promise<KillTerminalResponse>;
6051
6084
  /**
6052
- * Releases a terminal, killing the process and freeing all associated resources.
6085
+ * Releases a terminal, killing the process and keeping its end to be read.
6053
6086
  *
6054
- * After this call the terminal ID is no longer valid.
6087
+ * After this call the terminal ID is no longer valid. The release itself does not
6088
+ * wait — an agent asked for it and is owed a prompt response — but the process's
6089
+ * exit promise moves to {@link retiredExits} rather than being dropped, so the
6090
+ * connector shutdown that later reports a class for this runtime collects this
6091
+ * kill's end alongside the ends of the terminals still open. That is the whole of
6092
+ * what this release owes: it is a normal protocol act and books no generation, so
6093
+ * it can cap no class on its own — an end already landed is simply *observed* by
6094
+ * the collection instead of being assumed.
6055
6095
  * @param params - ACP release terminal request
6056
6096
  * @returns Empty response object
6057
6097
  */
6058
6098
  releaseTerminal(params: ReleaseTerminalRequest): Promise<ReleaseTerminalResponse>;
6059
6099
  /**
6060
- * Kills and removes all managed terminals.
6100
+ * Kills and removes all managed terminals, handing back their ends to watch.
6101
+ *
6102
+ * Called during connector shutdown. The kill is a signal, not an observation:
6103
+ * these are processes this runtime spawned, so their ends are evidence its
6104
+ * teardown is entitled to — and evidence it already holds, since every terminal
6105
+ * carries its own exit promise from the moment it was created. Returning them is
6106
+ * what lets the caller decide the honest class instead of assuming a SIGKILL
6107
+ * landed.
6061
6108
  *
6062
- * Should be called during connector shutdown to prevent resource leaks.
6109
+ * **Terminals released one at a time count too.** An agent-initiated
6110
+ * `terminal/release` already killed its process and kept its end
6111
+ * ({@link retiredExits}); those ends belong to this runtime's shutdown just as
6112
+ * much as the ones killed here, because the class the caller reports covers every
6113
+ * process this runtime spawned — not only the ones that happened to still be open
6114
+ * at the end. Consuming the retained ends empties the list, so a second call
6115
+ * reports each end once.
6116
+ *
6117
+ * The manager itself does not wait: a shutdown must not be held by a terminal,
6118
+ * and the caller is the party with a budget and a class to report.
6119
+ * @returns One exit observation per terminal this runtime ended and nobody has
6120
+ * read yet — the ends released earlier first, then the ones killed here.
6063
6121
  */
6064
- releaseAll(): void;
6122
+ releaseAll(): ReadonlyArray<Promise<TerminalExitObservation>>;
6065
6123
  /**
6066
6124
  * Returns a managed terminal by ID, throwing if not found.
6067
6125
  * @param terminalId - Terminal identifier assigned at creation time
@@ -6089,6 +6147,25 @@ interface AcpConnectionOptions {
6089
6147
  onError?: (error: Error) => void;
6090
6148
  /** Callback for subprocess exit */
6091
6149
  onExit?: (code: number | null) => void;
6150
+ /**
6151
+ * Milliseconds to wait for the subprocess to start before failing.
6152
+ *
6153
+ * Required rather than optional: the wait for a `spawn` event has no natural
6154
+ * end, and every caller of this function already declares an initialization
6155
+ * budget. Making the budget an argument is what stops that declaration from
6156
+ * being decorative.
6157
+ */
6158
+ spawnTimeoutMs: number;
6159
+ /**
6160
+ * Signal that abandons the start before its budget expires.
6161
+ *
6162
+ * The budget answers "how long may this take"; the signal answers "we no longer
6163
+ * want it" — a caller whose own start was superseded or cancelled has no reason
6164
+ * to keep waiting out a full budget. An abandoned start kills the child it
6165
+ * spawned, exactly as an expired one does, so neither leaves an unwatched
6166
+ * process behind.
6167
+ */
6168
+ signal?: AbortSignal;
6092
6169
  }
6093
6170
  /**
6094
6171
  * Handle to a running ACP connection (subprocess + protocol layer).
@@ -6215,4 +6292,25 @@ declare class MakaioAcpClient implements Client {
6215
6292
  releaseTerminal(params: ReleaseTerminalRequest): Promise<ReleaseTerminalResponse>;
6216
6293
  }
6217
6294
  //#endregion
6218
- export { type AcpConnectionHandle, type AcpConnectionOptions, MakaioAcpClient, type MakaioAcpClientConfig, TerminalManager, createAcpConnection };
6295
+ //#region adapters/shared/acp-client/src/proc-utils.d.ts
6296
+ /** Bounds and cancellation for {@link waitForSpawn}. */
6297
+ interface WaitForSpawnOptions {
6298
+ /**
6299
+ * Milliseconds to wait for the `spawn` event before rejecting.
6300
+ *
6301
+ * A child that neither spawns nor errors emits nothing at all, so without a
6302
+ * bound this wait has no end — and every caller queued behind it inherits
6303
+ * that. The budget belongs to the caller, which is the layer that knows how
6304
+ * long starting this particular agent is allowed to take.
6305
+ */
6306
+ readonly timeoutMs: number;
6307
+ /**
6308
+ * Signal that abandons the wait before its budget expires.
6309
+ *
6310
+ * Abandoning the wait does not stop the child; a caller that aborts owns the
6311
+ * process it spawned and is responsible for killing it.
6312
+ */
6313
+ readonly signal?: AbortSignal;
6314
+ }
6315
+ //#endregion
6316
+ export { type AcpConnectionHandle, type AcpConnectionOptions, MakaioAcpClient, type MakaioAcpClientConfig, TerminalManager, type WaitForSpawnOptions, createAcpConnection };
@@ -1,3 +1,3 @@
1
- import{spawn as e}from"node:child_process";import{Readable as t,Writable as n}from"node:stream";import{z as r}from"zod/v4";const i={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,providers_disable:`providers/disable`,providers_list:`providers/list`,providers_set:`providers/set`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},a={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},o=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),terminal:r.boolean().optional().default(!1)}),s=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),label:r.string().nullish(),name:r.string(),optional:r.boolean().optional().default(!1),secret:r.boolean().optional().default(!0)}),c=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),id:r.string(),name:r.string()}),ee=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),id:r.string(),link:r.string().nullish(),name:r.string(),vars:r.array(s)}),te=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),args:r.array(r.string()).optional(),description:r.string().nullish(),env:r.record(r.string(),r.string()).optional(),id:r.string(),name:r.string()}),ne=r.union([ee.and(r.object({type:r.literal(`env_var`)})),te.and(r.object({type:r.literal(`terminal`)})),c]),re=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),methodId:r.string()}),ie=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),ae=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),blob:r.string(),mimeType:r.string().nullish(),uri:r.string()}),oe=r.object({default:r.boolean().nullish(),description:r.string().nullish(),title:r.string().nullish()}),se=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),ce=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),le=r.object({amount:r.number(),currency:r.string()}),ue=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),terminalId:r.string()}),de=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),newText:r.string(),oldText:r.string().nullish(),path:r.string()}),fe=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),id:r.string()}),pe=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),me=r.union([r.string(),r.number(),r.number(),r.boolean(),r.array(r.string())]),he=r.object({content:r.record(r.string(),me).nullish()}),ge=r.intersection(r.union([he.and(r.object({action:r.literal(`accept`)})),r.object({action:r.literal(`decline`)}),r.object({action:r.literal(`cancel`)})]),r.object({_meta:r.record(r.string(),r.unknown()).nullish()})),_e=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),ve=r.string(),l=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),elicitationId:ve}),ye=r.literal(`object`),be=r.literal(`string`),xe=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Se=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),form:_e.nullish(),url:xe.nullish()}),u=r.object({const:r.string(),title:r.string()}),d=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),name:r.string(),value:r.string()}),Ce=r.union([r.literal(-32700),r.literal(-32600),r.literal(-32601),r.literal(-32602),r.literal(-32603),r.literal(-32800),r.literal(-32e3),r.literal(-32002),r.literal(-32042),r.number().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),f=r.object({code:Ce,data:r.unknown().optional(),message:r.string()}),p=r.unknown(),we=r.unknown(),m=r.unknown(),Te=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),readTextFile:r.boolean().optional().default(!1),writeTextFile:r.boolean().optional().default(!1)}),h=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),name:r.string(),value:r.string()}),g=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),name:r.string(),title:r.string().nullish(),version:r.string()}),Ee=r.object({default:r.number().nullish(),description:r.string().nullish(),maximum:r.number().nullish(),minimum:r.number().nullish(),title:r.string().nullish()}),De=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Oe=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),ke=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cursor:r.string().nullish(),cwd:r.string().nullish()}),_=r.union([r.literal(`anthropic`),r.literal(`openai`),r.literal(`azure`),r.literal(`vertex`),r.literal(`bedrock`),r.string()]),Ae=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),je=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),logout:Ae.nullish()}),Me=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ne=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Pe=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),http:r.boolean().optional().default(!1),sse:r.boolean().optional().default(!1)}),Fe=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),headers:r.array(h),name:r.string(),url:r.string()}),Ie=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),headers:r.array(h),name:r.string(),url:r.string()}),Le=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),args:r.array(r.string()),command:r.string(),env:r.array(d),name:r.string()}),v=r.union([Fe.and(r.object({type:r.literal(`http`)})),Ie.and(r.object({type:r.literal(`sse`)})),Le]),y=r.string(),Re=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),modelId:y,name:r.string()}),ze=r.union([r.literal(`error`),r.literal(`warning`),r.literal(`information`),r.literal(`hint`)]),Be=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ve=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),He=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ue=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),We=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ge=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),maxCount:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Ke=r.object({diff:r.string(),uri:r.string()}),qe=r.object({endLine:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:r.string()}),Je=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ye=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Xe=r.object({languageId:r.string(),text:r.string(),uri:r.string()}),Ze=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),maxCount:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Qe=r.union([r.literal(`rejected`),r.literal(`ignored`),r.literal(`replaced`),r.literal(`cancelled`)]),$e=r.object({excerpts:r.array(qe),uri:r.string()}),et=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),tt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),nt=r.object({name:r.string(),owner:r.string(),remoteUrl:r.string()}),rt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),it=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),jump:Je.nullish(),rename:tt.nullish(),searchAndReplace:rt.nullish()}),at=r.object({id:r.string(),isRegex:r.boolean().nullish(),replace:r.string(),search:r.string(),uri:r.string()}),ot=r.union([r.literal(`automatic`),r.literal(`diagnostic`),r.literal(`manual`)]),st=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),maxCount:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),ct=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),diagnostics:Be.nullish(),editHistory:Ge.nullish(),openFiles:Ye.nullish(),recentFiles:Ze.nullish(),relatedSnippets:et.nullish(),userActions:st.nullish()}),lt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v)}),ut=r.object({default:r.number().nullish(),description:r.string().nullish(),maximum:r.number().nullish(),minimum:r.number().nullish(),title:r.string().nullish()}),b=r.string(),dt=r.union([r.literal(`allow_once`),r.literal(`allow_always`),r.literal(`reject_once`),r.literal(`reject_always`)]),ft=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),kind:dt,name:r.string(),optionId:b}),pt=r.union([r.literal(`high`),r.literal(`medium`),r.literal(`low`)]),mt=r.union([r.literal(`pending`),r.literal(`in_progress`),r.literal(`completed`)]),ht=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.string(),priority:pt,status:mt}),gt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),entries:r.array(ht)}),x=r.object({character:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),_t=r.object({id:r.string(),position:x,uri:r.string()}),vt=r.object({id:r.string(),newName:r.string(),position:x,uri:r.string()}),yt=r.object({action:r.string(),position:x,timestampMs:r.number(),uri:r.string()}),S=r.union([r.literal(`utf-16`),r.literal(`utf-32`),r.literal(`utf-8`)]),bt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),auth:o.optional().default({terminal:!1}),elicitation:Se.nullish(),fs:Te.optional().default({readTextFile:!1,writeTextFile:!1}),nes:it.nullish(),positionEncodings:r.array(S).optional(),terminal:r.boolean().optional().default(!1)}),xt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),audio:r.boolean().optional().default(!1),embeddedContext:r.boolean().optional().default(!1),image:r.boolean().optional().default(!1)}),C=r.number().int().gte(0).lte(65535),St=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),clientCapabilities:bt.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:g.nullish(),protocolVersion:C}),Ct=r.object({apiType:_,baseUrl:r.string()}),wt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),current:Ct.nullish(),id:r.string(),required:r.boolean(),supported:r.array(_)}),Tt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),providers:r.array(wt)}),Et=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),w=r.object({end:x,start:x}),Dt=r.object({message:r.string(),range:w,severity:ze,uri:r.string()}),Ot=r.object({languageId:r.string(),lastFocusedMs:r.number().nullish(),uri:r.string(),visibleRange:w.nullish()}),kt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),diagnostics:r.array(Dt).nullish(),editHistory:r.array(Ke).nullish(),openFiles:r.array(Ot).nullish(),recentFiles:r.array(Xe).nullish(),relatedSnippets:r.array($e).nullish(),userActions:r.array(yt).nullish()}),At=r.object({newText:r.string(),range:w}),jt=r.object({cursorPosition:x.nullish(),edits:r.array(At),id:r.string(),uri:r.string()}),Mt=r.union([jt.and(r.object({kind:r.literal(`edit`)})),_t.and(r.object({kind:r.literal(`jump`)})),vt.and(r.object({kind:r.literal(`rename`)})),at.and(r.object({kind:r.literal(`searchAndReplace`)}))]),Nt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.string()}),Pt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),T=r.union([r.number(),r.string()]).nullable();r.object({_meta:r.record(r.string(),r.unknown()).nullish(),requestId:T});const E=r.object({requestId:T}),Ft=r.enum([`assistant`,`user`]),D=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),audience:r.array(Ft).nullish(),lastModified:r.string().nullish(),priority:r.number().nullish()}),It=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),data:r.string(),mimeType:r.string()}),Lt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),data:r.string(),mimeType:r.string(),uri:r.string().nullish()}),Rt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),description:r.string().nullish(),mimeType:r.string().nullish(),name:r.string(),size:r.number().nullish(),title:r.string().nullish(),uri:r.string()}),zt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),optionId:b}),Bt=r.union([r.object({outcome:r.literal(`cancelled`)}),zt.and(r.object({outcome:r.literal(`selected`)}))]),Vt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),outcome:Bt}),Ht=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ut=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Wt=r.object({currentValue:r.boolean()}),Gt=r.string(),O=r.string(),Kt=r.union([r.literal(`mode`),r.literal(`model`),r.literal(`thought_level`),r.string()]),k=r.string(),A=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),name:r.string(),value:k}),qt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),group:Gt,name:r.string(),options:r.array(A)}),Jt=r.union([r.array(A),r.array(qt)]),Yt=r.object({currentValue:k,options:Jt}),j=r.intersection(r.union([Yt.and(r.object({type:r.literal(`select`)})),Wt.and(r.object({type:r.literal(`boolean`)}))]),r.object({_meta:r.record(r.string(),r.unknown()).nullish(),category:Kt.nullish(),description:r.string().nullish(),id:O,name:r.string()})),Xt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j)}),Zt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),M=r.string(),Qt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),id:r.string(),sessionId:M}),$t=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),en=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),tn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),N=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),args:r.array(r.string()).optional(),command:r.string(),cwd:r.string().nullish(),env:r.array(d).optional(),outputByteLimit:r.number().nullish(),sessionId:M}),nn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,uri:r.string()}),rn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),position:x,sessionId:M,uri:r.string(),version:r.number(),visibleRange:w}),an=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),languageId:r.string(),sessionId:M,text:r.string(),uri:r.string(),version:r.number()}),on=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,uri:r.string()}),sn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v).optional(),sessionId:M}),P=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),cn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v),sessionId:M}),F=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),limit:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:r.string(),sessionId:M}),ln=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),id:r.string(),reason:Qe.nullish(),sessionId:M}),I=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),un=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v).optional(),sessionId:M}),dn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),sessionId:M,title:r.string().nullish(),updatedAt:r.string().nullish()}),fn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),nextCursor:r.string().nullish(),sessions:r.array(dn)}),pn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),title:r.string().nullish(),updatedAt:r.string().nullish()}),mn=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),L=r.string(),hn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),currentModeId:L}),gn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),id:L,name:r.string()}),R=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),availableModes:r.array(gn),currentModeId:L}),z=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),availableModels:r.array(Re),currentModelId:y}),_n=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish(),sessionId:M}),vn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish()}),yn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish(),sessionId:M}),bn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish()}),xn=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Sn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:Ht.nullish(),close:Ut.nullish(),fork:Zt.nullish(),list:mn.nullish(),resume:xn.nullish()}),Cn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),apiType:_,baseUrl:r.string(),headers:r.record(r.string(),r.string()).optional(),id:r.string()}),wn=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Tn=r.intersection(r.union([r.object({type:r.literal(`boolean`),value:r.boolean()}),r.object({value:k})]),r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configId:O,sessionId:M})),En=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j)}),Dn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),modeId:L,sessionId:M}),On=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),kn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),modelId:y,sessionId:M}),An=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),jn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),Mn=r.union([r.literal(`end_turn`),r.literal(`max_tokens`),r.literal(`max_turn_requests`),r.literal(`refusal`),r.literal(`cancelled`)]),Nn=r.union([r.literal(`email`),r.literal(`uri`),r.literal(`date`),r.literal(`date-time`)]),Pn=r.object({default:r.string().nullish(),description:r.string().nullish(),enum:r.array(r.string()).nullish(),format:Nn.nullish(),maxLength:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:r.array(u).nullish(),pattern:r.string().nullish(),title:r.string().nullish()}),Fn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),context:kt.nullish(),position:x,selection:w.nullish(),sessionId:M,triggerKind:ot,uri:r.string(),version:r.number()}),In=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),suggestions:r.array(Mt)}),Ln=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),terminalId:r.string()}),Rn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),exitCode:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:r.string().nullish()}),B=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),zn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),exitStatus:Rn.nullish(),output:r.string(),truncated:r.boolean()}),Bn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),text:r.string()}),Vn=r.object({range:w.nullish(),text:r.string()}),Hn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),contentChanges:r.array(Vn),sessionId:M,uri:r.string(),version:r.number()});r.object({method:r.string(),params:r.union([$t,an,Hn,nn,on,rn,Qt,ln,p]).nullish()});const Un=r.union([r.literal(`full`),r.literal(`incremental`)]),Wn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),syncKind:Un}),Gn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),didChange:Wn.nullish(),didClose:Ve.nullish(),didFocus:He.nullish(),didOpen:Ue.nullish(),didSave:We.nullish()}),Kn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),document:Gn.nullish()}),qn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),context:ct.nullish(),events:Kn.nullish()}),Jn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),auth:je.optional().default({}),loadSession:r.boolean().optional().default(!1),mcpCapabilities:Pe.optional().default({http:!1,sse:!1}),nes:qn.nullish(),positionEncoding:S.nullish(),promptCapabilities:xt.optional().default({audio:!1,embeddedContext:!1,image:!1}),providers:Et.nullish(),sessionCapabilities:Sn.optional().default({})}),Yn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),agentCapabilities:Jn.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:g.nullish(),authMethods:r.array(ne).optional().default([]),protocolVersion:C}),Xn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),mimeType:r.string().nullish(),text:r.string(),uri:r.string()}),Zn=r.union([Xn,ae]),Qn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),resource:Zn}),V=r.union([Bn.and(r.object({type:r.literal(`text`)})),Lt.and(r.object({type:r.literal(`image`)})),It.and(r.object({type:r.literal(`audio`)})),Rt.and(r.object({type:r.literal(`resource_link`)})),Qn.and(r.object({type:r.literal(`resource`)}))]),$n=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:V}),H=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:V,messageId:r.string().nullish()}),er=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),messageId:r.string().nullish(),prompt:r.array(V),sessionId:M}),tr=r.object({anyOf:r.array(u)}),U=r.union([$n.and(r.object({type:r.literal(`content`)})),de.and(r.object({type:r.literal(`diff`)})),Ln.and(r.object({type:r.literal(`terminal`)}))]),W=r.string(),G=r.object({sessionId:M,toolCallId:W.nullish()}),nr=r.intersection(r.union([G,E]),r.object({elicitationId:ve,url:r.string().url()})),K=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),line:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:r.string()}),q=r.union([r.literal(`pending`),r.literal(`in_progress`),r.literal(`completed`),r.literal(`failed`)]),J=r.union([r.literal(`read`),r.literal(`edit`),r.literal(`delete`),r.literal(`move`),r.literal(`search`),r.literal(`execute`),r.literal(`think`),r.literal(`fetch`),r.literal(`switch_mode`),r.literal(`other`)]),rr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.array(U).optional(),kind:J.optional(),locations:r.array(K).optional(),rawInput:r.unknown().optional(),rawOutput:r.unknown().optional(),status:q.optional(),title:r.string(),toolCallId:W}),Y=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.array(U).nullish(),kind:J.nullish(),locations:r.array(K).nullish(),rawInput:r.unknown().optional(),rawOutput:r.unknown().optional(),status:q.nullish(),title:r.string().nullish(),toolCallId:W}),X=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),options:r.array(ft),sessionId:M,toolCall:Y}),ir=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),hint:r.string()}),ar=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string(),input:ir.nullish(),name:r.string()}),or=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),availableCommands:r.array(ar)}),sr=r.object({enum:r.array(r.string()),type:be}),cr=r.union([sr,tr]),lr=r.object({default:r.array(r.string()).nullish(),description:r.string().nullish(),items:cr,maxItems:r.number().nullish(),minItems:r.number().nullish(),title:r.string().nullish()}),ur=r.union([Pn.and(r.object({type:r.literal(`string`)})),ut.and(r.object({type:r.literal(`number`)})),Ee.and(r.object({type:r.literal(`integer`)})),oe.and(r.object({type:r.literal(`boolean`)})),lr.and(r.object({type:r.literal(`array`)}))]),dr=r.object({description:r.string().nullish(),properties:r.record(r.string(),ur).optional().default({}),required:r.array(r.string()).nullish(),title:r.string().nullish(),type:ye.optional().default(`object`)}),fr=r.intersection(r.union([G,E]),r.object({requestedSchema:dr})),Z=r.intersection(r.union([fr.and(r.object({mode:r.literal(`form`)})),nr.and(r.object({mode:r.literal(`url`)}))]),r.object({_meta:r.record(r.string(),r.unknown()).nullish(),message:r.string()})),pr=r.object({cachedReadTokens:r.number().nullish(),cachedWriteTokens:r.number().nullish(),inputTokens:r.number(),outputTokens:r.number(),thoughtTokens:r.number().nullish(),totalTokens:r.number()}),mr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),stopReason:Mn,usage:pr.nullish(),userMessageId:r.string().nullish()});r.union([r.object({id:T,result:r.union([Yn,ie,Tt,wn,pe,Ne,yn,vn,fn,_n,bn,ce,On,En,mr,An,jn,In,se,m])}),r.object({error:f,id:T})]);const hr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),cost:le.nullish(),size:r.number(),used:r.number()}),gr=r.union([H.and(r.object({sessionUpdate:r.literal(`user_message_chunk`)})),H.and(r.object({sessionUpdate:r.literal(`agent_message_chunk`)})),H.and(r.object({sessionUpdate:r.literal(`agent_thought_chunk`)})),rr.and(r.object({sessionUpdate:r.literal(`tool_call`)})),Y.and(r.object({sessionUpdate:r.literal(`tool_call_update`)})),gt.and(r.object({sessionUpdate:r.literal(`plan`)})),or.and(r.object({sessionUpdate:r.literal(`available_commands_update`)})),hn.and(r.object({sessionUpdate:r.literal(`current_mode_update`)})),Xt.and(r.object({sessionUpdate:r.literal(`config_option_update`)})),pn.and(r.object({sessionUpdate:r.literal(`session_info_update`)})),hr.and(r.object({sessionUpdate:r.literal(`usage_update`)}))]),Q=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,update:gr});r.object({method:r.string(),params:r.union([Q,l,p]).nullish()});const _r=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),vr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),exitCode:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:r.string().nullish()}),yr=r.object({name:r.string(),uri:r.string()}),br=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),repository:nt.nullish(),workspaceFolders:r.array(yr).nullish(),workspaceUri:r.string().nullish()});r.object({id:T,method:r.string(),params:r.union([St,re,Oe,Cn,fe,Me,lt,cn,ke,sn,un,tn,Dn,Tn,er,kn,br,Fn,en,we]).nullish()});const xr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.string(),path:r.string(),sessionId:M});r.object({id:T,method:r.string(),params:r.union([xr,F,X,N,B,I,_r,P,Z,we]).nullish()});const Sr=r.object({_meta:r.record(r.string(),r.unknown()).nullish()});r.union([r.object({id:T,result:r.union([Sr,Nt,Vt,ue,zn,Pt,vr,De,ge,m])}),r.object({error:f,id:T})]);function Cr(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a){n+=r.decode();break}if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
1
+ import{spawn as e}from"node:child_process";import{Readable as t,Writable as n}from"node:stream";import{z as r}from"zod/v4";const i={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,providers_disable:`providers/disable`,providers_list:`providers/list`,providers_set:`providers/set`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},a={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},o=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),terminal:r.boolean().optional().default(!1)}),s=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),label:r.string().nullish(),name:r.string(),optional:r.boolean().optional().default(!1),secret:r.boolean().optional().default(!0)}),c=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),id:r.string(),name:r.string()}),ee=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),id:r.string(),link:r.string().nullish(),name:r.string(),vars:r.array(s)}),te=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),args:r.array(r.string()).optional(),description:r.string().nullish(),env:r.record(r.string(),r.string()).optional(),id:r.string(),name:r.string()}),ne=r.union([ee.and(r.object({type:r.literal(`env_var`)})),te.and(r.object({type:r.literal(`terminal`)})),c]),re=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),methodId:r.string()}),ie=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),ae=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),blob:r.string(),mimeType:r.string().nullish(),uri:r.string()}),oe=r.object({default:r.boolean().nullish(),description:r.string().nullish(),title:r.string().nullish()}),se=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),ce=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),le=r.object({amount:r.number(),currency:r.string()}),ue=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),terminalId:r.string()}),de=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),newText:r.string(),oldText:r.string().nullish(),path:r.string()}),fe=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),id:r.string()}),pe=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),me=r.union([r.string(),r.number(),r.number(),r.boolean(),r.array(r.string())]),he=r.object({content:r.record(r.string(),me).nullish()}),ge=r.intersection(r.union([he.and(r.object({action:r.literal(`accept`)})),r.object({action:r.literal(`decline`)}),r.object({action:r.literal(`cancel`)})]),r.object({_meta:r.record(r.string(),r.unknown()).nullish()})),_e=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),l=r.string(),u=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),elicitationId:l}),ve=r.literal(`object`),ye=r.literal(`string`),be=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),xe=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),form:_e.nullish(),url:be.nullish()}),d=r.object({const:r.string(),title:r.string()}),Se=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),name:r.string(),value:r.string()}),Ce=r.union([r.literal(-32700),r.literal(-32600),r.literal(-32601),r.literal(-32602),r.literal(-32603),r.literal(-32800),r.literal(-32e3),r.literal(-32002),r.literal(-32042),r.number().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),f=r.object({code:Ce,data:r.unknown().optional(),message:r.string()}),p=r.unknown(),m=r.unknown(),we=r.unknown(),Te=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),readTextFile:r.boolean().optional().default(!1),writeTextFile:r.boolean().optional().default(!1)}),h=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),name:r.string(),value:r.string()}),g=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),name:r.string(),title:r.string().nullish(),version:r.string()}),Ee=r.object({default:r.number().nullish(),description:r.string().nullish(),maximum:r.number().nullish(),minimum:r.number().nullish(),title:r.string().nullish()}),De=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Oe=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),ke=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cursor:r.string().nullish(),cwd:r.string().nullish()}),_=r.union([r.literal(`anthropic`),r.literal(`openai`),r.literal(`azure`),r.literal(`vertex`),r.literal(`bedrock`),r.string()]),Ae=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),je=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),logout:Ae.nullish()}),Me=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ne=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Pe=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),http:r.boolean().optional().default(!1),sse:r.boolean().optional().default(!1)}),Fe=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),headers:r.array(h),name:r.string(),url:r.string()}),Ie=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),headers:r.array(h),name:r.string(),url:r.string()}),Le=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),args:r.array(r.string()),command:r.string(),env:r.array(Se),name:r.string()}),v=r.union([Fe.and(r.object({type:r.literal(`http`)})),Ie.and(r.object({type:r.literal(`sse`)})),Le]),y=r.string(),Re=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),modelId:y,name:r.string()}),ze=r.union([r.literal(`error`),r.literal(`warning`),r.literal(`information`),r.literal(`hint`)]),Be=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ve=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),He=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ue=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),We=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ge=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),maxCount:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Ke=r.object({diff:r.string(),uri:r.string()}),qe=r.object({endLine:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:r.string()}),Je=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ye=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Xe=r.object({languageId:r.string(),text:r.string(),uri:r.string()}),Ze=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),maxCount:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Qe=r.union([r.literal(`rejected`),r.literal(`ignored`),r.literal(`replaced`),r.literal(`cancelled`)]),$e=r.object({excerpts:r.array(qe),uri:r.string()}),et=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),tt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),nt=r.object({name:r.string(),owner:r.string(),remoteUrl:r.string()}),rt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),it=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),jump:Je.nullish(),rename:tt.nullish(),searchAndReplace:rt.nullish()}),at=r.object({id:r.string(),isRegex:r.boolean().nullish(),replace:r.string(),search:r.string(),uri:r.string()}),ot=r.union([r.literal(`automatic`),r.literal(`diagnostic`),r.literal(`manual`)]),st=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),maxCount:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),ct=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),diagnostics:Be.nullish(),editHistory:Ge.nullish(),openFiles:Ye.nullish(),recentFiles:Ze.nullish(),relatedSnippets:et.nullish(),userActions:st.nullish()}),lt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v)}),ut=r.object({default:r.number().nullish(),description:r.string().nullish(),maximum:r.number().nullish(),minimum:r.number().nullish(),title:r.string().nullish()}),b=r.string(),dt=r.union([r.literal(`allow_once`),r.literal(`allow_always`),r.literal(`reject_once`),r.literal(`reject_always`)]),ft=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),kind:dt,name:r.string(),optionId:b}),pt=r.union([r.literal(`high`),r.literal(`medium`),r.literal(`low`)]),mt=r.union([r.literal(`pending`),r.literal(`in_progress`),r.literal(`completed`)]),ht=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.string(),priority:pt,status:mt}),gt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),entries:r.array(ht)}),x=r.object({character:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),_t=r.object({id:r.string(),position:x,uri:r.string()}),vt=r.object({id:r.string(),newName:r.string(),position:x,uri:r.string()}),yt=r.object({action:r.string(),position:x,timestampMs:r.number(),uri:r.string()}),S=r.union([r.literal(`utf-16`),r.literal(`utf-32`),r.literal(`utf-8`)]),bt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),auth:o.optional().default({terminal:!1}),elicitation:xe.nullish(),fs:Te.optional().default({readTextFile:!1,writeTextFile:!1}),nes:it.nullish(),positionEncodings:r.array(S).optional(),terminal:r.boolean().optional().default(!1)}),xt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),audio:r.boolean().optional().default(!1),embeddedContext:r.boolean().optional().default(!1),image:r.boolean().optional().default(!1)}),C=r.number().int().gte(0).lte(65535),St=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),clientCapabilities:bt.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:g.nullish(),protocolVersion:C}),Ct=r.object({apiType:_,baseUrl:r.string()}),wt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),current:Ct.nullish(),id:r.string(),required:r.boolean(),supported:r.array(_)}),Tt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),providers:r.array(wt)}),Et=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),w=r.object({end:x,start:x}),Dt=r.object({message:r.string(),range:w,severity:ze,uri:r.string()}),Ot=r.object({languageId:r.string(),lastFocusedMs:r.number().nullish(),uri:r.string(),visibleRange:w.nullish()}),kt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),diagnostics:r.array(Dt).nullish(),editHistory:r.array(Ke).nullish(),openFiles:r.array(Ot).nullish(),recentFiles:r.array(Xe).nullish(),relatedSnippets:r.array($e).nullish(),userActions:r.array(yt).nullish()}),At=r.object({newText:r.string(),range:w}),jt=r.object({cursorPosition:x.nullish(),edits:r.array(At),id:r.string(),uri:r.string()}),Mt=r.union([jt.and(r.object({kind:r.literal(`edit`)})),_t.and(r.object({kind:r.literal(`jump`)})),vt.and(r.object({kind:r.literal(`rename`)})),at.and(r.object({kind:r.literal(`searchAndReplace`)}))]),Nt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.string()}),Pt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),T=r.union([r.number(),r.string()]).nullable();r.object({_meta:r.record(r.string(),r.unknown()).nullish(),requestId:T});const E=r.object({requestId:T}),Ft=r.enum([`assistant`,`user`]),D=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),audience:r.array(Ft).nullish(),lastModified:r.string().nullish(),priority:r.number().nullish()}),It=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),data:r.string(),mimeType:r.string()}),Lt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),data:r.string(),mimeType:r.string(),uri:r.string().nullish()}),Rt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),description:r.string().nullish(),mimeType:r.string().nullish(),name:r.string(),size:r.number().nullish(),title:r.string().nullish(),uri:r.string()}),zt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),optionId:b}),Bt=r.union([r.object({outcome:r.literal(`cancelled`)}),zt.and(r.object({outcome:r.literal(`selected`)}))]),Vt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),outcome:Bt}),Ht=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Ut=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Wt=r.object({currentValue:r.boolean()}),Gt=r.string(),O=r.string(),Kt=r.union([r.literal(`mode`),r.literal(`model`),r.literal(`thought_level`),r.string()]),k=r.string(),A=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),name:r.string(),value:k}),qt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),group:Gt,name:r.string(),options:r.array(A)}),Jt=r.union([r.array(A),r.array(qt)]),Yt=r.object({currentValue:k,options:Jt}),j=r.intersection(r.union([Yt.and(r.object({type:r.literal(`select`)})),Wt.and(r.object({type:r.literal(`boolean`)}))]),r.object({_meta:r.record(r.string(),r.unknown()).nullish(),category:Kt.nullish(),description:r.string().nullish(),id:O,name:r.string()})),Xt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j)}),Zt=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),M=r.string(),Qt=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),id:r.string(),sessionId:M}),$t=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),en=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),tn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),N=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),args:r.array(r.string()).optional(),command:r.string(),cwd:r.string().nullish(),env:r.array(Se).optional(),outputByteLimit:r.number().nullish(),sessionId:M}),nn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,uri:r.string()}),rn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),position:x,sessionId:M,uri:r.string(),version:r.number(),visibleRange:w}),an=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),languageId:r.string(),sessionId:M,text:r.string(),uri:r.string(),version:r.number()}),on=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,uri:r.string()}),sn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v).optional(),sessionId:M}),P=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),cn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v),sessionId:M}),F=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),limit:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:r.string(),sessionId:M}),ln=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),id:r.string(),reason:Qe.nullish(),sessionId:M}),I=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),un=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),mcpServers:r.array(v).optional(),sessionId:M}),dn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:r.array(r.string()).optional(),cwd:r.string(),sessionId:M,title:r.string().nullish(),updatedAt:r.string().nullish()}),fn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),nextCursor:r.string().nullish(),sessions:r.array(dn)}),pn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),title:r.string().nullish(),updatedAt:r.string().nullish()}),mn=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),L=r.string(),hn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),currentModeId:L}),gn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string().nullish(),id:L,name:r.string()}),R=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),availableModes:r.array(gn),currentModeId:L}),z=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),availableModels:r.array(Re),currentModelId:y}),_n=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish(),sessionId:M}),vn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish()}),yn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish(),sessionId:M}),bn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j).nullish(),models:z.nullish(),modes:R.nullish()}),xn=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Sn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),additionalDirectories:Ht.nullish(),close:Ut.nullish(),fork:Zt.nullish(),list:mn.nullish(),resume:xn.nullish()}),Cn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),apiType:_,baseUrl:r.string(),headers:r.record(r.string(),r.string()).optional(),id:r.string()}),wn=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),Tn=r.intersection(r.union([r.object({type:r.literal(`boolean`),value:r.boolean()}),r.object({value:k})]),r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configId:O,sessionId:M})),En=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),configOptions:r.array(j)}),Dn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),modeId:L,sessionId:M}),On=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),kn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),modelId:y,sessionId:M}),An=r.object({_meta:r.record(r.string(),r.unknown()).nullish()}),jn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M}),Mn=r.union([r.literal(`end_turn`),r.literal(`max_tokens`),r.literal(`max_turn_requests`),r.literal(`refusal`),r.literal(`cancelled`)]),Nn=r.union([r.literal(`email`),r.literal(`uri`),r.literal(`date`),r.literal(`date-time`)]),Pn=r.object({default:r.string().nullish(),description:r.string().nullish(),enum:r.array(r.string()).nullish(),format:Nn.nullish(),maxLength:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:r.array(d).nullish(),pattern:r.string().nullish(),title:r.string().nullish()}),Fn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),context:kt.nullish(),position:x,selection:w.nullish(),sessionId:M,triggerKind:ot,uri:r.string(),version:r.number()}),In=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),suggestions:r.array(Mt)}),Ln=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),terminalId:r.string()}),Rn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),exitCode:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:r.string().nullish()}),B=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),zn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),exitStatus:Rn.nullish(),output:r.string(),truncated:r.boolean()}),Bn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),text:r.string()}),Vn=r.object({range:w.nullish(),text:r.string()}),Hn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),contentChanges:r.array(Vn),sessionId:M,uri:r.string(),version:r.number()});r.object({method:r.string(),params:r.union([$t,an,Hn,nn,on,rn,Qt,ln,p]).nullish()});const Un=r.union([r.literal(`full`),r.literal(`incremental`)]),Wn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),syncKind:Un}),Gn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),didChange:Wn.nullish(),didClose:Ve.nullish(),didFocus:He.nullish(),didOpen:Ue.nullish(),didSave:We.nullish()}),Kn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),document:Gn.nullish()}),qn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),context:ct.nullish(),events:Kn.nullish()}),Jn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),auth:je.optional().default({}),loadSession:r.boolean().optional().default(!1),mcpCapabilities:Pe.optional().default({http:!1,sse:!1}),nes:qn.nullish(),positionEncoding:S.nullish(),promptCapabilities:xt.optional().default({audio:!1,embeddedContext:!1,image:!1}),providers:Et.nullish(),sessionCapabilities:Sn.optional().default({})}),Yn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),agentCapabilities:Jn.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:g.nullish(),authMethods:r.array(ne).optional().default([]),protocolVersion:C}),Xn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),mimeType:r.string().nullish(),text:r.string(),uri:r.string()}),Zn=r.union([Xn,ae]),Qn=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),annotations:D.nullish(),resource:Zn}),V=r.union([Bn.and(r.object({type:r.literal(`text`)})),Lt.and(r.object({type:r.literal(`image`)})),It.and(r.object({type:r.literal(`audio`)})),Rt.and(r.object({type:r.literal(`resource_link`)})),Qn.and(r.object({type:r.literal(`resource`)}))]),$n=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:V}),H=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:V,messageId:r.string().nullish()}),er=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),messageId:r.string().nullish(),prompt:r.array(V),sessionId:M}),tr=r.object({anyOf:r.array(d)}),U=r.union([$n.and(r.object({type:r.literal(`content`)})),de.and(r.object({type:r.literal(`diff`)})),Ln.and(r.object({type:r.literal(`terminal`)}))]),W=r.string(),G=r.object({sessionId:M,toolCallId:W.nullish()}),nr=r.intersection(r.union([G,E]),r.object({elicitationId:l,url:r.string().url()})),K=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),line:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:r.string()}),q=r.union([r.literal(`pending`),r.literal(`in_progress`),r.literal(`completed`),r.literal(`failed`)]),J=r.union([r.literal(`read`),r.literal(`edit`),r.literal(`delete`),r.literal(`move`),r.literal(`search`),r.literal(`execute`),r.literal(`think`),r.literal(`fetch`),r.literal(`switch_mode`),r.literal(`other`)]),rr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.array(U).optional(),kind:J.optional(),locations:r.array(K).optional(),rawInput:r.unknown().optional(),rawOutput:r.unknown().optional(),status:q.optional(),title:r.string(),toolCallId:W}),Y=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.array(U).nullish(),kind:J.nullish(),locations:r.array(K).nullish(),rawInput:r.unknown().optional(),rawOutput:r.unknown().optional(),status:q.nullish(),title:r.string().nullish(),toolCallId:W}),X=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),options:r.array(ft),sessionId:M,toolCall:Y}),ir=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),hint:r.string()}),ar=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),description:r.string(),input:ir.nullish(),name:r.string()}),or=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),availableCommands:r.array(ar)}),sr=r.object({enum:r.array(r.string()),type:ye}),cr=r.union([sr,tr]),lr=r.object({default:r.array(r.string()).nullish(),description:r.string().nullish(),items:cr,maxItems:r.number().nullish(),minItems:r.number().nullish(),title:r.string().nullish()}),ur=r.union([Pn.and(r.object({type:r.literal(`string`)})),ut.and(r.object({type:r.literal(`number`)})),Ee.and(r.object({type:r.literal(`integer`)})),oe.and(r.object({type:r.literal(`boolean`)})),lr.and(r.object({type:r.literal(`array`)}))]),dr=r.object({description:r.string().nullish(),properties:r.record(r.string(),ur).optional().default({}),required:r.array(r.string()).nullish(),title:r.string().nullish(),type:ve.optional().default(`object`)}),fr=r.intersection(r.union([G,E]),r.object({requestedSchema:dr})),Z=r.intersection(r.union([fr.and(r.object({mode:r.literal(`form`)})),nr.and(r.object({mode:r.literal(`url`)}))]),r.object({_meta:r.record(r.string(),r.unknown()).nullish(),message:r.string()})),pr=r.object({cachedReadTokens:r.number().nullish(),cachedWriteTokens:r.number().nullish(),inputTokens:r.number(),outputTokens:r.number(),thoughtTokens:r.number().nullish(),totalTokens:r.number()}),mr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),stopReason:Mn,usage:pr.nullish(),userMessageId:r.string().nullish()});r.union([r.object({id:T,result:r.union([Yn,ie,Tt,wn,pe,Ne,yn,vn,fn,_n,bn,ce,On,En,mr,An,jn,In,se,we])}),r.object({error:f,id:T})]);const hr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),cost:le.nullish(),size:r.number(),used:r.number()}),gr=r.union([H.and(r.object({sessionUpdate:r.literal(`user_message_chunk`)})),H.and(r.object({sessionUpdate:r.literal(`agent_message_chunk`)})),H.and(r.object({sessionUpdate:r.literal(`agent_thought_chunk`)})),rr.and(r.object({sessionUpdate:r.literal(`tool_call`)})),Y.and(r.object({sessionUpdate:r.literal(`tool_call_update`)})),gt.and(r.object({sessionUpdate:r.literal(`plan`)})),or.and(r.object({sessionUpdate:r.literal(`available_commands_update`)})),hn.and(r.object({sessionUpdate:r.literal(`current_mode_update`)})),Xt.and(r.object({sessionUpdate:r.literal(`config_option_update`)})),pn.and(r.object({sessionUpdate:r.literal(`session_info_update`)})),hr.and(r.object({sessionUpdate:r.literal(`usage_update`)}))]),_r=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,update:gr});r.object({method:r.string(),params:r.union([_r,u,p]).nullish()});const vr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),sessionId:M,terminalId:r.string()}),yr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),exitCode:r.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:r.string().nullish()}),br=r.object({name:r.string(),uri:r.string()}),xr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),repository:nt.nullish(),workspaceFolders:r.array(br).nullish(),workspaceUri:r.string().nullish()});r.object({id:T,method:r.string(),params:r.union([St,re,Oe,Cn,fe,Me,lt,cn,ke,sn,un,tn,Dn,Tn,er,kn,xr,Fn,en,m]).nullish()});const Sr=r.object({_meta:r.record(r.string(),r.unknown()).nullish(),content:r.string(),path:r.string(),sessionId:M});r.object({id:T,method:r.string(),params:r.union([Sr,F,X,N,B,I,vr,P,Z,m]).nullish()});const Cr=r.object({_meta:r.record(r.string(),r.unknown()).nullish()});r.union([r.object({id:T,result:r.union([Cr,Nt,Vt,ue,zn,Pt,yr,De,ge,we])}),r.object({error:f,id:T})]);function wr(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a){n+=r.decode();break}if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
2
2
  `);n=o.pop()||``;for(let t of o){let n=t.trim();if(n)try{let t=JSON.parse(n);e.enqueue(t)}catch(e){console.error(`Failed to parse JSON message:`,n,e)}}}let t=n.trim();if(t)try{let n=JSON.parse(t);e.enqueue(n)}catch(e){console.error(`Failed to parse JSON message:`,t,e)}}catch(t){e.error(t);return}finally{i.releaseLock()}e.close()}}),writable:new WritableStream({async write(t){let r=JSON.stringify(t)+`
3
- `,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}var wr=class{connection;constructor(e,t){let n=e(this),r=async(e,t)=>{switch(e){case a.fs_write_text_file:{let e=xr.parse(t);return n.writeTextFile?.(e)}case a.fs_read_text_file:{let e=F.parse(t);return n.readTextFile?.(e)}case a.session_request_permission:{let e=X.parse(t);return n.requestPermission(e)}case a.terminal_create:{let e=N.parse(t);return n.createTerminal?.(e)}case a.terminal_output:{let e=B.parse(t);return n.terminalOutput?.(e)}case a.terminal_release:{let e=I.parse(t);return await n.releaseTerminal?.(e)??{}}case a.terminal_wait_for_exit:{let e=_r.parse(t);return n.waitForTerminalExit?.(e)}case a.terminal_kill:{let e=P.parse(t);return await n.killTerminal?.(e)??{}}case a.elicitation_create:{if(!n.unstable_createElicitation)throw $.methodNotFound(e);let r=Z.parse(t);return n.unstable_createElicitation(r)}default:if(n.extMethod)return n.extMethod(e,t);throw $.methodNotFound(e)}},i=async(e,t)=>{switch(e){case a.session_update:{let e=Q.parse(t);return n.sessionUpdate(e)}case a.elicitation_complete:{if(!n.unstable_completeElicitation)return;let e=l.parse(t);return n.unstable_completeElicitation(e)}default:if(n.extNotification)return n.extNotification(e,t);throw $.methodNotFound(e)}};this.connection=new Tr(r,i,t)}async initialize(e){return await this.connection.sendRequest(i.initialize,e)}async newSession(e){return await this.connection.sendRequest(i.session_new,e)}async loadSession(e){return await this.connection.sendRequest(i.session_load,e)??{}}async unstable_forkSession(e){return await this.connection.sendRequest(i.session_fork,e)}async listSessions(e){return await this.connection.sendRequest(i.session_list,e)}async resumeSession(e){return await this.connection.sendRequest(i.session_resume,e)}async closeSession(e){return await this.connection.sendRequest(i.session_close,e)}async setSessionMode(e){return await this.connection.sendRequest(i.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.connection.sendRequest(i.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.connection.sendRequest(i.session_set_config_option,e)}async authenticate(e){return await this.connection.sendRequest(i.authenticate,e)??{}}async unstable_listProviders(e){return await this.connection.sendRequest(i.providers_list,e)}async unstable_setProvider(e){return await this.connection.sendRequest(i.providers_set,e)??{}}async unstable_disableProvider(e){return await this.connection.sendRequest(i.providers_disable,e)??{}}async unstable_logout(e){return await this.connection.sendRequest(i.logout,e)??{}}async prompt(e){return await this.connection.sendRequest(i.session_prompt,e)}async cancel(e){return await this.connection.sendNotification(i.session_cancel,e)}async unstable_startNes(e){return await this.connection.sendRequest(i.nes_start,e)}async unstable_suggestNes(e){return await this.connection.sendRequest(i.nes_suggest,e)}async unstable_closeNes(e){return await this.connection.sendRequest(i.nes_close,e)??{}}async unstable_didOpenDocument(e){return await this.connection.sendNotification(i.document_did_open,e)}async unstable_didChangeDocument(e){return await this.connection.sendNotification(i.document_did_change,e)}async unstable_didCloseDocument(e){return await this.connection.sendNotification(i.document_did_close,e)}async unstable_didSaveDocument(e){return await this.connection.sendNotification(i.document_did_save,e)}async unstable_didFocusDocument(e){return await this.connection.sendNotification(i.document_did_focus,e)}async unstable_acceptNes(e){return await this.connection.sendNotification(i.nes_accept,e)}async unstable_rejectNes(e){return await this.connection.sendNotification(i.nes_reject,e)}async extMethod(e,t){return await this.connection.sendRequest(e,t)}async extNotification(e,t){return await this.connection.sendNotification(e,t)}get signal(){return this.connection.signal}get closed(){return this.connection.closed}},Tr=class{pendingResponses=new Map;nextRequestId=0;requestHandler;notificationHandler;stream;writeQueue=Promise.resolve();abortController=new AbortController;closedPromise;constructor(e,t,n){this.requestHandler=e,this.notificationHandler=t,this.stream=n,this.closedPromise=new Promise(e=>{this.abortController.signal.addEventListener(`abort`,()=>e())}),this.receive()}get signal(){return this.abortController.signal}get closed(){return this.closedPromise}async receive(){let e;try{let e=this.stream.readable.getReader();try{for(;!this.abortController.signal.aborted;){let{value:t,done:n}=await e.read();if(n)break;if(t)try{this.processMessage(t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&this.sendMessage({jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock()}}catch(t){e=t}finally{this.close(e)}}close(e){if(this.abortController.signal.aborted)return;let t=e??Error(`ACP connection closed`);for(let e of this.pendingResponses.values())e.reject(t);this.pendingResponses.clear(),this.abortController.abort(t)}async processMessage(e){if(`method`in e&&`id`in e){let t=await this.tryCallRequestHandler(e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await this.sendMessage({jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await this.tryCallNotificationHandler(e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else `id`in e?this.handleResponse(e):console.error(`Invalid message`,{message:e})}async tryCallRequestHandler(e,t){try{return{result:await this.requestHandler(e,t)??null}}catch(e){if(e instanceof $)return e.toResult();if(e instanceof r.ZodError)return $.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return $.internalError(t?JSON.parse(t):{}).toResult()}catch{return $.internalError({details:t}).toResult()}}}async tryCallNotificationHandler(e,t){try{return await this.notificationHandler(e,t),{result:null}}catch(e){if(e instanceof $)return e.toResult();if(e instanceof r.ZodError)return $.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return $.internalError(t?JSON.parse(t):{}).toResult()}catch{return $.internalError({details:t}).toResult()}}}handleResponse(e){let t=this.pendingResponses.get(e.id);if(t){if(`result`in e)t.resolve(e.result);else if(`error`in e){let{code:n,message:r,data:i}=e.error;t.reject(new $(n,r,i))}this.pendingResponses.delete(e.id)}else console.error(`Got response to unknown request`,e.id)}sendRequest(e,t){this.throwIfClosed();let n=this.nextRequestId++,r=new Promise((e,t)=>{this.pendingResponses.set(n,{resolve:e,reject:t})});return r.catch(()=>{}),this.sendMessage({jsonrpc:`2.0`,id:n,method:e,params:t}),r}async sendNotification(e,t){this.throwIfClosed(),await this.sendMessage({jsonrpc:`2.0`,method:e,params:t})}throwIfClosed(){if(this.abortController.signal.aborted)throw this.abortController.signal.reason??Error(`ACP connection closed`)}async sendMessage(e){return this.writeQueue=this.writeQueue.then(async()=>{let t=this.stream.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{this.close(e)}),this.writeQueue}},$=class e extends Error{code;data;constructor(e,t,n){super(t),this.code=e,this.name=`RequestError`,this.data=n}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};function Er(e){return new Promise((t,n)=>{let r=()=>{e.off(`error`,i),t()},i=t=>{e.off(`spawn`,r),n(t)};e.once(`spawn`,r),e.once(`error`,i)})}async function Dr(e){e.stdin?.destroy(),e.stdout?.destroy(),e.stderr?.destroy(),e.kill(`SIGTERM`),await new Promise(t=>{e.once(`exit`,()=>t()),e.once(`close`,()=>t()),setTimeout(t,100)})}function Or(e){return e}function kr(e){return e}async function Ar(r,i){let a=e(i.command,i.args,{cwd:i.cwd,env:i.env,stdio:[`pipe`,`pipe`,`pipe`]});try{await Er(a)}catch(e){throw i.onError?.(e),e}i.onStderr&&a.stderr&&a.stderr.on(`data`,e=>{i.onStderr(e.toString(`utf-8`))});let o=new Promise(e=>{a.once(`exit`,t=>{i.onExit?.(t),e(t)})});a.on(`error`,e=>{i.onError?.(e)});let s;try{let e=t.toWeb(a.stdout);s=new wr(r,Cr(kr(n.toWeb(a.stdin)),Or(e)))}catch(e){throw await Dr(a),e}return{connection:s,kill:()=>a.kill(`SIGTERM`),exited:o}}var jr=class{config;constructor(e){this.config=e}async sessionUpdate(e){await this.config.onSessionUpdate(e)}async requestPermission(e){return this.config.onRequestPermission(e)}async readTextFile(e){if(!this.config.onReadTextFile)throw Error(`readTextFile not supported: no handler configured`);return this.config.onReadTextFile(e)}async writeTextFile(e){if(!this.config.onWriteTextFile)throw Error(`writeTextFile not supported: no handler configured`);return this.config.onWriteTextFile(e)}async createTerminal(e){if(!this.config.terminalManager)throw Error(`createTerminal not supported: no terminal manager configured`);return this.config.terminalManager.createTerminal(e)}async terminalOutput(e){if(!this.config.terminalManager)throw Error(`terminalOutput not supported: no terminal manager configured`);return this.config.terminalManager.getOutput(e)}async waitForTerminalExit(e){if(!this.config.terminalManager)throw Error(`waitForTerminalExit not supported: no terminal manager configured`);return this.config.terminalManager.waitForExit(e)}async killTerminal(e){if(!this.config.terminalManager)throw Error(`killTerminal not supported: no terminal manager configured`);return this.config.terminalManager.killTerminal(e)}async releaseTerminal(e){if(!this.config.terminalManager)throw Error(`releaseTerminal not supported: no terminal manager configured`);return this.config.terminalManager.releaseTerminal(e)}},Mr=class{terminals=new Map;baseEnv;scrubEnvVars;nextId=0;constructor(e){this.scrubEnvVars=new Set(e.scrubEnvVars??[]),this.baseEnv=Object.freeze(Object.fromEntries(Object.entries(e.baseEnv).filter(([e])=>!this.scrubEnvVars.has(e))))}async createTerminal(t){let n=`terminal-${(++this.nextId).toString()}`,r=t.outputByteLimit??1024*1024,i=(t.env??[]).filter(({name:e})=>!this.scrubEnvVars.has(e)).map(({name:e,value:t})=>[e,t]),a=Object.fromEntries([...Object.entries(this.baseEnv),...i]),o=e(t.command,t.args??[],{cwd:t.cwd??void 0,env:a,stdio:[`pipe`,`pipe`,`pipe`]});try{await Er(o)}catch(e){throw await Dr(o),e}let s={process:o,output:``,outputByteLimit:r,truncated:!1,exitCode:void 0,signal:void 0,hasExited:!1,exitPromise:new Promise(e=>{o.on(`exit`,(e,t)=>{s.exitCode=e,s.signal=t??null}),o.on(`close`,()=>{s.hasExited=!0,e({exitCode:s.exitCode??null,signal:s.signal??null})})})},c=e=>{if(s.output+=e.toString(`utf-8`),Buffer.byteLength(s.output,`utf-8`)>s.outputByteLimit){let e=Buffer.from(s.output,`utf-8`),t=e.length-s.outputByteLimit;for(;t<e.length&&(e[t]&192)==128;)t+=1;s.output=e.subarray(t).toString(`utf-8`),s.truncated=!0}};return o.stdout?.on(`data`,c),o.stderr?.on(`data`,c),this.terminals.set(n,s),{terminalId:n}}async getOutput(e){let t=this.requireTerminal(e.terminalId);return{output:t.output,truncated:t.truncated,...t.hasExited&&{exitStatus:{exitCode:t.exitCode??null,signal:t.signal??null}}}}async waitForExit(e){let{exitCode:t,signal:n}=await this.requireTerminal(e.terminalId).exitPromise;return{exitCode:t??void 0,signal:n??void 0}}async killTerminal(e){return this.requireTerminal(e.terminalId).process.kill(`SIGTERM`),{}}async releaseTerminal(e){let t=this.terminals.get(e.terminalId);return t&&(t.process.kill(`SIGKILL`),this.terminals.delete(e.terminalId)),{}}releaseAll(){for(let[e,t]of this.terminals)t.process.kill(`SIGKILL`),this.terminals.delete(e)}requireTerminal(e){let t=this.terminals.get(e);if(!t)throw Error(`Terminal not found: ${e}`);return t}};export{jr as MakaioAcpClient,Mr as TerminalManager,Ar as createAcpConnection};
3
+ `,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}var Tr=class{connection;constructor(e,t){let n=e(this),r=async(e,t)=>{switch(e){case a.fs_write_text_file:{let e=Sr.parse(t);return n.writeTextFile?.(e)}case a.fs_read_text_file:{let e=F.parse(t);return n.readTextFile?.(e)}case a.session_request_permission:{let e=X.parse(t);return n.requestPermission(e)}case a.terminal_create:{let e=N.parse(t);return n.createTerminal?.(e)}case a.terminal_output:{let e=B.parse(t);return n.terminalOutput?.(e)}case a.terminal_release:{let e=I.parse(t);return await n.releaseTerminal?.(e)??{}}case a.terminal_wait_for_exit:{let e=vr.parse(t);return n.waitForTerminalExit?.(e)}case a.terminal_kill:{let e=P.parse(t);return await n.killTerminal?.(e)??{}}case a.elicitation_create:{if(!n.unstable_createElicitation)throw Q.methodNotFound(e);let r=Z.parse(t);return n.unstable_createElicitation(r)}default:if(n.extMethod)return n.extMethod(e,t);throw Q.methodNotFound(e)}},i=async(e,t)=>{switch(e){case a.session_update:{let e=_r.parse(t);return n.sessionUpdate(e)}case a.elicitation_complete:{if(!n.unstable_completeElicitation)return;let e=u.parse(t);return n.unstable_completeElicitation(e)}default:if(n.extNotification)return n.extNotification(e,t);throw Q.methodNotFound(e)}};this.connection=new Er(r,i,t)}async initialize(e){return await this.connection.sendRequest(i.initialize,e)}async newSession(e){return await this.connection.sendRequest(i.session_new,e)}async loadSession(e){return await this.connection.sendRequest(i.session_load,e)??{}}async unstable_forkSession(e){return await this.connection.sendRequest(i.session_fork,e)}async listSessions(e){return await this.connection.sendRequest(i.session_list,e)}async resumeSession(e){return await this.connection.sendRequest(i.session_resume,e)}async closeSession(e){return await this.connection.sendRequest(i.session_close,e)}async setSessionMode(e){return await this.connection.sendRequest(i.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.connection.sendRequest(i.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.connection.sendRequest(i.session_set_config_option,e)}async authenticate(e){return await this.connection.sendRequest(i.authenticate,e)??{}}async unstable_listProviders(e){return await this.connection.sendRequest(i.providers_list,e)}async unstable_setProvider(e){return await this.connection.sendRequest(i.providers_set,e)??{}}async unstable_disableProvider(e){return await this.connection.sendRequest(i.providers_disable,e)??{}}async unstable_logout(e){return await this.connection.sendRequest(i.logout,e)??{}}async prompt(e){return await this.connection.sendRequest(i.session_prompt,e)}async cancel(e){return await this.connection.sendNotification(i.session_cancel,e)}async unstable_startNes(e){return await this.connection.sendRequest(i.nes_start,e)}async unstable_suggestNes(e){return await this.connection.sendRequest(i.nes_suggest,e)}async unstable_closeNes(e){return await this.connection.sendRequest(i.nes_close,e)??{}}async unstable_didOpenDocument(e){return await this.connection.sendNotification(i.document_did_open,e)}async unstable_didChangeDocument(e){return await this.connection.sendNotification(i.document_did_change,e)}async unstable_didCloseDocument(e){return await this.connection.sendNotification(i.document_did_close,e)}async unstable_didSaveDocument(e){return await this.connection.sendNotification(i.document_did_save,e)}async unstable_didFocusDocument(e){return await this.connection.sendNotification(i.document_did_focus,e)}async unstable_acceptNes(e){return await this.connection.sendNotification(i.nes_accept,e)}async unstable_rejectNes(e){return await this.connection.sendNotification(i.nes_reject,e)}async extMethod(e,t){return await this.connection.sendRequest(e,t)}async extNotification(e,t){return await this.connection.sendNotification(e,t)}get signal(){return this.connection.signal}get closed(){return this.connection.closed}},Er=class{pendingResponses=new Map;nextRequestId=0;requestHandler;notificationHandler;stream;writeQueue=Promise.resolve();abortController=new AbortController;closedPromise;constructor(e,t,n){this.requestHandler=e,this.notificationHandler=t,this.stream=n,this.closedPromise=new Promise(e=>{this.abortController.signal.addEventListener(`abort`,()=>e())}),this.receive()}get signal(){return this.abortController.signal}get closed(){return this.closedPromise}async receive(){let e;try{let e=this.stream.readable.getReader();try{for(;!this.abortController.signal.aborted;){let{value:t,done:n}=await e.read();if(n)break;if(t)try{this.processMessage(t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&this.sendMessage({jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock()}}catch(t){e=t}finally{this.close(e)}}close(e){if(this.abortController.signal.aborted)return;let t=e??Error(`ACP connection closed`);for(let e of this.pendingResponses.values())e.reject(t);this.pendingResponses.clear(),this.abortController.abort(t)}async processMessage(e){if(`method`in e&&`id`in e){let t=await this.tryCallRequestHandler(e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await this.sendMessage({jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await this.tryCallNotificationHandler(e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else `id`in e?this.handleResponse(e):console.error(`Invalid message`,{message:e})}async tryCallRequestHandler(e,t){try{return{result:await this.requestHandler(e,t)??null}}catch(e){if(e instanceof Q)return e.toResult();if(e instanceof r.ZodError)return Q.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return Q.internalError(t?JSON.parse(t):{}).toResult()}catch{return Q.internalError({details:t}).toResult()}}}async tryCallNotificationHandler(e,t){try{return await this.notificationHandler(e,t),{result:null}}catch(e){if(e instanceof Q)return e.toResult();if(e instanceof r.ZodError)return Q.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return Q.internalError(t?JSON.parse(t):{}).toResult()}catch{return Q.internalError({details:t}).toResult()}}}handleResponse(e){let t=this.pendingResponses.get(e.id);if(t){if(`result`in e)t.resolve(e.result);else if(`error`in e){let{code:n,message:r,data:i}=e.error;t.reject(new Q(n,r,i))}this.pendingResponses.delete(e.id)}else console.error(`Got response to unknown request`,e.id)}sendRequest(e,t){this.throwIfClosed();let n=this.nextRequestId++,r=new Promise((e,t)=>{this.pendingResponses.set(n,{resolve:e,reject:t})});return r.catch(()=>{}),this.sendMessage({jsonrpc:`2.0`,id:n,method:e,params:t}),r}async sendNotification(e,t){this.throwIfClosed(),await this.sendMessage({jsonrpc:`2.0`,method:e,params:t})}throwIfClosed(){if(this.abortController.signal.aborted)throw this.abortController.signal.reason??Error(`ACP connection closed`)}async sendMessage(e){return this.writeQueue=this.writeQueue.then(async()=>{let t=this.stream.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{this.close(e)}),this.writeQueue}},Q=class e extends Error{code;data;constructor(e,t,n){super(t),this.code=e,this.name=`RequestError`,this.data=n}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};function Dr(e,t){return new Promise((n,r)=>{let i,a=()=>{e.off(`spawn`,o),e.off(`error`,s),t.signal?.removeEventListener(`abort`,c),i!==void 0&&clearTimeout(i)},o=()=>{a(),n()},s=e=>{a(),r(e)},c=()=>{a(),r(Error(`Spawn wait was aborted before the process started.`))};if(t.signal?.aborted===!0){c();return}e.once(`spawn`,o),e.once(`error`,s),t.signal?.addEventListener(`abort`,c,{once:!0}),i=setTimeout(()=>{a(),r(Error(`Process did not start within ${t.timeoutMs}ms.`))},t.timeoutMs)})}async function $(e){e.stdin?.destroy(),e.stdout?.destroy(),e.stderr?.destroy(),e.kill(`SIGTERM`),await new Promise(t=>{e.once(`exit`,()=>t()),e.once(`close`,()=>t()),setTimeout(t,100)})}function Or(e){return e}function kr(e){return e}async function Ar(r,i){let a=e(i.command,i.args,{cwd:i.cwd,env:i.env,stdio:[`pipe`,`pipe`,`pipe`]}),o=new Promise(e=>{a.once(`exit`,t=>{i.onExit?.(t),e(t)})});try{await Dr(a,{timeoutMs:i.spawnTimeoutMs,...i.signal===void 0?{}:{signal:i.signal}})}catch(e){throw await $(a),i.onError?.(e),e}i.onStderr&&a.stderr&&a.stderr.on(`data`,e=>{i.onStderr(e.toString(`utf-8`))}),a.on(`error`,e=>{i.onError?.(e)});let s;try{let e=t.toWeb(a.stdout);s=new Tr(r,wr(kr(n.toWeb(a.stdin)),Or(e)))}catch(e){throw await $(a),e}return{connection:s,kill:()=>a.kill(`SIGTERM`),exited:o}}var jr=class{config;constructor(e){this.config=e}async sessionUpdate(e){await this.config.onSessionUpdate(e)}async requestPermission(e){return this.config.onRequestPermission(e)}async readTextFile(e){if(!this.config.onReadTextFile)throw Error(`readTextFile not supported: no handler configured`);return this.config.onReadTextFile(e)}async writeTextFile(e){if(!this.config.onWriteTextFile)throw Error(`writeTextFile not supported: no handler configured`);return this.config.onWriteTextFile(e)}async createTerminal(e){if(!this.config.terminalManager)throw Error(`createTerminal not supported: no terminal manager configured`);return this.config.terminalManager.createTerminal(e)}async terminalOutput(e){if(!this.config.terminalManager)throw Error(`terminalOutput not supported: no terminal manager configured`);return this.config.terminalManager.getOutput(e)}async waitForTerminalExit(e){if(!this.config.terminalManager)throw Error(`waitForTerminalExit not supported: no terminal manager configured`);return this.config.terminalManager.waitForExit(e)}async killTerminal(e){if(!this.config.terminalManager)throw Error(`killTerminal not supported: no terminal manager configured`);return this.config.terminalManager.killTerminal(e)}async releaseTerminal(e){if(!this.config.terminalManager)throw Error(`releaseTerminal not supported: no terminal manager configured`);return this.config.terminalManager.releaseTerminal(e)}},Mr=class{terminals=new Map;retiredExits=[];baseEnv;scrubEnvVars;spawnTimeoutMs;nextId=0;constructor(e){this.spawnTimeoutMs=e.spawnTimeoutMs,this.scrubEnvVars=new Set(e.scrubEnvVars??[]),this.baseEnv=Object.freeze(Object.fromEntries(Object.entries(e.baseEnv).filter(([e])=>!this.scrubEnvVars.has(e))))}async createTerminal(t){let n=`terminal-${(++this.nextId).toString()}`,r=t.outputByteLimit??1024*1024,i=(t.env??[]).filter(({name:e})=>!this.scrubEnvVars.has(e)).map(({name:e,value:t})=>[e,t]),a=Object.fromEntries([...Object.entries(this.baseEnv),...i]),o=e(t.command,t.args??[],{cwd:t.cwd??void 0,env:a,stdio:[`pipe`,`pipe`,`pipe`]}),s={process:o,output:``,outputByteLimit:r,truncated:!1,exitCode:void 0,signal:void 0,hasExited:!1,exitPromise:new Promise(e=>{o.on(`exit`,(e,t)=>{s.exitCode=e,s.signal=t??null}),o.on(`close`,()=>{s.hasExited=!0,e({exitCode:s.exitCode??null,signal:s.signal??null})})})},c=e=>{if(s.output+=e.toString(`utf-8`),Buffer.byteLength(s.output,`utf-8`)>s.outputByteLimit){let e=Buffer.from(s.output,`utf-8`),t=e.length-s.outputByteLimit;for(;t<e.length&&(e[t]&192)==128;)t+=1;s.output=e.subarray(t).toString(`utf-8`),s.truncated=!0}};o.stdout?.on(`data`,c),o.stderr?.on(`data`,c);try{await Dr(o,{timeoutMs:this.spawnTimeoutMs})}catch(e){throw await $(o),e}return this.terminals.set(n,s),{terminalId:n}}async getOutput(e){let t=this.requireTerminal(e.terminalId);return{output:t.output,truncated:t.truncated,...t.hasExited&&{exitStatus:{exitCode:t.exitCode??null,signal:t.signal??null}}}}async waitForExit(e){let{exitCode:t,signal:n}=await this.requireTerminal(e.terminalId).exitPromise;return{exitCode:t??void 0,signal:n??void 0}}async killTerminal(e){return this.requireTerminal(e.terminalId).process.kill(`SIGTERM`),{}}async releaseTerminal(e){let t=this.terminals.get(e.terminalId);return t&&(t.process.kill(`SIGKILL`),this.terminals.delete(e.terminalId),this.retiredExits.push(t.exitPromise)),{}}releaseAll(){let e=this.retiredExits.splice(0);for(let[t,n]of this.terminals)n.process.kill(`SIGKILL`),e.push(n.exitPromise),this.terminals.delete(t);return e}requireTerminal(e){let t=this.terminals.get(e);if(!t)throw Error(`Terminal not found: ${e}`);return t}};export{jr as MakaioAcpClient,Mr as TerminalManager,Ar as createAcpConnection};
@@ -4993,16 +4993,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
4993
4993
  adapterId: z.ZodString;
4994
4994
  agentId: z.ZodString;
4995
4995
  oldState: z.ZodEnum<{
4996
- paused: "paused";
4997
4996
  idle: "idle";
4997
+ paused: "paused";
4998
4998
  turn_started: "turn_started";
4999
4999
  step_started: "step_started";
5000
5000
  step_finished: "step_finished";
5001
5001
  turn_finished: "turn_finished";
5002
5002
  }>;
5003
5003
  newState: z.ZodEnum<{
5004
- paused: "paused";
5005
5004
  idle: "idle";
5005
+ paused: "paused";
5006
5006
  turn_started: "turn_started";
5007
5007
  step_started: "step_started";
5008
5008
  step_finished: "step_finished";
@@ -5014,16 +5014,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
5014
5014
  adapterId: z.ZodString;
5015
5015
  agentId: z.ZodString;
5016
5016
  oldState: z.ZodEnum<{
5017
- paused: "paused";
5018
5017
  idle: "idle";
5018
+ paused: "paused";
5019
5019
  turn_started: "turn_started";
5020
5020
  step_started: "step_started";
5021
5021
  step_finished: "step_finished";
5022
5022
  turn_finished: "turn_finished";
5023
5023
  }>;
5024
5024
  newState: z.ZodEnum<{
5025
- paused: "paused";
5026
5025
  idle: "idle";
5026
+ paused: "paused";
5027
5027
  turn_started: "turn_started";
5028
5028
  step_started: "step_started";
5029
5029
  step_finished: "step_finished";
@@ -5035,16 +5035,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
5035
5035
  adapterId: z.ZodString;
5036
5036
  agentId: z.ZodString;
5037
5037
  oldState: z.ZodEnum<{
5038
- paused: "paused";
5039
5038
  idle: "idle";
5039
+ paused: "paused";
5040
5040
  turn_started: "turn_started";
5041
5041
  step_started: "step_started";
5042
5042
  step_finished: "step_finished";
5043
5043
  turn_finished: "turn_finished";
5044
5044
  }>;
5045
5045
  newState: z.ZodEnum<{
5046
- paused: "paused";
5047
5046
  idle: "idle";
5047
+ paused: "paused";
5048
5048
  turn_started: "turn_started";
5049
5049
  step_started: "step_started";
5050
5050
  step_finished: "step_finished";
@@ -5056,16 +5056,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
5056
5056
  adapterId: z.ZodString;
5057
5057
  agentId: z.ZodString;
5058
5058
  oldState: z.ZodEnum<{
5059
- paused: "paused";
5060
5059
  idle: "idle";
5060
+ paused: "paused";
5061
5061
  turn_started: "turn_started";
5062
5062
  step_started: "step_started";
5063
5063
  step_finished: "step_finished";
5064
5064
  turn_finished: "turn_finished";
5065
5065
  }>;
5066
5066
  newState: z.ZodEnum<{
5067
- paused: "paused";
5068
5067
  idle: "idle";
5068
+ paused: "paused";
5069
5069
  turn_started: "turn_started";
5070
5070
  step_started: "step_started";
5071
5071
  step_finished: "step_finished";
@@ -5077,16 +5077,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
5077
5077
  adapterId: z.ZodString;
5078
5078
  agentId: z.ZodString;
5079
5079
  oldState: z.ZodEnum<{
5080
- paused: "paused";
5081
5080
  idle: "idle";
5081
+ paused: "paused";
5082
5082
  turn_started: "turn_started";
5083
5083
  step_started: "step_started";
5084
5084
  step_finished: "step_finished";
5085
5085
  turn_finished: "turn_finished";
5086
5086
  }>;
5087
5087
  newState: z.ZodEnum<{
5088
- paused: "paused";
5089
5088
  idle: "idle";
5089
+ paused: "paused";
5090
5090
  turn_started: "turn_started";
5091
5091
  step_started: "step_started";
5092
5092
  step_finished: "step_finished";
@@ -5098,16 +5098,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
5098
5098
  adapterId: z.ZodString;
5099
5099
  agentId: z.ZodString;
5100
5100
  oldState: z.ZodEnum<{
5101
- paused: "paused";
5102
5101
  idle: "idle";
5102
+ paused: "paused";
5103
5103
  turn_started: "turn_started";
5104
5104
  step_started: "step_started";
5105
5105
  step_finished: "step_finished";
5106
5106
  turn_finished: "turn_finished";
5107
5107
  }>;
5108
5108
  newState: z.ZodEnum<{
5109
- paused: "paused";
5110
5109
  idle: "idle";
5110
+ paused: "paused";
5111
5111
  turn_started: "turn_started";
5112
5112
  step_started: "step_started";
5113
5113
  step_finished: "step_finished";
@@ -7620,16 +7620,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
7620
7620
  adapterId: z.ZodString;
7621
7621
  agentId: z.ZodString;
7622
7622
  oldState: z.ZodEnum<{
7623
- paused: "paused";
7624
7623
  idle: "idle";
7624
+ paused: "paused";
7625
7625
  turn_started: "turn_started";
7626
7626
  step_started: "step_started";
7627
7627
  step_finished: "step_finished";
7628
7628
  turn_finished: "turn_finished";
7629
7629
  }>;
7630
7630
  newState: z.ZodEnum<{
7631
- paused: "paused";
7632
7631
  idle: "idle";
7632
+ paused: "paused";
7633
7633
  turn_started: "turn_started";
7634
7634
  step_started: "step_started";
7635
7635
  step_finished: "step_finished";
@@ -7641,16 +7641,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
7641
7641
  adapterId: z.ZodString;
7642
7642
  agentId: z.ZodString;
7643
7643
  oldState: z.ZodEnum<{
7644
- paused: "paused";
7645
7644
  idle: "idle";
7645
+ paused: "paused";
7646
7646
  turn_started: "turn_started";
7647
7647
  step_started: "step_started";
7648
7648
  step_finished: "step_finished";
7649
7649
  turn_finished: "turn_finished";
7650
7650
  }>;
7651
7651
  newState: z.ZodEnum<{
7652
- paused: "paused";
7653
7652
  idle: "idle";
7653
+ paused: "paused";
7654
7654
  turn_started: "turn_started";
7655
7655
  step_started: "step_started";
7656
7656
  step_finished: "step_finished";
@@ -7662,16 +7662,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
7662
7662
  adapterId: z.ZodString;
7663
7663
  agentId: z.ZodString;
7664
7664
  oldState: z.ZodEnum<{
7665
- paused: "paused";
7666
7665
  idle: "idle";
7666
+ paused: "paused";
7667
7667
  turn_started: "turn_started";
7668
7668
  step_started: "step_started";
7669
7669
  step_finished: "step_finished";
7670
7670
  turn_finished: "turn_finished";
7671
7671
  }>;
7672
7672
  newState: z.ZodEnum<{
7673
- paused: "paused";
7674
7673
  idle: "idle";
7674
+ paused: "paused";
7675
7675
  turn_started: "turn_started";
7676
7676
  step_started: "step_started";
7677
7677
  step_finished: "step_finished";
@@ -7683,16 +7683,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
7683
7683
  adapterId: z.ZodString;
7684
7684
  agentId: z.ZodString;
7685
7685
  oldState: z.ZodEnum<{
7686
- paused: "paused";
7687
7686
  idle: "idle";
7687
+ paused: "paused";
7688
7688
  turn_started: "turn_started";
7689
7689
  step_started: "step_started";
7690
7690
  step_finished: "step_finished";
7691
7691
  turn_finished: "turn_finished";
7692
7692
  }>;
7693
7693
  newState: z.ZodEnum<{
7694
- paused: "paused";
7695
7694
  idle: "idle";
7695
+ paused: "paused";
7696
7696
  turn_started: "turn_started";
7697
7697
  step_started: "step_started";
7698
7698
  step_finished: "step_finished";
@@ -7704,16 +7704,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
7704
7704
  adapterId: z.ZodString;
7705
7705
  agentId: z.ZodString;
7706
7706
  oldState: z.ZodEnum<{
7707
- paused: "paused";
7708
7707
  idle: "idle";
7708
+ paused: "paused";
7709
7709
  turn_started: "turn_started";
7710
7710
  step_started: "step_started";
7711
7711
  step_finished: "step_finished";
7712
7712
  turn_finished: "turn_finished";
7713
7713
  }>;
7714
7714
  newState: z.ZodEnum<{
7715
- paused: "paused";
7716
7715
  idle: "idle";
7716
+ paused: "paused";
7717
7717
  turn_started: "turn_started";
7718
7718
  step_started: "step_started";
7719
7719
  step_finished: "step_finished";
@@ -7725,16 +7725,16 @@ declare function createClaudeConnectorNamespace<N extends string>(namespaceName:
7725
7725
  adapterId: z.ZodString;
7726
7726
  agentId: z.ZodString;
7727
7727
  oldState: z.ZodEnum<{
7728
- paused: "paused";
7729
7728
  idle: "idle";
7729
+ paused: "paused";
7730
7730
  turn_started: "turn_started";
7731
7731
  step_started: "step_started";
7732
7732
  step_finished: "step_finished";
7733
7733
  turn_finished: "turn_finished";
7734
7734
  }>;
7735
7735
  newState: z.ZodEnum<{
7736
- paused: "paused";
7737
7736
  idle: "idle";
7737
+ paused: "paused";
7738
7738
  turn_started: "turn_started";
7739
7739
  step_started: "step_started";
7740
7740
  step_finished: "step_finished";
@@ -1,4 +1,4 @@
1
- import { A as PreparedAdapterAuthRuntime, B as ResolvedAdapterAuth, D as AdapterAuthLeaseHandle, F as AdapterAuthError, G as resolveBoundProviderAuth, H as ResolvedConnectorAuthDelivery, I as AdapterAuthErrorReason, L as BindProviderAuthOptions, M as SuppliedAdapterAuthRuntime, N as applySuppliedAdapterAuthRuntime, O as AdapterAuthRuntimePreparer, P as prepareAdapterAuthRuntime, R as BoundProviderAuthContext, U as bindProviderAuth, V as ResolvedAuthCredentialValues, W as getOptionalAuthCredentialFields, _ as BaseAgentConnectorConfig, j as ResolvedAdapterRuntimeConfig, k as BoundAdapterRuntimeConfig, z as ResolveAuthCredentialRefs } from "../../types-CJ_QZ1yW.mjs";
1
+ import { $ as bindProviderAuth, B as PreparedAdapterAuthRuntime, G as AdapterAuthError, H as SuppliedAdapterAuthRuntime, J as BoundProviderAuthContext, K as AdapterAuthErrorReason, L as AdapterAuthLeaseHandle, Q as ResolvedConnectorAuthDelivery, R as AdapterAuthRuntimePreparer, U as applySuppliedAdapterAuthRuntime, V as ResolvedAdapterRuntimeConfig, W as prepareAdapterAuthRuntime, X as ResolvedAdapterAuth, Y as ResolveAuthCredentialRefs, Z as ResolvedAuthCredentialValues, _ as BaseAgentConnectorConfig, et as getOptionalAuthCredentialFields, q as BindProviderAuthOptions, tt as resolveBoundProviderAuth, z as BoundAdapterRuntimeConfig } from "../../types-ClpEaoAm.mjs";
2
2
  import { z } from "zod";
3
3
  import { TimeoutConfig, TrackedTimeoutConfig } from "@makaio/framework/utils";
4
4
  import { IMakaioBus, MakaioBusContext } from "@makaio/framework/bus";
@@ -1 +1 @@
1
- import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"../../adapter-auth-runtime-DO-FVTXg.mjs";import{z as l}from"zod";import u from"node:fs/promises";import{resolveTimeouts as d}from"@makaio/framework/utils";import{AIModelSchema as f,AuthFieldIdSchema as p}from"@makaio/framework/contracts";import{BaseAdapterConfigSchema as m,ProviderConfigSchema as h,ProviderDefaultsSchema as g}from"@makaio/framework/contracts/config";import{AdapterSubsystemSubjects as _}from"@makaio/framework/services/adapter-subsystem";async function v(e,t={}){if(e.startsWith(`env:`)){let n=e.slice(4);if(!n)throw Error(`Credential reference is missing environment variable name`);return(t.readEnv??(e=>process.env[e]))(n)||null}if(e.startsWith(`file:`)){let n=e.slice(5);if(!n)throw Error(`Credential reference is missing file path`);return(await(t.readFile??(async e=>await u.readFile(e,`utf-8`)))(n)).trim()||null}if(e.startsWith(`keychain:`)){let[n,...r]=e.slice(9).split(`:`);if(!n||r.length===0)throw Error(`Credential reference is missing keychain service or account`);if(!t.resolveKeychain)throw Error(`Keychain credential resolution is not configured`);return t.resolveKeychain(n,r.join(`:`))}return e||null}function y(e,t){let n=e.find(e=>e.id===t);if(!n)throw Error(`Provider definition not found: '${t}'`);if(!b(n))throw Error(`Provider definition '${t}' is missing a defaultModel`);return n}function b(e){return typeof e.defaultModel==`string`&&e.defaultModel.length>0}const x=l.record(l.string(),l.unknown());function S(e){return{getDefaults:()=>e().adapterDefaults,getConfig:t=>C(e,t)}}async function C(e,t){let{adapterName:n,adapterDefaults:r,adapterDefinition:i}=e(),a=T(t),o=t.providerContext.state===`resolved`&&t.providerProtocol!==void 0?t.providerContext.endpointOverrides?.[t.providerProtocol]??null:null,s=d([{layer:`adapter`,source:n,config:i.defaultTimeouts},{layer:`runtime`,source:`config.ts`,config:t.runtimeTimeouts}]),c={...r.providerConfig,...t.providerConfig,baseUrl:o??t.providerConfig?.baseUrl??r.providerConfig?.baseUrl},l=w(t.model??r.model,n,t.agentId),{providerConfig:u,adapterProviderAuth:f,compatibleProviderAuths:p,providerContextRequired:m,...h}=t;return{...r,...h,adapterName:t.adapterName,model:l,cwd:t.cwd??r.cwd??process.cwd(),timeouts:s,providerConfig:c,...a!==void 0&&{boundProviderAuth:a}}}function w(e,t,n){if(e!==void 0&&e.length>0)return e;throw Error(`No model resolved for adapter "${t}" (agentId: ${n}). Provide a model explicitly or configure adapterDefaults.model.`)}function T(e){if(e.providerContext.state===`unresolved`){if(e.providerContextRequired===!0)throw new a(`provider-context-unresolved`,`This adapter requires a resolved provider authentication context.`);return}if(e.adapterProviderAuth===void 0)throw new a(`binding-missing`,`The selected provider has no adapter authentication declaration.`);let t=s({auth:e.providerContext.auth,adapterProviderAuth:e.adapterProviderAuth,compatibleProviderAuths:e.compatibleProviderAuths});if(t.auth.method.owner===`client`&&t.auth.method.clientId!==e.clientId)throw new a(`client-mismatch`,`Selected authentication client does not match the adapter runtime client.`);return t}var E=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`ProviderResolutionError`}};async function D(e,t,n){let{snapshot:r}=await e.request(_.resolveProviderRuntimeSnapshot,{providerConfigId:t});if(!r)throw new E(`provider-config-not-found`,`ProviderConfig '${t}' not found`);let i=r.context.endpointOverrides?.[n]??r.definition.endpoints?.[n]??null;return{config:r.config,definition:r.definition,baseUrl:i,auth:r.context.auth}}var O=class extends Error{code;constructor(e){super(`Authenticated provider endpoint resolution failed (${e}).`),this.code=e,this.name=`ProviderEndpointAuthError`}};async function k(t,r,i,a){let{baseUrl:o,auth:s}=await D(t,r,i);if(!o)throw Error(`Could not resolve baseUrl for ProviderConfig '${r}' with protocol '${i}'. Ensure the provider definition or config override declares an endpoint for this protocol.`);if(s.mode!==`explicit`)throw new O(`fetch-auth-unsupported`);let c=p.safeParse(a.credentialFieldId);if(a.kind!==`api-key`||!c.success)throw new O(`fetch-auth-unsupported`);let l=s.definition.fields.find(({id:e})=>e===c.data);if(l===void 0)throw new O(`fetch-auth-unsupported`);let u=s.credentialRefs[l.id];if(u===void 0)throw new O(`fetch-auth-missing`);let d;try{d=(await e(t,{apiKey:u})).apiKey}catch(e){throw e instanceof n&&e.code===`credential-unavailable`?new O(`fetch-auth-missing`):new O(`fetch-auth-resolution-failed`)}if(d===void 0||d.trim()===``)throw new O(`fetch-auth-missing`);return{baseUrl:o,apiKey:d}}var A=class extends Error{code;constructor(e){super(`Adapter runtime snapshot resolution failed (${e}).`),this.code=e,this.name=`AdapterRuntimeSnapshotError`}};async function j(e,t){let n=await e.request(_.resolveAdapterRuntimeSnapshot,t);if(n.status===`error`)throw new A(n.code);let r=n.runtime;if(r.adapterName!==t.adapterName||r.snapshot.context.providerConfigId!==t.providerConfigId)throw new A(`snapshot-identity-mismatch`);let i=s({auth:r.snapshot.context.auth,adapterProviderAuth:r.adapterProviderAuth,compatibleProviderAuths:r.compatibleProviderAuths});if(i.auth.method.owner===`client`&&i.auth.method.clientId!==r.adapterClientId)throw new A(`client-incompatible`);return{...r,boundProviderAuth:i}}export{f as AIModelSchema,a as AdapterAuthError,A as AdapterRuntimeSnapshotError,m as BaseAdapterConfigSchema,x as BaseProviderConfigSchema,n as ConnectorCredentialResolutionError,h as ProviderConfigSchema,g as ProviderDefaultsSchema,O as ProviderEndpointAuthError,E as ProviderResolutionError,c as applySuppliedAdapterAuthRuntime,s as bindProviderAuth,S as createAdapterConfigFactory,y as getDefinitionOrThrow,t as getOptionalAuthCredentialFields,i as prepareAdapterAuthRuntime,j as resolveAdapterRuntimeSnapshot,r as resolveBoundProviderAuth,e as resolveConnectorCredentials,v as resolveCredentialRef,k as resolveProviderEndpoint,D as resolveProviderResolution,o as resolveSessionEnvironment};
1
+ import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"../../adapter-auth-runtime-D9Lnl7cc.mjs";import{z as l}from"zod";import u from"node:fs/promises";import{resolveTimeouts as d}from"@makaio/framework/utils";import{AIModelSchema as f,AuthFieldIdSchema as p}from"@makaio/framework/contracts";import{BaseAdapterConfigSchema as m,ProviderConfigSchema as h,ProviderDefaultsSchema as g}from"@makaio/framework/contracts/config";import{AdapterSubsystemSubjects as _}from"@makaio/framework/services/adapter-subsystem";async function v(e,t={}){if(e.startsWith(`env:`)){let n=e.slice(4);if(!n)throw Error(`Credential reference is missing environment variable name`);return(t.readEnv??(e=>process.env[e]))(n)||null}if(e.startsWith(`file:`)){let n=e.slice(5);if(!n)throw Error(`Credential reference is missing file path`);return(await(t.readFile??(async e=>await u.readFile(e,`utf-8`)))(n)).trim()||null}if(e.startsWith(`keychain:`)){let[n,...r]=e.slice(9).split(`:`);if(!n||r.length===0)throw Error(`Credential reference is missing keychain service or account`);if(!t.resolveKeychain)throw Error(`Keychain credential resolution is not configured`);return t.resolveKeychain(n,r.join(`:`))}return e||null}function y(e,t){let n=e.find(e=>e.id===t);if(!n)throw Error(`Provider definition not found: '${t}'`);if(!b(n))throw Error(`Provider definition '${t}' is missing a defaultModel`);return n}function b(e){return typeof e.defaultModel==`string`&&e.defaultModel.length>0}const x=l.record(l.string(),l.unknown());function S(e){return{getDefaults:()=>e().adapterDefaults,getConfig:t=>C(e,t)}}async function C(e,t){let{adapterName:n,adapterDefaults:r,adapterDefinition:i}=e(),a=T(t),o=t.providerContext.state===`resolved`&&t.providerProtocol!==void 0?t.providerContext.endpointOverrides?.[t.providerProtocol]??null:null,s=d([{layer:`adapter`,source:n,config:i.defaultTimeouts},{layer:`runtime`,source:`config.ts`,config:t.runtimeTimeouts}]),c={...r.providerConfig,...t.providerConfig,baseUrl:o??t.providerConfig?.baseUrl??r.providerConfig?.baseUrl},l=w(t.model??r.model,n,t.agentId),{providerConfig:u,adapterProviderAuth:f,compatibleProviderAuths:p,providerContextRequired:m,...h}=t;return{...r,...h,adapterName:t.adapterName,model:l,cwd:t.cwd??r.cwd??process.cwd(),timeouts:s,providerConfig:c,...a!==void 0&&{boundProviderAuth:a}}}function w(e,t,n){if(e!==void 0&&e.length>0)return e;throw Error(`No model resolved for adapter "${t}" (agentId: ${n}). Provide a model explicitly or configure adapterDefaults.model.`)}function T(e){if(e.providerContext.state===`unresolved`){if(e.providerContextRequired===!0)throw new a(`provider-context-unresolved`,`This adapter requires a resolved provider authentication context.`);return}if(e.adapterProviderAuth===void 0)throw new a(`binding-missing`,`The selected provider has no adapter authentication declaration.`);let t=s({auth:e.providerContext.auth,adapterProviderAuth:e.adapterProviderAuth,compatibleProviderAuths:e.compatibleProviderAuths});if(t.auth.method.owner===`client`&&t.auth.method.clientId!==e.clientId)throw new a(`client-mismatch`,`Selected authentication client does not match the adapter runtime client.`);return t}var E=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`ProviderResolutionError`}};async function D(e,t,n){let{snapshot:r}=await e.request(_.resolveProviderRuntimeSnapshot,{providerConfigId:t});if(!r)throw new E(`provider-config-not-found`,`ProviderConfig '${t}' not found`);let i=r.context.endpointOverrides?.[n]??r.definition.endpoints?.[n]??null;return{config:r.config,definition:r.definition,baseUrl:i,auth:r.context.auth}}var O=class extends Error{code;constructor(e){super(`Authenticated provider endpoint resolution failed (${e}).`),this.code=e,this.name=`ProviderEndpointAuthError`}};async function k(t,r,i,a){let{baseUrl:o,auth:s}=await D(t,r,i);if(!o)throw Error(`Could not resolve baseUrl for ProviderConfig '${r}' with protocol '${i}'. Ensure the provider definition or config override declares an endpoint for this protocol.`);if(s.mode!==`explicit`)throw new O(`fetch-auth-unsupported`);let c=p.safeParse(a.credentialFieldId);if(a.kind!==`api-key`||!c.success)throw new O(`fetch-auth-unsupported`);let l=s.definition.fields.find(({id:e})=>e===c.data);if(l===void 0)throw new O(`fetch-auth-unsupported`);let u=s.credentialRefs[l.id];if(u===void 0)throw new O(`fetch-auth-missing`);let d;try{d=(await e(t,{apiKey:u})).apiKey}catch(e){throw e instanceof n&&e.code===`credential-unavailable`?new O(`fetch-auth-missing`):new O(`fetch-auth-resolution-failed`)}if(d===void 0||d.trim()===``)throw new O(`fetch-auth-missing`);return{baseUrl:o,apiKey:d}}var A=class extends Error{code;constructor(e){super(`Adapter runtime snapshot resolution failed (${e}).`),this.code=e,this.name=`AdapterRuntimeSnapshotError`}};async function j(e,t){let n=await e.request(_.resolveAdapterRuntimeSnapshot,t);if(n.status===`error`)throw new A(n.code);let r=n.runtime;if(r.adapterName!==t.adapterName||r.snapshot.context.providerConfigId!==t.providerConfigId)throw new A(`snapshot-identity-mismatch`);let i=s({auth:r.snapshot.context.auth,adapterProviderAuth:r.adapterProviderAuth,compatibleProviderAuths:r.compatibleProviderAuths});if(i.auth.method.owner===`client`&&i.auth.method.clientId!==r.adapterClientId)throw new A(`client-incompatible`);return{...r,boundProviderAuth:i}}export{f as AIModelSchema,a as AdapterAuthError,A as AdapterRuntimeSnapshotError,m as BaseAdapterConfigSchema,x as BaseProviderConfigSchema,n as ConnectorCredentialResolutionError,h as ProviderConfigSchema,g as ProviderDefaultsSchema,O as ProviderEndpointAuthError,E as ProviderResolutionError,c as applySuppliedAdapterAuthRuntime,s as bindProviderAuth,S as createAdapterConfigFactory,y as getDefinitionOrThrow,t as getOptionalAuthCredentialFields,i as prepareAdapterAuthRuntime,j as resolveAdapterRuntimeSnapshot,r as resolveBoundProviderAuth,e as resolveConnectorCredentials,v as resolveCredentialRef,k as resolveProviderEndpoint,D as resolveProviderResolution,o as resolveSessionEnvironment};