wednesdayai 0.4.12-dev.715 → 0.4.12-dev.716

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 (353) hide show
  1. package/dist/{agent-turn-enqueue-Dwz_R_DW.js → agent-turn-enqueue-Cqo34Swm.js} +4 -4
  2. package/dist/{agent-turn-enqueue-Da7B-J9y.js → agent-turn-enqueue-N-q0v3mc.js} +4 -4
  3. package/dist/{agent-turn-execute-DvP2nf2J.js → agent-turn-execute-Bw9hhkAP.js} +69 -24
  4. package/dist/{agent-turn-recovery-adapter-SdyNUgzD.js → agent-turn-recovery-adapter-BkIal4FW.js} +1 -1
  5. package/dist/{agent-turn-recovery-adapter-DF3vdyE5.js → agent-turn-recovery-adapter-CLY2Dn04.js} +1 -1
  6. package/dist/{agent-turn-runner-D20dK54z.js → agent-turn-runner-Bvj00mHU.js} +3 -3
  7. package/dist/{agent-turn-runner-CzcuyJfX.js → agent-turn-runner-CImqp_RN.js} +1 -1
  8. package/dist/{agent-turn-runner-PbFFnq5P.js → agent-turn-runner-CUCOdxhH.js} +1 -1
  9. package/dist/{agent-turn-runner-DFZxbjaC.js → agent-turn-runner-Vd3aTCni.js} +1 -1
  10. package/dist/{agents-D7wjsCEZ.js → agents-BBoIqOw6.js} +4 -4
  11. package/dist/{agents.config-iUjxdoPw.js → agents.config-C8RJrfbr.js} +1 -1
  12. package/dist/{agents.config-C-pTu-0T.js → agents.config-Ctnm8o8d.js} +1 -1
  13. package/dist/{audio-preflight-nrbQcAOS.js → audio-preflight-BKQpd1eU.js} +6 -6
  14. package/dist/{audio-preflight-BZFphz4E.js → audio-preflight-bEi-KkBn.js} +6 -6
  15. package/dist/{audio-preflight-ifCgpG3c.js → audio-preflight-yuM9Q3qh.js} +5 -5
  16. package/dist/{audio-transcription-runner-C2Q9mEhB.js → audio-transcription-runner-BD7UgbNj.js} +1 -1
  17. package/dist/{audio-transcription-runner-D-d42kdt.js → audio-transcription-runner-CGTNNwbm.js} +1 -1
  18. package/dist/{audio-transcription-runner-ipSQoPp8.js → audio-transcription-runner-CgPA8_eG.js} +1 -1
  19. package/dist/{audit-BlUclRcb.js → audit-BM8WZyx6.js} +3 -3
  20. package/dist/{audit-C_g-UVNn.js → audit-CcNEpaG6.js} +3 -3
  21. package/dist/{auth-choice-ZsDU-57A.js → auth-choice-DTg-b2da.js} +1 -1
  22. package/dist/{auth-choice-D9ydQCkO.js → auth-choice-VnJYar-i.js} +1 -1
  23. package/dist/{banner-U4ziIXHD.js → banner-_g-nCJoZ.js} +1 -1
  24. package/dist/build-info.json +3 -3
  25. package/dist/bundled/boot-md/handler.js +12 -12
  26. package/dist/bundled/session-journal/handler.js +12 -12
  27. package/dist/bundled/session-memory/handler.js +12 -12
  28. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  29. package/dist/{channel-options-IkZTBShY.js → channel-options-BX8MFfPW.js} +1 -1
  30. package/dist/{channel-options-CdXOmeJN.js → channel-options-Dod3uWTl.js} +1 -1
  31. package/dist/{channels-cli-CUTJf_vC.js → channels-cli-DyfFtAZa.js} +23 -23
  32. package/dist/{channels-cli-CBBGSlVe.js → channels-cli-MbAArXF1.js} +23 -23
  33. package/dist/{chrome-DTJprCGv.js → chrome-BkJgMZjT.js} +8 -8
  34. package/dist/{cli-DCyFadMx.js → cli-CdrO5h4P.js} +17 -17
  35. package/dist/{cli-BtY_juql.js → cli-DF91S8Cf.js} +17 -17
  36. package/dist/{command-queue-B1RxJ6bM.js → command-queue-DmXWCoY0.js} +1 -1
  37. package/dist/{command-queue-BTAxEdto.js → command-queue-DucYxKKF.js} +1 -1
  38. package/dist/{command-queue-6Jucg1io.js → command-queue-URs9pYSC.js} +1 -1
  39. package/dist/{command-registry-BMq2CUSD.js → command-registry-NOHWjbDr.js} +9 -9
  40. package/dist/{completion-cli-Dbszfn8D.js → completion-cli-BQ5pz74O.js} +1 -1
  41. package/dist/{completion-cli-CATJLvVa.js → completion-cli-BfKoz1jW.js} +2 -2
  42. package/dist/{config-cli-3a-9iNyI.js → config-cli-BGFZu6JD.js} +1 -1
  43. package/dist/{config-cli-O9P0EpgL.js → config-cli-cFzUpYdg.js} +1 -1
  44. package/dist/{configure-DAA_ncD3.js → configure-DYAZJ3GF.js} +3 -3
  45. package/dist/{configure-Dld8IaT8.js → configure-DrrwPxlu.js} +3 -3
  46. package/dist/{deliver-Bhlx9VG9.js → deliver-8xg5ISEI.js} +1 -1
  47. package/dist/{deliver-DT4v-Go0.js → deliver-C5SDo7TP.js} +1 -1
  48. package/dist/{deliver-CVWbwPkb.js → deliver-fwGuXC0n.js} +1 -1
  49. package/dist/{diagnostic-DI-K8155.js → diagnostic-BB6k_yiT.js} +1 -1
  50. package/dist/{diagnostic-BTSirPP0.js → diagnostic-D7DvV7NT.js} +1 -1
  51. package/dist/{diagnostic-DRvqMPW7.js → diagnostic-Dv8UWiI0.js} +1 -1
  52. package/dist/{dm-policy-shared-BE04dZam.js → dm-policy-shared-BLJbsZzf.js} +1 -1
  53. package/dist/{doctor-completion-Ca_SREXp.js → doctor-completion-B94pFOFt.js} +1 -1
  54. package/dist/{doctor-completion-BJpzpRx6.js → doctor-completion-CtR8yetH.js} +1 -1
  55. package/dist/entry.js +2 -2
  56. package/dist/extensionAPI.js +2 -2
  57. package/dist/{gateway-cli-BYqWX_fq.js → gateway-cli-C_veSlCx.js} +113 -76
  58. package/dist/{gateway-cli-BTuK5wC4.js → gateway-cli-DI7_gxH-.js} +113 -76
  59. package/dist/{health-fB9rLTPD.js → health-Cooqit6V.js} +2 -2
  60. package/dist/{health-DFWpyp9O.js → health-DFat5vO5.js} +2 -2
  61. package/dist/{hooks-cli-DKZeKlmX.js → hooks-cli-CB-96Su8.js} +19 -19
  62. package/dist/{hooks-cli-CriP6g_q.js → hooks-cli-yNAgxRQS.js} +19 -19
  63. package/dist/index.js +21 -21
  64. package/dist/{installs-CBHXvqKf.js → installs-CdLdL1gD.js} +1 -1
  65. package/dist/{installs-CnAcm0ba.js → installs-CpnJwZZ_.js} +1 -1
  66. package/dist/llm-slug-generator.js +12 -12
  67. package/dist/{models-DXRXVywP.js → models-Dlat36jl.js} +1 -1
  68. package/dist/{models-cli-C7bSvLGL.js → models-cli-DMjHkAqq.js} +17 -17
  69. package/dist/{models-cli-h6ejcNF7.js → models-cli-vjFaOcNS.js} +18 -18
  70. package/dist/{node-cli-CS8E71Vc.js → node-cli-m0j_YD0V.js} +3 -3
  71. package/dist/{node-cli-CPo0jR3t.js → node-cli-yC-cX-mJ.js} +3 -3
  72. package/dist/{npm-pack-install-CFiN84Qw.js → npm-pack-install-B7wQANiM.js} +1 -1
  73. package/dist/{npm-pack-install-bdyXL1bZ.js → npm-pack-install-DcBobJp3.js} +1 -1
  74. package/dist/{npm-resolution-CaEc_FBL.js → npm-resolution-B0rqOBgy.js} +2 -2
  75. package/dist/{npm-resolution-B7regLLc.js → npm-resolution-SdoNL0ud.js} +2 -2
  76. package/dist/{onboard-B_6H9HpS.js → onboard-B9-DxI_m.js} +2 -2
  77. package/dist/{onboard-B1WwaAdf.js → onboard-D8MZoOum.js} +2 -2
  78. package/dist/{onboard-channels-BWrbGzK9.js → onboard-channels-28JqVvAv.js} +2 -2
  79. package/dist/{onboard-channels-CxiuviBR.js → onboard-channels-P7F-dNwm.js} +2 -2
  80. package/dist/{onboarding-DemzhSFH.js → onboarding-0WSY8o8f.js} +3 -3
  81. package/dist/{onboarding-D9VO9_5U.js → onboarding-BfpXrIw7.js} +3 -3
  82. package/dist/{onboarding.finalize-DeJ35Prz.js → onboarding.finalize-BnIw1M2b.js} +22 -22
  83. package/dist/{onboarding.finalize-C8Pqseaq.js → onboarding.finalize-QITC8MsS.js} +23 -23
  84. package/dist/{operator-commands-Dwtv8SyF.js → operator-commands-CIz47IKl.js} +2 -2
  85. package/dist/{operator-commands-BRKxpjt9.js → operator-commands-CtYCnspr.js} +2 -2
  86. package/dist/{pi-embedded-BcRvgwKi.js → pi-embedded-BBId5n_k.js} +49 -28
  87. package/dist/{pi-embedded-helpers-D19zTumt.js → pi-embedded-helpers-BU47jdPO.js} +1 -1
  88. package/dist/{pi-embedded-helpers-5JApWu7A.js → pi-embedded-helpers-DVvJRC5S.js} +3 -3
  89. package/dist/{pi-embedded-helpers-DEHXX7Dr.js → pi-embedded-helpers-i0-tPaxH.js} +1 -1
  90. package/dist/{pi-embedded-recovery-adapter-MaU4SQ3X.js → pi-embedded-recovery-adapter-1Lgt8q1h.js} +2 -2
  91. package/dist/{pi-embedded-recovery-adapter-licel-RD.js → pi-embedded-recovery-adapter-B2AFWrYt.js} +2 -2
  92. package/dist/{pi-embedded-recovery-adapter-ZV9u5snz.js → pi-embedded-recovery-adapter-CNdSU-s7.js} +8 -8
  93. package/dist/{pi-embedded-recovery-adapter-DB4blfKA.js → pi-embedded-recovery-adapter-DL78oCTf.js} +8 -8
  94. package/dist/{pi-embedded-utils-oIHgFob3.js → pi-embedded-utils-8OzPnJMh.js} +1 -1
  95. package/dist/{pi-embedded-utils-kHMmP2Xh.js → pi-embedded-utils-BoaQCwP7.js} +1 -1
  96. package/dist/{pi-embedded-utils-BhOMYPQU.js → pi-embedded-utils-BtOzugyp.js} +1 -1
  97. package/dist/{pi-embedded-DsDG-ETP.js → pi-embedded-wjGM_bNN.js} +22 -1
  98. package/dist/{pi-tools.policy-4GqIom7_.js → pi-tools.policy-DPm2eos4.js} +1 -1
  99. package/dist/{plugin-registry-CxDNClOG.js → plugin-registry-CC8YsXPr.js} +1 -1
  100. package/dist/{plugin-registry-alYBvHFE.js → plugin-registry-CPS5bO_-.js} +1 -1
  101. package/dist/plugin-sdk/{agent-scope-BLF4nZUv.js → agent-scope-BYp_CjdU.js} +2 -2
  102. package/dist/plugin-sdk/agent-turn-execute-BCE3FS2s.js +61 -0
  103. package/dist/plugin-sdk/{agent-turn-execute-Cjl_kBtQ.js → agent-turn-execute-Dd5AJiKY.js} +2 -2
  104. package/dist/plugin-sdk/{agent-turn-runner-YBWX_qXk.js → agent-turn-runner-B9_FKVSu.js} +6 -6
  105. package/dist/plugin-sdk/{agent-turn-runner-CDA8JPSH.js → agent-turn-runner-DL5jOnXC.js} +1 -1
  106. package/dist/plugin-sdk/agent-turn-runner-gf0ARmuP.js +11 -0
  107. package/dist/plugin-sdk/{api-key-rotation-XDUKz2gd.js → api-key-rotation-CDNf_4cI.js} +2 -2
  108. package/dist/plugin-sdk/{artifacts-HAYpGlG1.js → artifacts-BMLMg3MG.js} +1 -1
  109. package/dist/plugin-sdk/{audio-preflight-BS29OWk3.js → audio-preflight-BmKL6FNP.js} +2 -2
  110. package/dist/plugin-sdk/audio-preflight-DlGohKMs.js +28 -0
  111. package/dist/plugin-sdk/{audio-transcription-runner-BNafitZj.js → audio-transcription-runner-TBjJv_mZ.js} +10 -10
  112. package/dist/plugin-sdk/{auth-profiles-CCJQoedi.js → auth-profiles-DHZjW8Vk.js} +5 -5
  113. package/dist/plugin-sdk/{channel-activity-BKwRzYJb.js → channel-activity-Dr4PYej7.js} +3 -3
  114. package/dist/plugin-sdk/{chrome-D0eLSqkP.js → chrome-BDy1zYAr.js} +4 -4
  115. package/dist/plugin-sdk/{chunk-DI-5pBck.js → chunk-BTSnO1wn.js} +6 -6
  116. package/dist/plugin-sdk/{chunk-CDvvv9SU.js → chunk-DGQdf0JN.js} +3 -3
  117. package/dist/plugin-sdk/{command-detection-B3xgM_Na.js → command-detection-DdTnFMU3.js} +106 -85
  118. package/dist/plugin-sdk/{command-queue-BnJsJc_w.js → command-queue-CeaLVs8O.js} +8 -8
  119. package/dist/plugin-sdk/{command-queue-CHiQj9Ji.js → command-queue-DFSOdqCK.js} +1 -1
  120. package/dist/plugin-sdk/{commands-registry-Do_g2It_.js → commands-registry-8sy0wsK_.js} +6 -6
  121. package/dist/plugin-sdk/{commands-registry-DpLk11E7.js → commands-registry-N6f_lsxF.js} +2 -2
  122. package/dist/plugin-sdk/{config-CQNfmIC8.js → config-Biusjzx-.js} +7 -7
  123. package/dist/plugin-sdk/{deliver-L6eu6zyG.js → deliver-BgHA8c9F.js} +11 -11
  124. package/dist/plugin-sdk/deliver-DBCz1GqU.js +32 -0
  125. package/dist/plugin-sdk/{diagnostic-DfxuMWHd.js → diagnostic-Bni_8VyY.js} +7 -7
  126. package/dist/plugin-sdk/{diagnostic-C7lPoqyv.js → diagnostic-D6hSjxiv.js} +5 -5
  127. package/dist/plugin-sdk/{fetch-guard-CZT8FU1i.js → fetch-guard-C1a1KfEb.js} +3 -3
  128. package/dist/plugin-sdk/{fs-safe-B0JgGdXa.js → fs-safe-CbZ6uRVv.js} +3 -3
  129. package/dist/plugin-sdk/{hook-runner-global-WRI53ibi.js → hook-runner-global-BvxlnAyu.js} +3 -3
  130. package/dist/plugin-sdk/{image-ops-kuILYHZv.js → image-ops-DY_SZfXk.js} +1 -1
  131. package/dist/plugin-sdk/index.js +54 -54
  132. package/dist/plugin-sdk/{ir-Bm7oqkwT.js → ir-BNohi6ZW.js} +5 -5
  133. package/dist/plugin-sdk/{local-roots-D-CHzVr1.js → local-roots-Bm7nDW20.js} +7 -7
  134. package/dist/plugin-sdk/{logger-BSK-0Yjx.js → logger-D6KsqbNW.js} +1 -1
  135. package/dist/plugin-sdk/{manager-D2jffdjH.js → manager-B_vK9MbM.js} +8 -8
  136. package/dist/plugin-sdk/manager-ByaW_O4Y.js +16 -0
  137. package/dist/plugin-sdk/{markdown-tables-DIWQQ2W1.js → markdown-tables-G4vK24xc.js} +2 -2
  138. package/dist/plugin-sdk/markdown-tables-J4hZ7eWU.js +10 -0
  139. package/dist/plugin-sdk/{outbound-attachment-CtKKNyms.js → outbound-attachment-Cw7T2Mrt.js} +2 -2
  140. package/dist/plugin-sdk/{path-alias-guards-CHfCMaeX.js → path-alias-guards-CVybi_GQ.js} +1 -1
  141. package/dist/plugin-sdk/{pi-embedded-helpers-BRymkO_1.js → pi-embedded-helpers-B_jgacW8.js} +11 -11
  142. package/dist/plugin-sdk/{pi-embedded-utils-BHmc3RVS.js → pi-embedded-utils-DOXEm_H8.js} +3 -3
  143. package/dist/plugin-sdk/{pi-model-discovery-6BBajZds.js → pi-model-discovery-DWUrLRLg.js} +1 -1
  144. package/dist/plugin-sdk/{pi-model-discovery-4X7_2_nP.js → pi-model-discovery-DWw1ReX-.js} +6 -6
  145. package/dist/plugin-sdk/provider-dispatcher-Byy-KtUn.js +61 -0
  146. package/dist/plugin-sdk/{provider-dispatcher-D7HHFW68.js → provider-dispatcher-C4-urx2x.js} +2 -2
  147. package/dist/plugin-sdk/provider-image-B_dJDOl5.js +22 -0
  148. package/dist/plugin-sdk/{provider-image-DBye3Ln5.js → provider-image-CEQrHWYz.js} +5 -5
  149. package/dist/plugin-sdk/provider-media-understanding.js +7 -7
  150. package/dist/plugin-sdk/{proxy-DJ2nskkh.js → proxy-BWc9guJs.js} +1 -1
  151. package/dist/plugin-sdk/proxy-DwbYzxBy.js +7 -0
  152. package/dist/plugin-sdk/{proxy-fetch-CuQpjpkI.js → proxy-fetch-BYkGxQnh.js} +1 -1
  153. package/dist/plugin-sdk/{pw-ai-BJrhPMHJ.js → pw-ai-DQv6Xhce.js} +10 -10
  154. package/dist/plugin-sdk/{qmd-manager-DhW_frb3.js → qmd-manager-CpV0SFnY.js} +8 -8
  155. package/dist/plugin-sdk/{query-expansion-NpBeKA8F.js → query-expansion-CwmHvvV_.js} +3 -3
  156. package/dist/plugin-sdk/{recorder-DdbAQ2HO.js → recorder-BXZMRSjO.js} +4 -4
  157. package/dist/plugin-sdk/{redact-CUjmZn2Y.js → redact-C88Ryyfs.js} +1 -1
  158. package/dist/plugin-sdk/replies-B9uDLFOE.js +25 -0
  159. package/dist/plugin-sdk/{replies-Dw3jvqpR.js → replies-l2hZAzbt.js} +4 -4
  160. package/dist/plugin-sdk/{reply-directives-BS8Ge06Z.js → reply-directives-BwxzQXmX.js} +2 -2
  161. package/dist/plugin-sdk/reply-prefix-BQMEQam1.js +7 -0
  162. package/dist/plugin-sdk/{reply-prefix-Dt1hESHJ.js → reply-prefix-qLQRxqrf.js} +1 -1
  163. package/dist/plugin-sdk/{resolve-route-BpLuk-wC.js → resolve-route-50KoArP9.js} +4 -4
  164. package/dist/plugin-sdk/{resolve-route-DiQTL1qI.js → resolve-route-6v1HVvWk.js} +6 -6
  165. package/dist/plugin-sdk/runs-BQhYekhr.js +25 -0
  166. package/dist/plugin-sdk/{runs-D6fAvItC.js → runs-CiohhBb8.js} +7 -7
  167. package/dist/plugin-sdk/{send-CpXGZgrS.js → send-BMSqETcU.js} +6 -6
  168. package/dist/plugin-sdk/send-CeWqZTK0.js +23 -0
  169. package/dist/plugin-sdk/{send-BDwTyH6I.js → send-Cv2CGnsK.js} +8 -8
  170. package/dist/plugin-sdk/{send-Ce2XBaKF.js → send-Cx6gHjnA.js} +6 -6
  171. package/dist/plugin-sdk/send-CzcKgBBf.js +25 -0
  172. package/dist/plugin-sdk/{send-R0HB1-l-.js → send-DG4MQPPm.js} +13 -13
  173. package/dist/plugin-sdk/{send-CE_6VOiQ.js → send-DM6RpDCL.js} +7 -7
  174. package/dist/plugin-sdk/{send-GMYUhBtJ.js → send-DO0C4Uva.js} +19 -19
  175. package/dist/plugin-sdk/send-Dvna5ey-.js +27 -0
  176. package/dist/plugin-sdk/send-xPV0QIjh.js +24 -0
  177. package/dist/plugin-sdk/{session-meta-BU2WXD0N.js → session-meta-CiqJP0pO.js} +2 -2
  178. package/dist/plugin-sdk/session-meta-n4SCcAbJ.js +10 -0
  179. package/dist/plugin-sdk/skill-commands-BOV3NIbU.js +14 -0
  180. package/dist/plugin-sdk/{skill-commands-BYfWIPfV.js → skill-commands-CE_SkRQk.js} +5 -5
  181. package/dist/plugin-sdk/{skills-BuJjEYto.js → skills-CjW6uGTa.js} +6 -6
  182. package/dist/plugin-sdk/src/config/sessions/run-pending-writes.d.ts +22 -0
  183. package/dist/plugin-sdk/{ssrf-DiAz1Z_z.js → ssrf-BUCEDxp5.js} +2 -2
  184. package/dist/plugin-sdk/{store-Bl3Yjf_w.js → store-yBNTHg3N.js} +2 -2
  185. package/dist/plugin-sdk/{subagent-registry-DxZN7H_j.js → subagent-registry-B0gD-Lof.js} +2 -2
  186. package/dist/plugin-sdk/subagent-registry-CZBK6615.js +61 -0
  187. package/dist/plugin-sdk/{subsystem-B2x33s9h.js → subsystem-CUUKL6Fr.js} +4 -4
  188. package/dist/plugin-sdk/{tables-CTmQQyfU.js → tables-DKYi6grj.js} +1 -1
  189. package/dist/plugin-sdk/testing.js +2 -2
  190. package/dist/plugin-sdk/{tokens-DxJSOoJn.js → tokens-ysZUkYZZ.js} +1 -1
  191. package/dist/plugin-sdk/{tool-loop-detection-Buouaxew.js → tool-loop-detection-LsvZ1dIY.js} +1 -1
  192. package/dist/plugin-sdk/{tools-CmHC6oYK.js → tools-PVG4MyCb.js} +26 -5
  193. package/dist/plugin-sdk/{user-run-recording-juCW_uQ-.js → user-run-recording-BMaK7jNR.js} +2 -2
  194. package/dist/plugin-sdk/user-run-recording-DiKcNdjn.js +11 -0
  195. package/dist/{plugins-cli-DRuMDJWf.js → plugins-cli-Cpq4XXoA.js} +22 -22
  196. package/dist/{plugins-cli-DnMc_Sn3.js → plugins-cli-yjyVyPjc.js} +22 -22
  197. package/dist/{program-Gb3aULCK.js → program-CLZlTcBu.js} +23 -23
  198. package/dist/{program-context-CJuzphrY.js → program-context-DN3ucEgK.js} +22 -22
  199. package/dist/{prompt-select-styled-Db6swA6j.js → prompt-select-styled-BNUoeaMg.js} +6 -6
  200. package/dist/{prompt-select-styled-C-FwsHQX.js → prompt-select-styled-CtLCU2VG.js} +6 -6
  201. package/dist/{provider-image-Cb4z6zUu.js → provider-image-Bi2L9LWh.js} +1 -1
  202. package/dist/{provider-image-RxbXQIow.js → provider-image-CZlpEJVI.js} +1 -1
  203. package/dist/{provider-image-XyDuLsir.js → provider-image-UXLX6qTH.js} +1 -1
  204. package/dist/{push-apns-BGOaVxug.js → push-apns-DYlVj3Sd.js} +2 -2
  205. package/dist/{push-apns-Mp5OOpUH.js → push-apns-uBiZYT2e.js} +2 -2
  206. package/dist/{pw-ai-DmE1ofBV.js → pw-ai-2o8dgziH.js} +1 -1
  207. package/dist/{pw-ai-QjFlAu_X.js → pw-ai-CZJk6UyG.js} +1 -1
  208. package/dist/{pw-ai-DziGw6Jy.js → pw-ai-pYtWxKPR.js} +1 -1
  209. package/dist/{reconcile-bundled-jiPnEB1a.js → reconcile-bundled-Dx64x8xr.js} +1 -1
  210. package/dist/{reconcile-bundled-BMWDZl32.js → reconcile-bundled-oQwTCU_A.js} +1 -1
  211. package/dist/{recovery-adapter-BMqm3Nm4.js → recovery-adapter-BT7EyQzh.js} +8 -8
  212. package/dist/{recovery-adapter-NtvPZ47M.js → recovery-adapter-BcPtMfaC.js} +1 -1
  213. package/dist/{recovery-adapter-DvFGPqmC.js → recovery-adapter-BvRiQZIb.js} +8 -8
  214. package/dist/{recovery-adapter-B_wvSNpI.js → recovery-adapter-CTqGLqLj.js} +1 -1
  215. package/dist/{register.agent-B5_L0CjL.js → register.agent-DpYKNZhv.js} +22 -22
  216. package/dist/{register.agent-kUHQvJ5-.js → register.agent-DxsC-Szl.js} +23 -23
  217. package/dist/{register.configure-CgSKgJn_.js → register.configure-Ceru0oh0.js} +23 -23
  218. package/dist/{register.configure-BbDac1C1.js → register.configure-CiYkPB_K.js} +23 -23
  219. package/dist/{register.maintenance-Co2DeyQ1.js → register.maintenance-BCSq69vI.js} +23 -23
  220. package/dist/{register.maintenance-YmHWu7iX.js → register.maintenance-D-kzdtog.js} +24 -24
  221. package/dist/{register.message-8tfreZAx.js → register.message-B3NWvxgd.js} +18 -18
  222. package/dist/{register.message-BWeca9Pc.js → register.message-D-e6_UXf.js} +18 -18
  223. package/dist/{register.onboard-4mSx6LtC.js → register.onboard-BHBpxcRv.js} +2 -2
  224. package/dist/{register.onboard-Cs4xO4E5.js → register.onboard-BPko9BHz.js} +2 -2
  225. package/dist/{register.setup-DCRrXbdT.js → register.setup-BE-sR-Dc.js} +2 -2
  226. package/dist/{register.setup-BkZyVbO-.js → register.setup-Bjx48C4T.js} +2 -2
  227. package/dist/{register.status-health-sessions-CgAKAaPq.js → register.status-health-sessions-BczZXjHB.js} +20 -20
  228. package/dist/{register.status-health-sessions-DK12_BeX.js → register.status-health-sessions-CQQWiYcu.js} +20 -20
  229. package/dist/{register.subclis-CKq7CiVv.js → register.subclis-Bn9Re4fV.js} +14 -14
  230. package/dist/{reply-BIZ2zaUq.js → reply-BzUdF5qW.js} +69 -24
  231. package/dist/{run-main-Bjfr1wYn.js → run-main-Cfccgza4.js} +30 -30
  232. package/dist/{runs-ucQd8Fc-.js → runs-BauIdJqy.js} +3 -3
  233. package/dist/{runs-Yajg-SST.js → runs-DVNBpgv0.js} +3 -3
  234. package/dist/{runs-CUs5xDZ_.js → runs-i5IuTzQX.js} +3 -3
  235. package/dist/{sandbox-DfzTmaAX.js → sandbox-QsMPF2u6.js} +1 -1
  236. package/dist/{sandbox-Ft7cM-PQ.js → sandbox-bbN1dfIo.js} +1 -1
  237. package/dist/{sandbox-cli-DvMqiG0-.js → sandbox-cli-CuG1HCrw.js} +2 -2
  238. package/dist/{sandbox-cli-DyRvKmR5.js → sandbox-cli-nx3ctiYX.js} +2 -2
  239. package/dist/{security-cli-p_5UwabW.js → security-cli-BfZEQFxV.js} +4 -4
  240. package/dist/{security-cli-Brok3WFE.js → security-cli-BmfAwh-0.js} +4 -4
  241. package/dist/{send-DzSRMjOr.js → send-BKkvuHI9.js} +1 -1
  242. package/dist/{send-Cy2xiH02.js → send-CvkM5xAx.js} +1 -1
  243. package/dist/{send-TscXeVY8.js → send-Dd2SE0h0.js} +1 -1
  244. package/dist/{server-l9oy68N_.js → server-BMSgu_SV.js} +4 -4
  245. package/dist/{server-CywvGQHz.js → server-DRVR_pkr.js} +4 -4
  246. package/dist/{server-context-Dezs5R_M.js → server-context-Bbi-nqKD.js} +2 -2
  247. package/dist/{server-context-97Vej0yV.js → server-context-CTilcbO4.js} +2 -2
  248. package/dist/{server-lifecycle-CHhQugi7.js → server-lifecycle-BIOS9ErD.js} +1 -1
  249. package/dist/{server-lifecycle-DcVZS1ln.js → server-lifecycle-DrAGY_SC.js} +1 -1
  250. package/dist/{server-node-events-BG6KvV6u.js → server-node-events-B3c2ctcO.js} +18 -18
  251. package/dist/{server-node-events-BaFY8QcO.js → server-node-events-lwnuZDvV.js} +18 -18
  252. package/dist/{sessions-BQYQBpX0.js → sessions-Cy_VVMEN.js} +4 -4
  253. package/dist/{sessions-CuDbhYmU.js → sessions-DCXadUdD.js} +4 -4
  254. package/dist/{status-BYesh62t.js → status-Dh0qVJb_.js} +4 -4
  255. package/dist/{status-DlD1uBWJ.js → status-PwhjcAYw.js} +4 -4
  256. package/dist/{task-pipeline-boot-D9T_Earg.js → task-pipeline-boot-CcSZVGUe.js} +17 -17
  257. package/dist/{task-pipeline-boot-CaVeITev.js → task-pipeline-boot-UcskPjY2.js} +17 -17
  258. package/dist/{tui-naozJ5Qh.js → tui-WSQKUD4o.js} +1 -1
  259. package/dist/{tui-cli-hVvCHoLU.js → tui-cli-C3Sopj4_.js} +4 -4
  260. package/dist/{tui-cli-Dn_Is1pu.js → tui-cli-CpRsjtOO.js} +4 -4
  261. package/dist/{tui-Bo4LZvgz.js → tui-dccCFhet.js} +1 -1
  262. package/dist/{update-CXf5cJ0D.js → update-D86-cS_v.js} +1 -1
  263. package/dist/{update-CAXQiGSa.js → update-DJaR3w6x.js} +1 -1
  264. package/dist/{update-cli-BYDYDEO5.js → update-cli-BSxfgTyN.js} +27 -27
  265. package/dist/{update-cli-BB7ybH-w.js → update-cli-f5iTpbNn.js} +26 -26
  266. package/dist/{update-runner-BYv_ec3N.js → update-runner-DqE_9Axt.js} +1 -1
  267. package/dist/{update-runner-JoI-EXBr.js → update-runner-DwM4xj8C.js} +1 -1
  268. package/dist/{validation-cli-ZFUB2tzh.js → validation-cli-C8XHeLjI.js} +18 -18
  269. package/dist/{validation-cli-CGimO4ZJ.js → validation-cli-jSmCMkkm.js} +18 -18
  270. package/dist/{with-timeout-Cl_OttOS.js → with-timeout-BvxLQUTs.js} +2 -2
  271. package/dist/{with-timeout-NhJMC1fC.js → with-timeout-CII3PkDO.js} +2 -2
  272. package/extensions/acpx/package.json +1 -1
  273. package/extensions/anthropic/package.json +1 -1
  274. package/extensions/bifrost/package.json +1 -1
  275. package/extensions/bluebubbles/package.json +1 -1
  276. package/extensions/copilot-proxy/package.json +1 -1
  277. package/extensions/deepgram/package.json +1 -1
  278. package/extensions/deepinfra/package.json +1 -1
  279. package/extensions/diagnostics-otel/package.json +1 -1
  280. package/extensions/diffs/package.json +1 -1
  281. package/extensions/discord/package.json +1 -1
  282. package/extensions/dream-cycle/package.json +1 -1
  283. package/extensions/elevenlabs/package.json +1 -1
  284. package/extensions/feishu/package.json +1 -1
  285. package/extensions/gemini-search/package.json +1 -1
  286. package/extensions/google/package.json +1 -1
  287. package/extensions/google-gemini-cli-auth/package.json +1 -1
  288. package/extensions/googlechat/package.json +1 -1
  289. package/extensions/grok-search/package.json +1 -1
  290. package/extensions/groq/package.json +1 -1
  291. package/extensions/imessage/package.json +1 -1
  292. package/extensions/irc/package.json +1 -1
  293. package/extensions/kimi-search/package.json +1 -1
  294. package/extensions/learning-core/package.json +1 -1
  295. package/extensions/line/package.json +1 -1
  296. package/extensions/llm-task/package.json +1 -1
  297. package/extensions/lobster/package.json +1 -1
  298. package/extensions/matrix/CHANGELOG.md +1 -1
  299. package/extensions/matrix/package.json +1 -1
  300. package/extensions/mattermost/package.json +1 -1
  301. package/extensions/memory-core/package.json +1 -1
  302. package/extensions/memory-lancedb/package.json +1 -1
  303. package/extensions/minimax/package.json +1 -1
  304. package/extensions/minimax-portal-auth/package.json +1 -1
  305. package/extensions/mistral/package.json +1 -1
  306. package/extensions/moonshot/package.json +1 -1
  307. package/extensions/msteams/CHANGELOG.md +1 -1
  308. package/extensions/msteams/package.json +1 -1
  309. package/extensions/nextcloud-talk/package.json +1 -1
  310. package/extensions/nostr/CHANGELOG.md +1 -1
  311. package/extensions/nostr/package.json +1 -1
  312. package/extensions/open-prose/package.json +1 -1
  313. package/extensions/openai/package.json +1 -1
  314. package/extensions/openai-realtime/package.json +1 -1
  315. package/extensions/openrouter/package.json +1 -1
  316. package/extensions/perplexity-search/package.json +1 -1
  317. package/extensions/searxng-search/package.json +1 -1
  318. package/extensions/signal/package.json +1 -1
  319. package/extensions/slack/package.json +1 -1
  320. package/extensions/synology-chat/package.json +1 -1
  321. package/extensions/telegram/package.json +1 -1
  322. package/extensions/tlon/package.json +1 -1
  323. package/extensions/twitch/CHANGELOG.md +1 -1
  324. package/extensions/twitch/package.json +1 -1
  325. package/extensions/voice-call/CHANGELOG.md +1 -1
  326. package/extensions/voice-call/package.json +1 -1
  327. package/extensions/whatsapp/package.json +1 -1
  328. package/extensions/zai/package.json +1 -1
  329. package/extensions/zalo/CHANGELOG.md +1 -1
  330. package/extensions/zalo/package.json +1 -1
  331. package/extensions/zalouser/CHANGELOG.md +1 -1
  332. package/extensions/zalouser/package.json +1 -1
  333. package/package.json +1 -1
  334. package/dist/plugin-sdk/agent-turn-execute-C4MQxaT2.js +0 -61
  335. package/dist/plugin-sdk/agent-turn-runner-e_lJzDgA.js +0 -11
  336. package/dist/plugin-sdk/audio-preflight-DE04bi4M.js +0 -28
  337. package/dist/plugin-sdk/deliver-D4fWK65M.js +0 -32
  338. package/dist/plugin-sdk/manager-BlYRVNJI.js +0 -16
  339. package/dist/plugin-sdk/markdown-tables-cZSKCBuW.js +0 -10
  340. package/dist/plugin-sdk/provider-dispatcher-D7bchiJq.js +0 -61
  341. package/dist/plugin-sdk/provider-image-CNlYbRab.js +0 -22
  342. package/dist/plugin-sdk/proxy-D2uiu68M.js +0 -7
  343. package/dist/plugin-sdk/replies-XUkqz_7S.js +0 -25
  344. package/dist/plugin-sdk/reply-prefix-MU3uY52y.js +0 -7
  345. package/dist/plugin-sdk/runs-R28wdt7j.js +0 -25
  346. package/dist/plugin-sdk/send-Cg2VXcO0.js +0 -27
  347. package/dist/plugin-sdk/send-DAs6FmWB.js +0 -23
  348. package/dist/plugin-sdk/send-UIQH_kN6.js +0 -25
  349. package/dist/plugin-sdk/send-tASIQF-Q.js +0 -24
  350. package/dist/plugin-sdk/session-meta-Dd1ZONel.js +0 -10
  351. package/dist/plugin-sdk/skill-commands-C7ZE3rKj.js +0 -14
  352. package/dist/plugin-sdk/subagent-registry-2P8D5Trx.js +0 -61
  353. package/dist/plugin-sdk/user-run-recording-BMikDBXR.js +0 -11
@@ -12,21 +12,21 @@ import { c as resolveSessionFilePathOptions, d as resolveSessionTranscriptsDirFo
12
12
  import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-BnH5Yy9T.js";
13
13
  import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-Ba3pDq6E.js";
14
14
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BGps2i_C.js";
15
- import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-D20dK54z.js";
15
+ import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-Bvj00mHU.js";
16
16
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-9Mla_HDp.js";
17
17
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-BDA1WAvZ.js";
18
18
  import { _ as resolveProviderPromptCacheKey, a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, f as getGlobalHookRunner, g as buildPluginTurnIdentity, h as buildPluginRuntimeIdentity, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, m as promptBuildResultToContribution, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as initializeGlobalHookRunner, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext, v as resolveProviderRuntimeIdentity } from "./outbound-message-hooks-S_VhlJs3.js";
19
- import { A as boundDiagnosticContent, C as logWebhookError, D as refreshRunProgress, E as recordSystemPromptHashComparison, M as resetCommandPollCount, O as startDiagnosticHeartbeat, S as logToolExecutionStarted, T as logWebhookReceived, b as logToolExecutionBlocked, d as logRunCompleted, f as logRunStarted, j as recordCommandPoll, k as stopDiagnosticHeartbeat, l as logModelCallError, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, w as logWebhookProcessed, x as logToolExecutionCompleted } from "./diagnostic-DI-K8155.js";
19
+ import { A as boundDiagnosticContent, C as logWebhookError, D as refreshRunProgress, E as recordSystemPromptHashComparison, M as resetCommandPollCount, O as startDiagnosticHeartbeat, S as logToolExecutionStarted, T as logWebhookReceived, b as logToolExecutionBlocked, d as logRunCompleted, f as logRunStarted, j as recordCommandPoll, k as stopDiagnosticHeartbeat, l as logModelCallError, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, w as logWebhookProcessed, x as logToolExecutionCompleted } from "./diagnostic-BB6k_yiT.js";
20
20
  import { r as getDiagnosticSessionState, s as redactChannelCorrelation } from "./diagnostic-session-state-Bnyx-w0F.js";
21
21
  import { t as redactIdentifier } from "./redact-identifier-WYElxwAZ.js";
22
22
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-BOHmCPP_.js";
23
23
  import { t as CommandLane } from "./lanes-DTaUAkeG.js";
24
- import { a as getCommandLaneSnapshots, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-BTAxEdto.js";
25
- import { $ as resolveTelegramStreamMode, A as resolveTelegramFetch, B as buildTelegramParentPeer, C as getTelegramFleetSupervisor, D as recordWebhook, E as recordUpdate, F as buildGroupLabel, G as extractTelegramLocation, H as buildTypingThreadParams, I as buildSenderLabel, J as resolveTelegramDirectPeerId, K as hasBotMention, L as buildSenderName, M as withTelegramApiErrorLogging, N as loadCronStore, O as registerAccount, P as resolveCronStorePath, Q as resolveTelegramReplyId, R as buildTelegramGroupFrom, S as fingerprintTelegramToken, T as recordState, U as describeReplyTarget, V as buildTelegramThreadParams, W as expandTextLinks, X as resolveTelegramGroupAllowFromContext, Y as resolveTelegramForumThreadId, Z as resolveTelegramMediaPlaceholder, _ as isTelegramEditMayHaveLandedError, _t as getPairingAdapter, a as reactMessageTelegram, at as firstDefined$1, b as renderTelegramHtmlText, bt as parseTelegramTarget, c as sendStickerTelegram, ct as resolveGroupAllowFromSources, d as wasSentByBot, dt as addChannelAllowFromStoreEntry, et as resolveTelegramThreadSpec, f as extractTelegramErrorText, ft as readChannelAllowFromStore, g as isTelegramClientRejection, gt as writeJsonFileAtomically, h as isSafeToRetrySendError, ht as readJsonFileWithFallback, i as editMessageTelegram, it as resolveSenderAllowMatch$1, j as splitTelegramCaption, k as releaseAccountOwner, lt as formatLocationText, m as isRecoverableTelegramNetworkError, mt as upsertChannelPairingRequest, n as createForumTopicTelegram, nt as normalizeAllowFrom$2, o as sendMessageTelegram, ot as isSenderIdAllowed, p as isDefiniteTelegramRequestNonDeliveryError, pt as removeChannelAllowFromStoreEntry, q as normalizeForwardedContext, r as deleteMessageTelegram, rt as normalizeDmAllowFromWithStore$1, s as sendPollTelegram, st as mergeDmAllowFromSources, t as buildInlineKeyboard, tt as isSenderAllowed$1, u as resolveTelegramVoiceSend, ut as toLocationContext, v as markdownToTelegramChunks, vt as listPairingChannels, w as recordApiRequest, x as wrapFileReferencesInHtml, xt as resolveTelegramTargetChatType, y as markdownToTelegramHtml, yt as isVoiceCompatibleAudio, z as buildTelegramGroupPeerId } from "./send-TscXeVY8.js";
24
+ import { a as getCommandLaneSnapshots, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-DucYxKKF.js";
25
+ import { $ as resolveTelegramStreamMode, A as resolveTelegramFetch, B as buildTelegramParentPeer, C as getTelegramFleetSupervisor, D as recordWebhook, E as recordUpdate, F as buildGroupLabel, G as extractTelegramLocation, H as buildTypingThreadParams, I as buildSenderLabel, J as resolveTelegramDirectPeerId, K as hasBotMention, L as buildSenderName, M as withTelegramApiErrorLogging, N as loadCronStore, O as registerAccount, P as resolveCronStorePath, Q as resolveTelegramReplyId, R as buildTelegramGroupFrom, S as fingerprintTelegramToken, T as recordState, U as describeReplyTarget, V as buildTelegramThreadParams, W as expandTextLinks, X as resolveTelegramGroupAllowFromContext, Y as resolveTelegramForumThreadId, Z as resolveTelegramMediaPlaceholder, _ as isTelegramEditMayHaveLandedError, _t as getPairingAdapter, a as reactMessageTelegram, at as firstDefined$1, b as renderTelegramHtmlText, bt as parseTelegramTarget, c as sendStickerTelegram, ct as resolveGroupAllowFromSources, d as wasSentByBot, dt as addChannelAllowFromStoreEntry, et as resolveTelegramThreadSpec, f as extractTelegramErrorText, ft as readChannelAllowFromStore, g as isTelegramClientRejection, gt as writeJsonFileAtomically, h as isSafeToRetrySendError, ht as readJsonFileWithFallback, i as editMessageTelegram, it as resolveSenderAllowMatch$1, j as splitTelegramCaption, k as releaseAccountOwner, lt as formatLocationText, m as isRecoverableTelegramNetworkError, mt as upsertChannelPairingRequest, n as createForumTopicTelegram, nt as normalizeAllowFrom$2, o as sendMessageTelegram, ot as isSenderIdAllowed, p as isDefiniteTelegramRequestNonDeliveryError, pt as removeChannelAllowFromStoreEntry, q as normalizeForwardedContext, r as deleteMessageTelegram, rt as normalizeDmAllowFromWithStore$1, s as sendPollTelegram, st as mergeDmAllowFromSources, t as buildInlineKeyboard, tt as isSenderAllowed$1, u as resolveTelegramVoiceSend, ut as toLocationContext, v as markdownToTelegramChunks, vt as listPairingChannels, w as recordApiRequest, x as wrapFileReferencesInHtml, xt as resolveTelegramTargetChatType, y as markdownToTelegramHtml, yt as isVoiceCompatibleAudio, z as buildTelegramGroupPeerId } from "./send-Dd2SE0h0.js";
26
26
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-O8pHxo7i.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CsC6yTDG.js";
28
- import { $ as resolveSandboxConfigForAgent, A as isFailoverAssistantError, B as isTimeoutErrorMessage, C as formatRawAssistantErrorForUi, D as isCloudCodeAssistFormatError, E as isBillingAssistantError, F as isTransientHttpError, G as registerBrowserRoutes, H as resolveSandboxContext, I as parseImageDimensionError, J as getBridgeAuthForPort, K as resolveBrowserConfig, L as parseImageSizeError, M as isLikelyContextOverflowError, N as isRateLimitAssistantError, O as isCompactionFailureError, P as isRawApiErrorPayload, Q as trimToUndefined$1, R as sanitizeUserFacingText, S as formatBillingErrorMessage, T as isAuthAssistantError, U as resolveSandboxRuntimeStatus, V as ensureSandboxWorkspaceForSession, W as createBrowserRouteContext, X as resolveBrowserControlAuth, Y as ensureBrowserControlAuth, Z as resolveGatewayCredentialsFromConfig, _ as downgradeOpenAIReasoningBlocks, a as isMessagingToolDuplicateNormalized, at as stripPluginOnlyAllowlist, b as classifyFailoverReason, c as sanitizeImageBlocks, ct as resolveToolProfilePolicy, d as canonicalizeBase64, dt as buildBootstrapContextFiles, et as applyOwnerOnlyToolPolicy, f as estimateBase64DecodedBytes, ft as ensureSessionHeader, g as downgradeOpenAIFunctionCallReasoningPairs, h as sanitizeToolCallIdsForCloudCodeAssist, ht as sanitizeGoogleTurnOrdering, it as mergeAlsoAllowPolicy, j as isFailoverErrorMessage, k as isContextOverflowError, l as sanitizeToolResultImages, lt as compileGlobPatterns, m as extractToolResultId, mt as resolveBootstrapTotalMaxChars, n as validateGeminiTurns, nt as collectExplicitAllowlist, o as normalizeTextForComparison, ot as expandToolGroups, p as extractToolCallsFromAssistant, pt as resolveBootstrapMaxChars, q as resolveProfile, r as pickFallbackThinkingLevel, rt as expandPolicyWithPluginGroups, s as sanitizeSessionMessagesImages, st as normalizeToolName, t as validateAnthropicTurns, tt as buildPluginToolGroups, u as resolveImageSanitizationLimits, ut as matchesAnyGlobPattern, v as isGoogleModelApi, w as getApiErrorPayloadFingerprint, x as formatAssistantErrorText, y as BILLING_ERROR_USER_MESSAGE, z as isAuthPermanentErrorMessage } from "./pi-embedded-helpers-5JApWu7A.js";
29
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-DTJprCGv.js";
28
+ import { $ as resolveSandboxConfigForAgent, A as isFailoverAssistantError, B as isTimeoutErrorMessage, C as formatRawAssistantErrorForUi, D as isCloudCodeAssistFormatError, E as isBillingAssistantError, F as isTransientHttpError, G as registerBrowserRoutes, H as resolveSandboxContext, I as parseImageDimensionError, J as getBridgeAuthForPort, K as resolveBrowserConfig, L as parseImageSizeError, M as isLikelyContextOverflowError, N as isRateLimitAssistantError, O as isCompactionFailureError, P as isRawApiErrorPayload, Q as trimToUndefined$1, R as sanitizeUserFacingText, S as formatBillingErrorMessage, T as isAuthAssistantError, U as resolveSandboxRuntimeStatus, V as ensureSandboxWorkspaceForSession, W as createBrowserRouteContext, X as resolveBrowserControlAuth, Y as ensureBrowserControlAuth, Z as resolveGatewayCredentialsFromConfig, _ as downgradeOpenAIReasoningBlocks, a as isMessagingToolDuplicateNormalized, at as stripPluginOnlyAllowlist, b as classifyFailoverReason, c as sanitizeImageBlocks, ct as resolveToolProfilePolicy, d as canonicalizeBase64, dt as buildBootstrapContextFiles, et as applyOwnerOnlyToolPolicy, f as estimateBase64DecodedBytes, ft as ensureSessionHeader, g as downgradeOpenAIFunctionCallReasoningPairs, h as sanitizeToolCallIdsForCloudCodeAssist, ht as sanitizeGoogleTurnOrdering, it as mergeAlsoAllowPolicy, j as isFailoverErrorMessage, k as isContextOverflowError, l as sanitizeToolResultImages, lt as compileGlobPatterns, m as extractToolResultId, mt as resolveBootstrapTotalMaxChars, n as validateGeminiTurns, nt as collectExplicitAllowlist, o as normalizeTextForComparison, ot as expandToolGroups, p as extractToolCallsFromAssistant, pt as resolveBootstrapMaxChars, q as resolveProfile, r as pickFallbackThinkingLevel, rt as expandPolicyWithPluginGroups, s as sanitizeSessionMessagesImages, st as normalizeToolName, t as validateAnthropicTurns, tt as buildPluginToolGroups, u as resolveImageSanitizationLimits, ut as matchesAnyGlobPattern, v as isGoogleModelApi, w as getApiErrorPayloadFingerprint, x as formatAssistantErrorText, y as BILLING_ERROR_USER_MESSAGE, z as isAuthPermanentErrorMessage } from "./pi-embedded-helpers-DVvJRC5S.js";
29
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-BkJgMZjT.js";
30
30
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DOc6uEd1.js";
31
31
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cd5yHmTq.js";
32
32
  import { _ as readErrorName, a as isBlockedHostnameOrIp, f as formatErrorChainMessage, h as hasErrnoCode, l as normalizeHostname, m as formatUncaughtError, n as SsrFBlockedError, p as formatErrorMessage, u as collectErrorGraphCandidates } from "./proxy-env-i0jn5uxB.js";
@@ -34,13 +34,13 @@ import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinR
34
34
  import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-xxN6qyAh.js";
35
35
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CNiEVKpL.js";
36
36
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-CwmtMy_H.js";
37
- import { a as decodeDataUrl, c as ensureOpenClawModelsJson, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-Cb4z6zUu.js";
38
- import { C as loadModelCatalog, S as findModelInCatalog, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as modelSupportsVision, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-ipSQoPp8.js";
37
+ import { a as decodeDataUrl, c as ensureOpenClawModelsJson, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-Bi2L9LWh.js";
38
+ import { C as loadModelCatalog, S as findModelInCatalog, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as modelSupportsVision, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-CgPA8_eG.js";
39
39
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BzXaK9px.js";
40
40
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BfPtlUW6.js";
41
41
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-0mkjBgri.js";
42
42
  import { r as makeProxyFetch } from "./proxy-fetch-CK5AQAYw.js";
43
- import { _ as extractTextFromChatContent, a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-kHMmP2Xh.js";
43
+ import { _ as extractTextFromChatContent, a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-BoaQCwP7.js";
44
44
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C7WlN3qm.js";
45
45
  import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-DHXKaTRv.js";
46
46
  import { a as chunkText, c as resolveChunkDelivery, d as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, l as resolveChunkMode, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as resolveChunkNewlinePacking } from "./chunk-eNEsWhab.js";
@@ -48,8 +48,8 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-UWspJNAH.js";
48
48
  import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-fzpdYPWw.js";
49
49
  import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-DdQg21ct.js";
50
50
  import { c as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-CRZajtK_.js";
51
- import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-ucQd8Fc-.js";
52
- import { _ as resolveReplyToMode, a as normalizeOutboundPayloadsForJson, b as normalizeTargetForProvider, c as loadChannelOutboundAdapter, d as filterMessagingToolDuplicates, f as filterMessagingToolMediaDuplicates, g as createReplyToModeFilterForChannel, h as shouldSuppressReasoningPayload, i as normalizeOutboundPayloads, l as applyReplyTagsToPayload, m as shouldSuppressMessagingToolReplies, o as normalizeReplyPayloadsForDelivery, p as isRenderablePayload, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyThreading, v as buildTargetResolverSignature, y as normalizeChannelTargetInput } from "./deliver-CVWbwPkb.js";
51
+ import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-BauIdJqy.js";
52
+ import { _ as resolveReplyToMode, a as normalizeOutboundPayloadsForJson, b as normalizeTargetForProvider, c as loadChannelOutboundAdapter, d as filterMessagingToolDuplicates, f as filterMessagingToolMediaDuplicates, g as createReplyToModeFilterForChannel, h as shouldSuppressReasoningPayload, i as normalizeOutboundPayloads, l as applyReplyTagsToPayload, m as shouldSuppressMessagingToolReplies, o as normalizeReplyPayloadsForDelivery, p as isRenderablePayload, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyThreading, v as buildTargetResolverSignature, y as normalizeChannelTargetInput } from "./deliver-fwGuXC0n.js";
53
53
  import { a as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-C_ViZLf1.js";
54
54
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BXGkQwOQ.js";
55
55
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-D61IHNsz.js";
@@ -87,7 +87,7 @@ import { complete, completeSimple, createAssistantMessageEventStream, streamSimp
87
87
  import { EdgeTTS } from "node-edge-tts";
88
88
  import { createServer } from "node:http";
89
89
  import { ProxyAgent, fetch as fetch$1 } from "undici";
90
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
90
+ import WebSocket$1, { WebSocket } from "ws";
91
91
  import { Buffer as Buffer$1 } from "node:buffer";
92
92
  import { createJiti } from "jiti";
93
93
  import AjvPkg from "ajv";
@@ -10853,7 +10853,7 @@ var GatewayClient = class {
10853
10853
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
10854
10854
  });
10855
10855
  }
10856
- this.ws = new WebSocket$1(url, wsOptions);
10856
+ this.ws = new WebSocket(url, wsOptions);
10857
10857
  this.ws.on("open", () => {
10858
10858
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
10859
10859
  const tlsError = this.validateTlsFingerprint();
@@ -11049,7 +11049,7 @@ var GatewayClient = class {
11049
11049
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
11050
11050
  if (this.connectTimer) clearTimeout(this.connectTimer);
11051
11051
  this.connectTimer = setTimeout(() => {
11052
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
11052
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
11053
11053
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
11054
11054
  this.ws?.close(1008, "connect challenge timeout");
11055
11055
  }, connectChallengeTimeoutMs);
@@ -11091,7 +11091,7 @@ var GatewayClient = class {
11091
11091
  return null;
11092
11092
  }
11093
11093
  async request(method, params, opts) {
11094
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
11094
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
11095
11095
  const id = randomUUID();
11096
11096
  const frame = {
11097
11097
  type: "req",
@@ -12475,7 +12475,7 @@ async function routeReply(params) {
12475
12475
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
12476
12476
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
12477
12477
  try {
12478
- const { deliverOutboundPayloads } = await import("./deliver-CVWbwPkb.js").then((n) => n.n);
12478
+ const { deliverOutboundPayloads } = await import("./deliver-fwGuXC0n.js").then((n) => n.n);
12479
12479
  const outboundSession = buildOutboundSessionContext({
12480
12480
  cfg,
12481
12481
  agentId: resolvedAgentId,
@@ -14063,7 +14063,7 @@ async function sendTranscriptEcho(params) {
14063
14063
  }
14064
14064
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
14065
14065
  try {
14066
- const { deliverOutboundPayloads } = await import("./deliver-CVWbwPkb.js").then((n) => n.n);
14066
+ const { deliverOutboundPayloads } = await import("./deliver-fwGuXC0n.js").then((n) => n.n);
14067
14067
  await deliverOutboundPayloads({
14068
14068
  cfg,
14069
14069
  channel: normalizedChannel,
@@ -54423,7 +54423,7 @@ async function deliverSessionMaintenanceWarning(params) {
54423
54423
  return;
54424
54424
  }
54425
54425
  try {
54426
- const { deliverOutboundPayloads } = await import("./deliver-CVWbwPkb.js").then((n) => n.n);
54426
+ const { deliverOutboundPayloads } = await import("./deliver-fwGuXC0n.js").then((n) => n.n);
54427
54427
  const outboundSession = buildOutboundSessionContext({
54428
54428
  cfg: params.cfg,
54429
54429
  sessionKey: params.sessionKey
@@ -63612,7 +63612,7 @@ async function describeStickerImage(params) {
63612
63612
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
63613
63613
  try {
63614
63614
  const buffer = await fs.readFile(imagePath);
63615
- const { describeImageWithModel } = await import("./provider-image-Cb4z6zUu.js").then((n) => n.n);
63615
+ const { describeImageWithModel } = await import("./provider-image-Bi2L9LWh.js").then((n) => n.n);
63616
63616
  return (await describeImageWithModel({
63617
63617
  buffer,
63618
63618
  fileName: "sticker.webp",
@@ -65325,7 +65325,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
65325
65325
  let transcript;
65326
65326
  let carry;
65327
65327
  if (needsPreflightTranscription) try {
65328
- const { transcribeFirstAudio } = await import("./audio-preflight-ifCgpG3c.js");
65328
+ const { transcribeFirstAudio } = await import("./audio-preflight-yuM9Q3qh.js");
65329
65329
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
65330
65330
  if (uploadable.length > 0) {
65331
65331
  const preflight = await transcribeFirstAudio({
@@ -72529,7 +72529,7 @@ function createDefaultDeps() {
72529
72529
  };
72530
72530
  },
72531
72531
  sendMessageTelegram: async (...args) => {
72532
- const { sendMessageTelegram } = await import("./send-TscXeVY8.js").then((n) => n.l);
72532
+ const { sendMessageTelegram } = await import("./send-Dd2SE0h0.js").then((n) => n.l);
72533
72533
  return await sendMessageTelegram(...args);
72534
72534
  },
72535
72535
  sendMessageDiscord: async (...args) => {
@@ -76041,7 +76041,7 @@ function createDiscordGatewayPlugin(params) {
76041
76041
  return super.registerClient(client);
76042
76042
  }
76043
76043
  createWebSocket(url) {
76044
- return new WebSocket(url, { agent: wsAgent });
76044
+ return new WebSocket$1(url, { agent: wsAgent });
76045
76045
  }
76046
76046
  }
76047
76047
  return new ProxyGatewayPlugin();
@@ -88373,7 +88373,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
88373
88373
  let audioPreflightCarry;
88374
88374
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
88375
88375
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
88376
- const { transcribeFirstAudio } = await import("./audio-preflight-ifCgpG3c.js");
88376
+ const { transcribeFirstAudio } = await import("./audio-preflight-yuM9Q3qh.js");
88377
88377
  const preflight = await transcribeFirstAudio({
88378
88378
  ctx: {
88379
88379
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -95401,7 +95401,7 @@ async function runBeforeToolCallHook(args) {
95401
95401
  const params = args.params;
95402
95402
  if (args.ctx?.sessionKey) {
95403
95403
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bnyx-w0F.js").then((n) => n.n);
95404
- const { logToolLoopAction } = await import("./diagnostic-DI-K8155.js").then((n) => n.n);
95404
+ const { logToolLoopAction } = await import("./diagnostic-BB6k_yiT.js").then((n) => n.n);
95405
95405
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-8uvf8mSd.js");
95406
95406
  const sessionState = getDiagnosticSessionState({
95407
95407
  sessionKey: args.ctx.sessionKey,
@@ -100868,6 +100868,24 @@ function resolveRunActorIdentity(params) {
100868
100868
  };
100869
100869
  }
100870
100870
 
100871
+ //#endregion
100872
+ //#region src/config/sessions/run-pending-writes.ts
100873
+ const runPendingWrites = /* @__PURE__ */ new Map();
100874
+ /**
100875
+ * Registers an attempt's pending DB append queue under its run id so the gateway can hold
100876
+ * `chat` terminal events until those writes are durable (ADR 0089).
100877
+ *
100878
+ * The returned unregister deletes the entry only when the stored queue is still this one:
100879
+ * a retried attempt reusing the runId registers a replacement queue, and the failed
100880
+ * attempt's cleanup must not unregister its successor.
100881
+ */
100882
+ function registerRunPendingWrites(runId, queue) {
100883
+ runPendingWrites.set(runId, queue);
100884
+ return () => {
100885
+ if (runPendingWrites.get(runId) === queue) runPendingWrites.delete(runId);
100886
+ };
100887
+ }
100888
+
100871
100889
  //#endregion
100872
100890
  //#region src/utils/safe-json.ts
100873
100891
  function safeJsonStringify(value) {
@@ -101117,7 +101135,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
101117
101135
  * Throws if the connection is not open.
101118
101136
  */
101119
101137
  send(event) {
101120
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
101138
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
101121
101139
  this.ws.send(JSON.stringify(event));
101122
101140
  }
101123
101141
  /**
@@ -101134,7 +101152,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
101134
101152
  * Returns true if the WebSocket is currently open and ready to send.
101135
101153
  */
101136
101154
  isConnected() {
101137
- return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
101155
+ return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
101138
101156
  }
101139
101157
  /**
101140
101158
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -101144,7 +101162,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
101144
101162
  this._cancelRetryTimer();
101145
101163
  if (this.ws) {
101146
101164
  this.ws.removeAllListeners();
101147
- if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
101165
+ if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
101148
101166
  this.ws = null;
101149
101167
  }
101150
101168
  }
@@ -101154,7 +101172,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
101154
101172
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
101155
101173
  return;
101156
101174
  }
101157
- const socket = new WebSocket(this.wsUrl, { headers: {
101175
+ const socket = new WebSocket$1(this.wsUrl, { headers: {
101158
101176
  Authorization: `Bearer ${this.apiKey}`,
101159
101177
  "OpenAI-Beta": "responses-websocket=v1"
101160
101178
  } });
@@ -105398,6 +105416,7 @@ async function runEmbeddedAttempt(params) {
105398
105416
  const _configuredStorage = getConfiguredSessionStorageRuntime();
105399
105417
  const _isDbBackend = (_configuredStorage?.runtime?.backend ?? "fs-jsonl") !== "fs-jsonl";
105400
105418
  let _primaryWriteQueue = null;
105419
+ let unregisterRunPendingWrites;
105401
105420
  async function drainOrSyncTranscript(queue, isDbBackend, storage, syncParams) {
105402
105421
  if (queue != null) {
105403
105422
  await drainPendingPrimaryWrites(queue, 3e4, storage?.config.fallbackToJsonlOnError ?? false);
@@ -105453,6 +105472,7 @@ async function runEmbeddedAttempt(params) {
105453
105472
  });
105454
105473
  sessionManager = _wrapped.sm;
105455
105474
  _primaryWriteQueue = _wrapped.queue;
105475
+ unregisterRunPendingWrites = registerRunPendingWrites(params.runId, _primaryWriteQueue);
105456
105476
  }
105457
105477
  } else log$29.error("DB backend detected but conversation store is unavailable — turn will run without history and DB write-through; check that the DB runtime initialised correctly", {
105458
105478
  sessionId: params.sessionId,
@@ -106231,6 +106251,7 @@ async function runEmbeddedAttempt(params) {
106231
106251
  error: cleanupDrainErr
106232
106252
  });
106233
106253
  }
106254
+ unregisterRunPendingWrites?.();
106234
106255
  session?.dispose();
106235
106256
  releaseWsSession(params.sessionId);
106236
106257
  await sessionLock.release();
@@ -1,6 +1,6 @@
1
1
  import { Dt as truncateUtf16Safe } from "./globals-ZyVsnNcg.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-DLKs6VzZ.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-DfzTmaAX.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-QsMPF2u6.js";
4
4
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-Cq6SZYWW.js";
5
5
  import { s as normalizeThinkLevel } from "./thinking-NawgaQgc.js";
6
6
  import path from "node:path";
@@ -6,7 +6,7 @@ import { H as createConfigIO, It as CHANNEL_IDS, K as writeConfigFile, La as sec
6
6
  import { s as parseBooleanValue } from "./legacy-names-CLlrMq8r.js";
7
7
  import { t as generateSecureToken } from "./secure-random-BDA1WAvZ.js";
8
8
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-O8pHxo7i.js";
9
- import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_ENABLED, K as DEFAULT_BROWSER_EVALUATE_ENABLED, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, Y as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_COLOR, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-DTJprCGv.js";
9
+ import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_ENABLED, K as DEFAULT_BROWSER_EVALUATE_ENABLED, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, Y as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_COLOR, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-BkJgMZjT.js";
10
10
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-DOc6uEd1.js";
11
11
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cd5yHmTq.js";
12
12
  import { d as extractErrorCode, n as SsrFBlockedError, p as formatErrorMessage } from "./proxy-env-i0jn5uxB.js";
@@ -1281,7 +1281,7 @@ function isModuleNotFoundError(err) {
1281
1281
  }
1282
1282
  async function loadPwAiModule(mode) {
1283
1283
  try {
1284
- return await import("./pw-ai-DziGw6Jy.js");
1284
+ return await import("./pw-ai-pYtWxKPR.js");
1285
1285
  } catch (err) {
1286
1286
  if (mode === "soft") return null;
1287
1287
  if (isModuleNotFoundError(err)) return null;
@@ -3646,7 +3646,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
3646
3646
  //#region src/browser/server-context.reset.ts
3647
3647
  async function closePlaywrightBrowserConnection() {
3648
3648
  try {
3649
- await (await import("./pw-ai-DziGw6Jy.js")).closePlaywrightBrowserConnection();
3649
+ await (await import("./pw-ai-pYtWxKPR.js")).closePlaywrightBrowserConnection();
3650
3650
  } catch {}
3651
3651
  }
3652
3652
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveOpenClawUserDataDir }) {
@@ -2,7 +2,7 @@ import { C as truncateUtf16Safe } from "./utils-CMEUUHmM.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-DDYFn78t.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DDZBycwS.js";
4
4
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-DcqCZEUY.js";
5
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-Ft7cM-PQ.js";
5
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-bbN1dfIo.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
8
8
  import { createHash } from "node:crypto";
@@ -1,6 +1,6 @@
1
1
  import { r as isTerminalSessionRunStatus } from "./session-run-types-lJlXTkc1.js";
2
- import { r as AGENT_TURN_TOPIC } from "./agent-turn-enqueue-Dwz_R_DW.js";
3
- import { g as waitForEmbeddedPiRunEnd, s as isEmbeddedPiRunActive } from "./runs-Yajg-SST.js";
2
+ import { r as AGENT_TURN_TOPIC } from "./agent-turn-enqueue-Cqo34Swm.js";
3
+ import { g as waitForEmbeddedPiRunEnd, s as isEmbeddedPiRunActive } from "./runs-DVNBpgv0.js";
4
4
  import { i as recoveryTurnOperationId, n as buildRecoveryPrompt, r as enqueueRecoveryTurn, t as SESSION_RUN_RECOVERY_TURN_STAGE_FAILED } from "./recovery-prompt-SkkJ8aCp.js";
5
5
  import { createHash } from "node:crypto";
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { r as isTerminalSessionRunStatus } from "./session-run-types-OlWoAl0v.js";
2
- import { r as AGENT_TURN_TOPIC } from "./agent-turn-enqueue-Da7B-J9y.js";
3
- import { g as waitForEmbeddedPiRunEnd, s as isEmbeddedPiRunActive } from "./runs-CUs5xDZ_.js";
2
+ import { r as AGENT_TURN_TOPIC } from "./agent-turn-enqueue-N-q0v3mc.js";
3
+ import { g as waitForEmbeddedPiRunEnd, s as isEmbeddedPiRunActive } from "./runs-i5IuTzQX.js";
4
4
  import { i as recoveryTurnOperationId, n as buildRecoveryPrompt, r as enqueueRecoveryTurn, t as SESSION_RUN_RECOVERY_TURN_STAGE_FAILED } from "./recovery-prompt-CRcPgKcT.js";
5
5
  import { createHash } from "node:crypto";
6
6
 
@@ -18,19 +18,19 @@ import "./static-server-C-iTMRyz.js";
18
18
  import "./path-alias-guards-BSmwo1rT.js";
19
19
  import "./fs-safe-DD7KXuvI.js";
20
20
  import "./ssrf-B85AIIOO.js";
21
- import "./pi-embedded-helpers-DEHXX7Dr.js";
21
+ import "./pi-embedded-helpers-i0-tPaxH.js";
22
22
  import "./image-ops-DcqCZEUY.js";
23
23
  import "./redact-CQtYLB4a.js";
24
24
  import "./errors-z_JCBnTo.js";
25
- import "./pi-embedded-utils-BhOMYPQU.js";
26
- import "./sandbox-Ft7cM-PQ.js";
25
+ import "./pi-embedded-utils-BtOzugyp.js";
26
+ import "./sandbox-bbN1dfIo.js";
27
27
  import "./tool-catalog-B6wH7-iE.js";
28
28
  import "./extension-relay-auth-C-1c9CZk.js";
29
29
  import "./tailscale-DbsrfsUT.js";
30
30
  import "./tailnet-G5phL2pY.js";
31
31
  import "./ws-BuVK_u9S.js";
32
32
  import "./auth-DeLQvx-N.js";
33
- import "./server-context-Dezs5R_M.js";
33
+ import "./server-context-Bbi-nqKD.js";
34
34
  import "./frontmatter-B8Zb_8go.js";
35
35
  import "./skills-Buc1RWDY.js";
36
36
  import "./store-DoqX9VsZ.js";
@@ -40,13 +40,13 @@ import "./ports-CX4cOSom.js";
40
40
  import "./server-middleware-BND1EkTO.js";
41
41
  import "./tool-display-D63I3y22.js";
42
42
  import "./tokens-BvecxQYg.js";
43
- import "./agent-turn-enqueue-Dwz_R_DW.js";
43
+ import "./agent-turn-enqueue-Cqo34Swm.js";
44
44
  import "./diagnostic-session-state-C6JXU3l4.js";
45
- import "./diagnostic-BTSirPP0.js";
46
- import "./runs-Yajg-SST.js";
45
+ import "./diagnostic-D7DvV7NT.js";
46
+ import "./runs-DVNBpgv0.js";
47
47
  import "./reply-directives-D5wW1el3.js";
48
48
  import "./recovery-prompt-SkkJ8aCp.js";
49
- import { n as createEmbeddedPiRecoveryAdapter, r as mapEmbeddedRunEvidence, t as EMBEDDED_PI_ADAPTER_ID } from "./pi-embedded-recovery-adapter-MaU4SQ3X.js";
49
+ import { n as createEmbeddedPiRecoveryAdapter, r as mapEmbeddedRunEvidence, t as EMBEDDED_PI_ADAPTER_ID } from "./pi-embedded-recovery-adapter-1Lgt8q1h.js";
50
50
 
51
51
  //#region src/browser/pw-ai-state.ts
52
52
  let pwAiLoaded = false;
@@ -13,16 +13,16 @@ import "./artifacts-C9Cr_S5Y.js";
13
13
  import "./chat-envelope-DfuAGxmg.js";
14
14
  import "./task-run-types-B6n0W8Rb.js";
15
15
  import "./static-server-CRGPIP-a.js";
16
- import "./agent-turn-enqueue-Da7B-J9y.js";
17
- import "./pi-embedded-helpers-D19zTumt.js";
18
- import "./sandbox-DfzTmaAX.js";
16
+ import "./agent-turn-enqueue-N-q0v3mc.js";
17
+ import "./pi-embedded-helpers-BU47jdPO.js";
18
+ import "./sandbox-QsMPF2u6.js";
19
19
  import "./tool-catalog-BWgva5h1.js";
20
20
  import "./extension-relay-auth-DD-U9VUc.js";
21
21
  import "./tailscale-BrZL_MiW.js";
22
22
  import "./tailnet-BSKE3pk_.js";
23
23
  import "./ws-DESjYW7M.js";
24
24
  import "./auth-Cx-Q9zgv.js";
25
- import "./server-context-97Vej0yV.js";
25
+ import "./server-context-CTilcbO4.js";
26
26
  import "./frontmatter-Dn2qUSOb.js";
27
27
  import "./skills-D3kpiNaJ.js";
28
28
  import "./path-alias-guards-CHFrrzxZ.js";
@@ -38,14 +38,14 @@ import "./ports-QWAeZ9Is.js";
38
38
  import "./server-middleware-CrJMxxfQ.js";
39
39
  import "./thinking-NawgaQgc.js";
40
40
  import "./tokens-B6PaaeVv.js";
41
- import "./diagnostic-DRvqMPW7.js";
41
+ import "./diagnostic-Dv8UWiI0.js";
42
42
  import "./diagnostic-session-state-DCr9T3zW.js";
43
- import "./pi-embedded-utils-oIHgFob3.js";
43
+ import "./pi-embedded-utils-8OzPnJMh.js";
44
44
  import "./tool-display-DiZGbhL2.js";
45
- import "./runs-CUs5xDZ_.js";
45
+ import "./runs-i5IuTzQX.js";
46
46
  import "./reply-directives-Bc2RQAcJ.js";
47
47
  import "./recovery-prompt-CRcPgKcT.js";
48
- import { n as createEmbeddedPiRecoveryAdapter, r as mapEmbeddedRunEvidence, t as EMBEDDED_PI_ADAPTER_ID } from "./pi-embedded-recovery-adapter-licel-RD.js";
48
+ import { n as createEmbeddedPiRecoveryAdapter, r as mapEmbeddedRunEvidence, t as EMBEDDED_PI_ADAPTER_ID } from "./pi-embedded-recovery-adapter-B2AFWrYt.js";
49
49
 
50
50
  //#region src/browser/pw-ai-state.ts
51
51
  let pwAiLoaded = false;
@@ -1,4 +1,4 @@
1
- import { R as sanitizeUserFacingText } from "./pi-embedded-helpers-D19zTumt.js";
1
+ import { R as sanitizeUserFacingText } from "./pi-embedded-helpers-BU47jdPO.js";
2
2
  import { r as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DiZGbhL2.js";
3
3
 
4
4
  //#region src/shared/chat-content.ts
@@ -1,6 +1,6 @@
1
1
  import { lt as shortenHomeInString } from "./subsystem-BCjklMkJ.js";
2
2
  import { n as redactToolDetail } from "./redact-BOHmCPP_.js";
3
- import { R as sanitizeUserFacingText } from "./pi-embedded-helpers-5JApWu7A.js";
3
+ import { R as sanitizeUserFacingText } from "./pi-embedded-helpers-DVvJRC5S.js";
4
4
 
5
5
  //#region src/shared/chat-content.ts
6
6
  function extractTextFromChatContent(content, opts) {
@@ -1,4 +1,4 @@
1
- import { I as sanitizeUserFacingText } from "./pi-embedded-helpers-DEHXX7Dr.js";
1
+ import { I as sanitizeUserFacingText } from "./pi-embedded-helpers-i0-tPaxH.js";
2
2
  import { r as resolveToolDisplay, t as formatToolDetail } from "./tool-display-D63I3y22.js";
3
3
 
4
4
  //#region src/shared/chat-content.ts
@@ -11,7 +11,7 @@ import { c as resolveSessionFilePathOptions, d as resolveSessionTranscriptsDirFo
11
11
  import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-CrORLc0j.js";
12
12
  import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-D_7dTJRR.js";
13
13
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-D1kCxvys.js";
14
- import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-CzcuyJfX.js";
14
+ import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-CImqp_RN.js";
15
15
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-CjVVH60D.js";
16
16
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CXrBi7Jq.js";
17
17
  import { _ as resolveProviderPromptCacheKey, a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, f as getGlobalHookRunner, g as buildPluginTurnIdentity, h as buildPluginRuntimeIdentity, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, m as promptBuildResultToContribution, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as initializeGlobalHookRunner, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext, v as resolveProviderRuntimeIdentity } from "./outbound-message-hooks-oGBX9HAb.js";
@@ -100860,6 +100860,24 @@ function resolveRunActorIdentity(params) {
100860
100860
  };
100861
100861
  }
100862
100862
 
100863
+ //#endregion
100864
+ //#region src/config/sessions/run-pending-writes.ts
100865
+ const runPendingWrites = /* @__PURE__ */ new Map();
100866
+ /**
100867
+ * Registers an attempt's pending DB append queue under its run id so the gateway can hold
100868
+ * `chat` terminal events until those writes are durable (ADR 0089).
100869
+ *
100870
+ * The returned unregister deletes the entry only when the stored queue is still this one:
100871
+ * a retried attempt reusing the runId registers a replacement queue, and the failed
100872
+ * attempt's cleanup must not unregister its successor.
100873
+ */
100874
+ function registerRunPendingWrites(runId, queue) {
100875
+ runPendingWrites.set(runId, queue);
100876
+ return () => {
100877
+ if (runPendingWrites.get(runId) === queue) runPendingWrites.delete(runId);
100878
+ };
100879
+ }
100880
+
100863
100881
  //#endregion
100864
100882
  //#region src/utils/safe-json.ts
100865
100883
  function safeJsonStringify(value) {
@@ -105390,6 +105408,7 @@ async function runEmbeddedAttempt(params) {
105390
105408
  const _configuredStorage = getConfiguredSessionStorageRuntime();
105391
105409
  const _isDbBackend = (_configuredStorage?.runtime?.backend ?? "fs-jsonl") !== "fs-jsonl";
105392
105410
  let _primaryWriteQueue = null;
105411
+ let unregisterRunPendingWrites;
105393
105412
  async function drainOrSyncTranscript(queue, isDbBackend, storage, syncParams) {
105394
105413
  if (queue != null) {
105395
105414
  await drainPendingPrimaryWrites(queue, 3e4, storage?.config.fallbackToJsonlOnError ?? false);
@@ -105445,6 +105464,7 @@ async function runEmbeddedAttempt(params) {
105445
105464
  });
105446
105465
  sessionManager = _wrapped.sm;
105447
105466
  _primaryWriteQueue = _wrapped.queue;
105467
+ unregisterRunPendingWrites = registerRunPendingWrites(params.runId, _primaryWriteQueue);
105448
105468
  }
105449
105469
  } else log$29.error("DB backend detected but conversation store is unavailable — turn will run without history and DB write-through; check that the DB runtime initialised correctly", {
105450
105470
  sessionId: params.sessionId,
@@ -106223,6 +106243,7 @@ async function runEmbeddedAttempt(params) {
106223
106243
  error: cleanupDrainErr
106224
106244
  });
106225
106245
  }
106246
+ unregisterRunPendingWrites?.();
106226
106247
  session?.dispose();
106227
106248
  releaseWsSession(params.sessionId);
106228
106249
  await sessionLock.release();
@@ -1,7 +1,7 @@
1
1
  import { i as resolveAgentConfig } from "./agent-scope-CWTkr4pS.js";
2
2
  import { P as resolveThreadParentSessionKey, d as normalizeAgentId, p as resolveAgentIdFromSessionKey } from "./session-key-B1wN38jV.js";
3
3
  import { Vs as resolveChannelGroupToolsPolicy, ec as normalizeMessageChannel, fc as normalizeStringEntries, is as getChannelDock, su as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./model-selection-k68XU4oS.js";
4
- import { S as normalizeToolName, T as matchesAnyGlobPattern, w as compileGlobPatterns, x as expandToolGroups } from "./sandbox-Ft7cM-PQ.js";
4
+ import { S as normalizeToolName, T as matchesAnyGlobPattern, w as compileGlobPatterns, x as expandToolGroups } from "./sandbox-bbN1dfIo.js";
5
5
  import { i as readChannelAllowFromStore } from "./pairing-store-CQ7fjFFo.js";
6
6
  import { i as resolveGroupAllowFromSources, r as mergeDmAllowFromSources } from "./allow-from-CSMqKzZa.js";
7
7
 
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-DLKs6VzZ.js";
3
3
  import { Ht as getActivePluginRegistry, o as loadConfig } from "./config-BPACL-n5.js";
4
4
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Dt0TVWFY.js";
5
- import { O as loadOpenClawPlugins } from "./agent-turn-execute-DvP2nf2J.js";
5
+ import { A as loadOpenClawPlugins } from "./agent-turn-execute-Bw9hhkAP.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Dt as loadOpenClawPlugins } from "./reply-BIZ2zaUq.js";
2
+ import { kt as loadOpenClawPlugins } from "./reply-BzUdF5qW.js";
3
3
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CWTkr4pS.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DDZBycwS.js";
5
5
  import { Nt as loadConfig, hr as getActivePluginRegistry } from "./model-selection-k68XU4oS.js";
@@ -1,6 +1,6 @@
1
1
  import { c as resolveStateDir, d as resolveRequiredHomeDir } from "./paths-KIDAzMH-.js";
2
- import { $ as resolveUserPath, X as pathExists, ft as shouldLogVerbose, st as danger, t as createSubsystemLogger, v as isBlockedObjectKey, x as openBoundaryFile } from "./subsystem-B2x33s9h.js";
3
- import { n as logError, t as logDebug } from "./logger-BSK-0Yjx.js";
2
+ import { $ as resolveUserPath, X as pathExists, ft as shouldLogVerbose, st as danger, t as createSubsystemLogger, v as isBlockedObjectKey, x as openBoundaryFile } from "./subsystem-CUUKL6Fr.js";
3
+ import { n as logError, t as logDebug } from "./logger-D6KsqbNW.js";
4
4
  import fs from "node:fs";
5
5
  import path from "node:path";
6
6
  import { promisify } from "node:util";