@symerian/symi 2.4.0 → 2.4.2

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 (111) hide show
  1. package/dist/{agents-CI3xxYc_.js → agents-BrpbYYTb.js} +4 -4
  2. package/dist/{agents.config-DCE3RGr9.js → agents.config-Bf8u_0ts.js} +1 -1
  3. package/dist/{agents.config-DTUAM1AG.js → agents.config-j4SWyB6K.js} +1 -1
  4. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  5. package/dist/{auth-choice-IiIysHGO.js → auth-choice-BYB9fJiu.js} +1 -1
  6. package/dist/{auth-choice-DuQwRfJc.js → auth-choice-DlrjQI-v.js} +1 -1
  7. package/dist/{banner-xhDZu_ZJ.js → banner-DRJJmkv1.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +1 -1
  10. package/dist/bundled/session-memory/handler.js +1 -1
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-D3gGVwBd.js → channel-options-BQz0F4El.js} +1 -1
  13. package/dist/{channel-options-Dvxd7eJY.js → channel-options-CxSIp3x-.js} +1 -1
  14. package/dist/{channel-web-a5tX1YI3.js → channel-web-BY4lhNxW.js} +1 -1
  15. package/dist/{channels-cli-C9wBYmDe.js → channels-cli--rkhLJvR.js} +4 -4
  16. package/dist/{channels-cli-BLUkl5Li.js → channels-cli-B5Nj_nHr.js} +4 -4
  17. package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
  18. package/dist/{cli-Cw45F0yJ.js → cli-CATf6JAq.js} +1 -1
  19. package/dist/{cli-CaEE46xi.js → cli-Ds6poYQ6.js} +1 -1
  20. package/dist/{command-registry-ea9SD1eA.js → command-registry-CsDAPQfS.js} +9 -9
  21. package/dist/{completion-cli-CMJmUQbI.js → completion-cli-B_f5PMBc.js} +1 -1
  22. package/dist/{completion-cli-DVkiEAEA.js → completion-cli-CSdjFWHy.js} +2 -2
  23. package/dist/{config-cli-B2d28_hb.js → config-cli-B_KCvdli.js} +1 -1
  24. package/dist/{config-cli-VIg0PSyq.js → config-cli-C_GarUko.js} +1 -1
  25. package/dist/{configure-C_TVBt76.js → configure-CM-z8YCS.js} +3 -3
  26. package/dist/{configure-D-3FiJbK.js → configure-vfmJApU8.js} +3 -3
  27. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  28. package/dist/{doctor-completion-CJHJYIwQ.js → doctor-completion-BWJvfjTC.js} +1 -1
  29. package/dist/{doctor-completion-DeRX6gkI.js → doctor-completion-llX6EnGy.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +6 -6
  32. package/dist/{gateway-cli-BDDHBfYP.js → gateway-cli-70k2-I4K.js} +20 -16
  33. package/dist/{gateway-cli-DiDJ6Z2d.js → gateway-cli-BApdH1bD.js} +20 -16
  34. package/dist/{glass-ui-ws-Bj1IuJXt.js → glass-ui-ws-Be_AOhp7.js} +7 -7
  35. package/dist/{glass-ui-ws-rGIAkViC.js → glass-ui-ws-Z_wtGa_A.js} +7 -7
  36. package/dist/{health-CypF_2ZD.js → health-BBGgp_dC.js} +1 -1
  37. package/dist/{health-Bst5HnLF.js → health-BmaWws9G.js} +1 -1
  38. package/dist/{hooks-cli-CfsqqxPX.js → hooks-cli-C5eV9sxP.js} +2 -2
  39. package/dist/{hooks-cli-CDMcqTy4.js → hooks-cli-W_aoP9nb.js} +2 -2
  40. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  41. package/dist/index.js +6 -6
  42. package/dist/llm-slug-generator.js +1 -1
  43. package/dist/{models-ZEOGlFx7.js → models-COaQWNz5.js} +2 -2
  44. package/dist/{models-cli-BM1QyeXr.js → models-cli-DH17yK8M.js} +3 -3
  45. package/dist/{models-cli-BwOQhZ_c.js → models-cli-DeG1qheS.js} +2 -2
  46. package/dist/{onboard-CU-pntZD.js → onboard-1wGdR0wt.js} +2 -2
  47. package/dist/{onboard-channels-g5cvwJpx.js → onboard-channels-BCUkNB26.js} +1 -1
  48. package/dist/{onboard-channels-BOBxxhHX.js → onboard-channels-D93AAHMd.js} +1 -1
  49. package/dist/{onboard-DQ34giB5.js → onboard-nQYq_dsr.js} +2 -2
  50. package/dist/{onboarding-DWs6tHZ9.js → onboarding-Peg7PNOz.js} +3 -3
  51. package/dist/{onboarding-CXWUjdM5.js → onboarding-gQRA57l_.js} +3 -3
  52. package/dist/{onboarding.finalize-CAYf88mf.js → onboarding.finalize-C4DSBMrV.js} +6 -6
  53. package/dist/{onboarding.finalize-vupGASMK.js → onboarding.finalize-D26o-hBA.js} +5 -5
  54. package/dist/{pi-embedded-DwbQz0MC.js → pi-embedded-CfxhTbYF.js} +108 -16
  55. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  56. package/dist/{pi-embedded-CJsSOG2j.js → pi-embedded-k69DSy1Y.js} +94 -2
  57. package/dist/{plugin-registry-CZeHSx_c.js → plugin-registry-C0iHnZ7j.js} +1 -1
  58. package/dist/{plugin-registry-BDpdOTei.js → plugin-registry-D_BAH1V5.js} +1 -1
  59. package/dist/plugin-sdk/agents/pi-embedded-runner/extra-params.d.ts +6 -0
  60. package/dist/plugin-sdk/agents/stream-monitor.d.ts +62 -0
  61. package/dist/plugin-sdk/{channel-web-uUypcT9Q.js → channel-web-ilY3YUmF.js} +1 -1
  62. package/dist/plugin-sdk/index.js +2 -2
  63. package/dist/plugin-sdk/{reply-DTKTuCrn.js → reply-CSgeVqcV.js} +94 -2
  64. package/dist/plugin-sdk/{web-Dh6Youzv.js → web-BVg5EjiY.js} +2 -2
  65. package/dist/{plugins-cli-CCQ3skeQ.js → plugins-cli-BhOXY_Ay.js} +2 -2
  66. package/dist/{plugins-cli-D_RzeRoE.js → plugins-cli-LqQNHF1I.js} +2 -2
  67. package/dist/{program-Cl9i8ubQ.js → program-Bx47hl_J.js} +7 -7
  68. package/dist/{program-context-BbmYGW-V.js → program-context-JFmxYLfK.js} +17 -17
  69. package/dist/{prompt-select-styled-BfuyvChh.js → prompt-select-styled--d3H0JCo.js} +4 -4
  70. package/dist/{prompt-select-styled-BN0T6GxF.js → prompt-select-styled-BeJhp9PS.js} +4 -4
  71. package/dist/{provider-auth-helpers-CkmLFHXL.js → provider-auth-helpers-BzczCfh8.js} +1 -1
  72. package/dist/{provider-auth-helpers-CuT5EHza.js → provider-auth-helpers-Ds_HwlgY.js} +1 -1
  73. package/dist/{push-apns-DeJt9kAO.js → push-apns-CT8-VcK5.js} +1 -1
  74. package/dist/{push-apns-CFkFVwEz.js → push-apns-DvcqkHld.js} +1 -1
  75. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  76. package/dist/{register.agent-BQm4YmZp.js → register.agent-DMvHFw16.js} +6 -6
  77. package/dist/{register.agent-BygseJ7t.js → register.agent-yoXoJ_5O.js} +5 -5
  78. package/dist/{register.configure-Cj95vB2U.js → register.configure-B8UDTEcS.js} +6 -6
  79. package/dist/{register.configure-C2fhjZze.js → register.configure-BqrNBkwZ.js} +6 -6
  80. package/dist/{register.maintenance-CClfXq5e.js → register.maintenance-CYhp47Hs.js} +8 -8
  81. package/dist/{register.maintenance-K1x3E7OS.js → register.maintenance-CvaHYkoX.js} +7 -7
  82. package/dist/{register.message-BSr-kUvJ.js → register.message-BnLBwUw9.js} +2 -2
  83. package/dist/{register.message-CSRzBl-c.js → register.message-CgtrjEFw.js} +2 -2
  84. package/dist/{register.onboard-Bd6wPydW.js → register.onboard-CoySBEdQ.js} +4 -4
  85. package/dist/{register.onboard-TsU21RR7.js → register.onboard-mCscJN7t.js} +4 -4
  86. package/dist/{register.setup-DK-zsne2.js → register.setup-BmE-pwMT.js} +4 -4
  87. package/dist/{register.setup-C9gu0W5l.js → register.setup-CzrsIQMG.js} +4 -4
  88. package/dist/{register.status-health-sessions-DN5Ui3V0.js → register.status-health-sessions-CP7JWQHw.js} +3 -3
  89. package/dist/{register.status-health-sessions-rZsuoqtr.js → register.status-health-sessions-DhTfQ530.js} +3 -3
  90. package/dist/{register.subclis-DnzHFtLz.js → register.subclis-wsgQ6wk8.js} +9 -9
  91. package/dist/{reply-Ca3slrA3.js → reply-DkwaBRX-.js} +94 -2
  92. package/dist/{run-main-DlHh5iOO.js → run-main-mKcFqx7h.js} +14 -14
  93. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  94. package/dist/{server-methods-BYOkyf-q.js → server-methods-CbeCo-6O.js} +7 -7
  95. package/dist/{server-methods-b_Qod4tt.js → server-methods-EQ0JkHOg.js} +7 -7
  96. package/dist/{server-node-events-60nWpTh1.js → server-node-events-C1FDqJb9.js} +2 -2
  97. package/dist/{server-node-events-oU4Amei7.js → server-node-events-CBHpc_25.js} +2 -2
  98. package/dist/{status-BXW5l4sd.js → status-B1r3Wp0-.js} +2 -2
  99. package/dist/{status-D3-lP2_9.js → status-Cksz7z4T.js} +1 -1
  100. package/dist/{status-BxbbINLV.js → status-CnogoaI_.js} +2 -2
  101. package/dist/{status-kdz9P3tw.js → status-jVJSC_Ga.js} +1 -1
  102. package/dist/{subagent-registry-CbTbJKLs.js → subagent-registry-Jwg44JMf.js} +94 -2
  103. package/dist/{update-cli-Cy0gdWRf.js → update-cli-BEBDpJF4.js} +8 -8
  104. package/dist/{update-cli-B5TI650v.js → update-cli-C22V-tFW.js} +7 -7
  105. package/dist/{update-runner-Bacq0oLK.js → update-runner-BQg__DB5.js} +1 -1
  106. package/dist/{update-runner-B0NdgPvD.js → update-runner-le1Hcqx4.js} +1 -1
  107. package/dist/{web-DmED3zDP.js → web-BSs2eYJa.js} +2 -2
  108. package/dist/{web-D-oCzJTU.js → web-DajtZMaX.js} +1 -1
  109. package/dist/{web-DWNtg4iV.js → web-DolrvXij.js} +6 -6
  110. package/dist/{web-QVwKg99Q.js → web-kIIXN8hK.js} +1 -1
  111. package/package.json +1 -1
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import "./call-BcE47FtD.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-CbTbJKLs.js";
18
+ import "./subagent-registry-Jwg44JMf.js";
19
19
  import "./sessions-CJXnZVjR.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -104,27 +104,27 @@ import "./catalog-DLQFKucJ.js";
104
104
  import "./note-DDecZomM.js";
105
105
  import "./plugin-auto-enable-D6ENR3Xg.js";
106
106
  import "./channels-status-issues-c7qZbYG5.js";
107
- import "./register.subclis-DnzHFtLz.js";
108
- import "./command-registry-ea9SD1eA.js";
107
+ import "./register.subclis-wsgQ6wk8.js";
108
+ import "./command-registry-CsDAPQfS.js";
109
109
  import "./program-context-CqzR_m-7.js";
110
- import "./completion-cli-DVkiEAEA.js";
110
+ import "./completion-cli-CSdjFWHy.js";
111
111
  import "./daemon-runtime-CfRwa6qh.js";
112
112
  import "./runtime-guard-D7waq_Ho.js";
113
113
  import "./systemd-DlMdyFDY.js";
114
114
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
115
115
  import "./systemd-hints-sQipWGd1.js";
116
116
  import "./diagnostics-CS1ov_hH.js";
117
- import "./health-Bst5HnLF.js";
117
+ import "./health-BmaWws9G.js";
118
118
  import "./control-ui-assets-BseSWee1.js";
119
119
  import "./update-check-ZdimP1aU.js";
120
120
  import "./dm-policy-shared-DJ-61hCT.js";
121
- import "./update-runner-B0NdgPvD.js";
121
+ import "./update-runner-le1Hcqx4.js";
122
122
  import "./logging-BGewRZy0.js";
123
123
  import "./doctor-config-flow-CA3eiKhd.js";
124
124
  import "./systemd-linger-DA_LW52P.js";
125
125
  import "./health-format-CzgUHmmX.js";
126
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BN0T6GxF.js";
127
- import "./doctor-completion-DeRX6gkI.js";
126
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BeJhp9PS.js";
127
+ import "./doctor-completion-llX6EnGy.js";
128
128
  import path from "node:path";
129
129
  import fs from "node:fs/promises";
130
130
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, i as isNixMode, m as resolveOAuthDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, _ as resolveHomeDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-Ca3slrA3.js";
4
+ import "./reply-DkwaBRX-.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -103,30 +103,30 @@ import "./control-service-Bz7rxLWq.js";
103
103
  import "./stagger-BUClb97_.js";
104
104
  import "./channel-selection-DuWs0Aak.js";
105
105
  import "./runtime-guard-B37eizu-.js";
106
- import "./program-context-BbmYGW-V.js";
106
+ import "./program-context-JFmxYLfK.js";
107
107
  import "./catalog-RiADx7MA.js";
108
108
  import "./skills-status-CURJKnyY.js";
109
109
  import { t as copyToClipboard } from "./clipboard-Cg3cin13.js";
110
110
  import "./note-DeHoW7xO.js";
111
111
  import "./plugin-auto-enable-BzX1uAKy.js";
112
112
  import "./channels-status-issues-B_kBkl_u.js";
113
- import "./completion-cli-CMJmUQbI.js";
113
+ import "./completion-cli-B_f5PMBc.js";
114
114
  import "./daemon-runtime-2mwX-jqj.js";
115
115
  import "./systemd-riq8uNJQ.js";
116
116
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
117
117
  import "./systemd-hints-BR6gChwm.js";
118
118
  import "./diagnostics-BAMlsVVX.js";
119
- import "./health-CypF_2ZD.js";
119
+ import "./health-BBGgp_dC.js";
120
120
  import "./control-ui-assets-Z947tKLt.js";
121
121
  import "./update-check-CtckACbb.js";
122
122
  import "./dm-policy-shared-Bh3TbexU.js";
123
- import "./update-runner-Bacq0oLK.js";
123
+ import "./update-runner-BQg__DB5.js";
124
124
  import "./logging-BzzwiKjv.js";
125
125
  import "./doctor-config-flow-QnaBd8kL.js";
126
126
  import "./systemd-linger-aQ75ZlXY.js";
127
127
  import "./health-format-DSwnXZPU.js";
128
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BfuyvChh.js";
129
- import "./doctor-completion-CJHJYIwQ.js";
128
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled--d3H0JCo.js";
129
+ import "./doctor-completion-BWJvfjTC.js";
130
130
  import path from "node:path";
131
131
  import fs from "node:fs/promises";
132
132
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import { Bt as CHANNEL_TARGET_DESCRIPTION, M as createDefaultDeps, gt as CHANNEL_MESSAGE_ACTION_NAMES, j as createOutboundSendDeps, mt as formatTargetDisplay, st as runMessageAction, zt as CHANNEL_TARGETS_DESCRIPTION } from "./subagent-registry-CbTbJKLs.js";
16
+ import { Bt as CHANNEL_TARGET_DESCRIPTION, M as createDefaultDeps, gt as CHANNEL_MESSAGE_ACTION_NAMES, j as createOutboundSendDeps, mt as formatTargetDisplay, st as runMessageAction, zt as CHANNEL_TARGETS_DESCRIPTION } from "./subagent-registry-Jwg44JMf.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import { t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
@@ -97,7 +97,7 @@ import "./onboard-helpers-_pit1NZW.js";
97
97
  import "./prompt-style-DwCXob2h.js";
98
98
  import "./pairing-labels-D1HDboV2.js";
99
99
  import "./pi-tools.policy-De00gPXt.js";
100
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BDpdOTei.js";
100
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D_BAH1V5.js";
101
101
  import { t as collectOption } from "./helpers-ITexi1_a.js";
102
102
  import { t as renderTable } from "./table-D01d2GuY.js";
103
103
 
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, O as danger, P as setVerbose, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { A as formatTargetDisplay, Bt as createOutboundSendDeps, D as runMessageAction, M as CHANNEL_MESSAGE_ACTION_NAMES, Ut as createDefaultDeps, ct as CHANNEL_TARGET_DESCRIPTION, st as CHANNEL_TARGETS_DESCRIPTION } from "./reply-Ca3slrA3.js";
4
+ import { A as formatTargetDisplay, Bt as createOutboundSendDeps, D as runMessageAction, M as CHANNEL_MESSAGE_ACTION_NAMES, Ut as createDefaultDeps, ct as CHANNEL_TARGET_DESCRIPTION, st as CHANNEL_TARGETS_DESCRIPTION } from "./reply-DkwaBRX-.js";
5
5
  import { o as getChatChannelMeta, u as normalizeChatChannelId } from "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -102,7 +102,7 @@ import "./control-service-Bz7rxLWq.js";
102
102
  import "./stagger-BUClb97_.js";
103
103
  import "./channel-selection-DuWs0Aak.js";
104
104
  import { t as collectOption } from "./helpers-By2rxBQ5.js";
105
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CZeHSx_c.js";
105
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-C0iHnZ7j.js";
106
106
  import { t as renderTable } from "./table-BTgkRafz.js";
107
107
 
108
108
  //#region src/infra/outbound/format.ts
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-CbTbJKLs.js";
16
+ import "./subagent-registry-Jwg44JMf.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -103,8 +103,8 @@ import "./daemon-runtime-CfRwa6qh.js";
103
103
  import "./runtime-guard-D7waq_Ho.js";
104
104
  import "./systemd-DlMdyFDY.js";
105
105
  import "./service-Cm9j9WzQ.js";
106
- import "./health-Bst5HnLF.js";
107
- import "./onboarding-DWs6tHZ9.js";
106
+ import "./health-BmaWws9G.js";
107
+ import "./onboarding-Peg7PNOz.js";
108
108
  import "./shared-D8K9MkWg.js";
109
109
  import "./auth-token-Cmrk2TPo.js";
110
110
  import "./logging-BGewRZy0.js";
@@ -113,7 +113,7 @@ import "./openai-model-default-DAwnTUcK.js";
113
113
  import "./model-picker-D5nCutGW.js";
114
114
  import "./systemd-linger-DA_LW52P.js";
115
115
  import "./onboard-custom-DdWPfzJO.js";
116
- import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-CU-pntZD.js";
116
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-1wGdR0wt.js";
117
117
 
118
118
  //#region src/cli/program/register.onboard.ts
119
119
  function resolveInstallDaemonFlag(command, opts) {
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-Ca3slrA3.js";
4
+ import "./reply-DkwaBRX-.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -107,8 +107,8 @@ import "./clack-prompter-B7pN13HV.js";
107
107
  import "./daemon-runtime-2mwX-jqj.js";
108
108
  import "./systemd-riq8uNJQ.js";
109
109
  import "./service-Cl74hx8J.js";
110
- import "./health-CypF_2ZD.js";
111
- import "./onboarding-CXWUjdM5.js";
110
+ import "./health-BBGgp_dC.js";
111
+ import "./onboarding-gQRA57l_.js";
112
112
  import "./shared-Knv1hy6h.js";
113
113
  import "./auth-token-BnOynwk4.js";
114
114
  import "./logging-BzzwiKjv.js";
@@ -117,7 +117,7 @@ import "./openai-model-default-DMjQRsb1.js";
117
117
  import "./model-picker-Ddo3jHe-.js";
118
118
  import "./systemd-linger-aQ75ZlXY.js";
119
119
  import "./onboard-custom-C7O-zfQ1.js";
120
- import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-DQ34giB5.js";
120
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-nQYq_dsr.js";
121
121
 
122
122
  //#region src/cli/program/register.onboard.ts
123
123
  function resolveInstallDaemonFlag(command, opts) {
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-CbTbJKLs.js";
16
+ import "./subagent-registry-Jwg44JMf.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -104,8 +104,8 @@ import "./daemon-runtime-CfRwa6qh.js";
104
104
  import "./runtime-guard-D7waq_Ho.js";
105
105
  import "./systemd-DlMdyFDY.js";
106
106
  import "./service-Cm9j9WzQ.js";
107
- import "./health-Bst5HnLF.js";
108
- import "./onboarding-DWs6tHZ9.js";
107
+ import "./health-BmaWws9G.js";
108
+ import "./onboarding-Peg7PNOz.js";
109
109
  import "./shared-D8K9MkWg.js";
110
110
  import "./auth-token-Cmrk2TPo.js";
111
111
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-BGewRZy0.js";
@@ -113,7 +113,7 @@ import "./openai-model-default-DAwnTUcK.js";
113
113
  import "./model-picker-D5nCutGW.js";
114
114
  import "./systemd-linger-DA_LW52P.js";
115
115
  import "./onboard-custom-DdWPfzJO.js";
116
- import { t as onboardCommand } from "./onboard-CU-pntZD.js";
116
+ import { t as onboardCommand } from "./onboard-1wGdR0wt.js";
117
117
  import JSON5 from "json5";
118
118
  import fs from "node:fs/promises";
119
119
 
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-Ca3slrA3.js";
4
+ import "./reply-DkwaBRX-.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -108,8 +108,8 @@ import "./clack-prompter-B7pN13HV.js";
108
108
  import "./daemon-runtime-2mwX-jqj.js";
109
109
  import "./systemd-riq8uNJQ.js";
110
110
  import "./service-Cl74hx8J.js";
111
- import "./health-CypF_2ZD.js";
112
- import "./onboarding-CXWUjdM5.js";
111
+ import "./health-BBGgp_dC.js";
112
+ import "./onboarding-gQRA57l_.js";
113
113
  import "./shared-Knv1hy6h.js";
114
114
  import "./auth-token-BnOynwk4.js";
115
115
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-BzzwiKjv.js";
@@ -117,7 +117,7 @@ import "./openai-model-default-DMjQRsb1.js";
117
117
  import "./model-picker-Ddo3jHe-.js";
118
118
  import "./systemd-linger-aQ75ZlXY.js";
119
119
  import "./onboard-custom-C7O-zfQ1.js";
120
- import { t as onboardCommand } from "./onboard-DQ34giB5.js";
120
+ import { t as onboardCommand } from "./onboard-nQYq_dsr.js";
121
121
  import JSON5 from "json5";
122
122
  import fs from "node:fs/promises";
123
123
 
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
14
14
  import "./call-BcE47FtD.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-CbTbJKLs.js";
17
+ import "./subagent-registry-Jwg44JMf.js";
18
18
  import "./sessions-CJXnZVjR.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -108,8 +108,8 @@ import "./service-Cm9j9WzQ.js";
108
108
  import "./diagnostics-CS1ov_hH.js";
109
109
  import "./table-D01d2GuY.js";
110
110
  import "./audit-Byo5jCLN.js";
111
- import { n as statusCommand } from "./status-BxbbINLV.js";
112
- import { r as healthCommand } from "./health-Bst5HnLF.js";
111
+ import { n as statusCommand } from "./status-CnogoaI_.js";
112
+ import { r as healthCommand } from "./health-BmaWws9G.js";
113
113
  import "./update-check-ZdimP1aU.js";
114
114
  import "./dm-policy-shared-DJ-61hCT.js";
115
115
  import "./node-service-fcZExd22.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, P as setVerbose, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { E as resolveSessionModelRef, mr as lookupContextTokens, y as classifySessionKey } from "./reply-Ca3slrA3.js";
4
+ import { E as resolveSessionModelRef, mr as lookupContextTokens, y as classifySessionKey } from "./reply-DkwaBRX-.js";
5
5
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -114,8 +114,8 @@ import "./service-Cl74hx8J.js";
114
114
  import "./diagnostics-BAMlsVVX.js";
115
115
  import "./table-BTgkRafz.js";
116
116
  import "./audit-CrITRV6w.js";
117
- import { t as statusCommand } from "./status-BXW5l4sd.js";
118
- import { r as healthCommand } from "./health-CypF_2ZD.js";
117
+ import { t as statusCommand } from "./status-B1r3Wp0-.js";
118
+ import { r as healthCommand } from "./health-BBGgp_dC.js";
119
119
  import "./update-check-CtckACbb.js";
120
120
  import "./dm-policy-shared-Bh3TbexU.js";
121
121
  import "./node-service-Cxz4e-Qd.js";
@@ -49,7 +49,7 @@ const entries = [
49
49
  description: "Run, inspect, and query the WebSocket Gateway",
50
50
  hasSubcommands: true,
51
51
  register: async (program) => {
52
- (await import("./gateway-cli-DiDJ6Z2d.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-BApdH1bD.js")).registerGatewayCli(program);
53
53
  }
54
54
  },
55
55
  {
@@ -81,7 +81,7 @@ const entries = [
81
81
  description: "Discover, scan, and configure models",
82
82
  hasSubcommands: true,
83
83
  register: async (program) => {
84
- (await import("./models-cli-BM1QyeXr.js")).registerModelsCli(program);
84
+ (await import("./models-cli-DH17yK8M.js")).registerModelsCli(program);
85
85
  }
86
86
  },
87
87
  {
@@ -161,7 +161,7 @@ const entries = [
161
161
  description: "Manage internal agent hooks",
162
162
  hasSubcommands: true,
163
163
  register: async (program) => {
164
- (await import("./hooks-cli-CDMcqTy4.js")).registerHooksCli(program);
164
+ (await import("./hooks-cli-W_aoP9nb.js")).registerHooksCli(program);
165
165
  }
166
166
  },
167
167
  {
@@ -185,7 +185,7 @@ const entries = [
185
185
  description: "Secure DM pairing (approve inbound requests)",
186
186
  hasSubcommands: true,
187
187
  register: async (program) => {
188
- const { registerPluginCliCommands } = await import("./cli-CaEE46xi.js");
188
+ const { registerPluginCliCommands } = await import("./cli-Ds6poYQ6.js");
189
189
  registerPluginCliCommands(program, await loadConfig());
190
190
  (await import("./pairing-cli-CQRAnpvm.js")).registerPairingCli(program);
191
191
  }
@@ -195,8 +195,8 @@ const entries = [
195
195
  description: "Manage Symi plugins and extensions",
196
196
  hasSubcommands: true,
197
197
  register: async (program) => {
198
- (await import("./plugins-cli-D_RzeRoE.js")).registerPluginsCli(program);
199
- const { registerPluginCliCommands } = await import("./cli-CaEE46xi.js");
198
+ (await import("./plugins-cli-LqQNHF1I.js")).registerPluginsCli(program);
199
+ const { registerPluginCliCommands } = await import("./cli-Ds6poYQ6.js");
200
200
  registerPluginCliCommands(program, await loadConfig());
201
201
  }
202
202
  },
@@ -205,7 +205,7 @@ const entries = [
205
205
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
206
206
  hasSubcommands: true,
207
207
  register: async (program) => {
208
- (await import("./channels-cli-C9wBYmDe.js")).registerChannelsCli(program);
208
+ (await import("./channels-cli--rkhLJvR.js")).registerChannelsCli(program);
209
209
  }
210
210
  },
211
211
  {
@@ -237,7 +237,7 @@ const entries = [
237
237
  description: "Update Symi and inspect update channel status",
238
238
  hasSubcommands: true,
239
239
  register: async (program) => {
240
- (await import("./update-cli-Cy0gdWRf.js")).registerUpdateCli(program);
240
+ (await import("./update-cli-BEBDpJF4.js")).registerUpdateCli(program);
241
241
  }
242
242
  },
243
243
  {
@@ -245,7 +245,7 @@ const entries = [
245
245
  description: "Generate shell completion script",
246
246
  hasSubcommands: false,
247
247
  register: async (program) => {
248
- (await import("./completion-cli-DVkiEAEA.js").then((n) => n.n)).registerCompletionCli(program);
248
+ (await import("./completion-cli-CSdjFWHy.js").then((n) => n.n)).registerCompletionCli(program);
249
249
  }
250
250
  }
251
251
  ];
@@ -22374,7 +22374,7 @@ async function runWithImageModelFallback(params) {
22374
22374
  function createDefaultDeps() {
22375
22375
  return {
22376
22376
  sendMessageWhatsApp: async (...args) => {
22377
- const { sendMessageWhatsApp } = await import("./web-DmED3zDP.js");
22377
+ const { sendMessageWhatsApp } = await import("./web-BSs2eYJa.js");
22378
22378
  return await sendMessageWhatsApp(...args);
22379
22379
  },
22380
22380
  sendMessageTelegram: async (...args) => {
@@ -40937,7 +40937,7 @@ function loadWebLoginQr() {
40937
40937
  return webLoginQrPromise;
40938
40938
  }
40939
40939
  function loadWebChannel() {
40940
- webChannelPromise ??= import("./web-DmED3zDP.js");
40940
+ webChannelPromise ??= import("./web-BSs2eYJa.js");
40941
40941
  return webChannelPromise;
40942
40942
  }
40943
40943
  function loadWhatsAppActions() {
@@ -61725,6 +61725,89 @@ Use the message tool with buttons:
61725
61725
  [{"label": "✅ Proceed", "data": "/plan-proceed"}, {"label": "✏️ Modify", "data": "/plan-modify"}, {"label": "❌ Cancel", "data": "/plan-cancel"}]
61726
61726
  </plan_mode>`;
61727
61727
 
61728
+ //#endregion
61729
+ //#region src/agents/stream-monitor.ts
61730
+ /**
61731
+ * Create a stream monitor configured for the given model profile.
61732
+ *
61733
+ * - Claude (hasStructuredThinking: true): repetition detection only
61734
+ * - Gemma/vLLM (hasStructuredThinking: false): tool JSON + repetition detection
61735
+ */
61736
+ function createStreamMonitor(profile, overrides) {
61737
+ const detectToolJson = overrides?.detectToolJson ?? !profile.filters.hasStructuredThinking;
61738
+ const detectRepetition = overrides?.detectRepetition ?? true;
61739
+ const minBlockSize = overrides?.repetitionMinBlockSize ?? 150;
61740
+ let accumulated = "";
61741
+ let stopSignaled = false;
61742
+ let stopReason;
61743
+ return {
61744
+ onChunk(delta) {
61745
+ if (stopSignaled) return;
61746
+ accumulated += delta;
61747
+ if (detectToolJson && hasCompleteToolJson(accumulated)) {
61748
+ stopSignaled = true;
61749
+ stopReason = "complete-tool-json";
61750
+ return;
61751
+ }
61752
+ if (detectRepetition && hasRepetition(accumulated, minBlockSize)) {
61753
+ stopSignaled = true;
61754
+ stopReason = "repetition-detected";
61755
+ return;
61756
+ }
61757
+ },
61758
+ shouldStop: () => stopSignaled,
61759
+ getAccumulated: () => accumulated,
61760
+ getStopReason: () => stopReason,
61761
+ reset() {
61762
+ accumulated = "";
61763
+ stopSignaled = false;
61764
+ stopReason = void 0;
61765
+ }
61766
+ };
61767
+ }
61768
+ /**
61769
+ * Detect if the accumulated text contains a syntactically complete JSON
61770
+ * object with tool_name and tool_args. Used for models that output tool
61771
+ * calls as plain text JSON (not native structured tool calls).
61772
+ */
61773
+ function hasCompleteToolJson(text) {
61774
+ const hasToolKey = text.includes("tool_name") || text.includes("\"tool\"");
61775
+ const hasArgsKey = text.includes("tool_args") || text.includes("\"args\"");
61776
+ if (!hasToolKey || !hasArgsKey) return false;
61777
+ const lastBrace = text.lastIndexOf("}");
61778
+ if (lastBrace < 0) return false;
61779
+ let depth = 0;
61780
+ let start = -1;
61781
+ for (let i = lastBrace; i >= 0; i--) {
61782
+ if (text[i] === "}") depth++;
61783
+ if (text[i] === "{") depth--;
61784
+ if (depth === 0) {
61785
+ start = i;
61786
+ break;
61787
+ }
61788
+ }
61789
+ if (start < 0) return false;
61790
+ const candidate = text.slice(start, lastBrace + 1);
61791
+ try {
61792
+ const parsed = JSON.parse(candidate);
61793
+ return typeof parsed === "object" && parsed !== null && (typeof parsed.tool_name === "string" || typeof parsed.tool === "string") && (typeof parsed.tool_args === "object" || typeof parsed.args === "object");
61794
+ } catch {
61795
+ return false;
61796
+ }
61797
+ }
61798
+ /**
61799
+ * Detect if the accumulated text contains a repeated block, indicating
61800
+ * a looping cascade. Returns true if a block of `minBlockSize` chars
61801
+ * from the first half appears again in the second half.
61802
+ */
61803
+ function hasRepetition(text, minBlockSize) {
61804
+ if (text.length < minBlockSize * 2.5) return false;
61805
+ const sampleStart = Math.floor(text.length * .25);
61806
+ const sample = text.slice(sampleStart, sampleStart + minBlockSize);
61807
+ const searchStart = sampleStart + minBlockSize;
61808
+ return text.indexOf(sample, searchStart) >= 0;
61809
+ }
61810
+
61728
61811
  //#endregion
61729
61812
  //#region src/agents/symipulse-timeout.ts
61730
61813
  /**
@@ -62942,6 +63025,7 @@ async function runEmbeddedAttempt(params) {
62942
63025
  return fn(...args);
62943
63026
  });
62944
63027
  };
63028
+ const streamMonitor = createStreamMonitor(modelProfile);
62945
63029
  const subscription = subscribeEmbeddedPiSession({
62946
63030
  session: activeSession,
62947
63031
  runId: params.runId,
@@ -62963,6 +63047,14 @@ async function runEmbeddedAttempt(params) {
62963
63047
  onAgentEvent: (evt) => {
62964
63048
  armSymipulseTimer();
62965
63049
  params.onAgentEvent?.(evt);
63050
+ if (evt.stream === "assistant" && typeof evt.data?.text === "string" && !aborted) {
63051
+ streamMonitor.onChunk(evt.data.text);
63052
+ if (streamMonitor.shouldStop()) {
63053
+ const reason = streamMonitor.getStopReason();
63054
+ log$2.warn(`stream monitor triggered abort: runId=${params.runId} reason=${reason}`);
63055
+ abortRun(false, /* @__PURE__ */ new Error(`stream-monitor:${reason}`));
63056
+ }
63057
+ }
62966
63058
  },
62967
63059
  enforceFinalTag: params.enforceFinalTag,
62968
63060
  config: params.config,
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-CbTbJKLs.js";
16
+ import "./subagent-registry-Jwg44JMf.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -101,9 +101,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
101
101
  import "./catalog-DLQFKucJ.js";
102
102
  import "./note-DDecZomM.js";
103
103
  import "./plugin-auto-enable-D6ENR3Xg.js";
104
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BDpdOTei.js";
104
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D_BAH1V5.js";
105
105
  import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
106
- import { t as emitCliBanner } from "./banner-xhDZu_ZJ.js";
106
+ import { t as emitCliBanner } from "./banner-DRJJmkv1.js";
107
107
  import "./doctor-config-flow-CA3eiKhd.js";
108
108
  import { n as ensureConfigReady } from "./config-guard-CPHvOzsC.js";
109
109
  import process$1 from "node:process";
@@ -118,7 +118,7 @@ const routeHealth = {
118
118
  const verbose = getVerboseFlag(argv, { includeDebug: true });
119
119
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
120
120
  if (timeoutMs === null) return false;
121
- const { healthCommand } = await import("./health-Bst5HnLF.js").then((n) => n.i);
121
+ const { healthCommand } = await import("./health-BmaWws9G.js").then((n) => n.i);
122
122
  await healthCommand({
123
123
  json,
124
124
  timeoutMs,
@@ -138,7 +138,7 @@ const routeStatus = {
138
138
  const verbose = getVerboseFlag(argv, { includeDebug: true });
139
139
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
140
140
  if (timeoutMs === null) return false;
141
- const { statusCommand } = await import("./status-BxbbINLV.js").then((n) => n.t);
141
+ const { statusCommand } = await import("./status-CnogoaI_.js").then((n) => n.t);
142
142
  await statusCommand({
143
143
  json,
144
144
  deep,
@@ -172,7 +172,7 @@ const routeAgentsList = {
172
172
  run: async (argv) => {
173
173
  const json = hasFlag(argv, "--json");
174
174
  const bindings = hasFlag(argv, "--bindings");
175
- const { agentsListCommand } = await import("./agents-CI3xxYc_.js").then((n) => n.t);
175
+ const { agentsListCommand } = await import("./agents-BrpbYYTb.js").then((n) => n.t);
176
176
  await agentsListCommand({
177
177
  json,
178
178
  bindings
@@ -243,7 +243,7 @@ const routes = [
243
243
  const pathArg = getCommandPositionals(argv)[2];
244
244
  if (!pathArg) return false;
245
245
  const json = hasFlag(argv, "--json");
246
- const { runConfigGet } = await import("./config-cli-VIg0PSyq.js");
246
+ const { runConfigGet } = await import("./config-cli-C_GarUko.js");
247
247
  await runConfigGet({
248
248
  path: pathArg,
249
249
  json
@@ -256,7 +256,7 @@ const routes = [
256
256
  run: async (argv) => {
257
257
  const pathArg = getCommandPositionals(argv)[2];
258
258
  if (!pathArg) return false;
259
- const { runConfigUnset } = await import("./config-cli-VIg0PSyq.js");
259
+ const { runConfigUnset } = await import("./config-cli-C_GarUko.js");
260
260
  await runConfigUnset({ path: pathArg });
261
261
  return true;
262
262
  }
@@ -270,7 +270,7 @@ const routes = [
270
270
  const local = hasFlag(argv, "--local");
271
271
  const json = hasFlag(argv, "--json");
272
272
  const plain = hasFlag(argv, "--plain");
273
- const { modelsListCommand } = await import("./models-ZEOGlFx7.js").then((n) => n.t);
273
+ const { modelsListCommand } = await import("./models-COaQWNz5.js").then((n) => n.t);
274
274
  await modelsListCommand({
275
275
  all,
276
276
  local,
@@ -301,7 +301,7 @@ const routes = [
301
301
  const plain = hasFlag(argv, "--plain");
302
302
  const check = hasFlag(argv, "--check");
303
303
  const probe = hasFlag(argv, "--probe");
304
- const { modelsStatusCommand } = await import("./models-ZEOGlFx7.js").then((n) => n.t);
304
+ const { modelsStatusCommand } = await import("./models-COaQWNz5.js").then((n) => n.t);
305
305
  await modelsStatusCommand({
306
306
  json,
307
307
  plain,
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
379
379
  assertSupportedRuntime();
380
380
  if (await tryRouteCli(normalizedArgv)) return;
381
381
  enableConsoleCapture();
382
- const { buildProgram } = await import("./program-Cl9i8ubQ.js");
382
+ const { buildProgram } = await import("./program-Bx47hl_J.js");
383
383
  const program = buildProgram();
384
384
  installUnhandledRejectionHandler();
385
385
  process$1.on("uncaughtException", (error) => {
@@ -411,10 +411,10 @@ async function runCli(argv = process$1.argv) {
411
411
  const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
412
412
  const ctx = getProgramContext(program);
413
413
  if (ctx) {
414
- const { registerCoreCliByName } = await import("./command-registry-ea9SD1eA.js").then((n) => n.t);
414
+ const { registerCoreCliByName } = await import("./command-registry-CsDAPQfS.js").then((n) => n.t);
415
415
  await registerCoreCliByName(program, ctx, primary, parseArgv);
416
416
  }
417
- const { registerSubCliByName } = await import("./register.subclis-DnzHFtLz.js").then((n) => n.a);
417
+ const { registerSubCliByName } = await import("./register.subclis-wsgQ6wk8.js").then((n) => n.a);
418
418
  await registerSubCliByName(program, primary);
419
419
  }
420
420
  const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
@@ -423,7 +423,7 @@ async function runCli(argv = process$1.argv) {
423
423
  primary,
424
424
  hasBuiltinPrimary
425
425
  })) {
426
- const { registerPluginCliCommands } = await import("./cli-CaEE46xi.js");
426
+ const { registerPluginCliCommands } = await import("./cli-Ds6poYQ6.js");
427
427
  const { loadConfig } = await import("./config-DHBLS1Hl.js").then((n) => n.t);
428
428
  registerPluginCliCommands(program, loadConfig());
429
429
  }
@@ -4,7 +4,7 @@ import { G as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalize
4
4
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
5
5
  import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-ByaQt43P.js";
6
6
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-BmV60pPT.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CHzdaNJ4.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-DcpMiprB.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CSlZZ1Pw.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-BheTNyes.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CC8jiKDk.js";