@symerian/symi 2.2.8 → 2.3.1

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 (361) hide show
  1. package/dist/{accounts-tNElYrCH.js → accounts-CI6zQTJj.js} +14 -14
  2. package/dist/{accounts-qtxJ-6em.js → accounts-CJR8j_Kq.js} +1 -1
  3. package/dist/{accounts-CWktKM8a.js → accounts-ChTFYj8Q.js} +1 -1
  4. package/dist/{acp-cli-C39L0DlT.js → acp-cli-Cu4icbJT.js} +2 -2
  5. package/dist/{acp-cli-C3PXowAr.js → acp-cli-NJzARaHq.js} +2 -2
  6. package/dist/{active-listener-C9r8ZB9m.js → active-listener-D6sXIjAg.js} +1 -1
  7. package/dist/{agent-scope-BxoUQqgM.js → agent-scope-Bw1Ed8W9.js} +3 -3
  8. package/dist/{agents-DbnUoR_W.js → agents-DzuttgJU.js} +7 -7
  9. package/dist/{agents.config-qyBeLoW5.js → agents.config-2HlZJsR3.js} +1 -1
  10. package/dist/{agents.config-D4WnZfkE.js → agents.config-CSucty2T.js} +1 -1
  11. package/dist/{audio-preflight-Cv9Z1hfd.js → audio-preflight-BsfqyC31.js} +29 -29
  12. package/dist/{audio-preflight-BsS_1f9-.js → audio-preflight-C40mKAp7.js} +5 -5
  13. package/dist/{audio-preflight-D6xo_ucC.js → audio-preflight-CWnxkaac.js} +11 -11
  14. package/dist/{audio-preflight-Dx82ytdb.js → audio-preflight-xSDULLAj.js} +11 -11
  15. package/dist/{audit-F6tyY79q.js → audit-Byo5jCLN.js} +5 -5
  16. package/dist/{audit-CbxXbquQ.js → audit-CrITRV6w.js} +5 -5
  17. package/dist/{auth-choice-DYxn5otk.js → auth-choice-ChrEc3cZ.js} +4 -4
  18. package/dist/{auth-choice-TbOBqNzh.js → auth-choice-Cve09z1a.js} +4 -4
  19. package/dist/{banner-BGxrGU83.js → banner-BoLflN_R.js} +1 -1
  20. package/dist/{bindings-B7Ke6LJi.js → bindings-BU2hsBd9.js} +2 -2
  21. package/dist/{browser-cli-BsdB0_5b.js → browser-cli-BG4qPxpM.js} +3 -3
  22. package/dist/{browser-cli-CTQX5_tu.js → browser-cli-CPcnnsJJ.js} +3 -3
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/boot-md/handler.js +53 -53
  25. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  26. package/dist/bundled/command-logger/handler.js +1 -1
  27. package/dist/bundled/session-memory/handler.js +53 -53
  28. package/dist/{call-C7OJzLEL.js → call-BcE47FtD.js} +1 -1
  29. package/dist/{call-BOIceRVF.js → call-CJaS1iRF.js} +1 -1
  30. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  31. package/dist/{channel-activity-CsM_hJ_s.js → channel-activity-C9-gaquj.js} +1 -1
  32. package/dist/{channel-options-qDtKomWq.js → channel-options-Dkd1WQZx.js} +1 -1
  33. package/dist/{channel-options-8st4ZPAV.js → channel-options-DqgeO1f6.js} +1 -1
  34. package/dist/{channel-web-DQusem-l.js → channel-web-CJvDQ5Ea.js} +7 -7
  35. package/dist/{channels-cli-DZ9QSHcp.js → channels-cli-D0jjOLRb.js} +29 -29
  36. package/dist/{channels-cli-BfrCgEUI.js → channels-cli-DtqwJZWy.js} +30 -30
  37. package/dist/{chrome-Bf5N4gMh.js → chrome-CDJYxX5a.js} +8 -8
  38. package/dist/{chrome-CCN6Uf1O.js → chrome-Dq0bSDVx.js} +1 -1
  39. package/dist/{chrome-BtuJAYB6.js → chrome-DtPkPq9T.js} +1 -1
  40. package/dist/{chrome-CQNK4Of4.js → chrome-w3SLcQJF.js} +13 -13
  41. package/dist/{chunk-BW5f05BR.js → chunk-ClbN9Pqy.js} +1 -1
  42. package/dist/cli/daemon-cli.js +1 -1
  43. package/dist/{cli-isTrIFLa.js → cli-CEtg8kql.js} +26 -26
  44. package/dist/{cli-D484UoYM.js → cli-CHOmeum9.js} +25 -25
  45. package/dist/{command-format-BaxDnULz.js → command-format-UKHV-j0K.js} +1 -1
  46. package/dist/{command-registry-D4kcHIMn.js → command-registry-Ba2z3dYq.js} +11 -11
  47. package/dist/{commands-registry-D7CTCQPm.js → commands-registry-VSmULp-g.js} +4 -4
  48. package/dist/{completion-cli-CtOpZu6z.js → completion-cli-BgX3MWVU.js} +1 -1
  49. package/dist/{completion-cli-1m5OvbnB.js → completion-cli-CD-306wt.js} +2 -2
  50. package/dist/{config-Btm9gODl.js → config-BmV60pPT.js} +28 -0
  51. package/dist/{config-CkPct-ND.js → config-CHwyw6l5.js} +28 -0
  52. package/dist/{config-CJigbfdK.js → config-DHBLS1Hl.js} +28 -0
  53. package/dist/{config-cli-BlpcRRjX.js → config-cli-Cz87-TYh.js} +2 -2
  54. package/dist/{config-cli-BVbYrdKA.js → config-cli-DAbXVRUL.js} +2 -2
  55. package/dist/{config-CT6a99bQ.js → config-eEaJddXj.js} +40 -12
  56. package/dist/{config-guard-Q2nmK4Xy.js → config-guard-BflmO0t7.js} +3 -3
  57. package/dist/{config-guard-Fe8ddF5U.js → config-guard-CPHvOzsC.js} +2 -2
  58. package/dist/{config-validation-CqVVl--v.js → config-validation-BITwrsxY.js} +1 -1
  59. package/dist/{config-validation-DXA9-y5q.js → config-validation-CmimHAES.js} +1 -1
  60. package/dist/{configure-D4WT6m8B.js → configure-0nrthdSf.js} +10 -10
  61. package/dist/{configure-C-o6fkN4.js → configure-D45ne4lm.js} +10 -10
  62. package/dist/{control-service-DWy5T1wZ.js → control-service-Bz7rxLWq.js} +4 -4
  63. package/dist/{control-service-D2-SfYYP.js → control-service-DEVN6FRR.js} +4 -4
  64. package/dist/control-ui/css/style.css +1437 -548
  65. package/dist/control-ui/index.html +912 -652
  66. package/dist/control-ui/js/app.js +82 -6
  67. package/dist/control-ui/js/debug.js +55 -0
  68. package/dist/control-ui/js/gateway.js +11 -0
  69. package/dist/control-ui/js/models.js +16 -1
  70. package/dist/control-ui/js/render.js +74 -1
  71. package/dist/control-ui/js/render.test.js +36 -35
  72. package/dist/control-ui/js/utils.js +6 -6
  73. package/dist/{cron-cli-DCjmF5-B.js → cron-cli-BP24xl6n.js} +3 -3
  74. package/dist/{cron-cli-BXgHvojs.js → cron-cli-DBIlCvp3.js} +3 -3
  75. package/dist/{daemon-cli-D-Ceof_K.js → daemon-cli-DscwlsKW.js} +6 -6
  76. package/dist/{daemon-cli-2Xzn9zI0.js → daemon-cli-wWnBIQtk.js} +6 -6
  77. package/dist/daemon-cli.js +28 -0
  78. package/dist/{daemon-runtime-DpFImSwP.js → daemon-runtime-2mwX-jqj.js} +1 -1
  79. package/dist/{daemon-runtime-Co0_hiZm.js → daemon-runtime-CfRwa6qh.js} +1 -1
  80. package/dist/{deliver-CBVqE05W.js → deliver-BH0l3UKW.js} +2 -2
  81. package/dist/{deliver-CeOnWRNZ.js → deliver-BmPK91JP.js} +20 -20
  82. package/dist/{deliver-PKvGnPCv.js → deliver-CXRSdUr1.js} +3 -3
  83. package/dist/{deliver-CuDHWgo8.js → deliver-CceEhg3d.js} +3 -3
  84. package/dist/{devices-cli-Sgz97CCh.js → devices-cli-BHiPx2c2.js} +2 -2
  85. package/dist/{devices-cli-gzdkKCIr.js → devices-cli-Dds-25Ve.js} +2 -2
  86. package/dist/{diagnostic-CI0kRQkt.js → diagnostic-C3nsWaw3.js} +1 -1
  87. package/dist/{directory-cli-B7qWiEB9.js → directory-cli-CpUByQew.js} +1 -1
  88. package/dist/{directory-cli-B3reyWxB.js → directory-cli-D6vlxPje.js} +1 -1
  89. package/dist/{dns-cli-w2PtF7dQ.js → dns-cli-BEub5qgQ.js} +1 -1
  90. package/dist/{dns-cli-CAyakH9y.js → dns-cli-Beyzdh3S.js} +1 -1
  91. package/dist/{doctor-completion-CU32z26S.js → doctor-completion-CcDVOtZ5.js} +1 -1
  92. package/dist/{doctor-completion-rtRPARP8.js → doctor-completion-CmGtqUHQ.js} +1 -1
  93. package/dist/{doctor-config-flow-Bvd_Aoem.js → doctor-config-flow-CA3eiKhd.js} +2 -2
  94. package/dist/{doctor-config-flow-q1cK5vqE.js → doctor-config-flow-QnaBd8kL.js} +2 -2
  95. package/dist/entry.js +1 -1
  96. package/dist/{exec-approvals-cli-BGR981x_.js → exec-approvals-cli--zyXYrNY.js} +4 -4
  97. package/dist/{exec-approvals-cli-qL61CX5W.js → exec-approvals-cli-BliRl8VB.js} +4 -4
  98. package/dist/extensionAPI.js +13 -13
  99. package/dist/{frontmatter-C_bv_0P8.js → frontmatter-DPlG6yha.js} +2 -2
  100. package/dist/{gateway-cli-dxsgPoqI.js → gateway-cli-BVN31fwu.js} +135 -45
  101. package/dist/{gateway-cli-D9tJexeo.js → gateway-cli-DajX3Pye.js} +134 -44
  102. package/dist/{gateway-rpc-o-EndnYx.js → gateway-rpc-BxkKeCZ0.js} +1 -1
  103. package/dist/{gateway-rpc-DjjmZ7bN.js → gateway-rpc-DfZSz5JF.js} +1 -1
  104. package/dist/{gemini-auth-CdSPHuLl.js → gemini-auth-CF48hUR9.js} +1 -1
  105. package/dist/{github-copilot-token-C_qUP7p5.js → github-copilot-token-DJqsJ2-r.js} +7 -7
  106. package/dist/{glass-ui-ws-BvSaDLuk.js → glass-ui-ws-CQG6acJl.js} +34 -34
  107. package/dist/{glass-ui-ws-BxliIaQO.js → glass-ui-ws-Z1IOT6Vc.js} +33 -33
  108. package/dist/{health-BpVkd1NR.js → health-D9eQW7fJ.js} +5 -5
  109. package/dist/{health-6atzBDlL.js → health-f056vLGT.js} +5 -5
  110. package/dist/{hooks-cli-BdV4KLxW.js → hooks-cli-CW-IRS72.js} +27 -27
  111. package/dist/{hooks-cli-A0zhogYG.js → hooks-cli-hJ4euq2R.js} +26 -26
  112. package/dist/{image-Crdjqg8r.js → image-CHzdaNJ4.js} +2 -2
  113. package/dist/{image-CAI2RIyk.js → image-CO4meYzg.js} +2 -2
  114. package/dist/{image-Bf75JOg6.js → image-D9uvDTrc.js} +2 -2
  115. package/dist/{image-ops-CvJzsyvE.js → image-ops-S8-8dAhx.js} +1 -1
  116. package/dist/{image-CAUuNGNO.js → image-rZ4x9VS9.js} +4 -4
  117. package/dist/index.js +34 -34
  118. package/dist/{ir-DccrnjsE.js → ir-CbFUkv_T.js} +4 -4
  119. package/dist/{lifecycle-core-S8m0j4NY.js → lifecycle-core-D6LYXpFj.js} +2 -2
  120. package/dist/{lifecycle-core-D7Ye5Yes.js → lifecycle-core-DIBHfMOL.js} +2 -2
  121. package/dist/llm-slug-generator.js +53 -53
  122. package/dist/{local-roots-DMwIh5cS.js → local-roots-C7OCYACU.js} +5 -5
  123. package/dist/{login-Bw5pRDS9.js → login-B8uiUAnV.js} +7 -7
  124. package/dist/{login-Cy0xKkFK.js → login-XprgoYoQ.js} +2 -2
  125. package/dist/{login-CLDr2P2d.js → login-dIlDkG4X.js} +2 -2
  126. package/dist/{login-qr-UgF5nhwc.js → login-qr-CIZk8uKX.js} +12 -12
  127. package/dist/{login-qr-B1vLxxOr.js → login-qr-CUErSLXH.js} +2 -2
  128. package/dist/{login-qr-x-m9V4_i.js → login-qr-CqPpNO1y.js} +2 -2
  129. package/dist/{login-qr-CJ3r_moH.js → login-qr-pbXdFORv.js} +2 -2
  130. package/dist/{login-CrnzK7Rc.js → login-tFW8qUTU.js} +2 -2
  131. package/dist/{logs-cli-DJIwkEZN.js → logs-cli-Du8FCgKK.js} +3 -3
  132. package/dist/{logs-cli-DoSU6ypE.js → logs-cli-xOzIPrHm.js} +3 -3
  133. package/dist/{manager-D_LwXbc6.js → manager-BoLr3xR_.js} +13 -13
  134. package/dist/{manifest-registry-D0IQ3WuX.js → manifest-registry-CneMHk0N.js} +19 -19
  135. package/dist/{markdown-tables-iMQQZu4Q.js → markdown-tables-DSHvnTLx.js} +1 -1
  136. package/dist/{memory-cli-B1eBVFD2.js → memory-cli-C2SWDd8g.js} +1 -1
  137. package/dist/{memory-cli-DKU7WTEa.js → memory-cli-Ca5r9AUb.js} +1 -1
  138. package/dist/{message-channel-Dz5lr5b0.js → message-channel-DbsRltF2.js} +1 -1
  139. package/dist/{model-auth-DK43VicI.js → model-auth-CwOuTuXl.js} +9 -9
  140. package/dist/{model-catalog-D2Q4fkGC.js → model-catalog-CqCsARJX.js} +2 -2
  141. package/dist/{model-catalog-67tJywj6.js → model-catalog-DvBJ8pMD.js} +3 -3
  142. package/dist/{model-picker-Cv_lMtfR.js → model-picker-D5nCutGW.js} +2 -2
  143. package/dist/{model-picker-C5-xr7Au.js → model-picker-Ddo3jHe-.js} +2 -2
  144. package/dist/{models-cli-BIM5pEpQ.js → models-cli-B2ticsCM.js} +29 -29
  145. package/dist/{models-cli-DlUDMBlo.js → models-cli-D9bG44Ao.js} +29 -29
  146. package/dist/{models-config--wR0kLo6.js → models-config-CCMpqFyr.js} +1 -1
  147. package/dist/{models-config-CZKT8W0M.js → models-config-qyOXrOli.js} +1 -1
  148. package/dist/{models-CBEZc-xT.js → models-nO_t1uzp.js} +8 -8
  149. package/dist/{node-cli-D8nG9EDD.js → node-cli-C_G-Q3h-.js} +9 -9
  150. package/dist/{node-cli-DGmvLskU.js → node-cli-DSEhcjUV.js} +9 -9
  151. package/dist/{nodes-cli-B058F0sZ.js → nodes-cli-BIPA9B8G.js} +3 -3
  152. package/dist/{nodes-cli-BZ5aitST.js → nodes-cli-BcnuJajV.js} +3 -3
  153. package/dist/{onboard-BXp3rpw1.js → onboard-BDbpfrZj.js} +7 -7
  154. package/dist/{onboard-DXEF3bw2.js → onboard-BtZ9WqhJ.js} +7 -7
  155. package/dist/{onboard-channels-OKIylMMu.js → onboard-channels-CHE8nfNA.js} +1 -1
  156. package/dist/{onboard-channels-qLCTzt3v.js → onboard-channels-HubyUVjT.js} +1 -1
  157. package/dist/{onboard-custom-BiDvzYz-.js → onboard-custom-C7O-zfQ1.js} +2 -2
  158. package/dist/{onboard-custom-Bcifi3N2.js → onboard-custom-DdWPfzJO.js} +2 -2
  159. package/dist/{onboard-helpers-DHgVt6rY.js → onboard-helpers-ZmZYzlq3.js} +2 -2
  160. package/dist/{onboard-helpers-Cammg0Xb.js → onboard-helpers-_pit1NZW.js} +2 -2
  161. package/dist/{onboard-remote-BnOKv_rG.js → onboard-remote-R1g6st9i.js} +1 -1
  162. package/dist/{onboard-remote-CPI1Dsgo.js → onboard-remote-zUjD7UtM.js} +1 -1
  163. package/dist/{onboard-skills-5R6rRZiZ.js → onboard-skills-BB0YhUmF.js} +1 -1
  164. package/dist/{onboard-skills-LkCNrrQL.js → onboard-skills-ByO_wSN5.js} +1 -1
  165. package/dist/{onboarding-HJJedJ3u.js → onboarding-DtP0sps0.js} +10 -10
  166. package/dist/{onboarding-m_e9LePg.js → onboarding-eVb5gvwo.js} +10 -10
  167. package/dist/{onboarding.finalize-CbjQ-91D.js → onboarding.finalize-CetxPTxL.js} +31 -31
  168. package/dist/{onboarding.finalize-CGVAc5-e.js → onboarding.finalize-D8035U2E.js} +33 -33
  169. package/dist/{onboarding.gateway-config-BOUh5scQ.js → onboarding.gateway-config-BQFO9a_h.js} +4 -4
  170. package/dist/{onboarding.gateway-config-xF_Hfx5r.js → onboarding.gateway-config-CJUgDC6Y.js} +4 -4
  171. package/dist/{outbound-DzTvHYT8.js → outbound-3MZ12YrQ.js} +1 -1
  172. package/dist/{outbound-DHZ4Sktx.js → outbound-DB5Zus0-.js} +1 -1
  173. package/dist/{outbound-attachment-DjNDa3zn.js → outbound-attachment-Co2diKdP.js} +2 -2
  174. package/dist/{outbound-DeJ-MyLv.js → outbound-drXCcH8D.js} +1 -1
  175. package/dist/{outbound-GuMlcXXN.js → outbound-opDNxv-l.js} +7 -7
  176. package/dist/{pairing-cli-BunHc86C.js → pairing-cli-CBLfGvqW.js} +1 -1
  177. package/dist/{pairing-cli-DNAQqsxT.js → pairing-cli-CQRAnpvm.js} +1 -1
  178. package/dist/{paths-DLyHUt31.js → paths-Cb87-LzP.js} +1 -1
  179. package/dist/{paths-Cce4PUkG.js → paths-CySxpNhH.js} +5 -5
  180. package/dist/{pi-auth-json-0SYBFZTt.js → pi-auth-json-DPWPoruO.js} +8 -8
  181. package/dist/{pi-auth-json-C3yexKNU.js → pi-auth-json-DayrlDg_.js} +1 -1
  182. package/dist/{pi-embedded-Cd7Gd0Am.js → pi-embedded-BY-dBus2.js} +250 -39
  183. package/dist/{pi-embedded-C4Cb6hc3.js → pi-embedded-Dc3muKtS.js} +374 -163
  184. package/dist/{pi-embedded-helpers-B86ZS0eB.js → pi-embedded-helpers-B2z46qeM.js} +52 -52
  185. package/dist/{pi-embedded-helpers-UsrsQKwr.js → pi-embedded-helpers-CNPyv_ax.js} +1 -1
  186. package/dist/{pi-embedded-helpers-B2k8Fh9T.js → pi-embedded-helpers-DE9h5GAu.js} +1 -1
  187. package/dist/{pi-embedded-helpers-xjO9noTy.js → pi-embedded-helpers-lgx_U5KS.js} +5 -5
  188. package/dist/{pi-tools.policy-DKHZCIA2.js → pi-tools.policy-CIDBbw6x.js} +2 -2
  189. package/dist/{pi-tools.policy-CwzwRugl.js → pi-tools.policy-De00gPXt.js} +2 -2
  190. package/dist/{plugin-registry-DOEhQFQJ.js → plugin-registry-CuoX8mar.js} +2 -2
  191. package/dist/{plugin-registry-D0iAVBbj.js → plugin-registry-fxcvycGr.js} +2 -2
  192. package/dist/plugin-sdk/{audio-preflight-B8X7BvQ5.js → audio-preflight-DoQQKlxa.js} +5 -5
  193. package/dist/plugin-sdk/{channel-web-B92UQWLf.js → channel-web-CV1KLtZh.js} +7 -7
  194. package/dist/plugin-sdk/{chrome-DxJPopF7.js → chrome-C7c_0I5M.js} +1 -1
  195. package/dist/plugin-sdk/config/model-profiles-builtin.d.ts +9 -0
  196. package/dist/plugin-sdk/config/model-profiles.d.ts +56 -0
  197. package/dist/plugin-sdk/config/resolve-model-profile.d.ts +15 -0
  198. package/dist/plugin-sdk/config/types.models.d.ts +28 -0
  199. package/dist/plugin-sdk/config/zod-schema.core.d.ts +54 -0
  200. package/dist/plugin-sdk/config/zod-schema.d.ts +27 -0
  201. package/dist/plugin-sdk/{config-B0SemGqU.js → config-DDkdiUOR.js} +28 -0
  202. package/dist/plugin-sdk/{deliver-C51eaClJ.js → deliver-BUns_L9e.js} +2 -2
  203. package/dist/plugin-sdk/{image-VGrV0d09.js → image-BOYy0Ump.js} +2 -2
  204. package/dist/plugin-sdk/index.js +17 -17
  205. package/dist/plugin-sdk/{login-CG8p5_rW.js → login-Bh3DZPam.js} +2 -2
  206. package/dist/plugin-sdk/{login-qr-buvA9Dp8.js → login-qr-DbR7odSr.js} +2 -2
  207. package/dist/plugin-sdk/{outbound-LqNDFLO5.js → outbound-rF6G8Xpr.js} +1 -1
  208. package/dist/plugin-sdk/{pi-embedded-helpers-IkpqVZZa.js → pi-embedded-helpers-BveUP4hk.js} +5 -5
  209. package/dist/plugin-sdk/{pw-ai-CjPImm6b.js → pw-ai-DjGUsee-.js} +2 -2
  210. package/dist/plugin-sdk/{replies-BLMuwbVf.js → replies-fI39rPGa.js} +1 -1
  211. package/dist/plugin-sdk/{reply-BS99Apig.js → reply-C4mijdMZ.js} +246 -35
  212. package/dist/plugin-sdk/{runner-pmvwohi9.js → runner-BVqnEfNe.js} +2 -2
  213. package/dist/plugin-sdk/{send-D8Zs62CE.js → send-BHbXh8Ly.js} +1 -1
  214. package/dist/plugin-sdk/{send-DOXV-BQw.js → send-BMfJIhCk.js} +1 -1
  215. package/dist/plugin-sdk/{send-BinD92v_.js → send-BtANzsAo.js} +1 -1
  216. package/dist/plugin-sdk/{send-cUp3Bf9t.js → send-Bxdu6ZZy.js} +1 -1
  217. package/dist/plugin-sdk/{send-BOrHNGsc.js → send-D6LMZJ_h.js} +1 -1
  218. package/dist/plugin-sdk/{session-B0bWB4Wf.js → session-kI0tzViQ.js} +1 -1
  219. package/dist/plugin-sdk/{web-CF79DBe3.js → web-B17UUsjm.js} +17 -17
  220. package/dist/plugin-sdk/{whatsapp-actions-Bp33E4JW.js → whatsapp-actions-CcBzDuL-.js} +2 -2
  221. package/dist/{plugins-DQYI3Fr-.js → plugins-C4C9637U.js} +9 -9
  222. package/dist/{plugins-cli-6nKHKPj8.js → plugins-cli-4OqSGHp-.js} +26 -26
  223. package/dist/{plugins-cli-DU06_0f6.js → plugins-cli-BbE_Qnlk.js} +27 -27
  224. package/dist/{program-D1icw1T9.js → program-DkXOdfM2.js} +33 -33
  225. package/dist/{program-context-Bqybavvo.js → program-context-0bDxGpMx.js} +38 -38
  226. package/dist/{prompt-select-styled-DptZ40df.js → prompt-select-styled-DJkRn30j.js} +14 -14
  227. package/dist/{prompt-select-styled-Cj3jTVJJ.js → prompt-select-styled-_6KbTFXs.js} +14 -14
  228. package/dist/{provider-auth-helpers-CDnMFdFw.js → provider-auth-helpers-Bnkj4QXS.js} +2 -2
  229. package/dist/{provider-auth-helpers-BVSJctmE.js → provider-auth-helpers-BpVAdwK_.js} +2 -2
  230. package/dist/{push-apns-DtKC_-eP.js → push-apns-C0wMP1XU.js} +1 -1
  231. package/dist/{push-apns-CpUJIlI7.js → push-apns-EKnCwrqK.js} +1 -1
  232. package/dist/{pw-ai-DgDn1s1W.js → pw-ai-CbyO1fbh.js} +2 -2
  233. package/dist/{pw-ai-C2hGnRfL.js → pw-ai-De-KR9_s.js} +2 -2
  234. package/dist/{pw-ai-CsvxsEwI.js → pw-ai-DqL87js3.js} +2 -2
  235. package/dist/{pw-ai-BcniFyZm.js → pw-ai-PiQUncix.js} +11 -11
  236. package/dist/{qmd-manager-QHUP-_em.js → qmd-manager-DdZh9PHs.js} +7 -7
  237. package/dist/{qr-cli-Deyb-bdE.js → qr-cli-jd9LdZpq.js} +1 -1
  238. package/dist/{qr-cli-DvDQ233a.js → qr-cli-mgnfD5ce.js} +1 -1
  239. package/dist/{register.agent-DesQbi0N.js → register.agent-B0S1CJEx.js} +32 -32
  240. package/dist/{register.agent-DszKb7kT.js → register.agent-B48Vf_DK.js} +34 -34
  241. package/dist/{register.configure-CPZ2pkCL.js → register.configure-Drr3E9OG.js} +36 -36
  242. package/dist/{register.configure-CiHbtNBW.js → register.configure-Wyv7vb24.js} +37 -37
  243. package/dist/{register.maintenance-BBjwt-34.js → register.maintenance-Cmf17EW0.js} +34 -34
  244. package/dist/{register.maintenance-hUQ3a2-X.js → register.maintenance-TgjAQ4E0.js} +36 -36
  245. package/dist/{register.message-BZ_faykn.js → register.message-BcsPnPvW.js} +26 -26
  246. package/dist/{register.message-BJG43ey1.js → register.message-Dwv2puIB.js} +27 -27
  247. package/dist/{register.onboard-CtDGWgek.js → register.onboard-BDGaSyq2.js} +32 -32
  248. package/dist/{register.onboard-BuvppItf.js → register.onboard-C8w7_w93.js} +33 -33
  249. package/dist/{register.setup-09FZm-3U.js → register.setup-CMGSNKXS.js} +33 -33
  250. package/dist/{register.setup-CK_rXwht.js → register.setup-CiEuZOlI.js} +32 -32
  251. package/dist/{register.status-health-sessions-CYBXZfzw.js → register.status-health-sessions-C8p0uINc.js} +29 -29
  252. package/dist/{register.status-health-sessions-Dq1GhVZd.js → register.status-health-sessions-zKjmZyOs.js} +31 -31
  253. package/dist/{register.subclis-oaqsIg7c.js → register.subclis-CofZE_pt.js} +28 -28
  254. package/dist/{registry-CK4e9hn8.js → registry-DP24za6g.js} +17 -17
  255. package/dist/{replies-CVeSBasT.js → replies-DO80zq73.js} +1 -1
  256. package/dist/{replies-9jiCJtyj.js → replies-DpPvWiGF.js} +3 -3
  257. package/dist/{replies-Dfqu9AXG.js → replies-ZYtI9jr0.js} +1 -1
  258. package/dist/{replies-ByiY6ZyB.js → replies-vgss3_QA.js} +1 -1
  259. package/dist/{reply-BnAPNcvn.js → reply-SBi_U7P7.js} +258 -47
  260. package/dist/{reply-prefix-XlyuyChD.js → reply-prefix-CtL0omgM.js} +1 -1
  261. package/dist/{resolve-route-CZ-1eqw0.js → resolve-route-BVikmvWO.js} +4 -4
  262. package/dist/{retry-Cly39XZB.js → retry-dGG-MbxL.js} +1 -1
  263. package/dist/{routes-br_73dY_.js → routes-BFw2-yAN.js} +3 -3
  264. package/dist/{routes-BZCzIvY1.js → routes-Ba9CUQ8M.js} +3 -3
  265. package/dist/{rpc-CbirYKS1.js → rpc-BfhojW8g.js} +1 -1
  266. package/dist/{rpc-BsIk35AA.js → rpc-BjLadgzu.js} +1 -1
  267. package/dist/{run-main-g9-g4T_a.js → run-main-BJaDO3WW.js} +44 -44
  268. package/dist/{runner-BPcjrrjx.js → runner-BORIO-D3.js} +3 -3
  269. package/dist/{runner-M7hSmkG1.js → runner-CCSMfQee.js} +9 -9
  270. package/dist/{runner-Iw-AU75D.js → runner-CUglpiFP.js} +3 -3
  271. package/dist/{runner-DFFbD4Jj.js → runner-DUBExAb5.js} +2 -2
  272. package/dist/{sandbox-C9zB9HTn.js → sandbox-BFzSUT19.js} +5 -5
  273. package/dist/{sandbox-BnivFdOs.js → sandbox-C-T6hOMv.js} +5 -5
  274. package/dist/{sandbox-cli-6RGP0CNN.js → sandbox-cli-BllVdQzR.js} +6 -6
  275. package/dist/{sandbox-cli-Dl8IMlpe.js → sandbox-cli-Cj5__-gh.js} +6 -6
  276. package/dist/{security-cli-BHG6kV1z.js → security-cli-BFLtWWHy.js} +9 -9
  277. package/dist/{security-cli-CtgTAznE.js → security-cli-Dmb1k47A.js} +9 -9
  278. package/dist/{send-uxuOCFdA.js → send-BArQpbtx.js} +1 -1
  279. package/dist/{send-C1DE47RQ.js → send-C1IYd3g7.js} +1 -1
  280. package/dist/{send-CdxBNofn.js → send-C4Ucr8ep.js} +1 -1
  281. package/dist/{send-Z6uznj5j.js → send-CHEOWVc8.js} +6 -6
  282. package/dist/{send-DB2tDd9M.js → send-CPF8hSFp.js} +1 -1
  283. package/dist/{send-DKvfyTNM.js → send-CR5fRDgW.js} +1 -1
  284. package/dist/{send-CU_BDzc0.js → send-CXxQ_f7L.js} +1 -1
  285. package/dist/{send-CkYljROn.js → send-CY8oqBFg.js} +1 -1
  286. package/dist/{send-Bf-tLRDW.js → send-CZr1hVHY.js} +1 -1
  287. package/dist/{send-DP6zL1r4.js → send-CukP8Vq4.js} +1 -1
  288. package/dist/{send-DKB9atcf.js → send-Cutb0ZDY.js} +1 -1
  289. package/dist/{send-DoiQ-lVY.js → send-D-hWrHoH.js} +1 -1
  290. package/dist/{send-rirP23D6.js → send-DK_pm_7l.js} +1 -1
  291. package/dist/{send-Dv5K7btg.js → send-DTTtmhjA.js} +1 -1
  292. package/dist/{send-DUWSrao-.js → send-DXW6mdgR.js} +1 -1
  293. package/dist/{send-KhJZHqoK.js → send-DbcLJb0P.js} +7 -7
  294. package/dist/{send-B2c8xd6F.js → send-DeEosX8F.js} +18 -18
  295. package/dist/{send-Dp3_Z9LN.js → send-DwKJK3sM.js} +10 -10
  296. package/dist/{send-Bv3GF77o.js → send-tanEMpHN.js} +1 -1
  297. package/dist/{send-IjhsR55j.js → send-zSarozV2.js} +6 -6
  298. package/dist/{server-context-Bn72icrR.js → server-context-CEpFjqSk.js} +5 -5
  299. package/dist/{server-context-BogDcclm.js → server-context-H24IFajW.js} +5 -5
  300. package/dist/{server-methods-CYVVBHwG.js → server-methods-Cm6W01ne.js} +15 -15
  301. package/dist/{server-methods-1TVNg0k5.js → server-methods-CyFB3XQf.js} +16 -16
  302. package/dist/{server-node-events-CPTRFOMY.js → server-node-events-Bhgt3xLw.js} +26 -26
  303. package/dist/{server-node-events-Cvqw-9rw.js → server-node-events-CX1plxJz.js} +27 -27
  304. package/dist/{session-CRf_exZ0.js → session-Ckw7cXeP.js} +1 -1
  305. package/dist/{session-eZHBxAr-.js → session-DIBTkyvE.js} +1 -1
  306. package/dist/{session-BvpMfKh-.js → session-DV1MNlbV.js} +8 -8
  307. package/dist/{session-C4z7523K.js → session-DtMfLMdP.js} +1 -1
  308. package/dist/{session-utils-D5F7F--L.js → session-utils-Bka9dR4m.js} +3 -3
  309. package/dist/{sessions-Cb4Hj78H.js → sessions-CJXnZVjR.js} +1 -1
  310. package/dist/{sessions-B2cR2hug.js → sessions-DgYpBvse.js} +1 -1
  311. package/dist/{sessions-DHCZbuoQ.js → sessions-WBoXk-Ag.js} +3 -3
  312. package/dist/{shared-zPQArNFi.js → shared-D8K9MkWg.js} +1 -1
  313. package/dist/{shared-CxsYh_6Q.js → shared-Knv1hy6h.js} +1 -1
  314. package/dist/{skill-commands-BJMb_psG.js → skill-commands-D610IKhm.js} +9 -9
  315. package/dist/{skills-cli-urhcJuu8.js → skills-cli-BZTBLQTt.js} +1 -1
  316. package/dist/{skills-cli-XmXhTH3z.js → skills-cli-CkTGL9dR.js} +1 -1
  317. package/dist/{skills-BFekKL7i.js → skills-o5WVqM4V.js} +21 -21
  318. package/dist/{sqlite-DRbx2dhW.js → sqlite-6H6Zw1cs.js} +4 -4
  319. package/dist/{status-B7VIwi53.js → status-BBpD_1pG.js} +10 -10
  320. package/dist/{status-CDpLvmFd.js → status-BdmYV3_x.js} +2 -2
  321. package/dist/{status-CCrlpUEA.js → status-CwXg8OO1.js} +9 -9
  322. package/dist/{status-BS3y9HjF.js → status-U_1mE-yc.js} +2 -2
  323. package/dist/{status.update-D8lzj5TK.js → status.update-DbmZz0Aq.js} +1 -1
  324. package/dist/{status.update-Cu6R3wwz.js → status.update-DtwCUTf-.js} +1 -1
  325. package/dist/{store-C0wvOkae.js → store-vVE6N2mH.js} +2 -2
  326. package/dist/{subagent-registry-BSgPGZxs.js → subagent-registry-Du9P0G2U.js} +259 -48
  327. package/dist/{subsystem-Bs9YvKLa.js → subsystem-DgpxyDQ_.js} +1 -1
  328. package/dist/{system-cli-BXvpbG10.js → system-cli-D_EIZpBm.js} +3 -3
  329. package/dist/{system-cli-CD1cvYkc.js → system-cli-UMsMEurS.js} +3 -3
  330. package/dist/{systemd-hints-Cn-fd1AF.js → systemd-hints-BR6gChwm.js} +1 -1
  331. package/dist/{systemd-hints-BMl55p2_.js → systemd-hints-sQipWGd1.js} +1 -1
  332. package/dist/{tables-DuZspiBu.js → tables-BIWsCKXJ.js} +1 -1
  333. package/dist/{target-errors-Be1SwYlW.js → target-errors-DyItGyW9.js} +2 -2
  334. package/dist/{thinking-CdlENGRW.js → thinking-Ni0HF-w6.js} +5 -5
  335. package/dist/{tokens-H1H1LiSQ.js → tokens-c_SLAkVb.js} +1 -1
  336. package/dist/{tool-images-DXB7tqWi.js → tool-images-DBCfXdli.js} +2 -2
  337. package/dist/{tool-loop-detection-Cs8_HCsx.js → tool-loop-detection-Bbc9OPFR.js} +3 -3
  338. package/dist/{tui-OUhw8eT1.js → tui-BJB80muc.js} +4 -4
  339. package/dist/{tui-DJefgPwz.js → tui-CriznorL.js} +4 -4
  340. package/dist/{tui-cli-_ohekmDR.js → tui-cli-C7Q9lK8Q.js} +9 -9
  341. package/dist/{tui-cli-C-CoSVeQ.js → tui-cli-CSIdfCTR.js} +9 -9
  342. package/dist/{update-cli-DL3Tb3b0.js → update-cli-DJzF_9UX.js} +37 -37
  343. package/dist/{update-cli-C8sM6pAA.js → update-cli-_45TJ3hZ.js} +39 -39
  344. package/dist/{update-runner-ChoWv-od.js → update-runner-8Ac4bJ1w.js} +1 -1
  345. package/dist/{update-runner-Dm7EwGFW.js → update-runner-BSQFv9b6.js} +1 -1
  346. package/dist/{web-sQrQA6or.js → web-BZSI7b07.js} +29 -29
  347. package/dist/{web-0w8t_r2B.js → web-BqRsq6mP.js} +57 -57
  348. package/dist/{web-UEqiaso9.js → web-C1Zn8_qW.js} +16 -16
  349. package/dist/{web-VbydcdAk.js → web-w-vV1rCZ.js} +29 -29
  350. package/dist/{webhooks-cli-B8gdUXw-.js → webhooks-cli-ChiCyIaD.js} +1 -1
  351. package/dist/{webhooks-cli-DpiLQ_-A.js → webhooks-cli-cD58DWAE.js} +1 -1
  352. package/dist/{whatsapp-actions-DrReF5st.js → whatsapp-actions-C8nNH4ax.js} +2 -2
  353. package/dist/{whatsapp-actions-xolxich-.js → whatsapp-actions-DbcsdOH3.js} +2 -2
  354. package/dist/{whatsapp-actions-D_KIOhRu.js → whatsapp-actions-DvhI5-DC.js} +2 -2
  355. package/dist/{whatsapp-actions-BVZaCecm.js → whatsapp-actions-oRQjcdQe.js} +23 -23
  356. package/dist/{with-timeout-vknUanNX.js → with-timeout-Di0nddLY.js} +1 -1
  357. package/dist/{with-timeout-DIHZxCIl.js → with-timeout-gmK6RciS.js} +1 -1
  358. package/dist/{workspace-wAaHI8-5.js → workspace-CbvamIU6.js} +6 -6
  359. package/docs/reference/templates/CONFIG-SCHEMA.md +173 -0
  360. package/docs/reference/templates/SYMICORE.md +24 -0
  361. package/package.json +1 -1
@@ -13,29 +13,29 @@ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discov
13
13
  import { r as isPathInsideWithRealpath } from "./scan-paths-ppKrtZ9U.js";
14
14
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-hAdgFdrv.js";
15
15
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-Czr39pxG.js";
16
- import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CJigbfdK.js";
16
+ import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DHBLS1Hl.js";
17
17
  import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-DMBZpU6X.js";
18
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-C7OJzLEL.js";
18
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BcE47FtD.js";
19
19
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C9dERklz.js";
20
20
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-D0lNkCf6.js";
21
- import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Cb4Hj78H.js";
21
+ import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-CJXnZVjR.js";
22
22
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Csntmwwn.js";
23
23
  import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-CwSlLxM8.js";
24
24
  import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-D9ITgITj.js";
25
25
  import { t as normalizeChatType } from "./chat-type-CeFzWU-6.js";
26
- 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-DP6zL1r4.js";
27
- 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-Dv5K7btg.js";
28
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-vknUanNX.js";
29
- 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-PKvGnPCv.js";
26
+ 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-CukP8Vq4.js";
27
+ 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-DTTtmhjA.js";
28
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-Di0nddLY.js";
29
+ 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-CXRSdUr1.js";
30
30
  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-Ci8Xsc_Y.js";
31
31
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CIjIGxEE.js";
32
32
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-D1eLj5t8.js";
33
- import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DKvfyTNM.js";
33
+ import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-CR5fRDgW.js";
34
34
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-CUkaZz2F.js";
35
- import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-B2k8Fh9T.js";
36
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-C9zB9HTn.js";
37
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CCN6Uf1O.js";
38
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BogDcclm.js";
35
+ import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-DE9h5GAu.js";
36
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-BFzSUT19.js";
37
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-Dq0bSDVx.js";
38
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-H24IFajW.js";
39
39
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Ba_ROWsq.js";
40
40
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-OWKu4tXF.js";
41
41
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-Ixuyn7h8.js";
@@ -47,9 +47,9 @@ import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveS
47
47
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-D5O01TlD.js";
48
48
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CVLISeRT.js";
49
49
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-8sKPnzpp.js";
50
- import { t as ensureSymiModelsJson } from "./models-config--wR0kLo6.js";
50
+ import { t as ensureSymiModelsJson } from "./models-config-CCMpqFyr.js";
51
51
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
52
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-B1eBVFD2.js";
52
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-C2SWDd8g.js";
53
53
  import { i as resolveMemorySearchConfig } from "./manager-Vb2F7vQq.js";
54
54
  import { g as runTasksWithConcurrency } from "./sqlite-CQGamAhm.js";
55
55
  import { n as retryAsync } from "./retry-C4Q_VPOo.js";
@@ -62,13 +62,13 @@ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMedia
62
62
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-D-flMHhr.js";
63
63
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CkrIpKCc.js";
64
64
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-D1K_inhv.js";
65
- import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-CAI2RIyk.js";
65
+ import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-CO4meYzg.js";
66
66
  import { n as resolveToolDisplay } from "./tool-display-CXwOC-qw.js";
67
67
  import { n as formatTimeAgo } from "./format-relative-DX-rh76l.js";
68
68
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-72dOKfLG.js";
69
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-BPcjrrjx.js";
70
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-D2Q4fkGC.js";
71
- import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-D5F7F--L.js";
69
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-BORIO-D3.js";
70
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CqCsARJX.js";
71
+ import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-Bka9dR4m.js";
72
72
  import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-C8BcwE33.js";
73
73
  import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-vpO8vXVN.js";
74
74
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BhFkwlZW.js";
@@ -82,19 +82,19 @@ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChan
82
82
  import { n as normalizePollInput } from "./polls-DXeUmcgz.js";
83
83
  import { t as convertMarkdownTables } from "./tables-CXWwq-Md.js";
84
84
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CPeVoSXJ.js";
85
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-D2-SfYYP.js";
85
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DEVN6FRR.js";
86
86
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CQar2eKe.js";
87
87
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BzfEFyPn.js";
88
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CkYljROn.js";
89
- 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-rirP23D6.js";
88
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CY8oqBFg.js";
89
+ 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-DK_pm_7l.js";
90
90
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CjnIuTqX.js";
91
91
  import { t as parseTimeoutMs } from "./parse-timeout-zNJBr1fY.js";
92
92
  import { t as makeProxyFetch } from "./proxy-DL3MD6-P.js";
93
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CVeSBasT.js";
94
- import { r as detectBinary } from "./onboard-helpers-Cammg0Xb.js";
93
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DO80zq73.js";
94
+ import { r as detectBinary } from "./onboard-helpers-_pit1NZW.js";
95
95
  import { t as resolvePairingIdLabel } from "./pairing-labels-D1HDboV2.js";
96
96
  import { t as getActiveWebListener } from "./active-listener-De1JhR4W.js";
97
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CwzwRugl.js";
97
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-De00gPXt.js";
98
98
  import { createRequire } from "node:module";
99
99
  import { execFileSync, spawn, spawnSync } from "node:child_process";
100
100
  import os, { homedir } from "node:os";
@@ -20373,7 +20373,7 @@ async function routeReply(params) {
20373
20373
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
20374
20374
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
20375
20375
  try {
20376
- const { deliverOutboundPayloads } = await import("./deliver-PKvGnPCv.js").then((n) => n.n);
20376
+ const { deliverOutboundPayloads } = await import("./deliver-CXRSdUr1.js").then((n) => n.n);
20377
20377
  return {
20378
20378
  ok: true,
20379
20379
  messageId: (await deliverOutboundPayloads({
@@ -34949,7 +34949,7 @@ async function deliverSessionMaintenanceWarning(params) {
34949
34949
  return;
34950
34950
  }
34951
34951
  try {
34952
- const { deliverOutboundPayloads } = await import("./deliver-PKvGnPCv.js").then((n) => n.n);
34952
+ const { deliverOutboundPayloads } = await import("./deliver-CXRSdUr1.js").then((n) => n.n);
34953
34953
  await deliverOutboundPayloads({
34954
34954
  cfg: params.cfg,
34955
34955
  channel,
@@ -38403,7 +38403,7 @@ async function describeStickerImage(params) {
38403
38403
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
38404
38404
  try {
38405
38405
  const buffer = await fs$1.readFile(imagePath);
38406
- const { describeImageWithModel } = await import("./image-CAI2RIyk.js").then((n) => n.n);
38406
+ const { describeImageWithModel } = await import("./image-CO4meYzg.js").then((n) => n.n);
38407
38407
  return (await describeImageWithModel({
38408
38408
  buffer,
38409
38409
  fileName: "sticker.webp",
@@ -38826,7 +38826,7 @@ function createWhatsAppLoginTool() {
38826
38826
  force: Type.Optional(Type.Boolean())
38827
38827
  }),
38828
38828
  execute: async (_toolCallId, args) => {
38829
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-x-m9V4_i.js");
38829
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CqPpNO1y.js");
38830
38830
  if ((args?.action ?? "start") === "wait") {
38831
38831
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
38832
38832
  return {
@@ -40202,7 +40202,7 @@ async function preflightDiscordMessage(params) {
40202
40202
  let preflightTranscript;
40203
40203
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
40204
40204
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
40205
- const { transcribeFirstAudio } = await import("./audio-preflight-Dx82ytdb.js");
40205
+ const { transcribeFirstAudio } = await import("./audio-preflight-xSDULLAj.js");
40206
40206
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
40207
40207
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
40208
40208
  ctx: {
@@ -44208,27 +44208,27 @@ function isVoiceChannelType(type) {
44208
44208
  function createDefaultDeps() {
44209
44209
  return {
44210
44210
  sendMessageWhatsApp: async (...args) => {
44211
- const { sendMessageWhatsApp } = await import("./web-VbydcdAk.js");
44211
+ const { sendMessageWhatsApp } = await import("./web-w-vV1rCZ.js");
44212
44212
  return await sendMessageWhatsApp(...args);
44213
44213
  },
44214
44214
  sendMessageTelegram: async (...args) => {
44215
- const { sendMessageTelegram } = await import("./send-DKvfyTNM.js").then((n) => n.l);
44215
+ const { sendMessageTelegram } = await import("./send-CR5fRDgW.js").then((n) => n.l);
44216
44216
  return await sendMessageTelegram(...args);
44217
44217
  },
44218
44218
  sendMessageDiscord: async (...args) => {
44219
- const { sendMessageDiscord } = await import("./send-Dv5K7btg.js").then((n) => n.t);
44219
+ const { sendMessageDiscord } = await import("./send-DTTtmhjA.js").then((n) => n.t);
44220
44220
  return await sendMessageDiscord(...args);
44221
44221
  },
44222
44222
  sendMessageSlack: async (...args) => {
44223
- const { sendMessageSlack } = await import("./send-DP6zL1r4.js").then((n) => n.n);
44223
+ const { sendMessageSlack } = await import("./send-CukP8Vq4.js").then((n) => n.n);
44224
44224
  return await sendMessageSlack(...args);
44225
44225
  },
44226
44226
  sendMessageSignal: async (...args) => {
44227
- const { sendMessageSignal } = await import("./send-CkYljROn.js").then((n) => n.i);
44227
+ const { sendMessageSignal } = await import("./send-CY8oqBFg.js").then((n) => n.i);
44228
44228
  return await sendMessageSignal(...args);
44229
44229
  },
44230
44230
  sendMessageIMessage: async (...args) => {
44231
- const { sendMessageIMessage } = await import("./send-rirP23D6.js").then((n) => n.n);
44231
+ const { sendMessageIMessage } = await import("./send-DK_pm_7l.js").then((n) => n.n);
44232
44232
  return await sendMessageIMessage(...args);
44233
44233
  }
44234
44234
  };
@@ -55085,7 +55085,7 @@ async function registerSlackMonitorSlashCommands(params) {
55085
55085
  });
55086
55086
  const deliverSlashPayloads = async (replies) => {
55087
55087
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
55088
- import("./replies-CVeSBasT.js").then((n) => n.r),
55088
+ import("./replies-DO80zq73.js").then((n) => n.r),
55089
55089
  import("./chunk-CQyUJNtc.js").then((n) => n.s),
55090
55090
  import("./markdown-tables-D82z_Ahc.js").then((n) => n.t)
55091
55091
  ]);
@@ -57358,7 +57358,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
57358
57358
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
57359
57359
  let preflightTranscript;
57360
57360
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
57361
- const { transcribeFirstAudio } = await import("./audio-preflight-Dx82ytdb.js");
57361
+ const { transcribeFirstAudio } = await import("./audio-preflight-xSDULLAj.js");
57362
57362
  preflightTranscript = await transcribeFirstAudio({
57363
57363
  ctx: {
57364
57364
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -59512,23 +59512,23 @@ let webLoginQrPromise = null;
59512
59512
  let webChannelPromise = null;
59513
59513
  let whatsappActionsPromise = null;
59514
59514
  function loadWebOutbound() {
59515
- webOutboundPromise ??= import("./outbound-DeJ-MyLv.js").then((n) => n.t);
59515
+ webOutboundPromise ??= import("./outbound-drXCcH8D.js").then((n) => n.t);
59516
59516
  return webOutboundPromise;
59517
59517
  }
59518
59518
  function loadWebLogin() {
59519
- webLoginPromise ??= import("./login-CrnzK7Rc.js").then((n) => n.n);
59519
+ webLoginPromise ??= import("./login-tFW8qUTU.js").then((n) => n.n);
59520
59520
  return webLoginPromise;
59521
59521
  }
59522
59522
  function loadWebLoginQr() {
59523
- webLoginQrPromise ??= import("./login-qr-x-m9V4_i.js");
59523
+ webLoginQrPromise ??= import("./login-qr-CqPpNO1y.js");
59524
59524
  return webLoginQrPromise;
59525
59525
  }
59526
59526
  function loadWebChannel() {
59527
- webChannelPromise ??= import("./web-VbydcdAk.js");
59527
+ webChannelPromise ??= import("./web-w-vV1rCZ.js");
59528
59528
  return webChannelPromise;
59529
59529
  }
59530
59530
  function loadWhatsAppActions() {
59531
- whatsappActionsPromise ??= import("./whatsapp-actions-DrReF5st.js");
59531
+ whatsappActionsPromise ??= import("./whatsapp-actions-C8nNH4ax.js");
59532
59532
  return whatsappActionsPromise;
59533
59533
  }
59534
59534
  function createPluginRuntime() {
@@ -62719,6 +62719,7 @@ function guardSessionManager(sessionManager, opts) {
62719
62719
 
62720
62720
  //#endregion
62721
62721
  //#region src/agents/transcript-policy.ts
62722
+ const GEMMA_MODEL_HINTS = ["gemma", "redsand/"];
62722
62723
  const MISTRAL_MODEL_HINTS = [
62723
62724
  "mistral",
62724
62725
  "mixtral",
@@ -62747,6 +62748,12 @@ function isAnthropicApi(modelApi, provider) {
62747
62748
  if (modelApi === "anthropic-messages") return true;
62748
62749
  return normalizeProviderId(provider ?? "") === "anthropic";
62749
62750
  }
62751
+ function isGemmaModel(params) {
62752
+ if (normalizeProviderId(params.provider ?? "") === "redsand") return true;
62753
+ const modelId = (params.modelId ?? "").toLowerCase();
62754
+ if (!modelId) return false;
62755
+ return GEMMA_MODEL_HINTS.some((hint) => modelId.includes(hint));
62756
+ }
62750
62757
  function isMistralModel(params) {
62751
62758
  if (normalizeProviderId(params.provider ?? "") === "mistral") return true;
62752
62759
  const modelId = (params.modelId ?? "").toLowerCase();
@@ -62763,6 +62770,10 @@ function resolveTranscriptPolicy(params) {
62763
62770
  provider,
62764
62771
  modelId
62765
62772
  });
62773
+ const isGemma = isGemmaModel({
62774
+ provider,
62775
+ modelId
62776
+ });
62766
62777
  const isOpenRouterGemini = (provider === "openrouter" || provider === "opencode") && modelId.toLowerCase().includes("gemini");
62767
62778
  const isAntigravityClaudeModel = isAntigravityClaude({
62768
62779
  api: params.modelApi,
@@ -62770,13 +62781,13 @@ function resolveTranscriptPolicy(params) {
62770
62781
  modelId
62771
62782
  });
62772
62783
  const dropThinkingBlocks = provider === "github-copilot" && modelId.toLowerCase().includes("claude");
62773
- const needsNonImageSanitize = isGoogle || isAnthropic || isMistral || isOpenRouterGemini;
62774
- const sanitizeToolCallIds = isGoogle || isMistral || isAnthropic;
62784
+ const needsNonImageSanitize = isGoogle || isAnthropic || isMistral || isOpenRouterGemini || isGemma;
62785
+ const sanitizeToolCallIds = isGoogle || isMistral || isAnthropic || isGemma;
62775
62786
  return {
62776
62787
  sanitizeMode: isOpenAi ? "images-only" : needsNonImageSanitize ? "full" : "images-only",
62777
62788
  sanitizeToolCallIds: !isOpenAi && sanitizeToolCallIds,
62778
62789
  toolCallIdMode: isMistral ? "strict9" : sanitizeToolCallIds ? "strict" : void 0,
62779
- repairToolUseResultPairing: !isOpenAi && (isGoogle || isAnthropic),
62790
+ repairToolUseResultPairing: !isOpenAi && (isGoogle || isAnthropic || isGemma),
62780
62791
  preserveSignatures: isAntigravityClaudeModel,
62781
62792
  sanitizeThoughtSignatures: isOpenAi ? void 0 : isOpenRouterGemini ? {
62782
62793
  allowBase64Only: true,
@@ -64812,6 +64823,162 @@ async function compactEmbeddedPiSession(params) {
64812
64823
  return enqueueCommandInLane(sessionLane, () => enqueueGlobal(async () => compactEmbeddedPiSessionDirect(params)));
64813
64824
  }
64814
64825
 
64826
+ //#endregion
64827
+ //#region src/config/model-profiles-builtin.ts
64828
+ /**
64829
+ * Built-in model profiles. Ordered from most-specific to least-specific so
64830
+ * that `resolveModelProfile` can return the first match.
64831
+ *
64832
+ * Order matters: "ollama/" must precede "gemma" because model IDs like
64833
+ * "ollama/gemma4:31b-128k" contain both substrings.
64834
+ */
64835
+ const BUILTIN_PROFILES = [
64836
+ {
64837
+ match: ["ollama/"],
64838
+ label: "Ollama Local",
64839
+ params: {
64840
+ temperature: 1,
64841
+ top_p: .95,
64842
+ top_k: 64,
64843
+ max_tokens: 4096,
64844
+ stop: ["<end_of_turn>", "<eos>"]
64845
+ },
64846
+ streaming: {
64847
+ deltaThrottleMs: 50,
64848
+ flushOnFinal: true,
64849
+ chunkPattern: "burst"
64850
+ },
64851
+ filters: {
64852
+ stripPatterns: [
64853
+ "<\\|channel>\\w*",
64854
+ "<channel\\|>",
64855
+ "<start_of_turn>(?:model|user)?",
64856
+ "<end_of_turn>"
64857
+ ],
64858
+ suppressMonologue: true,
64859
+ hasStructuredThinking: false
64860
+ },
64861
+ promptAdditions: ["You are running locally via Ollama. Do not output raw control tokens or internal monologue. Send brief progress updates on long tasks."],
64862
+ ui: {
64863
+ badge: "Local",
64864
+ watchdogMs: 9e5,
64865
+ armWatchdogOnSend: true
64866
+ }
64867
+ },
64868
+ {
64869
+ match: ["anthropic/", "claude-"],
64870
+ label: "Claude",
64871
+ params: {
64872
+ temperature: 1,
64873
+ top_p: 1,
64874
+ max_tokens: 8192
64875
+ },
64876
+ streaming: {
64877
+ deltaThrottleMs: 150,
64878
+ flushOnFinal: false,
64879
+ chunkPattern: "token"
64880
+ },
64881
+ filters: {
64882
+ stripPatterns: [],
64883
+ suppressMonologue: false,
64884
+ hasStructuredThinking: true
64885
+ },
64886
+ promptAdditions: [],
64887
+ ui: {
64888
+ badge: "API",
64889
+ watchdogMs: 3e5,
64890
+ armWatchdogOnSend: false
64891
+ }
64892
+ },
64893
+ {
64894
+ match: ["gemma", "redsand/"],
64895
+ label: "Gemma 4",
64896
+ params: {
64897
+ temperature: 1,
64898
+ top_p: .95,
64899
+ top_k: 64,
64900
+ max_tokens: 4096,
64901
+ stop: ["<end_of_turn>", "<eos>"]
64902
+ },
64903
+ streaming: {
64904
+ deltaThrottleMs: 50,
64905
+ flushOnFinal: true,
64906
+ chunkPattern: "burst"
64907
+ },
64908
+ filters: {
64909
+ stripPatterns: [
64910
+ "<\\|channel>\\w*",
64911
+ "<channel\\|>",
64912
+ "<start_of_turn>(?:model|user)?",
64913
+ "<end_of_turn>",
64914
+ "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
64915
+ "^\\s*<bos>\\s*"
64916
+ ],
64917
+ suppressMonologue: true,
64918
+ hasStructuredThinking: false
64919
+ },
64920
+ promptAdditions: [
64921
+ "You are running as Gemma 4 via vLLM. Important behavioral rules:",
64922
+ "- Never output raw control tokens, channel tags, or turn markers in your responses.",
64923
+ "- Never display internal status checks, plans, or self-assessments. Your visible output should only be conversational responses and final results.",
64924
+ "- When working on multi-step tasks, send a brief one-line status update every 30-60 seconds so the user knows you are active.",
64925
+ "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
64926
+ "- Do not use <|channel>thought or similar syntax. If you need to reason, do so silently."
64927
+ ],
64928
+ ui: {
64929
+ badge: "CoreWeave",
64930
+ watchdogMs: 6e5,
64931
+ armWatchdogOnSend: true
64932
+ }
64933
+ }
64934
+ ];
64935
+
64936
+ //#endregion
64937
+ //#region src/config/resolve-model-profile.ts
64938
+ /** Default profile returned when no match is found. */
64939
+ const FALLBACK_PROFILE = {
64940
+ match: "*",
64941
+ label: "Generic",
64942
+ params: {
64943
+ temperature: 1,
64944
+ max_tokens: 4096
64945
+ },
64946
+ streaming: {
64947
+ deltaThrottleMs: 150,
64948
+ flushOnFinal: true,
64949
+ chunkPattern: "burst"
64950
+ },
64951
+ filters: {
64952
+ stripPatterns: [],
64953
+ suppressMonologue: false,
64954
+ hasStructuredThinking: false
64955
+ },
64956
+ promptAdditions: [],
64957
+ ui: {
64958
+ watchdogMs: 3e5,
64959
+ armWatchdogOnSend: true
64960
+ }
64961
+ };
64962
+ /**
64963
+ * Resolve the active model profile for a given model ID.
64964
+ *
64965
+ * Resolution order:
64966
+ * 1. User-defined profiles (from `models.profiles` in symi.json)
64967
+ * 2. Built-in profiles ({@link BUILTIN_PROFILES})
64968
+ * 3. Fallback "Generic" profile
64969
+ *
64970
+ * Matching is case-insensitive prefix/substring against the model ID.
64971
+ */
64972
+ function resolveModelProfile(modelId, userProfiles) {
64973
+ const id = modelId.toLowerCase();
64974
+ const allProfiles = [...userProfiles ?? [], ...BUILTIN_PROFILES];
64975
+ for (const profile of allProfiles) {
64976
+ const patterns = Array.isArray(profile.match) ? profile.match : [profile.match];
64977
+ for (const pattern of patterns) if (id.startsWith(pattern.toLowerCase()) || id.includes(pattern.toLowerCase())) return profile;
64978
+ }
64979
+ return FALLBACK_PROFILE;
64980
+ }
64981
+
64815
64982
  //#endregion
64816
64983
  //#region src/agents/pi-embedded-runner/extra-params.ts
64817
64984
  const OPENROUTER_APP_HEADERS = {
@@ -64831,7 +64998,9 @@ const OPENAI_RESPONSES_PROVIDERS = new Set(["openai"]);
64831
64998
  function resolveExtraParams(params) {
64832
64999
  const modelKey = `${params.provider}/${params.modelId}`;
64833
65000
  const modelConfig = params.cfg?.agents?.defaults?.models?.[modelKey];
64834
- return modelConfig?.params ? { ...modelConfig.params } : void 0;
65001
+ if (modelConfig?.params) return { ...modelConfig.params };
65002
+ const profile = resolveModelProfile(modelKey, params.cfg?.models?.profiles);
65003
+ if (profile.params && Object.keys(profile.params).length > 0) return { ...profile.params };
64835
65004
  }
64836
65005
  /**
64837
65006
  * Resolve cacheRetention from extraParams, supporting both new `cacheRetention`
@@ -64861,6 +65030,7 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
64861
65030
  if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
64862
65031
  if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
64863
65032
  if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
65033
+ if (Array.isArray(extraParams.stop) && extraParams.stop.length > 0) streamParams.stop = extraParams.stop;
64864
65034
  if (extraParams.chat_template_kwargs && typeof extraParams.chat_template_kwargs === "object") streamParams.chat_template_kwargs = extraParams.chat_template_kwargs;
64865
65035
  const cacheRetention = resolveCacheRetention(extraParams, provider);
64866
65036
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
@@ -64989,6 +65159,42 @@ function createZaiToolStreamWrapper(baseStreamFn, enabled) {
64989
65159
  });
64990
65160
  };
64991
65161
  }
65162
+ const GEMMA_STOP_SEQUENCES = ["<end_of_turn>", "<eos>"];
65163
+ const VLLM_GEMMA_HINTS = ["gemma", "redsand"];
65164
+ function isVllmOrGemmaProvider(provider, modelId, cfg) {
65165
+ const lower = `${provider}/${modelId}`.toLowerCase();
65166
+ if (VLLM_GEMMA_HINTS.some((h) => lower.includes(h))) return true;
65167
+ const baseUrl = ((cfg?.models?.providers?.[provider])?.baseUrl ?? "").toLowerCase();
65168
+ return baseUrl.includes("coreweave") || baseUrl.includes("vllm");
65169
+ }
65170
+ /**
65171
+ * Wrap the stream function to fix vLLM/Gemma compat issues via onPayload:
65172
+ * 1. Replace `max_completion_tokens` with `max_tokens` (vLLM ignores the former)
65173
+ * 2. Inject Gemma stop sequences if none are set
65174
+ * 3. Remove unsupported fields (store, stream_options.include_usage on older vLLM)
65175
+ */
65176
+ function createVllmCompatWrapper(baseStreamFn, extraParams) {
65177
+ const underlying = baseStreamFn ?? streamSimple;
65178
+ const configuredStop = Array.isArray(extraParams.stop) ? extraParams.stop : GEMMA_STOP_SEQUENCES;
65179
+ return (model, context, options) => {
65180
+ const originalOnPayload = options?.onPayload;
65181
+ return underlying(model, context, {
65182
+ ...options,
65183
+ onPayload: (payload) => {
65184
+ if (payload && typeof payload === "object") {
65185
+ const p = payload;
65186
+ if (p.max_completion_tokens && !p.max_tokens) {
65187
+ p.max_tokens = p.max_completion_tokens;
65188
+ delete p.max_completion_tokens;
65189
+ }
65190
+ if (!p.stop && configuredStop.length > 0) p.stop = configuredStop;
65191
+ delete p.store;
65192
+ }
65193
+ originalOnPayload?.(payload);
65194
+ }
65195
+ });
65196
+ };
65197
+ }
64992
65198
  /**
64993
65199
  * Apply extra params (like temperature) to an agent's streamFn.
64994
65200
  * Also adds OpenRouter app attribution headers when using the OpenRouter provider.
@@ -65023,6 +65229,10 @@ function applyExtraParamsToAgent(agent, cfg, provider, modelId, extraParamsOverr
65023
65229
  agent.streamFn = createZaiToolStreamWrapper(agent.streamFn, true);
65024
65230
  }
65025
65231
  }
65232
+ if (isVllmOrGemmaProvider(provider, modelId, cfg)) {
65233
+ log$2.debug(`applying vLLM/Gemma compat wrapper for ${provider}/${modelId}`);
65234
+ agent.streamFn = createVllmCompatWrapper(agent.streamFn, merged);
65235
+ }
65026
65236
  agent.streamFn = createOpenAIResponsesStoreWrapper(agent.streamFn);
65027
65237
  }
65028
65238
 
@@ -68232,7 +68442,8 @@ async function runEmbeddedAttempt(params) {
68232
68442
  skillsPrompt,
68233
68443
  tools
68234
68444
  });
68235
- const systemPromptText = createSystemPromptOverride(appendPrompt)();
68445
+ const modelProfile = resolveModelProfile(params.modelId ?? "", params.config?.models?.profiles);
68446
+ const systemPromptText = createSystemPromptOverride(appendPrompt + (modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : ""))();
68236
68447
  const sessionLock = await acquireSessionWriteLock({
68237
68448
  sessionFile: params.sessionFile,
68238
68449
  maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
@@ -71615,4 +71826,4 @@ function initSubagentRegistry() {
71615
71826
  }
71616
71827
 
71617
71828
  //#endregion
71618
- export { setCliSessionId as $, resolveTtsConfig as $n, unbindThreadBindingsBySessionKey as $t, createDefaultDeps as A, extractFileContentFromSource as An, normalizeOptionalText as At, recordPendingHistoryEntryIfEnabled as B, formatZonedTimestamp as Bn, detectSuspiciousPatterns as Bt, computeBackoff as C, isSystemEventContextChanged as Cn, registerAgentRunContext as Cr, writeRestartSentinel as Ct, resolveAgentDeliveryPlan as D, DEFAULT_INPUT_IMAGE_MIMES as Dn, inferLegacyName as Dt, resolveSessionKeyForRequest as E, DEFAULT_INPUT_IMAGE_MAX_BYTES as En, normalizeCronJobPatch as Et, parseIdentityMarkdown as F, resolveAgentTimeoutMs as Fn, hasLegacyDeliveryHints as Ft, createReplyDispatcher as G, buildMentionRegexes as Gn, consumeGatewaySigusr1RestartAuthorization as Gt, dispatchReplyWithBufferedBlockDispatcher as H, shouldComputeCommandAuthorized as Hn, isExternalHookSession as Ht, buildPairingReply as I, createInboundDebouncer as In, stripLegacyDeliveryFields as It, getReplyFromConfig as J, getTtsProvider as Jn, isGatewaySigusr1RestartExternallyAllowed as Jt, getTotalPendingReplies as K, normalizeMentionText as Kn, deferGatewayRestartUntilIdle as Kt, resolveMentionGating as L, resolveInboundDebounceMs as Ln, CHANNEL_TARGETS_DESCRIPTION as Lt, resolveAgentAvatar as M, normalizeMimeList as Mn, normalizeRequiredName as Mt, identityHasValues as N, resolveInputFileLimits as Nn, migrateLegacyCronPayload as Nt, resolveAgentOutboundTarget as O, DEFAULT_INPUT_MAX_REDIRECTS as On, normalizeOptionalAgentId as Ot, loadAgentIdentityFromWorkspace as P, estimateBase64DecodedBytes as Pn, buildDeliveryFromLegacyPayload as Pt, getCliSessionId as Q, resolveTtsAutoMode as Qn, setPreRestartDeferralCheck as Qt, DEFAULT_GROUP_HISTORY_LIMIT as R, formatInboundEnvelope as Rn, CHANNEL_TARGET_DESCRIPTION as Rt, requestBodyErrorToText as S, enqueueSystemEvent as Sn, onAgentEvent as Sr, trimLogTail as St, agentCommand as T, peekSystemEvents as Tn, normalizeCronJobCreate as Tt, provider_dispatcher_exports as U, isAbortTrigger as Un, applyBrowserProxyPaths as Ut, shouldAckReactionForWhatsApp as V, hasControlCommand as Vn, getHookType as Vt, dispatchInboundMessage as W, stopSubagentsForRequester as Wn, persistBrowserProxyFiles as Wt, appendCronStyleCurrentTimeLine as X, isTtsProviderConfigured as Xn, scheduleGatewaySigusr1Restart as Xt, BARE_SESSION_RESET_PROMPT as Y, isTtsEnabled as Yn, markGatewaySigusr1RestartHandled as Yt, resolveCronStyleNow as Z, resolveTtsApiKey as Zn, setGatewaySigusr1RestartPolicy as Zt, createPluginLoaderLogger as _, buildAuthHealthSummary as _n, resolveHeartbeatPrompt as _r, consumeRestartSentinel as _t, listSubagentRunsForRequester as a, resolveUsageProviderId as an, OPENAI_TTS_MODELS as ar, runMessageAction as at, handleSlackHttpRequest as b, applyVerboseOverride as bn, emitAgentEvent as br, readRestartSentinel as bt, clearSessionQueues as c, formatChannelAllowFrom as cn, getQueueSize as cr, resolveHeartbeatDeliveryTarget as ct, getActiveEmbeddedRunCount as d, setHeartbeatWakeHandler as dn, setCommandLaneConcurrency as dr, resolveSessionDeliveryTarget as dt, normalizeGroupActivation as en, resolveTtsPrefsPath as er, runCliAgent as et, waitForEmbeddedPiRunEnd as f, resolveHeartbeatReasonKind as fn, waitForActiveTasks as fr, formatTargetDisplay as ft, getPluginToolMeta as g, DEFAULT_OAUTH_WARN_MS as gn, isHeartbeatContentEffectivelyEmpty as gr, describeFailoverError as gt, sniffMimeFromBase64 as h, maskApiKey as hn, DEFAULT_HEARTBEAT_EVERY as hr, runWithModelFallback as ht, listDescendantRunsForRequester as i, formatUsageWindowSummary as in, textToSpeech as ir, resolveAnnounceTargetFromKey as it, createOutboundSendDeps$1 as j, extractImageContentFromSource as jn, normalizePayloadToSystemText as jt, createOutboundSendDeps as k, DEFAULT_INPUT_TIMEOUT_MS as kn, normalizeOptionalSessionKey as kt, runEmbeddedPiAgent as l, resolveCommitHash as ln, getTotalQueueSize as lr, resolveHeartbeatSenderContext as lt, buildDefaultToolPolicyPipelineSteps as m, resolveSendPolicy as mn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as mr, CHANNEL_MESSAGE_ACTION_NAMES as mt, countActiveRunsForSession as n, loadProviderUsageSummary as nn, setTtsEnabled as nr, createSymiTools as nt, subagent_registry_exports as o, buildChannelSummary as on, OPENAI_TTS_VOICES as or, ensureOutboundSessionEntry as ot, applyToolPolicyPipeline as p, normalizeSendPolicy as pn, CommandLane as pr, resetDirectoryCache as pt, createDedupeCache as q, resolveUserTimezone as qn, emitGatewayRestart as qt, initSubagentRegistry as r, formatUsageReportLines as rn, setTtsProvider as rr, readLatestAssistantReply as rt, runSubagentAnnounceFlow as s, buildChannelAccountSnapshot as sn, getActiveTaskCount as sr, resolveOutboundSessionRoute as st, countActiveDescendantRuns as t, parseActivationCommand as tn, resolveTtsProviderOrder as tr, sha256HexPrefix as tt, abortEmbeddedPiRun as u, requestHeartbeatNow as un, resetAllLanes as ur, resolveOutboundTarget as ut, loadSymiPlugins as v, formatRemainingShort as vn, stripHeartbeatToken as vr, formatDoctorNonInteractiveHint as vt, sleepWithAbort as w, peekSystemEventEntries as wn, normalizeHttpWebhookUrl as wt, readJsonBodyWithLimit as x, parseVerboseOverride as xn, getAgentRunContext as xr, summarizeRestartSentinel as xt, deleteTelegramUpdateOffset as y, applyModelOverrideToSessionEntry as yn, clearAgentRunContext as yr, formatRestartSentinelMessage as yt, buildHistoryContextFromEntries as z, resolveEnvelopeFormatOptions as zn, buildSafeExternalPrompt as zt };
71829
+ export { getCliSessionId as $, resolveTtsAutoMode as $n, setPreRestartDeferralCheck as $t, createOutboundSendDeps as A, DEFAULT_INPUT_TIMEOUT_MS as An, normalizeOptionalSessionKey as At, buildHistoryContextFromEntries as B, resolveEnvelopeFormatOptions as Bn, buildSafeExternalPrompt as Bt, requestBodyErrorToText as C, enqueueSystemEvent as Cn, onAgentEvent as Cr, trimLogTail as Ct, resolveSessionKeyForRequest as D, DEFAULT_INPUT_IMAGE_MAX_BYTES as Dn, normalizeCronJobPatch as Dt, agentCommand as E, peekSystemEvents as En, normalizeCronJobCreate as Et, loadAgentIdentityFromWorkspace as F, estimateBase64DecodedBytes as Fn, buildDeliveryFromLegacyPayload as Ft, dispatchInboundMessage as G, stopSubagentsForRequester as Gn, persistBrowserProxyFiles as Gt, shouldAckReactionForWhatsApp as H, hasControlCommand as Hn, getHookType as Ht, parseIdentityMarkdown as I, resolveAgentTimeoutMs as In, hasLegacyDeliveryHints as It, createDedupeCache as J, resolveUserTimezone as Jn, emitGatewayRestart as Jt, createReplyDispatcher as K, buildMentionRegexes as Kn, consumeGatewaySigusr1RestartAuthorization as Kt, buildPairingReply as L, createInboundDebouncer as Ln, stripLegacyDeliveryFields as Lt, createOutboundSendDeps$1 as M, extractImageContentFromSource as Mn, normalizePayloadToSystemText as Mt, resolveAgentAvatar as N, normalizeMimeList as Nn, normalizeRequiredName as Nt, resolveAgentDeliveryPlan as O, DEFAULT_INPUT_IMAGE_MIMES as On, inferLegacyName as Ot, identityHasValues as P, resolveInputFileLimits as Pn, migrateLegacyCronPayload as Pt, resolveCronStyleNow as Q, resolveTtsApiKey as Qn, setGatewaySigusr1RestartPolicy as Qt, resolveMentionGating as R, resolveInboundDebounceMs as Rn, CHANNEL_TARGETS_DESCRIPTION as Rt, readJsonBodyWithLimit as S, parseVerboseOverride as Sn, getAgentRunContext as Sr, summarizeRestartSentinel as St, sleepWithAbort as T, peekSystemEventEntries as Tn, normalizeHttpWebhookUrl as Tt, dispatchReplyWithBufferedBlockDispatcher as U, shouldComputeCommandAuthorized as Un, isExternalHookSession as Ut, recordPendingHistoryEntryIfEnabled as V, formatZonedTimestamp as Vn, detectSuspiciousPatterns as Vt, provider_dispatcher_exports as W, isAbortTrigger as Wn, applyBrowserProxyPaths as Wt, BARE_SESSION_RESET_PROMPT as X, isTtsEnabled as Xn, markGatewaySigusr1RestartHandled as Xt, getReplyFromConfig as Y, getTtsProvider as Yn, isGatewaySigusr1RestartExternallyAllowed as Yt, appendCronStyleCurrentTimeLine as Z, isTtsProviderConfigured as Zn, scheduleGatewaySigusr1Restart as Zt, getPluginToolMeta as _, DEFAULT_OAUTH_WARN_MS as _n, isHeartbeatContentEffectivelyEmpty as _r, describeFailoverError as _t, listSubagentRunsForRequester as a, formatUsageWindowSummary as an, textToSpeech as ar, resolveAnnounceTargetFromKey as at, deleteTelegramUpdateOffset as b, applyModelOverrideToSessionEntry as bn, clearAgentRunContext as br, formatRestartSentinelMessage as bt, clearSessionQueues as c, buildChannelAccountSnapshot as cn, getActiveTaskCount as cr, resolveOutboundSessionRoute as ct, getActiveEmbeddedRunCount as d, requestHeartbeatNow as dn, resetAllLanes as dr, resolveOutboundTarget as dt, unbindThreadBindingsBySessionKey as en, resolveTtsConfig as er, setCliSessionId as et, waitForEmbeddedPiRunEnd as f, setHeartbeatWakeHandler as fn, setCommandLaneConcurrency as fr, resolveSessionDeliveryTarget as ft, sniffMimeFromBase64 as g, maskApiKey as gn, DEFAULT_HEARTBEAT_EVERY as gr, runWithModelFallback as gt, buildDefaultToolPolicyPipelineSteps as h, resolveSendPolicy as hn, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as hr, CHANNEL_MESSAGE_ACTION_NAMES as ht, listDescendantRunsForRequester as i, formatUsageReportLines as in, setTtsProvider as ir, readLatestAssistantReply as it, createDefaultDeps as j, extractFileContentFromSource as jn, normalizeOptionalText as jt, resolveAgentOutboundTarget as k, DEFAULT_INPUT_MAX_REDIRECTS as kn, normalizeOptionalAgentId as kt, runEmbeddedPiAgent as l, formatChannelAllowFrom as ln, getQueueSize as lr, resolveHeartbeatDeliveryTarget as lt, applyToolPolicyPipeline as m, normalizeSendPolicy as mn, CommandLane as mr, resetDirectoryCache as mt, countActiveRunsForSession as n, parseActivationCommand as nn, resolveTtsProviderOrder as nr, sha256HexPrefix as nt, subagent_registry_exports as o, resolveUsageProviderId as on, OPENAI_TTS_MODELS as or, runMessageAction as ot, resolveModelProfile as p, resolveHeartbeatReasonKind as pn, waitForActiveTasks as pr, formatTargetDisplay as pt, getTotalPendingReplies as q, normalizeMentionText as qn, deferGatewayRestartUntilIdle as qt, initSubagentRegistry as r, loadProviderUsageSummary as rn, setTtsEnabled as rr, createSymiTools as rt, runSubagentAnnounceFlow as s, buildChannelSummary as sn, OPENAI_TTS_VOICES as sr, ensureOutboundSessionEntry as st, countActiveDescendantRuns as t, normalizeGroupActivation as tn, resolveTtsPrefsPath as tr, runCliAgent as tt, abortEmbeddedPiRun as u, resolveCommitHash as un, getTotalQueueSize as ur, resolveHeartbeatSenderContext as ut, createPluginLoaderLogger as v, buildAuthHealthSummary as vn, resolveHeartbeatPrompt as vr, consumeRestartSentinel as vt, computeBackoff as w, isSystemEventContextChanged as wn, registerAgentRunContext as wr, writeRestartSentinel as wt, handleSlackHttpRequest as x, applyVerboseOverride as xn, emitAgentEvent as xr, readRestartSentinel as xt, loadSymiPlugins as y, formatRemainingShort as yn, stripHeartbeatToken as yr, formatDoctorNonInteractiveHint as yt, DEFAULT_GROUP_HISTORY_LIMIT as z, formatInboundEnvelope as zn, CHANNEL_TARGET_DESCRIPTION as zt };
@@ -1,4 +1,4 @@
1
- import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-CK4e9hn8.js";
1
+ import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-DP24za6g.js";
2
2
  import { Chalk } from "chalk";
3
3
 
4
4
  //#region src/terminal/progress-line.ts
@@ -4,14 +4,14 @@ import "./exec-CBKBIMpA.js";
4
4
  import "./agent-scope-D-jRCY0d.js";
5
5
  import "./github-copilot-token-DuFIqfeC.js";
6
6
  import "./manifest-registry-Czr39pxG.js";
7
- import "./config-CJigbfdK.js";
7
+ import "./config-DHBLS1Hl.js";
8
8
  import "./client-DMBZpU6X.js";
9
- import "./call-C7OJzLEL.js";
9
+ import "./call-BcE47FtD.js";
10
10
  import "./message-channel-C9dERklz.js";
11
11
  import "./pairing-token-Byh6drgn.js";
12
12
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
13
13
  import "./progress-BAHiAaDW.js";
14
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DjjmZ7bN.js";
14
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DfZSz5JF.js";
15
15
 
16
16
  //#region src/cli/system-cli.ts
17
17
  const normalizeWakeMode = (raw) => {
@@ -9,14 +9,14 @@ import "./github-copilot-token-DAu1a6BX.js";
9
9
  import "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
11
  import "./message-channel-aT-I_DTX.js";
12
- import "./config-CkPct-ND.js";
12
+ import "./config-CHwyw6l5.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
14
  import "./client-CQSyCS4M.js";
15
- import "./call-BOIceRVF.js";
15
+ import "./call-CJaS1iRF.js";
16
16
  import "./pairing-token-CX3NN_qj.js";
17
17
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
18
18
  import "./progress-jIePzvGA.js";
19
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-o-EndnYx.js";
19
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BxkKeCZ0.js";
20
20
  import path from "node:path";
21
21
  import fs from "node:fs/promises";
22
22