@symerian/symi 3.5.4 → 3.5.6

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 (413) hide show
  1. package/dist/{agent-Bl0Wfrd4.js → agent-BCszhl_7.js} +11 -11
  2. package/dist/{agent-BsRlH9Ez.js → agent-Cmx-1Tfs.js} +9 -9
  3. package/dist/{agents-Ch38fapn.js → agents-BkTzJJ83.js} +11 -11
  4. package/dist/{audit-CcxTZUi-.js → audit-Bk6kay2Z.js} +9 -9
  5. package/dist/{audit-CojL8qpM.js → audit-CtrXFZb5.js} +9 -9
  6. package/dist/{auth-choice-CQnJ5pRD.js → auth-choice-CucG4Wor.js} +8 -8
  7. package/dist/{auth-choice-O55PGflm.js → auth-choice-D-iIJjJY.js} +8 -8
  8. package/dist/{auth-choice-options-DfT-D0Cb.js → auth-choice-options-DmXqtnP9.js} +1 -1
  9. package/dist/{auth-choice-options-osb2GMd4.js → auth-choice-options-od_KpHe8.js} +1 -1
  10. package/dist/{auth-choice-prompt-6_u7zS1M.js → auth-choice-prompt-BnvC700A.js} +1 -1
  11. package/dist/{auth-choice-prompt-SCWccuw0.js → auth-choice-prompt-kt2FcieM.js} +1 -1
  12. package/dist/{auth-token-Dvw-1mFR.js → auth-token-DyhvQgv4.js} +1 -1
  13. package/dist/{auth-token-t_CY5BPB.js → auth-token-lPWiklDD.js} +1 -1
  14. package/dist/{banner-TDzek44y.js → banner-CApT91CY.js} +1 -1
  15. package/dist/{bonjour-discovery-BjSUj2V6.js → bonjour-discovery-CyLfNUkJ.js} +1 -1
  16. package/dist/{bonjour-discovery-FJyieAXp.js → bonjour-discovery-DuObXMh2.js} +1 -1
  17. package/dist/breakdown-B_Dhhm3K.js +753 -0
  18. package/dist/breakdown-Cszrv-Lf.js +753 -0
  19. package/dist/{browser-cli-BXH0KbhG.js → browser-cli-DGjYBquX.js} +9 -9
  20. package/dist/{browser-cli-UZqxfaV_.js → browser-cli-rZb2WjFF.js} +9 -9
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +10 -10
  23. package/dist/bundled/session-memory/handler.js +9 -9
  24. package/dist/{call-CKm3T_ar.js → call-DKQC0JT1.js} +1 -1
  25. package/dist/{call-DrkOiHjS.js → call-ogggp9QZ.js} +1 -1
  26. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  27. package/dist/{channel-options-zAbgRuGY.js → channel-options-CdIEyHya.js} +2 -2
  28. package/dist/{channel-options-BEM8ruys.js → channel-options-DYh8mLMN.js} +2 -2
  29. package/dist/{channels-cli-cRWPvOQD.js → channels-cli-Bb18aE2b.js} +54 -53
  30. package/dist/{channels-cli-DdKnAzW9.js → channels-cli-sG9Wf2LH.js} +54 -53
  31. package/dist/{chrome-C_I81hbq.js → chrome-3jl2ulOE.js} +4 -4
  32. package/dist/{chrome-zElD4rpN.js → chrome-D1eO2jfe.js} +1 -1
  33. package/dist/{chrome-rzK8edU7.js → chrome-DJChpTwP.js} +1 -1
  34. package/dist/{chrome-BKUACyeO.js → chrome-OTJg3QKn.js} +4 -4
  35. package/dist/{clack-prompter-CuIw5vQW.js → clack-prompter-_kEnSVz4.js} +4 -4
  36. package/dist/{clack-prompter-Bc38EIYW.js → clack-prompter-v9MYo-5u.js} +4 -4
  37. package/dist/{cli-BJDlZfYi.js → cli-DEGt0Tp0.js} +36 -35
  38. package/dist/{cli--UhNWFtQ.js → cli-DtdTf-ZQ.js} +36 -35
  39. package/dist/{command-registry-COpZWfkh.js → command-registry-O155hUhR.js} +11 -11
  40. package/dist/{commands-registry-DPZevjMh.js → commands-registry-BuOUfpmg.js} +31 -0
  41. package/dist/{commands-registry-VfAQOVZO.js → commands-registry-C2Hvwjym.js} +31 -0
  42. package/dist/{commands-registry-BisT2Fcd.js → commands-registry-CJPBJPlh.js} +31 -0
  43. package/dist/{commands-registry-DFYDtKr_.js → commands-registry-DG2kGyg5.js} +31 -0
  44. package/dist/{completion-cli-EltMSZer.js → completion-cli-BaOjuoPX.js} +3 -3
  45. package/dist/{completion-cli-DVF5x7Kp.js → completion-cli-DLUKoSIx.js} +1 -1
  46. package/dist/{config-D7SS4vdk.js → config-B4jkreCN.js} +13 -2
  47. package/dist/{config-_DaupjQd.js → config-D7TcU4qN.js} +13 -2
  48. package/dist/{config-cli-DaPePEIB.js → config-cli-BuZ-L1Iw.js} +3 -3
  49. package/dist/{config-cli-kN07V9j6.js → config-cli-BxWavRxN.js} +3 -3
  50. package/dist/{config-guard-SNMCV6sc.js → config-guard-CLfXzB_z.js} +2 -2
  51. package/dist/{config-guard-CN1qhDyB.js → config-guard-D58THqAB.js} +8 -8
  52. package/dist/{config-validation-DS5Jr_iO.js → config-validation-DQ-lm2Qx.js} +1 -1
  53. package/dist/{config-validation-DGWvkKov.js → config-validation-DhsYEtLL.js} +1 -1
  54. package/dist/{configure-C9Z4clKW.js → configure-BSKWgEhS.js} +22 -22
  55. package/dist/{configure-id9imsuH.js → configure-gxAEhC9E.js} +22 -22
  56. package/dist/{control-service-CJWzOFkK.js → control-service-DOGU9T2P.js} +4 -4
  57. package/dist/{control-service-DvK2HPC2.js → control-service-DPzhv357.js} +4 -4
  58. package/dist/cost-cli-C9LvOtGz.js +138 -0
  59. package/dist/cost-cli-CmfkZsmZ.js +133 -0
  60. package/dist/{cron-cli-BIIzbF-W.js → cron-cli-DtDqHIZn.js} +7 -7
  61. package/dist/{cron-cli-BNx0V18_.js → cron-cli-L4iwVTNV.js} +7 -7
  62. package/dist/{daemon-cli-CGfWQN7c.js → daemon-cli-39fFIU2G.js} +15 -15
  63. package/dist/{daemon-cli-DCbqVfyu.js → daemon-cli-B5TdtWCQ.js} +15 -15
  64. package/dist/daemon-cli.js +13 -2
  65. package/dist/{daemon-runtime-BD_EkuZP.js → daemon-runtime-7YBz5otm.js} +3 -3
  66. package/dist/{daemon-runtime-CAdn50ea.js → daemon-runtime-DaJ4Tf2a.js} +3 -3
  67. package/dist/{deliver-6fYMGY7T.js → deliver-0nDhDdKd.js} +2 -2
  68. package/dist/{deliver-DyO3QD8O.js → deliver-BiWlR84Y.js} +5 -5
  69. package/dist/{deliver-DB4v0Tyl.js → deliver-C81eqdrP.js} +2 -2
  70. package/dist/{deliver-Cjyb6h4g.js → deliver-f3cIWxXT.js} +5 -5
  71. package/dist/{deps-Bt6gnwqB.js → deps-D5me2CAW.js} +1 -1
  72. package/dist/{devices-cli-CK5iNr60.js → devices-cli-DuVhACtW.js} +4 -4
  73. package/dist/{devices-cli-Dg4sVTTI.js → devices-cli-Ec6d58OB.js} +4 -4
  74. package/dist/{diagnostics-Ee2qfR9V.js → diagnostics-BZH08r5U.js} +1 -1
  75. package/dist/{diagnostics-4PsqURzT.js → diagnostics-CdawaB0U.js} +1 -1
  76. package/dist/{directory-cli-CIX9qXWA.js → directory-cli-BQrGwwjf.js} +6 -6
  77. package/dist/{directory-cli-CR-4DW4i.js → directory-cli-FR_KoYon.js} +6 -6
  78. package/dist/{dns-cli-Cd3EpJKL.js → dns-cli-CH2QMf70.js} +4 -4
  79. package/dist/{dns-cli-DzE58v7c.js → dns-cli-Cua_RGWw.js} +4 -4
  80. package/dist/{docs-cli-DD59E5fQ.js → docs-cli-9yu6OeWj.js} +2 -2
  81. package/dist/{docs-cli-BcqjkjOA.js → docs-cli-DwrSCuWF.js} +2 -2
  82. package/dist/{doctor-completion-Dw70YhMd.js → doctor-completion-BzfgfpBH.js} +2 -2
  83. package/dist/{doctor-completion-Dv6aw9I2.js → doctor-completion-wlBp8bv7.js} +2 -2
  84. package/dist/{doctor-config-flow-BOfsrB_o.js → doctor-config-flow-CKJlpwtv.js} +5 -5
  85. package/dist/{doctor-config-flow-dUAjyD2W.js → doctor-config-flow-CcwEh3WQ.js} +5 -5
  86. package/dist/{enable-avpl_Lwo.js → enable-BI6rQ1Fb.js} +1 -1
  87. package/dist/{enable-B5wvwTYB.js → enable-xfczksnk.js} +1 -1
  88. package/dist/entry.js +1 -1
  89. package/dist/{exec-approvals-cli-Cv9lE0Ov.js → exec-approvals-cli-1K1PMf0f.js} +10 -10
  90. package/dist/{exec-approvals-cli-CLD1HXqE.js → exec-approvals-cli-N45JsIvc.js} +10 -10
  91. package/dist/extensionAPI.js +8 -8
  92. package/dist/{gateway-cli-C1yf0Kx4.js → gateway-cli-Bz5fqsnE.js} +84 -83
  93. package/dist/{gateway-cli-DF-S-bKo.js → gateway-cli-_xNZ2L_e.js} +86 -85
  94. package/dist/{gateway-rpc-CBb3_pT9.js → gateway-rpc-c2_A2rwu.js} +2 -2
  95. package/dist/{gateway-rpc-DrcgCoEA.js → gateway-rpc-gDrdC_J6.js} +2 -2
  96. package/dist/{glass-ui-ws-CgTry9OG.js → glass-ui-ws-CbKVlQRh.js} +62 -61
  97. package/dist/{glass-ui-ws-BZJKBK5D.js → glass-ui-ws-DO8WKPIK.js} +63 -62
  98. package/dist/{health-B__mwl7J.js → health-B5BrlZ8G.js} +6 -6
  99. package/dist/{health-BJl_ZtRW.js → health-B7yvi1O9.js} +6 -6
  100. package/dist/{hooks-cli-CpDJa8fo.js → hooks-cli-CrgD2ZqP.js} +42 -41
  101. package/dist/{hooks-cli-B_d8Cv16.js → hooks-cli-mwiHuRfO.js} +42 -41
  102. package/dist/{hooks-status-CRdYwf7p.js → hooks-status-B5vDwm19.js} +1 -1
  103. package/dist/{hooks-status-i4MgV8tU.js → hooks-status-CQ33gaVT.js} +2 -2
  104. package/dist/index.js +47 -46
  105. package/dist/{inspect-BZEGJ1Wu.js → inspect-C3_zr-N9.js} +2 -2
  106. package/dist/{inspect-ChCXJY8c.js → inspect-D_lN8pwg.js} +2 -2
  107. package/dist/{install-safe-path-PVqsVjI9.js → install-safe-path-79R0iPyC.js} +2 -2
  108. package/dist/{install-safe-path-INk2Z_kc.js → install-safe-path-BBe6qFNr.js} +2 -2
  109. package/dist/{installs-lGgvyXAJ.js → installs-BVJQl3Tj.js} +3 -3
  110. package/dist/{installs-b6XWplET.js → installs-Bb1phV9x.js} +3 -3
  111. package/dist/{lifecycle-core-iiq9e4fE.js → lifecycle-core-DdbL6ELJ.js} +7 -7
  112. package/dist/{lifecycle-core-SWNKAc8k.js → lifecycle-core-O50xtu5c.js} +7 -7
  113. package/dist/llm-slug-generator.js +9 -9
  114. package/dist/{logs-cli-BGjeoamB.js → logs-cli-DvbMaSKU.js} +6 -6
  115. package/dist/{logs-cli-BEWpB_ac.js → logs-cli-T5v8efuM.js} +6 -6
  116. package/dist/{manager-xeIkDkmx.js → manager-BVPXSK-I.js} +1 -1
  117. package/dist/{manager-rvtFoeFT.js → manager-CnBU0aOR.js} +1 -1
  118. package/dist/{manager-PTSjHNVq.js → manager-CpBJ1BE6.js} +1 -1
  119. package/dist/{manager-DcZUW1bz.js → manager-CvqH_tah.js} +1 -1
  120. package/dist/{memory-D8JRYEYq.js → memory-BsGfHO_F.js} +4 -4
  121. package/dist/{memory-CeB8eMPH.js → memory-CbwmxmxW.js} +4 -4
  122. package/dist/{memory-cli-DZtv3G9o.js → memory-cli-B1dFPZw-.js} +7 -7
  123. package/dist/{memory-cli-rORHUdUV.js → memory-cli-BwQsPEFk.js} +7 -7
  124. package/dist/{model-catalog-MHTLXFwi.js → model-catalog-CzKsiNZA.js} +2 -2
  125. package/dist/{model-catalog-DQTmHZK7.js → model-catalog-IWi6-nY9.js} +2 -2
  126. package/dist/{model-picker-BVNI6Imm.js → model-picker-CS_h9RHv.js} +2 -2
  127. package/dist/{model-picker-DHLA0BEe.js → model-picker-DN-co6Oy.js} +2 -2
  128. package/dist/{models-D3haEpaG.js → models-Dm6dSSSx.js} +17 -17
  129. package/dist/{models-cli-DiyNuQ5w.js → models-cli-BA6ufqLd.js} +49 -48
  130. package/dist/{models-cli-DidUOdbx.js → models-cli-BPSrz6tf.js} +46 -45
  131. package/dist/{models-config-CRnTzdFs.js → models-config-B5Xxy-c-.js} +1 -1
  132. package/dist/{models-config-Br7EjqgG.js → models-config-CiR_RUxw.js} +1 -1
  133. package/dist/{node-cli-Yqf38Nio.js → node-cli-2HDdeLgi.js} +20 -20
  134. package/dist/{node-cli-DnwByBU2.js → node-cli-CH1yLZuO.js} +20 -20
  135. package/dist/{node-service-CRSkbk2b.js → node-service-CfHbECCi.js} +2 -2
  136. package/dist/{node-service-E8k7BOQV.js → node-service-D44noKnR.js} +2 -2
  137. package/dist/{nodes-cli-BY6HrZlh.js → nodes-cli-ARs9ZPma.js} +9 -9
  138. package/dist/{nodes-cli-OTk4gEj-.js → nodes-cli-DIm6cMS_.js} +9 -9
  139. package/dist/{note-Bn5K9itM.js → note-Cltpxj6i.js} +1 -1
  140. package/dist/{note-DtkOgLxt.js → note-ytwb4wwn.js} +1 -1
  141. package/dist/{npm-registry-spec-CZCkONwR.js → npm-registry-spec-CONWlhd6.js} +1 -1
  142. package/dist/{npm-registry-spec-L8BUQ0nu.js → npm-registry-spec-DPqOMFd9.js} +1 -1
  143. package/dist/{onboard-oIJ6OEGu.js → onboard-CjnPughY.js} +18 -18
  144. package/dist/{onboard-C1PSYsJY.js → onboard-Cmz6Rtm-.js} +18 -18
  145. package/dist/{onboard-channels-BSt89ffO.js → onboard-channels-Cozz3CQv.js} +7 -7
  146. package/dist/{onboard-channels-DvNWHvx3.js → onboard-channels-D00NAtQt.js} +7 -7
  147. package/dist/{onboard-custom-y7PsUrmE.js → onboard-custom-BCcuL4Uq.js} +2 -2
  148. package/dist/{onboard-custom-TvRg0dYq.js → onboard-custom-C-wfNtOM.js} +2 -2
  149. package/dist/{onboard-helpers-CtpOchu0.js → onboard-helpers-BKfeJ1xj.js} +4 -4
  150. package/dist/{onboard-helpers-HjgAKoSl.js → onboard-helpers-CCI7SimM.js} +4 -4
  151. package/dist/{onboard-hooks-BU0EsBMH.js → onboard-hooks-CXRw9BJY.js} +2 -2
  152. package/dist/{onboard-hooks-Cmy0Qz0F.js → onboard-hooks-DfDF9AU4.js} +2 -2
  153. package/dist/{onboard-remote-B7bM-1-l.js → onboard-remote-D4R-Yq2Q.js} +3 -3
  154. package/dist/{onboard-remote-B5kHPh_e.js → onboard-remote-DKXBH_lQ.js} +3 -3
  155. package/dist/{onboard-skills-BsPcuuer.js → onboard-skills-BPmu8XLA.js} +2 -2
  156. package/dist/{onboard-skills-V7pX2pkl.js → onboard-skills-jVyIFojF.js} +3 -3
  157. package/dist/{onboarding-D4SGY_zG.js → onboarding-BPZb40BJ.js} +16 -16
  158. package/dist/{onboarding-Ce0PyZFq.js → onboarding-BrTMOcPF.js} +16 -16
  159. package/dist/{onboarding.finalize-BDPrr9CT.js → onboarding.finalize-Bd2rGMjo.js} +26 -26
  160. package/dist/{onboarding.finalize-TkbmJzg5.js → onboarding.finalize-BiL_LXrR.js} +28 -28
  161. package/dist/{onboarding.gateway-config-9dgVRLeb.js → onboarding.gateway-config-B301LxTx.js} +6 -6
  162. package/dist/{onboarding.gateway-config-DXQhxsQS.js → onboarding.gateway-config-ChCxv8dy.js} +6 -6
  163. package/dist/{openai-model-default-D_rz8Pew.js → openai-model-default-CKfNKTZD.js} +1 -1
  164. package/dist/{openai-model-default-BkGyzajy.js → openai-model-default-ChdgeMqX.js} +1 -1
  165. package/dist/{outbound-send-deps-PNzbuoSX.js → outbound-send-deps-JQjmNLPx.js} +1 -1
  166. package/dist/{pairing-cli-WQ1MKO2B.js → pairing-cli-D7_UlTsI.js} +3 -3
  167. package/dist/{pairing-cli-D2zvrKTM.js → pairing-cli-UgiAsygW.js} +3 -3
  168. package/dist/{path-env-BHRjFlqO.js → path-env-BAyW1s3c.js} +1 -1
  169. package/dist/{path-env-i-ZjtVbs.js → path-env-C1hgM8gP.js} +1 -1
  170. package/dist/{pi-embedded-BPuUM-gD.js → pi-embedded-C9wLrFjj.js} +1439 -494
  171. package/dist/{pi-embedded-helpers-nFK_hP2q.js → pi-embedded-helpers-BBiyNXkS.js} +1 -1
  172. package/dist/{pi-embedded-helpers-DVolpQ34.js → pi-embedded-helpers-CDzBxa-P.js} +1 -1
  173. package/dist/{pi-tools.policy-uHgu_nx0.js → pi-tools.policy-CU8U7--z.js} +2 -2
  174. package/dist/{pi-tools.policy-CTzYYKRt.js → pi-tools.policy-WaLKhqJQ.js} +2 -2
  175. package/dist/{plugin-auto-enable-C4b23B35.js → plugin-auto-enable-Bt2sVz8w.js} +2 -2
  176. package/dist/{plugin-auto-enable-BkhVwtbW.js → plugin-auto-enable-PBDcVF_-.js} +2 -2
  177. package/dist/{plugin-registry-V5jShvbP.js → plugin-registry-BLoSesyj.js} +2 -2
  178. package/dist/{plugin-registry-CxUYRmLh.js → plugin-registry-CZDG8fjK.js} +2 -2
  179. package/dist/plugin-sdk/auto-reply/reply/commands-info.d.ts +1 -0
  180. package/dist/plugin-sdk/auto-reply/reply/middleware-context-warning.d.ts +22 -0
  181. package/dist/plugin-sdk/auto-reply/session-boundary-messages.d.ts +16 -3
  182. package/dist/plugin-sdk/auto-reply/status.d.ts +13 -0
  183. package/dist/plugin-sdk/config/types.models.d.ts +5 -0
  184. package/dist/plugin-sdk/config/zod-schema.core.d.ts +11 -0
  185. package/dist/plugin-sdk/config/zod-schema.d.ts +5 -0
  186. package/dist/plugin-sdk/cost/benchmark.d.ts +36 -0
  187. package/dist/plugin-sdk/cost/breakdown.d.ts +63 -0
  188. package/dist/plugin-sdk/cost/gpu-inference.d.ts +52 -0
  189. package/dist/plugin-sdk/cost/rates.d.ts +32 -0
  190. package/dist/plugin-sdk/cost/serving-discovery.d.ts +54 -0
  191. package/dist/plugin-sdk/cost/summary.d.ts +40 -0
  192. package/dist/plugin-sdk/index.js +13 -2
  193. package/dist/{plugins-cli-CMAwepRk.js → plugins-cli-2yraoR6V.js} +43 -42
  194. package/dist/{plugins-cli-BthQwo7n.js → plugins-cli-CGs9-UtO.js} +43 -42
  195. package/dist/{program-iw_XyVhs.js → program-BnKEJpZF.js} +46 -45
  196. package/dist/{program-context-BVEz8AgF.js → program-context-BvP9L_1W.js} +48 -40
  197. package/dist/{prompt-select-styled-CF4qV0_M.js → prompt-select-styled-BTF5vvv8.js} +32 -32
  198. package/dist/{prompt-select-styled-D3RAY7pg.js → prompt-select-styled-Brx330O3.js} +31 -31
  199. package/dist/{provider-auth-helpers-Dxo0v0UO.js → provider-auth-helpers-CppzYZM9.js} +6 -6
  200. package/dist/{provider-auth-helpers-BTBjOyhO.js → provider-auth-helpers-hjy3e-oS.js} +6 -6
  201. package/dist/{push-apns-B8Wg3Hqw.js → push-apns-BD2iO09c.js} +1 -1
  202. package/dist/{push-apns-DIIbGT1M.js → push-apns-DJ55TFPT.js} +1 -1
  203. package/dist/{pw-ai-kkF0QaDF.js → pw-ai-DBAtSFTB.js} +2 -2
  204. package/dist/{pw-ai-BFS9ezWe.js → pw-ai-DOAsQ5NX.js} +2 -2
  205. package/dist/{pw-ai-_prsAw5O.js → pw-ai-DQZa9DUQ.js} +2 -2
  206. package/dist/{pw-ai-Cx-Ko_FL.js → pw-ai-DY_6l11g.js} +2 -2
  207. package/dist/{qr-cli-CcAzgz_N.js → qr-cli-D2A-IU0Y.js} +1 -1
  208. package/dist/{qr-cli-KmGkQDBF.js → qr-cli-DHpiebkG.js} +1 -1
  209. package/dist/{redact-identifier-CXvHJXk9.js → redact-identifier-BOxAUdff.js} +1 -1
  210. package/dist/{register.agent-8XsVRuWC.js → register.agent-DTGvQGla.js} +61 -60
  211. package/dist/{register.agent-D-OIszeY.js → register.agent-Dz_P7PxO.js} +63 -62
  212. package/dist/register.configure-CrgU3FzU.js +131 -0
  213. package/dist/register.configure-D9w7Tm9e.js +135 -0
  214. package/dist/{register.maintenance-CjM8sJqH.js → register.maintenance-CqvrXPF7.js} +64 -63
  215. package/dist/{register.maintenance-CBYqsXkf.js → register.maintenance-d5xHdDgu.js} +63 -62
  216. package/dist/{register.message-DnljWvZP.js → register.message-C0tqgEor.js} +40 -39
  217. package/dist/{register.message-kSIASKVK.js → register.message-DNMCxaAD.js} +41 -40
  218. package/dist/{register.onboard-Vj1-Ike1.js → register.onboard--eJVfJGa.js} +28 -28
  219. package/dist/{register.onboard-eDNn1pdd.js → register.onboard-dkAvGraV.js} +28 -28
  220. package/dist/{register.setup-DMaoMWRD.js → register.setup-CgufX-6c.js} +28 -28
  221. package/dist/{register.setup-CmhspsS8.js → register.setup-Dwh0ylCS.js} +28 -28
  222. package/dist/{register.status-health-sessions-r3F9H8b0.js → register.status-health-sessions-BeAm7HAq.js} +36 -36
  223. package/dist/{register.status-health-sessions-CJqCoqAi.js → register.status-health-sessions-D6BRCFg_.js} +35 -35
  224. package/dist/{register.subclis-RqX1a2aL.js → register.subclis-Hb2xSHBy.js} +37 -29
  225. package/dist/{replies-BYF1gbJf.js → replies-0nzkXt6o.js} +1 -1
  226. package/dist/{replies-B91-OngF.js → replies-C5CBlnFS.js} +1 -1
  227. package/dist/{replies-DAYTg6Mb.js → replies-D0FYSIJg.js} +1 -1
  228. package/dist/{replies-UP2sglaR.js → replies-_DV8VSSj.js} +1 -1
  229. package/dist/{resolve-route-Zww0Y-HJ.js → resolve-route-CnTdHVgw.js} +1 -1
  230. package/dist/{resolve-route-CmZ7XjmB.js → resolve-route-D0NrCHnr.js} +1 -1
  231. package/dist/{routes-BfeVDhod.js → routes-CPMVuvoz.js} +3 -3
  232. package/dist/{routes-y2Ww0pum.js → routes-DIyAmLYR.js} +3 -3
  233. package/dist/{rpc-DZCrGGH5.js → rpc-B2BLRS45.js} +2 -2
  234. package/dist/{rpc-RIkh5F9v.js → rpc-gUsL9Mqf.js} +2 -2
  235. package/dist/{run-main-6pE2fYXT.js → run-main-B_NTFmz1.js} +61 -60
  236. package/dist/{sandbox-DQdjlC-w.js → sandbox-61-kshSF.js} +5 -5
  237. package/dist/{sandbox-BjQ6n3zl.js → sandbox-J92UBQK8.js} +5 -5
  238. package/dist/{sandbox-cli-CTYAHFyM.js → sandbox-cli-D9v0jhBb.js} +8 -8
  239. package/dist/{sandbox-cli-C0IVf8AS.js → sandbox-cli-DJgF-r8G.js} +8 -8
  240. package/dist/{security-cli-B8VyQJcl.js → security-cli-CZix5cXq.js} +13 -13
  241. package/dist/{security-cli-D0oErb9f.js → security-cli-J9J0qvDy.js} +13 -13
  242. package/dist/{send-Cxu1tl56.js → send-B0jHSNMF.js} +1 -1
  243. package/dist/{send-Cuk_Rjss.js → send-C75uSv6p.js} +1 -1
  244. package/dist/{send-BBfSp-8Q.js → send-Dq252-bi.js} +1 -1
  245. package/dist/{server-context-BFCh7pUb.js → server-context-D-82OTsT.js} +5 -5
  246. package/dist/{server-context-YlgRz1wC.js → server-context-SbbjNkPL.js} +5 -5
  247. package/dist/{server-methods-BxsThjMp.js → server-methods-CFWjtx32.js} +31 -31
  248. package/dist/{server-methods-BWCAXrQJ.js → server-methods-Cz_-FX5B.js} +31 -31
  249. package/dist/{server-node-events-AZFI44cm.js → server-node-events-BiMD-Sik.js} +40 -39
  250. package/dist/{server-node-events-C10Bhdag.js → server-node-events-UJ4Hwcsf.js} +39 -38
  251. package/dist/{service-vsb7_8MA.js → service-BF50XyKr.js} +2 -2
  252. package/dist/{service-BBw78ATM.js → service-Ccv3Zi5_.js} +2 -2
  253. package/dist/{session-cost-usage-CqLUlh7S.js → session-cost-usage-CJWHHY-C.js} +1 -1
  254. package/dist/{session-cost-usage-D6Ocwmq1.js → session-cost-usage-D3mgssM_.js} +1 -1
  255. package/dist/{session-utils-BZnPW904.js → session-utils-Cs1jlD-q.js} +3 -3
  256. package/dist/{session-utils-BGw_xwXK.js → session-utils-Zpe3t68b.js} +3 -3
  257. package/dist/{sessions-uS7rV-lI.js → sessions-BSmT7vGX.js} +3 -3
  258. package/dist/{sessions-DHPf5TzB.js → sessions-Dn6VXn4p.js} +1 -1
  259. package/dist/{sessions-optZRB57.js → sessions-Dxf5Kjig.js} +1 -1
  260. package/dist/{shared-CfBMF1VB.js → shared-BJRsBGGr.js} +2 -2
  261. package/dist/{shared-CVXZtpIq.js → shared-BmjlTHYU.js} +2 -2
  262. package/dist/{shared-BucaCyaw.js → shared-Ck6cf10x.js} +1 -1
  263. package/dist/{shared-k1QjV3ys.js → shared-Crfo8y70.js} +1 -1
  264. package/dist/{skill-commands-CKm7eCw6.js → skill-commands-D0xAWG0l.js} +1 -1
  265. package/dist/{skill-commands-DAtpPeXi.js → skill-commands-DKkiQJxU.js} +1 -1
  266. package/dist/{skill-commands-BoMrW3WV.js → skill-commands-JIccKWkf.js} +1 -1
  267. package/dist/{skill-commands-yPirQFOb.js → skill-commands-KnANH5Qm.js} +1 -1
  268. package/dist/{skills-cli-CcWFIcOR.js → skills-cli-BZF5mcG5.js} +7 -7
  269. package/dist/{skills-cli-DcJBgk5R.js → skills-cli-C9F-zLWe.js} +3 -3
  270. package/dist/{skills-install-CcW780Kq.js → skills-install-QOHQrX6P.js} +4 -4
  271. package/dist/{skills-install-CbRsCzAG.js → skills-install-X12kifP1.js} +4 -4
  272. package/dist/{skills-status-CLzaY4r2.js → skills-status-6LVKpabC.js} +1 -1
  273. package/dist/{ssrf-q6hBiAOi.js → ssrf-BCSnhba8.js} +13 -2
  274. package/dist/{ssrf-oI58TMOb.js → ssrf-DNhyFMRW.js} +13 -2
  275. package/dist/{status-BxD8CjLr.js → status-BGUaaSHe.js} +2 -2
  276. package/dist/{status-B5sjPQS6.js → status-Bp48-ySL.js} +20 -20
  277. package/dist/{status-CZc22Lqb.js → status-CObdh7-H.js} +2 -2
  278. package/dist/{status-Cv8N2kIe.js → status-FX0BMcCb.js} +20 -20
  279. package/dist/{status.update-B52bM2Tg.js → status.update-CdTtmVpp.js} +2 -2
  280. package/dist/{status.update-Bl_ewksT.js → status.update-_3qHPt0O.js} +2 -2
  281. package/dist/{subagent-registry-BnHgIGX-.js → subagent-registry-ChDWDl_p.js} +304 -106
  282. package/dist/{synthesis-fD8J2vag.js → synthesis-CmQvOHg6.js} +9 -9
  283. package/dist/{synthesis-7UL3pCpj.js → synthesis-DIkOQnhF.js} +8 -8
  284. package/dist/{synthesis-DvfrgkQU.js → synthesis-DdP6tbyk.js} +36 -35
  285. package/dist/{synthesis-o7Zdrwxz.js → synthesis-m6WCyI41.js} +36 -35
  286. package/dist/{system-cli-BAn07VkE.js → system-cli-DB9etQxq.js} +5 -5
  287. package/dist/{system-cli-BTZ8T0-Z.js → system-cli-szRqg1_v.js} +5 -5
  288. package/dist/{systemd-DCzA-V_E.js → systemd-Dic80Qni.js} +1 -1
  289. package/dist/{systemd-Cmn7zMqD.js → systemd-Dtydk5-z.js} +1 -1
  290. package/dist/{systemd-hints-CvIqgg9d.js → systemd-hints-DmDUq9JT.js} +4 -4
  291. package/dist/{systemd-hints-BlGehfA3.js → systemd-hints-bP8dBJ78.js} +4 -4
  292. package/dist/{systemd-linger-BUWYteOW.js → systemd-linger-BBxRNFXz.js} +2 -2
  293. package/dist/{systemd-linger-Bj4nK9ZB.js → systemd-linger-DjoQVcOq.js} +2 -2
  294. package/dist/{tui-XLWiN8Hm.js → tui-CEhOf9fk.js} +6 -6
  295. package/dist/{tui-B6mIUNPO.js → tui-Dp58oYvX.js} +6 -6
  296. package/dist/{tui-cli-byFYgg3c.js → tui-cli-DFaOwBwg.js} +12 -12
  297. package/dist/{tui-cli-CTK5_3rU.js → tui-cli-wxh3YpaV.js} +12 -12
  298. package/dist/{unified-runner-BIiKFnNF.js → unified-runner-Cu3lGa3A.js} +1440 -495
  299. package/dist/{unified-runner-DnikxMFg.js → unified-runner-DL-sfvGT.js} +305 -107
  300. package/dist/{update-DxY1UB0k.js → update-BDo7wxMf.js} +1 -1
  301. package/dist/{update-EhDcBqN1.js → update-CcacbR32.js} +1 -1
  302. package/dist/{update-check-pFwV6W-z.js → update-check-A86nJKtZ.js} +1 -1
  303. package/dist/{update-check-H0DwvuqN.js → update-check-oEbS0voJ.js} +1 -1
  304. package/dist/{update-cli-BAdPKO1o.js → update-cli-DAKoU0Wn.js} +73 -72
  305. package/dist/{update-cli-C8IVRiDZ.js → update-cli-gEBRNrm2.js} +74 -73
  306. package/dist/{update-runner-CERd2XdT.js → update-runner-CQMv-ibM.js} +3 -3
  307. package/dist/{update-runner-7oHPAIND.js → update-runner-DHi359Tb.js} +3 -3
  308. package/dist/{usage-format-_37Bn-Jb.js → usage-format-DQJz-0qd.js} +0 -1
  309. package/dist/{usage-format-rxT5cEAf.js → usage-format-DeczTGI-.js} +0 -1
  310. package/dist/{webhooks-cli-3UJupWMP.js → webhooks-cli-C3g4MxCE.js} +3 -3
  311. package/dist/{webhooks-cli-BFpGMNrf.js → webhooks-cli-C3uyehJS.js} +3 -3
  312. package/dist/{with-timeout-Bn-ltLg1.js → with-timeout-B0ZJa7f2.js} +1 -1
  313. package/dist/{with-timeout-EXM-FP4_.js → with-timeout-GbJ1Yzsh.js} +1 -1
  314. package/package.json +1 -1
  315. package/dist/register.configure-Bcdw9qlF.js +0 -130
  316. package/dist/register.configure-KE6Kvt4O.js +0 -134
  317. /package/dist/{agents.config-BG9fpad0.js → agents.config-Cyc_RegL.js} +0 -0
  318. /package/dist/{agents.config-CxrFhtC1.js → agents.config-DK6nN-Qh.js} +0 -0
  319. /package/dist/{argv-oa_KBmv1.js → argv-Bl0th4dq.js} +0 -0
  320. /package/dist/{auth-choice-legacy-DwMt7oDR.js → auth-choice-legacy-BZWIpO92.js} +0 -0
  321. /package/dist/{auth-choice-legacy-ZsU_kwPI.js → auth-choice-legacy-iEyARXI2.js} +0 -0
  322. /package/dist/{bindings-CLS_owm_.js → bindings-BAOPW5eK.js} +0 -0
  323. /package/dist/{bindings-BpMZcmYL.js → bindings-c7qLJdIA.js} +0 -0
  324. /package/dist/{brew-B3VMQVQk.js → brew-B4FH-mEH.js} +0 -0
  325. /package/dist/{brew-BsE_w2tW.js → brew-CI00FKf8.js} +0 -0
  326. /package/dist/{catalog-CriSxQMH.js → catalog-BaM8d1-T.js} +0 -0
  327. /package/dist/{catalog-BXxi5-YC.js → catalog-BnLcGVie.js} +0 -0
  328. /package/dist/{channel-selection-BiYW5XI-.js → channel-selection-BrFl0vVK.js} +0 -0
  329. /package/dist/{channel-selection-DF4bza2Q.js → channel-selection-DjrS6oiz.js} +0 -0
  330. /package/dist/{channels-status-issues-DuRF3XF3.js → channels-status-issues-BwbA2OBt.js} +0 -0
  331. /package/dist/{channels-status-issues-C2AVfv0-.js → channels-status-issues-iWQDGUQe.js} +0 -0
  332. /package/dist/{cli-utils-tNdOjVQI.js → cli-utils-CbnnSB38.js} +0 -0
  333. /package/dist/{clipboard-B1jgJ11s.js → clipboard-BSTxQ2tO.js} +0 -0
  334. /package/dist/{clipboard-Sks8Qw-6.js → clipboard-CHn5r7Kj.js} +0 -0
  335. /package/dist/{command-options-C2yg82U0.js → command-options-DgcCGXMQ.js} +0 -0
  336. /package/dist/{command-options-D_KEIae-.js → command-options-Vxb4M7Aj.js} +0 -0
  337. /package/dist/{consolidate-DPAffHCg.js → consolidate-BSUbtSDt.js} +0 -0
  338. /package/dist/{consolidate-CF6vEjPe.js → consolidate-DhoiF4n7.js} +0 -0
  339. /package/dist/{constants-B4wXIPMk.js → constants-BLIhifCJ.js} +0 -0
  340. /package/dist/{constants-ChnKXZKi.js → constants-BP_JoSwO.js} +0 -0
  341. /package/dist/{control-ui-assets-CkPR0Fz2.js → control-ui-assets-CnX0W3vy.js} +0 -0
  342. /package/dist/{control-ui-assets-BVCcPRi3.js → control-ui-assets-DfBRXG5y.js} +0 -0
  343. /package/dist/{delivery-queue-DqDe6994.js → delivery-queue-CIwn40ej.js} +0 -0
  344. /package/dist/{delivery-queue-RUd4NhRw.js → delivery-queue-duM0RT18.js} +0 -0
  345. /package/dist/{dm-policy-shared-DmpXsl2K.js → dm-policy-shared-BUwZ6Ajx.js} +0 -0
  346. /package/dist/{dm-policy-shared-ZfPtrTeh.js → dm-policy-shared-EuuPwRNE.js} +0 -0
  347. /package/dist/{entry-status-BqhxPFzK.js → entry-status-D0BSpWt_.js} +0 -0
  348. /package/dist/{format-BskCnX0I.js → format-BcXs5iuf.js} +0 -0
  349. /package/dist/{gmail-setup-utils-BlGvgPlF.js → gmail-setup-utils-DJgxyDTX.js} +0 -0
  350. /package/dist/{gmail-setup-utils-DsRU2ywQ.js → gmail-setup-utils-_TEJA4pL.js} +0 -0
  351. /package/dist/{health-format-CzrMGubG.js → health-format-Dp4xmTKn.js} +0 -0
  352. /package/dist/{health-format-C0DWlpEn.js → health-format-Li703vy6.js} +0 -0
  353. /package/dist/{help-format-DhRyo3Pj.js → help-format-8IYCRvx1.js} +0 -0
  354. /package/dist/{help-format-BjEVi4c_.js → help-format-BTNd5kFC.js} +0 -0
  355. /package/dist/{helpers-CcArejFh.js → helpers-BnXDQL2q.js} +0 -0
  356. /package/dist/{helpers-Dm_utoC3.js → helpers-CoScWBmD.js} +0 -0
  357. /package/dist/{helpers-DJRLZbrj.js → helpers-DGBa5iKd.js} +0 -0
  358. /package/dist/{helpers-DUclfUl-.js → helpers-lLtg0Hgi.js} +0 -0
  359. /package/dist/{ipv4--8f4a_51.js → ipv4-CCdAVmwu.js} +0 -0
  360. /package/dist/{ipv4-Cy7l-phR.js → ipv4-DFUXU3PT.js} +0 -0
  361. /package/dist/{links-D6ASL_as.js → links-B9CbwY46.js} +0 -0
  362. /package/dist/{links-BkFDs4sT.js → links-CQZxjjCO.js} +0 -0
  363. /package/dist/{logging-4WqMHwAZ.js → logging-BRejMykf.js} +0 -0
  364. /package/dist/{logging-iIX8duxv.js → logging-BmJ5ky59.js} +0 -0
  365. /package/dist/{logging-Czh4x_NQ.js → logging-CLWZ3KQI.js} +0 -0
  366. /package/dist/{model-D50Lt_sm.js → model-BMFj7NXy.js} +0 -0
  367. /package/dist/{model-param-b-CfiuLqZG.js → model-param-b-C6mMtCJr.js} +0 -0
  368. /package/dist/{onboard-config-BKb2QQqE.js → onboard-config-B9Iy9-4f.js} +0 -0
  369. /package/dist/{onboard-config-DZIbmz6s.js → onboard-config-DwsP5yz1.js} +0 -0
  370. /package/dist/{outbound-send-deps-BR6jeE9h.js → outbound-send-deps-DpyxnI3f.js} +0 -0
  371. /package/dist/{parse-log-line-CeJ1RDHv.js → parse-log-line-BQPvB6cZ.js} +0 -0
  372. /package/dist/{parse-log-line-DxFrnzNo.js → parse-log-line-Cg7e_EO6.js} +0 -0
  373. /package/dist/{parse-port-DdAxyRwV.js → parse-port-CLBKavYE.js} +0 -0
  374. /package/dist/{parse-port-W56FnCN_.js → parse-port-dzRz6QnZ.js} +0 -0
  375. /package/dist/{parse-timeout-DKY8YAUj.js → parse-timeout-CuYdP9TL.js} +0 -0
  376. /package/dist/{path-safety-LPRW6mO-.js → path-safety-ZDtSDPro.js} +0 -0
  377. /package/dist/{path-safety-grmMl9nR.js → path-safety-cWA8NpOb.js} +0 -0
  378. /package/dist/{plugins-allowlist-BuJjTWyS.js → plugins-allowlist-C5r7biDp.js} +0 -0
  379. /package/dist/{plugins-allowlist-BvQZxkGy.js → plugins-allowlist-CD4oIJNk.js} +0 -0
  380. /package/dist/{ports-CqKpyZSl.js → ports-BE4iY9ho.js} +0 -0
  381. /package/dist/{ports-BDzMH5Eu.js → ports-C2swmreL.js} +0 -0
  382. /package/dist/{program-context-C5Y6Svzj.js → program-context-CGKRxOBU.js} +0 -0
  383. /package/dist/{progress-deSwGz9x.js → progress-BOQ0hkeM.js} +0 -0
  384. /package/dist/{progress-B3K1UFtC.js → progress-DQTvTiEg.js} +0 -0
  385. /package/dist/{prompt-style-DeaIm7_1.js → prompt-style-CzRuIYtp.js} +0 -0
  386. /package/dist/{prompt-style-DS51QPPi.js → prompt-style-pphr4yLK.js} +0 -0
  387. /package/dist/{prompts-LvxbwPs6.js → prompts-B98rp78m.js} +0 -0
  388. /package/dist/{prompts-l_pUOv42.js → prompts-CqJkfsHC.js} +0 -0
  389. /package/dist/{qmd-manager-BbWeOOTD.js → qmd-manager-C6wRtPm_.js} +0 -0
  390. /package/dist/{qmd-manager-CYKlEJ2U.js → qmd-manager-CYEAMLE7.js} +0 -0
  391. /package/dist/{runtime-guard-GWXNB3ke.js → runtime-guard-Bgv3O9s4.js} +0 -0
  392. /package/dist/{runtime-guard-DWXoHW1Q.js → runtime-guard-ofQGcCUc.js} +0 -0
  393. /package/dist/{runtime-status-BqrK6ivx.js → runtime-status-B-PXkhrX.js} +0 -0
  394. /package/dist/{runtime-status-D4pjzLyv.js → runtime-status-Zb9OQ0VK.js} +0 -0
  395. /package/dist/{session-dirs-CXErIzZq.js → session-dirs-BsQ-g02q.js} +0 -0
  396. /package/dist/{session-dirs-DJ4qiP3r.js → session-dirs-DpiMgw4q.js} +0 -0
  397. /package/dist/{skill-scanner-zh2dJM3x.js → skill-scanner-D5p8L-xO.js} +0 -0
  398. /package/dist/{skill-scanner-Ur9nMoo4.js → skill-scanner-EhsZUzzk.js} +0 -0
  399. /package/dist/{stagger-DkaCfsKB.js → stagger-DQs772BN.js} +0 -0
  400. /package/dist/{status-Bz_-dDs6.js → status-DtyqId3v.js} +0 -0
  401. /package/dist/{status-CExNNC5N.js → status-dOhj12u0.js} +0 -0
  402. /package/dist/{system-run-command-CeR1OLFk.js → system-run-command-2oJPKfVr.js} +0 -0
  403. /package/dist/{system-run-command-Craglj8T.js → system-run-command-D_OmCQOL.js} +0 -0
  404. /package/dist/{table-xKEHbVsK.js → table-Dm8jYqmW.js} +0 -0
  405. /package/dist/{table-jBELNhV1.js → table-Ds5CZCyv.js} +0 -0
  406. /package/dist/{tool-loop-detection-D3y39HsT.js → tool-loop-detection-2Mxxm8YE.js} +0 -0
  407. /package/dist/{tool-loop-detection-DljhV89j.js → tool-loop-detection-Bk07vuCX.js} +0 -0
  408. /package/dist/{widearea-dns-C8Rsixsi.js → widearea-dns-BwIBBqZo.js} +0 -0
  409. /package/dist/{widearea-dns-BSrnDwJD.js → widearea-dns-DA_m7oeT.js} +0 -0
  410. /package/dist/{workspace-DKEYzTNc.js → workspace-DD9pYbiv.js} +0 -0
  411. /package/dist/{workspace-BkWAKK8O.js → workspace-Wkr6wXcS.js} +0 -0
  412. /package/dist/{wsl-cy5jpbkx.js → wsl-Ci3VOaSK.js} +0 -0
  413. /package/dist/{wsl-hSA0zCrh.js → wsl-S50RbgL8.js} +0 -0
@@ -13,47 +13,47 @@ import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, _ as resolveModelRefFr
13
13
  import { n as normalizeSecretInput } from "./normalize-secret-input-DjGU5EXe.js";
14
14
  import { n as saveJsonFile, t as loadJsonFile } from "./json-file-CNp4GTiH.js";
15
15
  import { t as resolveSymiAgentDir } from "./agent-paths-BbZSGrUA.js";
16
- import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-DVolpQ34.js";
17
- import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-D7SS4vdk.js";
16
+ import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-CDzBxa-P.js";
17
+ import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-B4jkreCN.js";
18
18
  import { t as parseBooleanValue } from "./boolean-CbZoNRMn.js";
19
19
  import { t as isTruthyEnvValue } from "./env-BRnPI9sO.js";
20
20
  import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-Dc3iU7HK.js";
21
21
  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-D1MLZEjS.js";
22
22
  import { a as isPathInsideWithRealpath } from "./legacy-names-BQ9vKISY.js";
23
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-DQdjlC-w.js";
24
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-rzK8edU7.js";
25
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-YlgRz1wC.js";
23
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-61-kshSF.js";
24
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-DJChpTwP.js";
25
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-SbbjNkPL.js";
26
26
  import { l as parseFrontmatterBlock } from "./frontmatter-B_jqcova.js";
27
27
  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-BwDmcZdt.js";
28
- import { n as getMediaDir, r as saveMediaBuffer } from "./routes-y2Ww0pum.js";
28
+ import { n as getMediaDir, r as saveMediaBuffer } from "./routes-DIyAmLYR.js";
29
29
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-bI7Tdx75.js";
30
30
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DObzwe08.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DOZRI5XH.js";
32
32
  import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-L70xVnpG.js";
33
- import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-optZRB57.js";
33
+ import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-Dxf5Kjig.js";
34
34
  import { c as normalizeStringEntries, i as resolveChannelGroupRequireMention, l as normalizeStringEntriesLower, n as listChannelDocks, o as normalizeAtHashSlug, r as resolveChannelGroupPolicy, s as normalizeHyphenSlug, t as getChannelDock } from "./dock-hF45sewN.js";
35
35
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, 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-DgjXWzf-.js";
36
36
  import { t as normalizeChatType } from "./chat-type-CUJqUqwu.js";
37
37
  import { n as resolveConversationLabel } from "./conversation-label-CffvEjpp.js";
38
38
  import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
39
- import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-Cxu1tl56.js";
39
+ import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-B0jHSNMF.js";
40
40
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-BtvQ7JvU.js";
41
41
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-Dfn-vEsu.js";
42
42
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
43
43
  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-COroyVA5.js";
44
44
  import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-0yh2UnJq.js";
45
- import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-DB4v0Tyl.js";
45
+ import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-C81eqdrP.js";
46
46
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-DbT9t0Sh.js";
47
47
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DnkpMfCl.js";
48
48
  import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-1EAQvYRv.js";
49
- import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-CRnTzdFs.js";
49
+ import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-B5Xxy-c-.js";
50
50
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-Db8XJVGL.js";
51
- import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-D6Ocwmq1.js";
52
- import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-BZnPW904.js";
53
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-EXM-FP4_.js";
51
+ import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-D3mgssM_.js";
52
+ import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-Cs1jlD-q.js";
53
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-GbJ1Yzsh.js";
54
54
  import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
55
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-D8JRYEYq.js";
56
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-DcZUW1bz.js";
55
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BsGfHO_F.js";
56
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CvqH_tah.js";
57
57
  import { f as runTasksWithConcurrency } from "./internal-DVCddhhN.js";
58
58
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BxfKjCUx.js";
59
59
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CS1Tvb3z.js";
@@ -61,33 +61,34 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Bhdr
61
61
  import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
62
62
  import { n as getDefaultMediaLocalRoots } from "./local-roots-CgDCgCuM.js";
63
63
  import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-DUzLGgEZ.js";
64
- import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-VfAQOVZO.js";
64
+ import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-C2Hvwjym.js";
65
65
  import { Bt as SESSION_LABEL_MAX_LENGTH } from "./client-B9E9fdCA.js";
66
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-CKm3T_ar.js";
66
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-DKQC0JT1.js";
67
67
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
68
68
  import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
69
69
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B7Rvs8pK.js";
70
70
  import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
71
71
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-ClQLvlCW.js";
72
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DQTmHZK7.js";
73
- import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-yPirQFOb.js";
72
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-IWi6-nY9.js";
73
+ import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-KnANH5Qm.js";
74
74
  import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BNhJOnWn.js";
75
75
  import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-DioSaIeH.js";
76
76
  import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-De9ma6e1.js";
77
77
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-N7nsmfM6.js";
78
78
  import { t as formatDurationCompact$1 } from "./format-duration-CIjmjQST.js";
79
79
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-9ygk6nTV.js";
80
- import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-_37Bn-Jb.js";
81
- import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-ChnKXZKi.js";
82
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CJWzOFkK.js";
83
- import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DUVGiPYV.js";
84
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DF4bza2Q.js";
85
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Zww0Y-HJ.js";
86
- import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
87
- import { n as registerMemoryCli } from "./memory-cli-rORHUdUV.js";
88
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-B91-OngF.js";
89
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CTzYYKRt.js";
90
- import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-D50Lt_sm.js";
80
+ import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-DeczTGI-.js";
81
+ import { i as resolveWindow, n as formatSummaryReport, r as loadCostBenchmarkSummary, t as buildCostBreakdown } from "./breakdown-B_Dhhm3K.js";
82
+ import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BLIhifCJ.js";
83
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DOGU9T2P.js";
84
+ import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DQs772BN.js";
85
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DjrS6oiz.js";
86
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CnTdHVgw.js";
87
+ import { t as parseTimeoutMs } from "./parse-timeout-CuYdP9TL.js";
88
+ import { n as registerMemoryCli } from "./memory-cli-BwQsPEFk.js";
89
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-C5CBlnFS.js";
90
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-WaLKhqJQ.js";
91
+ import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-BMFj7NXy.js";
91
92
  import { createRequire } from "node:module";
92
93
  import process$1 from "node:process";
93
94
  import { fileURLToPath } from "node:url";
@@ -4921,7 +4922,7 @@ async function recordLoopOutcome(args) {
4921
4922
  if (!args.ctx?.sessionKey) return;
4922
4923
  try {
4923
4924
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DnkpMfCl.js").then((n) => n.n);
4924
- const { recordToolCallOutcome } = await import("./tool-loop-detection-D3y39HsT.js");
4925
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-2Mxxm8YE.js");
4925
4926
  recordToolCallOutcome(getDiagnosticSessionState({
4926
4927
  sessionKey: args.ctx.sessionKey,
4927
4928
  sessionId: args.ctx?.agentId
@@ -4943,7 +4944,7 @@ async function runBeforeToolCallHook(args) {
4943
4944
  if (args.ctx?.sessionKey) {
4944
4945
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DnkpMfCl.js").then((n) => n.n);
4945
4946
  const { logToolLoopAction } = await import("./diagnostic-DbT9t0Sh.js").then((n) => n.n);
4946
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-D3y39HsT.js");
4947
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-2Mxxm8YE.js");
4947
4948
  const sessionState = getDiagnosticSessionState({
4948
4949
  sessionKey: args.ctx.sessionKey,
4949
4950
  sessionId: args.ctx?.agentId
@@ -5807,7 +5808,7 @@ async function routeReply(params) {
5807
5808
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
5808
5809
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
5809
5810
  try {
5810
- const { deliverOutboundPayloads } = await import("./deliver-DB4v0Tyl.js").then((n) => n.n);
5811
+ const { deliverOutboundPayloads } = await import("./deliver-C81eqdrP.js").then((n) => n.n);
5811
5812
  return {
5812
5813
  ok: true,
5813
5814
  messageId: (await deliverOutboundPayloads({
@@ -13183,13 +13184,21 @@ async function applyMediaUnderstanding(params) {
13183
13184
  * Soft warning appended when context usage crosses the threshold.
13184
13185
  * Fires once per session (tracked via `SessionEntry.contextWarningSent`).
13185
13186
  */
13186
- const SESSION_CONTEXT_WARNING_MESSAGE = "📋 Heads up — this session is approaching the context limit. Start a new session for best results. Past sessions stay in history and can be revisited there.";
13187
+ const SESSION_CONTEXT_WARNING_MESSAGE = "📋 Heads up — this session is approaching the context limit. Symi will compact older context automatically when usage reaches 90%.";
13187
13188
  /**
13188
- * Hard limit message returned when the model API rejects the turn for
13189
- * context-too-long or role-ordering reasons, and on every subsequent
13190
- * turn until the user starts a new session.
13189
+ * Inline status emitted by Symi before running compaction proactively
13190
+ * at the 90% threshold. Followed by the agent's actual response in the
13191
+ * same turn.
13191
13192
  */
13192
- const SESSION_OVERFLOW_MESSAGE = "📋 This session has reached the context limit. Please start a new session — your full conversation is saved in history and can be revisited there.";
13193
+ const SESSION_COMPACTING_MESSAGE = "📋 Context limit reached for this session. Compacting older context and continuing…";
13194
+ /**
13195
+ * Returned when compaction can't recover enough budget to continue —
13196
+ * either because the proactive compaction at 90% failed, or because a
13197
+ * single user message overshot the window in one turn and the reactive
13198
+ * fallback compaction also failed. Same message also short-circuits
13199
+ * subsequent turns until /reset or /new.
13200
+ */
13201
+ const SESSION_COMPACTION_FAILED_MESSAGE = "📋 Couldn't compact this session further. Please /reset or /new to continue — your full conversation is saved in history.";
13193
13202
 
13194
13203
  //#endregion
13195
13204
  //#region src/sessions/level-overrides.ts
@@ -19758,14 +19767,19 @@ function buildStatusMessage(args) {
19758
19767
  config: args.config
19759
19768
  }) : void 0;
19760
19769
  const hasUsage = typeof inputTokens === "number" || typeof outputTokens === "number";
19761
- const cost = showCost && hasUsage ? estimateUsageCost({
19770
+ const rawCost = showCost && hasUsage ? estimateUsageCost({
19762
19771
  usage: {
19763
19772
  input: inputTokens ?? void 0,
19764
19773
  output: outputTokens ?? void 0
19765
19774
  },
19766
19775
  cost: costConfig
19767
19776
  }) : void 0;
19768
- const costLabel = showCost && hasUsage ? formatUsd(cost) : void 0;
19777
+ const useOverride = showCost && hasUsage && typeof args.costOverrideUsd === "number" && (rawCost === void 0 || rawCost === 0);
19778
+ const cost = useOverride ? args.costOverrideUsd : rawCost;
19779
+ const baseLabel = showCost && hasUsage ? formatUsd(cost) : void 0;
19780
+ const tag = useOverride ? " (self-hosted)" : "";
19781
+ const suffix = args.costLineSuffix ? ` · ${args.costLineSuffix}` : "";
19782
+ const costLabel = baseLabel ? `${baseLabel}${tag}${suffix}` : void 0;
19769
19783
  const selectedAuthLabel = selectedAuthLabelValue ? ` · 🔑 ${selectedAuthLabelValue}` : "";
19770
19784
  const channelModelNote = (() => {
19771
19785
  if (!args.config || !entry) return;
@@ -19810,6 +19824,8 @@ function buildStatusMessage(args) {
19810
19824
  fallbackLine,
19811
19825
  usageCostLine,
19812
19826
  cacheLine,
19827
+ args.engineLine,
19828
+ args.hardwareLine,
19813
19829
  `📚 ${contextLine}`,
19814
19830
  mediaLine,
19815
19831
  args.usageLine,
@@ -21043,6 +21059,32 @@ async function buildStatusReply(params) {
21043
21059
  } catch {
21044
21060
  usageLine = null;
21045
21061
  }
21062
+ const baseUrl = cfg.models?.providers?.[provider]?.baseUrl;
21063
+ let engineLine;
21064
+ let hardwareLine;
21065
+ let costOverrideUsd;
21066
+ let costLineSuffix;
21067
+ try {
21068
+ const breakdown = await buildCostBreakdown({
21069
+ baseUrl,
21070
+ provider,
21071
+ modelId: model,
21072
+ config: cfg,
21073
+ usage: {
21074
+ input: sessionEntry?.inputTokens,
21075
+ output: sessionEntry?.outputTokens
21076
+ }
21077
+ });
21078
+ engineLine = breakdown.engineLine;
21079
+ hardwareLine = breakdown.hardwareLine;
21080
+ costOverrideUsd = breakdown.instanceCostUsd;
21081
+ costLineSuffix = breakdown.costLineSuffix;
21082
+ } catch {
21083
+ engineLine = void 0;
21084
+ hardwareLine = void 0;
21085
+ costOverrideUsd = void 0;
21086
+ costLineSuffix = void 0;
21087
+ }
21046
21088
  const queueSettings = resolveQueueSettings({
21047
21089
  cfg,
21048
21090
  channel: command.channel,
@@ -21125,6 +21167,10 @@ async function buildStatusReply(params) {
21125
21167
  showDetails: queueOverrides
21126
21168
  },
21127
21169
  subagentsLine,
21170
+ engineLine,
21171
+ hardwareLine,
21172
+ costOverrideUsd,
21173
+ costLineSuffix,
21128
21174
  mediaDecisions: params.mediaDecisions,
21129
21175
  includeTranscriptUsage: false
21130
21176
  }) };
@@ -21225,6 +21271,27 @@ const handleStatusCommand = async (params, allowTextCommands) => {
21225
21271
  })
21226
21272
  };
21227
21273
  };
21274
+ const handleCostCommand = async (params, allowTextCommands) => {
21275
+ if (!allowTextCommands) return null;
21276
+ const normalized = params.command.commandBodyNormalized;
21277
+ if (normalized !== "/cost" && !normalized.startsWith("/cost ")) return null;
21278
+ if (!params.command.isAuthorizedSender) {
21279
+ logVerbose(`Ignoring /cost from unauthorized sender: ${params.command.senderId || "<unknown>"}`);
21280
+ return { shouldContinue: false };
21281
+ }
21282
+ const arg = normalized.slice(5).trim();
21283
+ const window = arg === "today" || arg === "week" || arg === "month" || arg === "all" ? arg : "week";
21284
+ const { startMs, endMs } = resolveWindow(window);
21285
+ return {
21286
+ shouldContinue: false,
21287
+ reply: { text: formatSummaryReport(await loadCostBenchmarkSummary({
21288
+ startMs,
21289
+ endMs,
21290
+ config: params.cfg,
21291
+ agentId: params.agentId
21292
+ }), `${window.charAt(0).toUpperCase()}${window.slice(1)}`) }
21293
+ };
21294
+ };
21228
21295
  const handleContextCommand = async (params, allowTextCommands) => {
21229
21296
  if (!allowTextCommands) return null;
21230
21297
  const normalized = params.command.commandBodyNormalized;
@@ -22831,6 +22898,7 @@ async function handleCommands(params) {
22831
22898
  handleHelpCommand,
22832
22899
  handleCommandsListCommand,
22833
22900
  handleStatusCommand,
22901
+ handleCostCommand,
22834
22902
  handleAllowlistCommand,
22835
22903
  handleApproveCommand,
22836
22904
  handleContextCommand,
@@ -29612,6 +29680,32 @@ function createSessionStatusTool(opts) {
29612
29680
  }
29613
29681
  } catch {}
29614
29682
  const groupActivation = resolved.entry.chatType === "group" || resolved.entry.chatType === "channel" || resolved.key.includes(":group:") || resolved.key.includes(":channel:") ? normalizeGroupActivation(resolved.entry.groupActivation) ?? "mention" : void 0;
29683
+ const baseUrl = cfg.models?.providers?.[providerForCard]?.baseUrl;
29684
+ let engineLine;
29685
+ let hardwareLine;
29686
+ let costOverrideUsd;
29687
+ let costLineSuffix;
29688
+ try {
29689
+ const breakdown = await buildCostBreakdown({
29690
+ baseUrl,
29691
+ provider: providerForCard,
29692
+ modelId: configured.model,
29693
+ config: cfg,
29694
+ usage: {
29695
+ input: resolved.entry.inputTokens,
29696
+ output: resolved.entry.outputTokens
29697
+ }
29698
+ });
29699
+ engineLine = breakdown.engineLine;
29700
+ hardwareLine = breakdown.hardwareLine;
29701
+ costOverrideUsd = breakdown.instanceCostUsd;
29702
+ costLineSuffix = breakdown.costLineSuffix;
29703
+ } catch {
29704
+ engineLine = void 0;
29705
+ hardwareLine = void 0;
29706
+ costOverrideUsd = void 0;
29707
+ costLineSuffix = void 0;
29708
+ }
29615
29709
  const queueSettings = resolveQueueSettings({
29616
29710
  cfg,
29617
29711
  channel: resolved.entry.channel ?? resolved.entry.lastChannel ?? "unknown",
@@ -29657,6 +29751,10 @@ function createSessionStatusTool(opts) {
29657
29751
  dropPolicy: queueSettings.dropPolicy,
29658
29752
  showDetails: queueOverrides
29659
29753
  },
29754
+ engineLine,
29755
+ hardwareLine,
29756
+ costOverrideUsd,
29757
+ costLineSuffix,
29660
29758
  includeTranscriptUsage: false
29661
29759
  });
29662
29760
  return {
@@ -32941,6 +33039,86 @@ async function handleInlineActions(params) {
32941
33039
  };
32942
33040
  }
32943
33041
 
33042
+ //#endregion
33043
+ //#region src/auto-reply/reply/middleware-context-warning.ts
33044
+ /** Threshold (fraction of context window) that triggers the soft warning. */
33045
+ const CONTEXT_WARNING_THRESHOLD = .85;
33046
+ /**
33047
+ * Threshold that triggers proactive compaction in `prepareReplyTurn`.
33048
+ * Higher than the soft warning so the user sees the heads-up first;
33049
+ * compaction runs the next turn the threshold is observed.
33050
+ */
33051
+ const CONTEXT_PROACTIVE_COMPACT_THRESHOLD = .9;
33052
+ /**
33053
+ * Pure decision for "should `prepareReplyTurn` run proactive compaction
33054
+ * before the next turn?" — extracted so the trigger logic is unit-testable
33055
+ * without mocking the rest of the prep pipeline.
33056
+ *
33057
+ * Returns true ONLY when:
33058
+ * - we have a session id (otherwise compaction has no target),
33059
+ * - we have a positive context window,
33060
+ * - we have a positive cumulative usage from the previous turn,
33061
+ * - usage / window ≥ CONTEXT_PROACTIVE_COMPACT_THRESHOLD.
33062
+ */
33063
+ function shouldProactivelyCompact(args) {
33064
+ if (!args.sessionId) return false;
33065
+ if (!args.contextTokens || args.contextTokens <= 0) return false;
33066
+ const usage = args.totalTokens ?? 0;
33067
+ if (usage <= 0) return false;
33068
+ return usage / args.contextTokens >= CONTEXT_PROACTIVE_COMPACT_THRESHOLD;
33069
+ }
33070
+ /**
33071
+ * Read the model's context-window size, falling back to the global
33072
+ * default when the model isn't in the registry yet.
33073
+ */
33074
+ function resolveContextWindow(modelId) {
33075
+ const fromRegistry = lookupContextTokens(modelId);
33076
+ if (fromRegistry && fromRegistry > 0) return fromRegistry;
33077
+ return DEFAULT_CONTEXT_TOKENS;
33078
+ }
33079
+ /**
33080
+ * After-turn hook that surfaces a one-time soft warning when usage
33081
+ * crosses the context threshold. Mutates the result text to append
33082
+ * the warning when triggered, and persists `contextWarningSent: true`
33083
+ * on the session entry so the warning doesn't fire again.
33084
+ */
33085
+ function withContextUsageWarning() {
33086
+ return (next) => async (params) => {
33087
+ const result = await next(params);
33088
+ if (result.outbound.action === "drop") return result;
33089
+ if (!params.sessionKey) return result;
33090
+ const usage = result.rawResult.meta.agentMeta?.usage?.total ?? 0;
33091
+ if (usage <= 0) return result;
33092
+ if (usage / resolveContextWindow(params.modelId ?? result.modelId) < CONTEXT_WARNING_THRESHOLD) return result;
33093
+ const agentId = resolveAgentIdFromSessionKey(params.sessionKey);
33094
+ const storePath = resolveStorePath(params.config.session?.store, { agentId });
33095
+ let alreadyWarned = false;
33096
+ try {
33097
+ await updateSessionStoreEntry({
33098
+ storePath,
33099
+ sessionKey: params.sessionKey,
33100
+ update: async (entry) => {
33101
+ if (entry.contextWarningSent === true) {
33102
+ alreadyWarned = true;
33103
+ return null;
33104
+ }
33105
+ return { contextWarningSent: true };
33106
+ }
33107
+ });
33108
+ } catch (err) {
33109
+ logVerbose(`context-warning: failed to persist contextWarningSent flag for ${params.sessionKey}: ${String(err)}`);
33110
+ return result;
33111
+ }
33112
+ if (alreadyWarned) return result;
33113
+ const trimmedText = result.text.trimEnd();
33114
+ const separator = trimmedText ? "\n\n" : "";
33115
+ return {
33116
+ ...result,
33117
+ text: `${trimmedText}${separator}${SESSION_CONTEXT_WARNING_MESSAGE}`
33118
+ };
33119
+ };
33120
+ }
33121
+
32944
33122
  //#endregion
32945
33123
  //#region src/auto-reply/reply/session-reset-model.ts
32946
33124
  function splitBody(body) {
@@ -33110,7 +33288,7 @@ async function deliverSessionMaintenanceWarning(params) {
33110
33288
  return;
33111
33289
  }
33112
33290
  try {
33113
- const { deliverOutboundPayloads } = await import("./deliver-DB4v0Tyl.js").then((n) => n.n);
33291
+ const { deliverOutboundPayloads } = await import("./deliver-C81eqdrP.js").then((n) => n.n);
33114
33292
  await deliverOutboundPayloads({
33115
33293
  cfg: params.cfg,
33116
33294
  channel,
@@ -33837,7 +34015,7 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
33837
34015
  typing.cleanup();
33838
34016
  return {
33839
34017
  kind: "early-reply",
33840
- reply: { text: SESSION_OVERFLOW_MESSAGE }
34018
+ reply: { text: SESSION_COMPACTION_FAILED_MESSAGE }
33841
34019
  };
33842
34020
  }
33843
34021
  await applyResetModelOverride({
@@ -33950,6 +34128,82 @@ async function prepareReplyTurn(ctx, opts, configOverride) {
33950
34128
  };
33951
34129
  directives = inlineActionResult.directives;
33952
34130
  abortedLastRun = inlineActionResult.abortedLastRun ?? abortedLastRun;
34131
+ if (shouldProactivelyCompact({
34132
+ totalTokens: sessionEntry.totalTokens,
34133
+ contextTokens,
34134
+ sessionId: sessionEntry.sessionId
34135
+ })) {
34136
+ if (resolvedOpts?.onBlockReply) try {
34137
+ await resolvedOpts.onBlockReply({ text: SESSION_COMPACTING_MESSAGE });
34138
+ } catch (err) {
34139
+ logVerbose(`proactive-compact: inline status delivery failed: ${String(err)}`);
34140
+ }
34141
+ if (isEmbeddedPiRunActive(sessionEntry.sessionId)) {
34142
+ abortEmbeddedPiRun(sessionEntry.sessionId);
34143
+ await waitForEmbeddedPiRunEnd(sessionEntry.sessionId, 15e3);
34144
+ }
34145
+ let compactResult;
34146
+ try {
34147
+ compactResult = await compactEmbeddedPiSession({
34148
+ sessionId: sessionEntry.sessionId,
34149
+ sessionKey,
34150
+ messageChannel: command.channel,
34151
+ groupId: sessionEntry.groupId,
34152
+ groupChannel: sessionEntry.groupChannel,
34153
+ groupSpace: sessionEntry.space,
34154
+ spawnedBy: sessionEntry.spawnedBy,
34155
+ sessionFile: resolveSessionFilePath(sessionEntry.sessionId, sessionEntry, resolveSessionFilePathOptions({
34156
+ agentId,
34157
+ storePath
34158
+ })),
34159
+ workspaceDir,
34160
+ agentDir,
34161
+ config: cfg,
34162
+ skillsSnapshot: sessionEntry.skillsSnapshot,
34163
+ provider,
34164
+ model,
34165
+ thinkLevel: resolvedThinkLevel,
34166
+ reasoningLevel: resolvedReasoningLevel,
34167
+ trigger: "overflow",
34168
+ senderIsOwner: command.senderIsOwner,
34169
+ ownerNumbers: command.ownerList.length > 0 ? command.ownerList : void 0
34170
+ });
34171
+ } catch (err) {
34172
+ logVerbose(`proactive-compact: compactor threw for ${sessionKey}: ${String(err)}`);
34173
+ compactResult = {
34174
+ ok: false,
34175
+ compacted: false,
34176
+ reason: String(err)
34177
+ };
34178
+ }
34179
+ if (compactResult.ok && compactResult.compacted) await incrementCompactionCount({
34180
+ sessionEntry,
34181
+ sessionStore,
34182
+ sessionKey,
34183
+ storePath,
34184
+ tokensAfter: compactResult.result?.tokensAfter
34185
+ });
34186
+ else {
34187
+ logVerbose(`proactive-compact: failed for ${sessionKey} (${compactResult.reason ?? "unknown"})`);
34188
+ if (storePath) try {
34189
+ await updateSessionStoreEntry({
34190
+ storePath,
34191
+ sessionKey,
34192
+ update: async (entry) => {
34193
+ if (entry.endedReason === "context_overflow") return null;
34194
+ return { endedReason: "context_overflow" };
34195
+ }
34196
+ });
34197
+ } catch (err) {
34198
+ logVerbose(`proactive-compact: failed to mark session sealed: ${String(err)}`);
34199
+ }
34200
+ typing.cleanup();
34201
+ return {
34202
+ kind: "early-reply",
34203
+ reply: { text: SESSION_COMPACTION_FAILED_MESSAGE }
34204
+ };
34205
+ }
34206
+ }
33953
34207
  await stageSandboxMedia({
33954
34208
  ctx,
33955
34209
  sessionCtx,
@@ -34378,8 +34632,8 @@ function extractErrorMessage(err) {
34378
34632
  function buildBoundaryResult(params) {
34379
34633
  const profile = resolveModelProfile(params.provider && params.modelId ? `${params.provider}/${params.modelId}` : "", params.config.models?.profiles);
34380
34634
  return {
34381
- text: SESSION_OVERFLOW_MESSAGE,
34382
- rawText: SESSION_OVERFLOW_MESSAGE,
34635
+ text: SESSION_COMPACTION_FAILED_MESSAGE,
34636
+ rawText: SESSION_COMPACTION_FAILED_MESSAGE,
34383
34637
  outbound: {
34384
34638
  action: "deliver",
34385
34639
  reason: "deliver"
@@ -34390,7 +34644,7 @@ function buildBoundaryResult(params) {
34390
34644
  profile,
34391
34645
  didSendViaMessagingTool: false,
34392
34646
  rawResult: {
34393
- payloads: [{ text: SESSION_OVERFLOW_MESSAGE }],
34647
+ payloads: [{ text: SESSION_COMPACTION_FAILED_MESSAGE }],
34394
34648
  meta: {
34395
34649
  durationMs: Date.now() - params.startTime,
34396
34650
  agentMeta: {
@@ -34449,62 +34703,6 @@ function withContextOverflowRecovery() {
34449
34703
  };
34450
34704
  }
34451
34705
 
34452
- //#endregion
34453
- //#region src/auto-reply/reply/middleware-context-warning.ts
34454
- /** Threshold (fraction of context window) that triggers the soft warning. */
34455
- const CONTEXT_WARNING_THRESHOLD = .85;
34456
- /**
34457
- * Read the model's context-window size, falling back to the global
34458
- * default when the model isn't in the registry yet.
34459
- */
34460
- function resolveContextWindow(modelId) {
34461
- const fromRegistry = lookupContextTokens(modelId);
34462
- if (fromRegistry && fromRegistry > 0) return fromRegistry;
34463
- return DEFAULT_CONTEXT_TOKENS;
34464
- }
34465
- /**
34466
- * After-turn hook that surfaces a one-time soft warning when usage
34467
- * crosses the context threshold. Mutates the result text to append
34468
- * the warning when triggered, and persists `contextWarningSent: true`
34469
- * on the session entry so the warning doesn't fire again.
34470
- */
34471
- function withContextUsageWarning() {
34472
- return (next) => async (params) => {
34473
- const result = await next(params);
34474
- if (result.outbound.action === "drop") return result;
34475
- if (!params.sessionKey) return result;
34476
- const usage = result.rawResult.meta.agentMeta?.usage?.total ?? 0;
34477
- if (usage <= 0) return result;
34478
- if (usage / resolveContextWindow(params.modelId ?? result.modelId) < CONTEXT_WARNING_THRESHOLD) return result;
34479
- const agentId = resolveAgentIdFromSessionKey(params.sessionKey);
34480
- const storePath = resolveStorePath(params.config.session?.store, { agentId });
34481
- let alreadyWarned = false;
34482
- try {
34483
- await updateSessionStoreEntry({
34484
- storePath,
34485
- sessionKey: params.sessionKey,
34486
- update: async (entry) => {
34487
- if (entry.contextWarningSent === true) {
34488
- alreadyWarned = true;
34489
- return null;
34490
- }
34491
- return { contextWarningSent: true };
34492
- }
34493
- });
34494
- } catch (err) {
34495
- logVerbose(`context-warning: failed to persist contextWarningSent flag for ${params.sessionKey}: ${String(err)}`);
34496
- return result;
34497
- }
34498
- if (alreadyWarned) return result;
34499
- const trimmedText = result.text.trimEnd();
34500
- const separator = trimmedText ? "\n\n" : "";
34501
- return {
34502
- ...result,
34503
- text: `${trimmedText}${separator}${SESSION_CONTEXT_WARNING_MESSAGE}`
34504
- };
34505
- };
34506
- }
34507
-
34508
34706
  //#endregion
34509
34707
  //#region src/auto-reply/reply/middleware-diagnostic-logging.ts
34510
34708
  function deriveChannel(ctx) {
@@ -38876,7 +39074,7 @@ function readSlackExternalArgMenuToken(raw) {
38876
39074
  }
38877
39075
  let commandsRegistry;
38878
39076
  async function getCommandsRegistry() {
38879
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-VfAQOVZO.js").then((n) => n.t);
39077
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C2Hvwjym.js").then((n) => n.t);
38880
39078
  return commandsRegistry;
38881
39079
  }
38882
39080
  function encodeSlackCommandArgValue(parts) {
@@ -39218,7 +39416,7 @@ async function registerSlackMonitorSlashCommands(params) {
39218
39416
  const channelName = channelInfo?.name;
39219
39417
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
39220
39418
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
39221
- import("./resolve-route-Zww0Y-HJ.js").then((n) => n.r),
39419
+ import("./resolve-route-CnTdHVgw.js").then((n) => n.r),
39222
39420
  import("./inbound-context-B7Rvs8pK.js").then((n) => n.n),
39223
39421
  Promise.resolve().then(() => provider_dispatcher_exports)
39224
39422
  ]);
@@ -39279,7 +39477,7 @@ async function registerSlackMonitorSlashCommands(params) {
39279
39477
  });
39280
39478
  const deliverSlashPayloads = async (replies) => {
39281
39479
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
39282
- import("./replies-B91-OngF.js").then((n) => n.r),
39480
+ import("./replies-C5CBlnFS.js").then((n) => n.r),
39283
39481
  import("./chunk-BxfKjCUx.js").then((n) => n.s),
39284
39482
  import("./markdown-tables-CS1Tvb3z.js").then((n) => n.t)
39285
39483
  ]);
@@ -39334,7 +39532,7 @@ async function registerSlackMonitorSlashCommands(params) {
39334
39532
  let nativeCommands = [];
39335
39533
  if (nativeEnabled) {
39336
39534
  reg = await getCommandsRegistry();
39337
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-yPirQFOb.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
39535
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-KnANH5Qm.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
39338
39536
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
39339
39537
  skillCommands,
39340
39538
  provider: "slack"
@@ -49024,7 +49222,7 @@ async function runEmbeddedPiAgent(params) {
49024
49222
  error: err
49025
49223
  });
49026
49224
  }
49027
- const MAX_OVERFLOW_COMPACTION_ATTEMPTS = 3;
49225
+ const MAX_OVERFLOW_COMPACTION_ATTEMPTS = 1;
49028
49226
  const MAX_RUN_LOOP_ITERATIONS = resolveMaxRunRetryIterations(profileCandidates.length);
49029
49227
  let overflowCompactionAttempts = 0;
49030
49228
  let toolResultTruncationAttempted = false;
@@ -49778,4 +49976,4 @@ async function runAgentTurn(params) {
49778
49976
  }
49779
49977
 
49780
49978
  //#endregion
49781
- export { isExternalHookSession as $, emitAgentEvent as $t, resolveSessionDeliveryTarget as A, resolveFailoverStatus as An, resolveInputFileLimits as At, normalizeOptionalSessionKey as B, countActiveDescendantRuns as Bt, symi_tools_exports as C, CommandLane as Cn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Ct, ensureOutboundSessionEntry as D, runWithModelFallback as Dn, extractFileContentFromSource as Dt, runMessageAction as E, composeTurnMiddleware as En, DEFAULT_INPUT_TIMEOUT_MS as Et, normalizeHttpWebhookUrl as F, normalizeGroupActivation as Ft, buildDeliveryFromLegacyPayload as G, subagent_registry_exports as Gt, normalizePayloadToSystemText as H, initSubagentRegistry as Ht, normalizeCronJobCreate as I, clearSessionAuthProfileOverride as It, CHANNEL_TARGETS_DESCRIPTION as J, readLatestAssistantReply as Jt, hasLegacyDeliveryHints as K, resolveAgentTimeoutMs as Kt, normalizeCronJobPatch as L, formatZonedTimestamp as Lt, formatTargetDisplay as M, applyTemplate as Mt, resetDirectoryCache as N, prepareAgentRun as Nt, resolveOutboundSessionRoute as O, FailoverError as On, extractImageContentFromSource as Ot, CHANNEL_MESSAGE_ACTION_NAMES as P, BARE_SESSION_RESET_PROMPT as Pt, getHookType as Q, clearAgentRunContext as Qt, inferLegacyName as R, isAbortTrigger as Rt, createSymiTools as S, waitForActiveTasks as Sn, parseVerboseOverride as St, resolveAnnounceTargetFromKey as T, resolveModelProfile as Tn, DEFAULT_INPUT_MAX_REDIRECTS as Tt, normalizeRequiredName as U, listDescendantRunsForRequester as Ut, normalizeOptionalText as V, countActiveRunsForSession as Vt, migrateLegacyCronPayload as W, listSubagentRunsForRequester as Wt, buildSafeExternalPrompt as X, AGENT_LANE_SUBAGENT as Xt, CHANNEL_TARGET_DESCRIPTION as Y, AGENT_LANE_NESTED as Yt, detectSuspiciousPatterns as Z, clearSessionQueues as Zt, withContextUsageWarning as _, resolveRunWorkspaceDir as _n, DEFAULT_OAUTH_WARN_MS as _t, getPluginToolMeta as a, getActiveEmbeddedRunCount as an, isGatewaySigusr1RestartExternallyAllowed as at, buildAgentTurnParams as b, resetAllLanes as bn, applyModelOverrideToSessionEntry as bt, handleSlackHttpRequest as c, registerUnhandledRejectionHandler as cn, setGatewaySigusr1RestartPolicy as ct, buildHistoryContextFromEntries as d, formatUserTime as dn, resolveCommitHash as dt, getAgentRunContext as en, applyBrowserProxyPaths as et, getChannelActivity as f, resolveUserTimeFormat as fn, getProcessSupervisor as ft, buildGlassUiProfile as g, redactRunIdentifier as gn, maskApiKey as gt, getTotalPendingReplies as h, resolveBootstrapContextForRun as hn, resolveSendPolicy as ht, sniffMimeFromBase64 as i, abortEmbeddedPiRun as in, emitGatewayRestart as it, normalizePollInput as j, estimateBase64DecodedBytes as jt, resolveOutboundTarget as k, describeFailoverError as kn, normalizeMimeList as kt, readJsonBodyWithLimit as l, ToolInputError as ln, setPreRestartDeferralCheck as lt, createReplyDispatcher as m, makeBootstrapWarn as mn, normalizeSendPolicy as mt, applyToolPolicyPipeline as n, registerAgentRunContext as nn, consumeGatewaySigusr1RestartAuthorization as nt, createPluginLoaderLogger as o, waitForEmbeddedPiRunEnd as on, markGatewaySigusr1RestartHandled as ot, provider_dispatcher_exports as p, resolveUserTimezone as pn, detectRuntimeShell as pt, stripLegacyDeliveryFields as q, runSubagentAnnounceFlow as qt, buildDefaultToolPolicyPipelineSteps as r, buildAgentSystemPrompt as rn, deferGatewayRestartUntilIdle as rt, loadSymiPlugins as s, installUnhandledRejectionHandler as sn, scheduleGatewaySigusr1Restart as st, runAgentTurn as t, onAgentEvent as tn, persistBrowserProxyFiles as tt, requestBodyErrorToText as u, resolveSymiDocsPath as un, buildSystemPromptParams as ut, withContextOverflowRecovery as v, getActiveTaskCount as vn, buildAuthHealthSummary as vt, listTasksInWorkdir as w, classifyOutboundMessage as wn, DEFAULT_INPUT_IMAGE_MIMES as wt, prepareReplyTurn as x, setCommandLaneConcurrency as xn, applyVerboseOverride as xt, runUnifiedTurn as y, getTotalQueueSize as yn, formatRemainingShort as yt, normalizeOptionalAgentId as z, stopSubagentsForRequester as zt };
49979
+ export { isExternalHookSession as $, emitAgentEvent as $t, resolveSessionDeliveryTarget as A, resolveFailoverStatus as An, resolveInputFileLimits as At, normalizeOptionalSessionKey as B, countActiveDescendantRuns as Bt, symi_tools_exports as C, CommandLane as Cn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Ct, ensureOutboundSessionEntry as D, runWithModelFallback as Dn, extractFileContentFromSource as Dt, runMessageAction as E, composeTurnMiddleware as En, DEFAULT_INPUT_TIMEOUT_MS as Et, normalizeHttpWebhookUrl as F, normalizeGroupActivation as Ft, buildDeliveryFromLegacyPayload as G, subagent_registry_exports as Gt, normalizePayloadToSystemText as H, initSubagentRegistry as Ht, normalizeCronJobCreate as I, clearSessionAuthProfileOverride as It, CHANNEL_TARGETS_DESCRIPTION as J, readLatestAssistantReply as Jt, hasLegacyDeliveryHints as K, resolveAgentTimeoutMs as Kt, normalizeCronJobPatch as L, formatZonedTimestamp as Lt, formatTargetDisplay as M, applyTemplate as Mt, resetDirectoryCache as N, prepareAgentRun as Nt, resolveOutboundSessionRoute as O, FailoverError as On, extractImageContentFromSource as Ot, CHANNEL_MESSAGE_ACTION_NAMES as P, BARE_SESSION_RESET_PROMPT as Pt, getHookType as Q, clearAgentRunContext as Qt, inferLegacyName as R, isAbortTrigger as Rt, createSymiTools as S, waitForActiveTasks as Sn, parseVerboseOverride as St, resolveAnnounceTargetFromKey as T, resolveModelProfile as Tn, DEFAULT_INPUT_MAX_REDIRECTS as Tt, normalizeRequiredName as U, listDescendantRunsForRequester as Ut, normalizeOptionalText as V, countActiveRunsForSession as Vt, migrateLegacyCronPayload as W, listSubagentRunsForRequester as Wt, buildSafeExternalPrompt as X, AGENT_LANE_SUBAGENT as Xt, CHANNEL_TARGET_DESCRIPTION as Y, AGENT_LANE_NESTED as Yt, detectSuspiciousPatterns as Z, clearSessionQueues as Zt, withContextOverflowRecovery as _, resolveRunWorkspaceDir as _n, DEFAULT_OAUTH_WARN_MS as _t, getPluginToolMeta as a, getActiveEmbeddedRunCount as an, isGatewaySigusr1RestartExternallyAllowed as at, prepareReplyTurn as b, resetAllLanes as bn, applyModelOverrideToSessionEntry as bt, handleSlackHttpRequest as c, registerUnhandledRejectionHandler as cn, setGatewaySigusr1RestartPolicy as ct, buildHistoryContextFromEntries as d, formatUserTime as dn, resolveCommitHash as dt, getAgentRunContext as en, applyBrowserProxyPaths as et, getChannelActivity as f, resolveUserTimeFormat as fn, getProcessSupervisor as ft, buildGlassUiProfile as g, redactRunIdentifier as gn, maskApiKey as gt, getTotalPendingReplies as h, resolveBootstrapContextForRun as hn, resolveSendPolicy as ht, sniffMimeFromBase64 as i, abortEmbeddedPiRun as in, emitGatewayRestart as it, normalizePollInput as j, estimateBase64DecodedBytes as jt, resolveOutboundTarget as k, describeFailoverError as kn, normalizeMimeList as kt, readJsonBodyWithLimit as l, ToolInputError as ln, setPreRestartDeferralCheck as lt, createReplyDispatcher as m, makeBootstrapWarn as mn, normalizeSendPolicy as mt, applyToolPolicyPipeline as n, registerAgentRunContext as nn, consumeGatewaySigusr1RestartAuthorization as nt, createPluginLoaderLogger as o, waitForEmbeddedPiRunEnd as on, markGatewaySigusr1RestartHandled as ot, provider_dispatcher_exports as p, resolveUserTimezone as pn, detectRuntimeShell as pt, stripLegacyDeliveryFields as q, runSubagentAnnounceFlow as qt, buildDefaultToolPolicyPipelineSteps as r, buildAgentSystemPrompt as rn, deferGatewayRestartUntilIdle as rt, loadSymiPlugins as s, installUnhandledRejectionHandler as sn, scheduleGatewaySigusr1Restart as st, runAgentTurn as t, onAgentEvent as tn, persistBrowserProxyFiles as tt, requestBodyErrorToText as u, resolveSymiDocsPath as un, buildSystemPromptParams as ut, runUnifiedTurn as v, getActiveTaskCount as vn, buildAuthHealthSummary as vt, listTasksInWorkdir as w, classifyOutboundMessage as wn, DEFAULT_INPUT_IMAGE_MIMES as wt, withContextUsageWarning as x, setCommandLaneConcurrency as xn, applyVerboseOverride as xt, buildAgentTurnParams as y, getTotalQueueSize as yn, formatRemainingShort as yt, normalizeOptionalAgentId as z, stopSubagentsForRequester as zt };