@symerian/symi 2.6.9 → 2.6.11

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 (174) hide show
  1. package/dist/{accounts-BRw8yhIW.js → accounts-D1r2dq1t.js} +21 -21
  2. package/dist/{accounts-3dCrO3oZ.js → accounts-dRUMQQrB.js} +1 -1
  3. package/dist/{accounts-BuZxOb3B.js → accounts-wSphH5gv.js} +1 -1
  4. package/dist/{active-listener-CfHHV2SU.js → active-listener-DFUTUjxt.js} +1 -1
  5. package/dist/{agent-scope-CpEJ0B88.js → agent-scope-D68_xfTL.js} +3 -3
  6. package/dist/{agents-yeSooTtP.js → agents-DRRBdgqz.js} +4 -4
  7. package/dist/{agents.config-DoTRueo1.js → agents.config-BO1N5Z_6.js} +1 -1
  8. package/dist/{agents.config-XOcM83Bx.js → agents.config-GCucbcBy.js} +1 -1
  9. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  10. package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-CjV36MUe.js} +29 -29
  11. package/dist/{auth-choice-CSfG00oW.js → auth-choice-C1sul2-I.js} +1 -1
  12. package/dist/{auth-choice-6h5vk1cG.js → auth-choice-i7tTgbDd.js} +1 -1
  13. package/dist/{auth-profiles-DdK1Hxaa.js → auth-profiles-Bl9aU7fc.js} +17 -17
  14. package/dist/{banner-C2tjwP2M.js → banner-VbhMdl-b.js} +1 -1
  15. package/dist/{bindings-BsHoBLIE.js → bindings-Bat2RnAR.js} +2 -2
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +53 -53
  18. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  19. package/dist/bundled/command-logger/handler.js +1 -1
  20. package/dist/bundled/session-memory/handler.js +53 -53
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-activity-B6G1jnQT.js → channel-activity-DK0AV-r9.js} +1 -1
  23. package/dist/{channel-options-CHyjRl0C.js → channel-options-CsXOvqAc.js} +1 -1
  24. package/dist/{channel-options-5wdTOBFJ.js → channel-options-Esf0QB4M.js} +1 -1
  25. package/dist/{channel-web-VYYpZqcw.js → channel-web-DDC84nZg.js} +1 -1
  26. package/dist/{channels-cli-Dm1d93Oy.js → channels-cli-C989dAD4.js} +4 -4
  27. package/dist/{channels-cli-CNS4BcpR.js → channels-cli-DomEe8uI.js} +4 -4
  28. package/dist/{chrome-DYZwl5Gv.js → chrome-D2SKJnR7.js} +5 -5
  29. package/dist/{chrome-CDJYxX5a.js → chrome-DRHvMBbb.js} +16 -16
  30. package/dist/{chunk-09egQapi.js → chunk-DR8ukp6r.js} +1 -1
  31. package/dist/{cli-D4MEJZ7W.js → cli-CPRCkEdK.js} +1 -1
  32. package/dist/{cli-DqQ3teJy.js → cli-RXswESw1.js} +1 -1
  33. package/dist/{command-registry-yzABgrim.js → command-registry-DwBw5-nh.js} +9 -9
  34. package/dist/{commands-registry-Bfc7Uz0o.js → commands-registry-DIakZUZb.js} +4 -4
  35. package/dist/{completion-cli-DDCDJyTb.js → completion-cli-C43sjF75.js} +2 -2
  36. package/dist/{completion-cli-zI_h8pr3.js → completion-cli-Cwx8MtF9.js} +1 -1
  37. package/dist/{config-5SdHIcHU.js → config-CvmE3Yx1.js} +12 -12
  38. package/dist/{config-cli-vqQE9gkx.js → config-cli-CkkIU7AY.js} +1 -1
  39. package/dist/{config-cli-Bth4qEO1.js → config-cli-DG0xBZhs.js} +1 -1
  40. package/dist/{configure-DyeOg2hp.js → configure-DlVtomYJ.js} +3 -3
  41. package/dist/{configure-DU1IcIoq.js → configure-nxnXIUVI.js} +3 -3
  42. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  43. package/dist/{deliver-dODxSv3b.js → deliver-UMgfGLxW.js} +20 -20
  44. package/dist/{diagnostic-rPhsBoZz.js → diagnostic-spWOtH_g.js} +1 -1
  45. package/dist/{doctor-completion-R-1oda1v.js → doctor-completion-CWr51Q4O.js} +1 -1
  46. package/dist/{doctor-completion-BbWijhz0.js → doctor-completion-Dd5P0i9L.js} +1 -1
  47. package/dist/entry.js +1 -1
  48. package/dist/{env-BDXYbTKj.js → env-xmBFQPBP.js} +1 -1
  49. package/dist/extensionAPI.js +6 -6
  50. package/dist/{frontmatter-CTR5f_Ez.js → frontmatter-CV0YkjoY.js} +2 -2
  51. package/dist/{gateway-cli-BFWLsB3b.js → gateway-cli-B1h1FhD-.js} +9 -9
  52. package/dist/{gateway-cli-DGKFkUrv.js → gateway-cli-BBJjWKyu.js} +9 -9
  53. package/dist/{gemini-auth-Dy12ZAH3.js → gemini-auth-C6Z-2T42.js} +1 -1
  54. package/dist/{github-copilot-token-cCYzSU9h.js → github-copilot-token-B8B2pmph.js} +7 -7
  55. package/dist/{glass-ui-ws-DDgLRQXa.js → glass-ui-ws-Bk01KSVI.js} +7 -7
  56. package/dist/{glass-ui-ws-DFRu8a15.js → glass-ui-ws-UewDPjVh.js} +7 -7
  57. package/dist/{health-BxPSqsO6.js → health-BiipZUOd.js} +1 -1
  58. package/dist/{health-CJ7Y6Rln.js → health-Dzi6letr.js} +1 -1
  59. package/dist/{hooks-cli-elIqdnzb.js → hooks-cli-BdelOAPH.js} +2 -2
  60. package/dist/{hooks-cli-BAVmPXDl.js → hooks-cli-DxRXaSHR.js} +2 -2
  61. package/dist/{image-CXu8W39c.js → image-CK4oZUJJ.js} +4 -4
  62. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  63. package/dist/{image-ops-C7CauEK8.js → image-ops-M5agStZn.js} +16 -16
  64. package/dist/index.js +6 -6
  65. package/dist/{ir-CTiz95Vb.js → ir-B-XXcYFe.js} +4 -4
  66. package/dist/llm-slug-generator.js +53 -53
  67. package/dist/{local-roots-DhZz0Ybs.js → local-roots-CdXg5-Cx.js} +5 -5
  68. package/dist/{login-ul8zaw_S.js → login-BHUrERYo.js} +7 -7
  69. package/dist/{login-qr-AP9agO-i.js → login-qr-BKIOHn1V.js} +12 -12
  70. package/dist/{manager-PprhCvO_.js → manager-DW3JqFpY.js} +22 -22
  71. package/dist/{manifest-registry-yb7sAlu4.js → manifest-registry-0J48biqr.js} +19 -19
  72. package/dist/{markdown-tables-C-BmIap8.js → markdown-tables-tW9bGjLM.js} +1 -1
  73. package/dist/{message-channel-OlFBYAw8.js → message-channel-DwDSKGn4.js} +1 -1
  74. package/dist/{models-CIUYv1__.js → models-DUrbBEOU.js} +2 -2
  75. package/dist/{models-cli-DmffFgOZ.js → models-cli-CF0KZtK4.js} +2 -2
  76. package/dist/{models-cli-ydxkD2B-.js → models-cli-D5KE-evn.js} +3 -3
  77. package/dist/{onboard-DhJBvsPB.js → onboard-Bizq_LAS.js} +2 -2
  78. package/dist/{onboard-BBZMfGdo.js → onboard-DK-oOqRl.js} +2 -2
  79. package/dist/{onboard-channels-LCDTtAGK.js → onboard-channels-B6yLPqH5.js} +1 -1
  80. package/dist/{onboard-channels-0wtc-NTC.js → onboard-channels-DSZzjOo1.js} +1 -1
  81. package/dist/{onboarding-Bm11jSTl.js → onboarding-CkWWIQA7.js} +3 -3
  82. package/dist/{onboarding-Bs7a2RIn.js → onboarding-DGSCNnGY.js} +3 -3
  83. package/dist/{onboarding.finalize-fdahnZvf.js → onboarding.finalize-BMGwhjIR.js} +6 -6
  84. package/dist/{onboarding.finalize-DOpAnwny.js → onboarding.finalize-Dj0noUgo.js} +5 -5
  85. package/dist/{outbound-CtMCmwxR.js → outbound-CIVsLpJK.js} +7 -7
  86. package/dist/{outbound-attachment-DJldbweZ.js → outbound-attachment-CHcmlip8.js} +2 -2
  87. package/dist/paths-CYmyCDsE.js +212 -0
  88. package/dist/{paths-CbQV9WEg.js → paths-DEuVuViW.js} +1 -1
  89. package/dist/{pi-auth-json-Bk8ERadJ.js → pi-auth-json-BYuCWAs0.js} +8 -8
  90. package/dist/{pi-embedded-BwQa2XMa.js → pi-embedded-DLma-HLn.js} +60 -17
  91. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  92. package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-BU8EZuwx.js} +73 -73
  93. package/dist/{plugin-registry-CQCjMWVC.js → plugin-registry-BcgpVdtC.js} +1 -1
  94. package/dist/{plugin-registry-D3CP_n5q.js → plugin-registry-D8PAS3Sx.js} +1 -1
  95. package/dist/plugin-sdk/{channel-web-B76ttiD9.js → channel-web-DgNOPxkV.js} +1 -1
  96. package/dist/plugin-sdk/index.js +2 -2
  97. package/dist/plugin-sdk/{reply-CQPVXorK.js → reply-DJN8Xcq2.js} +46 -3
  98. package/dist/plugin-sdk/{web-DtkJFFr4.js → web-HkDBSFef.js} +2 -2
  99. package/dist/{plugins-BzmbgY7s.js → plugins-Bkr5ZdYs.js} +9 -9
  100. package/dist/{plugins-cli-FUQHZ6tU.js → plugins-cli-B_ln22KG.js} +2 -2
  101. package/dist/{plugins-cli-D_r2gFIY.js → plugins-cli-Bcmq1fs1.js} +2 -2
  102. package/dist/{program-DwrSPQU4.js → program-C_rxRb1M.js} +7 -7
  103. package/dist/{program-context-CN4mNmYa.js → program-context-BqH8IVSK.js} +17 -17
  104. package/dist/{prompt-select-styled-CK3VsV2a.js → prompt-select-styled-D8WAeDQY.js} +4 -4
  105. package/dist/{prompt-select-styled-BQW1Ropv.js → prompt-select-styled-DMRbQO0q.js} +4 -4
  106. package/dist/{provider-auth-helpers-CY8preuC.js → provider-auth-helpers-DiuVmtmQ.js} +1 -1
  107. package/dist/{provider-auth-helpers-Bg07iIOF.js → provider-auth-helpers-DstpUAya.js} +1 -1
  108. package/dist/{push-apns-D2hExRgY.js → push-apns-DKU4DgbI.js} +1 -1
  109. package/dist/{push-apns-6u2NUzOH.js → push-apns-be2xWY22.js} +1 -1
  110. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  111. package/dist/{pw-ai-B5asscAD.js → pw-ai-BTgmcNVp.js} +11 -11
  112. package/dist/{qmd-manager-iDLSiI4Z.js → qmd-manager-BKu9rOuB.js} +7 -7
  113. package/dist/{register.agent-BqRVkePg.js → register.agent-Dcd_oFsG.js} +6 -6
  114. package/dist/{register.agent-BhM4QQqa.js → register.agent-k7WxtPOd.js} +5 -5
  115. package/dist/{register.configure-0qzVn1Z5.js → register.configure-BOgCp-h4.js} +6 -6
  116. package/dist/{register.configure-BtnhfP3M.js → register.configure-DMHVPA-T.js} +6 -6
  117. package/dist/{register.maintenance-DrijKQoQ.js → register.maintenance-BdBlQQ6G.js} +8 -8
  118. package/dist/{register.maintenance-BNqMCfLm.js → register.maintenance-Bsbgpe-Z.js} +7 -7
  119. package/dist/{register.message-2iSjsSI-.js → register.message-BE0gDUQZ.js} +2 -2
  120. package/dist/{register.message-CGexab2Y.js → register.message-DAyubW1M.js} +2 -2
  121. package/dist/{register.onboard-D1b3xhDD.js → register.onboard-CTKa4O9W.js} +4 -4
  122. package/dist/{register.onboard-DIAkE9FI.js → register.onboard-CqavyaNa.js} +4 -4
  123. package/dist/{register.setup-Bvv5sUpg.js → register.setup-BO3CD8Pz.js} +4 -4
  124. package/dist/{register.setup-Clq3FwZo.js → register.setup-DpkI2F6r.js} +4 -4
  125. package/dist/{register.status-health-sessions-IPxdVhoD.js → register.status-health-sessions-C5Qa-DmU.js} +3 -3
  126. package/dist/{register.status-health-sessions-JHfNAhk3.js → register.status-health-sessions-ClDUpT3j.js} +3 -3
  127. package/dist/{register.subclis-C5wTDVDa.js → register.subclis-Bvil7KuO.js} +9 -9
  128. package/dist/{registry-DYq1AYOv.js → registry-UkL38jvt.js} +17 -17
  129. package/dist/{replies-LSmuwOhA.js → replies-mfnbLu2p.js} +3 -3
  130. package/dist/{reply-dzRBlsmK.js → reply-4ilKYVzu.js} +46 -3
  131. package/dist/{reply-prefix-DpqZu44Z.js → reply-prefix-DkGsdyBm.js} +1 -1
  132. package/dist/{resolve-route-C4_I4GFI.js → resolve-route-q8AFnU5c.js} +4 -4
  133. package/dist/{retry-BBVXkKBV.js → retry-CqMeDhyp.js} +1 -1
  134. package/dist/{run-main-jPbs3Gm5.js → run-main-D1n_tgGX.js} +14 -14
  135. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  136. package/dist/{runner-WAG0M5s9.js → runner-CKYly94z.js} +22 -22
  137. package/dist/{send-DYj_o4_F.js → send-B7z8CDbr.js} +18 -18
  138. package/dist/{send-CQAKg_12.js → send-Cd81AY_Z.js} +7 -7
  139. package/dist/{send-CvhXrdgS.js → send-D3zDmQim.js} +10 -10
  140. package/dist/{send-DAN9hA5h.js → send-XRUYukww.js} +6 -6
  141. package/dist/{send-CVMyYPQw.js → send-qItpAHcI.js} +6 -6
  142. package/dist/{server-methods-DuaVOb2k.js → server-methods-BRdl4pcP.js} +7 -7
  143. package/dist/{server-methods-CJbZTdch.js → server-methods-VC0ahxUh.js} +7 -7
  144. package/dist/{server-node-events-BgFWyVCV.js → server-node-events-Bq2fr8Z3.js} +2 -2
  145. package/dist/{server-node-events-DesNIafd.js → server-node-events-Y5xFGvsj.js} +2 -2
  146. package/dist/{session-DSU1vxxi.js → session-Dh2wWQkD.js} +8 -8
  147. package/dist/{skill-commands-DcVwOafC.js → skill-commands-B_f8uGi7.js} +16 -16
  148. package/dist/{skills-Bs0AW1g3.js → skills-CGHRETGF.js} +24 -24
  149. package/dist/{sqlite-D_mz1_-y.js → sqlite-Bv87EXeg.js} +16 -16
  150. package/dist/{status-BV22IA25.js → status-BxNHXm7T.js} +1 -1
  151. package/dist/{status-DOB2UmDg.js → status-CRCD2RpZ.js} +2 -2
  152. package/dist/{status-Bxkdy4Dq.js → status-DNJBoKuu.js} +1 -1
  153. package/dist/{status-BxfE61b4.js → status-DOCg6R55.js} +2 -2
  154. package/dist/{store-01F_JM7O.js → store-Ea3zM6xK.js} +6 -6
  155. package/dist/{subagent-registry-DEdqc42m.js → subagent-registry-7wPEZQKK.js} +46 -3
  156. package/dist/{subsystem-BjyjJF-d.js → subsystem-DN75fnEF.js} +1 -1
  157. package/dist/{tables-qMwbq29u.js → tables-BX7_aBvN.js} +1 -1
  158. package/dist/{target-errors-Bbr9rlzN.js → target-errors-7KhTCTdS.js} +2 -2
  159. package/dist/{thinking-BprCy23Z.js → thinking-C9-JAUzD.js} +5 -5
  160. package/dist/{tokens-Bux9Y_xD.js → tokens-BZGy4v--.js} +1 -1
  161. package/dist/{tool-images-SqqWIT22.js → tool-images-B1qVCntj.js} +2 -2
  162. package/dist/{tool-loop-detection-DR_rrIA1.js → tool-loop-detection-C8FBZVVx.js} +3 -3
  163. package/dist/{unified-runner-BIj2b1Y-.js → unified-runner-quomT1T-.js} +268 -225
  164. package/dist/{update-cli-CNlljdlx.js → update-cli-CcyCWvCB.js} +8 -8
  165. package/dist/{update-cli-D4OgWd1l.js → update-cli-FOE23Lo4.js} +7 -7
  166. package/dist/{update-runner-CZd6ajL6.js → update-runner-CJg-OANA.js} +1 -1
  167. package/dist/{update-runner-Dtay-1lf.js → update-runner-Dcjlf0aY.js} +1 -1
  168. package/dist/{web-qJRZWEaD.js → web-BTmqdXgt.js} +2 -2
  169. package/dist/{web-DUi3cu-p.js → web-CuNZExQK.js} +1 -1
  170. package/dist/{web-B-E-mzTK.js → web-DPBfrIzo.js} +6 -6
  171. package/dist/{web-DP9s1zzp.js → web-DcHxbz2H.js} +57 -57
  172. package/dist/{whatsapp-actions-BIeSWsCF.js → whatsapp-actions-SXenaJIn.js} +23 -23
  173. package/dist/{workspace-DscDraUb.js → workspace-DqJ5h-ZB.js} +27 -27
  174. package/package.json +1 -1
@@ -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({
@@ -39608,7 +39608,9 @@ function stripModelTokensAggressive(text, modelId) {
39608
39608
  */
39609
39609
  function cleanResidualTokenFragments(text) {
39610
39610
  if (!text) return text;
39611
- return text.replace(/^[<"|]+(?!<[A-Z_])(?=[a-zA-Z0-9/~$.(])/gm, "").replace(/[<"|]+$/gm, "").trim();
39611
+ let result = text.replace(/^[<"|]+(?!<[A-Z_])(?=[a-zA-Z0-9/~$.(])/gm, "").replace(/[<"|]+$/gm, "").trim();
39612
+ if (result.length >= 2 && result.length < 20 && !result.includes(" ") && !result.includes("-") && !result.includes("/") && !result.includes(".") && result[0] === result[1]) result = result.slice(1);
39613
+ return result;
39612
39614
  }
39613
39615
 
39614
39616
  //#endregion
@@ -42399,15 +42401,56 @@ function sanitizeParams(params) {
42399
42401
  };
42400
42402
  }
42401
42403
  /**
42404
+ * Build a usage example string from a tool's JSON schema for helpful error messages.
42405
+ * Returns something like: web_search({ query: "<search terms>" })
42406
+ */
42407
+ function buildToolUsageExample(toolName, schema) {
42408
+ const props = schema?.properties;
42409
+ if (!props || typeof props !== "object") return `${toolName}({ ... })`;
42410
+ return `${toolName}({ ${Object.entries(props).slice(0, 4).map(([key, def]) => {
42411
+ const typeDef = def;
42412
+ if (Array.isArray(typeDef?.enum)) return `${key}: "${typeDef.enum[0]}"`;
42413
+ if (typeDef?.type === "string") return `${key}: "<${typeof typeDef.description === "string" ? typeDef.description.slice(0, 30) : key}>"`;
42414
+ return `${key}: ...`;
42415
+ }).join(", ")} })`;
42416
+ }
42417
+ /**
42418
+ * Extract required fields from a tool's JSON schema.
42419
+ */
42420
+ function getRequiredFields(schema) {
42421
+ const required = schema?.required;
42422
+ return Array.isArray(required) ? required.filter((r) => typeof r === "string") : [];
42423
+ }
42424
+ /**
42425
+ * Create a relaxed copy of a tool schema with required fields removed.
42426
+ * This allows args with missing fields to pass pi-agent-core's schema
42427
+ * validation, reaching our execute() wrapper where we can return a
42428
+ * helpful error message with a usage example.
42429
+ */
42430
+ function relaxSchema(schema) {
42431
+ if (!schema || typeof schema !== "object") return schema;
42432
+ const copy = { ...schema };
42433
+ delete copy.required;
42434
+ return copy;
42435
+ }
42436
+ /**
42402
42437
  * Wrap a single tool with universal argument sanitization.
42403
42438
  */
42404
42439
  function wrapToolWithArgValidation(tool) {
42405
42440
  const toolName = (tool.name ?? "").toLowerCase().trim();
42406
42441
  const isExecTool = EXEC_TOOL_NAMES.has(toolName);
42442
+ const originalRequired = getRequiredFields(tool.parameters);
42443
+ const usageExample = buildToolUsageExample(toolName, tool.parameters);
42407
42444
  const originalExecute = tool.execute;
42408
42445
  return {
42409
42446
  ...tool,
42447
+ parameters: relaxSchema(tool.parameters),
42410
42448
  execute(toolCallId, params, ...rest) {
42449
+ const missingFields = originalRequired.filter((field) => params[field] === void 0 || params[field] === null);
42450
+ if (missingFields.length > 0) {
42451
+ log$1.warn(`[validate] ${toolName} missing required fields: ${missingFields.join(", ")}`);
42452
+ return Promise.resolve({ output: `Error: Missing required argument${missingFields.length > 1 ? "s" : ""}: ${missingFields.join(", ")}. Please try again with all required arguments.\nExample: ${usageExample}` });
42453
+ }
42411
42454
  const { cleaned, changed } = sanitizeParams(params);
42412
42455
  if (changed) log$1.debug(`[validate] sanitized args for ${toolName}: ${Object.keys(params).filter((k) => cleaned[k] !== params[k]).join(",")}`);
42413
42456
  const effectiveParams = changed ? cleaned : params;
@@ -50711,7 +50754,7 @@ async function deliverSessionMaintenanceWarning(params) {
50711
50754
  return;
50712
50755
  }
50713
50756
  try {
50714
- const { deliverOutboundPayloads } = await import("./deliver-BH0l3UKW.js").then((n) => n.n);
50757
+ const { deliverOutboundPayloads } = await import("./deliver-C-37cZUe.js").then((n) => n.n);
50715
50758
  await deliverOutboundPayloads({
50716
50759
  cfg: params.cfg,
50717
50760
  channel,
@@ -54157,7 +54200,7 @@ async function describeStickerImage(params) {
54157
54200
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
54158
54201
  try {
54159
54202
  const buffer = await fs$1.readFile(imagePath);
54160
- const { describeImageWithModel } = await import("./image-CHzdaNJ4.js").then((n) => n.n);
54203
+ const { describeImageWithModel } = await import("./image-DcpMiprB.js").then((n) => n.n);
54161
54204
  return (await describeImageWithModel({
54162
54205
  buffer,
54163
54206
  fileName: "sticker.webp",
@@ -56819,7 +56862,7 @@ async function preflightDiscordMessage(params) {
56819
56862
  let preflightTranscript;
56820
56863
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
56821
56864
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
56822
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
56865
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
56823
56866
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
56824
56867
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
56825
56868
  ctx: {
@@ -60602,7 +60645,7 @@ function isVoiceChannelType(type) {
60602
60645
  function createDefaultDeps() {
60603
60646
  return {
60604
60647
  sendMessageWhatsApp: async (...args) => {
60605
- const { sendMessageWhatsApp } = await import("./web-B-E-mzTK.js");
60648
+ const { sendMessageWhatsApp } = await import("./web-DPBfrIzo.js");
60606
60649
  return await sendMessageWhatsApp(...args);
60607
60650
  },
60608
60651
  sendMessageTelegram: async (...args) => {
@@ -63507,7 +63550,7 @@ function createDiscordGatewayPlugin(params) {
63507
63550
  super(options);
63508
63551
  }
63509
63552
  createWebSocket(url) {
63510
- return new WebSocket$1(url, { agent });
63553
+ return new WebSocket(url, { agent });
63511
63554
  }
63512
63555
  }
63513
63556
  return new ProxyGatewayPlugin();
@@ -73725,7 +73768,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
73725
73768
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73726
73769
  let preflightTranscript;
73727
73770
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73728
- const { transcribeFirstAudio } = await import("./audio-preflight-C40mKAp7.js");
73771
+ const { transcribeFirstAudio } = await import("./audio-preflight-CPBOQV4I.js");
73729
73772
  preflightTranscript = await transcribeFirstAudio({
73730
73773
  ctx: {
73731
73774
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -75882,7 +75925,7 @@ function loadWebLoginQr() {
75882
75925
  return webLoginQrPromise;
75883
75926
  }
75884
75927
  function loadWebChannel() {
75885
- webChannelPromise ??= import("./web-B-E-mzTK.js");
75928
+ webChannelPromise ??= import("./web-DPBfrIzo.js");
75886
75929
  return webChannelPromise;
75887
75930
  }
75888
75931
  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,