wednesdayai 0.4.12-dev.703 → 0.4.12-dev.704

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 (327) hide show
  1. package/dist/{agent-scope-F7drwIgy.js → agent-scope-BGnYrze_.js} +3 -3
  2. package/dist/{agent-turn-runner-nWCLOjLp.js → agent-turn-runner-DqMoXRuU.js} +5 -5
  3. package/dist/{api-key-rotation-BP2NSDlP.js → api-key-rotation-C04Xj5nW.js} +2 -2
  4. package/dist/{audio-preflight-BqDFj2Ws.js → audio-preflight--JCKSyRB.js} +27 -27
  5. package/dist/{audio-transcription-runner-SSnrYiq8.js → audio-transcription-runner-DOckW8KR.js} +11 -11
  6. package/dist/build-info.json +3 -3
  7. package/dist/bundled/boot-md/handler.js +58 -58
  8. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  9. package/dist/bundled/command-logger/handler.js +2 -2
  10. package/dist/bundled/session-journal/handler.js +58 -58
  11. package/dist/bundled/session-memory/handler.js +58 -58
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-activity-IR8qx5kt.js → channel-activity-BVqxcijC.js} +3 -3
  14. package/dist/{chrome-Dc923fsB.js → chrome-NdTR0Suj.js} +23 -23
  15. package/dist/{chunk-CuqMDQNC.js → chunk-odx78Acg.js} +3 -3
  16. package/dist/{command-queue-Dbv34rZN.js → command-queue-BG3CzKrI.js} +1 -1
  17. package/dist/{commands-registry-gy0GLwWR.js → commands-registry-BEs7FrhT.js} +2 -2
  18. package/dist/{deliver-C4Z63vgB.js → deliver-BdqSGMEa.js} +24 -24
  19. package/dist/{diagnostic-BHAlpG8z.js → diagnostic-BwoKR7Xi.js} +5 -5
  20. package/dist/{fetch-JP3BwRE3.js → fetch-DvY0ue_6.js} +8 -8
  21. package/dist/{fetch-guard-C4lEpM_9.js → fetch-guard-ri_5BFBs.js} +3 -3
  22. package/dist/{frontmatter-CNGr4YHw.js → frontmatter-Cw33lRgS.js} +3 -3
  23. package/dist/{fs-safe-BJgtqC5p.js → fs-safe-BNnzOM9C.js} +4 -4
  24. package/dist/{github-copilot-token-zGOMIGSh.js → github-copilot-token-WSjo05vB.js} +7 -7
  25. package/dist/{image-ops-B--THHJC.js → image-ops-pgAg_j4y.js} +1 -1
  26. package/dist/{ir-tsZDlE0-.js → ir-BHU3uh9A.js} +5 -5
  27. package/dist/{legacy-names-CBlBMsC7.js → legacy-names-DFLXH7MA.js} +1 -1
  28. package/dist/llm-slug-generator.js +58 -58
  29. package/dist/{logger-D7ojOVG0.js → logger-CkGiQRm7.js} +1 -1
  30. package/dist/{manager-nGC13TuB.js → manager-BUV9VkNZ.js} +12 -12
  31. package/dist/{markdown-tables-D9T2Ko0c.js → markdown-tables-D6t-eoFa.js} +2 -2
  32. package/dist/{model-selection-DZMms8JA.js → model-selection-DhXu1Q4_.js} +82 -82
  33. package/dist/{outbound-attachment-6FKwUHkE.js → outbound-attachment-C6U86gij.js} +2 -2
  34. package/dist/{outbound-message-hooks-CN_2VR3u.js → outbound-message-hooks-ClZq2IiI.js} +3 -3
  35. package/dist/{path-alias-guards-Bpl7jW13.js → path-alias-guards-y8gxUSMu.js} +1 -1
  36. package/dist/{paths-C6TxBCvO.js → paths-Cvc9EM8Y.js} +5 -5
  37. package/dist/{pi-embedded-CQloEk2m.js → pi-embedded-B8eDIvpq.js} +176 -176
  38. package/dist/{pi-embedded-helpers-BEYLnz1t.js → pi-embedded-helpers-BKVOw8ZC.js} +24 -24
  39. package/dist/{pi-embedded-utils-Cff_00Q1.js → pi-embedded-utils-dzSLPKQ1.js} +3 -3
  40. package/dist/{pi-model-discovery-DWGauIf8.js → pi-model-discovery-C3dMscCT.js} +7 -7
  41. package/dist/plugin-sdk/{agent-scope-BeUdw1gJ.js → agent-scope-CEEynY4W.js} +2 -2
  42. package/dist/plugin-sdk/{agent-scope-oQ89afhJ.js → agent-scope-DuxkVlZ-.js} +2 -2
  43. package/dist/plugin-sdk/agent-turn-execute-B6RKsZU3.js +61 -0
  44. package/dist/plugin-sdk/agent-turn-execute-BDRcxLgW.js +61 -0
  45. package/dist/plugin-sdk/{agent-turn-runner-CDH2OClz.js → agent-turn-runner-BJWQz-gA.js} +6 -6
  46. package/dist/plugin-sdk/{agent-turn-runner-C9Ll5QSC.js → agent-turn-runner-CS_9t8FO.js} +6 -6
  47. package/dist/plugin-sdk/agent-turn-runner-CzRmfMqm.js +11 -0
  48. package/dist/plugin-sdk/{api-key-rotation-DBFUeaE4.js → api-key-rotation-BYZhrCU3.js} +2 -2
  49. package/dist/plugin-sdk/{api-key-rotation-CXgGGVWn.js → api-key-rotation-C-kEOoei.js} +2 -2
  50. package/dist/plugin-sdk/{artifacts-CsH5S6T7.js → artifacts-BR0G7jgh.js} +1 -1
  51. package/dist/plugin-sdk/{audio-preflight-DT1RNzj0.js → audio-preflight-BOlD50bz.js} +2 -2
  52. package/dist/plugin-sdk/audio-preflight-CTGR5Hsd.js +28 -0
  53. package/dist/plugin-sdk/{audio-preflight-DwOfW2wS.js → audio-preflight-DKGcwiIP.js} +22 -22
  54. package/dist/plugin-sdk/{audio-transcription-runner-JGf9MAOA.js → audio-transcription-runner-C6_AucCP.js} +11 -11
  55. package/dist/plugin-sdk/{audio-transcription-runner-CNdDOHDD.js → audio-transcription-runner-DEwdraKH.js} +10 -10
  56. package/dist/plugin-sdk/{auth-profiles-C5n3KjJR.js → auth-profiles-B80FVM6n.js} +5 -5
  57. package/dist/plugin-sdk/{auth-profiles-C_lsRyPw.js → auth-profiles-BqSPZl3H.js} +5 -5
  58. package/dist/plugin-sdk/{channel-activity-UKizAHW8.js → channel-activity-BuWLq6ts.js} +3 -3
  59. package/dist/plugin-sdk/{channel-activity-CQ4sk3hC.js → channel-activity-CPP4IJ8j.js} +3 -3
  60. package/dist/plugin-sdk/{chrome-DgUMKrr1.js → chrome-Dio0wrAv.js} +4 -4
  61. package/dist/plugin-sdk/{chrome-a1SYKLWC.js → chrome-nWku6ryP.js} +4 -4
  62. package/dist/plugin-sdk/{chunk-BIyxDSyO.js → chunk-BjBBoHSQ.js} +6 -6
  63. package/dist/plugin-sdk/{chunk-CeoUVs5K.js → chunk-CXNOkk_w.js} +3 -3
  64. package/dist/plugin-sdk/{chunk-DaqKWnuH.js → chunk-HpUuRSbr.js} +4 -4
  65. package/dist/plugin-sdk/{command-detection-QNHptKSJ.js → command-detection-C2mTIN0M.js} +85 -85
  66. package/dist/plugin-sdk/{command-queue-D38UhuK9.js → command-queue-CZblXUNl.js} +2 -2
  67. package/dist/plugin-sdk/{command-queue-DNiG-3U6.js → command-queue-DRNi0Iq1.js} +8 -8
  68. package/dist/plugin-sdk/{command-queue-Df7MhgUx.js → command-queue-oI3bsfFo.js} +1 -1
  69. package/dist/plugin-sdk/{commands-registry-CA1olmQZ.js → commands-registry-B5LWTAu3.js} +2 -2
  70. package/dist/plugin-sdk/{commands-registry-BMtROFJo.js → commands-registry-C5lbBMQS.js} +3 -3
  71. package/dist/plugin-sdk/{commands-registry-osjh0Rhk.js → commands-registry-CjulKOu8.js} +6 -6
  72. package/dist/plugin-sdk/{config-DOY8NkH8.js → config-CFfrK92W.js} +7 -7
  73. package/dist/plugin-sdk/{deliver-BwrjhyjB.js → deliver-BmNkbjkg.js} +11 -11
  74. package/dist/plugin-sdk/deliver-D7FDyEYC.js +32 -0
  75. package/dist/plugin-sdk/deliver-Dk3XJhoF.js +32 -0
  76. package/dist/plugin-sdk/{deliver-Jovxpus7.js → deliver-NV7I9o8B.js} +11 -11
  77. package/dist/plugin-sdk/{diagnostic-DHcuLQ06.js → diagnostic-5AC0iM1n.js} +7 -7
  78. package/dist/plugin-sdk/{diagnostic-BwHttr8I.js → diagnostic-CLEhveRO.js} +5 -5
  79. package/dist/plugin-sdk/{diagnostic-mAxbFQHT.js → diagnostic-DqBP7fk9.js} +7 -7
  80. package/dist/plugin-sdk/{diagnostic-session-state-CxVUBLHW.js → diagnostic-session-state-ZELApkcq.js} +1 -1
  81. package/dist/plugin-sdk/{fetch-DBpdlEqi.js → fetch-Cb4UmAkA.js} +7 -7
  82. package/dist/plugin-sdk/{fetch-BKb3qUv8.js → fetch-CbHYT-hn.js} +1 -1
  83. package/dist/plugin-sdk/{fetch-guard-D39-ff0z.js → fetch-guard-BzugbfpZ.js} +3 -3
  84. package/dist/plugin-sdk/{fetch-guard-DlWfki0g.js → fetch-guard-Cbfi49RA.js} +4 -4
  85. package/dist/plugin-sdk/{fetch-timeout-Bftlxkgu.js → fetch-timeout-C_ox1u3l.js} +1 -1
  86. package/dist/plugin-sdk/{fs-safe-MgrkXibA.js → fs-safe-5miLMTNQ.js} +3 -3
  87. package/dist/plugin-sdk/{fs-safe-DwFzR-43.js → fs-safe-BbukgmJs.js} +3 -3
  88. package/dist/plugin-sdk/{hook-runner-global-7dXl1XmR.js → hook-runner-global-B14CF25I.js} +2 -2
  89. package/dist/plugin-sdk/{image-ops-Ds3TYUBA.js → image-ops-Deabe2XL.js} +2 -2
  90. package/dist/plugin-sdk/{image-ops-BRc6SYbt.js → image-ops-beo_JiSv.js} +2 -2
  91. package/dist/plugin-sdk/{inbound-context-B6ovxuzF.js → inbound-context-DVane3Zi.js} +1 -1
  92. package/dist/plugin-sdk/index.js +54 -54
  93. package/dist/plugin-sdk/{ir-CwFlacLK.js → ir-CG1ZJvEL.js} +5 -5
  94. package/dist/plugin-sdk/{ir-C76Butsn.js → ir-DvNnbzRJ.js} +5 -5
  95. package/dist/plugin-sdk/{local-roots-Bj6ufCy4.js → local-roots-K7o6fRdl.js} +7 -7
  96. package/dist/plugin-sdk/{logger-COjxz0oP.js → logger-DjkYAAwO.js} +1 -1
  97. package/dist/plugin-sdk/{logger-k-GQ-YhX.js → logger-qbelrLm7.js} +1 -1
  98. package/dist/plugin-sdk/{manager-MhRo_Y53.js → manager-BLjtt5-a.js} +8 -8
  99. package/dist/plugin-sdk/{manager-D_xKED_P.js → manager-CtpBjZ6_.js} +8 -8
  100. package/dist/plugin-sdk/manager-Rskloqo2.js +16 -0
  101. package/dist/plugin-sdk/manager-nDSdkr_r.js +16 -0
  102. package/dist/plugin-sdk/markdown-tables-4LuMGoDL.js +10 -0
  103. package/dist/plugin-sdk/{markdown-tables-nC8ncMEv.js → markdown-tables-DK-jmrsM.js} +2 -2
  104. package/dist/plugin-sdk/{markdown-tables-C9S5LJE6.js → markdown-tables-UtpXDc0t.js} +3 -3
  105. package/dist/plugin-sdk/{outbound-attachment-DYb2ouJr.js → outbound-attachment-765m3HRN.js} +2 -2
  106. package/dist/plugin-sdk/{outbound-attachment-CUXAsLsK.js → outbound-attachment-BJBF5SSr.js} +2 -2
  107. package/dist/plugin-sdk/{outbound-message-hooks-Bg-e0wJT.js → outbound-message-hooks-D3KenJeF.js} +2 -2
  108. package/dist/plugin-sdk/{path-alias-guards-BsvpbjFQ.js → path-alias-guards-CfZ68Gx1.js} +1 -1
  109. package/dist/plugin-sdk/{path-alias-guards-DuUj5pOa.js → path-alias-guards-DXgdWlVV.js} +1 -1
  110. package/dist/plugin-sdk/{pi-embedded-helpers-DxreQHBo.js → pi-embedded-helpers-BHyLigAA.js} +11 -11
  111. package/dist/plugin-sdk/{pi-embedded-helpers-B035viJt.js → pi-embedded-helpers-qFbUJ-VN.js} +11 -11
  112. package/dist/plugin-sdk/{pi-embedded-utils-Ckrw1zyA.js → pi-embedded-utils-BfL7nQ-7.js} +3 -3
  113. package/dist/plugin-sdk/{pi-embedded-utils-CuF2a8B_.js → pi-embedded-utils-Bm-VMQvJ.js} +3 -3
  114. package/dist/plugin-sdk/{pi-model-discovery-vyiJ0WCg.js → pi-model-discovery-BHxWerwc.js} +6 -6
  115. package/dist/plugin-sdk/{pi-model-discovery-lbme_6ZY.js → pi-model-discovery-CtIzq4SZ.js} +1 -1
  116. package/dist/plugin-sdk/{pi-model-discovery-DoON6s_y.js → pi-model-discovery-FLUIEwh4.js} +2 -2
  117. package/dist/plugin-sdk/provider-dispatcher-B0eRZ0GX.js +61 -0
  118. package/dist/plugin-sdk/provider-dispatcher-W1pkLKIg.js +61 -0
  119. package/dist/plugin-sdk/{provider-image-JOxAggPa.js → provider-image-BPSs4wqU.js} +5 -5
  120. package/dist/plugin-sdk/provider-image-BXeNvw5h.js +22 -0
  121. package/dist/plugin-sdk/provider-image-CoUtlZPn.js +22 -0
  122. package/dist/plugin-sdk/{provider-image-DmOszP1h.js → provider-image-DdGFXNcm.js} +5 -5
  123. package/dist/plugin-sdk/provider-media-understanding.js +7 -7
  124. package/dist/plugin-sdk/proxy-Bem5Ja8O.js +7 -0
  125. package/dist/plugin-sdk/{proxy-CJSKrzHc.js → proxy-C18DroLg.js} +2 -2
  126. package/dist/plugin-sdk/{proxy-env-Bi6F7qH_.js → proxy-env-Dof0ndb_.js} +2 -2
  127. package/dist/plugin-sdk/{proxy-fetch-BVHQlQ0b.js → proxy-fetch-D7HnSmzd.js} +1 -1
  128. package/dist/plugin-sdk/{proxy-fetch-DR97MzBf.js → proxy-fetch-tDXPwHrY.js} +1 -1
  129. package/dist/plugin-sdk/{proxy-sWIy8aWT.js → proxy-vuhge5P0.js} +1 -1
  130. package/dist/plugin-sdk/{pw-ai-BtJHSLu5.js → pw-ai-0mmw3fTw.js} +10 -10
  131. package/dist/plugin-sdk/{pw-ai-Co1cAo_x.js → pw-ai-CVqwMy3L.js} +10 -10
  132. package/dist/plugin-sdk/{qmd-manager-BUZkDo-2.js → qmd-manager-CbKMbQqy.js} +8 -8
  133. package/dist/plugin-sdk/{qmd-manager-Yj4sdDks.js → qmd-manager-FOnSMxsG.js} +8 -8
  134. package/dist/plugin-sdk/{query-expansion-Dd_SnHAV.js → query-expansion-Czn3UuZE.js} +3 -3
  135. package/dist/plugin-sdk/{query-expansion-6YaEe4is.js → query-expansion-DsO05YlE.js} +3 -3
  136. package/dist/plugin-sdk/{recorder-DCKCn66f.js → recorder-5bzf6ySQ.js} +4 -4
  137. package/dist/plugin-sdk/{recorder-fSGqEPiN.js → recorder-B8eUr4qo.js} +4 -4
  138. package/dist/plugin-sdk/{redact-BqJzVqZS.js → redact-BN7L2dg6.js} +1 -1
  139. package/dist/plugin-sdk/{redact-Bi7p4BwQ.js → redact-Cys_2lrs.js} +1 -1
  140. package/dist/plugin-sdk/{registry-BAGNI7rT.js → registry-MeZym4lM.js} +7 -7
  141. package/dist/plugin-sdk/replies-BOUte8J3.js +25 -0
  142. package/dist/plugin-sdk/replies-BUH8kIfV.js +25 -0
  143. package/dist/plugin-sdk/{replies-QdHoPz--.js → replies-DkvzoPb0.js} +4 -4
  144. package/dist/plugin-sdk/{replies-D1R5YpXH.js → replies-Dq8vnfCv.js} +4 -4
  145. package/dist/plugin-sdk/{reply-directives-B_Ac2F5C.js → reply-directives-CNkQ10XJ.js} +2 -2
  146. package/dist/plugin-sdk/{reply-directives-C2CFDtpy.js → reply-directives-D-GVQbm2.js} +2 -2
  147. package/dist/plugin-sdk/{reply-prefix-Vmv16GEM.js → reply-prefix-BnhAAeIw.js} +1 -1
  148. package/dist/plugin-sdk/reply-prefix-CyT5pXEH.js +7 -0
  149. package/dist/plugin-sdk/{reply-prefix-BicsLWcm.js → reply-prefix-p0F2JPGu.js} +2 -2
  150. package/dist/plugin-sdk/{resolve-route-Bm-xctoN.js → resolve-route-B-_3aGVu.js} +6 -6
  151. package/dist/plugin-sdk/{resolve-route-D628GK2e.js → resolve-route-DeggwjWG.js} +5 -5
  152. package/dist/plugin-sdk/{resolve-route-Cpk4y9HZ.js → resolve-route-DzFbdLUE.js} +4 -4
  153. package/dist/plugin-sdk/{run-with-concurrency-jmsjZzF_.js → run-with-concurrency-ILVrq3D3.js} +1 -1
  154. package/dist/plugin-sdk/runs--99AlLJ4.js +25 -0
  155. package/dist/plugin-sdk/runs-BgcfLuqD.js +25 -0
  156. package/dist/plugin-sdk/{runs-CK-hc7Zt.js → runs-CfIZFuVN.js} +8 -8
  157. package/dist/plugin-sdk/{runs-B08Pf58t.js → runs-GYfRm1wm.js} +7 -7
  158. package/dist/plugin-sdk/{send-CJaXVbN1.js → send-11C4Ciys.js} +6 -6
  159. package/dist/plugin-sdk/{send-9tt88Cos.js → send-B5n5UHEj.js} +19 -19
  160. package/dist/plugin-sdk/send-BSMWkFUt.js +24 -0
  161. package/dist/plugin-sdk/send-BxpmMyy_.js +25 -0
  162. package/dist/plugin-sdk/{send-B185UKV9.js → send-BzYNrJe2.js} +14 -14
  163. package/dist/plugin-sdk/{send-DpOu5jYA.js → send-CMdCjWsm.js} +20 -20
  164. package/dist/plugin-sdk/send-CR06c-zQ.js +23 -0
  165. package/dist/plugin-sdk/send-CRsXDc8m.js +24 -0
  166. package/dist/plugin-sdk/{send-BQ2_sGJc.js → send-CilSx61t.js} +13 -13
  167. package/dist/plugin-sdk/{send-DGLXr2LH.js → send-D9b2K_jS.js} +8 -8
  168. package/dist/plugin-sdk/send-DGIuROFn.js +23 -0
  169. package/dist/plugin-sdk/send-DWgKIysx.js +27 -0
  170. package/dist/plugin-sdk/{send-D2YHGuuw.js → send-DoNV4ASm.js} +7 -7
  171. package/dist/plugin-sdk/{send-BLYC96aw.js → send-Dp2tRhNb.js} +6 -6
  172. package/dist/plugin-sdk/send-RwdG7mzi.js +25 -0
  173. package/dist/plugin-sdk/{send-BWpmSHCb.js → send-TkRZ83nq.js} +8 -8
  174. package/dist/plugin-sdk/{send-BZmyU4ku.js → send-VImHlXZJ.js} +9 -9
  175. package/dist/plugin-sdk/{send-DK8kuk3o.js → send-Y056GDch.js} +6 -6
  176. package/dist/plugin-sdk/send-sS36OO9x.js +27 -0
  177. package/dist/plugin-sdk/{send-CFqkd3U6.js → send-xTho5Weh.js} +7 -7
  178. package/dist/plugin-sdk/{session-meta-Bgk5sfbA.js → session-meta-D7wvEO0P.js} +2 -2
  179. package/dist/plugin-sdk/session-meta-J9PgeT7E.js +10 -0
  180. package/dist/plugin-sdk/{session-meta-sdu80P7z.js → session-meta-g4bndbGh.js} +3 -3
  181. package/dist/plugin-sdk/{skill-commands-BYl06bB2.js → skill-commands-C6GZcZCO.js} +5 -5
  182. package/dist/plugin-sdk/{skill-commands-DslzFiF-.js → skill-commands-D6cK0kno.js} +6 -6
  183. package/dist/plugin-sdk/skill-commands-DBvWVUnQ.js +14 -0
  184. package/dist/plugin-sdk/{skills-Cxhgf7RS.js → skills-CjJsBgbl.js} +6 -6
  185. package/dist/plugin-sdk/{skills-CK4ps21y.js → skills-DYR5x5Gr.js} +6 -6
  186. package/dist/plugin-sdk/{ssrf-C6tFUn-U.js → ssrf-DR9xWewb.js} +2 -2
  187. package/dist/plugin-sdk/{store-yyHwOn7K.js → store-Bt0zQRQl.js} +2 -2
  188. package/dist/plugin-sdk/{store-B3fH9LYD.js → store-Cy3Dzpbu.js} +2 -2
  189. package/dist/plugin-sdk/subagent-registry-79qX0iO4.js +61 -0
  190. package/dist/plugin-sdk/subagent-registry-BaawB60T.js +61 -0
  191. package/dist/plugin-sdk/{subsystem-D7nM2AoW.js → subsystem-B8AkdtCZ.js} +4 -4
  192. package/dist/plugin-sdk/{subsystem-rgYCdGI1.js → subsystem-BJwpOj_m.js} +4 -4
  193. package/dist/plugin-sdk/{tables-CWATSMdp.js → tables-DBa8HzDM.js} +1 -1
  194. package/dist/plugin-sdk/{tables-CAn8Uiv7.js → tables-DHN3rZ24.js} +1 -1
  195. package/dist/plugin-sdk/testing.js +55 -55
  196. package/dist/plugin-sdk/{tokens-DTNAbGed.js → tokens-BZ4pmyi4.js} +1 -1
  197. package/dist/plugin-sdk/{tokens-cnVX9Q87.js → tokens-D7bndIFM.js} +1 -1
  198. package/dist/plugin-sdk/{tool-loop-detection-hidML3Zn.js → tool-loop-detection-O55eXW7t.js} +1 -1
  199. package/dist/plugin-sdk/{tool-loop-detection-fff6kmkP.js → tool-loop-detection-VTqBeC_h.js} +1 -1
  200. package/dist/plugin-sdk/{tools-BYRFeM5o.js → tools-Bx_bU8Ko.js} +93 -93
  201. package/dist/plugin-sdk/user-run-recording-B_LG8df9.js +11 -0
  202. package/dist/plugin-sdk/{user-run-recording-BgXqB78i.js → user-run-recording-CQENQmgV.js} +2 -2
  203. package/dist/plugin-sdk/{user-run-recording-DBN9MLgl.js → user-run-recording-DepmpAdE.js} +3 -3
  204. package/dist/{provider-image-tTArxp_m.js → provider-image-BqxdhC84.js} +5 -5
  205. package/dist/{proxy-B2bQVN0b.js → proxy-CJMip70P.js} +1 -1
  206. package/dist/{proxy-env-b209l87p.js → proxy-env-BBllD0qI.js} +2 -2
  207. package/dist/{proxy-fetch-CNzfDJKL.js → proxy-fetch-C4a8MwFs.js} +1 -1
  208. package/dist/{pw-ai-Dt4AEbVC.js → pw-ai-DTklTcfl.js} +14 -14
  209. package/dist/{qmd-manager-Bk4YLrFZ.js → qmd-manager-yHQXCPr6.js} +10 -10
  210. package/dist/{query-expansion-DKwGIeDe.js → query-expansion-DJVKyeDw.js} +5 -5
  211. package/dist/{recorder-BWzqo70i.js → recorder-BESd9rZt.js} +4 -4
  212. package/dist/{redact-BFxpQajB.js → redact-D8fpDrdk.js} +1 -1
  213. package/dist/{replies-BKYeJ-lN.js → replies-LVVUM-gg.js} +4 -4
  214. package/dist/{reply-directives-MtuQmZ3x.js → reply-directives-CZPJmH1t.js} +2 -2
  215. package/dist/{reply-prefix-BivNEMUT.js → reply-prefix-r6A18fKP.js} +1 -1
  216. package/dist/{resolve-route-BxKedPkn.js → resolve-route-Cnxsmfj5.js} +5 -5
  217. package/dist/{run-with-concurrency-DNTVyFZm.js → run-with-concurrency-VoSJL2UI.js} +4 -4
  218. package/dist/{runs-Bfd3xo6Q.js → runs-vS0SOF8v.js} +8 -8
  219. package/dist/{send-is_ecMF8.js → send-BRRJAJM9.js} +25 -25
  220. package/dist/{send-DEMG5oDJ.js → send-C0_Cahgz.js} +8 -8
  221. package/dist/{send-DWgzW_VE.js → send-CyDzxMSP.js} +6 -6
  222. package/dist/{send-7ZbQnb3_.js → send-D8garnHE.js} +7 -7
  223. package/dist/{send-BxB9kMh0.js → send-DTHoJI7v.js} +6 -6
  224. package/dist/{session-meta-Bq4VCJl1.js → session-meta-Du0u83SI.js} +2 -2
  225. package/dist/{skill-commands-BeW5zYf3.js → skill-commands-DycP7LkE.js} +9 -9
  226. package/dist/{skills-CoDdFrlM.js → skills-C-1FVOPz.js} +21 -21
  227. package/dist/{store-BMD4fV1_.js → store-q3G7wCsG.js} +2 -2
  228. package/dist/{subsystem-CtVr6mhM.js → subsystem-iTNW5QQR.js} +60 -60
  229. package/dist/{tables-77QYYFpZ.js → tables-Epd9B-UQ.js} +1 -1
  230. package/dist/{tokens-Cu6l17bG.js → tokens-iu44eB15.js} +1 -1
  231. package/dist/{tool-loop-detection-CyJWzj_y.js → tool-loop-detection-B_CTZm9s.js} +2 -2
  232. package/dist/{user-run-recording-_9PhRwgi.js → user-run-recording-DU3V9-R7.js} +2 -2
  233. package/dist/{workspace-DNApJm8a.js → workspace-TtYCbjn0.js} +9 -9
  234. package/extensions/acpx/package.json +1 -1
  235. package/extensions/anthropic/package.json +1 -1
  236. package/extensions/bifrost/package.json +1 -1
  237. package/extensions/bluebubbles/package.json +1 -1
  238. package/extensions/copilot-proxy/package.json +1 -1
  239. package/extensions/deepgram/package.json +1 -1
  240. package/extensions/deepinfra/package.json +1 -1
  241. package/extensions/diagnostics-otel/package.json +1 -1
  242. package/extensions/diffs/package.json +1 -1
  243. package/extensions/discord/package.json +1 -1
  244. package/extensions/dream-cycle/package.json +1 -1
  245. package/extensions/elevenlabs/package.json +1 -1
  246. package/extensions/feishu/package.json +1 -1
  247. package/extensions/gemini-search/package.json +1 -1
  248. package/extensions/google/package.json +1 -1
  249. package/extensions/google-gemini-cli-auth/package.json +1 -1
  250. package/extensions/googlechat/package.json +1 -1
  251. package/extensions/grok-search/package.json +1 -1
  252. package/extensions/groq/package.json +1 -1
  253. package/extensions/imessage/package.json +1 -1
  254. package/extensions/irc/package.json +1 -1
  255. package/extensions/kimi-search/package.json +1 -1
  256. package/extensions/learning-core/package.json +1 -1
  257. package/extensions/line/package.json +1 -1
  258. package/extensions/llm-task/package.json +1 -1
  259. package/extensions/lobster/package.json +1 -1
  260. package/extensions/matrix/CHANGELOG.md +1 -1
  261. package/extensions/matrix/package.json +1 -1
  262. package/extensions/mattermost/package.json +1 -1
  263. package/extensions/memory-core/package.json +1 -1
  264. package/extensions/memory-lancedb/package.json +1 -1
  265. package/extensions/minimax/package.json +1 -1
  266. package/extensions/minimax-portal-auth/package.json +1 -1
  267. package/extensions/mistral/package.json +1 -1
  268. package/extensions/moonshot/package.json +1 -1
  269. package/extensions/msteams/CHANGELOG.md +1 -1
  270. package/extensions/msteams/package.json +1 -1
  271. package/extensions/nextcloud-talk/package.json +1 -1
  272. package/extensions/nostr/CHANGELOG.md +1 -1
  273. package/extensions/nostr/package.json +1 -1
  274. package/extensions/open-prose/package.json +1 -1
  275. package/extensions/openai/package.json +1 -1
  276. package/extensions/openai-realtime/package.json +1 -1
  277. package/extensions/openrouter/package.json +1 -1
  278. package/extensions/perplexity-search/package.json +1 -1
  279. package/extensions/searxng-search/package.json +1 -1
  280. package/extensions/signal/package.json +1 -1
  281. package/extensions/slack/package.json +1 -1
  282. package/extensions/synology-chat/package.json +1 -1
  283. package/extensions/telegram/package.json +1 -1
  284. package/extensions/tlon/package.json +1 -1
  285. package/extensions/twitch/CHANGELOG.md +1 -1
  286. package/extensions/twitch/package.json +1 -1
  287. package/extensions/voice-call/CHANGELOG.md +1 -1
  288. package/extensions/voice-call/package.json +1 -1
  289. package/extensions/whatsapp/package.json +1 -1
  290. package/extensions/zai/package.json +1 -1
  291. package/extensions/zalo/CHANGELOG.md +1 -1
  292. package/extensions/zalo/package.json +1 -1
  293. package/extensions/zalouser/CHANGELOG.md +1 -1
  294. package/extensions/zalouser/package.json +1 -1
  295. package/package.json +1 -1
  296. package/dist/plugin-sdk/agent-turn-execute-CJ36gcjc.js +0 -61
  297. package/dist/plugin-sdk/agent-turn-execute-MCfUSNAn.js +0 -61
  298. package/dist/plugin-sdk/agent-turn-runner-CxTKSm01.js +0 -11
  299. package/dist/plugin-sdk/audio-preflight-CvfZay92.js +0 -28
  300. package/dist/plugin-sdk/deliver-Cs4Z-yfq.js +0 -32
  301. package/dist/plugin-sdk/deliver-Cvf-McDg.js +0 -32
  302. package/dist/plugin-sdk/manager-BMV4GnjN.js +0 -16
  303. package/dist/plugin-sdk/manager-BxgZBJqX.js +0 -16
  304. package/dist/plugin-sdk/markdown-tables-BfxWyPNL.js +0 -10
  305. package/dist/plugin-sdk/provider-dispatcher-CmuWLups.js +0 -61
  306. package/dist/plugin-sdk/provider-dispatcher-DNwnSw41.js +0 -61
  307. package/dist/plugin-sdk/provider-image-DXbrbBES.js +0 -22
  308. package/dist/plugin-sdk/provider-image-QXB69xur.js +0 -22
  309. package/dist/plugin-sdk/proxy-D8NLdDcu.js +0 -7
  310. package/dist/plugin-sdk/replies-Be239YFg.js +0 -25
  311. package/dist/plugin-sdk/replies-CFdGwJzf.js +0 -25
  312. package/dist/plugin-sdk/reply-prefix-BNDj6UL_.js +0 -7
  313. package/dist/plugin-sdk/runs-DYKrmhVM.js +0 -25
  314. package/dist/plugin-sdk/runs-vOx1d_ks.js +0 -25
  315. package/dist/plugin-sdk/send-BbBjb8Y6.js +0 -27
  316. package/dist/plugin-sdk/send-BeGT-pg6.js +0 -23
  317. package/dist/plugin-sdk/send-CnAE3Jo0.js +0 -24
  318. package/dist/plugin-sdk/send-D0F57nZU.js +0 -23
  319. package/dist/plugin-sdk/send-DiZVGsNc.js +0 -27
  320. package/dist/plugin-sdk/send-Q46WVgnx.js +0 -25
  321. package/dist/plugin-sdk/send-j6u0up7Q.js +0 -24
  322. package/dist/plugin-sdk/send-mvIDllNB.js +0 -25
  323. package/dist/plugin-sdk/session-meta-GZHIw3Fv.js +0 -10
  324. package/dist/plugin-sdk/skill-commands-CQmHbw9e.js +0 -14
  325. package/dist/plugin-sdk/subagent-registry-C5F7F59N.js +0 -61
  326. package/dist/plugin-sdk/subagent-registry-dkpySBIy.js +0 -61
  327. package/dist/plugin-sdk/user-run-recording-ZaA2WM4L.js +0 -11
@@ -1,78 +1,78 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { _ as toAgentModelListLike, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as resolveSessionAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter, t as hasConfiguredModelFallbacks, u as resolveEffectiveModelFallbacks } from "./agent-scope-F7drwIgy.js";
3
- import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-C6TxBCvO.js";
4
- import { C as appendFileLog, F as openBoundaryFileSync, K as isDangerousHostEnvVarName, O as INCLUDE_KEY, P as openBoundaryFile, Q as clampInt, T as normalizeLogLevel, W as normalizeWindowsPathForComparison, Z as CONFIG_DIR, _ as colorize, a as createNonExitingRuntime, b as getChildLogger, c as registerActiveProgressLine, dt as sleep$1, et as ensureDir$3, f as logVerbose, ft as sliceUtf16Safe, g as warn, gt as consumeRootOptionToken, h as shouldLogVerbose, ht as FLAG_TERMINATOR, it as normalizeE164, j as isBlockedObjectKey, l as unregisterActiveProgressLine, lt as shortenHomeInString, m as setVerbose, mt as resolvePreferredOpenClawTmpDir, nt as formatTerminalLink, o as defaultRuntime, pt as truncateUtf16Safe, rt as isRecord$1, s as clearActiveProgressLine, st as resolveUserPath, t as createSubsystemLogger, tt as escapeRegExp, u as danger, ut as shortenHomePath, v as isRich, y as theme } from "./subsystem-CtVr6mhM.js";
2
+ import { _ as toAgentModelListLike, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as resolveSessionAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter, t as hasConfiguredModelFallbacks, u as resolveEffectiveModelFallbacks } from "./agent-scope-BGnYrze_.js";
3
+ import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-Cvc9EM8Y.js";
4
+ import { C as appendFileLog, F as openBoundaryFileSync, K as isDangerousHostEnvVarName, O as INCLUDE_KEY, P as openBoundaryFile, Q as clampInt, T as normalizeLogLevel, W as normalizeWindowsPathForComparison, Z as CONFIG_DIR, _ as colorize, a as createNonExitingRuntime, b as getChildLogger, c as registerActiveProgressLine, dt as sleep$1, et as ensureDir$3, f as logVerbose, ft as sliceUtf16Safe, g as warn, gt as consumeRootOptionToken, h as shouldLogVerbose, ht as FLAG_TERMINATOR, it as normalizeE164, j as isBlockedObjectKey, l as unregisterActiveProgressLine, lt as shortenHomeInString, m as setVerbose, mt as resolvePreferredOpenClawTmpDir, nt as formatTerminalLink, o as defaultRuntime, pt as truncateUtf16Safe, rt as isRecord$1, s as clearActiveProgressLine, st as resolveUserPath, t as createSubsystemLogger, tt as escapeRegExp, u as danger, ut as shortenHomePath, v as isRich, y as theme } from "./subsystem-iTNW5QQR.js";
5
5
  import { t as isPlainObject } from "./plain-object-CLm2c5Nu.js";
6
- import { A as resolveLinkedPeerIdForChannel, B as isCronSessionKey, C as classifySessionKeyShape, D as resolveAgentIdFromSessionKey, E as normalizeMainKey, F as normalizeAccountId$3, H as parseAgentSessionKey, I as normalizeOptionalAccountId, L as deriveSessionChatType, M as sanitizeAgentId, N as toAgentStoreSessionKey, O as resolveCanonicalIdentity, P as DEFAULT_ACCOUNT_ID, R as getSubagentDepth, T as normalizeAgentId, U as resolveThreadParentSessionKey, V as isSubagentSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_HEARTBEAT_FILENAME, j as resolveThreadSessionKeys, k as resolveConfiguredCanonicalIdentity, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as isValidAgentId, x as buildAgentMainSessionKey, y as DEFAULT_AGENT_ID, z as isAcpSessionKey } from "./workspace-DNApJm8a.js";
7
- import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-D7ojOVG0.js";
8
- import { $ as TELEGRAM_COMMAND_NAME_PATTERN, $i as replaceBufferedPluginTaskPasses, $n as createPrimaryWriteInterceptor, $r as resolveTelegramToken, A as requireApiKey, Aa as resolveSafeBinProfiles, Ai as normalizeMessageChannel, An as normalizeSessionDeliveryFields, Ar as resolveChannelResetConfig, At as isSupportedLocalAvatarExtension, B as resolveProfilesUnavailableReason, Ba as VERSION, Bi as acquireSessionWriteLock, Bn as normalizeInputProvenance, Br as resolveExplicitAgentSessionKey, Bt as isPathInside, C as createOllamaStreamFn, Ca as isDispatchWrapperExecutable, Ci as resolveGroupSessionKey, Cn as updateSessionStoreEntry, Cr as hasNonzeroUsage, D as buildUsageWithNoCost, Da as splitShellArgs, Di as isInternalMessageChannel, Dn as deliveryContextKey, Dr as SESSION_RUN_STATUSES, Dt as isAvatarDataUrl, E as buildStreamErrorAssistantMessage, Ea as unwrapKnownShellMultiplexerInvocation, Ei as isGatewayMessageChannel, En as deliveryContextFromSession, Et as AVATAR_MAX_BYTES, F as resolveAuthProfileOrder, Fa as resolveSlackNativeStreaming, Fi as GATEWAY_CLIENT_NAMES, Fn as extractToolCallNames, Fr as mergeSessionEntry, Ft as isBundledChannelEnabledByChannelConfig, G as isRecord$2, Ga as dedupeProfileIds, Gi as optionalStringEnum, Gn as parseDurationMs, Gr as normalizeChannelId$1, Gt as listChatChannels, H as resolveSecretRefValues, Ha as resolveShellEnvFallbackTimeoutMs, Hi as readTaskWorkStates, Hn as createAsyncLock, Hr as deriveSessionMetaPatch, I as getSoonestCooldownExpiry, Ia as resolveSlackStreamingMode, Ii as normalizeAtHashSlug, In as parseInlineDirectives$1, Ir as resolveFreshSessionTotalTokens, It as normalizePluginsConfig, J as loadConfig, Ja as ensureAuthProfileStore, Ji as actionHasTarget, Jn as appendAssistantMessageToSessionTranscript, Jr as normalizeSignalMessagingTarget, Jt as normalizeChatChannelId, K as parseDotPath, Ka as listProfilesForProvider, Ki as stringEnum, Kn as extractDeliveryInfo, Kr as getChannelDock, Kt as normalizeAnyChannelId, L as isProfileInCooldown, Li as normalizeHyphenSlug, Ln as INPUT_PROVENANCE_KIND_VALUES, Lr as setSessionRuntimeModel, Lt as resolveEffectiveEnableState, M as resolveEnvApiKey, Ma as isSafeExecutableValue, Mi as resolveMessageChannel, Mn as archiveSessionTranscripts, Mr as resolveSessionResetType, Mt as loadPluginManifestRegistry, N as resolveModelAuthMode, Na as mapStreamingModeToSlackLegacyDraftStreamMode, Ni as GATEWAY_CLIENT_IDS, Nn as capArrayByJsonBytes, Nr as resolveThreadFlag, Nt as BUNDLED_ENABLED_BY_DEFAULT, O as getApiKeyForModel, Oa as SAFE_BIN_PROFILES, Oi as isMarkdownCapableMessageChannel, On as mergeDeliveryContext, Or as resolveSessionKey, Ot as isAvatarHttpUrl, Pa as resolveDiscordPreviewStreamMode, Pi as GATEWAY_CLIENT_MODES, Pn as countToolResults, Pr as DEFAULT_RESET_TRIGGERS, Pt as applyTestPluginDefaults, Q as validateConfigObjectWithPlugins, Qa as resolveAuthProfileDisplayLabel, Qi as listBufferedPluginTaskPasses, Qn as isJsonlSessionBackend, Qr as resolveTelegramAccount, Qt as getActivePluginRegistryKey, R as markAuthProfileFailure, Ra as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Ri as normalizeStringEntries, Rn as applyInputProvenanceToUserMessage, Rr as canonicalizeMainSessionAlias, Rt as resolveMemorySlotDecision, S as OLLAMA_NATIVE_BASE_URL, Sa as extractShellWrapperInlineCommand, Si as resolveAccountEntry, Sn as updateSessionStore, Sr as deriveSessionTotalTokens, T as buildAssistantMessageWithZeroUsage, Ta as unwrapKnownDispatchWrapperInvocation, Ti as isDeliverableMessageChannel, Tn as resolveCacheTtlMs$1, Tr as normalizeUsage, U as describeUnknownError$1, Ua as isTruthyEnvValue, Ui as channelTargetSchema, Un as readJsonFile, Ur as getChannelPlugin, Ut as CHAT_CHANNEL_ORDER, V as resolveApiKeyForProfile, Va as getShellPathFromLoginShell, Vi as resolveSessionLockMaxHoldFromTimeout, Vn as jsonUtf8Bytes, Vr as resolveMainSessionKey, Vt as safeStatSync, W as isNonEmptyString, Wa as resolveOwnerDisplaySetting, Wi as channelTargetsSchema, Wn as writeJsonAtomic, Wr as listChannelPlugins, Wt as getChatChannelMeta, Xa as resolveOpenClawAgentDir, Xn as resolveAndPersistSessionFile, Xr as listEnabledTelegramAccounts, Xt as getActiveGatewayPluginRegistry, Y as readConfigFileSnapshot, Ya as resolveAuthStorePathForDisplay, Yi as actionRequiresTarget, Yr as createTelegramActionGate, Yt as resolveChannelConfigId, Z as writeConfigFile, Za as withFileLock, Zi as discardBufferedPluginTaskPasses, Zn as withPreservationWriterPermit, Zr as listTelegramAccountIds, Zt as getActivePluginRegistry, _a as splitCommandChain, _i as resolveDiscordAccount, _n as loadSessionStore, _r as resolveTimezone, a as isCliProvider, aa as getConfigValueAtPath, ai as resolveSlackBotToken, an as normalizePluginHttpPath, ao as splitTrailingAuthProfile, ar as TASK_RUN_MODES, at as resolveIMessageAttachmentRoots, ba as resolveAllowlistCandidatePath, bi as resolveChannelGroupRequireMention, bn as syncConfiguredSessionTranscriptToRuntime, br as isDiagnosticsEnabled, c as normalizeProviderId, ca as unsetConfigValueAtPath, ci as isWhatsAppGroupJid, cn as executePluginCommand, co as DEFAULT_PROVIDER, cr as sanitizeJsonb, ct as parseNonNegativeByteSize, d as resolveDefaultModelForAgent, da as listWritableExplicitTrustedSafeBinDirs, di as resolveWhatsAppAccount, dn as matchPluginCommand, dr as mergePromptContributions, dt as resolveExecPolicyPreset, ea as RecoveryAdmissionError, ei as buildChannelAccountBindings, en as requireActivePluginRegistry, eo as normalizeSecretInput, er as drainPendingPrimaryWrites, et as normalizeTelegramCommandName, f as resolveModelRefFromString, fa as normalizeTrustedSafeBinDirs, fi as formatCliCommand, fn as registerPluginCommand, fr as toJsonValue$1, ga as isWindowsPlatform, gi as listEnabledDiscordAccounts, gn as isPreservationArmed, gr as formatZonedTimestamp, h as resolveThinkingDefault, ha as buildEnforcedShellCommand, hi as createDiscordActionGate, hn as getConfiguredSessionStorageRuntime, hr as formatUtcTimestamp, i as findNormalizedProviderValue, ia as unsetConfigOverride, ii as resolveSlackAppToken, in as createPluginRegistry, io as resolveSecretInputRef, ir as onSessionTranscriptUpdate, j as resolveApiKeyForProvider, ja as applyMergePatch, ji as resolveGatewayMessageChannel, jn as normalizeAccountId$4, jr as resolveSessionResetPolicy, jt as validateJsonSchemaValue, k as getCustomProviderApiKey, ka as normalizeSafeBinProfileFixtures, ki as listDeliverableMessageChannels, kn as normalizeDeliveryContext, kr as evaluateSessionFreshness, kt as isPathWithinRoot, l as parseModelRef, la as getTrustedSafeBinDirs, li as normalizeWhatsAppTarget, ln as getPluginCommandSpecs, lr as sha256, lt as ASSISTANT_IDENTITY_COLORS, m as resolveSubagentSpawnModelSelection, ma as analyzeShellCommand, mi as resolveIMessageAccount, mn as getActivePreservationLease, mr as buildInboundUserContextPrefix, n as buildConfiguredAllowlistKeys, na as resetConfigOverrides, ni as resolveSlackAccount, nn as addRegisteredPluginApi, no as hasConfiguredSecretInput, nr as hydrateSessionManagerFromDb, o as modelKey, oa as parseConfigPath, oi as listEnabledSignalAccounts, on as buildPluginHealthReport, oo as DEFAULT_CONTEXT_TOKENS, or as TASK_RUN_STATUSES, ot as resolveIMessageRemoteAttachmentRoots, p as resolveReasoningDefault, pa as validateSafeBinArgv, pi as resolveCliName, pr as buildInboundMetaSystemPrompt, qa as markAuthProfileGood, qi as applyTargetToParams, qn as parseSessionThreadInfo, qr as listChannelDocks, qt as normalizeChannelId$2, r as buildModelAliasIndex, ra as setConfigOverride, ri as resolveSlackReplyToMode, rn as clearRegisteredPluginApis, ro as normalizeResolvedSecretInputString, rr as emitSessionTranscriptUpdate, rt as isInboundPathAllowed, s as normalizeModelRef$2, sa as setConfigValueAtPath, si as resolveSignalAccount, sn as clearPluginCommands, so as DEFAULT_MODEL, st as normalizeScpRemoteHost, t as buildAllowedModelSet, ta as getConfigOverrides, tn as setActivePluginRegistry, to as coerceSecretRef, tr as DB_SESSION_HYDRATION_LIMIT, tt as resolveTelegramCustomCommands, u as resolveConfiguredModelRef, ua as isTrustedSafeBinPath, ui as hasAnyWhatsAppAuth, un as listPluginCommands, ur as createCurrentUserPromptEnvelope, ut as secretRefKey, va as DEFAULT_SAFE_BINS, vi as normalizeDiscordToken, vn as readSessionUpdatedAt, vr as resolveSenderLabel, w as buildAssistantMessage, wa as isShellWrapperExecutable, wi as INTERNAL_MESSAGE_CHANNEL, wn as isCacheEnabled, wr as makeZeroUsageSnapshot, x as retryAsync, xa as resolveCommandResolutionFromArgv, xi as resolveChannelGroupToolsPolicy, xn as updateLastRoute, xr as derivePromptTokens, ya as matchAllowlist, yi as resolveChannelGroupPolicy, yn as recordSessionMetaFromInbound, yr as emitDiagnosticEvent, z as markAuthProfileUsed, za as resolveAgentMaxConcurrent, zi as normalizeStringEntriesLower, zn as hasInterSessionUserProvenance, zr as resolveAgentMainSessionKey, zt as discoverOpenClawPlugins } from "./model-selection-DZMms8JA.js";
9
- import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken } from "./github-copilot-token-zGOMIGSh.js";
10
- import { n as createInternalHookEvent, o as triggerInternalHook, s as parseBooleanValue$1, t as readManifestNamespace } from "./legacy-names-CBlBMsC7.js";
11
- import { c as resolveSessionFilePath, f as resolveSessionTranscriptsDirForAgent, l as resolveSessionFilePathOptions, p as resolveStorePath, r as isPrimarySessionTranscriptFileName, s as resolveDefaultSessionStorePath, t as runTasksWithConcurrency, u as resolveSessionTranscriptPath } from "./run-with-concurrency-DNTVyFZm.js";
6
+ import { A as resolveLinkedPeerIdForChannel, B as isCronSessionKey, C as classifySessionKeyShape, D as resolveAgentIdFromSessionKey, E as normalizeMainKey, F as normalizeAccountId$3, H as parseAgentSessionKey, I as normalizeOptionalAccountId, L as deriveSessionChatType, M as sanitizeAgentId, N as toAgentStoreSessionKey, O as resolveCanonicalIdentity, P as DEFAULT_ACCOUNT_ID, R as getSubagentDepth, T as normalizeAgentId, U as resolveThreadParentSessionKey, V as isSubagentSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_HEARTBEAT_FILENAME, j as resolveThreadSessionKeys, k as resolveConfiguredCanonicalIdentity, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as isValidAgentId, x as buildAgentMainSessionKey, y as DEFAULT_AGENT_ID, z as isAcpSessionKey } from "./workspace-TtYCbjn0.js";
7
+ import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-CkGiQRm7.js";
8
+ import { $ as TELEGRAM_COMMAND_NAME_PATTERN, $i as replaceBufferedPluginTaskPasses, $n as createPrimaryWriteInterceptor, $r as resolveTelegramToken, A as requireApiKey, Aa as resolveSafeBinProfiles, Ai as normalizeMessageChannel, An as normalizeSessionDeliveryFields, Ar as resolveChannelResetConfig, At as isSupportedLocalAvatarExtension, B as resolveProfilesUnavailableReason, Ba as VERSION, Bi as acquireSessionWriteLock, Bn as normalizeInputProvenance, Br as resolveExplicitAgentSessionKey, Bt as isPathInside, C as createOllamaStreamFn, Ca as isDispatchWrapperExecutable, Ci as resolveGroupSessionKey, Cn as updateSessionStoreEntry, Cr as hasNonzeroUsage, D as buildUsageWithNoCost, Da as splitShellArgs, Di as isInternalMessageChannel, Dn as deliveryContextKey, Dr as SESSION_RUN_STATUSES, Dt as isAvatarDataUrl, E as buildStreamErrorAssistantMessage, Ea as unwrapKnownShellMultiplexerInvocation, Ei as isGatewayMessageChannel, En as deliveryContextFromSession, Et as AVATAR_MAX_BYTES, F as resolveAuthProfileOrder, Fa as resolveSlackNativeStreaming, Fi as GATEWAY_CLIENT_NAMES, Fn as extractToolCallNames, Fr as mergeSessionEntry, Ft as isBundledChannelEnabledByChannelConfig, G as isRecord$2, Ga as dedupeProfileIds, Gi as optionalStringEnum, Gn as parseDurationMs, Gr as normalizeChannelId$1, Gt as listChatChannels, H as resolveSecretRefValues, Ha as resolveShellEnvFallbackTimeoutMs, Hi as readTaskWorkStates, Hn as createAsyncLock, Hr as deriveSessionMetaPatch, I as getSoonestCooldownExpiry, Ia as resolveSlackStreamingMode, Ii as normalizeAtHashSlug, In as parseInlineDirectives$1, Ir as resolveFreshSessionTotalTokens, It as normalizePluginsConfig, J as loadConfig, Ja as ensureAuthProfileStore, Ji as actionHasTarget, Jn as appendAssistantMessageToSessionTranscript, Jr as normalizeSignalMessagingTarget, Jt as normalizeChatChannelId, K as parseDotPath, Ka as listProfilesForProvider, Ki as stringEnum, Kn as extractDeliveryInfo, Kr as getChannelDock, Kt as normalizeAnyChannelId, L as isProfileInCooldown, Li as normalizeHyphenSlug, Ln as INPUT_PROVENANCE_KIND_VALUES, Lr as setSessionRuntimeModel, Lt as resolveEffectiveEnableState, M as resolveEnvApiKey, Ma as isSafeExecutableValue, Mi as resolveMessageChannel, Mn as archiveSessionTranscripts, Mr as resolveSessionResetType, Mt as loadPluginManifestRegistry, N as resolveModelAuthMode, Na as mapStreamingModeToSlackLegacyDraftStreamMode, Ni as GATEWAY_CLIENT_IDS, Nn as capArrayByJsonBytes, Nr as resolveThreadFlag, Nt as BUNDLED_ENABLED_BY_DEFAULT, O as getApiKeyForModel, Oa as SAFE_BIN_PROFILES, Oi as isMarkdownCapableMessageChannel, On as mergeDeliveryContext, Or as resolveSessionKey, Ot as isAvatarHttpUrl, Pa as resolveDiscordPreviewStreamMode, Pi as GATEWAY_CLIENT_MODES, Pn as countToolResults, Pr as DEFAULT_RESET_TRIGGERS, Pt as applyTestPluginDefaults, Q as validateConfigObjectWithPlugins, Qa as resolveAuthProfileDisplayLabel, Qi as listBufferedPluginTaskPasses, Qn as isJsonlSessionBackend, Qr as resolveTelegramAccount, Qt as getActivePluginRegistryKey, R as markAuthProfileFailure, Ra as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Ri as normalizeStringEntries, Rn as applyInputProvenanceToUserMessage, Rr as canonicalizeMainSessionAlias, Rt as resolveMemorySlotDecision, S as OLLAMA_NATIVE_BASE_URL, Sa as extractShellWrapperInlineCommand, Si as resolveAccountEntry, Sn as updateSessionStore, Sr as deriveSessionTotalTokens, T as buildAssistantMessageWithZeroUsage, Ta as unwrapKnownDispatchWrapperInvocation, Ti as isDeliverableMessageChannel, Tn as resolveCacheTtlMs$1, Tr as normalizeUsage, U as describeUnknownError$1, Ua as isTruthyEnvValue, Ui as channelTargetSchema, Un as readJsonFile, Ur as getChannelPlugin, Ut as CHAT_CHANNEL_ORDER, V as resolveApiKeyForProfile, Va as getShellPathFromLoginShell, Vi as resolveSessionLockMaxHoldFromTimeout, Vn as jsonUtf8Bytes, Vr as resolveMainSessionKey, Vt as safeStatSync, W as isNonEmptyString, Wa as resolveOwnerDisplaySetting, Wi as channelTargetsSchema, Wn as writeJsonAtomic, Wr as listChannelPlugins, Wt as getChatChannelMeta, Xa as resolveOpenClawAgentDir, Xn as resolveAndPersistSessionFile, Xr as listEnabledTelegramAccounts, Xt as getActiveGatewayPluginRegistry, Y as readConfigFileSnapshot, Ya as resolveAuthStorePathForDisplay, Yi as actionRequiresTarget, Yr as createTelegramActionGate, Yt as resolveChannelConfigId, Z as writeConfigFile, Za as withFileLock, Zi as discardBufferedPluginTaskPasses, Zn as withPreservationWriterPermit, Zr as listTelegramAccountIds, Zt as getActivePluginRegistry, _a as splitCommandChain, _i as resolveDiscordAccount, _n as loadSessionStore, _r as resolveTimezone, a as isCliProvider, aa as getConfigValueAtPath, ai as resolveSlackBotToken, an as normalizePluginHttpPath, ao as splitTrailingAuthProfile, ar as TASK_RUN_MODES, at as resolveIMessageAttachmentRoots, ba as resolveAllowlistCandidatePath, bi as resolveChannelGroupRequireMention, bn as syncConfiguredSessionTranscriptToRuntime, br as isDiagnosticsEnabled, c as normalizeProviderId, ca as unsetConfigValueAtPath, ci as isWhatsAppGroupJid, cn as executePluginCommand, co as DEFAULT_PROVIDER, cr as sanitizeJsonb, ct as parseNonNegativeByteSize, d as resolveDefaultModelForAgent, da as listWritableExplicitTrustedSafeBinDirs, di as resolveWhatsAppAccount, dn as matchPluginCommand, dr as mergePromptContributions, dt as resolveExecPolicyPreset, ea as RecoveryAdmissionError, ei as buildChannelAccountBindings, en as requireActivePluginRegistry, eo as normalizeSecretInput, er as drainPendingPrimaryWrites, et as normalizeTelegramCommandName, f as resolveModelRefFromString, fa as normalizeTrustedSafeBinDirs, fi as formatCliCommand, fn as registerPluginCommand, fr as toJsonValue$1, ga as isWindowsPlatform, gi as listEnabledDiscordAccounts, gn as isPreservationArmed, gr as formatZonedTimestamp, h as resolveThinkingDefault, ha as buildEnforcedShellCommand, hi as createDiscordActionGate, hn as getConfiguredSessionStorageRuntime, hr as formatUtcTimestamp, i as findNormalizedProviderValue, ia as unsetConfigOverride, ii as resolveSlackAppToken, in as createPluginRegistry, io as resolveSecretInputRef, ir as onSessionTranscriptUpdate, j as resolveApiKeyForProvider, ja as applyMergePatch, ji as resolveGatewayMessageChannel, jn as normalizeAccountId$4, jr as resolveSessionResetPolicy, jt as validateJsonSchemaValue, k as getCustomProviderApiKey, ka as normalizeSafeBinProfileFixtures, ki as listDeliverableMessageChannels, kn as normalizeDeliveryContext, kr as evaluateSessionFreshness, kt as isPathWithinRoot, l as parseModelRef, la as getTrustedSafeBinDirs, li as normalizeWhatsAppTarget, ln as getPluginCommandSpecs, lr as sha256, lt as ASSISTANT_IDENTITY_COLORS, m as resolveSubagentSpawnModelSelection, ma as analyzeShellCommand, mi as resolveIMessageAccount, mn as getActivePreservationLease, mr as buildInboundUserContextPrefix, n as buildConfiguredAllowlistKeys, na as resetConfigOverrides, ni as resolveSlackAccount, nn as addRegisteredPluginApi, no as hasConfiguredSecretInput, nr as hydrateSessionManagerFromDb, o as modelKey, oa as parseConfigPath, oi as listEnabledSignalAccounts, on as buildPluginHealthReport, oo as DEFAULT_CONTEXT_TOKENS, or as TASK_RUN_STATUSES, ot as resolveIMessageRemoteAttachmentRoots, p as resolveReasoningDefault, pa as validateSafeBinArgv, pi as resolveCliName, pr as buildInboundMetaSystemPrompt, qa as markAuthProfileGood, qi as applyTargetToParams, qn as parseSessionThreadInfo, qr as listChannelDocks, qt as normalizeChannelId$2, r as buildModelAliasIndex, ra as setConfigOverride, ri as resolveSlackReplyToMode, rn as clearRegisteredPluginApis, ro as normalizeResolvedSecretInputString, rr as emitSessionTranscriptUpdate, rt as isInboundPathAllowed, s as normalizeModelRef$2, sa as setConfigValueAtPath, si as resolveSignalAccount, sn as clearPluginCommands, so as DEFAULT_MODEL, st as normalizeScpRemoteHost, t as buildAllowedModelSet, ta as getConfigOverrides, tn as setActivePluginRegistry, to as coerceSecretRef, tr as DB_SESSION_HYDRATION_LIMIT, tt as resolveTelegramCustomCommands, u as resolveConfiguredModelRef, ua as isTrustedSafeBinPath, ui as hasAnyWhatsAppAuth, un as listPluginCommands, ur as createCurrentUserPromptEnvelope, ut as secretRefKey, va as DEFAULT_SAFE_BINS, vi as normalizeDiscordToken, vn as readSessionUpdatedAt, vr as resolveSenderLabel, w as buildAssistantMessage, wa as isShellWrapperExecutable, wi as INTERNAL_MESSAGE_CHANNEL, wn as isCacheEnabled, wr as makeZeroUsageSnapshot, x as retryAsync, xa as resolveCommandResolutionFromArgv, xi as resolveChannelGroupToolsPolicy, xn as updateLastRoute, xr as derivePromptTokens, ya as matchAllowlist, yi as resolveChannelGroupPolicy, yn as recordSessionMetaFromInbound, yr as emitDiagnosticEvent, z as markAuthProfileUsed, za as resolveAgentMaxConcurrent, zi as normalizeStringEntriesLower, zn as hasInterSessionUserProvenance, zr as resolveAgentMainSessionKey, zt as discoverOpenClawPlugins } from "./model-selection-DhXu1Q4_.js";
9
+ import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken } from "./github-copilot-token-WSjo05vB.js";
10
+ import { n as createInternalHookEvent, o as triggerInternalHook, s as parseBooleanValue$1, t as readManifestNamespace } from "./legacy-names-DFLXH7MA.js";
11
+ import { c as resolveSessionFilePath, f as resolveSessionTranscriptsDirForAgent, l as resolveSessionFilePathOptions, p as resolveStorePath, r as isPrimarySessionTranscriptFileName, s as resolveDefaultSessionStorePath, t as runTasksWithConcurrency, u as resolveSessionTranscriptPath } from "./run-with-concurrency-VoSJL2UI.js";
12
12
  import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-BnH5Yy9T.js";
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-7ZbQnb3_.js";
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-DEMG5oDJ.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-nWCLOjLp.js";
16
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-Cu6l17bG.js";
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-D8garnHE.js";
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-C0_Cahgz.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-DqMoXRuU.js";
16
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-iu44eB15.js";
17
17
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-BDA1WAvZ.js";
18
- import { a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as initializeGlobalHookRunner, f as promptBuildResultToContribution, g as resolveProviderRuntimeIdentity, h as resolveProviderPromptCacheKey, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, m as buildPluginTurnIdentity, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as buildPluginRuntimeIdentity, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as getGlobalHookRunner } from "./outbound-message-hooks-CN_2VR3u.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-BHAlpG8z.js";
18
+ import { a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as initializeGlobalHookRunner, f as promptBuildResultToContribution, g as resolveProviderRuntimeIdentity, h as resolveProviderPromptCacheKey, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, m as buildPluginTurnIdentity, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as buildPluginRuntimeIdentity, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as getGlobalHookRunner } from "./outbound-message-hooks-ClZq2IiI.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-BwoKR7Xi.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
- import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-BFxpQajB.js";
22
+ import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-D8fpDrdk.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-Dbv34rZN.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-is_ecMF8.js";
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-B--THHJC.js";
27
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DWGauIf8.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-BEYLnz1t.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-Dc923fsB.js";
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-CoDdFrlM.js";
31
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Bpl7jW13.js";
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-b209l87p.js";
33
- import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-BJgtqC5p.js";
34
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BMD4fV1_.js";
24
+ import { a as getCommandLaneSnapshots, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-BG3CzKrI.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-BRRJAJM9.js";
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-pgAg_j4y.js";
27
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-C3dMscCT.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-BKVOw8ZC.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-NdTR0Suj.js";
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-C-1FVOPz.js";
31
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-y8gxUSMu.js";
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-BBllD0qI.js";
33
+ import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-BNnzOM9C.js";
34
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-q3G7wCsG.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-tTArxp_m.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-SSnrYiq8.js";
39
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-JP3BwRE3.js";
37
+ import { a as decodeDataUrl, c as ensureOpenClawModelsJson, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-BqxdhC84.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-DOckW8KR.js";
39
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-DvY0ue_6.js";
40
40
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BfPtlUW6.js";
41
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-C4lEpM_9.js";
42
- import { r as makeProxyFetch } from "./proxy-fetch-CNzfDJKL.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-Cff_00Q1.js";
44
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BivNEMUT.js";
41
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-ri_5BFBs.js";
42
+ import { r as makeProxyFetch } from "./proxy-fetch-C4a8MwFs.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-dzSLPKQ1.js";
44
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-r6A18fKP.js";
45
45
  import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-DHXKaTRv.js";
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-CuqMDQNC.js";
47
- import { n as resolveMarkdownTableMode } from "./markdown-tables-D9T2Ko0c.js";
48
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-tsZDlE0-.js";
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-gy0GLwWR.js";
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-BeW5zYf3.js";
51
- import { _ as emitAgentEvent, a as queueEmbeddedPiMessage, c as waitForEmbeddedPiRunEnd, d as handleMessageUpdate, f as emitEmbeddedAgentEvent, g as clearAgentRunContext, h as endModelCall, i as isEmbeddedPiRunStreaming, l as handleMessageEnd, m as createInlineCodeState, n as clearActiveEmbeddedRun, p as buildCodeSpanIndex, r as isEmbeddedPiRunActive, s as setActiveEmbeddedRun, t as abortEmbeddedPiRun, u as handleMessageStart, v as onAgentEvent, y as registerAgentRunContext } from "./runs-Bfd3xo6Q.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-C4Z63vgB.js";
53
- import { a as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BWzqo70i.js";
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-odx78Acg.js";
47
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-D6t-eoFa.js";
48
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BHU3uh9A.js";
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-BEs7FrhT.js";
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-DycP7LkE.js";
51
+ import { _ as emitAgentEvent, a as queueEmbeddedPiMessage, c as waitForEmbeddedPiRunEnd, d as handleMessageUpdate, f as emitEmbeddedAgentEvent, g as clearAgentRunContext, h as endModelCall, i as isEmbeddedPiRunStreaming, l as handleMessageEnd, m as createInlineCodeState, n as clearActiveEmbeddedRun, p as buildCodeSpanIndex, r as isEmbeddedPiRunActive, s as setActiveEmbeddedRun, t as abortEmbeddedPiRun, u as handleMessageStart, v as onAgentEvent, y as registerAgentRunContext } from "./runs-vS0SOF8v.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-BdqSGMEa.js";
53
+ import { a as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BESd9rZt.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";
56
- import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-IR8qx5kt.js";
56
+ import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-BVqxcijC.js";
57
57
  import { t as buildOutboundMediaLoadOptions } from "./load-options-DzQsLh91.js";
58
- import { t as convertMarkdownTables } from "./tables-77QYYFpZ.js";
59
- import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-_9PhRwgi.js";
60
- import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-MtuQmZ3x.js";
61
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DWgzW_VE.js";
62
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-BxB9kMh0.js";
63
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BxKedPkn.js";
64
- import { t as createTelegramPollingTransport } from "./proxy-B2bQVN0b.js";
65
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BKYeJ-lN.js";
66
- import { t as recordInboundSessionMetaSafe } from "./session-meta-Bq4VCJl1.js";
67
- import { n as resolveMemorySearchConfig } from "./manager-nGC13TuB.js";
68
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-DKwGIeDe.js";
58
+ import { t as convertMarkdownTables } from "./tables-Epd9B-UQ.js";
59
+ import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-DU3V9-R7.js";
60
+ import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-CZPJmH1t.js";
61
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CyDzxMSP.js";
62
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-DTHoJI7v.js";
63
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Cnxsmfj5.js";
64
+ import { t as createTelegramPollingTransport } from "./proxy-CJMip70P.js";
65
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-LVVUM-gg.js";
66
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-Du0u83SI.js";
67
+ import { n as resolveMemorySearchConfig } from "./manager-BUV9VkNZ.js";
68
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-DJVKyeDw.js";
69
69
  import { createRequire } from "node:module";
70
- import * as fs$1 from "node:fs/promises";
70
+ import * as fs$2 from "node:fs/promises";
71
71
  import fs, { mkdir, readFile, writeFile } from "node:fs/promises";
72
72
  import os, { homedir } from "node:os";
73
73
  import * as path$1 from "node:path";
74
74
  import path, { basename, isAbsolute, join } from "node:path";
75
- import syncFs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
75
+ import fs$1, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
76
76
  import JSON5 from "json5";
77
77
  import { inspect, isDeepStrictEqual, promisify } from "node:util";
78
78
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
@@ -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";
@@ -3100,7 +3100,7 @@ function setPromptSourceCacheEntry(key, entry) {
3100
3100
  }
3101
3101
  function readOpenFileUtf8(fd) {
3102
3102
  return new Promise((resolve, reject) => {
3103
- syncFs.readFile(fd, "utf-8", (error, data) => {
3103
+ fs$1.readFile(fd, "utf-8", (error, data) => {
3104
3104
  if (error) {
3105
3105
  reject(error);
3106
3106
  return;
@@ -3111,7 +3111,7 @@ function readOpenFileUtf8(fd) {
3111
3111
  }
3112
3112
  function closeOpenFile(fd) {
3113
3113
  return new Promise((resolve, reject) => {
3114
- syncFs.close(fd, (error) => {
3114
+ fs$1.close(fd, (error) => {
3115
3115
  if (error) {
3116
3116
  reject(error);
3117
3117
  return;
@@ -3550,9 +3550,9 @@ async function copyIfMissing(params) {
3550
3550
  if (!opened.ok) return opened.reason === "path" ? "missing-source" : "invalid";
3551
3551
  let content;
3552
3552
  try {
3553
- content = syncFs.readFileSync(opened.fd);
3553
+ content = fs$1.readFileSync(opened.fd);
3554
3554
  } finally {
3555
- syncFs.closeSync(opened.fd);
3555
+ fs$1.closeSync(opened.fd);
3556
3556
  }
3557
3557
  try {
3558
3558
  await writeFileWithinRoot({
@@ -3915,7 +3915,7 @@ async function resolveOpenClawDocsPath(params) {
3915
3915
  const workspaceDir = params.workspaceDir?.trim();
3916
3916
  if (workspaceDir) {
3917
3917
  const workspaceDocs = path.join(workspaceDir, "docs");
3918
- if (syncFs.existsSync(workspaceDocs)) return workspaceDocs;
3918
+ if (fs$1.existsSync(workspaceDocs)) return workspaceDocs;
3919
3919
  }
3920
3920
  const packageRoot = await resolveOpenClawPackageRoot({
3921
3921
  cwd: params.cwd,
@@ -3924,7 +3924,7 @@ async function resolveOpenClawDocsPath(params) {
3924
3924
  });
3925
3925
  if (packageRoot) {
3926
3926
  const packageDocs = path.join(packageRoot, "docs");
3927
- if (syncFs.existsSync(path.join(packageDocs, "docs.json"))) return packageDocs;
3927
+ if (fs$1.existsSync(path.join(packageDocs, "docs.json"))) return packageDocs;
3928
3928
  }
3929
3929
  return DOCS_SITE_URL;
3930
3930
  }
@@ -8265,7 +8265,7 @@ function resolveDefaultIdentityPath() {
8265
8265
  return path.join(resolveStateDir(), "identity", "device.json");
8266
8266
  }
8267
8267
  function ensureDir$2(filePath) {
8268
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
8268
+ fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
8269
8269
  }
8270
8270
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
8271
8271
  function base64UrlEncode(buf) {
@@ -8301,8 +8301,8 @@ function generateIdentity() {
8301
8301
  }
8302
8302
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
8303
8303
  try {
8304
- if (syncFs.existsSync(filePath)) {
8305
- const raw = syncFs.readFileSync(filePath, "utf8");
8304
+ if (fs$1.existsSync(filePath)) {
8305
+ const raw = fs$1.readFileSync(filePath, "utf8");
8306
8306
  const parsed = JSON.parse(raw);
8307
8307
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
8308
8308
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -8311,9 +8311,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
8311
8311
  ...parsed,
8312
8312
  deviceId: derivedId
8313
8313
  };
8314
- syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
8314
+ fs$1.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
8315
8315
  try {
8316
- syncFs.chmodSync(filePath, 384);
8316
+ fs$1.chmodSync(filePath, 384);
8317
8317
  } catch {}
8318
8318
  return {
8319
8319
  deviceId: derivedId,
@@ -8338,9 +8338,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
8338
8338
  privateKeyPem: identity.privateKeyPem,
8339
8339
  createdAtMs: Date.now()
8340
8340
  };
8341
- syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
8341
+ fs$1.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
8342
8342
  try {
8343
- syncFs.chmodSync(filePath, 384);
8343
+ fs$1.chmodSync(filePath, 384);
8344
8344
  } catch {}
8345
8345
  return identity;
8346
8346
  }
@@ -8532,8 +8532,8 @@ function resolveDeviceAuthPath(env = process.env) {
8532
8532
  }
8533
8533
  function readStore(filePath) {
8534
8534
  try {
8535
- if (!syncFs.existsSync(filePath)) return null;
8536
- const raw = syncFs.readFileSync(filePath, "utf8");
8535
+ if (!fs$1.existsSync(filePath)) return null;
8536
+ const raw = fs$1.readFileSync(filePath, "utf8");
8537
8537
  const parsed = JSON.parse(raw);
8538
8538
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
8539
8539
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -8543,10 +8543,10 @@ function readStore(filePath) {
8543
8543
  }
8544
8544
  }
8545
8545
  function writeStore(filePath, store) {
8546
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
8547
- syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
8546
+ fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
8547
+ fs$1.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
8548
8548
  try {
8549
- syncFs.chmodSync(filePath, 384);
8549
+ fs$1.chmodSync(filePath, 384);
8550
8550
  } catch {}
8551
8551
  }
8552
8552
  function loadDeviceAuthToken(params) {
@@ -10618,7 +10618,7 @@ var GatewayClient = class {
10618
10618
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
10619
10619
  });
10620
10620
  }
10621
- this.ws = new WebSocket$1(url, wsOptions);
10621
+ this.ws = new WebSocket(url, wsOptions);
10622
10622
  this.ws.on("open", () => {
10623
10623
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
10624
10624
  const tlsError = this.validateTlsFingerprint();
@@ -10814,7 +10814,7 @@ var GatewayClient = class {
10814
10814
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
10815
10815
  if (this.connectTimer) clearTimeout(this.connectTimer);
10816
10816
  this.connectTimer = setTimeout(() => {
10817
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
10817
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
10818
10818
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
10819
10819
  this.ws?.close(1008, "connect challenge timeout");
10820
10820
  }, connectChallengeTimeoutMs);
@@ -10856,7 +10856,7 @@ var GatewayClient = class {
10856
10856
  return null;
10857
10857
  }
10858
10858
  async request(method, params, opts) {
10859
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
10859
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
10860
10860
  const id = randomUUID();
10861
10861
  const frame = {
10862
10862
  type: "req",
@@ -12274,7 +12274,7 @@ async function routeReply(params) {
12274
12274
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
12275
12275
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
12276
12276
  try {
12277
- const { deliverOutboundPayloads } = await import("./deliver-C4Z63vgB.js").then((n) => n.n);
12277
+ const { deliverOutboundPayloads } = await import("./deliver-BdqSGMEa.js").then((n) => n.n);
12278
12278
  const outboundSession = buildOutboundSessionContext({
12279
12279
  cfg,
12280
12280
  agentId: resolvedAgentId,
@@ -13727,7 +13727,7 @@ async function sendTranscriptEcho(params) {
13727
13727
  }
13728
13728
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
13729
13729
  try {
13730
- const { deliverOutboundPayloads } = await import("./deliver-C4Z63vgB.js").then((n) => n.n);
13730
+ const { deliverOutboundPayloads } = await import("./deliver-BdqSGMEa.js").then((n) => n.n);
13731
13731
  await deliverOutboundPayloads({
13732
13732
  cfg,
13733
13733
  channel: normalizedChannel,
@@ -18009,7 +18009,7 @@ function mergeLegacyAgent(current, legacy) {
18009
18009
  }
18010
18010
  function ensureDir$1(filePath) {
18011
18011
  const dir = path.dirname(filePath);
18012
- syncFs.mkdirSync(dir, { recursive: true });
18012
+ fs$1.mkdirSync(dir, { recursive: true });
18013
18013
  }
18014
18014
  function coerceAllowlistEntries(allowlist) {
18015
18015
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -18079,11 +18079,11 @@ function generateToken() {
18079
18079
  function loadExecApprovals() {
18080
18080
  const filePath = resolveExecApprovalsPath();
18081
18081
  try {
18082
- if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
18082
+ if (!fs$1.existsSync(filePath)) return normalizeExecApprovals({
18083
18083
  version: 1,
18084
18084
  agents: {}
18085
18085
  });
18086
- const raw = syncFs.readFileSync(filePath, "utf8");
18086
+ const raw = fs$1.readFileSync(filePath, "utf8");
18087
18087
  const parsed = JSON.parse(raw);
18088
18088
  if (parsed?.version !== 1) return normalizeExecApprovals({
18089
18089
  version: 1,
@@ -18100,9 +18100,9 @@ function loadExecApprovals() {
18100
18100
  function saveExecApprovals(file) {
18101
18101
  const filePath = resolveExecApprovalsPath();
18102
18102
  ensureDir$1(filePath);
18103
- syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18103
+ fs$1.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18104
18104
  try {
18105
- syncFs.chmodSync(filePath, 384);
18105
+ fs$1.chmodSync(filePath, 384);
18106
18106
  } catch {}
18107
18107
  }
18108
18108
  function ensureExecApprovals() {
@@ -18668,18 +18668,18 @@ function peekSystemEventEntries(sessionKey) {
18668
18668
  function resolvePowerShellPath() {
18669
18669
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
18670
18670
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
18671
- if (syncFs.existsSync(pwsh7)) return pwsh7;
18671
+ if (fs$1.existsSync(pwsh7)) return pwsh7;
18672
18672
  const programW6432 = process.env.ProgramW6432;
18673
18673
  if (programW6432 && programW6432 !== programFiles) {
18674
18674
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
18675
- if (syncFs.existsSync(pwsh7Alt)) return pwsh7Alt;
18675
+ if (fs$1.existsSync(pwsh7Alt)) return pwsh7Alt;
18676
18676
  }
18677
18677
  const pwshInPath = resolveShellFromPath("pwsh");
18678
18678
  if (pwshInPath) return pwshInPath;
18679
18679
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
18680
18680
  if (systemRoot) {
18681
18681
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
18682
- if (syncFs.existsSync(candidate)) return candidate;
18682
+ if (fs$1.existsSync(candidate)) return candidate;
18683
18683
  }
18684
18684
  return "powershell.exe";
18685
18685
  }
@@ -18717,7 +18717,7 @@ function resolveShellFromPath(name) {
18717
18717
  for (const entry of entries) {
18718
18718
  const candidate = path.join(entry, name);
18719
18719
  try {
18720
- syncFs.accessSync(candidate, syncFs.constants.X_OK);
18720
+ fs$1.accessSync(candidate, fs$1.constants.X_OK);
18721
18721
  return candidate;
18722
18722
  } catch {}
18723
18723
  }
@@ -22339,7 +22339,7 @@ function ensureContextWindowCacheLoaded() {
22339
22339
  await ensureOpenClawModelsJson(cfg);
22340
22340
  } catch {}
22341
22341
  try {
22342
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DWGauIf8.js").then((n) => n.r);
22342
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-C3dMscCT.js").then((n) => n.r);
22343
22343
  const agentDir = resolveOpenClawAgentDir();
22344
22344
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
22345
22345
  applyDiscoveredContextWindows({
@@ -22423,7 +22423,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
22423
22423
  function hasGitMarker(repoRoot) {
22424
22424
  const gitPath = path.join(repoRoot, ".git");
22425
22425
  try {
22426
- const stat = syncFs.statSync(gitPath);
22426
+ const stat = fs$1.statSync(gitPath);
22427
22427
  return stat.isDirectory() || stat.isFile();
22428
22428
  } catch {
22429
22429
  return false;
@@ -22435,10 +22435,10 @@ function findGitRoot(startDir, opts = {}) {
22435
22435
  function resolveGitDirFromMarker(repoRoot) {
22436
22436
  const gitPath = path.join(repoRoot, ".git");
22437
22437
  try {
22438
- const stat = syncFs.statSync(gitPath);
22438
+ const stat = fs$1.statSync(gitPath);
22439
22439
  if (stat.isDirectory()) return gitPath;
22440
22440
  if (!stat.isFile()) return null;
22441
- const match = syncFs.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22441
+ const match = fs$1.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22442
22442
  if (!match?.[1]) return null;
22443
22443
  return path.resolve(repoRoot, match[1].trim());
22444
22444
  } catch {
@@ -22505,7 +22505,7 @@ const resolveCommitHash = (options = {}) => {
22505
22505
  cachedCommit = null;
22506
22506
  return cachedCommit;
22507
22507
  }
22508
- const head = syncFs.readFileSync(headPath, "utf-8").trim();
22508
+ const head = fs$1.readFileSync(headPath, "utf-8").trim();
22509
22509
  if (!head) {
22510
22510
  cachedCommit = null;
22511
22511
  return cachedCommit;
@@ -22513,7 +22513,7 @@ const resolveCommitHash = (options = {}) => {
22513
22513
  if (head.startsWith("ref:")) {
22514
22514
  const ref = head.replace(/^ref:\s*/i, "").trim();
22515
22515
  const refPath = path.resolve(path.dirname(headPath), ref);
22516
- cachedCommit = formatCommit(syncFs.readFileSync(refPath, "utf-8").trim());
22516
+ cachedCommit = formatCommit(fs$1.readFileSync(refPath, "utf-8").trim());
22517
22517
  return cachedCommit;
22518
22518
  }
22519
22519
  cachedCommit = formatCommit(head);
@@ -22738,17 +22738,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
22738
22738
  } catch {
22739
22739
  return;
22740
22740
  }
22741
- if (!syncFs.existsSync(logPath)) return;
22741
+ if (!fs$1.existsSync(logPath)) return;
22742
22742
  try {
22743
22743
  const TAIL_BYTES = 8192;
22744
- const stat = syncFs.statSync(logPath);
22744
+ const stat = fs$1.statSync(logPath);
22745
22745
  const offset = Math.max(0, stat.size - TAIL_BYTES);
22746
22746
  const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
22747
- const fd = syncFs.openSync(logPath, "r");
22747
+ const fd = fs$1.openSync(logPath, "r");
22748
22748
  try {
22749
- syncFs.readSync(fd, buf, 0, buf.length, offset);
22749
+ fs$1.readSync(fd, buf, 0, buf.length, offset);
22750
22750
  } finally {
22751
- syncFs.closeSync(fd);
22751
+ fs$1.closeSync(fd);
22752
22752
  }
22753
22753
  const tail = buf.toString("utf-8");
22754
22754
  const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
@@ -27157,7 +27157,7 @@ function resolveRepoRoot(params) {
27157
27157
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
27158
27158
  if (configured) try {
27159
27159
  const resolved = path.resolve(configured);
27160
- if (syncFs.statSync(resolved).isDirectory()) return resolved;
27160
+ if (fs$1.statSync(resolved).isDirectory()) return resolved;
27161
27161
  } catch {}
27162
27162
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
27163
27163
  const seen = /* @__PURE__ */ new Set();
@@ -27554,7 +27554,7 @@ async function buildContextReply(params) {
27554
27554
  //#region src/auto-reply/reply/commands-export-session.ts
27555
27555
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
27556
27556
  function loadTemplate(fileName) {
27557
- return syncFs.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
27557
+ return fs$1.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
27558
27558
  }
27559
27559
  function generateHtml(sessionData) {
27560
27560
  const template = loadTemplate("template.html");
@@ -27628,7 +27628,7 @@ async function buildExportSessionReply(params) {
27628
27628
  } catch (err) {
27629
27629
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
27630
27630
  }
27631
- if (!syncFs.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
27631
+ if (!fs$1.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
27632
27632
  const sessionManager = SessionManager.open(sessionFile);
27633
27633
  const entries = sessionManager.getEntries();
27634
27634
  const header = sessionManager.getHeader();
@@ -27649,8 +27649,8 @@ async function buildExportSessionReply(params) {
27649
27649
  const defaultFileName = `openclaw-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
27650
27650
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
27651
27651
  const outputDir = path.dirname(outputPath);
27652
- if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
27653
- syncFs.writeFileSync(outputPath, html, "utf-8");
27652
+ if (!fs$1.existsSync(outputDir)) fs$1.mkdirSync(outputDir, { recursive: true });
27653
+ fs$1.writeFileSync(outputPath, html, "utf-8");
27654
27654
  const relativePath = path.relative(params.workspaceDir, outputPath);
27655
27655
  return { text: [
27656
27656
  "✅ Session exported!",
@@ -27825,8 +27825,8 @@ function resolveZaiApiKey() {
27825
27825
  }
27826
27826
  try {
27827
27827
  const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
27828
- if (!syncFs.existsSync(authPath)) return;
27829
- const data = JSON.parse(syncFs.readFileSync(authPath, "utf-8"));
27828
+ if (!fs$1.existsSync(authPath)) return;
27829
+ const data = JSON.parse(fs$1.readFileSync(authPath, "utf-8"));
27830
27830
  return data["z-ai"]?.access || data.zai?.access;
27831
27831
  } catch {
27832
27832
  return;
@@ -29645,7 +29645,7 @@ function shouldPersistAnyBindingState() {
29645
29645
  }
29646
29646
  function shouldPersistBindingMutations() {
29647
29647
  if (shouldPersistAnyBindingState()) return true;
29648
- return syncFs.existsSync(resolveThreadBindingsPath());
29648
+ return fs$1.existsSync(resolveThreadBindingsPath());
29649
29649
  }
29650
29650
  function saveBindingsToDisk(params = {}) {
29651
29651
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -30909,7 +30909,7 @@ const applyCostTotal = (totals, costTotal) => {
30909
30909
  totals.totalCost += costTotal;
30910
30910
  };
30911
30911
  async function* readJsonlRecords(filePath) {
30912
- const fileStream = syncFs.createReadStream(filePath, { encoding: "utf-8" });
30912
+ const fileStream = fs$1.createReadStream(filePath, { encoding: "utf-8" });
30913
30913
  const rl = readline.createInterface({
30914
30914
  input: fileStream,
30915
30915
  crlfDelay: Infinity
@@ -30981,10 +30981,10 @@ async function loadCostUsageSummary(params) {
30981
30981
  const dailyMap = /* @__PURE__ */ new Map();
30982
30982
  const totals = emptyTotals();
30983
30983
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
30984
- const entries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
30984
+ const entries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
30985
30985
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && isPrimarySessionTranscriptFileName(entry.name)).map(async (entry) => {
30986
30986
  const filePath = path.join(sessionsDir, entry.name);
30987
- const stats = await syncFs.promises.stat(filePath).catch(() => null);
30987
+ const stats = await fs$1.promises.stat(filePath).catch(() => null);
30988
30988
  if (!stats) return null;
30989
30989
  if (stats.mtimeMs < sinceTime) return null;
30990
30990
  return filePath;
@@ -31017,7 +31017,7 @@ async function loadCostUsageSummary(params) {
31017
31017
  }
31018
31018
  async function loadSessionCostSummary(params) {
31019
31019
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
31020
- if (!sessionFile || !syncFs.existsSync(sessionFile)) return null;
31020
+ if (!sessionFile || !fs$1.existsSync(sessionFile)) return null;
31021
31021
  const totals = emptyTotals();
31022
31022
  let firstActivity;
31023
31023
  let lastActivity;
@@ -32196,7 +32196,7 @@ function normalizeSessionKey(value) {
32196
32196
  }
32197
32197
  function readSessionStore(storePath) {
32198
32198
  try {
32199
- const raw = syncFs.readFileSync(storePath, "utf-8");
32199
+ const raw = fs$1.readFileSync(storePath, "utf-8");
32200
32200
  const parsed = JSON5.parse(raw);
32201
32201
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
32202
32202
  } catch {}
@@ -33858,7 +33858,7 @@ async function createModelSelectionState(params) {
33858
33858
  }
33859
33859
  }
33860
33860
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
33861
- const { ensureAuthProfileStore } = await import("./model-selection-DZMms8JA.js").then((n) => n.P);
33861
+ const { ensureAuthProfileStore } = await import("./model-selection-DhXu1Q4_.js").then((n) => n.P);
33862
33862
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
33863
33863
  const providerKey = normalizeProviderId(provider);
33864
33864
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -37372,7 +37372,7 @@ function asBoolean(value) {
37372
37372
  }
37373
37373
  function resolveTempPathParts(opts) {
37374
37374
  const tmpDir = opts.tmpDir ?? resolvePreferredOpenClawTmpDir();
37375
- if (!opts.tmpDir) syncFs.mkdirSync(tmpDir, {
37375
+ if (!opts.tmpDir) fs$1.mkdirSync(tmpDir, {
37376
37376
  recursive: true,
37377
37377
  mode: 448
37378
37378
  });
@@ -37458,7 +37458,7 @@ async function writeUrlToFile(filePath, url, opts) {
37458
37458
  if (typeof contentLength === "number" && Number.isFinite(contentLength) && contentLength > MAX_CAMERA_URL_DOWNLOAD_BYTES) throw new Error(`writeUrlToFile: content-length ${contentLength} exceeds max ${MAX_CAMERA_URL_DOWNLOAD_BYTES}`);
37459
37459
  const body = res.body;
37460
37460
  if (!body) throw new Error(`failed to download ${url}: empty response body`);
37461
- const fileHandle = await fs$1.open(filePath, "w");
37461
+ const fileHandle = await fs$2.open(filePath, "w");
37462
37462
  let thrown;
37463
37463
  try {
37464
37464
  const reader = body.getReader();
@@ -37476,7 +37476,7 @@ async function writeUrlToFile(filePath, url, opts) {
37476
37476
  await fileHandle.close();
37477
37477
  }
37478
37478
  if (thrown) {
37479
- await fs$1.unlink(filePath).catch(() => {});
37479
+ await fs$2.unlink(filePath).catch(() => {});
37480
37480
  throw thrown;
37481
37481
  }
37482
37482
  } finally {
@@ -37489,7 +37489,7 @@ async function writeUrlToFile(filePath, url, opts) {
37489
37489
  }
37490
37490
  async function writeBase64ToFile(filePath, base64) {
37491
37491
  const buf = Buffer.from(base64, "base64");
37492
- await fs$1.writeFile(filePath, buf);
37492
+ await fs$2.writeFile(filePath, buf);
37493
37493
  return {
37494
37494
  path: filePath,
37495
37495
  bytes: buf.length
@@ -40928,9 +40928,9 @@ function loadExternalCatalogEntries(options) {
40928
40928
  const entries = [];
40929
40929
  for (const rawPath of paths) {
40930
40930
  const resolved = resolveUserPath(rawPath);
40931
- if (!syncFs.existsSync(resolved)) continue;
40931
+ if (!fs$1.existsSync(resolved)) continue;
40932
40932
  try {
40933
- const payload = JSON.parse(syncFs.readFileSync(resolved, "utf-8"));
40933
+ const payload = JSON.parse(fs$1.readFileSync(resolved, "utf-8"));
40934
40934
  entries.push(...parseCatalogEntries(payload));
40935
40935
  } catch {}
40936
40936
  }
@@ -44850,7 +44850,7 @@ function listExistingAgentIdsFromDisk() {
44850
44850
  const root = resolveStateDir();
44851
44851
  const agentsDir = path.join(root, "agents");
44852
44852
  try {
44853
- return syncFs.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
44853
+ return fs$1.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
44854
44854
  } catch {
44855
44855
  return [];
44856
44856
  }
@@ -51099,7 +51099,7 @@ async function runAgentTurnWithFallback(params) {
51099
51099
  if (corruptedSessionId) {
51100
51100
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
51101
51101
  try {
51102
- syncFs.unlinkSync(transcriptPath);
51102
+ fs$1.unlinkSync(transcriptPath);
51103
51103
  } catch {}
51104
51104
  }
51105
51105
  delete params.activeSessionStore[sessionKey];
@@ -51895,7 +51895,7 @@ async function readSessionLogSnapshot(params) {
51895
51895
  if (!logPath) return {};
51896
51896
  const snapshot = {};
51897
51897
  if (params.includeByteSize) try {
51898
- const stat = await syncFs.promises.stat(logPath);
51898
+ const stat = await fs$1.promises.stat(logPath);
51899
51899
  const size = Math.floor(stat.size);
51900
51900
  snapshot.byteSize = Number.isFinite(size) && size >= 0 ? size : void 0;
51901
51901
  } catch {
@@ -51909,7 +51909,7 @@ async function readSessionLogSnapshot(params) {
51909
51909
  return snapshot;
51910
51910
  }
51911
51911
  async function readLastNonzeroUsageFromSessionLog(logPath) {
51912
- const handle = await syncFs.promises.open(logPath, "r");
51912
+ const handle = await fs$1.promises.open(logPath, "r");
51913
51913
  try {
51914
51914
  let position = (await handle.stat()).size;
51915
51915
  let leadingPartial = "";
@@ -52649,9 +52649,9 @@ async function readPostCompactionContext(workspaceDir) {
52649
52649
  if (!opened.ok) return null;
52650
52650
  const sections = extractSections((() => {
52651
52651
  try {
52652
- return syncFs.readFileSync(opened.fd, "utf-8");
52652
+ return fs$1.readFileSync(opened.fd, "utf-8");
52653
52653
  } finally {
52654
- syncFs.closeSync(opened.fd);
52654
+ fs$1.closeSync(opened.fd);
52655
52655
  }
52656
52656
  })(), ["Session Startup", "Red Lines"]);
52657
52657
  if (sections.length === 0) return null;
@@ -52885,7 +52885,7 @@ async function runReplyAgent(params) {
52885
52885
  if (resolved) transcriptCandidates.add(resolved);
52886
52886
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
52887
52887
  for (const candidate of transcriptCandidates) try {
52888
- syncFs.unlinkSync(candidate);
52888
+ fs$1.unlinkSync(candidate);
52889
52889
  } catch {}
52890
52890
  }
52891
52891
  return true;
@@ -53914,7 +53914,7 @@ async function deliverSessionMaintenanceWarning(params) {
53914
53914
  return;
53915
53915
  }
53916
53916
  try {
53917
- const { deliverOutboundPayloads } = await import("./deliver-C4Z63vgB.js").then((n) => n.n);
53917
+ const { deliverOutboundPayloads } = await import("./deliver-BdqSGMEa.js").then((n) => n.n);
53918
53918
  const outboundSession = buildOutboundSessionContext({
53919
53919
  cfg: params.cfg,
53920
53920
  sessionKey: params.sessionKey
@@ -54020,7 +54020,7 @@ async function forkSessionFromParent(params) {
54020
54020
  agentId: params.agentId,
54021
54021
  sessionsDir: params.sessionsDir
54022
54022
  });
54023
- if (!parentSessionFile || !syncFs.existsSync(parentSessionFile)) return null;
54023
+ if (!parentSessionFile || !fs$1.existsSync(parentSessionFile)) return null;
54024
54024
  try {
54025
54025
  const manager = SessionManager.open(parentSessionFile);
54026
54026
  const leafId = manager.getLeafId();
@@ -54044,7 +54044,7 @@ async function forkSessionFromParent(params) {
54044
54044
  cwd: manager.getCwd(),
54045
54045
  parentSession: parentSessionFile
54046
54046
  };
54047
- syncFs.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
54047
+ fs$1.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
54048
54048
  return {
54049
54049
  sessionId,
54050
54050
  sessionFile
@@ -63070,7 +63070,7 @@ async function describeStickerImage(params) {
63070
63070
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
63071
63071
  try {
63072
63072
  const buffer = await fs.readFile(imagePath);
63073
- const { describeImageWithModel } = await import("./provider-image-tTArxp_m.js").then((n) => n.n);
63073
+ const { describeImageWithModel } = await import("./provider-image-BqxdhC84.js").then((n) => n.n);
63074
63074
  return (await describeImageWithModel({
63075
63075
  buffer,
63076
63076
  fileName: "sticker.webp",
@@ -64783,7 +64783,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
64783
64783
  let transcript;
64784
64784
  let carry;
64785
64785
  if (needsPreflightTranscription) try {
64786
- const { transcribeFirstAudio } = await import("./audio-preflight-BqDFj2Ws.js");
64786
+ const { transcribeFirstAudio } = await import("./audio-preflight--JCKSyRB.js");
64787
64787
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
64788
64788
  if (uploadable.length > 0) {
64789
64789
  const preflight = await transcribeFirstAudio({
@@ -66244,7 +66244,7 @@ function identityHasValues(identity) {
66244
66244
  }
66245
66245
  function loadIdentityFromFile(identityPath) {
66246
66246
  try {
66247
- const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
66247
+ const parsed = parseIdentityMarkdown(fs$1.readFileSync(identityPath, "utf-8"));
66248
66248
  if (!identityHasValues(parsed)) return null;
66249
66249
  return parsed;
66250
66250
  } catch {
@@ -66268,7 +66268,7 @@ function resolveAvatarSource(cfg, agentId) {
66268
66268
  }
66269
66269
  function resolveExistingPath(value) {
66270
66270
  try {
66271
- return syncFs.realpathSync(value);
66271
+ return fs$1.realpathSync(value);
66272
66272
  } catch {
66273
66273
  return path.resolve(value);
66274
66274
  }
@@ -66286,7 +66286,7 @@ function resolveLocalAvatarPath(params) {
66286
66286
  reason: "unsupported_extension"
66287
66287
  };
66288
66288
  try {
66289
- const stat = syncFs.statSync(realPath);
66289
+ const stat = fs$1.statSync(realPath);
66290
66290
  if (!stat.isFile()) return {
66291
66291
  ok: false,
66292
66292
  reason: "missing"
@@ -71933,23 +71933,23 @@ function createDefaultDeps() {
71933
71933
  };
71934
71934
  },
71935
71935
  sendMessageTelegram: async (...args) => {
71936
- const { sendMessageTelegram } = await import("./send-is_ecMF8.js").then((n) => n.l);
71936
+ const { sendMessageTelegram } = await import("./send-BRRJAJM9.js").then((n) => n.l);
71937
71937
  return await sendMessageTelegram(...args);
71938
71938
  },
71939
71939
  sendMessageDiscord: async (...args) => {
71940
- const { sendMessageDiscord } = await import("./send-DEMG5oDJ.js").then((n) => n.t);
71940
+ const { sendMessageDiscord } = await import("./send-C0_Cahgz.js").then((n) => n.t);
71941
71941
  return await sendMessageDiscord(...args);
71942
71942
  },
71943
71943
  sendMessageSlack: async (...args) => {
71944
- const { sendMessageSlack } = await import("./send-7ZbQnb3_.js").then((n) => n.n);
71944
+ const { sendMessageSlack } = await import("./send-D8garnHE.js").then((n) => n.n);
71945
71945
  return await sendMessageSlack(...args);
71946
71946
  },
71947
71947
  sendMessageSignal: async (...args) => {
71948
- const { sendMessageSignal } = await import("./send-DWgzW_VE.js").then((n) => n.i);
71948
+ const { sendMessageSignal } = await import("./send-CyDzxMSP.js").then((n) => n.i);
71949
71949
  return await sendMessageSignal(...args);
71950
71950
  },
71951
71951
  sendMessageIMessage: async (...args) => {
71952
- const { sendMessageIMessage } = await import("./send-BxB9kMh0.js").then((n) => n.n);
71952
+ const { sendMessageIMessage } = await import("./send-DTHoJI7v.js").then((n) => n.n);
71953
71953
  return await sendMessageIMessage(...args);
71954
71954
  }
71955
71955
  };
@@ -75442,7 +75442,7 @@ function createDiscordGatewayPlugin(params) {
75442
75442
  return super.registerClient(client);
75443
75443
  }
75444
75444
  createWebSocket(url) {
75445
- return new WebSocket(url, { agent: wsAgent });
75445
+ return new WebSocket$1(url, { agent: wsAgent });
75446
75446
  }
75447
75447
  }
75448
75448
  return new ProxyGatewayPlugin();
@@ -77838,7 +77838,7 @@ async function monitorIMessageProvider(opts = {}) {
77838
77838
  function readFileIfExists(filePath) {
77839
77839
  if (!filePath) return;
77840
77840
  try {
77841
- return syncFs.readFileSync(filePath, "utf-8").trim();
77841
+ return fs$1.readFileSync(filePath, "utf-8").trim();
77842
77842
  } catch {
77843
77843
  return;
77844
77844
  }
@@ -78459,7 +78459,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
78459
78459
  prefix: "line-media",
78460
78460
  extension: getExtensionForContentType(contentType)
78461
78461
  });
78462
- await syncFs.promises.writeFile(filePath, buffer);
78462
+ await fs$1.promises.writeFile(filePath, buffer);
78463
78463
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
78464
78464
  return {
78465
78465
  path: filePath,
@@ -84244,7 +84244,7 @@ function readSlackExternalArgMenuToken(raw) {
84244
84244
  }
84245
84245
  let commandsRegistry;
84246
84246
  async function getCommandsRegistry() {
84247
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-gy0GLwWR.js").then((n) => n.n);
84247
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BEs7FrhT.js").then((n) => n.n);
84248
84248
  return commandsRegistry;
84249
84249
  }
84250
84250
  function encodeSlackCommandArgValue(parts) {
@@ -84574,14 +84574,14 @@ async function registerSlackMonitorSlashCommands(params) {
84574
84574
  const channelName = channelInfo?.name;
84575
84575
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
84576
84576
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
84577
- import("./resolve-route-BxKedPkn.js").then((n) => n.r),
84577
+ import("./resolve-route-Cnxsmfj5.js").then((n) => n.r),
84578
84578
  import("./inbound-context-BXGkQwOQ.js").then((n) => n.n),
84579
84579
  Promise.resolve().then(() => provider_dispatcher_exports)
84580
84580
  ]);
84581
84581
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
84582
84582
  import("./conversation-label-BnH5Yy9T.js").then((n) => n.t),
84583
- import("./reply-prefix-BivNEMUT.js").then((n) => n.n),
84584
- import("./session-meta-Bq4VCJl1.js").then((n) => n.n)
84583
+ import("./reply-prefix-r6A18fKP.js").then((n) => n.n),
84584
+ import("./session-meta-Du0u83SI.js").then((n) => n.n)
84585
84585
  ]);
84586
84586
  const route = resolveAgentRoute({
84587
84587
  cfg,
@@ -84646,9 +84646,9 @@ async function registerSlackMonitorSlashCommands(params) {
84646
84646
  });
84647
84647
  const deliverSlashPayloads = async (replies) => {
84648
84648
  const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
84649
- import("./replies-BKYeJ-lN.js").then((n) => n.r),
84650
- import("./chunk-CuqMDQNC.js").then((n) => n.s),
84651
- import("./markdown-tables-D9T2Ko0c.js").then((n) => n.t)
84649
+ import("./replies-LVVUM-gg.js").then((n) => n.r),
84650
+ import("./chunk-odx78Acg.js").then((n) => n.s),
84651
+ import("./markdown-tables-D6t-eoFa.js").then((n) => n.t)
84652
84652
  ]);
84653
84653
  await deliverSlackSlashReplies({
84654
84654
  replies,
@@ -84702,7 +84702,7 @@ async function registerSlackMonitorSlashCommands(params) {
84702
84702
  let nativeCommands = [];
84703
84703
  if (nativeEnabled) {
84704
84704
  reg = await getCommandsRegistry();
84705
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BeW5zYf3.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
84705
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DycP7LkE.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
84706
84706
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
84707
84707
  skillCommands,
84708
84708
  provider: "slack"
@@ -85221,7 +85221,7 @@ async function auditTelegramGroupMembership(params) {
85221
85221
  groups: [],
85222
85222
  elapsedMs: Date.now() - started
85223
85223
  };
85224
- const fetcher = params.proxyUrl ? (await import("./proxy-B2bQVN0b.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
85224
+ const fetcher = params.proxyUrl ? (await import("./proxy-CJMip70P.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
85225
85225
  const { fetchWithTimeout } = await import("./fetch-timeout-BfPtlUW6.js").then((n) => n.r);
85226
85226
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
85227
85227
  const groups = [];
@@ -87748,7 +87748,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
87748
87748
  let audioPreflightCarry;
87749
87749
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
87750
87750
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
87751
- const { transcribeFirstAudio } = await import("./audio-preflight-BqDFj2Ws.js");
87751
+ const { transcribeFirstAudio } = await import("./audio-preflight--JCKSyRB.js");
87752
87752
  const preflight = await transcribeFirstAudio({
87753
87753
  ctx: {
87754
87754
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -92150,7 +92150,7 @@ async function getMemorySearchManager(params) {
92150
92150
  if (cached) return { manager: cached };
92151
92151
  }
92152
92152
  try {
92153
- const { QmdMemoryManager } = await import("./qmd-manager-Bk4YLrFZ.js");
92153
+ const { QmdMemoryManager } = await import("./qmd-manager-yHQXCPr6.js");
92154
92154
  const primary = await QmdMemoryManager.create({
92155
92155
  cfg: params.cfg,
92156
92156
  agentId: params.agentId,
@@ -92162,7 +92162,7 @@ async function getMemorySearchManager(params) {
92162
92162
  const wrapper = new FallbackMemoryManager({
92163
92163
  primary,
92164
92164
  fallbackFactory: async () => {
92165
- const { MemoryIndexManager } = await import("./manager-nGC13TuB.js").then((n) => n.t);
92165
+ const { MemoryIndexManager } = await import("./manager-BUV9VkNZ.js").then((n) => n.t);
92166
92166
  return await MemoryIndexManager.get(params);
92167
92167
  }
92168
92168
  }, () => {
@@ -92177,7 +92177,7 @@ async function getMemorySearchManager(params) {
92177
92177
  }
92178
92178
  }
92179
92179
  try {
92180
- const { MemoryIndexManager } = await import("./manager-nGC13TuB.js").then((n) => n.t);
92180
+ const { MemoryIndexManager } = await import("./manager-BUV9VkNZ.js").then((n) => n.t);
92181
92181
  return { manager: await MemoryIndexManager.get(params) };
92182
92182
  } catch (err) {
92183
92183
  return {
@@ -92729,7 +92729,7 @@ async function withMemoryManagerForAgent(params) {
92729
92729
  }
92730
92730
  async function checkReadableFile(pathname) {
92731
92731
  try {
92732
- await fs.access(pathname, syncFs.constants.R_OK);
92732
+ await fs.access(pathname, fs$1.constants.R_OK);
92733
92733
  return { exists: true };
92734
92734
  } catch (err) {
92735
92735
  const code = err.code;
@@ -92788,7 +92788,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
92788
92788
  }
92789
92789
  let dirReadable = null;
92790
92790
  try {
92791
- await fs.access(memoryDir, syncFs.constants.R_OK);
92791
+ await fs.access(memoryDir, fs$1.constants.R_OK);
92792
92792
  dirReadable = true;
92793
92793
  } catch (err) {
92794
92794
  const code = err.code;
@@ -93235,7 +93235,7 @@ function createPluginRuntime(options = {}) {
93235
93235
  workStates: readTaskWorkStates
93236
93236
  },
93237
93237
  resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
93238
- sessions: { startUserRun: async (params) => (await import("./user-run-recording-_9PhRwgi.js").then((n) => n.n)).startUserSessionRun(params) }
93238
+ sessions: { startUserRun: async (params) => (await import("./user-run-recording-DU3V9-R7.js").then((n) => n.n)).startUserSessionRun(params) }
93239
93239
  };
93240
93240
  Object.defineProperty(runtime, "analysis", {
93241
93241
  enumerable: true,
@@ -93278,7 +93278,7 @@ const resolvePluginSdkAliasFile = (params) => {
93278
93278
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
93279
93279
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
93280
93280
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
93281
- for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
93281
+ for (const candidate of orderedCandidates) if (fs$1.existsSync(candidate)) return candidate;
93282
93282
  const parent = path.dirname(cursor);
93283
93283
  if (parent === cursor) break;
93284
93284
  cursor = parent;
@@ -93821,7 +93821,7 @@ function loadOpenClawPlugins(options = {}) {
93821
93821
  continue;
93822
93822
  }
93823
93823
  const safeSource = opened.path;
93824
- syncFs.closeSync(opened.fd);
93824
+ fs$1.closeSync(opened.fd);
93825
93825
  let mod = null;
93826
93826
  try {
93827
93827
  mod = getJiti()(safeSource);
@@ -93981,7 +93981,7 @@ function loadOpenClawPlugins(options = {}) {
93981
93981
  }
93982
93982
  function safeRealpathOrResolve(value) {
93983
93983
  try {
93984
- return syncFs.realpathSync(value);
93984
+ return fs$1.realpathSync(value);
93985
93985
  } catch {
93986
93986
  return path.resolve(value);
93987
93987
  }
@@ -94443,9 +94443,9 @@ function resolvePatchFileOps(options) {
94443
94443
  });
94444
94444
  assertBoundaryRead(opened, filePath);
94445
94445
  try {
94446
- return syncFs.readFileSync(opened.fd, "utf8");
94446
+ return fs$1.readFileSync(opened.fd, "utf8");
94447
94447
  } finally {
94448
- syncFs.closeSync(opened.fd);
94448
+ fs$1.closeSync(opened.fd);
94449
94449
  }
94450
94450
  },
94451
94451
  writeFile: async (filePath, content) => {
@@ -94741,7 +94741,7 @@ async function recordLoopOutcome(args) {
94741
94741
  if (!args.ctx?.sessionKey) return;
94742
94742
  try {
94743
94743
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bnyx-w0F.js").then((n) => n.n);
94744
- const { recordToolCallOutcome } = await import("./tool-loop-detection-CyJWzj_y.js");
94744
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-B_CTZm9s.js");
94745
94745
  recordToolCallOutcome(getDiagnosticSessionState({
94746
94746
  sessionKey: args.ctx.sessionKey,
94747
94747
  sessionId: args.ctx?.agentId
@@ -94768,8 +94768,8 @@ async function runBeforeToolCallHook(args) {
94768
94768
  const params = args.params;
94769
94769
  if (args.ctx?.sessionKey) {
94770
94770
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bnyx-w0F.js").then((n) => n.n);
94771
- const { logToolLoopAction } = await import("./diagnostic-BHAlpG8z.js").then((n) => n.n);
94772
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-CyJWzj_y.js");
94771
+ const { logToolLoopAction } = await import("./diagnostic-BwoKR7Xi.js").then((n) => n.n);
94772
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-B_CTZm9s.js");
94773
94773
  const sessionState = getDiagnosticSessionState({
94774
94774
  sessionKey: args.ctx.sessionKey,
94775
94775
  sessionId: args.ctx?.agentId
@@ -97184,9 +97184,9 @@ async function readWorkspaceContextForSummary() {
97184
97184
  if (!opened.ok) return "";
97185
97185
  const sections = extractSections((() => {
97186
97186
  try {
97187
- return syncFs.readFileSync(opened.fd, "utf-8");
97187
+ return fs$1.readFileSync(opened.fd, "utf-8");
97188
97188
  } finally {
97189
- syncFs.closeSync(opened.fd);
97189
+ fs$1.closeSync(opened.fd);
97190
97190
  }
97191
97191
  })(), ["Session Startup", "Red Lines"]);
97192
97192
  if (sections.length === 0) return "";
@@ -98969,7 +98969,7 @@ async function compactEmbeddedPiSessionDirect(params) {
98969
98969
  if (!apiKeyInfo.apiKey) {
98970
98970
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
98971
98971
  } else if (model.provider === "github-copilot") {
98972
- const { resolveCopilotApiToken } = await import("./github-copilot-token-zGOMIGSh.js").then((n) => n.n);
98972
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-WSjo05vB.js").then((n) => n.n);
98973
98973
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
98974
98974
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
98975
98975
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -100400,7 +100400,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
100400
100400
  * Throws if the connection is not open.
100401
100401
  */
100402
100402
  send(event) {
100403
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
100403
+ 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"})`);
100404
100404
  this.ws.send(JSON.stringify(event));
100405
100405
  }
100406
100406
  /**
@@ -100417,7 +100417,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
100417
100417
  * Returns true if the WebSocket is currently open and ready to send.
100418
100418
  */
100419
100419
  isConnected() {
100420
- return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
100420
+ return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
100421
100421
  }
100422
100422
  /**
100423
100423
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -100427,7 +100427,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
100427
100427
  this._cancelRetryTimer();
100428
100428
  if (this.ws) {
100429
100429
  this.ws.removeAllListeners();
100430
- if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
100430
+ if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
100431
100431
  this.ws = null;
100432
100432
  }
100433
100433
  }
@@ -100437,7 +100437,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
100437
100437
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
100438
100438
  return;
100439
100439
  }
100440
- const socket = new WebSocket(this.wsUrl, { headers: {
100440
+ const socket = new WebSocket$1(this.wsUrl, { headers: {
100441
100441
  Authorization: `Bearer ${this.apiKey}`,
100442
100442
  "OpenAI-Beta": "responses-websocket=v1"
100443
100443
  } });
@@ -105818,7 +105818,7 @@ async function runEmbeddedPiAgent(params) {
105818
105818
  await copilotTokenState.refreshInFlight;
105819
105819
  return;
105820
105820
  }
105821
- const { resolveCopilotApiToken } = await import("./github-copilot-token-zGOMIGSh.js").then((n) => n.n);
105821
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-WSjo05vB.js").then((n) => n.n);
105822
105822
  copilotTokenState.refreshInFlight = (async () => {
105823
105823
  const githubToken = copilotTokenState.githubToken.trim();
105824
105824
  if (!githubToken) throw new Error("Copilot refresh requires a GitHub token.");
@@ -105910,7 +105910,7 @@ async function runEmbeddedPiAgent(params) {
105910
105910
  return;
105911
105911
  }
105912
105912
  if (model.provider === "github-copilot") {
105913
- const { resolveCopilotApiToken } = await import("./github-copilot-token-zGOMIGSh.js").then((n) => n.n);
105913
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-WSjo05vB.js").then((n) => n.n);
105914
105914
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
105915
105915
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
105916
105916
  if (copilotTokenState) {