@visorcraft/idlehands 4.0.6 → 4.0.8

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 (131) hide show
  1. package/dist/{agent-via-gateway-C1oU9h3s.js → agent-via-gateway-BNqWa2KY.js} +1 -1
  2. package/dist/{agent-via-gateway-CZ9i0g6_.js → agent-via-gateway-DAWRXgBZ.js} +2 -2
  3. package/dist/{agent-via-gateway-DbJ4VMCl.js → agent-via-gateway-DnukWgYg.js} +1 -1
  4. package/dist/{agent-via-gateway-iOxURXfD.js → agent-via-gateway-ot70omgC.js} +2 -2
  5. package/dist/{agents-A2yDgnqQ.js → agents-etUqQ3vM.js} +5 -5
  6. package/dist/{agents.config-Cj_x7yWQ.js → agents.config-DGaSmPdW.js} +1 -1
  7. package/dist/{agents.config-Dha06jbo.js → agents.config-FFOmEBpp.js} +1 -1
  8. package/dist/{anton-KSisnjZZ.js → anton-B7cGl-93.js} +1 -1
  9. package/dist/{anton-BzBaDHs_.js → anton-BV_xSUQi.js} +1 -1
  10. package/dist/{anton-Cec4qfxV.js → anton-CZliSAOv.js} +1 -1
  11. package/dist/{anton-BAc6lLhA.js → anton-CdYcHDXy.js} +1 -1
  12. package/dist/{auth-choice-rlwqipdV.js → auth-choice-CdEVNS6t.js} +2 -2
  13. package/dist/{auth-choice-c31g3E7e.js → auth-choice-qQO5MWz8.js} +2 -2
  14. package/dist/{banner-B7GWUHuF.js → banner-DKPFtm9j.js} +1 -1
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +2 -2
  17. package/dist/bundled/session-memory/handler.js +2 -2
  18. package/dist/{channel-options-DXhAdMSp.js → channel-options-BNcsrd0d.js} +1 -1
  19. package/dist/{channel-options-BlWLEOqB.js → channel-options-CSurZCfX.js} +1 -1
  20. package/dist/{channel-web-zsCiOUKL.js → channel-web-COYnY8sZ.js} +2 -2
  21. package/dist/{channel-web-BHb38KRe.js → channel-web-DfBOK5if.js} +2 -2
  22. package/dist/{channels-cli-CUX6YOuf.js → channels-cli-BTIg3DJP.js} +8 -8
  23. package/dist/{channels-cli-DbGUpBdY.js → channels-cli-GZ16c99F.js} +8 -8
  24. package/dist/cli/daemon-cli.js +1 -1
  25. package/dist/{cli-ldDnZPxZ.js → cli-CBXoKbJn.js} +3 -3
  26. package/dist/{cli-CE_9epWz.js → cli-CnjJnIx0.js} +3 -3
  27. package/dist/{command-registry-kWr6njq5.js → command-registry-D3iSv7Of.js} +10 -10
  28. package/dist/{completion-cli-BbVWdP38.js → completion-cli-Dkh-Zrqo.js} +2 -2
  29. package/dist/{completion-cli-DynWWkBp.js → completion-cli-Zaylny55.js} +1 -1
  30. package/dist/{config-cli-CO4X1bLk.js → config-cli-B8R8eDUm.js} +1 -1
  31. package/dist/{config-cli-q_k9h_dy.js → config-cli-DOf-CodQ.js} +1 -1
  32. package/dist/{configure-uH1c6xFf.js → configure-3o91R4Qd.js} +6 -6
  33. package/dist/{configure-DX9PRpEj.js → configure-Wh7ZMjiP.js} +6 -6
  34. package/dist/{daemon-cli-C6nJQWdR.js → daemon-cli-B1Ti51bt.js} +1 -1
  35. package/dist/{daemon-cli-CuIfti01.js → daemon-cli-yC6gq-yv.js} +1 -1
  36. package/dist/{deps-984qcpt2.js → deps-0GRTVtgy.js} +1 -1
  37. package/dist/{deps-DGHlGKcG.js → deps-Bdrf7UsT.js} +1 -1
  38. package/dist/{deps-CcZ0VtSz.js → deps-Ci76e_07.js} +1 -1
  39. package/dist/{deps-D-R85-_U.js → deps-DB6dI42Y.js} +1 -1
  40. package/dist/{doctor-completion-B6siF0IK.js → doctor-completion-BeqR17ft.js} +1 -1
  41. package/dist/{doctor-completion-snvvOxaf.js → doctor-completion-CeD_GwXj.js} +1 -1
  42. package/dist/{emergency-stop--xlBYCby.js → emergency-stop-B1ycCthl.js} +2 -2
  43. package/dist/{emergency-stop-EXYMl2Ho.js → emergency-stop-BpudAT0i.js} +2 -2
  44. package/dist/{emergency-stop-BZLDQaYe.js → emergency-stop-D8XCYE8L.js} +3 -3
  45. package/dist/{emergency-stop-BC_KUVeL.js → emergency-stop-fApFDnLR.js} +3 -3
  46. package/dist/entry.js +1 -1
  47. package/dist/extensionAPI.js +2 -2
  48. package/dist/{gateway-cli-CfbN2Xbe.js → gateway-cli-D3b05F0y.js} +11 -11
  49. package/dist/{gateway-cli-DM0ooWQQ.js → gateway-cli-D9wmLKfn.js} +11 -11
  50. package/dist/{health-OCL-usM5.js → health-D6PJPflH.js} +1 -1
  51. package/dist/{health-BDvy-dA9.js → health-cUQV1hzf.js} +1 -1
  52. package/dist/{hooks-cli-CUIYCmOS.js → hooks-cli-Cg5joAHH.js} +4 -4
  53. package/dist/{hooks-cli-5KuPo6bD.js → hooks-cli-Cs51IGnr.js} +4 -4
  54. package/dist/index.js +8 -8
  55. package/dist/llm-slug-generator.js +2 -2
  56. package/dist/{models-cli-C875vRWq.js → models-cli-D6CVD4Jl.js} +4 -4
  57. package/dist/{models-cli-CibiImfr.js → models-cli-Va0ILYmK.js} +5 -5
  58. package/dist/{models-inlOYmCX.js → models-tqBGSD-X.js} +3 -3
  59. package/dist/{npm-resolution-tDRQud66.js → npm-resolution-CCdELgCy.js} +1 -1
  60. package/dist/{npm-resolution-BXHiLMfy.js → npm-resolution-DgW-oSJa.js} +1 -1
  61. package/dist/{onboard-BCwy-W51.js → onboard-Bfd4q7HR.js} +3 -3
  62. package/dist/{onboard-ZUYeDNCj.js → onboard-Br7oW1Sf.js} +3 -3
  63. package/dist/{onboard-channels-CeCDoXNW.js → onboard-channels-BpCQ5nQX.js} +2 -2
  64. package/dist/{onboard-channels-D9UK8Czg.js → onboard-channels-wDbxIOXH.js} +2 -2
  65. package/dist/{onboard-helpers-BSy20uKb.js → onboard-helpers-BQmbMJxJ.js} +8 -9
  66. package/dist/{onboard-helpers-Cdddkdhv.js → onboard-helpers-Dp6wXNs7.js} +8 -9
  67. package/dist/{onboard-remote-0wlFUWfX.js → onboard-remote-1ZZd5lcX.js} +1 -1
  68. package/dist/{onboard-remote-Cj7cz8ns.js → onboard-remote-CIjhaP2W.js} +1 -1
  69. package/dist/{onboard-skills-DBPNAx3R.js → onboard-skills-BD_AS1Iy.js} +1 -1
  70. package/dist/{onboard-skills-B8402Ifd.js → onboard-skills-BsaUIuq6.js} +1 -1
  71. package/dist/{onboarding-BEh5hLef.js → onboarding-CegT14jj.js} +7 -7
  72. package/dist/{onboarding-BEgQKvqk.js → onboarding-rD-jdAK3.js} +7 -7
  73. package/dist/{onboarding.finalize-DwqJoeKV.js → onboarding.finalize-C50Cd_QG.js} +7 -7
  74. package/dist/{onboarding.finalize-BlP8lhLC.js → onboarding.finalize-CHq5hQxh.js} +8 -8
  75. package/dist/{onboarding.gateway-config-DdbTCDFQ.js → onboarding.gateway-config-CEQMyj8l.js} +1 -1
  76. package/dist/{onboarding.gateway-config-BD4jhrPV.js → onboarding.gateway-config-Czn7jKsq.js} +1 -1
  77. package/dist/{pi-embedded-CMLNiqQq.js → pi-embedded-2EqYdroP.js} +81 -27
  78. package/dist/{pi-embedded-CxYEstRZ.js → pi-embedded-znVFwmix.js} +81 -27
  79. package/dist/{plugin-registry-DPKJHNR_.js → plugin-registry-CYXCwXDq.js} +1 -1
  80. package/dist/{plugin-registry-DH5gOl_u.js → plugin-registry-DAtKgBy3.js} +1 -1
  81. package/dist/plugin-sdk/{agent-via-gateway-B4ZhKrSY.js → agent-via-gateway-BeEBACUq.js} +2 -2
  82. package/dist/plugin-sdk/{anton-i1YeE2Ju.js → anton-DXocufH_.js} +1 -1
  83. package/dist/plugin-sdk/{channel-web-MWHDHhG_.js → channel-web-DOG4rb7e.js} +2 -2
  84. package/dist/plugin-sdk/{deps-Cm-ahw03.js → deps--J_OAyWa.js} +1 -1
  85. package/dist/plugin-sdk/{emergency-stop-B0UyCqt2.js → emergency-stop-CAC-_dk-.js} +2 -2
  86. package/dist/plugin-sdk/index.js +3 -3
  87. package/dist/plugin-sdk/{reply-FeJkvBTh.js → reply-5pZsGmq0.js} +81 -27
  88. package/dist/plugin-sdk/{web-CSrqwl06.js → web-B-T8tUvc.js} +3 -3
  89. package/dist/{plugins-cli-3arRp6gc.js → plugins-cli-CAbzpQdE.js} +4 -4
  90. package/dist/{plugins-cli-DranMED6.js → plugins-cli-Di1X-utw.js} +4 -4
  91. package/dist/{program-DY_Rkd8D.js → program-DCfsqP_8.js} +9 -9
  92. package/dist/{program-context-9CaHm5SI.js → program-context-Dhec-fGX.js} +19 -19
  93. package/dist/{prompt-select-styled-DvMmAvyn.js → prompt-select-styled-C1aw6YAJ.js} +5 -5
  94. package/dist/{prompt-select-styled-CElbRg_a.js → prompt-select-styled-CJ2ux4O0.js} +5 -5
  95. package/dist/{provider-auth-helpers-BPCg8qMf.js → provider-auth-helpers-BPsTPi3e.js} +1 -1
  96. package/dist/{provider-auth-helpers-BaZhGGjD.js → provider-auth-helpers-aWibl0HT.js} +1 -1
  97. package/dist/{push-apns-a0wNNljR.js → push-apns-BracxehR.js} +1 -1
  98. package/dist/{push-apns-CuguN4fn.js → push-apns-By39WpiH.js} +1 -1
  99. package/dist/{register.agent-DyykxslK.js → register.agent-BaVrC6Ay.js} +10 -10
  100. package/dist/{register.agent-ymF22qxN.js → register.agent-CyZyt49k.js} +9 -9
  101. package/dist/{register.configure-BKQteoMw.js → register.configure-CqmHvWcB.js} +11 -11
  102. package/dist/{register.configure-CPZIddJn.js → register.configure-DmjP2LTb.js} +11 -11
  103. package/dist/{register.maintenance-DT7W26RY.js → register.maintenance-DYYx-jCe.js} +10 -10
  104. package/dist/{register.maintenance-p-8kL3Pz.js → register.maintenance-DfWWglhS.js} +9 -9
  105. package/dist/{register.message-hOKynGzt.js → register.message-C3tFRLbl.js} +4 -4
  106. package/dist/{register.message-BBEFC660.js → register.message-Cke7XTrc.js} +4 -4
  107. package/dist/{register.onboard-5z2i2-V5.js → register.onboard-BXK-V33E.js} +3 -3
  108. package/dist/{register.onboard-DdJ-EgL1.js → register.onboard-DLZNgT0T.js} +3 -3
  109. package/dist/{register.orchestrator-anton-DeJEVI3c.js → register.orchestrator-anton-D2g_KbgY.js} +2 -2
  110. package/dist/{register.orchestrator-anton-CxWBZjBX.js → register.orchestrator-anton-rvqNZKP1.js} +2 -2
  111. package/dist/{register.setup-DBQu6Xk7.js → register.setup-DBL7rrRW.js} +3 -3
  112. package/dist/{register.setup-CPqwZAdx.js → register.setup-Dr-v5BSC.js} +3 -3
  113. package/dist/{register.status-health-sessions-DHb1QZxy.js → register.status-health-sessions-BDG_QnIw.js} +5 -5
  114. package/dist/{register.status-health-sessions-CDaM5Qx2.js → register.status-health-sessions-BrnK4KEW.js} +5 -5
  115. package/dist/{register.subclis-DgWtjP5g.js → register.subclis-SGnxsMrq.js} +10 -10
  116. package/dist/{reply-CsQQGCNB.js → reply-tuqCy_5s.js} +82 -28
  117. package/dist/{run-main-DAK3Rydh.js → run-main-KfdXYi7n.js} +16 -16
  118. package/dist/{server-node-events-DBdK-iF8.js → server-node-events-BLSMmXyp.js} +4 -4
  119. package/dist/{server-node-events-C32rthAw.js → server-node-events-Brm38g1H.js} +4 -4
  120. package/dist/{status-CI9kOoYW.js → status-CLNSJORR.js} +3 -3
  121. package/dist/{status-velMOawa.js → status-CmG_xHAm.js} +3 -3
  122. package/dist/{subagent-registry-B5MdaonE.js → subagent-registry-B-ciR-Ya.js} +82 -28
  123. package/dist/{update-cli-C7y4ymGs.js → update-cli-B-RzWiVk.js} +10 -10
  124. package/dist/{update-cli-CDGqZduV.js → update-cli-ButEdTeQ.js} +11 -11
  125. package/dist/{update-runner-Crqt-f5z.js → update-runner-Cxg4n1sn.js} +1 -1
  126. package/dist/{update-runner-xP0EJfLP.js → update-runner-DizoiA2w.js} +1 -1
  127. package/dist/{web-C67ozQHC.js → web-C4Q6twkC.js} +4 -4
  128. package/dist/{web-CZCgCfEk.js → web-D5dDa5kC.js} +3 -3
  129. package/dist/{web-BcMY4ar0.js → web-DWhjgVIf.js} +3 -3
  130. package/dist/{web-BuuP6YsH.js → web-DtCFqhdb.js} +4 -4
  131. package/package.json +1 -1
@@ -64,7 +64,7 @@ const entries = [
64
64
  description: "Run, inspect, and query the WebSocket Gateway",
65
65
  hasSubcommands: true,
66
66
  register: async (program) => {
67
- (await import("./gateway-cli-CfbN2Xbe.js")).registerGatewayCli(program);
67
+ (await import("./gateway-cli-D3b05F0y.js")).registerGatewayCli(program);
68
68
  }
69
69
  },
70
70
  {
@@ -72,7 +72,7 @@ const entries = [
72
72
  description: "Gateway service (legacy alias)",
73
73
  hasSubcommands: true,
74
74
  register: async (program) => {
75
- (await import("./daemon-cli-CuIfti01.js").then((n) => n.t)).registerDaemonCli(program);
75
+ (await import("./daemon-cli-yC6gq-yv.js").then((n) => n.t)).registerDaemonCli(program);
76
76
  }
77
77
  },
78
78
  {
@@ -96,7 +96,7 @@ const entries = [
96
96
  description: "Discover, scan, and configure models",
97
97
  hasSubcommands: true,
98
98
  register: async (program) => {
99
- (await import("./models-cli-CibiImfr.js")).registerModelsCli(program);
99
+ (await import("./models-cli-Va0ILYmK.js")).registerModelsCli(program);
100
100
  }
101
101
  },
102
102
  {
@@ -176,7 +176,7 @@ const entries = [
176
176
  description: "Manage internal agent hooks",
177
177
  hasSubcommands: true,
178
178
  register: async (program) => {
179
- (await import("./hooks-cli-CUIYCmOS.js")).registerHooksCli(program);
179
+ (await import("./hooks-cli-Cg5joAHH.js")).registerHooksCli(program);
180
180
  }
181
181
  },
182
182
  {
@@ -208,7 +208,7 @@ const entries = [
208
208
  description: "Secure DM pairing (approve inbound requests)",
209
209
  hasSubcommands: true,
210
210
  register: async (program) => {
211
- const { registerPluginCliCommands } = await import("./cli-ldDnZPxZ.js");
211
+ const { registerPluginCliCommands } = await import("./cli-CBXoKbJn.js");
212
212
  registerPluginCliCommands(program, await loadConfig());
213
213
  (await import("./pairing-cli-C3wlSGJS.js")).registerPairingCli(program);
214
214
  }
@@ -218,8 +218,8 @@ const entries = [
218
218
  description: "Manage IdleHands plugins and extensions",
219
219
  hasSubcommands: true,
220
220
  register: async (program) => {
221
- (await import("./plugins-cli-3arRp6gc.js")).registerPluginsCli(program);
222
- const { registerPluginCliCommands } = await import("./cli-ldDnZPxZ.js");
221
+ (await import("./plugins-cli-CAbzpQdE.js")).registerPluginsCli(program);
222
+ const { registerPluginCliCommands } = await import("./cli-CBXoKbJn.js");
223
223
  registerPluginCliCommands(program, await loadConfig());
224
224
  }
225
225
  },
@@ -228,7 +228,7 @@ const entries = [
228
228
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
229
229
  hasSubcommands: true,
230
230
  register: async (program) => {
231
- (await import("./channels-cli-CUX6YOuf.js")).registerChannelsCli(program);
231
+ (await import("./channels-cli-BTIg3DJP.js")).registerChannelsCli(program);
232
232
  }
233
233
  },
234
234
  {
@@ -268,7 +268,7 @@ const entries = [
268
268
  description: "Update IdleHands and inspect update channel status",
269
269
  hasSubcommands: true,
270
270
  register: async (program) => {
271
- (await import("./update-cli-CDGqZduV.js")).registerUpdateCli(program);
271
+ (await import("./update-cli-ButEdTeQ.js")).registerUpdateCli(program);
272
272
  }
273
273
  },
274
274
  {
@@ -304,7 +304,7 @@ const entries = [
304
304
  description: "Generate shell completion script",
305
305
  hasSubcommands: false,
306
306
  register: async (program) => {
307
- (await import("./completion-cli-BbVWdP38.js").then((n) => n.n)).registerCompletionCli(program);
307
+ (await import("./completion-cli-Dkh-Zrqo.js").then((n) => n.n)).registerCompletionCli(program);
308
308
  }
309
309
  }
310
310
  ];
@@ -103,12 +103,12 @@ import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-c
103
103
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-hSFVxL4h.js";
104
104
  import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-BFzmZAfo.js";
105
105
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-30JxwI-t.js";
106
- import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-D-R85-_U.js";
106
+ import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-DB6dI42Y.js";
107
107
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-7DUxMy6A.js";
108
108
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-ZxRkxpuF.js";
109
109
  import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-DS1rjzML.js";
110
110
  import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-DQiw_nGD.js";
111
- import { r as detectBinary } from "./onboard-helpers-BSy20uKb.js";
111
+ import { r as detectBinary } from "./onboard-helpers-BQmbMJxJ.js";
112
112
  import { t as resolvePairingIdLabel } from "./pairing-labels-ChQJzbS9.js";
113
113
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-D1JXJKiz.js";
114
114
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-rQoQSWkz.js";
@@ -27503,7 +27503,7 @@ function createDiscordMessageHandler(params) {
27503
27503
  try {
27504
27504
  const messageText = resolveDiscordMessageText(data.message)?.trim();
27505
27505
  if (messageText) {
27506
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BC_KUVeL.js");
27506
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
27507
27507
  if (isAbortRequestText(messageText)) {
27508
27508
  const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
27509
27509
  const channelId = resolveDiscordMessageChannelId({
@@ -38171,7 +38171,7 @@ async function monitorIMessageProvider(opts = {}) {
38171
38171
  }
38172
38172
  const msgText = (message.text ?? "").trim();
38173
38173
  if (msgText) {
38174
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BC_KUVeL.js");
38174
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
38175
38175
  if (isAbortRequestText(msgText)) {
38176
38176
  const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
38177
38177
  const route = resolveAgentRoute({
@@ -40852,7 +40852,7 @@ function createSignalEventHandler(deps) {
40852
40852
  const senderName = envelope.sourceName ?? senderDisplay;
40853
40853
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
40854
40854
  if (bodyText) {
40855
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BC_KUVeL.js");
40855
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
40856
40856
  if (isAbortRequestText(bodyText)) {
40857
40857
  const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
40858
40858
  const route = resolveAgentRoute({
@@ -44315,7 +44315,7 @@ function createSlackMessageHandler(params) {
44315
44315
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
44316
44316
  const rawText = (message.text ?? "").trim();
44317
44317
  if (rawText) {
44318
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BC_KUVeL.js");
44318
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
44319
44319
  if (isAbortRequestText(rawText)) {
44320
44320
  const { resolveAgentRoute } = await import("./resolve-route-D_AbcmD6.js").then((n) => n.r);
44321
44321
  const route = resolveAgentRoute({
@@ -48926,7 +48926,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
48926
48926
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
48927
48927
  const text = typeof msg.text === "string" ? msg.text : void 0;
48928
48928
  if (text) {
48929
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BC_KUVeL.js");
48929
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-fApFDnLR.js");
48930
48930
  if (isAbortRequestText(text)) {
48931
48931
  const senderId = msg.from?.id ? String(msg.from.id) : "";
48932
48932
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -52420,7 +52420,7 @@ function loadWebLoginQr() {
52420
52420
  return webLoginQrPromise;
52421
52421
  }
52422
52422
  function loadWebChannel() {
52423
- webChannelPromise ??= import("./web-C67ozQHC.js");
52423
+ webChannelPromise ??= import("./web-C4Q6twkC.js");
52424
52424
  return webChannelPromise;
52425
52425
  }
52426
52426
  function loadWhatsAppActions() {
@@ -75146,9 +75146,12 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
75146
75146
  const body = params.command.commandBodyNormalized;
75147
75147
  if (!body.startsWith("/anton")) return null;
75148
75148
  if (!params.command.isAuthorizedSender) return { shouldContinue: false };
75149
+ const channel = params.ctx.OriginatingChannel ?? params.command.channel;
75150
+ const to = params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "";
75151
+ const canRoute = isRoutableChannel(channel);
75149
75152
  const replyCtx = {
75150
- channel: params.ctx.OriginatingChannel ?? params.command.channel,
75151
- to: params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "",
75153
+ channel,
75154
+ to,
75152
75155
  sessionKey: params.sessionKey,
75153
75156
  accountId: params.ctx.AccountId,
75154
75157
  threadId: params.ctx.MessageThreadId,
@@ -75156,25 +75159,35 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
75156
75159
  };
75157
75160
  const arg = body.slice(6).trim();
75158
75161
  if (arg === "status" || arg === "") {
75159
- const { antonStatus } = await import("./anton-KSisnjZZ.js").then((n) => n.r);
75162
+ const { antonStatus } = await import("./anton-B7cGl-93.js").then((n) => n.r);
75160
75163
  const lines = [];
75161
75164
  await antonStatus({
75162
75165
  log: (msg) => lines.push(msg),
75163
75166
  error: (msg) => lines.push(msg),
75164
75167
  exit: () => {}
75165
75168
  });
75166
- await sendProgress(replyCtx, lines.join("\n") || "Anton is idle.");
75169
+ const text = lines.join("\n") || "Anton is idle.";
75170
+ if (!canRoute) return {
75171
+ shouldContinue: false,
75172
+ reply: { text }
75173
+ };
75174
+ await sendProgress(replyCtx, text);
75167
75175
  return { shouldContinue: false };
75168
75176
  }
75169
75177
  if (arg === "stop") {
75170
- const { antonStop } = await import("./anton-KSisnjZZ.js").then((n) => n.r);
75178
+ const { antonStop } = await import("./anton-B7cGl-93.js").then((n) => n.r);
75171
75179
  const lines = [];
75172
75180
  await antonStop({
75173
75181
  log: (msg) => lines.push(msg),
75174
75182
  error: (msg) => lines.push(msg),
75175
75183
  exit: () => {}
75176
75184
  });
75177
- await sendProgress(replyCtx, lines.join("\n") || "Stop requested.");
75185
+ const text = lines.join("\n") || "Stop requested.";
75186
+ if (!canRoute) return {
75187
+ shouldContinue: false,
75188
+ reply: { text }
75189
+ };
75190
+ await sendProgress(replyCtx, text);
75178
75191
  return { shouldContinue: false };
75179
75192
  }
75180
75193
  const taskFile = arg;
@@ -75183,19 +75196,30 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
75183
75196
  const resolvedPath = pathMod.resolve(params.workspaceDir || process.cwd(), taskFile);
75184
75197
  try {
75185
75198
  if (!(await fs.stat(resolvedPath)).isFile()) {
75186
- await sendProgress(replyCtx, `❌ Not a file: \`${resolvedPath}\``);
75199
+ const text = `❌ Not a file: \`${resolvedPath}\``;
75200
+ if (!canRoute) return {
75201
+ shouldContinue: false,
75202
+ reply: { text }
75203
+ };
75204
+ await sendProgress(replyCtx, text);
75187
75205
  return { shouldContinue: false };
75188
75206
  }
75189
75207
  } catch {
75190
- await sendProgress(replyCtx, `❌ File not found: \`${resolvedPath}\``);
75208
+ const text = `❌ File not found: \`${resolvedPath}\``;
75209
+ if (!canRoute) return {
75210
+ shouldContinue: false,
75211
+ reply: { text }
75212
+ };
75213
+ await sendProgress(replyCtx, text);
75191
75214
  return { shouldContinue: false };
75192
75215
  }
75193
- const { runAnton, formatProgressMessage } = await import("./anton-KSisnjZZ.js").then((n) => n.r);
75194
- const { createDefaultDeps } = await import("./deps-D-R85-_U.js").then((n) => n.r);
75216
+ const { runAnton, formatProgressMessage } = await import("./anton-B7cGl-93.js").then((n) => n.r);
75217
+ const { createDefaultDeps } = await import("./deps-DB6dI42Y.js").then((n) => n.r);
75195
75218
  const { createNonExitingRuntime } = await import("./runtime-44j_X4Y6.js").then((n) => n.r);
75196
75219
  const runtime = createNonExitingRuntime();
75197
75220
  const deps = createDefaultDeps();
75198
- await sendProgress(replyCtx, `🤚 **/anton** invoked on \`${pathMod.basename(resolvedPath)}\`\nStarting orchestrator...`);
75221
+ const startText = `🤚 **/anton** invoked on \`${pathMod.basename(resolvedPath)}\`\nStarting orchestrator...`;
75222
+ if (canRoute) await sendProgress(replyCtx, startText);
75199
75223
  (async () => {
75200
75224
  try {
75201
75225
  await runAnton({
@@ -75205,15 +75229,19 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
75205
75229
  force: false,
75206
75230
  dryRun: false,
75207
75231
  workspaceDir: params.workspaceDir || void 0,
75208
- onProgress: async (event) => {
75232
+ ...canRoute ? { onProgress: async (event) => {
75209
75233
  await sendProgress(replyCtx, formatProgressMessage(event));
75210
- }
75234
+ } } : {}
75211
75235
  });
75212
75236
  } catch (err) {
75213
- await sendProgress(replyCtx, `❌ **Anton crashed**: ${err instanceof Error ? err.message : String(err)}`);
75237
+ const msg = err instanceof Error ? err.message : String(err);
75238
+ if (canRoute) await sendProgress(replyCtx, `❌ **Anton crashed**: ${msg}`);
75214
75239
  }
75215
75240
  })();
75216
- return { shouldContinue: false };
75241
+ return canRoute ? { shouldContinue: false } : {
75242
+ shouldContinue: false,
75243
+ reply: { text: startText }
75244
+ };
75217
75245
  };
75218
75246
 
75219
75247
  //#endregion
@@ -75225,9 +75253,15 @@ const handleDirCommand = async (params, _allowTextCommands) => {
75225
75253
  const channel = params.ctx.OriginatingChannel ?? params.command.channel;
75226
75254
  const to = params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "";
75227
75255
  const arg = body.slice(4).trim();
75256
+ const canRoute = isRoutableChannel(channel);
75228
75257
  if (!arg) {
75258
+ const text = `📂 Current workspace: \`${params.workspaceDir || "(not set)"}\``;
75259
+ if (!canRoute) return {
75260
+ shouldContinue: false,
75261
+ reply: { text }
75262
+ };
75229
75263
  await routeReply({
75230
- payload: { text: `📂 Current workspace: \`${params.workspaceDir || "(not set)"}\`` },
75264
+ payload: { text },
75231
75265
  channel,
75232
75266
  to,
75233
75267
  sessionKey: params.sessionKey,
@@ -75242,8 +75276,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
75242
75276
  const resolved = (await import("node:path")).resolve(newPath);
75243
75277
  try {
75244
75278
  if (!(await fs.stat(resolved)).isDirectory()) {
75279
+ const text = `❌ Path exists but is not a directory: \`${resolved}\``;
75280
+ if (!canRoute) return {
75281
+ shouldContinue: false,
75282
+ reply: { text }
75283
+ };
75245
75284
  await routeReply({
75246
- payload: { text: `❌ Path exists but is not a directory: \`${resolved}\`` },
75285
+ payload: { text },
75247
75286
  channel,
75248
75287
  to,
75249
75288
  sessionKey: params.sessionKey,
@@ -75254,8 +75293,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
75254
75293
  return { shouldContinue: false };
75255
75294
  }
75256
75295
  } catch {
75296
+ const text = `❌ Directory not found: \`${resolved}\``;
75297
+ if (!canRoute) return {
75298
+ shouldContinue: false,
75299
+ reply: { text }
75300
+ };
75257
75301
  await routeReply({
75258
- payload: { text: `❌ Directory not found: \`${resolved}\`` },
75302
+ payload: { text },
75259
75303
  channel,
75260
75304
  to,
75261
75305
  sessionKey: params.sessionKey,
@@ -75276,8 +75320,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
75276
75320
  });
75277
75321
  }
75278
75322
  params.workspaceDir = resolved;
75323
+ const text = `✅ Workspace set to: \`${resolved}\`\nActive for this session only.`;
75324
+ if (!canRoute) return {
75325
+ shouldContinue: false,
75326
+ reply: { text }
75327
+ };
75279
75328
  await routeReply({
75280
- payload: { text: `✅ Workspace set to: \`${resolved}\`\nActive for this session only.` },
75329
+ payload: { text },
75281
75330
  channel,
75282
75331
  to,
75283
75332
  sessionKey: params.sessionKey,
@@ -75286,8 +75335,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
75286
75335
  cfg: params.cfg
75287
75336
  });
75288
75337
  } catch (err) {
75338
+ const text = `❌ Failed to update workspace: ${err instanceof Error ? err.message : String(err)}`;
75339
+ if (!canRoute) return {
75340
+ shouldContinue: false,
75341
+ reply: { text }
75342
+ };
75289
75343
  await routeReply({
75290
- payload: { text: `❌ Failed to update workspace: ${err instanceof Error ? err.message : String(err)}` },
75344
+ payload: { text },
75291
75345
  channel,
75292
75346
  to,
75293
75347
  sessionKey: params.sessionKey,
@@ -25,7 +25,7 @@ import "./logging-Bgrm4o7g.js";
25
25
  import "./auth-store-D9BmR4S6.js";
26
26
  import "./send-m4lQkQcY.js";
27
27
  import "./send-CCiDIuX4.js";
28
- import "./subagent-registry-B5MdaonE.js";
28
+ import "./subagent-registry-B-ciR-Ya.js";
29
29
  import "./paths-CC17i2eK.js";
30
30
  import "./chat-envelope-Dedaetiq.js";
31
31
  import "./client-Brv1GCwX.js";
@@ -108,15 +108,15 @@ import "./cli-utils-BfsDuRZS.js";
108
108
  import "./help-format-CldHB7lS.js";
109
109
  import "./progress-B76RkFx7.js";
110
110
  import "./replies-DSfpze17.js";
111
- import "./deps-984qcpt2.js";
112
- import "./onboard-helpers-Cdddkdhv.js";
111
+ import "./deps-0GRTVtgy.js";
112
+ import "./onboard-helpers-Dp6wXNs7.js";
113
113
  import "./prompt-style-XmK49QYK.js";
114
114
  import "./pairing-labels-D7xcHkxi.js";
115
115
  import { t as ensureIdleHandsCliOnPath } from "./path-env-cPX3lugV.js";
116
116
  import "./note-C2HHth6G.js";
117
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DH5gOl_u.js";
117
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DAtKgBy3.js";
118
118
  import { t as assertSupportedRuntime } from "./runtime-guard-DTSD0F6o.js";
119
- import { t as emitCliBanner } from "./banner-B7GWUHuF.js";
119
+ import { t as emitCliBanner } from "./banner-DKPFtm9j.js";
120
120
  import "./doctor-config-flow-BvGvt5rT.js";
121
121
  import { n as ensureConfigReady } from "./config-guard-7CCnD0lc.js";
122
122
  import process$1 from "node:process";
@@ -131,7 +131,7 @@ const routeHealth = {
131
131
  const verbose = getVerboseFlag(argv, { includeDebug: true });
132
132
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
133
133
  if (timeoutMs === null) return false;
134
- const { healthCommand } = await import("./health-OCL-usM5.js").then((n) => n.i);
134
+ const { healthCommand } = await import("./health-D6PJPflH.js").then((n) => n.i);
135
135
  await healthCommand({
136
136
  json,
137
137
  timeoutMs,
@@ -151,7 +151,7 @@ const routeStatus = {
151
151
  const verbose = getVerboseFlag(argv, { includeDebug: true });
152
152
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
153
153
  if (timeoutMs === null) return false;
154
- const { statusCommand } = await import("./status-CI9kOoYW.js").then((n) => n.t);
154
+ const { statusCommand } = await import("./status-CLNSJORR.js").then((n) => n.t);
155
155
  await statusCommand({
156
156
  json,
157
157
  deep,
@@ -190,7 +190,7 @@ const routeAgentsList = {
190
190
  run: async (argv) => {
191
191
  const json = hasFlag(argv, "--json");
192
192
  const bindings = hasFlag(argv, "--bindings");
193
- const { agentsListCommand } = await import("./agents-A2yDgnqQ.js").then((n) => n.t);
193
+ const { agentsListCommand } = await import("./agents-etUqQ3vM.js").then((n) => n.t);
194
194
  await agentsListCommand({
195
195
  json,
196
196
  bindings
@@ -261,7 +261,7 @@ const routes = [
261
261
  const pathArg = getCommandPositionals(argv)[2];
262
262
  if (!pathArg) return false;
263
263
  const json = hasFlag(argv, "--json");
264
- const { runConfigGet } = await import("./config-cli-CO4X1bLk.js");
264
+ const { runConfigGet } = await import("./config-cli-B8R8eDUm.js");
265
265
  await runConfigGet({
266
266
  path: pathArg,
267
267
  json
@@ -274,7 +274,7 @@ const routes = [
274
274
  run: async (argv) => {
275
275
  const pathArg = getCommandPositionals(argv)[2];
276
276
  if (!pathArg) return false;
277
- const { runConfigUnset } = await import("./config-cli-CO4X1bLk.js");
277
+ const { runConfigUnset } = await import("./config-cli-B8R8eDUm.js");
278
278
  await runConfigUnset({ path: pathArg });
279
279
  return true;
280
280
  }
@@ -288,7 +288,7 @@ const routes = [
288
288
  const local = hasFlag(argv, "--local");
289
289
  const json = hasFlag(argv, "--json");
290
290
  const plain = hasFlag(argv, "--plain");
291
- const { modelsListCommand } = await import("./models-inlOYmCX.js").then((n) => n.t);
291
+ const { modelsListCommand } = await import("./models-tqBGSD-X.js").then((n) => n.t);
292
292
  await modelsListCommand({
293
293
  all,
294
294
  local,
@@ -319,7 +319,7 @@ const routes = [
319
319
  const plain = hasFlag(argv, "--plain");
320
320
  const check = hasFlag(argv, "--check");
321
321
  const probe = hasFlag(argv, "--probe");
322
- const { modelsStatusCommand } = await import("./models-inlOYmCX.js").then((n) => n.t);
322
+ const { modelsStatusCommand } = await import("./models-tqBGSD-X.js").then((n) => n.t);
323
323
  await modelsStatusCommand({
324
324
  json,
325
325
  plain,
@@ -397,7 +397,7 @@ async function runCli(argv = process$1.argv) {
397
397
  assertSupportedRuntime();
398
398
  if (await tryRouteCli(normalizedArgv)) return;
399
399
  enableConsoleCapture();
400
- const { buildProgram } = await import("./program-DY_Rkd8D.js");
400
+ const { buildProgram } = await import("./program-DCfsqP_8.js");
401
401
  const program = buildProgram();
402
402
  installUnhandledRejectionHandler();
403
403
  process$1.on("uncaughtException", (error) => {
@@ -410,10 +410,10 @@ async function runCli(argv = process$1.argv) {
410
410
  const { getProgramContext } = await import("./program-context-BrqeiWcA.js").then((n) => n.n);
411
411
  const ctx = getProgramContext(program);
412
412
  if (ctx) {
413
- const { registerCoreCliByName } = await import("./command-registry-kWr6njq5.js").then((n) => n.t);
413
+ const { registerCoreCliByName } = await import("./command-registry-D3iSv7Of.js").then((n) => n.t);
414
414
  await registerCoreCliByName(program, ctx, primary, parseArgv);
415
415
  }
416
- const { registerSubCliByName } = await import("./register.subclis-DgWtjP5g.js").then((n) => n.a);
416
+ const { registerSubCliByName } = await import("./register.subclis-SGnxsMrq.js").then((n) => n.a);
417
417
  await registerSubCliByName(program, primary);
418
418
  }
419
419
  if (!shouldSkipPluginCommandRegistration({
@@ -421,7 +421,7 @@ async function runCli(argv = process$1.argv) {
421
421
  primary,
422
422
  hasBuiltinPrimary: primary !== null && program.commands.some((command) => command.name() === primary)
423
423
  })) {
424
- const { registerPluginCliCommands } = await import("./cli-ldDnZPxZ.js");
424
+ const { registerPluginCliCommands } = await import("./cli-CBXoKbJn.js");
425
425
  const { loadConfig } = await import("./auth-profiles-Baj5ImDJ.js").then((n) => n.D);
426
426
  registerPluginCliCommands(program, loadConfig());
427
427
  }
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import "./utils-CXzXXV2o.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { Bn as buildOutboundSessionContext, Bt as createOutboundSendDeps, Cr as enqueueSystemEvent, Dr as requestHeartbeatNow, E as resolveGatewaySessionStoreTarget, Lt as resolveOutboundTarget, T as pruneLegacyStoreKeys, jt as agentCommand, w as loadSessionEntry } from "./reply-CsQQGCNB.js";
4
+ import { Bn as buildOutboundSessionContext, Bt as createOutboundSendDeps, Cr as enqueueSystemEvent, Dr as requestHeartbeatNow, E as resolveGatewaySessionStoreTarget, Lt as resolveOutboundTarget, T as pruneLegacyStoreKeys, jt as agentCommand, w as loadSessionEntry } from "./reply-tuqCy_5s.js";
5
5
  import "./agent-scope-RA0zXRpu.js";
6
6
  import "./subsystem-CGZX2PBV.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
@@ -103,20 +103,20 @@ import "./resolve-route-D_AbcmD6.js";
103
103
  import "./replies-hSFVxL4h.js";
104
104
  import "./skill-commands-BFzmZAfo.js";
105
105
  import "./workspace-dirs-SsExQ3Bz.js";
106
- import "./deps-D-R85-_U.js";
106
+ import "./deps-DB6dI42Y.js";
107
107
  import "./plugin-auto-enable-7DUxMy6A.js";
108
108
  import "./channel-selection-ZxRkxpuF.js";
109
109
  import "./outbound-attachment-Bot3bRnK.js";
110
110
  import "./delivery-queue-BvDRo8CK.js";
111
111
  import "./session-cost-usage-DS1rjzML.js";
112
112
  import "./send-DQiw_nGD.js";
113
- import "./onboard-helpers-BSy20uKb.js";
113
+ import "./onboard-helpers-BQmbMJxJ.js";
114
114
  import "./prompt-style-kmKiCZnm.js";
115
115
  import "./pairing-labels-ChQJzbS9.js";
116
116
  import "./server-lifecycle-B5PlrlbG.js";
117
117
  import "./stagger-rQoQSWkz.js";
118
118
  import "./system-run-command-qJdgzxLp.js";
119
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CuguN4fn.js";
119
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-By39WpiH.js";
120
120
  import { randomUUID } from "node:crypto";
121
121
 
122
122
  //#region src/gateway/server-node-events.ts
@@ -25,7 +25,7 @@ import "./logging-Bgrm4o7g.js";
25
25
  import "./auth-store-D9BmR4S6.js";
26
26
  import "./send-m4lQkQcY.js";
27
27
  import "./send-CCiDIuX4.js";
28
- import { A as createOutboundSendDeps, An as requestHeartbeatNow, E as agentCommand, En as enqueueSystemEvent, bn as buildOutboundSessionContext, ht as resolveOutboundTarget } from "./subagent-registry-B5MdaonE.js";
28
+ import { A as createOutboundSendDeps, An as requestHeartbeatNow, E as agentCommand, En as enqueueSystemEvent, bn as buildOutboundSessionContext, ht as resolveOutboundTarget } from "./subagent-registry-B-ciR-Ya.js";
29
29
  import "./paths-CC17i2eK.js";
30
30
  import "./chat-envelope-Dedaetiq.js";
31
31
  import "./client-Brv1GCwX.js";
@@ -108,11 +108,11 @@ import "./cli-utils-BfsDuRZS.js";
108
108
  import "./help-format-CldHB7lS.js";
109
109
  import "./progress-B76RkFx7.js";
110
110
  import "./replies-DSfpze17.js";
111
- import "./deps-984qcpt2.js";
112
- import "./onboard-helpers-Cdddkdhv.js";
111
+ import "./deps-0GRTVtgy.js";
112
+ import "./onboard-helpers-Dp6wXNs7.js";
113
113
  import "./prompt-style-XmK49QYK.js";
114
114
  import "./pairing-labels-D7xcHkxi.js";
115
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-a0wNNljR.js";
115
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BracxehR.js";
116
116
  import { randomUUID } from "node:crypto";
117
117
 
118
118
  //#region src/gateway/server-node-events.ts
@@ -10,7 +10,7 @@ import { r as VERSION } from "./env-vars-I4LX5XSX.js";
10
10
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DEWCCZdI.js";
11
11
  import { Z as resolveFreshSessionTotalTokens, c as loadSessionStore, nt as resolveMainSessionKey } from "./sessions-BoqJKVEs.js";
12
12
  import { n as listChannelPlugins } from "./plugins-CCrfZ49T.js";
13
- import { Cn as buildChannelAccountSnapshot, Dt as summarizeRestartSentinel, Et as readRestartSentinel, Sn as buildChannelSummary, gn as formatUsageReportLines, hn as loadProviderUsageSummary, kn as peekSystemEvents, wn as formatChannelAllowFrom } from "./subagent-registry-B5MdaonE.js";
13
+ import { Cn as buildChannelAccountSnapshot, Dt as summarizeRestartSentinel, Et as readRestartSentinel, Sn as buildChannelSummary, gn as formatUsageReportLines, hn as loadProviderUsageSummary, kn as peekSystemEvents, wn as formatChannelAllowFrom } from "./subagent-registry-B-ciR-Ya.js";
14
14
  import { u as resolveStorePath } from "./paths-CC17i2eK.js";
15
15
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DuNslqj2.js";
16
16
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CQwGqfET.js";
@@ -22,7 +22,7 @@ import { d as resolveContextTokensForModel, l as resolveSessionModelRef, n as cl
22
22
  import { o as getRemoteSkillEligibility } from "./skill-commands-BUc0PzZG.js";
23
23
  import { a as sha256HexPrefix } from "./active-listener-DxpYwAtk.js";
24
24
  import { n as withProgress } from "./progress-B76RkFx7.js";
25
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-Cdddkdhv.js";
25
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-Dp6wXNs7.js";
26
26
  import { t as resolveChannelDefaultAccountId } from "./helpers-CIyuenBU.js";
27
27
  import { t as collectChannelStatusIssues } from "./channels-status-issues-Bi00z1aP.js";
28
28
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BzgRt9im.js";
@@ -30,7 +30,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-Om381vyM.j
30
30
  import { t as readLastGatewayErrorLine } from "./diagnostics-BzCL1AMI.js";
31
31
  import { t as renderTable } from "./table-aJzHv5Oe.js";
32
32
  import { i as resolveGatewayProbeAuth$1, s as probeGateway, t as runSecurityAudit } from "./audit-Bkd4fvVb.js";
33
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-OCL-usM5.js";
33
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-D6PJPflH.js";
34
34
  import { _ as resolveUpdateChannelDisplay, a as formatGitInstallLabel, h as normalizeUpdateChannel, n as checkUpdateStatus, t as resolveDefaultChannelAccountContext } from "./channel-account-context-ofowt_yq.js";
35
35
  import { t as resolveNodeService } from "./node-service-v7Nz7h4D.js";
36
36
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-oh9Nicqr.js";
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-CXzXXV2o.js";
3
- import { D as resolveSessionModelRef, Er as peekSystemEvents, G as readRestartSentinel, K as summarizeRestartSentinel, Zt as resolveContextTokensForModel, b as classifySessionKey, bt as formatUsageReportLines, c as buildChannelSummary, l as buildChannelAccountSnapshot, u as formatChannelAllowFrom, x as listAgentsForGateway, yt as loadProviderUsageSummary } from "./reply-CsQQGCNB.js";
3
+ import { D as resolveSessionModelRef, Er as peekSystemEvents, G as readRestartSentinel, K as summarizeRestartSentinel, Zt as resolveContextTokensForModel, b as classifySessionKey, bt as formatUsageReportLines, c as buildChannelSummary, l as buildChannelAccountSnapshot, u as formatChannelAllowFrom, x as listAgentsForGateway, yt as loadProviderUsageSummary } from "./reply-tuqCy_5s.js";
4
4
  import { u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
5
5
  import { w as parseAgentSessionKey } from "./session-key-Cuihcz_O.js";
6
6
  import { t as resolveIdleHandsPackageRoot } from "./idlehands-root-B8cUs-5M.js";
@@ -20,7 +20,7 @@ import { r as getMemorySearchManager } from "./memory-cli-CUGwnVIY.js";
20
20
  import { n as withProgress } from "./progress-BQLz1r3L.js";
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-BFzmZAfo.js";
22
22
  import { a as sha256HexPrefix } from "./active-listener-30JxwI-t.js";
23
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-BSy20uKb.js";
23
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-BQmbMJxJ.js";
24
24
  import { t as buildWorkspaceSkillStatus } from "./skills-status-qjQ8XP0h.js";
25
25
  import { t as resolveChannelDefaultAccountId } from "./helpers-C6eW1WGZ.js";
26
26
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CDpWjdI3.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D7pLXkNs.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-DmZbQ8Nc.js";
30
30
  import { t as renderTable } from "./table-B9AmL3M1.js";
31
31
  import { i as resolveGatewayProbeAuth$1, s as probeGateway, t as runSecurityAudit } from "./audit-BmaVRZSd.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BDvy-dA9.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-cUQV1hzf.js";
33
33
  import { _ as resolveUpdateChannelDisplay, a as formatGitInstallLabel, h as normalizeUpdateChannel, n as checkUpdateStatus, t as resolveDefaultChannelAccountContext } from "./channel-account-context-CDbY5AIr.js";
34
34
  import { t as resolveNodeService } from "./node-service-C3vyxHLA.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-BK5XIv_A.js";