@visorcraft/idlehands 4.0.11 → 4.0.12

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 (94) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{agent-via-gateway-DFfeM1f8.js → agent-via-gateway-DY9s7C5O.js} +7 -7
  3. package/dist/{anton-y_9cmetd.js → anton-CFb43gM1.js} +1 -1
  4. package/dist/{audio-preflight-BSlR2jEq.js → audio-preflight-CW8IH1lU.js} +4 -4
  5. package/dist/build-info.json +3 -3
  6. package/dist/bundled/boot-md/handler.js +7 -7
  7. package/dist/bundled/session-memory/handler.js +7 -7
  8. package/dist/{chrome-_2tzVjVl.js → chrome-BcJB6PcM.js} +9 -9
  9. package/dist/{command-registry-D_coG163.js → command-registry-Ch1LX7dG.js} +6 -6
  10. package/dist/{completion-cli-CAERO_KP.js → completion-cli-4GjUKmcp.js} +1 -1
  11. package/dist/{completion-cli-CTGLJrsU.js → completion-cli-Dp2cBB7r.js} +2 -2
  12. package/dist/{config-cli-Ft-MoBA0.js → config-cli-DHOt2fiX.js} +1 -1
  13. package/dist/{config-cli-QKNRUury.js → config-cli-fEyZU_fS.js} +1 -1
  14. package/dist/{configure-Dp2SC2bd.js → configure-Dd1r8lCc.js} +80 -0
  15. package/dist/{configure-CSFuzRuG.js → configure-UHNr2tF7.js} +80 -0
  16. package/dist/daemon-cli.js +6 -6
  17. package/dist/{deliver-CVTXl0Cv.js → deliver-BUiQ-9fE.js} +1 -1
  18. package/dist/{deps-DMIwjElF.js → deps-LUq8tPGl.js} +1 -1
  19. package/dist/{doctor-completion-BTK69nw4.js → doctor-completion-D4_Xz0GW.js} +1 -1
  20. package/dist/{doctor-completion-C4IaYTpf.js → doctor-completion-k1NPhnSD.js} +1 -1
  21. package/dist/{emergency-stop-BFA2JE99.js → emergency-stop-DvzTW9v2.js} +7 -7
  22. package/dist/entry.js +1 -1
  23. package/dist/{gateway-cli-vdmjtTaI.js → gateway-cli-BvfZQI4f.js} +1 -1
  24. package/dist/{gateway-cli-DOdmF6H_.js → gateway-cli-BzLinXVg.js} +1 -1
  25. package/dist/{image-COw__ACq.js → image-D8b_rlQC.js} +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/llm-slug-generator.js +7 -7
  28. package/dist/{onboard-BGttnPtz.js → onboard-BbaM-mHQ.js} +1 -1
  29. package/dist/{onboard-DmJrRFm6.js → onboard-Co1aTajZ.js} +1 -1
  30. package/dist/{onboarding-BH14vh8u.js → onboarding-DJ5uRALX.js} +1 -1
  31. package/dist/{onboarding-CatctZfr.js → onboarding-GUp6F9pi.js} +1 -1
  32. package/dist/{onboarding.finalize-y4p-rW_B.js → onboarding.finalize-BF0WE60A.js} +3 -3
  33. package/dist/{onboarding.finalize-B1xAj3zP.js → onboarding.finalize-CCSwszBV.js} +4 -4
  34. package/dist/{pi-embedded-BuvTuh5b.js → pi-embedded-AgRG5Ssx.js} +26 -26
  35. package/dist/{pi-embedded-helpers-CyTpDKo5.js → pi-embedded-helpers-CghCLoPo.js} +4 -4
  36. package/dist/{program-CA0hdsv9.js → program-Bxd5OUE_.js} +2 -2
  37. package/dist/{program-context-C4ufrdyk.js → program-context-CeyrkmGJ.js} +8 -8
  38. package/dist/{prompt-select-styled-HOmODGGE.js → prompt-select-styled-Dxt7znW6.js} +1 -1
  39. package/dist/{prompt-select-styled-CoVuIbC6.js → prompt-select-styled-QGoSGceD.js} +1 -1
  40. package/dist/{pw-ai-CowTfhOG.js → pw-ai-CfYaR1K2.js} +1 -1
  41. package/dist/{register.configure-oHPQgac2.js → register.configure-BFu6tHW9.js} +1 -1
  42. package/dist/{register.configure-sCW4AYHX.js → register.configure-WUqB9nea.js} +1 -1
  43. package/dist/{register.maintenance-BNuu5G8a.js → register.maintenance-D3gFMNHJ.js} +5 -5
  44. package/dist/{register.maintenance-DBOmtQ_7.js → register.maintenance-D_Xb1h9n.js} +4 -4
  45. package/dist/{register.onboard-5CNO_6MJ.js → register.onboard-DFQubnz_.js} +2 -2
  46. package/dist/{register.onboard-DldXC3xb.js → register.onboard-DaU8z55G.js} +2 -2
  47. package/dist/{register.setup-Dtbm5ocC.js → register.setup-6T_0-gzK.js} +2 -2
  48. package/dist/{register.setup-B5GQC9NR.js → register.setup-DeEMWLk1.js} +2 -2
  49. package/dist/{register.subclis-WjFoTOYx.js → register.subclis-Pcge2ZUD.js} +3 -3
  50. package/dist/{run-main-BtJbp5Nx.js → run-main-FpL-RwcQ.js} +5 -5
  51. package/dist/{runner-BzNdfqDz.js → runner-PgRFPYUj.js} +1 -1
  52. package/dist/{update-cli-Dv_xfkAV.js → update-cli-CdX0Fl_m.js} +5 -5
  53. package/dist/{update-cli-DBsT1H2C.js → update-cli-POnZaBSb.js} +4 -4
  54. package/dist/{web-C1TtGYq7.js → web-DsPIUwWo.js} +8 -8
  55. package/extensions/acpx/package.json +1 -1
  56. package/extensions/bluebubbles/package.json +1 -1
  57. package/extensions/copilot-proxy/package.json +1 -1
  58. package/extensions/diagnostics-otel/package.json +1 -1
  59. package/extensions/discord/package.json +1 -1
  60. package/extensions/feishu/package.json +1 -1
  61. package/extensions/google-gemini-cli-auth/package.json +1 -1
  62. package/extensions/googlechat/package.json +1 -1
  63. package/extensions/hand/package.json +1 -1
  64. package/extensions/imessage/package.json +1 -1
  65. package/extensions/irc/package.json +1 -1
  66. package/extensions/line/package.json +1 -1
  67. package/extensions/llm-task/package.json +1 -1
  68. package/extensions/matrix/CHANGELOG.md +6 -0
  69. package/extensions/matrix/package.json +1 -1
  70. package/extensions/mattermost/package.json +1 -1
  71. package/extensions/memory-core/package.json +1 -1
  72. package/extensions/memory-lancedb/package.json +1 -1
  73. package/extensions/minimax-portal-auth/package.json +1 -1
  74. package/extensions/msteams/CHANGELOG.md +6 -0
  75. package/extensions/msteams/package.json +1 -1
  76. package/extensions/nextcloud-talk/package.json +1 -1
  77. package/extensions/nostr/CHANGELOG.md +6 -0
  78. package/extensions/nostr/package.json +1 -1
  79. package/extensions/open-prose/package.json +1 -1
  80. package/extensions/signal/package.json +1 -1
  81. package/extensions/slack/package.json +1 -1
  82. package/extensions/synology-chat/package.json +1 -1
  83. package/extensions/telegram/package.json +1 -1
  84. package/extensions/tlon/package.json +1 -1
  85. package/extensions/twitch/CHANGELOG.md +6 -0
  86. package/extensions/twitch/package.json +1 -1
  87. package/extensions/voice-call/CHANGELOG.md +6 -0
  88. package/extensions/voice-call/package.json +1 -1
  89. package/extensions/whatsapp/package.json +1 -1
  90. package/extensions/zalo/CHANGELOG.md +6 -0
  91. package/extensions/zalo/package.json +1 -1
  92. package/extensions/zalouser/CHANGELOG.md +6 -0
  93. package/extensions/zalouser/package.json +1 -1
  94. package/package.json +3 -3
@@ -115,8 +115,8 @@ import "./prompt-style-XmK49QYK.js";
115
115
  import "./pairing-labels-D7xcHkxi.js";
116
116
  import "./plugin-registry-DJWce7ki.js";
117
117
  import { n as resolveCliChannelOptions } from "./channel-options-DYzhL-Ra.js";
118
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-WjFoTOYx.js";
119
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-D_coG163.js";
118
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-Pcge2ZUD.js";
119
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-Ch1LX7dG.js";
120
120
  import { r as setProgramContext } from "./program-context-BrqeiWcA.js";
121
121
  import { t as forceFreePort } from "./ports-CIJavqzS.js";
122
122
  import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner--eQQx-18.js";
@@ -58,7 +58,7 @@ const entries = [
58
58
  description: "Run, inspect, and query the WebSocket Gateway",
59
59
  hasSubcommands: true,
60
60
  register: async (program) => {
61
- (await import("./gateway-cli-vdmjtTaI.js")).registerGatewayCli(program);
61
+ (await import("./gateway-cli-BvfZQI4f.js")).registerGatewayCli(program);
62
62
  }
63
63
  },
64
64
  {
@@ -262,7 +262,7 @@ const entries = [
262
262
  description: "Update IdleHands and inspect update channel status",
263
263
  hasSubcommands: true,
264
264
  register: async (program) => {
265
- (await import("./update-cli-DBsT1H2C.js")).registerUpdateCli(program);
265
+ (await import("./update-cli-POnZaBSb.js")).registerUpdateCli(program);
266
266
  }
267
267
  },
268
268
  {
@@ -298,7 +298,7 @@ const entries = [
298
298
  description: "Generate shell completion script",
299
299
  hasSubcommands: false,
300
300
  register: async (program) => {
301
- (await import("./completion-cli-CAERO_KP.js").then((n) => n.n)).registerCompletionCli(program);
301
+ (await import("./completion-cli-4GjUKmcp.js").then((n) => n.n)).registerCompletionCli(program);
302
302
  }
303
303
  }
304
304
  ];
@@ -355,7 +355,7 @@ const coreEntries = [
355
355
  hasSubcommands: false
356
356
  }],
357
357
  register: async ({ program }) => {
358
- (await import("./register.setup-B5GQC9NR.js")).registerSetupCommand(program);
358
+ (await import("./register.setup-DeEMWLk1.js")).registerSetupCommand(program);
359
359
  }
360
360
  },
361
361
  {
@@ -365,7 +365,7 @@ const coreEntries = [
365
365
  hasSubcommands: false
366
366
  }],
367
367
  register: async ({ program }) => {
368
- (await import("./register.onboard-DldXC3xb.js")).registerOnboardCommand(program);
368
+ (await import("./register.onboard-DaU8z55G.js")).registerOnboardCommand(program);
369
369
  }
370
370
  },
371
371
  {
@@ -375,7 +375,7 @@ const coreEntries = [
375
375
  hasSubcommands: false
376
376
  }],
377
377
  register: async ({ program }) => {
378
- (await import("./register.configure-oHPQgac2.js")).registerConfigureCommand(program);
378
+ (await import("./register.configure-BFu6tHW9.js")).registerConfigureCommand(program);
379
379
  }
380
380
  },
381
381
  {
@@ -385,7 +385,7 @@ const coreEntries = [
385
385
  hasSubcommands: true
386
386
  }],
387
387
  register: async ({ program }) => {
388
- (await import("./config-cli-QKNRUury.js")).registerConfigCli(program);
388
+ (await import("./config-cli-fEyZU_fS.js")).registerConfigCli(program);
389
389
  }
390
390
  },
391
391
  {
@@ -412,7 +412,7 @@ const coreEntries = [
412
412
  }
413
413
  ],
414
414
  register: async ({ program }) => {
415
- (await import("./register.maintenance-DBOmtQ_7.js")).registerMaintenanceCommands(program);
415
+ (await import("./register.maintenance-D_Xb1h9n.js")).registerMaintenanceCommands(program);
416
416
  }
417
417
  },
418
418
  {
@@ -41,7 +41,7 @@ import { n as logConfigUpdated } from "./logging-MF6Thoxk.js";
41
41
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-BvGvt5rT.js";
42
42
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-Dx928sEF.js";
43
43
  import { t as formatHealthCheckFailure } from "./health-format-wax5NzZB.js";
44
- import { n as doctorShellCompletion } from "./doctor-completion-BTK69nw4.js";
44
+ import { n as doctorShellCompletion } from "./doctor-completion-D4_Xz0GW.js";
45
45
  import { execFile } from "node:child_process";
46
46
  import os from "node:os";
47
47
  import path from "node:path";
@@ -43,7 +43,7 @@ import { n as logConfigUpdated } from "./logging-B0-9lotb.js";
43
43
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-Ck4oCjfl.js";
44
44
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-B7XlUHk_.js";
45
45
  import { t as formatHealthCheckFailure } from "./health-format-Ba_hOaT2.js";
46
- import { n as doctorShellCompletion } from "./doctor-completion-C4IaYTpf.js";
46
+ import { n as doctorShellCompletion } from "./doctor-completion-k1NPhnSD.js";
47
47
  import fs from "node:fs";
48
48
  import os from "node:os";
49
49
  import path from "node:path";
@@ -9,7 +9,7 @@ import "./github-copilot-token-Dgt6cnsM.js";
9
9
  import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
10
10
  import "./boolean-CE7i9tBR.js";
11
11
  import "./env-B5G1qwGc.js";
12
- import { A as resolveStrictExistingPathsWithinRoot, M as DEFAULT_FILL_FIELD_TYPE, O as DEFAULT_UPLOAD_DIR, S as withCdpSocket, _ as withBrowserNavigationPolicy, d as formatAriaSnapshot, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, v as appendCdpPath, x as getHeadersWithAuth, y as fetchJson } from "./chrome-_2tzVjVl.js";
12
+ import { A as resolveStrictExistingPathsWithinRoot, M as DEFAULT_FILL_FIELD_TYPE, O as DEFAULT_UPLOAD_DIR, S as withCdpSocket, _ as withBrowserNavigationPolicy, d as formatAriaSnapshot, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, v as appendCdpPath, x as getHeadersWithAuth, y as fetchJson } from "./chrome-BcJB6PcM.js";
13
13
  import "./ssrf-CZeHDwVZ.js";
14
14
  import "./path-alias-guards-Cu1nXNMM.js";
15
15
  import "./redact-Bvpf-ATQ.js";
@@ -147,7 +147,7 @@ import "./auth-choice.apply-helpers-CGcniL1T.js";
147
147
  import "./auth-choice-DycYsq6V.js";
148
148
  import "./openai-model-default-7J6cw1rA.js";
149
149
  import "./model-picker-BkXoTOiA.js";
150
- import { n as configureCommandFromSectionsArg, r as CONFIGURE_WIZARD_SECTIONS } from "./configure-CSFuzRuG.js";
150
+ import { n as configureCommandFromSectionsArg, r as CONFIGURE_WIZARD_SECTIONS } from "./configure-UHNr2tF7.js";
151
151
  import "./systemd-linger-B7XlUHk_.js";
152
152
  import "./onboard-custom-DUbzMMu7.js";
153
153
  import "./ipv4-Bk6piTDQ.js";
@@ -144,7 +144,7 @@ import "./auth-choice.apply-helpers-Bj-Y-Sar.js";
144
144
  import "./auth-choice-Cxc76L50.js";
145
145
  import "./openai-model-default-DTIibBxa.js";
146
146
  import "./model-picker-D_yngXMe.js";
147
- import { n as configureCommandFromSectionsArg, r as CONFIGURE_WIZARD_SECTIONS } from "./configure-Dp2SC2bd.js";
147
+ import { n as configureCommandFromSectionsArg, r as CONFIGURE_WIZARD_SECTIONS } from "./configure-Dd1r8lCc.js";
148
148
  import "./systemd-linger-Dx928sEF.js";
149
149
  import "./onboard-custom-BjUK6yP5.js";
150
150
  import "./ipv4-BGojylLz.js";
@@ -117,9 +117,9 @@ import "./pairing-labels-D7xcHkxi.js";
117
117
  import { t as copyToClipboard } from "./clipboard-C25piuHH.js";
118
118
  import "./note-C2HHth6G.js";
119
119
  import "./channels-status-issues-Bi00z1aP.js";
120
- import "./completion-cli-CTGLJrsU.js";
121
- import "./register.subclis-WjFoTOYx.js";
122
- import "./command-registry-D_coG163.js";
120
+ import "./completion-cli-Dp2cBB7r.js";
121
+ import "./register.subclis-Pcge2ZUD.js";
122
+ import "./command-registry-Ch1LX7dG.js";
123
123
  import "./program-context-BrqeiWcA.js";
124
124
  import "./daemon-install-helpers-DUHqeg5Y.js";
125
125
  import "./runtime-guard-DTSD0F6o.js";
@@ -135,8 +135,8 @@ import "./logging-MF6Thoxk.js";
135
135
  import "./doctor-config-flow-BvGvt5rT.js";
136
136
  import "./systemd-linger-Dx928sEF.js";
137
137
  import "./health-format-wax5NzZB.js";
138
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-HOmODGGE.js";
139
- import "./doctor-completion-BTK69nw4.js";
138
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Dxt7znW6.js";
139
+ import "./doctor-completion-D4_Xz0GW.js";
140
140
  import path from "node:path";
141
141
  import fs from "node:fs/promises";
142
142
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -117,12 +117,12 @@ import "./server-lifecycle-B5PlrlbG.js";
117
117
  import "./stagger-rQoQSWkz.js";
118
118
  import "./system-run-command-qJdgzxLp.js";
119
119
  import "./runtime-guard-X6f4YmTM.js";
120
- import "./program-context-C4ufrdyk.js";
120
+ import "./program-context-CeyrkmGJ.js";
121
121
  import "./skills-status-qjQ8XP0h.js";
122
122
  import { t as copyToClipboard } from "./clipboard-LsW7H0Y8.js";
123
123
  import "./note-69EfBEU-.js";
124
124
  import "./channels-status-issues-CDpWjdI3.js";
125
- import "./completion-cli-CAERO_KP.js";
125
+ import "./completion-cli-4GjUKmcp.js";
126
126
  import "./daemon-install-helpers-BZY9-jNW.js";
127
127
  import "./systemd-CaCR5CyM.js";
128
128
  import { t as resolveGatewayService } from "./service-C8NMS3m_.js";
@@ -136,8 +136,8 @@ import "./logging-B0-9lotb.js";
136
136
  import "./doctor-config-flow-Ck4oCjfl.js";
137
137
  import "./systemd-linger-B7XlUHk_.js";
138
138
  import "./health-format-Ba_hOaT2.js";
139
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CoVuIbC6.js";
140
- import "./doctor-completion-C4IaYTpf.js";
139
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-QGoSGceD.js";
140
+ import "./doctor-completion-k1NPhnSD.js";
141
141
  import path from "node:path";
142
142
  import fs from "node:fs/promises";
143
143
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -36,11 +36,11 @@ import "./prompt-style-XmK49QYK.js";
36
36
  import "./note-C2HHth6G.js";
37
37
  import "./clack-prompter-Bo7vS5xP.js";
38
38
  import "./runtime-guard-DTSD0F6o.js";
39
- import "./onboarding-BH14vh8u.js";
39
+ import "./onboarding-DJ5uRALX.js";
40
40
  import "./logging-MF6Thoxk.js";
41
41
  import { t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-DHfeIfN6.js";
42
42
  import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-C9rCwrcM.js";
43
- import { t as onboardCommand } from "./onboard-DmJrRFm6.js";
43
+ import { t as onboardCommand } from "./onboard-Co1aTajZ.js";
44
44
 
45
45
  //#region src/cli/program/register.onboard.ts
46
46
  function resolveInstallDaemonFlag(command, opts) {
@@ -40,11 +40,11 @@ import "./prompt-style-kmKiCZnm.js";
40
40
  import "./runtime-guard-X6f4YmTM.js";
41
41
  import "./note-69EfBEU-.js";
42
42
  import "./clack-prompter-CvbZsmjW.js";
43
- import "./onboarding-CatctZfr.js";
43
+ import "./onboarding-GUp6F9pi.js";
44
44
  import "./logging-B0-9lotb.js";
45
45
  import { t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-CWpV5eF5.js";
46
46
  import { n as formatAuthChoiceChoicesForCli } from "./auth-choice-options-xcR7--c6.js";
47
- import { t as onboardCommand } from "./onboard-BGttnPtz.js";
47
+ import { t as onboardCommand } from "./onboard-BbaM-mHQ.js";
48
48
 
49
49
  //#region src/cli/program/register.onboard.ts
50
50
  function resolveInstallDaemonFlag(command, opts) {
@@ -37,9 +37,9 @@ import { t as hasExplicitOptions } from "./command-options-CK65DMbR.js";
37
37
  import "./note-C2HHth6G.js";
38
38
  import "./clack-prompter-Bo7vS5xP.js";
39
39
  import "./runtime-guard-DTSD0F6o.js";
40
- import "./onboarding-BH14vh8u.js";
40
+ import "./onboarding-DJ5uRALX.js";
41
41
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-MF6Thoxk.js";
42
- import { t as onboardCommand } from "./onboard-DmJrRFm6.js";
42
+ import { t as onboardCommand } from "./onboard-Co1aTajZ.js";
43
43
  import JSON5 from "json5";
44
44
  import fs from "node:fs/promises";
45
45
 
@@ -41,9 +41,9 @@ import "./runtime-guard-X6f4YmTM.js";
41
41
  import { t as hasExplicitOptions } from "./command-options-D4MmqoOd.js";
42
42
  import "./note-69EfBEU-.js";
43
43
  import "./clack-prompter-CvbZsmjW.js";
44
- import "./onboarding-CatctZfr.js";
44
+ import "./onboarding-GUp6F9pi.js";
45
45
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-B0-9lotb.js";
46
- import { t as onboardCommand } from "./onboard-BGttnPtz.js";
46
+ import { t as onboardCommand } from "./onboard-BbaM-mHQ.js";
47
47
  import JSON5 from "json5";
48
48
  import fs from "node:fs/promises";
49
49
 
@@ -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-DOdmF6H_.js")).registerGatewayCli(program);
67
+ (await import("./gateway-cli-BzLinXVg.js")).registerGatewayCli(program);
68
68
  }
69
69
  },
70
70
  {
@@ -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-Dv_xfkAV.js")).registerUpdateCli(program);
271
+ (await import("./update-cli-CdX0Fl_m.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-CTGLJrsU.js").then((n) => n.n)).registerCompletionCli(program);
307
+ (await import("./completion-cli-Dp2cBB7r.js").then((n) => n.n)).registerCompletionCli(program);
308
308
  }
309
309
  }
310
310
  ];
@@ -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-Ft-MoBA0.js");
264
+ const { runConfigGet } = await import("./config-cli-DHOt2fiX.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-Ft-MoBA0.js");
277
+ const { runConfigUnset } = await import("./config-cli-DHOt2fiX.js");
278
278
  await runConfigUnset({ path: pathArg });
279
279
  return true;
280
280
  }
@@ -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-CA0hdsv9.js");
400
+ const { buildProgram } = await import("./program-Bxd5OUE_.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-D_coG163.js").then((n) => n.t);
413
+ const { registerCoreCliByName } = await import("./command-registry-Ch1LX7dG.js").then((n) => n.t);
414
414
  await registerCoreCliByName(program, ctx, primary, parseArgv);
415
415
  }
416
- const { registerSubCliByName } = await import("./register.subclis-WjFoTOYx.js").then((n) => n.a);
416
+ const { registerSubCliByName } = await import("./register.subclis-Pcge2ZUD.js").then((n) => n.a);
417
417
  await registerSubCliByName(program, primary);
418
418
  }
419
419
  if (!shouldSkipPluginCommandRegistration({
@@ -5,7 +5,7 @@ import { _ as runExec } from "./workspace-DBFSzT6O.js";
5
5
  import { J as isInboundPathAllowed, R as loadConfig, T as resolveApiKeyForProvider, X as resolveIMessageAttachmentRoots, Y as mergeInboundPathRoots, c as normalizeProviderId, dn as resolveIdleHandsAgentDir, g as normalizeGoogleModelId, q as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, w as requireApiKey } from "./model-selection-1MMYqY6M.js";
6
6
  import { t as normalizeChatType } from "./chat-type-BPBtOjer.js";
7
7
  import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-D1KtygWz.js";
8
- import { t as describeImageWithModel, w as ensureIdleHandsModelsJson } from "./image-COw__ACq.js";
8
+ import { t as describeImageWithModel, w as ensureIdleHandsModelsJson } from "./image-D8b_rlQC.js";
9
9
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CIyaa44H.js";
10
10
  import { n as fetchWithTimeout } from "./fetch-timeout-3YYM8QuM.js";
11
11
  import { t as fetchWithSsrFGuard } from "./fetch-guard-iuQsIjqN.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-CTGLJrsU.js";
127
- import "./register.subclis-WjFoTOYx.js";
128
- import "./command-registry-D_coG163.js";
126
+ import { r as installCompletion } from "./completion-cli-Dp2cBB7r.js";
127
+ import "./register.subclis-Pcge2ZUD.js";
128
+ import "./command-registry-Ch1LX7dG.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";
@@ -146,8 +146,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
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-HOmODGGE.js";
150
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BTK69nw4.js";
149
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Dxt7znW6.js";
150
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D4_Xz0GW.js";
151
151
  import { spawn, spawnSync } from "node:child_process";
152
152
  import os from "node:os";
153
153
  import path from "node:path";
@@ -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-C4ufrdyk.js";
122
+ import "./program-context-CeyrkmGJ.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,7 +128,7 @@ 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-CAERO_KP.js";
131
+ import { r as installCompletion } from "./completion-cli-4GjUKmcp.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";
@@ -147,8 +147,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
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-CoVuIbC6.js";
151
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-C4IaYTpf.js";
150
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-QGoSGceD.js";
151
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-k1NPhnSD.js";
152
152
  import os from "node:os";
153
153
  import path from "node:path";
154
154
  import fs from "node:fs/promises";
@@ -12,14 +12,14 @@ 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-BuvTuh5b.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-AgRG5Ssx.js";
16
16
  import "./plugins-CRB60mCJ.js";
17
17
  import { n as resolveWhatsAppAccount } from "./accounts-Dk8mJIrQ.js";
18
18
  import "./bindings-D3b5Fmc9.js";
19
19
  import { i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists, s as pickWebChannel, t as WA_WEB_AUTH_DIR } from "./auth-store-DXT-l7fO.js";
20
20
  import "./send-BeIZJuy4.js";
21
21
  import "./send-DmLC7aEF.js";
22
- import "./deliver-CVTXl0Cv.js";
22
+ import "./deliver-BUiQ-9fE.js";
23
23
  import "./diagnostic-4owMk4vH.js";
24
24
  import "./diagnostic-session-state-BGF2r-kt.js";
25
25
  import "./accounts-BDVs8LTu.js";
@@ -27,8 +27,8 @@ import { J as toLocationContext, Q as upsertChannelPairingRequest, q as formatLo
27
27
  import "./image-ops-D1KtygWz.js";
28
28
  import "./pi-model-discovery-Bb__OY-j.js";
29
29
  import "./message-channel-C8QtrwEU.js";
30
- import "./pi-embedded-helpers-CyTpDKo5.js";
31
- import "./chrome-_2tzVjVl.js";
30
+ import "./pi-embedded-helpers-CghCLoPo.js";
31
+ import "./chrome-BcJB6PcM.js";
32
32
  import "./ssrf-CZeHDwVZ.js";
33
33
  import "./frontmatter-BOudmHMS.js";
34
34
  import "./skills-CnAPWfca.js";
@@ -42,7 +42,7 @@ import "./accounts-CIvVRRHb.js";
42
42
  import { u as resolveStorePath } from "./paths-D_qUel1T.js";
43
43
  import "./tool-images-CcGZpzmq.js";
44
44
  import "./thinking-z4_linel.js";
45
- import "./image-COw__ACq.js";
45
+ import "./image-D8b_rlQC.js";
46
46
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-BUgeSN2R.js";
47
47
  import "./manager-BE_76jWB.js";
48
48
  import "./gemini-auth-CIyaa44H.js";
@@ -58,7 +58,7 @@ import "./render-MTSxc7LK.js";
58
58
  import "./commands-registry-j4vAzcF2.js";
59
59
  import "./skill-commands-Ck3flWX7.js";
60
60
  import { t as finalizeInboundContext } from "./inbound-context-BYczzTII.js";
61
- import { p as registerUnhandledRejectionHandler } from "./runner-BzNdfqDz.js";
61
+ import { p as registerUnhandledRejectionHandler } from "./runner-PgRFPYUj.js";
62
62
  import "./fetch-CsfR_943.js";
63
63
  import { n as recordChannelActivity } from "./channel-activity-D_TMOGQ0.js";
64
64
  import { t as convertMarkdownTables } from "./tables-5k-zOZ-s.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-DMIwjElF.js";
72
+ import "./deps-LUq8tPGl.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-BFA2JE99.js");
867
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DvzTW9v2.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);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/acpx",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands ACP runtime backend via acpx",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/bluebubbles",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "idlehands": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/copilot-proxy",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands Copilot Proxy provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/diagnostics-otel",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands diagnostics OpenTelemetry exporter",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/discord",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands Discord channel plugin",
5
5
  "type": "module",
6
6
  "idlehands": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/feishu",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/google-gemini-cli-auth",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands Gemini CLI OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/googlechat",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands Google Chat channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/hand",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "Hand workflow tool plugin (typed pipelines + resumable approvals)",
5
5
  "type": "module",
6
6
  "idlehands": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/imessage",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands iMessage channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/irc",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands IRC channel plugin",
5
5
  "type": "module",
6
6
  "idlehands": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/line",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands LINE channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/llm-task",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands JSON-only LLM task plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.0.12
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core IdleHands release numbers.
8
+
3
9
  ## 2026.2.27
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/matrix",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands Matrix channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/mattermost",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "description": "IdleHands Mattermost channel plugin",
5
5
  "type": "module",
6
6
  "idlehands": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/memory-core",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands core memory search plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/memory-lancedb",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands LanceDB-backed long-term memory plugin with auto-recall/capture",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/minimax-portal-auth",
3
- "version": "2026.2.27",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "description": "IdleHands MiniMax Portal OAuth provider plugin",
6
6
  "type": "module",