@symerian/symi 2.3.1 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/dist/{accounts-ChTFYj8Q.js → accounts-CWktKM8a.js} +1 -1
  2. package/dist/{accounts-DDuIpcln.js → accounts-Cd816n6l.js} +7 -7
  3. package/dist/{accounts-bK-Yqdwx.js → accounts-CokRskCl.js} +1 -1
  4. package/dist/{accounts-DyJN4_vR.js → accounts-mN_EcgxC.js} +1 -1
  5. package/dist/{accounts-CJR8j_Kq.js → accounts-qtxJ-6em.js} +1 -1
  6. package/dist/{accounts-CI6zQTJj.js → accounts-tNElYrCH.js} +14 -14
  7. package/dist/{acp-cli-Cu4icbJT.js → acp-cli-BgyJMtqt.js} +6 -6
  8. package/dist/{active-listener-D6sXIjAg.js → active-listener-C9r8ZB9m.js} +1 -1
  9. package/dist/{agent-scope-CgUHAtCo.js → agent-scope-BRwEc2pG.js} +18 -18
  10. package/dist/{agent-scope-Bw1Ed8W9.js → agent-scope-BxoUQqgM.js} +3 -3
  11. package/dist/{agents-DzuttgJU.js → agents-DjLt6jc3.js} +4 -4
  12. package/dist/{agents.config-CSucty2T.js → agents.config-Dt7B_P5o.js} +1 -1
  13. package/dist/{agents.config-2HlZJsR3.js → agents.config-u_ibObha.js} +2 -2
  14. package/dist/{api-key-rotation-CzuPlV2t.js → api-key-rotation-CEr3lKih.js} +1 -1
  15. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  16. package/dist/{audio-preflight-CWnxkaac.js → audio-preflight-CjysqO8U.js} +28 -28
  17. package/dist/{audio-preflight-BsfqyC31.js → audio-preflight-D02HwB-I.js} +29 -29
  18. package/dist/{audit-CrITRV6w.js → audit-BSB9NPSO.js} +23 -23
  19. package/dist/{auth-choice-Cve09z1a.js → auth-choice-DUUu6Nhg.js} +1 -1
  20. package/dist/{auth-choice-ChrEc3cZ.js → auth-choice-DmSG7c8J.js} +8 -8
  21. package/dist/{auth-token-BnOynwk4.js → auth-token-DC5w1WoS.js} +1 -1
  22. package/dist/{banner-BoLflN_R.js → banner-BiAcdT2T.js} +1 -1
  23. package/dist/{bindings-BU2hsBd9.js → bindings-B7Ke6LJi.js} +2 -2
  24. package/dist/{bindings-DFaVVCsf.js → bindings-ChzePa8q.js} +1 -1
  25. package/dist/{browser-cli-BG4qPxpM.js → browser-cli-C4D9Ql3c.js} +9 -9
  26. package/dist/build-info.json +3 -3
  27. package/dist/bundled/boot-md/handler.js +53 -53
  28. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  29. package/dist/bundled/command-logger/handler.js +1 -1
  30. package/dist/bundled/session-memory/handler.js +53 -53
  31. package/dist/{call-CJaS1iRF.js → call-Dd7-bkfG.js} +9 -9
  32. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  33. package/dist/{channel-activity-C9-gaquj.js → channel-activity-CsM_hJ_s.js} +1 -1
  34. package/dist/{channel-options-DqgeO1f6.js → channel-options-ClfXE1B7.js} +1 -1
  35. package/dist/{channel-options-Dkd1WQZx.js → channel-options-vQREpu-n.js} +2 -2
  36. package/dist/{channel-selection-DuWs0Aak.js → channel-selection-DjfBv8kq.js} +1 -1
  37. package/dist/{channel-web-CJvDQ5Ea.js → channel-web-y6pd_GHr.js} +17 -17
  38. package/dist/{channels-cli-D0jjOLRb.js → channels-cli-CjYD1_OO.js} +75 -75
  39. package/dist/{channels-cli-DtqwJZWy.js → channels-cli-suXRcyfF.js} +4 -4
  40. package/dist/{channels-status-issues-B_kBkl_u.js → channels-status-issues-BoH1ZJPN.js} +1 -1
  41. package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
  42. package/dist/{chrome-w3SLcQJF.js → chrome-EyvdASWt.js} +20 -20
  43. package/dist/{chrome-DtPkPq9T.js → chrome-r4RThPxq.js} +2 -2
  44. package/dist/{chunk-ClbN9Pqy.js → chunk-BW5f05BR.js} +1 -1
  45. package/dist/cli/daemon-cli.js +1 -1
  46. package/dist/{cli-CHOmeum9.js → cli-B-911QZL.js} +62 -62
  47. package/dist/{cli-CEtg8kql.js → cli-mbfUlFn3.js} +1 -1
  48. package/dist/{client-CQSyCS4M.js → client-BsrZnuSi.js} +1 -1
  49. package/dist/{command-format-UKHV-j0K.js → command-format-BaxDnULz.js} +1 -1
  50. package/dist/{command-registry-Ba2z3dYq.js → command-registry-y8CXSD5O.js} +9 -9
  51. package/dist/{commands-BNLCWX6e.js → commands-CtocZ4Lg.js} +1 -1
  52. package/dist/{commands-registry-BT0-zzs3.js → commands-registry-BZ0ZSQpM.js} +3 -3
  53. package/dist/{commands-registry-VSmULp-g.js → commands-registry-D7CTCQPm.js} +4 -4
  54. package/dist/{completion-cli-CD-306wt.js → completion-cli-2Mi5hts2.js} +2 -2
  55. package/dist/{completion-cli-BgX3MWVU.js → completion-cli-BLrwUAyo.js} +12 -12
  56. package/dist/{config-CHwyw6l5.js → config-CJMcIRQM.js} +2 -2
  57. package/dist/{config-eEaJddXj.js → config-DRbjHIwD.js} +12 -12
  58. package/dist/{config-cli-Cz87-TYh.js → config-cli-CF-wdLkO.js} +4 -4
  59. package/dist/{config-cli-DAbXVRUL.js → config-cli-tYZAnvgQ.js} +1 -1
  60. package/dist/{config-guard-BflmO0t7.js → config-guard-C1Rs8NZG.js} +12 -12
  61. package/dist/{config-validation-CmimHAES.js → config-validation-ChQQVndI.js} +1 -1
  62. package/dist/{configure-D45ne4lm.js → configure-BHKdqhLb.js} +15 -15
  63. package/dist/{configure-0nrthdSf.js → configure-si19m30s.js} +3 -3
  64. package/dist/{control-service-Bz7rxLWq.js → control-service-B8H3Bqpv.js} +4 -4
  65. package/dist/{control-ui-assets-Z947tKLt.js → control-ui-assets-DqGziq7x.js} +1 -1
  66. package/dist/{cron-cli-DBIlCvp3.js → cron-cli-YrMWJCkm.js} +10 -10
  67. package/dist/{daemon-cli-DscwlsKW.js → daemon-cli-Dx4SXRyp.js} +11 -11
  68. package/dist/{daemon-runtime-2mwX-jqj.js → daemon-runtime--RiRUx_2.js} +10 -10
  69. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  70. package/dist/{deliver-BmPK91JP.js → deliver-D1ZN6-fl.js} +20 -20
  71. package/dist/{deliver-CceEhg3d.js → deliver-Um8yyhRA.js} +7 -7
  72. package/dist/{devices-cli-Dds-25Ve.js → devices-cli-DAJ84AOe.js} +6 -6
  73. package/dist/{diagnostic-C3nsWaw3.js → diagnostic-CI0kRQkt.js} +1 -1
  74. package/dist/{diagnostics-BAMlsVVX.js → diagnostics-D2yUMZN1.js} +5 -5
  75. package/dist/{directory-cli-CpUByQew.js → directory-cli-C4h8KQLH.js} +7 -7
  76. package/dist/{dm-policy-shared-Bh3TbexU.js → dm-policy-shared-BCSw0GJS.js} +2 -2
  77. package/dist/{dns-cli-Beyzdh3S.js → dns-cli-s0ZWvTPm.js} +3 -3
  78. package/dist/{dock-BhS32F6E.js → dock-BYiRZSgZ.js} +4 -4
  79. package/dist/{docs-cli-BpnEOtJi.js → docs-cli-BfPfHTDs.js} +1 -1
  80. package/dist/{doctor-completion-CcDVOtZ5.js → doctor-completion-C19QYsQN.js} +2 -2
  81. package/dist/{doctor-completion-CmGtqUHQ.js → doctor-completion-Dn_Kn4gz.js} +1 -1
  82. package/dist/{doctor-config-flow-QnaBd8kL.js → doctor-config-flow-D05HlWdn.js} +10 -10
  83. package/dist/entry.js +1 -1
  84. package/dist/{exec-approvals-cli-BliRl8VB.js → exec-approvals-cli-Df1lyRyE.js} +13 -13
  85. package/dist/extensionAPI.js +6 -6
  86. package/dist/{frontmatter-DPlG6yha.js → frontmatter-C_bv_0P8.js} +2 -2
  87. package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
  88. package/dist/{gateway-cli-DajX3Pye.js → gateway-cli-B7khyAHs.js} +139 -155
  89. package/dist/{gateway-cli-BVN31fwu.js → gateway-cli-DG_Mdw0H.js} +35 -51
  90. package/dist/{gateway-rpc-BxkKeCZ0.js → gateway-rpc-DFeD8pZh.js} +1 -1
  91. package/dist/{gemini-auth-CF48hUR9.js → gemini-auth-CdSPHuLl.js} +1 -1
  92. package/dist/{github-copilot-token-DJqsJ2-r.js → github-copilot-token-C_qUP7p5.js} +7 -7
  93. package/dist/{glass-ui-ws-CQG6acJl.js → glass-ui-ws-BAub_JoN.js} +7 -7
  94. package/dist/{glass-ui-ws-Z1IOT6Vc.js → glass-ui-ws-BmQAULMj.js} +82 -82
  95. package/dist/{health-D9eQW7fJ.js → health-CboWXJkq.js} +1 -1
  96. package/dist/{health-f056vLGT.js → health-DkKXiUEF.js} +13 -13
  97. package/dist/{hooks-cli-hJ4euq2R.js → hooks-cli-BrO_9pas.js} +76 -76
  98. package/dist/{hooks-cli-CW-IRS72.js → hooks-cli-DLM_5caf.js} +2 -2
  99. package/dist/{image-D9uvDTrc.js → image-BiY-PfMh.js} +3 -3
  100. package/dist/{image-rZ4x9VS9.js → image-Cp3JDEBB.js} +4 -4
  101. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  102. package/dist/{image-ops-S8-8dAhx.js → image-ops-CvJzsyvE.js} +1 -1
  103. package/dist/{image-ops-1OJMSAUX.js → image-ops-DYbDWaIA.js} +10 -10
  104. package/dist/index.js +72 -72
  105. package/dist/{inspect-CllGjsWo.js → inspect-ZJkNX0WL.js} +4 -4
  106. package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-Qqr_t_tH.js} +11 -11
  107. package/dist/{installs-C1Cebk97.js → installs-O9KlRu9h.js} +10 -10
  108. package/dist/{ir-CbFUkv_T.js → ir-DccrnjsE.js} +4 -4
  109. package/dist/{ir-DZam9q5M.js → ir-Dt4hOzxG.js} +6 -6
  110. package/dist/{lifecycle-core-D6LYXpFj.js → lifecycle-core-BkPSoGM2.js} +5 -5
  111. package/dist/llm-slug-generator.js +53 -53
  112. package/dist/{local-roots-aAFLQGkY.js → local-roots-BBeKX7PX.js} +2 -2
  113. package/dist/{local-roots-C7OCYACU.js → local-roots-DMwIh5cS.js} +5 -5
  114. package/dist/{login-dIlDkG4X.js → login-1sleXoB4.js} +3 -3
  115. package/dist/{login-B8uiUAnV.js → login-CwCoxapk.js} +7 -7
  116. package/dist/{login-qr-CIZk8uKX.js → login-qr-Batf3PT5.js} +12 -12
  117. package/dist/{login-qr-pbXdFORv.js → login-qr-wCWBOMwB.js} +5 -5
  118. package/dist/{logs-cli-xOzIPrHm.js → logs-cli-DVeEdUCU.js} +7 -7
  119. package/dist/{manager-D4LJSRyZ.js → manager-C1CfGzZ2.js} +13 -13
  120. package/dist/{manager-BoLr3xR_.js → manager-D_LwXbc6.js} +13 -13
  121. package/dist/{manifest-registry-CneMHk0N.js → manifest-registry-D0IQ3WuX.js} +19 -19
  122. package/dist/{markdown-tables-CEbN0fEm.js → markdown-tables-ZwP14ydw.js} +1 -1
  123. package/dist/{markdown-tables-DSHvnTLx.js → markdown-tables-iMQQZu4Q.js} +1 -1
  124. package/dist/{memory-cli-Ca5r9AUb.js → memory-cli-lk6fRiwy.js} +14 -14
  125. package/dist/{message-channel-DbsRltF2.js → message-channel-Dz5lr5b0.js} +1 -1
  126. package/dist/{model-tWhwnFf8.js → model-CeeOcylL.js} +1 -1
  127. package/dist/{model-auth-CwOuTuXl.js → model-auth-DK43VicI.js} +9 -9
  128. package/dist/{model-catalog-DvBJ8pMD.js → model-catalog-C3NLvWC2.js} +4 -4
  129. package/dist/{model-picker-Ddo3jHe-.js → model-picker-LKZLY2DL.js} +3 -3
  130. package/dist/{model-selection-CyFvYcRt.js → model-selection-X1oLh3CE.js} +9 -9
  131. package/dist/{models-nO_t1uzp.js → models-BmiRYEVd.js} +2 -2
  132. package/dist/{models-cli-B2ticsCM.js → models-cli-4vQrbW6G.js} +72 -72
  133. package/dist/{models-cli-D9bG44Ao.js → models-cli-Tf61I97Q.js} +3 -3
  134. package/dist/{models-config-qyOXrOli.js → models-config-CqDdkHJq.js} +7 -7
  135. package/dist/{node-cli-C_G-Q3h-.js → node-cli-Jj2LTGzF.js} +28 -28
  136. package/dist/{node-service-Cxz4e-Qd.js → node-service-CJygtY5M.js} +1 -1
  137. package/dist/{nodes-cli-BcnuJajV.js → nodes-cli-C43ifECe.js} +10 -10
  138. package/dist/{nodes-screen-VBGXKdLk.js → nodes-screen-C99kfE1u.js} +4 -4
  139. package/dist/{npm-registry-spec-C2JDdSZS.js → npm-registry-spec-DR_at_Hp.js} +9 -9
  140. package/dist/{onboard-BDbpfrZj.js → onboard-D8uxVvMq.js} +13 -13
  141. package/dist/{onboard-BtZ9WqhJ.js → onboard-FpptSqHZ.js} +2 -2
  142. package/dist/{onboard-channels-HubyUVjT.js → onboard-channels-DOKid2w1.js} +5 -5
  143. package/dist/{onboard-channels-CHE8nfNA.js → onboard-channels-Q_xxgZ8O.js} +1 -1
  144. package/dist/{onboard-custom-C7O-zfQ1.js → onboard-custom-DPJiy9aT.js} +3 -3
  145. package/dist/{onboard-helpers-ZmZYzlq3.js → onboard-helpers-Dixh6cNh.js} +8 -8
  146. package/dist/{onboard-hooks-BAA8CoVv.js → onboard-hooks-lsws7g2s.js} +1 -1
  147. package/dist/{onboard-remote-zUjD7UtM.js → onboard-remote-B66ZWtkN.js} +1 -1
  148. package/dist/{onboard-skills-BB0YhUmF.js → onboard-skills-B0IA09ig.js} +4 -4
  149. package/dist/{onboarding-eVb5gvwo.js → onboarding-CdlGKa0U.js} +13 -13
  150. package/dist/{onboarding-DtP0sps0.js → onboarding-DhIEUmp5.js} +3 -3
  151. package/dist/{onboarding.finalize-D8035U2E.js → onboarding.finalize-CEYLIXkq.js} +6 -6
  152. package/dist/{onboarding.finalize-CetxPTxL.js → onboarding.finalize-DyBsPxXJ.js} +74 -74
  153. package/dist/{onboarding.gateway-config-CJUgDC6Y.js → onboarding.gateway-config-CCJqI0kw.js} +14 -14
  154. package/dist/{openai-model-default-DMjQRsb1.js → openai-model-default-BJ1IZ3TN.js} +2 -2
  155. package/dist/{outbound-opDNxv-l.js → outbound-D4fN_ZlE.js} +7 -7
  156. package/dist/{outbound-DB5Zus0-.js → outbound-NJCy0h4x.js} +4 -4
  157. package/dist/{outbound-attachment-D_QuKi8U.js → outbound-attachment-D62E0xDI.js} +2 -2
  158. package/dist/{outbound-attachment-Co2diKdP.js → outbound-attachment-DjNDa3zn.js} +2 -2
  159. package/dist/{pairing-cli-CBLfGvqW.js → pairing-cli-CcW0ndhB.js} +8 -8
  160. package/dist/{pairing-labels-2S6x2UoV.js → pairing-labels-27SOKDzJ.js} +1 -1
  161. package/dist/{pairing-store-CK726Dzq.js → pairing-store-B8ktu-6j.js} +2 -2
  162. package/dist/{pairing-token-CX3NN_qj.js → pairing-token-AV-MMfVE.js} +7 -7
  163. package/dist/{paths-BBm9fwuG.js → paths-CT6jsi4E.js} +1 -1
  164. package/dist/{paths-CySxpNhH.js → paths-Cce4PUkG.js} +5 -5
  165. package/dist/{paths-Cb87-LzP.js → paths-DLyHUt31.js} +1 -1
  166. package/dist/{pi-auth-json-DPWPoruO.js → pi-auth-json-0SYBFZTt.js} +8 -8
  167. package/dist/{pi-auth-json-DayrlDg_.js → pi-auth-json-CCneTXUh.js} +3 -3
  168. package/dist/{pi-embedded-BY-dBus2.js → pi-embedded-BThV36aG.js} +109 -21
  169. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  170. package/dist/{pi-embedded-helpers-CNPyv_ax.js → pi-embedded-helpers-DO6u9K2t.js} +6 -6
  171. package/dist/{pi-embedded-helpers-B2z46qeM.js → pi-embedded-helpers-ag2bosuj.js} +52 -52
  172. package/dist/{pi-embedded-Dc3muKtS.js → pi-embedded-wr4HXhzm.js} +255 -167
  173. package/dist/{pi-tools.policy-CIDBbw6x.js → pi-tools.policy-juZV2uUv.js} +4 -4
  174. package/dist/{plugin-auto-enable-BzX1uAKy.js → plugin-auto-enable-Bbm7MwFV.js} +2 -2
  175. package/dist/{plugin-registry-CuoX8mar.js → plugin-registry-DvWWctC9.js} +1 -1
  176. package/dist/{plugin-registry-fxcvycGr.js → plugin-registry-lWWSu9UD.js} +3 -3
  177. package/dist/plugin-sdk/agents/model-token-filter.d.ts +15 -0
  178. package/dist/plugin-sdk/{channel-web-CV1KLtZh.js → channel-web-BnrTC55Y.js} +1 -1
  179. package/dist/plugin-sdk/index.js +2 -2
  180. package/dist/plugin-sdk/{reply-C4mijdMZ.js → reply-kuMxu6Q4.js} +95 -7
  181. package/dist/plugin-sdk/{web-B17UUsjm.js → web-TMIhKQyF.js} +2 -2
  182. package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
  183. package/dist/{plugins-C4C9637U.js → plugins-DQYI3Fr-.js} +9 -9
  184. package/dist/{plugins-cli-4OqSGHp-.js → plugins-cli-BHfzYAq6.js} +71 -71
  185. package/dist/{plugins-cli-BbE_Qnlk.js → plugins-cli-wlWRx4Oj.js} +2 -2
  186. package/dist/{ports-BOmtxoTv.js → ports-OZQlocB7.js} +2 -2
  187. package/dist/{ports-BX0kKI0g.js → ports-b36gHZbA.js} +1 -1
  188. package/dist/{program-DkXOdfM2.js → program-CKy7s-bm.js} +7 -7
  189. package/dist/{program-context-0bDxGpMx.js → program-context-D4gbh6dg.js} +39 -39
  190. package/dist/{prompt-select-styled-DJkRn30j.js → prompt-select-styled-DlGPNq9c.js} +38 -38
  191. package/dist/{prompt-select-styled-_6KbTFXs.js → prompt-select-styled-bh0GLMiQ.js} +4 -4
  192. package/dist/{provider-auth-helpers-BpVAdwK_.js → provider-auth-helpers-B-YsKbwc.js} +1 -1
  193. package/dist/{provider-auth-helpers-Bnkj4QXS.js → provider-auth-helpers-Bd5VVReu.js} +5 -5
  194. package/dist/{push-apns-EKnCwrqK.js → push-apns-0et2AR44.js} +4 -4
  195. package/dist/{push-apns-C0wMP1XU.js → push-apns-ByyOJyDl.js} +1 -1
  196. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  197. package/dist/{pw-ai-PiQUncix.js → pw-ai-Ch7liUOW.js} +11 -11
  198. package/dist/{pw-ai-DqL87js3.js → pw-ai-MVzi113V.js} +7 -7
  199. package/dist/{qmd-manager-D85GJrir.js → qmd-manager-BP2r8b1D.js} +18 -18
  200. package/dist/{qmd-manager-DdZh9PHs.js → qmd-manager-QHUP-_em.js} +7 -7
  201. package/dist/{qr-cli-jd9LdZpq.js → qr-cli-17laLZm_.js} +3 -3
  202. package/dist/{register.agent-B0S1CJEx.js → register.agent-Dhijhxr5.js} +81 -81
  203. package/dist/{register.agent-B48Vf_DK.js → register.agent-oKma6YjU.js} +6 -6
  204. package/dist/{register.configure-Wyv7vb24.js → register.configure-BX8vQ2Np.js} +6 -6
  205. package/dist/register.configure-BcZ-7Yir.js +147 -0
  206. package/dist/{register.maintenance-Cmf17EW0.js → register.maintenance-B3TPb969.js} +84 -84
  207. package/dist/{register.maintenance-TgjAQ4E0.js → register.maintenance-OJCduNdt.js} +8 -8
  208. package/dist/{register.message-Dwv2puIB.js → register.message-CX8C_Fds.js} +2 -2
  209. package/dist/{register.message-BcsPnPvW.js → register.message-D0aswsGo.js} +63 -63
  210. package/dist/{register.onboard-BDGaSyq2.js → register.onboard-BHTyEs6d.js} +74 -74
  211. package/dist/{register.onboard-C8w7_w93.js → register.onboard-CSepiSPt.js} +4 -4
  212. package/dist/{register.setup-CMGSNKXS.js → register.setup-lZSHKiGQ.js} +4 -4
  213. package/dist/{register.setup-CiEuZOlI.js → register.setup-uhpgkBjU.js} +77 -77
  214. package/dist/{register.status-health-sessions-zKjmZyOs.js → register.status-health-sessions-Cbavf8do.js} +3 -3
  215. package/dist/{register.status-health-sessions-C8p0uINc.js → register.status-health-sessions-v1KN3eEp.js} +75 -75
  216. package/dist/{register.subclis-CofZE_pt.js → register.subclis-DBEv5xOP.js} +9 -9
  217. package/dist/{registry-DP24za6g.js → registry-CK4e9hn8.js} +17 -17
  218. package/dist/{replies-DpPvWiGF.js → replies-BIX_isV7.js} +3 -3
  219. package/dist/{replies-vgss3_QA.js → replies-BL7IBg12.js} +1 -1
  220. package/dist/{reply-SBi_U7P7.js → reply-DVxU0AMq.js} +225 -137
  221. package/dist/{reply-prefix-CtL0omgM.js → reply-prefix-BLOOs1aW.js} +1 -1
  222. package/dist/{reply-prefix-CE2YmmsD.js → reply-prefix-XlyuyChD.js} +1 -1
  223. package/dist/{resolve-route-BMoTaVAH.js → resolve-route-BcnaXYvh.js} +2 -2
  224. package/dist/{resolve-route-BVikmvWO.js → resolve-route-CZ-1eqw0.js} +4 -4
  225. package/dist/{retry-dGG-MbxL.js → retry-Cly39XZB.js} +1 -1
  226. package/dist/{routes-Ba9CUQ8M.js → routes-CE-ohckF.js} +8 -8
  227. package/dist/{rpc-BfhojW8g.js → rpc-wovSCB5v.js} +1 -1
  228. package/dist/{run-main-BJaDO3WW.js → run-main-DspjiCY1.js} +14 -14
  229. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  230. package/dist/{runner-CUglpiFP.js → runner-Cen70krW.js} +20 -20
  231. package/dist/{runner-CCSMfQee.js → runner-D0QUGA_X.js} +9 -9
  232. package/dist/{sandbox-C-T6hOMv.js → sandbox-BzNrUHpt.js} +18 -18
  233. package/dist/{sandbox-cli-BllVdQzR.js → sandbox-cli-CZrMO34w.js} +20 -20
  234. package/dist/{security-cli-BFLtWWHy.js → security-cli-CeBoEmeN.js} +36 -36
  235. package/dist/{send-DeEosX8F.js → send-B1u-LrcS.js} +18 -18
  236. package/dist/{send-Cutb0ZDY.js → send-BEeuDXqy.js} +6 -6
  237. package/dist/{send-tanEMpHN.js → send-BjdAgYLu.js} +6 -6
  238. package/dist/{send-CZr1hVHY.js → send-BnuIB59F.js} +13 -13
  239. package/dist/{send-CXxQ_f7L.js → send-C95ZRvja.js} +6 -6
  240. package/dist/{send-DwKJK3sM.js → send-CiTGOvEc.js} +10 -10
  241. package/dist/{send-zSarozV2.js → send-DW96zgDL.js} +6 -6
  242. package/dist/{send-CHEOWVc8.js → send-DeFniOjh.js} +6 -6
  243. package/dist/{send-DbcLJb0P.js → send-WyRqb4WD.js} +7 -7
  244. package/dist/{send-CPF8hSFp.js → send-dH0xroTu.js} +4 -4
  245. package/dist/{server-context-CEpFjqSk.js → server-context-DUXqnh6l.js} +5 -5
  246. package/dist/{server-methods-CyFB3XQf.js → server-methods-B9alalq5.js} +7 -7
  247. package/dist/{server-methods-Cm6W01ne.js → server-methods-BgBq7KRL.js} +54 -54
  248. package/dist/{server-node-events-Bhgt3xLw.js → server-node-events-BrBsrcCd.js} +63 -63
  249. package/dist/{server-node-events-CX1plxJz.js → server-node-events-DWG81_Fo.js} +2 -2
  250. package/dist/{service-Cl74hx8J.js → service--qMN5DPm.js} +15 -15
  251. package/dist/{session-DIBTkyvE.js → session-CsIk0Sqq.js} +2 -2
  252. package/dist/{session-DV1MNlbV.js → session-SM36BTsl.js} +8 -8
  253. package/dist/session-dirs-D3qlvucD.js +18 -0
  254. package/dist/{sessions-DgYpBvse.js → sessions-D5a7H247.js} +13 -13
  255. package/dist/{shared-Knv1hy6h.js → shared-Gi3l7nlY.js} +3 -3
  256. package/dist/{shared-BJvwnR5z.js → shared-Jm_QdQJQ.js} +1 -1
  257. package/dist/{skill-commands-D610IKhm.js → skill-commands-BJMb_psG.js} +9 -9
  258. package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-ZXbEITKi.js} +5 -5
  259. package/dist/{skill-scanner-CLs8u6vQ.js → skill-scanner-CXg9eeyc.js} +5 -5
  260. package/dist/{skills-o5WVqM4V.js → skills-BFekKL7i.js} +21 -21
  261. package/dist/{skills-6jdJQ5ZL.js → skills-DqQUtOph.js} +4 -4
  262. package/dist/{skills-cli-BZTBLQTt.js → skills-cli-D1JL_utC.js} +7 -7
  263. package/dist/{skills-install-D67isO1L.js → skills-install-DjcTy3CT.js} +3 -3
  264. package/dist/{skills-status-CURJKnyY.js → skills-status-DS-NZQiq.js} +1 -1
  265. package/dist/{sqlite-Dx3J_aSE.js → sqlite-BV5ILFtC.js} +12 -12
  266. package/dist/{sqlite-6H6Zw1cs.js → sqlite-DRbx2dhW.js} +4 -4
  267. package/dist/{status-CwXg8OO1.js → status-CgPPKk09.js} +25 -25
  268. package/dist/{status-U_1mE-yc.js → status-CkJV2sl6.js} +3 -3
  269. package/dist/{status-BdmYV3_x.js → status-DqMwkAnF.js} +1 -1
  270. package/dist/{status-BBpD_1pG.js → status-DxodHhzX.js} +2 -2
  271. package/dist/{status.update-DtwCUTf-.js → status.update-CmGpjKSr.js} +3 -3
  272. package/dist/{store-vVE6N2mH.js → store-C0wvOkae.js} +2 -2
  273. package/dist/{store-r1DJSDq-.js → store-DvtcmOKj.js} +5 -5
  274. package/dist/{subagent-registry-Du9P0G2U.js → subagent-registry-CBklD0OL.js} +96 -8
  275. package/dist/{subsystem-DgpxyDQ_.js → subsystem-Bs9YvKLa.js} +1 -1
  276. package/dist/{symi-root-CrGJbkzf.js → symi-root-MF6_6SCS.js} +2 -2
  277. package/dist/{system-cli-UMsMEurS.js → system-cli-Buhvt_H5.js} +11 -11
  278. package/dist/{systemd-riq8uNJQ.js → systemd-AhJEsmIk.js} +5 -5
  279. package/dist/{systemd-hints-BR6gChwm.js → systemd-hints-Db0oImvK.js} +6 -6
  280. package/dist/{systemd-linger-aQ75ZlXY.js → systemd-linger-BXwqn1jL.js} +1 -1
  281. package/dist/{tables-BEzT0Da4.js → tables-C38rzF6E.js} +1 -1
  282. package/dist/{tables-BIWsCKXJ.js → tables-DuZspiBu.js} +1 -1
  283. package/dist/{target-errors-DyItGyW9.js → target-errors-Be1SwYlW.js} +2 -2
  284. package/dist/{target-errors-7AvoVa10.js → target-errors-CCz79CmV.js} +4 -4
  285. package/dist/{thinking-Ni0HF-w6.js → thinking-CdlENGRW.js} +5 -5
  286. package/dist/{tokens-c_SLAkVb.js → tokens-H1H1LiSQ.js} +1 -1
  287. package/dist/{tool-images-DvUBlqjX.js → tool-images-B-pqX3nX.js} +1 -1
  288. package/dist/{tool-images-DBCfXdli.js → tool-images-DXB7tqWi.js} +2 -2
  289. package/dist/{tool-loop-detection-Bbc9OPFR.js → tool-loop-detection-Cs8_HCsx.js} +3 -3
  290. package/dist/{tui-CriznorL.js → tui-C0A9W969.js} +7 -7
  291. package/dist/{tui-cli-CSIdfCTR.js → tui-cli-tCnkNdSx.js} +28 -28
  292. package/dist/{update-rw7wJwHd.js → update-Df4sEKtI.js} +3 -3
  293. package/dist/{update-check-CtckACbb.js → update-check-C0oYCI89.js} +5 -5
  294. package/dist/{update-cli-_45TJ3hZ.js → update-cli-BqdgQuYp.js} +8 -8
  295. package/dist/{update-cli-DJzF_9UX.js → update-cli-DYrpyu4a.js} +94 -94
  296. package/dist/{update-runner-BSQFv9b6.js → update-runner-BgzyPjF5.js} +15 -15
  297. package/dist/{update-runner-8Ac4bJ1w.js → update-runner-CmZW3aeK.js} +1 -1
  298. package/dist/{web-C1Zn8_qW.js → web-CfZp0Jv6.js} +6 -6
  299. package/dist/{web-BqRsq6mP.js → web-DNQzo8ao.js} +57 -57
  300. package/dist/web-DsCqmzyk.js +109 -0
  301. package/dist/{web-w-vV1rCZ.js → web-GL_nqURg.js} +1 -1
  302. package/dist/{webhooks-cli-cD58DWAE.js → webhooks-cli-Bp-7Rs2Y.js} +4 -4
  303. package/dist/{whatsapp-actions-DbcsdOH3.js → whatsapp-actions-CFXNPLco.js} +15 -15
  304. package/dist/{whatsapp-actions-oRQjcdQe.js → whatsapp-actions-D1RsnX7P.js} +23 -23
  305. package/dist/{with-timeout-gmK6RciS.js → with-timeout-Cs6_LnHB.js} +1 -1
  306. package/dist/{workspace-dirs-GpkFi6Kw.js → workspace-dirs-DKu48umx.js} +1 -1
  307. package/dist/{workspace-CbvamIU6.js → workspace-wAaHI8-5.js} +6 -6
  308. package/dist/{wsl-C4424szg.js → wsl-BbXxnokd.js} +2 -2
  309. package/package.json +1 -1
  310. package/dist/register.configure-Drr3E9OG.js +0 -147
  311. package/dist/web-BZSI7b07.js +0 -109
@@ -1,75 +1,75 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CySxpNhH.js";
2
+ import { c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-Cce4PUkG.js";
3
3
  import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as isAcpSessionKey, h as getSubagentDepth, l as resolveAgentIdFromSessionKey, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-BCzIW1Y2.js";
4
- import { $ as warn, B as sleep$1, D as escapeRegExp, E as ensureDir$3, G as danger, I as resolveUserPath, J as logVerbose, M as normalizeE164, O as formatTerminalLink, R as shortenHomeInString, S as CONFIG_DIR, U as truncateUtf16Safe, V as sliceUtf16Safe, W as isPlainObject, X as setVerbose, Z as shouldLogVerbose, _ as matchPluginCommand, a as normalizeAnyChannelId, d as createPluginRegistry, dt as resolvePreferredSymiTmpDir, et as colorize, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, k as isRecord$1, l as requireActivePluginRegistry, lt as normalizeLogLevel, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, nt as theme, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, rt as getChildLogger, tt as isRich, u as setActivePluginRegistry, v as createInternalHookEvent, w as clampInt, x as triggerInternalHook, z as shortenHomePath } from "./registry-DP24za6g.js";
5
- import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, d as resolveSessionAgentIds, i as resolveAgentModelFallbacksOverride, l as resolveEffectiveModelFallbacks, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId } from "./agent-scope-Bw1Ed8W9.js";
6
- import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DgpxyDQ_.js";
7
- import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-CbvamIU6.js";
8
- import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-c_SLAkVb.js";
9
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-C4C9637U.js";
10
- import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-CI6zQTJj.js";
4
+ import { $ as warn, B as sleep$1, D as escapeRegExp, E as ensureDir$3, G as danger, I as resolveUserPath, J as logVerbose, M as normalizeE164, O as formatTerminalLink, R as shortenHomeInString, S as CONFIG_DIR, U as truncateUtf16Safe, V as sliceUtf16Safe, W as isPlainObject, X as setVerbose, Z as shouldLogVerbose, _ as matchPluginCommand, a as normalizeAnyChannelId, d as createPluginRegistry, dt as resolvePreferredSymiTmpDir, et as colorize, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, k as isRecord$1, l as requireActivePluginRegistry, lt as normalizeLogLevel, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, nt as theme, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, rt as getChildLogger, tt as isRich, u as setActivePluginRegistry, v as createInternalHookEvent, w as clampInt, x as triggerInternalHook, z as shortenHomePath } from "./registry-CK4e9hn8.js";
5
+ import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, d as resolveSessionAgentIds, i as resolveAgentModelFallbacksOverride, l as resolveEffectiveModelFallbacks, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId } from "./agent-scope-BxoUQqgM.js";
6
+ import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
7
+ import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-wAaHI8-5.js";
8
+ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-H1H1LiSQ.js";
9
+ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-DQYI3Fr-.js";
10
+ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-tNElYrCH.js";
11
11
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-B8-BqKGQ.js";
13
- import { n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-UKHV-j0K.js";
14
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-CHEOWVc8.js";
15
- 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 allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, 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-DwKJK3sM.js";
16
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BmPK91JP.js";
17
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-C3nsWaw3.js";
13
+ import { n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-BaxDnULz.js";
14
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DeFniOjh.js";
15
+ 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 allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, 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-CiTGOvEc.js";
16
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-D1ZN6-fl.js";
17
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-CI0kRQkt.js";
18
18
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bxo4UHOL.js";
19
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-ChTFYj8Q.js";
20
- import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DeEosX8F.js";
21
- import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-S8-8dAhx.js";
22
- import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider, E as findNormalizedProviderValue, F as resolveSubagentSpawnModelSelection, G as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, I as resolveThinkingDefault, J as normalizeSecretInput, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef, N as resolveDefaultModelForAgent, O as modelKey, P as resolveModelRefFromString, T as buildModelAliasIndex, U as createOllamaStreamFn, W as DEFAULT_CONTEXT_TOKENS, Y as getShellPathFromLoginShell, Z as resolveShellEnvFallbackTimeoutMs, _ as ensureAuthProfileStore, a as resolveEnvApiKey, b as withFileLock, c as resolveAuthProfileOrder, d as markAuthProfileFailure, f as markAuthProfileUsed, g as markAuthProfileGood, h as listProfilesForProvider, i as resolveApiKeyForProvider, k as normalizeModelRef$2, l as getSoonestCooldownExpiry, m as dedupeProfileIds, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as resolveApiKeyForProfile, q as resolveAuthProfileDisplayLabel, r as requireApiKey, t as getApiKeyForModel, u as isProfileInCooldown, v as resolveAuthStorePathForDisplay, w as buildConfiguredAllowlistKeys, y as resolveSymiAgentDir } from "./model-auth-CwOuTuXl.js";
23
- import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DJqsJ2-r.js";
19
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-CWktKM8a.js";
20
+ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-B1u-LrcS.js";
21
+ import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-CvJzsyvE.js";
22
+ import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider, E as findNormalizedProviderValue, F as resolveSubagentSpawnModelSelection, G as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, I as resolveThinkingDefault, J as normalizeSecretInput, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef, N as resolveDefaultModelForAgent, O as modelKey, P as resolveModelRefFromString, T as buildModelAliasIndex, U as createOllamaStreamFn, W as DEFAULT_CONTEXT_TOKENS, Y as getShellPathFromLoginShell, Z as resolveShellEnvFallbackTimeoutMs, _ as ensureAuthProfileStore, a as resolveEnvApiKey, b as withFileLock, c as resolveAuthProfileOrder, d as markAuthProfileFailure, f as markAuthProfileUsed, g as markAuthProfileGood, h as listProfilesForProvider, i as resolveApiKeyForProvider, k as normalizeModelRef$2, l as getSoonestCooldownExpiry, m as dedupeProfileIds, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as resolveApiKeyForProfile, q as resolveAuthProfileDisplayLabel, r as requireApiKey, t as getApiKeyForModel, u as isProfileInCooldown, v as resolveAuthStorePathForDisplay, w as buildConfiguredAllowlistKeys, y as resolveSymiAgentDir } from "./model-auth-DK43VicI.js";
23
+ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-C_qUP7p5.js";
24
24
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
25
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-DbsRltF2.js";
26
- import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B2z46qeM.js";
27
- import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-eEaJddXj.js";
28
- import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-CneMHk0N.js";
29
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-w3SLcQJF.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-o5WVqM4V.js";
25
+ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-Dz5lr5b0.js";
26
+ import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-ag2bosuj.js";
27
+ import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-DRbjHIwD.js";
28
+ import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-D0IQ3WuX.js";
29
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-EyvdASWt.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-BFekKL7i.js";
31
31
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BoQgnc8X.js";
32
32
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
33
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-vVE6N2mH.js";
34
- import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-Ni0HF-w6.js";
33
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-C0wvOkae.js";
34
+ import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-CdlENGRW.js";
35
35
  import { n as resolveConversationLabel } from "./conversation-label-DXUkoKcB.js";
36
- import { t as resolveIMessageAccount } from "./accounts-CJR8j_Kq.js";
37
- import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-Cb87-LzP.js";
36
+ import { t as resolveIMessageAccount } from "./accounts-qtxJ-6em.js";
37
+ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DLyHUt31.js";
38
38
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
39
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DBCfXdli.js";
40
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-rZ4x9VS9.js";
41
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CtL0omgM.js";
42
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-BoLr3xR_.js";
43
- import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-6H6Zw1cs.js";
44
- import { n as retryAsync } from "./retry-dGG-MbxL.js";
45
- import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-DyItGyW9.js";
46
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-ClbN9Pqy.js";
47
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DSHvnTLx.js";
39
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DXB7tqWi.js";
40
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-Cp3JDEBB.js";
41
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-XlyuyChD.js";
42
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-D_LwXbc6.js";
43
+ import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-DRbx2dhW.js";
44
+ import { n as retryAsync } from "./retry-Cly39XZB.js";
45
+ import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Be1SwYlW.js";
46
+ import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BW5f05BR.js";
47
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-iMQQZu4Q.js";
48
48
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DL3f_O53.js";
49
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-C7OCYACU.js";
50
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CbFUkv_T.js";
51
- import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-VSmULp-g.js";
52
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-D610IKhm.js";
49
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DMwIh5cS.js";
50
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DccrnjsE.js";
51
+ import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-D7CTCQPm.js";
52
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-BJMb_psG.js";
53
53
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BlHX0H3E.js";
54
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-CCSMfQee.js";
54
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-D0QUGA_X.js";
55
55
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
56
56
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
57
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-C9-gaquj.js";
57
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CsM_hJ_s.js";
58
58
  import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
59
- import { t as convertMarkdownTables } from "./tables-BIWsCKXJ.js";
60
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-zSarozV2.js";
61
- 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-DbcLJb0P.js";
62
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BVikmvWO.js";
59
+ import { t as convertMarkdownTables } from "./tables-DuZspiBu.js";
60
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DW96zgDL.js";
61
+ 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-WyRqb4WD.js";
62
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CZ-1eqw0.js";
63
63
  import { t as makeProxyFetch } from "./proxy-CBJ1upuz.js";
64
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DpPvWiGF.js";
65
- import { t as getActiveWebListener } from "./active-listener-D6sXIjAg.js";
64
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BIX_isV7.js";
65
+ import { t as getActiveWebListener } from "./active-listener-C9r8ZB9m.js";
66
66
  import { createRequire } from "node:module";
67
- import * as fs$1 from "node:fs/promises";
67
+ import * as fs$2 from "node:fs/promises";
68
68
  import fs from "node:fs/promises";
69
69
  import os, { homedir } from "node:os";
70
70
  import * as path$1 from "node:path";
71
71
  import path from "node:path";
72
- import fsSync, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
72
+ import fs$1, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
73
73
  import JSON5 from "json5";
74
74
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
75
75
  import { inspect, promisify } from "node:util";
@@ -81,7 +81,7 @@ import { EdgeTTS } from "node-edge-tts";
81
81
  import AjvPkg from "ajv";
82
82
  import { createServer } from "node:http";
83
83
  import { ProxyAgent, fetch as fetch$1 } from "undici";
84
- import WebSocket$1, { WebSocket } from "ws";
84
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
85
85
  import { Buffer as Buffer$1 } from "node:buffer";
86
86
  import { createJiti } from "jiti";
87
87
  import { Type } from "@sinclair/typebox";
@@ -3144,7 +3144,7 @@ async function resolveSymiDocsPath(params) {
3144
3144
  const workspaceDir = params.workspaceDir?.trim();
3145
3145
  if (workspaceDir) {
3146
3146
  const workspaceDocs = path.join(workspaceDir, "docs");
3147
- if (fsSync.existsSync(workspaceDocs)) return workspaceDocs;
3147
+ if (fs$1.existsSync(workspaceDocs)) return workspaceDocs;
3148
3148
  }
3149
3149
  const packageRoot = await resolveSymiPackageRoot({
3150
3150
  cwd: params.cwd,
@@ -3153,7 +3153,7 @@ async function resolveSymiDocsPath(params) {
3153
3153
  });
3154
3154
  if (!packageRoot) return null;
3155
3155
  const packageDocs = path.join(packageRoot, "docs");
3156
- return fsSync.existsSync(packageDocs) ? packageDocs : null;
3156
+ return fs$1.existsSync(packageDocs) ? packageDocs : null;
3157
3157
  }
3158
3158
 
3159
3159
  //#endregion
@@ -3462,7 +3462,7 @@ async function getMemorySearchManager(params) {
3462
3462
  if (cached) return { manager: cached };
3463
3463
  }
3464
3464
  try {
3465
- const { QmdMemoryManager } = await import("./qmd-manager-DdZh9PHs.js");
3465
+ const { QmdMemoryManager } = await import("./qmd-manager-QHUP-_em.js");
3466
3466
  const primary = await QmdMemoryManager.create({
3467
3467
  cfg: params.cfg,
3468
3468
  agentId: params.agentId,
@@ -3474,7 +3474,7 @@ async function getMemorySearchManager(params) {
3474
3474
  const wrapper = new FallbackMemoryManager({
3475
3475
  primary,
3476
3476
  fallbackFactory: async () => {
3477
- const { MemoryIndexManager } = await import("./manager-BoLr3xR_.js").then((n) => n.t);
3477
+ const { MemoryIndexManager } = await import("./manager-D_LwXbc6.js").then((n) => n.t);
3478
3478
  return await MemoryIndexManager.get(params);
3479
3479
  }
3480
3480
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3487,7 +3487,7 @@ async function getMemorySearchManager(params) {
3487
3487
  }
3488
3488
  }
3489
3489
  try {
3490
- const { MemoryIndexManager } = await import("./manager-BoLr3xR_.js").then((n) => n.t);
3490
+ const { MemoryIndexManager } = await import("./manager-D_LwXbc6.js").then((n) => n.t);
3491
3491
  return { manager: await MemoryIndexManager.get(params) };
3492
3492
  } catch (err) {
3493
3493
  return {
@@ -4175,7 +4175,7 @@ function resolveDefaultIdentityPath() {
4175
4175
  return path.join(resolveStateDir(), "identity", "device.json");
4176
4176
  }
4177
4177
  function ensureDir$2(filePath) {
4178
- fsSync.mkdirSync(path.dirname(filePath), { recursive: true });
4178
+ fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
4179
4179
  }
4180
4180
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
4181
4181
  function base64UrlEncode(buf) {
@@ -4211,8 +4211,8 @@ function generateIdentity() {
4211
4211
  }
4212
4212
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4213
4213
  try {
4214
- if (fsSync.existsSync(filePath)) {
4215
- const raw = fsSync.readFileSync(filePath, "utf8");
4214
+ if (fs$1.existsSync(filePath)) {
4215
+ const raw = fs$1.readFileSync(filePath, "utf8");
4216
4216
  const parsed = JSON.parse(raw);
4217
4217
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
4218
4218
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -4221,9 +4221,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4221
4221
  ...parsed,
4222
4222
  deviceId: derivedId
4223
4223
  };
4224
- fsSync.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4224
+ fs$1.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4225
4225
  try {
4226
- fsSync.chmodSync(filePath, 384);
4226
+ fs$1.chmodSync(filePath, 384);
4227
4227
  } catch {}
4228
4228
  return {
4229
4229
  deviceId: derivedId,
@@ -4248,9 +4248,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4248
4248
  privateKeyPem: identity.privateKeyPem,
4249
4249
  createdAtMs: Date.now()
4250
4250
  };
4251
- fsSync.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4251
+ fs$1.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4252
4252
  try {
4253
- fsSync.chmodSync(filePath, 384);
4253
+ fs$1.chmodSync(filePath, 384);
4254
4254
  } catch {}
4255
4255
  return identity;
4256
4256
  }
@@ -4400,8 +4400,8 @@ function resolveDeviceAuthPath(env = process.env) {
4400
4400
  }
4401
4401
  function readStore(filePath) {
4402
4402
  try {
4403
- if (!fsSync.existsSync(filePath)) return null;
4404
- const raw = fsSync.readFileSync(filePath, "utf8");
4403
+ if (!fs$1.existsSync(filePath)) return null;
4404
+ const raw = fs$1.readFileSync(filePath, "utf8");
4405
4405
  const parsed = JSON.parse(raw);
4406
4406
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
4407
4407
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -4411,10 +4411,10 @@ function readStore(filePath) {
4411
4411
  }
4412
4412
  }
4413
4413
  function writeStore(filePath, store) {
4414
- fsSync.mkdirSync(path.dirname(filePath), { recursive: true });
4415
- fsSync.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4414
+ fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
4415
+ fs$1.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4416
4416
  try {
4417
- fsSync.chmodSync(filePath, 384);
4417
+ fs$1.chmodSync(filePath, 384);
4418
4418
  } catch {}
4419
4419
  }
4420
4420
  function loadDeviceAuthToken(params) {
@@ -5716,7 +5716,7 @@ var GatewayClient = class {
5716
5716
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5717
5717
  });
5718
5718
  }
5719
- this.ws = new WebSocket(url, wsOptions);
5719
+ this.ws = new WebSocket$1(url, wsOptions);
5720
5720
  this.ws.on("open", () => {
5721
5721
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5722
5722
  const tlsError = this.validateTlsFingerprint();
@@ -5935,7 +5935,7 @@ var GatewayClient = class {
5935
5935
  return null;
5936
5936
  }
5937
5937
  async request(method, params, opts) {
5938
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5938
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5939
5939
  const id = randomUUID();
5940
5940
  const frame = {
5941
5941
  type: "req",
@@ -7201,7 +7201,7 @@ async function routeReply(params) {
7201
7201
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7202
7202
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7203
7203
  try {
7204
- const { deliverOutboundPayloads } = await import("./deliver-BmPK91JP.js").then((n) => n.n);
7204
+ const { deliverOutboundPayloads } = await import("./deliver-D1ZN6-fl.js").then((n) => n.n);
7205
7205
  return {
7206
7206
  ok: true,
7207
7207
  messageId: (await deliverOutboundPayloads({
@@ -7597,7 +7597,7 @@ function normalizeSessionKey(value) {
7597
7597
  }
7598
7598
  function readSessionStore(storePath) {
7599
7599
  try {
7600
- const raw = fsSync.readFileSync(storePath, "utf-8");
7600
+ const raw = fs$1.readFileSync(storePath, "utf-8");
7601
7601
  const parsed = JSON5.parse(raw);
7602
7602
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
7603
7603
  } catch {}
@@ -12656,7 +12656,7 @@ async function createModelSelectionState(params) {
12656
12656
  }
12657
12657
  }
12658
12658
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
12659
- const { ensureAuthProfileStore } = await import("./model-auth-CwOuTuXl.js").then((n) => n.s);
12659
+ const { ensureAuthProfileStore } = await import("./model-auth-DK43VicI.js").then((n) => n.s);
12660
12660
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
12661
12661
  const providerKey = normalizeProviderId(provider);
12662
12662
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -15029,8 +15029,8 @@ const DEFAULT_SAFE_BINS = [
15029
15029
  ];
15030
15030
  function isExecutableFile(filePath) {
15031
15031
  try {
15032
- if (!fsSync.statSync(filePath).isFile()) return false;
15033
- if (process.platform !== "win32") fsSync.accessSync(filePath, fsSync.constants.X_OK);
15032
+ if (!fs$1.statSync(filePath).isFile()) return false;
15033
+ if (process.platform !== "win32") fs$1.accessSync(filePath, fs$1.constants.X_OK);
15034
15034
  return true;
15035
15035
  } catch {
15036
15036
  return false;
@@ -15068,7 +15068,7 @@ function normalizeMatchTarget(value) {
15068
15068
  }
15069
15069
  function tryRealpath(value) {
15070
15070
  try {
15071
- return fsSync.realpathSync(value);
15071
+ return fs$1.realpathSync(value);
15072
15072
  } catch {
15073
15073
  return null;
15074
15074
  }
@@ -16300,7 +16300,7 @@ function mergeLegacyAgent(current, legacy) {
16300
16300
  }
16301
16301
  function ensureDir$1(filePath) {
16302
16302
  const dir = path.dirname(filePath);
16303
- fsSync.mkdirSync(dir, { recursive: true });
16303
+ fs$1.mkdirSync(dir, { recursive: true });
16304
16304
  }
16305
16305
  function coerceAllowlistEntries(allowlist) {
16306
16306
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -16370,11 +16370,11 @@ function generateToken() {
16370
16370
  function loadExecApprovals() {
16371
16371
  const filePath = resolveExecApprovalsPath();
16372
16372
  try {
16373
- if (!fsSync.existsSync(filePath)) return normalizeExecApprovals({
16373
+ if (!fs$1.existsSync(filePath)) return normalizeExecApprovals({
16374
16374
  version: 1,
16375
16375
  agents: {}
16376
16376
  });
16377
- const raw = fsSync.readFileSync(filePath, "utf8");
16377
+ const raw = fs$1.readFileSync(filePath, "utf8");
16378
16378
  const parsed = JSON.parse(raw);
16379
16379
  if (parsed?.version !== 1) return normalizeExecApprovals({
16380
16380
  version: 1,
@@ -16391,9 +16391,9 @@ function loadExecApprovals() {
16391
16391
  function saveExecApprovals(file) {
16392
16392
  const filePath = resolveExecApprovalsPath();
16393
16393
  ensureDir$1(filePath);
16394
- fsSync.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
16394
+ fs$1.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
16395
16395
  try {
16396
- fsSync.chmodSync(filePath, 384);
16396
+ fs$1.chmodSync(filePath, 384);
16397
16397
  } catch {}
16398
16398
  }
16399
16399
  function ensureExecApprovals() {
@@ -16714,7 +16714,7 @@ function resolvePowerShellPath() {
16714
16714
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
16715
16715
  if (systemRoot) {
16716
16716
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
16717
- if (fsSync.existsSync(candidate)) return candidate;
16717
+ if (fs$1.existsSync(candidate)) return candidate;
16718
16718
  }
16719
16719
  return "powershell.exe";
16720
16720
  }
@@ -16752,7 +16752,7 @@ function resolveShellFromPath(name) {
16752
16752
  for (const entry of entries) {
16753
16753
  const candidate = path.join(entry, name);
16754
16754
  try {
16755
- fsSync.accessSync(candidate, fsSync.constants.X_OK);
16755
+ fs$1.accessSync(candidate, fs$1.constants.X_OK);
16756
16756
  return candidate;
16757
16757
  } catch {}
16758
16758
  }
@@ -19864,7 +19864,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
19864
19864
  function hasGitMarker(repoRoot) {
19865
19865
  const gitPath = path.join(repoRoot, ".git");
19866
19866
  try {
19867
- const stat = fsSync.statSync(gitPath);
19867
+ const stat = fs$1.statSync(gitPath);
19868
19868
  return stat.isDirectory() || stat.isFile();
19869
19869
  } catch {
19870
19870
  return false;
@@ -19876,10 +19876,10 @@ function findGitRoot(startDir, opts = {}) {
19876
19876
  function resolveGitDirFromMarker(repoRoot) {
19877
19877
  const gitPath = path.join(repoRoot, ".git");
19878
19878
  try {
19879
- const stat = fsSync.statSync(gitPath);
19879
+ const stat = fs$1.statSync(gitPath);
19880
19880
  if (stat.isDirectory()) return gitPath;
19881
19881
  if (!stat.isFile()) return null;
19882
- const match = fsSync.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
19882
+ const match = fs$1.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
19883
19883
  if (!match?.[1]) return null;
19884
19884
  return path.resolve(repoRoot, match[1].trim());
19885
19885
  } catch {
@@ -19946,7 +19946,7 @@ const resolveCommitHash = (options = {}) => {
19946
19946
  cachedCommit = null;
19947
19947
  return cachedCommit;
19948
19948
  }
19949
- const head = fsSync.readFileSync(headPath, "utf-8").trim();
19949
+ const head = fs$1.readFileSync(headPath, "utf-8").trim();
19950
19950
  if (!head) {
19951
19951
  cachedCommit = null;
19952
19952
  return cachedCommit;
@@ -19954,7 +19954,7 @@ const resolveCommitHash = (options = {}) => {
19954
19954
  if (head.startsWith("ref:")) {
19955
19955
  const ref = head.replace(/^ref:\s*/i, "").trim();
19956
19956
  const refPath = path.resolve(path.dirname(headPath), ref);
19957
- cachedCommit = formatCommit(fsSync.readFileSync(refPath, "utf-8").trim());
19957
+ cachedCommit = formatCommit(fs$1.readFileSync(refPath, "utf-8").trim());
19958
19958
  return cachedCommit;
19959
19959
  }
19960
19960
  cachedCommit = formatCommit(head);
@@ -20158,9 +20158,9 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
20158
20158
  } catch {
20159
20159
  return;
20160
20160
  }
20161
- if (!fsSync.existsSync(logPath)) return;
20161
+ if (!fs$1.existsSync(logPath)) return;
20162
20162
  try {
20163
- const lines = fsSync.readFileSync(logPath, "utf-8").split(/\n+/);
20163
+ const lines = fs$1.readFileSync(logPath, "utf-8").split(/\n+/);
20164
20164
  let input = 0;
20165
20165
  let output = 0;
20166
20166
  let promptTokens = 0;
@@ -21400,7 +21400,7 @@ function resolveRepoRoot(params) {
21400
21400
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
21401
21401
  if (configured) try {
21402
21402
  const resolved = path.resolve(configured);
21403
- if (fsSync.statSync(resolved).isDirectory()) return resolved;
21403
+ if (fs$1.statSync(resolved).isDirectory()) return resolved;
21404
21404
  } catch {}
21405
21405
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
21406
21406
  const seen = /* @__PURE__ */ new Set();
@@ -22243,7 +22243,7 @@ async function buildContextReply(params) {
22243
22243
  //#region src/auto-reply/reply/commands-export-session.ts
22244
22244
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
22245
22245
  function loadTemplate(fileName) {
22246
- return fsSync.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
22246
+ return fs$1.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
22247
22247
  }
22248
22248
  function generateHtml(sessionData) {
22249
22249
  const template = loadTemplate("template.html");
@@ -22317,7 +22317,7 @@ async function buildExportSessionReply(params) {
22317
22317
  } catch (err) {
22318
22318
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
22319
22319
  }
22320
- if (!fsSync.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
22320
+ if (!fs$1.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
22321
22321
  const sessionManager = SessionManager.open(sessionFile);
22322
22322
  const entries = sessionManager.getEntries();
22323
22323
  const header = sessionManager.getHeader();
@@ -22338,8 +22338,8 @@ async function buildExportSessionReply(params) {
22338
22338
  const defaultFileName = `symi-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
22339
22339
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
22340
22340
  const outputDir = path.dirname(outputPath);
22341
- if (!fsSync.existsSync(outputDir)) fsSync.mkdirSync(outputDir, { recursive: true });
22342
- fsSync.writeFileSync(outputPath, html, "utf-8");
22341
+ if (!fs$1.existsSync(outputDir)) fs$1.mkdirSync(outputDir, { recursive: true });
22342
+ fs$1.writeFileSync(outputPath, html, "utf-8");
22343
22343
  const relativePath = path.relative(params.workspaceDir, outputPath);
22344
22344
  return { text: [
22345
22345
  "✅ Session exported!",
@@ -22453,8 +22453,8 @@ function resolveZaiApiKey() {
22453
22453
  }
22454
22454
  try {
22455
22455
  const authPath = path.join(os.homedir(), ".pi", "agent", "auth.json");
22456
- if (!fsSync.existsSync(authPath)) return;
22457
- const data = JSON.parse(fsSync.readFileSync(authPath, "utf-8"));
22456
+ if (!fs$1.existsSync(authPath)) return;
22457
+ const data = JSON.parse(fs$1.readFileSync(authPath, "utf-8"));
22458
22458
  return data["z-ai"]?.access || data.zai?.access;
22459
22459
  } catch {
22460
22460
  return;
@@ -24019,7 +24019,7 @@ function shouldPersistAnyBindingState() {
24019
24019
  }
24020
24020
  function shouldPersistBindingMutations() {
24021
24021
  if (shouldPersistAnyBindingState()) return true;
24022
- return fsSync.existsSync(resolveThreadBindingsPath());
24022
+ return fs$1.existsSync(resolveThreadBindingsPath());
24023
24023
  }
24024
24024
  function saveBindingsToDisk(params = {}) {
24025
24025
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -25007,7 +25007,7 @@ const applyCostTotal = (totals, costTotal) => {
25007
25007
  totals.totalCost += costTotal;
25008
25008
  };
25009
25009
  async function* readJsonlRecords(filePath) {
25010
- const fileStream = fsSync.createReadStream(filePath, { encoding: "utf-8" });
25010
+ const fileStream = fs$1.createReadStream(filePath, { encoding: "utf-8" });
25011
25011
  const rl = readline.createInterface({
25012
25012
  input: fileStream,
25013
25013
  crlfDelay: Infinity
@@ -25079,10 +25079,10 @@ async function loadCostUsageSummary(params) {
25079
25079
  const dailyMap = /* @__PURE__ */ new Map();
25080
25080
  const totals = emptyTotals();
25081
25081
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
25082
- const entries = await fsSync.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
25082
+ const entries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
25083
25083
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
25084
25084
  const filePath = path.join(sessionsDir, entry.name);
25085
- const stats = await fsSync.promises.stat(filePath).catch(() => null);
25085
+ const stats = await fs$1.promises.stat(filePath).catch(() => null);
25086
25086
  if (!stats) return null;
25087
25087
  if (stats.mtimeMs < sinceTime) return null;
25088
25088
  return filePath;
@@ -25115,7 +25115,7 @@ async function loadCostUsageSummary(params) {
25115
25115
  }
25116
25116
  async function loadSessionCostSummary(params) {
25117
25117
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
25118
- if (!sessionFile || !fsSync.existsSync(sessionFile)) return null;
25118
+ if (!sessionFile || !fs$1.existsSync(sessionFile)) return null;
25119
25119
  const totals = emptyTotals();
25120
25120
  let firstActivity;
25121
25121
  let lastActivity;
@@ -29321,7 +29321,7 @@ function asBoolean(value) {
29321
29321
  }
29322
29322
  function resolveTempPathParts(opts) {
29323
29323
  const tmpDir = opts.tmpDir ?? resolvePreferredSymiTmpDir();
29324
- if (!opts.tmpDir) fsSync.mkdirSync(tmpDir, {
29324
+ if (!opts.tmpDir) fs$1.mkdirSync(tmpDir, {
29325
29325
  recursive: true,
29326
29326
  mode: 448
29327
29327
  });
@@ -29387,7 +29387,7 @@ async function writeUrlToFile(filePath, url) {
29387
29387
  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}`);
29388
29388
  const body = res.body;
29389
29389
  if (!body) throw new Error(`failed to download ${url}: empty response body`);
29390
- const fileHandle = await fs$1.open(filePath, "w");
29390
+ const fileHandle = await fs$2.open(filePath, "w");
29391
29391
  let bytes = 0;
29392
29392
  let thrown;
29393
29393
  try {
@@ -29406,7 +29406,7 @@ async function writeUrlToFile(filePath, url) {
29406
29406
  await fileHandle.close();
29407
29407
  }
29408
29408
  if (thrown) {
29409
- await fs$1.unlink(filePath).catch(() => {});
29409
+ await fs$2.unlink(filePath).catch(() => {});
29410
29410
  throw thrown;
29411
29411
  }
29412
29412
  return {
@@ -29416,7 +29416,7 @@ async function writeUrlToFile(filePath, url) {
29416
29416
  }
29417
29417
  async function writeBase64ToFile(filePath, base64) {
29418
29418
  const buf = Buffer.from(base64, "base64");
29419
- await fs$1.writeFile(filePath, buf);
29419
+ await fs$2.writeFile(filePath, buf);
29420
29420
  return {
29421
29421
  path: filePath,
29422
29422
  bytes: buf.length
@@ -34781,7 +34781,7 @@ function listExistingAgentIdsFromDisk() {
34781
34781
  const root = resolveStateDir();
34782
34782
  const agentsDir = path.join(root, "agents");
34783
34783
  try {
34784
- return fsSync.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
34784
+ return fs$1.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
34785
34785
  } catch {
34786
34786
  return [];
34787
34787
  }
@@ -39816,7 +39816,7 @@ async function runAgentTurnWithFallback(params) {
39816
39816
  if (corruptedSessionId) {
39817
39817
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
39818
39818
  try {
39819
- fsSync.unlinkSync(transcriptPath);
39819
+ fs$1.unlinkSync(transcriptPath);
39820
39820
  } catch {}
39821
39821
  }
39822
39822
  delete params.activeSessionStore[sessionKey];
@@ -40521,9 +40521,9 @@ function auditPostCompactionReads(readFilePaths, workspaceDir, requiredReads = D
40521
40521
  * Returns messages from the last N lines (default 100).
40522
40522
  */
40523
40523
  function readSessionMessages(sessionFile, maxLines = 100) {
40524
- if (!fsSync.existsSync(sessionFile)) return [];
40524
+ if (!fs$1.existsSync(sessionFile)) return [];
40525
40525
  try {
40526
- const recentLines = fsSync.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
40526
+ const recentLines = fs$1.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
40527
40527
  const messages = [];
40528
40528
  for (const line of recentLines) try {
40529
40529
  const entry = JSON.parse(line);
@@ -40564,8 +40564,8 @@ const MAX_CONTEXT_CHARS = 3e3;
40564
40564
  async function readPostCompactionContext(workspaceDir) {
40565
40565
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
40566
40566
  try {
40567
- if (!fsSync.existsSync(agentsPath)) return null;
40568
- const sections = extractSections(await fsSync.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
40567
+ if (!fs$1.existsSync(agentsPath)) return null;
40568
+ const sections = extractSections(await fs$1.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
40569
40569
  if (sections.length === 0) return null;
40570
40570
  const combined = sections.join("\n\n");
40571
40571
  return "[Post-compaction context refresh]\n\nSession was just compacted. The conversation summary above is a hint, NOT a substitute for your startup sequence. Execute your Session Startup sequence now — read the required files before responding to the user.\n\nCritical rules from AGENTS.md:\n\n" + (combined.length > MAX_CONTEXT_CHARS ? combined.slice(0, MAX_CONTEXT_CHARS) + "\n...[truncated]..." : combined);
@@ -40769,7 +40769,7 @@ async function runReplyAgent(params) {
40769
40769
  if (resolved) transcriptCandidates.add(resolved);
40770
40770
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
40771
40771
  for (const candidate of transcriptCandidates) try {
40772
- fsSync.unlinkSync(candidate);
40772
+ fs$1.unlinkSync(candidate);
40773
40773
  } catch {}
40774
40774
  }
40775
40775
  return true;
@@ -41675,7 +41675,7 @@ async function deliverSessionMaintenanceWarning(params) {
41675
41675
  return;
41676
41676
  }
41677
41677
  try {
41678
- const { deliverOutboundPayloads } = await import("./deliver-BmPK91JP.js").then((n) => n.n);
41678
+ const { deliverOutboundPayloads } = await import("./deliver-D1ZN6-fl.js").then((n) => n.n);
41679
41679
  await deliverOutboundPayloads({
41680
41680
  cfg: params.cfg,
41681
41681
  channel,
@@ -41701,7 +41701,7 @@ function forkSessionFromParent(params) {
41701
41701
  agentId: params.agentId,
41702
41702
  sessionsDir: params.sessionsDir
41703
41703
  });
41704
- if (!parentSessionFile || !fsSync.existsSync(parentSessionFile)) return null;
41704
+ if (!parentSessionFile || !fs$1.existsSync(parentSessionFile)) return null;
41705
41705
  try {
41706
41706
  const manager = SessionManager.open(parentSessionFile);
41707
41707
  const leafId = manager.getLeafId();
@@ -41725,7 +41725,7 @@ function forkSessionFromParent(params) {
41725
41725
  cwd: manager.getCwd(),
41726
41726
  parentSession: parentSessionFile
41727
41727
  };
41728
- fsSync.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
41728
+ fs$1.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
41729
41729
  return {
41730
41730
  sessionId,
41731
41731
  sessionFile
@@ -45121,7 +45121,7 @@ async function describeStickerImage(params) {
45121
45121
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45122
45122
  try {
45123
45123
  const buffer = await fs.readFile(imagePath);
45124
- const { describeImageWithModel } = await import("./image-rZ4x9VS9.js").then((n) => n.n);
45124
+ const { describeImageWithModel } = await import("./image-Cp3JDEBB.js").then((n) => n.n);
45125
45125
  return (await describeImageWithModel({
45126
45126
  buffer,
45127
45127
  fileName: "sticker.webp",
@@ -45544,7 +45544,7 @@ function createWhatsAppLoginTool() {
45544
45544
  force: Type.Optional(Type.Boolean())
45545
45545
  }),
45546
45546
  execute: async (_toolCallId, args) => {
45547
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CIZk8uKX.js");
45547
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Batf3PT5.js");
45548
45548
  if ((args?.action ?? "start") === "wait") {
45549
45549
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
45550
45550
  return {
@@ -45826,7 +45826,7 @@ async function withMemoryManagerForAgent(params) {
45826
45826
  }
45827
45827
  async function checkReadableFile(pathname) {
45828
45828
  try {
45829
- await fs.access(pathname, fsSync.constants.R_OK);
45829
+ await fs.access(pathname, fs$1.constants.R_OK);
45830
45830
  return { exists: true };
45831
45831
  } catch (err) {
45832
45832
  const code = err.code;
@@ -45885,7 +45885,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
45885
45885
  }
45886
45886
  let dirReadable = null;
45887
45887
  try {
45888
- await fs.access(memoryDir, fsSync.constants.R_OK);
45888
+ await fs.access(memoryDir, fs$1.constants.R_OK);
45889
45889
  dirReadable = true;
45890
45890
  } catch (err) {
45891
45891
  const code = err.code;
@@ -47783,7 +47783,7 @@ async function preflightDiscordMessage(params) {
47783
47783
  let preflightTranscript;
47784
47784
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47785
47785
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47786
- const { transcribeFirstAudio } = await import("./audio-preflight-BsfqyC31.js");
47786
+ const { transcribeFirstAudio } = await import("./audio-preflight-D02HwB-I.js");
47787
47787
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47788
47788
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47789
47789
  ctx: {
@@ -48746,7 +48746,7 @@ function identityHasValues(identity) {
48746
48746
  }
48747
48747
  function loadIdentityFromFile(identityPath) {
48748
48748
  try {
48749
- const parsed = parseIdentityMarkdown(fsSync.readFileSync(identityPath, "utf-8"));
48749
+ const parsed = parseIdentityMarkdown(fs$1.readFileSync(identityPath, "utf-8"));
48750
48750
  if (!identityHasValues(parsed)) return null;
48751
48751
  return parsed;
48752
48752
  } catch {
@@ -48785,7 +48785,7 @@ function isDataAvatar(value) {
48785
48785
  }
48786
48786
  function resolveExistingPath(value) {
48787
48787
  try {
48788
- return fsSync.realpathSync(value);
48788
+ return fs$1.realpathSync(value);
48789
48789
  } catch {
48790
48790
  return path.resolve(value);
48791
48791
  }
@@ -48809,7 +48809,7 @@ function resolveLocalAvatarPath(params) {
48809
48809
  reason: "unsupported_extension"
48810
48810
  };
48811
48811
  try {
48812
- if (!fsSync.statSync(realPath).isFile()) return {
48812
+ if (!fs$1.statSync(realPath).isFile()) return {
48813
48813
  ok: false,
48814
48814
  reason: "missing"
48815
48815
  };
@@ -49672,7 +49672,7 @@ function sanitizeRecentModels(models, limit) {
49672
49672
  }
49673
49673
  async function readJsonFileWithFallback(filePath, fallback) {
49674
49674
  try {
49675
- const raw = await fsSync.promises.readFile(filePath, "utf-8");
49675
+ const raw = await fs$1.promises.readFile(filePath, "utf-8");
49676
49676
  return {
49677
49677
  value: JSON.parse(raw),
49678
49678
  exists: true
@@ -49690,14 +49690,14 @@ async function readJsonFileWithFallback(filePath, fallback) {
49690
49690
  }
49691
49691
  async function writeJsonFileAtomically(filePath, value) {
49692
49692
  const dir = path.dirname(filePath);
49693
- await fsSync.promises.mkdir(dir, {
49693
+ await fs$1.promises.mkdir(dir, {
49694
49694
  recursive: true,
49695
49695
  mode: 448
49696
49696
  });
49697
49697
  const tmp = path.join(dir, `${path.basename(filePath)}.${crypto.randomUUID()}.tmp`);
49698
- await fsSync.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, "utf-8");
49699
- await fsSync.promises.chmod(tmp, 384);
49700
- await fsSync.promises.rename(tmp, filePath);
49698
+ await fs$1.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, "utf-8");
49699
+ await fs$1.promises.chmod(tmp, 384);
49700
+ await fs$1.promises.rename(tmp, filePath);
49701
49701
  }
49702
49702
  async function readPreferencesStore(filePath) {
49703
49703
  const { value } = await readJsonFileWithFallback(filePath, {
@@ -51789,27 +51789,27 @@ function isVoiceChannelType(type) {
51789
51789
  function createDefaultDeps() {
51790
51790
  return {
51791
51791
  sendMessageWhatsApp: async (...args) => {
51792
- const { sendMessageWhatsApp } = await import("./web-BqRsq6mP.js");
51792
+ const { sendMessageWhatsApp } = await import("./web-DNQzo8ao.js");
51793
51793
  return await sendMessageWhatsApp(...args);
51794
51794
  },
51795
51795
  sendMessageTelegram: async (...args) => {
51796
- const { sendMessageTelegram } = await import("./send-DeEosX8F.js").then((n) => n.l);
51796
+ const { sendMessageTelegram } = await import("./send-B1u-LrcS.js").then((n) => n.l);
51797
51797
  return await sendMessageTelegram(...args);
51798
51798
  },
51799
51799
  sendMessageDiscord: async (...args) => {
51800
- const { sendMessageDiscord } = await import("./send-DwKJK3sM.js").then((n) => n.t);
51800
+ const { sendMessageDiscord } = await import("./send-CiTGOvEc.js").then((n) => n.t);
51801
51801
  return await sendMessageDiscord(...args);
51802
51802
  },
51803
51803
  sendMessageSlack: async (...args) => {
51804
- const { sendMessageSlack } = await import("./send-CHEOWVc8.js").then((n) => n.n);
51804
+ const { sendMessageSlack } = await import("./send-DeFniOjh.js").then((n) => n.n);
51805
51805
  return await sendMessageSlack(...args);
51806
51806
  },
51807
51807
  sendMessageSignal: async (...args) => {
51808
- const { sendMessageSignal } = await import("./send-zSarozV2.js").then((n) => n.i);
51808
+ const { sendMessageSignal } = await import("./send-DW96zgDL.js").then((n) => n.i);
51809
51809
  return await sendMessageSignal(...args);
51810
51810
  },
51811
51811
  sendMessageIMessage: async (...args) => {
51812
- const { sendMessageIMessage } = await import("./send-DbcLJb0P.js").then((n) => n.n);
51812
+ const { sendMessageIMessage } = await import("./send-WyRqb4WD.js").then((n) => n.n);
51813
51813
  return await sendMessageIMessage(...args);
51814
51814
  }
51815
51815
  };
@@ -54696,7 +54696,7 @@ function createDiscordGatewayPlugin(params) {
54696
54696
  super(options);
54697
54697
  }
54698
54698
  createWebSocket(url) {
54699
- return new WebSocket$1(url, { agent });
54699
+ return new WebSocket(url, { agent });
54700
54700
  }
54701
54701
  }
54702
54702
  return new ProxyGatewayPlugin();
@@ -56690,7 +56690,7 @@ async function monitorIMessageProvider(opts = {}) {
56690
56690
  function readFileIfExists(filePath) {
56691
56691
  if (!filePath) return;
56692
56692
  try {
56693
- return fsSync.readFileSync(filePath, "utf-8").trim();
56693
+ return fs$1.readFileSync(filePath, "utf-8").trim();
56694
56694
  } catch {
56695
56695
  return;
56696
56696
  }
@@ -57251,7 +57251,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
57251
57251
  prefix: "line-media",
57252
57252
  extension: getExtensionForContentType(contentType)
57253
57253
  });
57254
- await fsSync.promises.writeFile(filePath, buffer);
57254
+ await fs$1.promises.writeFile(filePath, buffer);
57255
57255
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
57256
57256
  return {
57257
57257
  path: filePath,
@@ -62238,7 +62238,7 @@ function readSlackExternalArgMenuToken(raw) {
62238
62238
  }
62239
62239
  let commandsRegistry;
62240
62240
  async function getCommandsRegistry() {
62241
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-VSmULp-g.js").then((n) => n.n);
62241
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-D7CTCQPm.js").then((n) => n.n);
62242
62242
  return commandsRegistry;
62243
62243
  }
62244
62244
  function encodeSlackCommandArgValue(parts) {
@@ -62580,11 +62580,11 @@ async function registerSlackMonitorSlashCommands(params) {
62580
62580
  const channelName = channelInfo?.name;
62581
62581
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
62582
62582
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
62583
- import("./resolve-route-BVikmvWO.js").then((n) => n.r),
62583
+ import("./resolve-route-CZ-1eqw0.js").then((n) => n.r),
62584
62584
  import("./inbound-context-BlHX0H3E.js").then((n) => n.n),
62585
62585
  Promise.resolve().then(() => provider_dispatcher_exports)
62586
62586
  ]);
62587
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-DXUkoKcB.js").then((n) => n.t), import("./reply-prefix-CtL0omgM.js").then((n) => n.n)]);
62587
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-DXUkoKcB.js").then((n) => n.t), import("./reply-prefix-XlyuyChD.js").then((n) => n.n)]);
62588
62588
  const route = resolveAgentRoute({
62589
62589
  cfg,
62590
62590
  channel: "slack",
@@ -62641,9 +62641,9 @@ async function registerSlackMonitorSlashCommands(params) {
62641
62641
  });
62642
62642
  const deliverSlashPayloads = async (replies) => {
62643
62643
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
62644
- import("./replies-DpPvWiGF.js").then((n) => n.r),
62645
- import("./chunk-ClbN9Pqy.js").then((n) => n.s),
62646
- import("./markdown-tables-DSHvnTLx.js").then((n) => n.t)
62644
+ import("./replies-BIX_isV7.js").then((n) => n.r),
62645
+ import("./chunk-BW5f05BR.js").then((n) => n.s),
62646
+ import("./markdown-tables-iMQQZu4Q.js").then((n) => n.t)
62647
62647
  ]);
62648
62648
  await deliverSlackSlashReplies({
62649
62649
  replies,
@@ -62696,7 +62696,7 @@ async function registerSlackMonitorSlashCommands(params) {
62696
62696
  let nativeCommands = [];
62697
62697
  if (nativeEnabled) {
62698
62698
  reg = await getCommandsRegistry();
62699
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-D610IKhm.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62699
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BJMb_psG.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62700
62700
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
62701
62701
  skillCommands,
62702
62702
  provider: "slack"
@@ -64914,7 +64914,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64914
64914
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64915
64915
  let preflightTranscript;
64916
64916
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64917
- const { transcribeFirstAudio } = await import("./audio-preflight-BsfqyC31.js");
64917
+ const { transcribeFirstAudio } = await import("./audio-preflight-D02HwB-I.js");
64918
64918
  preflightTranscript = await transcribeFirstAudio({
64919
64919
  ctx: {
64920
64920
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -67059,23 +67059,23 @@ let webLoginQrPromise = null;
67059
67059
  let webChannelPromise = null;
67060
67060
  let whatsappActionsPromise = null;
67061
67061
  function loadWebOutbound() {
67062
- webOutboundPromise ??= import("./outbound-opDNxv-l.js").then((n) => n.t);
67062
+ webOutboundPromise ??= import("./outbound-D4fN_ZlE.js").then((n) => n.t);
67063
67063
  return webOutboundPromise;
67064
67064
  }
67065
67065
  function loadWebLogin() {
67066
- webLoginPromise ??= import("./login-B8uiUAnV.js").then((n) => n.n);
67066
+ webLoginPromise ??= import("./login-CwCoxapk.js").then((n) => n.n);
67067
67067
  return webLoginPromise;
67068
67068
  }
67069
67069
  function loadWebLoginQr() {
67070
- webLoginQrPromise ??= import("./login-qr-CIZk8uKX.js");
67070
+ webLoginQrPromise ??= import("./login-qr-Batf3PT5.js");
67071
67071
  return webLoginQrPromise;
67072
67072
  }
67073
67073
  function loadWebChannel() {
67074
- webChannelPromise ??= import("./web-BqRsq6mP.js");
67074
+ webChannelPromise ??= import("./web-DNQzo8ao.js");
67075
67075
  return webChannelPromise;
67076
67076
  }
67077
67077
  function loadWhatsAppActions() {
67078
- whatsappActionsPromise ??= import("./whatsapp-actions-oRQjcdQe.js");
67078
+ whatsappActionsPromise ??= import("./whatsapp-actions-D1RsnX7P.js");
67079
67079
  return whatsappActionsPromise;
67080
67080
  }
67081
67081
  function createPluginRuntime() {
@@ -67296,7 +67296,7 @@ const resolvePluginSdkAliasFile = (params) => {
67296
67296
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
67297
67297
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
67298
67298
  const orderedCandidates = isTest ? [distCandidate, srcCandidate] : [distCandidate];
67299
- for (const candidate of orderedCandidates) if (fsSync.existsSync(candidate)) return candidate;
67299
+ for (const candidate of orderedCandidates) if (fs$1.existsSync(candidate)) return candidate;
67300
67300
  const parent = path.dirname(cursor);
67301
67301
  if (parent === cursor) break;
67302
67302
  cursor = parent;
@@ -68289,6 +68289,42 @@ function parseUpdateFileChunk(lines, lineNumber, allowMissingContext) {
68289
68289
  };
68290
68290
  }
68291
68291
 
68292
+ //#endregion
68293
+ //#region src/agents/model-token-filter.ts
68294
+ /**
68295
+ * Strips model-specific control tokens from streamed text.
68296
+ *
68297
+ * Used both server-side (in the streaming pipeline) and by the Glass UI
68298
+ * (as a defense-in-depth fallback). The patterns here cover tokens known
68299
+ * to leak from Gemma 4 / vLLM; Claude output is left untouched.
68300
+ */
68301
+ const GEMMA_TOKEN_PATTERNS = [
68302
+ /<\|channel>\w*/g,
68303
+ /<channel\|>/g,
68304
+ /<start_of_turn>(?:model|user)?/g,
68305
+ /<end_of_turn>/g,
68306
+ /<\|(?:fim_prefix|fim_suffix|fim_middle)\|>/g,
68307
+ /^\s*<bos>\s*/gm
68308
+ ];
68309
+ const GEMMA_MODEL_HINTS$1 = ["gemma", "redsand/"];
68310
+ function isGemmaModel$1(modelId) {
68311
+ const lower = modelId.toLowerCase();
68312
+ return GEMMA_MODEL_HINTS$1.some((hint) => lower.includes(hint));
68313
+ }
68314
+ /**
68315
+ * Strip known control tokens from text. Only applies to Gemma-family models;
68316
+ * other models pass through unchanged.
68317
+ */
68318
+ function stripModelTokens(text, modelId) {
68319
+ if (!text || !isGemmaModel$1(modelId)) return text;
68320
+ let result = text;
68321
+ for (const re of GEMMA_TOKEN_PATTERNS) {
68322
+ re.lastIndex = 0;
68323
+ result = result.replace(re, "");
68324
+ }
68325
+ return result;
68326
+ }
68327
+
68292
68328
  //#endregion
68293
68329
  //#region src/agents/pi-tools.abort.ts
68294
68330
  function throwAbortError() {
@@ -68354,7 +68390,7 @@ async function recordLoopOutcome(args) {
68354
68390
  if (!args.ctx?.sessionKey) return;
68355
68391
  try {
68356
68392
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bxo4UHOL.js").then((n) => n.n);
68357
- const { recordToolCallOutcome } = await import("./tool-loop-detection-Bbc9OPFR.js");
68393
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-Cs8_HCsx.js");
68358
68394
  recordToolCallOutcome(getDiagnosticSessionState({
68359
68395
  sessionKey: args.ctx.sessionKey,
68360
68396
  sessionId: args.ctx?.agentId
@@ -68375,8 +68411,8 @@ async function runBeforeToolCallHook(args) {
68375
68411
  const params = args.params;
68376
68412
  if (args.ctx?.sessionKey) {
68377
68413
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Bxo4UHOL.js").then((n) => n.n);
68378
- const { logToolLoopAction } = await import("./diagnostic-C3nsWaw3.js").then((n) => n.n);
68379
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Bbc9OPFR.js");
68414
+ const { logToolLoopAction } = await import("./diagnostic-CI0kRQkt.js").then((n) => n.n);
68415
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Cs8_HCsx.js");
68380
68416
  const sessionState = getDiagnosticSessionState({
68381
68417
  sessionKey: args.ctx.sessionKey,
68382
68418
  sessionId: args.ctx?.agentId
@@ -69586,6 +69622,31 @@ function resolveToolLoopDetectionConfig(params) {
69586
69622
  }
69587
69623
  };
69588
69624
  }
69625
+ /**
69626
+ * Wrap a tool to strip model-specific control tokens from string arguments
69627
+ * before execution. Gemma 4 via vLLM sometimes injects tokens like `<|`
69628
+ * into tool call arguments (e.g. `exec("<|node -v")`). This wrapper
69629
+ * sanitizes all string values in the argument object.
69630
+ */
69631
+ function wrapToolWithArgSanitization(tool, modelId) {
69632
+ const execute = tool.execute;
69633
+ if (!execute) return tool;
69634
+ return {
69635
+ ...tool,
69636
+ execute: async (toolCallId, params, signal, onUpdate) => {
69637
+ return execute(toolCallId, sanitizeToolArgs(params, modelId), signal, onUpdate);
69638
+ }
69639
+ };
69640
+ }
69641
+ function sanitizeToolArgs(params, modelId) {
69642
+ if (!params || typeof params !== "object") return typeof params === "string" ? stripModelTokens(params, modelId) : params;
69643
+ if (Array.isArray(params)) return params.map((item) => sanitizeToolArgs(item, modelId));
69644
+ const result = {};
69645
+ for (const [key, value] of Object.entries(params)) if (typeof value === "string") result[key] = stripModelTokens(value, modelId);
69646
+ else if (value && typeof value === "object") result[key] = sanitizeToolArgs(value, modelId);
69647
+ else result[key] = value;
69648
+ return result;
69649
+ }
69589
69650
  function createSymiCodingTools(options) {
69590
69651
  const execToolName = "exec";
69591
69652
  const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
@@ -69809,7 +69870,11 @@ function createSymiCodingTools(options) {
69809
69870
  agentId
69810
69871
  })
69811
69872
  }));
69812
- return options?.abortSignal ? withHooks.map((tool) => wrapToolWithAbortSignal(tool, options.abortSignal)) : withHooks;
69873
+ const withAbort = options?.abortSignal ? withHooks.map((tool) => wrapToolWithAbortSignal(tool, options.abortSignal)) : withHooks;
69874
+ const modelId = options?.modelId ?? "";
69875
+ const modelProvider = options?.modelProvider ?? "";
69876
+ const fullModelId = modelProvider ? `${modelProvider}/${modelId}` : modelId;
69877
+ return fullModelId ? withAbort.map((tool) => wrapToolWithArgSanitization(tool, fullModelId)) : withAbort;
69813
69878
  }
69814
69879
 
69815
69880
  //#endregion
@@ -70916,8 +70981,8 @@ async function readWorkspaceContextForSummary() {
70916
70981
  const workspaceDir = process.cwd();
70917
70982
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
70918
70983
  try {
70919
- if (!fsSync.existsSync(agentsPath)) return "";
70920
- const sections = extractSections(await fsSync.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
70984
+ if (!fs$1.existsSync(agentsPath)) return "";
70985
+ const sections = extractSections(await fs$1.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
70921
70986
  if (sections.length === 0) return "";
70922
70987
  const combined = sections.join("\n\n");
70923
70988
  return `\n\n<workspace-critical-rules>\n${combined.length > MAX_SUMMARY_CONTEXT_CHARS ? combined.slice(0, MAX_SUMMARY_CONTEXT_CHARS) + "\n...[truncated]..." : combined}\n</workspace-critical-rules>`;
@@ -72248,7 +72313,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72248
72313
  if (!apiKeyInfo.apiKey) {
72249
72314
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
72250
72315
  } else if (model.provider === "github-copilot") {
72251
- const { resolveCopilotApiToken } = await import("./github-copilot-token-DJqsJ2-r.js").then((n) => n.n);
72316
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-C_qUP7p5.js").then((n) => n.n);
72252
72317
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
72253
72318
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
72254
72319
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -72801,11 +72866,34 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
72801
72866
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
72802
72867
  if (Object.keys(streamParams).length === 0) return;
72803
72868
  log$2.debug(`creating streamFn wrapper with params: ${JSON.stringify(streamParams)}`);
72869
+ const sp = streamParams;
72870
+ const payloadOverrides = {};
72871
+ if (Array.isArray(sp.stop) && sp.stop.length > 0) payloadOverrides.stop = sp.stop;
72872
+ if (typeof sp.top_p === "number") payloadOverrides.top_p = sp.top_p;
72873
+ if (typeof sp.top_k === "number") payloadOverrides.top_k = sp.top_k;
72874
+ if (typeof sp.repeat_penalty === "number") payloadOverrides.repeat_penalty = sp.repeat_penalty;
72875
+ const hasPayloadOverrides = Object.keys(payloadOverrides).length > 0;
72804
72876
  const underlying = baseStreamFn ?? streamSimple;
72805
- const wrappedStreamFn = (model, context, options) => underlying(model, context, {
72806
- ...streamParams,
72807
- ...options
72808
- });
72877
+ const wrappedStreamFn = (model, context, options) => {
72878
+ if (hasPayloadOverrides) {
72879
+ const originalOnPayload = options?.onPayload;
72880
+ return underlying(model, context, {
72881
+ ...streamParams,
72882
+ ...options,
72883
+ onPayload: (payload) => {
72884
+ if (payload && typeof payload === "object") {
72885
+ const p = payload;
72886
+ for (const [key, value] of Object.entries(payloadOverrides)) if (p[key] === void 0) p[key] = value;
72887
+ }
72888
+ originalOnPayload?.(payload);
72889
+ }
72890
+ });
72891
+ }
72892
+ return underlying(model, context, {
72893
+ ...streamParams,
72894
+ ...options
72895
+ });
72896
+ };
72809
72897
  return wrappedStreamFn;
72810
72898
  }
72811
72899
  function isDirectOpenAIBaseUrl(baseUrl) {
@@ -73671,11 +73759,11 @@ function appendRawStream(payload) {
73671
73759
  if (!rawStreamReady) {
73672
73760
  rawStreamReady = true;
73673
73761
  try {
73674
- fsSync.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
73762
+ fs$1.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
73675
73763
  } catch {}
73676
73764
  }
73677
73765
  try {
73678
- fsSync.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
73766
+ fs$1.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
73679
73767
  } catch {}
73680
73768
  }
73681
73769
 
@@ -77151,7 +77239,7 @@ async function runEmbeddedPiAgent(params) {
77151
77239
  return;
77152
77240
  }
77153
77241
  if (model.provider === "github-copilot") {
77154
- const { resolveCopilotApiToken } = await import("./github-copilot-token-DJqsJ2-r.js").then((n) => n.n);
77242
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-C_qUP7p5.js").then((n) => n.n);
77155
77243
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
77156
77244
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
77157
77245
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);