@symerian/symi 2.4.3 → 2.5.0

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 (178) hide show
  1. package/dist/{agents-BrpbYYTb.js → agents-BEPfMqrg.js} +4 -4
  2. package/dist/{agents.config-j4SWyB6K.js → agents.config-D60gMagv.js} +1 -1
  3. package/dist/{agents.config-Bf8u_0ts.js → agents.config-DPv-AmZD.js} +1 -1
  4. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  5. package/dist/{auth-choice-BYB9fJiu.js → auth-choice-BeHaRQfM.js} +1 -1
  6. package/dist/{auth-choice-DlrjQI-v.js → auth-choice-CTeG2A5P.js} +1 -1
  7. package/dist/{banner-DRJJmkv1.js → banner-DihS8WHF.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +1 -1
  10. package/dist/bundled/session-memory/handler.js +1 -1
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-CxSIp3x-.js → channel-options-BJphNYiq.js} +1 -1
  13. package/dist/{channel-options-BQz0F4El.js → channel-options-D2Zf6a2L.js} +1 -1
  14. package/dist/{channel-web-BY4lhNxW.js → channel-web-BnZ6c0_u.js} +1 -1
  15. package/dist/{channels-cli-B5Nj_nHr.js → channels-cli-CF9LDCSC.js} +10 -10
  16. package/dist/{channels-cli--rkhLJvR.js → channels-cli-COMko9mZ.js} +4 -4
  17. package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
  18. package/dist/{cli-Ds6poYQ6.js → cli-DXpAHJS4.js} +1 -1
  19. package/dist/{cli-CATf6JAq.js → cli-DYNTJxmZ.js} +7 -7
  20. package/dist/{command-registry-CsDAPQfS.js → command-registry-X_FmrHib.js} +9 -9
  21. package/dist/{completion-cli-B_f5PMBc.js → completion-cli-D1aObtjM.js} +1 -1
  22. package/dist/{completion-cli-CSdjFWHy.js → completion-cli-Dhj0jCR_.js} +2 -2
  23. package/dist/{config-cli-C_GarUko.js → config-cli-BDpBT1b-.js} +1 -1
  24. package/dist/{config-cli-B_KCvdli.js → config-cli-BrmaXVj4.js} +1 -1
  25. package/dist/{configure-vfmJApU8.js → configure-CkCFJCKp.js} +3 -3
  26. package/dist/{configure-CM-z8YCS.js → configure-oMqP6jIk.js} +3 -3
  27. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  28. package/dist/{deliver-CceEhg3d.js → deliver-CWR_98sK.js} +54 -54
  29. package/dist/{doctor-completion-BWJvfjTC.js → doctor-completion-vhqAoURB.js} +1 -1
  30. package/dist/{doctor-completion-llX6EnGy.js → doctor-completion-wGoyzRH8.js} +1 -1
  31. package/dist/entry.js +1 -1
  32. package/dist/extensionAPI.js +6 -6
  33. package/dist/{gateway-cli-BApdH1bD.js → gateway-cli-BBPEwiAc.js} +9 -9
  34. package/dist/{gateway-cli-70k2-I4K.js → gateway-cli-uDuGdJsH.js} +17 -17
  35. package/dist/{glass-ui-ws-Z_wtGa_A.js → glass-ui-ws-DiqQflvy.js} +7 -7
  36. package/dist/{glass-ui-ws-Be_AOhp7.js → glass-ui-ws-TCkne4L4.js} +13 -13
  37. package/dist/{health-BBGgp_dC.js → health-1KsVR3eN.js} +2 -2
  38. package/dist/{health-BmaWws9G.js → health-CPYlV7Zg.js} +1 -1
  39. package/dist/{hooks-cli-C5eV9sxP.js → hooks-cli-CL266d2E.js} +8 -8
  40. package/dist/{hooks-cli-W_aoP9nb.js → hooks-cli-PKy2h3eb.js} +2 -2
  41. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  42. package/dist/index.js +12 -12
  43. package/dist/llm-slug-generator.js +1 -1
  44. package/dist/{models-COaQWNz5.js → models-BsS_l1gY.js} +2 -2
  45. package/dist/{models-cli-DeG1qheS.js → models-cli-CmR7k-2e.js} +8 -8
  46. package/dist/{models-cli-DH17yK8M.js → models-cli-CvxkLybz.js} +3 -3
  47. package/dist/{onboard-1wGdR0wt.js → onboard-Bgo_BcMo.js} +2 -2
  48. package/dist/{onboard-nQYq_dsr.js → onboard-D2GpwLzg.js} +2 -2
  49. package/dist/{onboard-channels-D93AAHMd.js → onboard-channels-3WFDi7Ts.js} +1 -1
  50. package/dist/{onboard-channels-BCUkNB26.js → onboard-channels-BNTeFCna.js} +1 -1
  51. package/dist/{onboarding-Peg7PNOz.js → onboarding-BUumoJYB.js} +3 -3
  52. package/dist/{onboarding-gQRA57l_.js → onboarding-CbkyewZp.js} +3 -3
  53. package/dist/{onboarding.finalize-C4DSBMrV.js → onboarding.finalize-B2_mgA4K.js} +6 -6
  54. package/dist/{onboarding.finalize-D26o-hBA.js → onboarding.finalize-sESCY9Iq.js} +11 -11
  55. package/dist/{pi-embedded-XE5y7qIF.js → pi-embedded-BIIdwXKr.js} +24743 -24406
  56. package/dist/{pi-embedded-CAJ6egA1.js → pi-embedded-BOF7XlCO.js} +24751 -24414
  57. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  58. package/dist/{plugin-registry-D_BAH1V5.js → plugin-registry-BDfC2z-e.js} +1 -1
  59. package/dist/{plugin-registry-C0iHnZ7j.js → plugin-registry-IXa-nyg0.js} +1 -1
  60. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  61. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  62. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  63. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  64. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  65. package/dist/plugin-sdk/agents/output-normalizer.d.ts +69 -0
  66. package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +1 -1
  67. package/dist/plugin-sdk/agents/unified-runner.d.ts +122 -0
  68. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
  69. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
  70. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  71. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  72. package/dist/plugin-sdk/{channel-web-ilY3YUmF.js → channel-web-HznAZS1r.js} +22 -22
  73. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
  74. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  75. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  76. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
  77. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
  78. package/dist/plugin-sdk/{deliver-BUns_L9e.js → deliver-BZ99UKQq.js} +125 -125
  79. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  80. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
  81. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  82. package/dist/plugin-sdk/index.js +53 -53
  83. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  84. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  85. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
  86. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
  87. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
  88. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  89. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  90. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  91. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
  92. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
  93. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  94. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
  95. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
  96. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  97. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
  98. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  99. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  100. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
  101. package/dist/plugin-sdk/{reply-CSgeVqcV.js → reply-DpnW-aMb.js} +40129 -39792
  102. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  103. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  104. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  105. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  106. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
  107. package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
  108. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
  109. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
  110. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
  111. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
  112. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
  113. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
  114. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  115. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  116. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  117. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  118. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  119. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  120. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  121. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  122. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  123. package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-BVA6fax-.js} +2 -2
  124. package/dist/plugin-sdk/web-CGNEXRkp.js +65 -0
  125. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
  126. package/dist/{plugins-cli-LqQNHF1I.js → plugins-cli-DAxj0T7n.js} +2 -2
  127. package/dist/{plugins-cli-BhOXY_Ay.js → plugins-cli-DsYvb9az.js} +8 -8
  128. package/dist/{program-Bx47hl_J.js → program-C_UFd0ph.js} +7 -7
  129. package/dist/{program-context-JFmxYLfK.js → program-context-C-1s9IMf.js} +17 -17
  130. package/dist/{prompt-select-styled-BeJhp9PS.js → prompt-select-styled-CYRG7OzR.js} +4 -4
  131. package/dist/{prompt-select-styled--d3H0JCo.js → prompt-select-styled-uEjL8GAK.js} +4 -4
  132. package/dist/{provider-auth-helpers-Ds_HwlgY.js → provider-auth-helpers-CJUiVhCt.js} +1 -1
  133. package/dist/{provider-auth-helpers-BzczCfh8.js → provider-auth-helpers-CpOR6tLS.js} +1 -1
  134. package/dist/{push-apns-CT8-VcK5.js → push-apns-21LKYvkS.js} +1 -1
  135. package/dist/{push-apns-DvcqkHld.js → push-apns-Ciljlk7J.js} +1 -1
  136. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  137. package/dist/{register.agent-DMvHFw16.js → register.agent-BSv7WO-U.js} +6 -6
  138. package/dist/{register.agent-yoXoJ_5O.js → register.agent-stsk6Gip.js} +11 -11
  139. package/dist/{register.configure-BqrNBkwZ.js → register.configure-C8oDtnaI.js} +12 -12
  140. package/dist/{register.configure-B8UDTEcS.js → register.configure-DNQTd6SJ.js} +6 -6
  141. package/dist/{register.maintenance-CvaHYkoX.js → register.maintenance-B3f3jkUo.js} +13 -13
  142. package/dist/{register.maintenance-CYhp47Hs.js → register.maintenance-dTI3y4Eh.js} +8 -8
  143. package/dist/{register.message-CgtrjEFw.js → register.message-Cbb4nH_0.js} +8 -8
  144. package/dist/{register.message-BnLBwUw9.js → register.message-K9BDeFyy.js} +2 -2
  145. package/dist/{register.onboard-mCscJN7t.js → register.onboard-BBfmwa3j.js} +10 -10
  146. package/dist/{register.onboard-CoySBEdQ.js → register.onboard-Djz7Di9K.js} +4 -4
  147. package/dist/{register.setup-BmE-pwMT.js → register.setup-B6hkCLH0.js} +4 -4
  148. package/dist/{register.setup-CzrsIQMG.js → register.setup-Dmu1jt3n.js} +10 -10
  149. package/dist/{register.status-health-sessions-CP7JWQHw.js → register.status-health-sessions-CvwhBkbb.js} +3 -3
  150. package/dist/{register.status-health-sessions-DhTfQ530.js → register.status-health-sessions-DaSrMm3l.js} +9 -9
  151. package/dist/{register.subclis-wsgQ6wk8.js → register.subclis-Dv1WM9Kj.js} +9 -9
  152. package/dist/{reply-DkwaBRX-.js → reply-BvVsPU7v.js} +39623 -39286
  153. package/dist/{run-main-mKcFqx7h.js → run-main-55CDVAv6.js} +14 -14
  154. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  155. package/dist/{send-CXxQ_f7L.js → send-DWYkPSUs.js} +1 -1
  156. package/dist/{send-tanEMpHN.js → send-DkfYiRx5.js} +1 -1
  157. package/dist/{server-methods-CbeCo-6O.js → server-methods-Bf8SpXoW.js} +10 -10
  158. package/dist/{server-methods-EQ0JkHOg.js → server-methods-CDDLS3ke.js} +7 -7
  159. package/dist/{server-node-events-C1FDqJb9.js → server-node-events-B9iZK3qE.js} +8 -8
  160. package/dist/{server-node-events-CBHpc_25.js → server-node-events-Dx0L419d.js} +2 -2
  161. package/dist/{status-jVJSC_Ga.js → status-5XgxbiNb.js} +1 -1
  162. package/dist/{status-Cksz7z4T.js → status-C-kU0UFm.js} +1 -1
  163. package/dist/{status-CnogoaI_.js → status-C-vthqzQ.js} +2 -2
  164. package/dist/{status-B1r3Wp0-.js → status-DEymUALi.js} +2 -2
  165. package/dist/{subagent-registry-Jwg44JMf.js → subagent-registry-CZah-77E.js} +24597 -24260
  166. package/dist/{update-cli-C22V-tFW.js → update-cli-B21iNb0v.js} +13 -13
  167. package/dist/{update-cli-BEBDpJF4.js → update-cli-BSk-OFnI.js} +8 -8
  168. package/dist/{update-runner-le1Hcqx4.js → update-runner-B5bKK21U.js} +1 -1
  169. package/dist/{update-runner-BQg__DB5.js → update-runner-DPwXk0QQ.js} +1 -1
  170. package/dist/{web-BSs2eYJa.js → web-CB23XCVF.js} +8 -8
  171. package/dist/{web-CviyqTad.js → web-DSgWG_2m.js} +1 -1
  172. package/dist/{web-KYh3LgI0.js → web-DVvZ_mDC.js} +6 -6
  173. package/dist/{web-DajtZMaX.js → web-mkZpWfVs.js} +1 -1
  174. package/package.json +1 -1
  175. package/dist/plugin-sdk/web-BVg5EjiY.js +0 -65
  176. /package/dist/{delivery-queue-Df1uodAG.js → delivery-queue-CxuV9EeG.js} +0 -0
  177. /package/dist/{outbound-attachment-D_QuKi8U.js → outbound-attachment-mQQiYZ3C.js} +0 -0
  178. /package/dist/{session-cost-usage-BG4AXrGN.js → session-cost-usage-UxUgrslM.js} +0 -0
@@ -10,8 +10,8 @@ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
10
10
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
11
11
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-1dhPX1NK.js";
12
12
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
13
- import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-tanEMpHN.js";
14
- import { i as failDelivery, r as enqueueDelivery, t as ackDelivery } from "./delivery-queue-Df1uodAG.js";
13
+ import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-DkfYiRx5.js";
14
+ import { i as failDelivery, r as enqueueDelivery, t as ackDelivery } from "./delivery-queue-CxuV9EeG.js";
15
15
 
16
16
  //#region src/plugins/hooks.ts
17
17
  /**
@@ -419,57 +419,6 @@ async function runGlobalGatewayStopSafely(params) {
419
419
  }
420
420
  }
421
421
 
422
- //#endregion
423
- //#region src/channels/plugins/media-limits.ts
424
- const MB = 1024 * 1024;
425
- function resolveChannelMediaMaxBytes(params) {
426
- const accountId = normalizeAccountId(params.accountId);
427
- const channelLimit = params.resolveChannelLimitMb({
428
- cfg: params.cfg,
429
- accountId
430
- });
431
- if (channelLimit) return channelLimit * MB;
432
- if (params.cfg.agents?.defaults?.mediaMaxMb) return params.cfg.agents.defaults.mediaMaxMb * MB;
433
- }
434
-
435
- //#endregion
436
- //#region src/channels/plugins/outbound/load.ts
437
- const cache = /* @__PURE__ */ new Map();
438
- let lastRegistry = null;
439
- function ensureCacheForRegistry(registry) {
440
- if (registry === lastRegistry) return;
441
- cache.clear();
442
- lastRegistry = registry;
443
- }
444
- async function loadChannelOutboundAdapter(id) {
445
- const registry = getActivePluginRegistry();
446
- ensureCacheForRegistry(registry);
447
- const cached = cache.get(id);
448
- if (cached) return cached;
449
- const outbound = (registry?.channels.find((entry) => entry.plugin.id === id))?.plugin.outbound;
450
- if (outbound) {
451
- cache.set(id, outbound);
452
- return outbound;
453
- }
454
- }
455
-
456
- //#endregion
457
- //#region src/infra/outbound/abort.ts
458
- /**
459
- * Utility for checking AbortSignal state and throwing a standard AbortError.
460
- */
461
- /**
462
- * Throws an AbortError if the given signal has been aborted.
463
- * Use at async checkpoints to support cancellation.
464
- */
465
- function throwIfAborted(abortSignal) {
466
- if (abortSignal?.aborted) {
467
- const err = /* @__PURE__ */ new Error("Operation aborted");
468
- err.name = "AbortError";
469
- throw err;
470
- }
471
- }
472
-
473
422
  //#endregion
474
423
  //#region src/utils/directive-tags.ts
475
424
  const AUDIO_TAG_RE = /\[\[\s*audio_as_voice\s*\]\]/gi;
@@ -718,6 +667,57 @@ function hashSignature(value) {
718
667
  return (hash >>> 0).toString(36);
719
668
  }
720
669
 
670
+ //#endregion
671
+ //#region src/channels/plugins/media-limits.ts
672
+ const MB = 1024 * 1024;
673
+ function resolveChannelMediaMaxBytes(params) {
674
+ const accountId = normalizeAccountId(params.accountId);
675
+ const channelLimit = params.resolveChannelLimitMb({
676
+ cfg: params.cfg,
677
+ accountId
678
+ });
679
+ if (channelLimit) return channelLimit * MB;
680
+ if (params.cfg.agents?.defaults?.mediaMaxMb) return params.cfg.agents.defaults.mediaMaxMb * MB;
681
+ }
682
+
683
+ //#endregion
684
+ //#region src/channels/plugins/outbound/load.ts
685
+ const cache = /* @__PURE__ */ new Map();
686
+ let lastRegistry = null;
687
+ function ensureCacheForRegistry(registry) {
688
+ if (registry === lastRegistry) return;
689
+ cache.clear();
690
+ lastRegistry = registry;
691
+ }
692
+ async function loadChannelOutboundAdapter(id) {
693
+ const registry = getActivePluginRegistry();
694
+ ensureCacheForRegistry(registry);
695
+ const cached = cache.get(id);
696
+ if (cached) return cached;
697
+ const outbound = (registry?.channels.find((entry) => entry.plugin.id === id))?.plugin.outbound;
698
+ if (outbound) {
699
+ cache.set(id, outbound);
700
+ return outbound;
701
+ }
702
+ }
703
+
704
+ //#endregion
705
+ //#region src/infra/outbound/abort.ts
706
+ /**
707
+ * Utility for checking AbortSignal state and throwing a standard AbortError.
708
+ */
709
+ /**
710
+ * Throws an AbortError if the given signal has been aborted.
711
+ * Use at async checkpoints to support cancellation.
712
+ */
713
+ function throwIfAborted(abortSignal) {
714
+ if (abortSignal?.aborted) {
715
+ const err = /* @__PURE__ */ new Error("Operation aborted");
716
+ err.name = "AbortError";
717
+ throw err;
718
+ }
719
+ }
720
+
721
721
  //#endregion
722
722
  //#region src/auto-reply/reply/reply-tags.ts
723
723
  function extractReplyToTag(text, currentMessageId) {
@@ -1267,4 +1267,4 @@ async function deliverOutboundPayloadsCore(params) {
1267
1267
  }
1268
1268
 
1269
1269
  //#endregion
1270
- export { getGlobalHookRunner as C, throwIfAborted as S, runGlobalGatewayStopSafely as T, normalizeTargetForProvider as _, normalizeOutboundPayloadsForJson as a, splitMediaFromOutput as b, applyReplyThreading as c, isRenderablePayload as d, shouldSuppressMessagingToolReplies as f, normalizeChannelTargetInput as g, buildTargetResolverSignature as h, normalizeOutboundPayloads as i, filterMessagingToolDuplicates as l, resolveReplyToMode as m, deliver_exports as n, normalizeReplyPayloadsForDelivery as o, createReplyToModeFilterForChannel as p, formatOutboundPayloadLog as r, applyReplyTagsToPayload as s, deliverOutboundPayloads as t, filterMessagingToolMediaDuplicates as u, parseReplyDirectives as v, initializeGlobalHookRunner as w, parseInlineDirectives as x, MEDIA_TOKEN_RE as y };
1270
+ export { getGlobalHookRunner as C, parseInlineDirectives as S, runGlobalGatewayStopSafely as T, normalizeChannelTargetInput as _, normalizeOutboundPayloadsForJson as a, MEDIA_TOKEN_RE as b, applyReplyThreading as c, isRenderablePayload as d, shouldSuppressMessagingToolReplies as f, buildTargetResolverSignature as g, throwIfAborted as h, normalizeOutboundPayloads as i, filterMessagingToolDuplicates as l, resolveReplyToMode as m, deliver_exports as n, normalizeReplyPayloadsForDelivery as o, createReplyToModeFilterForChannel as p, formatOutboundPayloadLog as r, applyReplyTagsToPayload as s, deliverOutboundPayloads as t, filterMessagingToolMediaDuplicates as u, normalizeTargetForProvider as v, initializeGlobalHookRunner as w, splitMediaFromOutput as x, parseReplyDirectives as y };
@@ -1,7 +1,7 @@
1
1
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
2
2
  import { r as resolveCliName } from "./command-format-COaS-S7B.js";
3
3
  import { t as note } from "./note-DeHoW7xO.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-B_f5PMBc.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-D1aObtjM.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { r as resolveCliName } from "./command-format-BtYOfWxC.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
3
3
  import { t as note } from "./note-DDecZomM.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CSdjFWHy.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Dhj0jCR_.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
package/dist/entry.js CHANGED
@@ -2500,7 +2500,7 @@ if (!ensureExperimentalWarningSuppressed()) {
2500
2500
  applyCliProfileEnv({ profile: parsed.profile });
2501
2501
  process$1.argv = parsed.argv;
2502
2502
  }
2503
- import("./run-main-mKcFqx7h.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2503
+ import("./run-main-55CDVAv6.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2504
2504
  console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2505
2505
  process$1.exitCode = 1;
2506
2506
  });
@@ -7,13 +7,13 @@ import { a as resolveAgentIdentity } from "./reply-prefix-K_J_nfgx.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./env-CQ_DQOwT.js";
9
9
  import "./tokens-Cn6drXx2.js";
10
- import { D as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-CAJ6egA1.js";
10
+ import { D as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-BOF7XlCO.js";
11
11
  import "./plugins-71oIavrF.js";
12
12
  import "./accounts-DDEyGwby.js";
13
13
  import "./bindings-DYVakimr.js";
14
14
  import "./send-D-hWrHoH.js";
15
15
  import "./send-C1IYd3g7.js";
16
- import "./deliver-BH0l3UKW.js";
16
+ import "./deliver-C-37cZUe.js";
17
17
  import "./diagnostic-D0xmLpej.js";
18
18
  import "./diagnostic-session-state-C1vRJs5w.js";
19
19
  import "./accounts-8zZqL37v.js";
@@ -21,10 +21,10 @@ import "./send-C4Ucr8ep.js";
21
21
  import "./image-ops-ByaQt43P.js";
22
22
  import "./pi-model-discovery-j5tVLINv.js";
23
23
  import "./message-channel-BQINJQIT.js";
24
- import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-lgx_U5KS.js";
24
+ import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-B8kqLWns.js";
25
25
  import "./config-BmV60pPT.js";
26
26
  import "./manifest-registry-D-mTF1cj.js";
27
- import "./chrome-CDJYxX5a.js";
27
+ import "./chrome-D2SKJnR7.js";
28
28
  import "./skills-BNpGMnp-.js";
29
29
  import "./redact-1NGYV_8p.js";
30
30
  import "./errors-CPfngF0S.js";
@@ -34,7 +34,7 @@ import "./thinking-W85Rb32m.js";
34
34
  import "./accounts-DImOt9jX.js";
35
35
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-DkMamAQ-.js";
36
36
  import "./tool-images-ChC2CXaN.js";
37
- import "./image-CHzdaNJ4.js";
37
+ import "./image-DcpMiprB.js";
38
38
  import "./manager-jpn5vRTY.js";
39
39
  import "./gemini-auth-CSlZZ1Pw.js";
40
40
  import "./sqlite-BNh23mUR.js";
@@ -47,7 +47,7 @@ import "./ir-F0moAwIl.js";
47
47
  import "./render-B1VqYyvo.js";
48
48
  import "./commands-registry-C_aYUwpl.js";
49
49
  import "./skill-commands-DklY7Cj7.js";
50
- import "./runner-DUBExAb5.js";
50
+ import "./runner-BcQ0sF9T.js";
51
51
  import "./fetch-DtLn7YU3.js";
52
52
  import "./channel-activity-D9q-fIPB.js";
53
53
  import "./tables-COnZ169v.js";
@@ -21,7 +21,7 @@ import "./pairing-token-Byh6drgn.js";
21
21
  import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
22
22
  import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-DZ5Ayk-W.js";
23
23
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
24
- import { $ as resolveCronStyleNow, $t as setGatewaySigusr1RestartPolicy, An as DEFAULT_INPUT_MAX_REDIRECTS, At as normalizeOptionalAgentId, C as readJsonBodyWithLimit, Cr as getAgentRunContext, Ct as summarizeRestartSentinel, D as agentCommand, E as sleepWithAbort, Et as normalizeHttpWebhookUrl, Fn as resolveInputFileLimits, Ft as migrateLegacyCronPayload, Ht as detectSuspiciousPatterns, It as buildDeliveryFromLegacyPayload, J as getTotalPendingReplies, Jt as deferGatewayRestartUntilIdle, Ln as resolveAgentTimeoutMs, Lt as hasLegacyDeliveryHints, M as createDefaultDeps, Mn as extractFileContentFromSource, Mt as normalizeOptionalText, Nn as extractImageContentFromSource, Nt as normalizePayloadToSystemText, On as DEFAULT_INPUT_IMAGE_MAX_BYTES, P as resolveAgentAvatar, Pn as normalizeMimeList, Pt as normalizeRequiredName, Rt as stripLegacyDeliveryFields, S as handleSlackHttpRequest, Sr as emitAgentEvent, T as computeBackoff, Tr as registerAgentRunContext, Ut as getHookType, V as buildHistoryContextFromEntries, Vt as buildSafeExternalPrompt, Wt as isExternalHookSession, Xt as isGatewaySigusr1RestartExternallyAllowed, Yt as emitGatewayRestart, Zt as markGatewaySigusr1RestartHandled, _ as stripModelTokens, _t as runWithModelFallback, at as readLatestAssistantReply, b as loadSymiPlugins, br as stripHeartbeatToken, d as getActiveEmbeddedRunCount, dr as getTotalQueueSize, en as setPreRestartDeferralCheck, et as getCliSessionId, fn as requestHeartbeatNow, fr as resetAllLanes, ft as resolveOutboundTarget, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, h as buildDefaultToolPolicyPipelineSteps, hr as CommandLane, ht as resetDirectoryCache, i as listDescendantRunsForRequester, it as createSymiTools, j as createOutboundSendDeps, jn as DEFAULT_INPUT_TIMEOUT_MS, jt as normalizeOptionalSessionKey, kn as DEFAULT_INPUT_IMAGE_MIMES, kt as inferLegacyName, l as runEmbeddedPiAgent, lr as getActiveTaskCount, lt as resolveOutboundSessionRoute, m as applyToolPolicyPipeline, mr as waitForActiveTasks, n as countActiveRunsForSession, nt as runCliAgent, ot as resolveAnnounceTargetFromKey, p as resolveModelProfile, pr as setCommandLaneConcurrency, pt as resolveSessionDeliveryTarget, qt as consumeGatewaySigusr1RestartAuthorization, r as initSubagentRegistry, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as setCliSessionId, v as getPluginToolMeta, w as requestBodyErrorToText, wn as enqueueSystemEvent, wr as onAgentEvent, xr as clearAgentRunContext, xt as formatRestartSentinelMessage, yt as consumeRestartSentinel } from "./subagent-registry-Jwg44JMf.js";
24
+ import { $ as resolveCronStyleNow, $t as setGatewaySigusr1RestartPolicy, A as getActiveEmbeddedRunCount, An as DEFAULT_INPUT_MAX_REDIRECTS, At as normalizeOptionalAgentId, Cr as getAgentRunContext, Ct as summarizeRestartSentinel, E as createDefaultDeps, Et as normalizeHttpWebhookUrl, Fn as resolveInputFileLimits, Ft as migrateLegacyCronPayload, Ht as detectSuspiciousPatterns, It as buildDeliveryFromLegacyPayload, J as getTotalPendingReplies, Jt as deferGatewayRestartUntilIdle, Ln as resolveAgentTimeoutMs, Lt as hasLegacyDeliveryHints, M as stripModelTokens, Mn as extractFileContentFromSource, Mt as normalizeOptionalText, N as resolveModelProfile, Nn as extractImageContentFromSource, Nt as normalizePayloadToSystemText, O as runEmbeddedPiAgent, On as DEFAULT_INPUT_IMAGE_MAX_BYTES, P as resolveAgentAvatar, Pn as normalizeMimeList, Pt as normalizeRequiredName, Rt as stripLegacyDeliveryFields, Sr as emitAgentEvent, T as createOutboundSendDeps, Tr as registerAgentRunContext, Ut as getHookType, V as buildHistoryContextFromEntries, Vt as buildSafeExternalPrompt, Wt as isExternalHookSession, Xt as isGatewaySigusr1RestartExternallyAllowed, Yt as emitGatewayRestart, Zt as markGatewaySigusr1RestartHandled, _ as readJsonBodyWithLimit, _t as runWithModelFallback, at as readLatestAssistantReply, b as sleepWithAbort, br as stripHeartbeatToken, dr as getTotalQueueSize, en as setPreRestartDeferralCheck, et as getCliSessionId, f as getPluginToolMeta, fn as requestHeartbeatNow, fr as resetAllLanes, ft as resolveOutboundTarget, g as handleSlackHttpRequest, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, hr as CommandLane, ht as resetDirectoryCache, i as listDescendantRunsForRequester, it as createSymiTools, jn as DEFAULT_INPUT_TIMEOUT_MS, jt as normalizeOptionalSessionKey, kn as DEFAULT_INPUT_IMAGE_MIMES, kt as inferLegacyName, l as applyToolPolicyPipeline, lr as getActiveTaskCount, lt as resolveOutboundSessionRoute, m as loadSymiPlugins, mr as waitForActiveTasks, n as countActiveRunsForSession, nt as runCliAgent, ot as resolveAnnounceTargetFromKey, pr as setCommandLaneConcurrency, pt as resolveSessionDeliveryTarget, qt as consumeGatewaySigusr1RestartAuthorization, r as initSubagentRegistry, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as setCliSessionId, u as buildDefaultToolPolicyPipelineSteps, v as requestBodyErrorToText, wn as enqueueSystemEvent, wr as onAgentEvent, x as agentCommand, xr as clearAgentRunContext, xt as formatRestartSentinelMessage, y as computeBackoff, yt as consumeRestartSentinel } from "./subagent-registry-CZah-77E.js";
25
25
  import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
26
26
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
27
27
  import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -130,20 +130,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
130
130
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BtG9rny3.js";
131
131
  import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
132
132
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CA_XIzr_.js";
133
- import { i as pickGatewaySelfPresence } from "./status-CnogoaI_.js";
134
- import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-BmaWws9G.js";
133
+ import { i as pickGatewaySelfPresence } from "./status-C-vthqzQ.js";
134
+ import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-CPYlV7Zg.js";
135
135
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
136
136
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
137
- import { t as runOnboardingWizard } from "./onboarding-Peg7PNOz.js";
138
- import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-EQ0JkHOg.js";
139
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DvcqkHld.js";
137
+ import { t as runOnboardingWizard } from "./onboarding-BUumoJYB.js";
138
+ import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-CDDLS3ke.js";
139
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-Ciljlk7J.js";
140
140
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CzWeiE-Y.js";
141
- import "./agents.config-j4SWyB6K.js";
141
+ import "./agents.config-D60gMagv.js";
142
142
  import "./dm-policy-shared-DJ-61hCT.js";
143
143
  import "./node-service-fcZExd22.js";
144
144
  import "./status.update-DbmZz0Aq.js";
145
145
  import "./skills-install-1ZdwGTnh.js";
146
- import "./update-runner-le1Hcqx4.js";
146
+ import "./update-runner-B5bKK21U.js";
147
147
  import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
148
148
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
149
149
  import { n as forceFreePortAndWait } from "./ports-Dn122MUd.js";
@@ -11729,7 +11729,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11729
11729
  });
11730
11730
  let glassUiBridgeCleanup = null;
11731
11731
  if (!minimalTestGateway) {
11732
- const { createGlassUiBridge } = await import("./glass-ui-ws-Z_wtGa_A.js");
11732
+ const { createGlassUiBridge } = await import("./glass-ui-ws-DiqQflvy.js");
11733
11733
  glassUiBridgeCleanup = createGlassUiBridge({
11734
11734
  wss: glassUiWss,
11735
11735
  context: gatewayRequestContext,
@@ -1,7 +1,7 @@
1
1
  import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, E as truncateUtf16Safe, H as getLogger, P as setVerbose, R as colorize, S as shortenHomePath, U as getResolvedLoggerSettings, V as getChildLogger, c as ensureDir, t as CONFIG_DIR, y as resolveUserPath, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
4
- import { $ as normalizeOptionalSessionKey, An as countActiveRunsForSession, Ar as extractFileContentFromSource, At as computeBackoff, B as setPreRestartDeferralCheck, Bn as onAgentEvent, Bt as createOutboundSendDeps, C as loadSessionEntry, Dr as DEFAULT_INPUT_IMAGE_MIMES, Dt as handleSlackHttpRequest, Er as DEFAULT_INPUT_IMAGE_MAX_BYTES, F as emitGatewayRestart, Fn as runSubagentAnnounceFlow, Fr as resolveAgentTimeoutMs, G as summarizeRestartSentinel, Gt as runWithModelFallback, I as isGatewaySigusr1RestartExternallyAllowed, In as readLatestAssistantReply, J as normalizeHttpWebhookUrl, Jt as runCliAgent, Kt as getCliSessionId, L as markGatewaySigusr1RestartHandled, Ln as clearAgentRunContext, Mn as listDescendantRunsForRequester, Mr as normalizeMimeList, Mt as agentCommand, N as consumeGatewaySigusr1RestartAuthorization, Nr as resolveInputFileLimits, Or as DEFAULT_INPUT_MAX_REDIRECTS, Ot as readJsonBodyWithLimit, P as deferGatewayRestartUntilIdle, Q as normalizeOptionalAgentId, Rn as emitAgentEvent, Rt as resolveOutboundTarget, Sr as enqueueSystemEvent, U as formatRestartSentinelMessage, Ut as createDefaultDeps, V as consumeRestartSentinel, Vn as registerAgentRunContext, Z as inferLegacyName, Zt as resolveAgentAvatar, _ as resolveAnnounceTargetFromKey, ar as resetAllLanes, at as hasLegacyDeliveryHints, cr as CommandLane, d as getActiveEmbeddedRunCount, et as normalizeOptionalText, ft as stripModelTokens, g as createSymiTools, gn as getTotalPendingReplies, gt as getPluginToolMeta, h as buildDefaultToolPolicyPipelineSteps, i as resolveCronStyleNow, in as isExternalHookSession, ir as getTotalQueueSize, it as buildDeliveryFromLegacyPayload, j as resetDirectoryCache, jn as initSubagentRegistry, jr as extractImageContentFromSource, jt as sleepWithAbort, k as resolveOutboundSessionRoute, kn as countActiveDescendantRuns, kr as DEFAULT_INPUT_TIMEOUT_MS, kt as requestBodyErrorToText, l as runEmbeddedPiAgent, ln as buildHistoryContextFromEntries, lr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, m as applyToolPolicyPipeline, mr as lookupContextTokens, nn as detectSuspiciousPatterns, nr as getActiveTaskCount, nt as normalizeRequiredName, or as setCommandLaneConcurrency, ot as stripLegacyDeliveryFields, p as resolveModelProfile, pr as stripHeartbeatToken, pt as requestHeartbeatNow, qt as setCliSessionId, rn as getHookType, rt as migrateLegacyCronPayload, sr as waitForActiveTasks, tn as buildSafeExternalPrompt, tt as normalizePayloadToSystemText, vt as loadSymiPlugins, z as setGatewaySigusr1RestartPolicy, zn as getAgentRunContext, zt as resolveSessionDeliveryTarget } from "./reply-DkwaBRX-.js";
4
+ import { $ as buildDeliveryFromLegacyPayload, A as emitGatewayRestart, An as countActiveRunsForSession, Ar as extractFileContentFromSource, B as summarizeRestartSentinel, Bn as onAgentEvent, Ct as requestBodyErrorToText, Dr as DEFAULT_INPUT_IMAGE_MIMES, E as resetDirectoryCache, Er as DEFAULT_INPUT_IMAGE_MAX_BYTES, Et as agentCommand, F as setPreRestartDeferralCheck, Fn as runSubagentAnnounceFlow, Fr as resolveAgentTimeoutMs, Gt as runWithModelFallback, I as consumeRestartSentinel, In as readLatestAssistantReply, J as normalizeOptionalSessionKey, Jt as runCliAgent, K as inferLegacyName, Kt as getCliSessionId, Ln as clearAgentRunContext, Lt as createDefaultDeps, M as markGatewaySigusr1RestartHandled, Mn as listDescendantRunsForRequester, Mr as normalizeMimeList, Mt as resolveOutboundTarget, Nr as resolveInputFileLimits, Nt as resolveSessionDeliveryTarget, O as consumeGatewaySigusr1RestartAuthorization, Or as DEFAULT_INPUT_MAX_REDIRECTS, P as setGatewaySigusr1RestartPolicy, Pt as createOutboundSendDeps, Q as migrateLegacyCronPayload, R as formatRestartSentinelMessage, Rn as emitAgentEvent, Sr as enqueueSystemEvent, St as readJsonBodyWithLimit, Tt as sleepWithAbort, U as normalizeHttpWebhookUrl, Ut as stripModelTokens, Vn as registerAgentRunContext, Vt as getActiveEmbeddedRunCount, Wt as resolveModelProfile, X as normalizePayloadToSystemText, Y as normalizeOptionalText, Z as normalizeRequiredName, Zt as resolveAgentAvatar, ar as resetAllLanes, cr as CommandLane, d as createSymiTools, et as hasLegacyDeliveryHints, f as resolveAnnounceTargetFromKey, ft as loadSymiPlugins, gn as getTotalPendingReplies, i as resolveCronStyleNow, in as isExternalHookSession, ir as getTotalQueueSize, j as isGatewaySigusr1RestartExternallyAllowed, jn as initSubagentRegistry, jr as extractImageContentFromSource, k as deferGatewayRestartUntilIdle, kn as countActiveDescendantRuns, kr as DEFAULT_INPUT_TIMEOUT_MS, l as applyToolPolicyPipeline, ln as buildHistoryContextFromEntries, lr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, mr as lookupContextTokens, nn as detectSuspiciousPatterns, nr as getActiveTaskCount, or as setCommandLaneConcurrency, pr as stripHeartbeatToken, q as normalizeOptionalAgentId, qt as setCliSessionId, rn as getHookType, sr as waitForActiveTasks, st as requestHeartbeatNow, tn as buildSafeExternalPrompt, tt as stripLegacyDeliveryFields, u as buildDefaultToolPolicyPipelineSteps, ut as getPluginToolMeta, v as loadSessionEntry, w as resolveOutboundSessionRoute, wt as computeBackoff, xt as handleSlackHttpRequest, zn as getAgentRunContext, zt as runEmbeddedPiAgent } from "./reply-BvVsPU7v.js";
5
5
  import { S as parseAgentSessionKey, c as normalizeMainKey, f as toAgentRequestSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, S as clearInternalHooks, T as triggerInternalHook, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL, w as registerInternalHook } from "./registry-Cja8eT7G.js";
@@ -62,7 +62,7 @@ import "./sqlite-Dx3J_aSE.js";
62
62
  import { n as loadModelCatalog } from "./model-catalog-DvBJ8pMD.js";
63
63
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
64
64
  import { r as getMachineDisplayName } from "./with-timeout-gmK6RciS.js";
65
- import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-CceEhg3d.js";
65
+ import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-CWR_98sK.js";
66
66
  import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-DjBRPfu9.js";
67
67
  import "./diagnostic-session-state-CUslJyKP.js";
68
68
  import "./send-Cutb0ZDY.js";
@@ -84,7 +84,7 @@ import "./pairing-token-CX3NN_qj.js";
84
84
  import "./channel-activity-BOiuJS3t.js";
85
85
  import "./fetch-DTNGXEzX.js";
86
86
  import "./tables-BEzT0Da4.js";
87
- import "./send-tanEMpHN.js";
87
+ import "./send-DkfYiRx5.js";
88
88
  import { a as readChannelAllowFromStoreSync } from "./pairing-store-CK726Dzq.js";
89
89
  import "./proxy-DU7W9XSc.js";
90
90
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
@@ -95,10 +95,10 @@ import "./resolve-route-BMoTaVAH.js";
95
95
  import "./replies-vgss3_QA.js";
96
96
  import { S as registerSkillsChangeListener, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, l as refreshRemoteBinsForConnectedNodes, o as getRemoteSkillEligibility, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion } from "./skill-commands-Cxw-jNxU.js";
97
97
  import "./workspace-dirs-GpkFi6Kw.js";
98
- import "./outbound-attachment-D_QuKi8U.js";
99
- import "./delivery-queue-Df1uodAG.js";
100
- import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-BG4AXrGN.js";
101
- import "./send-CXxQ_f7L.js";
98
+ import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-UxUgrslM.js";
99
+ import "./outbound-attachment-mQQiYZ3C.js";
100
+ import "./delivery-queue-CxuV9EeG.js";
101
+ import "./send-DWYkPSUs.js";
102
102
  import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-ZmZYzlq3.js";
103
103
  import "./prompt-style-8JqOYj0q.js";
104
104
  import "./pairing-labels-2S6x2UoV.js";
@@ -135,20 +135,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
135
135
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BJvwnR5z.js";
136
136
  import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
137
137
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-BHTF5p0X.js";
138
- import { r as pickGatewaySelfPresence } from "./status-B1r3Wp0-.js";
139
- import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-BBGgp_dC.js";
138
+ import { r as pickGatewaySelfPresence } from "./status-DEymUALi.js";
139
+ import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-1KsVR3eN.js";
140
140
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
141
141
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
142
- import { t as runOnboardingWizard } from "./onboarding-gQRA57l_.js";
143
- import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-CbeCo-6O.js";
144
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CT8-VcK5.js";
142
+ import { t as runOnboardingWizard } from "./onboarding-CbkyewZp.js";
143
+ import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-Bf8SpXoW.js";
144
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-21LKYvkS.js";
145
145
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Bv0M7ka7.js";
146
- import "./agents.config-Bf8u_0ts.js";
146
+ import "./agents.config-DPv-AmZD.js";
147
147
  import "./dm-policy-shared-Bh3TbexU.js";
148
148
  import "./node-service-Cxz4e-Qd.js";
149
149
  import "./status.update-DtwCUTf-.js";
150
150
  import "./skills-install-D67isO1L.js";
151
- import "./update-runner-BQg__DB5.js";
151
+ import "./update-runner-DPwXk0QQ.js";
152
152
  import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
153
153
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
154
154
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -11659,8 +11659,8 @@ async function startGatewayServer(port = 18789, opts = {}) {
11659
11659
  });
11660
11660
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
11661
11661
  if (!minimalTestGateway) (async () => {
11662
- const { recoverPendingDeliveries } = await import("./delivery-queue-Df1uodAG.js").then((n) => n.n);
11663
- const { deliverOutboundPayloads } = await import("./deliver-CceEhg3d.js").then((n) => n.n);
11662
+ const { recoverPendingDeliveries } = await import("./delivery-queue-CxuV9EeG.js").then((n) => n.n);
11663
+ const { deliverOutboundPayloads } = await import("./deliver-CWR_98sK.js").then((n) => n.n);
11664
11664
  await recoverPendingDeliveries({
11665
11665
  deliver: deliverOutboundPayloads,
11666
11666
  log: log.child("delivery-recovery"),
@@ -11733,7 +11733,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11733
11733
  });
11734
11734
  let glassUiBridgeCleanup = null;
11735
11735
  if (!minimalTestGateway) {
11736
- const { createGlassUiBridge } = await import("./glass-ui-ws-Be_AOhp7.js");
11736
+ const { createGlassUiBridge } = await import("./glass-ui-ws-TCkne4L4.js");
11737
11737
  glassUiBridgeCleanup = createGlassUiBridge({
11738
11738
  wss: glassUiWss,
11739
11739
  context: gatewayRequestContext,
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-Jwg44JMf.js";
16
+ import "./subagent-registry-CZah-77E.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -108,18 +108,18 @@ import "./service-Cm9j9WzQ.js";
108
108
  import "./diagnostics-CS1ov_hH.js";
109
109
  import "./table-D01d2GuY.js";
110
110
  import "./audit-Byo5jCLN.js";
111
- import "./status-CnogoaI_.js";
112
- import "./health-BmaWws9G.js";
111
+ import "./status-C-vthqzQ.js";
112
+ import "./health-CPYlV7Zg.js";
113
113
  import "./control-ui-assets-BseSWee1.js";
114
114
  import "./update-check-ZdimP1aU.js";
115
- import { n as handleGatewayRequest } from "./server-methods-EQ0JkHOg.js";
116
- import "./push-apns-DvcqkHld.js";
117
- import "./agents.config-j4SWyB6K.js";
115
+ import { n as handleGatewayRequest } from "./server-methods-CDDLS3ke.js";
116
+ import "./push-apns-Ciljlk7J.js";
117
+ import "./agents.config-D60gMagv.js";
118
118
  import "./dm-policy-shared-DJ-61hCT.js";
119
119
  import "./node-service-fcZExd22.js";
120
120
  import "./status.update-DbmZz0Aq.js";
121
121
  import "./skills-install-1ZdwGTnh.js";
122
- import "./update-runner-le1Hcqx4.js";
122
+ import "./update-runner-B5bKK21U.js";
123
123
 
124
124
  //#region src/gateway/glass-ui-ws.ts
125
125
  const SESSION_KEY = "agent:main:main";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-DkwaBRX-.js";
4
+ import "./reply-BvVsPU7v.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -55,7 +55,7 @@ import "./sqlite-Dx3J_aSE.js";
55
55
  import "./model-catalog-DvBJ8pMD.js";
56
56
  import "./tokens-BuceUQDl.js";
57
57
  import "./with-timeout-gmK6RciS.js";
58
- import "./deliver-CceEhg3d.js";
58
+ import "./deliver-CWR_98sK.js";
59
59
  import "./diagnostic-DjBRPfu9.js";
60
60
  import "./diagnostic-session-state-CUslJyKP.js";
61
61
  import "./send-Cutb0ZDY.js";
@@ -77,7 +77,7 @@ import "./pairing-token-CX3NN_qj.js";
77
77
  import "./channel-activity-BOiuJS3t.js";
78
78
  import "./fetch-DTNGXEzX.js";
79
79
  import "./tables-BEzT0Da4.js";
80
- import "./send-tanEMpHN.js";
80
+ import "./send-DkfYiRx5.js";
81
81
  import "./pairing-store-CK726Dzq.js";
82
82
  import "./proxy-DU7W9XSc.js";
83
83
  import "./links-3i1eUga4.js";
@@ -88,10 +88,10 @@ import "./resolve-route-BMoTaVAH.js";
88
88
  import "./replies-vgss3_QA.js";
89
89
  import "./skill-commands-Cxw-jNxU.js";
90
90
  import "./workspace-dirs-GpkFi6Kw.js";
91
- import "./outbound-attachment-D_QuKi8U.js";
92
- import "./delivery-queue-Df1uodAG.js";
93
- import "./session-cost-usage-BG4AXrGN.js";
94
- import "./send-CXxQ_f7L.js";
91
+ import "./session-cost-usage-UxUgrslM.js";
92
+ import "./outbound-attachment-mQQiYZ3C.js";
93
+ import "./delivery-queue-CxuV9EeG.js";
94
+ import "./send-DWYkPSUs.js";
95
95
  import "./onboard-helpers-ZmZYzlq3.js";
96
96
  import "./prompt-style-8JqOYj0q.js";
97
97
  import "./pairing-labels-2S6x2UoV.js";
@@ -113,18 +113,18 @@ import "./service-Cl74hx8J.js";
113
113
  import "./diagnostics-BAMlsVVX.js";
114
114
  import "./table-BTgkRafz.js";
115
115
  import "./audit-CrITRV6w.js";
116
- import "./status-B1r3Wp0-.js";
117
- import "./health-BBGgp_dC.js";
116
+ import "./status-DEymUALi.js";
117
+ import "./health-1KsVR3eN.js";
118
118
  import "./control-ui-assets-Z947tKLt.js";
119
119
  import "./update-check-CtckACbb.js";
120
- import { n as handleGatewayRequest } from "./server-methods-CbeCo-6O.js";
121
- import "./push-apns-CT8-VcK5.js";
122
- import "./agents.config-Bf8u_0ts.js";
120
+ import { n as handleGatewayRequest } from "./server-methods-Bf8SpXoW.js";
121
+ import "./push-apns-21LKYvkS.js";
122
+ import "./agents.config-DPv-AmZD.js";
123
123
  import "./dm-policy-shared-Bh3TbexU.js";
124
124
  import "./node-service-Cxz4e-Qd.js";
125
125
  import "./status.update-DtwCUTf-.js";
126
126
  import "./skills-install-D67isO1L.js";
127
- import "./update-runner-BQg__DB5.js";
127
+ import "./update-runner-DPwXk0QQ.js";
128
128
 
129
129
  //#region src/gateway/glass-ui-ws.ts
130
130
  const SESSION_KEY = "agent:main:main";
@@ -1,5 +1,5 @@
1
1
  import { B as theme, k as info, l as escapeRegExp, z as isRich } from "./utils-B-0b9bGM.js";
2
- import { Hn as resolveUserTimezone, It as resolveHeartbeatDeliveryTarget, Lt as resolveHeartbeatSenderContext, cr as CommandLane, dr as isHeartbeatContentEffectivelyEmpty, fr as resolveHeartbeatPrompt$1, ht as resolveHeartbeatReasonKind, lr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, mt as setHeartbeatWakeHandler, pr as stripHeartbeatToken, pt as requestHeartbeatNow, r as appendCronStyleCurrentTimeLine, rr as getQueueSize, t as getReplyFromConfig, ur as DEFAULT_HEARTBEAT_EVERY, wr as peekSystemEventEntries } from "./reply-DkwaBRX-.js";
2
+ import { At as resolveHeartbeatDeliveryTarget, Hn as resolveUserTimezone, cr as CommandLane, ct as setHeartbeatWakeHandler, dr as isHeartbeatContentEffectivelyEmpty, fr as resolveHeartbeatPrompt$1, jt as resolveHeartbeatSenderContext, lr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, lt as resolveHeartbeatReasonKind, pr as stripHeartbeatToken, r as appendCronStyleCurrentTimeLine, rr as getQueueSize, st as requestHeartbeatNow, t as getReplyFromConfig, ur as DEFAULT_HEARTBEAT_EVERY, wr as peekSystemEventEntries } from "./reply-BvVsPU7v.js";
3
3
  import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
@@ -11,7 +11,7 @@ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DKDeQZ
11
11
  import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-DFaVVCsf.js";
12
12
  import { c as resolveStorePath, n as resolveSessionFilePath } from "./paths-CyhzMxFA.js";
13
13
  import { r as SYMIPULSE_TOKEN } from "./tokens-BuceUQDl.js";
14
- import { t as deliverOutboundPayloads } from "./deliver-CceEhg3d.js";
14
+ import { t as deliverOutboundPayloads } from "./deliver-CWR_98sK.js";
15
15
  import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-CE2YmmsD.js";
16
16
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CJaS1iRF.js";
17
17
  import { n as withProgress } from "./progress-jIePzvGA.js";
@@ -4,7 +4,7 @@ import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as no
4
4
  import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
5
5
  import { C as parseDurationMs, i as loadConfig } from "./config-DHBLS1Hl.js";
6
6
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BcE47FtD.js";
7
- import { En as peekSystemEventEntries, Q as appendCronStyleCurrentTimeLine, X as getReplyFromConfig, Yn as resolveUserTimezone, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, dt as resolveHeartbeatSenderContext, fn as requestHeartbeatNow, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, hr as CommandLane, mn as resolveHeartbeatReasonKind, pn as setHeartbeatWakeHandler, ur as getQueueSize, ut as resolveHeartbeatDeliveryTarget, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./subagent-registry-Jwg44JMf.js";
7
+ import { En as peekSystemEventEntries, Q as appendCronStyleCurrentTimeLine, X as getReplyFromConfig, Yn as resolveUserTimezone, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, dt as resolveHeartbeatSenderContext, fn as requestHeartbeatNow, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, hr as CommandLane, mn as resolveHeartbeatReasonKind, pn as setHeartbeatWakeHandler, ur as getQueueSize, ut as resolveHeartbeatDeliveryTarget, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./subagent-registry-CZah-77E.js";
8
8
  import { M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, d as updateSessionStore, l as saveSessionStore, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
9
9
  import { r as SYMIPULSE_TOKEN } from "./tokens-Csntmwwn.js";
10
10
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-DkwaBRX-.js";
4
+ import "./reply-BvVsPU7v.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -57,7 +57,7 @@ import "./sqlite-Dx3J_aSE.js";
57
57
  import "./model-catalog-DvBJ8pMD.js";
58
58
  import "./tokens-BuceUQDl.js";
59
59
  import "./with-timeout-gmK6RciS.js";
60
- import "./deliver-CceEhg3d.js";
60
+ import "./deliver-CWR_98sK.js";
61
61
  import "./diagnostic-DjBRPfu9.js";
62
62
  import "./diagnostic-session-state-CUslJyKP.js";
63
63
  import "./send-Cutb0ZDY.js";
@@ -79,7 +79,7 @@ import "./pairing-token-CX3NN_qj.js";
79
79
  import "./channel-activity-BOiuJS3t.js";
80
80
  import "./fetch-DTNGXEzX.js";
81
81
  import "./tables-BEzT0Da4.js";
82
- import "./send-tanEMpHN.js";
82
+ import "./send-DkfYiRx5.js";
83
83
  import "./pairing-store-CK726Dzq.js";
84
84
  import "./proxy-DU7W9XSc.js";
85
85
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
@@ -90,10 +90,10 @@ import "./resolve-route-BMoTaVAH.js";
90
90
  import "./replies-vgss3_QA.js";
91
91
  import "./skill-commands-Cxw-jNxU.js";
92
92
  import "./workspace-dirs-GpkFi6Kw.js";
93
- import "./outbound-attachment-D_QuKi8U.js";
94
- import "./delivery-queue-Df1uodAG.js";
95
- import "./session-cost-usage-BG4AXrGN.js";
96
- import "./send-CXxQ_f7L.js";
93
+ import "./session-cost-usage-UxUgrslM.js";
94
+ import "./outbound-attachment-mQQiYZ3C.js";
95
+ import "./delivery-queue-CxuV9EeG.js";
96
+ import "./send-DWYkPSUs.js";
97
97
  import "./onboard-helpers-ZmZYzlq3.js";
98
98
  import "./prompt-style-8JqOYj0q.js";
99
99
  import "./pairing-labels-2S6x2UoV.js";
@@ -108,7 +108,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
108
108
  import { t as renderTable } from "./table-BTgkRafz.js";
109
109
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
110
110
  import { t as buildWorkspaceHookStatus } from "./hooks-status-BqLZtMLa.js";
111
- import { t as buildPluginStatusReport } from "./status-jVJSC_Ga.js";
111
+ import { t as buildPluginStatusReport } from "./status-5XgxbiNb.js";
112
112
  import fs from "node:fs";
113
113
  import path from "node:path";
114
114
  import fs$1 from "node:fs/promises";
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import "./call-BcE47FtD.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-Jwg44JMf.js";
18
+ import "./subagent-registry-CZah-77E.js";
19
19
  import "./sessions-CJXnZVjR.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -104,7 +104,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
104
104
  import { t as renderTable } from "./table-D01d2GuY.js";
105
105
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
106
106
  import { t as buildWorkspaceHookStatus } from "./hooks-status-CEoLdlyb.js";
107
- import { t as buildPluginStatusReport } from "./status-Cksz7z4T.js";
107
+ import { t as buildPluginStatusReport } from "./status-C-kU0UFm.js";
108
108
  import path from "node:path";
109
109
  import fs from "node:fs";
110
110
  import fs$1 from "node:fs/promises";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as isRecord, I as shortenHomeInString } from "./registry-BhoUuugi.js";
3
3
  import { G as resolveSymiAgentDir, S as getApiKeyForModel, Y as normalizeSecretInput, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-BQCG9ah0.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-lgx_U5KS.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-B8kqLWns.js";
6
6
  import { n as loadConfig } from "./config-BmV60pPT.js";
7
7
  import { n as redactToolDetail } from "./redact-1NGYV_8p.js";
8
8
  import path from "node:path";