@pixelzx/genesis 2026.5.10-2 → 2026.5.10-3

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 (1017) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-o_hg2xtq.js +201 -0
  4. package/dist/abort.runtime-C8y_LD66.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-BaxyfsNG.js +107 -0
  7. package/dist/accounts-CBI-56kp.js +104 -0
  8. package/dist/accounts-m2xbhdqn.js +2 -0
  9. package/dist/acp-cli-BOlwnmxd.js +2193 -0
  10. package/dist/acp-spawn-BrI6X9SH.js +2 -0
  11. package/dist/acp-spawn-xahA0x4e.js +1093 -0
  12. package/dist/acp-stateful-target-driver-B0_0BB8d.js +89 -0
  13. package/dist/action-agents-BLXVAHpm.js +67 -0
  14. package/dist/action-focus-Bl80EFqG.js +132 -0
  15. package/dist/action-help-CBbcn9Xo.js +7 -0
  16. package/dist/action-info-DrggqbpC.js +101 -0
  17. package/dist/action-kill-p6a-p_Wl.js +33 -0
  18. package/dist/action-list-4o0eiRPy.js +21 -0
  19. package/dist/action-log-C2VTzCV-.js +30 -0
  20. package/dist/action-send-DQE2YhZv.js +39 -0
  21. package/dist/action-spawn-DeTOlrlr.js +47 -0
  22. package/dist/action-unfocus-CUJ_-To0.js +29 -0
  23. package/dist/actions.runtime-BME76tM1.js +18 -0
  24. package/dist/actions.runtime-DgFQtpdt.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-DvPQGyLY.js +2 -0
  27. package/dist/agent-command-Dv8Kifbw.js +874 -0
  28. package/dist/agent-harness-runtime-rPtHDzbH.js +144 -0
  29. package/dist/agent-runner-utils-Cwcsq2Vg.js +239 -0
  30. package/dist/agent-runner.runtime-EDmsi-tw.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-BZ7qw7Go.js +18 -0
  33. package/dist/agents-BmdK7DYn.js +954 -0
  34. package/dist/agents-ojp3yzuP.js +5 -0
  35. package/dist/aliases-B-xkGRWv.js +2 -0
  36. package/dist/aliases-CeyLk8gs.js +96 -0
  37. package/dist/api-7RMNrU--.js +139 -0
  38. package/dist/api-DuTxAbzX.js +5 -0
  39. package/dist/api-S68mLw4i.js +3 -0
  40. package/dist/approval-gateway-resolver-D6GUSzWU.js +29 -0
  41. package/dist/approval-gateway-runtime-CLSx2pjl.js +2 -0
  42. package/dist/approval-handler-runtime-D_pDErDf.js +439 -0
  43. package/dist/approval-native-runtime-DMmho8f_.js +729 -0
  44. package/dist/attempt-execution.runtime-BiBQNA9X.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-NLkGfNY6.js +221 -0
  47. package/dist/attempt.tool-run-context-DWlgJ-_O.js +933 -0
  48. package/dist/audit-UgEtgbwZ.js +939 -0
  49. package/dist/audit.runtime--guvdA_A.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-C50R0MRq.js +2 -0
  52. package/dist/auth-D0-jQ58t.js +383 -0
  53. package/dist/auth-order-BFJrCRu5.js +96 -0
  54. package/dist/auth-order-DSgYrJ_p.js +2 -0
  55. package/dist/bash-tools-DHuwAZ58.js +2824 -0
  56. package/dist/bash-tools-D_feNjoF.js +3 -0
  57. package/dist/binding-routing-CY1eMDau.js +85 -0
  58. package/dist/binding-targets-WwNSyphm.js +121 -0
  59. package/dist/bridge-server-D6UfpfpG.js +113 -0
  60. package/dist/browser-control-auth-D68lDX1S.js +2 -0
  61. package/dist/browser-node-runtime-CY1lVQqq.js +12 -0
  62. package/dist/browser-profiles-B49YcSoc.js +2 -0
  63. package/dist/browser-runtime-BDL147Ka.js +387 -0
  64. package/dist/browser-setup-tools-C03RsiTe.js +13 -0
  65. package/dist/build-DLN8Lh14.js +550 -0
  66. package/dist/build-info.json +3 -3
  67. package/dist/bundled/boot-md/handler.js +2 -2
  68. package/dist/bundled/session-memory/handler.js +1 -1
  69. package/dist/call-BNALogg6.js +331 -0
  70. package/dist/call-PW7UP-CK.js +3 -0
  71. package/dist/call.runtime-CYfH8MdC.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-B4UpH1T0.js +1401 -0
  74. package/dist/catchup-CXQzIWv3.js +300 -0
  75. package/dist/channel-BiZSvVcj.js +297 -0
  76. package/dist/channel-BkI_5MRp.js +453 -0
  77. package/dist/channel-BnG-E5UX.js +595 -0
  78. package/dist/channel-CNZdJ8HY.js +1174 -0
  79. package/dist/channel-COcBdBbn.js +1100 -0
  80. package/dist/channel-CQI0hLJk.js +350 -0
  81. package/dist/channel-CkoM-a7d.js +226 -0
  82. package/dist/channel-CrHTdcH4.js +840 -0
  83. package/dist/channel-DvgX6dVj.js +1320 -0
  84. package/dist/channel-HtE-iRkv.js +491 -0
  85. package/dist/channel-OequV7Gf.js +1802 -0
  86. package/dist/channel-core-ChdqmAmk.js +5 -0
  87. package/dist/channel-inbound-Q2rVZZUs.js +31 -0
  88. package/dist/channel-plugin-runtime-DaijXHro.js +771 -0
  89. package/dist/channel-runtime-y4XUEoQY.js +425 -0
  90. package/dist/channel.runtime-BrEbVLLQ.js +576 -0
  91. package/dist/channel.runtime-C9UaDpbO.js +2364 -0
  92. package/dist/channel.runtime-Ccnjrmpx.js +109 -0
  93. package/dist/channel.runtime-CerUOlEZ.js +430 -0
  94. package/dist/channel.runtime-Du87a5jR.js +89 -0
  95. package/dist/channel.runtime-FklQos16.js +4 -0
  96. package/dist/channel.runtime-pynPO2Q-.js +34702 -0
  97. package/dist/channel.runtime.js +1 -1
  98. package/dist/channel.setup-D2BshGlh.js +10 -0
  99. package/dist/channels-DXbWBAhP.js +733 -0
  100. package/dist/channels-cli-DowVHylc.js +268 -0
  101. package/dist/chat-BMLW9p0d.js +2830 -0
  102. package/dist/clawbot-cli-DYF742Fr.js +9 -0
  103. package/dist/cli/daemon-cli.js +3 -3
  104. package/dist/cli-BebcHCJY.js +219 -0
  105. package/dist/cli-BnQ5RUbX.js +2 -0
  106. package/dist/cli-CsJTitwJ.js +72 -0
  107. package/dist/cli-D1z_Lra2.js +2 -0
  108. package/dist/cli-runner-DCfEJ3Dl.js +286 -0
  109. package/dist/cli-runner.runtime-1YoJduVc.js +3 -0
  110. package/dist/cli-runner.runtime-DaIWshs8.js +4 -0
  111. package/dist/cli-runner.runtime.js +1 -1
  112. package/dist/cli-startup-metadata.json +2 -2
  113. package/dist/cli.runtime-0QJWPe0Y.js +1261 -0
  114. package/dist/cli.runtime.js +1 -1
  115. package/dist/client-BR4n6hNI.js +713 -0
  116. package/dist/client-hrT_8w_f.js +138 -0
  117. package/dist/command-auth-BI6iswCp.js +76 -0
  118. package/dist/command-config-resolution-BvDykKQ0.js +23 -0
  119. package/dist/command-config-resolution-CJz3dmjF.js +2 -0
  120. package/dist/command-config-resolution.runtime-C1xIzrMA.js +2 -0
  121. package/dist/command-config-resolution.runtime.js +1 -1
  122. package/dist/command-registry-BQh49BOI.js +9 -0
  123. package/dist/command-registry-COW3Dwow.js +4 -0
  124. package/dist/command-registry-core-Bq5tHbQ5.js +106 -0
  125. package/dist/command-secret-gateway-CWH-56qF.js +528 -0
  126. package/dist/command-status.runtime-BUceIW-k.js +87 -0
  127. package/dist/command-status.runtime.js +1 -1
  128. package/dist/commands-acp-CDM0_szW.js +77 -0
  129. package/dist/commands-compact.runtime-BpuJhNyp.js +10 -0
  130. package/dist/commands-compact.runtime.js +1 -1
  131. package/dist/commands-handlers.runtime-DikW0yB0.js +4597 -0
  132. package/dist/commands-handlers.runtime.js +1 -1
  133. package/dist/commands-status-DgbzuFLf.js +16 -0
  134. package/dist/commands-status.runtime-BtoVY07x.js +3 -0
  135. package/dist/commands-status.runtime.js +1 -1
  136. package/dist/commands-subagents-control.runtime-B1MwVPHf.js +2 -0
  137. package/dist/commands-subagents-control.runtime-CPSMKJqB.js +3 -0
  138. package/dist/commands-subagents-control.runtime.js +1 -1
  139. package/dist/commands-system-prompt-DNA0qsTv.js +2 -0
  140. package/dist/commands-system-prompt-DdoBQ8ad.js +158 -0
  141. package/dist/commands.runtime-B8F59wvr.js +166 -0
  142. package/dist/commands.runtime.js +1 -1
  143. package/dist/compact-DevuFvwc.js +1118 -0
  144. package/dist/compact.runtime-DFxdJbZX.js +12 -0
  145. package/dist/compact.runtime.js +1 -1
  146. package/dist/completion-cli-94LY3Cno.js +328 -0
  147. package/dist/config-cli-3wKyVoWG.js +1078 -0
  148. package/dist/config-x0GQmd_p.js +252 -0
  149. package/dist/configure-DXBHXi9E.js +1252 -0
  150. package/dist/configure-iqDkqwpX.js +2 -0
  151. package/dist/connect-options-pZ4TVfhD.js +699 -0
  152. package/dist/control-auth-C0_VWbFV.js +125 -0
  153. package/dist/control-service-DKz9pgNJ.js +156 -0
  154. package/dist/conversation-id-C1ZMSaUv.js +235 -0
  155. package/dist/conversation-id-Cn8LoNiS.js +38 -0
  156. package/dist/conversation-runtime-PeJkl-ts.js +31 -0
  157. package/dist/core-BXR05azh.js +275 -0
  158. package/dist/cron-cli-C9SgQQXV.js +713 -0
  159. package/dist/daemon-cli-CJ8VUS9L.js +12 -0
  160. package/dist/dashboard-B7cbYfiK.js +81 -0
  161. package/dist/dashboard-SJJ1gpY7.js +2 -0
  162. package/dist/delegate-Bb6bHoIc.js +64 -0
  163. package/dist/detached-task-runtime-DUb2_Az9.js +73 -0
  164. package/dist/devices-cli-CZLTVAzc.js +498 -0
  165. package/dist/diagnostics-CElgAkJx.js +154 -0
  166. package/dist/direct-dm-B-q3BnYs.js +64 -0
  167. package/dist/dispatch-D6RvPlwP.js +1131 -0
  168. package/dist/dispatch-acp-Bit9gfDS.js +981 -0
  169. package/dist/dispatch-acp-manager.runtime-BDYoaEzk.js +3 -0
  170. package/dist/dispatch-acp-manager.runtime.js +1 -1
  171. package/dist/dispatch-acp.runtime-9yBydATu.js +19 -0
  172. package/dist/dispatch-acp.runtime.js +1 -1
  173. package/dist/doctor-device-pairing-CALw5gAh.js +307 -0
  174. package/dist/doctor-gateway-daemon-flow-DH90Xuwv.js +250 -0
  175. package/dist/doctor-gateway-health-DLTQr7oR.js +63 -0
  176. package/dist/doctor-health-UickjAEG.js +59 -0
  177. package/dist/doctor-health-contributions-CT2_osp-.js +493 -0
  178. package/dist/doctor-prompter-CmsL_aNs.js +56 -0
  179. package/dist/doctor-workspace-status-DrfJ_CMh.js +75 -0
  180. package/dist/dreaming-BjlelMwS.js +1574 -0
  181. package/dist/dreaming-narrative-Cioh4-iE.js +595 -0
  182. package/dist/embedded-gateway-stub.runtime-D3axE_Gz.js +9 -0
  183. package/dist/embedded-gateway-stub.runtime.js +1 -1
  184. package/dist/entry.js +2 -2
  185. package/dist/exec-approvals-cli-C61OIas5.js +498 -0
  186. package/dist/execute.runtime-Dh2PQVjB.js +1363 -0
  187. package/dist/execute.runtime.js +1 -1
  188. package/dist/extensionAPI.js +1 -1
  189. package/dist/extensions/active-memory/index.js +1 -1
  190. package/dist/extensions/bluebubbles/api.js +3 -3
  191. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  192. package/dist/extensions/browser/browser-bridge.js +1 -1
  193. package/dist/extensions/browser/browser-config.js +4 -4
  194. package/dist/extensions/browser/browser-control-auth.js +2 -2
  195. package/dist/extensions/browser/browser-doctor.js +2 -2
  196. package/dist/extensions/browser/browser-maintenance.js +2 -2
  197. package/dist/extensions/browser/browser-profiles.js +2 -2
  198. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  199. package/dist/extensions/browser/index.js +1 -1
  200. package/dist/extensions/browser/plugin-registration.js +1 -1
  201. package/dist/extensions/browser/register.runtime.js +3 -3
  202. package/dist/extensions/browser/runtime-api.js +11 -11
  203. package/dist/extensions/browser/test-support.js +1 -1
  204. package/dist/extensions/device-pair/api.js +1 -1
  205. package/dist/extensions/device-pair/index.js +3 -3
  206. package/dist/extensions/device-pair/notify.js +1 -1
  207. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  208. package/dist/extensions/google-meet/index.js +2 -2
  209. package/dist/extensions/imessage/api.js +3 -3
  210. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  211. package/dist/extensions/imessage/runtime-api.js +3 -3
  212. package/dist/extensions/irc/api.js +2 -2
  213. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  214. package/dist/extensions/line/api.js +2 -2
  215. package/dist/extensions/line/channel-plugin-api.js +1 -1
  216. package/dist/extensions/line/contract-api.js +1 -1
  217. package/dist/extensions/line/runtime-api.js +4 -4
  218. package/dist/extensions/line/setup-api.js +1 -1
  219. package/dist/extensions/llm-task/index.js +2 -2
  220. package/dist/extensions/lobster/index.js +3 -3
  221. package/dist/extensions/lobster/runtime-api.js +1 -1
  222. package/dist/extensions/mattermost/api.js +1 -1
  223. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  224. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  225. package/dist/extensions/mattermost/policy-api.js +1 -1
  226. package/dist/extensions/mattermost/runtime-api.js +4 -4
  227. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  228. package/dist/extensions/memory-core/api.js +1 -1
  229. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  230. package/dist/extensions/memory-core/index.js +3 -3
  231. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  232. package/dist/extensions/msteams/api.js +1 -1
  233. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  234. package/dist/extensions/msteams/runtime-api.js +3 -3
  235. package/dist/extensions/msteams/test-api.js +1 -1
  236. package/dist/extensions/nextcloud-talk/api.js +1 -1
  237. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  238. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  239. package/dist/extensions/openshell/index.js +2 -2
  240. package/dist/extensions/signal/api.js +6 -6
  241. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  242. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  243. package/dist/extensions/signal/runtime-api.js +7 -7
  244. package/dist/extensions/skill-workshop/api.js +1 -1
  245. package/dist/extensions/skill-workshop/index.js +1 -1
  246. package/dist/extensions/synology-chat/api.js +1 -1
  247. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  248. package/dist/extensions/tlon/api.js +2 -2
  249. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  250. package/dist/extensions/tlon/runtime-api.js +1 -1
  251. package/dist/extensions/tlon/test-api.js +1 -1
  252. package/dist/extensions/twitch/api.js +1 -1
  253. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  254. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  255. package/dist/extensions/zalo/api.js +3 -3
  256. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  257. package/dist/extensions/zalo/runtime-api.js +2 -2
  258. package/dist/extensions/zalo/setup-api.js +2 -2
  259. package/dist/extensions/zalouser/api.js +3 -3
  260. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  261. package/dist/extensions/zalouser/runtime-api.js +6 -6
  262. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  263. package/dist/extensions/zalouser/test-api.js +1 -1
  264. package/dist/fallbacks-7WaQrL4w.js +2 -0
  265. package/dist/fallbacks-D030WgeJ.js +31 -0
  266. package/dist/fallbacks-shared-D0Irg6Dc.js +111 -0
  267. package/dist/gateway-Drmf7aeu.js +115 -0
  268. package/dist/gateway-cli-DzsJzCar.js +1283 -0
  269. package/dist/gateway-rpc-ByhpcN5x.js +14 -0
  270. package/dist/gateway-rpc.runtime-4zXMZEZA.js +23 -0
  271. package/dist/gateway-rpc.runtime.js +1 -1
  272. package/dist/gateway-runtime-BGIrLVc5.js +15 -0
  273. package/dist/gateway-status-Dcpg0Z1K.js +584 -0
  274. package/dist/genesis-tools-ZNGlG9Ij.js +9144 -0
  275. package/dist/genesis-tools.runtime-CSl_w_fx.js +2 -0
  276. package/dist/genesis-tools.runtime.js +1 -1
  277. package/dist/get-reply-BG-YgQgk.js +3879 -0
  278. package/dist/get-reply-from-config.runtime-CTTbEqgi.js +2 -0
  279. package/dist/get-reply-from-config.runtime.js +1 -1
  280. package/dist/graph-users-DBkBwndc.js +1337 -0
  281. package/dist/health-DP9-SUDF.js +3 -0
  282. package/dist/health-Dn4lrkX0.js +469 -0
  283. package/dist/health-route-BOUp8_1m.js +2 -0
  284. package/dist/health-route-BhuLVeKt.js +41 -0
  285. package/dist/heartbeat-runner-B5ZUS0Zj.js +1292 -0
  286. package/dist/heartbeat-runner-BIlNfweM.js +5 -0
  287. package/dist/heartbeat-runner.runtime-YmoU6ZZ3.js +4 -0
  288. package/dist/heartbeat-runner.runtime.js +1 -1
  289. package/dist/hooks-cli-hN5FtPX4.js +433 -0
  290. package/dist/image-fallbacks-Cq3R8m7Y.js +2 -0
  291. package/dist/image-fallbacks-Dd4BCf1D.js +31 -0
  292. package/dist/inbound-reply-dispatch-Be4j__jx.js +73 -0
  293. package/dist/index.js +2 -2
  294. package/dist/infra-runtime-dEG-SNc-.js +39 -0
  295. package/dist/init-C1wrook_.js +59 -0
  296. package/dist/library-B6SYgaHj.js +45 -0
  297. package/dist/lifecycle-BJuODKPo.js +229 -0
  298. package/dist/lifecycle-Dhj0KywB.js +571 -0
  299. package/dist/lifecycle.runtime-CwSjoTkX.js +2 -0
  300. package/dist/lifecycle.runtime.js +1 -1
  301. package/dist/list-Bj2cpmBs.js +1212 -0
  302. package/dist/list-CBe1cOSo.js +2 -0
  303. package/dist/list-CktR5l_P.js +2 -0
  304. package/dist/list-ydeAMfpS.js +131 -0
  305. package/dist/list.probe-0SQPzjrW.js +419 -0
  306. package/dist/llm-slug-generator-CyQx7U_Q.js +79 -0
  307. package/dist/llm-slug-generator.js +1 -1
  308. package/dist/load-config-BHd00lHp.js +35 -0
  309. package/dist/local-dispatch.runtime-CqTNOXfw.js +8 -0
  310. package/dist/local-dispatch.runtime.js +1 -1
  311. package/dist/logs-cli-BWOEA5qi.js +265 -0
  312. package/dist/logs-cli.runtime-DSIEK1BE.js +2 -0
  313. package/dist/logs-cli.runtime.js +1 -1
  314. package/dist/main-session-restart-recovery-Cfc3B2Uj.js +206 -0
  315. package/dist/managed-image-attachments-BZbPdPC8.js +2 -0
  316. package/dist/managed-image-attachments-CxLohd8A.js +635 -0
  317. package/dist/manager-Cg7vl9NG.js +2057 -0
  318. package/dist/manager-CiI4zE-D.js +2 -0
  319. package/dist/markdown-to-line-B8FYeJdD.js +790 -0
  320. package/dist/mcp/plugin-tools-serve.js +1 -1
  321. package/dist/mcp-cli-BS4_9Zoo.js +725 -0
  322. package/dist/mcp-http-wF9LvDEz.js +529 -0
  323. package/dist/memory-core-host-runtime-cli-06ivr1qR.js +9 -0
  324. package/dist/message-BzaLYgSG.js +232 -0
  325. package/dist/message-action-runner-BazMarN6.js +1407 -0
  326. package/dist/message-action-runner-Bq7rUhnL.js +2 -0
  327. package/dist/message-actions-DcnuU8Sm.js +143 -0
  328. package/dist/message.gateway.runtime-BCFg5opz.js +2 -0
  329. package/dist/message.gateway.runtime.js +1 -1
  330. package/dist/models-auth-status-6d3I6qIv.js +201 -0
  331. package/dist/models-cli-DZPcli0C.js +219 -0
  332. package/dist/monitor-BYFZsGcy.js +2 -0
  333. package/dist/monitor-C2nxTIum.js +1459 -0
  334. package/dist/monitor-CD5DZfT0.js +1237 -0
  335. package/dist/monitor-C_5rnpcO.js +1661 -0
  336. package/dist/monitor-CxPzN2U-.js +671 -0
  337. package/dist/monitor-G_A80TYD.js +788 -0
  338. package/dist/monitor-auth-Bjr6pzE-.js +207 -0
  339. package/dist/monitor-processing-Du6MiEEU.js +1974 -0
  340. package/dist/monitor.runtime-BHjQO73F.js +2 -0
  341. package/dist/monitor.runtime.js +1 -1
  342. package/dist/monitor.webhook-BU61VqG-.js +180 -0
  343. package/dist/msteams-HKEY9u2h.js +35 -0
  344. package/dist/native-hook-relay-DcIfpN38.js +519 -0
  345. package/dist/nextcloud-talk-BAwtzO7T.js +17 -0
  346. package/dist/node-cli-BM5NVTG7.js +2506 -0
  347. package/dist/nodes-cli-BAuBgmem.js +1046 -0
  348. package/dist/nodes-utils-Bs6GofNl.js +84 -0
  349. package/dist/nodes.helpers-9SdaPWam.js +34 -0
  350. package/dist/notify-bMIvLU57.js +315 -0
  351. package/dist/onboard-DZRCsQKI.js +70 -0
  352. package/dist/onboard-WrvK1ncB.js +2 -0
  353. package/dist/onboard-helpers-iMWEmZ9M.js +204 -0
  354. package/dist/onboard-helpers-nf1FCDx1.js +6 -0
  355. package/dist/onboard-interactive-BqvHTpjq.js +24 -0
  356. package/dist/onboard-non-interactive-QqRYgGmh.js +548 -0
  357. package/dist/onboard-remote-Btb7Elo9.js +2 -0
  358. package/dist/onboard-remote-YLLAXD5a.js +193 -0
  359. package/dist/onboard-skills-CbVEWgXS.js +134 -0
  360. package/dist/onboard-skills-Dlrodw-j.js +2 -0
  361. package/dist/openai-http-D9C2CUw5.js +500 -0
  362. package/dist/openresponses-http-Cm1pNnoN.js +1128 -0
  363. package/dist/operator-approvals-client-Crk-kZWE.js +68 -0
  364. package/dist/outbound.runtime-EJrjRipL.js +2 -0
  365. package/dist/outbound.runtime.js +1 -1
  366. package/dist/pair-command-approve-BEGwU4IB.js +44 -0
  367. package/dist/persistent-bindings.lifecycle-DQF-e-Qa.js +85 -0
  368. package/dist/persistent-bindings.lifecycle-lkGrqLnW.js +2 -0
  369. package/dist/pi-embedded-BDlMkZq9.js +2905 -0
  370. package/dist/pi-embedded-Duzz1mtI.js +4 -0
  371. package/dist/pi-embedded.runtime-Ct_Aa3c5.js +4 -0
  372. package/dist/pi-embedded.runtime.js +1 -1
  373. package/dist/pi-tool-definition-adapter-CZw0LtV5.js +229 -0
  374. package/dist/pi-tools-C6B-SOzB.js +1057 -0
  375. package/dist/pi-tools.before-tool-call-9joq1aHl.js +2 -0
  376. package/dist/pi-tools.before-tool-call-DNnie5TY.js +433 -0
  377. package/dist/plugin-BCPNJxM9.js +12195 -0
  378. package/dist/plugin-enabled-BjLKAsAC.js +140 -0
  379. package/dist/plugin-registration-BId8vb01.js +23 -0
  380. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  381. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  382. package/dist/plugin-sdk/acp-runtime.js +2 -2
  383. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  384. package/dist/plugin-sdk/agent-harness.js +6 -6
  385. package/dist/plugin-sdk/agent-runtime.js +2 -2
  386. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  387. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  388. package/dist/plugin-sdk/approval-runtime.js +1 -1
  389. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  390. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  391. package/dist/plugin-sdk/browser-support.js +7 -7
  392. package/dist/plugin-sdk/channel-core.js +2 -2
  393. package/dist/plugin-sdk/channel-inbound.js +2 -2
  394. package/dist/plugin-sdk/command-auth.js +1 -1
  395. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  396. package/dist/plugin-sdk/compat.js +1 -1
  397. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  398. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  399. package/dist/plugin-sdk/core.js +2 -2
  400. package/dist/plugin-sdk/direct-dm.js +1 -1
  401. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  402. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  403. package/dist/plugin-sdk/index.js +1 -1
  404. package/dist/plugin-sdk/infra-runtime.js +2 -2
  405. package/dist/plugin-sdk/irc.js +2 -2
  406. package/dist/plugin-sdk/matrix.js +1 -1
  407. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  408. package/dist/plugin-sdk/memory-core.js +2 -2
  409. package/dist/plugin-sdk/msteams.js +2 -2
  410. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  411. package/dist/plugin-sdk/nostr.js +1 -1
  412. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  413. package/dist/plugin-sdk/reply-runtime.js +4 -4
  414. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  415. package/dist/plugin-sdk/runtime.js +2 -2
  416. package/dist/plugin-sdk/session-visibility.js +1 -1
  417. package/dist/plugin-sdk/testing.js +4 -4
  418. package/dist/plugin-sdk/tlon.js +1 -1
  419. package/dist/plugin-sdk/zalo.js +1 -1
  420. package/dist/plugin-sdk/zalouser.js +1 -1
  421. package/dist/plugin-service-q43trexG.js +2892 -0
  422. package/dist/plugins/runtime/index.js +1 -1
  423. package/dist/policy-B4NUBI6t.js +328 -0
  424. package/dist/postinstall-inventory.json +417 -417
  425. package/dist/prepare.runtime-_zemfjv3.js +815 -0
  426. package/dist/prepare.runtime.js +1 -1
  427. package/dist/probe-BY3B9tTH.js +2205 -0
  428. package/dist/probe-BvnxVXPF.js +2 -0
  429. package/dist/probe-BxfJkCo7.js +1443 -0
  430. package/dist/probe-CVdSkKEj.js +241 -0
  431. package/dist/probe-HJKXZScl.js +74 -0
  432. package/dist/probe-cSkWLlnk.js +45 -0
  433. package/dist/probe-mvSMIO0q.js +2 -0
  434. package/dist/program-B59QlcJQ.js +111 -0
  435. package/dist/prompt-select-styled-4Jq2F-H9.js +20 -0
  436. package/dist/protocol-AGt54mci.js +2335 -0
  437. package/dist/provider-dispatcher-CP48ghhH.js +2 -0
  438. package/dist/provider-dispatcher-DEGzYrP8.js +22 -0
  439. package/dist/qr-cli-l0w87b13.js +349 -0
  440. package/dist/qr-cli-rJZ8om76.js +2 -0
  441. package/dist/reaction-runtime-api-Bkt3VyFC.js +116 -0
  442. package/dist/reactions-m2szYDeb.js +998 -0
  443. package/dist/register-service-commands-BW-5D4CL.js +71 -0
  444. package/dist/register.agent-0oONdLoj.js +248 -0
  445. package/dist/register.configure-DJgbhQEd.js +15 -0
  446. package/dist/register.maintenance-qDzsg7Rx.js +363 -0
  447. package/dist/register.message-D3IcSeh2.js +329 -0
  448. package/dist/register.onboard-712D2YIY.js +88 -0
  449. package/dist/register.runtime-9LgalpKP.js +81 -0
  450. package/dist/register.runtime.js +1 -1
  451. package/dist/register.setup-olmzCf4M.js +150 -0
  452. package/dist/register.status-health-sessions-BcSscPyw.js +1215 -0
  453. package/dist/register.subclis-Cb_7jF2M.js +29 -0
  454. package/dist/register.subclis-DohysWLE.js +3 -0
  455. package/dist/register.subclis-core-Db1skJ4w.js +249 -0
  456. package/dist/register.wallet-WGlu7P0C.js +271 -0
  457. package/dist/reply-dispatch-runtime-C6kPvDIT.js +13 -0
  458. package/dist/reply-runtime-m8R8imuO.js +11 -0
  459. package/dist/reply.runtime-yz20DuV3.js +2 -0
  460. package/dist/reply.runtime.js +1 -1
  461. package/dist/restart-health-B3BG9cWC.js +2 -0
  462. package/dist/restart-health-Blxs74k_.js +202 -0
  463. package/dist/root-help-CtdC-lhj.js +44 -0
  464. package/dist/routes-DlHk_d4H.js +2 -0
  465. package/dist/routes-vuPJqxDc.js +3341 -0
  466. package/dist/rpc-CvdOvi6M.js +61 -0
  467. package/dist/rpc.runtime-BTkO-5N6.js +21 -0
  468. package/dist/rpc.runtime.js +1 -1
  469. package/dist/run-delivery.runtime-Bu0IyFs-.js +530 -0
  470. package/dist/run-delivery.runtime.js +1 -1
  471. package/dist/run-embedded.runtime-Bptomyr6.js +4 -0
  472. package/dist/run-embedded.runtime.js +1 -1
  473. package/dist/run-execution-cli.runtime-DVoDazG0.js +4 -0
  474. package/dist/run-execution-cli.runtime.js +1 -1
  475. package/dist/run-executor.runtime-LRWKlZ-B.js +277 -0
  476. package/dist/run-executor.runtime.js +1 -1
  477. package/dist/run-main-C-5waIfA.js +567 -0
  478. package/dist/run-subagent-registry.runtime-eNmO4Ulf.js +2 -0
  479. package/dist/run-subagent-registry.runtime.js +1 -1
  480. package/dist/run-wait-CYFrtm-o.js +135 -0
  481. package/dist/runtime-BRPRR2hE.js +973 -0
  482. package/dist/runtime-CokulBmy.js +9 -0
  483. package/dist/runtime-api-BJ2r-OR5.js +14 -0
  484. package/dist/runtime-api-BfGhe369.js +9 -0
  485. package/dist/runtime-api-Bfjma1I2.js +9 -0
  486. package/dist/runtime-api-CxY0DKnr.js +4 -0
  487. package/dist/runtime-embedded-pi.runtime-BvnxDutF.js +2 -0
  488. package/dist/runtime-embedded-pi.runtime.js +1 -1
  489. package/dist/runtime-internal-BIVfP__L.js +2 -0
  490. package/dist/runtime-options-BljbnMxi.js +275 -0
  491. package/dist/runtime-schema-Dyv3hS1d.js +27938 -0
  492. package/dist/scan-D9X5Lj0l.js +523 -0
  493. package/dist/scan-M3OixEI7.js +2 -0
  494. package/dist/secrets-cli-fpxI67tT.js +2101 -0
  495. package/dist/security-cli-B9FOJsn-.js +486 -0
  496. package/dist/selection-CFlY2XMr.js +2 -0
  497. package/dist/selection-CdRMYsTR.js +7736 -0
  498. package/dist/send-BHKn9mJM.js +156 -0
  499. package/dist/send-CSAuufSI.js +102 -0
  500. package/dist/send.runtime-Csjbw0LF.js +2 -0
  501. package/dist/send.runtime.js +1 -1
  502. package/dist/server-CtGKkNXK.js +77 -0
  503. package/dist/server-QZSxYkIl.js +13 -0
  504. package/dist/server-context-CCzwJPYE.js +847 -0
  505. package/dist/server-context-SQimgHbw.js +2 -0
  506. package/dist/server-node-events-Bw07_egU.js +481 -0
  507. package/dist/server-plugin-bootstrap-BxVzrft3.js +2 -0
  508. package/dist/server-plugin-bootstrap-Ma9J_GSY.js +11652 -0
  509. package/dist/server-restart-sentinel-n_4jiXSF.js +697 -0
  510. package/dist/server.impl-CY_ZY-Mq.js +12822 -0
  511. package/dist/service-CPRBqblN.js +1446 -0
  512. package/dist/session-kill-http-bilLl8tM.js +110 -0
  513. package/dist/session-reset-service-DHbmMELT.js +471 -0
  514. package/dist/session-route-CHPZxwZH.js +93 -0
  515. package/dist/session-status.runtime-Cco6tPQ0.js +2 -0
  516. package/dist/session-status.runtime.js +1 -1
  517. package/dist/session-subagent-reactivation.runtime-D8SYYjgF.js +2 -0
  518. package/dist/session-subagent-reactivation.runtime.js +1 -1
  519. package/dist/session-tab-registry-9W3qSiwY.js +581 -0
  520. package/dist/session-visibility-Csvz8y2g.js +147 -0
  521. package/dist/sessions-helpers-DJtsPRok.js +304 -0
  522. package/dist/sessions-history-http-BwN8qdVu.js +383 -0
  523. package/dist/sessions-patch-Cn6ICCbl.js +309 -0
  524. package/dist/sessions-resolve-DkokaXLV.js +174 -0
  525. package/dist/sessions.runtime-CUhGDDdQ.js +2 -0
  526. package/dist/sessions.runtime.js +1 -1
  527. package/dist/setup-CXrByuF0.js +505 -0
  528. package/dist/setup-api-CAUnAQYK.js +29 -0
  529. package/dist/setup-core-0kUhQgXj.js +171 -0
  530. package/dist/setup-core-CgIvNnqV.js +176 -0
  531. package/dist/setup-surface-BICUCTSY.js +219 -0
  532. package/dist/setup-surface-CWN6fRnj.js +286 -0
  533. package/dist/setup-surface-DAO84q-l.js +403 -0
  534. package/dist/setup.finalize-Cz-xAyXq.js +547 -0
  535. package/dist/setup.gateway-config-B_6xO6qg.js +250 -0
  536. package/dist/shared-54WHS6Zf.js +198 -0
  537. package/dist/shared-BM7A3tRo.js +121 -0
  538. package/dist/shared-ZX79gVvR.js +76 -0
  539. package/dist/slash-state-D9XJzIhC.js +1911 -0
  540. package/dist/src-CeLenBVS.js +3974 -0
  541. package/dist/startup-context-ExpfHx39.js +312 -0
  542. package/dist/status-B3pfZ-ob.js +2 -0
  543. package/dist/status-BxtYUkFv.js +209 -0
  544. package/dist/status-CBKaYlp2.js +397 -0
  545. package/dist/status-DXMGfco1.js +3 -0
  546. package/dist/status-Dveq2FJA.js +190 -0
  547. package/dist/status-all-C0Rv7_MK.js +498 -0
  548. package/dist/status-json-command-FP5kOrjW.js +84 -0
  549. package/dist/status-json-jAko1YQ3.js +14 -0
  550. package/dist/status-ooCzELGj.js +2 -0
  551. package/dist/status-runtime-shared-t7ZNH_at.js +257 -0
  552. package/dist/status-subagents.runtime-B0-FFd7k.js +18 -0
  553. package/dist/status-subagents.runtime.js +1 -1
  554. package/dist/status-text-D5Wb2Eyv.js +237 -0
  555. package/dist/status.gateway-connection.runtime-DX3GFQOy.js +2 -0
  556. package/dist/status.gateway-connection.runtime.js +1 -1
  557. package/dist/status.gather-BLaJs7JK.js +292 -0
  558. package/dist/status.gather-DXcgE-uZ.js +2 -0
  559. package/dist/status.runtime-BW8lvcAk.js +2 -0
  560. package/dist/status.runtime.js +1 -1
  561. package/dist/status.scan-CqSxwChE.js +65 -0
  562. package/dist/status.scan-overview-C50E8dW7.js +379 -0
  563. package/dist/status.scan.fast-json-DZD93o5C.js +132 -0
  564. package/dist/status.scan.fast-json-aLbUp_Zj.js +2 -0
  565. package/dist/status.summary-CSXp0VuE.js +2 -0
  566. package/dist/status.summary-CZhlDozR.js +214 -0
  567. package/dist/subagent-announce-DQNhTREe.js +351 -0
  568. package/dist/subagent-announce-delivery-DzexQBXL.js +726 -0
  569. package/dist/subagent-announce-output-DHdUIOLb.js +364 -0
  570. package/dist/subagent-control-BIHPVfEC.js +506 -0
  571. package/dist/subagent-followup.runtime-B2vIi_N7.js +68 -0
  572. package/dist/subagent-followup.runtime.js +1 -1
  573. package/dist/subagent-orphan-recovery-acE2Akzk.js +305 -0
  574. package/dist/subagent-registry-DscgS64s.js +1753 -0
  575. package/dist/subagent-registry-VBEsKIg8.js +3 -0
  576. package/dist/subagent-registry.runtime.js +1 -1
  577. package/dist/subagent-spawn-ClpDxVim.js +1005 -0
  578. package/dist/system-cli-Cwoirti-.js +59 -0
  579. package/dist/targets-Du7kf5pU.js +67 -0
  580. package/dist/task-executor-Cex7gyKp.js +360 -0
  581. package/dist/task-owner-access-CfZCzFm8.js +74 -0
  582. package/dist/task-registry-delivery-runtime-7UMu_ADx.js +3 -0
  583. package/dist/task-registry-delivery-runtime-anQhKoeF.js +2 -0
  584. package/dist/task-registry-dsUR7cO8.js +2366 -0
  585. package/dist/task-registry.maintenance-8t06izZG.js +416 -0
  586. package/dist/task-registry.maintenance-BKCkUElL.js +2 -0
  587. package/dist/telegram/token.js +1 -1
  588. package/dist/testing-XS9mU0gy.js +575 -0
  589. package/dist/text-report-CW3trTAs.js +587 -0
  590. package/dist/tool-resolution-CbhdQ1Hc.js +90 -0
  591. package/dist/tools-effective-inventory-C-fhTbL3.js +152 -0
  592. package/dist/tools-invoke-http-DwLDiTC-.js +206 -0
  593. package/dist/trash-BPfwuXw1.js +24 -0
  594. package/dist/tui-cli-CwcpeUI3.js +4575 -0
  595. package/dist/update-cli-C7wZCVxw.js +1759 -0
  596. package/dist/upgrade-I1DlWIOT.js +1226 -0
  597. package/dist/video-generation-task-status-BTNgjS3Y.js +163 -0
  598. package/dist/wait-for-idle-before-flush-jA-mGgw_.js +5986 -0
  599. package/dist/wizard-models-CJ9pSHsX.js +334 -0
  600. package/package.json +1 -1
  601. package/dist/abort-CFK2Nhip.js +0 -201
  602. package/dist/abort.runtime-BuAaxnKL.js +0 -2
  603. package/dist/accounts-CHbim_qS.js +0 -107
  604. package/dist/accounts-DtkNyn-Q.js +0 -2
  605. package/dist/accounts-J3zyVXXx.js +0 -104
  606. package/dist/acp-cli-C3I6FHf2.js +0 -2193
  607. package/dist/acp-spawn-D3xu_-rE.js +0 -1093
  608. package/dist/acp-spawn-vcfww9lP.js +0 -2
  609. package/dist/acp-stateful-target-driver-CiSxPJNY.js +0 -89
  610. package/dist/action-agents-CIlhSgnP.js +0 -67
  611. package/dist/action-focus-Cf5CQqOj.js +0 -132
  612. package/dist/action-help-B0yl4Pe2.js +0 -7
  613. package/dist/action-info-CFUHIn0u.js +0 -101
  614. package/dist/action-kill-C95CsdAp.js +0 -33
  615. package/dist/action-list-BX3RIjsZ.js +0 -21
  616. package/dist/action-log-BOalIOnb.js +0 -30
  617. package/dist/action-send-Bw-K12vK.js +0 -39
  618. package/dist/action-spawn-DSTqN3n1.js +0 -47
  619. package/dist/action-unfocus-BRGuE47t.js +0 -29
  620. package/dist/actions.runtime-5qLo-JvI.js +0 -5
  621. package/dist/actions.runtime-CB7fr1mE.js +0 -18
  622. package/dist/agent-4OUfop4W.js +0 -2
  623. package/dist/agent-command-9KZKjUCs.js +0 -874
  624. package/dist/agent-harness-runtime-Dn6m6FbT.js +0 -144
  625. package/dist/agent-runner-utils-I_WM4CKu.js +0 -239
  626. package/dist/agent-runner.runtime-CXepXPjv.js +0 -3455
  627. package/dist/agent-runtime-DPkZZoYt.js +0 -18
  628. package/dist/agents-3DAP4x-2.js +0 -954
  629. package/dist/agents-DkjDVIbt.js +0 -5
  630. package/dist/aliases-83bfbKwd.js +0 -96
  631. package/dist/aliases-CNWj4VYC.js +0 -2
  632. package/dist/api-BEjdCEtU.js +0 -5
  633. package/dist/api-CkjarVLC.js +0 -139
  634. package/dist/api-Dn4kHUcI.js +0 -3
  635. package/dist/approval-gateway-resolver-CC1SlTbX.js +0 -29
  636. package/dist/approval-gateway-runtime-d2TZtKpe.js +0 -2
  637. package/dist/approval-handler-runtime-COVHjwvD.js +0 -439
  638. package/dist/approval-native-runtime-BVIV224X.js +0 -729
  639. package/dist/attempt-execution.runtime-CszeM4rO.js +0 -509
  640. package/dist/attempt.prompt-helpers-CJwtdWVk.js +0 -221
  641. package/dist/attempt.tool-run-context-D3pOtNpQ.js +0 -933
  642. package/dist/audit-CI0PTe8o.js +0 -939
  643. package/dist/audit.runtime-CVT0pKNw.js +0 -7
  644. package/dist/auth-B6BvjceY.js +0 -383
  645. package/dist/auth-C24A8Bdb.js +0 -2
  646. package/dist/auth-order--2Z2RfgO.js +0 -2
  647. package/dist/auth-order-Cab5pbli.js +0 -96
  648. package/dist/bash-tools-D4Ow1Dnu.js +0 -3
  649. package/dist/bash-tools-N8ycn0zw.js +0 -2824
  650. package/dist/binding-routing-IdC_J5YZ.js +0 -85
  651. package/dist/binding-targets-BD3JnlsK.js +0 -121
  652. package/dist/bridge-server-DReQkRlc.js +0 -113
  653. package/dist/browser-control-auth-BDpXA4Fa.js +0 -2
  654. package/dist/browser-node-runtime-CUEWaMPj.js +0 -12
  655. package/dist/browser-profiles-CKoK0REq.js +0 -2
  656. package/dist/browser-runtime-DctmCqop.js +0 -387
  657. package/dist/browser-setup-tools-D_hWDm_d.js +0 -13
  658. package/dist/build-00dHETnB.js +0 -550
  659. package/dist/call-BEBMfrmf.js +0 -331
  660. package/dist/call-J1xym_da.js +0 -3
  661. package/dist/call.runtime-DpiL_m7V.js +0 -2
  662. package/dist/capability-cli-Dcgy6e0s.js +0 -1401
  663. package/dist/catchup-BIWAuu8n.js +0 -300
  664. package/dist/channel-1CgTIJaH.js +0 -595
  665. package/dist/channel-471U1pny.js +0 -1100
  666. package/dist/channel-B-pPhXQ4.js +0 -453
  667. package/dist/channel-BYutJYNS.js +0 -297
  668. package/dist/channel-C2g916cY.js +0 -491
  669. package/dist/channel-C5JVIEYG.js +0 -226
  670. package/dist/channel-C6PLBfBu.js +0 -1320
  671. package/dist/channel-DFhzKEOr.js +0 -1802
  672. package/dist/channel-DaaKYb-X.js +0 -350
  673. package/dist/channel-LS_UWVN6.js +0 -840
  674. package/dist/channel-UwrUqsgJ.js +0 -1174
  675. package/dist/channel-core-u67ncUuJ.js +0 -5
  676. package/dist/channel-inbound-CZj1nuJ5.js +0 -31
  677. package/dist/channel-plugin-runtime-DbjaJmEm.js +0 -771
  678. package/dist/channel-runtime-o1M6R948.js +0 -425
  679. package/dist/channel.runtime-BBqx6vVj.js +0 -430
  680. package/dist/channel.runtime-ChXnhf2V.js +0 -2364
  681. package/dist/channel.runtime-CiZ5wg5-.js +0 -89
  682. package/dist/channel.runtime-DOIkahiZ.js +0 -109
  683. package/dist/channel.runtime-DUe0Bv9U.js +0 -4
  684. package/dist/channel.runtime-DwICmfFu.js +0 -576
  685. package/dist/channel.runtime-EBX0cQWh.js +0 -34702
  686. package/dist/channel.setup-DtHhxlgN.js +0 -10
  687. package/dist/channels-ChLA3Mda.js +0 -733
  688. package/dist/channels-cli-BqXA071P.js +0 -268
  689. package/dist/chat-B0vA8pOW.js +0 -2830
  690. package/dist/clawbot-cli-BkpkeI6b.js +0 -9
  691. package/dist/cli-DLD4HPRd.js +0 -72
  692. package/dist/cli-ME5Ufp83.js +0 -219
  693. package/dist/cli-ZcCIz0qL.js +0 -2
  694. package/dist/cli-eAgnabrD.js +0 -2
  695. package/dist/cli-runner-BBu8Rh95.js +0 -286
  696. package/dist/cli-runner.runtime-VDLuf97Y.js +0 -4
  697. package/dist/cli-runner.runtime-jK2bwGDS.js +0 -3
  698. package/dist/cli.runtime-BquKQJFI.js +0 -1261
  699. package/dist/client-CDLetywx.js +0 -713
  700. package/dist/client-CvwHGzRM.js +0 -138
  701. package/dist/command-auth-BavEEGzq.js +0 -76
  702. package/dist/command-config-resolution-CgnDlwiW.js +0 -2
  703. package/dist/command-config-resolution-M1sLQtCC.js +0 -23
  704. package/dist/command-config-resolution.runtime-BjVMJcFa.js +0 -2
  705. package/dist/command-registry-BuZbFhmG.js +0 -4
  706. package/dist/command-registry-DugzbSDU.js +0 -9
  707. package/dist/command-registry-core-BF-C6kEk.js +0 -106
  708. package/dist/command-secret-gateway-DJUQmmqr.js +0 -528
  709. package/dist/command-status.runtime-Ws0MIfwY.js +0 -87
  710. package/dist/commands-acp-COM5kx3I.js +0 -77
  711. package/dist/commands-compact.runtime-ZKLATU16.js +0 -10
  712. package/dist/commands-handlers.runtime-BonxJuOb.js +0 -4597
  713. package/dist/commands-status-fYAnTzxd.js +0 -16
  714. package/dist/commands-status.runtime-NM9_L71Y.js +0 -3
  715. package/dist/commands-subagents-control.runtime-C7DNjqgK.js +0 -2
  716. package/dist/commands-subagents-control.runtime-DrvwTszJ.js +0 -3
  717. package/dist/commands-system-prompt-CF7mFq3s.js +0 -158
  718. package/dist/commands-system-prompt-DAynyctS.js +0 -2
  719. package/dist/commands.runtime-CdVSeunO.js +0 -166
  720. package/dist/compact-CQZ7fcfj.js +0 -1118
  721. package/dist/compact.runtime-QhgOP3dH.js +0 -12
  722. package/dist/completion-cli-CkA79Zyd.js +0 -328
  723. package/dist/config-B0nwYGOq.js +0 -252
  724. package/dist/config-cli-DQy3aiyu.js +0 -1078
  725. package/dist/configure-D9182v2z.js +0 -1252
  726. package/dist/configure-DFK_gG4o.js +0 -2
  727. package/dist/connect-options-ClIicH76.js +0 -699
  728. package/dist/control-auth-C9KfGTux.js +0 -125
  729. package/dist/control-service-BNB3JMwD.js +0 -156
  730. package/dist/conversation-id-BfPCu1Wm.js +0 -235
  731. package/dist/conversation-id-Btjce0dU.js +0 -38
  732. package/dist/conversation-runtime-nC5e5AUD.js +0 -31
  733. package/dist/core-cKYNneLh.js +0 -275
  734. package/dist/cron-cli-B61Ct4d1.js +0 -713
  735. package/dist/daemon-cli-BDUJ0J9c.js +0 -12
  736. package/dist/dashboard-BY0SQ1Xk.js +0 -81
  737. package/dist/dashboard-BfFLhcnp.js +0 -2
  738. package/dist/delegate-C5l7xFfl.js +0 -64
  739. package/dist/detached-task-runtime-jUnU2hI1.js +0 -73
  740. package/dist/devices-cli-C2Yk5InD.js +0 -498
  741. package/dist/diagnostics-vLNGss4R.js +0 -154
  742. package/dist/direct-dm-CY7NvWjO.js +0 -64
  743. package/dist/dispatch-acp-D7us-JIr.js +0 -981
  744. package/dist/dispatch-acp-manager.runtime-CvUvPlIu.js +0 -3
  745. package/dist/dispatch-acp.runtime-BD04s8Zg.js +0 -19
  746. package/dist/dispatch-dxndBjvg.js +0 -1131
  747. package/dist/doctor-device-pairing-BWOuDvCO.js +0 -307
  748. package/dist/doctor-gateway-daemon-flow-CfcG9HqL.js +0 -250
  749. package/dist/doctor-gateway-health-CgtIAXiV.js +0 -63
  750. package/dist/doctor-health-Dl8qTbf0.js +0 -59
  751. package/dist/doctor-health-contributions-7VvQGU8Z.js +0 -493
  752. package/dist/doctor-prompter-C1E_9epq.js +0 -56
  753. package/dist/doctor-workspace-status-D_hKwgSB.js +0 -75
  754. package/dist/dreaming-narrative-CGIhjB7J.js +0 -595
  755. package/dist/dreaming-zER_6Edx.js +0 -1574
  756. package/dist/embedded-gateway-stub.runtime-DW85g-TS.js +0 -9
  757. package/dist/exec-approvals-cli-Cw---PEd.js +0 -498
  758. package/dist/execute.runtime-g2ckBHQo.js +0 -1366
  759. package/dist/fallbacks-pV2ELjMN.js +0 -31
  760. package/dist/fallbacks-shared-w3hzF-a3.js +0 -111
  761. package/dist/fallbacks-w-04P5Ca.js +0 -2
  762. package/dist/gateway-D6iHe5yM.js +0 -115
  763. package/dist/gateway-cli-DA66EGkc.js +0 -1283
  764. package/dist/gateway-rpc-C-wnj8-r.js +0 -14
  765. package/dist/gateway-rpc.runtime-UIPl38ru.js +0 -23
  766. package/dist/gateway-runtime-4_MNp5Fb.js +0 -15
  767. package/dist/gateway-status-qhNQ0-uT.js +0 -584
  768. package/dist/genesis-tools-Zt9xVisn.js +0 -9144
  769. package/dist/genesis-tools.runtime-DOqh6dkQ.js +0 -2
  770. package/dist/get-reply-DQ0O9TtJ.js +0 -3879
  771. package/dist/get-reply-from-config.runtime-BuatHlOY.js +0 -2
  772. package/dist/graph-users-wwfIkVlV.js +0 -1337
  773. package/dist/health-Be7drwbn.js +0 -3
  774. package/dist/health-DJnGvMzg.js +0 -469
  775. package/dist/health-route-Du-tYbyy.js +0 -41
  776. package/dist/health-route-yas5DRN8.js +0 -2
  777. package/dist/heartbeat-runner-CgkBGYmZ.js +0 -1292
  778. package/dist/heartbeat-runner-DGh3rGv3.js +0 -5
  779. package/dist/heartbeat-runner.runtime-Cx_T3Yrs.js +0 -4
  780. package/dist/hooks-cli-BMwaAVjB.js +0 -433
  781. package/dist/image-fallbacks-NW-B8h53.js +0 -31
  782. package/dist/image-fallbacks-twUg-Ew1.js +0 -2
  783. package/dist/inbound-reply-dispatch-B3xJheBv.js +0 -73
  784. package/dist/infra-runtime-D0KgiuPR.js +0 -39
  785. package/dist/init-Bw8qk4Lv.js +0 -59
  786. package/dist/library-BNl9tYJG.js +0 -45
  787. package/dist/lifecycle-8ptHb58U.js +0 -571
  788. package/dist/lifecycle-CRrSobXZ.js +0 -229
  789. package/dist/lifecycle.runtime-BDtzaxrU.js +0 -2
  790. package/dist/list-C-ACwyIs.js +0 -131
  791. package/dist/list-CJ6S9iAc.js +0 -1212
  792. package/dist/list-DYwQ_Gfw.js +0 -2
  793. package/dist/list-kHLQDpvt.js +0 -2
  794. package/dist/list.probe-CBJUHqju.js +0 -419
  795. package/dist/llm-slug-generator-DLZt8Bt6.js +0 -79
  796. package/dist/load-config-D_5019M3.js +0 -35
  797. package/dist/local-dispatch.runtime-Dau5kHVW.js +0 -8
  798. package/dist/logs-cli-B1tDn7oN.js +0 -265
  799. package/dist/logs-cli.runtime-Cx4fMzWz.js +0 -2
  800. package/dist/main-session-restart-recovery-CK0sXd7f.js +0 -206
  801. package/dist/managed-image-attachments-97PVDeFD.js +0 -635
  802. package/dist/managed-image-attachments-CC4KLL8v.js +0 -2
  803. package/dist/manager-BQ31y7iX.js +0 -2057
  804. package/dist/manager-CFkV693Y.js +0 -2
  805. package/dist/markdown-to-line-zHVHdZSu.js +0 -790
  806. package/dist/mcp-cli-DJlict1A.js +0 -725
  807. package/dist/mcp-http-BARh68Sy.js +0 -529
  808. package/dist/memory-core-host-runtime-cli-BoZwOAnU.js +0 -9
  809. package/dist/message-BlYpA3Rj.js +0 -232
  810. package/dist/message-action-runner-l7HQgRsA.js +0 -2
  811. package/dist/message-action-runner-xpyTSTjc.js +0 -1407
  812. package/dist/message-actions-BYCdd6QG.js +0 -143
  813. package/dist/message.gateway.runtime-Cb8XMFan.js +0 -2
  814. package/dist/models-auth-status-D3gt082v.js +0 -201
  815. package/dist/models-cli-9FhzxcFw.js +0 -219
  816. package/dist/monitor-B0WA83w1.js +0 -788
  817. package/dist/monitor-B6-pdSFR.js +0 -671
  818. package/dist/monitor-BX1yfW2U.js +0 -2
  819. package/dist/monitor-DKv9iSX7.js +0 -1459
  820. package/dist/monitor-DNDx4gOO.js +0 -1237
  821. package/dist/monitor-DpAuHTne.js +0 -1661
  822. package/dist/monitor-auth-B42F9dgo.js +0 -207
  823. package/dist/monitor-processing-DyP1l7Er.js +0 -1974
  824. package/dist/monitor.runtime-DbcwE5XS.js +0 -2
  825. package/dist/monitor.webhook-Dthw-aQB.js +0 -180
  826. package/dist/msteams-D2mb7FnE.js +0 -35
  827. package/dist/native-hook-relay-CdaoEdNX.js +0 -519
  828. package/dist/nextcloud-talk-B18eVVV7.js +0 -17
  829. package/dist/node-cli-Ck0VwYwV.js +0 -2506
  830. package/dist/nodes-cli-DC-DcHIP.js +0 -1046
  831. package/dist/nodes-utils-BWIRDyv_.js +0 -84
  832. package/dist/nodes.helpers-BEHH7X2_.js +0 -34
  833. package/dist/notify-JkL7xdrB.js +0 -315
  834. package/dist/onboard-C5BIoHo2.js +0 -70
  835. package/dist/onboard-helpers-C2zyBKT7.js +0 -204
  836. package/dist/onboard-helpers-CaQKQFzC.js +0 -6
  837. package/dist/onboard-interactive-Bq6kHQx1.js +0 -24
  838. package/dist/onboard-non-interactive-DQFp1nqn.js +0 -548
  839. package/dist/onboard-qYbyvbbw.js +0 -2
  840. package/dist/onboard-remote-BrlKFoRp.js +0 -193
  841. package/dist/onboard-remote-CGK4Eovr.js +0 -2
  842. package/dist/onboard-skills-BOatQ3qu.js +0 -2
  843. package/dist/onboard-skills-MIp5L4Bg.js +0 -134
  844. package/dist/openai-http-BzR_snW0.js +0 -500
  845. package/dist/openresponses-http-D_qmLKbV.js +0 -1128
  846. package/dist/operator-approvals-client-BMXsikiI.js +0 -68
  847. package/dist/outbound.runtime-sBaP-y4C.js +0 -2
  848. package/dist/pair-command-approve-DJLjxT6x.js +0 -44
  849. package/dist/persistent-bindings.lifecycle-DzeMqt76.js +0 -85
  850. package/dist/persistent-bindings.lifecycle-zRaTKjMh.js +0 -2
  851. package/dist/pi-embedded-CeDhWvgx.js +0 -4
  852. package/dist/pi-embedded-DUpRXfJO.js +0 -2905
  853. package/dist/pi-embedded.runtime-DtYM7NdD.js +0 -4
  854. package/dist/pi-tool-definition-adapter-CB0HS-nc.js +0 -229
  855. package/dist/pi-tools-Bj9D94l1.js +0 -1057
  856. package/dist/pi-tools.before-tool-call-BbQkYemc.js +0 -2
  857. package/dist/pi-tools.before-tool-call-DgbBDh3b.js +0 -433
  858. package/dist/plugin-PC7i4gKf.js +0 -12195
  859. package/dist/plugin-enabled-CfTRDw44.js +0 -140
  860. package/dist/plugin-registration-B-k3D6sT.js +0 -23
  861. package/dist/plugin-service-BK8-VUTt.js +0 -2892
  862. package/dist/policy-BW0acqi4.js +0 -328
  863. package/dist/prepare.runtime-_AbiM89x.js +0 -815
  864. package/dist/probe-BMLDcZ32.js +0 -241
  865. package/dist/probe-Ba3TRP2B.js +0 -45
  866. package/dist/probe-CUiwktQB.js +0 -74
  867. package/dist/probe-DebEe8F0.js +0 -2
  868. package/dist/probe-DezLtnJj.js +0 -2
  869. package/dist/probe-V8OIWFIZ.js +0 -1443
  870. package/dist/probe-dGp0-neY.js +0 -2205
  871. package/dist/program-DW7m0H8i.js +0 -111
  872. package/dist/prompt-select-styled-jplnVzKe.js +0 -20
  873. package/dist/protocol-C83jsm03.js +0 -2335
  874. package/dist/provider-dispatcher-CE-8HFJ3.js +0 -22
  875. package/dist/provider-dispatcher-CvSHrBCK.js +0 -2
  876. package/dist/qr-cli-N0rKzCLa.js +0 -349
  877. package/dist/qr-cli-anaRAjRO.js +0 -2
  878. package/dist/reaction-runtime-api-D0RKf7dw.js +0 -116
  879. package/dist/reactions-D5tTqX43.js +0 -998
  880. package/dist/register-service-commands-DR8PFCDH.js +0 -71
  881. package/dist/register.agent-C0S6Qd9d.js +0 -248
  882. package/dist/register.configure-Syn4zjBT.js +0 -15
  883. package/dist/register.maintenance-DlWVxmgp.js +0 -363
  884. package/dist/register.message-Ca0UvwH3.js +0 -329
  885. package/dist/register.onboard-BrPnofu3.js +0 -88
  886. package/dist/register.runtime-DrxUrGzO.js +0 -81
  887. package/dist/register.setup-DgnkDiBO.js +0 -150
  888. package/dist/register.status-health-sessions-BvccPkCF.js +0 -1215
  889. package/dist/register.subclis-BybdnCZ1.js +0 -29
  890. package/dist/register.subclis-CmiGzm_7.js +0 -3
  891. package/dist/register.subclis-core-CdzVfdg9.js +0 -249
  892. package/dist/register.wallet-CY_R6-2U.js +0 -271
  893. package/dist/reply-dispatch-runtime-C1FpfnAM.js +0 -13
  894. package/dist/reply-runtime-s43-M8Jj.js +0 -11
  895. package/dist/reply.runtime-7wnQxEUw.js +0 -2
  896. package/dist/restart-health-COnZzsKp.js +0 -202
  897. package/dist/restart-health-eI6OqLsK.js +0 -2
  898. package/dist/root-help-DeQ9PX0j.js +0 -44
  899. package/dist/routes-BWEN5YAF.js +0 -2
  900. package/dist/routes-C672_WKa.js +0 -3341
  901. package/dist/rpc-B426srGJ.js +0 -61
  902. package/dist/rpc.runtime-DUM1XyRX.js +0 -21
  903. package/dist/run-delivery.runtime-CXw2jVkt.js +0 -530
  904. package/dist/run-embedded.runtime-xS-1mmyO.js +0 -4
  905. package/dist/run-execution-cli.runtime-aDPMKzJX.js +0 -4
  906. package/dist/run-executor.runtime-C4ZFsj8q.js +0 -277
  907. package/dist/run-main-4Rq8UxLR.js +0 -567
  908. package/dist/run-subagent-registry.runtime-DzAf7j8r.js +0 -2
  909. package/dist/run-wait-T_9raRki.js +0 -135
  910. package/dist/runtime-Bi-FG7ze.js +0 -973
  911. package/dist/runtime-DTEEU-FQ.js +0 -9
  912. package/dist/runtime-api-CD1uwpvJ.js +0 -4
  913. package/dist/runtime-api-CuUMmc6o.js +0 -9
  914. package/dist/runtime-api-D1I8x3ZK.js +0 -9
  915. package/dist/runtime-api-N4ICzHSN.js +0 -14
  916. package/dist/runtime-embedded-pi.runtime-TzUSObio.js +0 -2
  917. package/dist/runtime-internal-BpmmUWVj.js +0 -2
  918. package/dist/runtime-options-lwiANMrp.js +0 -275
  919. package/dist/runtime-schema-DyZs3Hqj.js +0 -27938
  920. package/dist/scan-KAzO-hG8.js +0 -523
  921. package/dist/scan-WYNB2yvG.js +0 -2
  922. package/dist/secrets-cli-V8e9noRa.js +0 -2101
  923. package/dist/security-cli-DQAHIStH.js +0 -486
  924. package/dist/selection-B1sx7E0M.js +0 -2
  925. package/dist/selection-CdYrfYRk.js +0 -7736
  926. package/dist/send-CS2Grx1T.js +0 -102
  927. package/dist/send-DD9fqnsS.js +0 -156
  928. package/dist/send.runtime-UBa9b0KL.js +0 -2
  929. package/dist/server-DTBpPcSJ.js +0 -77
  930. package/dist/server-LnjMkCwG.js +0 -13
  931. package/dist/server-context-CgUkot1S.js +0 -2
  932. package/dist/server-context-e5qiFYb9.js +0 -847
  933. package/dist/server-node-events-DGbm1S0O.js +0 -481
  934. package/dist/server-plugin-bootstrap-BAb2yBlZ.js +0 -11652
  935. package/dist/server-plugin-bootstrap-QC6Ie4eo.js +0 -2
  936. package/dist/server-restart-sentinel-CHIEkMav.js +0 -697
  937. package/dist/server.impl-smIsMGyM.js +0 -12822
  938. package/dist/service-CzJ-5DK_.js +0 -1415
  939. package/dist/session-kill-http-J_6Qu28L.js +0 -110
  940. package/dist/session-reset-service-BpBipveT.js +0 -471
  941. package/dist/session-route-CpYl3T8Y.js +0 -93
  942. package/dist/session-status.runtime-UUa0VU0y.js +0 -2
  943. package/dist/session-subagent-reactivation.runtime-L2O0yOy4.js +0 -2
  944. package/dist/session-tab-registry-DxPANUw6.js +0 -581
  945. package/dist/session-visibility-CPIadgvQ.js +0 -147
  946. package/dist/sessions-helpers-DdEWQ3o2.js +0 -304
  947. package/dist/sessions-history-http-B9AS9VFQ.js +0 -383
  948. package/dist/sessions-patch-DRBy0uu3.js +0 -309
  949. package/dist/sessions-resolve-DM6s9pot.js +0 -174
  950. package/dist/sessions.runtime-ixcVUViJ.js +0 -2
  951. package/dist/setup-BKyIGRRk.js +0 -505
  952. package/dist/setup-api-D3Djxtka.js +0 -29
  953. package/dist/setup-core-C5ITyKzA.js +0 -171
  954. package/dist/setup-core-Nm6km7jp.js +0 -176
  955. package/dist/setup-surface-BEpfVHSH.js +0 -403
  956. package/dist/setup-surface-D4gEPCHR.js +0 -219
  957. package/dist/setup-surface-DdkjjhYB.js +0 -286
  958. package/dist/setup.finalize-BOnrhqzV.js +0 -547
  959. package/dist/setup.gateway-config-CmRGTkaE.js +0 -250
  960. package/dist/shared-Bb4YCXx6.js +0 -198
  961. package/dist/shared-CZCh0WCN.js +0 -121
  962. package/dist/shared-Df0CbtUw.js +0 -76
  963. package/dist/slash-state-BQJu5tOn.js +0 -1911
  964. package/dist/src-C4ImkbSW.js +0 -3974
  965. package/dist/startup-context-nffy5sQU.js +0 -312
  966. package/dist/status-0QDxMlFq.js +0 -2
  967. package/dist/status-5OjwhqkA.js +0 -209
  968. package/dist/status-C306d1iE.js +0 -2
  969. package/dist/status-Crg2u6MB.js +0 -397
  970. package/dist/status-DMLvl7RU.js +0 -190
  971. package/dist/status-N59cRl1N.js +0 -3
  972. package/dist/status-all-WKQtyBf9.js +0 -498
  973. package/dist/status-json-C2DgeCRG.js +0 -14
  974. package/dist/status-json-command-B2k_1ZuR.js +0 -84
  975. package/dist/status-runtime-shared-ZCbKKj-y.js +0 -257
  976. package/dist/status-subagents.runtime-CmaY9hZm.js +0 -18
  977. package/dist/status-text-NR1x0nMa.js +0 -237
  978. package/dist/status.gateway-connection.runtime-DBlvpSWB.js +0 -2
  979. package/dist/status.gather-BkL7J_y1.js +0 -292
  980. package/dist/status.gather-CWbs5-z2.js +0 -2
  981. package/dist/status.runtime-BOc5e8DI.js +0 -2
  982. package/dist/status.scan-DY4x5vdB.js +0 -65
  983. package/dist/status.scan-overview-CF96KtOa.js +0 -379
  984. package/dist/status.scan.fast-json-CUQQXpr8.js +0 -2
  985. package/dist/status.scan.fast-json-Dd2Q4LW7.js +0 -132
  986. package/dist/status.summary-CfGo54T4.js +0 -214
  987. package/dist/status.summary-CyG5QMo9.js +0 -2
  988. package/dist/subagent-announce-DW816JCC.js +0 -351
  989. package/dist/subagent-announce-delivery-DgKXtDWV.js +0 -726
  990. package/dist/subagent-announce-output-BrJdNBlx.js +0 -364
  991. package/dist/subagent-control-xz3ZcUrb.js +0 -506
  992. package/dist/subagent-followup.runtime-DQS6ipTt.js +0 -68
  993. package/dist/subagent-orphan-recovery-CzwjvW_o.js +0 -305
  994. package/dist/subagent-registry-88vWnDP5.js +0 -1753
  995. package/dist/subagent-registry-B_JB7WyN.js +0 -3
  996. package/dist/subagent-spawn-ChRpfSX6.js +0 -1005
  997. package/dist/system-cli-BiYfWkTS.js +0 -59
  998. package/dist/targets-TpH8-6iR.js +0 -67
  999. package/dist/task-executor-Chx2YFYp.js +0 -360
  1000. package/dist/task-owner-access-CPMM8lVh.js +0 -74
  1001. package/dist/task-registry-Cb_XGvuS.js +0 -2366
  1002. package/dist/task-registry-delivery-runtime-6z8W4up9.js +0 -2
  1003. package/dist/task-registry-delivery-runtime-OqkDQtLj.js +0 -3
  1004. package/dist/task-registry.maintenance-Ci6oLcFg.js +0 -2
  1005. package/dist/task-registry.maintenance-i69b0iH7.js +0 -416
  1006. package/dist/testing-BmGGzr14.js +0 -575
  1007. package/dist/text-report-WpPbFau5.js +0 -587
  1008. package/dist/tool-resolution-DCK5whNz.js +0 -90
  1009. package/dist/tools-effective-inventory-CkymEUkf.js +0 -152
  1010. package/dist/tools-invoke-http-BECDcy94.js +0 -206
  1011. package/dist/trash-Cz555AtH.js +0 -24
  1012. package/dist/tui-cli-BTNsU35D.js +0 -4575
  1013. package/dist/update-cli-CEi34S-K.js +0 -1759
  1014. package/dist/upgrade-CeMGojsg.js +0 -1226
  1015. package/dist/video-generation-task-status-BGbHX8xJ.js +0 -163
  1016. package/dist/wait-for-idle-before-flush-CUNJdPz7.js +0 -5986
  1017. package/dist/wizard-models-DGVbHDnh.js +0 -334
@@ -0,0 +1,1363 @@
1
+ import { a as normalizeLowercaseStringOrEmpty } from "./string-coerce-C1IzJjqi.js";
2
+ import { l as isRecord$1 } from "./utils-DaGfogP-.js";
3
+ import { n as resolvePreferredGenesisTmpDir } from "./tmp-genesis-dir-B4F3mzr8.js";
4
+ import { t as isTruthyEnvValue } from "./env-CLDDxlAx.js";
5
+ import { o as sanitizeHostExecEnv } from "./host-env-security-Bin-AhM4.js";
6
+ import { a as shouldLogVerbose } from "./globals-C5IxqXPj.js";
7
+ import { p as scopedHeartbeatWakeOptions } from "./session-key-EpIbK3Oz.js";
8
+ import { t as applyPluginTextReplacements } from "./plugin-text-transforms-CNgM2qaF.js";
9
+ import { i as emitAgentEvent } from "./agent-events-C550d2MW.js";
10
+ import { a as prependBootstrapPromptWarning } from "./bootstrap-budget-CpN-YN0m.js";
11
+ import "./pi-embedded-helpers-CK3PwYTU.js";
12
+ import { t as classifyFailoverReason } from "./errors-Bbrw2LeD.js";
13
+ import { s as resolveFailoverStatus, t as FailoverError } from "./failover-error-BHITafkz.js";
14
+ import { i as stripSystemPromptCacheBoundary } from "./system-prompt-cache-boundary-DKO8fQMN.js";
15
+ import { n as requestHeartbeatNow } from "./heartbeat-wake-gB5UjCS-.js";
16
+ import { i as enqueueSystemEvent } from "./system-events-C6NkuE_K.js";
17
+ import { n as applySkillEnvOverridesFromSnapshot } from "./env-overrides-v-kPVBOP.js";
18
+ import "./skills-IZVWCAeU.js";
19
+ import { t as extractBalancedJsonFragments } from "./balanced-json-D07cKqa2.js";
20
+ import { t as getProcessSupervisor } from "./supervisor-Dqwdcbdz.js";
21
+ import { a as prepareCliPromptImagePayload, c as resolveSessionIdToSend, d as buildCliSupervisorScopeKey, f as resolveCliNoOutputTimeoutMs, g as cliBackendLog, l as resolveSystemPromptUsage, o as resolveCliRunQueueKey, r as enqueueCliRun, s as resolvePromptInput, t as buildCliArgs, u as writeCliSystemPromptFile } from "./helpers-DPcmCkh_.js";
22
+ import path from "node:path";
23
+ import fs from "node:fs/promises";
24
+ import crypto from "node:crypto";
25
+ //#region src/agents/cli-output.ts
26
+ function isClaudeCliProvider(providerId) {
27
+ return normalizeLowercaseStringOrEmpty(providerId) === "claude-cli";
28
+ }
29
+ function usesClaudeStreamJsonDialect(params) {
30
+ return params.backend.jsonlDialect === "claude-stream-json" || isClaudeCliProvider(params.providerId);
31
+ }
32
+ function extractJsonObjectCandidates(raw) {
33
+ return extractBalancedJsonFragments(raw, { openers: ["{"] }).map((fragment) => fragment.json);
34
+ }
35
+ function parseJsonRecordCandidates(raw) {
36
+ const parsedRecords = [];
37
+ const trimmed = raw.trim();
38
+ if (!trimmed) return parsedRecords;
39
+ try {
40
+ const parsed = JSON.parse(trimmed);
41
+ if (isRecord$1(parsed)) {
42
+ parsedRecords.push(parsed);
43
+ return parsedRecords;
44
+ }
45
+ } catch {}
46
+ for (const candidate of extractJsonObjectCandidates(trimmed)) try {
47
+ const parsed = JSON.parse(candidate);
48
+ if (isRecord$1(parsed)) parsedRecords.push(parsed);
49
+ } catch {}
50
+ return parsedRecords;
51
+ }
52
+ function readNestedErrorMessage(parsed) {
53
+ if (isRecord$1(parsed.error)) {
54
+ const errorMessage = readNestedErrorMessage(parsed.error);
55
+ if (errorMessage) return errorMessage;
56
+ }
57
+ if (typeof parsed.message === "string") {
58
+ const trimmed = parsed.message.trim();
59
+ if (trimmed) return trimmed;
60
+ }
61
+ if (typeof parsed.error === "string") {
62
+ const trimmed = parsed.error.trim();
63
+ if (trimmed) return trimmed;
64
+ }
65
+ }
66
+ function unwrapCliErrorText(raw) {
67
+ const trimmed = raw.trim();
68
+ if (!trimmed) return "";
69
+ for (const parsed of parseJsonRecordCandidates(trimmed)) {
70
+ const nested = readNestedErrorMessage(parsed);
71
+ if (nested) return nested;
72
+ }
73
+ return trimmed;
74
+ }
75
+ function toCliUsage(raw) {
76
+ const readNestedCached = (key) => {
77
+ const nested = raw[key];
78
+ if (!isRecord$1(nested)) return;
79
+ return typeof nested.cached_tokens === "number" && nested.cached_tokens > 0 ? nested.cached_tokens : void 0;
80
+ };
81
+ const pick = (key) => typeof raw[key] === "number" && raw[key] > 0 ? raw[key] : void 0;
82
+ const totalInput = pick("input_tokens") ?? pick("inputTokens");
83
+ const output = pick("output_tokens") ?? pick("outputTokens");
84
+ const nestedCached = readNestedCached("input_tokens_details") ?? readNestedCached("prompt_tokens_details");
85
+ const cacheRead = pick("cache_read_input_tokens") ?? pick("cached_input_tokens") ?? pick("cacheRead") ?? pick("cached") ?? nestedCached;
86
+ const input = pick("input") ?? ((Object.hasOwn(raw, "cached") || nestedCached !== void 0) && typeof totalInput === "number" ? Math.max(0, totalInput - (cacheRead ?? 0)) : totalInput);
87
+ const cacheWrite = pick("cache_creation_input_tokens") ?? pick("cache_write_input_tokens") ?? pick("cacheWrite");
88
+ const total = pick("total_tokens") ?? pick("total");
89
+ if (!input && !output && !cacheRead && !cacheWrite && !total) return;
90
+ return {
91
+ input,
92
+ output,
93
+ cacheRead,
94
+ cacheWrite,
95
+ total
96
+ };
97
+ }
98
+ function readCliUsage(parsed) {
99
+ if (isRecord$1(parsed.usage)) {
100
+ const usage = toCliUsage(parsed.usage);
101
+ if (usage) return usage;
102
+ }
103
+ if (isRecord$1(parsed.stats)) return toCliUsage(parsed.stats);
104
+ }
105
+ function collectCliText(value) {
106
+ if (!value) return "";
107
+ if (typeof value === "string") return value;
108
+ if (Array.isArray(value)) return value.map((entry) => collectCliText(entry)).join("");
109
+ if (!isRecord$1(value)) return "";
110
+ if (typeof value.response === "string") return value.response;
111
+ if (typeof value.text === "string") return value.text;
112
+ if (typeof value.result === "string") return value.result;
113
+ if (typeof value.content === "string") return value.content;
114
+ if (Array.isArray(value.content)) return value.content.map((entry) => collectCliText(entry)).join("");
115
+ if (isRecord$1(value.message)) return collectCliText(value.message);
116
+ return "";
117
+ }
118
+ function collectExplicitCliErrorText(parsed) {
119
+ const nested = readNestedErrorMessage(parsed);
120
+ if (nested) return unwrapCliErrorText(nested);
121
+ if (parsed.is_error === true && typeof parsed.result === "string") return unwrapCliErrorText(parsed.result);
122
+ if (parsed.type === "assistant") {
123
+ const text = collectCliText(parsed.message);
124
+ if (/^\s*API Error:/i.test(text)) return unwrapCliErrorText(text);
125
+ }
126
+ if (parsed.type === "error") return unwrapCliErrorText(collectCliText(parsed.message) || collectCliText(parsed.content) || collectCliText(parsed.result) || collectCliText(parsed));
127
+ return "";
128
+ }
129
+ function pickCliSessionId(parsed, backend) {
130
+ const fields = backend.sessionIdFields ?? [
131
+ "session_id",
132
+ "sessionId",
133
+ "conversation_id",
134
+ "conversationId"
135
+ ];
136
+ for (const field of fields) {
137
+ const value = parsed[field];
138
+ if (typeof value === "string" && value.trim()) return value.trim();
139
+ }
140
+ }
141
+ function parseCliJson(raw, backend) {
142
+ const parsedRecords = parseJsonRecordCandidates(raw);
143
+ if (parsedRecords.length === 0) return null;
144
+ let sessionId;
145
+ let usage;
146
+ let text = "";
147
+ let sawStructuredOutput = false;
148
+ for (const parsed of parsedRecords) {
149
+ sessionId = pickCliSessionId(parsed, backend) ?? sessionId;
150
+ usage = readCliUsage(parsed) ?? usage;
151
+ const trimmedText = (collectCliText(parsed.message) || collectCliText(parsed.content) || collectCliText(parsed.result) || collectCliText(parsed.response) || collectCliText(parsed)).trim();
152
+ if (trimmedText) {
153
+ text = trimmedText;
154
+ sawStructuredOutput = true;
155
+ continue;
156
+ }
157
+ if (sessionId || usage) sawStructuredOutput = true;
158
+ }
159
+ if (!text && !sawStructuredOutput) return null;
160
+ return {
161
+ text,
162
+ sessionId,
163
+ usage
164
+ };
165
+ }
166
+ function parseClaudeCliJsonlResult(params) {
167
+ if (!usesClaudeStreamJsonDialect(params)) return null;
168
+ if (typeof params.parsed.type === "string" && params.parsed.type === "result" && typeof params.parsed.result === "string") {
169
+ const resultText = params.parsed.result.trim();
170
+ if (resultText) return {
171
+ text: resultText,
172
+ sessionId: params.sessionId,
173
+ usage: params.usage
174
+ };
175
+ return {
176
+ text: "",
177
+ sessionId: params.sessionId,
178
+ usage: params.usage
179
+ };
180
+ }
181
+ return null;
182
+ }
183
+ function parseClaudeCliStreamingDelta(params) {
184
+ if (!usesClaudeStreamJsonDialect(params)) return null;
185
+ if (params.parsed.type !== "stream_event" || !isRecord$1(params.parsed.event)) return null;
186
+ const event = params.parsed.event;
187
+ if (event.type !== "content_block_delta" || !isRecord$1(event.delta)) return null;
188
+ const delta = event.delta;
189
+ if (delta.type !== "text_delta" || typeof delta.text !== "string") return null;
190
+ if (!delta.text) return null;
191
+ return {
192
+ text: `${params.textSoFar}${delta.text}`,
193
+ delta: delta.text,
194
+ sessionId: params.sessionId,
195
+ usage: params.usage
196
+ };
197
+ }
198
+ function createCliJsonlStreamingParser(params) {
199
+ let lineBuffer = "";
200
+ let assistantText = "";
201
+ let sessionId;
202
+ let usage;
203
+ const handleParsedRecord = (parsed) => {
204
+ sessionId = pickCliSessionId(parsed, params.backend) ?? sessionId;
205
+ if (!sessionId && typeof parsed.thread_id === "string") sessionId = parsed.thread_id.trim();
206
+ if (isRecord$1(parsed.usage)) usage = toCliUsage(parsed.usage) ?? usage;
207
+ const delta = parseClaudeCliStreamingDelta({
208
+ backend: params.backend,
209
+ providerId: params.providerId,
210
+ parsed,
211
+ textSoFar: assistantText,
212
+ sessionId,
213
+ usage
214
+ });
215
+ if (!delta) return;
216
+ assistantText = delta.text;
217
+ params.onAssistantDelta(delta);
218
+ };
219
+ const flushLines = (flushPartial) => {
220
+ while (true) {
221
+ const newlineIndex = lineBuffer.indexOf("\n");
222
+ if (newlineIndex < 0) break;
223
+ const line = lineBuffer.slice(0, newlineIndex).trim();
224
+ lineBuffer = lineBuffer.slice(newlineIndex + 1);
225
+ if (!line) continue;
226
+ for (const parsed of parseJsonRecordCandidates(line)) handleParsedRecord(parsed);
227
+ }
228
+ if (!flushPartial) return;
229
+ const tail = lineBuffer.trim();
230
+ lineBuffer = "";
231
+ if (!tail) return;
232
+ for (const parsed of parseJsonRecordCandidates(tail)) handleParsedRecord(parsed);
233
+ };
234
+ return {
235
+ push(chunk) {
236
+ if (!chunk) return;
237
+ lineBuffer += chunk;
238
+ flushLines(false);
239
+ },
240
+ finish() {
241
+ flushLines(true);
242
+ }
243
+ };
244
+ }
245
+ function parseCliJsonl(raw, backend, providerId) {
246
+ const lines = raw.split(/\r?\n/g).map((line) => line.trim()).filter(Boolean);
247
+ if (lines.length === 0) return null;
248
+ let sessionId;
249
+ let usage;
250
+ const texts = [];
251
+ for (const line of lines) for (const parsed of parseJsonRecordCandidates(line)) {
252
+ if (!sessionId) sessionId = pickCliSessionId(parsed, backend);
253
+ if (!sessionId && typeof parsed.thread_id === "string") sessionId = parsed.thread_id.trim();
254
+ usage = readCliUsage(parsed) ?? usage;
255
+ const claudeResult = parseClaudeCliJsonlResult({
256
+ backend,
257
+ providerId,
258
+ parsed,
259
+ sessionId,
260
+ usage
261
+ });
262
+ if (claudeResult) return claudeResult;
263
+ const item = isRecord$1(parsed.item) ? parsed.item : null;
264
+ if (item && typeof item.text === "string") {
265
+ const type = normalizeLowercaseStringOrEmpty(item.type);
266
+ if (!type || type.includes("message")) texts.push(item.text);
267
+ }
268
+ }
269
+ const text = texts.join("\n").trim();
270
+ if (!text) return null;
271
+ return {
272
+ text,
273
+ sessionId,
274
+ usage
275
+ };
276
+ }
277
+ function parseCliOutput(params) {
278
+ const outputMode = params.outputMode ?? "text";
279
+ if (outputMode === "text") return {
280
+ text: params.raw.trim(),
281
+ sessionId: params.fallbackSessionId
282
+ };
283
+ if (outputMode === "jsonl") return parseCliJsonl(params.raw, params.backend, params.providerId) ?? {
284
+ text: params.raw.trim(),
285
+ sessionId: params.fallbackSessionId
286
+ };
287
+ return parseCliJson(params.raw, params.backend) ?? {
288
+ text: params.raw.trim(),
289
+ sessionId: params.fallbackSessionId
290
+ };
291
+ }
292
+ function extractCliErrorMessage(raw) {
293
+ const parsedRecords = parseJsonRecordCandidates(raw);
294
+ if (parsedRecords.length === 0) return null;
295
+ let errorText = "";
296
+ for (const parsed of parsedRecords) {
297
+ const next = collectExplicitCliErrorText(parsed);
298
+ if (next) errorText = next;
299
+ }
300
+ return errorText || null;
301
+ }
302
+ //#endregion
303
+ //#region src/agents/cli-runner/claude-live-session.ts
304
+ const CLAUDE_LIVE_IDLE_TIMEOUT_MS = 600 * 1e3;
305
+ const CLAUDE_LIVE_MAX_SESSIONS = 16;
306
+ const CLAUDE_LIVE_MAX_STDOUT_BUFFER_CHARS = 256 * 1024;
307
+ const CLAUDE_LIVE_MAX_STDERR_CHARS = 64 * 1024;
308
+ const CLAUDE_LIVE_MAX_TURN_RAW_CHARS = 2 * 1024 * 1024;
309
+ const CLAUDE_LIVE_MAX_TURN_LINES = 5e3;
310
+ const liveSessions = /* @__PURE__ */ new Map();
311
+ const liveSessionCreates = /* @__PURE__ */ new Map();
312
+ function sha256(value) {
313
+ return crypto.createHash("sha256").update(value).digest("hex");
314
+ }
315
+ function shouldUseClaudeLiveSession(context) {
316
+ return context.backendResolved.id === "claude-cli" && context.preparedBackend.backend.liveSession === "claude-stdio" && context.preparedBackend.backend.output === "jsonl" && context.preparedBackend.backend.input === "stdin";
317
+ }
318
+ function upsertArgValue(args, flag, value) {
319
+ const normalized = [];
320
+ for (let i = 0; i < args.length; i += 1) {
321
+ const arg = args[i] ?? "";
322
+ if (arg === flag) {
323
+ i += 1;
324
+ continue;
325
+ }
326
+ if (arg.startsWith(`${flag}=`)) continue;
327
+ normalized.push(arg);
328
+ }
329
+ normalized.push(flag, value);
330
+ return normalized;
331
+ }
332
+ function appendArg(args, flag) {
333
+ return args.includes(flag) ? args : [...args, flag];
334
+ }
335
+ function stripLiveProcessArgs(args, backend) {
336
+ const liveProcessFlags = new Set([
337
+ backend.sessionArg,
338
+ backend.systemPromptArg,
339
+ "--session-id"
340
+ ].filter((entry) => typeof entry === "string" && entry.length > 0));
341
+ const stripped = [];
342
+ for (let i = 0; i < args.length; i += 1) {
343
+ const arg = args[i] ?? "";
344
+ if (liveProcessFlags.has(arg)) {
345
+ i += 1;
346
+ continue;
347
+ }
348
+ if ([...liveProcessFlags].some((flag) => arg.startsWith(`${flag}=`))) continue;
349
+ stripped.push(arg);
350
+ }
351
+ return stripped;
352
+ }
353
+ function appendSystemPromptArg(args, backend, systemPrompt) {
354
+ const prompt = systemPrompt.trim();
355
+ if (!backend.systemPromptArg || !prompt) return args;
356
+ return upsertArgValue(args, backend.systemPromptArg, stripSystemPromptCacheBoundary(prompt));
357
+ }
358
+ function buildClaudeLiveArgs(params) {
359
+ return appendArg(upsertArgValue(upsertArgValue(params.useResume ? stripLiveProcessArgs(params.args, params.backend) : appendSystemPromptArg(stripLiveProcessArgs(params.args, params.backend), params.backend, params.systemPrompt), "--input-format", "stream-json"), "--permission-prompt-tool", "stdio"), "--replay-user-messages");
360
+ }
361
+ function buildClaudeLiveKey(context) {
362
+ return `${context.backendResolved.id}:${sha256(JSON.stringify({
363
+ agentAccountId: context.params.agentAccountId,
364
+ agentId: context.params.agentId,
365
+ authProfileId: context.effectiveAuthProfileId,
366
+ sessionId: context.params.sessionId,
367
+ sessionKey: context.params.sessionKey
368
+ }))}`;
369
+ }
370
+ function buildClaudeLiveFingerprint(params) {
371
+ const normalizeMcpConfigPath = Boolean(params.context.preparedBackend.mcpConfigHash);
372
+ const skillSnapshot = params.context.params.skillsSnapshot;
373
+ const skillsFingerprint = skillSnapshot ? sha256(JSON.stringify({
374
+ promptHash: sha256(skillSnapshot.prompt),
375
+ resolvedSkills: (skillSnapshot.resolvedSkills ?? []).map((skill) => ({
376
+ name: skill.name,
377
+ description: skill.description,
378
+ filePath: skill.filePath,
379
+ sourceInfo: skill.sourceInfo
380
+ }))
381
+ })) : void 0;
382
+ const normalizePluginDir = Boolean(skillsFingerprint);
383
+ const omittedValueFlags = new Set([
384
+ params.context.preparedBackend.backend.systemPromptArg,
385
+ "--resume",
386
+ "-r"
387
+ ].filter((entry) => typeof entry === "string" && entry.length > 0));
388
+ const unstableValueFlags = new Set([
389
+ params.context.preparedBackend.backend.sessionArg,
390
+ "--session-id",
391
+ normalizeMcpConfigPath ? "--mcp-config" : void 0,
392
+ normalizePluginDir ? "--plugin-dir" : void 0
393
+ ].filter((entry) => typeof entry === "string" && entry.length > 0));
394
+ const stableArgv = [];
395
+ for (let i = 0; i < params.argv.length; i += 1) {
396
+ const entry = params.argv[i] ?? "";
397
+ if (omittedValueFlags.has(entry)) {
398
+ i += 1;
399
+ continue;
400
+ }
401
+ if ([...omittedValueFlags].some((flag) => entry.startsWith(`${flag}=`))) continue;
402
+ if (unstableValueFlags.has(entry)) {
403
+ stableArgv.push("<unstable>");
404
+ i += 1;
405
+ continue;
406
+ }
407
+ if ([...unstableValueFlags].some((flag) => entry.startsWith(`${flag}=`))) {
408
+ stableArgv.push("<unstable>");
409
+ continue;
410
+ }
411
+ stableArgv.push(entry);
412
+ }
413
+ return JSON.stringify({
414
+ command: params.context.preparedBackend.backend.command,
415
+ workspaceDirHash: sha256(params.context.workspaceDir),
416
+ provider: params.context.params.provider,
417
+ model: params.context.normalizedModel,
418
+ systemPromptHash: sha256(params.context.systemPrompt),
419
+ authProfileIdHash: params.context.effectiveAuthProfileId ? sha256(params.context.effectiveAuthProfileId) : void 0,
420
+ authEpochHash: params.context.authEpoch ? sha256(params.context.authEpoch) : void 0,
421
+ extraSystemPromptHash: params.context.extraSystemPromptHash,
422
+ mcpConfigHash: params.context.preparedBackend.mcpConfigHash,
423
+ skillsFingerprint,
424
+ argv: stableArgv,
425
+ env: Object.keys(params.env).toSorted().map((key) => [key, params.env[key] ? sha256(params.env[key]) : ""])
426
+ });
427
+ }
428
+ function createAbortError() {
429
+ const error = /* @__PURE__ */ new Error("CLI run aborted");
430
+ error.name = "AbortError";
431
+ return error;
432
+ }
433
+ function clearTurnTimers(turn) {
434
+ if (turn.noOutputTimer) {
435
+ clearTimeout(turn.noOutputTimer);
436
+ turn.noOutputTimer = null;
437
+ }
438
+ if (turn.timeoutTimer) {
439
+ clearTimeout(turn.timeoutTimer);
440
+ turn.timeoutTimer = null;
441
+ }
442
+ }
443
+ function clearDrainTimer(session) {
444
+ if (session.drainTimer) {
445
+ clearTimeout(session.drainTimer);
446
+ session.drainTimer = null;
447
+ }
448
+ }
449
+ function finishTurn(session, output) {
450
+ const turn = session.currentTurn;
451
+ if (!turn) return;
452
+ cliBackendLog.info(`claude live session turn: provider=${session.providerId} model=${session.modelId} durationMs=${Date.now() - turn.startedAtMs} rawLines=${turn.rawLines.length}`);
453
+ clearTurnTimers(turn);
454
+ turn.streamingParser.finish();
455
+ session.currentTurn = null;
456
+ turn.resolve(output);
457
+ scheduleIdleClose(session);
458
+ }
459
+ function failTurn(session, error) {
460
+ const turn = session.currentTurn;
461
+ if (!turn) return;
462
+ const errorKind = error instanceof Error ? error.name : typeof error;
463
+ cliBackendLog.warn(`claude live session turn failed: provider=${session.providerId} model=${session.modelId} durationMs=${Date.now() - turn.startedAtMs} error=${errorKind}`);
464
+ clearTurnTimers(turn);
465
+ turn.streamingParser.finish();
466
+ session.currentTurn = null;
467
+ turn.reject(error);
468
+ }
469
+ function abortTurn(session, error) {
470
+ if (!session.currentTurn) return;
471
+ closeLiveSession(session, "abort", error);
472
+ }
473
+ function cleanupLiveSession(session) {
474
+ if (session.cleanupDone) return;
475
+ session.cleanupDone = true;
476
+ session.cleanup();
477
+ }
478
+ function closeLiveSession(session, reason, error) {
479
+ if (session.closing) return;
480
+ cliBackendLog.info(`claude live session close: provider=${session.providerId} model=${session.modelId} reason=${reason}`);
481
+ session.closing = true;
482
+ if (session.idleTimer) {
483
+ clearTimeout(session.idleTimer);
484
+ session.idleTimer = null;
485
+ }
486
+ clearDrainTimer(session);
487
+ if (liveSessions.get(session.key) === session) liveSessions.delete(session.key);
488
+ if (error) failTurn(session, error);
489
+ session.managedRun.cancel("manual-cancel");
490
+ cleanupLiveSession(session);
491
+ }
492
+ function scheduleIdleClose(session) {
493
+ if (session.idleTimer) clearTimeout(session.idleTimer);
494
+ session.idleTimer = setTimeout(() => {
495
+ if (!session.currentTurn) closeLiveSession(session, "idle");
496
+ }, CLAUDE_LIVE_IDLE_TIMEOUT_MS);
497
+ }
498
+ function createTimeoutError(session, message) {
499
+ return new FailoverError(message, {
500
+ reason: "timeout",
501
+ provider: session.providerId,
502
+ model: session.modelId,
503
+ status: resolveFailoverStatus("timeout")
504
+ });
505
+ }
506
+ function createOutputLimitError(session, message) {
507
+ return new FailoverError(message, {
508
+ reason: "format",
509
+ provider: session.providerId,
510
+ model: session.modelId,
511
+ status: resolveFailoverStatus("format")
512
+ });
513
+ }
514
+ function resetNoOutputTimer(session) {
515
+ const turn = session.currentTurn;
516
+ if (!turn) return;
517
+ if (turn.noOutputTimer) clearTimeout(turn.noOutputTimer);
518
+ turn.noOutputTimer = setTimeout(() => {
519
+ closeLiveSession(session, "abort", createTimeoutError(session, `CLI produced no output for ${Math.round(session.noOutputTimeoutMs / 1e3)}s and was terminated.`));
520
+ }, session.noOutputTimeoutMs);
521
+ }
522
+ function parseSessionId(parsed) {
523
+ return (typeof parsed.session_id === "string" ? parsed.session_id.trim() : typeof parsed.sessionId === "string" ? parsed.sessionId.trim() : "") || void 0;
524
+ }
525
+ function isRecord(value) {
526
+ return Boolean(value && typeof value === "object" && !Array.isArray(value));
527
+ }
528
+ function parseClaudeLiveJsonLine(session, trimmed) {
529
+ if (trimmed.length > CLAUDE_LIVE_MAX_STDOUT_BUFFER_CHARS) {
530
+ closeLiveSession(session, "abort", createOutputLimitError(session, "Claude CLI JSONL line exceeded output limit."));
531
+ return null;
532
+ }
533
+ let parsed;
534
+ try {
535
+ parsed = JSON.parse(trimmed);
536
+ } catch {
537
+ return null;
538
+ }
539
+ return isRecord(parsed) ? parsed : null;
540
+ }
541
+ function createResultError(session, parsed, raw) {
542
+ const result = typeof parsed.result === "string" ? parsed.result.trim() : "";
543
+ const message = extractCliErrorMessage(raw) ?? (result || "Claude CLI failed.");
544
+ const reason = classifyFailoverReason(message, { provider: session.providerId }) ?? "unknown";
545
+ return new FailoverError(message, {
546
+ reason,
547
+ provider: session.providerId,
548
+ model: session.modelId,
549
+ status: resolveFailoverStatus(reason)
550
+ });
551
+ }
552
+ function handleClaudeLiveLine(session, line) {
553
+ const turn = session.currentTurn;
554
+ const trimmed = line.trim();
555
+ if (!trimmed) return;
556
+ const parsed = parseClaudeLiveJsonLine(session, trimmed);
557
+ if (!parsed) return;
558
+ if (session.drainingAbortedTurn) {
559
+ if (parsed.type === "result") {
560
+ const turnToClear = session.currentTurn;
561
+ if (turnToClear) {
562
+ clearTurnTimers(turnToClear);
563
+ session.currentTurn = null;
564
+ }
565
+ session.drainingAbortedTurn = false;
566
+ clearDrainTimer(session);
567
+ scheduleIdleClose(session);
568
+ }
569
+ return;
570
+ }
571
+ if (!turn) return;
572
+ turn.rawChars += trimmed.length + 1;
573
+ if (turn.rawChars > CLAUDE_LIVE_MAX_TURN_RAW_CHARS || turn.rawLines.length >= CLAUDE_LIVE_MAX_TURN_LINES) {
574
+ closeLiveSession(session, "abort", createOutputLimitError(session, "Claude CLI turn output exceeded limit."));
575
+ return;
576
+ }
577
+ turn.rawLines.push(trimmed);
578
+ turn.streamingParser.push(`${trimmed}\n`);
579
+ turn.sessionId = parseSessionId(parsed) ?? turn.sessionId;
580
+ if (parsed.type !== "result") return;
581
+ const raw = turn.rawLines.join("\n");
582
+ if (parsed.is_error === true) {
583
+ failTurn(session, createResultError(session, parsed, raw));
584
+ scheduleIdleClose(session);
585
+ return;
586
+ }
587
+ finishTurn(session, parseCliOutput({
588
+ raw,
589
+ backend: turn.backend,
590
+ providerId: session.providerId,
591
+ outputMode: "jsonl",
592
+ fallbackSessionId: turn.sessionId
593
+ }));
594
+ }
595
+ function handleClaudeStdout(session, chunk) {
596
+ resetNoOutputTimer(session);
597
+ session.stdoutBuffer += chunk;
598
+ if (session.stdoutBuffer.length > CLAUDE_LIVE_MAX_STDOUT_BUFFER_CHARS) {
599
+ closeLiveSession(session, "abort", createOutputLimitError(session, "Claude CLI stdout buffer exceeded limit."));
600
+ return;
601
+ }
602
+ const lines = session.stdoutBuffer.split(/\r?\n/g);
603
+ session.stdoutBuffer = lines.pop() ?? "";
604
+ try {
605
+ for (const line of lines) handleClaudeLiveLine(session, line);
606
+ } catch (error) {
607
+ closeLiveSession(session, "abort", error);
608
+ }
609
+ }
610
+ function handleClaudeExit(session, exitCode) {
611
+ session.closing = true;
612
+ if (session.idleTimer) {
613
+ clearTimeout(session.idleTimer);
614
+ session.idleTimer = null;
615
+ }
616
+ clearDrainTimer(session);
617
+ if (liveSessions.get(session.key) === session) liveSessions.delete(session.key);
618
+ cleanupLiveSession(session);
619
+ if (!session.currentTurn) return;
620
+ if (session.stdoutBuffer.trim()) {
621
+ try {
622
+ handleClaudeLiveLine(session, session.stdoutBuffer);
623
+ } catch (error) {
624
+ session.stdoutBuffer = "";
625
+ failTurn(session, error);
626
+ return;
627
+ }
628
+ session.stdoutBuffer = "";
629
+ }
630
+ if (!session.currentTurn) return;
631
+ const stderr = session.stderr.trim();
632
+ const fallbackMessage = exitCode === 0 ? "Claude CLI exited before completing the turn." : "Claude CLI failed.";
633
+ const message = extractCliErrorMessage(stderr) ?? (stderr || fallbackMessage);
634
+ if (exitCode === 0) {
635
+ failTurn(session, new Error(message));
636
+ return;
637
+ }
638
+ const reason = classifyFailoverReason(message, { provider: session.providerId }) ?? "unknown";
639
+ failTurn(session, new FailoverError(message, {
640
+ reason,
641
+ provider: session.providerId,
642
+ model: session.modelId,
643
+ status: resolveFailoverStatus(reason)
644
+ }));
645
+ }
646
+ function createClaudeUserInputMessage(content) {
647
+ return `${JSON.stringify({
648
+ type: "user",
649
+ session_id: "",
650
+ parent_tool_use_id: null,
651
+ message: {
652
+ role: "user",
653
+ content
654
+ }
655
+ })}\n`;
656
+ }
657
+ async function writeTurnInput(session, prompt) {
658
+ const stdin = session.managedRun.stdin;
659
+ if (!stdin) throw new Error("Claude CLI live session stdin is unavailable");
660
+ await new Promise((resolve, reject) => {
661
+ stdin.write(createClaudeUserInputMessage(prompt), (error) => {
662
+ if (error) {
663
+ reject(error);
664
+ return;
665
+ }
666
+ resolve();
667
+ });
668
+ });
669
+ }
670
+ async function createClaudeLiveSession(params) {
671
+ let session = null;
672
+ const managedRun = await params.supervisor.spawn({
673
+ sessionId: params.context.params.sessionId,
674
+ backendId: params.context.backendResolved.id,
675
+ scopeKey: `claude-live:${params.key}`,
676
+ replaceExistingScope: true,
677
+ mode: "child",
678
+ argv: params.argv,
679
+ cwd: params.context.workspaceDir,
680
+ env: params.env,
681
+ stdinMode: "pipe-open",
682
+ captureOutput: false,
683
+ onStdout: (chunk) => {
684
+ if (session) handleClaudeStdout(session, chunk);
685
+ },
686
+ onStderr: (chunk) => {
687
+ if (session) {
688
+ session.stderr += chunk;
689
+ if (session.stderr.length > CLAUDE_LIVE_MAX_STDERR_CHARS) {
690
+ closeLiveSession(session, "abort", createOutputLimitError(session, "Claude CLI stderr exceeded limit."));
691
+ return;
692
+ }
693
+ resetNoOutputTimer(session);
694
+ }
695
+ }
696
+ });
697
+ session = {
698
+ key: params.key,
699
+ fingerprint: params.fingerprint,
700
+ managedRun,
701
+ providerId: params.context.params.provider,
702
+ modelId: params.context.modelId,
703
+ noOutputTimeoutMs: params.noOutputTimeoutMs,
704
+ stderr: "",
705
+ stdoutBuffer: "",
706
+ currentTurn: null,
707
+ drainTimer: null,
708
+ drainingAbortedTurn: false,
709
+ idleTimer: null,
710
+ cleanup: params.cleanup,
711
+ cleanupDone: false,
712
+ closing: false
713
+ };
714
+ managedRun.wait().then((exit) => handleClaudeExit(session, exit.exitCode), (error) => {
715
+ if (session) closeLiveSession(session, "abort", error);
716
+ });
717
+ liveSessions.set(params.key, session);
718
+ cliBackendLog.info(`claude live session start: provider=${session.providerId} model=${session.modelId} activeSessions=${liveSessions.size}`);
719
+ return session;
720
+ }
721
+ function createTurn(params) {
722
+ const turn = {
723
+ backend: params.context.preparedBackend.backend,
724
+ startedAtMs: Date.now(),
725
+ rawLines: [],
726
+ rawChars: 0,
727
+ noOutputTimer: null,
728
+ timeoutTimer: null,
729
+ streamingParser: createCliJsonlStreamingParser({
730
+ backend: params.context.preparedBackend.backend,
731
+ providerId: params.context.backendResolved.id,
732
+ onAssistantDelta: params.onAssistantDelta
733
+ }),
734
+ resolve: params.resolve,
735
+ reject: params.reject
736
+ };
737
+ turn.noOutputTimer = setTimeout(() => {
738
+ closeLiveSession(params.session, "abort", createTimeoutError(params.session, `CLI produced no output for ${Math.round(params.noOutputTimeoutMs / 1e3)}s and was terminated.`));
739
+ }, params.noOutputTimeoutMs);
740
+ turn.timeoutTimer = setTimeout(() => {
741
+ closeLiveSession(params.session, "abort", createTimeoutError(params.session, `CLI exceeded timeout (${Math.round(params.context.params.timeoutMs / 1e3)}s) and was terminated.`));
742
+ }, params.context.params.timeoutMs);
743
+ return turn;
744
+ }
745
+ function closeOldestIdleSession() {
746
+ for (const session of liveSessions.values()) if (!session.currentTurn && !session.drainingAbortedTurn) {
747
+ closeLiveSession(session, "idle");
748
+ return true;
749
+ }
750
+ return false;
751
+ }
752
+ function ensureLiveSessionCapacity(key, context) {
753
+ if (liveSessions.has(key) || liveSessionCreates.has(key) || liveSessions.size + liveSessionCreates.size < CLAUDE_LIVE_MAX_SESSIONS) return;
754
+ if (closeOldestIdleSession()) return;
755
+ throw new FailoverError("Too many Claude CLI live sessions are active.", {
756
+ reason: "rate_limit",
757
+ provider: context.params.provider,
758
+ model: context.modelId,
759
+ status: resolveFailoverStatus("rate_limit")
760
+ });
761
+ }
762
+ async function runClaudeLiveSessionTurn(params) {
763
+ const key = buildClaudeLiveKey(params.context);
764
+ const resumeCapable = Boolean(params.context.preparedBackend.backend.resumeArgs?.length);
765
+ const argv = [params.context.preparedBackend.backend.command, ...buildClaudeLiveArgs({
766
+ args: params.args,
767
+ backend: params.context.preparedBackend.backend,
768
+ systemPrompt: params.context.systemPrompt,
769
+ useResume: params.useResume
770
+ })];
771
+ const fingerprint = buildClaudeLiveFingerprint({
772
+ context: params.context,
773
+ argv,
774
+ env: params.env
775
+ });
776
+ let cleanupDone = false;
777
+ const cleanup = async () => {
778
+ if (cleanupDone) return;
779
+ cleanupDone = true;
780
+ await params.cleanup();
781
+ };
782
+ let session = liveSessions.get(key) ?? null;
783
+ if (session && resumeCapable && !params.useResume) {
784
+ closeLiveSession(session, "restart");
785
+ session = null;
786
+ }
787
+ if (session && session.fingerprint !== fingerprint) {
788
+ closeLiveSession(session, "restart");
789
+ session = null;
790
+ }
791
+ let cleanupTurnArtifacts = Boolean(session);
792
+ try {
793
+ ensureLiveSessionCapacity(key, params.context);
794
+ } catch (error) {
795
+ await cleanup();
796
+ throw error;
797
+ }
798
+ if (!session) {
799
+ const pendingSession = liveSessionCreates.get(key);
800
+ if (pendingSession) {
801
+ try {
802
+ session = await pendingSession;
803
+ } catch (error) {
804
+ await cleanup();
805
+ throw error;
806
+ }
807
+ if (session.fingerprint !== fingerprint) {
808
+ closeLiveSession(session, "restart");
809
+ session = null;
810
+ } else if (resumeCapable && !params.useResume) {
811
+ closeLiveSession(session, "restart");
812
+ session = null;
813
+ } else cleanupTurnArtifacts = true;
814
+ }
815
+ if (!session) {
816
+ const createSession = createClaudeLiveSession({
817
+ context: params.context,
818
+ argv,
819
+ env: params.env,
820
+ fingerprint,
821
+ key,
822
+ noOutputTimeoutMs: params.noOutputTimeoutMs,
823
+ supervisor: params.getProcessSupervisor(),
824
+ cleanup
825
+ }).finally(() => {
826
+ if (liveSessionCreates.get(key) === createSession) liveSessionCreates.delete(key);
827
+ });
828
+ liveSessionCreates.set(key, createSession);
829
+ try {
830
+ session = await createSession;
831
+ } catch (error) {
832
+ await cleanup();
833
+ throw error;
834
+ }
835
+ }
836
+ }
837
+ if (cleanupTurnArtifacts && session) {
838
+ await cleanup();
839
+ if (session.idleTimer) {
840
+ clearTimeout(session.idleTimer);
841
+ session.idleTimer = null;
842
+ }
843
+ cliBackendLog.info(`claude live session reuse: provider=${session.providerId} model=${session.modelId}`);
844
+ }
845
+ if (session.closing) {
846
+ await cleanup();
847
+ throw new Error("Claude CLI live session closed before handling the turn");
848
+ }
849
+ if (session.currentTurn || session.drainingAbortedTurn) throw new Error("Claude CLI live session is already handling a turn");
850
+ const liveSession = session;
851
+ liveSession.noOutputTimeoutMs = params.noOutputTimeoutMs;
852
+ liveSession.stderr = "";
853
+ const outputPromise = new Promise((resolve, reject) => {
854
+ liveSession.currentTurn = createTurn({
855
+ context: params.context,
856
+ noOutputTimeoutMs: params.noOutputTimeoutMs,
857
+ onAssistantDelta: params.onAssistantDelta,
858
+ session: liveSession,
859
+ resolve,
860
+ reject
861
+ });
862
+ });
863
+ const abort = () => abortTurn(liveSession, createAbortError());
864
+ let replyBackendCompleted = false;
865
+ const replyBackendHandle = params.context.params.replyOperation ? {
866
+ kind: "cli",
867
+ cancel: abort,
868
+ isStreaming: () => !replyBackendCompleted
869
+ } : void 0;
870
+ params.context.params.abortSignal?.addEventListener("abort", abort, { once: true });
871
+ if (replyBackendHandle) params.context.params.replyOperation?.attachBackend(replyBackendHandle);
872
+ try {
873
+ if (params.context.params.abortSignal?.aborted) abort();
874
+ else try {
875
+ await writeTurnInput(liveSession, params.prompt);
876
+ } catch (error) {
877
+ closeLiveSession(liveSession, "abort", error);
878
+ }
879
+ return { output: await outputPromise };
880
+ } finally {
881
+ replyBackendCompleted = true;
882
+ params.context.params.abortSignal?.removeEventListener("abort", abort);
883
+ if (replyBackendHandle) params.context.params.replyOperation?.detachBackend(replyBackendHandle);
884
+ }
885
+ }
886
+ //#endregion
887
+ //#region src/agents/cli-runner/claude-skills-plugin.ts
888
+ const CLAUDE_CLI_BACKEND_ID = "claude-cli";
889
+ const GENESIS_CLAUDE_PLUGIN_NAME = "genesis-skills";
890
+ function sanitizeSkillDirName(name, used) {
891
+ const base = name.trim().replace(/[^A-Za-z0-9._-]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 80) || "skill";
892
+ const safeBase = base.startsWith(".") ? `skill-${base.replace(/^\.+/, "") || "skill"}` : base;
893
+ let candidate = safeBase;
894
+ for (let index = 2; used.has(candidate); index += 1) candidate = `${safeBase}-${index}`;
895
+ used.add(candidate);
896
+ return candidate;
897
+ }
898
+ async function collectClaudePluginSkills(snapshot) {
899
+ const skills = snapshot?.resolvedSkills ?? [];
900
+ if (skills.length === 0) return [];
901
+ const usedTargetNames = /* @__PURE__ */ new Set();
902
+ const materialized = [];
903
+ for (const skill of skills) {
904
+ const name = skill.name?.trim();
905
+ const skillFilePath = skill.filePath?.trim();
906
+ if (!name || !skillFilePath) continue;
907
+ try {
908
+ await fs.access(skillFilePath);
909
+ } catch {
910
+ cliBackendLog.warn(`claude skill plugin skipped missing skill file: ${skillFilePath}`);
911
+ continue;
912
+ }
913
+ materialized.push({
914
+ name,
915
+ sourceDir: path.dirname(skillFilePath),
916
+ targetDirName: sanitizeSkillDirName(name, usedTargetNames)
917
+ });
918
+ }
919
+ return materialized;
920
+ }
921
+ async function linkOrCopySkillDir(params) {
922
+ try {
923
+ await fs.symlink(params.sourceDir, params.targetDir, process.platform === "win32" ? "junction" : "dir");
924
+ } catch {
925
+ await fs.cp(params.sourceDir, params.targetDir, {
926
+ recursive: true,
927
+ force: true,
928
+ verbatimSymlinks: true
929
+ });
930
+ }
931
+ }
932
+ async function prepareClaudeCliSkillsPlugin(params) {
933
+ if (normalizeLowercaseStringOrEmpty(params.backendId) !== CLAUDE_CLI_BACKEND_ID) return {
934
+ args: [],
935
+ cleanup: async () => {}
936
+ };
937
+ const skills = await collectClaudePluginSkills(params.skillsSnapshot);
938
+ if (skills.length === 0) return {
939
+ args: [],
940
+ cleanup: async () => {}
941
+ };
942
+ const tempDir = await fs.mkdtemp(path.join(resolvePreferredGenesisTmpDir(), "genesis-claude-skills-"));
943
+ const pluginDir = path.join(tempDir, GENESIS_CLAUDE_PLUGIN_NAME);
944
+ const manifestDir = path.join(pluginDir, ".claude-plugin");
945
+ const skillsDir = path.join(pluginDir, "skills");
946
+ await fs.mkdir(manifestDir, {
947
+ recursive: true,
948
+ mode: 448
949
+ });
950
+ await fs.mkdir(skillsDir, {
951
+ recursive: true,
952
+ mode: 448
953
+ });
954
+ const manifest = {
955
+ name: GENESIS_CLAUDE_PLUGIN_NAME,
956
+ version: "0.0.0",
957
+ description: "Session-scoped Genesis skills selected for this agent run.",
958
+ skills: "./skills"
959
+ };
960
+ await fs.writeFile(path.join(manifestDir, "plugin.json"), `${JSON.stringify(manifest, null, 2)}\n`, {
961
+ encoding: "utf-8",
962
+ mode: 384
963
+ });
964
+ let linkedSkillCount = 0;
965
+ for (const skill of skills) try {
966
+ await linkOrCopySkillDir({
967
+ sourceDir: skill.sourceDir,
968
+ targetDir: path.join(skillsDir, skill.targetDirName)
969
+ });
970
+ linkedSkillCount += 1;
971
+ } catch (error) {
972
+ cliBackendLog.warn(`claude skill plugin skipped ${skill.name}: ${error instanceof Error ? error.message : String(error)}`);
973
+ }
974
+ if (linkedSkillCount === 0) {
975
+ await fs.rm(tempDir, {
976
+ recursive: true,
977
+ force: true
978
+ });
979
+ return {
980
+ args: [],
981
+ cleanup: async () => {}
982
+ };
983
+ }
984
+ return {
985
+ args: ["--plugin-dir", pluginDir],
986
+ pluginDir,
987
+ cleanup: async () => {
988
+ await fs.rm(tempDir, {
989
+ recursive: true,
990
+ force: true
991
+ });
992
+ }
993
+ };
994
+ }
995
+ //#endregion
996
+ //#region src/agents/cli-runner/execute.ts
997
+ const executeDeps = {
998
+ getProcessSupervisor,
999
+ enqueueSystemEvent,
1000
+ requestHeartbeatNow
1001
+ };
1002
+ function createCliAbortError() {
1003
+ const error = /* @__PURE__ */ new Error("CLI run aborted");
1004
+ error.name = "AbortError";
1005
+ return error;
1006
+ }
1007
+ function buildCliLogArgs(params) {
1008
+ const logArgs = [];
1009
+ for (let i = 0; i < params.args.length; i += 1) {
1010
+ const arg = params.args[i] ?? "";
1011
+ if (arg === params.systemPromptArg) {
1012
+ const systemPromptValue = params.args[i + 1] ?? "";
1013
+ logArgs.push(arg, `<systemPrompt:${systemPromptValue.length} chars>`);
1014
+ i += 1;
1015
+ continue;
1016
+ }
1017
+ if (arg === params.sessionArg) {
1018
+ logArgs.push(arg, params.args[i + 1] ?? "");
1019
+ i += 1;
1020
+ continue;
1021
+ }
1022
+ if (arg === params.modelArg) {
1023
+ logArgs.push(arg, params.args[i + 1] ?? "");
1024
+ i += 1;
1025
+ continue;
1026
+ }
1027
+ if (arg === params.imageArg) {
1028
+ logArgs.push(arg, "<image>");
1029
+ i += 1;
1030
+ continue;
1031
+ }
1032
+ logArgs.push(arg);
1033
+ }
1034
+ if (params.argsPrompt) {
1035
+ const promptIndex = logArgs.indexOf(params.argsPrompt);
1036
+ if (promptIndex >= 0) logArgs[promptIndex] = `<prompt:${params.argsPrompt.length} chars>`;
1037
+ }
1038
+ return logArgs;
1039
+ }
1040
+ const CLI_ENV_AUTH_LOG_KEYS = [
1041
+ "AI_GATEWAY_API_KEY",
1042
+ "ANTHROPIC_API_KEY",
1043
+ "ANTHROPIC_API_KEY_OLD",
1044
+ "ANTHROPIC_API_TOKEN",
1045
+ "ANTHROPIC_AUTH_TOKEN",
1046
+ "ANTHROPIC_BASE_URL",
1047
+ "ANTHROPIC_CUSTOM_HEADERS",
1048
+ "ANTHROPIC_OAUTH_TOKEN",
1049
+ "ANTHROPIC_UNIX_SOCKET",
1050
+ "AZURE_OPENAI_API_KEY",
1051
+ "CLAUDE_CODE_OAUTH_TOKEN",
1052
+ "CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST",
1053
+ "OPENAI_API_KEY",
1054
+ "OPENAI_STEIPETE_API_KEY",
1055
+ "OPENROUTER_API_KEY"
1056
+ ];
1057
+ const CLI_BACKEND_PRESERVE_ENV = "GENESIS_LIVE_CLI_BACKEND_PRESERVE_ENV";
1058
+ function parseCliBackendPreserveEnv(raw) {
1059
+ const trimmed = raw?.trim();
1060
+ if (!trimmed) return /* @__PURE__ */ new Set();
1061
+ if (trimmed.startsWith("[")) try {
1062
+ const parsed = JSON.parse(trimmed);
1063
+ return new Set(Array.isArray(parsed) ? parsed.filter((entry) => typeof entry === "string") : []);
1064
+ } catch {
1065
+ return /* @__PURE__ */ new Set();
1066
+ }
1067
+ return new Set(trimmed.split(/[,\s]+/).map((entry) => entry.trim()).filter((entry) => entry.length > 0));
1068
+ }
1069
+ function listPresentCliAuthEnvKeys(env) {
1070
+ return CLI_ENV_AUTH_LOG_KEYS.filter((key) => {
1071
+ const value = env[key];
1072
+ return typeof value === "string" && value.length > 0;
1073
+ });
1074
+ }
1075
+ function formatCliEnvKeyList(keys) {
1076
+ return keys.length > 0 ? keys.join(",") : "none";
1077
+ }
1078
+ function buildCliEnvMcpLog(childEnv) {
1079
+ return [
1080
+ `token=${childEnv.GENESIS_MCP_TOKEN ? "set" : "missing"}`,
1081
+ `sessionKey=${childEnv.GENESIS_MCP_SESSION_KEY ? "set" : "<empty>"}`,
1082
+ `agentId=${childEnv.GENESIS_MCP_AGENT_ID || "<empty>"}`,
1083
+ `accountId=${childEnv.GENESIS_MCP_ACCOUNT_ID || "<empty>"}`,
1084
+ `messageChannel=${childEnv.GENESIS_MCP_MESSAGE_CHANNEL || "<empty>"}`,
1085
+ `senderIsOwner=${childEnv.GENESIS_MCP_SENDER_IS_OWNER || "<empty>"}`
1086
+ ].join(" ");
1087
+ }
1088
+ function buildCliEnvAuthLog(childEnv) {
1089
+ const hostKeys = listPresentCliAuthEnvKeys(process.env);
1090
+ const childKeys = listPresentCliAuthEnvKeys(childEnv);
1091
+ const childKeySet = new Set(childKeys);
1092
+ const clearedKeys = hostKeys.filter((key) => !childKeySet.has(key));
1093
+ return [
1094
+ `host=${formatCliEnvKeyList(hostKeys)}`,
1095
+ `child=${formatCliEnvKeyList(childKeys)}`,
1096
+ `cleared=${formatCliEnvKeyList(clearedKeys)}`
1097
+ ].join(" ");
1098
+ }
1099
+ async function executePreparedCliRun(context, cliSessionIdToUse) {
1100
+ const params = context.params;
1101
+ if (params.abortSignal?.aborted) throw createCliAbortError();
1102
+ const backend = context.preparedBackend.backend;
1103
+ const { sessionId: resolvedSessionId, isNew } = resolveSessionIdToSend({
1104
+ backend,
1105
+ cliSessionId: cliSessionIdToUse
1106
+ });
1107
+ const useResume = Boolean(cliSessionIdToUse && resolvedSessionId && backend.resumeArgs && backend.resumeArgs.length > 0);
1108
+ const systemPromptArg = resolveSystemPromptUsage({
1109
+ backend,
1110
+ isNewSession: isNew,
1111
+ systemPrompt: context.systemPrompt
1112
+ });
1113
+ const systemPromptFile = !useResume && systemPromptArg ? await writeCliSystemPromptFile({
1114
+ backend,
1115
+ systemPrompt: systemPromptArg
1116
+ }) : void 0;
1117
+ let prompt = applyPluginTextReplacements(prependBootstrapPromptWarning(params.prompt, context.bootstrapPromptWarningLines, { preserveExactPrompt: context.heartbeatPrompt }), context.backendResolved.textTransforms?.input);
1118
+ const { prompt: promptWithImages, imagePaths, cleanupImages } = await prepareCliPromptImagePayload({
1119
+ backend,
1120
+ prompt,
1121
+ workspaceDir: context.workspaceDir,
1122
+ images: params.images
1123
+ });
1124
+ prompt = promptWithImages;
1125
+ const { argsPrompt, stdin } = resolvePromptInput({
1126
+ backend,
1127
+ prompt
1128
+ });
1129
+ const stdinPayload = stdin ?? "";
1130
+ const baseArgs = useResume ? backend.resumeArgs ?? backend.args ?? [] : backend.args ?? [];
1131
+ const resolvedArgs = useResume ? baseArgs.map((entry) => entry.replaceAll("{sessionId}", resolvedSessionId ?? "")) : baseArgs;
1132
+ const claudeSkillsPlugin = await prepareClaudeCliSkillsPlugin({
1133
+ backendId: context.backendResolved.id,
1134
+ skillsSnapshot: params.skillsSnapshot
1135
+ });
1136
+ let claudeSkillsPluginCleanupOwned = false;
1137
+ const args = buildCliArgs({
1138
+ backend,
1139
+ baseArgs: claudeSkillsPlugin.args.length > 0 ? [...resolvedArgs, ...claudeSkillsPlugin.args] : resolvedArgs,
1140
+ modelId: context.normalizedModel,
1141
+ sessionId: resolvedSessionId,
1142
+ systemPrompt: systemPromptArg,
1143
+ systemPromptFilePath: systemPromptFile?.filePath,
1144
+ imagePaths,
1145
+ promptArg: argsPrompt,
1146
+ useResume
1147
+ });
1148
+ const queueKey = resolveCliRunQueueKey({
1149
+ backendId: context.backendResolved.id,
1150
+ serialize: backend.serialize,
1151
+ runId: params.runId,
1152
+ workspaceDir: context.workspaceDir,
1153
+ cliSessionId: useResume ? resolvedSessionId : void 0
1154
+ });
1155
+ try {
1156
+ return await enqueueCliRun(queueKey, async () => {
1157
+ const restoreSkillEnv = params.skillsSnapshot ? applySkillEnvOverridesFromSnapshot({
1158
+ snapshot: params.skillsSnapshot,
1159
+ config: params.config
1160
+ }) : void 0;
1161
+ try {
1162
+ cliBackendLog.info(`cli exec: provider=${params.provider} model=${context.normalizedModel} promptChars=${params.prompt.length}`);
1163
+ const logOutputText = isTruthyEnvValue(process.env["GENESIS_CLI_BACKEND_LOG_OUTPUT"]) || isTruthyEnvValue(process.env["GENESIS_CLAUDE_CLI_LOG_OUTPUT"]);
1164
+ const env = (() => {
1165
+ const next = sanitizeHostExecEnv({
1166
+ baseEnv: process.env,
1167
+ blockPathOverrides: true
1168
+ });
1169
+ const preservedEnv = parseCliBackendPreserveEnv(process.env[CLI_BACKEND_PRESERVE_ENV]);
1170
+ for (const key of backend.clearEnv ?? []) {
1171
+ if (preservedEnv.has(key)) continue;
1172
+ delete next[key];
1173
+ }
1174
+ if (backend.env && Object.keys(backend.env).length > 0) Object.assign(next, sanitizeHostExecEnv({
1175
+ baseEnv: {},
1176
+ overrides: backend.env,
1177
+ blockPathOverrides: true
1178
+ }));
1179
+ Object.assign(next, context.preparedBackend.env);
1180
+ delete next["CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST"];
1181
+ return next;
1182
+ })();
1183
+ if (logOutputText) {
1184
+ const logArgs = buildCliLogArgs({
1185
+ args,
1186
+ systemPromptArg: backend.systemPromptArg,
1187
+ sessionArg: backend.sessionArg,
1188
+ modelArg: backend.modelArg,
1189
+ imageArg: backend.imageArg,
1190
+ argsPrompt
1191
+ });
1192
+ cliBackendLog.info(`cli argv: ${backend.command} ${logArgs.join(" ")}`);
1193
+ cliBackendLog.info(`cli env auth: ${buildCliEnvAuthLog(env)}`);
1194
+ if (env.GENESIS_MCP_TOKEN || env.GENESIS_MCP_SESSION_KEY || env.GENESIS_MCP_SENDER_IS_OWNER) cliBackendLog.info(`cli env mcp: ${buildCliEnvMcpLog(env)}`);
1195
+ }
1196
+ const noOutputTimeoutMs = resolveCliNoOutputTimeoutMs({
1197
+ backend,
1198
+ timeoutMs: params.timeoutMs,
1199
+ useResume
1200
+ });
1201
+ const hasJsonlOutput = backend.output === "jsonl";
1202
+ if (shouldUseClaudeLiveSession(context)) {
1203
+ if (!hasJsonlOutput) throw new Error("Claude live session requires JSONL streaming parser");
1204
+ claudeSkillsPluginCleanupOwned = true;
1205
+ const liveResult = await runClaudeLiveSessionTurn({
1206
+ context,
1207
+ args,
1208
+ env,
1209
+ prompt,
1210
+ useResume,
1211
+ noOutputTimeoutMs,
1212
+ getProcessSupervisor: executeDeps.getProcessSupervisor,
1213
+ onAssistantDelta: ({ text, delta }) => {
1214
+ emitAgentEvent({
1215
+ runId: params.runId,
1216
+ stream: "assistant",
1217
+ data: {
1218
+ text: applyPluginTextReplacements(text, context.backendResolved.textTransforms?.output),
1219
+ delta: applyPluginTextReplacements(delta, context.backendResolved.textTransforms?.output)
1220
+ }
1221
+ });
1222
+ },
1223
+ cleanup: claudeSkillsPlugin.cleanup
1224
+ });
1225
+ const rawText = liveResult.output.text;
1226
+ return {
1227
+ ...liveResult.output,
1228
+ rawText,
1229
+ finalPromptText: prompt,
1230
+ text: applyPluginTextReplacements(rawText, context.backendResolved.textTransforms?.output)
1231
+ };
1232
+ }
1233
+ const streamingParser = hasJsonlOutput ? createCliJsonlStreamingParser({
1234
+ backend,
1235
+ providerId: context.backendResolved.id,
1236
+ onAssistantDelta: ({ text, delta }) => {
1237
+ emitAgentEvent({
1238
+ runId: params.runId,
1239
+ stream: "assistant",
1240
+ data: {
1241
+ text: applyPluginTextReplacements(text, context.backendResolved.textTransforms?.output),
1242
+ delta: applyPluginTextReplacements(delta, context.backendResolved.textTransforms?.output)
1243
+ }
1244
+ });
1245
+ }
1246
+ }) : null;
1247
+ const supervisor = executeDeps.getProcessSupervisor();
1248
+ const scopeKey = buildCliSupervisorScopeKey({
1249
+ backend,
1250
+ backendId: context.backendResolved.id,
1251
+ cliSessionId: useResume ? resolvedSessionId : void 0
1252
+ });
1253
+ const managedRun = await supervisor.spawn({
1254
+ sessionId: params.sessionId,
1255
+ backendId: context.backendResolved.id,
1256
+ scopeKey,
1257
+ replaceExistingScope: Boolean(useResume && scopeKey),
1258
+ mode: "child",
1259
+ argv: [backend.command, ...args],
1260
+ timeoutMs: params.timeoutMs,
1261
+ noOutputTimeoutMs,
1262
+ cwd: context.workspaceDir,
1263
+ env,
1264
+ input: stdinPayload,
1265
+ onStdout: streamingParser ? (chunk) => streamingParser.push(chunk) : void 0
1266
+ });
1267
+ let replyBackendCompleted = false;
1268
+ const replyBackendHandle = params.replyOperation ? {
1269
+ kind: "cli",
1270
+ cancel: () => {
1271
+ managedRun.cancel("manual-cancel");
1272
+ },
1273
+ isStreaming: () => !replyBackendCompleted
1274
+ } : void 0;
1275
+ if (replyBackendHandle) params.replyOperation?.attachBackend(replyBackendHandle);
1276
+ const abortManagedRun = () => {
1277
+ managedRun.cancel("manual-cancel");
1278
+ };
1279
+ params.abortSignal?.addEventListener("abort", abortManagedRun, { once: true });
1280
+ if (params.abortSignal?.aborted) abortManagedRun();
1281
+ let result;
1282
+ try {
1283
+ result = await managedRun.wait();
1284
+ } finally {
1285
+ replyBackendCompleted = true;
1286
+ if (replyBackendHandle) params.replyOperation?.detachBackend(replyBackendHandle);
1287
+ params.abortSignal?.removeEventListener("abort", abortManagedRun);
1288
+ }
1289
+ streamingParser?.finish();
1290
+ if (params.abortSignal?.aborted && result.reason === "manual-cancel") throw createCliAbortError();
1291
+ const stdout = result.stdout.trim();
1292
+ const stderr = result.stderr.trim();
1293
+ if (logOutputText) {
1294
+ if (stdout) cliBackendLog.info(`cli stdout:\n${stdout}`);
1295
+ if (stderr) cliBackendLog.info(`cli stderr:\n${stderr}`);
1296
+ }
1297
+ if (shouldLogVerbose()) {
1298
+ if (stdout) cliBackendLog.debug(`cli stdout:\n${stdout}`);
1299
+ if (stderr) cliBackendLog.debug(`cli stderr:\n${stderr}`);
1300
+ }
1301
+ if (result.exitCode !== 0 || result.reason !== "exit") {
1302
+ if (result.reason === "no-output-timeout" || result.noOutputTimedOut) {
1303
+ const timeoutReason = `CLI produced no output for ${Math.round(noOutputTimeoutMs / 1e3)}s and was terminated.`;
1304
+ cliBackendLog.warn(`cli watchdog timeout: provider=${params.provider} model=${context.modelId} session=${resolvedSessionId ?? params.sessionId} noOutputTimeoutMs=${noOutputTimeoutMs} pid=${managedRun.pid ?? "unknown"}`);
1305
+ if (params.sessionKey) {
1306
+ const stallNotice = [
1307
+ `CLI agent (${params.provider}) produced no output for ${Math.round(noOutputTimeoutMs / 1e3)}s and was terminated.`,
1308
+ "It may have been waiting for interactive input or an approval prompt.",
1309
+ "For Claude Code, prefer --permission-mode bypassPermissions --print."
1310
+ ].join(" ");
1311
+ executeDeps.enqueueSystemEvent(stallNotice, { sessionKey: params.sessionKey });
1312
+ executeDeps.requestHeartbeatNow(scopedHeartbeatWakeOptions(params.sessionKey, { reason: "cli:watchdog:stall" }));
1313
+ }
1314
+ throw new FailoverError(timeoutReason, {
1315
+ reason: "timeout",
1316
+ provider: params.provider,
1317
+ model: context.modelId,
1318
+ status: resolveFailoverStatus("timeout")
1319
+ });
1320
+ }
1321
+ if (result.reason === "overall-timeout") throw new FailoverError(`CLI exceeded timeout (${Math.round(params.timeoutMs / 1e3)}s) and was terminated.`, {
1322
+ reason: "timeout",
1323
+ provider: params.provider,
1324
+ model: context.modelId,
1325
+ status: resolveFailoverStatus("timeout")
1326
+ });
1327
+ const primaryErrorText = stderr || stdout;
1328
+ const err = (extractCliErrorMessage(primaryErrorText) ?? (stderr ? extractCliErrorMessage(stdout) : null)) || primaryErrorText || "CLI failed.";
1329
+ const reason = classifyFailoverReason(err, { provider: params.provider }) ?? "unknown";
1330
+ const status = resolveFailoverStatus(reason);
1331
+ throw new FailoverError(err, {
1332
+ reason,
1333
+ provider: params.provider,
1334
+ model: context.modelId,
1335
+ status
1336
+ });
1337
+ }
1338
+ const parsed = parseCliOutput({
1339
+ raw: stdout,
1340
+ backend,
1341
+ providerId: context.backendResolved.id,
1342
+ outputMode: useResume ? backend.resumeOutput ?? backend.output : backend.output,
1343
+ fallbackSessionId: resolvedSessionId
1344
+ });
1345
+ const rawText = parsed.text;
1346
+ return {
1347
+ ...parsed,
1348
+ rawText,
1349
+ finalPromptText: prompt,
1350
+ text: applyPluginTextReplacements(rawText, context.backendResolved.textTransforms?.output)
1351
+ };
1352
+ } finally {
1353
+ restoreSkillEnv?.();
1354
+ }
1355
+ });
1356
+ } finally {
1357
+ if (!claudeSkillsPluginCleanupOwned) await claudeSkillsPlugin.cleanup();
1358
+ if (systemPromptFile) await systemPromptFile.cleanup();
1359
+ if (cleanupImages) await cleanupImages();
1360
+ }
1361
+ }
1362
+ //#endregion
1363
+ export { executePreparedCliRun };