@visorcraft/idlehands 4.0.15 → 4.0.16

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 (179) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{agent-via-gateway-BFtbpQpT.js → agent-via-gateway-7SDhvcBa.js} +7 -7
  3. package/dist/{agent-via-gateway-CIM26Dxl.js → agent-via-gateway-Ceb_VeXS.js} +7 -7
  4. package/dist/{agent-via-gateway-BvXS1sXv.js → agent-via-gateway-DIfwOe7Y.js} +1 -1
  5. package/dist/{agent-via-gateway-CcaPUQrc.js → agent-via-gateway-F1Zu0slF.js} +1 -1
  6. package/dist/{agents-DPlb4UQu.js → agents-idaLog48.js} +4 -4
  7. package/dist/{agents.config-8pxRoZvL.js → agents.config-DP_bqTwg.js} +1 -1
  8. package/dist/{agents.config-BKoyeUnK.js → agents.config-w0ZcfpyW.js} +1 -1
  9. package/dist/{anton-DKA8iAQE.js → anton-B7VZSQo-.js} +1 -1
  10. package/dist/{anton-BTjKlGm7.js → anton-BomwkDBv.js} +1 -1
  11. package/dist/{anton-DhBvDNcB.js → anton-Cs1JPzv4.js} +1 -1
  12. package/dist/{anton-Dyhtv3C8.js → anton-CzWIEEiT.js} +1 -1
  13. package/dist/{audio-preflight-CW8IH1lU.js → audio-preflight-BSlR2jEq.js} +4 -4
  14. package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
  15. package/dist/{auth-choice-CMUzxwaw.js → auth-choice-C49o8owq.js} +1 -1
  16. package/dist/{auth-choice-D-_AVWgJ.js → auth-choice-D-TtZtMR.js} +1 -1
  17. package/dist/{banner-B6ih1A5q.js → banner-DmFqQvFd.js} +1 -1
  18. package/dist/build-info.json +3 -3
  19. package/dist/bundled/boot-md/handler.js +7 -7
  20. package/dist/bundled/session-memory/handler.js +7 -7
  21. package/dist/{channel-options-DdT_iiu2.js → channel-options-1Dqo0zkg.js} +1 -1
  22. package/dist/{channel-options-DqOp64vm.js → channel-options-CsEgIwgu.js} +1 -1
  23. package/dist/{channel-web-DjS8VQYO.js → channel-web-BicbbO9_.js} +2 -2
  24. package/dist/{channel-web-PG7u76pG.js → channel-web-C7s5QLXL.js} +2 -2
  25. package/dist/{channels-cli-1tt6zmdw.js → channels-cli-CWb-B8BT.js} +7 -7
  26. package/dist/{channels-cli-CWxVX3_x.js → channels-cli-REwO9h_a.js} +7 -7
  27. package/dist/{chrome-BcJB6PcM.js → chrome-Do5potHV.js} +9 -9
  28. package/dist/{chrome-DEnkfZ9p.js → chrome-_2tzVjVl.js} +9 -9
  29. package/dist/{cli-CmOlEYcx.js → cli-B4rP4MXJ.js} +2 -2
  30. package/dist/{cli-D4FV736E.js → cli-B9ARC6CF.js} +2 -2
  31. package/dist/{command-registry-CQ_cgvak.js → command-registry-0e5VHciB.js} +10 -10
  32. package/dist/{completion-cli-UytEAOmM.js → completion-cli-BTtvgatl.js} +2 -2
  33. package/dist/{completion-cli-y9BFk5F6.js → completion-cli-C1StqVUs.js} +1 -1
  34. package/dist/{config-cli-DUb0ZGdL.js → config-cli-B-yirt2T.js} +1 -1
  35. package/dist/{config-cli-5c6A3y5U.js → config-cli-C3As38Z_.js} +1 -1
  36. package/dist/{configure-AlSS40po.js → configure-BEd8nUOe.js} +3 -3
  37. package/dist/{configure-BPwYKVb4.js → configure-Cw6aeqBy.js} +3 -3
  38. package/dist/{deliver-BUiQ-9fE.js → deliver-CVTXl0Cv.js} +1 -1
  39. package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
  40. package/dist/{deps-TwKaIh1I.js → deps-C28cWNmF.js} +1 -1
  41. package/dist/{deps-KIFYHxig.js → deps-CVb-kfIX.js} +1 -1
  42. package/dist/{deps-BYfE_aIY.js → deps-CYAKIzhf.js} +1 -1
  43. package/dist/{deps-DxMLbT7t.js → deps-Cn32rOjf.js} +1 -1
  44. package/dist/{doctor-completion-S-XHygGb.js → doctor-completion-T5sq7t8L.js} +1 -1
  45. package/dist/{doctor-completion-HzTBPNbS.js → doctor-completion-o6QBkVYG.js} +1 -1
  46. package/dist/{emergency-stop-BDwI4Cyl.js → emergency-stop-CMeSxuEg.js} +2 -2
  47. package/dist/{emergency-stop-DOi-rKmj.js → emergency-stop-D-dp9zCO.js} +2 -2
  48. package/dist/{emergency-stop-DpMAMIiz.js → emergency-stop-h5_WOPZT.js} +7 -7
  49. package/dist/{emergency-stop--ScwariE.js → emergency-stop-w0AyIMs7.js} +7 -7
  50. package/dist/entry.js +1 -1
  51. package/dist/extensionAPI.js +7 -7
  52. package/dist/{gateway-cli-B4T44JsM.js → gateway-cli-Dxoh3sSC.js} +9 -9
  53. package/dist/{gateway-cli-DQcjWJr7.js → gateway-cli-bZXsaQkU.js} +9 -9
  54. package/dist/{health--39yieH5.js → health-OvNY74XL.js} +1 -1
  55. package/dist/{health-D7UCYzfy.js → health-dLZas7f8.js} +1 -1
  56. package/dist/{hooks-cli-CGB7TcZZ.js → hooks-cli-DOH-i33b.js} +3 -3
  57. package/dist/{hooks-cli-Cko_uweG.js → hooks-cli-DZr1MB1B.js} +3 -3
  58. package/dist/{image-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
  59. package/dist/{image-D8b_rlQC.js → image-COw__ACq.js} +1 -1
  60. package/dist/index.js +7 -7
  61. package/dist/llm-slug-generator.js +7 -7
  62. package/dist/{models-CWfcMshO.js → models-Dvyot3-o.js} +2 -2
  63. package/dist/{models-cli-d_ead6LU.js → models-cli-CKRL4j3x.js} +3 -3
  64. package/dist/{models-cli-NlT2N74B.js → models-cli-Dtzht0md.js} +4 -4
  65. package/dist/{npm-resolution-DIJeEhoa.js → npm-resolution-BpruvRIr.js} +1 -1
  66. package/dist/{npm-resolution-Dpn9DNPz.js → npm-resolution-iEXmU1Ol.js} +1 -1
  67. package/dist/{onboard-Raw5nkGc.js → onboard-CS6IQorr.js} +2 -2
  68. package/dist/{onboard-DFseyAG9.js → onboard-Ck4SwhZB.js} +2 -2
  69. package/dist/{onboard-channels-mLWuxUlN.js → onboard-channels-CM4puuWQ.js} +1 -1
  70. package/dist/{onboard-channels-CG1HcORq.js → onboard-channels-DzNjXM6f.js} +1 -1
  71. package/dist/{onboarding-CzzjhwRf.js → onboarding-0Pop0Cex.js} +3 -3
  72. package/dist/{onboarding-DYlNLV9R.js → onboarding-DMEJRAg4.js} +3 -3
  73. package/dist/{onboarding.finalize-CIOBj6Jy.js → onboarding.finalize-BZW1kZw7.js} +7 -7
  74. package/dist/{onboarding.finalize-BJYuOTPe.js → onboarding.finalize-f2qChM_N.js} +6 -6
  75. package/dist/{pi-embedded-Swc7dke2.js → pi-embedded-BKTKQn_9.js} +27 -27
  76. package/dist/{pi-embedded-7XGjNojd.js → pi-embedded-Oto02Ard.js} +27 -27
  77. package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
  78. package/dist/{pi-embedded-helpers-CghCLoPo.js → pi-embedded-helpers-CyTpDKo5.js} +4 -4
  79. package/dist/{plugin-registry-D9Z1bMNt.js → plugin-registry-BfNJBiAr.js} +1 -1
  80. package/dist/{plugin-registry-BAd0SoEv.js → plugin-registry-PcN7mK-d.js} +1 -1
  81. package/dist/plugin-sdk/{agent-via-gateway-B3F-royZ.js → agent-via-gateway-l3LvRB7r.js} +2 -2
  82. package/dist/plugin-sdk/{anton-DfpQdXJJ.js → anton-DJn2RPpW.js} +1 -1
  83. package/dist/plugin-sdk/{channel-web-BWE_kecR.js → channel-web-DvztgyXI.js} +2 -2
  84. package/dist/plugin-sdk/{deps-B0MfJgDH.js → deps-B1DxdYuU.js} +1 -1
  85. package/dist/plugin-sdk/{emergency-stop-rTRWpk26.js → emergency-stop-CVZuzTM7.js} +2 -2
  86. package/dist/plugin-sdk/index.js +3 -3
  87. package/dist/plugin-sdk/{reply-C2G4DKTN.js → reply-BhGucE6k.js} +12 -12
  88. package/dist/plugin-sdk/{upgrade-command-DKUGbn8D.js → upgrade-command-y1YvsJbf.js} +12 -2
  89. package/dist/plugin-sdk/{web-bxu2RRVS.js → web-BzmXmmAo.js} +3 -3
  90. package/dist/{plugins-cli-BYfDyWXn.js → plugins-cli-DOTZBHc7.js} +3 -3
  91. package/dist/{plugins-cli-DP46ipIu.js → plugins-cli-s1bEnfMn.js} +3 -3
  92. package/dist/{program-BlV0XOMu.js → program-Blak4A0H.js} +8 -8
  93. package/dist/{program-context-PC7Knx3s.js → program-context-DtHO30yM.js} +19 -19
  94. package/dist/{prompt-select-styled-BgfuPDVv.js → prompt-select-styled-D8vDTRY8.js} +4 -4
  95. package/dist/{prompt-select-styled-BEnn1bwr.js → prompt-select-styled-DuHE5c_O.js} +4 -4
  96. package/dist/{provider-auth-helpers-CrjXAqYu.js → provider-auth-helpers-CnqcE5__.js} +1 -1
  97. package/dist/{provider-auth-helpers-CKIkgNDk.js → provider-auth-helpers-PdlgGx1Z.js} +1 -1
  98. package/dist/{push-apns-BPmS_f8e.js → push-apns-CNVtKEbW.js} +1 -1
  99. package/dist/{push-apns-B4sxQAG3.js → push-apns-DkGS3lmo.js} +1 -1
  100. package/dist/{pw-ai-CfYaR1K2.js → pw-ai-CowTfhOG.js} +1 -1
  101. package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
  102. package/dist/{register.agent-DRcOj2U3.js → register.agent-BGs6wEo-.js} +9 -9
  103. package/dist/{register.agent-uaM-OgFM.js → register.agent-DliuXWG0.js} +8 -8
  104. package/dist/{register.configure-BebpNVXc.js → register.configure-D9bNPRml.js} +8 -8
  105. package/dist/{register.configure-B0i1vobR.js → register.configure-DJsShg2l.js} +8 -8
  106. package/dist/{register.maintenance-Cr0SJRGa.js → register.maintenance-B-36Avrl.js} +8 -8
  107. package/dist/{register.maintenance-CjWtRkPb.js → register.maintenance-B7ZM7NqF.js} +9 -9
  108. package/dist/{register.message-BNqRwnPx.js → register.message-Cm5P_dls.js} +3 -3
  109. package/dist/{register.message-DMAqqNBh.js → register.message-CmEzaYEw.js} +3 -3
  110. package/dist/{register.onboard-DDLj9mJ2.js → register.onboard-ByUSn1hy.js} +2 -2
  111. package/dist/{register.onboard-9Z1ghVgM.js → register.onboard-cB-UkXhL.js} +2 -2
  112. package/dist/{register.orchestrator-anton-9Al8Av8i.js → register.orchestrator-anton-CADua5Nr.js} +2 -2
  113. package/dist/{register.orchestrator-anton-BybNaYi1.js → register.orchestrator-anton-D_mAceTk.js} +2 -2
  114. package/dist/{register.setup-yqN0SXow.js → register.setup-CA3WwC1V.js} +2 -2
  115. package/dist/{register.setup-Z1tBfa9d.js → register.setup-DOnWysTP.js} +2 -2
  116. package/dist/{register.status-health-sessions-r-mpQR1m.js → register.status-health-sessions-DgR30NBl.js} +4 -4
  117. package/dist/{register.status-health-sessions-Di92AnoH.js → register.status-health-sessions-Dsvbkrhh.js} +4 -4
  118. package/dist/{register.subclis-DPQqxIZd.js → register.subclis-CvN5J3oh.js} +10 -10
  119. package/dist/{reply-ZWOav11z.js → reply-D6y5faqD.js} +12 -12
  120. package/dist/{run-main-DDbBATo6.js → run-main-BBYeikWD.js} +15 -15
  121. package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
  122. package/dist/{runner-PgRFPYUj.js → runner-BzNdfqDz.js} +1 -1
  123. package/dist/{server-node-events-DNJLKEMT.js → server-node-events-CcAiA2an.js} +3 -3
  124. package/dist/{server-node-events-BcZPS5tj.js → server-node-events-DeBYOK05.js} +3 -3
  125. package/dist/{status-BXSiFfmy.js → status-BW8aF7xu.js} +2 -2
  126. package/dist/{status-geIYZraQ.js → status-Dd0rJBTD.js} +2 -2
  127. package/dist/{subagent-registry-C6uygQa1.js → subagent-registry-DeXWDNty.js} +12 -12
  128. package/dist/{update-cli-BxVcRBy_.js → update-cli-C97163Ne.js} +9 -9
  129. package/dist/{update-cli-VlK55yII.js → update-cli-DLWAR9u6.js} +8 -8
  130. package/dist/{update-runner-bFqEARFN.js → update-runner-BV9LWTCG.js} +1 -1
  131. package/dist/{update-runner-Cw7BbjGv.js → update-runner-Cft2lh5r.js} +1 -1
  132. package/dist/{upgrade-command-Bh61DpzA.js → upgrade-command-909a7QUc.js} +12 -2
  133. package/dist/{upgrade-command-CvbcPPIF.js → upgrade-command-BOG7TpIq.js} +12 -2
  134. package/dist/{upgrade-command-Bvrv4iDU.js → upgrade-command-CWP8S_lt.js} +12 -2
  135. package/dist/{upgrade-command-L9y3xbza.js → upgrade-command-eqla-KnV.js} +12 -2
  136. package/dist/{web-TRTzT6rm.js → web-BwZ1OGaX.js} +8 -8
  137. package/dist/{web-Bjj9WtlF.js → web-D8zB-Qkg.js} +3 -3
  138. package/dist/{web-DptF9st7.js → web-DGPTqAhk.js} +8 -8
  139. package/dist/{web-BjMMu9l1.js → web-Da_aB4Vm.js} +3 -3
  140. package/extensions/acpx/package.json +1 -1
  141. package/extensions/bluebubbles/package.json +1 -1
  142. package/extensions/copilot-proxy/package.json +1 -1
  143. package/extensions/diagnostics-otel/package.json +1 -1
  144. package/extensions/discord/package.json +1 -1
  145. package/extensions/feishu/package.json +1 -1
  146. package/extensions/google-gemini-cli-auth/package.json +1 -1
  147. package/extensions/googlechat/package.json +1 -1
  148. package/extensions/hand/package.json +1 -1
  149. package/extensions/imessage/package.json +1 -1
  150. package/extensions/irc/package.json +1 -1
  151. package/extensions/line/package.json +1 -1
  152. package/extensions/llm-task/package.json +1 -1
  153. package/extensions/matrix/CHANGELOG.md +6 -0
  154. package/extensions/matrix/package.json +1 -1
  155. package/extensions/mattermost/package.json +1 -1
  156. package/extensions/memory-core/package.json +1 -1
  157. package/extensions/memory-lancedb/package.json +1 -1
  158. package/extensions/minimax-portal-auth/package.json +1 -1
  159. package/extensions/msteams/CHANGELOG.md +6 -0
  160. package/extensions/msteams/package.json +1 -1
  161. package/extensions/nextcloud-talk/package.json +1 -1
  162. package/extensions/nostr/CHANGELOG.md +6 -0
  163. package/extensions/nostr/package.json +1 -1
  164. package/extensions/open-prose/package.json +1 -1
  165. package/extensions/signal/package.json +1 -1
  166. package/extensions/slack/package.json +1 -1
  167. package/extensions/synology-chat/package.json +1 -1
  168. package/extensions/telegram/package.json +1 -1
  169. package/extensions/tlon/package.json +1 -1
  170. package/extensions/twitch/CHANGELOG.md +6 -0
  171. package/extensions/twitch/package.json +1 -1
  172. package/extensions/voice-call/CHANGELOG.md +6 -0
  173. package/extensions/voice-call/package.json +1 -1
  174. package/extensions/whatsapp/package.json +1 -1
  175. package/extensions/zalo/CHANGELOG.md +6 -0
  176. package/extensions/zalo/package.json +1 -1
  177. package/extensions/zalouser/CHANGELOG.md +6 -0
  178. package/extensions/zalouser/package.json +1 -1
  179. package/package.json +1 -1
@@ -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-C6uygQa1.js";
3
+ import { Ot as trimLogTail } from "./subagent-registry-DeXWDNty.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,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-CXzXXV2o.js";
2
- import { q as trimLogTail } from "./reply-ZWOav11z.js";
2
+ import { q as trimLogTail } from "./reply-D6y5faqD.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";
@@ -40,6 +40,7 @@ const GITHUB_OWNER = "visorcraft";
40
40
  const GITHUB_REPO = "idlehands";
41
41
  const NPM_SCOPED_PACKAGE = "@visorcraft/idlehands";
42
42
  const RELEASE_ASSET_PREFIX = "idlehands";
43
+ const NPM_REGISTRY_URL = "https://registry.npmjs.org";
43
44
  function isUsableCommand(cmd) {
44
45
  try {
45
46
  execFileSync(cmd, ["--version"], {
@@ -97,11 +98,14 @@ function npmInstallGlobal(spec) {
97
98
  "-g",
98
99
  "--prefix",
99
100
  target.prefix,
101
+ "--registry",
102
+ NPM_REGISTRY_URL,
100
103
  spec
101
104
  ];
102
105
  const env = {
103
106
  ...process.env,
104
- npm_config_prefix: target.prefix
107
+ npm_config_prefix: target.prefix,
108
+ npm_config_registry: NPM_REGISTRY_URL
105
109
  };
106
110
  if (needsElevation(target.prefix)) {
107
111
  if (!hasSudo()) throw new Error(`Permission denied: ${target.prefix} requires elevated permissions.\nRe-run as root or install to a user-writable prefix.`);
@@ -122,10 +126,16 @@ function npmInstallGlobal(spec) {
122
126
  execFileSync("npm", [
123
127
  "install",
124
128
  "-g",
129
+ "--registry",
130
+ NPM_REGISTRY_URL,
125
131
  spec
126
132
  ], {
127
133
  stdio: "pipe",
128
- timeout: 12e4
134
+ timeout: 12e4,
135
+ env: {
136
+ ...process.env,
137
+ npm_config_registry: NPM_REGISTRY_URL
138
+ }
129
139
  });
130
140
  }
131
141
  function compareSemver(a, b) {
@@ -40,6 +40,7 @@ const GITHUB_OWNER = "visorcraft";
40
40
  const GITHUB_REPO = "idlehands";
41
41
  const NPM_SCOPED_PACKAGE = "@visorcraft/idlehands";
42
42
  const RELEASE_ASSET_PREFIX = "idlehands";
43
+ const NPM_REGISTRY_URL = "https://registry.npmjs.org";
43
44
  function isUsableCommand(cmd) {
44
45
  try {
45
46
  execFileSync(cmd, ["--version"], {
@@ -97,11 +98,14 @@ function npmInstallGlobal(spec) {
97
98
  "-g",
98
99
  "--prefix",
99
100
  target.prefix,
101
+ "--registry",
102
+ NPM_REGISTRY_URL,
100
103
  spec
101
104
  ];
102
105
  const env = {
103
106
  ...process.env,
104
- npm_config_prefix: target.prefix
107
+ npm_config_prefix: target.prefix,
108
+ npm_config_registry: NPM_REGISTRY_URL
105
109
  };
106
110
  if (needsElevation(target.prefix)) {
107
111
  if (!hasSudo()) throw new Error(`Permission denied: ${target.prefix} requires elevated permissions.\nRe-run as root or install to a user-writable prefix.`);
@@ -122,10 +126,16 @@ function npmInstallGlobal(spec) {
122
126
  execFileSync("npm", [
123
127
  "install",
124
128
  "-g",
129
+ "--registry",
130
+ NPM_REGISTRY_URL,
125
131
  spec
126
132
  ], {
127
133
  stdio: "pipe",
128
- timeout: 12e4
134
+ timeout: 12e4,
135
+ env: {
136
+ ...process.env,
137
+ npm_config_registry: NPM_REGISTRY_URL
138
+ }
129
139
  });
130
140
  }
131
141
  function compareSemver(a, b) {
@@ -40,6 +40,7 @@ const GITHUB_OWNER = "visorcraft";
40
40
  const GITHUB_REPO = "idlehands";
41
41
  const NPM_SCOPED_PACKAGE = "@visorcraft/idlehands";
42
42
  const RELEASE_ASSET_PREFIX = "idlehands";
43
+ const NPM_REGISTRY_URL = "https://registry.npmjs.org";
43
44
  function isUsableCommand(cmd) {
44
45
  try {
45
46
  execFileSync(cmd, ["--version"], {
@@ -97,11 +98,14 @@ function npmInstallGlobal(spec) {
97
98
  "-g",
98
99
  "--prefix",
99
100
  target.prefix,
101
+ "--registry",
102
+ NPM_REGISTRY_URL,
100
103
  spec
101
104
  ];
102
105
  const env = {
103
106
  ...process.env,
104
- npm_config_prefix: target.prefix
107
+ npm_config_prefix: target.prefix,
108
+ npm_config_registry: NPM_REGISTRY_URL
105
109
  };
106
110
  if (needsElevation(target.prefix)) {
107
111
  if (!hasSudo()) throw new Error(`Permission denied: ${target.prefix} requires elevated permissions.\nRe-run as root or install to a user-writable prefix.`);
@@ -122,10 +126,16 @@ function npmInstallGlobal(spec) {
122
126
  execFileSync("npm", [
123
127
  "install",
124
128
  "-g",
129
+ "--registry",
130
+ NPM_REGISTRY_URL,
125
131
  spec
126
132
  ], {
127
133
  stdio: "pipe",
128
- timeout: 12e4
134
+ timeout: 12e4,
135
+ env: {
136
+ ...process.env,
137
+ npm_config_registry: NPM_REGISTRY_URL
138
+ }
129
139
  });
130
140
  }
131
141
  function compareSemver(a, b) {
@@ -40,6 +40,7 @@ const GITHUB_OWNER = "visorcraft";
40
40
  const GITHUB_REPO = "idlehands";
41
41
  const NPM_SCOPED_PACKAGE = "@visorcraft/idlehands";
42
42
  const RELEASE_ASSET_PREFIX = "idlehands";
43
+ const NPM_REGISTRY_URL = "https://registry.npmjs.org";
43
44
  function isUsableCommand(cmd) {
44
45
  try {
45
46
  execFileSync(cmd, ["--version"], {
@@ -97,11 +98,14 @@ function npmInstallGlobal(spec) {
97
98
  "-g",
98
99
  "--prefix",
99
100
  target.prefix,
101
+ "--registry",
102
+ NPM_REGISTRY_URL,
100
103
  spec
101
104
  ];
102
105
  const env = {
103
106
  ...process.env,
104
- npm_config_prefix: target.prefix
107
+ npm_config_prefix: target.prefix,
108
+ npm_config_registry: NPM_REGISTRY_URL
105
109
  };
106
110
  if (needsElevation(target.prefix)) {
107
111
  if (!hasSudo()) throw new Error(`Permission denied: ${target.prefix} requires elevated permissions.\nRe-run as root or install to a user-writable prefix.`);
@@ -122,10 +126,16 @@ function npmInstallGlobal(spec) {
122
126
  execFileSync("npm", [
123
127
  "install",
124
128
  "-g",
129
+ "--registry",
130
+ NPM_REGISTRY_URL,
125
131
  spec
126
132
  ], {
127
133
  stdio: "pipe",
128
- timeout: 12e4
134
+ timeout: 12e4,
135
+ env: {
136
+ ...process.env,
137
+ npm_config_registry: NPM_REGISTRY_URL
138
+ }
129
139
  });
130
140
  }
131
141
  function compareSemver(a, b) {
@@ -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-7XGjNojd.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-Oto02Ard.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-BUiQ-9fE.js";
22
+ import "./deliver-CVTXl0Cv.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-CghCLoPo.js";
31
- import "./chrome-BcJB6PcM.js";
30
+ import "./pi-embedded-helpers-CyTpDKo5.js";
31
+ import "./chrome-_2tzVjVl.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-D8b_rlQC.js";
45
+ import "./image-COw__ACq.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-PgRFPYUj.js";
61
+ import { p as registerUnhandledRejectionHandler } from "./runner-BzNdfqDz.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-KIFYHxig.js";
72
+ import "./deps-CVb-kfIX.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--ScwariE.js");
867
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w0AyIMs7.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,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-ZWOav11z.js";
4
+ import "./reply-D6y5faqD.js";
5
5
  import "./agent-scope-RA0zXRpu.js";
6
6
  import "./subsystem-CGZX2PBV.js";
7
7
  import "./runtime-44j_X4Y6.js";
@@ -102,7 +102,7 @@ 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-BYfE_aIY.js";
105
+ import "./deps-CYAKIzhf.js";
106
106
  import "./plugin-auto-enable-7DUxMy6A.js";
107
107
  import "./channel-selection-ZxRkxpuF.js";
108
108
  import "./outbound-attachment-Bot3bRnK.js";
@@ -115,7 +115,7 @@ 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-DjS8VQYO.js";
118
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-BicbbO9_.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";
@@ -11,14 +11,14 @@ 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-Swc7dke2.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-BKTKQn_9.js";
15
15
  import "./plugins-D-_jp4FO.js";
16
16
  import { n as resolveWhatsAppAccount } from "./accounts-BwrguHMw.js";
17
17
  import "./bindings-hT7SPhiA.js";
18
18
  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-D1JaYlig.js";
19
19
  import "./send-J10cQN4A.js";
20
20
  import "./send-DLZt92Da.js";
21
- import "./deliver-5FLCa6tB.js";
21
+ import "./deliver-whAbSPLk.js";
22
22
  import "./diagnostic-jHCdo9Am.js";
23
23
  import "./diagnostic-session-state-Bx2Le86J.js";
24
24
  import "./accounts-BRVjft5i.js";
@@ -26,8 +26,8 @@ import { J as toLocationContext, Q as upsertChannelPairingRequest, q as formatLo
26
26
  import "./image-ops-BDG-MYYV.js";
27
27
  import "./pi-model-discovery-Dic-M5qw.js";
28
28
  import "./message-channel-DqqfOIdx.js";
29
- import "./pi-embedded-helpers-C2j0LfJC.js";
30
- import "./chrome-DEnkfZ9p.js";
29
+ import "./pi-embedded-helpers-Ct2rwp-P.js";
30
+ import "./chrome-Do5potHV.js";
31
31
  import "./ssrf-DappnhDp.js";
32
32
  import "./skills-nQcWk6Z6.js";
33
33
  import "./path-alias-guards-CGbCFqW8.js";
@@ -40,7 +40,7 @@ import "./accounts-CBoBCTgA.js";
40
40
  import { u as resolveStorePath } from "./paths-vOrMwCEQ.js";
41
41
  import "./tool-images-CpZSs-zE.js";
42
42
  import "./thinking-BFsWfunr.js";
43
- import "./image-C_aN5P6-.js";
43
+ import "./image-BAsQlUqT.js";
44
44
  import "./manager-DYOflU5p.js";
45
45
  import "./gemini-auth-m2hi6OmF.js";
46
46
  import "./fetch-guard-BdCPmLBP.js";
@@ -55,7 +55,7 @@ import "./render-Ddkk6wf8.js";
55
55
  import "./commands-registry-1-Rv2-IS.js";
56
56
  import "./skill-commands-CHpRgsOw.js";
57
57
  import { t as finalizeInboundContext } from "./inbound-context-DZmR6jxY.js";
58
- import { p as registerUnhandledRejectionHandler } from "./runner-CZW_eyf2.js";
58
+ import { p as registerUnhandledRejectionHandler } from "./runner-Bv_BA3vd.js";
59
59
  import "./fetch-ChVgjTkv.js";
60
60
  import { n as recordChannelActivity } from "./channel-activity-C3LJmSjf.js";
61
61
  import { t as convertMarkdownTables } from "./tables-CJKtUpY0.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-TwKaIh1I.js";
69
+ import "./deps-C28cWNmF.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-DpMAMIiz.js");
864
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-h5_WOPZT.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-C6uygQa1.js";
27
+ import "./subagent-registry-DeXWDNty.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-DxMLbT7t.js";
110
+ import "./deps-Cn32rOjf.js";
111
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-PG7u76pG.js";
115
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-C7s5QLXL.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
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/acpx",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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.16
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core IdleHands release numbers.
8
+
3
9
  ## 4.0.15
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/matrix",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
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": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "private": true,
5
5
  "description": "IdleHands MiniMax Portal OAuth provider plugin",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.0.16
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core IdleHands release numbers.
8
+
3
9
  ## 4.0.15
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/msteams",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "description": "IdleHands Microsoft Teams channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/nextcloud-talk",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "description": "IdleHands Nextcloud Talk channel plugin",
5
5
  "type": "module",
6
6
  "idlehands": {
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.0.16
4
+
5
+ ### Changes
6
+
7
+ - Version alignment with core IdleHands release numbers.
8
+
3
9
  ## 4.0.15
4
10
 
5
11
  ### Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/nostr",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "description": "IdleHands Nostr channel plugin for NIP-04 encrypted DMs",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/open-prose",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "private": true,
5
5
  "description": "OpenProse VM skill pack plugin (slash command + telemetry).",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/signal",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "private": true,
5
5
  "description": "IdleHands Signal channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/slack",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "private": true,
5
5
  "description": "IdleHands Slack channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlehands/synology-chat",
3
- "version": "4.0.15",
3
+ "version": "4.0.16",
4
4
  "description": "Synology Chat channel plugin for IdleHands",
5
5
  "type": "module",
6
6
  "dependencies": {