wednesdayai 0.4.12-dev.717 → 0.4.12-dev.719

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 (486) hide show
  1. package/dist/{agent-scope-cbxkoURo.js → agent-scope-DxKPMu8w.js} +3 -3
  2. package/dist/{agent-turn-enqueue-N-q0v3mc.js → agent-turn-enqueue-DEStltEg.js} +4 -4
  3. package/dist/{agent-turn-enqueue-Cqo34Swm.js → agent-turn-enqueue-DzWOPhgy.js} +4 -4
  4. package/dist/{agent-turn-execute-Bw9hhkAP.js → agent-turn-execute-CzOC4mHw.js} +124 -97
  5. package/dist/{agent-turn-recovery-adapter-BkIal4FW.js → agent-turn-recovery-adapter-CdLD3DuI.js} +1 -1
  6. package/dist/{agent-turn-recovery-adapter-CLY2Dn04.js → agent-turn-recovery-adapter-DnvjgbK0.js} +1 -1
  7. package/dist/{agent-turn-runner-Vd3aTCni.js → agent-turn-runner-BEvwtTis.js} +1 -1
  8. package/dist/{agent-turn-runner-BsdyAURQ.js → agent-turn-runner-BsxQBFRB.js} +5 -5
  9. package/dist/{agent-turn-runner-CUCOdxhH.js → agent-turn-runner-C1u8sVfA.js} +1 -1
  10. package/dist/{agent-turn-runner-CImqp_RN.js → agent-turn-runner-DpICdamt.js} +1 -1
  11. package/dist/{agents-BBoIqOw6.js → agents-C61lzbyw.js} +4 -4
  12. package/dist/{agents.config-Ctnm8o8d.js → agents.config-BcD-ZJ0N.js} +1 -1
  13. package/dist/{agents.config-C8RJrfbr.js → agents.config-DAh5Ah1J.js} +1 -1
  14. package/dist/{api-key-rotation-BMnyfyGD.js → api-key-rotation-Br7_jaAV.js} +2 -2
  15. package/dist/{artifacts-DUhYSSmK.js → artifacts-QHme-vnS.js} +4 -4
  16. package/dist/{audio-preflight-ifCgpG3c.js → audio-preflight-B_5sTSyb.js} +27 -27
  17. package/dist/{audio-preflight-bEi-KkBn.js → audio-preflight-CehYz7wU.js} +6 -6
  18. package/dist/{audio-preflight-BKQpd1eU.js → audio-preflight-uatGs8bC.js} +6 -6
  19. package/dist/{audio-transcription-runner-CGTNNwbm.js → audio-transcription-runner-BvZFFknx.js} +1 -1
  20. package/dist/{audio-transcription-runner-BD7UgbNj.js → audio-transcription-runner-CJ8YdMv-.js} +1 -1
  21. package/dist/{audio-transcription-runner-ipSQoPp8.js → audio-transcription-runner-XFfvRPXl.js} +11 -11
  22. package/dist/{audit-CcNEpaG6.js → audit-C0WHA5BX.js} +3 -3
  23. package/dist/{audit-BM8WZyx6.js → audit-UMAK8rQC.js} +3 -3
  24. package/dist/{auth-choice-DTg-b2da.js → auth-choice-BHU_G3if.js} +1 -1
  25. package/dist/{auth-choice-VnJYar-i.js → auth-choice-CHzuLxTp.js} +1 -1
  26. package/dist/{banner-_g-nCJoZ.js → banner-BAtbMrrp.js} +1 -1
  27. package/dist/build-info.json +3 -3
  28. package/dist/bundled/boot-md/handler.js +58 -58
  29. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  30. package/dist/bundled/command-logger/handler.js +2 -2
  31. package/dist/bundled/session-journal/handler.js +58 -58
  32. package/dist/bundled/session-memory/handler.js +58 -58
  33. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  34. package/dist/{channel-activity-BJHm_pDV.js → channel-activity-DNq7LYjU.js} +3 -3
  35. package/dist/{channel-options-BX8MFfPW.js → channel-options-CsgHOF5l.js} +1 -1
  36. package/dist/{channel-options-Dod3uWTl.js → channel-options-DRnowLFK.js} +1 -1
  37. package/dist/{channels-cli-MbAArXF1.js → channels-cli-BN4oTmr6.js} +23 -23
  38. package/dist/{channels-cli-DyfFtAZa.js → channels-cli-Cn1IUfM3.js} +23 -23
  39. package/dist/{chrome-DTJprCGv.js → chrome-FHxGdLnd.js} +15 -15
  40. package/dist/{chunk-eNEsWhab.js → chunk-BhntPUH_.js} +3 -3
  41. package/dist/{cli-DF91S8Cf.js → cli-BGAvAUiU.js} +17 -17
  42. package/dist/{cli-CdrO5h4P.js → cli-CFIRmNaZ.js} +17 -17
  43. package/dist/{command-queue-DmXWCoY0.js → command-queue-DtybAhHH.js} +1 -1
  44. package/dist/{command-queue-BTAxEdto.js → command-queue-SzKgkaS6.js} +1 -1
  45. package/dist/{command-queue-URs9pYSC.js → command-queue-zXu22yak.js} +1 -1
  46. package/dist/{command-registry-C7nkhshN.js → command-registry-DBfEAwIt.js} +9 -9
  47. package/dist/{commands-registry-DdQg21ct.js → commands-registry-DC0fovy_.js} +2 -2
  48. package/dist/{completion-cli-CjPs9az4.js → completion-cli-BfRsix3J.js} +2 -2
  49. package/dist/{completion-cli-DozvikmZ.js → completion-cli-L5YP0rxV.js} +1 -1
  50. package/dist/{config-cli-Dv1Dad57.js → config-cli-D4Gxd0pm.js} +1 -1
  51. package/dist/{config-cli-Dagtz6FG.js → config-cli-dgRsXbD3.js} +1 -1
  52. package/dist/config.js +9 -9
  53. package/dist/{configure-BbKf530X.js → configure-BN-JNKf7.js} +3 -3
  54. package/dist/{configure-CBJSHejz.js → configure-DtRyMLwO.js} +3 -3
  55. package/dist/{deliver-C5SDo7TP.js → deliver-Aw7d03gL.js} +1 -1
  56. package/dist/{deliver-CVWbwPkb.js → deliver-CXqNQ8yi.js} +24 -24
  57. package/dist/{deliver-8xg5ISEI.js → deliver-D37woOwV.js} +1 -1
  58. package/dist/{diagnostic-DI-K8155.js → diagnostic-Bbg-zObh.js} +5 -5
  59. package/dist/{diagnostic-D7DvV7NT.js → diagnostic-Cid_Tw67.js} +1 -1
  60. package/dist/{diagnostic-Dv8UWiI0.js → diagnostic-lG00b_zg.js} +1 -1
  61. package/dist/{dm-policy-shared-BLJbsZzf.js → dm-policy-shared-BJNH9gNN.js} +1 -1
  62. package/dist/{doctor-completion-D4T2GzR7.js → doctor-completion-ChF4A40n.js} +1 -1
  63. package/dist/{doctor-completion-CJYV2FQ5.js → doctor-completion-DIFx6d6S.js} +1 -1
  64. package/dist/entry.js +2 -2
  65. package/dist/extensionAPI.js +2 -2
  66. package/dist/{fetch-BzXaK9px.js → fetch-BoHKSk-O.js} +8 -8
  67. package/dist/{fetch-guard-0mkjBgri.js → fetch-guard-TJjLK0FV.js} +3 -3
  68. package/dist/{frontmatter-PMByWrfP.js → frontmatter-saAwiKEb.js} +5 -5
  69. package/dist/{fs-safe-DwICJjkN.js → fs-safe-LRpYbPaA.js} +4 -4
  70. package/dist/{gateway-cli-DtFDQj5d.js → gateway-cli-BJ9wa3Hc.js} +40 -40
  71. package/dist/{gateway-cli-Cyivh-5T.js → gateway-cli-CVnksdlt.js} +40 -40
  72. package/dist/{github-copilot-token-WSjo05vB.js → github-copilot-token-zGOMIGSh.js} +7 -7
  73. package/dist/{health-Cooqit6V.js → health-Cxv6ou16.js} +2 -2
  74. package/dist/{health-DFat5vO5.js → health-Q4hCJ8O2.js} +2 -2
  75. package/dist/{hooks-cli-CB-96Su8.js → hooks-cli-ChZY2urb.js} +19 -19
  76. package/dist/{hooks-cli-yNAgxRQS.js → hooks-cli-DOHX--ha.js} +19 -19
  77. package/dist/{image-ops-O8pHxo7i.js → image-ops-D_fm2PuR.js} +1 -1
  78. package/dist/index.js +21 -21
  79. package/dist/{installs-CpnJwZZ_.js → installs-78zhoWuO.js} +1 -1
  80. package/dist/{installs-CdLdL1gD.js → installs-Du8n8Do9.js} +1 -1
  81. package/dist/{ir-fzpdYPWw.js → ir-C4MMLUJr.js} +5 -5
  82. package/dist/{legacy-names-CLlrMq8r.js → legacy-names-vLJrYADD.js} +1 -1
  83. package/dist/llm-slug-generator.js +58 -58
  84. package/dist/{logger-DNehzD_s.js → logger-a0-zAY5a.js} +1 -1
  85. package/dist/{manager-DH-MILAU.js → manager-DdA_cy40.js} +12 -12
  86. package/dist/{markdown-tables-UWspJNAH.js → markdown-tables-Dd7jV1JF.js} +2 -2
  87. package/dist/{model-selection-9qbqwsOT.js → model-selection-CdZITU0t.js} +86 -86
  88. package/dist/{models-Dlat36jl.js → models-BbhdUY5g.js} +1 -1
  89. package/dist/{models-cli-vjFaOcNS.js → models-cli-BekoSHw2.js} +18 -18
  90. package/dist/{models-cli-DMjHkAqq.js → models-cli-BmL2dpSq.js} +17 -17
  91. package/dist/{node-cli-dh4qWKpT.js → node-cli-BTywy8AL.js} +3 -3
  92. package/dist/{node-cli-Csimlxec.js → node-cli-BVgH-DXq.js} +3 -3
  93. package/dist/{npm-pack-install-DcBobJp3.js → npm-pack-install-B-cOWuiF.js} +1 -1
  94. package/dist/{npm-pack-install-B7wQANiM.js → npm-pack-install-opyKYSmS.js} +1 -1
  95. package/dist/{npm-resolution-B0rqOBgy.js → npm-resolution-51BBOWpQ.js} +2 -2
  96. package/dist/{npm-resolution-SdoNL0ud.js → npm-resolution-6WKQ6nBu.js} +2 -2
  97. package/dist/{onboard-_pVU_O8s.js → onboard-Cj-sLY2K.js} +2 -2
  98. package/dist/{onboard-DuNuHUvh.js → onboard-CnRiqboN.js} +2 -2
  99. package/dist/{onboard-channels-P7F-dNwm.js → onboard-channels-DAwHVQ1P.js} +2 -2
  100. package/dist/{onboard-channels-28JqVvAv.js → onboard-channels-DYRTySsa.js} +2 -2
  101. package/dist/{onboarding-BcI8N4WK.js → onboarding-CujUbWy2.js} +3 -3
  102. package/dist/{onboarding-BBb8ZbfX.js → onboarding-DidWWI3X.js} +3 -3
  103. package/dist/{onboarding.finalize-BXkz7oPa.js → onboarding.finalize-CDE1nAu8.js} +23 -23
  104. package/dist/{onboarding.finalize-D9fyrhAS.js → onboarding.finalize-DTqRxVZH.js} +22 -22
  105. package/dist/{operator-commands-CtYCnspr.js → operator-commands-Bfd55UfE.js} +2 -2
  106. package/dist/{operator-commands-CIz47IKl.js → operator-commands-Ct0WXISe.js} +2 -2
  107. package/dist/{outbound-attachment-DVKqk30B.js → outbound-attachment-CqtMGpsJ.js} +2 -2
  108. package/dist/{outbound-message-hooks-S_VhlJs3.js → outbound-message-hooks-RBQbGzGm.js} +4 -4
  109. package/dist/{path-alias-guards-Cd5yHmTq.js → path-alias-guards-Zj-NwKjV.js} +1 -1
  110. package/dist/{paths-Cvc9EM8Y.js → paths-C6TxBCvO.js} +5 -5
  111. package/dist/{pi-embedded-wjGM_bNN.js → pi-embedded-B6sr5IdC.js} +102 -75
  112. package/dist/{pi-embedded-Qyba-Rws.js → pi-embedded-B9bOSjfE.js} +270 -243
  113. package/dist/{pi-embedded-helpers-BU47jdPO.js → pi-embedded-helpers-BAjtRn7m.js} +1 -1
  114. package/dist/{pi-embedded-helpers-5JApWu7A.js → pi-embedded-helpers-BYLOFsUc.js} +24 -24
  115. package/dist/{pi-embedded-helpers-i0-tPaxH.js → pi-embedded-helpers-CPorV-Mk.js} +1 -1
  116. package/dist/{pi-embedded-recovery-adapter-CNdSU-s7.js → pi-embedded-recovery-adapter-B8Goyik3.js} +8 -8
  117. package/dist/{pi-embedded-recovery-adapter-DL78oCTf.js → pi-embedded-recovery-adapter-Cs1EJElw.js} +8 -8
  118. package/dist/{pi-embedded-recovery-adapter-1Lgt8q1h.js → pi-embedded-recovery-adapter-ZPyX9YC1.js} +2 -2
  119. package/dist/{pi-embedded-recovery-adapter-B2AFWrYt.js → pi-embedded-recovery-adapter-swbNIWgT.js} +2 -2
  120. package/dist/{pi-embedded-utils-8OzPnJMh.js → pi-embedded-utils-CT_f_S3Y.js} +1 -1
  121. package/dist/{pi-embedded-utils-kHMmP2Xh.js → pi-embedded-utils-DOtaZ7KV.js} +3 -3
  122. package/dist/{pi-embedded-utils-BtOzugyp.js → pi-embedded-utils-lp-U3XQ9.js} +1 -1
  123. package/dist/{pi-model-discovery-CsC6yTDG.js → pi-model-discovery-B9KKtGuw.js} +7 -7
  124. package/dist/{pi-tools.policy-DPm2eos4.js → pi-tools.policy-r9H_A-NQ.js} +1 -1
  125. package/dist/{plugin-registry-CPS5bO_-.js → plugin-registry-CwGfmKsn.js} +1 -1
  126. package/dist/{plugin-registry-CC8YsXPr.js → plugin-registry-EHKfjAoe.js} +1 -1
  127. package/dist/plugin-sdk/{agent-scope-BYp_CjdU.js → agent-scope-BLF4nZUv.js} +2 -2
  128. package/dist/plugin-sdk/{agent-scope-DU8uJiiv.js → agent-scope-BQYVQxfQ.js} +2 -2
  129. package/dist/plugin-sdk/agent-turn-execute-BVPDW02i.js +61 -0
  130. package/dist/plugin-sdk/agent-turn-execute-zuw0S_Lh.js +61 -0
  131. package/dist/plugin-sdk/agent-turn-runner-BcrkoR1M.js +11 -0
  132. package/dist/plugin-sdk/{agent-turn-runner-CmDXH4Z8.js → agent-turn-runner-DDIT9POj.js} +6 -6
  133. package/dist/plugin-sdk/{agent-turn-runner-B9_FKVSu.js → agent-turn-runner-DjK-LdTA.js} +6 -6
  134. package/dist/plugin-sdk/{api-key-rotation-Oe0hkmVQ.js → api-key-rotation-BW3rq9Tg.js} +2 -2
  135. package/dist/plugin-sdk/{api-key-rotation-CDNf_4cI.js → api-key-rotation-XDUKz2gd.js} +2 -2
  136. package/dist/plugin-sdk/{artifacts-Dk-7TtTn.js → artifacts-C8xK4Y3e.js} +1 -1
  137. package/dist/plugin-sdk/{artifacts-BMLMg3MG.js → artifacts-HAYpGlG1.js} +1 -1
  138. package/dist/plugin-sdk/{audio-preflight-BmKL6FNP.js → audio-preflight-BS29OWk3.js} +2 -2
  139. package/dist/plugin-sdk/{audio-preflight-8hRbl8Io.js → audio-preflight-Bi8RI9zM.js} +22 -22
  140. package/dist/plugin-sdk/audio-preflight-DE04bi4M.js +28 -0
  141. package/dist/plugin-sdk/{audio-transcription-runner-TBjJv_mZ.js → audio-transcription-runner-BNafitZj.js} +10 -10
  142. package/dist/plugin-sdk/{audio-transcription-runner-CUsZFiEA.js → audio-transcription-runner-CGgNZVZv.js} +11 -11
  143. package/dist/plugin-sdk/{auth-profiles-DHZjW8Vk.js → auth-profiles-CCJQoedi.js} +5 -5
  144. package/dist/plugin-sdk/{auth-profiles-OgKl-vr-.js → auth-profiles-CIKTWees.js} +5 -5
  145. package/dist/plugin-sdk/{channel-activity-Dr4PYej7.js → channel-activity-BKwRzYJb.js} +3 -3
  146. package/dist/plugin-sdk/{channel-activity-OIauZrkN.js → channel-activity-Ck83U_es.js} +3 -3
  147. package/dist/plugin-sdk/{chrome-VZ0Zuu2w.js → chrome-CT_6RvJg.js} +4 -4
  148. package/dist/plugin-sdk/{chrome-BDy1zYAr.js → chrome-D0eLSqkP.js} +4 -4
  149. package/dist/plugin-sdk/{chunk-DGQdf0JN.js → chunk-CDvvv9SU.js} +3 -3
  150. package/dist/plugin-sdk/{chunk-BWz-lIzS.js → chunk-D6yDhUpF.js} +4 -4
  151. package/dist/plugin-sdk/{chunk-BTSnO1wn.js → chunk-DI-5pBck.js} +6 -6
  152. package/dist/plugin-sdk/{command-detection-DdTnFMU3.js → command-detection-WNHSrul-.js} +186 -159
  153. package/dist/plugin-sdk/{command-queue-CeaLVs8O.js → command-queue-BnJsJc_w.js} +8 -8
  154. package/dist/plugin-sdk/{command-queue-DFSOdqCK.js → command-queue-CHiQj9Ji.js} +1 -1
  155. package/dist/plugin-sdk/{command-queue-D_UFlrwC.js → command-queue-DH8k55DC.js} +2 -2
  156. package/dist/plugin-sdk/{commands-registry-8sy0wsK_.js → commands-registry-Do_g2It_.js} +6 -6
  157. package/dist/plugin-sdk/{commands-registry-N6f_lsxF.js → commands-registry-DpLk11E7.js} +2 -2
  158. package/dist/plugin-sdk/{commands-registry-XW2hmbAE.js → commands-registry-DuwlD_aI.js} +3 -3
  159. package/dist/plugin-sdk/{config-Biusjzx-.js → config-CQNfmIC8.js} +7 -7
  160. package/dist/plugin-sdk/deliver-D4fWK65M.js +32 -0
  161. package/dist/plugin-sdk/deliver-DuDcszu1.js +32 -0
  162. package/dist/plugin-sdk/{deliver-BgHA8c9F.js → deliver-L6eu6zyG.js} +11 -11
  163. package/dist/plugin-sdk/{deliver-B7W4NNsR.js → deliver-_UyigkEK.js} +11 -11
  164. package/dist/plugin-sdk/{diagnostic-D6hSjxiv.js → diagnostic-C7lPoqyv.js} +5 -5
  165. package/dist/plugin-sdk/{diagnostic-Bni_8VyY.js → diagnostic-DfxuMWHd.js} +7 -7
  166. package/dist/plugin-sdk/{diagnostic-BRUM6uNI.js → diagnostic-Dk57KVjE.js} +7 -7
  167. package/dist/plugin-sdk/{diagnostic-session-state-BsHrQ7U3.js → diagnostic-session-state-BjuWxrAM.js} +1 -1
  168. package/dist/plugin-sdk/{fetch-C1vgNaXJ.js → fetch-D1jXg-ju.js} +1 -1
  169. package/dist/plugin-sdk/{fetch-hEreHolP.js → fetch-DFZXuu3W.js} +7 -7
  170. package/dist/plugin-sdk/{fetch-guard-C1a1KfEb.js → fetch-guard-CZT8FU1i.js} +3 -3
  171. package/dist/plugin-sdk/{fetch-guard-B2Wnl9Vi.js → fetch-guard-DnwfMurj.js} +4 -4
  172. package/dist/plugin-sdk/{fetch-timeout-A1m6BOhm.js → fetch-timeout-D7XVWfxj.js} +1 -1
  173. package/dist/plugin-sdk/{fs-safe-CbZ6uRVv.js → fs-safe-B0JgGdXa.js} +3 -3
  174. package/dist/plugin-sdk/{fs-safe-ClebEeLz.js → fs-safe-BQ5cHy9G.js} +3 -3
  175. package/dist/plugin-sdk/{hook-runner-global-BvxlnAyu.js → hook-runner-global-WRI53ibi.js} +3 -3
  176. package/dist/plugin-sdk/{image-ops-Bm03YsK2.js → image-ops-0TjWNKUx.js} +1 -1
  177. package/dist/plugin-sdk/{image-ops-DY_SZfXk.js → image-ops-kuILYHZv.js} +1 -1
  178. package/dist/plugin-sdk/{inbound-context-Cmgtf5my.js → inbound-context-Bfr5DkdO.js} +1 -1
  179. package/dist/plugin-sdk/index.js +54 -54
  180. package/dist/plugin-sdk/{ir-BNohi6ZW.js → ir-Bm7oqkwT.js} +5 -5
  181. package/dist/plugin-sdk/{ir-1CthVxHv.js → ir-CbL0sVL2.js} +5 -5
  182. package/dist/plugin-sdk/{local-roots-Bm7nDW20.js → local-roots-D-CHzVr1.js} +7 -7
  183. package/dist/plugin-sdk/{logger-D6KsqbNW.js → logger-BSK-0Yjx.js} +1 -1
  184. package/dist/plugin-sdk/{logger-BkzoyfHW.js → logger-D5s3kiib.js} +1 -1
  185. package/dist/plugin-sdk/manager-BlYRVNJI.js +16 -0
  186. package/dist/plugin-sdk/manager-Bqpqu2GS.js +16 -0
  187. package/dist/plugin-sdk/{manager-C4CJpRd9.js → manager-CHBt3PC-.js} +8 -8
  188. package/dist/plugin-sdk/{manager-B_vK9MbM.js → manager-D2jffdjH.js} +8 -8
  189. package/dist/plugin-sdk/{markdown-tables-DZM4NfLU.js → markdown-tables-CBGsimjo.js} +3 -3
  190. package/dist/plugin-sdk/{markdown-tables-G4vK24xc.js → markdown-tables-DIWQQ2W1.js} +2 -2
  191. package/dist/plugin-sdk/markdown-tables-cZSKCBuW.js +10 -0
  192. package/dist/plugin-sdk/{outbound-attachment-GMgXpDQm.js → outbound-attachment-C5x2htXW.js} +2 -2
  193. package/dist/plugin-sdk/{outbound-attachment-Cw7T2Mrt.js → outbound-attachment-CtKKNyms.js} +2 -2
  194. package/dist/plugin-sdk/{outbound-message-hooks-BUHUdpjM.js → outbound-message-hooks-2YmJP9k-.js} +3 -3
  195. package/dist/plugin-sdk/{path-alias-guards-Dft7g-_v.js → path-alias-guards-BIPHhakQ.js} +1 -1
  196. package/dist/plugin-sdk/{path-alias-guards-CVybi_GQ.js → path-alias-guards-CHfCMaeX.js} +1 -1
  197. package/dist/plugin-sdk/{pi-embedded-helpers-B_jgacW8.js → pi-embedded-helpers-BRymkO_1.js} +11 -11
  198. package/dist/plugin-sdk/{pi-embedded-helpers-B-OOYT64.js → pi-embedded-helpers-CELD3Ns3.js} +11 -11
  199. package/dist/plugin-sdk/{pi-embedded-utils-BoSGTbYO.js → pi-embedded-utils-AFQ-oCFM.js} +3 -3
  200. package/dist/plugin-sdk/{pi-embedded-utils-DOXEm_H8.js → pi-embedded-utils-BHmc3RVS.js} +3 -3
  201. package/dist/plugin-sdk/{pi-model-discovery-DWw1ReX-.js → pi-model-discovery-4X7_2_nP.js} +6 -6
  202. package/dist/plugin-sdk/{pi-model-discovery-DWUrLRLg.js → pi-model-discovery-6BBajZds.js} +1 -1
  203. package/dist/plugin-sdk/{pi-model-discovery-DF6l-F8s.js → pi-model-discovery-C37z3zkx.js} +2 -2
  204. package/dist/plugin-sdk/provider-dispatcher-B4PdTha5.js +61 -0
  205. package/dist/plugin-sdk/provider-dispatcher-D7UK3G8K.js +61 -0
  206. package/dist/plugin-sdk/provider-image-Bumd1GBG.js +22 -0
  207. package/dist/plugin-sdk/provider-image-CNlYbRab.js +22 -0
  208. package/dist/plugin-sdk/{provider-image-zNa1Cccq.js → provider-image-CbZOYl0b.js} +5 -5
  209. package/dist/plugin-sdk/{provider-image-CEQrHWYz.js → provider-image-DBye3Ln5.js} +5 -5
  210. package/dist/plugin-sdk/{proxy-CXI1ycJj.js → proxy-CjNR_U3u.js} +2 -2
  211. package/dist/plugin-sdk/proxy-D2uiu68M.js +7 -0
  212. package/dist/plugin-sdk/{proxy-BWc9guJs.js → proxy-DJ2nskkh.js} +1 -1
  213. package/dist/plugin-sdk/{proxy-env-B3rQCyUO.js → proxy-env-ubutfW07.js} +2 -2
  214. package/dist/plugin-sdk/{proxy-fetch-BYkGxQnh.js → proxy-fetch-CuQpjpkI.js} +1 -1
  215. package/dist/plugin-sdk/{proxy-fetch-CNBkczcW.js → proxy-fetch-Cv4b428x.js} +1 -1
  216. package/dist/plugin-sdk/{pw-ai-DQv6Xhce.js → pw-ai-BJrhPMHJ.js} +10 -10
  217. package/dist/plugin-sdk/{pw-ai-JJrE-B1e.js → pw-ai-hVucoF_I.js} +10 -10
  218. package/dist/plugin-sdk/{qmd-manager-CkQhKIXI.js → qmd-manager-Bv5B9pi9.js} +8 -8
  219. package/dist/plugin-sdk/{qmd-manager-CpV0SFnY.js → qmd-manager-DhW_frb3.js} +8 -8
  220. package/dist/plugin-sdk/{query-expansion-DjZsVofz.js → query-expansion-CWwH9pqd.js} +3 -3
  221. package/dist/plugin-sdk/{query-expansion-CwmHvvV_.js → query-expansion-NpBeKA8F.js} +3 -3
  222. package/dist/plugin-sdk/{recorder-BU_faNrp.js → recorder-C3qdhG-p.js} +4 -4
  223. package/dist/plugin-sdk/{recorder-BXZMRSjO.js → recorder-DdbAQ2HO.js} +4 -4
  224. package/dist/{redact-BOHmCPP_.js → plugin-sdk/redact-BEcZiZI1.js} +1 -1
  225. package/dist/plugin-sdk/{redact-C88Ryyfs.js → redact-CUjmZn2Y.js} +1 -1
  226. package/dist/plugin-sdk/{registry-tm0HFWKN.js → registry-BXmLBUZj.js} +7 -7
  227. package/dist/plugin-sdk/replies-0gHRQjbA.js +25 -0
  228. package/dist/plugin-sdk/{replies-CS2GXrd-.js → replies-CjeAGcJx.js} +4 -4
  229. package/dist/plugin-sdk/{replies-l2hZAzbt.js → replies-Dw3jvqpR.js} +4 -4
  230. package/dist/plugin-sdk/replies-XUkqz_7S.js +25 -0
  231. package/dist/plugin-sdk/{reply-directives-BwxzQXmX.js → reply-directives-BS8Ge06Z.js} +2 -2
  232. package/dist/plugin-sdk/{reply-directives-hfOVgXpA.js → reply-directives-OuX5Mba_.js} +2 -2
  233. package/dist/plugin-sdk/{reply-prefix-BKQgC6Vj.js → reply-prefix-C83iSHUo.js} +2 -2
  234. package/dist/plugin-sdk/{reply-prefix-qLQRxqrf.js → reply-prefix-Dt1hESHJ.js} +1 -1
  235. package/dist/plugin-sdk/reply-prefix-MU3uY52y.js +7 -0
  236. package/dist/plugin-sdk/{resolve-route-tqQv32nr.js → resolve-route-BLBv69wV.js} +5 -5
  237. package/dist/plugin-sdk/{resolve-route-50KoArP9.js → resolve-route-BpLuk-wC.js} +4 -4
  238. package/dist/plugin-sdk/{resolve-route-6v1HVvWk.js → resolve-route-DiQTL1qI.js} +6 -6
  239. package/dist/plugin-sdk/runs-B3DB63tB.js +25 -0
  240. package/dist/plugin-sdk/{runs-H2FY7UEk.js → runs-CPWQbljV.js} +8 -8
  241. package/dist/plugin-sdk/{runs-CiohhBb8.js → runs-D6fAvItC.js} +7 -7
  242. package/dist/plugin-sdk/runs-R28wdt7j.js +25 -0
  243. package/dist/plugin-sdk/{send-CEtGyK32.js → send-B2Kip2qd.js} +8 -8
  244. package/dist/plugin-sdk/{send-Cv2CGnsK.js → send-BDwTyH6I.js} +8 -8
  245. package/dist/plugin-sdk/{send-BjR1QHnz.js → send-BUAw8fe4.js} +7 -7
  246. package/dist/plugin-sdk/{send-BMhuEEtY.js → send-BwoWjRrJ.js} +9 -9
  247. package/dist/plugin-sdk/send-C28pxKhC.js +27 -0
  248. package/dist/plugin-sdk/{send-DM6RpDCL.js → send-CE_6VOiQ.js} +7 -7
  249. package/dist/plugin-sdk/send-COofA0BG.js +23 -0
  250. package/dist/plugin-sdk/{send-Cx6gHjnA.js → send-Ce2XBaKF.js} +6 -6
  251. package/dist/plugin-sdk/{send-DdPdUcD0.js → send-CfSEKKlU.js} +6 -6
  252. package/dist/plugin-sdk/send-Cg2VXcO0.js +27 -0
  253. package/dist/plugin-sdk/{send-BMSqETcU.js → send-CpXGZgrS.js} +6 -6
  254. package/dist/plugin-sdk/send-DAs6FmWB.js +23 -0
  255. package/dist/plugin-sdk/{send-CF3PEjRy.js → send-DE9YP1gQ.js} +14 -14
  256. package/dist/plugin-sdk/{send-DUJMd2d7.js → send-D_2cxLLi.js} +20 -20
  257. package/dist/plugin-sdk/{send-DO0C4Uva.js → send-GMYUhBtJ.js} +19 -19
  258. package/dist/plugin-sdk/send-NUHfC-G_.js +25 -0
  259. package/dist/plugin-sdk/{send-DG4MQPPm.js → send-R0HB1-l-.js} +13 -13
  260. package/dist/plugin-sdk/send-Tm5-7bLz.js +24 -0
  261. package/dist/plugin-sdk/send-UIQH_kN6.js +25 -0
  262. package/dist/plugin-sdk/send-tASIQF-Q.js +24 -0
  263. package/dist/plugin-sdk/{session-meta-CiqJP0pO.js → session-meta-BU2WXD0N.js} +2 -2
  264. package/dist/plugin-sdk/{session-meta-oR-S9C5J.js → session-meta-D3W538Wj.js} +3 -3
  265. package/dist/plugin-sdk/session-meta-Dd1ZONel.js +10 -0
  266. package/dist/plugin-sdk/{skill-commands-CE_SkRQk.js → skill-commands-BYfWIPfV.js} +5 -5
  267. package/dist/plugin-sdk/{skill-commands-Bh43SlDc.js → skill-commands-ByVQek_m.js} +6 -6
  268. package/dist/plugin-sdk/skill-commands-C7ZE3rKj.js +14 -0
  269. package/dist/plugin-sdk/{skills-CatBv8W4.js → skills-BGgry_YW.js} +6 -6
  270. package/dist/plugin-sdk/{skills-CjW6uGTa.js → skills-BuJjEYto.js} +6 -6
  271. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/attempt.d.ts +3 -0
  272. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-result-context-guard.d.ts +12 -3
  273. package/dist/plugin-sdk/{ssrf-BUCEDxp5.js → ssrf-DiAz1Z_z.js} +2 -2
  274. package/dist/plugin-sdk/{store-yBNTHg3N.js → store-Bl3Yjf_w.js} +2 -2
  275. package/dist/plugin-sdk/{store-6JKvp2Zu.js → store-C6ZLKWUS.js} +2 -2
  276. package/dist/plugin-sdk/subagent-registry-Bxwla-0-.js +61 -0
  277. package/dist/plugin-sdk/subagent-registry-CTZBVVPF.js +61 -0
  278. package/dist/plugin-sdk/{subsystem-CchgWuXK.js → subsystem-0F3fEqJW.js} +4 -4
  279. package/dist/plugin-sdk/{subsystem-CUUKL6Fr.js → subsystem-B2x33s9h.js} +4 -4
  280. package/dist/plugin-sdk/{tables-BPCP4CpE.js → tables-BCSRuiq_.js} +1 -1
  281. package/dist/plugin-sdk/{tables-DKYi6grj.js → tables-CTmQQyfU.js} +1 -1
  282. package/dist/plugin-sdk/testing.js +55 -55
  283. package/dist/plugin-sdk/{tokens-Cioh8xR5.js → tokens-DxJSOoJn.js} +1 -1
  284. package/dist/plugin-sdk/{tokens-ysZUkYZZ.js → tokens-O0pGqOuf.js} +1 -1
  285. package/dist/plugin-sdk/{tool-loop-detection-BN0lIxLx.js → tool-loop-detection-BG8uP1aD.js} +1 -1
  286. package/dist/plugin-sdk/{tool-loop-detection-LsvZ1dIY.js → tool-loop-detection-Buouaxew.js} +1 -1
  287. package/dist/plugin-sdk/{tools-4rcPGSNh.js → tools-iyXmO6p1.js} +194 -167
  288. package/dist/plugin-sdk/user-run-recording-BMikDBXR.js +11 -0
  289. package/dist/plugin-sdk/{user-run-recording-DlpzQk0X.js → user-run-recording-iS-qLIN9.js} +3 -3
  290. package/dist/plugin-sdk/{user-run-recording-BMaK7jNR.js → user-run-recording-juCW_uQ-.js} +2 -2
  291. package/dist/{plugins-cli-yjyVyPjc.js → plugins-cli-B0I1Xkrz.js} +22 -22
  292. package/dist/{plugins-cli-Cpq4XXoA.js → plugins-cli-CmYpruM_.js} +22 -22
  293. package/dist/{program-CB5O-AyY.js → program-CA1rDqtK.js} +23 -23
  294. package/dist/{program-context-DxwZAeg4.js → program-context-BCo6By7P.js} +22 -22
  295. package/dist/{prompt-select-styled-CfTLn2TL.js → prompt-select-styled-BAmwLkut.js} +6 -6
  296. package/dist/{prompt-select-styled-1UYyuvWX.js → prompt-select-styled-cL1dmYcO.js} +6 -6
  297. package/dist/{provider-image-Cb4z6zUu.js → provider-image-BllyLBJM.js} +5 -5
  298. package/dist/{provider-image-CZlpEJVI.js → provider-image-CIpRvhkS.js} +1 -1
  299. package/dist/{provider-image-UXLX6qTH.js → provider-image-D9B_J5Ys.js} +1 -1
  300. package/dist/{proxy-env-i0jn5uxB.js → proxy-env-CzGKpJY_.js} +2 -2
  301. package/dist/{proxy-C9sq6M-h.js → proxy-fWL7CKDP.js} +1 -1
  302. package/dist/{proxy-fetch-CK5AQAYw.js → proxy-fetch-DCI0KuH6.js} +1 -1
  303. package/dist/{push-apns-DYlVj3Sd.js → push-apns-Bhf8qK68.js} +2 -2
  304. package/dist/{push-apns-uBiZYT2e.js → push-apns-BmrddV2R.js} +2 -2
  305. package/dist/{pw-ai-CZJk6UyG.js → pw-ai-CKjrjwfw.js} +1 -1
  306. package/dist/{pw-ai-DziGw6Jy.js → pw-ai-CXSJw34w.js} +14 -14
  307. package/dist/{pw-ai-2o8dgziH.js → pw-ai-Cd08hlBj.js} +1 -1
  308. package/dist/{qmd-manager-p036XU01.js → qmd-manager-BwZ0V5fL.js} +10 -10
  309. package/dist/{query-expansion-30x7RlZY.js → query-expansion-31VWpPCz.js} +5 -5
  310. package/dist/{reconcile-bundled-Dx64x8xr.js → reconcile-bundled-Bl6XpmI5.js} +1 -1
  311. package/dist/{reconcile-bundled-oQwTCU_A.js → reconcile-bundled-TswjG3xv.js} +1 -1
  312. package/dist/{recorder-C_ViZLf1.js → recorder-DNRxe9C8.js} +4 -4
  313. package/dist/{recovery-adapter-BvRiQZIb.js → recovery-adapter-DOizlZvv.js} +8 -8
  314. package/dist/{recovery-adapter-BcPtMfaC.js → recovery-adapter-DW0R_vFE.js} +1 -1
  315. package/dist/{recovery-adapter-BT7EyQzh.js → recovery-adapter-DyPV7syS.js} +8 -8
  316. package/dist/{recovery-adapter-CTqGLqLj.js → recovery-adapter-mi8jbyvy.js} +1 -1
  317. package/dist/{plugin-sdk/redact-CdcLrd0n.js → redact-DZne_lu8.js} +1 -1
  318. package/dist/{register.agent-DpYKNZhv.js → register.agent-B3BSgQcW.js} +22 -22
  319. package/dist/{register.agent-DxsC-Szl.js → register.agent-CSHtI9uN.js} +23 -23
  320. package/dist/{register.configure-DUg0MNnJ.js → register.configure-CYwDM9d3.js} +23 -23
  321. package/dist/{register.configure-PJZ3F6Y4.js → register.configure-Cu4CPpm4.js} +23 -23
  322. package/dist/{register.maintenance-BBM-rluy.js → register.maintenance-BXiHFIyG.js} +23 -23
  323. package/dist/{register.maintenance-9XyX4HYf.js → register.maintenance-C6vjRY-I.js} +24 -24
  324. package/dist/{register.message-B3NWvxgd.js → register.message-BsBClRov.js} +18 -18
  325. package/dist/{register.message-D-e6_UXf.js → register.message-DNpBTvto.js} +18 -18
  326. package/dist/{register.onboard-CEzQdSxa.js → register.onboard-BKQLGJhh.js} +2 -2
  327. package/dist/{register.onboard-id-BqwSw.js → register.onboard-t_7lOkRu.js} +2 -2
  328. package/dist/{register.setup-BiOdr528.js → register.setup-B7QHn0Qv.js} +2 -2
  329. package/dist/{register.setup-BKBe-Sjp.js → register.setup-DEg7fSPZ.js} +2 -2
  330. package/dist/{register.status-health-sessions-CeRiMlKm.js → register.status-health-sessions-7E-y6cw7.js} +20 -20
  331. package/dist/{register.status-health-sessions-BVIHCaPP.js → register.status-health-sessions-D9iuSOb8.js} +20 -20
  332. package/dist/{register.subclis-IXr-WEhq.js → register.subclis-R6keQnon.js} +14 -14
  333. package/dist/{replies-BsctLhfp.js → replies-NkETqb6B.js} +4 -4
  334. package/dist/{reply-BzUdF5qW.js → reply-B4TgvJrJ.js} +124 -97
  335. package/dist/{reply-directives-D9wYtPPy.js → reply-directives-DGITtNUL.js} +2 -2
  336. package/dist/{reply-prefix-C7WlN3qm.js → reply-prefix-DVkNDBNe.js} +1 -1
  337. package/dist/{resolve-route-BV8k5qjX.js → resolve-route-jDAjkfZE.js} +5 -5
  338. package/dist/{run-main-CsSM1uCJ.js → run-main-CMTfGYjG.js} +30 -30
  339. package/dist/{runs-DVNBpgv0.js → runs-B0TxOQnF.js} +3 -3
  340. package/dist/{runs-i5IuTzQX.js → runs-BMp7jOLL.js} +3 -3
  341. package/dist/{runs-ucQd8Fc-.js → runs-DGWNXyKA.js} +8 -8
  342. package/dist/{sandbox-QsMPF2u6.js → sandbox-CQwpubTx.js} +1 -1
  343. package/dist/{sandbox-bbN1dfIo.js → sandbox-DbfWdQha.js} +1 -1
  344. package/dist/{sandbox-cli-CuG1HCrw.js → sandbox-cli-CSjghLhl.js} +2 -2
  345. package/dist/{sandbox-cli-nx3ctiYX.js → sandbox-cli-DwhgE7u4.js} +2 -2
  346. package/dist/{security-cli-BmfAwh-0.js → security-cli-DSB1NLa6.js} +4 -4
  347. package/dist/{security-cli-BfZEQFxV.js → security-cli-DlMcCXl1.js} +4 -4
  348. package/dist/{send-Tx-ew59_.js → send-CNLmncRW.js} +6 -6
  349. package/dist/{send-CvkM5xAx.js → send-DAYMV49d.js} +1 -1
  350. package/dist/{send-TscXeVY8.js → send-DEFcgo-1.js} +27 -27
  351. package/dist/{send-BGps2i_C.js → send-Do1AlhD5.js} +8 -8
  352. package/dist/{send-BiDcVZSc.js → send-Dq8ChBfS.js} +6 -6
  353. package/dist/{send-Ba3pDq6E.js → send-ENMm5qbW.js} +7 -7
  354. package/dist/{send-BKkvuHI9.js → send-l57G-s8y.js} +1 -1
  355. package/dist/{server-BMSgu_SV.js → server-BAGUd2MH.js} +4 -4
  356. package/dist/{server-DRVR_pkr.js → server-IDopagLT.js} +4 -4
  357. package/dist/{server-context-CTilcbO4.js → server-context-BUX61Gwl.js} +2 -2
  358. package/dist/{server-context-Bbi-nqKD.js → server-context-FPrSnBNG.js} +2 -2
  359. package/dist/{server-lifecycle-DrAGY_SC.js → server-lifecycle-7QoL5fyb.js} +1 -1
  360. package/dist/{server-lifecycle-BIOS9ErD.js → server-lifecycle-DXRap2AR.js} +1 -1
  361. package/dist/{server-node-events-B3c2ctcO.js → server-node-events-DSTI4JnV.js} +18 -18
  362. package/dist/{server-node-events-lwnuZDvV.js → server-node-events-MOX6FUiJ.js} +18 -18
  363. package/dist/{session-meta-DH__PMKt.js → session-meta-DuK_BrWT.js} +2 -2
  364. package/dist/{sessions-DCXadUdD.js → sessions-CgVN798h.js} +4 -4
  365. package/dist/{sessions-Cy_VVMEN.js → sessions-Dcu0bdQ7.js} +4 -4
  366. package/dist/{skill-commands-CRZajtK_.js → skill-commands-BhMQp_i8.js} +9 -9
  367. package/dist/{skills-DOc6uEd1.js → skills-ckuLxkyg.js} +21 -21
  368. package/dist/{status-DJsk1JjI.js → status-B3eNMcE3.js} +4 -4
  369. package/dist/{status-Czr0TmiN.js → status-C5pbfqhh.js} +4 -4
  370. package/dist/{store-xxN6qyAh.js → store-gQ6FSjVk.js} +2 -2
  371. package/dist/{subsystem-BCjklMkJ.js → subsystem-CPYnUTN4.js} +64 -64
  372. package/dist/{tables-o3ZpyPWV.js → tables-DEyD0zuy.js} +1 -1
  373. package/dist/{task-pipeline-boot-CcSZVGUe.js → task-pipeline-boot-BLEjtMkt.js} +17 -17
  374. package/dist/{task-pipeline-boot-UcskPjY2.js → task-pipeline-boot-DKqT4VdZ.js} +17 -17
  375. package/dist/{tokens-9Mla_HDp.js → tokens-9BPY4SaX.js} +1 -1
  376. package/dist/{tool-loop-detection-8uvf8mSd.js → tool-loop-detection-C1fqyXXD.js} +2 -2
  377. package/dist/{tui-WSQKUD4o.js → tui-5QhX2Lcm.js} +1 -1
  378. package/dist/{tui-dccCFhet.js → tui-CetFSZIt.js} +1 -1
  379. package/dist/{tui-cli-C3Sopj4_.js → tui-cli-Bo-8qeoa.js} +4 -4
  380. package/dist/{tui-cli-CpRsjtOO.js → tui-cli-DFak7s89.js} +4 -4
  381. package/dist/{update-D86-cS_v.js → update-B3jJ2yVe.js} +1 -1
  382. package/dist/{update-DJaR3w6x.js → update-Dwt-MeRL.js} +1 -1
  383. package/dist/{update-cli-DDmfG1gm.js → update-cli-D5knJbn5.js} +27 -27
  384. package/dist/{update-cli-B4_xRNut.js → update-cli-Dhxx3iie.js} +26 -26
  385. package/dist/{update-runner-DwM4xj8C.js → update-runner-18yD5NLo.js} +1 -1
  386. package/dist/{update-runner-DqE_9Axt.js → update-runner-DohE1D7D.js} +1 -1
  387. package/dist/{user-run-recording-CAk1Ketk.js → user-run-recording-B0XAAUwL.js} +2 -2
  388. package/dist/{validation-cli-C8XHeLjI.js → validation-cli-CAge8d_F.js} +18 -18
  389. package/dist/{validation-cli-jSmCMkkm.js → validation-cli-Dfac8Duq.js} +18 -18
  390. package/dist/{with-timeout-BvxLQUTs.js → with-timeout-1SSQaGSz.js} +2 -2
  391. package/dist/{with-timeout-CII3PkDO.js → with-timeout-DD5bV7yq.js} +2 -2
  392. package/dist/{workspace-Dbn4gFdH.js → workspace-B707AGIc.js} +9 -9
  393. package/extensions/acpx/package.json +1 -1
  394. package/extensions/anthropic/package.json +1 -1
  395. package/extensions/bifrost/package.json +1 -1
  396. package/extensions/bluebubbles/package.json +1 -1
  397. package/extensions/copilot-proxy/package.json +1 -1
  398. package/extensions/deepgram/package.json +1 -1
  399. package/extensions/deepinfra/package.json +1 -1
  400. package/extensions/diagnostics-otel/package.json +1 -1
  401. package/extensions/diffs/package.json +1 -1
  402. package/extensions/discord/package.json +1 -1
  403. package/extensions/dream-cycle/package.json +1 -1
  404. package/extensions/elevenlabs/package.json +1 -1
  405. package/extensions/feishu/package.json +1 -1
  406. package/extensions/gemini-search/package.json +1 -1
  407. package/extensions/google/package.json +1 -1
  408. package/extensions/google-gemini-cli-auth/package.json +1 -1
  409. package/extensions/googlechat/package.json +1 -1
  410. package/extensions/grok-search/package.json +1 -1
  411. package/extensions/groq/package.json +1 -1
  412. package/extensions/imessage/package.json +1 -1
  413. package/extensions/irc/package.json +1 -1
  414. package/extensions/kimi-search/package.json +1 -1
  415. package/extensions/learning-core/package.json +1 -1
  416. package/extensions/line/package.json +1 -1
  417. package/extensions/llm-task/package.json +1 -1
  418. package/extensions/lobster/package.json +1 -1
  419. package/extensions/matrix/CHANGELOG.md +1 -1
  420. package/extensions/matrix/package.json +1 -1
  421. package/extensions/mattermost/package.json +1 -1
  422. package/extensions/memory-core/package.json +1 -1
  423. package/extensions/memory-lancedb/package.json +1 -1
  424. package/extensions/minimax/package.json +1 -1
  425. package/extensions/minimax-portal-auth/package.json +1 -1
  426. package/extensions/mistral/package.json +1 -1
  427. package/extensions/moonshot/package.json +1 -1
  428. package/extensions/msteams/CHANGELOG.md +1 -1
  429. package/extensions/msteams/package.json +1 -1
  430. package/extensions/nextcloud-talk/package.json +1 -1
  431. package/extensions/nostr/CHANGELOG.md +1 -1
  432. package/extensions/nostr/package.json +1 -1
  433. package/extensions/open-prose/package.json +1 -1
  434. package/extensions/openai/package.json +1 -1
  435. package/extensions/openai-realtime/package.json +1 -1
  436. package/extensions/openrouter/package.json +1 -1
  437. package/extensions/perplexity-search/package.json +1 -1
  438. package/extensions/searxng-search/package.json +1 -1
  439. package/extensions/signal/package.json +1 -1
  440. package/extensions/slack/package.json +1 -1
  441. package/extensions/synology-chat/package.json +1 -1
  442. package/extensions/telegram/package.json +1 -1
  443. package/extensions/tlon/package.json +1 -1
  444. package/extensions/twitch/CHANGELOG.md +1 -1
  445. package/extensions/twitch/package.json +1 -1
  446. package/extensions/voice-call/CHANGELOG.md +1 -1
  447. package/extensions/voice-call/package.json +1 -1
  448. package/extensions/whatsapp/package.json +1 -1
  449. package/extensions/zai/package.json +1 -1
  450. package/extensions/zalo/CHANGELOG.md +1 -1
  451. package/extensions/zalo/package.json +1 -1
  452. package/extensions/zalouser/CHANGELOG.md +1 -1
  453. package/extensions/zalouser/package.json +1 -1
  454. package/package.json +1 -1
  455. package/dist/plugin-sdk/agent-turn-execute-BCE3FS2s.js +0 -61
  456. package/dist/plugin-sdk/agent-turn-execute-DIrSWfHZ.js +0 -61
  457. package/dist/plugin-sdk/agent-turn-runner-gf0ARmuP.js +0 -11
  458. package/dist/plugin-sdk/audio-preflight-DlGohKMs.js +0 -28
  459. package/dist/plugin-sdk/deliver-CJP9TznW.js +0 -32
  460. package/dist/plugin-sdk/deliver-DBCz1GqU.js +0 -32
  461. package/dist/plugin-sdk/manager-ByaW_O4Y.js +0 -16
  462. package/dist/plugin-sdk/manager-CPcI0Fhz.js +0 -16
  463. package/dist/plugin-sdk/markdown-tables-J4hZ7eWU.js +0 -10
  464. package/dist/plugin-sdk/provider-dispatcher-Byy-KtUn.js +0 -61
  465. package/dist/plugin-sdk/provider-dispatcher-CAfyX0H-.js +0 -61
  466. package/dist/plugin-sdk/provider-image-B_dJDOl5.js +0 -22
  467. package/dist/plugin-sdk/provider-image-L_SRDPHU.js +0 -22
  468. package/dist/plugin-sdk/proxy-DwbYzxBy.js +0 -7
  469. package/dist/plugin-sdk/replies-B9uDLFOE.js +0 -25
  470. package/dist/plugin-sdk/replies-BFjGWAPs.js +0 -25
  471. package/dist/plugin-sdk/reply-prefix-BQMEQam1.js +0 -7
  472. package/dist/plugin-sdk/runs-BQhYekhr.js +0 -25
  473. package/dist/plugin-sdk/runs-CPA1-H-2.js +0 -25
  474. package/dist/plugin-sdk/send-CRtSAH8I.js +0 -25
  475. package/dist/plugin-sdk/send-CeWqZTK0.js +0 -23
  476. package/dist/plugin-sdk/send-CzcKgBBf.js +0 -25
  477. package/dist/plugin-sdk/send-CzxwgKvR.js +0 -27
  478. package/dist/plugin-sdk/send-DuCB2xbl.js +0 -23
  479. package/dist/plugin-sdk/send-Dvna5ey-.js +0 -27
  480. package/dist/plugin-sdk/send-DyYaWr3E.js +0 -24
  481. package/dist/plugin-sdk/send-xPV0QIjh.js +0 -24
  482. package/dist/plugin-sdk/session-meta-n4SCcAbJ.js +0 -10
  483. package/dist/plugin-sdk/skill-commands-BOV3NIbU.js +0 -14
  484. package/dist/plugin-sdk/subagent-registry-CZBK6615.js +0 -61
  485. package/dist/plugin-sdk/subagent-registry-DwnBzoKn.js +0 -61
  486. package/dist/plugin-sdk/user-run-recording-DiKcNdjn.js +0 -11
@@ -1,79 +1,79 @@
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-cbxkoURo.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, h as shouldLogVerbose, 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-BCjklMkJ.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-DxKPMu8w.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, h as shouldLogVerbose, 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-CPYnUTN4.js";
5
5
  import { t as isPlainObject } from "./plain-object-CLm2c5Nu.js";
6
- import { A as resolveCanonicalIdentity, B as deriveSessionChatType, C as classifySessionKeyShape, D as normalizeAgentId, E as isValidAgentId, F as toAgentStoreSessionKey, G as parseAgentSessionKey, H as isAcpSessionKey, I as DEFAULT_ACCOUNT_ID, K as resolveThreadParentSessionKey, L as normalizeAccountId$3, M as resolveLinkedPeerIdForChannel, N as resolveThreadSessionKeys, O as normalizeMainKey, P as sanitizeAgentId, R as normalizeOptionalAccountId, T as isKnownAgentMainSessionKey, U as isCronSessionKey, V as getSubagentDepth, W as isSubagentSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_HEARTBEAT_FILENAME, j as resolveConfiguredCanonicalIdentity, k as resolveAgentIdFromSessionKey, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as buildAgentMainSessionKey, y as DEFAULT_AGENT_ID, z as WAKE_GATE_SESSION_KEY_SEGMENT } from "./workspace-Dbn4gFdH.js";
7
- import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-DNehzD_s.js";
8
- import { $i as getConfigValueAtPath, $n as TASK_RUN_MODES, $r as resolveSlackBotToken, $t as normalizePluginHttpPath, A as requireApiKey, Aa as resolveSlackStreamingMode, Ai as normalizeAtHashSlug, An as parseInlineDirectives$1, Ar as resolveFreshSessionTotalTokens, At as normalizePluginsConfig, B as resolveProfilesUnavailableReason, Ba as VERSION, Bi as stringEnum, Bn as extractDeliveryInfo, Br as getChannelDock, Bt as normalizeAnyChannelId, C as createOllamaStreamFn, Ca as normalizeSafeBinProfileFixtures, Ci as listDeliverableMessageChannels, Cn as normalizeDeliveryContext, Cr as evaluateSessionFreshness, Ct as isPathWithinRoot, D as buildUsageWithNoCost, Da as mapStreamingModeToSlackLegacyDraftStreamMode, Di as GATEWAY_CLIENT_IDS, Dn as capArrayByJsonBytes, Dr as resolveThreadFlag, Dt as BUNDLED_ENABLED_BY_DEFAULT, E as buildStreamErrorAssistantMessage, Ea as isSafeExecutableValue, Ei as resolveMessageChannel, En as archiveSessionTranscripts, Er as resolveSessionResetType, Et as loadPluginManifestRegistry, F as resolveAuthProfileOrder, Fa as isRecord$2, Fi as resolveSessionLockMaxHoldFromTimeout, Fn as jsonUtf8Bytes, Fr as resolveMainSessionKey, Ft as safeStatSync, Ga as dedupeProfileIds, Gi as discardBufferedPluginTaskPasses, Gn as withPreservationWriterPermit, Gr as listTelegramAccountIds, Gt as getActivePluginRegistry, Ha as resolveShellEnvFallbackTimeoutMs, Hi as actionHasTarget, Hn as appendAssistantMessageToSessionTranscript, Hr as normalizeSignalMessagingTarget, Ht as normalizeChatChannelId, I as getSoonestCooldownExpiry, Ia as parseDotPath, Ii as readTaskWorkStates, In as createAsyncLock, Ir as deriveSessionMetaPatch, J as TELEGRAM_COMMAND_NAME_PATTERN, Ja as ensureAuthProfileStore, Ji as RecoveryAdmissionError, Jn as drainPendingPrimaryWrites, Jr as buildChannelAccountBindings, Jt as requireActivePluginRegistry, K as writeConfigFile, Ka as listProfilesForProvider, Ki as listBufferedPluginTaskPasses, Kn as isJsonlSessionBackend, Kr as resolveTelegramAccount, Kt as getActivePluginRegistryKey, L as isProfileInCooldown, La as secretRefKey, Li as channelTargetSchema, Ln as readJsonFile, Lr as getChannelPlugin, Lt as CHAT_CHANNEL_ORDER, M as resolveEnvApiKey, Ma as resolveSecretRefValues, Mi as normalizeStringEntries, Mn as applyInputProvenanceToUserMessage, Mr as canonicalizeMainSessionAlias, Mt as resolveMemorySlotDecision, N as resolveModelAuthMode, Na as describeUnknownError$1, Ni as normalizeStringEntriesLower, Nn as hasInterSessionUserProvenance, Nr as resolveAgentMainSessionKey, Nt as discoverOpenClawPlugins, O as getApiKeyForModel, Oa as resolveDiscordPreviewStreamMode, Oi as GATEWAY_CLIENT_MODES, On as countToolResults, Or as DEFAULT_RESET_TRIGGERS, Ot as applyTestPluginDefaults, Pa as isNonEmptyString, Pi as acquireSessionWriteLock, Pn as normalizeInputProvenance, Pr as resolveExplicitAgentSessionKey, Pt as isPathInside, Q as isInboundPathAllowed, Qa as resolveAuthProfileDisplayLabel, Qi as unsetConfigOverride, Qn as onSessionTranscriptUpdate, Qr as resolveSlackAppToken, Qt as createPluginRegistry, R as markAuthProfileFailure, Ra as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Ri as channelTargetsSchema, Rn as writeJsonAtomic, Rr as listChannelPlugins, Rt as getChatChannelMeta, S as OLLAMA_NATIVE_BASE_URL, Sa as SAFE_BIN_PROFILES, Si as isMarkdownCapableMessageChannel, Sn as mergeDeliveryContext, Sr as resolveSessionKey, St as isAvatarHttpUrl, T as buildAssistantMessageWithZeroUsage, Ta as applyMergePatch, Ti as resolveGatewayMessageChannel, Tn as normalizeAccountId$4, Tr as resolveSessionResetPolicy, Tt as validateJsonSchemaValue, U as loadConfig, Ua as isTruthyEnvValue, Ui as actionRequiresTarget, Ur as createTelegramActionGate, Ut as resolveChannelConfigId, V as resolveApiKeyForProfile, Va as getShellPathFromLoginShell, Vi as applyTargetToParams, Vn as parseSessionThreadInfo, Vr as listChannelDocks, Vt as normalizeChannelId$2, W as readConfigFileSnapshot, Wa as resolveOwnerDisplaySetting, Wn as resolveAndPersistSessionFile, Wr as listEnabledTelegramAccounts, Wt as getActiveGatewayPluginRegistry, X as resolveTelegramCustomCommands, Xa as resolveOpenClawAgentDir, Xi as resetConfigOverrides, Xn as hydrateSessionManagerFromDb, Xr as resolveSlackAccount, Xt as addRegisteredPluginApi, Y as normalizeTelegramCommandName, Ya as resolveAuthStorePathForDisplay, Yi as getConfigOverrides, Yn as DB_SESSION_HYDRATION_LIMIT, Yt as setActivePluginRegistry, Za as withFileLock, Zi as setConfigOverride, Zn as emitSessionTranscriptUpdate, Zr as resolveSlackReplyToMode, Zt as clearRegisteredPluginApis, _a as isDispatchWrapperExecutable, _i as resolveGroupSessionKey, _n as updateSessionStoreEntry, _r as hasNonzeroUsage, a as isCliProvider, aa as listWritableExplicitTrustedSafeBinDirs, ai as resolveWhatsAppAccount, an as matchPluginCommand, ao as splitTrailingAuthProfile, ar as mergePromptContributions, at as resolveExecPolicyPreset, ba as unwrapKnownShellMultiplexerInvocation, bi as isGatewayMessageChannel, bn as deliveryContextFromSession, bt as AVATAR_MAX_BYTES, c as normalizeProviderId, ca as analyzeShellCommand, ci as resolveIMessageAccount, cn as getActivePreservationLease, co as DEFAULT_PROVIDER, cr as buildInboundUserContextPrefix, d as resolveDefaultModelForAgent, da as splitCommandChain, di as resolveDiscordAccount, dn as loadSessionStore, dr as resolveTimezone, ea as parseConfigPath, ei as listEnabledSignalAccounts, en as buildPluginHealthReport, eo as normalizeSecretInput, er as TASK_RUN_STATUSES, et as resolveIMessageAttachmentRoots, f as resolveModelRefFromString, fa as DEFAULT_SAFE_BINS, fi as normalizeDiscordToken, fn as readSessionUpdatedAt, fr as resolveSenderLabel, ga as extractShellWrapperInlineCommand, gi as resolveAccountEntry, gn as updateSessionStore, gr as deriveSessionTotalTokens, h as resolveThinkingDefault, ha as resolveCommandResolutionFromArgv, hi as resolveChannelGroupToolsPolicy, hn as updateLastRoute, hr as derivePromptTokens, i as findNormalizedProviderValue, ia as isTrustedSafeBinPath, ii as hasAnyWhatsAppAuth, in as listPluginCommands, io as resolveSecretInputRef, ir as createCurrentUserPromptEnvelope, it as ASSISTANT_IDENTITY_COLORS, j as resolveApiKeyForProvider, ji as normalizeHyphenSlug, jn as INPUT_PROVENANCE_KIND_VALUES, jr as setSessionRuntimeModel, jt as resolveEffectiveEnableState, k as getCustomProviderApiKey, ka as resolveSlackNativeStreaming, ki as GATEWAY_CLIENT_NAMES, kn as extractToolCallNames, kr as mergeSessionEntry, kt as isBundledChannelEnabledByChannelConfig, l as parseModelRef, la as buildEnforcedShellCommand, li as createDiscordActionGate, ln as getConfiguredSessionStorageRuntime, lr as formatUtcTimestamp, m as resolveSubagentSpawnModelSelection, ma as resolveAllowlistCandidatePath, mi as resolveChannelGroupRequireMention, mn as syncConfiguredSessionTranscriptToRuntime, mr as isDiagnosticsEnabled, n as buildConfiguredAllowlistKeys, na as unsetConfigValueAtPath, ni as isWhatsAppGroupJid, nn as executePluginCommand, no as hasConfiguredSecretInput, nr as sanitizeJsonb, nt as normalizeScpRemoteHost, o as modelKey, oa as normalizeTrustedSafeBinDirs, oi as formatCliCommand, on as registerPluginCommand, oo as DEFAULT_CONTEXT_TOKENS, or as toJsonValue$1, p as resolveReasoningDefault, pa as matchAllowlist, pi as resolveChannelGroupPolicy, pn as recordSessionMetaFromInbound, pr as emitDiagnosticEvent, q as validateConfigObjectWithPlugins, qa as markAuthProfileGood, qi as replaceBufferedPluginTaskPasses, qn as createPrimaryWriteInterceptor, qr as resolveTelegramToken, r as buildModelAliasIndex, ra as getTrustedSafeBinDirs, ri as normalizeWhatsAppTarget, rn as getPluginCommandSpecs, ro as normalizeResolvedSecretInputString, rr as sha256, rt as parseNonNegativeByteSize, s as normalizeModelRef$2, sa as validateSafeBinArgv, si as resolveCliName, so as DEFAULT_MODEL, sr as buildInboundMetaSystemPrompt, t as buildAllowedModelSet, ta as setConfigValueAtPath, ti as resolveSignalAccount, tn as clearPluginCommands, to as coerceSecretRef, tt as resolveIMessageRemoteAttachmentRoots, u as resolveConfiguredModelRef, ua as isWindowsPlatform, ui as listEnabledDiscordAccounts, un as isPreservationArmed, ur as formatZonedTimestamp, va as isShellWrapperExecutable, vi as INTERNAL_MESSAGE_CHANNEL, vn as isCacheEnabled, vr as makeZeroUsageSnapshot, w as buildAssistantMessage, wa as resolveSafeBinProfiles, wi as normalizeMessageChannel, wn as normalizeSessionDeliveryFields, wr as resolveChannelResetConfig, wt as isSupportedLocalAvatarExtension, x as retryAsync, xa as splitShellArgs, xi as isInternalMessageChannel, xn as deliveryContextKey, xr as SESSION_RUN_STATUSES, xt as isAvatarDataUrl, ya as unwrapKnownDispatchWrapperInvocation, yi as isDeliverableMessageChannel, yn as resolveCacheTtlMs$1, yr as normalizeUsage, z as markAuthProfileUsed, za as resolveAgentMaxConcurrent, zi as optionalStringEnum, zn as parseDurationMs, zr as normalizeChannelId$1, zt as listChatChannels } from "./model-selection-9qbqwsOT.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-CLlrMq8r.js";
11
- import { c as resolveSessionFilePathOptions, d as resolveSessionTranscriptsDirForAgent, f as resolveStorePath, l as resolveSessionTranscriptPath, n as isPrimarySessionTranscriptFileName, o as resolveDefaultSessionStorePath, p as runTasksWithConcurrency, s as resolveSessionFilePath } from "./artifacts-DUhYSSmK.js";
6
+ import { A as resolveCanonicalIdentity, B as deriveSessionChatType, C as classifySessionKeyShape, D as normalizeAgentId, E as isValidAgentId, F as toAgentStoreSessionKey, G as parseAgentSessionKey, H as isAcpSessionKey, I as DEFAULT_ACCOUNT_ID, K as resolveThreadParentSessionKey, L as normalizeAccountId$3, M as resolveLinkedPeerIdForChannel, N as resolveThreadSessionKeys, O as normalizeMainKey, P as sanitizeAgentId, R as normalizeOptionalAccountId, T as isKnownAgentMainSessionKey, U as isCronSessionKey, V as getSubagentDepth, W as isSubagentSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_HEARTBEAT_FILENAME, j as resolveConfiguredCanonicalIdentity, k as resolveAgentIdFromSessionKey, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as buildAgentMainSessionKey, y as DEFAULT_AGENT_ID, z as WAKE_GATE_SESSION_KEY_SEGMENT } from "./workspace-B707AGIc.js";
7
+ import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-a0-zAY5a.js";
8
+ import { $i as getConfigValueAtPath, $n as TASK_RUN_MODES, $r as resolveSlackBotToken, $t as normalizePluginHttpPath, A as requireApiKey, Aa as resolveSlackStreamingMode, Ai as normalizeAtHashSlug, An as parseInlineDirectives$1, Ar as resolveFreshSessionTotalTokens, At as normalizePluginsConfig, B as resolveProfilesUnavailableReason, Ba as VERSION, Bi as stringEnum, Bn as extractDeliveryInfo, Br as getChannelDock, Bt as normalizeAnyChannelId, C as createOllamaStreamFn, Ca as normalizeSafeBinProfileFixtures, Ci as listDeliverableMessageChannels, Cn as normalizeDeliveryContext, Cr as evaluateSessionFreshness, Ct as isPathWithinRoot, D as buildUsageWithNoCost, Da as mapStreamingModeToSlackLegacyDraftStreamMode, Di as GATEWAY_CLIENT_IDS, Dn as capArrayByJsonBytes, Dr as resolveThreadFlag, Dt as BUNDLED_ENABLED_BY_DEFAULT, E as buildStreamErrorAssistantMessage, Ea as isSafeExecutableValue, Ei as resolveMessageChannel, En as archiveSessionTranscripts, Er as resolveSessionResetType, Et as loadPluginManifestRegistry, F as resolveAuthProfileOrder, Fa as isRecord$2, Fi as resolveSessionLockMaxHoldFromTimeout, Fn as jsonUtf8Bytes, Fr as resolveMainSessionKey, Ft as safeStatSync, Ga as dedupeProfileIds, Gi as discardBufferedPluginTaskPasses, Gn as withPreservationWriterPermit, Gr as listTelegramAccountIds, Gt as getActivePluginRegistry, Ha as resolveShellEnvFallbackTimeoutMs, Hi as actionHasTarget, Hn as appendAssistantMessageToSessionTranscript, Hr as normalizeSignalMessagingTarget, Ht as normalizeChatChannelId, I as getSoonestCooldownExpiry, Ia as parseDotPath, Ii as readTaskWorkStates, In as createAsyncLock, Ir as deriveSessionMetaPatch, J as TELEGRAM_COMMAND_NAME_PATTERN, Ja as ensureAuthProfileStore, Ji as RecoveryAdmissionError, Jn as drainPendingPrimaryWrites, Jr as buildChannelAccountBindings, Jt as requireActivePluginRegistry, K as writeConfigFile, Ka as listProfilesForProvider, Ki as listBufferedPluginTaskPasses, Kn as isJsonlSessionBackend, Kr as resolveTelegramAccount, Kt as getActivePluginRegistryKey, L as isProfileInCooldown, La as secretRefKey, Li as channelTargetSchema, Ln as readJsonFile, Lr as getChannelPlugin, Lt as CHAT_CHANNEL_ORDER, M as resolveEnvApiKey, Ma as resolveSecretRefValues, Mi as normalizeStringEntries, Mn as applyInputProvenanceToUserMessage, Mr as canonicalizeMainSessionAlias, Mt as resolveMemorySlotDecision, N as resolveModelAuthMode, Na as describeUnknownError$1, Ni as normalizeStringEntriesLower, Nn as hasInterSessionUserProvenance, Nr as resolveAgentMainSessionKey, Nt as discoverOpenClawPlugins, O as getApiKeyForModel, Oa as resolveDiscordPreviewStreamMode, Oi as GATEWAY_CLIENT_MODES, On as countToolResults, Or as DEFAULT_RESET_TRIGGERS, Ot as applyTestPluginDefaults, Pa as isNonEmptyString, Pi as acquireSessionWriteLock, Pn as normalizeInputProvenance, Pr as resolveExplicitAgentSessionKey, Pt as isPathInside, Q as isInboundPathAllowed, Qa as resolveAuthProfileDisplayLabel, Qi as unsetConfigOverride, Qn as onSessionTranscriptUpdate, Qr as resolveSlackAppToken, Qt as createPluginRegistry, R as markAuthProfileFailure, Ra as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Ri as channelTargetsSchema, Rn as writeJsonAtomic, Rr as listChannelPlugins, Rt as getChatChannelMeta, S as OLLAMA_NATIVE_BASE_URL, Sa as SAFE_BIN_PROFILES, Si as isMarkdownCapableMessageChannel, Sn as mergeDeliveryContext, Sr as resolveSessionKey, St as isAvatarHttpUrl, T as buildAssistantMessageWithZeroUsage, Ta as applyMergePatch, Ti as resolveGatewayMessageChannel, Tn as normalizeAccountId$4, Tr as resolveSessionResetPolicy, Tt as validateJsonSchemaValue, U as loadConfig, Ua as isTruthyEnvValue, Ui as actionRequiresTarget, Ur as createTelegramActionGate, Ut as resolveChannelConfigId, V as resolveApiKeyForProfile, Va as getShellPathFromLoginShell, Vi as applyTargetToParams, Vn as parseSessionThreadInfo, Vr as listChannelDocks, Vt as normalizeChannelId$2, W as readConfigFileSnapshot, Wa as resolveOwnerDisplaySetting, Wn as resolveAndPersistSessionFile, Wr as listEnabledTelegramAccounts, Wt as getActiveGatewayPluginRegistry, X as resolveTelegramCustomCommands, Xa as resolveOpenClawAgentDir, Xi as resetConfigOverrides, Xn as hydrateSessionManagerFromDb, Xr as resolveSlackAccount, Xt as addRegisteredPluginApi, Y as normalizeTelegramCommandName, Ya as resolveAuthStorePathForDisplay, Yi as getConfigOverrides, Yn as DB_SESSION_HYDRATION_LIMIT, Yt as setActivePluginRegistry, Za as withFileLock, Zi as setConfigOverride, Zn as emitSessionTranscriptUpdate, Zr as resolveSlackReplyToMode, Zt as clearRegisteredPluginApis, _a as isDispatchWrapperExecutable, _i as resolveGroupSessionKey, _n as updateSessionStoreEntry, _r as hasNonzeroUsage, a as isCliProvider, aa as listWritableExplicitTrustedSafeBinDirs, ai as resolveWhatsAppAccount, an as matchPluginCommand, ao as splitTrailingAuthProfile, ar as mergePromptContributions, at as resolveExecPolicyPreset, ba as unwrapKnownShellMultiplexerInvocation, bi as isGatewayMessageChannel, bn as deliveryContextFromSession, bt as AVATAR_MAX_BYTES, c as normalizeProviderId, ca as analyzeShellCommand, ci as resolveIMessageAccount, cn as getActivePreservationLease, co as DEFAULT_PROVIDER, cr as buildInboundUserContextPrefix, d as resolveDefaultModelForAgent, da as splitCommandChain, di as resolveDiscordAccount, dn as loadSessionStore, dr as resolveTimezone, ea as parseConfigPath, ei as listEnabledSignalAccounts, en as buildPluginHealthReport, eo as normalizeSecretInput, er as TASK_RUN_STATUSES, et as resolveIMessageAttachmentRoots, f as resolveModelRefFromString, fa as DEFAULT_SAFE_BINS, fi as normalizeDiscordToken, fn as readSessionUpdatedAt, fr as resolveSenderLabel, ga as extractShellWrapperInlineCommand, gi as resolveAccountEntry, gn as updateSessionStore, gr as deriveSessionTotalTokens, h as resolveThinkingDefault, ha as resolveCommandResolutionFromArgv, hi as resolveChannelGroupToolsPolicy, hn as updateLastRoute, hr as derivePromptTokens, i as findNormalizedProviderValue, ia as isTrustedSafeBinPath, ii as hasAnyWhatsAppAuth, in as listPluginCommands, io as resolveSecretInputRef, ir as createCurrentUserPromptEnvelope, it as ASSISTANT_IDENTITY_COLORS, j as resolveApiKeyForProvider, ji as normalizeHyphenSlug, jn as INPUT_PROVENANCE_KIND_VALUES, jr as setSessionRuntimeModel, jt as resolveEffectiveEnableState, k as getCustomProviderApiKey, ka as resolveSlackNativeStreaming, ki as GATEWAY_CLIENT_NAMES, kn as extractToolCallNames, kr as mergeSessionEntry, kt as isBundledChannelEnabledByChannelConfig, l as parseModelRef, la as buildEnforcedShellCommand, li as createDiscordActionGate, ln as getConfiguredSessionStorageRuntime, lr as formatUtcTimestamp, m as resolveSubagentSpawnModelSelection, ma as resolveAllowlistCandidatePath, mi as resolveChannelGroupRequireMention, mn as syncConfiguredSessionTranscriptToRuntime, mr as isDiagnosticsEnabled, n as buildConfiguredAllowlistKeys, na as unsetConfigValueAtPath, ni as isWhatsAppGroupJid, nn as executePluginCommand, no as hasConfiguredSecretInput, nr as sanitizeJsonb, nt as normalizeScpRemoteHost, o as modelKey, oa as normalizeTrustedSafeBinDirs, oi as formatCliCommand, on as registerPluginCommand, oo as DEFAULT_CONTEXT_TOKENS, or as toJsonValue$1, p as resolveReasoningDefault, pa as matchAllowlist, pi as resolveChannelGroupPolicy, pn as recordSessionMetaFromInbound, pr as emitDiagnosticEvent, q as validateConfigObjectWithPlugins, qa as markAuthProfileGood, qi as replaceBufferedPluginTaskPasses, qn as createPrimaryWriteInterceptor, qr as resolveTelegramToken, r as buildModelAliasIndex, ra as getTrustedSafeBinDirs, ri as normalizeWhatsAppTarget, rn as getPluginCommandSpecs, ro as normalizeResolvedSecretInputString, rr as sha256, rt as parseNonNegativeByteSize, s as normalizeModelRef$2, sa as validateSafeBinArgv, si as resolveCliName, so as DEFAULT_MODEL, sr as buildInboundMetaSystemPrompt, t as buildAllowedModelSet, ta as setConfigValueAtPath, ti as resolveSignalAccount, tn as clearPluginCommands, to as coerceSecretRef, tt as resolveIMessageRemoteAttachmentRoots, u as resolveConfiguredModelRef, ua as isWindowsPlatform, ui as listEnabledDiscordAccounts, un as isPreservationArmed, ur as formatZonedTimestamp, va as isShellWrapperExecutable, vi as INTERNAL_MESSAGE_CHANNEL, vn as isCacheEnabled, vr as makeZeroUsageSnapshot, w as buildAssistantMessage, wa as resolveSafeBinProfiles, wi as normalizeMessageChannel, wn as normalizeSessionDeliveryFields, wr as resolveChannelResetConfig, wt as isSupportedLocalAvatarExtension, x as retryAsync, xa as splitShellArgs, xi as isInternalMessageChannel, xn as deliveryContextKey, xr as SESSION_RUN_STATUSES, xt as isAvatarDataUrl, ya as unwrapKnownDispatchWrapperInvocation, yi as isDeliverableMessageChannel, yn as resolveCacheTtlMs$1, yr as normalizeUsage, z as markAuthProfileUsed, za as resolveAgentMaxConcurrent, zi as optionalStringEnum, zn as parseDurationMs, zr as normalizeChannelId$1, zt as listChatChannels } from "./model-selection-CdZITU0t.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-vLJrYADD.js";
11
+ import { c as resolveSessionFilePathOptions, d as resolveSessionTranscriptsDirForAgent, f as resolveStorePath, l as resolveSessionTranscriptPath, n as isPrimarySessionTranscriptFileName, o as resolveDefaultSessionStorePath, p as runTasksWithConcurrency, s as resolveSessionFilePath } from "./artifacts-QHme-vnS.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-Ba3pDq6E.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-BGps2i_C.js";
15
- import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-BsdyAURQ.js";
16
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-9Mla_HDp.js";
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-ENMm5qbW.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-Do1AlhD5.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-BsxQBFRB.js";
16
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-9BPY4SaX.js";
17
17
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-BDA1WAvZ.js";
18
- import { _ as resolveProviderPromptCacheKey, a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, f as getGlobalHookRunner, g as buildPluginTurnIdentity, h as buildPluginRuntimeIdentity, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, m as promptBuildResultToContribution, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as initializeGlobalHookRunner, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext, v as resolveProviderRuntimeIdentity } from "./outbound-message-hooks-S_VhlJs3.js";
19
- import { A as boundDiagnosticContent, C as logWebhookError, D as refreshRunProgress, E as recordSystemPromptHashComparison, M as resetCommandPollCount, O as startDiagnosticHeartbeat, S as logToolExecutionStarted, T as logWebhookReceived, b as logToolExecutionBlocked, d as logRunCompleted, f as logRunStarted, j as recordCommandPoll, k as stopDiagnosticHeartbeat, l as logModelCallError, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, w as logWebhookProcessed, x as logToolExecutionCompleted } from "./diagnostic-DI-K8155.js";
18
+ import { _ as resolveProviderPromptCacheKey, a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, f as getGlobalHookRunner, g as buildPluginTurnIdentity, h as buildPluginRuntimeIdentity, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, m as promptBuildResultToContribution, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, p as initializeGlobalHookRunner, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext, v as resolveProviderRuntimeIdentity } from "./outbound-message-hooks-RBQbGzGm.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-Bbg-zObh.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-BOHmCPP_.js";
22
+ import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-DZne_lu8.js";
23
23
  import { t as CommandLane } from "./lanes-DTaUAkeG.js";
24
- import { a as getCommandLaneSnapshots, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-BTAxEdto.js";
25
- import { $ as resolveTelegramStreamMode, A as resolveTelegramFetch, B as buildTelegramParentPeer, C as getTelegramFleetSupervisor, D as recordWebhook, E as recordUpdate, F as buildGroupLabel, G as extractTelegramLocation, H as buildTypingThreadParams, I as buildSenderLabel, J as resolveTelegramDirectPeerId, K as hasBotMention, L as buildSenderName, M as withTelegramApiErrorLogging, N as loadCronStore, O as registerAccount, P as resolveCronStorePath, Q as resolveTelegramReplyId, R as buildTelegramGroupFrom, S as fingerprintTelegramToken, T as recordState, U as describeReplyTarget, V as buildTelegramThreadParams, W as expandTextLinks, X as resolveTelegramGroupAllowFromContext, Y as resolveTelegramForumThreadId, Z as resolveTelegramMediaPlaceholder, _ as isTelegramEditMayHaveLandedError, _t as getPairingAdapter, a as reactMessageTelegram, at as firstDefined$1, b as renderTelegramHtmlText, bt as parseTelegramTarget, c as sendStickerTelegram, ct as resolveGroupAllowFromSources, d as wasSentByBot, dt as addChannelAllowFromStoreEntry, et as resolveTelegramThreadSpec, f as extractTelegramErrorText, ft as readChannelAllowFromStore, g as isTelegramClientRejection, gt as writeJsonFileAtomically, h as isSafeToRetrySendError, ht as readJsonFileWithFallback, i as editMessageTelegram, it as resolveSenderAllowMatch$1, j as splitTelegramCaption, k as releaseAccountOwner, lt as formatLocationText, m as isRecoverableTelegramNetworkError, mt as upsertChannelPairingRequest, n as createForumTopicTelegram, nt as normalizeAllowFrom$2, o as sendMessageTelegram, ot as isSenderIdAllowed, p as isDefiniteTelegramRequestNonDeliveryError, pt as removeChannelAllowFromStoreEntry, q as normalizeForwardedContext, r as deleteMessageTelegram, rt as normalizeDmAllowFromWithStore$1, s as sendPollTelegram, st as mergeDmAllowFromSources, t as buildInlineKeyboard, tt as isSenderAllowed$1, u as resolveTelegramVoiceSend, ut as toLocationContext, v as markdownToTelegramChunks, vt as listPairingChannels, w as recordApiRequest, x as wrapFileReferencesInHtml, xt as resolveTelegramTargetChatType, y as markdownToTelegramHtml, yt as isVoiceCompatibleAudio, z as buildTelegramGroupPeerId } from "./send-TscXeVY8.js";
26
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-O8pHxo7i.js";
27
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CsC6yTDG.js";
28
- import { $ as resolveSandboxConfigForAgent, A as isFailoverAssistantError, B as isTimeoutErrorMessage, C as formatRawAssistantErrorForUi, D as isCloudCodeAssistFormatError, E as isBillingAssistantError, F as isTransientHttpError, G as registerBrowserRoutes, H as resolveSandboxContext, I as parseImageDimensionError, J as getBridgeAuthForPort, K as resolveBrowserConfig, L as parseImageSizeError, M as isLikelyContextOverflowError, N as isRateLimitAssistantError, O as isCompactionFailureError, P as isRawApiErrorPayload, Q as trimToUndefined$1, R as sanitizeUserFacingText, S as formatBillingErrorMessage, T as isAuthAssistantError, U as resolveSandboxRuntimeStatus, V as ensureSandboxWorkspaceForSession, W as createBrowserRouteContext, X as resolveBrowserControlAuth, Y as ensureBrowserControlAuth, Z as resolveGatewayCredentialsFromConfig, _ as downgradeOpenAIReasoningBlocks, a as isMessagingToolDuplicateNormalized, at as stripPluginOnlyAllowlist, b as classifyFailoverReason, c as sanitizeImageBlocks, ct as resolveToolProfilePolicy, d as canonicalizeBase64, dt as buildBootstrapContextFiles, et as applyOwnerOnlyToolPolicy, f as estimateBase64DecodedBytes, ft as ensureSessionHeader, g as downgradeOpenAIFunctionCallReasoningPairs, h as sanitizeToolCallIdsForCloudCodeAssist, ht as sanitizeGoogleTurnOrdering, it as mergeAlsoAllowPolicy, j as isFailoverErrorMessage, k as isContextOverflowError, l as sanitizeToolResultImages, lt as compileGlobPatterns, m as extractToolResultId, mt as resolveBootstrapTotalMaxChars, n as validateGeminiTurns, nt as collectExplicitAllowlist, o as normalizeTextForComparison, ot as expandToolGroups, p as extractToolCallsFromAssistant, pt as resolveBootstrapMaxChars, q as resolveProfile, r as pickFallbackThinkingLevel, rt as expandPolicyWithPluginGroups, s as sanitizeSessionMessagesImages, st as normalizeToolName, t as validateAnthropicTurns, tt as buildPluginToolGroups, u as resolveImageSanitizationLimits, ut as matchesAnyGlobPattern, v as isGoogleModelApi, w as getApiErrorPayloadFingerprint, x as formatAssistantErrorText, y as BILLING_ERROR_USER_MESSAGE, z as isAuthPermanentErrorMessage } from "./pi-embedded-helpers-5JApWu7A.js";
29
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-DTJprCGv.js";
30
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DOc6uEd1.js";
31
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cd5yHmTq.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-i0jn5uxB.js";
33
- import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-DwICJjkN.js";
34
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-xxN6qyAh.js";
24
+ import { a as getCommandLaneSnapshots, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, t as CommandLaneAbortedError } from "./command-queue-SzKgkaS6.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-DEFcgo-1.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-D_fm2PuR.js";
27
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-B9KKtGuw.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-BYLOFsUc.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-FHxGdLnd.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-ckuLxkyg.js";
31
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Zj-NwKjV.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-CzGKpJY_.js";
33
+ import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-LRpYbPaA.js";
34
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-gQ6FSjVk.js";
35
35
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CNiEVKpL.js";
36
36
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-CwmtMy_H.js";
37
- import { a as decodeDataUrl, c as ensureOpenClawModelsJson, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-Cb4z6zUu.js";
38
- import { C as loadModelCatalog, S as findModelInCatalog, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as modelSupportsVision, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-ipSQoPp8.js";
39
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BzXaK9px.js";
37
+ import { a as decodeDataUrl, c as ensureOpenClawModelsJson, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText, s as minimaxUnderstandImage } from "./provider-image-BllyLBJM.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-XFfvRPXl.js";
39
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BoHKSk-O.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-0mkjBgri.js";
42
- import { r as makeProxyFetch } from "./proxy-fetch-CK5AQAYw.js";
43
- import { _ as extractTextFromChatContent, a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-kHMmP2Xh.js";
44
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C7WlN3qm.js";
41
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-TJjLK0FV.js";
42
+ import { r as makeProxyFetch } from "./proxy-fetch-DCI0KuH6.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-DOtaZ7KV.js";
44
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DVkNDBNe.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-eNEsWhab.js";
47
- import { n as resolveMarkdownTableMode } from "./markdown-tables-UWspJNAH.js";
48
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-fzpdYPWw.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-DdQg21ct.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-CRZajtK_.js";
51
- import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-ucQd8Fc-.js";
52
- import { _ as resolveReplyToMode, a as normalizeOutboundPayloadsForJson, b as normalizeTargetForProvider, c as loadChannelOutboundAdapter, d as filterMessagingToolDuplicates, f as filterMessagingToolMediaDuplicates, g as createReplyToModeFilterForChannel, h as shouldSuppressReasoningPayload, i as normalizeOutboundPayloads, l as applyReplyTagsToPayload, m as shouldSuppressMessagingToolReplies, o as normalizeReplyPayloadsForDelivery, p as isRenderablePayload, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyThreading, v as buildTargetResolverSignature, y as normalizeChannelTargetInput } from "./deliver-CVWbwPkb.js";
53
- import { a as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-C_ViZLf1.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-BhntPUH_.js";
47
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dd7jV1JF.js";
48
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-C4MMLUJr.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-DC0fovy_.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-BhMQp_i8.js";
51
+ import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-DGWNXyKA.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-CXqNQ8yi.js";
53
+ import { a as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-DNRxe9C8.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-BJHm_pDV.js";
56
+ import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-DNq7LYjU.js";
57
57
  import { t as buildOutboundMediaLoadOptions } from "./load-options-DzQsLh91.js";
58
- import { t as convertMarkdownTables } from "./tables-o3ZpyPWV.js";
59
- import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-CAk1Ketk.js";
60
- import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-D9wYtPPy.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-BiDcVZSc.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-Tx-ew59_.js";
63
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BV8k5qjX.js";
64
- import { t as createTelegramPollingTransport } from "./proxy-C9sq6M-h.js";
65
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BsctLhfp.js";
66
- import { t as recordInboundSessionMetaSafe } from "./session-meta-DH__PMKt.js";
67
- import { n as resolveMemorySearchConfig } from "./manager-DH-MILAU.js";
68
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-30x7RlZY.js";
58
+ import { t as convertMarkdownTables } from "./tables-DEyD0zuy.js";
59
+ import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-B0XAAUwL.js";
60
+ import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-DGITtNUL.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-Dq8ChBfS.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-CNLmncRW.js";
63
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-jDAjkfZE.js";
64
+ import { t as createTelegramPollingTransport } from "./proxy-fWL7CKDP.js";
65
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-NkETqb6B.js";
66
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-DuK_BrWT.js";
67
+ import { n as resolveMemorySearchConfig } from "./manager-DdA_cy40.js";
68
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-31VWpPCz.js";
69
69
  import { createRequire } from "node:module";
70
- import * as fs$2 from "node:fs/promises";
70
+ import * as fs$1 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 fs$1, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
76
- import JSON5 from "json5";
75
+ import syncFs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
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";
79
79
  import { fileURLToPath } from "node:url";
@@ -3100,7 +3100,7 @@ function setPromptSourceCacheEntry(key, entry) {
3100
3100
  }
3101
3101
  function readOpenFileUtf8(fd) {
3102
3102
  return new Promise((resolve, reject) => {
3103
- fs$1.readFile(fd, "utf-8", (error, data) => {
3103
+ syncFs.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
- fs$1.close(fd, (error) => {
3114
+ syncFs.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 = fs$1.readFileSync(opened.fd);
3553
+ content = syncFs.readFileSync(opened.fd);
3554
3554
  } finally {
3555
- fs$1.closeSync(opened.fd);
3555
+ syncFs.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 (fs$1.existsSync(workspaceDocs)) return workspaceDocs;
3918
+ if (syncFs.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 (fs$1.existsSync(path.join(packageDocs, "docs.json"))) return packageDocs;
3927
+ if (syncFs.existsSync(path.join(packageDocs, "docs.json"))) return packageDocs;
3928
3928
  }
3929
3929
  return DOCS_SITE_URL;
3930
3930
  }
@@ -8338,7 +8338,7 @@ function resolveDefaultIdentityPath() {
8338
8338
  return path.join(resolveStateDir(), "identity", "device.json");
8339
8339
  }
8340
8340
  function ensureDir$2(filePath) {
8341
- fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
8341
+ syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
8342
8342
  }
8343
8343
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
8344
8344
  function base64UrlEncode(buf) {
@@ -8374,8 +8374,8 @@ function generateIdentity() {
8374
8374
  }
8375
8375
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
8376
8376
  try {
8377
- if (fs$1.existsSync(filePath)) {
8378
- const raw = fs$1.readFileSync(filePath, "utf8");
8377
+ if (syncFs.existsSync(filePath)) {
8378
+ const raw = syncFs.readFileSync(filePath, "utf8");
8379
8379
  const parsed = JSON.parse(raw);
8380
8380
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
8381
8381
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -8384,9 +8384,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
8384
8384
  ...parsed,
8385
8385
  deviceId: derivedId
8386
8386
  };
8387
- fs$1.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
8387
+ syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
8388
8388
  try {
8389
- fs$1.chmodSync(filePath, 384);
8389
+ syncFs.chmodSync(filePath, 384);
8390
8390
  } catch {}
8391
8391
  return {
8392
8392
  deviceId: derivedId,
@@ -8411,9 +8411,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
8411
8411
  privateKeyPem: identity.privateKeyPem,
8412
8412
  createdAtMs: Date.now()
8413
8413
  };
8414
- fs$1.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
8414
+ syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
8415
8415
  try {
8416
- fs$1.chmodSync(filePath, 384);
8416
+ syncFs.chmodSync(filePath, 384);
8417
8417
  } catch {}
8418
8418
  return identity;
8419
8419
  }
@@ -8605,8 +8605,8 @@ function resolveDeviceAuthPath(env = process.env) {
8605
8605
  }
8606
8606
  function readStore(filePath) {
8607
8607
  try {
8608
- if (!fs$1.existsSync(filePath)) return null;
8609
- const raw = fs$1.readFileSync(filePath, "utf8");
8608
+ if (!syncFs.existsSync(filePath)) return null;
8609
+ const raw = syncFs.readFileSync(filePath, "utf8");
8610
8610
  const parsed = JSON.parse(raw);
8611
8611
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
8612
8612
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -8616,10 +8616,10 @@ function readStore(filePath) {
8616
8616
  }
8617
8617
  }
8618
8618
  function writeStore(filePath, store) {
8619
- fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
8620
- fs$1.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
8619
+ syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
8620
+ syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
8621
8621
  try {
8622
- fs$1.chmodSync(filePath, 384);
8622
+ syncFs.chmodSync(filePath, 384);
8623
8623
  } catch {}
8624
8624
  }
8625
8625
  function loadDeviceAuthToken(params) {
@@ -12475,7 +12475,7 @@ async function routeReply(params) {
12475
12475
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
12476
12476
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
12477
12477
  try {
12478
- const { deliverOutboundPayloads } = await import("./deliver-CVWbwPkb.js").then((n) => n.n);
12478
+ const { deliverOutboundPayloads } = await import("./deliver-CXqNQ8yi.js").then((n) => n.n);
12479
12479
  const outboundSession = buildOutboundSessionContext({
12480
12480
  cfg,
12481
12481
  agentId: resolvedAgentId,
@@ -14063,7 +14063,7 @@ async function sendTranscriptEcho(params) {
14063
14063
  }
14064
14064
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
14065
14065
  try {
14066
- const { deliverOutboundPayloads } = await import("./deliver-CVWbwPkb.js").then((n) => n.n);
14066
+ const { deliverOutboundPayloads } = await import("./deliver-CXqNQ8yi.js").then((n) => n.n);
14067
14067
  await deliverOutboundPayloads({
14068
14068
  cfg,
14069
14069
  channel: normalizedChannel,
@@ -18345,7 +18345,7 @@ function mergeLegacyAgent(current, legacy) {
18345
18345
  }
18346
18346
  function ensureDir$1(filePath) {
18347
18347
  const dir = path.dirname(filePath);
18348
- fs$1.mkdirSync(dir, { recursive: true });
18348
+ syncFs.mkdirSync(dir, { recursive: true });
18349
18349
  }
18350
18350
  function coerceAllowlistEntries(allowlist) {
18351
18351
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -18415,11 +18415,11 @@ function generateToken() {
18415
18415
  function loadExecApprovals() {
18416
18416
  const filePath = resolveExecApprovalsPath();
18417
18417
  try {
18418
- if (!fs$1.existsSync(filePath)) return normalizeExecApprovals({
18418
+ if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
18419
18419
  version: 1,
18420
18420
  agents: {}
18421
18421
  });
18422
- const raw = fs$1.readFileSync(filePath, "utf8");
18422
+ const raw = syncFs.readFileSync(filePath, "utf8");
18423
18423
  const parsed = JSON.parse(raw);
18424
18424
  if (parsed?.version !== 1) return normalizeExecApprovals({
18425
18425
  version: 1,
@@ -18436,9 +18436,9 @@ function loadExecApprovals() {
18436
18436
  function saveExecApprovals(file) {
18437
18437
  const filePath = resolveExecApprovalsPath();
18438
18438
  ensureDir$1(filePath);
18439
- fs$1.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18439
+ syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18440
18440
  try {
18441
- fs$1.chmodSync(filePath, 384);
18441
+ syncFs.chmodSync(filePath, 384);
18442
18442
  } catch {}
18443
18443
  }
18444
18444
  function ensureExecApprovals() {
@@ -19004,18 +19004,18 @@ function peekSystemEventEntries(sessionKey) {
19004
19004
  function resolvePowerShellPath() {
19005
19005
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
19006
19006
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
19007
- if (fs$1.existsSync(pwsh7)) return pwsh7;
19007
+ if (syncFs.existsSync(pwsh7)) return pwsh7;
19008
19008
  const programW6432 = process.env.ProgramW6432;
19009
19009
  if (programW6432 && programW6432 !== programFiles) {
19010
19010
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
19011
- if (fs$1.existsSync(pwsh7Alt)) return pwsh7Alt;
19011
+ if (syncFs.existsSync(pwsh7Alt)) return pwsh7Alt;
19012
19012
  }
19013
19013
  const pwshInPath = resolveShellFromPath("pwsh");
19014
19014
  if (pwshInPath) return pwshInPath;
19015
19015
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
19016
19016
  if (systemRoot) {
19017
19017
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
19018
- if (fs$1.existsSync(candidate)) return candidate;
19018
+ if (syncFs.existsSync(candidate)) return candidate;
19019
19019
  }
19020
19020
  return "powershell.exe";
19021
19021
  }
@@ -19053,7 +19053,7 @@ function resolveShellFromPath(name) {
19053
19053
  for (const entry of entries) {
19054
19054
  const candidate = path.join(entry, name);
19055
19055
  try {
19056
- fs$1.accessSync(candidate, fs$1.constants.X_OK);
19056
+ syncFs.accessSync(candidate, syncFs.constants.X_OK);
19057
19057
  return candidate;
19058
19058
  } catch {}
19059
19059
  }
@@ -22654,7 +22654,7 @@ function ensureContextWindowCacheLoaded() {
22654
22654
  await ensureOpenClawModelsJson(cfg);
22655
22655
  } catch {}
22656
22656
  try {
22657
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CsC6yTDG.js").then((n) => n.r);
22657
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-B9KKtGuw.js").then((n) => n.r);
22658
22658
  const agentDir = resolveOpenClawAgentDir();
22659
22659
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
22660
22660
  applyDiscoveredContextWindows({
@@ -22737,7 +22737,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
22737
22737
  function hasGitMarker(repoRoot) {
22738
22738
  const gitPath = path.join(repoRoot, ".git");
22739
22739
  try {
22740
- const stat = fs$1.statSync(gitPath);
22740
+ const stat = syncFs.statSync(gitPath);
22741
22741
  return stat.isDirectory() || stat.isFile();
22742
22742
  } catch {
22743
22743
  return false;
@@ -22749,10 +22749,10 @@ function findGitRoot(startDir, opts = {}) {
22749
22749
  function resolveGitDirFromMarker(repoRoot) {
22750
22750
  const gitPath = path.join(repoRoot, ".git");
22751
22751
  try {
22752
- const stat = fs$1.statSync(gitPath);
22752
+ const stat = syncFs.statSync(gitPath);
22753
22753
  if (stat.isDirectory()) return gitPath;
22754
22754
  if (!stat.isFile()) return null;
22755
- const match = fs$1.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22755
+ const match = syncFs.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22756
22756
  if (!match?.[1]) return null;
22757
22757
  return path.resolve(repoRoot, match[1].trim());
22758
22758
  } catch {
@@ -22819,7 +22819,7 @@ const resolveCommitHash = (options = {}) => {
22819
22819
  cachedCommit = null;
22820
22820
  return cachedCommit;
22821
22821
  }
22822
- const head = fs$1.readFileSync(headPath, "utf-8").trim();
22822
+ const head = syncFs.readFileSync(headPath, "utf-8").trim();
22823
22823
  if (!head) {
22824
22824
  cachedCommit = null;
22825
22825
  return cachedCommit;
@@ -22827,7 +22827,7 @@ const resolveCommitHash = (options = {}) => {
22827
22827
  if (head.startsWith("ref:")) {
22828
22828
  const ref = head.replace(/^ref:\s*/i, "").trim();
22829
22829
  const refPath = path.resolve(path.dirname(headPath), ref);
22830
- cachedCommit = formatCommit(fs$1.readFileSync(refPath, "utf-8").trim());
22830
+ cachedCommit = formatCommit(syncFs.readFileSync(refPath, "utf-8").trim());
22831
22831
  return cachedCommit;
22832
22832
  }
22833
22833
  cachedCommit = formatCommit(head);
@@ -23052,17 +23052,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
23052
23052
  } catch {
23053
23053
  return;
23054
23054
  }
23055
- if (!fs$1.existsSync(logPath)) return;
23055
+ if (!syncFs.existsSync(logPath)) return;
23056
23056
  try {
23057
23057
  const TAIL_BYTES = 8192;
23058
- const stat = fs$1.statSync(logPath);
23058
+ const stat = syncFs.statSync(logPath);
23059
23059
  const offset = Math.max(0, stat.size - TAIL_BYTES);
23060
23060
  const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
23061
- const fd = fs$1.openSync(logPath, "r");
23061
+ const fd = syncFs.openSync(logPath, "r");
23062
23062
  try {
23063
- fs$1.readSync(fd, buf, 0, buf.length, offset);
23063
+ syncFs.readSync(fd, buf, 0, buf.length, offset);
23064
23064
  } finally {
23065
- fs$1.closeSync(fd);
23065
+ syncFs.closeSync(fd);
23066
23066
  }
23067
23067
  const tail = buf.toString("utf-8");
23068
23068
  const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
@@ -27499,7 +27499,7 @@ function resolveRepoRoot(params) {
27499
27499
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
27500
27500
  if (configured) try {
27501
27501
  const resolved = path.resolve(configured);
27502
- if (fs$1.statSync(resolved).isDirectory()) return resolved;
27502
+ if (syncFs.statSync(resolved).isDirectory()) return resolved;
27503
27503
  } catch {}
27504
27504
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
27505
27505
  const seen = /* @__PURE__ */ new Set();
@@ -27896,7 +27896,7 @@ async function buildContextReply(params) {
27896
27896
  //#region src/auto-reply/reply/commands-export-session.ts
27897
27897
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
27898
27898
  function loadTemplate(fileName) {
27899
- return fs$1.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
27899
+ return syncFs.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
27900
27900
  }
27901
27901
  function generateHtml(sessionData) {
27902
27902
  const template = loadTemplate("template.html");
@@ -27970,7 +27970,7 @@ async function buildExportSessionReply(params) {
27970
27970
  } catch (err) {
27971
27971
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
27972
27972
  }
27973
- if (!fs$1.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
27973
+ if (!syncFs.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
27974
27974
  const sessionManager = SessionManager.open(sessionFile);
27975
27975
  const entries = sessionManager.getEntries();
27976
27976
  const header = sessionManager.getHeader();
@@ -27991,8 +27991,8 @@ async function buildExportSessionReply(params) {
27991
27991
  const defaultFileName = `openclaw-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
27992
27992
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
27993
27993
  const outputDir = path.dirname(outputPath);
27994
- if (!fs$1.existsSync(outputDir)) fs$1.mkdirSync(outputDir, { recursive: true });
27995
- fs$1.writeFileSync(outputPath, html, "utf-8");
27994
+ if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
27995
+ syncFs.writeFileSync(outputPath, html, "utf-8");
27996
27996
  const relativePath = path.relative(params.workspaceDir, outputPath);
27997
27997
  return { text: [
27998
27998
  "✅ Session exported!",
@@ -28167,8 +28167,8 @@ function resolveZaiApiKey() {
28167
28167
  }
28168
28168
  try {
28169
28169
  const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
28170
- if (!fs$1.existsSync(authPath)) return;
28171
- const data = JSON.parse(fs$1.readFileSync(authPath, "utf-8"));
28170
+ if (!syncFs.existsSync(authPath)) return;
28171
+ const data = JSON.parse(syncFs.readFileSync(authPath, "utf-8"));
28172
28172
  return data["z-ai"]?.access || data.zai?.access;
28173
28173
  } catch {
28174
28174
  return;
@@ -29987,7 +29987,7 @@ function shouldPersistAnyBindingState() {
29987
29987
  }
29988
29988
  function shouldPersistBindingMutations() {
29989
29989
  if (shouldPersistAnyBindingState()) return true;
29990
- return fs$1.existsSync(resolveThreadBindingsPath());
29990
+ return syncFs.existsSync(resolveThreadBindingsPath());
29991
29991
  }
29992
29992
  function saveBindingsToDisk(params = {}) {
29993
29993
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -31251,7 +31251,7 @@ const applyCostTotal = (totals, costTotal) => {
31251
31251
  totals.totalCost += costTotal;
31252
31252
  };
31253
31253
  async function* readJsonlRecords(filePath) {
31254
- const fileStream = fs$1.createReadStream(filePath, { encoding: "utf-8" });
31254
+ const fileStream = syncFs.createReadStream(filePath, { encoding: "utf-8" });
31255
31255
  const rl = readline.createInterface({
31256
31256
  input: fileStream,
31257
31257
  crlfDelay: Infinity
@@ -31323,10 +31323,10 @@ async function loadCostUsageSummary(params) {
31323
31323
  const dailyMap = /* @__PURE__ */ new Map();
31324
31324
  const totals = emptyTotals();
31325
31325
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
31326
- const entries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
31326
+ const entries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
31327
31327
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && isPrimarySessionTranscriptFileName(entry.name)).map(async (entry) => {
31328
31328
  const filePath = path.join(sessionsDir, entry.name);
31329
- const stats = await fs$1.promises.stat(filePath).catch(() => null);
31329
+ const stats = await syncFs.promises.stat(filePath).catch(() => null);
31330
31330
  if (!stats) return null;
31331
31331
  if (stats.mtimeMs < sinceTime) return null;
31332
31332
  return filePath;
@@ -31359,7 +31359,7 @@ async function loadCostUsageSummary(params) {
31359
31359
  }
31360
31360
  async function loadSessionCostSummary(params) {
31361
31361
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
31362
- if (!sessionFile || !fs$1.existsSync(sessionFile)) return null;
31362
+ if (!sessionFile || !syncFs.existsSync(sessionFile)) return null;
31363
31363
  const totals = emptyTotals();
31364
31364
  let firstActivity;
31365
31365
  let lastActivity;
@@ -32538,8 +32538,8 @@ function normalizeSessionKey(value) {
32538
32538
  }
32539
32539
  function readSessionStore(storePath) {
32540
32540
  try {
32541
- const raw = fs$1.readFileSync(storePath, "utf-8");
32542
- const parsed = JSON5.parse(raw);
32541
+ const raw = syncFs.readFileSync(storePath, "utf-8");
32542
+ const parsed = json5.parse(raw);
32543
32543
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
32544
32544
  } catch {}
32545
32545
  return {};
@@ -34202,7 +34202,7 @@ async function createModelSelectionState(params) {
34202
34202
  }
34203
34203
  }
34204
34204
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
34205
- const { ensureAuthProfileStore } = await import("./model-selection-9qbqwsOT.js").then((n) => n.P);
34205
+ const { ensureAuthProfileStore } = await import("./model-selection-CdZITU0t.js").then((n) => n.P);
34206
34206
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
34207
34207
  const providerKey = normalizeProviderId(provider);
34208
34208
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -37724,7 +37724,7 @@ function asBoolean(value) {
37724
37724
  }
37725
37725
  function resolveTempPathParts(opts) {
37726
37726
  const tmpDir = opts.tmpDir ?? resolvePreferredOpenClawTmpDir();
37727
- if (!opts.tmpDir) fs$1.mkdirSync(tmpDir, {
37727
+ if (!opts.tmpDir) syncFs.mkdirSync(tmpDir, {
37728
37728
  recursive: true,
37729
37729
  mode: 448
37730
37730
  });
@@ -37810,7 +37810,7 @@ async function writeUrlToFile(filePath, url, opts) {
37810
37810
  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}`);
37811
37811
  const body = res.body;
37812
37812
  if (!body) throw new Error(`failed to download ${url}: empty response body`);
37813
- const fileHandle = await fs$2.open(filePath, "w");
37813
+ const fileHandle = await fs$1.open(filePath, "w");
37814
37814
  let thrown;
37815
37815
  try {
37816
37816
  const reader = body.getReader();
@@ -37828,7 +37828,7 @@ async function writeUrlToFile(filePath, url, opts) {
37828
37828
  await fileHandle.close();
37829
37829
  }
37830
37830
  if (thrown) {
37831
- await fs$2.unlink(filePath).catch(() => {});
37831
+ await fs$1.unlink(filePath).catch(() => {});
37832
37832
  throw thrown;
37833
37833
  }
37834
37834
  } finally {
@@ -37841,7 +37841,7 @@ async function writeUrlToFile(filePath, url, opts) {
37841
37841
  }
37842
37842
  async function writeBase64ToFile(filePath, base64) {
37843
37843
  const buf = Buffer.from(base64, "base64");
37844
- await fs$2.writeFile(filePath, buf);
37844
+ await fs$1.writeFile(filePath, buf);
37845
37845
  return {
37846
37846
  path: filePath,
37847
37847
  bytes: buf.length
@@ -41280,9 +41280,9 @@ function loadExternalCatalogEntries(options) {
41280
41280
  const entries = [];
41281
41281
  for (const rawPath of paths) {
41282
41282
  const resolved = resolveUserPath(rawPath);
41283
- if (!fs$1.existsSync(resolved)) continue;
41283
+ if (!syncFs.existsSync(resolved)) continue;
41284
41284
  try {
41285
- const payload = JSON.parse(fs$1.readFileSync(resolved, "utf-8"));
41285
+ const payload = JSON.parse(syncFs.readFileSync(resolved, "utf-8"));
41286
41286
  entries.push(...parseCatalogEntries(payload));
41287
41287
  } catch {}
41288
41288
  }
@@ -45202,7 +45202,7 @@ function listExistingAgentIdsFromDisk() {
45202
45202
  const root = resolveStateDir();
45203
45203
  const agentsDir = path.join(root, "agents");
45204
45204
  try {
45205
- return fs$1.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
45205
+ return syncFs.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
45206
45206
  } catch {
45207
45207
  return [];
45208
45208
  }
@@ -51492,7 +51492,7 @@ async function runAgentTurnWithFallback(params) {
51492
51492
  if (corruptedSessionId) {
51493
51493
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
51494
51494
  try {
51495
- fs$1.unlinkSync(transcriptPath);
51495
+ syncFs.unlinkSync(transcriptPath);
51496
51496
  } catch {}
51497
51497
  }
51498
51498
  delete params.activeSessionStore[sessionKey];
@@ -52288,7 +52288,7 @@ async function readSessionLogSnapshot(params) {
52288
52288
  if (!logPath) return {};
52289
52289
  const snapshot = {};
52290
52290
  if (params.includeByteSize) try {
52291
- const stat = await fs$1.promises.stat(logPath);
52291
+ const stat = await syncFs.promises.stat(logPath);
52292
52292
  const size = Math.floor(stat.size);
52293
52293
  snapshot.byteSize = Number.isFinite(size) && size >= 0 ? size : void 0;
52294
52294
  } catch {
@@ -52302,7 +52302,7 @@ async function readSessionLogSnapshot(params) {
52302
52302
  return snapshot;
52303
52303
  }
52304
52304
  async function readLastNonzeroUsageFromSessionLog(logPath) {
52305
- const handle = await fs$1.promises.open(logPath, "r");
52305
+ const handle = await syncFs.promises.open(logPath, "r");
52306
52306
  try {
52307
52307
  let position = (await handle.stat()).size;
52308
52308
  let leadingPartial = "";
@@ -53070,9 +53070,9 @@ async function readPostCompactionContext(workspaceDir) {
53070
53070
  if (!opened.ok) return null;
53071
53071
  const sections = extractSections((() => {
53072
53072
  try {
53073
- return fs$1.readFileSync(opened.fd, "utf-8");
53073
+ return syncFs.readFileSync(opened.fd, "utf-8");
53074
53074
  } finally {
53075
- fs$1.closeSync(opened.fd);
53075
+ syncFs.closeSync(opened.fd);
53076
53076
  }
53077
53077
  })(), ["Session Startup", "Red Lines"]);
53078
53078
  if (sections.length === 0) return null;
@@ -53315,7 +53315,7 @@ async function runReplyAgent(params) {
53315
53315
  if (resolved) transcriptCandidates.add(resolved);
53316
53316
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
53317
53317
  for (const candidate of transcriptCandidates) try {
53318
- fs$1.unlinkSync(candidate);
53318
+ syncFs.unlinkSync(candidate);
53319
53319
  } catch {}
53320
53320
  }
53321
53321
  return true;
@@ -54423,7 +54423,7 @@ async function deliverSessionMaintenanceWarning(params) {
54423
54423
  return;
54424
54424
  }
54425
54425
  try {
54426
- const { deliverOutboundPayloads } = await import("./deliver-CVWbwPkb.js").then((n) => n.n);
54426
+ const { deliverOutboundPayloads } = await import("./deliver-CXqNQ8yi.js").then((n) => n.n);
54427
54427
  const outboundSession = buildOutboundSessionContext({
54428
54428
  cfg: params.cfg,
54429
54429
  sessionKey: params.sessionKey
@@ -54529,7 +54529,7 @@ async function forkSessionFromParent(params) {
54529
54529
  agentId: params.agentId,
54530
54530
  sessionsDir: params.sessionsDir
54531
54531
  });
54532
- if (!parentSessionFile || !fs$1.existsSync(parentSessionFile)) return null;
54532
+ if (!parentSessionFile || !syncFs.existsSync(parentSessionFile)) return null;
54533
54533
  try {
54534
54534
  const manager = SessionManager.open(parentSessionFile);
54535
54535
  const leafId = manager.getLeafId();
@@ -54553,7 +54553,7 @@ async function forkSessionFromParent(params) {
54553
54553
  cwd: manager.getCwd(),
54554
54554
  parentSession: parentSessionFile
54555
54555
  };
54556
- fs$1.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
54556
+ syncFs.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
54557
54557
  return {
54558
54558
  sessionId,
54559
54559
  sessionFile
@@ -63612,7 +63612,7 @@ async function describeStickerImage(params) {
63612
63612
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
63613
63613
  try {
63614
63614
  const buffer = await fs.readFile(imagePath);
63615
- const { describeImageWithModel } = await import("./provider-image-Cb4z6zUu.js").then((n) => n.n);
63615
+ const { describeImageWithModel } = await import("./provider-image-BllyLBJM.js").then((n) => n.n);
63616
63616
  return (await describeImageWithModel({
63617
63617
  buffer,
63618
63618
  fileName: "sticker.webp",
@@ -65325,7 +65325,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
65325
65325
  let transcript;
65326
65326
  let carry;
65327
65327
  if (needsPreflightTranscription) try {
65328
- const { transcribeFirstAudio } = await import("./audio-preflight-ifCgpG3c.js");
65328
+ const { transcribeFirstAudio } = await import("./audio-preflight-B_5sTSyb.js");
65329
65329
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
65330
65330
  if (uploadable.length > 0) {
65331
65331
  const preflight = await transcribeFirstAudio({
@@ -66786,7 +66786,7 @@ function identityHasValues(identity) {
66786
66786
  }
66787
66787
  function loadIdentityFromFile(identityPath) {
66788
66788
  try {
66789
- const parsed = parseIdentityMarkdown(fs$1.readFileSync(identityPath, "utf-8"));
66789
+ const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
66790
66790
  if (!identityHasValues(parsed)) return null;
66791
66791
  return parsed;
66792
66792
  } catch {
@@ -66810,7 +66810,7 @@ function resolveAvatarSource(cfg, agentId) {
66810
66810
  }
66811
66811
  function resolveExistingPath(value) {
66812
66812
  try {
66813
- return fs$1.realpathSync(value);
66813
+ return syncFs.realpathSync(value);
66814
66814
  } catch {
66815
66815
  return path.resolve(value);
66816
66816
  }
@@ -66828,7 +66828,7 @@ function resolveLocalAvatarPath(params) {
66828
66828
  reason: "unsupported_extension"
66829
66829
  };
66830
66830
  try {
66831
- const stat = fs$1.statSync(realPath);
66831
+ const stat = syncFs.statSync(realPath);
66832
66832
  if (!stat.isFile()) return {
66833
66833
  ok: false,
66834
66834
  reason: "missing"
@@ -72529,23 +72529,23 @@ function createDefaultDeps() {
72529
72529
  };
72530
72530
  },
72531
72531
  sendMessageTelegram: async (...args) => {
72532
- const { sendMessageTelegram } = await import("./send-TscXeVY8.js").then((n) => n.l);
72532
+ const { sendMessageTelegram } = await import("./send-DEFcgo-1.js").then((n) => n.l);
72533
72533
  return await sendMessageTelegram(...args);
72534
72534
  },
72535
72535
  sendMessageDiscord: async (...args) => {
72536
- const { sendMessageDiscord } = await import("./send-BGps2i_C.js").then((n) => n.t);
72536
+ const { sendMessageDiscord } = await import("./send-Do1AlhD5.js").then((n) => n.t);
72537
72537
  return await sendMessageDiscord(...args);
72538
72538
  },
72539
72539
  sendMessageSlack: async (...args) => {
72540
- const { sendMessageSlack } = await import("./send-Ba3pDq6E.js").then((n) => n.n);
72540
+ const { sendMessageSlack } = await import("./send-ENMm5qbW.js").then((n) => n.n);
72541
72541
  return await sendMessageSlack(...args);
72542
72542
  },
72543
72543
  sendMessageSignal: async (...args) => {
72544
- const { sendMessageSignal } = await import("./send-BiDcVZSc.js").then((n) => n.i);
72544
+ const { sendMessageSignal } = await import("./send-Dq8ChBfS.js").then((n) => n.i);
72545
72545
  return await sendMessageSignal(...args);
72546
72546
  },
72547
72547
  sendMessageIMessage: async (...args) => {
72548
- const { sendMessageIMessage } = await import("./send-Tx-ew59_.js").then((n) => n.n);
72548
+ const { sendMessageIMessage } = await import("./send-CNLmncRW.js").then((n) => n.n);
72549
72549
  return await sendMessageIMessage(...args);
72550
72550
  }
72551
72551
  };
@@ -78445,7 +78445,7 @@ async function monitorIMessageProvider(opts = {}) {
78445
78445
  function readFileIfExists(filePath) {
78446
78446
  if (!filePath) return;
78447
78447
  try {
78448
- return fs$1.readFileSync(filePath, "utf-8").trim();
78448
+ return syncFs.readFileSync(filePath, "utf-8").trim();
78449
78449
  } catch {
78450
78450
  return;
78451
78451
  }
@@ -79066,7 +79066,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
79066
79066
  prefix: "line-media",
79067
79067
  extension: getExtensionForContentType(contentType)
79068
79068
  });
79069
- await fs$1.promises.writeFile(filePath, buffer);
79069
+ await syncFs.promises.writeFile(filePath, buffer);
79070
79070
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
79071
79071
  return {
79072
79072
  path: filePath,
@@ -84862,7 +84862,7 @@ function readSlackExternalArgMenuToken(raw) {
84862
84862
  }
84863
84863
  let commandsRegistry;
84864
84864
  async function getCommandsRegistry() {
84865
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DdQg21ct.js").then((n) => n.n);
84865
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DC0fovy_.js").then((n) => n.n);
84866
84866
  return commandsRegistry;
84867
84867
  }
84868
84868
  function encodeSlackCommandArgValue(parts) {
@@ -85192,14 +85192,14 @@ async function registerSlackMonitorSlashCommands(params) {
85192
85192
  const channelName = channelInfo?.name;
85193
85193
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
85194
85194
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
85195
- import("./resolve-route-BV8k5qjX.js").then((n) => n.r),
85195
+ import("./resolve-route-jDAjkfZE.js").then((n) => n.r),
85196
85196
  import("./inbound-context-BXGkQwOQ.js").then((n) => n.n),
85197
85197
  Promise.resolve().then(() => provider_dispatcher_exports)
85198
85198
  ]);
85199
85199
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
85200
85200
  import("./conversation-label-BnH5Yy9T.js").then((n) => n.t),
85201
- import("./reply-prefix-C7WlN3qm.js").then((n) => n.n),
85202
- import("./session-meta-DH__PMKt.js").then((n) => n.n)
85201
+ import("./reply-prefix-DVkNDBNe.js").then((n) => n.n),
85202
+ import("./session-meta-DuK_BrWT.js").then((n) => n.n)
85203
85203
  ]);
85204
85204
  const route = resolveAgentRoute({
85205
85205
  cfg,
@@ -85264,9 +85264,9 @@ async function registerSlackMonitorSlashCommands(params) {
85264
85264
  });
85265
85265
  const deliverSlashPayloads = async (replies) => {
85266
85266
  const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
85267
- import("./replies-BsctLhfp.js").then((n) => n.r),
85268
- import("./chunk-eNEsWhab.js").then((n) => n.s),
85269
- import("./markdown-tables-UWspJNAH.js").then((n) => n.t)
85267
+ import("./replies-NkETqb6B.js").then((n) => n.r),
85268
+ import("./chunk-BhntPUH_.js").then((n) => n.s),
85269
+ import("./markdown-tables-Dd7jV1JF.js").then((n) => n.t)
85270
85270
  ]);
85271
85271
  await deliverSlackSlashReplies({
85272
85272
  replies,
@@ -85320,7 +85320,7 @@ async function registerSlackMonitorSlashCommands(params) {
85320
85320
  let nativeCommands = [];
85321
85321
  if (nativeEnabled) {
85322
85322
  reg = await getCommandsRegistry();
85323
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CRZajtK_.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
85323
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BhMQp_i8.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
85324
85324
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
85325
85325
  skillCommands,
85326
85326
  provider: "slack"
@@ -85839,7 +85839,7 @@ async function auditTelegramGroupMembership(params) {
85839
85839
  groups: [],
85840
85840
  elapsedMs: Date.now() - started
85841
85841
  };
85842
- const fetcher = params.proxyUrl ? (await import("./proxy-C9sq6M-h.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
85842
+ const fetcher = params.proxyUrl ? (await import("./proxy-fWL7CKDP.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
85843
85843
  const { fetchWithTimeout } = await import("./fetch-timeout-BfPtlUW6.js").then((n) => n.r);
85844
85844
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
85845
85845
  const groups = [];
@@ -88373,7 +88373,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
88373
88373
  let audioPreflightCarry;
88374
88374
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
88375
88375
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
88376
- const { transcribeFirstAudio } = await import("./audio-preflight-ifCgpG3c.js");
88376
+ const { transcribeFirstAudio } = await import("./audio-preflight-B_5sTSyb.js");
88377
88377
  const preflight = await transcribeFirstAudio({
88378
88378
  ctx: {
88379
88379
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -92783,7 +92783,7 @@ async function getMemorySearchManager(params) {
92783
92783
  if (cached) return { manager: cached };
92784
92784
  }
92785
92785
  try {
92786
- const { QmdMemoryManager } = await import("./qmd-manager-p036XU01.js");
92786
+ const { QmdMemoryManager } = await import("./qmd-manager-BwZ0V5fL.js");
92787
92787
  const primary = await QmdMemoryManager.create({
92788
92788
  cfg: params.cfg,
92789
92789
  agentId: params.agentId,
@@ -92795,7 +92795,7 @@ async function getMemorySearchManager(params) {
92795
92795
  const wrapper = new FallbackMemoryManager({
92796
92796
  primary,
92797
92797
  fallbackFactory: async () => {
92798
- const { MemoryIndexManager } = await import("./manager-DH-MILAU.js").then((n) => n.t);
92798
+ const { MemoryIndexManager } = await import("./manager-DdA_cy40.js").then((n) => n.t);
92799
92799
  return await MemoryIndexManager.get(params);
92800
92800
  }
92801
92801
  }, () => {
@@ -92810,7 +92810,7 @@ async function getMemorySearchManager(params) {
92810
92810
  }
92811
92811
  }
92812
92812
  try {
92813
- const { MemoryIndexManager } = await import("./manager-DH-MILAU.js").then((n) => n.t);
92813
+ const { MemoryIndexManager } = await import("./manager-DdA_cy40.js").then((n) => n.t);
92814
92814
  return { manager: await MemoryIndexManager.get(params) };
92815
92815
  } catch (err) {
92816
92816
  return {
@@ -93362,7 +93362,7 @@ async function withMemoryManagerForAgent(params) {
93362
93362
  }
93363
93363
  async function checkReadableFile(pathname) {
93364
93364
  try {
93365
- await fs.access(pathname, fs$1.constants.R_OK);
93365
+ await fs.access(pathname, syncFs.constants.R_OK);
93366
93366
  return { exists: true };
93367
93367
  } catch (err) {
93368
93368
  const code = err.code;
@@ -93421,7 +93421,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
93421
93421
  }
93422
93422
  let dirReadable = null;
93423
93423
  try {
93424
- await fs.access(memoryDir, fs$1.constants.R_OK);
93424
+ await fs.access(memoryDir, syncFs.constants.R_OK);
93425
93425
  dirReadable = true;
93426
93426
  } catch (err) {
93427
93427
  const code = err.code;
@@ -93868,7 +93868,7 @@ function createPluginRuntime(options = {}) {
93868
93868
  workStates: readTaskWorkStates
93869
93869
  },
93870
93870
  resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
93871
- sessions: { startUserRun: async (params) => (await import("./user-run-recording-CAk1Ketk.js").then((n) => n.n)).startUserSessionRun(params) }
93871
+ sessions: { startUserRun: async (params) => (await import("./user-run-recording-B0XAAUwL.js").then((n) => n.n)).startUserSessionRun(params) }
93872
93872
  };
93873
93873
  Object.defineProperty(runtime, "analysis", {
93874
93874
  enumerable: true,
@@ -93911,7 +93911,7 @@ const resolvePluginSdkAliasFile = (params) => {
93911
93911
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
93912
93912
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
93913
93913
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
93914
- for (const candidate of orderedCandidates) if (fs$1.existsSync(candidate)) return candidate;
93914
+ for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
93915
93915
  const parent = path.dirname(cursor);
93916
93916
  if (parent === cursor) break;
93917
93917
  cursor = parent;
@@ -94454,7 +94454,7 @@ function loadOpenClawPlugins(options = {}) {
94454
94454
  continue;
94455
94455
  }
94456
94456
  const safeSource = opened.path;
94457
- fs$1.closeSync(opened.fd);
94457
+ syncFs.closeSync(opened.fd);
94458
94458
  let mod = null;
94459
94459
  try {
94460
94460
  mod = getJiti()(safeSource);
@@ -94614,7 +94614,7 @@ function loadOpenClawPlugins(options = {}) {
94614
94614
  }
94615
94615
  function safeRealpathOrResolve(value) {
94616
94616
  try {
94617
- return fs$1.realpathSync(value);
94617
+ return syncFs.realpathSync(value);
94618
94618
  } catch {
94619
94619
  return path.resolve(value);
94620
94620
  }
@@ -95076,9 +95076,9 @@ function resolvePatchFileOps(options) {
95076
95076
  });
95077
95077
  assertBoundaryRead(opened, filePath);
95078
95078
  try {
95079
- return fs$1.readFileSync(opened.fd, "utf8");
95079
+ return syncFs.readFileSync(opened.fd, "utf8");
95080
95080
  } finally {
95081
- fs$1.closeSync(opened.fd);
95081
+ syncFs.closeSync(opened.fd);
95082
95082
  }
95083
95083
  },
95084
95084
  writeFile: async (filePath, content) => {
@@ -95374,7 +95374,7 @@ async function recordLoopOutcome(args) {
95374
95374
  if (!args.ctx?.sessionKey) return;
95375
95375
  try {
95376
95376
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bnyx-w0F.js").then((n) => n.n);
95377
- const { recordToolCallOutcome } = await import("./tool-loop-detection-8uvf8mSd.js");
95377
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-C1fqyXXD.js");
95378
95378
  recordToolCallOutcome(getDiagnosticSessionState({
95379
95379
  sessionKey: args.ctx.sessionKey,
95380
95380
  sessionId: args.ctx?.agentId
@@ -95401,8 +95401,8 @@ async function runBeforeToolCallHook(args) {
95401
95401
  const params = args.params;
95402
95402
  if (args.ctx?.sessionKey) {
95403
95403
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bnyx-w0F.js").then((n) => n.n);
95404
- const { logToolLoopAction } = await import("./diagnostic-DI-K8155.js").then((n) => n.n);
95405
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-8uvf8mSd.js");
95404
+ const { logToolLoopAction } = await import("./diagnostic-Bbg-zObh.js").then((n) => n.n);
95405
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-C1fqyXXD.js");
95406
95406
  const sessionState = getDiagnosticSessionState({
95407
95407
  sessionKey: args.ctx.sessionKey,
95408
95408
  sessionId: args.ctx?.agentId
@@ -97822,9 +97822,9 @@ async function readWorkspaceContextForSummary() {
97822
97822
  if (!opened.ok) return "";
97823
97823
  const sections = extractSections((() => {
97824
97824
  try {
97825
- return fs$1.readFileSync(opened.fd, "utf-8");
97825
+ return syncFs.readFileSync(opened.fd, "utf-8");
97826
97826
  } finally {
97827
- fs$1.closeSync(opened.fd);
97827
+ syncFs.closeSync(opened.fd);
97828
97828
  }
97829
97829
  })(), ["Session Startup", "Red Lines"]);
97830
97830
  if (sections.length === 0) return "";
@@ -98157,7 +98157,7 @@ function estimateMessageChars$1(message) {
98157
98157
  if (message.role === "toolResult") return estimateTextAndImageChars(message.content);
98158
98158
  return 256;
98159
98159
  }
98160
- function estimateContextChars$1(messages) {
98160
+ function estimateContextChars(messages) {
98161
98161
  return messages.reduce((sum, m) => sum + estimateMessageChars$1(m), 0);
98162
98162
  }
98163
98163
  function findAssistantCutoffIndex(messages, keepLastAssistants) {
@@ -98205,7 +98205,7 @@ function pruneContextMessages(params) {
98205
98205
  const firstUserIndex = findFirstUserIndex(messages);
98206
98206
  const pruneStartIndex = firstUserIndex === null ? messages.length : firstUserIndex;
98207
98207
  const isToolPrunable = params.isToolPrunable ?? makeToolPrunablePredicate(settings.tools);
98208
- let totalChars = estimateContextChars$1(messages);
98208
+ let totalChars = estimateContextChars(messages);
98209
98209
  let ratio = totalChars / charWindow;
98210
98210
  if (ratio < settings.softTrimRatio) return messages;
98211
98211
  const prunableToolIndexes = [];
@@ -99657,7 +99657,7 @@ async function compactEmbeddedPiSessionDirect(params) {
99657
99657
  if (!apiKeyInfo.apiKey) {
99658
99658
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
99659
99659
  } else if (model.provider === "github-copilot") {
99660
- const { resolveCopilotApiToken } = await import("./github-copilot-token-WSjo05vB.js").then((n) => n.n);
99660
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-zGOMIGSh.js").then((n) => n.n);
99661
99661
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
99662
99662
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
99663
99663
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -103528,32 +103528,35 @@ function estimateMessageCharsCached(msg, cache) {
103528
103528
  cache.set(msg, estimated);
103529
103529
  return estimated;
103530
103530
  }
103531
- function estimateContextChars(messages, cache) {
103532
- return messages.reduce((sum, msg) => sum + estimateMessageCharsCached(msg, cache), 0);
103533
- }
103534
- function invalidateMessageCharsCacheEntry(cache, msg) {
103535
- cache.delete(msg);
103536
- }
103537
103531
 
103538
103532
  //#endregion
103539
103533
  //#region src/agents/pi-embedded-runner/tool-result-context-guard.ts
103540
- const CONTEXT_INPUT_HEADROOM_RATIO = .75;
103534
+ const AGGREGATE_TOOL_RESULT_CONTEXT_SHARE = .5;
103541
103535
  const SINGLE_TOOL_RESULT_CONTEXT_SHARE = .5;
103536
+ const MIN_TRIMMED_TOOL_RESULT_CHARS = 2e3;
103537
+ const TAIL_SHARE = .3;
103538
+ const MAX_TAIL_CHARS = 4e3;
103539
+ const TOOL_RESULT_TEXT_WEIGHT = CHARS_PER_TOKEN_ESTIMATE / TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE;
103542
103540
  const CONTEXT_LIMIT_TRUNCATION_NOTICE = "[truncated: output exceeded context limit]";
103543
- const CONTEXT_LIMIT_TRUNCATION_SUFFIX = `\n${CONTEXT_LIMIT_TRUNCATION_NOTICE}`;
103544
103541
  const PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER = "[compacted: tool output removed to free context]";
103545
- function truncateTextToBudget(text, maxChars) {
103542
+ function formatOmissionMarker(omittedChars) {
103543
+ return `\n\n${CONTEXT_LIMIT_TRUNCATION_NOTICE} [${omittedChars} chars omitted between head and tail]\n\n`;
103544
+ }
103545
+ function truncateTextHeadTail(text, maxChars) {
103546
103546
  if (text.length <= maxChars) return text;
103547
- if (maxChars <= 0) return CONTEXT_LIMIT_TRUNCATION_NOTICE;
103548
- const bodyBudget = Math.max(0, maxChars - CONTEXT_LIMIT_TRUNCATION_SUFFIX.length);
103547
+ const bodyBudget = maxChars - formatOmissionMarker(text.length).length;
103549
103548
  if (bodyBudget <= 0) return CONTEXT_LIMIT_TRUNCATION_NOTICE;
103550
- let cutPoint = bodyBudget;
103551
- const newline = text.lastIndexOf("\n", bodyBudget);
103552
- if (newline > bodyBudget * .7) cutPoint = newline;
103553
- return text.slice(0, cutPoint) + CONTEXT_LIMIT_TRUNCATION_SUFFIX;
103549
+ const tailBudget = Math.min(Math.floor(bodyBudget * TAIL_SHARE), MAX_TAIL_CHARS);
103550
+ let head = sliceUtf16Safe(text, 0, bodyBudget - tailBudget);
103551
+ const headNewline = head.lastIndexOf("\n");
103552
+ if (headNewline > head.length * .8) head = head.slice(0, headNewline);
103553
+ let tail = tailBudget > 0 ? sliceUtf16Safe(text, -tailBudget) : "";
103554
+ const tailNewline = tail.indexOf("\n");
103555
+ if (tailNewline !== -1 && tailNewline < tail.length * .2) tail = tail.slice(tailNewline + 1);
103556
+ return head + formatOmissionMarker(text.length - head.length - tail.length) + tail;
103554
103557
  }
103555
103558
  function replaceToolResultText(msg, text) {
103556
- const content = msg.content;
103559
+ const content = "content" in msg ? msg.content : void 0;
103557
103560
  const replacementContent = typeof content === "string" || content === void 0 ? text : [{
103558
103561
  type: "text",
103559
103562
  text
@@ -103565,68 +103568,89 @@ function replaceToolResultText(msg, text) {
103565
103568
  };
103566
103569
  }
103567
103570
  function truncateToolResultToChars(msg, maxChars, cache) {
103568
- if (!isToolResultMessage(msg)) return msg;
103569
103571
  if (estimateMessageCharsCached(msg, cache) <= maxChars) return msg;
103570
103572
  const rawText = getToolResultText(msg);
103571
103573
  if (!rawText) return replaceToolResultText(msg, CONTEXT_LIMIT_TRUNCATION_NOTICE);
103572
- return replaceToolResultText(msg, truncateTextToBudget(rawText, maxChars));
103573
- }
103574
- function compactExistingToolResultsInPlace(params) {
103575
- const { messages, charsNeeded, cache } = params;
103576
- if (charsNeeded <= 0) return 0;
103577
- let reduced = 0;
103578
- for (let i = 0; i < messages.length; i++) {
103579
- const msg = messages[i];
103580
- if (!isToolResultMessage(msg)) continue;
103581
- const before = estimateMessageCharsCached(msg, cache);
103582
- if (before <= 48) continue;
103583
- applyMessageMutationInPlace(msg, replaceToolResultText(msg, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER), cache);
103584
- const after = estimateMessageCharsCached(msg, cache);
103585
- if (after >= before) continue;
103586
- reduced += before - after;
103587
- if (reduced >= charsNeeded) break;
103588
- }
103589
- return reduced;
103590
- }
103591
- function applyMessageMutationInPlace(target, source, cache) {
103592
- if (target === source) return;
103593
- const targetRecord = target;
103594
- const sourceRecord = source;
103595
- for (const key of Object.keys(targetRecord)) if (!(key in sourceRecord)) delete targetRecord[key];
103596
- Object.assign(targetRecord, sourceRecord);
103597
- if (cache) invalidateMessageCharsCacheEntry(cache, target);
103598
- }
103599
- function enforceToolResultContextBudgetInPlace(params) {
103600
- const { messages, contextBudgetChars, maxSingleToolResultChars } = params;
103601
- const estimateCache = createMessageCharEstimateCache();
103602
- for (const message of messages) {
103574
+ return replaceToolResultText(msg, truncateTextHeadTail(rawText, Math.floor(maxChars / TOOL_RESULT_TEXT_WEIGHT)));
103575
+ }
103576
+ function enforceToolResultContextBudget(params) {
103577
+ const { messages, aggregateBudgetChars, maxSingleToolResultChars } = params;
103578
+ const cache = createMessageCharEstimateCache();
103579
+ const currentRoundStart = messages.findLastIndex((message) => message.role === "user") + 1;
103580
+ let guarded;
103581
+ let originalChars = 0;
103582
+ let totalChars = 0;
103583
+ let cappedCount = 0;
103584
+ const earlierRoundIndexes = [];
103585
+ for (const [index, message] of messages.entries()) {
103603
103586
  if (!isToolResultMessage(message)) continue;
103604
- applyMessageMutationInPlace(message, truncateToolResultToChars(message, maxSingleToolResultChars, estimateCache), estimateCache);
103605
- }
103606
- let currentChars = estimateContextChars(messages, estimateCache);
103607
- if (currentChars <= contextBudgetChars) return;
103608
- compactExistingToolResultsInPlace({
103587
+ originalChars += estimateMessageCharsCached(message, cache);
103588
+ const capped = truncateToolResultToChars(message, maxSingleToolResultChars, cache);
103589
+ if (capped !== message) {
103590
+ guarded ??= messages.slice();
103591
+ guarded[index] = capped;
103592
+ cappedCount += 1;
103593
+ }
103594
+ totalChars += estimateMessageCharsCached(capped, cache);
103595
+ if (index < currentRoundStart) earlierRoundIndexes.push(index);
103596
+ }
103597
+ const minTrimmedChars = MIN_TRIMMED_TOOL_RESULT_CHARS * TOOL_RESULT_TEXT_WEIGHT;
103598
+ let trimmedCount = 0;
103599
+ let clearedCount = 0;
103600
+ for (const clear of [false, true]) for (const index of earlierRoundIndexes) {
103601
+ if (totalChars <= aggregateBudgetChars) break;
103602
+ const current = (guarded ?? messages)[index];
103603
+ if (!current) continue;
103604
+ const before = estimateMessageCharsCached(current, cache);
103605
+ let next = current;
103606
+ if (clear) next = replaceToolResultText(current, PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER);
103607
+ else if (before > minTrimmedChars) next = truncateToolResultToChars(current, Math.max(minTrimmedChars, before - (totalChars - aggregateBudgetChars)), cache);
103608
+ const after = estimateMessageCharsCached(next, cache);
103609
+ if (after >= before) continue;
103610
+ guarded ??= messages.slice();
103611
+ guarded[index] = next;
103612
+ totalChars -= before - after;
103613
+ if (clear) clearedCount += 1;
103614
+ else trimmedCount += 1;
103615
+ }
103616
+ if (!guarded) return messages;
103617
+ log$29.info("tool-result context guard reduced tool output", {
103618
+ aggregateBudgetChars,
103619
+ maxSingleToolResultChars,
103620
+ toolResultCharsBefore: originalChars,
103621
+ toolResultCharsAfter: totalChars,
103622
+ freedChars: originalChars - totalChars,
103623
+ cappedCount,
103624
+ trimmedCount,
103625
+ clearedCount,
103626
+ currentRoundToolResults: messages.slice(currentRoundStart).filter(isToolResultMessage).length
103627
+ });
103628
+ return guarded;
103629
+ }
103630
+ /**
103631
+ * Bounds tool-result text in a model-call message list without mutating it. Every result is
103632
+ * head/tail-capped to half the window; when all tool results together exceed half the window,
103633
+ * earlier-round results are trimmed (then, as a last resort, replaced) oldest-first. Results
103634
+ * after the last user message are never evicted for the aggregate budget.
103635
+ */
103636
+ function createToolResultContextGuard(params) {
103637
+ const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
103638
+ const aggregateBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * AGGREGATE_TOOL_RESULT_CONTEXT_SHARE));
103639
+ const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
103640
+ return (messages) => enforceToolResultContextBudget({
103609
103641
  messages,
103610
- charsNeeded: currentChars - contextBudgetChars,
103611
- cache: estimateCache
103642
+ aggregateBudgetChars,
103643
+ maxSingleToolResultChars
103612
103644
  });
103613
103645
  }
103614
103646
  function installToolResultContextGuard(params) {
103615
- const contextWindowTokens = Math.max(1, Math.floor(params.contextWindowTokens));
103616
- const contextBudgetChars = Math.max(1024, Math.floor(contextWindowTokens * CHARS_PER_TOKEN_ESTIMATE * CONTEXT_INPUT_HEADROOM_RATIO));
103617
- const maxSingleToolResultChars = Math.max(1024, Math.floor(contextWindowTokens * TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE * SINGLE_TOOL_RESULT_CONTEXT_SHARE));
103647
+ const guard = createToolResultContextGuard(params);
103618
103648
  const mutableAgent = params.agent;
103619
103649
  const originalTransformContext = mutableAgent.transformContext;
103620
- mutableAgent.transformContext = (async (messages, signal) => {
103650
+ mutableAgent.transformContext = async (messages, signal) => {
103621
103651
  const transformed = originalTransformContext ? await originalTransformContext.call(mutableAgent, messages, signal) : messages;
103622
- const contextMessages = Array.isArray(transformed) ? transformed : messages;
103623
- enforceToolResultContextBudgetInPlace({
103624
- messages: contextMessages,
103625
- contextBudgetChars,
103626
- maxSingleToolResultChars
103627
- });
103628
- return contextMessages;
103629
- });
103652
+ return guard(Array.isArray(transformed) ? transformed : messages);
103653
+ };
103630
103654
  return () => {
103631
103655
  mutableAgent.transformContext = originalTransformContext;
103632
103656
  };
@@ -104958,7 +104982,7 @@ function installAttemptInputTransform(params) {
104958
104982
  }).catch((err) => {
104959
104983
  log$29.warn(`context projection artifact persist failed: ${String(err)}`);
104960
104984
  });
104961
- const finalMessages = await runTransformLlmInputHooks({
104985
+ const hookFinalMessages = await runTransformLlmInputHooks({
104962
104986
  messages: currentMessages,
104963
104987
  hookRunner: params.hookRunner,
104964
104988
  hookCtx: params.hookCtx,
@@ -104967,6 +104991,7 @@ function installAttemptInputTransform(params) {
104967
104991
  }).catch((err) => {
104968
104992
  log$29.warn(`transform_llm_input hook failed: ${String(err)}`);
104969
104993
  }) ?? currentMessages;
104994
+ const finalMessages = params.guardToolResults ? params.guardToolResults(hookFinalMessages) : hookFinalMessages;
104970
104995
  params.onFinalInputMessages?.(finalMessages);
104971
104996
  return finalMessages;
104972
104997
  };
@@ -105594,10 +105619,7 @@ async function runEmbeddedAttempt(params) {
105594
105619
  }));
105595
105620
  applySystemPromptOverrideToSession(session, systemPromptText);
105596
105621
  const activeSession = session;
105597
- removeToolResultContextGuard = installToolResultContextGuard({
105598
- agent: activeSession.agent,
105599
- contextWindowTokens: Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? DEFAULT_CONTEXT_TOKENS))
105600
- });
105622
+ const toolResultContextWindowTokens = Math.max(1, Math.floor(params.model.contextWindow ?? params.model.maxTokens ?? DEFAULT_CONTEXT_TOKENS));
105601
105623
  const cacheTrace = createCacheTrace({
105602
105624
  cfg: params.config,
105603
105625
  env: process.env,
@@ -106008,6 +106030,7 @@ async function runEmbeddedAttempt(params) {
106008
106030
  cleanUserText: params.prompt,
106009
106031
  provider: params.provider,
106010
106032
  modelId: params.modelId,
106033
+ guardToolResults: createToolResultContextGuard({ contextWindowTokens: toolResultContextWindowTokens }),
106011
106034
  onFinalInputMessages: (messages) => {
106012
106035
  modelCallContext.inputMessages = messages;
106013
106036
  modelCallContext.systemPrompt = systemPromptText;
@@ -106047,6 +106070,10 @@ async function runEmbeddedAttempt(params) {
106047
106070
  else await abortable(activeSession.prompt(params.prompt));
106048
106071
  } finally {
106049
106072
  removeAttemptInputTransform();
106073
+ removeToolResultContextGuard = installToolResultContextGuard({
106074
+ agent: activeSession.agent,
106075
+ contextWindowTokens: toolResultContextWindowTokens
106076
+ });
106050
106077
  }
106051
106078
  } catch (err) {
106052
106079
  promptError = err;
@@ -106675,7 +106702,7 @@ async function runEmbeddedPiAgent(params) {
106675
106702
  await copilotTokenState.refreshInFlight;
106676
106703
  return;
106677
106704
  }
106678
- const { resolveCopilotApiToken } = await import("./github-copilot-token-WSjo05vB.js").then((n) => n.n);
106705
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-zGOMIGSh.js").then((n) => n.n);
106679
106706
  copilotTokenState.refreshInFlight = (async () => {
106680
106707
  const githubToken = copilotTokenState.githubToken.trim();
106681
106708
  if (!githubToken) throw new Error("Copilot refresh requires a GitHub token.");
@@ -106767,7 +106794,7 @@ async function runEmbeddedPiAgent(params) {
106767
106794
  return;
106768
106795
  }
106769
106796
  if (model.provider === "github-copilot") {
106770
- const { resolveCopilotApiToken } = await import("./github-copilot-token-WSjo05vB.js").then((n) => n.n);
106797
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-zGOMIGSh.js").then((n) => n.n);
106771
106798
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
106772
106799
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
106773
106800
  if (copilotTokenState) {