@symerian/symi 2.0.15 → 2.0.16

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 (165) hide show
  1. package/dist/{acp-cli-BKh-53nn.js → acp-cli-CSX62tsS.js} +2 -2
  2. package/dist/{acp-cli-CRT2rkIR.js → acp-cli-CrfY9UHo.js} +2 -2
  3. package/dist/{agents-CNsMe4Dr.js → agents-CP6mOf0j.js} +5 -5
  4. package/dist/{agents.config-CdDf19dm.js → agents.config-CFps8Krs.js} +1 -1
  5. package/dist/{agents.config-yx78oSLx.js → agents.config-Da5XukaM.js} +1 -1
  6. package/dist/{audio-preflight-CO2seHjy.js → audio-preflight-CQ5_RYEe.js} +2 -2
  7. package/dist/{audio-preflight-B8ffbICW.js → audio-preflight-Cq4C-m27.js} +4 -4
  8. package/dist/{audit-CiugrQda.js → audit-Do2bVss3.js} +2 -2
  9. package/dist/{audit-DKUpFt8z.js → audit-x_SzU263.js} +2 -2
  10. package/dist/{auth-choice-mw9ndZQO.js → auth-choice-CZ9ugRNS.js} +4 -4
  11. package/dist/{auth-choice-CXMFi9LR.js → auth-choice-za414gQg.js} +2 -2
  12. package/dist/{banner-B-joBGLz.js → banner-DHgxDWv_.js} +1 -1
  13. package/dist/{browser-cli-Bk7Q_04S.js → browser-cli-BydQRa6Z.js} +3 -3
  14. package/dist/{browser-cli-iXhPMwGZ.js → browser-cli-Bz2dcSy1.js} +3 -3
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +1 -1
  17. package/dist/bundled/session-memory/handler.js +1 -1
  18. package/dist/{call-BQiCOxB6.js → call-BVw7l9v8.js} +1 -1
  19. package/dist/{call-BNyqFDDZ.js → call-CJYWtIM9.js} +1 -1
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-D74Jofp4.js → channel-options-BCZol8_4.js} +1 -1
  22. package/dist/{channel-options-XPRRVrmU.js → channel-options-D7RdZp1E.js} +1 -1
  23. package/dist/{channel-web-vRvvtf0S.js → channel-web-Dki5eEiP.js} +2 -2
  24. package/dist/{channels-cli-DgxPfJF7.js → channels-cli-CILkYyG3.js} +7 -7
  25. package/dist/{channels-cli-D3lj5dXo.js → channels-cli-CwliXNUk.js} +9 -9
  26. package/dist/{chrome-B_zrSLce.js → chrome-h6BnL8Lp.js} +7 -7
  27. package/dist/cli/daemon-cli.js +1 -1
  28. package/dist/{cli-Bg_5WQFe.js → cli-CLHi2LEP.js} +4 -4
  29. package/dist/{cli-DQQAfUbo.js → cli-aAOs92a8.js} +6 -6
  30. package/dist/{client-Cnoh7nRo.js → client-CQSyCS4M.js} +2 -1
  31. package/dist/{client-LeVQns9-.js → client-DMBZpU6X.js} +2 -1
  32. package/dist/{command-registry-Cde2LqTh.js → command-registry-OHfvK1Oq.js} +10 -10
  33. package/dist/{completion-cli-KJUTWJP3.js → completion-cli-D7iBY_Z-.js} +2 -2
  34. package/dist/{completion-cli-Cx9htCOm.js → completion-cli-DSHmAUFN.js} +1 -1
  35. package/dist/{config-cli-C5-P9Nzz.js → config-cli-BlusBXAA.js} +1 -1
  36. package/dist/{config-cli-ozfA6MGF.js → config-cli-CcbYdW1-.js} +1 -1
  37. package/dist/{configure-DiuQ_aTS.js → configure-CJf-vDqN.js} +8 -8
  38. package/dist/{configure-ktsZw1bT.js → configure-rrxn5n5n.js} +6 -6
  39. package/dist/control-ui/css/style.css +9 -0
  40. package/dist/control-ui/js/app.js +137 -0
  41. package/dist/control-ui/js/gateway.js +10 -2
  42. package/dist/{cron-cli-iWejT5dL.js → cron-cli-B9s3FO4y.js} +3 -3
  43. package/dist/{cron-cli-BVy2Ysgu.js → cron-cli-CMb8Tfrd.js} +3 -3
  44. package/dist/{daemon-cli-BU1FofT_.js → daemon-cli-DY782AjS.js} +2 -2
  45. package/dist/{daemon-cli-CFZpc0hg.js → daemon-cli-duUjaj82.js} +2 -2
  46. package/dist/daemon-cli.js +2 -1
  47. package/dist/{deliver-CkjSfucB.js → deliver-CZF9f8aC.js} +1 -1
  48. package/dist/{devices-cli-DC8knKQP.js → devices-cli-Cahrr6Rd.js} +2 -2
  49. package/dist/{devices-cli-CKAh6Hnl.js → devices-cli-Ch8p42OS.js} +2 -2
  50. package/dist/{doctor-completion-Vwi_je1c.js → doctor-completion-B6R-Um0m.js} +1 -1
  51. package/dist/{doctor-completion-CrN6Ly8x.js → doctor-completion-Db9Ka2VX.js} +1 -1
  52. package/dist/entry.js +1 -1
  53. package/dist/{exec-approvals-cli-CfrLzlfe.js → exec-approvals-cli-CSTHY6Vs.js} +4 -4
  54. package/dist/{exec-approvals-cli-D7ZfJtB3.js → exec-approvals-cli-lduNEUnu.js} +4 -4
  55. package/dist/extensionAPI.js +6 -6
  56. package/dist/{gateway-cli-DyqK4XZ1.js → gateway-cli-DVzEvDKA.js} +16 -16
  57. package/dist/{gateway-cli-CwO3878F.js → gateway-cli-VZ3pwSh3.js} +14 -14
  58. package/dist/{gateway-rpc-BnsXD9QK.js → gateway-rpc-BTXPWO6j.js} +1 -1
  59. package/dist/{gateway-rpc-XxpDa3Bd.js → gateway-rpc-Cx0HPjI7.js} +1 -1
  60. package/dist/{glass-ui-ws-BmqwQaCf.js → glass-ui-ws-CAm9wWND.js} +21 -15
  61. package/dist/{glass-ui-ws-zVNodseh.js → glass-ui-ws-DmPVzO59.js} +23 -17
  62. package/dist/{health-UjXEBnzA.js → health-CYZdOaco.js} +2 -2
  63. package/dist/{health-Q1RP1M2f.js → health-CnH3J7xA.js} +2 -2
  64. package/dist/{hooks-cli-D4qJl6do.js → hooks-cli-C7tb9Ef0.js} +5 -5
  65. package/dist/{hooks-cli-DOT9uGZw.js → hooks-cli-CHMoGB4O.js} +7 -7
  66. package/dist/{image-CSeAnozE.js → image-DOnOTocl.js} +1 -1
  67. package/dist/index.js +11 -11
  68. package/dist/llm-slug-generator.js +1 -1
  69. package/dist/{logs-cli-D3iVwGDc.js → logs-cli-Cvhx1c0V.js} +3 -3
  70. package/dist/{logs-cli-DfFvgxqj.js → logs-cli-DUzUCojZ.js} +3 -3
  71. package/dist/{model-catalog-DjJ9GtKX.js → model-catalog-CX8kAHv8.js} +1 -1
  72. package/dist/{model-picker-DXwUsLAy.js → model-picker-CDXdeNr-.js} +1 -1
  73. package/dist/{models-cli-ULbdeSgc.js → models-cli-CTptBZ1_.js} +8 -8
  74. package/dist/{models-cli-BS6UJ98e.js → models-cli-xt0_lwNn.js} +6 -6
  75. package/dist/{models-DKsiIvSx.js → models-wHzbWyGd.js} +3 -3
  76. package/dist/{node-cli-Dq7jjGmU.js → node-cli-BhCoxgBf.js} +1 -1
  77. package/dist/{node-cli-BDruQPgf.js → node-cli-C8scjTTR.js} +1 -1
  78. package/dist/{nodes-cli-CO1-qlpY.js → nodes-cli-BHnGJEDY.js} +3 -3
  79. package/dist/{nodes-cli-D71AOvPL.js → nodes-cli-DvFB1bRc.js} +3 -3
  80. package/dist/{onboard-Bt-BwfkR.js → onboard-CLT8dKkn.js} +3 -3
  81. package/dist/{onboard-B387frTY.js → onboard-CqrqIyTw.js} +5 -5
  82. package/dist/{onboard-channels-COcxT5Q0.js → onboard-channels-B1qEMRuK.js} +1 -1
  83. package/dist/{onboard-channels-ybPEmcP8.js → onboard-channels-Dq99OYWi.js} +1 -1
  84. package/dist/{onboard-custom-DoIhWPnb.js → onboard-custom-BPHkLBMT.js} +1 -1
  85. package/dist/{onboard-helpers-BuSj9DUm.js → onboard-helpers-CYxzQfe5.js} +1 -1
  86. package/dist/{onboard-helpers-CUQrf3zD.js → onboard-helpers-Dsr4zKCb.js} +1 -1
  87. package/dist/{onboard-remote-DTYzroFm.js → onboard-remote-3c_muVej.js} +1 -1
  88. package/dist/{onboard-remote-BSjc42yV.js → onboard-remote-d48SMpNw.js} +1 -1
  89. package/dist/{onboard-skills-BD8JNVwL.js → onboard-skills-2HJIpm3O.js} +1 -1
  90. package/dist/{onboard-skills-70EumFmD.js → onboard-skills-b_chEkYH.js} +1 -1
  91. package/dist/{onboarding-BibGEGIS.js → onboarding-Bs82247P.js} +7 -7
  92. package/dist/{onboarding-CdN_NU2d.js → onboarding-yfMTHyHB.js} +9 -9
  93. package/dist/{onboarding.finalize-CY1NjrGb.js → onboarding.finalize-DkZuXXiU.js} +10 -10
  94. package/dist/{onboarding.finalize-CvahVrDM.js → onboarding.finalize-QC0g7ZLU.js} +11 -11
  95. package/dist/{onboarding.gateway-config-Cj_s_IG8.js → onboarding.gateway-config-BkXJPv7f.js} +3 -3
  96. package/dist/{onboarding.gateway-config-DipSuaKH.js → onboarding.gateway-config-stm3z82Y.js} +3 -3
  97. package/dist/{pi-auth-json-DuUL9qfI.js → pi-auth-json-B83DuyYZ.js} +1 -1
  98. package/dist/{pi-embedded-9wEA_0mu.js → pi-embedded-B3nbPN60.js} +18 -17
  99. package/dist/{pi-embedded-BjzaB3CT.js → pi-embedded-DDe6lqPs.js} +4 -3
  100. package/dist/{pi-embedded-helpers-BmYZe8o8.js → pi-embedded-helpers--yFTAWwW.js} +4 -4
  101. package/dist/{plugin-registry-CEoSVvL1.js → plugin-registry-DWJeC9bW.js} +1 -1
  102. package/dist/{plugin-registry-BAbkdLQ7.js → plugin-registry-SCI1BVkI.js} +1 -1
  103. package/dist/plugin-sdk/{channel-web-xXTpy0N_.js → channel-web-BUTyAx0r.js} +1 -1
  104. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +1 -0
  105. package/dist/plugin-sdk/index.js +2 -2
  106. package/dist/plugin-sdk/{reply-EEvLfWgt.js → reply-CjWIATx5.js} +4 -3
  107. package/dist/plugin-sdk/{web-COWtpMAH.js → web-C1q3B85D.js} +2 -2
  108. package/dist/{plugins-cli-C_S07pgO.js → plugins-cli-D2GDnmKk.js} +7 -7
  109. package/dist/{plugins-cli-BpuQ7Y9l.js → plugins-cli-QSrupxLG.js} +5 -5
  110. package/dist/{program-cO9YX6wL.js → program-7hcHnpYu.js} +10 -10
  111. package/dist/{program-context-QBBvnWFX.js → program-context-CIOqtCr8.js} +29 -29
  112. package/dist/{prompt-select-styled-D3dYbx2P.js → prompt-select-styled-DC-k-kBQ.js} +6 -6
  113. package/dist/{prompt-select-styled-CepuQSKg.js → prompt-select-styled-DpVAhv1V.js} +7 -7
  114. package/dist/{provider-auth-helpers-DXqvuBCi.js → provider-auth-helpers-BGhm_DOe.js} +1 -1
  115. package/dist/{provider-auth-helpers-BMACaaEd.js → provider-auth-helpers-DvwmlisW.js} +1 -1
  116. package/dist/{push-apns-8YIzbTM7.js → push-apns-BZu5OVg5.js} +1 -1
  117. package/dist/{push-apns-DhZgao_r.js → push-apns-CiOx7dgB.js} +1 -1
  118. package/dist/{pw-ai-s-d46DCX.js → pw-ai-C_C5as1t.js} +1 -1
  119. package/dist/{register.agent-CiTS9lyx.js → register.agent-CDD5Z9Fj.js} +11 -11
  120. package/dist/{register.agent-CSUoUVKd.js → register.agent-Ds6PkEYl.js} +9 -9
  121. package/dist/{register.configure-CuCVLOW0.js → register.configure-CBRYdCX2.js} +11 -11
  122. package/dist/{register.configure-BbE9MAer.js → register.configure-COyj6XWC.js} +15 -15
  123. package/dist/{register.maintenance-CJG75LTu.js → register.maintenance-CyJQDrP0.js} +11 -11
  124. package/dist/{register.maintenance-D8bthvou.js → register.maintenance-DwHXDl_N.js} +12 -12
  125. package/dist/{register.message-CyqE4E2O.js → register.message-BNe6-SJE.js} +5 -5
  126. package/dist/{register.message-nUpHGrEE.js → register.message-CvQ7LEYe.js} +7 -7
  127. package/dist/{register.onboard-Dlw-TCPH.js → register.onboard-BxxfWU46.js} +11 -11
  128. package/dist/{register.onboard-BDlne5KX.js → register.onboard-CuRnx0wV.js} +7 -7
  129. package/dist/{register.setup-B8kiMuah.js → register.setup-B4rO_Fld.js} +11 -11
  130. package/dist/{register.setup-ByMyofSq.js → register.setup-qmcQQ6EM.js} +7 -7
  131. package/dist/{register.status-health-sessions-0odRpA-p.js → register.status-health-sessions-4OEVg4h6.js} +7 -7
  132. package/dist/{register.status-health-sessions-Diirshgb.js → register.status-health-sessions-CQ0_UB_j.js} +9 -9
  133. package/dist/{register.subclis-CqEj9vfW.js → register.subclis-68XcQ3ao.js} +20 -20
  134. package/dist/{reply-B9o45s3E.js → reply-DI3kOl7x.js} +9 -9
  135. package/dist/{rpc-K2mc_55f.js → rpc-CvzWzHjS.js} +1 -1
  136. package/dist/{rpc-B8S3CF-2.js → rpc-DfC0wvv1.js} +1 -1
  137. package/dist/{run-main-C__lZ7VF.js → run-main-DiJI5-hU.js} +17 -17
  138. package/dist/{runner-C0tJTZmp.js → runner-VHq3quQZ.js} +1 -1
  139. package/dist/{runner-CJJY2r19.js → runner-uDZlTCm2.js} +1 -1
  140. package/dist/{security-cli-Bt0VkUtO.js → security-cli-BPqLtK8x.js} +3 -3
  141. package/dist/{security-cli-YGXUUBvD.js → security-cli-BTcKFy-k.js} +3 -3
  142. package/dist/{server-methods-Df9KsV_-.js → server-methods-B_JpD0c-.js} +29 -13
  143. package/dist/{server-methods-B_NSJmhc.js → server-methods-DnTo3Oou.js} +29 -13
  144. package/dist/{server-node-events-ZG0SBDkU.js → server-node-events-IlWB4f_P.js} +7 -7
  145. package/dist/{server-node-events-C2mugatX.js → server-node-events-t5pGPXLD.js} +5 -5
  146. package/dist/{status-PADx9rG7.js → status-BXQGCrxj.js} +5 -5
  147. package/dist/{status-BTF6_aBO.js → status-cWLYsK8x.js} +1 -1
  148. package/dist/{status-BytVj4kU.js → status-kOpLSgWJ.js} +1 -1
  149. package/dist/{status-hgm5EhwS.js → status-s1Tp-jVl.js} +5 -5
  150. package/dist/{subagent-registry-BR2Qhqjf.js → subagent-registry-XHBZsH3Q.js} +5 -5
  151. package/dist/{system-cli-BMrwtPdR.js → system-cli-D10NhXw1.js} +3 -3
  152. package/dist/{system-cli-B_cCDKOu.js → system-cli-DPNDYRBr.js} +3 -3
  153. package/dist/{tui-0rURH3b3.js → tui-4d-MyU6O.js} +2 -2
  154. package/dist/{tui-cli-D3VMk5c8.js → tui-cli-9uTZZ13F.js} +3 -3
  155. package/dist/{tui-cli-hcbzeOtp.js → tui-cli-BsSKYVE3.js} +3 -3
  156. package/dist/{tui-CcirlGg5.js → tui-pvq_HI-q.js} +2 -2
  157. package/dist/{update-cli-CHr8rjf-.js → update-cli-B3VC_mrH.js} +12 -12
  158. package/dist/{update-cli-qacplfF4.js → update-cli-_1YRH17q.js} +13 -13
  159. package/dist/{update-runner-DM8zQvQB.js → update-runner-DBbX4Iin.js} +1 -1
  160. package/dist/{update-runner-DNA7FJa2.js → update-runner-Dsc1_XOK.js} +1 -1
  161. package/dist/{web-BKQnrqo-.js → web-CmZZsoMg.js} +1 -1
  162. package/dist/{web-CAnxcgBD.js → web-DjgeLZ5l.js} +6 -6
  163. package/dist/{web-DkQc82PT.js → web-DzjJ_iNt.js} +4 -4
  164. package/dist/{web-UroM-w6c.js → web-JIG-oxRW.js} +7 -7
  165. package/package.json +1 -1
@@ -10,11 +10,11 @@ import "./frontmatter-B8duUx_6.js";
10
10
  import "./skills-hAdgFdrv.js";
11
11
  import "./manifest-registry-Czr39pxG.js";
12
12
  import "./config-amjzHiWZ.js";
13
- import "./client-LeVQns9-.js";
14
- import "./call-BQiCOxB6.js";
13
+ import "./client-DMBZpU6X.js";
14
+ import "./call-BVw7l9v8.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-BR2Qhqjf.js";
17
+ import "./subagent-registry-XHBZsH3Q.js";
18
18
  import "./sessions-DJAxaVI7.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -94,24 +94,24 @@ import "./cli-utils-CCaEbxAz.js";
94
94
  import "./help-format-B0pWGnZs.js";
95
95
  import "./progress-BAHiAaDW.js";
96
96
  import "./replies-CTKReSzx.js";
97
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-CUQrf3zD.js";
97
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-Dsr4zKCb.js";
98
98
  import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-sIj1ZLt-.js";
100
100
  import "./pi-tools.policy-T6Z5F-_n.js";
101
101
  import "./note-DDecZomM.js";
102
- import "./register.subclis-CqEj9vfW.js";
103
- import "./command-registry-Cde2LqTh.js";
102
+ import "./register.subclis-68XcQ3ao.js";
103
+ import "./command-registry-OHfvK1Oq.js";
104
104
  import "./program-context-CqzR_m-7.js";
105
- import { r as installCompletion } from "./completion-cli-KJUTWJP3.js";
105
+ import { r as installCompletion } from "./completion-cli-D7iBY_Z-.js";
106
106
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B38pOixq.js";
107
107
  import "./runtime-guard-D7waq_Ho.js";
108
108
  import { r as isSystemdUserServiceAvailable } from "./systemd-DlMdyFDY.js";
109
109
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
110
- import { r as healthCommand } from "./health-UjXEBnzA.js";
110
+ import { r as healthCommand } from "./health-CYZdOaco.js";
111
111
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
112
112
  import { t as formatHealthCheckFailure } from "./health-format-CzgUHmmX.js";
113
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Vwi_je1c.js";
114
- import { t as runTui } from "./tui-0rURH3b3.js";
113
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B6R-Um0m.js";
114
+ import { t as runTui } from "./tui-4d-MyU6O.js";
115
115
  import os from "node:os";
116
116
  import path from "node:path";
117
117
  import fs from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { h as pathExists, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-B9o45s3E.js";
4
+ import "./reply-DI3kOl7x.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { p as restoreTerminalState } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -15,7 +15,7 @@ import "./message-channel-aT-I_DTX.js";
15
15
  import "./send-BVZGeP2r.js";
16
16
  import "./config-Dgn_cL29.js";
17
17
  import "./manifest-registry-C4BxOMWX.js";
18
- import "./runner-C0tJTZmp.js";
18
+ import "./runner-VHq3quQZ.js";
19
19
  import "./image-DrZEJQwQ.js";
20
20
  import "./models-config-u4va9_AO.js";
21
21
  import "./pi-model-discovery-4uUnLc3n.js";
@@ -53,7 +53,7 @@ import "./fetch-guard-DOPkVbh3.js";
53
53
  import "./api-key-rotation-BukD0zzl.js";
54
54
  import "./local-roots-aAFLQGkY.js";
55
55
  import "./sqlite-Dx3J_aSE.js";
56
- import "./model-catalog-DjJ9GtKX.js";
56
+ import "./model-catalog-CX8kAHv8.js";
57
57
  import "./tokens-BuceUQDl.js";
58
58
  import "./with-timeout-BeA4Jxcl.js";
59
59
  import "./deliver-2Y_F_0yh.js";
@@ -72,8 +72,8 @@ import "./ir-DZam9q5M.js";
72
72
  import "./render-CXDO_kgw.js";
73
73
  import "./commands-BNLCWX6e.js";
74
74
  import "./commands-registry-DyWjIe7d.js";
75
- import "./client-Cnoh7nRo.js";
76
- import "./call-BNyqFDDZ.js";
75
+ import "./client-CQSyCS4M.js";
76
+ import "./call-CJYWtIM9.js";
77
77
  import "./pairing-token-CX3NN_qj.js";
78
78
  import "./channel-activity-BOiuJS3t.js";
79
79
  import "./fetch-DTNGXEzX.js";
@@ -93,7 +93,7 @@ import "./outbound-attachment-D_QuKi8U.js";
93
93
  import "./delivery-queue-Df1uodAG.js";
94
94
  import "./session-cost-usage-BG4AXrGN.js";
95
95
  import "./send-B18gkuvz.js";
96
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-BuSj9DUm.js";
96
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-CYxzQfe5.js";
97
97
  import "./prompt-style-8JqOYj0q.js";
98
98
  import "./pairing-labels-B-WwqJ-z.js";
99
99
  import "./exec-approvals-Kn31mBcW.js";
@@ -103,17 +103,17 @@ import "./control-service-DMz_CcLi.js";
103
103
  import "./stagger-BUClb97_.js";
104
104
  import "./channel-selection-DuWs0Aak.js";
105
105
  import "./runtime-guard-B37eizu-.js";
106
- import "./program-context-QBBvnWFX.js";
106
+ import "./program-context-CIOqtCr8.js";
107
107
  import "./note-DeHoW7xO.js";
108
- import { r as installCompletion } from "./completion-cli-Cx9htCOm.js";
108
+ import { r as installCompletion } from "./completion-cli-DSHmAUFN.js";
109
109
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CjgoCPLb.js";
110
110
  import { r as isSystemdUserServiceAvailable } from "./systemd-riq8uNJQ.js";
111
111
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
112
- import { r as healthCommand } from "./health-Q1RP1M2f.js";
112
+ import { r as healthCommand } from "./health-CnH3J7xA.js";
113
113
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
114
114
  import { t as formatHealthCheckFailure } from "./health-format-DSwnXZPU.js";
115
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CrN6Ly8x.js";
116
- import { t as runTui } from "./tui-CcirlGg5.js";
115
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Db9Ka2VX.js";
116
+ import { t as runTui } from "./tui-pvq_HI-q.js";
117
117
  import os from "node:os";
118
118
  import path from "node:path";
119
119
  import fs from "node:fs/promises";
@@ -4,8 +4,8 @@ import "./agent-scope-D-jRCY0d.js";
4
4
  import "./github-copilot-token-DuFIqfeC.js";
5
5
  import "./manifest-registry-Czr39pxG.js";
6
6
  import "./config-amjzHiWZ.js";
7
- import "./client-LeVQns9-.js";
8
- import "./call-BQiCOxB6.js";
7
+ import "./client-DMBZpU6X.js";
8
+ import "./call-BVw7l9v8.js";
9
9
  import "./message-channel-C9dERklz.js";
10
10
  import "./pairing-token-Byh6drgn.js";
11
11
  import "./sessions-DJAxaVI7.js";
@@ -18,7 +18,7 @@ import { a as findTailscaleBinary } from "./tailscale-CbbvYNVw.js";
18
18
  import "./dock-DKxQXuAg.js";
19
19
  import "./accounts-D51FXYdA.js";
20
20
  import "./paths-DNdWAq7b.js";
21
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-CUQrf3zD.js";
21
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-Dsr4zKCb.js";
22
22
  import "./prompt-style-DwCXob2h.js";
23
23
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-B-xy96ST.js";
24
24
 
@@ -21,10 +21,10 @@ import "./accounts-DyJN4_vR.js";
21
21
  import "./bindings-DFaVVCsf.js";
22
22
  import "./logging-w5jq5901.js";
23
23
  import "./paths-CyhzMxFA.js";
24
- import "./client-Cnoh7nRo.js";
25
- import "./call-BNyqFDDZ.js";
24
+ import "./client-CQSyCS4M.js";
25
+ import "./call-CJYWtIM9.js";
26
26
  import "./pairing-token-CX3NN_qj.js";
27
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-BuSj9DUm.js";
27
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-CYxzQfe5.js";
28
28
  import "./prompt-style-8JqOYj0q.js";
29
29
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CxY-xbsH.js";
30
30
 
@@ -8,6 +8,6 @@ import "./model-selection-Csawd2_i.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./system-cli-BMrwtPdR.js";
11
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./system-cli-D10NhXw1.js";
12
12
 
13
13
  export { ensurePiAuthJsonFromAuthProfiles };
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  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-D0dzPf6g.js";
16
16
  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-De_WCeGZ.js";
17
- 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-CkjSfucB.js";
17
+ 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-CZF9f8aC.js";
18
18
  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-D0xmLpej.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  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-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  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-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, 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, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, 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 deliveryContextKey, 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 resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BmYZe8o8.js";
25
+ import { $ as mergeDeliveryContext, 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, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, 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 deliveryContextKey, 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 resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers--yFTAWwW.js";
26
26
  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-BjGo9GnL.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-B_zrSLce.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-h6BnL8Lp.js";
29
29
  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-BNpGMnp-.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- 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-CSeAnozE.js";
39
+ 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-DOnOTocl.js";
40
40
  import { n as resolveMemorySearchConfig } from "./manager-oiX42wby.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
49
  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-Copoizgv.js";
50
50
  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-DWcJOIzP.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- 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-CJJY2r19.js";
52
+ 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-uDZlTCm2.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
82
+ import WebSocket$1, { WebSocket } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5304,7 +5304,8 @@ const ChatHistoryParamsSchema = Type.Object({
5304
5304
  limit: Type.Optional(Type.Integer({
5305
5305
  minimum: 1,
5306
5306
  maximum: 1e3
5307
- }))
5307
+ })),
5308
+ before: Type.Optional(Type.Integer({ minimum: 0 }))
5308
5309
  }, { additionalProperties: false });
5309
5310
  const ChatSendParamsSchema = Type.Object({
5310
5311
  sessionKey: NonEmptyString,
@@ -5713,7 +5714,7 @@ var GatewayClient = class {
5713
5714
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5714
5715
  });
5715
5716
  }
5716
- this.ws = new WebSocket$1(url, wsOptions);
5717
+ this.ws = new WebSocket(url, wsOptions);
5717
5718
  this.ws.on("open", () => {
5718
5719
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5719
5720
  const tlsError = this.validateTlsFingerprint();
@@ -5932,7 +5933,7 @@ var GatewayClient = class {
5932
5933
  return null;
5933
5934
  }
5934
5935
  async request(method, params, opts) {
5935
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5936
5937
  const id = randomUUID();
5937
5938
  const frame = {
5938
5939
  type: "req",
@@ -7198,7 +7199,7 @@ async function routeReply(params) {
7198
7199
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7199
7200
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7200
7201
  try {
7201
- const { deliverOutboundPayloads } = await import("./deliver-CkjSfucB.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-CZF9f8aC.js").then((n) => n.n);
7202
7203
  return {
7203
7204
  ok: true,
7204
7205
  messageId: (await deliverOutboundPayloads({
@@ -41571,7 +41572,7 @@ async function deliverSessionMaintenanceWarning(params) {
41571
41572
  return;
41572
41573
  }
41573
41574
  try {
41574
- const { deliverOutboundPayloads } = await import("./deliver-CkjSfucB.js").then((n) => n.n);
41575
+ const { deliverOutboundPayloads } = await import("./deliver-CZF9f8aC.js").then((n) => n.n);
41575
41576
  await deliverOutboundPayloads({
41576
41577
  cfg: params.cfg,
41577
41578
  channel,
@@ -45014,7 +45015,7 @@ async function describeStickerImage(params) {
45014
45015
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45015
45016
  try {
45016
45017
  const buffer = await fs$1.readFile(imagePath);
45017
- const { describeImageWithModel } = await import("./image-CSeAnozE.js").then((n) => n.n);
45018
+ const { describeImageWithModel } = await import("./image-DOnOTocl.js").then((n) => n.n);
45018
45019
  return (await describeImageWithModel({
45019
45020
  buffer,
45020
45021
  fileName: "sticker.webp",
@@ -47475,7 +47476,7 @@ async function preflightDiscordMessage(params) {
47475
47476
  let preflightTranscript;
47476
47477
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47477
47478
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47478
- const { transcribeFirstAudio } = await import("./audio-preflight-B8ffbICW.js");
47479
+ const { transcribeFirstAudio } = await import("./audio-preflight-Cq4C-m27.js");
47479
47480
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47480
47481
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47481
47482
  ctx: {
@@ -51481,7 +51482,7 @@ function isVoiceChannelType(type) {
51481
51482
  function createDefaultDeps() {
51482
51483
  return {
51483
51484
  sendMessageWhatsApp: async (...args) => {
51484
- const { sendMessageWhatsApp } = await import("./web-CAnxcgBD.js");
51485
+ const { sendMessageWhatsApp } = await import("./web-DjgeLZ5l.js");
51485
51486
  return await sendMessageWhatsApp(...args);
51486
51487
  },
51487
51488
  sendMessageTelegram: async (...args) => {
@@ -54385,7 +54386,7 @@ function createDiscordGatewayPlugin(params) {
54385
54386
  super(options);
54386
54387
  }
54387
54388
  createWebSocket(url) {
54388
- return new WebSocket(url, { agent });
54389
+ return new WebSocket$1(url, { agent });
54389
54390
  }
54390
54391
  }
54391
54392
  return new ProxyGatewayPlugin();
@@ -64603,7 +64604,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64603
64604
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64604
64605
  let preflightTranscript;
64605
64606
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64606
- const { transcribeFirstAudio } = await import("./audio-preflight-B8ffbICW.js");
64607
+ const { transcribeFirstAudio } = await import("./audio-preflight-Cq4C-m27.js");
64607
64608
  preflightTranscript = await transcribeFirstAudio({
64608
64609
  ctx: {
64609
64610
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66760,7 +66761,7 @@ function loadWebLoginQr() {
66760
66761
  return webLoginQrPromise;
66761
66762
  }
66762
66763
  function loadWebChannel() {
66763
- webChannelPromise ??= import("./web-CAnxcgBD.js");
66764
+ webChannelPromise ??= import("./web-DjgeLZ5l.js");
66764
66765
  return webChannelPromise;
66765
66766
  }
66766
66767
  function loadWhatsAppActions() {
@@ -5306,7 +5306,8 @@ const ChatHistoryParamsSchema = Type.Object({
5306
5306
  limit: Type.Optional(Type.Integer({
5307
5307
  minimum: 1,
5308
5308
  maximum: 1e3
5309
- }))
5309
+ })),
5310
+ before: Type.Optional(Type.Integer({ minimum: 0 }))
5310
5311
  }, { additionalProperties: false });
5311
5312
  const ChatSendParamsSchema = Type.Object({
5312
5313
  sessionKey: NonEmptyString,
@@ -51483,7 +51484,7 @@ function isVoiceChannelType(type) {
51483
51484
  function createDefaultDeps() {
51484
51485
  return {
51485
51486
  sendMessageWhatsApp: async (...args) => {
51486
- const { sendMessageWhatsApp } = await import("./web-BKQnrqo-.js");
51487
+ const { sendMessageWhatsApp } = await import("./web-CmZZsoMg.js");
51487
51488
  return await sendMessageWhatsApp(...args);
51488
51489
  },
51489
51490
  sendMessageTelegram: async (...args) => {
@@ -66762,7 +66763,7 @@ function loadWebLoginQr() {
66762
66763
  return webLoginQrPromise;
66763
66764
  }
66764
66765
  function loadWebChannel() {
66765
- webChannelPromise ??= import("./web-BKQnrqo-.js");
66766
+ webChannelPromise ??= import("./web-CmZZsoMg.js");
66766
66767
  return webChannelPromise;
66767
66768
  }
66768
66769
  function loadWhatsAppActions() {
@@ -10,7 +10,7 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
12
12
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BjGo9GnL.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-B_zrSLce.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-h6BnL8Lp.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-s-d46DCX.js");
934
+ return await import("./pw-ai-C_C5as1t.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveSymiUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-s-d46DCX.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-C_C5as1t.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-s-d46DCX.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-C_C5as1t.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { gt as loadSymiPlugins } from "./reply-B9o45s3E.js";
2
+ import { gt as loadSymiPlugins } from "./reply-DI3kOl7x.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { i as loadConfig } from "./config-amjzHiWZ.js";
5
- import { _ as loadSymiPlugins } from "./subagent-registry-BR2Qhqjf.js";
5
+ import { _ as loadSymiPlugins } from "./subagent-registry-XHBZsH3Q.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-EEvLfWgt.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-CjWIATx5.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
5
  import { n as loadConfig } from "./config-Do1-fcaS.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
@@ -14,6 +14,7 @@ export declare const LogsTailResultSchema: import("@sinclair/typebox").TObject<{
14
14
  export declare const ChatHistoryParamsSchema: import("@sinclair/typebox").TObject<{
15
15
  sessionKey: import("@sinclair/typebox").TString;
16
16
  limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
17
+ before: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
17
18
  }>;
18
19
  export declare const ChatSendParamsSchema: import("@sinclair/typebox").TObject<{
19
20
  sessionKey: import("@sinclair/typebox").TString;
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
3
- import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-EEvLfWgt.js";
3
+ import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-CjWIATx5.js";
4
4
  import "./paths-DR2yt_mP.js";
5
5
  import "./github-copilot-token-D9X2phUj.js";
6
6
  import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
@@ -47,7 +47,7 @@ import "./paths-A0xdf3yk.js";
47
47
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-mFf4i4G9.js";
48
48
  import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
49
49
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
50
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-xXTpy0N_.js";
50
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-BUTyAx0r.js";
51
51
  import "./image-k_W1USVr.js";
52
52
  import "./pi-model-discovery-LbcEa65a.js";
53
53
  import "./api-key-rotation-Qy7QGV8_.js";
@@ -3788,7 +3788,8 @@ const ChatHistoryParamsSchema = Type.Object({
3788
3788
  limit: Type.Optional(Type.Integer({
3789
3789
  minimum: 1,
3790
3790
  maximum: 1e3
3791
- }))
3791
+ })),
3792
+ before: Type.Optional(Type.Integer({ minimum: 0 }))
3792
3793
  }, { additionalProperties: false });
3793
3794
  const ChatSendParamsSchema = Type.Object({
3794
3795
  sessionKey: NonEmptyString,
@@ -26834,7 +26835,7 @@ async function runWithImageModelFallback(params) {
26834
26835
  function createDefaultDeps() {
26835
26836
  return {
26836
26837
  sendMessageWhatsApp: async (...args) => {
26837
- const { sendMessageWhatsApp } = await import("./web-COWtpMAH.js");
26838
+ const { sendMessageWhatsApp } = await import("./web-C1q3B85D.js");
26838
26839
  return await sendMessageWhatsApp(...args);
26839
26840
  },
26840
26841
  sendMessageTelegram: async (...args) => {
@@ -44457,7 +44458,7 @@ function loadWebLoginQr() {
44457
44458
  return webLoginQrPromise;
44458
44459
  }
44459
44460
  function loadWebChannel() {
44460
- webChannelPromise ??= import("./web-COWtpMAH.js");
44461
+ webChannelPromise ??= import("./web-C1q3B85D.js");
44461
44462
  return webChannelPromise;
44462
44463
  }
44463
44464
  function loadWhatsAppActions() {
@@ -1,5 +1,5 @@
1
1
  import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
2
- import "./reply-EEvLfWgt.js";
2
+ import "./reply-CjWIATx5.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -45,7 +45,7 @@ import "./pi-embedded-helpers-Cs2-_EpL.js";
45
45
  import "./paths-A0xdf3yk.js";
46
46
  import "./diagnostic-mFf4i4G9.js";
47
47
  import "./store-Do3t33-c.js";
48
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-xXTpy0N_.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-BUTyAx0r.js";
49
49
  import "./image-k_W1USVr.js";
50
50
  import "./pi-model-discovery-LbcEa65a.js";
51
51
  import "./api-key-rotation-Qy7QGV8_.js";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-B9o45s3E.js";
4
+ import "./reply-DI3kOl7x.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -14,7 +14,7 @@ import "./message-channel-aT-I_DTX.js";
14
14
  import "./send-BVZGeP2r.js";
15
15
  import { i as loadConfig, l as writeConfigFile } from "./config-Dgn_cL29.js";
16
16
  import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-C4BxOMWX.js";
17
- import "./runner-C0tJTZmp.js";
17
+ import "./runner-VHq3quQZ.js";
18
18
  import "./image-DrZEJQwQ.js";
19
19
  import "./models-config-u4va9_AO.js";
20
20
  import "./pi-model-discovery-4uUnLc3n.js";
@@ -52,7 +52,7 @@ import "./fetch-guard-DOPkVbh3.js";
52
52
  import "./api-key-rotation-BukD0zzl.js";
53
53
  import "./local-roots-aAFLQGkY.js";
54
54
  import "./sqlite-Dx3J_aSE.js";
55
- import "./model-catalog-DjJ9GtKX.js";
55
+ import "./model-catalog-CX8kAHv8.js";
56
56
  import "./tokens-BuceUQDl.js";
57
57
  import "./with-timeout-BeA4Jxcl.js";
58
58
  import "./deliver-2Y_F_0yh.js";
@@ -71,8 +71,8 @@ import "./ir-DZam9q5M.js";
71
71
  import "./render-CXDO_kgw.js";
72
72
  import "./commands-BNLCWX6e.js";
73
73
  import "./commands-registry-DyWjIe7d.js";
74
- import "./client-Cnoh7nRo.js";
75
- import "./call-BNyqFDDZ.js";
74
+ import "./client-CQSyCS4M.js";
75
+ import "./call-CJYWtIM9.js";
76
76
  import "./pairing-token-CX3NN_qj.js";
77
77
  import "./channel-activity-BOiuJS3t.js";
78
78
  import "./fetch-DTNGXEzX.js";
@@ -92,7 +92,7 @@ import "./outbound-attachment-D_QuKi8U.js";
92
92
  import "./delivery-queue-Df1uodAG.js";
93
93
  import "./session-cost-usage-BG4AXrGN.js";
94
94
  import "./send-B18gkuvz.js";
95
- import "./onboard-helpers-BuSj9DUm.js";
95
+ import "./onboard-helpers-CYxzQfe5.js";
96
96
  import "./prompt-style-8JqOYj0q.js";
97
97
  import "./pairing-labels-B-WwqJ-z.js";
98
98
  import "./exec-approvals-Kn31mBcW.js";
@@ -106,7 +106,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
106
106
  import "./skill-scanner-CLs8u6vQ.js";
107
107
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-C1Cebk97.js";
108
108
  import { t as renderTable } from "./table-BTgkRafz.js";
109
- import { t as buildPluginStatusReport } from "./status-BytVj4kU.js";
109
+ import { t as buildPluginStatusReport } from "./status-kOpLSgWJ.js";
110
110
  import { n as updateNpmInstalledPlugins } from "./update-rw7wJwHd.js";
111
111
  import fs from "node:fs";
112
112
  import os from "node:os";
@@ -9,11 +9,11 @@ import "./frontmatter-B8duUx_6.js";
9
9
  import "./skills-hAdgFdrv.js";
10
10
  import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-Czr39pxG.js";
11
11
  import { i as loadConfig, l as writeConfigFile } from "./config-amjzHiWZ.js";
12
- import "./client-LeVQns9-.js";
13
- import "./call-BQiCOxB6.js";
12
+ import "./client-DMBZpU6X.js";
13
+ import "./call-BVw7l9v8.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-BR2Qhqjf.js";
16
+ import "./subagent-registry-XHBZsH3Q.js";
17
17
  import "./sessions-DJAxaVI7.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -93,7 +93,7 @@ import "./cli-utils-CCaEbxAz.js";
93
93
  import "./help-format-B0pWGnZs.js";
94
94
  import "./progress-BAHiAaDW.js";
95
95
  import "./replies-CTKReSzx.js";
96
- import "./onboard-helpers-CUQrf3zD.js";
96
+ import "./onboard-helpers-Dsr4zKCb.js";
97
97
  import "./prompt-style-DwCXob2h.js";
98
98
  import "./pairing-labels-sIj1ZLt-.js";
99
99
  import "./pi-tools.policy-T6Z5F-_n.js";
@@ -102,7 +102,7 @@ import "./npm-registry-spec-DkaZNHAW.js";
102
102
  import "./skill-scanner-BGWOBqLY.js";
103
103
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgQpVncj.js";
104
104
  import { t as renderTable } from "./table-D01d2GuY.js";
105
- import { t as buildPluginStatusReport } from "./status-BTF6_aBO.js";
105
+ import { t as buildPluginStatusReport } from "./status-cWLYsK8x.js";
106
106
  import { n as updateNpmInstalledPlugins } from "./update-DEMKx4eC.js";
107
107
  import os from "node:os";
108
108
  import path from "node:path";