@bitseek/claw 1.3.10-beta.1 → 1.3.10

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 (188) hide show
  1. package/dist/{acp-cli-BW0Dvkhh.js → acp-cli-BKsxHhdT.js} +2 -2
  2. package/dist/{acp-cli-Bt83My-G.js → acp-cli-KBNX_uXy.js} +2 -2
  3. package/dist/{agents-CfwaUUzc.js → agents-CSco3QCV.js} +5 -5
  4. package/dist/{agents.config-DHX7f-II.js → agents.config-Dzz_a9Mp.js} +1 -1
  5. package/dist/{agents.config-YFwIb3TI.js → agents.config-LYVTdqX3.js} +1 -1
  6. package/dist/{audio-preflight-Be5qvEQA.js → audio-preflight-0cqr2ck2.js} +3 -3
  7. package/dist/{audio-preflight-CRllHcyv.js → audio-preflight-COA5tnZv.js} +3 -3
  8. package/dist/{audio-preflight-BxZJpmRQ.js → audio-preflight-CoLgRr1u.js} +3 -3
  9. package/dist/{audio-preflight-UJQ0M6Hl.js → audio-preflight-q7ZFguqv.js} +3 -3
  10. package/dist/{audio-transcription-runner-Dnkt3gmf.js → audio-transcription-runner--RGWC8nR.js} +1 -1
  11. package/dist/{audio-transcription-runner-_HLf10kW.js → audio-transcription-runner-BLpgvFWB.js} +1 -1
  12. package/dist/{audio-transcription-runner-DVI-SHAn.js → audio-transcription-runner-CrM5-5xi.js} +1 -1
  13. package/dist/{audio-transcription-runner-WwCG9VCF.js → audio-transcription-runner-s4TXhBuF.js} +1 -1
  14. package/dist/{audit-Ct605ugr.js → audit-D013ewlH.js} +3 -3
  15. package/dist/{audit-D-QnHZqm.js → audit-l_hNB_7d.js} +3 -3
  16. package/dist/{auth-choice-CYJe-sOy.js → auth-choice-BRVQOSOG.js} +2 -2
  17. package/dist/{auth-choice-C2N-LUBR.js → auth-choice-DzsegmXk.js} +2 -2
  18. package/dist/{banner-C4GZFnfu.js → banner-CZb1jHEj.js} +1 -1
  19. package/dist/{browser-cli-DGLAbUwi.js → browser-cli-DtLO_KqJ.js} +3 -3
  20. package/dist/{browser-cli-D2wMcHia.js → browser-cli-VBhMcj3d.js} +3 -3
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +5 -5
  23. package/dist/bundled/session-memory/handler.js +5 -5
  24. package/dist/{call-Dx2aHVrt.js → call-BxxjyXST.js} +1 -1
  25. package/dist/{call-BdLuBL48.js → call-DU_f0KMj.js} +1 -1
  26. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  27. package/dist/{channel-options-MWKuSMlJ.js → channel-options-BpjOUwv4.js} +1 -1
  28. package/dist/{channel-options-Df9B8tD2.js → channel-options-CwgtYRMM.js} +1 -1
  29. package/dist/{channel-web-CmZ5LJFz.js → channel-web-Cv_ZFOZJ.js} +2 -2
  30. package/dist/{channel-web-CZj36UOq.js → channel-web-DekWEF-x.js} +2 -2
  31. package/dist/{channels-cli-CrpfRxVo.js → channels-cli-C8u7RwGw.js} +13 -13
  32. package/dist/{channels-cli-DV6Cp2_m.js → channels-cli-d0TsshWJ.js} +13 -13
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-IXAHPzCM.js → cli-Bte8NFEF.js} +8 -8
  35. package/dist/{cli-Fm20on0Y.js → cli-H2qqzBh-.js} +8 -8
  36. package/dist/{client-DVME2dNA.js → client-Ct3INy6Q.js} +1 -0
  37. package/dist/{client-CluJsNRo.js → client-zj7haqMb.js} +1 -0
  38. package/dist/{command-registry-C3Gr6QIZ.js → command-registry-C7RGVIsP.js} +11 -11
  39. package/dist/{completion-cli-DcmfM_XB.js → completion-cli-CtlUQOU1.js} +1 -1
  40. package/dist/{completion-cli-D96BgcqD.js → completion-cli-D9Bs9sNg.js} +2 -2
  41. package/dist/{config-cli-DXlVuWUo.js → config-cli-7YppRhHT.js} +1 -1
  42. package/dist/{config-cli-CR5YWpNX.js → config-cli-BgT87I31.js} +1 -1
  43. package/dist/{configure-CwQnyhnv.js → configure-CyZK-h8l.js} +6 -6
  44. package/dist/{configure-BXys8MUC.js → configure-DIknS6D2.js} +6 -6
  45. package/dist/control-ui/assets/{index-ixU5putu.js → index-BX-BH831.js} +408 -362
  46. package/dist/control-ui/assets/index-BX-BH831.js.map +1 -0
  47. package/dist/control-ui/assets/{index-EvU5ZebS.css → index-CG7TGGhP.css} +1 -1
  48. package/dist/control-ui/index.html +2 -2
  49. package/dist/{cron-cli-CDE1OFDG.js → cron-cli-CF5BP-n7.js} +3 -3
  50. package/dist/{cron-cli-GqIWWgiC.js → cron-cli-DXGeT8Mw.js} +3 -3
  51. package/dist/{daemon-cli-D73VJA_5.js → daemon-cli-0g2nkiie.js} +2 -2
  52. package/dist/{daemon-cli-CEmNv817.js → daemon-cli-CYtFdzXW.js} +2 -2
  53. package/dist/daemon-cli.js +1 -0
  54. package/dist/{dashboard-DTlNIb75.js → dashboard-BzxWDKE9.js} +1 -1
  55. package/dist/{dashboard-DvN1mA5u.js → dashboard-EG5nMcy-.js} +1 -1
  56. package/dist/{deliver-UlKfF5ki.js → deliver-CjCvs92K.js} +1 -1
  57. package/dist/{deliver-CeItj33i.js → deliver-DkGKUNSW.js} +1 -1
  58. package/dist/{deliver-BR94HzGu.js → deliver-DvxmGKU7.js} +1 -1
  59. package/dist/{deliver-Ed6oj5Hr.js → deliver-nnwtUHe4.js} +1 -1
  60. package/dist/{devices-cli-BE_t6kEW.js → devices-cli-BMNzYzfw.js} +2 -2
  61. package/dist/{devices-cli-DolMfE77.js → devices-cli-DhkpGf9W.js} +2 -2
  62. package/dist/{doctor-completion-DiVJuSS4.js → doctor-completion-59O1eGAD.js} +1 -1
  63. package/dist/{doctor-completion-nOnIa5ym.js → doctor-completion-D1YQPRLZ.js} +1 -1
  64. package/dist/entry.js +2 -2
  65. package/dist/{exec-approvals-cli-qbLlzazr.js → exec-approvals-cli-Cfh3OhWq.js} +4 -4
  66. package/dist/{exec-approvals-cli-xVv5uofa.js → exec-approvals-cli-CoxiMlt5.js} +4 -4
  67. package/dist/extensionAPI.js +5 -5
  68. package/dist/{gateway-cli-jZ-EpLEa.js → gateway-cli-DneVvyuB.js} +33 -25
  69. package/dist/{gateway-cli-C1IqQHY2.js → gateway-cli-RrWvU33e.js} +33 -25
  70. package/dist/{gateway-rpc-CEueWk1E.js → gateway-rpc-DSDDTb9T.js} +1 -1
  71. package/dist/{gateway-rpc-yBoALaWH.js → gateway-rpc-DiWvH8Pq.js} +1 -1
  72. package/dist/{health-DeofgoIV.js → health-BEGEjMAH.js} +3 -3
  73. package/dist/{health-DOGcHcgN.js → health-BPybWGw9.js} +3 -3
  74. package/dist/{hooks-cli-Dh_3-NNe.js → hooks-cli-Cigd_Wfj.js} +9 -9
  75. package/dist/{hooks-cli-BfA8a5jt.js → hooks-cli-f7lcBr1x.js} +9 -9
  76. package/dist/{image-XqGcCt9q.js → image-5kjT0Ifv.js} +1 -1
  77. package/dist/{image-HyFl8MrD.js → image-BsWoO0mu.js} +1 -1
  78. package/dist/{image-BKHeF2sO.js → image-Cboo5_y3.js} +1 -1
  79. package/dist/{image-DcfdUryQ.js → image-Cj831azd.js} +1 -1
  80. package/dist/index.js +13 -13
  81. package/dist/llm-slug-generator.js +5 -5
  82. package/dist/{logs-cli-p5kAh0qi.js → logs-cli-Clchi69N.js} +3 -3
  83. package/dist/{logs-cli-Dv8TRwyI.js → logs-cli-Dsmur7V7.js} +3 -3
  84. package/dist/{models-x91yp20X.js → models-DpcOB3vj.js} +3 -3
  85. package/dist/{models-cli-DsaQe3L8.js → models-cli-Bi4rH3wA.js} +10 -10
  86. package/dist/{models-cli-Of0Dt4T3.js → models-cli-DUzbk_7x.js} +9 -9
  87. package/dist/{node-cli-Do62XUPs.js → node-cli-Bw3p8-Sf.js} +1 -1
  88. package/dist/{node-cli-BabqC8Zy.js → node-cli-CP6SmQRY.js} +1 -1
  89. package/dist/{node-command-policy-CcKer6vK.js → node-command-policy-B6a4rlIk.js} +1 -1
  90. package/dist/{node-command-policy-Dk_UuHKt.js → node-command-policy-DDNdYXwK.js} +1 -1
  91. package/dist/{nodes-cli-Dpzu3xiW.js → nodes-cli-Bl9i1yqi.js} +3 -3
  92. package/dist/{nodes-cli-pFODdHtG.js → nodes-cli-Cd4bT0G_.js} +3 -3
  93. package/dist/{npm-resolution-tKQdyyrr.js → npm-resolution-B-kbVjrb.js} +1 -1
  94. package/dist/{npm-resolution-Dh42ChiK.js → npm-resolution-Dlw89aWh.js} +1 -1
  95. package/dist/{onboard-vOB2yRup.js → onboard-B45AuSWn.js} +3 -3
  96. package/dist/{onboard-pwWKjijO.js → onboard-Cu0G7EAR.js} +3 -3
  97. package/dist/{onboard-channels-BVZJDmqk.js → onboard-channels-DHx-uZCo.js} +2 -2
  98. package/dist/{onboard-channels-zkzv3Yvo.js → onboard-channels-Dmrl0eA6.js} +2 -2
  99. package/dist/{onboard-helpers-DLQ_XMs1.js → onboard-helpers-D37MuS-y.js} +1 -1
  100. package/dist/{onboard-helpers-Oi4C_OMX.js → onboard-helpers-DEzzN6tA.js} +1 -1
  101. package/dist/{onboard-remote-C1-vrrIn.js → onboard-remote-C03eTxXO.js} +1 -1
  102. package/dist/{onboard-remote-XXaOoJYC.js → onboard-remote-C_jBXm-z.js} +1 -1
  103. package/dist/{onboard-skills-C8Mue7Px.js → onboard-skills-D7ZRTLs3.js} +1 -1
  104. package/dist/{onboard-skills-BxC5udud.js → onboard-skills-VGug58zB.js} +1 -1
  105. package/dist/{onboarding-W2AiGqjG.js → onboarding-VPTSOvzr.js} +7 -7
  106. package/dist/{onboarding-Dqr7aZ7Y.js → onboarding-ZExAuMgK.js} +7 -7
  107. package/dist/{onboarding.finalize-QfwQJFMM.js → onboarding.finalize-DfoOvZxa.js} +13 -13
  108. package/dist/{onboarding.finalize-DIWji8d4.js → onboarding.finalize-DyZzlCN9.js} +14 -14
  109. package/dist/{onboarding.gateway-config-CsSayEFl.js → onboarding.gateway-config-33VygMXh.js} +4 -4
  110. package/dist/{onboarding.gateway-config-DImrb8_4.js → onboarding.gateway-config-DYozawla.js} +4 -4
  111. package/dist/{pi-embedded-D_5_WIVV.js → pi-embedded-CLpkFzke.js} +21 -13
  112. package/dist/{pi-embedded-DO73FSrv.js → pi-embedded-JvXxFqT7.js} +21 -13
  113. package/dist/{pi-embedded-helpers-J2caGJww.js → pi-embedded-helpers-CKEoEHoe.js} +13 -1
  114. package/dist/{pi-embedded-helpers-DeshJQRZ.js → pi-embedded-helpers-CYvB-mUe.js} +13 -1
  115. package/dist/{pi-embedded-helpers-C6qtvkzL.js → pi-embedded-helpers-CrqtHYYD.js} +13 -1
  116. package/dist/{pi-embedded-helpers-BvHlsuFU.js → pi-embedded-helpers-DQudcPte.js} +13 -1
  117. package/dist/{plugin-registry-fStNzAh6.js → plugin-registry-D8mx10Uh.js} +1 -1
  118. package/dist/{plugin-registry-BTbNdUJI.js → plugin-registry-gZUfqcq8.js} +1 -1
  119. package/dist/plugin-sdk/agents/pi-embedded-helpers/errors.d.ts +6 -0
  120. package/dist/plugin-sdk/agents/pi-embedded-helpers.d.ts +1 -1
  121. package/dist/plugin-sdk/{audio-preflight-CnShZx3d.js → audio-preflight-DbFTsm9v.js} +3 -3
  122. package/dist/plugin-sdk/{audio-transcription-runner-02Kf0QEw.js → audio-transcription-runner-BP6ArtIg.js} +1 -1
  123. package/dist/plugin-sdk/{channel-web-kSEIZEuw.js → channel-web-DugGqCi6.js} +2 -2
  124. package/dist/plugin-sdk/{deliver-TLuU1nrG.js → deliver-DjyqqLGN.js} +1 -1
  125. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +1 -0
  126. package/dist/plugin-sdk/gateway/protocol/schema/protocol-schemas.d.ts +1 -0
  127. package/dist/plugin-sdk/{image-DthA-2Bt.js → image-B73NNIZF.js} +1 -1
  128. package/dist/plugin-sdk/index.js +6 -6
  129. package/dist/plugin-sdk/{pi-embedded-helpers-5SLsxaPD.js → pi-embedded-helpers-Cb9NLnv7.js} +13 -1
  130. package/dist/plugin-sdk/{reply-B_uFeTht.js → reply-BetOKhtK.js} +21 -13
  131. package/dist/plugin-sdk/{web-CY6oM5WK.js → web-C_bWyLWF.js} +6 -6
  132. package/dist/{plugins-cli-Co-nvd9J.js → plugins-cli-BT_YdHlo.js} +9 -9
  133. package/dist/{plugins-cli-CJH6AKMz.js → plugins-cli-CL2MrWZt.js} +9 -9
  134. package/dist/{program-CNpQbt0K.js → program-DIvdihfF.js} +14 -14
  135. package/dist/{program-context-CGNIVn8U.js → program-context-DFXBN0ZY.js} +31 -31
  136. package/dist/{prompt-select-styled-CnF7G9nh.js → prompt-select-styled-D6W6ZbLn.js} +6 -6
  137. package/dist/{prompt-select-styled-CIRPu5Ka.js → prompt-select-styled-Do1qynXW.js} +6 -6
  138. package/dist/{provider-auth-helpers-DjIygYv_.js → provider-auth-helpers-59RRb092.js} +1 -1
  139. package/dist/{provider-auth-helpers-CNUvu0a0.js → provider-auth-helpers-BEYTbEO-.js} +1 -1
  140. package/dist/{push-apns-D80k7T9j.js → push-apns-BK4xHeAC.js} +1 -1
  141. package/dist/{push-apns-BgQum9Gy.js → push-apns-Cr1-03ZS.js} +1 -1
  142. package/dist/{register.agent-Bhyoci3o.js → register.agent-FsyQ2Nm4.js} +13 -13
  143. package/dist/{register.agent-kfyfQI8T.js → register.agent-K6fKhk-d.js} +14 -14
  144. package/dist/{register.configure-B7NHNcfM.js → register.configure-CCQ90-H1.js} +16 -16
  145. package/dist/{register.configure-B5HCAfdz.js → register.configure-DS8ihv8X.js} +16 -16
  146. package/dist/{register.maintenance-BD1oDxC-.js → register.maintenance-DT2aoHXy.js} +16 -16
  147. package/dist/{register.maintenance-C1PaIvLI.js → register.maintenance-Dnr1w5A1.js} +15 -15
  148. package/dist/{register.message-CveEoRPg.js → register.message-BLhsi48W.js} +9 -9
  149. package/dist/{register.message-D-1QnCw_.js → register.message-p-nIqAYY.js} +9 -9
  150. package/dist/{register.onboard-DxdKBYPa.js → register.onboard-CC50fpnA.js} +5 -5
  151. package/dist/{register.onboard-DTH8w4yg.js → register.onboard-pMGHuLqk.js} +5 -5
  152. package/dist/{register.setup-B0xOuiw1.js → register.setup-CP__vdzh.js} +5 -5
  153. package/dist/{register.setup-B_QzzqYV.js → register.setup-CwMkpOf-.js} +5 -5
  154. package/dist/{register.start-csWISzdo.js → register.start-CZMSVRfr.js} +4 -4
  155. package/dist/{register.start-BKHJP2Is.js → register.start-K1LpFGp0.js} +4 -4
  156. package/dist/{register.status-health-sessions-DdoDk6tI.js → register.status-health-sessions-C3RoepIh.js} +12 -12
  157. package/dist/{register.status-health-sessions-QfEbhT67.js → register.status-health-sessions-Dr1-y3qs.js} +12 -12
  158. package/dist/{register.subclis-C6ixj03Z.js → register.subclis-B9f3-nRB.js} +21 -21
  159. package/dist/{reply-DkwQo3LK.js → reply-Cm66z0-z.js} +24 -17
  160. package/dist/{rpc-Ca9dlA9v.js → rpc-CclOFzPV.js} +1 -1
  161. package/dist/{rpc-CI7SPdeS.js → rpc-rTqBtgDp.js} +1 -1
  162. package/dist/{run-main-CiyxqGgu.js → run-main-B6QZLb6Z.js} +21 -21
  163. package/dist/{secrets-cli-DEGkMLrT.js → secrets-cli-CfmktxZw.js} +3 -3
  164. package/dist/{secrets-cli-DVRKrzox.js → secrets-cli-i2YWj3kH.js} +3 -3
  165. package/dist/{security-cli-608Hrkk0.js → security-cli-50tLKbQX.js} +4 -4
  166. package/dist/{security-cli-D4O7OC12.js → security-cli-B-t3jhRM.js} +4 -4
  167. package/dist/{server-node-events-CXwSn_of.js → server-node-events-DIZCYbQS.js} +9 -9
  168. package/dist/{server-node-events-DC1BMCVn.js → server-node-events-p6pocXHJ.js} +9 -9
  169. package/dist/{status-CBRTQ939.js → status-Bk0e2K3D.js} +5 -5
  170. package/dist/{status-BB7xEcRf.js → status-DeOsbp6k.js} +5 -5
  171. package/dist/{subagent-registry-BcuTxEMl.js → subagent-registry-ChrhyhQ5.js} +24 -17
  172. package/dist/{system-cli-CFkPJfOG.js → system-cli-BNHXiAuw.js} +3 -3
  173. package/dist/{system-cli-C0Ed85zv.js → system-cli-im47tHnN.js} +3 -3
  174. package/dist/{tui-B7dzJD1I.js → tui-BqRCX-bp.js} +3 -3
  175. package/dist/{tui-BRtGtxGi.js → tui-DhEGvFT0.js} +3 -3
  176. package/dist/{tui-cli-CjdbITUY.js → tui-cli-Bjx0DKT6.js} +4 -4
  177. package/dist/{tui-cli-q5z-00Hw.js → tui-cli-Bo7syV8j.js} +4 -4
  178. package/dist/{update-cli-BBJFl04y.js → update-cli-CGZx-QNj.js} +15 -15
  179. package/dist/{update-cli-B4lljwO3.js → update-cli-Cwwll1Xd.js} +16 -16
  180. package/dist/{update-runner-D60XSU4r.js → update-runner-meF3Yj68.js} +1 -1
  181. package/dist/{update-runner-DyCzzM9h.js → update-runner-sLKFIJY-.js} +1 -1
  182. package/dist/{web-BxoxUANA.js → web-C8qeseGa.js} +5 -5
  183. package/dist/{web-DLuhYIW3.js → web-CUoANEo6.js} +5 -5
  184. package/dist/{web-T0rbkNL4.js → web-Dyvr-ZYW.js} +9 -9
  185. package/dist/{web-DXuCeyJX.js → web-pvjSSXiL.js} +9 -9
  186. package/docs/plans/2026-03-27-bitseek-topup-modal-design.md +52 -0
  187. package/package.json +1 -1
  188. package/dist/control-ui/assets/index-ixU5putu.js.map +0 -1
@@ -4,7 +4,7 @@ import { t as createSubsystemLogger } from "./subsystem-6SmBCR59.js";
4
4
  import { _ as normalizeOptionalAccountId, g as normalizeAccountId } from "./session-key-C9z4VQtw.js";
5
5
  import { E as triggerInternalHook, f as getActivePluginRegistryVersion, u as getActivePluginRegistry, w as createInternalHookEvent } from "./registry-CDHs_Ama.js";
6
6
  import { t as getChannelDock } from "./dock-Bn2QE-9m.js";
7
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-BvHlsuFU.js";
7
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-DQudcPte.js";
8
8
  import { F as parseInlineDirectives, i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-BMGSLjZm.js";
9
9
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BTlaQWQB.js";
10
10
  import { t as getAgentScopedMediaLocalRoots } from "./local-roots-ReGJM5-I.js";
@@ -7,7 +7,7 @@ import { t as getChannelDock } from "./dock-CslXtXH_.js";
7
7
  import { F as parseInlineDirectives, i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-DugDYFTs.js";
8
8
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DPspmGax.js";
9
9
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-COy2Fxku.js";
10
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-C6qtvkzL.js";
10
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-CrqtHYYD.js";
11
11
  import { i as getAgentScopedMediaLocalRoots } from "./fetch-BZWXCGP2.js";
12
12
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-BNLlgymK.js";
13
13
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BDe192Ai.js";
@@ -7,7 +7,7 @@ import { t as getChannelDock } from "./dock-DBTycsfL.js";
7
7
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CcFc8zop.js";
8
8
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BuJuVG_X.js";
9
9
  import { n as generateSecureUuid } from "./secure-random-CFRVlPvh.js";
10
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-J2caGJww.js";
10
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-CKEoEHoe.js";
11
11
  import { T as parseInlineDirectives, i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-C3aXIgLT.js";
12
12
  import { i as getAgentScopedMediaLocalRoots } from "./fetch-6en6KJc_.js";
13
13
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-UCFC83lc.js";
@@ -8,7 +8,7 @@ import { t as getChannelDock } from "./dock-zn9R9u-t.js";
8
8
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Bra2OFtc.js";
9
9
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CWe0lrUU.js";
10
10
  import { n as generateSecureUuid } from "./secure-random-CY3Mg7Dp.js";
11
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-DeshJQRZ.js";
11
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-CYvB-mUe.js";
12
12
  import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript, w as parseInlineDirectives } from "./sessions-B3nFvxau.js";
13
13
  import { i as getAgentScopedMediaLocalRoots } from "./fetch-D7xM1Q4J.js";
14
14
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-CDPAJgo5.js";
@@ -15,8 +15,8 @@ import "./env-vars-Dw0EwyGP.js";
15
15
  import "./registry-C4Fq5HtN.js";
16
16
  import "./manifest-registry-D1Y5hoq2.js";
17
17
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DuRP9JPi.js";
18
- import { Vt as approveDevicePairing, Wt as listDevicePairing, Xt as summarizeDeviceTokens } from "./client-DVME2dNA.js";
19
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Dx2aHVrt.js";
18
+ import { Vt as approveDevicePairing, Wt as listDevicePairing, Xt as summarizeDeviceTokens } from "./client-Ct3INy6Q.js";
19
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BxxjyXST.js";
20
20
  import "./pairing-token-fCKTYUJ-.js";
21
21
  import { r as isLoopbackHost } from "./net-B1yWST2Q.js";
22
22
  import "./tailnet-D67wyPIH.js";
@@ -17,8 +17,8 @@ import "./manifest-registry-D4AA5Ihb.js";
17
17
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-Dm3yaUvY.js";
18
18
  import "./tailnet-hhbtHuoy.js";
19
19
  import { i as isLoopbackHost } from "./ws-C3ANUeWI.js";
20
- import { Vt as approveDevicePairing, Wt as listDevicePairing, Xt as summarizeDeviceTokens } from "./client-CluJsNRo.js";
21
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BdLuBL48.js";
20
+ import { Vt as approveDevicePairing, Wt as listDevicePairing, Xt as summarizeDeviceTokens } from "./client-zj7haqMb.js";
21
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DU_f0KMj.js";
22
22
  import "./pairing-token-D0ttfvQD.js";
23
23
  import { n as formatTimeAgo } from "./format-relative-DH0XlcXN.js";
24
24
  import { n as withProgress } from "./progress-NccxNnt-.js";
@@ -1,7 +1,7 @@
1
1
  import { a as resolveCliName } from "./profile-utils-Byug_mYh.js";
2
2
  import { y as resolveOpenClawPackageRoot } from "./workspace-D3Bd1Wd-.js";
3
3
  import { t as note } from "./note-fYPH2CN3.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-D96BgcqD.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-D9Bs9sNg.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { y as resolveOpenClawPackageRoot } from "./workspace-lzz92TZO.js";
2
2
  import { i as resolveCliName } from "./command-format-GZnSGaai.js";
3
3
  import { t as note } from "./note-C6sycQ3H.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DcmfM_XB.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CtlUQOU1.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
package/dist/entry.js CHANGED
@@ -383,7 +383,7 @@ if (!isMainModule({
383
383
  }
384
384
  function tryHandleRootHelpFastPath(argv) {
385
385
  if (!isRootHelpInvocation(argv)) return false;
386
- import("./program-CNpQbt0K.js").then(({ buildProgram }) => {
386
+ import("./program-DIvdihfF.js").then(({ buildProgram }) => {
387
387
  buildProgram().outputHelp();
388
388
  }).catch((error) => {
389
389
  console.error("[openclaw] Failed to display help:", error instanceof Error ? error.stack ?? error.message : error);
@@ -402,7 +402,7 @@ if (!isMainModule({
402
402
  applyCliProfileEnv({ profile: parsed.profile });
403
403
  process$1.argv = parsed.argv;
404
404
  }
405
- if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-CiyxqGgu.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
405
+ if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-B6QZLb6Z.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
406
406
  console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
407
407
  process$1.exitCode = 1;
408
408
  });
@@ -17,20 +17,20 @@ import "./manifest-registry-D4AA5Ihb.js";
17
17
  import "./message-channel-Dm3yaUvY.js";
18
18
  import "./tailnet-hhbtHuoy.js";
19
19
  import "./ws-C3ANUeWI.js";
20
- import "./client-CluJsNRo.js";
21
- import "./call-BdLuBL48.js";
20
+ import "./client-zj7haqMb.js";
21
+ import "./call-DU_f0KMj.js";
22
22
  import "./pairing-token-D0ttfvQD.js";
23
23
  import { n as formatTimeAgo } from "./format-relative-DH0XlcXN.js";
24
24
  import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-BX1CLkIw.js";
25
25
  import "./exec-approvals-allowlist-l6gE0JSu.js";
26
26
  import { t as formatDocsLink } from "./links-B43Rs0rH.js";
27
27
  import "./progress-NccxNnt-.js";
28
- import { n as callGatewayFromCli } from "./gateway-rpc-yBoALaWH.js";
28
+ import { n as callGatewayFromCli } from "./gateway-rpc-DiWvH8Pq.js";
29
29
  import "./systemd-DQpABD53.js";
30
30
  import "./service-jUviiiCR.js";
31
31
  import { t as renderTable } from "./table-Dzqv7War.js";
32
32
  import { t as describeUnknownError } from "./shared-DfX0YOiV.js";
33
- import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-CI7SPdeS.js";
33
+ import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-rTqBtgDp.js";
34
34
  import JSON5 from "json5";
35
35
  import fs from "node:fs/promises";
36
36
 
@@ -15,8 +15,8 @@ import "./env-vars-Dw0EwyGP.js";
15
15
  import "./registry-C4Fq5HtN.js";
16
16
  import "./manifest-registry-D1Y5hoq2.js";
17
17
  import "./message-channel-DuRP9JPi.js";
18
- import "./client-DVME2dNA.js";
19
- import "./call-Dx2aHVrt.js";
18
+ import "./client-Ct3INy6Q.js";
19
+ import "./call-BxxjyXST.js";
20
20
  import "./pairing-token-fCKTYUJ-.js";
21
21
  import "./net-B1yWST2Q.js";
22
22
  import "./tailnet-D67wyPIH.js";
@@ -25,12 +25,12 @@ import { n as formatTimeAgo } from "./format-relative-DdvuDKIv.js";
25
25
  import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-DW6bgoDc.js";
26
26
  import { t as formatDocsLink } from "./links-EkBvdQLJ.js";
27
27
  import "./progress-ctu3wJgA.js";
28
- import { n as callGatewayFromCli } from "./gateway-rpc-CEueWk1E.js";
28
+ import { n as callGatewayFromCli } from "./gateway-rpc-DSDDTb9T.js";
29
29
  import "./systemd-DVgFh5bF.js";
30
30
  import "./service-DdLDWk4F.js";
31
31
  import { t as renderTable } from "./table-DHipKm5c.js";
32
32
  import { t as describeUnknownError } from "./shared-fKlvovu7.js";
33
- import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-Ca9dlA9v.js";
33
+ import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-CclOFzPV.js";
34
34
  import JSON5 from "json5";
35
35
  import fs from "node:fs/promises";
36
36
 
@@ -10,22 +10,22 @@ import "./env-5lsQABx3.js";
10
10
  import "./registry-CHMbTWdv.js";
11
11
  import "./dock-DBTycsfL.js";
12
12
  import "./tokens-CcFc8zop.js";
13
- import { P as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-DO73FSrv.js";
13
+ import { P as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-JvXxFqT7.js";
14
14
  import "./plugins-BuJuVG_X.js";
15
15
  import "./accounts-2PTvsv1d.js";
16
16
  import "./bindings-DkNVAvqg.js";
17
17
  import "./send-BLje6ijm.js";
18
18
  import "./send-BhQVAABr.js";
19
- import "./deliver-BR94HzGu.js";
19
+ import "./deliver-DvxmGKU7.js";
20
20
  import "./diagnostic-3CTZSIlz.js";
21
21
  import "./diagnostic-session-state-iIgQ4O9h.js";
22
22
  import "./accounts-ChZmWEdr.js";
23
23
  import "./send-BKGU5ru4.js";
24
24
  import "./image-ops-CSEI4iE1.js";
25
- import "./audio-transcription-runner-_HLf10kW.js";
25
+ import "./audio-transcription-runner-BLpgvFWB.js";
26
26
  import "./pi-model-discovery-DdoTtx72.js";
27
27
  import "./message-channel-CAvovyXo.js";
28
- import "./pi-embedded-helpers-J2caGJww.js";
28
+ import "./pi-embedded-helpers-CKEoEHoe.js";
29
29
  import "./chrome-DPJGe_wm.js";
30
30
  import "./skills-Dqjpw7tL.js";
31
31
  import "./path-alias-guards-CV563R7u.js";
@@ -39,7 +39,7 @@ import "./accounts-4cjSU-SA.js";
39
39
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-CZKl-5Xd.js";
40
40
  import "./tool-images-CWj711f4.js";
41
41
  import "./thinking-BU9gpqtT.js";
42
- import "./image-XqGcCt9q.js";
42
+ import "./image-5kjT0Ifv.js";
43
43
  import "./fetch-6en6KJc_.js";
44
44
  import "./fetch-guard-0TjzpVEX.js";
45
45
  import "./api-key-rotation-CseggPTW.js";
@@ -34,25 +34,25 @@ import "./accounts-MEuVJDoB.js";
34
34
  import { t as buildChannelAccountBindings } from "./bindings-BDScuSfd.js";
35
35
  import "./send-BLv3U-2N.js";
36
36
  import "./send-BUqXYyi5.js";
37
- import { $n as normalizeSendPolicy, $t as isExternalHookSession, A as agentCommandFromIngress, Ar as waitForActiveTasks, At as formatRestartSentinelMessage, Br as onAgentEvent, Bt as normalizeOptionalSessionKey, C as readJsonBodyWithLimit, Cr as OPENAI_TTS_VOICES, D as sleepWithAbort, Dn as formatZonedTimestamp, Dr as markGatewayDraining, E as computeBackoff, Er as getTotalQueueSize, Et as runWithModelFallback, F as createDefaultDeps, Fn as isSystemEventContextChanged, Ft as normalizeHttpWebhookUrl, Gn as DEFAULT_INPUT_IMAGE_MIMES, Gt as buildDeliveryFromLegacyPayload, Ht as normalizePayloadToSystemText, I as createOutboundSendDeps$1, Ir as stripHeartbeatToken, It as normalizeCronJobCreate, Jn as extractFileContentFromSource, Kn as DEFAULT_INPUT_MAX_REDIRECTS, Kt as hasLegacyDeliveryHints, L as resolveAgentAvatar, Lr as clearAgentRunContext, Lt as normalizeCronJobPatch, M as resolveAgentDeliveryPlan, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Mt as summarizeRestartSentinel, N as resolveAgentOutboundTarget, Or as resetAllLanes, Ot as consumeRestartSentinel, P as createOutboundSendDeps, Pn as enqueueSystemEvent, Pt as writeRestartSentinel, Qn as resolveAgentTimeoutMs, Qt as getHookType, Rn as requestHeartbeatNow, Rr as emitAgentEvent, Rt as inferLegacyName, S as handleSlackHttpRequest, Sn as loadProviderUsageSummary, Sr as OPENAI_TTS_MODELS, St as resolveOutboundChannelPlugin, Un as ACP_SESSION_IDENTITY_RENDERER_VERSION, Ut as normalizeRequiredName, Vr as registerAgentRunContext, Vt as normalizeOptionalText, W as buildHistoryContextFromEntries, Wn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Wt as migrateLegacyCronPayload, Xn as normalizeMimeList, Xt as buildSafeExternalPrompt, Yn as extractImageContentFromSource, Zn as resolveInputFileLimits, Zt as detectSuspiciousPatterns, _ as loadOpenClawPlugins, _n as setPreRestartDeferralCheck, _r as resolveTtsPrefsPath, _t as resolveOutboundSessionRoute, a as runSubagentAnnounceFlow, b as resolveAgentOutboundIdentity, bn as normalizeGroupActivation, br as setTtsProvider, bt as resolveOutboundTarget, c as abortEmbeddedPiRun, cn as parseVerboseOverride, cr as resolveAgentSessionDirs, ct as resolveCronStyleNow, d as applyToolPolicyPipeline, dn as deferGatewayRestartUntilIdle, dr as getTtsProvider, dt as runCliAgent, en as applyBrowserProxyPaths, er as resolveSendPolicy, f as buildDefaultToolPolicyPipelineSteps, fn as emitGatewayRestart, fr as isTtsEnabled, ft as createOpenClawTools, gn as setGatewaySigusr1RestartPolicy, gr as resolveTtsConfig, gt as ensureOutboundSessionEntry, h as resolvePluginTools, hn as scheduleGatewaySigusr1Restart, hr as resolveTtsAutoMode, ir as stopSubagentsForRequester, jr as CommandLane, kr as setCommandLaneConcurrency, kt as formatDoctorNonInteractiveHint, l as getActiveEmbeddedRunCount, ln as buildOutboundSessionContext, lr as resolveUserTimezone, lt as getCliSessionId, m as getPluginToolMeta, mn as markGatewaySigusr1RestartHandled, mr as resolveTtsApiKey, mt as resolveAnnounceTargetFromKey, n as initSubagentRegistry, nn as resolveSessionAuthProfileOverride, nt as createReplyDispatcher, o as clearSessionQueues, on as applyModelOverrideToSessionEntry, ot as BARE_SESSION_RESET_PROMPT, pn as isGatewaySigusr1RestartExternallyAllowed, pr as isTtsProviderConfigured, pt as readLatestAssistantReply, qn as DEFAULT_INPUT_TIMEOUT_MS, qt as stripLegacyDeliveryFields, r as listDescendantRunsForRequester, rr as isAbortRequestText, rt as getTotalPendingReplies, s as runEmbeddedPiAgent, sn as applyVerboseOverride, sr as getAcpSessionManager, t as countActiveDescendantRuns, tn as persistBrowserProxyFiles, tt as dispatchInboundMessage, u as waitForEmbeddedPiRunEnd, un as consumeGatewaySigusr1RestartAuthorization, ur as clearBootstrapSnapshot, ut as setCliSessionId, v as createPluginRuntime, vn as triggerOpenClawRestart, vr as resolveTtsProviderOrder, w as requestBodyErrorToText, wr as getActiveTaskCount, wt as resetDirectoryCache, xr as textToSpeech, xt as resolveSessionDeliveryTarget, yn as unbindThreadBindingsBySessionKey, yr as setTtsEnabled, zr as getAgentRunContext, zt as normalizeOptionalAgentId } from "./subagent-registry-BcuTxEMl.js";
37
+ import { $n as resolveAgentTimeoutMs, $t as getHookType, A as agentCommandFromIngress, Ar as setCommandLaneConcurrency, At as formatDoctorNonInteractiveHint, Br as getAgentRunContext, Bt as normalizeOptionalAgentId, C as readJsonBodyWithLimit, Cn as loadProviderUsageSummary, Cr as OPENAI_TTS_MODELS, D as sleepWithAbort, Dr as getTotalQueueSize, E as computeBackoff, Et as runWithModelFallback, F as createDefaultDeps, Fn as enqueueSystemEvent, Ft as writeRestartSentinel, Gn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Gt as migrateLegacyCronPayload, Hr as registerAgentRunContext, Ht as normalizeOptionalText, I as createOutboundSendDeps$1, In as isSystemEventContextChanged, It as normalizeHttpWebhookUrl, Jn as DEFAULT_INPUT_TIMEOUT_MS, Jt as stripLegacyDeliveryFields, Kn as DEFAULT_INPUT_IMAGE_MIMES, Kt as buildDeliveryFromLegacyPayload, L as resolveAgentAvatar, Lr as stripHeartbeatToken, Lt as normalizeCronJobCreate, M as resolveAgentDeliveryPlan, Mr as CommandLane, N as resolveAgentOutboundTarget, Nr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Nt as summarizeRestartSentinel, On as formatZonedTimestamp, Or as markGatewayDraining, Ot as isFailoverError, P as createOutboundSendDeps, Qn as resolveInputFileLimits, Qt as detectSuspiciousPatterns, Rr as clearAgentRunContext, Rt as normalizeCronJobPatch, S as handleSlackHttpRequest, Sr as textToSpeech, St as resolveOutboundChannelPlugin, Tr as getActiveTaskCount, Ut as normalizePayloadToSystemText, Vr as onAgentEvent, Vt as normalizeOptionalSessionKey, W as buildHistoryContextFromEntries, Wn as ACP_SESSION_IDENTITY_RENDERER_VERSION, Wt as normalizeRequiredName, Xn as extractImageContentFromSource, Yn as extractFileContentFromSource, Zn as normalizeMimeList, Zt as buildSafeExternalPrompt, _ as loadOpenClawPlugins, _n as setGatewaySigusr1RestartPolicy, _r as resolveTtsConfig, _t as resolveOutboundSessionRoute, a as runSubagentAnnounceFlow, ar as stopSubagentsForRequester, b as resolveAgentOutboundIdentity, bn as unbindThreadBindingsBySessionKey, br as setTtsEnabled, bt as resolveOutboundTarget, c as abortEmbeddedPiRun, cn as applyVerboseOverride, cr as getAcpSessionManager, ct as resolveCronStyleNow, d as applyToolPolicyPipeline, dn as consumeGatewaySigusr1RestartAuthorization, dr as clearBootstrapSnapshot, dt as runCliAgent, en as isExternalHookSession, er as normalizeSendPolicy, f as buildDefaultToolPolicyPipelineSteps, fn as deferGatewayRestartUntilIdle, fr as getTtsProvider, ft as createOpenClawTools, gn as scheduleGatewaySigusr1Restart, gr as resolveTtsAutoMode, gt as ensureOutboundSessionEntry, h as resolvePluginTools, hn as markGatewaySigusr1RestartHandled, hr as resolveTtsApiKey, ir as isAbortRequestText, jr as waitForActiveTasks, jt as formatRestartSentinelMessage, kr as resetAllLanes, kt as consumeRestartSentinel, l as getActiveEmbeddedRunCount, ln as parseVerboseOverride, lr as resolveAgentSessionDirs, lt as getCliSessionId, m as getPluginToolMeta, mn as isGatewaySigusr1RestartExternallyAllowed, mr as isTtsProviderConfigured, mt as resolveAnnounceTargetFromKey, n as initSubagentRegistry, nn as persistBrowserProxyFiles, nt as createReplyDispatcher, o as clearSessionQueues, ot as BARE_SESSION_RESET_PROMPT, pn as emitGatewayRestart, pr as isTtsEnabled, pt as readLatestAssistantReply, qn as DEFAULT_INPUT_MAX_REDIRECTS, qt as hasLegacyDeliveryHints, r as listDescendantRunsForRequester, rn as resolveSessionAuthProfileOverride, rt as getTotalPendingReplies, s as runEmbeddedPiAgent, sn as applyModelOverrideToSessionEntry, t as countActiveDescendantRuns, tn as applyBrowserProxyPaths, tr as resolveSendPolicy, tt as dispatchInboundMessage, u as waitForEmbeddedPiRunEnd, un as buildOutboundSessionContext, ur as resolveUserTimezone, ut as setCliSessionId, v as createPluginRuntime, vn as setPreRestartDeferralCheck, vr as resolveTtsPrefsPath, w as requestBodyErrorToText, wr as OPENAI_TTS_VOICES, wt as resetDirectoryCache, xn as normalizeGroupActivation, xr as setTtsProvider, xt as resolveSessionDeliveryTarget, yn as triggerOpenClawRestart, yr as resolveTtsProviderOrder, zn as requestHeartbeatNow, zr as emitAgentEvent, zt as inferLegacyName } from "./subagent-registry-ChrhyhQ5.js";
38
38
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-oIurw4YQ.js";
39
39
  import { i as normalizeInputProvenance } from "./input-provenance-BDYpbBeC.js";
40
40
  import "./chat-envelope-AUuZAcrC.js";
41
41
  import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-DrZ4qfxw.js";
42
- import { $ as validateNodePairApproveParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsAuthSetParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeDescribeParams, Jt as revokeDeviceToken, K as validateModelsListParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodeListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeInvokeParams, Xt as summarizeDeviceTokens, Y as validateNodeEventParams, Yt as rotateDeviceToken, Z as validateNodeInvokeResultParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validateNodeRenameParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateModelsVerifyParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, st as validateRequestFrame, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-DVME2dNA.js";
43
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-Dx2aHVrt.js";
42
+ import { $ as validateNodePairApproveParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsAuthSetParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeDescribeParams, Jt as revokeDeviceToken, K as validateModelsListParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodeListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeInvokeParams, Xt as summarizeDeviceTokens, Y as validateNodeEventParams, Yt as rotateDeviceToken, Z as validateNodeInvokeResultParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validateNodeRenameParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateModelsVerifyParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, st as validateRequestFrame, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-Ct3INy6Q.js";
43
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-BxxjyXST.js";
44
44
  import "./pairing-token-fCKTYUJ-.js";
45
45
  import { t as safeEqualSecret } from "./secret-equal-CzmdvIUc.js";
46
46
  import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as rawDataToString, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as isLocalishHost, u as resolveGatewayBindHost } from "./net-B1yWST2Q.js";
47
47
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-D67wyPIH.js";
48
48
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-COy2Fxku.js";
49
49
  import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-DUosdGNq.js";
50
- import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-CeItj33i.js";
50
+ import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DkGKUNSW.js";
51
51
  import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-BS_rmYNQ.js";
52
52
  import "./diagnostic-session-state-B5Z0I32_.js";
53
53
  import { S as saveCronStore, b as loadCronStore, x as resolveCronStorePath } from "./send-BLyXZjPe.js";
54
54
  import { c as detectMime } from "./image-ops-_2-6WZ4r.js";
55
- import "./pi-embedded-helpers-C6qtvkzL.js";
55
+ import { F as resolveChatUiHintForError } from "./pi-embedded-helpers-CrqtHYYD.js";
56
56
  import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-ClasEjRW.js";
57
57
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-CDe8aNjS.js";
58
58
  import "./chrome-F8yPeLCk.js";
@@ -75,9 +75,9 @@ import "./exec-approvals-allowlist-Dgb12MXc.js";
75
75
  import "./exec-safe-bin-runtime-policy-BfybDm-q.js";
76
76
  import { n as loadModelCatalog } from "./model-catalog-D4hoiCav.js";
77
77
  import "./fetch-BZWXCGP2.js";
78
- import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner-Dnkt3gmf.js";
78
+ import { g as registerUnhandledRejectionHandler } from "./audio-transcription-runner--RGWC8nR.js";
79
79
  import { t as fetchWithSsrFGuard } from "./fetch-guard-BplMfPrm.js";
80
- import { x as extractTextFromChatContent } from "./image-HyFl8MrD.js";
80
+ import { x as extractTextFromChatContent } from "./image-BsWoO0mu.js";
81
81
  import "./tool-display-sVaWRESD.js";
82
82
  import "./api-key-rotation-D7ptHGeX.js";
83
83
  import "./proxy-fetch-ReVzadXq.js";
@@ -115,7 +115,7 @@ import "./resolve-route-rhGDrrKc.js";
115
115
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DwPGGCBG.js";
116
116
  import "./proxy-BmxJF3Z2.js";
117
117
  import "./replies-9B0e_W0H.js";
118
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-DLQ_XMs1.js";
118
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-D37MuS-y.js";
119
119
  import "./prompt-style-lCXEOxSK.js";
120
120
  import "./pairing-labels-BUGAt7vg.js";
121
121
  import "./session-meta-Cyjw6vgH.js";
@@ -134,7 +134,7 @@ import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-lwpZk6nY.
134
134
  import { n as inheritOptionFromParent } from "./command-options-DGYxc3D_.js";
135
135
  import { t as WizardCancelledError } from "./prompts-QSI6gA3k.js";
136
136
  import { t as resolveChannelDefaultAccountId } from "./helpers-D6BlzJnx.js";
137
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-YFwIb3TI.js";
137
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-LYVTdqX3.js";
138
138
  import { t as isWithinDir } from "./path-safety-DDHmx5YW.js";
139
139
  import { t as assertCanonicalPathWithinBase } from "./install-safe-path-DBJEsbCp.js";
140
140
  import "./skill-scanner-D7WuF5Sb.js";
@@ -149,28 +149,28 @@ import "./service-DdLDWk4F.js";
149
149
  import "./lifecycle-core-BrIHPmUB.js";
150
150
  import "./systemd-hints-BC7wmmDb.js";
151
151
  import { t as parsePort$1 } from "./parse-port-Dq63ch6Y.js";
152
- import { n as addGatewayServiceCommands } from "./daemon-cli-CEmNv817.js";
152
+ import { n as addGatewayServiceCommands } from "./daemon-cli-CYtFdzXW.js";
153
153
  import "./diagnostics-DCUyr8cM.js";
154
154
  import "./table-DHipKm5c.js";
155
155
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-CJpVMOp6.js";
156
156
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-fKlvovu7.js";
157
- import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-D-QnHZqm.js";
157
+ import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-l_hNB_7d.js";
158
158
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-Cr9ghR-L.js";
159
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-CBRTQ939.js";
160
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-DOGcHcgN.js";
159
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-Bk0e2K3D.js";
160
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-BPybWGw9.js";
161
161
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-hAbiBedq.js";
162
162
  import { o as isBitseekBuild } from "./status.update-CbAiJIbB.js";
163
163
  import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-D__SZrX3.js";
164
164
  import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-vnX4kz3-.js";
165
- import { t as runOnboardingWizard } from "./onboarding-Dqr7aZ7Y.js";
166
- import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-D80k7T9j.js";
165
+ import { t as runOnboardingWizard } from "./onboarding-ZExAuMgK.js";
166
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-BK4xHeAC.js";
167
167
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Bk2GBbEH.js";
168
- import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-Dk_UuHKt.js";
168
+ import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-DDNdYXwK.js";
169
169
  import "./node-service-BNRDY7GU.js";
170
170
  import "./shared-D96SvIQZ.js";
171
171
  import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-DGA1AopE.js";
172
172
  import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-Ba_1ws_H.js";
173
- import { t as runGatewayUpdate } from "./update-runner-DyCzzM9h.js";
173
+ import { t as runGatewayUpdate } from "./update-runner-sLKFIJY-.js";
174
174
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CoIrgiMR.js";
175
175
  import { n as forceFreePortAndWait } from "./ports-BNwHSlzK.js";
176
176
  import { spawn, spawnSync } from "node:child_process";
@@ -2799,7 +2799,7 @@ function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSess
2799
2799
  broadcast("chat", payload, { dropIfSlow: true });
2800
2800
  nodeSendToSession(sessionKey, "chat", payload);
2801
2801
  };
2802
- const emitChatFinal = (sessionKey, clientRunId, sourceRunId, seq, jobState, error) => {
2802
+ const emitChatFinal = (sessionKey, clientRunId, sourceRunId, seq, jobState, error, uiHint) => {
2803
2803
  const normalizedHeartbeatText = normalizeHeartbeatChatFinalText({
2804
2804
  runId: clientRunId,
2805
2805
  sourceRunId,
@@ -2833,7 +2833,8 @@ function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSess
2833
2833
  sessionKey,
2834
2834
  seq,
2835
2835
  state: "error",
2836
- errorMessage: error ? formatForLog(error) : void 0
2836
+ errorMessage: error ? formatForLog(error) : void 0,
2837
+ ...typeof uiHint === "string" && uiHint.trim() ? { uiHint } : {}
2837
2838
  };
2838
2839
  broadcast("chat", payload);
2839
2840
  nodeSendToSession(sessionKey, "chat", payload);
@@ -2908,8 +2909,8 @@ function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSess
2908
2909
  clearAgentRunContext(evt.runId);
2909
2910
  return;
2910
2911
  }
2911
- emitChatFinal(finished.sessionKey, finished.clientRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
2912
- } else emitChatFinal(sessionKey, eventRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
2912
+ emitChatFinal(finished.sessionKey, finished.clientRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error, evt.data?.uiHint);
2913
+ } else emitChatFinal(sessionKey, eventRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error, evt.data?.uiHint);
2913
2914
  else if (isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) {
2914
2915
  chatRunState.abortedRuns.delete(clientRunId);
2915
2916
  chatRunState.abortedRuns.delete(evt.runId);
@@ -11064,7 +11065,8 @@ function broadcastChatError(params) {
11064
11065
  sessionKey: params.sessionKey,
11065
11066
  seq,
11066
11067
  state: "error",
11067
- errorMessage: params.errorMessage
11068
+ errorMessage: params.errorMessage,
11069
+ ...params.uiHint ? { uiHint: params.uiHint } : {}
11068
11070
  };
11069
11071
  params.context.broadcast("chat", payload);
11070
11072
  params.context.nodeSendToSession(params.sessionKey, "chat", payload);
@@ -11398,6 +11400,11 @@ const chatHandlers = {
11398
11400
  }
11399
11401
  });
11400
11402
  }).catch((err) => {
11403
+ const uiHint = isFailoverError(err) ? resolveChatUiHintForError({
11404
+ provider: err.provider,
11405
+ model: err.model,
11406
+ rawError: err.message
11407
+ }) : void 0;
11401
11408
  const error = errorShape(ErrorCodes.UNAVAILABLE, String(err));
11402
11409
  context.dedupe.set(`chat:${clientRunId}`, {
11403
11410
  ts: Date.now(),
@@ -11413,7 +11420,8 @@ const chatHandlers = {
11413
11420
  context,
11414
11421
  runId: clientRunId,
11415
11422
  sessionKey: rawSessionKey,
11416
- errorMessage: String(err)
11423
+ errorMessage: String(err),
11424
+ uiHint
11417
11425
  });
11418
11426
  }).finally(() => {
11419
11427
  context.chatAbortControllers.delete(clientRunId);
@@ -13613,7 +13621,7 @@ const nodeHandlers = {
13613
13621
  const p = params;
13614
13622
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
13615
13623
  await respondUnavailableOnThrow(respond, async () => {
13616
- const { handleNodeEvent } = await import("./server-node-events-DC1BMCVn.js");
13624
+ const { handleNodeEvent } = await import("./server-node-events-p6pocXHJ.js");
13617
13625
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13618
13626
  await handleNodeEvent({
13619
13627
  deps: context.deps,
@@ -23124,7 +23132,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
23124
23132
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
23125
23133
  if (!minimalTestGateway) (async () => {
23126
23134
  const { recoverPendingDeliveries } = await import("./delivery-queue-igSkk02R.js").then((n) => n.n);
23127
- const { deliverOutboundPayloads } = await import("./deliver-CeItj33i.js").then((n) => n.n);
23135
+ const { deliverOutboundPayloads } = await import("./deliver-DkGKUNSW.js").then((n) => n.n);
23128
23136
  await recoverPendingDeliveries({
23129
23137
  deliver: deliverOutboundPayloads,
23130
23138
  log: log.child("delivery-recovery"),