@symerian/symi 2.0.15 → 2.0.17

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 (320) hide show
  1. package/dist/{acp-cli-BKh-53nn.js → acp-cli-DqQjT50N.js} +3 -3
  2. package/dist/{acp-cli-CRT2rkIR.js → acp-cli-SgZGC8og.js} +3 -3
  3. package/dist/{agents-CNsMe4Dr.js → agents-C4_0TzXm.js} +7 -7
  4. package/dist/{agents.config-yx78oSLx.js → agents.config-Bneyaqn6.js} +1 -1
  5. package/dist/{agents.config-CdDf19dm.js → agents.config-D9Ufj9CE.js} +1 -1
  6. package/dist/{audio-preflight-DSeaWZZW.js → audio-preflight-5w1q1hWh.js} +11 -11
  7. package/dist/{audio-preflight-B8ffbICW.js → audio-preflight-BiAp3Hvj.js} +5 -5
  8. package/dist/{audio-preflight-CO2seHjy.js → audio-preflight-Cpsd8C3J.js} +11 -11
  9. package/dist/{audio-preflight-DRQD_nt1.js → audio-preflight-mSUx5I34.js} +5 -5
  10. package/dist/{audit-CiugrQda.js → audit-BCHYqYge.js} +6 -6
  11. package/dist/{audit-DKUpFt8z.js → audit-FH7mu_3g.js} +6 -6
  12. package/dist/{auth-choice-CXMFi9LR.js → auth-choice-5u4JonD1.js} +4 -4
  13. package/dist/{auth-choice-mw9ndZQO.js → auth-choice-B8qrETy7.js} +4 -4
  14. package/dist/{banner-B-joBGLz.js → banner-CufnkY4K.js} +1 -1
  15. package/dist/{browser-cli-iXhPMwGZ.js → browser-cli-Cmyh_mQi.js} +4 -4
  16. package/dist/{browser-cli-Bk7Q_04S.js → browser-cli-n1RQ8OQs.js} +4 -4
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +14 -14
  19. package/dist/bundled/session-memory/handler.js +14 -14
  20. package/dist/{call-BQiCOxB6.js → call-BKOIc76f.js} +2 -2
  21. package/dist/{call-BNyqFDDZ.js → call-C30ffTSt.js} +2 -2
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-XPRRVrmU.js → channel-options-BBDX9s3H.js} +1 -1
  24. package/dist/{channel-options-D74Jofp4.js → channel-options-CxOu5Gvn.js} +1 -1
  25. package/dist/{channel-web-vRvvtf0S.js → channel-web-DxSaM7GA.js} +7 -7
  26. package/dist/{channels-cli-D3lj5dXo.js → channels-cli-CB6lWL72.js} +31 -31
  27. package/dist/{channels-cli-DgxPfJF7.js → channels-cli-CvtvmTOx.js} +32 -32
  28. package/dist/{chrome-B_zrSLce.js → chrome-1cQdPKbv.js} +8 -8
  29. package/dist/{chrome-BgIDB_SH.js → chrome-CPwj5x24.js} +1 -1
  30. package/dist/{chrome-D9OwvWm7.js → chrome-CUsfMVUk.js} +1 -1
  31. package/dist/{chrome-LmEyZdbC.js → chrome-DPu6LSX4.js} +8 -8
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-DQQAfUbo.js → cli-CU_pJKCD.js} +27 -27
  34. package/dist/{cli-Bg_5WQFe.js → cli-cDOiHmL7.js} +28 -28
  35. package/dist/{client-Cnoh7nRo.js → client-CQSyCS4M.js} +2 -1
  36. package/dist/{client-LeVQns9-.js → client-DMBZpU6X.js} +2 -1
  37. package/dist/{command-registry-Cde2LqTh.js → command-registry-D1zcgjTn.js} +11 -11
  38. package/dist/{completion-cli-KJUTWJP3.js → completion-cli-C8TsFimX.js} +2 -2
  39. package/dist/{completion-cli-Cx9htCOm.js → completion-cli-DWcx6gc6.js} +1 -1
  40. package/dist/{config-Dgn_cL29.js → config-BLe0R4JX.js} +3 -1
  41. package/dist/{config-BjGo9GnL.js → config-ClXqj_D1.js} +3 -1
  42. package/dist/{config-DM0K7qC1.js → config-CvuX_y8t.js} +3 -1
  43. package/dist/{config-amjzHiWZ.js → config-DehS9e5w.js} +3 -1
  44. package/dist/{config-cli-ozfA6MGF.js → config-cli-CEp26CMt.js} +2 -2
  45. package/dist/{config-cli-C5-P9Nzz.js → config-cli-DcjOWFbW.js} +2 -2
  46. package/dist/{config-guard-Cnu2qssk.js → config-guard-CGgFpviD.js} +3 -3
  47. package/dist/{config-guard-BpQn1MKk.js → config-guard-Ix_EcPkt.js} +2 -2
  48. package/dist/{config-validation-BHjDr-an.js → config-validation-BQnULegl.js} +1 -1
  49. package/dist/{config-validation-pVfqbrLy.js → config-validation-Ct_myZSl.js} +1 -1
  50. package/dist/{configure-ktsZw1bT.js → configure-B3aYKtwN.js} +10 -10
  51. package/dist/{configure-DiuQ_aTS.js → configure-DbqI2Bgi.js} +10 -10
  52. package/dist/{control-service-DVFF3PrV.js → control-service-CZ8lXYgi.js} +4 -4
  53. package/dist/{control-service-DMz_CcLi.js → control-service-DI1Do6Nn.js} +4 -4
  54. package/dist/control-ui/css/style.css +9 -0
  55. package/dist/control-ui/js/app.js +137 -0
  56. package/dist/control-ui/js/gateway.js +10 -2
  57. package/dist/{cron-cli-iWejT5dL.js → cron-cli-BH6kt3EZ.js} +4 -4
  58. package/dist/{cron-cli-BVy2Ysgu.js → cron-cli-NJy3v3Eb.js} +4 -4
  59. package/dist/{daemon-cli-CFZpc0hg.js → daemon-cli-BuOGkn7L.js} +6 -6
  60. package/dist/{daemon-cli-BU1FofT_.js → daemon-cli-CweZn-1O.js} +6 -6
  61. package/dist/daemon-cli.js +5 -2
  62. package/dist/{daemon-runtime-B38pOixq.js → daemon-runtime-C1t_OfMD.js} +1 -1
  63. package/dist/{daemon-runtime-CjgoCPLb.js → daemon-runtime-D1K-9VEC.js} +1 -1
  64. package/dist/{deliver-B3UoBZdC.js → deliver-BorDF5OG.js} +2 -2
  65. package/dist/{deliver-DONp5mgd.js → deliver-CIc_l0o6.js} +3 -3
  66. package/dist/{deliver-CkjSfucB.js → deliver-D8xILUUI.js} +2 -2
  67. package/dist/{deliver-2Y_F_0yh.js → deliver-DqqfC-g1.js} +3 -3
  68. package/dist/{devices-cli-CKAh6Hnl.js → devices-cli-BE5ZzcA7.js} +3 -3
  69. package/dist/{devices-cli-DC8knKQP.js → devices-cli-BUdOf8m2.js} +3 -3
  70. package/dist/{directory-cli-DH9ww80p.js → directory-cli-BBdctcDF.js} +1 -1
  71. package/dist/{directory-cli-B0H80BMR.js → directory-cli-DQHIn9um.js} +1 -1
  72. package/dist/{dns-cli-Lzt29-Zu.js → dns-cli-6H_E37de.js} +1 -1
  73. package/dist/{dns-cli-CVMQnrzw.js → dns-cli-mCiUyfvk.js} +1 -1
  74. package/dist/{doctor-completion-CrN6Ly8x.js → doctor-completion-CAdewURI.js} +1 -1
  75. package/dist/{doctor-completion-Vwi_je1c.js → doctor-completion-CXUM27y3.js} +1 -1
  76. package/dist/{doctor-config-flow-B150h841.js → doctor-config-flow-BWD9G2UQ.js} +2 -2
  77. package/dist/{doctor-config-flow-C_56SUPO.js → doctor-config-flow-CthAM9my.js} +2 -2
  78. package/dist/entry.js +1 -1
  79. package/dist/{exec-approvals-cli-CfrLzlfe.js → exec-approvals-cli-CYKHeoEA.js} +5 -5
  80. package/dist/{exec-approvals-cli-D7ZfJtB3.js → exec-approvals-cli-CjU3pZzx.js} +5 -5
  81. package/dist/extensionAPI.js +14 -14
  82. package/dist/{gateway-cli-CwO3878F.js → gateway-cli-Bs96hk7L.js} +44 -44
  83. package/dist/{gateway-cli-DyqK4XZ1.js → gateway-cli-n-kmAuP8.js} +43 -43
  84. package/dist/{gateway-rpc-XxpDa3Bd.js → gateway-rpc-0C2uJScX.js} +1 -1
  85. package/dist/{gateway-rpc-BnsXD9QK.js → gateway-rpc-CTqBFfgd.js} +1 -1
  86. package/dist/{glass-ui-ws-BmqwQaCf.js → glass-ui-ws-DFYRIWTO.js} +46 -40
  87. package/dist/{glass-ui-ws-zVNodseh.js → glass-ui-ws-mIHlWvBv.js} +45 -39
  88. package/dist/{health-UjXEBnzA.js → health-CpbZDInE.js} +5 -5
  89. package/dist/{health-Q1RP1M2f.js → health-gsbXEgFI.js} +5 -5
  90. package/dist/{hooks-cli-D4qJl6do.js → hooks-cli-SJWnM2SY.js} +29 -29
  91. package/dist/{hooks-cli-DOT9uGZw.js → hooks-cli-iVG6fkFc.js} +28 -28
  92. package/dist/{image-DrZEJQwQ.js → image-DIzd7Gw9.js} +2 -2
  93. package/dist/{image-B4LY9KFw.js → image-DWOvY8sR.js} +2 -2
  94. package/dist/{image-CSeAnozE.js → image-DrkD-6sg.js} +2 -2
  95. package/dist/{image-RFofsrof.js → image-GHA29jwQ.js} +2 -2
  96. package/dist/index.js +36 -36
  97. package/dist/{lifecycle-core-BYV6-zd8.js → lifecycle-core-CE8aXuLe.js} +2 -2
  98. package/dist/{lifecycle-core-De5BcVI4.js → lifecycle-core-CPLYFbS4.js} +2 -2
  99. package/dist/llm-slug-generator.js +14 -14
  100. package/dist/{login-CXSct1EH.js → login-BcCF4noU.js} +2 -2
  101. package/dist/{login-BH17fJ5L.js → login-C5eMLg1G.js} +2 -2
  102. package/dist/{login-BG_7eJLu.js → login-DNeGXcjV.js} +2 -2
  103. package/dist/{login-BZYFLDxo.js → login-_Ynqrjet.js} +2 -2
  104. package/dist/{login-qr-zVpxocbF.js → login-qr-CYEYc0Vo.js} +2 -2
  105. package/dist/{login-qr-9OQSnm5L.js → login-qr-CzD7_Pru.js} +2 -2
  106. package/dist/{login-qr-DoNfx43Q.js → login-qr-DjXNemMm.js} +2 -2
  107. package/dist/{login-qr-BLmEvZVj.js → login-qr-E4YwhoPt.js} +2 -2
  108. package/dist/{logs-cli-DfFvgxqj.js → logs-cli-BLp5AOM0.js} +4 -4
  109. package/dist/{logs-cli-D3iVwGDc.js → logs-cli-CIQ4qmRW.js} +4 -4
  110. package/dist/{manager-B5EXdBQV.js → manager-BmHL5ETi.js} +134 -17
  111. package/dist/{manager-CYHgFXd8.js → manager-CPQ2pEj3.js} +134 -17
  112. package/dist/{manager-C_DoJrcP.js → manager-Oiy1uHsu.js} +134 -17
  113. package/dist/{manager-oiX42wby.js → manager-oQJvFR6J.js} +134 -17
  114. package/dist/{memory-cli-BhnOq4Ev.js → memory-cli-BUoM-v1-.js} +206 -3
  115. package/dist/{memory-cli-D4J9SO7Z.js → memory-cli-CGRSXKeF.js} +206 -3
  116. package/dist/{model-catalog-DjJ9GtKX.js → model-catalog-DZbVIJnH.js} +3 -3
  117. package/dist/{model-catalog-Dj5pIc1G.js → model-catalog-sW2MkIv9.js} +2 -2
  118. package/dist/{model-picker-ay4NPk8S.js → model-picker-BJBeaNrK.js} +2 -2
  119. package/dist/{model-picker-DXwUsLAy.js → model-picker-DUl7Gvdh.js} +2 -2
  120. package/dist/{models-DKsiIvSx.js → models-LtuCAbk5.js} +8 -8
  121. package/dist/{models-cli-ULbdeSgc.js → models-cli-CB2zHB3Q.js} +31 -31
  122. package/dist/{models-cli-BS6UJ98e.js → models-cli-DEQCqsfo.js} +31 -31
  123. package/dist/{models-config-u4va9_AO.js → models-config-BH6-rmtt.js} +1 -1
  124. package/dist/{models-config-Cb41NmVa.js → models-config-DT09Fas0.js} +1 -1
  125. package/dist/{node-cli-BDruQPgf.js → node-cli-BnZT8tc-.js} +10 -10
  126. package/dist/{node-cli-Dq7jjGmU.js → node-cli-znp1IPL2.js} +10 -10
  127. package/dist/{nodes-cli-CO1-qlpY.js → nodes-cli-C8L5ablK.js} +4 -4
  128. package/dist/{nodes-cli-D71AOvPL.js → nodes-cli-D3bHqKX1.js} +4 -4
  129. package/dist/{onboard-Bt-BwfkR.js → onboard-B725u5vG.js} +7 -7
  130. package/dist/{onboard-B387frTY.js → onboard-Dz7lPFv1.js} +7 -7
  131. package/dist/{onboard-channels-COcxT5Q0.js → onboard-channels-DPb8R8S3.js} +1 -1
  132. package/dist/{onboard-channels-ybPEmcP8.js → onboard-channels-DjG2jZUq.js} +1 -1
  133. package/dist/{onboard-custom-BKR6vm2R.js → onboard-custom-CFqoXgjd.js} +2 -2
  134. package/dist/{onboard-custom-DoIhWPnb.js → onboard-custom-in5WChfX.js} +2 -2
  135. package/dist/{onboard-helpers-CUQrf3zD.js → onboard-helpers-BmDQMRZ7.js} +2 -2
  136. package/dist/{onboard-helpers-BuSj9DUm.js → onboard-helpers-_sSsfEAa.js} +2 -2
  137. package/dist/{onboard-remote-DTYzroFm.js → onboard-remote-BeAAhzmD.js} +1 -1
  138. package/dist/{onboard-remote-BSjc42yV.js → onboard-remote-CBEIs-Ew.js} +1 -1
  139. package/dist/{onboard-skills-70EumFmD.js → onboard-skills-Bx_OM5v0.js} +1 -1
  140. package/dist/{onboard-skills-BD8JNVwL.js → onboard-skills-EVFmwR8Q.js} +1 -1
  141. package/dist/{onboarding-BibGEGIS.js → onboarding-D-FQIiBn.js} +10 -10
  142. package/dist/{onboarding-CdN_NU2d.js → onboarding-qxWeXuGM.js} +10 -10
  143. package/dist/{onboarding.finalize-CY1NjrGb.js → onboarding.finalize-DJTQnGkJ.js} +35 -35
  144. package/dist/{onboarding.finalize-CvahVrDM.js → onboarding.finalize-D_gWQwW0.js} +33 -33
  145. package/dist/{onboarding.gateway-config-DipSuaKH.js → onboarding.gateway-config-Boplq1Mn.js} +5 -5
  146. package/dist/{onboarding.gateway-config-Cj_s_IG8.js → onboarding.gateway-config-r7VeJWM7.js} +5 -5
  147. package/dist/{outbound-Bv4FdtnF.js → outbound-B_cf2WkB.js} +1 -1
  148. package/dist/{outbound-DfOF58G2.js → outbound-DPCAcHLQ.js} +1 -1
  149. package/dist/{outbound-BNMysnJ1.js → outbound-DRslTBga.js} +1 -1
  150. package/dist/{outbound-Cedd_yui.js → outbound-yaYfpPTu.js} +1 -1
  151. package/dist/{pairing-cli-B7oA36Ke.js → pairing-cli-DFgfVeeY.js} +1 -1
  152. package/dist/{pairing-cli-7_4ayuXX.js → pairing-cli-DOMZSDiT.js} +1 -1
  153. package/dist/{pi-auth-json-DuUL9qfI.js → pi-auth-json-Do26xypW.js} +1 -1
  154. package/dist/{pi-embedded-BjzaB3CT.js → pi-embedded-BINp4yHJ.js} +242 -40
  155. package/dist/{pi-embedded-9wEA_0mu.js → pi-embedded-C6BUGEuF.js} +242 -40
  156. package/dist/{pi-embedded-helpers-BmYZe8o8.js → pi-embedded-helpers-BDwdFGX-.js} +5 -5
  157. package/dist/{pi-embedded-helpers-CgxKWHj9.js → pi-embedded-helpers-Cs0TgOaH.js} +1 -1
  158. package/dist/{pi-embedded-helpers-kB5lBgXk.js → pi-embedded-helpers-Dfp-iKzJ.js} +5 -5
  159. package/dist/{pi-embedded-helpers-ueCT6VlS.js → pi-embedded-helpers-jynCNZsb.js} +1 -1
  160. package/dist/{pi-tools.policy-DPmdlOwE.js → pi-tools.policy-eb_uvOQV.js} +2 -2
  161. package/dist/{pi-tools.policy-T6Z5F-_n.js → pi-tools.policy-vws0LV7U.js} +2 -2
  162. package/dist/{plugin-registry-CEoSVvL1.js → plugin-registry-C61W5IWr.js} +2 -2
  163. package/dist/{plugin-registry-BAbkdLQ7.js → plugin-registry-D1cKRWYQ.js} +2 -2
  164. package/dist/plugin-sdk/agents/memory-search.d.ts +2 -2
  165. package/dist/plugin-sdk/{audio-preflight-CpYjfwrA.js → audio-preflight-CdG1OBN2.js} +5 -5
  166. package/dist/plugin-sdk/{channel-web-xXTpy0N_.js → channel-web-DFVIpsZB.js} +7 -7
  167. package/dist/plugin-sdk/{chrome-BFy_lpld.js → chrome-XyjVFCkY.js} +1 -1
  168. package/dist/plugin-sdk/config/types.tools.d.ts +2 -2
  169. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +2 -2
  170. package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +4 -4
  171. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +4 -4
  172. package/dist/plugin-sdk/config/zod-schema.d.ts +4 -4
  173. package/dist/plugin-sdk/{config-Do1-fcaS.js → config-DG32gDDp.js} +3 -1
  174. package/dist/plugin-sdk/{deliver-BwnrMlHO.js → deliver-BdbnTrPD.js} +2 -2
  175. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +1 -0
  176. package/dist/plugin-sdk/{image-k_W1USVr.js → image-B4_TBNqR.js} +2 -2
  177. package/dist/plugin-sdk/index.js +18 -18
  178. package/dist/plugin-sdk/{login-DPofXJE3.js → login-Dey5tDpn.js} +2 -2
  179. package/dist/plugin-sdk/{login-qr-CNatqAUv.js → login-qr-Tx8z1frn.js} +2 -2
  180. package/dist/plugin-sdk/{manager-DnoXj4EG.js → manager-RdPsBbBU.js} +134 -17
  181. package/dist/plugin-sdk/memory/embeddings-ollama.d.ts +27 -0
  182. package/dist/plugin-sdk/memory/embeddings.d.ts +4 -1
  183. package/dist/plugin-sdk/memory/manager-sync-ops.d.ts +1 -1
  184. package/dist/plugin-sdk/memory/manager.d.ts +1 -1
  185. package/dist/plugin-sdk/{outbound-w5v_6nFD.js → outbound-BpzsDbEV.js} +1 -1
  186. package/dist/plugin-sdk/{pi-embedded-helpers-Cs2-_EpL.js → pi-embedded-helpers-OWtoPEg8.js} +5 -5
  187. package/dist/plugin-sdk/{pw-ai-BoitXk7j.js → pw-ai-OhVopvbb.js} +2 -2
  188. package/dist/plugin-sdk/{replies-BU-tUT8j.js → replies-DiFTMGgM.js} +1 -1
  189. package/dist/plugin-sdk/{reply-EEvLfWgt.js → reply-v8ed4JLy.js} +236 -34
  190. package/dist/plugin-sdk/{runner-Br1179I4.js → runner-BUXsfUip.js} +2 -2
  191. package/dist/plugin-sdk/{send-Dkyi5g1U.js → send-BXvJJUV_.js} +1 -1
  192. package/dist/plugin-sdk/{send-BaLZTKkj.js → send-BbFwAS_k.js} +1 -1
  193. package/dist/plugin-sdk/{send-P8PiZ2Os.js → send-CGSsrvd1.js} +1 -1
  194. package/dist/plugin-sdk/{send-Ts2lINh9.js → send-DXcq1jzH.js} +1 -1
  195. package/dist/plugin-sdk/{send-CE6VxWke.js → send-Drdgnfr_.js} +1 -1
  196. package/dist/plugin-sdk/{session-Bwdr4g-M.js → session-CX5KhlOe.js} +1 -1
  197. package/dist/plugin-sdk/{web-COWtpMAH.js → web-DfIRv_Mx.js} +18 -18
  198. package/dist/plugin-sdk/{whatsapp-actions-Di-yCTCj.js → whatsapp-actions-Dh6Y2fu9.js} +2 -2
  199. package/dist/{plugins-cli-C_S07pgO.js → plugins-cli-ClY_BPg9.js} +28 -28
  200. package/dist/{plugins-cli-BpuQ7Y9l.js → plugins-cli-UmtKEuxj.js} +29 -29
  201. package/dist/{program-cO9YX6wL.js → program-CNsuYlJt.js} +35 -35
  202. package/dist/{program-context-QBBvnWFX.js → program-context-C2XeNCxI.js} +38 -38
  203. package/dist/{prompt-select-styled-D3dYbx2P.js → prompt-select-styled-CgsYQqlJ.js} +15 -15
  204. package/dist/{prompt-select-styled-CepuQSKg.js → prompt-select-styled-CiYSpQIf.js} +15 -15
  205. package/dist/{provider-auth-helpers-DXqvuBCi.js → provider-auth-helpers-CVAbJckC.js} +2 -2
  206. package/dist/{provider-auth-helpers-BMACaaEd.js → provider-auth-helpers-XIYHuUnj.js} +2 -2
  207. package/dist/{push-apns-DhZgao_r.js → push-apns-6y-7OuAU.js} +1 -1
  208. package/dist/{push-apns-8YIzbTM7.js → push-apns-9q7Pl5I0.js} +1 -1
  209. package/dist/{pw-ai-CQzJmf8V.js → pw-ai-BdNmRxEw.js} +2 -2
  210. package/dist/{pw-ai-s-d46DCX.js → pw-ai-BfUWg8Eh.js} +2 -2
  211. package/dist/{pw-ai-CdaTpZo1.js → pw-ai-C9noP7iN.js} +2 -2
  212. package/dist/{pw-ai-CAkn033M.js → pw-ai-Dnh_iopr.js} +2 -2
  213. package/dist/{qr-cli-DlVBiDQm.js → qr-cli-BbRZOhwI.js} +1 -1
  214. package/dist/{qr-cli-Diq_Rb3t.js → qr-cli-Cac34dCs.js} +1 -1
  215. package/dist/{register.agent-CSUoUVKd.js → register.agent-DmLJVv4N.js} +36 -36
  216. package/dist/{register.agent-CiTS9lyx.js → register.agent-Ys85zXmm.js} +34 -34
  217. package/dist/{register.configure-BbE9MAer.js → register.configure-BwmAY5TF.js} +38 -38
  218. package/dist/{register.configure-CuCVLOW0.js → register.configure-DYuK1UkU.js} +39 -39
  219. package/dist/{register.maintenance-D8bthvou.js → register.maintenance-625En1kE.js} +36 -36
  220. package/dist/{register.maintenance-CJG75LTu.js → register.maintenance-BQa25CA8.js} +38 -38
  221. package/dist/{register.message-CyqE4E2O.js → register.message-CDpK3rbI.js} +29 -29
  222. package/dist/{register.message-nUpHGrEE.js → register.message-DKeM6mQo.js} +28 -28
  223. package/dist/{register.onboard-Dlw-TCPH.js → register.onboard-CbvkWFq5.js} +34 -34
  224. package/dist/{register.onboard-BDlne5KX.js → register.onboard-DtMjj81J.js} +35 -35
  225. package/dist/{register.setup-ByMyofSq.js → register.setup-BHhLns2f.js} +35 -35
  226. package/dist/{register.setup-B8kiMuah.js → register.setup-DdX4Ahvt.js} +34 -34
  227. package/dist/{register.status-health-sessions-0odRpA-p.js → register.status-health-sessions-CqMFel_o.js} +33 -33
  228. package/dist/{register.status-health-sessions-Diirshgb.js → register.status-health-sessions-D1KvwnF9.js} +31 -31
  229. package/dist/{register.subclis-CqEj9vfW.js → register.subclis-su5EMHvC.js} +28 -28
  230. package/dist/{replies-CTKReSzx.js → replies-DqyX2Vln.js} +1 -1
  231. package/dist/{replies-D9V19U2-.js → replies-DtdP8R93.js} +1 -1
  232. package/dist/{replies-DqdOBkTB.js → replies-Dzc6eCFS.js} +1 -1
  233. package/dist/{replies-QloQerhz.js → replies-zeeuLUij.js} +1 -1
  234. package/dist/{reply-B9o45s3E.js → reply-DyFibFiG.js} +43 -43
  235. package/dist/{routes-BYphcpth.js → routes-B7FWIw81.js} +3 -3
  236. package/dist/{routes-qIyRWgzF.js → routes-CEjKic_-.js} +3 -3
  237. package/dist/{rpc-B8S3CF-2.js → rpc-CR9IjVRa.js} +1 -1
  238. package/dist/{rpc-K2mc_55f.js → rpc-CV10Y2YL.js} +1 -1
  239. package/dist/{run-main-C__lZ7VF.js → run-main-CRPU46XB.js} +46 -46
  240. package/dist/{runner-C0tJTZmp.js → runner-BkANJiWS.js} +3 -3
  241. package/dist/{runner-CJJY2r19.js → runner-CTglx_CV.js} +2 -2
  242. package/dist/{runner-DOvsNiYz.js → runner-v0fS4J7T.js} +2 -2
  243. package/dist/{runner-BXN4KYDK.js → runner-w5reqY02.js} +3 -3
  244. package/dist/{sandbox-CbuJolk2.js → sandbox-BpIrSDhl.js} +5 -5
  245. package/dist/{sandbox-rMmahr2s.js → sandbox-DTzJlbvf.js} +5 -5
  246. package/dist/{sandbox-cli-C90jqh9l.js → sandbox-cli-B4VN_9mV.js} +6 -6
  247. package/dist/{sandbox-cli-Duc05KL9.js → sandbox-cli-R_ZOY_KC.js} +6 -6
  248. package/dist/{security-cli-Bt0VkUtO.js → security-cli-BMB3kCFA.js} +10 -10
  249. package/dist/{security-cli-YGXUUBvD.js → security-cli-DmpyxTgQ.js} +10 -10
  250. package/dist/{send-BeASPkFg.js → send-1iB7Rdwp.js} +1 -1
  251. package/dist/{send-BVw7fCyL.js → send-BLT3lTZy.js} +1 -1
  252. package/dist/{send-3YM-aarb.js → send-BR3reUOE.js} +1 -1
  253. package/dist/{send-CYfaZNZ4.js → send-BXiiQprI.js} +1 -1
  254. package/dist/{send-De_WCeGZ.js → send-BbV4XqMl.js} +1 -1
  255. package/dist/{send-D3M6pMr5.js → send-Bt4UsVrd.js} +1 -1
  256. package/dist/{send-CzE5UKr-.js → send-Bx04WqH5.js} +1 -1
  257. package/dist/{send-BVZGeP2r.js → send-CC2vm0xU.js} +1 -1
  258. package/dist/{send-CHOArYFe.js → send-CEjpAJ8N.js} +1 -1
  259. package/dist/{send-hNornLoH.js → send-CQzO_Tg0.js} +1 -1
  260. package/dist/{send-BH09HKsX.js → send-CRWQglv9.js} +1 -1
  261. package/dist/{send-D0dzPf6g.js → send-CZ18Xq5n.js} +1 -1
  262. package/dist/{send-mi3NHnwI.js → send-CltKx_vS.js} +1 -1
  263. package/dist/{send-D_yJMeJa.js → send-DDrpEKUg.js} +1 -1
  264. package/dist/{send-D16XtYvC.js → send-DVLEgg9H.js} +1 -1
  265. package/dist/{send-Do-0Kcmv.js → send-Dm4UYQsf.js} +1 -1
  266. package/dist/{send-DEWzWqfZ.js → send-DyK4u4yH.js} +1 -1
  267. package/dist/{send-B18gkuvz.js → send-EQ1insgp.js} +1 -1
  268. package/dist/{send-C7u4_H5t.js → send-hJthT6M_.js} +1 -1
  269. package/dist/{send-BsocounR.js → send-tDTl6xgz.js} +1 -1
  270. package/dist/{server-context-DG2dIhAy.js → server-context-BcjcQhiM.js} +5 -5
  271. package/dist/{server-context-bMIwnOnH.js → server-context-DbcjnRHG.js} +5 -5
  272. package/dist/{server-methods-Df9KsV_-.js → server-methods-56m79WbR.js} +35 -19
  273. package/dist/{server-methods-B_NSJmhc.js → server-methods-U_lDP83A.js} +34 -18
  274. package/dist/{server-node-events-ZG0SBDkU.js → server-node-events-DpGswbj8.js} +28 -28
  275. package/dist/{server-node-events-C2mugatX.js → server-node-events-Q9J_E8Ce.js} +29 -29
  276. package/dist/{session-BjcsCwgz.js → session-1Q4kg4xp.js} +1 -1
  277. package/dist/{session-BkVBeAkg.js → session-B4JR6zUJ.js} +1 -1
  278. package/dist/{session-BeJq-MLE.js → session-BvXsNdtA.js} +1 -1
  279. package/dist/{session-T0JXlYWe.js → session-C86mCuOs.js} +1 -1
  280. package/dist/{session-utils-Cdv2Qaq2.js → session-utils-CFvGKxdu.js} +3 -3
  281. package/dist/{sessions-DJAxaVI7.js → sessions-B3nP13Fw.js} +1 -1
  282. package/dist/{sessions-BEyCtqBB.js → sessions-BdeJp6uY.js} +1 -1
  283. package/dist/{sessions-CX93jXmG.js → sessions-m60NabL_.js} +3 -3
  284. package/dist/{shared-CMw4odDH.js → shared-mv9M8Mzc.js} +1 -1
  285. package/dist/{shared-CLXhDldI.js → shared-sOiAK5kN.js} +1 -1
  286. package/dist/{skills-cli-CQ7XQ4Kn.js → skills-cli-B7FG8Ft4.js} +1 -1
  287. package/dist/{skills-cli-DIx7YItN.js → skills-cli-DVTw-NM0.js} +1 -1
  288. package/dist/{status-BytVj4kU.js → status-BNmYNm1S.js} +2 -2
  289. package/dist/{status-hgm5EhwS.js → status-D4KjZ3qi.js} +9 -9
  290. package/dist/{status-BTF6_aBO.js → status-DIYjr2wp.js} +2 -2
  291. package/dist/{status-PADx9rG7.js → status-DbXRbJqY.js} +10 -10
  292. package/dist/{status.update-BXs3adtg.js → status.update-CbXOcYqG.js} +1 -1
  293. package/dist/{status.update-DlaskfTr.js → status.update-DKLvc9EH.js} +1 -1
  294. package/dist/{subagent-registry-BR2Qhqjf.js → subagent-registry-Ct3GvWVn.js} +44 -44
  295. package/dist/{system-cli-BMrwtPdR.js → system-cli-9b3AzE_M.js} +4 -4
  296. package/dist/{system-cli-B_cCDKOu.js → system-cli-B_KTvR0v.js} +4 -4
  297. package/dist/{systemd-hints-BBPT8Use.js → systemd-hints-BE7qhp3n.js} +1 -1
  298. package/dist/{systemd-hints-Bm2H1erP.js → systemd-hints-D_u4AuIu.js} +1 -1
  299. package/dist/{tui-CcirlGg5.js → tui-BViOdgFZ.js} +5 -5
  300. package/dist/{tui-cli-hcbzeOtp.js → tui-cli-B97jQaQp.js} +10 -10
  301. package/dist/{tui-cli-D3VMk5c8.js → tui-cli-DKQz32oa.js} +10 -10
  302. package/dist/{tui-0rURH3b3.js → tui-oo_JjD-G.js} +5 -5
  303. package/dist/{update-cli-CHr8rjf-.js → update-cli-C9S00L1E.js} +41 -41
  304. package/dist/{update-cli-qacplfF4.js → update-cli-Dhk0Yxsm.js} +39 -39
  305. package/dist/{update-runner-DM8zQvQB.js → update-runner-BnIIcsqA.js} +1 -1
  306. package/dist/{update-runner-DNA7FJa2.js → update-runner-DBZOvTzN.js} +1 -1
  307. package/dist/{web-UroM-w6c.js → web-5uLk4OEM.js} +31 -31
  308. package/dist/{web-DkQc82PT.js → web-8NQJ75ip.js} +31 -31
  309. package/dist/{web-BKQnrqo-.js → web-f7lkf_un.js} +17 -17
  310. package/dist/{web-CAnxcgBD.js → web-mXHyxR_l.js} +17 -17
  311. package/dist/{webhooks-cli-B0Crq2Ec.js → webhooks-cli-BLi_usfE.js} +1 -1
  312. package/dist/{webhooks-cli-CLIdArAE.js → webhooks-cli-Dz9n2L0-.js} +1 -1
  313. package/dist/{whatsapp-actions-BIjGyW3T.js → whatsapp-actions-6S6PNs2p.js} +2 -2
  314. package/dist/{whatsapp-actions-BL7tCNC_.js → whatsapp-actions-B4YPuD2Q.js} +2 -2
  315. package/dist/{whatsapp-actions-B821AFp-.js → whatsapp-actions-ChtHuvdU.js} +2 -2
  316. package/dist/{whatsapp-actions-Jfx4zcwv.js → whatsapp-actions-M8kjDd9l.js} +2 -2
  317. package/dist/{with-timeout-Cj_xUxo6.js → with-timeout-2zPYOOzh.js} +1 -1
  318. package/dist/{with-timeout-BeA4Jxcl.js → with-timeout-gaHpaiis.js} +1 -1
  319. package/docs/reference/templates/SYMIPULSE.md +22 -1
  320. package/package.json +1 -1
@@ -12,20 +12,20 @@ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY
12
12
  import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-71oIavrF.js";
13
13
  import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-D0dzPf6g.js";
16
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-De_WCeGZ.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-CkjSfucB.js";
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-CZ18Xq5n.js";
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-BbV4XqMl.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-D8xILUUI.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";
21
- import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-mi3NHnwI.js";
21
+ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-CltKx_vS.js";
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BmYZe8o8.js";
26
- import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BjGo9GnL.js";
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-BDwdFGX-.js";
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-ClXqj_D1.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-B_zrSLce.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-1cQdPKbv.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,8 +36,8 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CSeAnozE.js";
40
- import { n as resolveMemorySearchConfig } from "./manager-oiX42wby.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-DrkD-6sg.js";
40
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-oQJvFR6J.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";
43
43
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-BbOqxMY0.js";
@@ -49,17 +49,17 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-Copoizgv.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DWcJOIzP.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-CJJY2r19.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-CTglx_CV.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";
56
56
  import { n as normalizePollInput } from "./polls-DQcEziPg.js";
57
57
  import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
58
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-D16XtYvC.js";
59
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-Do-0Kcmv.js";
58
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DVLEgg9H.js";
59
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-Dm4UYQsf.js";
60
60
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-We7ViAbg.js";
61
61
  import { t as makeProxyFetch } from "./proxy-BaSHbVlA.js";
62
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DqdOBkTB.js";
62
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Dzc6eCFS.js";
63
63
  import { t as getActiveWebListener } from "./active-listener-1krIj9TM.js";
64
64
  import { createRequire } from "node:module";
65
65
  import * as path$1 from "node:path";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
82
+ import WebSocket$1, { WebSocket } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -3472,7 +3472,7 @@ async function getMemorySearchManager(params) {
3472
3472
  const wrapper = new FallbackMemoryManager({
3473
3473
  primary,
3474
3474
  fallbackFactory: async () => {
3475
- const { MemoryIndexManager } = await import("./manager-oiX42wby.js").then((n) => n.t);
3475
+ const { MemoryIndexManager } = await import("./manager-oQJvFR6J.js").then((n) => n.t);
3476
3476
  return await MemoryIndexManager.get(params);
3477
3477
  }
3478
3478
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3485,7 +3485,7 @@ async function getMemorySearchManager(params) {
3485
3485
  }
3486
3486
  }
3487
3487
  try {
3488
- const { MemoryIndexManager } = await import("./manager-oiX42wby.js").then((n) => n.t);
3488
+ const { MemoryIndexManager } = await import("./manager-oQJvFR6J.js").then((n) => n.t);
3489
3489
  return { manager: await MemoryIndexManager.get(params) };
3490
3490
  } catch (err) {
3491
3491
  return {
@@ -5304,7 +5304,8 @@ const ChatHistoryParamsSchema = Type.Object({
5304
5304
  limit: Type.Optional(Type.Integer({
5305
5305
  minimum: 1,
5306
5306
  maximum: 1e3
5307
- }))
5307
+ })),
5308
+ before: Type.Optional(Type.Integer({ minimum: 0 }))
5308
5309
  }, { additionalProperties: false });
5309
5310
  const ChatSendParamsSchema = Type.Object({
5310
5311
  sessionKey: NonEmptyString,
@@ -5713,7 +5714,7 @@ var GatewayClient = class {
5713
5714
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5714
5715
  });
5715
5716
  }
5716
- this.ws = new WebSocket$1(url, wsOptions);
5717
+ this.ws = new WebSocket(url, wsOptions);
5717
5718
  this.ws.on("open", () => {
5718
5719
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5719
5720
  const tlsError = this.validateTlsFingerprint();
@@ -5932,7 +5933,7 @@ var GatewayClient = class {
5932
5933
  return null;
5933
5934
  }
5934
5935
  async request(method, params, opts) {
5935
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5936
5937
  const id = randomUUID();
5937
5938
  const frame = {
5938
5939
  type: "req",
@@ -7198,7 +7199,7 @@ async function routeReply(params) {
7198
7199
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7199
7200
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7200
7201
  try {
7201
- const { deliverOutboundPayloads } = await import("./deliver-CkjSfucB.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-D8xILUUI.js").then((n) => n.n);
7202
7203
  return {
7203
7204
  ok: true,
7204
7205
  messageId: (await deliverOutboundPayloads({
@@ -14222,7 +14223,7 @@ function ensureNestedObject(root, path) {
14222
14223
  }
14223
14224
  return current;
14224
14225
  }
14225
- function setNestedValue(root, path, value) {
14226
+ function setNestedValue$1(root, path, value) {
14226
14227
  if (path.length === 0) return;
14227
14228
  if (path.length === 1) {
14228
14229
  root[path[0]] = value;
@@ -14556,7 +14557,7 @@ const handleAllowlistCommand = async (params, allowTextCommands) => {
14556
14557
  }
14557
14558
  if (configChanged) {
14558
14559
  if (next.length === 0) deleteNestedValue(target, allowlistPath);
14559
- else setNestedValue(target, allowlistPath, next);
14560
+ else setNestedValue$1(target, allowlistPath, next);
14560
14561
  if (scope === "dm" && (channelId === "slack" || channelId === "discord")) deleteNestedValue(target, ["dm", "allowFrom"]);
14561
14562
  }
14562
14563
  if (configChanged) {
@@ -41571,7 +41572,7 @@ async function deliverSessionMaintenanceWarning(params) {
41571
41572
  return;
41572
41573
  }
41573
41574
  try {
41574
- const { deliverOutboundPayloads } = await import("./deliver-CkjSfucB.js").then((n) => n.n);
41575
+ const { deliverOutboundPayloads } = await import("./deliver-D8xILUUI.js").then((n) => n.n);
41575
41576
  await deliverOutboundPayloads({
41576
41577
  cfg: params.cfg,
41577
41578
  channel,
@@ -45014,7 +45015,7 @@ async function describeStickerImage(params) {
45014
45015
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45015
45016
  try {
45016
45017
  const buffer = await fs$1.readFile(imagePath);
45017
- const { describeImageWithModel } = await import("./image-CSeAnozE.js").then((n) => n.n);
45018
+ const { describeImageWithModel } = await import("./image-DrkD-6sg.js").then((n) => n.n);
45018
45019
  return (await describeImageWithModel({
45019
45020
  buffer,
45020
45021
  fileName: "sticker.webp",
@@ -45437,7 +45438,7 @@ function createWhatsAppLoginTool() {
45437
45438
  force: Type.Optional(Type.Boolean())
45438
45439
  }),
45439
45440
  execute: async (_toolCallId, args) => {
45440
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BLmEvZVj.js");
45441
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-E4YwhoPt.js");
45441
45442
  if ((args?.action ?? "start") === "wait") {
45442
45443
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
45443
45444
  return {
@@ -46163,6 +46164,207 @@ function registerMemoryCli(program) {
46163
46164
  }
46164
46165
  });
46165
46166
  });
46167
+ memory.command("setup").description("Auto-detect and configure the best embedding provider").option("--agent <id>", "Agent id (default: default agent)").option("--dry-run", "Show what would be configured without writing", false).option("--verbose", "Verbose logging", false).action(async (opts) => {
46168
+ setVerbose(Boolean(opts.verbose));
46169
+ await runMemorySetup(opts);
46170
+ });
46171
+ }
46172
+ async function detectEmbeddingProviders(cfg) {
46173
+ const detected = [];
46174
+ const ollamaProbe = await probeOllamaEmbeddingModels(resolveOllamaBaseUrl(cfg));
46175
+ if (ollamaProbe && ollamaProbe.models.length > 0) detected.push({
46176
+ id: "ollama",
46177
+ model: ollamaProbe.models[0],
46178
+ baseUrl: ollamaProbe.baseUrl,
46179
+ reason: `Ollama at ${ollamaProbe.baseUrl} — ${ollamaProbe.models[0]}`
46180
+ });
46181
+ for (const remote of [
46182
+ {
46183
+ id: "openai",
46184
+ envKey: "OPENAI_API_KEY",
46185
+ defaultModel: "text-embedding-3-small"
46186
+ },
46187
+ {
46188
+ id: "gemini",
46189
+ envKey: "GEMINI_API_KEY",
46190
+ defaultModel: "gemini-embedding-001"
46191
+ },
46192
+ {
46193
+ id: "voyage",
46194
+ envKey: "VOYAGE_API_KEY",
46195
+ defaultModel: "voyage-4-large"
46196
+ }
46197
+ ]) {
46198
+ const envValue = process.env[remote.envKey]?.trim();
46199
+ let hasKey = Boolean(envValue);
46200
+ if (!hasKey) try {
46201
+ const resolved = await resolveApiKeyForProvider({
46202
+ provider: remote.id,
46203
+ cfg
46204
+ });
46205
+ hasKey = Boolean(resolved?.apiKey);
46206
+ } catch {}
46207
+ if (hasKey) detected.push({
46208
+ id: remote.id,
46209
+ model: remote.defaultModel,
46210
+ reason: `${remote.id} — API key found`
46211
+ });
46212
+ }
46213
+ return detected;
46214
+ }
46215
+ function setNestedValue(obj, path, value) {
46216
+ let current = obj;
46217
+ for (let i = 0; i < path.length - 1; i++) {
46218
+ const key = path[i];
46219
+ if (current[key] === void 0 || typeof current[key] !== "object" || current[key] === null) current[key] = {};
46220
+ current = current[key];
46221
+ }
46222
+ current[path[path.length - 1]] = value;
46223
+ }
46224
+ async function runMemorySetup(opts) {
46225
+ const rich = isRich();
46226
+ const heading = (text) => colorize(rich, theme.heading, text);
46227
+ const success = (text) => colorize(rich, theme.success, text);
46228
+ const warn = (text) => colorize(rich, theme.warn, text);
46229
+ const info = (text) => colorize(rich, theme.info, text);
46230
+ const muted = (text) => colorize(rich, theme.muted, text);
46231
+ const cfg = loadConfig();
46232
+ const agentId = resolveAgent(cfg, opts.agent);
46233
+ defaultRuntime.log(heading("Detecting embedding providers..."));
46234
+ defaultRuntime.log("");
46235
+ const detected = await detectEmbeddingProviders(cfg);
46236
+ const ollamaBase = resolveOllamaBaseUrl(cfg);
46237
+ const ollamaFound = detected.some((d) => d.id === "ollama");
46238
+ const openaiFound = detected.some((d) => d.id === "openai");
46239
+ const geminiFound = detected.some((d) => d.id === "gemini");
46240
+ const voyageFound = detected.some((d) => d.id === "voyage");
46241
+ if (ollamaFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "ollama").reason}`);
46242
+ else defaultRuntime.log(` ${warn("✗")} Ollama — not reachable at ${ollamaBase} or no embedding models`);
46243
+ if (openaiFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "openai").reason}`);
46244
+ else defaultRuntime.log(` ${warn("✗")} OpenAI — no API key`);
46245
+ if (geminiFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "gemini").reason}`);
46246
+ else defaultRuntime.log(` ${warn("✗")} Gemini — no API key`);
46247
+ if (voyageFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "voyage").reason}`);
46248
+ else defaultRuntime.log(` ${warn("✗")} Voyage — no API key`);
46249
+ defaultRuntime.log("");
46250
+ if (detected.length === 0) {
46251
+ defaultRuntime.error("No embedding providers detected.");
46252
+ defaultRuntime.error("");
46253
+ defaultRuntime.error("To fix, do one of:");
46254
+ defaultRuntime.error(" - Install Ollama and pull an embedding model: ollama pull nomic-embed-text");
46255
+ defaultRuntime.error(" - Set OPENAI_API_KEY environment variable");
46256
+ defaultRuntime.error(" - Set GEMINI_API_KEY or VOYAGE_API_KEY environment variable");
46257
+ process.exitCode = 1;
46258
+ return;
46259
+ }
46260
+ const best = detected[0];
46261
+ defaultRuntime.log(`${heading("Configuring:")} ${info(best.id)} (${best.model})`);
46262
+ if (opts.dryRun) {
46263
+ defaultRuntime.log(muted(" (dry run — no changes written)"));
46264
+ const configProvider = best.id === "ollama" ? "openai" : best.id;
46265
+ defaultRuntime.log(` provider = ${info(configProvider)}${best.id === "ollama" ? muted(" (via Ollama)") : ""}`);
46266
+ defaultRuntime.log(` model = ${info(best.model)}`);
46267
+ if (best.baseUrl) {
46268
+ const configUrl = best.id === "ollama" ? `${best.baseUrl}/v1` : best.baseUrl;
46269
+ defaultRuntime.log(` remote.baseUrl = ${info(configUrl)}`);
46270
+ }
46271
+ return;
46272
+ }
46273
+ const snapshot = await readConfigFileSnapshot();
46274
+ const next = structuredClone(snapshot.resolved);
46275
+ const memPath = [
46276
+ "agents",
46277
+ "defaults",
46278
+ "memorySearch"
46279
+ ];
46280
+ setNestedValue(next, [...memPath, "enabled"], true);
46281
+ setNestedValue(next, [...memPath, "sources"], ["memory", "sessions"]);
46282
+ if (best.id === "ollama" && best.baseUrl) {
46283
+ setNestedValue(next, [...memPath, "provider"], "openai");
46284
+ setNestedValue(next, [...memPath, "model"], best.model);
46285
+ setNestedValue(next, [
46286
+ ...memPath,
46287
+ "remote",
46288
+ "baseUrl"
46289
+ ], `${best.baseUrl}/v1`);
46290
+ setNestedValue(next, [
46291
+ ...memPath,
46292
+ "remote",
46293
+ "apiKey"
46294
+ ], "ollama-local");
46295
+ } else {
46296
+ setNestedValue(next, [...memPath, "provider"], best.id);
46297
+ setNestedValue(next, [...memPath, "model"], best.model);
46298
+ if (best.baseUrl) setNestedValue(next, [
46299
+ ...memPath,
46300
+ "remote",
46301
+ "baseUrl"
46302
+ ], best.baseUrl);
46303
+ }
46304
+ await writeConfigFile(next);
46305
+ defaultRuntime.log(` ${success("✓")} Updated symi.json`);
46306
+ defaultRuntime.log("");
46307
+ defaultRuntime.log(heading("Indexing memory files..."));
46308
+ const freshCfg = loadConfig();
46309
+ let indexOk = false;
46310
+ await withMemoryManagerForAgent({
46311
+ cfg: freshCfg,
46312
+ agentId,
46313
+ run: async (manager) => {
46314
+ const syncFn = manager.sync ? manager.sync.bind(manager) : void 0;
46315
+ if (!syncFn) {
46316
+ defaultRuntime.log(warn(" Memory backend does not support indexing."));
46317
+ return;
46318
+ }
46319
+ try {
46320
+ await withProgressTotals({
46321
+ label: "Indexing memory…",
46322
+ total: 0
46323
+ }, async (update, progress) => {
46324
+ await syncFn({
46325
+ reason: "cli",
46326
+ force: true,
46327
+ progress: (syncUpdate) => {
46328
+ update({
46329
+ completed: syncUpdate.completed,
46330
+ total: syncUpdate.total,
46331
+ label: syncUpdate.label
46332
+ });
46333
+ if (syncUpdate.label) progress.setLabel(syncUpdate.label);
46334
+ }
46335
+ });
46336
+ });
46337
+ const status = manager.status();
46338
+ defaultRuntime.log(` ${success("✓")} ${status.files ?? 0} files → ${status.chunks ?? 0} chunks` + (status.vector?.dims ? ` (${status.vector.dims}-dim vectors)` : ""));
46339
+ indexOk = true;
46340
+ } catch (err) {
46341
+ defaultRuntime.error(` ${warn("✗")} Index failed: ${formatErrorMessage(err)}`);
46342
+ }
46343
+ }
46344
+ });
46345
+ if (!indexOk) {
46346
+ process.exitCode = 1;
46347
+ return;
46348
+ }
46349
+ defaultRuntime.log("");
46350
+ defaultRuntime.log(heading("Verifying search..."));
46351
+ await withMemoryManagerForAgent({
46352
+ cfg: freshCfg,
46353
+ agentId,
46354
+ run: async (manager) => {
46355
+ try {
46356
+ const results = await manager.search("test memory verification", { maxResults: 3 });
46357
+ defaultRuntime.log(` ${success("✓")} Test query returned ${results.length} results` + (results.length > 0 ? ` (score ${results[results.length - 1].score.toFixed(2)}–${results[0].score.toFixed(2)})` : ""));
46358
+ } catch (err) {
46359
+ defaultRuntime.log(` ${warn("✗")} Search verification failed: ${formatErrorMessage(err)}`);
46360
+ process.exitCode = 1;
46361
+ return;
46362
+ }
46363
+ }
46364
+ });
46365
+ defaultRuntime.log("");
46366
+ defaultRuntime.log(success("Memory system is fully operational."));
46367
+ defaultRuntime.log(muted("Restart the gateway to apply: systemctl --user restart symi-gateway"));
46166
46368
  }
46167
46369
 
46168
46370
  //#endregion
@@ -47475,7 +47677,7 @@ async function preflightDiscordMessage(params) {
47475
47677
  let preflightTranscript;
47476
47678
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47477
47679
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47478
- const { transcribeFirstAudio } = await import("./audio-preflight-B8ffbICW.js");
47680
+ const { transcribeFirstAudio } = await import("./audio-preflight-BiAp3Hvj.js");
47479
47681
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47480
47682
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47481
47683
  ctx: {
@@ -51481,27 +51683,27 @@ function isVoiceChannelType(type) {
51481
51683
  function createDefaultDeps() {
51482
51684
  return {
51483
51685
  sendMessageWhatsApp: async (...args) => {
51484
- const { sendMessageWhatsApp } = await import("./web-CAnxcgBD.js");
51686
+ const { sendMessageWhatsApp } = await import("./web-mXHyxR_l.js");
51485
51687
  return await sendMessageWhatsApp(...args);
51486
51688
  },
51487
51689
  sendMessageTelegram: async (...args) => {
51488
- const { sendMessageTelegram } = await import("./send-mi3NHnwI.js").then((n) => n.l);
51690
+ const { sendMessageTelegram } = await import("./send-CltKx_vS.js").then((n) => n.l);
51489
51691
  return await sendMessageTelegram(...args);
51490
51692
  },
51491
51693
  sendMessageDiscord: async (...args) => {
51492
- const { sendMessageDiscord } = await import("./send-De_WCeGZ.js").then((n) => n.t);
51694
+ const { sendMessageDiscord } = await import("./send-BbV4XqMl.js").then((n) => n.t);
51493
51695
  return await sendMessageDiscord(...args);
51494
51696
  },
51495
51697
  sendMessageSlack: async (...args) => {
51496
- const { sendMessageSlack } = await import("./send-D0dzPf6g.js").then((n) => n.n);
51698
+ const { sendMessageSlack } = await import("./send-CZ18Xq5n.js").then((n) => n.n);
51497
51699
  return await sendMessageSlack(...args);
51498
51700
  },
51499
51701
  sendMessageSignal: async (...args) => {
51500
- const { sendMessageSignal } = await import("./send-D16XtYvC.js").then((n) => n.i);
51702
+ const { sendMessageSignal } = await import("./send-DVLEgg9H.js").then((n) => n.i);
51501
51703
  return await sendMessageSignal(...args);
51502
51704
  },
51503
51705
  sendMessageIMessage: async (...args) => {
51504
- const { sendMessageIMessage } = await import("./send-Do-0Kcmv.js").then((n) => n.n);
51706
+ const { sendMessageIMessage } = await import("./send-Dm4UYQsf.js").then((n) => n.n);
51505
51707
  return await sendMessageIMessage(...args);
51506
51708
  }
51507
51709
  };
@@ -54385,7 +54587,7 @@ function createDiscordGatewayPlugin(params) {
54385
54587
  super(options);
54386
54588
  }
54387
54589
  createWebSocket(url) {
54388
- return new WebSocket(url, { agent });
54590
+ return new WebSocket$1(url, { agent });
54389
54591
  }
54390
54592
  }
54391
54593
  return new ProxyGatewayPlugin();
@@ -62330,7 +62532,7 @@ async function registerSlackMonitorSlashCommands(params) {
62330
62532
  });
62331
62533
  const deliverSlashPayloads = async (replies) => {
62332
62534
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
62333
- import("./replies-DqdOBkTB.js").then((n) => n.r),
62535
+ import("./replies-Dzc6eCFS.js").then((n) => n.r),
62334
62536
  import("./chunk-DTMTDXwE.js").then((n) => n.s),
62335
62537
  import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
62336
62538
  ]);
@@ -64603,7 +64805,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64603
64805
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64604
64806
  let preflightTranscript;
64605
64807
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64606
- const { transcribeFirstAudio } = await import("./audio-preflight-B8ffbICW.js");
64808
+ const { transcribeFirstAudio } = await import("./audio-preflight-BiAp3Hvj.js");
64607
64809
  preflightTranscript = await transcribeFirstAudio({
64608
64810
  ctx: {
64609
64811
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66748,23 +66950,23 @@ let webLoginQrPromise = null;
66748
66950
  let webChannelPromise = null;
66749
66951
  let whatsappActionsPromise = null;
66750
66952
  function loadWebOutbound() {
66751
- webOutboundPromise ??= import("./outbound-BNMysnJ1.js").then((n) => n.t);
66953
+ webOutboundPromise ??= import("./outbound-DRslTBga.js").then((n) => n.t);
66752
66954
  return webOutboundPromise;
66753
66955
  }
66754
66956
  function loadWebLogin() {
66755
- webLoginPromise ??= import("./login-BZYFLDxo.js").then((n) => n.n);
66957
+ webLoginPromise ??= import("./login-_Ynqrjet.js").then((n) => n.n);
66756
66958
  return webLoginPromise;
66757
66959
  }
66758
66960
  function loadWebLoginQr() {
66759
- webLoginQrPromise ??= import("./login-qr-BLmEvZVj.js");
66961
+ webLoginQrPromise ??= import("./login-qr-E4YwhoPt.js");
66760
66962
  return webLoginQrPromise;
66761
66963
  }
66762
66964
  function loadWebChannel() {
66763
- webChannelPromise ??= import("./web-CAnxcgBD.js");
66965
+ webChannelPromise ??= import("./web-mXHyxR_l.js");
66764
66966
  return webChannelPromise;
66765
66967
  }
66766
66968
  function loadWhatsAppActions() {
66767
- whatsappActionsPromise ??= import("./whatsapp-actions-BIjGyW3T.js");
66969
+ whatsappActionsPromise ??= import("./whatsapp-actions-6S6PNs2p.js");
66768
66970
  return whatsappActionsPromise;
66769
66971
  }
66770
66972
  function createPluginRuntime() {
@@ -9,8 +9,8 @@ import { r as normalizeChannelId } from "./plugins-71oIavrF.js";
9
9
  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
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BjGo9GnL.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-B_zrSLce.js";
12
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-ClXqj_D1.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-1cQdPKbv.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-s-d46DCX.js");
934
+ return await import("./pw-ai-BfUWg8Eh.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveSymiUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-s-d46DCX.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-BfUWg8Eh.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-s-d46DCX.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-BfUWg8Eh.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -1,5 +1,5 @@
1
1
  import { pt as truncateUtf16Safe } from "./entry.js";
2
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CbuJolk2.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BpIrSDhl.js";
3
3
  import { t as sanitizeContentBlocksImages } from "./tool-images-CVLISeRT.js";
4
4
  import { s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
5
5
  import path from "node:path";
@@ -11,8 +11,8 @@ import { t as formatCliCommand } from "./command-format-BaxDnULz.js";
11
11
  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-CvJzsyvE.js";
12
12
  import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-CeL58m55.js";
13
13
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-Dz5lr5b0.js";
14
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-DM0K7qC1.js";
15
- 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-LmEyZdbC.js";
14
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-CvuX_y8t.js";
15
+ 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-DPu6LSX4.js";
16
16
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BFekKL7i.js";
17
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
18
18
  import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-CAkn033M.js");
936
+ return await import("./pw-ai-Dnh_iopr.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveSymiUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-CAkn033M.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-Dnh_iopr.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-CAkn033M.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-Dnh_iopr.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
3482
  if (!fs$1.existsSync(userDataDir)) return {
3483
3483
  moved: false,
@@ -1,6 +1,6 @@
1
1
  import { E as truncateUtf16Safe } from "./utils-B-0b9bGM.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-rMmahr2s.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-DTzJlbvf.js";
4
4
  import { t as sanitizeContentBlocksImages } from "./tool-images-DvUBlqjX.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
@@ -1,8 +1,8 @@
1
1
  import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DCt45XZa.js";
2
2
  import { r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
3
3
  import { l as normalizeMessageChannel } from "./message-channel-aT-I_DTX.js";
4
- import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-Dgn_cL29.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-rMmahr2s.js";
4
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-BLe0R4JX.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-DTzJlbvf.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BhS32F6E.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -1,8 +1,8 @@
1
1
  import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DjZ7Z1hW.js";
2
2
  import { r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
3
- import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-amjzHiWZ.js";
3
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DehS9e5w.js";
4
4
  import { l as normalizeMessageChannel } from "./message-channel-C9dERklz.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CbuJolk2.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BpIrSDhl.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-DKxQXuAg.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts