@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
@@ -109,8 +109,8 @@ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d a
109
109
  import { t as makeProxyFetch } from "./proxy-GJkoUC6V.js";
110
110
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-DhuP2lHs.js";
111
111
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DSfpze17.js";
112
- import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-984qcpt2.js";
113
- import { r as detectBinary } from "./onboard-helpers-Cdddkdhv.js";
112
+ import { i as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-0GRTVtgy.js";
113
+ import { r as detectBinary } from "./onboard-helpers-Dp6wXNs7.js";
114
114
  import { t as resolvePairingIdLabel } from "./pairing-labels-D7xcHkxi.js";
115
115
  import { createRequire } from "node:module";
116
116
  import { execFileSync, spawn, spawnSync } from "node:child_process";
@@ -16857,9 +16857,12 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
16857
16857
  const body = params.command.commandBodyNormalized;
16858
16858
  if (!body.startsWith("/anton")) return null;
16859
16859
  if (!params.command.isAuthorizedSender) return { shouldContinue: false };
16860
+ const channel = params.ctx.OriginatingChannel ?? params.command.channel;
16861
+ const to = params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "";
16862
+ const canRoute = isRoutableChannel(channel);
16860
16863
  const replyCtx = {
16861
- channel: params.ctx.OriginatingChannel ?? params.command.channel,
16862
- to: params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "",
16864
+ channel,
16865
+ to,
16863
16866
  sessionKey: params.sessionKey,
16864
16867
  accountId: params.ctx.AccountId,
16865
16868
  threadId: params.ctx.MessageThreadId,
@@ -16867,25 +16870,35 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
16867
16870
  };
16868
16871
  const arg = body.slice(6).trim();
16869
16872
  if (arg === "status" || arg === "") {
16870
- const { antonStatus } = await import("./anton-Cec4qfxV.js").then((n) => n.r);
16873
+ const { antonStatus } = await import("./anton-CZliSAOv.js").then((n) => n.r);
16871
16874
  const lines = [];
16872
16875
  await antonStatus({
16873
16876
  log: (msg) => lines.push(msg),
16874
16877
  error: (msg) => lines.push(msg),
16875
16878
  exit: () => {}
16876
16879
  });
16877
- await sendProgress(replyCtx, lines.join("\n") || "Anton is idle.");
16880
+ const text = lines.join("\n") || "Anton is idle.";
16881
+ if (!canRoute) return {
16882
+ shouldContinue: false,
16883
+ reply: { text }
16884
+ };
16885
+ await sendProgress(replyCtx, text);
16878
16886
  return { shouldContinue: false };
16879
16887
  }
16880
16888
  if (arg === "stop") {
16881
- const { antonStop } = await import("./anton-Cec4qfxV.js").then((n) => n.r);
16889
+ const { antonStop } = await import("./anton-CZliSAOv.js").then((n) => n.r);
16882
16890
  const lines = [];
16883
16891
  await antonStop({
16884
16892
  log: (msg) => lines.push(msg),
16885
16893
  error: (msg) => lines.push(msg),
16886
16894
  exit: () => {}
16887
16895
  });
16888
- await sendProgress(replyCtx, lines.join("\n") || "Stop requested.");
16896
+ const text = lines.join("\n") || "Stop requested.";
16897
+ if (!canRoute) return {
16898
+ shouldContinue: false,
16899
+ reply: { text }
16900
+ };
16901
+ await sendProgress(replyCtx, text);
16889
16902
  return { shouldContinue: false };
16890
16903
  }
16891
16904
  const taskFile = arg;
@@ -16894,19 +16907,30 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
16894
16907
  const resolvedPath = pathMod.resolve(params.workspaceDir || process.cwd(), taskFile);
16895
16908
  try {
16896
16909
  if (!(await fs.stat(resolvedPath)).isFile()) {
16897
- await sendProgress(replyCtx, `❌ Not a file: \`${resolvedPath}\``);
16910
+ const text = `❌ Not a file: \`${resolvedPath}\``;
16911
+ if (!canRoute) return {
16912
+ shouldContinue: false,
16913
+ reply: { text }
16914
+ };
16915
+ await sendProgress(replyCtx, text);
16898
16916
  return { shouldContinue: false };
16899
16917
  }
16900
16918
  } catch {
16901
- await sendProgress(replyCtx, `❌ File not found: \`${resolvedPath}\``);
16919
+ const text = `❌ File not found: \`${resolvedPath}\``;
16920
+ if (!canRoute) return {
16921
+ shouldContinue: false,
16922
+ reply: { text }
16923
+ };
16924
+ await sendProgress(replyCtx, text);
16902
16925
  return { shouldContinue: false };
16903
16926
  }
16904
- const { runAnton, formatProgressMessage } = await import("./anton-Cec4qfxV.js").then((n) => n.r);
16905
- const { createDefaultDeps } = await import("./deps-984qcpt2.js").then((n) => n.r);
16927
+ const { runAnton, formatProgressMessage } = await import("./anton-CZliSAOv.js").then((n) => n.r);
16928
+ const { createDefaultDeps } = await import("./deps-0GRTVtgy.js").then((n) => n.r);
16906
16929
  const { createNonExitingRuntime } = await import("./runtime-CgcH_FLo.js").then((n) => n.r);
16907
16930
  const runtime = createNonExitingRuntime();
16908
16931
  const deps = createDefaultDeps();
16909
- await sendProgress(replyCtx, `🤚 **/anton** invoked on \`${pathMod.basename(resolvedPath)}\`\nStarting orchestrator...`);
16932
+ const startText = `🤚 **/anton** invoked on \`${pathMod.basename(resolvedPath)}\`\nStarting orchestrator...`;
16933
+ if (canRoute) await sendProgress(replyCtx, startText);
16910
16934
  (async () => {
16911
16935
  try {
16912
16936
  await runAnton({
@@ -16916,15 +16940,19 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
16916
16940
  force: false,
16917
16941
  dryRun: false,
16918
16942
  workspaceDir: params.workspaceDir || void 0,
16919
- onProgress: async (event) => {
16943
+ ...canRoute ? { onProgress: async (event) => {
16920
16944
  await sendProgress(replyCtx, formatProgressMessage(event));
16921
- }
16945
+ } } : {}
16922
16946
  });
16923
16947
  } catch (err) {
16924
- await sendProgress(replyCtx, `❌ **Anton crashed**: ${err instanceof Error ? err.message : String(err)}`);
16948
+ const msg = err instanceof Error ? err.message : String(err);
16949
+ if (canRoute) await sendProgress(replyCtx, `❌ **Anton crashed**: ${msg}`);
16925
16950
  }
16926
16951
  })();
16927
- return { shouldContinue: false };
16952
+ return canRoute ? { shouldContinue: false } : {
16953
+ shouldContinue: false,
16954
+ reply: { text: startText }
16955
+ };
16928
16956
  };
16929
16957
 
16930
16958
  //#endregion
@@ -16936,9 +16964,15 @@ const handleDirCommand = async (params, _allowTextCommands) => {
16936
16964
  const channel = params.ctx.OriginatingChannel ?? params.command.channel;
16937
16965
  const to = params.ctx.OriginatingTo ?? params.command.from ?? params.command.to ?? "";
16938
16966
  const arg = body.slice(4).trim();
16967
+ const canRoute = isRoutableChannel(channel);
16939
16968
  if (!arg) {
16969
+ const text = `📂 Current workspace: \`${params.workspaceDir || "(not set)"}\``;
16970
+ if (!canRoute) return {
16971
+ shouldContinue: false,
16972
+ reply: { text }
16973
+ };
16940
16974
  await routeReply({
16941
- payload: { text: `📂 Current workspace: \`${params.workspaceDir || "(not set)"}\`` },
16975
+ payload: { text },
16942
16976
  channel,
16943
16977
  to,
16944
16978
  sessionKey: params.sessionKey,
@@ -16953,8 +16987,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
16953
16987
  const resolved = (await import("node:path")).resolve(newPath);
16954
16988
  try {
16955
16989
  if (!(await fs.stat(resolved)).isDirectory()) {
16990
+ const text = `❌ Path exists but is not a directory: \`${resolved}\``;
16991
+ if (!canRoute) return {
16992
+ shouldContinue: false,
16993
+ reply: { text }
16994
+ };
16956
16995
  await routeReply({
16957
- payload: { text: `❌ Path exists but is not a directory: \`${resolved}\`` },
16996
+ payload: { text },
16958
16997
  channel,
16959
16998
  to,
16960
16999
  sessionKey: params.sessionKey,
@@ -16965,8 +17004,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
16965
17004
  return { shouldContinue: false };
16966
17005
  }
16967
17006
  } catch {
17007
+ const text = `❌ Directory not found: \`${resolved}\``;
17008
+ if (!canRoute) return {
17009
+ shouldContinue: false,
17010
+ reply: { text }
17011
+ };
16968
17012
  await routeReply({
16969
- payload: { text: `❌ Directory not found: \`${resolved}\`` },
17013
+ payload: { text },
16970
17014
  channel,
16971
17015
  to,
16972
17016
  sessionKey: params.sessionKey,
@@ -16987,8 +17031,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
16987
17031
  });
16988
17032
  }
16989
17033
  params.workspaceDir = resolved;
17034
+ const text = `✅ Workspace set to: \`${resolved}\`\nActive for this session only.`;
17035
+ if (!canRoute) return {
17036
+ shouldContinue: false,
17037
+ reply: { text }
17038
+ };
16990
17039
  await routeReply({
16991
- payload: { text: `✅ Workspace set to: \`${resolved}\`\nActive for this session only.` },
17040
+ payload: { text },
16992
17041
  channel,
16993
17042
  to,
16994
17043
  sessionKey: params.sessionKey,
@@ -16997,8 +17046,13 @@ const handleDirCommand = async (params, _allowTextCommands) => {
16997
17046
  cfg: params.cfg
16998
17047
  });
16999
17048
  } catch (err) {
17049
+ const text = `❌ Failed to update workspace: ${err instanceof Error ? err.message : String(err)}`;
17050
+ if (!canRoute) return {
17051
+ shouldContinue: false,
17052
+ reply: { text }
17053
+ };
17000
17054
  await routeReply({
17001
- payload: { text: `❌ Failed to update workspace: ${err instanceof Error ? err.message : String(err)}` },
17055
+ payload: { text },
17002
17056
  channel,
17003
17057
  to,
17004
17058
  sessionKey: params.sessionKey,
@@ -49516,7 +49570,7 @@ function createDiscordMessageHandler(params) {
49516
49570
  try {
49517
49571
  const messageText = resolveDiscordMessageText(data.message)?.trim();
49518
49572
  if (messageText) {
49519
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BZLDQaYe.js");
49573
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-D8XCYE8L.js");
49520
49574
  if (isAbortRequestText(messageText)) {
49521
49575
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
49522
49576
  const channelId = resolveDiscordMessageChannelId({
@@ -56989,7 +57043,7 @@ async function monitorIMessageProvider(opts = {}) {
56989
57043
  }
56990
57044
  const msgText = (message.text ?? "").trim();
56991
57045
  if (msgText) {
56992
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BZLDQaYe.js");
57046
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-D8XCYE8L.js");
56993
57047
  if (isAbortRequestText(msgText)) {
56994
57048
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
56995
57049
  const route = resolveAgentRoute({
@@ -59594,7 +59648,7 @@ function createSignalEventHandler(deps) {
59594
59648
  const senderName = envelope.sourceName ?? senderDisplay;
59595
59649
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
59596
59650
  if (bodyText) {
59597
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BZLDQaYe.js");
59651
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-D8XCYE8L.js");
59598
59652
  if (isAbortRequestText(bodyText)) {
59599
59653
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
59600
59654
  const route = resolveAgentRoute({
@@ -62983,7 +63037,7 @@ function createSlackMessageHandler(params) {
62983
63037
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
62984
63038
  const rawText = (message.text ?? "").trim();
62985
63039
  if (rawText) {
62986
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BZLDQaYe.js");
63040
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-D8XCYE8L.js");
62987
63041
  if (isAbortRequestText(rawText)) {
62988
63042
  const { resolveAgentRoute } = await import("./resolve-route-VUTvr63H.js").then((n) => n.r);
62989
63043
  const route = resolveAgentRoute({
@@ -65177,7 +65231,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
65177
65231
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
65178
65232
  const text = typeof msg.text === "string" ? msg.text : void 0;
65179
65233
  if (text) {
65180
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BZLDQaYe.js");
65234
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-D8XCYE8L.js");
65181
65235
  if (isAbortRequestText(text)) {
65182
65236
  const senderId = msg.from?.id ? String(msg.from.id) : "";
65183
65237
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -68671,7 +68725,7 @@ function loadWebLoginQr() {
68671
68725
  return webLoginQrPromise;
68672
68726
  }
68673
68727
  function loadWebChannel() {
68674
- webChannelPromise ??= import("./web-BuuP6YsH.js");
68728
+ webChannelPromise ??= import("./web-DtCFqhdb.js");
68675
68729
  return webChannelPromise;
68676
68730
  }
68677
68731
  function loadWhatsAppActions() {
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
2
2
  import { B as theme, h as pathExists } from "./utils-CXzXXV2o.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { q as trimLogTail } from "./reply-CsQQGCNB.js";
4
+ import { q as trimLogTail } 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";
@@ -104,14 +104,14 @@ import "./resolve-route-D_AbcmD6.js";
104
104
  import "./replies-hSFVxL4h.js";
105
105
  import "./skill-commands-BFzmZAfo.js";
106
106
  import "./workspace-dirs-SsExQ3Bz.js";
107
- import "./deps-D-R85-_U.js";
107
+ import "./deps-DB6dI42Y.js";
108
108
  import "./plugin-auto-enable-7DUxMy6A.js";
109
109
  import "./channel-selection-ZxRkxpuF.js";
110
110
  import "./outbound-attachment-Bot3bRnK.js";
111
111
  import "./delivery-queue-BvDRo8CK.js";
112
112
  import "./session-cost-usage-DS1rjzML.js";
113
113
  import "./send-DQiw_nGD.js";
114
- import "./onboard-helpers-BSy20uKb.js";
114
+ import "./onboard-helpers-BQmbMJxJ.js";
115
115
  import { n as stylePromptMessage } from "./prompt-style-kmKiCZnm.js";
116
116
  import "./pairing-labels-ChQJzbS9.js";
117
117
  import "./server-lifecycle-B5PlrlbG.js";
@@ -119,7 +119,7 @@ import "./stagger-rQoQSWkz.js";
119
119
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-Z_TnY4pX.js";
120
120
  import "./system-run-command-qJdgzxLp.js";
121
121
  import { r as parseSemver } from "./runtime-guard-X6f4YmTM.js";
122
- import "./program-context-9CaHm5SI.js";
122
+ import "./program-context-Dhec-fGX.js";
123
123
  import "./skills-status-qjQ8XP0h.js";
124
124
  import { n as inheritOptionFromParent } from "./command-options-D4MmqoOd.js";
125
125
  import "./note-69EfBEU-.js";
@@ -128,27 +128,27 @@ import "./npm-registry-spec-BCbbfIhX.js";
128
128
  import "./skill-scanner-D7mzXRXd.js";
129
129
  import "./installs-CNubze2L.js";
130
130
  import "./channels-status-issues-CDpWjdI3.js";
131
- import { r as installCompletion } from "./completion-cli-DynWWkBp.js";
131
+ import { r as installCompletion } from "./completion-cli-Zaylny55.js";
132
132
  import "./daemon-install-helpers-BZY9-jNW.js";
133
133
  import "./systemd-CaCR5CyM.js";
134
134
  import { t as resolveGatewayService } from "./service-C8NMS3m_.js";
135
135
  import "./lifecycle-core-B6UoqYTJ.js";
136
136
  import "./systemd-hints-DHu-HVFx.js";
137
- import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, o as waitForGatewayHealthyRestart, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-C6nJQWdR.js";
137
+ import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, o as waitForGatewayHealthyRestart, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-B1Ti51bt.js";
138
138
  import "./diagnostics-DmZbQ8Nc.js";
139
139
  import { t as renderTable } from "./table-B9AmL3M1.js";
140
- import "./health-BDvy-dA9.js";
140
+ import "./health-cUQV1hzf.js";
141
141
  import "./control-ui-assets-C7ZpN9hN.js";
142
142
  import { _ as resolveUpdateChannelDisplay, c as DEFAULT_GIT_CHANNEL, d as channelToNpmTag, f as formatUpdateChannelLabel, g as resolveEffectiveUpdateChannel, h as normalizeUpdateChannel, i as fetchNpmTagVersion, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CDbY5AIr.js";
143
143
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-CTi6vuWj.js";
144
- 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-Crqt-f5z.js";
144
+ 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-Cxg4n1sn.js";
145
145
  import "./logging-B0-9lotb.js";
146
146
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-D79ppbMQ.js";
147
147
  import "./doctor-config-flow-Ck4oCjfl.js";
148
148
  import "./systemd-linger-B7XlUHk_.js";
149
149
  import "./health-format-Ba_hOaT2.js";
150
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DvMmAvyn.js";
151
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-snvvOxaf.js";
150
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-C1aw6YAJ.js";
151
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CeD_GwXj.js";
152
152
  import os from "node:os";
153
153
  import path from "node:path";
154
154
  import fs from "node:fs/promises";
@@ -27,7 +27,7 @@ import "./logging-Bgrm4o7g.js";
27
27
  import "./auth-store-D9BmR4S6.js";
28
28
  import "./send-m4lQkQcY.js";
29
29
  import "./send-CCiDIuX4.js";
30
- import { Ot as trimLogTail } from "./subagent-registry-B5MdaonE.js";
30
+ import { Ot as trimLogTail } from "./subagent-registry-B-ciR-Ya.js";
31
31
  import "./paths-CC17i2eK.js";
32
32
  import "./chat-envelope-Dedaetiq.js";
33
33
  import "./client-Brv1GCwX.js";
@@ -112,8 +112,8 @@ import "./cli-utils-BfsDuRZS.js";
112
112
  import { t as formatHelpExamples } from "./help-format-CldHB7lS.js";
113
113
  import "./progress-B76RkFx7.js";
114
114
  import "./replies-DSfpze17.js";
115
- import "./deps-984qcpt2.js";
116
- import "./onboard-helpers-Cdddkdhv.js";
115
+ import "./deps-0GRTVtgy.js";
116
+ import "./onboard-helpers-Dp6wXNs7.js";
117
117
  import { n as stylePromptMessage } from "./prompt-style-XmK49QYK.js";
118
118
  import "./pairing-labels-D7xcHkxi.js";
119
119
  import { n as inheritOptionFromParent } from "./command-options-CK65DMbR.js";
@@ -123,9 +123,9 @@ import "./npm-registry-spec-BlFqJFsA.js";
123
123
  import "./skill-scanner-CdLElD51.js";
124
124
  import "./installs-8aQVDSI0.js";
125
125
  import "./channels-status-issues-Bi00z1aP.js";
126
- import { r as installCompletion } from "./completion-cli-BbVWdP38.js";
127
- import "./register.subclis-DgWtjP5g.js";
128
- import "./command-registry-kWr6njq5.js";
126
+ import { r as installCompletion } from "./completion-cli-Dkh-Zrqo.js";
127
+ import "./register.subclis-SGnxsMrq.js";
128
+ import "./command-registry-D3iSv7Of.js";
129
129
  import "./program-context-BrqeiWcA.js";
130
130
  import "./daemon-install-helpers-DUHqeg5Y.js";
131
131
  import { r as parseSemver } from "./runtime-guard-DTSD0F6o.js";
@@ -133,21 +133,21 @@ import "./systemd-CYLBa7fG.js";
133
133
  import { t as resolveGatewayService } from "./service-BzgRt9im.js";
134
134
  import "./lifecycle-core-DxExA9d3.js";
135
135
  import "./systemd-hints-D7r4FWhK.js";
136
- import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, o as waitForGatewayHealthyRestart, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-CuIfti01.js";
136
+ import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, o as waitForGatewayHealthyRestart, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-yC6gq-yv.js";
137
137
  import "./diagnostics-BzCL1AMI.js";
138
138
  import { t as renderTable } from "./table-aJzHv5Oe.js";
139
- import "./health-OCL-usM5.js";
139
+ import "./health-D6PJPflH.js";
140
140
  import "./control-ui-assets-B5haX6bT.js";
141
141
  import { _ as resolveUpdateChannelDisplay, c as DEFAULT_GIT_CHANNEL, d as channelToNpmTag, f as formatUpdateChannelLabel, g as resolveEffectiveUpdateChannel, h as normalizeUpdateChannel, i as fetchNpmTagVersion, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-ofowt_yq.js";
142
142
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-BzUu2M5c.js";
143
- 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-xP0EJfLP.js";
143
+ 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-DizoiA2w.js";
144
144
  import "./logging-MF6Thoxk.js";
145
145
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-If9iCjgB.js";
146
146
  import "./doctor-config-flow-BvGvt5rT.js";
147
147
  import "./systemd-linger-Dx928sEF.js";
148
148
  import "./health-format-wax5NzZB.js";
149
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CElbRg_a.js";
150
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B6siF0IK.js";
149
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CJ2ux4O0.js";
150
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BeqR17ft.js";
151
151
  import { spawn, spawnSync } from "node:child_process";
152
152
  import os from "node:os";
153
153
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-CXzXXV2o.js";
2
- import { q as trimLogTail } from "./reply-CsQQGCNB.js";
2
+ import { q as trimLogTail } from "./reply-tuqCy_5s.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-C7ZpN9hN.js";
5
5
  import { d as channelToNpmTag, l as DEFAULT_PACKAGE_CHANNEL, m as isStableTag, p as isBetaTag, r as compareSemverStrings, s as detectPackageManager$1, u as DEV_BRANCH } from "./channel-account-context-CDbY5AIr.js";
@@ -1,6 +1,6 @@
1
1
  import { Z as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-BrP9AmCw.js";
3
- import { Ot as trimLogTail } from "./subagent-registry-B5MdaonE.js";
3
+ import { Ot as trimLogTail } from "./subagent-registry-B-ciR-Ya.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-B5haX6bT.js";
5
5
  import { d as channelToNpmTag, l as DEFAULT_PACKAGE_CHANNEL, m as isStableTag, p as isBetaTag, r as compareSemverStrings, s as detectPackageManager$1, u as DEV_BRANCH } from "./channel-account-context-ofowt_yq.js";
6
6
  import os from "node:os";
@@ -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 "./reply-CsQQGCNB.js";
4
+ import "./reply-tuqCy_5s.js";
5
5
  import "./agent-scope-RA0zXRpu.js";
6
6
  import "./subsystem-CGZX2PBV.js";
7
7
  import "./runtime-44j_X4Y6.js";
@@ -102,20 +102,20 @@ import "./resolve-route-D_AbcmD6.js";
102
102
  import "./replies-hSFVxL4h.js";
103
103
  import "./skill-commands-BFzmZAfo.js";
104
104
  import "./workspace-dirs-SsExQ3Bz.js";
105
- import "./deps-D-R85-_U.js";
105
+ import "./deps-DB6dI42Y.js";
106
106
  import "./plugin-auto-enable-7DUxMy6A.js";
107
107
  import "./channel-selection-ZxRkxpuF.js";
108
108
  import "./outbound-attachment-Bot3bRnK.js";
109
109
  import "./delivery-queue-BvDRo8CK.js";
110
110
  import "./session-cost-usage-DS1rjzML.js";
111
111
  import "./send-DQiw_nGD.js";
112
- import "./onboard-helpers-BSy20uKb.js";
112
+ import "./onboard-helpers-BQmbMJxJ.js";
113
113
  import "./prompt-style-kmKiCZnm.js";
114
114
  import "./pairing-labels-ChQJzbS9.js";
115
115
  import "./server-lifecycle-B5PlrlbG.js";
116
116
  import "./stagger-rQoQSWkz.js";
117
117
  import "./system-run-command-qJdgzxLp.js";
118
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-BHb38KRe.js";
118
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DfBOK5if.js";
119
119
  import { n as sendMessageWhatsApp } from "./outbound-DPTxwchq.js";
120
120
  import { i as waitForWaConnection, t as createWaSocket } from "./session-CdnrRhb4.js";
121
121
  import { t as loginWeb } from "./login-CfUhrgWT.js";
@@ -12,7 +12,7 @@ import "./boolean-CE7i9tBR.js";
12
12
  import "./env-B5G1qwGc.js";
13
13
  import { a as resolveChannelGroupRequireMention, i as resolveChannelGroupPolicy } from "./dock-BgOmHcbh.js";
14
14
  import "./tokens-BRLyURxW.js";
15
- import { A as formatDurationPrecise, C as resolveInboundDebounceMs, D as getReplyFromConfig, E as createDedupeCache, L as buildMentionRegexes, M as hasControlCommand, N as shouldComputeCommandAuthorized, O as normalizeGroupActivation, R as normalizeMentionText, S as createInboundDebouncer, T as resolveEnvelopeFormatOptions, _ as resolveDmGroupAccessWithLists, b as dispatchReplyWithBufferedBlockDispatcher, c as resolveMentionGating, d as recordPendingHistoryEntryIfEnabled, f as resolveDefaultGroupPolicy, g as resolveDmGroupAccessWithCommandGate, h as readStoreAllowFromForDmPolicy, i as sleepWithAbort, j as enqueueSystemEvent, k as parseActivationCommand, l as DEFAULT_GROUP_HISTORY_LIMIT, m as warnMissingProviderGroupPolicyFallbackOnce, p as resolveOpenProviderRuntimeGroupPolicy, r as computeBackoff, s as buildPairingReply, u as buildHistoryContextFromEntries, w as formatInboundEnvelope, y as shouldAckReactionForWhatsApp } from "./pi-embedded-CxYEstRZ.js";
15
+ import { A as formatDurationPrecise, C as resolveInboundDebounceMs, D as getReplyFromConfig, E as createDedupeCache, L as buildMentionRegexes, M as hasControlCommand, N as shouldComputeCommandAuthorized, O as normalizeGroupActivation, R as normalizeMentionText, S as createInboundDebouncer, T as resolveEnvelopeFormatOptions, _ as resolveDmGroupAccessWithLists, b as dispatchReplyWithBufferedBlockDispatcher, c as resolveMentionGating, d as recordPendingHistoryEntryIfEnabled, f as resolveDefaultGroupPolicy, g as resolveDmGroupAccessWithCommandGate, h as readStoreAllowFromForDmPolicy, i as sleepWithAbort, j as enqueueSystemEvent, k as parseActivationCommand, l as DEFAULT_GROUP_HISTORY_LIMIT, m as warnMissingProviderGroupPolicyFallbackOnce, p as resolveOpenProviderRuntimeGroupPolicy, r as computeBackoff, s as buildPairingReply, u as buildHistoryContextFromEntries, w as formatInboundEnvelope, y as shouldAckReactionForWhatsApp } from "./pi-embedded-znVFwmix.js";
16
16
  import "./plugins-CRB60mCJ.js";
17
17
  import { n as resolveWhatsAppAccount } from "./accounts-Dk8mJIrQ.js";
18
18
  import "./bindings-D3b5Fmc9.js";
@@ -69,7 +69,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
69
69
  import { r as setActiveWebListener } from "./active-listener-jilCMH1M.js";
70
70
  import "./proxy-CRB9oCP5.js";
71
71
  import "./replies-6_GxvQYe.js";
72
- import "./deps-DGHlGKcG.js";
72
+ import "./deps-Bdrf7UsT.js";
73
73
  import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-BNh6PpQb.js";
74
74
  import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-F_YDS_1V.js";
75
75
  import { t as loginWeb } from "./login-CFr5vJmR.js";
@@ -864,7 +864,7 @@ async function monitorWebInbox(options) {
864
864
  };
865
865
  const stopText = (inboundMessage.body ?? "").trim();
866
866
  if (stopText) {
867
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-EXYMl2Ho.js");
867
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BpudAT0i.js");
868
868
  if (isAbortRequestText(stopText)) {
869
869
  const { loadConfig: loadCfg } = await import("./model-selection-1MMYqY6M.js").then((n) => n.I);
870
870
  const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
@@ -11,7 +11,7 @@ import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
11
11
  import "./env-BpvqFD5n.js";
12
12
  import { a as resolveChannelGroupRequireMention, i as resolveChannelGroupPolicy } from "./dock-QcCdS4qA.js";
13
13
  import "./tokens-Cg4XNE3H.js";
14
- import { A as formatDurationPrecise, C as resolveInboundDebounceMs, D as getReplyFromConfig, E as createDedupeCache, L as buildMentionRegexes, M as hasControlCommand, N as shouldComputeCommandAuthorized, O as normalizeGroupActivation, R as normalizeMentionText, S as createInboundDebouncer, T as resolveEnvelopeFormatOptions, _ as resolveDmGroupAccessWithLists, b as dispatchReplyWithBufferedBlockDispatcher, c as resolveMentionGating, d as recordPendingHistoryEntryIfEnabled, f as resolveDefaultGroupPolicy, g as resolveDmGroupAccessWithCommandGate, h as readStoreAllowFromForDmPolicy, i as sleepWithAbort, j as enqueueSystemEvent, k as parseActivationCommand, l as DEFAULT_GROUP_HISTORY_LIMIT, m as warnMissingProviderGroupPolicyFallbackOnce, p as resolveOpenProviderRuntimeGroupPolicy, r as computeBackoff, s as buildPairingReply, u as buildHistoryContextFromEntries, w as formatInboundEnvelope, y as shouldAckReactionForWhatsApp } from "./pi-embedded-CMLNiqQq.js";
14
+ import { A as formatDurationPrecise, C as resolveInboundDebounceMs, D as getReplyFromConfig, E as createDedupeCache, L as buildMentionRegexes, M as hasControlCommand, N as shouldComputeCommandAuthorized, O as normalizeGroupActivation, R as normalizeMentionText, S as createInboundDebouncer, T as resolveEnvelopeFormatOptions, _ as resolveDmGroupAccessWithLists, b as dispatchReplyWithBufferedBlockDispatcher, c as resolveMentionGating, d as recordPendingHistoryEntryIfEnabled, f as resolveDefaultGroupPolicy, g as resolveDmGroupAccessWithCommandGate, h as readStoreAllowFromForDmPolicy, i as sleepWithAbort, j as enqueueSystemEvent, k as parseActivationCommand, l as DEFAULT_GROUP_HISTORY_LIMIT, m as warnMissingProviderGroupPolicyFallbackOnce, p as resolveOpenProviderRuntimeGroupPolicy, r as computeBackoff, s as buildPairingReply, u as buildHistoryContextFromEntries, w as formatInboundEnvelope, y as shouldAckReactionForWhatsApp } from "./pi-embedded-2EqYdroP.js";
15
15
  import "./plugins-D-_jp4FO.js";
16
16
  import { n as resolveWhatsAppAccount } from "./accounts-BwrguHMw.js";
17
17
  import "./bindings-hT7SPhiA.js";
@@ -66,7 +66,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
66
66
  import { r as setActiveWebListener } from "./active-listener-BnWIC6Jc.js";
67
67
  import "./proxy-CNZpb4NE.js";
68
68
  import "./replies-CqYEEgmA.js";
69
- import "./deps-CcZ0VtSz.js";
69
+ import "./deps-Ci76e_07.js";
70
70
  import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-DsfWfy-l.js";
71
71
  import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-DRN3VnUX.js";
72
72
  import { t as loginWeb } from "./login-Cnp8mhAl.js";
@@ -861,7 +861,7 @@ async function monitorWebInbox(options) {
861
861
  };
862
862
  const stopText = (inboundMessage.body ?? "").trim();
863
863
  if (stopText) {
864
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop--xlBYCby.js");
864
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-B1ycCthl.js");
865
865
  if (isAbortRequestText(stopText)) {
866
866
  const { loadConfig: loadCfg } = await import("./model-selection-D3Jhcvg-.js").then((n) => n.F);
867
867
  const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
@@ -24,7 +24,7 @@ import "./logging-Bgrm4o7g.js";
24
24
  import { i as logWebSelfId, p as webAuthExists, s as pickWebChannel, t as WA_WEB_AUTH_DIR } from "./auth-store-D9BmR4S6.js";
25
25
  import "./send-m4lQkQcY.js";
26
26
  import "./send-CCiDIuX4.js";
27
- import "./subagent-registry-B5MdaonE.js";
27
+ import "./subagent-registry-B-ciR-Ya.js";
28
28
  import "./paths-CC17i2eK.js";
29
29
  import "./chat-envelope-Dedaetiq.js";
30
30
  import "./client-Brv1GCwX.js";
@@ -107,12 +107,12 @@ import "./cli-utils-BfsDuRZS.js";
107
107
  import "./help-format-CldHB7lS.js";
108
108
  import "./progress-B76RkFx7.js";
109
109
  import "./replies-DSfpze17.js";
110
- import "./deps-984qcpt2.js";
111
- import "./onboard-helpers-Cdddkdhv.js";
110
+ import "./deps-0GRTVtgy.js";
111
+ import "./onboard-helpers-Dp6wXNs7.js";
112
112
  import "./prompt-style-XmK49QYK.js";
113
113
  import "./pairing-labels-D7xcHkxi.js";
114
114
  import { n as sendMessageWhatsApp } from "./outbound-B8NhUGIW.js";
115
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-zsCiOUKL.js";
115
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-COYnY8sZ.js";
116
116
  import { i as waitForWaConnection, t as createWaSocket } from "./session-BVsrroox.js";
117
117
  import { t as loginWeb } from "./login-BaXwiEpr.js";
118
118
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visorcraft/idlehands",
3
- "version": "4.0.6",
3
+ "version": "4.0.8",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/visorcraft/IdleHands#readme",