@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
@@ -9,7 +9,7 @@ import "./github-copilot-token-DAu1a6BX.js";
9
9
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
- import { i as loadConfig } from "./config-Dgn_cL29.js";
12
+ import { i as loadConfig } from "./config-BLe0R4JX.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
14
  import { r as normalizeChannelId } from "./plugins-DKDeQZF0.js";
15
15
  import "./accounts-DDuIpcln.js";
@@ -8,6 +8,6 @@ import "./model-selection-Csawd2_i.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./system-cli-BMrwtPdR.js";
11
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./system-cli-9b3AzE_M.js";
12
12
 
13
13
  export { ensurePiAuthJsonFromAuthProfiles };
@@ -11,22 +11,22 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
11
11
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-B8-BqKGQ.js";
13
13
  import { n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-BaxDnULz.js";
14
- 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-CHOArYFe.js";
15
- 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-D3M6pMr5.js";
16
- 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-B3UoBZdC.js";
14
+ 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-CEjpAJ8N.js";
15
+ 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-Bt4UsVrd.js";
16
+ 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-BorDF5OG.js";
17
17
  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-CI0kRQkt.js";
18
18
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bxo4UHOL.js";
19
19
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-CWktKM8a.js";
20
- 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-D_yJMeJa.js";
20
+ 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-DDrpEKUg.js";
21
21
  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-CvJzsyvE.js";
22
22
  import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider, E as findNormalizedProviderValue, F as resolveSubagentSpawnModelSelection, G as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, I as resolveThinkingDefault, J as normalizeSecretInput, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef, N as resolveDefaultModelForAgent, O as modelKey, P as resolveModelRefFromString, T as buildModelAliasIndex, U as createOllamaStreamFn, W as DEFAULT_CONTEXT_TOKENS, Y as getShellPathFromLoginShell, Z as resolveShellEnvFallbackTimeoutMs, _ as ensureAuthProfileStore, a as resolveEnvApiKey, b as withFileLock, c as resolveAuthProfileOrder, d as markAuthProfileFailure, f as markAuthProfileUsed, g as markAuthProfileGood, h as listProfilesForProvider, i as resolveApiKeyForProvider, k as normalizeModelRef$2, l as getSoonestCooldownExpiry, m as dedupeProfileIds, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as resolveApiKeyForProfile, q as resolveAuthProfileDisplayLabel, r as requireApiKey, t as getApiKeyForModel, u as isProfileInCooldown, v as resolveAuthStorePathForDisplay, w as buildConfiguredAllowlistKeys, y as resolveSymiAgentDir } from "./model-auth-CeL58m55.js";
23
23
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-C_qUP7p5.js";
24
24
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
25
25
  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-Dz5lr5b0.js";
26
- import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-kB5lBgXk.js";
27
- 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-DM0K7qC1.js";
26
+ import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-Dfp-iKzJ.js";
27
+ 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-CvuX_y8t.js";
28
28
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-D0IQ3WuX.js";
29
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-LmEyZdbC.js";
29
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DPu6LSX4.js";
30
30
  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-BFekKL7i.js";
31
31
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BoQgnc8X.js";
32
32
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
@@ -37,9 +37,9 @@ import { t as resolveIMessageAccount } from "./accounts-qtxJ-6em.js";
37
37
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DLyHUt31.js";
38
38
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
39
39
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DXB7tqWi.js";
40
- 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-RFofsrof.js";
40
+ 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-GHA29jwQ.js";
41
41
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-XlyuyChD.js";
42
- import { n as resolveMemorySearchConfig } from "./manager-B5EXdBQV.js";
42
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-BmHL5ETi.js";
43
43
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-DRbx2dhW.js";
44
44
  import { n as retryAsync } from "./retry-Cly39XZB.js";
45
45
  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-Be1SwYlW.js";
@@ -51,17 +51,17 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DccrnjsE.js";
51
51
  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-C3C4Rv3O.js";
52
52
  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-B64uavY9.js";
53
53
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BlHX0H3E.js";
54
- 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-DOvsNiYz.js";
54
+ 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-v0fS4J7T.js";
55
55
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
56
56
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
57
57
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CsM_hJ_s.js";
58
58
  import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
59
59
  import { t as convertMarkdownTables } from "./tables-DuZspiBu.js";
60
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CzE5UKr-.js";
61
- 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-BeASPkFg.js";
60
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-Bx04WqH5.js";
61
+ 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-1iB7Rdwp.js";
62
62
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CZ-1eqw0.js";
63
63
  import { t as makeProxyFetch } from "./proxy-CBJ1upuz.js";
64
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-D9V19U2-.js";
64
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DtdP8R93.js";
65
65
  import { t as getActiveWebListener } from "./active-listener-C9r8ZB9m.js";
66
66
  import { createRequire } from "node:module";
67
67
  import * as fs$2 from "node:fs/promises";
@@ -81,7 +81,7 @@ import { EdgeTTS } from "node-edge-tts";
81
81
  import AjvPkg from "ajv";
82
82
  import { createServer } from "node:http";
83
83
  import { ProxyAgent, fetch as fetch$1 } from "undici";
84
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
84
+ import WebSocket$1, { WebSocket } from "ws";
85
85
  import { Buffer as Buffer$1 } from "node:buffer";
86
86
  import { createJiti } from "jiti";
87
87
  import { Type } from "@sinclair/typebox";
@@ -3474,7 +3474,7 @@ async function getMemorySearchManager(params) {
3474
3474
  const wrapper = new FallbackMemoryManager({
3475
3475
  primary,
3476
3476
  fallbackFactory: async () => {
3477
- const { MemoryIndexManager } = await import("./manager-B5EXdBQV.js").then((n) => n.t);
3477
+ const { MemoryIndexManager } = await import("./manager-BmHL5ETi.js").then((n) => n.t);
3478
3478
  return await MemoryIndexManager.get(params);
3479
3479
  }
3480
3480
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3487,7 +3487,7 @@ async function getMemorySearchManager(params) {
3487
3487
  }
3488
3488
  }
3489
3489
  try {
3490
- const { MemoryIndexManager } = await import("./manager-B5EXdBQV.js").then((n) => n.t);
3490
+ const { MemoryIndexManager } = await import("./manager-BmHL5ETi.js").then((n) => n.t);
3491
3491
  return { manager: await MemoryIndexManager.get(params) };
3492
3492
  } catch (err) {
3493
3493
  return {
@@ -5306,7 +5306,8 @@ const ChatHistoryParamsSchema = Type.Object({
5306
5306
  limit: Type.Optional(Type.Integer({
5307
5307
  minimum: 1,
5308
5308
  maximum: 1e3
5309
- }))
5309
+ })),
5310
+ before: Type.Optional(Type.Integer({ minimum: 0 }))
5310
5311
  }, { additionalProperties: false });
5311
5312
  const ChatSendParamsSchema = Type.Object({
5312
5313
  sessionKey: NonEmptyString,
@@ -5715,7 +5716,7 @@ var GatewayClient = class {
5715
5716
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5716
5717
  });
5717
5718
  }
5718
- this.ws = new WebSocket$1(url, wsOptions);
5719
+ this.ws = new WebSocket(url, wsOptions);
5719
5720
  this.ws.on("open", () => {
5720
5721
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5721
5722
  const tlsError = this.validateTlsFingerprint();
@@ -5934,7 +5935,7 @@ var GatewayClient = class {
5934
5935
  return null;
5935
5936
  }
5936
5937
  async request(method, params, opts) {
5937
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5938
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5938
5939
  const id = randomUUID();
5939
5940
  const frame = {
5940
5941
  type: "req",
@@ -7200,7 +7201,7 @@ async function routeReply(params) {
7200
7201
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7201
7202
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7202
7203
  try {
7203
- const { deliverOutboundPayloads } = await import("./deliver-B3UoBZdC.js").then((n) => n.n);
7204
+ const { deliverOutboundPayloads } = await import("./deliver-BorDF5OG.js").then((n) => n.n);
7204
7205
  return {
7205
7206
  ok: true,
7206
7207
  messageId: (await deliverOutboundPayloads({
@@ -14224,7 +14225,7 @@ function ensureNestedObject(root, path) {
14224
14225
  }
14225
14226
  return current;
14226
14227
  }
14227
- function setNestedValue(root, path, value) {
14228
+ function setNestedValue$1(root, path, value) {
14228
14229
  if (path.length === 0) return;
14229
14230
  if (path.length === 1) {
14230
14231
  root[path[0]] = value;
@@ -14558,7 +14559,7 @@ const handleAllowlistCommand = async (params, allowTextCommands) => {
14558
14559
  }
14559
14560
  if (configChanged) {
14560
14561
  if (next.length === 0) deleteNestedValue(target, allowlistPath);
14561
- else setNestedValue(target, allowlistPath, next);
14562
+ else setNestedValue$1(target, allowlistPath, next);
14562
14563
  if (scope === "dm" && (channelId === "slack" || channelId === "discord")) deleteNestedValue(target, ["dm", "allowFrom"]);
14563
14564
  }
14564
14565
  if (configChanged) {
@@ -41573,7 +41574,7 @@ async function deliverSessionMaintenanceWarning(params) {
41573
41574
  return;
41574
41575
  }
41575
41576
  try {
41576
- const { deliverOutboundPayloads } = await import("./deliver-B3UoBZdC.js").then((n) => n.n);
41577
+ const { deliverOutboundPayloads } = await import("./deliver-BorDF5OG.js").then((n) => n.n);
41577
41578
  await deliverOutboundPayloads({
41578
41579
  cfg: params.cfg,
41579
41580
  channel,
@@ -45016,7 +45017,7 @@ async function describeStickerImage(params) {
45016
45017
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45017
45018
  try {
45018
45019
  const buffer = await fs.readFile(imagePath);
45019
- const { describeImageWithModel } = await import("./image-RFofsrof.js").then((n) => n.n);
45020
+ const { describeImageWithModel } = await import("./image-GHA29jwQ.js").then((n) => n.n);
45020
45021
  return (await describeImageWithModel({
45021
45022
  buffer,
45022
45023
  fileName: "sticker.webp",
@@ -45439,7 +45440,7 @@ function createWhatsAppLoginTool() {
45439
45440
  force: Type.Optional(Type.Boolean())
45440
45441
  }),
45441
45442
  execute: async (_toolCallId, args) => {
45442
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-9OQSnm5L.js");
45443
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CzD7_Pru.js");
45443
45444
  if ((args?.action ?? "start") === "wait") {
45444
45445
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
45445
45446
  return {
@@ -46165,6 +46166,207 @@ function registerMemoryCli(program) {
46165
46166
  }
46166
46167
  });
46167
46168
  });
46169
+ 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) => {
46170
+ setVerbose(Boolean(opts.verbose));
46171
+ await runMemorySetup(opts);
46172
+ });
46173
+ }
46174
+ async function detectEmbeddingProviders(cfg) {
46175
+ const detected = [];
46176
+ const ollamaProbe = await probeOllamaEmbeddingModels(resolveOllamaBaseUrl(cfg));
46177
+ if (ollamaProbe && ollamaProbe.models.length > 0) detected.push({
46178
+ id: "ollama",
46179
+ model: ollamaProbe.models[0],
46180
+ baseUrl: ollamaProbe.baseUrl,
46181
+ reason: `Ollama at ${ollamaProbe.baseUrl} — ${ollamaProbe.models[0]}`
46182
+ });
46183
+ for (const remote of [
46184
+ {
46185
+ id: "openai",
46186
+ envKey: "OPENAI_API_KEY",
46187
+ defaultModel: "text-embedding-3-small"
46188
+ },
46189
+ {
46190
+ id: "gemini",
46191
+ envKey: "GEMINI_API_KEY",
46192
+ defaultModel: "gemini-embedding-001"
46193
+ },
46194
+ {
46195
+ id: "voyage",
46196
+ envKey: "VOYAGE_API_KEY",
46197
+ defaultModel: "voyage-4-large"
46198
+ }
46199
+ ]) {
46200
+ const envValue = process.env[remote.envKey]?.trim();
46201
+ let hasKey = Boolean(envValue);
46202
+ if (!hasKey) try {
46203
+ const resolved = await resolveApiKeyForProvider({
46204
+ provider: remote.id,
46205
+ cfg
46206
+ });
46207
+ hasKey = Boolean(resolved?.apiKey);
46208
+ } catch {}
46209
+ if (hasKey) detected.push({
46210
+ id: remote.id,
46211
+ model: remote.defaultModel,
46212
+ reason: `${remote.id} — API key found`
46213
+ });
46214
+ }
46215
+ return detected;
46216
+ }
46217
+ function setNestedValue(obj, path, value) {
46218
+ let current = obj;
46219
+ for (let i = 0; i < path.length - 1; i++) {
46220
+ const key = path[i];
46221
+ if (current[key] === void 0 || typeof current[key] !== "object" || current[key] === null) current[key] = {};
46222
+ current = current[key];
46223
+ }
46224
+ current[path[path.length - 1]] = value;
46225
+ }
46226
+ async function runMemorySetup(opts) {
46227
+ const rich = isRich();
46228
+ const heading = (text) => colorize(rich, theme.heading, text);
46229
+ const success = (text) => colorize(rich, theme.success, text);
46230
+ const warn = (text) => colorize(rich, theme.warn, text);
46231
+ const info = (text) => colorize(rich, theme.info, text);
46232
+ const muted = (text) => colorize(rich, theme.muted, text);
46233
+ const cfg = loadConfig();
46234
+ const agentId = resolveAgent(cfg, opts.agent);
46235
+ defaultRuntime.log(heading("Detecting embedding providers..."));
46236
+ defaultRuntime.log("");
46237
+ const detected = await detectEmbeddingProviders(cfg);
46238
+ const ollamaBase = resolveOllamaBaseUrl(cfg);
46239
+ const ollamaFound = detected.some((d) => d.id === "ollama");
46240
+ const openaiFound = detected.some((d) => d.id === "openai");
46241
+ const geminiFound = detected.some((d) => d.id === "gemini");
46242
+ const voyageFound = detected.some((d) => d.id === "voyage");
46243
+ if (ollamaFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "ollama").reason}`);
46244
+ else defaultRuntime.log(` ${warn("✗")} Ollama — not reachable at ${ollamaBase} or no embedding models`);
46245
+ if (openaiFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "openai").reason}`);
46246
+ else defaultRuntime.log(` ${warn("✗")} OpenAI — no API key`);
46247
+ if (geminiFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "gemini").reason}`);
46248
+ else defaultRuntime.log(` ${warn("✗")} Gemini — no API key`);
46249
+ if (voyageFound) defaultRuntime.log(` ${success("✓")} ${detected.find((d) => d.id === "voyage").reason}`);
46250
+ else defaultRuntime.log(` ${warn("✗")} Voyage — no API key`);
46251
+ defaultRuntime.log("");
46252
+ if (detected.length === 0) {
46253
+ defaultRuntime.error("No embedding providers detected.");
46254
+ defaultRuntime.error("");
46255
+ defaultRuntime.error("To fix, do one of:");
46256
+ defaultRuntime.error(" - Install Ollama and pull an embedding model: ollama pull nomic-embed-text");
46257
+ defaultRuntime.error(" - Set OPENAI_API_KEY environment variable");
46258
+ defaultRuntime.error(" - Set GEMINI_API_KEY or VOYAGE_API_KEY environment variable");
46259
+ process.exitCode = 1;
46260
+ return;
46261
+ }
46262
+ const best = detected[0];
46263
+ defaultRuntime.log(`${heading("Configuring:")} ${info(best.id)} (${best.model})`);
46264
+ if (opts.dryRun) {
46265
+ defaultRuntime.log(muted(" (dry run — no changes written)"));
46266
+ const configProvider = best.id === "ollama" ? "openai" : best.id;
46267
+ defaultRuntime.log(` provider = ${info(configProvider)}${best.id === "ollama" ? muted(" (via Ollama)") : ""}`);
46268
+ defaultRuntime.log(` model = ${info(best.model)}`);
46269
+ if (best.baseUrl) {
46270
+ const configUrl = best.id === "ollama" ? `${best.baseUrl}/v1` : best.baseUrl;
46271
+ defaultRuntime.log(` remote.baseUrl = ${info(configUrl)}`);
46272
+ }
46273
+ return;
46274
+ }
46275
+ const snapshot = await readConfigFileSnapshot();
46276
+ const next = structuredClone(snapshot.resolved);
46277
+ const memPath = [
46278
+ "agents",
46279
+ "defaults",
46280
+ "memorySearch"
46281
+ ];
46282
+ setNestedValue(next, [...memPath, "enabled"], true);
46283
+ setNestedValue(next, [...memPath, "sources"], ["memory", "sessions"]);
46284
+ if (best.id === "ollama" && best.baseUrl) {
46285
+ setNestedValue(next, [...memPath, "provider"], "openai");
46286
+ setNestedValue(next, [...memPath, "model"], best.model);
46287
+ setNestedValue(next, [
46288
+ ...memPath,
46289
+ "remote",
46290
+ "baseUrl"
46291
+ ], `${best.baseUrl}/v1`);
46292
+ setNestedValue(next, [
46293
+ ...memPath,
46294
+ "remote",
46295
+ "apiKey"
46296
+ ], "ollama-local");
46297
+ } else {
46298
+ setNestedValue(next, [...memPath, "provider"], best.id);
46299
+ setNestedValue(next, [...memPath, "model"], best.model);
46300
+ if (best.baseUrl) setNestedValue(next, [
46301
+ ...memPath,
46302
+ "remote",
46303
+ "baseUrl"
46304
+ ], best.baseUrl);
46305
+ }
46306
+ await writeConfigFile(next);
46307
+ defaultRuntime.log(` ${success("✓")} Updated symi.json`);
46308
+ defaultRuntime.log("");
46309
+ defaultRuntime.log(heading("Indexing memory files..."));
46310
+ const freshCfg = loadConfig();
46311
+ let indexOk = false;
46312
+ await withMemoryManagerForAgent({
46313
+ cfg: freshCfg,
46314
+ agentId,
46315
+ run: async (manager) => {
46316
+ const syncFn = manager.sync ? manager.sync.bind(manager) : void 0;
46317
+ if (!syncFn) {
46318
+ defaultRuntime.log(warn(" Memory backend does not support indexing."));
46319
+ return;
46320
+ }
46321
+ try {
46322
+ await withProgressTotals({
46323
+ label: "Indexing memory…",
46324
+ total: 0
46325
+ }, async (update, progress) => {
46326
+ await syncFn({
46327
+ reason: "cli",
46328
+ force: true,
46329
+ progress: (syncUpdate) => {
46330
+ update({
46331
+ completed: syncUpdate.completed,
46332
+ total: syncUpdate.total,
46333
+ label: syncUpdate.label
46334
+ });
46335
+ if (syncUpdate.label) progress.setLabel(syncUpdate.label);
46336
+ }
46337
+ });
46338
+ });
46339
+ const status = manager.status();
46340
+ defaultRuntime.log(` ${success("✓")} ${status.files ?? 0} files → ${status.chunks ?? 0} chunks` + (status.vector?.dims ? ` (${status.vector.dims}-dim vectors)` : ""));
46341
+ indexOk = true;
46342
+ } catch (err) {
46343
+ defaultRuntime.error(` ${warn("✗")} Index failed: ${formatErrorMessage(err)}`);
46344
+ }
46345
+ }
46346
+ });
46347
+ if (!indexOk) {
46348
+ process.exitCode = 1;
46349
+ return;
46350
+ }
46351
+ defaultRuntime.log("");
46352
+ defaultRuntime.log(heading("Verifying search..."));
46353
+ await withMemoryManagerForAgent({
46354
+ cfg: freshCfg,
46355
+ agentId,
46356
+ run: async (manager) => {
46357
+ try {
46358
+ const results = await manager.search("test memory verification", { maxResults: 3 });
46359
+ 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)})` : ""));
46360
+ } catch (err) {
46361
+ defaultRuntime.log(` ${warn("✗")} Search verification failed: ${formatErrorMessage(err)}`);
46362
+ process.exitCode = 1;
46363
+ return;
46364
+ }
46365
+ }
46366
+ });
46367
+ defaultRuntime.log("");
46368
+ defaultRuntime.log(success("Memory system is fully operational."));
46369
+ defaultRuntime.log(muted("Restart the gateway to apply: systemctl --user restart symi-gateway"));
46168
46370
  }
46169
46371
 
46170
46372
  //#endregion
@@ -47477,7 +47679,7 @@ async function preflightDiscordMessage(params) {
47477
47679
  let preflightTranscript;
47478
47680
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47479
47681
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47480
- const { transcribeFirstAudio } = await import("./audio-preflight-DRQD_nt1.js");
47682
+ const { transcribeFirstAudio } = await import("./audio-preflight-mSUx5I34.js");
47481
47683
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47482
47684
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47483
47685
  ctx: {
@@ -51483,27 +51685,27 @@ function isVoiceChannelType(type) {
51483
51685
  function createDefaultDeps() {
51484
51686
  return {
51485
51687
  sendMessageWhatsApp: async (...args) => {
51486
- const { sendMessageWhatsApp } = await import("./web-BKQnrqo-.js");
51688
+ const { sendMessageWhatsApp } = await import("./web-f7lkf_un.js");
51487
51689
  return await sendMessageWhatsApp(...args);
51488
51690
  },
51489
51691
  sendMessageTelegram: async (...args) => {
51490
- const { sendMessageTelegram } = await import("./send-D_yJMeJa.js").then((n) => n.l);
51692
+ const { sendMessageTelegram } = await import("./send-DDrpEKUg.js").then((n) => n.l);
51491
51693
  return await sendMessageTelegram(...args);
51492
51694
  },
51493
51695
  sendMessageDiscord: async (...args) => {
51494
- const { sendMessageDiscord } = await import("./send-D3M6pMr5.js").then((n) => n.t);
51696
+ const { sendMessageDiscord } = await import("./send-Bt4UsVrd.js").then((n) => n.t);
51495
51697
  return await sendMessageDiscord(...args);
51496
51698
  },
51497
51699
  sendMessageSlack: async (...args) => {
51498
- const { sendMessageSlack } = await import("./send-CHOArYFe.js").then((n) => n.n);
51700
+ const { sendMessageSlack } = await import("./send-CEjpAJ8N.js").then((n) => n.n);
51499
51701
  return await sendMessageSlack(...args);
51500
51702
  },
51501
51703
  sendMessageSignal: async (...args) => {
51502
- const { sendMessageSignal } = await import("./send-CzE5UKr-.js").then((n) => n.i);
51704
+ const { sendMessageSignal } = await import("./send-Bx04WqH5.js").then((n) => n.i);
51503
51705
  return await sendMessageSignal(...args);
51504
51706
  },
51505
51707
  sendMessageIMessage: async (...args) => {
51506
- const { sendMessageIMessage } = await import("./send-BeASPkFg.js").then((n) => n.n);
51708
+ const { sendMessageIMessage } = await import("./send-1iB7Rdwp.js").then((n) => n.n);
51507
51709
  return await sendMessageIMessage(...args);
51508
51710
  }
51509
51711
  };
@@ -54387,7 +54589,7 @@ function createDiscordGatewayPlugin(params) {
54387
54589
  super(options);
54388
54590
  }
54389
54591
  createWebSocket(url) {
54390
- return new WebSocket(url, { agent });
54592
+ return new WebSocket$1(url, { agent });
54391
54593
  }
54392
54594
  }
54393
54595
  return new ProxyGatewayPlugin();
@@ -62332,7 +62534,7 @@ async function registerSlackMonitorSlashCommands(params) {
62332
62534
  });
62333
62535
  const deliverSlashPayloads = async (replies) => {
62334
62536
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
62335
- import("./replies-D9V19U2-.js").then((n) => n.r),
62537
+ import("./replies-DtdP8R93.js").then((n) => n.r),
62336
62538
  import("./chunk-BW5f05BR.js").then((n) => n.s),
62337
62539
  import("./markdown-tables-iMQQZu4Q.js").then((n) => n.t)
62338
62540
  ]);
@@ -64605,7 +64807,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64605
64807
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64606
64808
  let preflightTranscript;
64607
64809
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64608
- const { transcribeFirstAudio } = await import("./audio-preflight-DRQD_nt1.js");
64810
+ const { transcribeFirstAudio } = await import("./audio-preflight-mSUx5I34.js");
64609
64811
  preflightTranscript = await transcribeFirstAudio({
64610
64812
  ctx: {
64611
64813
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66750,23 +66952,23 @@ let webLoginQrPromise = null;
66750
66952
  let webChannelPromise = null;
66751
66953
  let whatsappActionsPromise = null;
66752
66954
  function loadWebOutbound() {
66753
- webOutboundPromise ??= import("./outbound-Cedd_yui.js").then((n) => n.t);
66955
+ webOutboundPromise ??= import("./outbound-yaYfpPTu.js").then((n) => n.t);
66754
66956
  return webOutboundPromise;
66755
66957
  }
66756
66958
  function loadWebLogin() {
66757
- webLoginPromise ??= import("./login-BG_7eJLu.js").then((n) => n.n);
66959
+ webLoginPromise ??= import("./login-DNeGXcjV.js").then((n) => n.n);
66758
66960
  return webLoginPromise;
66759
66961
  }
66760
66962
  function loadWebLoginQr() {
66761
- webLoginQrPromise ??= import("./login-qr-9OQSnm5L.js");
66963
+ webLoginQrPromise ??= import("./login-qr-CzD7_Pru.js");
66762
66964
  return webLoginQrPromise;
66763
66965
  }
66764
66966
  function loadWebChannel() {
66765
- webChannelPromise ??= import("./web-BKQnrqo-.js");
66967
+ webChannelPromise ??= import("./web-f7lkf_un.js");
66766
66968
  return webChannelPromise;
66767
66969
  }
66768
66970
  function loadWhatsAppActions() {
66769
- whatsappActionsPromise ??= import("./whatsapp-actions-BL7tCNC_.js");
66971
+ whatsappActionsPromise ??= import("./whatsapp-actions-B4YPuD2Q.js");
66770
66972
  return whatsappActionsPromise;
66771
66973
  }
66772
66974
  function createPluginRuntime() {