@symerian/symi 2.0.21 → 2.0.22

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 (109) hide show
  1. package/dist/{agents-BSeFiBRj.js → agents-DPqxmSTh.js} +4 -4
  2. package/dist/{agents.config-HV2CtcLr.js → agents.config-D546KT_g.js} +1 -1
  3. package/dist/{agents.config-_hO_QR2M.js → agents.config-ah2sfVuh.js} +1 -1
  4. package/dist/{audio-preflight-xXPdllT2.js → audio-preflight-CHWYpvI7.js} +4 -4
  5. package/dist/{auth-choice-Dvi3b00E.js → auth-choice-CnkugX5j.js} +1 -1
  6. package/dist/{auth-choice-CMn1icch.js → auth-choice-DF-shD8r.js} +1 -1
  7. package/dist/{banner-DJ43fuRA.js → banner-bvMTkZEs.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +6 -6
  10. package/dist/bundled/session-memory/handler.js +6 -6
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-OhTp1gp0.js → channel-options-B1CU1OhV.js} +1 -1
  13. package/dist/{channel-options-BIqTdeyS.js → channel-options-WQIYmA0R.js} +1 -1
  14. package/dist/{channel-web-DwTSnmX3.js → channel-web-CJj8XofR.js} +1 -1
  15. package/dist/{channels-cli-BZVAXuw6.js → channels-cli-BQHwMH-9.js} +4 -4
  16. package/dist/{channels-cli-CEdBXvqG.js → channels-cli-DKpgiqZM.js} +4 -4
  17. package/dist/{chrome-0jst3oxa.js → chrome-CkWGSMS5.js} +7 -7
  18. package/dist/{cli-BhX7v0Gc.js → cli-B6wgV4te.js} +1 -1
  19. package/dist/{cli-DpH_bL5y.js → cli-rFD0PhFT.js} +1 -1
  20. package/dist/{command-registry-BGBpeVI4.js → command-registry-Dg8tEZn7.js} +9 -9
  21. package/dist/{completion-cli-Cn7LdRdM.js → completion-cli-B2KjRA9F.js} +1 -1
  22. package/dist/{completion-cli-C_c6mPUj.js → completion-cli-FRiFEavP.js} +2 -2
  23. package/dist/{config-cli-ANninpk5.js → config-cli-L94gSwVv.js} +1 -1
  24. package/dist/{config-cli-Dhao17cx.js → config-cli-YG0NXWaD.js} +1 -1
  25. package/dist/{configure-Bk5y106m.js → configure-DjW5XA-i.js} +3 -3
  26. package/dist/{configure-CW1bGvDg.js → configure-DpmVGU5C.js} +3 -3
  27. package/dist/{deliver-CyuL3391.js → deliver-BpcMy6AD.js} +1 -1
  28. package/dist/{doctor-completion-BrxVe5Vw.js → doctor-completion-CSwxOlhu.js} +1 -1
  29. package/dist/{doctor-completion-rUiI3KDq.js → doctor-completion-D6bevOPA.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +1 -1
  32. package/dist/{gateway-cli-BH1WWnP0.js → gateway-cli-C1nuI3Ec.js} +9 -9
  33. package/dist/{gateway-cli-D9cvWV3T.js → gateway-cli-D4VSgdJh.js} +9 -9
  34. package/dist/{glass-ui-ws-C_39oBWc.js → glass-ui-ws-BIEY-Hp0.js} +7 -7
  35. package/dist/{glass-ui-ws-Cr62sdzu.js → glass-ui-ws-D-rChRuX.js} +7 -7
  36. package/dist/{health-Dxc7OaYZ.js → health-DDZwUqwB.js} +1 -1
  37. package/dist/{health-BqG74n1V.js → health-DiRth-TA.js} +1 -1
  38. package/dist/{hooks-cli-CDIAvBdY.js → hooks-cli-DNCFaCrN.js} +2 -2
  39. package/dist/{hooks-cli-CXTnYD_D.js → hooks-cli-HNtzwpSV.js} +2 -2
  40. package/dist/{image-OBAjrX26.js → image-Cvu0YSjj.js} +1 -1
  41. package/dist/index.js +6 -6
  42. package/dist/llm-slug-generator.js +6 -6
  43. package/dist/{models-CBvEOwwi.js → models-DeOa-Kw8.js} +2 -2
  44. package/dist/{models-cli-DbzhkuY-.js → models-cli-DmhxB26a.js} +3 -3
  45. package/dist/{models-cli-Sqm4aZYq.js → models-cli-Dti8CQ4l.js} +2 -2
  46. package/dist/{onboard-MFfVDMXe.js → onboard-CeBeu3P1.js} +2 -2
  47. package/dist/{onboard-CnEPCQ_Y.js → onboard-DtVK6rjL.js} +2 -2
  48. package/dist/{onboard-channels-BirbY8dc.js → onboard-channels-DaVmoOm_.js} +1 -1
  49. package/dist/{onboard-channels-EMKZoWGR.js → onboard-channels-W-oni7gS.js} +1 -1
  50. package/dist/{onboarding-hfFlm7As.js → onboarding-Cg9XTkBd.js} +3 -3
  51. package/dist/{onboarding-BRpvel6F.js → onboarding-D8eDFwa2.js} +3 -3
  52. package/dist/{onboarding.finalize-C0tcGPgk.js → onboarding.finalize-7WP463T8.js} +5 -5
  53. package/dist/{onboarding.finalize-BeXc3cym.js → onboarding.finalize-B1bb1wRw.js} +6 -6
  54. package/dist/{pi-embedded-CalvdkmO.js → pi-embedded-Dt55w8cV.js} +10 -2
  55. package/dist/{pi-embedded-B4VJG-rX.js → pi-embedded-MQyUl4Vd.js} +24 -16
  56. package/dist/{pi-embedded-helpers-CutNlIBA.js → pi-embedded-helpers-yCss7Bdi.js} +4 -4
  57. package/dist/{plugin-registry-D5j8ZtiH.js → plugin-registry-CzCch-YI.js} +1 -1
  58. package/dist/{plugin-registry-DRar5JRY.js → plugin-registry-qkOLPlY-.js} +1 -1
  59. package/dist/plugin-sdk/{channel-web-cqGoGTML.js → channel-web-C9N79DF5.js} +1 -1
  60. package/dist/plugin-sdk/index.js +2 -2
  61. package/dist/plugin-sdk/{reply-CJH6lKpT.js → reply-DHEk1mbh.js} +10 -2
  62. package/dist/plugin-sdk/{web-7IkbVCs1.js → web-i-1y7OqN.js} +2 -2
  63. package/dist/{plugins-cli-rfFi_-nC.js → plugins-cli-CuWdlZUL.js} +2 -2
  64. package/dist/{plugins-cli-OWA6KtRo.js → plugins-cli-gfyaL-JG.js} +2 -2
  65. package/dist/{program--ISVLHCM.js → program-BjfVIsbe.js} +7 -7
  66. package/dist/{program-context-15UFZ3WW.js → program-context-BzaWpuOp.js} +17 -17
  67. package/dist/{prompt-select-styled-CpIcsq_7.js → prompt-select-styled-DX2M5ooT.js} +4 -4
  68. package/dist/{prompt-select-styled-uh5icFLb.js → prompt-select-styled-DpDi0x9k.js} +4 -4
  69. package/dist/{provider-auth-helpers-BOnXYr4j.js → provider-auth-helpers-Bs6lQx_x.js} +1 -1
  70. package/dist/{provider-auth-helpers-DA6ol80S.js → provider-auth-helpers-DdsVPRuX.js} +1 -1
  71. package/dist/{push-apns-CdOkanm5.js → push-apns-BhIc_b87.js} +1 -1
  72. package/dist/{push-apns-DtbiRKMR.js → push-apns-ZauuwP2K.js} +1 -1
  73. package/dist/{pw-ai-DzztKcJ4.js → pw-ai-CzGGXy9V.js} +1 -1
  74. package/dist/{register.agent-DYitjjp3.js → register.agent-B1sFFJFg.js} +5 -5
  75. package/dist/{register.agent-DPnUGOPM.js → register.agent-CTrXGVfd.js} +6 -6
  76. package/dist/{register.configure-CvnnWujI.js → register.configure-CcyX3Lc8.js} +6 -6
  77. package/dist/{register.configure-CxRxqsPa.js → register.configure-DDVmT6NY.js} +6 -6
  78. package/dist/{register.maintenance-D1h2Sa3O.js → register.maintenance-CdoXyGzf.js} +7 -7
  79. package/dist/{register.maintenance-B9b4xpdf.js → register.maintenance-LsWciVuT.js} +8 -8
  80. package/dist/{register.message-MT4k5ttC.js → register.message-CEhrWjQV.js} +2 -2
  81. package/dist/{register.message-CYnWS6qP.js → register.message-iAimOwns.js} +2 -2
  82. package/dist/{register.onboard-md1AE8om.js → register.onboard-B905_rz1.js} +4 -4
  83. package/dist/{register.onboard-BPWslrzo.js → register.onboard-BdspAIMb.js} +4 -4
  84. package/dist/{register.setup-D152L7kN.js → register.setup-3aRCKJ36.js} +4 -4
  85. package/dist/{register.setup-B8vTae2l.js → register.setup-DtBE_3fr.js} +4 -4
  86. package/dist/{register.status-health-sessions-CM1dceKY.js → register.status-health-sessions-BWr1hDot.js} +3 -3
  87. package/dist/{register.status-health-sessions-DbODHMBJ.js → register.status-health-sessions-DVGmTBQO.js} +3 -3
  88. package/dist/{register.subclis-BUqhtoys.js → register.subclis-BZ3i4kMS.js} +9 -9
  89. package/dist/{reply-HW7ujuKi.js → reply-DBq43zxh.js} +10 -2
  90. package/dist/{run-main-BrQbiyBV.js → run-main-DHhJ9JFs.js} +14 -14
  91. package/dist/{runner-CJu9Gl_X.js → runner-C-hs6BOd.js} +1 -1
  92. package/dist/{server-methods-1pwguAUr.js → server-methods-BfVpF3_j.js} +7 -7
  93. package/dist/{server-methods-CIiK2q84.js → server-methods-CBz9kx2s.js} +7 -7
  94. package/dist/{server-node-events-e-EkrMFA.js → server-node-events-BBMB3HWj.js} +2 -2
  95. package/dist/{server-node-events-BuOc53ED.js → server-node-events-DHlmMG_C.js} +2 -2
  96. package/dist/{status-D7lG_rKr.js → status--f4zX1DS.js} +2 -2
  97. package/dist/{status-CEb4wj9d.js → status-BcNi9OjQ.js} +2 -2
  98. package/dist/{status-CY5OXF3d.js → status-C-GM0R2c.js} +1 -1
  99. package/dist/{status-CNsOWE6W.js → status-CCTReric.js} +1 -1
  100. package/dist/{subagent-registry-BKhraI9X.js → subagent-registry-CiBbcgit.js} +10 -2
  101. package/dist/{update-cli-Di3jY1P2.js → update-cli-Cj1AmFgn.js} +7 -7
  102. package/dist/{update-cli-DB3oEF5D.js → update-cli-DAzmC_i2.js} +8 -8
  103. package/dist/{update-runner-CeFIRC25.js → update-runner-CQCzp1FG.js} +1 -1
  104. package/dist/{update-runner-CjK47aX2.js → update-runner-CVh1ixYm.js} +1 -1
  105. package/dist/{web-CV7it9N3.js → web-BxUguUwU.js} +6 -6
  106. package/dist/{web-BoxjWHKk.js → web-Dan0YPuK.js} +1 -1
  107. package/dist/{web-DvRmeW25.js → web-svB71EDx.js} +1 -1
  108. package/dist/{web-DhH58pge.js → web-u_T-25Fh.js} +2 -2
  109. package/package.json +1 -1
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-CvHdkyUu.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-BKhraI9X.js";
16
+ import "./subagent-registry-CiBbcgit.js";
17
17
  import "./sessions-D_sYAXox.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-D0PiamQY.js";
104
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-D5j8ZtiH.js";
104
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CzCch-YI.js";
105
105
  import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
106
- import { t as emitCliBanner } from "./banner-DJ43fuRA.js";
106
+ import { t as emitCliBanner } from "./banner-bvMTkZEs.js";
107
107
  import "./doctor-config-flow-BTonoZiN.js";
108
108
  import { n as ensureConfigReady } from "./config-guard-BmDOhJF-.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-BqG74n1V.js").then((n) => n.i);
121
+ const { healthCommand } = await import("./health-DiRth-TA.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-D7lG_rKr.js").then((n) => n.t);
141
+ const { statusCommand } = await import("./status--f4zX1DS.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-BSeFiBRj.js").then((n) => n.t);
175
+ const { agentsListCommand } = await import("./agents-DPqxmSTh.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-Dhao17cx.js");
246
+ const { runConfigGet } = await import("./config-cli-YG0NXWaD.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-Dhao17cx.js");
259
+ const { runConfigUnset } = await import("./config-cli-YG0NXWaD.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-CBvEOwwi.js").then((n) => n.t);
273
+ const { modelsListCommand } = await import("./models-DeOa-Kw8.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-CBvEOwwi.js").then((n) => n.t);
304
+ const { modelsStatusCommand } = await import("./models-DeOa-Kw8.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--ISVLHCM.js");
382
+ const { buildProgram } = await import("./program-BjfVIsbe.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-BGBpeVI4.js").then((n) => n.t);
414
+ const { registerCoreCliByName } = await import("./command-registry-Dg8tEZn7.js").then((n) => n.t);
415
415
  await registerCoreCliByName(program, ctx, primary, parseArgv);
416
416
  }
417
- const { registerSubCliByName } = await import("./register.subclis-BUqhtoys.js").then((n) => n.a);
417
+ const { registerSubCliByName } = await import("./register.subclis-BZ3i4kMS.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-BhX7v0Gc.js");
426
+ const { registerPluginCliCommands } = await import("./cli-B6wgV4te.js");
427
427
  const { loadConfig } = await import("./config-CGJ96S46.js").then((n) => n.t);
428
428
  registerPluginCliCommands(program, loadConfig());
429
429
  }
@@ -4,7 +4,7 @@ import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
4
4
  import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-CvJzsyvE.js";
5
5
  import { A as normalizeProviderId, L as normalizeGoogleModelId, i as resolveApiKeyForProvider, r as requireApiKey, y as resolveSymiAgentDir } from "./model-auth-ueipoWgv.js";
6
6
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-oz6yMs1r.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-OBAjrX26.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-Cvu0YSjj.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-Cb6WywoJ.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DMwIh5cS.js";
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
12
12
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
13
13
  import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
14
14
  import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
15
- import { $n as resolveTtsPrefsPath, $t as normalizeGroupActivation, A as createOutboundSendDeps, D as resolveAgentOutboundTarget, E as resolveAgentDeliveryPlan, Hn as isAbortTrigger, Ht as applyBrowserProxyPaths, J as BARE_SESSION_RESET_PROMPT, Jn as isTtsEnabled, Kn as resolveUserTimezone, Pn as resolveAgentTimeoutMs, Qn as resolveTtsConfig, Qt as unbindThreadBindingsBySessionKey, Sn as isSystemEventContextChanged, Sr as registerAgentRunContext, St as writeRestartSentinel, Tt as normalizeCronJobPatch, U as dispatchInboundMessage, Un as stopSubagentsForRequester, Ut as persistBrowserProxyFiles, W as createReplyDispatcher, Xn as resolveTtsApiKey, Yn as isTtsProviderConfigured, Yt as scheduleGatewaySigusr1Restart, Zn as resolveTtsAutoMode, _ as loadSymiPlugins, _t as formatDoctorNonInteractiveHint, ar as OPENAI_TTS_VOICES, at as ensureOutboundSessionEntry, bn as parseVerboseOverride, d as waitForEmbeddedPiRunEnd, er as resolveTtsProviderOrder, fn as normalizeSendPolicy, i as listSubagentRunsForRequester, ir as OPENAI_TTS_MODELS, l as abortEmbeddedPiRun, lt as resolveOutboundTarget, nr as setTtsProvider, ot as resolveOutboundSessionRoute, pn as resolveSendPolicy, qn as getTtsProvider, r as listDescendantRunsForRequester, rr as textToSpeech, s as clearSessionQueues, tn as loadProviderUsageSummary, tr as setTtsEnabled, vn as applyModelOverrideToSessionEntry, w as agentCommand, wt as normalizeCronJobCreate, xn as enqueueSystemEvent, xr as onAgentEvent, yn as applyVerboseOverride, zn as formatZonedTimestamp } from "./subagent-registry-BKhraI9X.js";
15
+ import { $n as resolveTtsPrefsPath, $t as normalizeGroupActivation, A as createOutboundSendDeps, D as resolveAgentOutboundTarget, E as resolveAgentDeliveryPlan, Hn as isAbortTrigger, Ht as applyBrowserProxyPaths, J as BARE_SESSION_RESET_PROMPT, Jn as isTtsEnabled, Kn as resolveUserTimezone, Pn as resolveAgentTimeoutMs, Qn as resolveTtsConfig, Qt as unbindThreadBindingsBySessionKey, Sn as isSystemEventContextChanged, Sr as registerAgentRunContext, St as writeRestartSentinel, Tt as normalizeCronJobPatch, U as dispatchInboundMessage, Un as stopSubagentsForRequester, Ut as persistBrowserProxyFiles, W as createReplyDispatcher, Xn as resolveTtsApiKey, Yn as isTtsProviderConfigured, Yt as scheduleGatewaySigusr1Restart, Zn as resolveTtsAutoMode, _ as loadSymiPlugins, _t as formatDoctorNonInteractiveHint, ar as OPENAI_TTS_VOICES, at as ensureOutboundSessionEntry, bn as parseVerboseOverride, d as waitForEmbeddedPiRunEnd, er as resolveTtsProviderOrder, fn as normalizeSendPolicy, i as listSubagentRunsForRequester, ir as OPENAI_TTS_MODELS, l as abortEmbeddedPiRun, lt as resolveOutboundTarget, nr as setTtsProvider, ot as resolveOutboundSessionRoute, pn as resolveSendPolicy, qn as getTtsProvider, r as listDescendantRunsForRequester, rr as textToSpeech, s as clearSessionQueues, tn as loadProviderUsageSummary, tr as setTtsEnabled, vn as applyModelOverrideToSessionEntry, w as agentCommand, wt as normalizeCronJobCreate, xn as enqueueSystemEvent, xr as onAgentEvent, yn as applyVerboseOverride, zn as formatZonedTimestamp } from "./subagent-registry-CiBbcgit.js";
16
16
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-D_sYAXox.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
18
18
  import { n as createBrowserRouteDispatcher } from "./with-timeout-J-NgpKB8.js";
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
37
37
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
38
38
  import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
39
39
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-DHvgRd1-.js";
40
- import { r as getStatusSummary } from "./status-D7lG_rKr.js";
41
- import { c as setHeartbeatsEnabled } from "./health-BqG74n1V.js";
40
+ import { r as getStatusSummary } from "./status--f4zX1DS.js";
41
+ import { c as setHeartbeatsEnabled } from "./health-DiRth-TA.js";
42
42
  import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
43
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CdOkanm5.js";
44
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-_hO_QR2M.js";
43
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-BhIc_b87.js";
44
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-ah2sfVuh.js";
45
45
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
46
46
  import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
47
- import { t as runGatewayUpdate } from "./update-runner-CjK47aX2.js";
47
+ import { t as runGatewayUpdate } from "./update-runner-CVh1ixYm.js";
48
48
  import { spawnSync } from "node:child_process";
49
49
  import * as os$1 from "node:os";
50
50
  import os from "node:os";
@@ -6851,7 +6851,7 @@ const nodeHandlers = {
6851
6851
  const p = params;
6852
6852
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6853
6853
  await respondUnavailableOnThrow(respond, async () => {
6854
- const { handleNodeEvent } = await import("./server-node-events-e-EkrMFA.js");
6854
+ const { handleNodeEvent } = await import("./server-node-events-BBMB3HWj.js");
6855
6855
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6856
6856
  await handleNodeEvent({
6857
6857
  deps: context.deps,
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
2
2
  import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
4
- import { An as listSubagentRunsForRequester, At as agentCommand, Bn as getTtsProvider, Bt as resolveSendPolicy, C as pruneLegacyStoreKeys, Cn as isAbortTrigger, D as ensureOutboundSessionEntry, Gn as resolveTtsConfig, Hn as isTtsProviderConfigured, Ht as createOutboundSendDeps, It as resolveOutboundTarget, J as normalizeCronJobCreate, Jn as setTtsEnabled, K as writeRestartSentinel, Kn as resolveTtsPrefsPath, L as scheduleGatewaySigusr1Restart, Ln as onAgentEvent, Mr as resolveAgentTimeoutMs, Mt as resolveAgentDeliveryPlan, Nt as resolveAgentOutboundTarget, O as resolveOutboundSessionRoute, Qn as OPENAI_TTS_VOICES, Rn as registerAgentRunContext, S as loadSessionEntry, T as resolveSessionModelRef, Un as resolveTtsApiKey, V as formatDoctorNonInteractiveHint, Vn as isTtsEnabled, Wn as resolveTtsAutoMode, Xn as textToSpeech, Y as normalizeCronJobPatch, Yn as setTtsProvider, Zn as OPENAI_TTS_MODELS, _ as canonicalizeSpawnedByForAgent, _r as applyVerboseOverride, b as listSessionsFromStore, bn as formatZonedTimestamp, br as isSystemEventContextChanged, bt as loadProviderUsageSummary, c as clearSessionQueues, ct as applyBrowserProxyPaths, f as waitForEmbeddedPiRunEnd, fn as dispatchInboundMessage, gr as applyModelOverrideToSessionEntry, gt as loadSymiPlugins, kn as listDescendantRunsForRequester, lt as persistBrowserProxyFiles, n as BARE_SESSION_RESET_PROMPT, pn as createReplyDispatcher, qn as resolveTtsProviderOrder, rn as unbindThreadBindingsBySessionKey, u as abortEmbeddedPiRun, vr as parseVerboseOverride, vt as normalizeGroupActivation, w as resolveGatewaySessionStoreTarget, wn as stopSubagentsForRequester, x as loadCombinedSessionStoreForGateway, y as listAgentsForGateway, yr as enqueueSystemEvent, zn as resolveUserTimezone, zt as normalizeSendPolicy } from "./reply-HW7ujuKi.js";
4
+ import { An as listSubagentRunsForRequester, At as agentCommand, Bn as getTtsProvider, Bt as resolveSendPolicy, C as pruneLegacyStoreKeys, Cn as isAbortTrigger, D as ensureOutboundSessionEntry, Gn as resolveTtsConfig, Hn as isTtsProviderConfigured, Ht as createOutboundSendDeps, It as resolveOutboundTarget, J as normalizeCronJobCreate, Jn as setTtsEnabled, K as writeRestartSentinel, Kn as resolveTtsPrefsPath, L as scheduleGatewaySigusr1Restart, Ln as onAgentEvent, Mr as resolveAgentTimeoutMs, Mt as resolveAgentDeliveryPlan, Nt as resolveAgentOutboundTarget, O as resolveOutboundSessionRoute, Qn as OPENAI_TTS_VOICES, Rn as registerAgentRunContext, S as loadSessionEntry, T as resolveSessionModelRef, Un as resolveTtsApiKey, V as formatDoctorNonInteractiveHint, Vn as isTtsEnabled, Wn as resolveTtsAutoMode, Xn as textToSpeech, Y as normalizeCronJobPatch, Yn as setTtsProvider, Zn as OPENAI_TTS_MODELS, _ as canonicalizeSpawnedByForAgent, _r as applyVerboseOverride, b as listSessionsFromStore, bn as formatZonedTimestamp, br as isSystemEventContextChanged, bt as loadProviderUsageSummary, c as clearSessionQueues, ct as applyBrowserProxyPaths, f as waitForEmbeddedPiRunEnd, fn as dispatchInboundMessage, gr as applyModelOverrideToSessionEntry, gt as loadSymiPlugins, kn as listDescendantRunsForRequester, lt as persistBrowserProxyFiles, n as BARE_SESSION_RESET_PROMPT, pn as createReplyDispatcher, qn as resolveTtsProviderOrder, rn as unbindThreadBindingsBySessionKey, u as abortEmbeddedPiRun, vr as parseVerboseOverride, vt as normalizeGroupActivation, w as resolveGatewaySessionStoreTarget, wn as stopSubagentsForRequester, x as loadCombinedSessionStoreForGateway, y as listAgentsForGateway, yr as enqueueSystemEvent, zn as resolveUserTimezone, zt as normalizeSendPolicy } from "./reply-DBq43zxh.js";
5
5
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
@@ -39,14 +39,14 @@ import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
39
39
  import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
40
40
  import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
41
41
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-BqIaLubU.js";
42
- import { n as getStatusSummary } from "./status-CEb4wj9d.js";
43
- import { s as setHeartbeatsEnabled } from "./health-Dxc7OaYZ.js";
42
+ import { n as getStatusSummary } from "./status-BcNi9OjQ.js";
43
+ import { s as setHeartbeatsEnabled } from "./health-DDZwUqwB.js";
44
44
  import { m as normalizeUpdateChannel } from "./update-check-CtckACbb.js";
45
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-DtbiRKMR.js";
46
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-HV2CtcLr.js";
45
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-ZauuwP2K.js";
46
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-D546KT_g.js";
47
47
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
48
48
  import { t as installSkill } from "./skills-install-D67isO1L.js";
49
- import { t as runGatewayUpdate } from "./update-runner-CeFIRC25.js";
49
+ import { t as runGatewayUpdate } from "./update-runner-CQCzp1FG.js";
50
50
  import * as fs$2 from "node:fs";
51
51
  import fs from "node:fs";
52
52
  import * as os$1 from "node:os";
@@ -6853,7 +6853,7 @@ const nodeHandlers = {
6853
6853
  const p = params;
6854
6854
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6855
6855
  await respondUnavailableOnThrow(respond, async () => {
6856
- const { handleNodeEvent } = await import("./server-node-events-BuOc53ED.js");
6856
+ const { handleNodeEvent } = await import("./server-node-events-DHlmMG_C.js");
6857
6857
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6858
6858
  await handleNodeEvent({
6859
6859
  deps: context.deps,
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
14
14
  import "./call-CvHdkyUu.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { O as createOutboundSendDeps, ln as requestHeartbeatNow, lt as resolveOutboundTarget, w as agentCommand, xn as enqueueSystemEvent } from "./subagent-registry-BKhraI9X.js";
17
+ import { O as createOutboundSendDeps, ln as requestHeartbeatNow, lt as resolveOutboundTarget, w as agentCommand, xn as enqueueSystemEvent } from "./subagent-registry-CiBbcgit.js";
18
18
  import { d as updateSessionStore } from "./sessions-D_sYAXox.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
@@ -98,7 +98,7 @@ import "./onboard-helpers-BPRytVKl.js";
98
98
  import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-BzrUs0Sz.js";
100
100
  import "./pi-tools.policy-Df7vqwql.js";
101
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CdOkanm5.js";
101
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BhIc_b87.js";
102
102
  import { randomUUID } from "node:crypto";
103
103
 
104
104
  //#region src/gateway/server-node-events.ts
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { At as agentCommand, C as pruneLegacyStoreKeys, It as resolveOutboundTarget, Rt as createOutboundSendDeps, S as loadSessionEntry, dt as requestHeartbeatNow, w as resolveGatewaySessionStoreTarget, yr as enqueueSystemEvent } from "./reply-HW7ujuKi.js";
4
+ import { At as agentCommand, C as pruneLegacyStoreKeys, It as resolveOutboundTarget, Rt as createOutboundSendDeps, S as loadSessionEntry, dt as requestHeartbeatNow, w as resolveGatewaySessionStoreTarget, yr as enqueueSystemEvent } from "./reply-DBq43zxh.js";
5
5
  import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -102,7 +102,7 @@ import "./pi-tools.policy-pnSSbfN7.js";
102
102
  import "./control-service-CjU6sFdJ.js";
103
103
  import "./stagger-BUClb97_.js";
104
104
  import "./channel-selection-DuWs0Aak.js";
105
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DtbiRKMR.js";
105
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-ZauuwP2K.js";
106
106
  import { randomUUID } from "node:crypto";
107
107
 
108
108
  //#region src/gateway/server-node-events.ts
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-CGJ96S46.js";
11
11
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CvHdkyUu.js";
12
- import { an as buildChannelSummary, bt as summarizeRestartSentinel, et as sha256HexPrefix, nn as formatUsageReportLines, on as buildChannelAccountSnapshot, sn as formatChannelAllowFrom, tn as loadProviderUsageSummary, wn as peekSystemEvents, yt as readRestartSentinel } from "./subagent-registry-BKhraI9X.js";
12
+ import { an as buildChannelSummary, bt as summarizeRestartSentinel, et as sha256HexPrefix, nn as formatUsageReportLines, on as buildChannelAccountSnapshot, sn as formatChannelAllowFrom, tn as loadProviderUsageSummary, wn as peekSystemEvents, yt as readRestartSentinel } from "./subagent-registry-CiBbcgit.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-D_sYAXox.js";
14
14
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-hFVEC3wO.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
30
30
  import { t as renderTable } from "./table-D01d2GuY.js";
31
31
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-DHvgRd1-.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BqG74n1V.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-DiRth-TA.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
34
34
  import { t as resolveNodeService } from "./node-service-fcZExd22.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DVLB9DNB.js";
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
- import { Sr as peekSystemEvents, T as resolveSessionModelRef, U as readRestartSentinel, W as summarizeRestartSentinel, a as buildChannelSummary, bt as loadProviderUsageSummary, dr as lookupContextTokens, o as buildChannelAccountSnapshot, qt as sha256HexPrefix, s as formatChannelAllowFrom, v as classifySessionKey, xt as formatUsageReportLines, y as listAgentsForGateway } from "./reply-HW7ujuKi.js";
3
+ import { Sr as peekSystemEvents, T as resolveSessionModelRef, U as readRestartSentinel, W as summarizeRestartSentinel, a as buildChannelSummary, bt as loadProviderUsageSummary, dr as lookupContextTokens, o as buildChannelAccountSnapshot, qt as sha256HexPrefix, s as formatChannelAllowFrom, v as classifySessionKey, xt as formatUsageReportLines, y as listAgentsForGateway } from "./reply-DBq43zxh.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import { n as runExec } from "./exec-CWkblSrI.js";
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-CR9445g5.j
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-BAMlsVVX.js";
29
29
  import { t as renderTable } from "./table-BTgkRafz.js";
30
30
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BqIaLubU.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-Dxc7OaYZ.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-DDZwUqwB.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
33
33
  import { t as resolveNodeService } from "./node-service-Cxz4e-Qd.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-yQZNwAF2.js";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
3
3
  import { i as loadConfig } from "./config-CGJ96S46.js";
4
- import { _ as loadSymiPlugins, g as createPluginLoaderLogger } from "./subagent-registry-BKhraI9X.js";
4
+ import { _ as loadSymiPlugins, g as createPluginLoaderLogger } from "./subagent-registry-CiBbcgit.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,4 +1,4 @@
1
- import { gt as loadSymiPlugins, ht as createPluginLoaderLogger } from "./reply-HW7ujuKi.js";
1
+ import { gt as loadSymiPlugins, ht as createPluginLoaderLogger } from "./reply-DBq43zxh.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
4
4
  import { i as loadConfig } from "./config-uEQqNsoL.js";
@@ -15022,6 +15022,14 @@ function buildAgentSystemPrompt(params) {
15022
15022
  "Keep narration brief and value-dense; avoid repeating obvious steps.",
15023
15023
  "Use plain human language for narration unless in a technical context.",
15024
15024
  "",
15025
+ "## Edit Tool Best Practices",
15026
+ "When using the edit tool, the oldText must match the file EXACTLY (whitespace, indentation, and all).",
15027
+ "To avoid match failures:",
15028
+ "- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
15029
+ "- ALWAYS read the file first, then copy the exact text from the read output for oldText.",
15030
+ "- If an edit fails with 'Could not find the exact text', re-read the file and retry with the exact text from the fresh read. Do NOT move on or fix a different issue.",
15031
+ "- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines).",
15032
+ "",
15025
15033
  ...safetySection,
15026
15034
  "## Symi CLI Quick Reference",
15027
15035
  "Symi is controlled via subcommands. Do not invent commands.",
@@ -44182,7 +44190,7 @@ function isVoiceChannelType(type) {
44182
44190
  function createDefaultDeps() {
44183
44191
  return {
44184
44192
  sendMessageWhatsApp: async (...args) => {
44185
- const { sendMessageWhatsApp } = await import("./web-DvRmeW25.js");
44193
+ const { sendMessageWhatsApp } = await import("./web-svB71EDx.js");
44186
44194
  return await sendMessageWhatsApp(...args);
44187
44195
  },
44188
44196
  sendMessageTelegram: async (...args) => {
@@ -59498,7 +59506,7 @@ function loadWebLoginQr() {
59498
59506
  return webLoginQrPromise;
59499
59507
  }
59500
59508
  function loadWebChannel() {
59501
- webChannelPromise ??= import("./web-DvRmeW25.js");
59509
+ webChannelPromise ??= import("./web-svB71EDx.js");
59502
59510
  return webChannelPromise;
59503
59511
  }
59504
59512
  function loadWhatsAppActions() {
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { G as trimLogTail } from "./reply-HW7ujuKi.js";
4
+ import { G as trimLogTail } from "./reply-DBq43zxh.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -106,7 +106,7 @@ import "./stagger-BUClb97_.js";
106
106
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-C8_BLnaW.js";
107
107
  import "./channel-selection-DuWs0Aak.js";
108
108
  import { r as parseSemver } from "./runtime-guard-B37eizu-.js";
109
- import "./program-context-15UFZ3WW.js";
109
+ import "./program-context-BzaWpuOp.js";
110
110
  import "./catalog-RiADx7MA.js";
111
111
  import "./skills-status-CURJKnyY.js";
112
112
  import { n as inheritOptionFromParent } from "./command-options-BtDai3oC.js";
@@ -117,7 +117,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
117
117
  import "./skill-scanner-CLs8u6vQ.js";
118
118
  import "./installs-C1Cebk97.js";
119
119
  import "./channels-status-issues-B_kBkl_u.js";
120
- import { r as installCompletion } from "./completion-cli-Cn7LdRdM.js";
120
+ import { r as installCompletion } from "./completion-cli-B2KjRA9F.js";
121
121
  import "./daemon-runtime-BySJ0Lp1.js";
122
122
  import "./systemd-riq8uNJQ.js";
123
123
  import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
@@ -126,19 +126,19 @@ import "./systemd-hints-BwLHbZwk.js";
126
126
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BT2sI9-3.js";
127
127
  import "./diagnostics-BAMlsVVX.js";
128
128
  import { t as renderTable } from "./table-BTgkRafz.js";
129
- import "./health-Dxc7OaYZ.js";
129
+ import "./health-DDZwUqwB.js";
130
130
  import "./control-ui-assets-Z947tKLt.js";
131
131
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-CtckACbb.js";
132
132
  import "./dm-policy-shared-Ctb5IkNa.js";
133
133
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DhhtmPIK.js";
134
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CeFIRC25.js";
134
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CQCzp1FG.js";
135
135
  import "./logging-BzzwiKjv.js";
136
136
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-rw7wJwHd.js";
137
137
  import "./doctor-config-flow-CVPHaevC.js";
138
138
  import "./systemd-linger-aQ75ZlXY.js";
139
139
  import "./health-format-DSwnXZPU.js";
140
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CpIcsq_7.js";
141
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-rUiI3KDq.js";
140
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DX2M5ooT.js";
141
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D6bevOPA.js";
142
142
  import os from "node:os";
143
143
  import path from "node:path";
144
144
  import fs from "node:fs/promises";
@@ -16,7 +16,7 @@ import "./client-DMBZpU6X.js";
16
16
  import "./call-CvHdkyUu.js";
17
17
  import "./message-channel-C9dERklz.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { xt as trimLogTail } from "./subagent-registry-BKhraI9X.js";
19
+ import { xt as trimLogTail } from "./subagent-registry-CiBbcgit.js";
20
20
  import "./sessions-D_sYAXox.js";
21
21
  import "./tokens-Csntmwwn.js";
22
22
  import "./plugins-CwSlLxM8.js";
@@ -111,10 +111,10 @@ import "./npm-registry-spec-DkaZNHAW.js";
111
111
  import "./skill-scanner-BGWOBqLY.js";
112
112
  import "./installs-CgQpVncj.js";
113
113
  import "./channels-status-issues-c7qZbYG5.js";
114
- import "./register.subclis-BUqhtoys.js";
115
- import "./command-registry-BGBpeVI4.js";
114
+ import "./register.subclis-BZ3i4kMS.js";
115
+ import "./command-registry-Dg8tEZn7.js";
116
116
  import "./program-context-CqzR_m-7.js";
117
- import { r as installCompletion } from "./completion-cli-C_c6mPUj.js";
117
+ import { r as installCompletion } from "./completion-cli-FRiFEavP.js";
118
118
  import "./daemon-runtime-DFHqkET0.js";
119
119
  import { r as parseSemver } from "./runtime-guard-D7waq_Ho.js";
120
120
  import "./systemd-DlMdyFDY.js";
@@ -124,19 +124,19 @@ import "./systemd-hints-C_Wzs8Ts.js";
124
124
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-C6Ju1ptH.js";
125
125
  import "./diagnostics-CS1ov_hH.js";
126
126
  import { t as renderTable } from "./table-D01d2GuY.js";
127
- import "./health-BqG74n1V.js";
127
+ import "./health-DiRth-TA.js";
128
128
  import "./control-ui-assets-BseSWee1.js";
129
129
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
130
130
  import "./dm-policy-shared-DzlcnEMg.js";
131
131
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-MEvvwSyA.js";
132
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CjK47aX2.js";
132
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CVh1ixYm.js";
133
133
  import "./logging-BGewRZy0.js";
134
134
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DEMKx4eC.js";
135
135
  import "./doctor-config-flow-BTonoZiN.js";
136
136
  import "./systemd-linger-DA_LW52P.js";
137
137
  import "./health-format-CzgUHmmX.js";
138
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-uh5icFLb.js";
139
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BrxVe5Vw.js";
138
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DpDi0x9k.js";
139
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CSwxOlhu.js";
140
140
  import { spawn, spawnSync } from "node:child_process";
141
141
  import os from "node:os";
142
142
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-B-0b9bGM.js";
2
- import { G as trimLogTail } from "./reply-HW7ujuKi.js";
2
+ import { G as trimLogTail } from "./reply-DBq43zxh.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Z947tKLt.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-CtckACbb.js";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { xt as trimLogTail } from "./subagent-registry-BKhraI9X.js";
3
+ import { xt as trimLogTail } from "./subagent-registry-CiBbcgit.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BseSWee1.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
6
6
  import os from "node:os";
@@ -5,7 +5,7 @@ import "./agent-scope-BxoUQqgM.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
6
6
  import "./workspace-wAaHI8-5.js";
7
7
  import "./tokens-H1H1LiSQ.js";
8
- import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./pi-embedded-B4VJG-rX.js";
8
+ import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./pi-embedded-MQyUl4Vd.js";
9
9
  import "./plugins-DQYI3Fr-.js";
10
10
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-tNElYrCH.js";
11
11
  import "./boolean-B8-BqKGQ.js";
@@ -13,7 +13,7 @@ import { t as formatCliCommand } from "./command-format-BaxDnULz.js";
13
13
  import "./bindings-B7Ke6LJi.js";
14
14
  import "./send-Dq3yh0n_.js";
15
15
  import "./send-B-uN5xRM.js";
16
- import "./deliver-CyuL3391.js";
16
+ import "./deliver-BpcMy6AD.js";
17
17
  import "./diagnostic-CI0kRQkt.js";
18
18
  import "./diagnostic-session-state-Bxo4UHOL.js";
19
19
  import "./accounts-CWktKM8a.js";
@@ -23,10 +23,10 @@ import "./model-auth-ueipoWgv.js";
23
23
  import "./github-copilot-token-C_qUP7p5.js";
24
24
  import "./pi-model-discovery-DaNAekda.js";
25
25
  import "./message-channel-Dz5lr5b0.js";
26
- import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-CutNlIBA.js";
26
+ import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-yCss7Bdi.js";
27
27
  import { n as loadConfig } from "./config-oz6yMs1r.js";
28
28
  import "./manifest-registry-D0IQ3WuX.js";
29
- import "./chrome-0jst3oxa.js";
29
+ import "./chrome-CkWGSMS5.js";
30
30
  import "./frontmatter-C_bv_0P8.js";
31
31
  import "./skills-BFekKL7i.js";
32
32
  import "./redact-jSxx6Ep2.js";
@@ -37,7 +37,7 @@ import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy
37
37
  import "./accounts-qtxJ-6em.js";
38
38
  import { s as resolveStorePath } from "./paths-DLyHUt31.js";
39
39
  import "./tool-images-DXB7tqWi.js";
40
- import "./image-OBAjrX26.js";
40
+ import "./image-Cvu0YSjj.js";
41
41
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-XlyuyChD.js";
42
42
  import "./manager-WMCMBAXk.js";
43
43
  import "./gemini-auth-Cb6WywoJ.js";
@@ -52,7 +52,7 @@ import "./render-CDCvpfhh.js";
52
52
  import "./commands-registry-DhT2Skgp.js";
53
53
  import "./skill-commands-Depo8UbH.js";
54
54
  import { t as finalizeInboundContext } from "./inbound-context-BlHX0H3E.js";
55
- import { p as registerUnhandledRejectionHandler } from "./runner-CJu9Gl_X.js";
55
+ import { p as registerUnhandledRejectionHandler } from "./runner-C-hs6BOd.js";
56
56
  import "./fetch-Bso4i15F.js";
57
57
  import { n as recordChannelActivity } from "./channel-activity-CsM_hJ_s.js";
58
58
  import { t as convertMarkdownTables } from "./tables-DuZspiBu.js";
@@ -8,7 +8,7 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
8
8
  import "./github-copilot-token-BbsJ0Qbo.js";
9
9
  import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
10
10
  import "./tokens-Cn6drXx2.js";
11
- import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as enqueueSystemEvent, a as resolveMentionGating, b as formatInboundEnvelope, c as recordPendingHistoryEntryIfEnabled, f as createDedupeCache, g as formatDurationPrecise, h as parseActivationCommand, i as buildPairingReply, l as shouldAckReactionForWhatsApp, m as normalizeGroupActivation, n as computeBackoff, o as DEFAULT_GROUP_HISTORY_LIMIT, p as getReplyFromConfig, r as sleepWithAbort, s as buildHistoryContextFromEntries, u as dispatchReplyWithBufferedBlockDispatcher, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-CalvdkmO.js";
11
+ import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as enqueueSystemEvent, a as resolveMentionGating, b as formatInboundEnvelope, c as recordPendingHistoryEntryIfEnabled, f as createDedupeCache, g as formatDurationPrecise, h as parseActivationCommand, i as buildPairingReply, l as shouldAckReactionForWhatsApp, m as normalizeGroupActivation, n as computeBackoff, o as DEFAULT_GROUP_HISTORY_LIMIT, p as getReplyFromConfig, r as sleepWithAbort, s as buildHistoryContextFromEntries, u as dispatchReplyWithBufferedBlockDispatcher, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-Dt55w8cV.js";
12
12
  import "./plugins-71oIavrF.js";
13
13
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import "./bindings-DYVakimr.js";
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
15
15
  import "./call-CvHdkyUu.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import { $t as normalizeGroupActivation, B as shouldAckReactionForWhatsApp, Bn as hasControlCommand, C as sleepWithAbort, F as buildPairingReply, Fn as createInboundDebouncer, Gn as normalizeMentionText, I as resolveMentionGating, In as resolveInboundDebounceMs, K as createDedupeCache, L as DEFAULT_GROUP_HISTORY_LIMIT, Ln as formatInboundEnvelope, R as buildHistoryContextFromEntries, Rn as resolveEnvelopeFormatOptions, S as computeBackoff, V as dispatchReplyWithBufferedBlockDispatcher, Vn as shouldComputeCommandAuthorized, Wn as buildMentionRegexes, en as parseActivationCommand, q as getReplyFromConfig, xn as enqueueSystemEvent, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-BKhraI9X.js";
18
+ import { $t as normalizeGroupActivation, B as shouldAckReactionForWhatsApp, Bn as hasControlCommand, C as sleepWithAbort, F as buildPairingReply, Fn as createInboundDebouncer, Gn as normalizeMentionText, I as resolveMentionGating, In as resolveInboundDebounceMs, K as createDedupeCache, L as DEFAULT_GROUP_HISTORY_LIMIT, Ln as formatInboundEnvelope, R as buildHistoryContextFromEntries, Rn as resolveEnvelopeFormatOptions, S as computeBackoff, V as dispatchReplyWithBufferedBlockDispatcher, Vn as shouldComputeCommandAuthorized, Wn as buildMentionRegexes, en as parseActivationCommand, q as getReplyFromConfig, xn as enqueueSystemEvent, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-CiBbcgit.js";
19
19
  import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-D_sYAXox.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-HW7ujuKi.js";
4
+ import "./reply-DBq43zxh.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -101,7 +101,7 @@ import "./pi-tools.policy-pnSSbfN7.js";
101
101
  import "./control-service-CjU6sFdJ.js";
102
102
  import "./stagger-BUClb97_.js";
103
103
  import "./channel-selection-DuWs0Aak.js";
104
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DwTSnmX3.js";
104
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CJj8XofR.js";
105
105
  import { n as sendMessageWhatsApp } from "./outbound-1VspdkI5.js";
106
106
  import { i as waitForWaConnection, t as createWaSocket } from "./session-BP0Gv1gb.js";
107
107
  import { t as loginWeb } from "./login-K4zjz_fH.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "2.0.21",
3
+ "version": "2.0.22",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",