@symerian/symi 2.6.17 → 2.6.19

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 (170) hide show
  1. package/dist/{agents-BigDbz_d.js → agents-CrSpoNsS.js} +4 -4
  2. package/dist/{agents.config-DtwvTAot.js → agents.config-B3GILTs5.js} +1 -1
  3. package/dist/{agents.config-eIPE7BfG.js → agents.config-Co1CO8fA.js} +1 -1
  4. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  5. package/dist/{auth-choice-D9m5BulC.js → auth-choice-BBmXnDnK.js} +1 -1
  6. package/dist/{auth-choice-CMG_kz3x.js → auth-choice-BHWxDJh7.js} +1 -1
  7. package/dist/{banner-C_OswN2S.js → banner-RLiOIu-3.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-BB0mSdu0.js → channel-options-BCK41AON.js} +1 -1
  13. package/dist/{channel-options-Bu_ZCXTH.js → channel-options-PDf46S-K.js} +1 -1
  14. package/dist/{channel-web-DUDswRW8.js → channel-web-C3XZ7c2q.js} +1 -1
  15. package/dist/{channels-cli-Di-BSdgT.js → channels-cli-723vy6L6.js} +4 -4
  16. package/dist/{channels-cli-0x_RN1FV.js → channels-cli-CUWuD7qf.js} +4 -4
  17. package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
  18. package/dist/{cli-cbA1yje8.js → cli-CAzmrOs0.js} +1 -1
  19. package/dist/{cli-DkyyhTXQ.js → cli-DYdRSi_j.js} +1 -1
  20. package/dist/{command-registry-DW8qtaug.js → command-registry-B2aO0Q7_.js} +9 -9
  21. package/dist/{completion-cli-CokhHC7P.js → completion-cli-BKm12loU.js} +1 -1
  22. package/dist/{completion-cli-tloa1jVl.js → completion-cli-BsKD_vBb.js} +2 -2
  23. package/dist/{config-cli-DYo5T6bX.js → config-cli-Bynmd81Q.js} +1 -1
  24. package/dist/{config-cli-Cks2CdxR.js → config-cli-D47lU7kU.js} +1 -1
  25. package/dist/{configure-CYOUSSmp.js → configure-B3vS2Iz5.js} +3 -3
  26. package/dist/{configure-98ZVqzv1.js → configure-Df6GmKAR.js} +3 -3
  27. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  28. package/dist/{doctor-completion-DjWUJDRE.js → doctor-completion-DyiRkYT4.js} +1 -1
  29. package/dist/{doctor-completion-BM2LI2kQ.js → doctor-completion-SEerte2S.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +6 -6
  32. package/dist/{gateway-cli-BfgjYQ0a.js → gateway-cli-PjmG0pFo.js} +9 -9
  33. package/dist/{gateway-cli-BMNlnEBq.js → gateway-cli-k19iT2vJ.js} +9 -9
  34. package/dist/{glass-ui-ws-B-5Q9pvo.js → glass-ui-ws-D0Yv090T.js} +7 -7
  35. package/dist/{glass-ui-ws-qMQsqHH3.js → glass-ui-ws-iCEtluQU.js} +7 -7
  36. package/dist/{health-C1pVvTq3.js → health-B32Q-KYM.js} +1 -1
  37. package/dist/{health-bPgBZggl.js → health-CXjAtn1-.js} +1 -1
  38. package/dist/{hooks-cli-v_x0fiwA.js → hooks-cli-DA6zOGNz.js} +2 -2
  39. package/dist/{hooks-cli-DTeu0ug5.js → hooks-cli-DfRmFenH.js} +2 -2
  40. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  41. package/dist/index.js +6 -6
  42. package/dist/llm-slug-generator.js +1 -1
  43. package/dist/{models-cli-CWLVJkRC.js → models-cli-BgCUViRO.js} +2 -2
  44. package/dist/{models-cli-CZKH-Xq1.js → models-cli-CbJUD_L1.js} +3 -3
  45. package/dist/{models-CCNZ_VGI.js → models-zowe4LXa.js} +2 -2
  46. package/dist/{onboard-BnnTdrLO.js → onboard-CYvIpUXQ.js} +2 -2
  47. package/dist/{onboard-9kUAnlnq.js → onboard-DsKgcThj.js} +2 -2
  48. package/dist/{onboard-channels-CCBRpRJ9.js → onboard-channels-DLiV4Y0t.js} +1 -1
  49. package/dist/{onboard-channels-CPRdBKHz.js → onboard-channels-DxCGWgB0.js} +1 -1
  50. package/dist/{onboarding-Blk5VONF.js → onboarding-BA5v1JEG.js} +3 -3
  51. package/dist/{onboarding-BcjWNjOQ.js → onboarding-DioGtMFo.js} +3 -3
  52. package/dist/{onboarding.finalize-DKZ2job-.js → onboarding.finalize-CAbRXb0h.js} +5 -5
  53. package/dist/{onboarding.finalize-IQWZ0Nxx.js → onboarding.finalize-DMXCA49f.js} +6 -6
  54. package/dist/{pi-embedded-c89rUF7D.js → pi-embedded-CFFnZEcA.js} +18 -214
  55. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  56. package/dist/{plugin-registry-DlpEx7W7.js → plugin-registry-Bt5YCgFq.js} +1 -1
  57. package/dist/{plugin-registry-qHIbASyR.js → plugin-registry-HFOrv3KN.js} +1 -1
  58. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  59. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  60. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  61. package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
  62. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  63. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
  64. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
  65. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  66. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  67. package/dist/plugin-sdk/{channel-web-BJSgF8Ms.js → channel-web-E56yV1OA.js} +22 -22
  68. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
  69. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  70. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  71. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
  72. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
  73. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
  74. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
  75. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
  76. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  77. package/dist/plugin-sdk/index.js +53 -53
  78. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  79. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  80. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
  81. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
  82. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
  83. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  84. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  85. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  86. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
  87. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
  88. package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
  89. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
  90. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
  91. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  92. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
  93. package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
  94. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  95. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
  96. package/dist/plugin-sdk/{reply-DF2GwNWO.js → reply-pPqvSkWb.js} +80 -276
  97. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  98. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  99. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  100. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  101. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
  102. package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
  103. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
  104. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
  105. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
  106. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
  107. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
  108. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
  109. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  110. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  111. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  112. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  113. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  114. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  115. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  116. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  117. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  118. package/dist/plugin-sdk/{tool-loop-detection-DU5sTIKg.js → tool-loop-detection-at_K42K7.js} +2 -2
  119. package/dist/plugin-sdk/web-Msnzya6B.js +65 -0
  120. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
  121. package/dist/{plugins-cli-DiYaxXSu.js → plugins-cli-C7xTf9NV.js} +2 -2
  122. package/dist/{plugins-cli-uFsQmTOz.js → plugins-cli-CXz_UApK.js} +2 -2
  123. package/dist/{program-Do8uFcrW.js → program-8hWr4qGZ.js} +7 -7
  124. package/dist/{program-context-UVmDXg4w.js → program-context-BBtSJunF.js} +17 -17
  125. package/dist/{prompt-select-styled-kzPqQVwA.js → prompt-select-styled-CwfroEHp.js} +4 -4
  126. package/dist/{prompt-select-styled-CGEbisqY.js → prompt-select-styled-DUXeA9Zp.js} +4 -4
  127. package/dist/{provider-auth-helpers-DDs0rDUe.js → provider-auth-helpers-Dc7jBEOA.js} +1 -1
  128. package/dist/{provider-auth-helpers-CqdTkwA8.js → provider-auth-helpers-DhLHWjNU.js} +1 -1
  129. package/dist/{push-apns-j-mUpMCa.js → push-apns-CVZe5WVN.js} +1 -1
  130. package/dist/{push-apns-CfgfTcOB.js → push-apns-CflJh75N.js} +1 -1
  131. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  132. package/dist/{register.agent-DBSU9q-C.js → register.agent-BnuJQ5lg.js} +6 -6
  133. package/dist/{register.agent-CUkxOrUA.js → register.agent-DV7IR1rI.js} +5 -5
  134. package/dist/{register.configure-D-YahcNK.js → register.configure-BhncI0ij.js} +6 -6
  135. package/dist/{register.configure-BHwc52Bf.js → register.configure-DaIrJXWo.js} +6 -6
  136. package/dist/{register.maintenance-CjNxcN3U.js → register.maintenance-BO1XWhVb.js} +7 -7
  137. package/dist/{register.maintenance-DkwHh-sW.js → register.maintenance-DK_p-7so.js} +8 -8
  138. package/dist/{register.message-BMNRNhYd.js → register.message-B194ue2R.js} +2 -2
  139. package/dist/{register.message-Dz3kJorp.js → register.message-B4CGCAn_.js} +2 -2
  140. package/dist/{register.onboard-CIk7rJ1a.js → register.onboard-DidMCka8.js} +4 -4
  141. package/dist/{register.onboard-BGSP1g7Q.js → register.onboard-Dt53qGB5.js} +4 -4
  142. package/dist/{register.setup-CyU93O5k.js → register.setup-CLV1kk2-.js} +4 -4
  143. package/dist/{register.setup-DxBr7LGK.js → register.setup-DgUxMRZR.js} +4 -4
  144. package/dist/{register.status-health-sessions-Byt1zRKc.js → register.status-health-sessions-CB10JLY6.js} +3 -3
  145. package/dist/{register.status-health-sessions-Bo10kUYn.js → register.status-health-sessions-TvGuwVoR.js} +3 -3
  146. package/dist/{register.subclis-DZS69nNZ.js → register.subclis-elNdyQio.js} +9 -9
  147. package/dist/{reply-t3rS1c2M.js → reply-DUZvOCsG.js} +4 -200
  148. package/dist/{run-main-BE8Lea59.js → run-main-gBPGqO8r.js} +14 -14
  149. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  150. package/dist/{server-methods-vUsaIJLP.js → server-methods-BG0N79yY.js} +7 -7
  151. package/dist/{server-methods-BFNuAjXb.js → server-methods-dgW-8gC7.js} +7 -7
  152. package/dist/{server-node-events-DTanfrRl.js → server-node-events-B_hsQw_N.js} +2 -2
  153. package/dist/{server-node-events-DB945tPx.js → server-node-events-ZtQKBPo3.js} +2 -2
  154. package/dist/{status-DUI4savd.js → status-BqhJ-HsW.js} +1 -1
  155. package/dist/{status-CuUSAsxJ.js → status-Cd9-xWsZ.js} +2 -2
  156. package/dist/{status-DgZSkuK3.js → status-D-IvYfjk.js} +2 -2
  157. package/dist/{status-Bytuvtii.js → status-D4Lr90yH.js} +1 -1
  158. package/dist/{subagent-registry-D0mKE_3q.js → subagent-registry-J2pIBQF7.js} +4 -200
  159. package/dist/{unified-runner-V2k6rAy6.js → unified-runner-oH9Pt-cO.js} +4 -200
  160. package/dist/{update-cli-BKa2ffVu.js → update-cli-B7TLu25J.js} +8 -8
  161. package/dist/{update-cli-D2IDD4R6.js → update-cli-D8nA6U7C.js} +7 -7
  162. package/dist/{update-runner-BL1ESAT9.js → update-runner-D8AFB8Oi.js} +1 -1
  163. package/dist/{update-runner-CgxeuAoc.js → update-runner-DvZOsoQs.js} +1 -1
  164. package/dist/{web-CLeqzp4c.js → web-0xZpP0WA.js} +1 -1
  165. package/dist/{web-DcYJyp75.js → web-CAy-xQv2.js} +1 -1
  166. package/dist/{web-Ge4OdY6a.js → web-DDiOPIdv.js} +2 -2
  167. package/dist/{web-DNZZb5tb.js → web-mQInjWbW.js} +6 -6
  168. package/package.json +1 -1
  169. package/dist/plugin-sdk/web--NjJYvn_.js +0 -65
  170. package/skills/self-inspect/SKILL.md +0 -109
@@ -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-D-hWrHoH.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-C1IYd3g7.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-BH0l3UKW.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-C-37cZUe.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-lgx_U5KS.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-B8kqLWns.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-BmV60pPT.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-CDJYxX5a.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-D2SKJnR7.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-CHzdaNJ4.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-DcpMiprB.js";
40
40
  import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-jpn5vRTY.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-C_aYUwpl.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-DklY7Cj7.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-DUBExAb5.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-BcQ0sF9T.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$1, { WebSocket } from "ws";
82
+ import WebSocket, { WebSocket as WebSocket$1 } 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";
@@ -5714,7 +5714,7 @@ var GatewayClient = class {
5714
5714
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5715
5715
  });
5716
5716
  }
5717
- this.ws = new WebSocket(url, wsOptions);
5717
+ this.ws = new WebSocket$1(url, wsOptions);
5718
5718
  this.ws.on("open", () => {
5719
5719
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5720
5720
  const tlsError = this.validateTlsFingerprint();
@@ -5933,7 +5933,7 @@ var GatewayClient = class {
5933
5933
  return null;
5934
5934
  }
5935
5935
  async request(method, params, opts) {
5936
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5937
5937
  const id = randomUUID();
5938
5938
  const frame = {
5939
5939
  type: "req",
@@ -7199,7 +7199,7 @@ async function routeReply(params) {
7199
7199
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7200
7200
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7201
7201
  try {
7202
- const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
7203
7203
  return {
7204
7204
  ok: true,
7205
7205
  messageId: (await deliverOutboundPayloads({
@@ -39027,30 +39027,6 @@ function setCliSessionId(entry, provider, sessionId) {
39027
39027
  //#endregion
39028
39028
  //#region src/config/model-profiles-builtin.ts
39029
39029
  /**
39030
- * Starter pack — always-on context for models with tool arg corruption.
39031
- * ~500 tokens. Prevents the most common failure patterns.
39032
- * For detailed file modification guides, the self-inspect skill cascades from here.
39033
- */
39034
- const STARTER_PACK = [
39035
- "",
39036
- "SELF-AWARENESS:",
39037
- "- You are Symi. Find your installation: node -e \"console.log(require.resolve('@symerian/symi/package.json').replace('/package.json', ''))\"",
39038
- "- Glass UI CSS: <SYMI_ROOT>/dist/control-ui/css/style.css",
39039
- "- Glass UI HTML: <SYMI_ROOT>/dist/control-ui/index.html",
39040
- "- Glass UI JS: <SYMI_ROOT>/dist/control-ui/js/app.js, gateway.js, render.js, models.js, history.js, symipulse.js, debug.js",
39041
- "- Config: ~/.symi/symi.json | Sessions: ~/.symi/agents/main/sessions/ | Memory: ~/.symi/state/memory/",
39042
- "- For detailed modification guides, read the self-inspect skill.",
39043
- "",
39044
- "TOOL RULES (mandatory):",
39045
- "- read/write/edit: Always provide the full absolute path. Use read to view files — NEVER exec cat, head, find, or grep for files you know the path to.",
39046
- "- exec/bash: Provide only valid shell syntax. No tags, no tokens, no markup. Spell commands exactly.",
39047
- "- web_search: Always include query argument. Example: web_search({ query: \"search terms\" })",
39048
- "- sessions_spawn: Always include task and mode. Example: sessions_spawn({ label: \"name\", mode: \"run\", task: \"description\" })",
39049
- "",
39050
- "KNOWN SHELL COMMANDS (use exact spelling):",
39051
- "awk basename brew cargo cat chmod chown cp curl cut date dd df diff dig dirname docker du echo env find gcc git go grep gunzip gzip head hostname id ifconfig ip java javac journalctl kill killall launchctl less ln locate ls make man mkdir mktemp more mount mv nc netstat nice node nohup npm npx open paste pbcopy pbpaste ping pip pip3 plutil printf ps pwd python python3 readlink realpath rm rmdir rsync ruby scp sed sleep sort ssh stat strings sudo su sw_vers sysctl system_profiler systemctl tail tar tee test top touch tr type uname uniq unzip wc wget which xargs xz yes zip"
39052
- ];
39053
- /**
39054
39030
  * Built-in model profiles. Ordered from most-specific to least-specific so
39055
39031
  * that `resolveModelProfile` can return the first match.
39056
39032
  *
@@ -39093,8 +39069,7 @@ const BUILTIN_PROFILES = [
39093
39069
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39094
39070
  "- If you need to verify your work, do so before writing your response, not after.",
39095
39071
  "- Send brief progress updates on long tasks so the user knows you are active.",
39096
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax.",
39097
- ...STARTER_PACK
39072
+ "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
39098
39073
  ],
39099
39074
  ui: {
39100
39075
  badge: "Local",
@@ -39166,8 +39141,7 @@ const BUILTIN_PROFILES = [
39166
39141
  "- If you need to verify your work, do so before writing your response, not after.",
39167
39142
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
39168
39143
  "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
39169
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax.",
39170
- ...STARTER_PACK
39144
+ "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
39171
39145
  ],
39172
39146
  ui: {
39173
39147
  badge: "CoreWeave",
@@ -42335,175 +42309,6 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
42335
42309
  * @module
42336
42310
  */
42337
42311
  /**
42338
- * Known shell commands for prefix deduplication.
42339
- * When token boundary corruption doubles a command prefix (grep → grgrep,
42340
- * ls → lsls), we check the first token against this set. If stripping
42341
- * the repeated prefix yields a known command, use it.
42342
- *
42343
- * O(1) lookup. Zero false positives — no valid command is its own prefix doubled.
42344
- */
42345
- const KNOWN_COMMANDS = new Set([
42346
- "ls",
42347
- "cat",
42348
- "cp",
42349
- "mv",
42350
- "rm",
42351
- "mkdir",
42352
- "rmdir",
42353
- "touch",
42354
- "chmod",
42355
- "chown",
42356
- "chgrp",
42357
- "ln",
42358
- "pwd",
42359
- "echo",
42360
- "printf",
42361
- "head",
42362
- "tail",
42363
- "wc",
42364
- "sort",
42365
- "uniq",
42366
- "cut",
42367
- "tr",
42368
- "tee",
42369
- "xargs",
42370
- "env",
42371
- "date",
42372
- "sleep",
42373
- "true",
42374
- "false",
42375
- "yes",
42376
- "test",
42377
- "expr",
42378
- "basename",
42379
- "dirname",
42380
- "readlink",
42381
- "realpath",
42382
- "mktemp",
42383
- "stat",
42384
- "file",
42385
- "dd",
42386
- "df",
42387
- "du",
42388
- "id",
42389
- "whoami",
42390
- "hostname",
42391
- "uname",
42392
- "grep",
42393
- "egrep",
42394
- "fgrep",
42395
- "find",
42396
- "locate",
42397
- "sed",
42398
- "awk",
42399
- "diff",
42400
- "patch",
42401
- "strings",
42402
- "less",
42403
- "more",
42404
- "tar",
42405
- "gzip",
42406
- "gunzip",
42407
- "zip",
42408
- "unzip",
42409
- "bzip2",
42410
- "xz",
42411
- "curl",
42412
- "wget",
42413
- "ssh",
42414
- "scp",
42415
- "rsync",
42416
- "ping",
42417
- "dig",
42418
- "nslookup",
42419
- "netstat",
42420
- "lsof",
42421
- "nc",
42422
- "ifconfig",
42423
- "ip",
42424
- "ps",
42425
- "top",
42426
- "kill",
42427
- "killall",
42428
- "nohup",
42429
- "nice",
42430
- "which",
42431
- "type",
42432
- "where",
42433
- "man",
42434
- "sudo",
42435
- "su",
42436
- "mount",
42437
- "umount",
42438
- "systemctl",
42439
- "journalctl",
42440
- "launchctl",
42441
- "dmesg",
42442
- "sysctl",
42443
- "git",
42444
- "make",
42445
- "gcc",
42446
- "python",
42447
- "python3",
42448
- "pip",
42449
- "pip3",
42450
- "node",
42451
- "npm",
42452
- "npx",
42453
- "pnpm",
42454
- "yarn",
42455
- "cargo",
42456
- "go",
42457
- "ruby",
42458
- "gem",
42459
- "java",
42460
- "javac",
42461
- "docker",
42462
- "brew",
42463
- "open",
42464
- "pbcopy",
42465
- "pbpaste",
42466
- "defaults",
42467
- "diskutil",
42468
- "sw_vers",
42469
- "system_profiler",
42470
- "plutil",
42471
- "mdfind",
42472
- "mdls",
42473
- "softwareupdate",
42474
- "caffeinate",
42475
- "say",
42476
- "osascript",
42477
- "security",
42478
- "codesign",
42479
- "hdiutil",
42480
- "installer",
42481
- "lipo",
42482
- "otool",
42483
- "dscl",
42484
- "scutil"
42485
- ]);
42486
- /**
42487
- * Fix command prefix duplication from token boundary splits.
42488
- * Token corruption can double a multi-char prefix: grep → grgrep, ls → lsls.
42489
- * Check if the first token starts with a repeated prefix that, when removed,
42490
- * yields a known command.
42491
- *
42492
- * Examples: grgrep → grep, lsls → ls, catcat → cat, curlcurl → curl
42493
- */
42494
- function dedupCommandPrefix(command) {
42495
- const match = command.match(/^([a-zA-Z0-9_-]+)/);
42496
- if (!match) return command;
42497
- const firstToken = match[1];
42498
- if (KNOWN_COMMANDS.has(firstToken)) return command;
42499
- for (let prefixLen = 2; prefixLen <= Math.min(10, Math.floor(firstToken.length / 2)); prefixLen++) {
42500
- const prefix = firstToken.slice(0, prefixLen);
42501
- const candidate = firstToken.slice(prefixLen);
42502
- if (candidate.startsWith(prefix.slice(0, Math.min(prefix.length, candidate.length))) && KNOWN_COMMANDS.has(candidate)) return candidate + command.slice(firstToken.length);
42503
- }
42504
- return command;
42505
- }
42506
- /**
42507
42312
  * Validate that a command string contains extractable valid shell syntax.
42508
42313
  * Returns the cleaned command if valid, or an error reason if not.
42509
42314
  *
@@ -42522,7 +42327,6 @@ function validateShellCommand(command) {
42522
42327
  cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
42523
42328
  cleaned = cleanResidualTokenFragments(cleaned);
42524
42329
  }
42525
- cleaned = dedupCommandPrefix(cleaned);
42526
42330
  if (!cleaned || !cleaned.trim()) return {
42527
42331
  valid: false,
42528
42332
  cleaned: "",
@@ -50960,7 +50764,7 @@ async function deliverSessionMaintenanceWarning(params) {
50960
50764
  return;
50961
50765
  }
50962
50766
  try {
50963
- const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.js").then((n) => n.n);
50767
+ const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
50964
50768
  await deliverOutboundPayloads({
50965
50769
  cfg: params.cfg,
50966
50770
  channel,
@@ -54406,7 +54210,7 @@ async function describeStickerImage(params) {
54406
54210
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
54407
54211
  try {
54408
54212
  const buffer = await fs$1.readFile(imagePath);
54409
- const { describeImageWithModel } = await import("./image-CHzdaNJ4.js").then((n) => n.n);
54213
+ const { describeImageWithModel } = await import("./image-DcpMiprB.js").then((n) => n.n);
54410
54214
  return (await describeImageWithModel({
54411
54215
  buffer,
54412
54216
  fileName: "sticker.webp",
@@ -57068,7 +56872,7 @@ async function preflightDiscordMessage(params) {
57068
56872
  let preflightTranscript;
57069
56873
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
57070
56874
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
57071
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
56875
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
57072
56876
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
57073
56877
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
57074
56878
  ctx: {
@@ -60851,7 +60655,7 @@ function isVoiceChannelType(type) {
60851
60655
  function createDefaultDeps() {
60852
60656
  return {
60853
60657
  sendMessageWhatsApp: async (...args) => {
60854
- const { sendMessageWhatsApp } = await import("./web-DNZZb5tb.js");
60658
+ const { sendMessageWhatsApp } = await import("./web-mQInjWbW.js");
60855
60659
  return await sendMessageWhatsApp(...args);
60856
60660
  },
60857
60661
  sendMessageTelegram: async (...args) => {
@@ -63756,7 +63560,7 @@ function createDiscordGatewayPlugin(params) {
63756
63560
  super(options);
63757
63561
  }
63758
63562
  createWebSocket(url) {
63759
- return new WebSocket$1(url, { agent });
63563
+ return new WebSocket(url, { agent });
63760
63564
  }
63761
63565
  }
63762
63566
  return new ProxyGatewayPlugin();
@@ -73974,7 +73778,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
73974
73778
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73975
73779
  let preflightTranscript;
73976
73780
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73977
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
73781
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
73978
73782
  preflightTranscript = await transcribeFirstAudio({
73979
73783
  ctx: {
73980
73784
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76131,7 +75935,7 @@ function loadWebLoginQr() {
76131
75935
  return webLoginQrPromise;
76132
75936
  }
76133
75937
  function loadWebChannel() {
76134
- webChannelPromise ??= import("./web-DNZZb5tb.js");
75938
+ webChannelPromise ??= import("./web-mQInjWbW.js");
76135
75939
  return webChannelPromise;
76136
75940
  }
76137
75941
  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-BmV60pPT.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-CDJYxX5a.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-D2SKJnR7.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-De-KR9_s.js");
934
+ return await import("./pw-ai-1htA-NnS.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-De-KR9_s.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-De-KR9_s.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-1htA-NnS.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -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-DHBLS1Hl.js";
5
- import { m as loadSymiPlugins } from "./subagent-registry-D0mKE_3q.js";
5
+ import { m as loadSymiPlugins } from "./subagent-registry-J2pIBQF7.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { ft as loadSymiPlugins } from "./reply-t3rS1c2M.js";
2
+ import { ft as loadSymiPlugins } from "./reply-DUZvOCsG.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";
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
- import { _ as createAccountListHelpers } from "./accounts-D9zGZU5t.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-Ddm33hQm.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -1,8 +1,8 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { a as resolveOAuthDir } from "./paths-DR2yt_mP.js";
3
- import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry--_pGht6S.js";
4
- import { i as defaultRuntime } from "./subsystem-Coz2AgU8.js";
5
- import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
3
+ import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry-D0xTnUWt.js";
4
+ import { i as defaultRuntime } from "./subsystem-B2uDN3TV.js";
5
+ import { t as formatCliCommand } from "./command-format-GKSevep4.js";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
8
  import fs$1 from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
- import { _ as createAccountListHelpers } from "./accounts-D9zGZU5t.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-Ddm33hQm.js";
3
3
 
4
4
  //#region src/imessage/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -1,5 +1,5 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID } from "./session-key-C_0eELjb.js";
2
- import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
2
+ import { t as formatCliCommand } from "./command-format-GKSevep4.js";
3
3
 
4
4
  //#region src/web/active-listener.ts
5
5
  const listeners = /* @__PURE__ */ new Map();
@@ -1,7 +1,7 @@
1
1
  import { _ as isCronSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-C_0eELjb.js";
2
2
  import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
3
- import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry--_pGht6S.js";
4
- import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
3
+ import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry-D0xTnUWt.js";
4
+ import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-B2uDN3TV.js";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
7
  import os from "node:os";
@@ -1,4 +1,4 @@
1
- import { c as normalizeProviderId } from "./model-selection-OpU8HN50.js";
1
+ import { c as normalizeProviderId } from "./model-selection-CsbEfrS0.js";
2
2
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
3
3
 
4
4
  //#region src/infra/gemini-auth.ts
@@ -1,34 +1,34 @@
1
- import "./accounts-D9zGZU5t.js";
1
+ import "./accounts-Ddm33hQm.js";
2
2
  import "./paths-DR2yt_mP.js";
3
3
  import "./github-copilot-token-D9X2phUj.js";
4
- import "./plugins-BbAvhC25.js";
5
- import { K as logVerbose, Y as shouldLogVerbose } from "./registry--_pGht6S.js";
6
- import "./config-DDkdiUOR.js";
7
- import "./subsystem-Coz2AgU8.js";
8
- import "./command-format-DSdvQ_M5.js";
9
- import "./model-selection-OpU8HN50.js";
10
- import "./agent-scope-C3gMMKCU.js";
11
- import "./manifest-registry-B3ugY9-f.js";
4
+ import "./plugins-BNByVCIH.js";
5
+ import { K as logVerbose, Y as shouldLogVerbose } from "./registry-D0xTnUWt.js";
6
+ import "./config-KlTNfkFF.js";
7
+ import "./subsystem-B2uDN3TV.js";
8
+ import "./command-format-GKSevep4.js";
9
+ import "./model-selection-CsbEfrS0.js";
10
+ import "./agent-scope-CYYpcO9W.js";
11
+ import "./manifest-registry-CPnHl_K3.js";
12
12
  import "./redact-DPnDWsnT.js";
13
13
  import "./errors-Bv8oZiTO.js";
14
- import "./image-ops-Bnp6LXEx.js";
14
+ import "./image-ops-BlQR__MN.js";
15
15
  import "./ssrf-DKZ8eBrk.js";
16
- import "./local-roots-Ckk1QfzI.js";
17
- import "./message-channel-BdI5Ra9S.js";
18
- import "./bindings-BbwoUGPx.js";
19
- import "./tool-images-D7Lno-TE.js";
20
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BVqnEfNe.js";
21
- import "./skills-B1GeRYlu.js";
22
- import "./chrome-C7c_0I5M.js";
23
- import "./thinking-DCNUIAHY.js";
24
- import "./accounts-Dtszw3Zn.js";
25
- import "./accounts-BToL3HlP.js";
26
- import "./pi-embedded-helpers-BveUP4hk.js";
16
+ import "./local-roots-BHLNSI8U.js";
17
+ import "./message-channel-COTAJzHd.js";
18
+ import "./bindings-C7hRtgYW.js";
19
+ import "./tool-images-HJ2sfZDV.js";
20
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-CGBT7tgF.js";
21
+ import "./skills-_yTP47Cd.js";
22
+ import "./chrome-B7RdxmJ0.js";
23
+ import "./thinking-CXqf7WTe.js";
24
+ import "./accounts-s-AdhXVR.js";
25
+ import "./accounts-BtaOa4z_.js";
26
+ import "./pi-embedded-helpers-CW630epe.js";
27
27
  import "./paths-A0xdf3yk.js";
28
- import "./store-Do3t33-c.js";
29
- import "./image-BOYy0Ump.js";
28
+ import "./store-BdrNabcU.js";
29
+ import "./image-CLOPx7yW.js";
30
30
  import "./pi-model-discovery-LbcEa65a.js";
31
- import "./api-key-rotation-CVBMpnPc.js";
31
+ import "./api-key-rotation-D_sMvI5W.js";
32
32
 
33
33
  //#region src/media-understanding/audio-preflight.ts
34
34
  /**
@@ -1,6 +1,6 @@
1
1
  import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
- import { s as normalizeChatChannelId } from "./registry--_pGht6S.js";
3
- import { c as resolveDefaultAgentId } from "./agent-scope-C3gMMKCU.js";
2
+ import { s as normalizeChatChannelId } from "./registry-D0xTnUWt.js";
3
+ import { c as resolveDefaultAgentId } from "./agent-scope-CYYpcO9W.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
6
6
  function normalizeBindingChannelId(raw) {
@@ -1,4 +1,4 @@
1
- import { n as retryAsync, t as resolveRetryConfig } from "./retry-ilSJqnz9.js";
1
+ import { n as retryAsync, t as resolveRetryConfig } from "./retry-CwQ_iIj8.js";
2
2
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
3
3
  import { RateLimitError } from "@buape/carbon";
4
4