cclawd 2026.3.29 → 2026.3.31

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 (200) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/{agents-BdtFdlIN.js → agents-CVS7DvUL.js} +1 -1
  3. package/dist/{agents-BNKB08km.js → agents-CzyjsmhM.js} +4 -4
  4. package/dist/build-info.json +3 -3
  5. package/dist/{channel-Dz1n3akq.js → channel-DSD0s7pz.js} +20 -1
  6. package/dist/{channels-Bt0w3hbW.js → channels-CiHYLvRI.js} +4 -4
  7. package/dist/{channels-cli-DgqDIEVC.js → channels-cli-BhMdPo3d.js} +7 -7
  8. package/dist/{command-registry-jlEvUAKq.js → command-registry-BYvPx-Nz.js} +2 -2
  9. package/dist/{command-registry-maV_byWv.js → command-registry-rP5KakSH.js} +7 -7
  10. package/dist/{completion-cli-BgpfJ8GC.js → completion-cli-BHNR7w3_.js} +3 -3
  11. package/dist/{completion-cli-B7KByNii.js → completion-cli-twHc2S-w.js} +2 -2
  12. package/dist/{config-cli-CkDay3qv.js → config-cli-DrW1doGL.js} +1 -1
  13. package/dist/{configure-DEgPFToe.js → configure-BSAzrfx4.js} +1 -1
  14. package/dist/{configure-Bhpnr3RQ.js → configure-Rv2R7S4n.js} +4 -4
  15. package/dist/{doctor-completion-Bhbtito8.js → doctor-completion-COQVx76Q.js} +1 -1
  16. package/dist/entry.js +1 -1
  17. package/dist/extensions/cclawd-guard/dashboard-launcher.js +1 -1
  18. package/dist/extensions/cclawd-guard/index.js +1 -1
  19. package/dist/extensions/discord/node_modules/.package-lock.json +254 -3
  20. package/dist/extensions/discord/node_modules/discord-api-types/CHANGELOG.md +25 -0
  21. package/dist/extensions/discord/node_modules/discord-api-types/gateway/v10.d.ts +1 -1
  22. package/dist/extensions/discord/node_modules/discord-api-types/gateway/v10.d.ts.map +1 -1
  23. package/dist/extensions/discord/node_modules/discord-api-types/gateway/v9.d.ts +1 -1
  24. package/dist/extensions/discord/node_modules/discord-api-types/gateway/v9.d.ts.map +1 -1
  25. package/dist/extensions/discord/node_modules/discord-api-types/package.json +1 -1
  26. package/dist/extensions/discord/node_modules/discord-api-types/payloads/index.mjs +3 -0
  27. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/index.mjs +3 -0
  28. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/message.d.ts +178 -28
  29. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/message.d.ts.map +1 -1
  30. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/message.js +55 -2
  31. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/message.js.map +1 -1
  32. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/user.d.ts +3 -1
  33. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/user.d.ts.map +1 -1
  34. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/user.js +2 -0
  35. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v10/user.js.map +1 -1
  36. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/index.mjs +3 -0
  37. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/message.d.ts +178 -28
  38. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/message.d.ts.map +1 -1
  39. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/message.js +55 -2
  40. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/message.js.map +1 -1
  41. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/user.d.ts +3 -1
  42. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/user.d.ts.map +1 -1
  43. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/user.js +2 -0
  44. package/dist/extensions/discord/node_modules/discord-api-types/payloads/v9/user.js.map +1 -1
  45. package/dist/extensions/discord/node_modules/discord-api-types/rest/common.d.ts +9 -0
  46. package/dist/extensions/discord/node_modules/discord-api-types/rest/common.d.ts.map +1 -1
  47. package/dist/extensions/discord/node_modules/discord-api-types/rest/common.js +9 -0
  48. package/dist/extensions/discord/node_modules/discord-api-types/rest/common.js.map +1 -1
  49. package/dist/extensions/discord/node_modules/discord-api-types/rest/v10/channel.d.ts +8 -0
  50. package/dist/extensions/discord/node_modules/discord-api-types/rest/v10/channel.d.ts.map +1 -1
  51. package/dist/extensions/discord/node_modules/discord-api-types/rest/v10/channel.js +6 -0
  52. package/dist/extensions/discord/node_modules/discord-api-types/rest/v10/channel.js.map +1 -1
  53. package/dist/extensions/discord/node_modules/discord-api-types/rest/v10/webhook.d.ts +7 -1
  54. package/dist/extensions/discord/node_modules/discord-api-types/rest/v10/webhook.d.ts.map +1 -1
  55. package/dist/extensions/discord/node_modules/discord-api-types/rest/v9/channel.d.ts +8 -0
  56. package/dist/extensions/discord/node_modules/discord-api-types/rest/v9/channel.d.ts.map +1 -1
  57. package/dist/extensions/discord/node_modules/discord-api-types/rest/v9/channel.js +6 -0
  58. package/dist/extensions/discord/node_modules/discord-api-types/rest/v9/channel.js.map +1 -1
  59. package/dist/extensions/discord/node_modules/discord-api-types/rest/v9/webhook.d.ts +7 -1
  60. package/dist/extensions/discord/node_modules/discord-api-types/rest/v9/webhook.d.ts.map +1 -1
  61. package/dist/extensions/discord/node_modules/discord-api-types/v10.mjs +3 -0
  62. package/dist/extensions/discord/node_modules/discord-api-types/v9.mjs +3 -0
  63. package/dist/extensions/feishu/index.js +2 -2
  64. package/dist/extensions/feishu/node_modules/.package-lock.json +24 -24
  65. package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/README.md +88 -4
  66. package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/README.zh.md +212 -58
  67. package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/es/index.js +3912 -7
  68. package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/lib/index.js +3924 -7
  69. package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/package.json +1 -1
  70. package/dist/extensions/feishu/node_modules/@larksuiteoapi/node-sdk/types/index.d.ts +620 -18
  71. package/dist/extensions/feishu/node_modules/@protobufjs/codegen/index.js +14 -1
  72. package/dist/extensions/feishu/node_modules/@protobufjs/codegen/package.json +1 -1
  73. package/dist/extensions/feishu/node_modules/@protobufjs/inquire/index.d.ts +1 -1
  74. package/dist/extensions/feishu/node_modules/@protobufjs/inquire/index.js +25 -5
  75. package/dist/extensions/feishu/node_modules/@protobufjs/inquire/package.json +2 -2
  76. package/dist/extensions/feishu/node_modules/@protobufjs/utf8/index.js +27 -28
  77. package/dist/extensions/feishu/node_modules/@protobufjs/utf8/package.json +21 -21
  78. package/dist/extensions/feishu/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
  79. package/dist/extensions/feishu/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -216
  80. package/dist/extensions/feishu/node_modules/@protobufjs/utf8/tests/index.js +17 -0
  81. package/dist/extensions/feishu/node_modules/follow-redirects/README.md +7 -5
  82. package/dist/extensions/feishu/node_modules/follow-redirects/index.js +24 -1
  83. package/dist/extensions/feishu/node_modules/follow-redirects/package.json +1 -1
  84. package/dist/extensions/feishu/node_modules/hasown/CHANGELOG.md +11 -0
  85. package/dist/extensions/feishu/node_modules/hasown/eslint.config.mjs +6 -0
  86. package/dist/extensions/feishu/node_modules/hasown/index.d.ts +1 -0
  87. package/dist/extensions/feishu/node_modules/hasown/package.json +14 -14
  88. package/dist/extensions/feishu/node_modules/protobufjs/dist/light/protobuf.js +238 -110
  89. package/dist/extensions/feishu/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  90. package/dist/extensions/feishu/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  91. package/dist/extensions/feishu/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  92. package/dist/extensions/feishu/node_modules/protobufjs/dist/minimal/protobuf.js +90 -38
  93. package/dist/extensions/feishu/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  94. package/dist/extensions/feishu/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  95. package/dist/extensions/feishu/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  96. package/dist/extensions/feishu/node_modules/protobufjs/dist/protobuf.js +242 -113
  97. package/dist/extensions/feishu/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  98. package/dist/extensions/feishu/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  99. package/dist/extensions/feishu/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  100. package/dist/extensions/feishu/node_modules/protobufjs/ext/descriptor/index.d.ts +4 -0
  101. package/dist/extensions/feishu/node_modules/protobufjs/ext/descriptor/index.js +35 -16
  102. package/dist/extensions/feishu/node_modules/protobufjs/index.d.ts +22 -4
  103. package/dist/extensions/feishu/node_modules/protobufjs/package.json +7 -4
  104. package/dist/extensions/feishu/node_modules/protobufjs/src/converter.js +14 -5
  105. package/dist/extensions/feishu/node_modules/protobufjs/src/decoder.js +17 -9
  106. package/dist/extensions/feishu/node_modules/protobufjs/src/enum.js +4 -1
  107. package/dist/extensions/feishu/node_modules/protobufjs/src/message.js +7 -3
  108. package/dist/extensions/feishu/node_modules/protobufjs/src/namespace.js +10 -6
  109. package/dist/extensions/feishu/node_modules/protobufjs/src/object.js +4 -0
  110. package/dist/extensions/feishu/node_modules/protobufjs/src/parse.js +4 -3
  111. package/dist/extensions/feishu/node_modules/protobufjs/src/reader.js +12 -2
  112. package/dist/extensions/feishu/node_modules/protobufjs/src/service.js +8 -4
  113. package/dist/extensions/feishu/node_modules/protobufjs/src/type.js +23 -12
  114. package/dist/extensions/feishu/node_modules/protobufjs/src/types.js +1 -1
  115. package/dist/extensions/feishu/node_modules/protobufjs/src/util/minimal.js +24 -1
  116. package/dist/extensions/feishu/node_modules/protobufjs/src/util/patterns.js +8 -0
  117. package/dist/extensions/feishu/node_modules/protobufjs/src/util.js +9 -9
  118. package/dist/extensions/feishu/node_modules/protobufjs/src/verifier.js +7 -4
  119. package/dist/extensions/feishu/node_modules/protobufjs/src/wrappers.js +4 -3
  120. package/dist/extensions/feishu/setup-entry.js +1 -1
  121. package/dist/extensions/slack/node_modules/.package-lock.json +17 -17
  122. package/dist/extensions/slack/node_modules/@slack/bolt/README.md +5 -5
  123. package/dist/extensions/slack/node_modules/@slack/bolt/dist/conversation-store.d.ts.map +1 -1
  124. package/dist/extensions/slack/node_modules/@slack/bolt/dist/conversation-store.js +2 -0
  125. package/dist/extensions/slack/node_modules/@slack/bolt/dist/conversation-store.js.map +1 -1
  126. package/dist/extensions/slack/node_modules/@slack/bolt/dist/errors.d.ts.map +1 -1
  127. package/dist/extensions/slack/node_modules/@slack/bolt/dist/errors.js +1 -1
  128. package/dist/extensions/slack/node_modules/@slack/bolt/dist/errors.js.map +1 -1
  129. package/dist/extensions/slack/node_modules/@slack/bolt/package.json +8 -3
  130. package/dist/extensions/slack/node_modules/@slack/web-api/dist/instrument.d.ts.map +1 -1
  131. package/dist/extensions/slack/node_modules/@slack/web-api/dist/instrument.js +13 -1
  132. package/dist/extensions/slack/node_modules/@slack/web-api/dist/instrument.js.map +1 -1
  133. package/dist/extensions/slack/node_modules/@slack/web-api/package.json +2 -2
  134. package/dist/extensions/slack/node_modules/axios/CHANGELOG.md +234 -0
  135. package/dist/extensions/slack/node_modules/axios/README.md +240 -204
  136. package/dist/extensions/slack/node_modules/axios/dist/axios.js +124 -72
  137. package/dist/extensions/slack/node_modules/axios/dist/axios.js.map +1 -1
  138. package/dist/extensions/slack/node_modules/axios/dist/axios.min.js +2 -2
  139. package/dist/extensions/slack/node_modules/axios/dist/axios.min.js.map +1 -1
  140. package/dist/extensions/slack/node_modules/axios/dist/browser/axios.cjs +170 -105
  141. package/dist/extensions/slack/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  142. package/dist/extensions/slack/node_modules/axios/dist/esm/axios.js +170 -105
  143. package/dist/extensions/slack/node_modules/axios/dist/esm/axios.js.map +1 -1
  144. package/dist/extensions/slack/node_modules/axios/dist/esm/axios.min.js +2 -2
  145. package/dist/extensions/slack/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  146. package/dist/extensions/slack/node_modules/axios/dist/node/axios.cjs +278 -100
  147. package/dist/extensions/slack/node_modules/axios/dist/node/axios.cjs.map +1 -1
  148. package/dist/extensions/slack/node_modules/axios/index.d.cts +15 -28
  149. package/dist/extensions/slack/node_modules/axios/index.d.ts +133 -226
  150. package/dist/extensions/slack/node_modules/axios/lib/adapters/fetch.js +21 -6
  151. package/dist/extensions/slack/node_modules/axios/lib/adapters/http.js +146 -17
  152. package/dist/extensions/slack/node_modules/axios/lib/core/AxiosError.js +34 -33
  153. package/dist/extensions/slack/node_modules/axios/lib/core/AxiosHeaders.js +24 -25
  154. package/dist/extensions/slack/node_modules/axios/lib/core/buildFullPath.js +1 -1
  155. package/dist/extensions/slack/node_modules/axios/lib/core/mergeConfig.js +18 -4
  156. package/dist/extensions/slack/node_modules/axios/lib/defaults/index.js +13 -8
  157. package/dist/extensions/slack/node_modules/axios/lib/env/data.js +1 -1
  158. package/dist/extensions/slack/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +1 -2
  159. package/dist/extensions/slack/node_modules/axios/lib/helpers/formDataToJSON.js +3 -1
  160. package/dist/extensions/slack/node_modules/axios/lib/helpers/formDataToStream.js +2 -1
  161. package/dist/extensions/slack/node_modules/axios/lib/helpers/progressEventReducer.js +5 -5
  162. package/dist/extensions/slack/node_modules/axios/lib/helpers/resolveConfig.js +25 -5
  163. package/dist/extensions/slack/node_modules/axios/lib/helpers/shouldBypassProxy.js +48 -1
  164. package/dist/extensions/slack/node_modules/axios/lib/helpers/toFormData.js +10 -2
  165. package/dist/extensions/slack/node_modules/axios/lib/helpers/validator.js +3 -1
  166. package/dist/extensions/slack/node_modules/axios/lib/utils.js +10 -10
  167. package/dist/extensions/slack/node_modules/axios/package.json +4 -4
  168. package/dist/extensions/slack/node_modules/follow-redirects/README.md +7 -5
  169. package/dist/extensions/slack/node_modules/follow-redirects/index.js +24 -1
  170. package/dist/extensions/slack/node_modules/follow-redirects/package.json +1 -1
  171. package/dist/extensions/slack/node_modules/hasown/CHANGELOG.md +11 -0
  172. package/dist/extensions/slack/node_modules/hasown/eslint.config.mjs +6 -0
  173. package/dist/extensions/slack/node_modules/hasown/index.d.ts +1 -0
  174. package/dist/extensions/slack/node_modules/hasown/package.json +14 -14
  175. package/dist/{feishu-p4QIwtc9.js → feishu-DE8XVrgE.js} +1 -1
  176. package/dist/{gateway-cli-jjoIZrdZ.js → gateway-cli-C00SgJH8.js} +1 -1
  177. package/dist/{gateway-manager-D66ezIC1.js → gateway-manager-CoYaKn7h.js} +238 -21
  178. package/dist/index.js +1 -1
  179. package/dist/{onboard-bnQMb8SY.js → onboard-8oeV41tg.js} +1 -1
  180. package/dist/{onboard-channels-CYyBfLIY.js → onboard-channels-BxqwrY3o.js} +3 -3
  181. package/dist/{onboard-channels-aMYUZrDN.js → onboard-channels-gadECF-d.js} +1 -1
  182. package/dist/{program-Xr3NHOnX.js → program-DFOJ2M28.js} +2 -2
  183. package/dist/{prompt-select-styled-ClRa2a-J.js → prompt-select-styled-Ci8XE1LV.js} +1 -1
  184. package/dist/{register.agent-D2oBiVp5.js → register.agent-CNriTPS3.js} +4 -4
  185. package/dist/{register.configure-DYLRiwv_.js → register.configure-DMcnmQTR.js} +4 -4
  186. package/dist/{register.maintenance-C_px1a87.js → register.maintenance-0gb7Pihv.js} +5 -5
  187. package/dist/{register.onboard-D3kGpBcj.js → register.onboard-Brn7Rsfa.js} +2 -2
  188. package/dist/{register.setup-BfTBJ7il.js → register.setup-CGQjSdsw.js} +2 -2
  189. package/dist/{register.subclis-pNtiPM8G.js → register.subclis-OtT4xOaA.js} +1 -1
  190. package/dist/{register.subclis-Dd2E6UgL.js → register.subclis-QIXh2ZkC.js} +4 -4
  191. package/dist/{run-main-CypZFyVz.js → run-main-DRiQYBGq.js} +7 -7
  192. package/dist/{setup-CLruc3vw.js → setup-axVj1OXH.js} +2 -2
  193. package/dist/{setup.finalize-DUXM1TZ3.js → setup.finalize-rLuq-bwM.js} +4 -4
  194. package/dist/{update-cli-8mkYBPsE.js → update-cli-DmFBNsEt.js} +5 -5
  195. package/package.json +1 -1
  196. package/dist/canvas-host/a2ui/.bundle.hash +0 -1
  197. package/dist/canvas-host/a2ui/a2ui.bundle.js +0 -13193
  198. package/dist/canvas-host/a2ui/index.html +0 -307
  199. package/dist/extensions/feishu/node_modules/hasown/.eslintrc +0 -5
  200. package/dist/extensions/slack/node_modules/hasown/.eslintrc +0 -5
package/dist/.buildstamp CHANGED
@@ -1 +1 @@
1
- {"builtAt":1776063192632,"head":"b298322a01618fb3aee8f17f6164093fdaf8180f"}
1
+ {"builtAt":1777341214500,"head":"e0af816abe5ce5c59fd8b5132ac972d9286b0a19"}
@@ -20,7 +20,7 @@ import { i as loadAgentIdentity, n as buildAgentSummaries, o as pruneAgentConfig
20
20
  import { a as parseBindingSpecs, i as describeBinding, n as applyAgentBindings, o as removeAgentBindings, r as buildChannelBindings, t as requireValidConfigSnapshot } from "./config-validation-9iWWSktF.js";
21
21
  import { t as promptAuthChoiceGrouped } from "./auth-choice-prompt-Bkr-WsTr.js";
22
22
  import { n as applyAuthChoice, t as warnIfModelConfigLooksOff } from "./auth-choice-DdOY5kEs.js";
23
- import { i as setupChannels } from "./onboard-channels-aMYUZrDN.js";
23
+ import { i as setupChannels } from "./onboard-channels-gadECF-d.js";
24
24
  import path from "node:path";
25
25
  import fs from "node:fs/promises";
26
26
  //#region src/commands/agents.command-shared.ts
@@ -252,9 +252,9 @@ import "./setup-core-CcGzCpOK.js";
252
252
  import "./shared-x4Yc8-25.js";
253
253
  import "./setup-entry-CcHvI1Mu.js";
254
254
  import "./reactions-CVOq_v6N.js";
255
- import "./feishu-p4QIwtc9.js";
255
+ import "./feishu-DE8XVrgE.js";
256
256
  import "./runtime-api-lhuSYASv.js";
257
- import "./channel-Dz1n3akq.js";
257
+ import "./channel-DSD0s7pz.js";
258
258
  import "./send-C3ijC8Mw.js";
259
259
  import "./runtime-p5-el0rU.js";
260
260
  import "./setup-core-Bw009yg5.js";
@@ -303,7 +303,7 @@ import "./agents.config-siTlMqn8.js";
303
303
  import "./provider-auth-choice-helpers-fXJv3eWi.js";
304
304
  import "./provider-auth-guidance-DXgeysMX.js";
305
305
  import "./config-validation-9iWWSktF.js";
306
- import { t as agentsListCommand } from "./agents-BdtFdlIN.js";
306
+ import { t as agentsListCommand } from "./agents-CVS7DvUL.js";
307
307
  import "./provider-auth-choices-D3uPSLCc.js";
308
308
  import "./provider-wizard-D8q7vx9b.js";
309
309
  import "./auth-choice-options-DGRXgwnh.js";
@@ -312,5 +312,5 @@ import "./provider-auth-choice-B6Vf-54o.js";
312
312
  import "./auth-choice.apply-helpers-DnZSQbUl.js";
313
313
  import "./provider-auth-choice-preference-MiQguMwm.js";
314
314
  import "./auth-choice-DdOY5kEs.js";
315
- import "./onboard-channels-aMYUZrDN.js";
315
+ import "./onboard-channels-gadECF-d.js";
316
316
  export { agentsListCommand };
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.3.29",
3
- "commit": "b298322a01618fb3aee8f17f6164093fdaf8180f",
4
- "builtAt": "2026-04-13T06:54:15.096Z"
2
+ "version": "2026.3.31",
3
+ "commit": "e0af816abe5ce5c59fd8b5132ac972d9286b0a19",
4
+ "builtAt": "2026-04-28T01:53:53.640Z"
5
5
  }
@@ -910,6 +910,7 @@ const REAL_PERSON_AUTH_API_BASE_URL = "https://cclawd.dbhl.cn";
910
910
  const REAL_PERSON_AUTH_H5_BASE_URL = "https://h5.dabby.com.cn";
911
911
  const MFA_AUTH_API_KEY = "MFA_AUTH_API_KEY";
912
912
  const REAL_PERSON_AUTH_REQUEST_TIMEOUT_MS = 12e3;
913
+ const REAL_PERSON_AUTH_QR_TTL_MS = 300 * 1e3;
913
914
  function getResponseMessage(payload, fallback) {
914
915
  if (typeof payload.data?.message === "string" && payload.data.message.trim()) return payload.data.message;
915
916
  if (typeof payload.message === "string" && payload.message.trim()) return payload.message;
@@ -1012,6 +1013,11 @@ function resolveMfaApiKey(log, error) {
1012
1013
  function resolveVerificationUrl(certToken) {
1013
1014
  return `${process.env.DABBY_AUTH_H5_BASE_URL || REAL_PERSON_AUTH_H5_BASE_URL}/authhtml/index.html#/auth?certToken=${certToken}&fromSource=Cclawd`;
1014
1015
  }
1016
+ function isRealPersonCertExpired(record, now = Date.now()) {
1017
+ if (!record?.certToken || record.authenticated) return false;
1018
+ if (!Number.isFinite(record.issuedAt)) return true;
1019
+ return Number(record.issuedAt) + REAL_PERSON_AUTH_QR_TTL_MS <= now;
1020
+ }
1015
1021
  async function checkFeishuRealPersonAuthStatus(params) {
1016
1022
  const authFilePath = resolveRealPersonAuthStorePath();
1017
1023
  const authData = await readRealPersonAuthStore(authFilePath, params.error);
@@ -1020,6 +1026,14 @@ async function checkFeishuRealPersonAuthStatus(params) {
1020
1026
  if (userAuth.authenticated) return { status: "success" };
1021
1027
  const certToken = userAuth.certToken?.trim() ?? "";
1022
1028
  if (!certToken) return { status: "missing" };
1029
+ if (isRealPersonCertExpired(userAuth)) {
1030
+ authData[params.senderId] = {
1031
+ authenticated: false,
1032
+ successNotified: false
1033
+ };
1034
+ await writeRealPersonAuthStore(authFilePath, authData);
1035
+ return { status: "failed" };
1036
+ }
1023
1037
  const apiKey = resolveMfaApiKey(params.log, params.error);
1024
1038
  params.log(`[real-person-auth] checking auth status for certToken: ${certToken.slice(0, 8)}...`);
1025
1039
  const status = await checkAuthStatus(apiKey, certToken);
@@ -1028,6 +1042,7 @@ async function checkFeishuRealPersonAuthStatus(params) {
1028
1042
  authData[params.senderId] = {
1029
1043
  authenticated: true,
1030
1044
  certToken,
1045
+ issuedAt: userAuth.issuedAt,
1031
1046
  successNotified: true
1032
1047
  };
1033
1048
  await writeRealPersonAuthStore(authFilePath, authData);
@@ -1059,7 +1074,8 @@ async function resolveFeishuRealPersonAuthGate(params) {
1059
1074
  }
1060
1075
  return { action: "allow" };
1061
1076
  }
1062
- if (userAuth?.certToken) {
1077
+ const existingCertExpired = isRealPersonCertExpired(userAuth);
1078
+ if (userAuth?.certToken && !existingCertExpired) {
1063
1079
  params.log(`[real-person-auth] checking auth status for certToken: ${userAuth.certToken.slice(0, 8)}...`);
1064
1080
  const status = await checkAuthStatus(apiKey, userAuth.certToken);
1065
1081
  params.log(`[real-person-auth] auth status: ${status}`);
@@ -1067,6 +1083,7 @@ async function resolveFeishuRealPersonAuthGate(params) {
1067
1083
  authData[params.senderId] = {
1068
1084
  authenticated: true,
1069
1085
  certToken: userAuth.certToken,
1086
+ issuedAt: userAuth.issuedAt,
1070
1087
  successNotified: true
1071
1088
  };
1072
1089
  await writeRealPersonAuthStore(authFilePath, authData);
@@ -1078,12 +1095,14 @@ async function resolveFeishuRealPersonAuthGate(params) {
1078
1095
  certToken: userAuth.certToken
1079
1096
  };
1080
1097
  }
1098
+ if (existingCertExpired) params.log(`[real-person-auth] existing certToken expired for ${params.senderId}, requesting a new QR code`);
1081
1099
  params.log("[real-person-auth] calling getVerifyCode API...");
1082
1100
  const { certToken } = await getVerifyCode(apiKey);
1083
1101
  params.log(`[real-person-auth] got certToken: ${certToken.slice(0, 8)}...`);
1084
1102
  authData[params.senderId] = {
1085
1103
  authenticated: false,
1086
1104
  certToken,
1105
+ issuedAt: Date.now(),
1087
1106
  successNotified: false
1088
1107
  };
1089
1108
  await writeRealPersonAuthStore(authFilePath, authData);
@@ -255,9 +255,9 @@ import "./setup-core-CcGzCpOK.js";
255
255
  import "./shared-x4Yc8-25.js";
256
256
  import "./setup-entry-CcHvI1Mu.js";
257
257
  import "./reactions-CVOq_v6N.js";
258
- import "./feishu-p4QIwtc9.js";
258
+ import "./feishu-DE8XVrgE.js";
259
259
  import "./runtime-api-lhuSYASv.js";
260
- import "./channel-Dz1n3akq.js";
260
+ import "./channel-DSD0s7pz.js";
261
261
  import "./send-C3ijC8Mw.js";
262
262
  import "./runtime-p5-el0rU.js";
263
263
  import "./setup-core-Bw009yg5.js";
@@ -307,7 +307,7 @@ import { n as buildReadOnlySourceChannelAccountSnapshot, t as buildChannelAccoun
307
307
  import { t as collectChannelStatusIssues } from "./channels-status-issues-D1LfcYYR.js";
308
308
  import { t as parseLogLine } from "./parse-log-line-fV0tN7JU.js";
309
309
  import { i as describeBinding, n as applyAgentBindings, t as requireValidConfigSnapshot } from "./config-validation-9iWWSktF.js";
310
- import { a as isCatalogChannelInstalled, r as runCollectedChannelOnboardingPostWriteHooks, t as createChannelOnboardingPostWriteHookCollector } from "./onboard-channels-aMYUZrDN.js";
310
+ import { a as isCatalogChannelInstalled, r as runCollectedChannelOnboardingPostWriteHooks, t as createChannelOnboardingPostWriteHookCollector } from "./onboard-channels-gadECF-d.js";
311
311
  import fs from "node:fs/promises";
312
312
  //#region src/commands/channels/add-mutators.ts
313
313
  function applyAccountName(params) {
@@ -377,7 +377,7 @@ async function channelsAddCommand(opts, runtime = defaultRuntime, params) {
377
377
  if (!cfg) return;
378
378
  let nextConfig = cfg;
379
379
  if (shouldUseWizard(params)) {
380
- const [{ buildAgentSummaries }, { setupChannels }] = await Promise.all([import("./agents.config-Nk87RmV3.js"), import("./onboard-channels-CYyBfLIY.js")]);
380
+ const [{ buildAgentSummaries }, { setupChannels }] = await Promise.all([import("./agents.config-Nk87RmV3.js"), import("./onboard-channels-BxqwrY3o.js")]);
381
381
  const prompter = createClackPrompter();
382
382
  const postWriteHooks = createChannelOnboardingPostWriteHookCollector();
383
383
  let selection = [];
@@ -365,25 +365,25 @@ function registerChannelsCli(program) {
365
365
  ])}\n\n${theme.muted("Docs:")} ${formatDocsLink("/cli/channels", "docs.openclaw.ai/cli/channels")}\n`);
366
366
  channels.command("list").description("List configured channels + auth profiles").option("--no-usage", "Skip model provider usage/quota snapshots").option("--json", "Output JSON", false).action(async (opts) => {
367
367
  await runChannelsCommand(async () => {
368
- const { channelsListCommand } = await import("./channels-Bt0w3hbW.js");
368
+ const { channelsListCommand } = await import("./channels-CiHYLvRI.js");
369
369
  await channelsListCommand(opts, defaultRuntime);
370
370
  });
371
371
  });
372
372
  channels.command("status").description("Show gateway channel status (use status --deep for local)").option("--probe", "Probe channel credentials", false).option("--timeout <ms>", "Timeout in ms", "10000").option("--json", "Output JSON", false).action(async (opts) => {
373
373
  await runChannelsCommand(async () => {
374
- const { channelsStatusCommand } = await import("./channels-Bt0w3hbW.js");
374
+ const { channelsStatusCommand } = await import("./channels-CiHYLvRI.js");
375
375
  await channelsStatusCommand(opts, defaultRuntime);
376
376
  });
377
377
  });
378
378
  channels.command("capabilities").description("Show provider capabilities (intents/scopes + supported features)").option("--channel <name>", `Channel (${formatCliChannelOptions(["all"])})`).option("--account <id>", "Account id (only with --channel)").option("--target <dest>", "Channel target for permission audit (Discord channel:<id>)").option("--timeout <ms>", "Timeout in ms", "10000").option("--json", "Output JSON", false).action(async (opts) => {
379
379
  await runChannelsCommand(async () => {
380
- const { channelsCapabilitiesCommand } = await import("./channels-Bt0w3hbW.js");
380
+ const { channelsCapabilitiesCommand } = await import("./channels-CiHYLvRI.js");
381
381
  await channelsCapabilitiesCommand(opts, defaultRuntime);
382
382
  });
383
383
  });
384
384
  channels.command("resolve").description("Resolve channel/user names to IDs").argument("<entries...>", "Entries to resolve (names or ids)").option("--channel <name>", `Channel (${channelNames})`).option("--account <id>", "Account id (accountId)").option("--kind <kind>", "Target kind (auto|user|group)", "auto").option("--json", "Output JSON", false).action(async (entries, opts) => {
385
385
  await runChannelsCommand(async () => {
386
- const { channelsResolveCommand } = await import("./channels-Bt0w3hbW.js");
386
+ const { channelsResolveCommand } = await import("./channels-CiHYLvRI.js");
387
387
  await channelsResolveCommand({
388
388
  channel: opts.channel,
389
389
  account: opts.account,
@@ -395,19 +395,19 @@ function registerChannelsCli(program) {
395
395
  });
396
396
  channels.command("logs").description("Show recent channel logs from the gateway log file").option("--channel <name>", `Channel (${formatCliChannelOptions(["all"])})`, "all").option("--lines <n>", "Number of lines (default: 200)", "200").option("--json", "Output JSON", false).action(async (opts) => {
397
397
  await runChannelsCommand(async () => {
398
- const { channelsLogsCommand } = await import("./channels-Bt0w3hbW.js");
398
+ const { channelsLogsCommand } = await import("./channels-CiHYLvRI.js");
399
399
  await channelsLogsCommand(opts, defaultRuntime);
400
400
  });
401
401
  });
402
402
  channels.command("add").description("Add or update a channel account").option("--channel <name>", `Channel (${channelNames})`).option("--account <id>", "Account id (default when omitted)").option("--name <name>", "Display name for this account").option("--token <token>", "Bot token (Telegram/Discord)").option("--private-key <key>", "Nostr private key (nsec... or hex)").option("--token-file <path>", "Bot token file (Telegram)").option("--bot-token <token>", "Slack bot token (xoxb-...)").option("--app-token <token>", "Slack app token (xapp-...)").option("--signal-number <e164>", "Signal account number (E.164)").option("--cli-path <path>", "CLI path (signal-cli or imsg)").option("--db-path <path>", "iMessage database path").option("--service <service>", "iMessage service (imessage|sms|auto)").option("--region <region>", "iMessage region (for SMS)").option("--auth-dir <path>", "WhatsApp auth directory override").option("--http-url <url>", "Signal HTTP daemon base URL").option("--http-host <host>", "Signal HTTP host").option("--http-port <port>", "Signal HTTP port").option("--webhook-path <path>", "Webhook path (Google Chat/BlueBubbles)").option("--webhook-url <url>", "Google Chat webhook URL").option("--audience-type <type>", "Google Chat audience type (app-url|project-number)").option("--audience <value>", "Google Chat audience value (app URL or project number)").option("--homeserver <url>", "Matrix homeserver URL").option("--user-id <id>", "Matrix user ID").option("--access-token <token>", "Matrix access token").option("--password <password>", "Matrix password").option("--device-name <name>", "Matrix device name").option("--initial-sync-limit <n>", "Matrix initial sync limit").option("--ship <ship>", "Tlon ship name (~sampel-palnet)").option("--url <url>", "Tlon ship URL").option("--relay-urls <list>", "Nostr relay URLs (comma-separated)").option("--code <code>", "Tlon login code").option("--group-channels <list>", "Tlon group channels (comma-separated)").option("--dm-allowlist <list>", "Tlon DM allowlist (comma-separated ships)").option("--auto-discover-channels", "Tlon auto-discover group channels").option("--no-auto-discover-channels", "Disable Tlon auto-discovery").option("--use-env", "Use env token (default account only)", false).action(async (opts, command) => {
403
403
  await runChannelsCommand(async () => {
404
- const { channelsAddCommand } = await import("./channels-Bt0w3hbW.js");
404
+ const { channelsAddCommand } = await import("./channels-CiHYLvRI.js");
405
405
  await channelsAddCommand(opts, defaultRuntime, { hasFlags: hasExplicitOptions(command, optionNamesAdd) });
406
406
  });
407
407
  });
408
408
  channels.command("remove").description("Disable or delete a channel account").option("--channel <name>", `Channel (${channelNames})`).option("--account <id>", "Account id (default when omitted)").option("--delete", "Delete config entries (no prompt)", false).action(async (opts, command) => {
409
409
  await runChannelsCommand(async () => {
410
- const { channelsRemoveCommand } = await import("./channels-Bt0w3hbW.js");
410
+ const { channelsRemoveCommand } = await import("./channels-CiHYLvRI.js");
411
411
  await channelsRemoveCommand(opts, defaultRuntime, { hasFlags: hasExplicitOptions(command, optionNamesRemove) });
412
412
  });
413
413
  });
@@ -7,7 +7,7 @@ import "./subsystem-DISldKSB.js";
7
7
  import "./ansi-BEJF8NKS.js";
8
8
  import "./boolean-C3GkJetE.js";
9
9
  import "./env-Dnra1IpT.js";
10
- import "./register.subclis-Dd2E6UgL.js";
10
+ import "./register.subclis-QIXh2ZkC.js";
11
11
  import "./core-command-descriptors-CCqK_2TG.js";
12
- import { n as registerCoreCliByName } from "./command-registry-maV_byWv.js";
12
+ import { n as registerCoreCliByName } from "./command-registry-rP5KakSH.js";
13
13
  export { registerCoreCliByName };
@@ -1,5 +1,5 @@
1
1
  import { E as getPrimaryCommand, k as hasHelpOrVersion } from "./logger-kwZIqwuw.js";
2
- import { a as removeCommandByName, i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-Dd2E6UgL.js";
2
+ import { a as removeCommandByName, i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-QIXh2ZkC.js";
3
3
  import { t as getCoreCliCommandDescriptors } from "./core-command-descriptors-CCqK_2TG.js";
4
4
  //#region src/cli/program/command-registry.ts
5
5
  const shouldRegisterCorePrimaryOnly = (argv) => {
@@ -14,7 +14,7 @@ const coreEntries = [
14
14
  hasSubcommands: false
15
15
  }],
16
16
  register: async ({ program }) => {
17
- (await import("./register.setup-BfTBJ7il.js")).registerSetupCommand(program);
17
+ (await import("./register.setup-CGQjSdsw.js")).registerSetupCommand(program);
18
18
  }
19
19
  },
20
20
  {
@@ -24,7 +24,7 @@ const coreEntries = [
24
24
  hasSubcommands: false
25
25
  }],
26
26
  register: async ({ program }) => {
27
- (await import("./register.onboard-D3kGpBcj.js")).registerOnboardCommand(program);
27
+ (await import("./register.onboard-Brn7Rsfa.js")).registerOnboardCommand(program);
28
28
  }
29
29
  },
30
30
  {
@@ -34,7 +34,7 @@ const coreEntries = [
34
34
  hasSubcommands: false
35
35
  }],
36
36
  register: async ({ program }) => {
37
- (await import("./register.configure-DYLRiwv_.js")).registerConfigureCommand(program);
37
+ (await import("./register.configure-DMcnmQTR.js")).registerConfigureCommand(program);
38
38
  }
39
39
  },
40
40
  {
@@ -44,7 +44,7 @@ const coreEntries = [
44
44
  hasSubcommands: true
45
45
  }],
46
46
  register: async ({ program }) => {
47
- (await import("./config-cli-CkDay3qv.js")).registerConfigCli(program);
47
+ (await import("./config-cli-DrW1doGL.js")).registerConfigCli(program);
48
48
  }
49
49
  },
50
50
  {
@@ -81,7 +81,7 @@ const coreEntries = [
81
81
  }
82
82
  ],
83
83
  register: async ({ program }) => {
84
- (await import("./register.maintenance-C_px1a87.js")).registerMaintenanceCommands(program);
84
+ (await import("./register.maintenance-0gb7Pihv.js")).registerMaintenanceCommands(program);
85
85
  }
86
86
  },
87
87
  {
@@ -125,7 +125,7 @@ const coreEntries = [
125
125
  hasSubcommands: true
126
126
  }],
127
127
  register: async ({ program, ctx }) => {
128
- (await import("./register.agent-D2oBiVp5.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
128
+ (await import("./register.agent-CNriTPS3.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
129
129
  }
130
130
  },
131
131
  {
@@ -9,8 +9,8 @@ import "./boolean-C3GkJetE.js";
9
9
  import "./env-Dnra1IpT.js";
10
10
  import "./utils-CS0Ikux6.js";
11
11
  import "./links-8xRhWBQL.js";
12
- import { a as registerCompletionCli } from "./completion-cli-B7KByNii.js";
13
- import "./register.subclis-Dd2E6UgL.js";
14
- import "./command-registry-maV_byWv.js";
12
+ import { a as registerCompletionCli } from "./completion-cli-twHc2S-w.js";
13
+ import "./register.subclis-QIXh2ZkC.js";
14
+ import "./command-registry-rP5KakSH.js";
15
15
  import "./program-context-SgNgozNB.js";
16
16
  export { registerCompletionCli };
@@ -3,8 +3,8 @@ import { r as theme } from "./theme-CdOoMzRk.js";
3
3
  import { c as routeLogsToStderr } from "./subsystem-DISldKSB.js";
4
4
  import { h as pathExists } from "./utils-CS0Ikux6.js";
5
5
  import { t as formatDocsLink } from "./links-8xRhWBQL.js";
6
- import { r as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-Dd2E6UgL.js";
7
- import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-maV_byWv.js";
6
+ import { r as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-QIXh2ZkC.js";
7
+ import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-rP5KakSH.js";
8
8
  import { t as getProgramContext } from "./program-context-SgNgozNB.js";
9
9
  import path from "node:path";
10
10
  import os from "node:os";
@@ -917,7 +917,7 @@ async function runConfigValidate(opts = {}) {
917
917
  }
918
918
  function registerConfigCli(program) {
919
919
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset/file/validate). Run without subcommand for guided setup.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.openclaw.ai/cli/config")}\n`).option("--section <section>", "Configuration sections for guided setup (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
920
- const { configureCommandFromSectionsArg } = await import("./configure-Bhpnr3RQ.js");
920
+ const { configureCommandFromSectionsArg } = await import("./configure-Rv2R7S4n.js");
921
921
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
922
922
  });
923
923
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -29,7 +29,7 @@ import { n as resolveProviderPluginChoice } from "./provider-wizard-D8q7vx9b.js"
29
29
  import { t as promptAuthChoiceGrouped } from "./auth-choice-prompt-Bkr-WsTr.js";
30
30
  import { t as resolvePreferredProviderForAuthChoice } from "./provider-auth-choice-preference-MiQguMwm.js";
31
31
  import { n as applyAuthChoice } from "./auth-choice-DdOY5kEs.js";
32
- import { i as setupChannels, n as noteChannelStatus } from "./onboard-channels-aMYUZrDN.js";
32
+ import { i as setupChannels, n as noteChannelStatus } from "./onboard-channels-gadECF-d.js";
33
33
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BasN9UtI.js";
34
34
  import { i as promptModelAllowlist, n as applyModelFallbacksFromSelection, r as promptDefaultModel, t as applyModelAllowlist } from "./model-picker-ewbext_V.js";
35
35
  import { i as promptCustomApiConfig } from "./onboard-custom-ojsh_yzx.js";
@@ -259,9 +259,9 @@ import "./setup-core-CcGzCpOK.js";
259
259
  import "./shared-x4Yc8-25.js";
260
260
  import "./setup-entry-CcHvI1Mu.js";
261
261
  import "./reactions-CVOq_v6N.js";
262
- import "./feishu-p4QIwtc9.js";
262
+ import "./feishu-DE8XVrgE.js";
263
263
  import "./runtime-api-lhuSYASv.js";
264
- import "./channel-Dz1n3akq.js";
264
+ import "./channel-DSD0s7pz.js";
265
265
  import "./send-C3ijC8Mw.js";
266
266
  import "./runtime-p5-el0rU.js";
267
267
  import "./setup-core-Bw009yg5.js";
@@ -324,8 +324,8 @@ import "./provider-auth-choice-B6Vf-54o.js";
324
324
  import "./auth-choice.apply-helpers-DnZSQbUl.js";
325
325
  import "./provider-auth-choice-preference-MiQguMwm.js";
326
326
  import "./auth-choice-DdOY5kEs.js";
327
- import "./onboard-channels-aMYUZrDN.js";
328
- import { n as configureCommandFromSectionsArg } from "./configure-DEgPFToe.js";
327
+ import "./onboard-channels-gadECF-d.js";
328
+ import { n as configureCommandFromSectionsArg } from "./configure-BSAzrfx4.js";
329
329
  import "./systemd-linger-BasN9UtI.js";
330
330
  import "./model-picker-ewbext_V.js";
331
331
  import "./onboard-custom-ojsh_yzx.js";
@@ -1,7 +1,7 @@
1
1
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-ax52pETb.js";
2
2
  import { n as resolveCliName } from "./cli-name-CgLQPAaK.js";
3
3
  import { t as note } from "./note-CrfOOz26.js";
4
- import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-B7KByNii.js";
4
+ import { c as usesSlowDynamicCompletion, i as isCompletionInstalled, o as resolveCompletionCachePath, r as installCompletion, s as resolveShellFromEnv, t as completionCacheExists } from "./completion-cli-twHc2S-w.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
  //#region src/commands/doctor-completion.ts
package/dist/entry.js CHANGED
@@ -200,7 +200,7 @@ function tryHandleRootHelpFastPath(argv, deps = {}) {
200
200
  }
201
201
  function runMainOrRootHelp(argv) {
202
202
  if (tryHandleRootHelpFastPath(argv)) return;
203
- import("./run-main-CypZFyVz.js").then(({ runCli }) => runCli(argv)).catch((error) => {
203
+ import("./run-main-DRiQYBGq.js").then(({ runCli }) => runCli(argv)).catch((error) => {
204
204
  console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
205
205
  process$1.exitCode = 1;
206
206
  });
@@ -1,5 +1,5 @@
1
1
  import { a as openclawHome } from "../../env-CcGPS0ln.js";
2
- import { c as loadJsonSync, i as setDashboardPort } from "../../gateway-manager-D66ezIC1.js";
2
+ import { c as loadJsonSync, i as setDashboardPort } from "../../gateway-manager-CoYaKn7h.js";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import fs from "node:fs";
5
5
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { a as openclawHome, n as envApiKey, t as defaultCoreUrl } from "../../env-CcGPS0ln.js";
2
- import { a as startGateway, c as loadJsonSync, i as setDashboardPort, l as loadTextSafe, n as enableGateway, o as stopGateway, r as getGatewayStatus, s as loadJsonSafe, t as disableGateway, u as loadTextSync } from "../../gateway-manager-D66ezIC1.js";
2
+ import { a as startGateway, c as loadJsonSync, i as setDashboardPort, l as loadTextSafe, n as enableGateway, o as stopGateway, r as getGatewayStatus, s as loadJsonSafe, t as disableGateway, u as loadTextSync } from "../../gateway-manager-CoYaKn7h.js";
3
3
  import fs, { existsSync, mkdirSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
4
4
  import path from "node:path";
5
5
  import os, { networkInterfaces } from "node:os";