remoteclaw 0.1.0-next.c403049 → 0.1.0-next.ee567fa

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 (151) hide show
  1. package/README.md +2 -2
  2. package/dist/{accounts-iODF3SK2.js → accounts-Ch_uPHkM.js} +1 -1
  3. package/dist/{accounts-BFy_Z3od.js → accounts-D-FxtihQ.js} +7 -7
  4. package/dist/{accounts-DqRQ75w3.js → accounts-uiff2fyy.js} +1 -1
  5. package/dist/{ack-reactions-C1hk85VE.js → ack-reactions-lcSw6nTO.js} +1 -1
  6. package/dist/{acp-cli-DD-PD4NM.js → acp-cli-C3Hk84Od.js} +2 -2
  7. package/dist/{agent-Da_eZ5BP.js → agent-DYgSyKlm.js} +14 -14
  8. package/dist/{audio-preflight-CK3EA3Dv.js → audio-preflight-gB_NJsAz.js} +3 -3
  9. package/dist/{audit-CJipUWDi.js → audit-CQNMDMbC.js} +16 -16
  10. package/dist/{auth-profiles-D8vKiBPq.js → auth-profiles-DcVYf9mT.js} +1 -1
  11. package/dist/{browser-cli-D2qMeSx1.js → browser-cli-DcjXNRGG.js} +5 -5
  12. package/dist/build-info.json +3 -3
  13. package/dist/{call-CoMjY7ah.js → call-BOpAzd-X.js} +9 -9
  14. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  15. package/dist/{catalog-pjPqB2hC.js → catalog-DBl_VPmi.js} +1 -1
  16. package/dist/{channel-account-context-q-o0pG1A.js → channel-account-context-CF53gHFv.js} +11 -11
  17. package/dist/{channel-options-8SjIcDDI.js → channel-options-2xbGA5vc.js} +3 -3
  18. package/dist/{channel-selection-DdfhwFuY.js → channel-selection-RFF9ZvSb.js} +1 -1
  19. package/dist/{channel-web-BKJSXnwf.js → channel-web-CDocyddt.js} +16 -16
  20. package/dist/{channels-cli-DTfx1zFC.js → channels-cli-CRDqi9__.js} +59 -59
  21. package/dist/{channels-status-issues-DnmuqPsi.js → channels-status-issues-BpjnJM5H.js} +1 -1
  22. package/dist/{chrome-DdNEInwI.js → chrome-C2hESU1k.js} +2 -2
  23. package/dist/{cleanup-utils-CqAVZz2b.js → cleanup-utils-Ba3P7IXh.js} +3 -3
  24. package/dist/cli/daemon-cli.js +1 -1
  25. package/dist/{cli-CV86F7iv.js → cli-CTIhZ0H4.js} +43 -43
  26. package/dist/{commands-B49Lu-pa.js → commands-CEN68QQ8.js} +1 -1
  27. package/dist/{commands-registry-agiTEGDz.js → commands-registry-yYwODWrp.js} +2 -2
  28. package/dist/{common-CMI-qsF8.js → common-CpjO6kXp.js} +2 -2
  29. package/dist/{completion-cli-CQNXtEJ7.js → completion-cli-52gBnt9r.js} +12 -12
  30. package/dist/{config-cli-Dqe5O1pl.js → config-cli-lKaZNjKu.js} +3 -3
  31. package/dist/{config-guard-kNMQS_tm.js → config-guard-C3cmBvOA.js} +10 -10
  32. package/dist/{config-ChYRSJQt.js → config-lTGKEh1d.js} +1 -1
  33. package/dist/{config-validation-DkrbzCyL.js → config-validation-C0Aw5Zb1.js} +1 -1
  34. package/dist/{configure-CoJmCHqT.js → configure-BHWIr7hG.js} +12 -12
  35. package/dist/{control-auth-7k6Cb2zH.js → control-auth-BsRQJlOh.js} +1 -1
  36. package/dist/{control-ui-assets-W1AUuGrO.js → control-ui-assets-BHLH_Uof.js} +1 -1
  37. package/dist/{cron-cli-BJXQKtR3.js → cron-cli-DxRcOSpw.js} +5 -5
  38. package/dist/{daemon-cli-Cf_YKWvV.js → daemon-cli-C8olFFZp.js} +10 -10
  39. package/dist/{daemon-install-helpers-CFGAfRlj.js → daemon-install-helpers-1t5pzOdQ.js} +9 -9
  40. package/dist/{daemon-install-DDshfT0J.js → daemon-install-rnV2bcHc.js} +4 -4
  41. package/dist/{deliver-BDf2lIEK.js → deliver-w9WvxJm3.js} +5 -5
  42. package/dist/{devices-cli-Crzrk5uf.js → devices-cli-DjhTvkXJ.js} +2 -2
  43. package/dist/{diagnostics-99iCgBUh.js → diagnostics-D5KWm1ph.js} +5 -5
  44. package/dist/{directory-cli-BnoQqeOX.js → directory-cli-BOe-f1nE.js} +4 -4
  45. package/dist/{dm-policy-shared-vCb_hnqo.js → dm-policy-shared-D7obhOl1.js} +2 -2
  46. package/dist/{dns-cli-Fgg96Xkg.js → dns-cli-D0YETvok.js} +1 -1
  47. package/dist/{dock-FtQwUHXE.js → dock-CAN90HF-.js} +4 -4
  48. package/dist/{doctor-completion-DTM_wDxy.js → doctor-completion-9OaAfqaU.js} +2 -2
  49. package/dist/{doctor-config-flow-Ccna5fPs.js → doctor-config-flow-BWqtkwol.js} +10 -10
  50. package/dist/{file-lock-CIvloidc.js → file-lock-CSJJ_Jc2.js} +8 -8
  51. package/dist/{fs-safe-DkBhNAc3.js → fs-safe-CGovjYzv.js} +6 -6
  52. package/dist/{gateway-cli-BJooqlkO.js → gateway-cli-BY-KADQC.js} +118 -118
  53. package/dist/{gateway-rpc-DhKAJ5EW.js → gateway-rpc-BD5eil_s.js} +1 -1
  54. package/dist/{health-BgD0koJx.js → health-CmNq2tNO.js} +12 -12
  55. package/dist/{heartbeat-visibility-DeW9EIeS.js → heartbeat-visibility-TEIsgwpr.js} +3 -3
  56. package/dist/{hooks-cli-Dg853OdZ.js → hooks-cli-C2zo2_66.js} +55 -55
  57. package/dist/{image-ops-Bi6JPSkD.js → image-ops-IEgnBXvg.js} +10 -10
  58. package/dist/{import-D8BBZQgl.js → import-BWmfOzKf.js} +7 -7
  59. package/dist/index.js +55 -55
  60. package/dist/{inspect-vYIL1oA0.js → inspect-28wiJI6j.js} +9 -9
  61. package/dist/{installs-ClX3qQmh.js → installs-Rc7WvLEk.js} +7 -7
  62. package/dist/{ir-BvKdMuSP.js → ir-CV-ZSA02.js} +5 -5
  63. package/dist/{json-files-CmpYSF4G.js → json-files-CZKDCmM2.js} +7 -7
  64. package/dist/{loader-BWZ_iRxI.js → loader-CzZGVlOj.js} +57 -57
  65. package/dist/{login-Cmpeb59f.js → login-BmNgQlpb.js} +3 -3
  66. package/dist/{login-qr-B3tpFLRV.js → login-qr-B3lpHhxg.js} +3 -3
  67. package/dist/{logs-cli-BSiUZwb2.js → logs-cli-BZoHw3zU.js} +3 -3
  68. package/dist/{markdown-tables-PJUMrC4T.js → markdown-tables-DIu0l_au.js} +1 -1
  69. package/dist/{message-action-names-Bs50Ia1g.js → message-action-names-BuqgRpbH.js} +17 -17
  70. package/dist/{nodes-cli-Dxf7vAKk.js → nodes-cli-B3RhDmg3.js} +5 -5
  71. package/dist/{nodes-screen-BR9sYoPa.js → nodes-screen-BwBJteaJ.js} +4 -4
  72. package/dist/{npm-registry-spec-0qiKawvv.js → npm-registry-spec-DtvriJT4.js} +29 -29
  73. package/dist/{npm-resolution-DVl2spoD.js → npm-resolution-CrCo9g84.js} +2 -2
  74. package/dist/{onboard-RQ_FAMyg.js → onboard-CPe0sJxg.js} +6 -6
  75. package/dist/{onboard-channels-DXD-CK_M.js → onboard-channels-DNU12ojo.js} +20 -20
  76. package/dist/{onboard-helpers-CUGbuZwH.js → onboard-helpers-COxRa-z1.js} +8 -8
  77. package/dist/{onboard-remote-o_OW-uzc.js → onboard-remote-C4jmBj0R.js} +1 -1
  78. package/dist/{onboarding-CVlOLLp1.js → onboarding-DSTDitDh.js} +10 -10
  79. package/dist/{onboarding.finalize-DggVL7Ay.js → onboarding.finalize-DN-CUd27.js} +43 -43
  80. package/dist/{onboarding.gateway-config-BLca3Td2.js → onboarding.gateway-config-6-SH2SV6.js} +9 -9
  81. package/dist/{outbound-ZnVvUReT.js → outbound-CZXLQfcu.js} +4 -4
  82. package/dist/{outbound-attachment-DGXTtERK.js → outbound-attachment-FMmXZxoB.js} +2 -2
  83. package/dist/{pairing-cli-Bgm4fRA3.js → pairing-cli-BRqgzlm6.js} +6 -6
  84. package/dist/{pairing-labels-DD1mcvQG.js → pairing-labels-CFByz-2h.js} +1 -1
  85. package/dist/{pairing-store-5qapT5-t.js → pairing-store-CpQesxa9.js} +2 -2
  86. package/dist/{plugin-auto-enable-CoDnqA0S.js → plugin-auto-enable-CyYtt86c.js} +3 -3
  87. package/dist/{plugin-registry-fLaMC0ik.js → plugin-registry-BgbyBArN.js} +2 -2
  88. package/dist/plugin-sdk/index.js +6 -6
  89. package/dist/{plugins-CsYMlnVa.js → plugins-CO2vXUqg.js} +1 -1
  90. package/dist/{plugins-cli-BwuvKtN-.js → plugins-cli-Bu4CxCXK.js} +50 -50
  91. package/dist/{ports-DrruB2fK.js → ports-DCKLlomP.js} +2 -2
  92. package/dist/{ports-GT1yV-Tg.js → ports-ERzq9UxN.js} +1 -1
  93. package/dist/{program-context-D55P0vBV.js → program-context-DLMB7HK2.js} +33 -33
  94. package/dist/{prompt-select-styled-ram-aXWu.js → prompt-select-styled-880kpKyh.js} +31 -31
  95. package/dist/{provider-dispatcher-vEBMmwZ0.js → provider-dispatcher-RKJCsCjk.js} +4 -4
  96. package/dist/{push-apns-C0LyG-WB.js → push-apns-BMn3PPrZ.js} +4 -4
  97. package/dist/{pw-ai-eS0sIkZo.js → pw-ai-CZN3VecX.js} +5 -5
  98. package/dist/{qr-cli-B8sYhugo.js → qr-cli-DmhKrQVX.js} +1 -1
  99. package/dist/{redact-snapshot-uT-CXbM8.js → redact-snapshot-CMPXeOjx.js} +1 -1
  100. package/dist/{register.agent-CSoigVGq.js → register.agent-BDG4rG3N.js} +57 -57
  101. package/dist/{register.configure-RaqiHe5L.js → register.configure-DSi0EZY5.js} +61 -61
  102. package/dist/{register.import-DLng8g-e.js → register.import-B6UdgpT1.js} +1 -1
  103. package/dist/{register.maintenance-Bjr_SmG9.js → register.maintenance-_v8WOrUV.js} +64 -64
  104. package/dist/{register.message-BCQ8Vg4O.js → register.message-DCwq68i2.js} +45 -45
  105. package/dist/{register.onboard-jlxjsrv6.js → register.onboard-ej6EvlL3.js} +13 -13
  106. package/dist/{register.setup-C-sdixz5.js → register.setup-DQTEuWCm.js} +17 -17
  107. package/dist/{register.status-health-sessions-BWFRHBCZ.js → register.status-health-sessions-CQhwHG3u.js} +46 -46
  108. package/dist/{remoteclaw-root-C2HV2VeC.js → remoteclaw-root-C2qhv9Oj.js} +2 -2
  109. package/dist/{replies-Bzcj-R8d.js → replies-BUa0CJDy.js} +1 -1
  110. package/dist/{reply-CmGAXQKc.js → reply-Cjyr-M1Y.js} +25 -25
  111. package/dist/{reply-directives-Be97YiyM.js → reply-directives-DdvGLvJl.js} +1 -1
  112. package/dist/{reply-payloads-DW0YgT82.js → reply-payloads-6AjQcK0h.js} +3 -3
  113. package/dist/{runner-hs4uxAUP.js → runner-B6zz2cTr.js} +14 -14
  114. package/dist/{security-cli-1iY1lW6F.js → security-cli-DOqUxoiw.js} +19 -19
  115. package/dist/{send-iPAfbiYM.js → send-B7ZC390o.js} +5 -5
  116. package/dist/{send-DJEr4rP6.js → send-BOWqomsH.js} +5 -5
  117. package/dist/{send-9NV7sSlD.js → send-BbURrMiG.js} +13 -13
  118. package/dist/{send-3lgWtHHf.js → send-C2O76Zcl.js} +4 -4
  119. package/dist/{send-B0TcjZUD.js → send-C7D19dBO.js} +6 -6
  120. package/dist/{server-B0IC-Osg.js → server-jd2zIyG2.js} +10 -10
  121. package/dist/{server-lifecycle-IKdGw1kM.js → server-lifecycle-D6XPjw2P.js} +11 -11
  122. package/dist/{server-node-events-DFG6cXud.js → server-node-events-C5SZa4ws.js} +26 -26
  123. package/dist/{service-fp29z5Ww.js → service-Zjk3QNWS.js} +15 -15
  124. package/dist/{session-xKIW6gL2.js → session-BvG1veNC.js} +1 -1
  125. package/dist/{session-dirs-Cj5xi7zX.js → session-dirs-BZyZIVmU.js} +15 -15
  126. package/dist/{session-utils-CLe1dano.js → session-utils-_PGWhs5b.js} +3 -3
  127. package/dist/{status-D-qTB8aZ.js → status-DeclrtmD.js} +21 -21
  128. package/dist/{status.update-CBmPXwYN.js → status.update-CUgUr7v2.js} +2 -2
  129. package/dist/{store-uRA67h-o.js → store-B11WRZKt.js} +14 -14
  130. package/dist/{store-C3tOpizT.js → store-CL9q1O6V.js} +4 -4
  131. package/dist/{subagent-registry-BTG1aAZ8.js → subagent-registry-CbBIcRzA.js} +6 -6
  132. package/dist/{system-cli-Dr4XoVTq.js → system-cli-DldHw1WI.js} +3 -3
  133. package/dist/{systemd-TfK8GuTx.js → systemd-OfkALtRZ.js} +9 -9
  134. package/dist/{systemd-linger-Axnc1xCb.js → systemd-linger-BdEijQmk.js} +1 -1
  135. package/dist/{tables-BQ-CvUfT.js → tables-CH3VEv4b.js} +1 -1
  136. package/dist/{targets-B_0Y1i-1.js → targets-6YdALhgV.js} +6 -6
  137. package/dist/{targets-rDolm5YS.js → targets-C7hqUk-w.js} +1 -1
  138. package/dist/{tool-images-BNfIJ_Kj.js → tool-images-BuEuYGtz.js} +1 -1
  139. package/dist/{trash-D_Jd_yQZ.js → trash-DH8rOJ43.js} +4 -4
  140. package/dist/{tui-DT7hLOBk.js → tui-WdwjJKUX.js} +3 -3
  141. package/dist/{tui-cli-Dn2iXQTO.js → tui-cli-DyNvo8Wa.js} +12 -12
  142. package/dist/{update-Bgl3Pk2N.js → update-DOPdAtZt.js} +4 -4
  143. package/dist/{update-cli-DSDSQ2Xi.js → update-cli-BF_4a0Q5.js} +73 -73
  144. package/dist/{web-KP-TI2sO.js → web-BEO_F2Oi.js} +35 -35
  145. package/dist/{webhooks-cli-Ddu7dfdE.js → webhooks-cli-B1zODHxS.js} +1 -1
  146. package/dist/{whatsapp-actions-KCc1vHN5.js → whatsapp-actions-Bn6Jhcw8.js} +11 -11
  147. package/dist/workspace-B0KsL1bM.js +10 -0
  148. package/dist/{workspace-B_1t_yq3.js → workspace-s6YPN-P_.js} +1 -1
  149. package/dist/{wsl-BCnYV9O0.js → wsl-CoJJcxb7.js} +2 -2
  150. package/package.json +1 -1
  151. package/dist/workspace-DkGLVfOl.js +0 -10
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  <p align="center">
4
4
  <picture>
5
- <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/remoteclaw/remoteclaw/main/docs/assets/remoteclaw-logo-text-dark.png">
6
- <img src="https://raw.githubusercontent.com/remoteclaw/remoteclaw/main/docs/assets/remoteclaw-logo-text.png" alt="RemoteClaw" width="500">
5
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/remoteclaw/remoteclaw/main/docs/assets/remoteclaw-logo-text.png">
6
+ <img src="https://raw.githubusercontent.com/remoteclaw/remoteclaw/main/docs/assets/remoteclaw-logo-text-dark.png" alt="RemoteClaw" width="500">
7
7
  </picture>
8
8
  </p>
9
9
 
@@ -1,6 +1,6 @@
1
1
  import { h as normalizeAccountId } from "./session-key-5YLnn_qf.js";
2
2
  import { t as resolveAccountEntry } from "./account-lookup-0KDSp5Mj.js";
3
- import { v as createAccountListHelpers } from "./accounts-BFy_Z3od.js";
3
+ import { v as createAccountListHelpers } from "./accounts-D-FxtihQ.js";
4
4
 
5
5
  //#region src/signal/accounts.ts
6
6
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -6,7 +6,7 @@ import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
6
6
  import { t as resolveAccountEntry } from "./account-lookup-0KDSp5Mj.js";
7
7
  import fs from "node:fs";
8
8
  import path from "node:path";
9
- import fs$1 from "node:fs/promises";
9
+ import fsPromises from "node:fs/promises";
10
10
 
11
11
  //#region src/channels/plugins/account-helpers.ts
12
12
  function createAccountListHelpers(channelKey) {
@@ -87,14 +87,14 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
87
87
  maybeRestoreCredsFromBackup(resolvedAuthDir);
88
88
  const credsPath = resolveWebCredsPath(resolvedAuthDir);
89
89
  try {
90
- await fs$1.access(resolvedAuthDir);
90
+ await fsPromises.access(resolvedAuthDir);
91
91
  } catch {
92
92
  return false;
93
93
  }
94
94
  try {
95
- const stats = await fs$1.stat(credsPath);
95
+ const stats = await fsPromises.stat(credsPath);
96
96
  if (!stats.isFile() || stats.size <= 1) return false;
97
- const raw = await fs$1.readFile(credsPath, "utf-8");
97
+ const raw = await fsPromises.readFile(credsPath, "utf-8");
98
98
  JSON.parse(raw);
99
99
  return true;
100
100
  } catch {
@@ -102,7 +102,7 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
102
102
  }
103
103
  }
104
104
  async function clearLegacyBaileysAuthState(authDir) {
105
- const entries = await fs$1.readdir(authDir, { withFileTypes: true });
105
+ const entries = await fsPromises.readdir(authDir, { withFileTypes: true });
106
106
  const shouldDelete = (name) => {
107
107
  if (name === "oauth.json") return false;
108
108
  if (name === "creds.json" || name === "creds.json.bak") return true;
@@ -112,7 +112,7 @@ async function clearLegacyBaileysAuthState(authDir) {
112
112
  await Promise.all(entries.map(async (entry) => {
113
113
  if (!entry.isFile()) return;
114
114
  if (!shouldDelete(entry.name)) return;
115
- await fs$1.rm(path.join(authDir, entry.name), { force: true });
115
+ await fsPromises.rm(path.join(authDir, entry.name), { force: true });
116
116
  }));
117
117
  }
118
118
  async function logoutWeb(params) {
@@ -123,7 +123,7 @@ async function logoutWeb(params) {
123
123
  return false;
124
124
  }
125
125
  if (params.isLegacyAuthDir) await clearLegacyBaileysAuthState(resolvedAuthDir);
126
- else await fs$1.rm(resolvedAuthDir, {
126
+ else await fsPromises.rm(resolvedAuthDir, {
127
127
  recursive: true,
128
128
  force: true
129
129
  });
@@ -1,6 +1,6 @@
1
1
  import { h as normalizeAccountId } from "./session-key-5YLnn_qf.js";
2
2
  import { t as resolveAccountEntry } from "./account-lookup-0KDSp5Mj.js";
3
- import { v as createAccountListHelpers } from "./accounts-BFy_Z3od.js";
3
+ import { v as createAccountListHelpers } from "./accounts-D-FxtihQ.js";
4
4
 
5
5
  //#region src/imessage/accounts.ts
6
6
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -1,4 +1,4 @@
1
- import { a as formatUtcTimestamp, i as resolveSenderLabel, k as CURRENT_MESSAGE_MARKER, o as formatZonedTimestamp, p as resolveUserTimezone, s as resolveTimezone } from "./reply-CmGAXQKc.js";
1
+ import { a as formatUtcTimestamp, i as resolveSenderLabel, k as CURRENT_MESSAGE_MARKER, o as formatZonedTimestamp, p as resolveUserTimezone, s as resolveTimezone } from "./reply-Cjyr-M1Y.js";
2
2
  import { t as normalizeChatType } from "./chat-type-DKb2TlGZ.js";
3
3
  import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
4
4
  import { n as formatTimeAgo } from "./format-relative-79_Y1n2Y.js";
@@ -5,14 +5,14 @@ import "./subsystem-COd61u0P.js";
5
5
  import { n as defaultRuntime } from "./runtime-DJNp29jv.js";
6
6
  import "./ansi-D04X81yq.js";
7
7
  import { f as GATEWAY_CLIENT_MODES, p as GATEWAY_CLIENT_NAMES } from "./message-channel-DzJqHVZD.js";
8
- import { i as loadConfig } from "./config-ChYRSJQt.js";
8
+ import { i as loadConfig } from "./config-lTGKEh1d.js";
9
9
  import "./env-DeF64iu0.js";
10
10
  import "./host-env-security-Bms2_EMV.js";
11
11
  import "./inbound-path-policy-Bg4gZBx-.js";
12
12
  import { r as VERSION } from "./env-vars-CLGbxdpL.js";
13
13
  import "./logger-Bw3cFE5t.js";
14
14
  import "./ip-C9q3Oq20.js";
15
- import { f as GatewayClient, t as buildGatewayConnectionDetails } from "./call-CoMjY7ah.js";
15
+ import { f as GatewayClient, t as buildGatewayConnectionDetails } from "./call-BOpAzd-X.js";
16
16
  import "./net-D6D0wgcF.js";
17
17
  import "./tailnet-PnMrjwGT.js";
18
18
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DFsi1_e8.js";
@@ -4,21 +4,21 @@ import { a as resolveAgentWorkspaceDir, n as listAgentIds, s as resolveSessionAg
4
4
  import { n as defaultRuntime } from "./runtime-DJNp29jv.js";
5
5
  import { c as normalizeMainKey, l as resolveAgentIdFromSessionKey, s as normalizeAgentId } from "./session-key-5YLnn_qf.js";
6
6
  import { i as normalizeModelRef, t as isCliProvider } from "./provider-utils-FaBmofiq.js";
7
- import { t as ensureAgentWorkspace } from "./workspace-DkGLVfOl.js";
7
+ import { t as ensureAgentWorkspace } from "./workspace-B0KsL1bM.js";
8
8
  import { a as isInternalMessageChannel, c as normalizeMessageChannel, i as isGatewayMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DzJqHVZD.js";
9
- import { i as loadConfig } from "./config-ChYRSJQt.js";
9
+ import { i as loadConfig } from "./config-lTGKEh1d.js";
10
10
  import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
11
- import { a as ensureAuthProfileStore } from "./auth-profiles-D8vKiBPq.js";
12
- import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CsYMlnVa.js";
13
- import { a as getCliSessionId, b as resolveSendPolicy, f as applyVerboseOverride, i as resolveSessionDeliveryTarget, l as resolveChannelMessageToolHints, o as setCliSessionId, r as resolveOutboundTarget, s as ChannelBridge, u as clearSessionAuthProfileOverride } from "./targets-B_0Y1i-1.js";
11
+ import { a as ensureAuthProfileStore } from "./auth-profiles-DcVYf9mT.js";
12
+ import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CO2vXUqg.js";
13
+ import { a as getCliSessionId, b as resolveSendPolicy, f as applyVerboseOverride, i as resolveSessionDeliveryTarget, l as resolveChannelMessageToolHints, o as setCliSessionId, r as resolveOutboundTarget, s as ChannelBridge, u as clearSessionAuthProfileOverride } from "./targets-6YdALhgV.js";
14
14
  import { n as DEFAULT_MODEL, r as DEFAULT_PROVIDER, t as DEFAULT_CONTEXT_TOKENS } from "./defaults-xUAL2Z-F.js";
15
15
  import { l as resolveSessionFilePathOptions, m as resolveStorePath, u as resolveSessionTranscriptPath } from "./chat-envelope-el7Uo-Fe.js";
16
- import { B as resolveChannelResetConfig, F as resolveAndPersistSessionFile, H as resolveSessionResetType, K as setSessionRuntimeModel, M as parseSessionThreadInfo, R as resolveSessionKey, V as resolveSessionResetPolicy, Y as resolveExplicitAgentSessionKey, h as normalizeAccountId, l as updateSessionStore, n as loadSessionStore, z as evaluateSessionFreshness } from "./store-uRA67h-o.js";
16
+ import { B as resolveChannelResetConfig, F as resolveAndPersistSessionFile, H as resolveSessionResetType, K as setSessionRuntimeModel, M as parseSessionThreadInfo, R as resolveSessionKey, V as resolveSessionResetPolicy, Y as resolveExplicitAgentSessionKey, h as normalizeAccountId, l as updateSessionStore, n as loadSessionStore, z as evaluateSessionFreshness } from "./store-B11WRZKt.js";
17
17
  import { n as deriveSessionTotalTokens, r as hasNonzeroUsage } from "./usage-BtQcAnf6.js";
18
18
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DFsi1_e8.js";
19
19
  import { a as emitAgentEvent, c as registerAgentRunContext, i as clearAgentRunContext, t as AGENT_LANE_NESTED } from "./lanes-ByWMUgrz.js";
20
- import { n as resolveMessageChannelSelection } from "./channel-selection-DdfhwFuY.js";
21
- import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-BDf2lIEK.js";
20
+ import { n as resolveMessageChannelSelection } from "./channel-selection-RFF9ZvSb.js";
21
+ import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "./deliver-w9WvxJm3.js";
22
22
  import crypto from "node:crypto";
23
23
 
24
24
  //#region src/cli/outbound-send-mapping.ts
@@ -38,27 +38,27 @@ function createOutboundSendDepsFromCliSource(deps) {
38
38
  function createDefaultDeps() {
39
39
  return {
40
40
  sendMessageWhatsApp: async (...args) => {
41
- const { sendMessageWhatsApp } = await import("./web-KP-TI2sO.js");
41
+ const { sendMessageWhatsApp } = await import("./web-BEO_F2Oi.js");
42
42
  return await sendMessageWhatsApp(...args);
43
43
  },
44
44
  sendMessageTelegram: async (...args) => {
45
- const { sendMessageTelegram } = await import("./send-B0TcjZUD.js").then((n) => n.l);
45
+ const { sendMessageTelegram } = await import("./send-C7D19dBO.js").then((n) => n.l);
46
46
  return await sendMessageTelegram(...args);
47
47
  },
48
48
  sendMessageDiscord: async (...args) => {
49
- const { sendMessageDiscord } = await import("./send-9NV7sSlD.js").then((n) => n.t);
49
+ const { sendMessageDiscord } = await import("./send-BbURrMiG.js").then((n) => n.t);
50
50
  return await sendMessageDiscord(...args);
51
51
  },
52
52
  sendMessageSlack: async (...args) => {
53
- const { sendMessageSlack } = await import("./send-3lgWtHHf.js").then((n) => n.n);
53
+ const { sendMessageSlack } = await import("./send-C2O76Zcl.js").then((n) => n.n);
54
54
  return await sendMessageSlack(...args);
55
55
  },
56
56
  sendMessageSignal: async (...args) => {
57
- const { sendMessageSignal } = await import("./send-DJEr4rP6.js").then((n) => n.i);
57
+ const { sendMessageSignal } = await import("./send-BOWqomsH.js").then((n) => n.i);
58
58
  return await sendMessageSignal(...args);
59
59
  },
60
60
  sendMessageIMessage: async (...args) => {
61
- const { sendMessageIMessage } = await import("./send-iPAfbiYM.js").then((n) => n.n);
61
+ const { sendMessageIMessage } = await import("./send-B7ZC390o.js").then((n) => n.n);
62
62
  return await sendMessageIMessage(...args);
63
63
  }
64
64
  };
@@ -7,7 +7,7 @@ import "./ansi-D04X81yq.js";
7
7
  import "./env-DeF64iu0.js";
8
8
  import "./host-env-security-Bms2_EMV.js";
9
9
  import "./inbound-path-policy-Bg4gZBx-.js";
10
- import { a as runCapability, c as isAudioAttachment, i as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-hs4uxAUP.js";
10
+ import { a as runCapability, c as isAudioAttachment, i as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-B6zz2cTr.js";
11
11
  import "./logger-Bw3cFE5t.js";
12
12
  import "./ip-C9q3Oq20.js";
13
13
  import "./ssrf-m7kFIobZ.js";
@@ -16,8 +16,8 @@ import "./exec-DbKuYyM1.js";
16
16
  import "./redact-eZq1uwNK.js";
17
17
  import "./errors-8F-77i6m.js";
18
18
  import "./mime-BS3jhcZE.js";
19
- import "./auth-profiles-D8vKiBPq.js";
20
- import "./file-lock-CIvloidc.js";
19
+ import "./auth-profiles-DcVYf9mT.js";
20
+ import "./file-lock-CSJJ_Jc2.js";
21
21
 
22
22
  //#region src/media-understanding/audio-preflight.ts
23
23
  /**
@@ -2,28 +2,28 @@ import { h as resolveStateDir, m as resolveOAuthDir, o as resolveConfigPath } fr
2
2
  import { c as resolveAgentModelFallbackValues, l as resolveAgentModelPrimaryValue, o as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-DgQzamQB.js";
3
3
  import { l as resolveAgentIdFromSessionKey, s as normalizeAgentId, w as resolveThreadParentSessionKey } from "./session-key-5YLnn_qf.js";
4
4
  import { c as normalizeMessageChannel, f as GATEWAY_CLIENT_MODES, p as GATEWAY_CLIENT_NAMES } from "./message-channel-DzJqHVZD.js";
5
- import { I as MANIFEST_KEY, at as extensionUsesSkippedScannerPath, it as MAX_INCLUDE_DEPTH, lt as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, ot as isPathInside, r as createConfigIO, rt as INCLUDE_KEY, z as normalizePluginsConfig } from "./config-ChYRSJQt.js";
6
- import { o as normalizeStringEntries, t as getChannelDock, u as resolveChannelGroupToolsPolicy } from "./dock-FtQwUHXE.js";
5
+ import { I as MANIFEST_KEY, at as extensionUsesSkippedScannerPath, it as MAX_INCLUDE_DEPTH, lt as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, ot as isPathInside, r as createConfigIO, rt as INCLUDE_KEY, z as normalizePluginsConfig } from "./config-lTGKEh1d.js";
6
+ import { o as normalizeStringEntries, t as getChannelDock, u as resolveChannelGroupToolsPolicy } from "./dock-CAN90HF-.js";
7
7
  import { n as runExec } from "./exec-DbKuYyM1.js";
8
8
  import { n as formatErrorMessage } from "./errors-8F-77i6m.js";
9
9
  import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
10
- import { n as listChannelPlugins } from "./plugins-CsYMlnVa.js";
11
- import { i as resolveNativeCommandsEnabled } from "./commands-B49Lu-pa.js";
12
- import { i as readChannelAllowFromStore } from "./pairing-store-5qapT5-t.js";
13
- import { c as READ_SCOPE, f as GatewayClient, t as buildGatewayConnectionDetails } from "./call-CoMjY7ah.js";
10
+ import { n as listChannelPlugins } from "./plugins-CO2vXUqg.js";
11
+ import { i as resolveNativeCommandsEnabled } from "./commands-CEN68QQ8.js";
12
+ import { i as readChannelAllowFromStore } from "./pairing-store-CpQesxa9.js";
13
+ import { c as READ_SCOPE, f as GatewayClient, t as buildGatewayConnectionDetails } from "./call-BOpAzd-X.js";
14
14
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DFsi1_e8.js";
15
15
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-DaVRgwer.js";
16
- import { n as resolveBrowserControlAuth, o as resolveBrowserConfig, s as resolveProfile } from "./control-auth-7k6Cb2zH.js";
16
+ import { n as resolveBrowserControlAuth, o as resolveBrowserConfig, s as resolveProfile } from "./control-auth-BsRQJlOh.js";
17
17
  import { a as resolveGatewayAuth } from "./auth-CAczFgAO.js";
18
18
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY, r as CORE_TOOL_GROUPS, s as resolveCoreToolProfilePolicy } from "./dangerous-tools-Baq7Q-i6.js";
19
19
  import { t as resolveChannelDefaultAccountId } from "./helpers-kkeXif0Q.js";
20
20
  import { c as normalizeTelegramAllowFromEntry, s as isNumericTelegramUserId, t as isDiscordMutableAllowEntry } from "./mutable-allowlist-detectors-U5ThQr9V.js";
21
- import { t as resolveDmAllowState } from "./dm-policy-shared-vCb_hnqo.js";
21
+ import { t as resolveDmAllowState } from "./dm-policy-shared-D7obhOl1.js";
22
22
  import os from "node:os";
23
23
  import path from "node:path";
24
24
  import JSON5 from "json5";
25
- import * as fs$1 from "node:fs/promises";
26
- import fs from "node:fs/promises";
25
+ import * as fs from "node:fs/promises";
26
+ import fsPromises from "node:fs/promises";
27
27
  import { randomUUID } from "node:crypto";
28
28
  import { isIP } from "node:net";
29
29
 
@@ -1775,7 +1775,7 @@ async function collectIncludePathsRecursive(params) {
1775
1775
  if (visited.has(resolved)) continue;
1776
1776
  visited.add(resolved);
1777
1777
  result.push(resolved);
1778
- const rawText = await fs$1.readFile(resolved, "utf-8").catch(() => null);
1778
+ const rawText = await fs.readFile(resolved, "utf-8").catch(() => null);
1779
1779
  if (!rawText) continue;
1780
1780
  const nestedParsed = (() => {
1781
1781
  try {
@@ -1987,7 +1987,7 @@ function createIcaclsResetCommand(targetPath, opts) {
1987
1987
  //#region src/security/audit-fs.ts
1988
1988
  async function safeStat(targetPath) {
1989
1989
  try {
1990
- const lst = await fs.lstat(targetPath);
1990
+ const lst = await fsPromises.lstat(targetPath);
1991
1991
  return {
1992
1992
  ok: true,
1993
1993
  isSymlink: lst.isSymbolicLink(),
@@ -2026,7 +2026,7 @@ async function inspectPathPermissions(targetPath, opts) {
2026
2026
  let effectiveMode = st.mode;
2027
2027
  let effectiveIsDir = st.isDir;
2028
2028
  if (st.isSymlink) try {
2029
- const target = await fs.stat(targetPath);
2029
+ const target = await fsPromises.stat(targetPath);
2030
2030
  effectiveMode = typeof target.mode === "number" ? target.mode : st.mode;
2031
2031
  effectiveIsDir = target.isDirectory();
2032
2032
  } catch {}
@@ -2141,7 +2141,7 @@ function expandTilde(p, env) {
2141
2141
  }
2142
2142
  async function readPluginManifestExtensions(pluginPath) {
2143
2143
  const manifestPath = path.join(pluginPath, "package.json");
2144
- const raw = await fs.readFile(manifestPath, "utf-8").catch(() => "");
2144
+ const raw = await fsPromises.readFile(manifestPath, "utf-8").catch(() => "");
2145
2145
  if (!raw.trim()) return [];
2146
2146
  const extensions = JSON.parse(raw)?.[MANIFEST_KEY]?.extensions;
2147
2147
  if (!Array.isArray(extensions)) return [];
@@ -2156,7 +2156,7 @@ async function listInstalledPluginDirs(params) {
2156
2156
  };
2157
2157
  return {
2158
2158
  extensionsDir,
2159
- pluginDirs: (await fs.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
2159
+ pluginDirs: (await fsPromises.readdir(extensionsDir, { withFileTypes: true }).catch((err) => {
2160
2160
  params.onReadError?.(err);
2161
2161
  return [];
2162
2162
  })).filter((entry) => entry.isDirectory()).map((entry) => entry.name).filter(Boolean)
@@ -2219,7 +2219,7 @@ function isPinnedRegistrySpec(spec) {
2219
2219
  }
2220
2220
  async function readInstalledPackageVersion(dir) {
2221
2221
  try {
2222
- const raw = await fs.readFile(path.join(dir, "package.json"), "utf-8");
2222
+ const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
2223
2223
  const parsed = JSON.parse(raw);
2224
2224
  return typeof parsed.version === "string" ? parsed.version : void 0;
2225
2225
  } catch {
@@ -4,7 +4,7 @@ import { _ as resolveUserPath } from "./utils-LBKvDoPx.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-COd61u0P.js";
5
5
  import { t as DEFAULT_AGENT_ID } from "./session-key-5YLnn_qf.js";
6
6
  import { a as normalizeProviderId } from "./provider-utils-FaBmofiq.js";
7
- import { t as withFileLock } from "./file-lock-CIvloidc.js";
7
+ import { t as withFileLock } from "./file-lock-CSJJ_Jc2.js";
8
8
  import { n as saveJsonFile, t as loadJsonFile } from "./json-file-B7l5-Xhr.js";
9
9
  import fs from "node:fs";
10
10
  import path from "node:path";
@@ -5,7 +5,7 @@ import "./subsystem-COd61u0P.js";
5
5
  import { n as defaultRuntime } from "./runtime-DJNp29jv.js";
6
6
  import "./ansi-D04X81yq.js";
7
7
  import "./message-channel-DzJqHVZD.js";
8
- import { i as loadConfig } from "./config-ChYRSJQt.js";
8
+ import { i as loadConfig } from "./config-lTGKEh1d.js";
9
9
  import { i as parseBooleanValue } from "./env-DeF64iu0.js";
10
10
  import "./host-env-security-Bms2_EMV.js";
11
11
  import "./inbound-path-policy-Bg4gZBx-.js";
@@ -16,15 +16,15 @@ import "./exec-DbKuYyM1.js";
16
16
  import "./redact-eZq1uwNK.js";
17
17
  import "./errors-8F-77i6m.js";
18
18
  import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
19
- import "./call-CoMjY7ah.js";
19
+ import "./call-BOpAzd-X.js";
20
20
  import "./net-D6D0wgcF.js";
21
21
  import "./tailnet-PnMrjwGT.js";
22
- import "./fs-safe-DkBhNAc3.js";
22
+ import "./fs-safe-CGovjYzv.js";
23
23
  import { t as formatDocsLink } from "./links-C3soDNDH.js";
24
- import { a as resolveExistingPathsWithinRoot, i as DEFAULT_UPLOAD_DIR, t as movePathToTrash } from "./trash-D_Jd_yQZ.js";
24
+ import { a as resolveExistingPathsWithinRoot, i as DEFAULT_UPLOAD_DIR, t as movePathToTrash } from "./trash-DH8rOJ43.js";
25
25
  import { n as inheritOptionFromParent } from "./command-options-CA30lfLK.js";
26
26
  import "./progress-CBkSaM6z.js";
27
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DhKAJ5EW.js";
27
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BD5eil_s.js";
28
28
  import { t as runCommandWithRuntime } from "./cli-utils-DZe_rVkZ.js";
29
29
  import { t as copyToClipboard } from "./clipboard-D7_SKHPK.js";
30
30
  import { t as formatHelpExamples } from "./help-format-DAxf0l_h.js";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0-next.c403049",
3
- "commit": "c4030498d40635ae267222467fd078eca0055d3a",
4
- "builtAt": "2026-03-07T01:04:06.492Z"
2
+ "version": "0.1.0-next.ee567fa",
3
+ "commit": "ee567fa5b7e856ce6ed4b6d6bd4cf1bdb9950dad",
4
+ "builtAt": "2026-03-07T01:14:20.262Z"
5
5
  }
@@ -1,17 +1,17 @@
1
1
  import { h as resolveStateDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-BTaH3rLn.js";
2
2
  import { _ as resolveUserPath, o as ensureDir$1, t as CONFIG_DIR, y as shortenHomeInString } from "./utils-LBKvDoPx.js";
3
3
  import { d as GATEWAY_CLIENT_IDS, f as GATEWAY_CLIENT_MODES, p as GATEWAY_CLIENT_NAMES } from "./message-channel-DzJqHVZD.js";
4
- import { i as loadConfig } from "./config-ChYRSJQt.js";
4
+ import { i as loadConfig } from "./config-lTGKEh1d.js";
5
5
  import { n as logError, t as logDebug } from "./logger-Bw3cFE5t.js";
6
6
  import { t as INPUT_PROVENANCE_KIND_VALUES } from "./input-provenance-Bn6thJNm.js";
7
- import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-CmpYSF4G.js";
7
+ import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-CZKDCmM2.js";
8
8
  import { t as safeEqualSecret } from "./secret-equal-BbHdTtqY.js";
9
9
  import { i as isSecureWebSocketUrl, p as rawDataToString } from "./net-D6D0wgcF.js";
10
10
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DFsi1_e8.js";
11
11
  import fs from "node:fs";
12
12
  import path from "node:path";
13
13
  import { promisify } from "node:util";
14
- import fs$1 from "node:fs/promises";
14
+ import fsPromises from "node:fs/promises";
15
15
  import crypto, { X509Certificate, randomBytes, randomUUID } from "node:crypto";
16
16
  import { execFile } from "node:child_process";
17
17
  import AjvPkg from "ajv";
@@ -161,7 +161,7 @@ function normalizeFingerprint(input) {
161
161
  const execFileAsync = promisify(execFile);
162
162
  async function fileExists(filePath) {
163
163
  try {
164
- await fs$1.access(filePath);
164
+ await fsPromises.access(filePath);
165
165
  return true;
166
166
  } catch {
167
167
  return false;
@@ -188,8 +188,8 @@ async function generateSelfSignedCert(params) {
188
188
  "-subj",
189
189
  "/CN=remoteclaw-gateway"
190
190
  ]);
191
- await fs$1.chmod(params.keyPath, 384).catch(() => {});
192
- await fs$1.chmod(params.certPath, 384).catch(() => {});
191
+ await fsPromises.chmod(params.keyPath, 384).catch(() => {});
192
+ await fsPromises.chmod(params.certPath, 384).catch(() => {});
193
193
  params.log?.info?.(`gateway tls: generated self-signed cert at ${shortenHomeInString(params.certPath)}`);
194
194
  }
195
195
  async function loadGatewayTlsRuntime(cfg, log) {
@@ -227,9 +227,9 @@ async function loadGatewayTlsRuntime(cfg, log) {
227
227
  error: "gateway tls: cert/key missing"
228
228
  };
229
229
  try {
230
- const cert = await fs$1.readFile(certPath, "utf8");
231
- const key = await fs$1.readFile(keyPath, "utf8");
232
- const ca = caPath ? await fs$1.readFile(caPath, "utf8") : void 0;
230
+ const cert = await fsPromises.readFile(certPath, "utf8");
231
+ const key = await fsPromises.readFile(keyPath, "utf8");
232
+ const ca = caPath ? await fsPromises.readFile(caPath, "utf8") : void 0;
233
233
  const fingerprintSha256 = normalizeFingerprint(new X509Certificate(cert).fingerprint256 ?? "");
234
234
  if (!fingerprintSha256) return {
235
235
  enabled: false,
@@ -1 +1 @@
1
- 9040979ddc88e7be57f9439a741cb414f1216d3cc5851826971e9d5626960a05
1
+ c4c7ae69b610790887c2031dc31d9bc860323c151ad00cca2698b0fcfd1a69b4
@@ -1,5 +1,5 @@
1
1
  import { _ as resolveUserPath, l as isRecord, t as CONFIG_DIR } from "./utils-LBKvDoPx.js";
2
- import { I as MANIFEST_KEY, j as discoverRemoteClawPlugins } from "./config-ChYRSJQt.js";
2
+ import { I as MANIFEST_KEY, j as discoverRemoteClawPlugins } from "./config-lTGKEh1d.js";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
 
@@ -4,7 +4,7 @@ import { t as runCommandWithTimeout } from "./exec-DbKuYyM1.js";
4
4
  import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
5
5
  import { t as resolveChannelDefaultAccountId } from "./helpers-kkeXif0Q.js";
6
6
  import path from "node:path";
7
- import fs from "node:fs/promises";
7
+ import fsPromises from "node:fs/promises";
8
8
 
9
9
  //#region src/infra/update-channels.ts
10
10
  const DEFAULT_PACKAGE_CHANNEL = "stable";
@@ -88,11 +88,11 @@ function resolveUpdateChannelDisplay(params) {
88
88
  //#region src/infra/detect-package-manager.ts
89
89
  async function detectPackageManager$1(root) {
90
90
  try {
91
- const raw = await fs.readFile(path.join(root, "package.json"), "utf-8");
91
+ const raw = await fsPromises.readFile(path.join(root, "package.json"), "utf-8");
92
92
  const pm = JSON.parse(raw)?.packageManager?.split("@")[0]?.trim();
93
93
  if (pm === "pnpm" || pm === "bun" || pm === "npm") return pm;
94
94
  } catch {}
95
- const files = await fs.readdir(root).catch(() => []);
95
+ const files = await fsPromises.readdir(root).catch(() => []);
96
96
  if (files.includes("pnpm-lock.yaml")) return "pnpm";
97
97
  if (files.includes("bun.lockb")) return "bun";
98
98
  if (files.includes("package-lock.json")) return "npm";
@@ -114,7 +114,7 @@ function formatGitInstallLabel(update) {
114
114
  }
115
115
  async function exists(p) {
116
116
  try {
117
- await fs.access(p);
117
+ await fsPromises.access(p);
118
118
  return true;
119
119
  } catch {
120
120
  return false;
@@ -241,7 +241,7 @@ async function checkGitUpdateStatus(params) {
241
241
  }
242
242
  async function statMtimeMs(p) {
243
243
  try {
244
- return (await fs.stat(p)).mtimeMs;
244
+ return (await fsPromises.stat(p)).mtimeMs;
245
245
  } catch {
246
246
  return null;
247
247
  }
@@ -472,27 +472,27 @@ function resolveRestartSentinelPath(env = process.env) {
472
472
  }
473
473
  async function writeRestartSentinel(payload, env = process.env) {
474
474
  const filePath = resolveRestartSentinelPath(env);
475
- await fs.mkdir(path.dirname(filePath), { recursive: true });
475
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
476
476
  const data = {
477
477
  version: 1,
478
478
  payload
479
479
  };
480
- await fs.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
480
+ await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
481
481
  return filePath;
482
482
  }
483
483
  async function readRestartSentinel(env = process.env) {
484
484
  const filePath = resolveRestartSentinelPath(env);
485
485
  try {
486
- const raw = await fs.readFile(filePath, "utf-8");
486
+ const raw = await fsPromises.readFile(filePath, "utf-8");
487
487
  let parsed;
488
488
  try {
489
489
  parsed = JSON.parse(raw);
490
490
  } catch {
491
- await fs.unlink(filePath).catch(() => {});
491
+ await fsPromises.unlink(filePath).catch(() => {});
492
492
  return null;
493
493
  }
494
494
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
495
- await fs.unlink(filePath).catch(() => {});
495
+ await fsPromises.unlink(filePath).catch(() => {});
496
496
  return null;
497
497
  }
498
498
  return parsed;
@@ -504,7 +504,7 @@ async function consumeRestartSentinel(env = process.env) {
504
504
  const filePath = resolveRestartSentinelPath(env);
505
505
  const parsed = await readRestartSentinel(env);
506
506
  if (!parsed) return null;
507
- await fs.unlink(filePath).catch(() => {});
507
+ await fsPromises.unlink(filePath).catch(() => {});
508
508
  return parsed;
509
509
  }
510
510
  function formatRestartSentinelMessage(payload) {
@@ -1,8 +1,8 @@
1
1
  import { u as CHAT_CHANNEL_ORDER } from "./subsystem-COd61u0P.js";
2
2
  import { t as isTruthyEnvValue } from "./env-DeF64iu0.js";
3
- import { n as listChannelPlugins } from "./plugins-CsYMlnVa.js";
4
- import { r as listChannelPluginCatalogEntries } from "./catalog-pjPqB2hC.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-fLaMC0ik.js";
3
+ import { n as listChannelPlugins } from "./plugins-CO2vXUqg.js";
4
+ import { r as listChannelPluginCatalogEntries } from "./catalog-DBl_VPmi.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BgbyBArN.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,5 +1,5 @@
1
1
  import { c as normalizeMessageChannel, s as listDeliverableMessageChannels } from "./message-channel-DzJqHVZD.js";
2
- import { n as listChannelPlugins } from "./plugins-CsYMlnVa.js";
2
+ import { n as listChannelPlugins } from "./plugins-CO2vXUqg.js";
3
3
 
4
4
  //#region src/infra/outbound/channel-selection.ts
5
5
  const getMessageChannels = () => listDeliverableMessageChannels();
@@ -1,34 +1,34 @@
1
1
  import { M as shouldLogVerbose, R as getChildLogger, S as toWhatsappJid, d as jidToE164, f as normalizeE164, g as resolveJidToE164, k as logVerbose, r as clamp, u as isSelfChatMode, x as sleep } from "./utils-LBKvDoPx.js";
2
- import { A as buildMentionRegexes, N as normalizeMentionText, Q as parseActivationCommand, Z as normalizeGroupActivation, _ as shouldComputeCommandAuthorized, h as hasControlCommand, t as getReplyFromConfig } from "./reply-CmGAXQKc.js";
2
+ import { A as buildMentionRegexes, N as normalizeMentionText, Q as parseActivationCommand, Z as normalizeGroupActivation, _ as shouldComputeCommandAuthorized, h as hasControlCommand, t as getReplyFromConfig } from "./reply-Cjyr-M1Y.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-COd61u0P.js";
4
4
  import { n as defaultRuntime } from "./runtime-DJNp29jv.js";
5
5
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-5YLnn_qf.js";
6
- import { i as loadConfig } from "./config-ChYRSJQt.js";
7
- import { c as resolveChannelGroupPolicy, l as resolveChannelGroupRequireMention } from "./dock-FtQwUHXE.js";
6
+ import { i as loadConfig } from "./config-lTGKEh1d.js";
7
+ import { c as resolveChannelGroupPolicy, l as resolveChannelGroupRequireMention } from "./dock-CAN90HF-.js";
8
8
  import { t as finalizeInboundContext } from "./inbound-context-CPkkQW0i.js";
9
- import { f as registerUnhandledRejectionHandler } from "./runner-hs4uxAUP.js";
9
+ import { f as registerUnhandledRejectionHandler } from "./runner-B6zz2cTr.js";
10
10
  import { t as getAgentScopedMediaLocalRoots } from "./local-roots-B6rSCu4U.js";
11
11
  import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
12
- import { i as resolveWhatsAppAccount, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-BFy_Z3od.js";
13
- import { h as enqueueSystemEvent } from "./targets-B_0Y1i-1.js";
14
- import { i as readChannelAllowFromStore, s as upsertChannelPairingRequest } from "./pairing-store-5qapT5-t.js";
12
+ import { i as resolveWhatsAppAccount, p as readWebSelfId, s as getWebAuthAgeMs } from "./accounts-D-FxtihQ.js";
13
+ import { h as enqueueSystemEvent } from "./targets-6YdALhgV.js";
14
+ import { i as readChannelAllowFromStore, s as upsertChannelPairingRequest } from "./pairing-store-CpQesxa9.js";
15
15
  import { m as resolveStorePath } from "./chat-envelope-el7Uo-Fe.js";
16
- import { a as recordSessionMetaFromInbound, c as updateLastRoute, i as readSessionUpdatedAt, n as loadSessionStore, rt as resolveGroupSessionKey } from "./store-uRA67h-o.js";
16
+ import { a as recordSessionMetaFromInbound, c as updateLastRoute, i as readSessionUpdatedAt, n as loadSessionStore, rt as resolveGroupSessionKey } from "./store-B11WRZKt.js";
17
17
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix } from "./response-prefix-template-BAlvtSjL.js";
18
18
  import { n as recordChannelActivity } from "./channel-activity-BaCNOZpP.js";
19
- import { i as loadWebMedia } from "./ir-BvKdMuSP.js";
19
+ import { i as loadWebMedia } from "./ir-CV-ZSA02.js";
20
20
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-D0Y_w4oX.js";
21
- import { n as resolveMarkdownTableMode } from "./markdown-tables-PJUMrC4T.js";
22
- import { t as convertMarkdownTables } from "./tables-BQ-CvUfT.js";
23
- import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-ZnVvUReT.js";
21
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DIu0l_au.js";
22
+ import { t as convertMarkdownTables } from "./tables-CH3VEv4b.js";
23
+ import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-CZXLQfcu.js";
24
24
  import { r as setActiveWebListener } from "./active-listener-VzhWW8W6.js";
25
- import { C as computeBackoff, S as resolveInboundDebounceMs, _ as buildHistoryContextFromEntries, a as formatInboundEnvelope, b as recordPendingHistoryEntryIfEnabled, c as resolveMentionGating, g as DEFAULT_GROUP_HISTORY_LIMIT, h as warnMissingProviderGroupPolicyFallbackOnce, m as resolveOpenProviderRuntimeGroupPolicy, p as resolveDefaultGroupPolicy, r as shouldAckReactionForWhatsApp, s as resolveEnvelopeFormatOptions, u as buildPairingReply, w as sleepWithAbort, x as createInboundDebouncer } from "./ack-reactions-C1hk85VE.js";
26
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-xKIW6gL2.js";
25
+ import { C as computeBackoff, S as resolveInboundDebounceMs, _ as buildHistoryContextFromEntries, a as formatInboundEnvelope, b as recordPendingHistoryEntryIfEnabled, c as resolveMentionGating, g as DEFAULT_GROUP_HISTORY_LIMIT, h as warnMissingProviderGroupPolicyFallbackOnce, m as resolveOpenProviderRuntimeGroupPolicy, p as resolveDefaultGroupPolicy, r as shouldAckReactionForWhatsApp, s as resolveEnvelopeFormatOptions, u as buildPairingReply, w as sleepWithAbort, x as createInboundDebouncer } from "./ack-reactions-lcSw6nTO.js";
26
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-BvG1veNC.js";
27
27
  import { n as formatDurationPrecise } from "./format-duration-Ct-yiwkS.js";
28
28
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-2P40JKXk.js";
29
- import { l as createDedupeCache, t as dispatchReplyWithBufferedBlockDispatcher } from "./provider-dispatcher-vEBMmwZ0.js";
29
+ import { l as createDedupeCache, t as dispatchReplyWithBufferedBlockDispatcher } from "./provider-dispatcher-RKJCsCjk.js";
30
30
  import { n as toLocationContext, t as formatLocationText } from "./location-DBWCGNLq.js";
31
- import { n as saveMediaBuffer } from "./store-C3tOpizT.js";
31
+ import { n as saveMediaBuffer } from "./store-CL9q1O6V.js";
32
32
  import { t as createReplyPrefixOptions } from "./reply-prefix-BzoT8h8o.js";
33
33
  import { randomUUID } from "node:crypto";
34
34
  import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";