openclaw-multi-auto 1.3.6 → 1.3.7

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 (184) hide show
  1. package/dist/{accounts-C_lW3Ag9.js → accounts-BOzyfwW4.js} +2 -2
  2. package/dist/{accounts-C9HcPI9h.js → accounts-L9ByEpnP.js} +2 -2
  3. package/dist/{accounts-Tgelvk0C.js → accounts-yfBeCZtS.js} +17 -17
  4. package/dist/{active-listener-BEdprTkn.js → active-listener-D1yqT1cw.js} +2 -2
  5. package/dist/{api-key-rotation-BJpKWXy0.js → api-key-rotation-DtsNS2Nb.js} +2 -2
  6. package/dist/{audio-preflight-BMvgEQ5j.js → audio-preflight-DpxQCpsA.js} +32 -32
  7. package/dist/{audio-transcription-runner-gLFfz8fr.js → audio-transcription-runner-28fcRNNi.js} +12 -12
  8. package/dist/{audit-membership-runtime-Dntemq07.js → audit-membership-runtime-DWyHWAHM.js} +4 -4
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +51 -51
  11. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  12. package/dist/bundled/command-logger/handler.js +2 -2
  13. package/dist/bundled/session-memory/handler.js +51 -51
  14. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  15. package/dist/{channel-activity-BDnjYF7B.js → channel-activity-xHOMiarp.js} +3 -3
  16. package/dist/{chrome-DxxEKrY7.js → chrome-DwizpzOC.js} +18 -18
  17. package/dist/{commands-registry-D5qXbFJn.js → commands-registry-V1zZ5pPC.js} +4 -4
  18. package/dist/{deliver-DbdywYJE.js → deliver-D4o6VIur.js} +21 -21
  19. package/dist/deliver-runtime-P-G3bPjW.js +36 -0
  20. package/dist/deps-send-discord.runtime-DnbhTFX9.js +26 -0
  21. package/dist/deps-send-imessage.runtime-BOiQ6mDx.js +25 -0
  22. package/dist/deps-send-signal.runtime-CTcl388M.js +24 -0
  23. package/dist/deps-send-slack.runtime-CCqBz4Kg.js +22 -0
  24. package/dist/deps-send-telegram.runtime-DGSKTCpH.js +27 -0
  25. package/dist/deps-send-whatsapp.runtime-CJkTHkah.js +60 -0
  26. package/dist/{diagnostic-Co6Kghr-.js → diagnostic-Bn4PZjMZ.js} +2 -2
  27. package/dist/{errors-xt401nuk.js → errors-CCLeFWAg.js} +1 -1
  28. package/dist/{fetch-DuraYswo.js → fetch-BlJWzEP6.js} +5 -5
  29. package/dist/{fetch-guard-DWr0d00H.js → fetch-guard-ChYBwfiy.js} +2 -2
  30. package/dist/{frontmatter-BkTfEZ93.js → frontmatter-CvaMP376.js} +3 -3
  31. package/dist/{fs-safe-CTYUrIgQ.js → fs-safe-0jAo_Whb.js} +4 -4
  32. package/dist/{github-copilot-token-BDioPmd6.js → github-copilot-token-D13V9YBz.js} +7 -7
  33. package/dist/{image-eT7Y-nP5.js → image-Bbn53mzj.js} +6 -6
  34. package/dist/{image-ops-BuUnEOE0.js → image-ops-CehkHxmW.js} +2 -2
  35. package/dist/image-runtime-CVv2ra9J.js +29 -0
  36. package/dist/{ir-B83looB-.js → ir-DAP-B-Xw.js} +8 -8
  37. package/dist/{legacy-names-DOC03BkU.js → legacy-names-TyzbVqa_.js} +1 -1
  38. package/dist/llm-slug-generator.js +51 -51
  39. package/dist/{logger-BfjWMCSD.js → logger-DMZQQtxK.js} +7 -7
  40. package/dist/{login-CrIwcrVI.js → login-DiCctRo1.js} +5 -5
  41. package/dist/{login-qr-BpPDZdl_.js → login-qr-MUbXgjtd.js} +10 -10
  42. package/dist/{manager-1bvuGrNR.js → manager-BW_NSIMl.js} +13 -13
  43. package/dist/manager-runtime-BN6VevdC.js +18 -0
  44. package/dist/{model-selection-Dna0Gz1k.js → model-selection-idoqPmw0.js} +43 -43
  45. package/dist/{outbound-ChDjtuD6.js → outbound-C2kanETZ.js} +6 -6
  46. package/dist/{outbound-attachment-DqHlD21U.js → outbound-attachment-DBrYWX8h.js} +2 -2
  47. package/dist/{path-alias-guards-BzvdLvTI.js → path-alias-guards-DqXRZmsL.js} +1 -1
  48. package/dist/{paths-Cvc9EM8Y.js → paths-C6TxBCvO.js} +5 -5
  49. package/dist/{paths-Bkr-BCxW.js → paths-CCxysrzL.js} +4 -4
  50. package/dist/{pi-embedded-BQQa91aA.js → pi-embedded-BaGj07T0.js} +158 -158
  51. package/dist/{pi-embedded-helpers-CLXm10bV.js → pi-embedded-helpers-wy0DZvx1.js} +52 -52
  52. package/dist/pi-model-discovery-BGgOlX8N.js +134 -0
  53. package/dist/pi-model-discovery-runtime-Bwmi4Ev8.js +11 -0
  54. package/dist/{pi-tools.before-tool-call.runtime-Cwab_5W1.js → pi-tools.before-tool-call.runtime-BuLxSyx9.js} +9 -9
  55. package/dist/plugin-sdk/accounts-CJWOBzwB.js +35 -0
  56. package/dist/plugin-sdk/accounts-DP1-L-QS.js +288 -0
  57. package/dist/plugin-sdk/accounts-DZhWlEg3.js +46 -0
  58. package/dist/plugin-sdk/active-listener-B_sLJTXM.js +50 -0
  59. package/dist/plugin-sdk/api-key-rotation-BRE4X2tf.js +181 -0
  60. package/dist/plugin-sdk/audio-preflight-DGEUDxxR.js +69 -0
  61. package/dist/plugin-sdk/audio-transcription-runner-DkoPNPYt.js +2176 -0
  62. package/dist/plugin-sdk/audit-membership-runtime-DSBHHw7o.js +58 -0
  63. package/dist/plugin-sdk/channel-activity-F3d0yUwy.js +94 -0
  64. package/dist/plugin-sdk/channel-web-QF7EpjeP.js +2256 -0
  65. package/dist/plugin-sdk/chrome-BXoCyCkY.js +2415 -0
  66. package/dist/plugin-sdk/commands-registry-t7cXBTfN.js +1125 -0
  67. package/dist/plugin-sdk/config-BkEnz2Po.js +17913 -0
  68. package/dist/plugin-sdk/deliver-B6AG_l67.js +1694 -0
  69. package/dist/plugin-sdk/deliver-runtime-D585kJZc.js +32 -0
  70. package/dist/plugin-sdk/deps-send-discord.runtime-a_OKY2js.js +23 -0
  71. package/dist/plugin-sdk/deps-send-imessage.runtime-Baxy9TD4.js +22 -0
  72. package/dist/plugin-sdk/deps-send-signal.runtime-BwXoCrFl.js +21 -0
  73. package/dist/plugin-sdk/deps-send-slack.runtime-CLmKjgso.js +19 -0
  74. package/dist/plugin-sdk/deps-send-telegram.runtime-BKfdBKnZ.js +24 -0
  75. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BOTwkbx_.js +57 -0
  76. package/dist/plugin-sdk/diagnostic-CsP-lEkI.js +319 -0
  77. package/dist/plugin-sdk/errors-DaiAM-yU.js +54 -0
  78. package/dist/plugin-sdk/fetch-guard-DETCcJzQ.js +156 -0
  79. package/dist/plugin-sdk/fs-safe-B8y811FR.js +352 -0
  80. package/dist/plugin-sdk/image-DjTEkYZE.js +2310 -0
  81. package/dist/plugin-sdk/image-ops-BSiMpAw4.js +584 -0
  82. package/dist/plugin-sdk/image-runtime-6xPp8m5a.js +25 -0
  83. package/dist/plugin-sdk/index.js +50 -50
  84. package/dist/plugin-sdk/ir-DQ7_HbvK.js +1296 -0
  85. package/dist/plugin-sdk/local-roots-BUP4YBmR.js +186 -0
  86. package/dist/plugin-sdk/logger-CZY9KIoY.js +1163 -0
  87. package/dist/plugin-sdk/login-BxEKLlCo.js +57 -0
  88. package/dist/plugin-sdk/login-qr-BQIpMPr9.js +320 -0
  89. package/dist/plugin-sdk/manager-I6KbPihW.js +3917 -0
  90. package/dist/plugin-sdk/manager-runtime-CFfYYWIQ.js +15 -0
  91. package/dist/plugin-sdk/outbound-NS6UHnB6.js +212 -0
  92. package/dist/plugin-sdk/outbound-attachment-Dy6fyf6H.js +19 -0
  93. package/dist/plugin-sdk/path-alias-guards-DBjLbIX_.js +43 -0
  94. package/dist/plugin-sdk/paths-vTM3Lh3X.js +166 -0
  95. package/dist/plugin-sdk/pi-embedded-helpers-1R1gu7eX.js +9627 -0
  96. package/dist/plugin-sdk/pi-model-discovery-runtime-Do9o-dUd.js +8 -0
  97. package/dist/{pi-model-discovery-Dymwdjt0.js → plugin-sdk/pi-model-discovery-v-XPUOOf.js} +2 -2
  98. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D4sFsIks.js +354 -0
  99. package/dist/plugin-sdk/plugins-DeBZB9l_.js +864 -0
  100. package/dist/{proxy-fetch-B2pEfjbR.js → plugin-sdk/proxy-fetch-ChxOhWF4.js} +1 -1
  101. package/dist/plugin-sdk/pw-ai-DEOmCSSC.js +1938 -0
  102. package/dist/plugin-sdk/qmd-manager-HyYKoEch.js +1448 -0
  103. package/dist/plugin-sdk/query-expansion-CeyKUeDW.js +1011 -0
  104. package/dist/{redact-COik8ET1.js → plugin-sdk/redact-DjVX-1N3.js} +1 -1
  105. package/dist/plugin-sdk/reply-DAo_Jt8K.js +97916 -0
  106. package/dist/plugin-sdk/resolve-outbound-target-B42qgQS9.js +40 -0
  107. package/dist/plugin-sdk/run-with-concurrency-Bt_ks0Qa.js +1994 -0
  108. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6W989eF.js +10 -0
  109. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-c_GDFy37.js +19 -0
  110. package/dist/plugin-sdk/send-CQpMudwO.js +2587 -0
  111. package/dist/plugin-sdk/send-DQHLzVyO.js +414 -0
  112. package/dist/plugin-sdk/send-DTB24bEF.js +3135 -0
  113. package/dist/plugin-sdk/send-DfHadjZ_.js +503 -0
  114. package/dist/plugin-sdk/send-XXlW2iny.js +540 -0
  115. package/dist/plugin-sdk/session-6TF6MyaC.js +169 -0
  116. package/dist/plugin-sdk/signal.js +2 -2
  117. package/dist/plugin-sdk/skill-commands-CkGeFUMl.js +342 -0
  118. package/dist/plugin-sdk/skills-CBkHBYPq.js +1428 -0
  119. package/dist/plugin-sdk/slash-commands.runtime-CxliuGaP.js +13 -0
  120. package/dist/plugin-sdk/slash-dispatch.runtime-DFaeYlJQ.js +52 -0
  121. package/dist/plugin-sdk/slash-skill-commands.runtime-0M0OLCxq.js +16 -0
  122. package/dist/plugin-sdk/ssrf-cFtplYtS.js +202 -0
  123. package/dist/plugin-sdk/store-5nyxY3WU.js +81 -0
  124. package/dist/plugin-sdk/subagent-registry-runtime-DCtmDwna.js +52 -0
  125. package/dist/plugin-sdk/tables-C47P4GTN.js +55 -0
  126. package/dist/{target-errors-mnlwhAjP.js → plugin-sdk/target-errors-Blia4S69.js} +2 -2
  127. package/dist/plugin-sdk/thinking-Bo2eosVa.js +1206 -0
  128. package/dist/{tokens-q32vI39c.js → plugin-sdk/tokens-DgNRBwIg.js} +1 -1
  129. package/dist/plugin-sdk/tool-images-Gk_-0y2N.js +274 -0
  130. package/dist/plugin-sdk/web-CVxZbXyH.js +56 -0
  131. package/dist/plugin-sdk/whatsapp-actions-Bw0H9g-n.js +80 -0
  132. package/dist/plugin-sdk/zalo.js +2 -2
  133. package/dist/{plugins-4Rj4OjLY.js → plugins-CWkRQYDj.js} +11 -11
  134. package/dist/{proxy-env-DlmzDx8x.js → proxy-env-Cq5gdrbj.js} +1 -1
  135. package/dist/proxy-fetch-CCjEYbFm.js +38 -0
  136. package/dist/{pw-ai-DNMjFMqH.js → pw-ai-Cl1Lc7RC.js} +14 -14
  137. package/dist/{qmd-manager-BtIKUaO9.js → qmd-manager-BsYsO9Ii.js} +10 -10
  138. package/dist/{query-expansion-CX-1fS52.js → query-expansion-DtLc3wjL.js} +6 -6
  139. package/dist/redact-ClbcYG1J.js +319 -0
  140. package/dist/{run-with-concurrency-BgYfgkXT.js → run-with-concurrency-D_ZpbgEG.js} +4 -4
  141. package/dist/runtime-whatsapp-login.runtime-IeylZEl4.js +13 -0
  142. package/dist/runtime-whatsapp-outbound.runtime-ClBRuLsq.js +22 -0
  143. package/dist/{send-dfu6_rgf.js → send-BQERFNyo.js} +5 -5
  144. package/dist/{send-L7gRiwyd.js → send-Bj776ESJ.js} +7 -7
  145. package/dist/{send-PE6cwoTe.js → send-DcxmcFi_.js} +8 -8
  146. package/dist/{send-6lz6rNVP.js → send-Dx2RkUOZ.js} +6 -6
  147. package/dist/{send-BHTiZcH3.js → send-vmONuVgL.js} +26 -26
  148. package/dist/{session-D8ImowSs.js → session-A4QhBRvH.js} +8 -8
  149. package/dist/{skill-commands-DNqJ-kwn.js → skill-commands-CMzBZKG2.js} +9 -9
  150. package/dist/{skills-7ODkHQYp.js → skills-CE_iqvM5.js} +22 -22
  151. package/dist/slash-commands.runtime-Cpn2tYW4.js +16 -0
  152. package/dist/slash-dispatch.runtime-DoBAQBU5.js +56 -0
  153. package/dist/slash-skill-commands.runtime-DKMvvdDW.js +20 -0
  154. package/dist/{store-D89wDcz9.js → store--eR1R_UX.js} +2 -2
  155. package/dist/subagent-registry-runtime-ppWS3tVu.js +56 -0
  156. package/dist/{subsystem-B45WV3qB.js → subsystem-Di1z8l0Z.js} +14 -14
  157. package/dist/{tables-mE4cJBN2.js → tables-d739Y1xW.js} +1 -1
  158. package/dist/target-errors-CBI2Ga0y.js +195 -0
  159. package/dist/{thinking-BeGmb5k6.js → thinking-DXYisHiZ.js} +7 -7
  160. package/dist/tokens-DxnY9ui_.js +52 -0
  161. package/dist/{tool-images-RZdHiZcG.js → tool-images-2cBx1W8h.js} +2 -2
  162. package/dist/{web-Btj-e8kN.js → web-CzWRVmFt.js} +55 -55
  163. package/dist/{whatsapp-actions-BHbJJyqw.js → whatsapp-actions-iEArE_Ez.js} +21 -21
  164. package/dist/{workspace-U-DyR64O.js → workspace-CUVC6GX1.js} +20 -20
  165. package/package.json +4 -2
  166. package/scripts/create-instance.sh +26 -4
  167. package/scripts/install-maca.sh +40 -29
  168. package/scripts/npm_publish.sh +8 -6
  169. package/dist/deliver-runtime-BFs7iAZF.js +0 -36
  170. package/dist/deps-send-discord.runtime-DZUccI6Z.js +0 -26
  171. package/dist/deps-send-imessage.runtime-CF3OpoqY.js +0 -25
  172. package/dist/deps-send-signal.runtime-Cw4-ozeO.js +0 -24
  173. package/dist/deps-send-slack.runtime-BDsDhS1P.js +0 -22
  174. package/dist/deps-send-telegram.runtime-D_4xVasO.js +0 -27
  175. package/dist/deps-send-whatsapp.runtime-DK8jqd14.js +0 -60
  176. package/dist/image-runtime-BcAK3n8a.js +0 -29
  177. package/dist/manager-runtime-FO1Sx3W8.js +0 -18
  178. package/dist/pi-model-discovery-runtime-BeY4EUPp.js +0 -11
  179. package/dist/runtime-whatsapp-login.runtime-DUb55byQ.js +0 -13
  180. package/dist/runtime-whatsapp-outbound.runtime-Bii_xSfI.js +0 -22
  181. package/dist/slash-commands.runtime-CVw6566g.js +0 -16
  182. package/dist/slash-dispatch.runtime-B9Ygtzi4.js +0 -56
  183. package/dist/slash-skill-commands.runtime-DxZ4z5h6.js +0 -20
  184. package/dist/subagent-registry-runtime-DL1Wv7nA.js +0 -56
@@ -1,61 +1,61 @@
1
- import "./run-with-concurrency-BgYfgkXT.js";
2
- import "./paths-Cvc9EM8Y.js";
3
- import { i as defaultRuntime, p as shouldLogVerbose, t as createSubsystemLogger, u as logVerbose, y as getChildLogger } from "./subsystem-B45WV3qB.js";
4
- import { F as buildGroupHistoryKey, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, R as normalizeAgentId } from "./workspace-U-DyR64O.js";
5
- import { C as sleep, T as toWhatsappJid, h as normalizeE164, m as jidToE164, o as clamp, p as isSelfChatMode, v as resolveJidToE164 } from "./logger-BfjWMCSD.js";
6
- import { X as loadConfig, lr as formatCliCommand } from "./model-selection-Dna0Gz1k.js";
7
- import "./github-copilot-token-BDioPmd6.js";
8
- import "./legacy-names-DOC03BkU.js";
9
- import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy } from "./thinking-BeGmb5k6.js";
10
- import "./tokens-q32vI39c.js";
11
- import { A as normalizeGroupActivation, B as normalizeMentionText, C as createInboundDebouncer, D as getReplyFromConfig, E as createDedupeCache, F as enqueueSystemEvent, I as finalizeInboundContext, K as resolveIdentityNamePrefix, L as hasControlCommand, M as computeBackoff, N as sleepWithAbort, O as buildAgentSessionKey, P as formatDurationPrecise, R as shouldComputeCommandAuthorized, T as formatInboundEnvelope, _ as resolveDmGroupAccessWithCommandGate, b as shouldAckReactionForWhatsApp, c as buildPairingReply, d as buildHistoryContextFromEntries, f as recordPendingHistoryEntryIfEnabled, g as readStoreAllowFromForDmPolicy, h as warnMissingProviderGroupPolicyFallbackOnce, i as resolveInboundSessionEnvelopeContext, j as parseActivationCommand, k as resolveAgentRoute, l as resolveMentionGating, m as resolveOpenProviderRuntimeGroupPolicy, p as resolveDefaultGroupPolicy, q as resolveMessagePrefix, s as createReplyPrefixOptions, u as DEFAULT_GROUP_HISTORY_LIMIT, v as resolveDmGroupAccessWithLists, w as resolveInboundDebounceMs, x as dispatchReplyWithBufferedBlockDispatcher, y as resolvePinnedMainDmOwnerFromAllowlist, z as buildMentionRegexes } from "./pi-embedded-BQQa91aA.js";
12
- import "./plugins-4Rj4OjLY.js";
13
- import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-Tgelvk0C.js";
14
- import "./send-6lz6rNVP.js";
15
- import "./send-PE6cwoTe.js";
16
- import "./deliver-DbdywYJE.js";
17
- import "./diagnostic-Co6Kghr-.js";
18
- import "./accounts-C9HcPI9h.js";
19
- import "./image-ops-BuUnEOE0.js";
20
- import { X as toLocationContext, Y as formatLocationText, et as upsertChannelPairingRequest } from "./send-BHTiZcH3.js";
21
- import "./pi-model-discovery-Dymwdjt0.js";
22
- import { At as resolveGroupSessionKey, K as recordSessionMetaFromInbound, W as loadSessionStore, q as updateLastRoute } from "./pi-embedded-helpers-CLXm10bV.js";
23
- import "./chrome-DxxEKrY7.js";
24
- import "./frontmatter-BkTfEZ93.js";
25
- import "./skills-7ODkHQYp.js";
26
- import "./path-alias-guards-BzvdLvTI.js";
27
- import "./redact-COik8ET1.js";
28
- import "./errors-xt401nuk.js";
29
- import "./fs-safe-CTYUrIgQ.js";
30
- import "./proxy-env-DlmzDx8x.js";
31
- import { i as saveMediaBuffer } from "./store-D89wDcz9.js";
32
- import "./accounts-C_lW3Ag9.js";
33
- import { s as resolveStorePath } from "./paths-Bkr-BCxW.js";
34
- import "./tool-images-RZdHiZcG.js";
35
- import "./image-eT7Y-nP5.js";
36
- import { h as registerUnhandledRejectionHandler } from "./audio-transcription-runner-gLFfz8fr.js";
37
- import { i as getAgentScopedMediaLocalRoots } from "./fetch-DuraYswo.js";
38
- import "./fetch-guard-DWr0d00H.js";
39
- import "./api-key-rotation-BJpKWXy0.js";
40
- import "./proxy-fetch-B2pEfjbR.js";
41
- import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, s as resolveMarkdownTableMode } from "./ir-B83looB-.js";
1
+ import "./run-with-concurrency-D_ZpbgEG.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import { i as defaultRuntime, p as shouldLogVerbose, t as createSubsystemLogger, u as logVerbose, y as getChildLogger } from "./subsystem-Di1z8l0Z.js";
4
+ import { F as buildGroupHistoryKey, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, R as normalizeAgentId } from "./workspace-CUVC6GX1.js";
5
+ import { C as sleep, T as toWhatsappJid, h as normalizeE164, m as jidToE164, o as clamp, p as isSelfChatMode, v as resolveJidToE164 } from "./logger-DMZQQtxK.js";
6
+ import { X as loadConfig, lr as formatCliCommand } from "./model-selection-idoqPmw0.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-TyzbVqa_.js";
9
+ import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy } from "./thinking-DXYisHiZ.js";
10
+ import "./tokens-DxnY9ui_.js";
11
+ import { A as normalizeGroupActivation, B as normalizeMentionText, C as createInboundDebouncer, D as getReplyFromConfig, E as createDedupeCache, F as enqueueSystemEvent, I as finalizeInboundContext, K as resolveIdentityNamePrefix, L as hasControlCommand, M as computeBackoff, N as sleepWithAbort, O as buildAgentSessionKey, P as formatDurationPrecise, R as shouldComputeCommandAuthorized, T as formatInboundEnvelope, _ as resolveDmGroupAccessWithCommandGate, b as shouldAckReactionForWhatsApp, c as buildPairingReply, d as buildHistoryContextFromEntries, f as recordPendingHistoryEntryIfEnabled, g as readStoreAllowFromForDmPolicy, h as warnMissingProviderGroupPolicyFallbackOnce, i as resolveInboundSessionEnvelopeContext, j as parseActivationCommand, k as resolveAgentRoute, l as resolveMentionGating, m as resolveOpenProviderRuntimeGroupPolicy, p as resolveDefaultGroupPolicy, q as resolveMessagePrefix, s as createReplyPrefixOptions, u as DEFAULT_GROUP_HISTORY_LIMIT, v as resolveDmGroupAccessWithLists, w as resolveInboundDebounceMs, x as dispatchReplyWithBufferedBlockDispatcher, y as resolvePinnedMainDmOwnerFromAllowlist, z as buildMentionRegexes } from "./pi-embedded-BaGj07T0.js";
12
+ import "./plugins-CWkRQYDj.js";
13
+ import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-yfBeCZtS.js";
14
+ import "./send-Dx2RkUOZ.js";
15
+ import "./send-DcxmcFi_.js";
16
+ import "./deliver-D4o6VIur.js";
17
+ import "./diagnostic-Bn4PZjMZ.js";
18
+ import "./accounts-L9ByEpnP.js";
19
+ import "./image-ops-CehkHxmW.js";
20
+ import { X as toLocationContext, Y as formatLocationText, et as upsertChannelPairingRequest } from "./send-vmONuVgL.js";
21
+ import "./pi-model-discovery-BGgOlX8N.js";
22
+ import { At as resolveGroupSessionKey, K as recordSessionMetaFromInbound, W as loadSessionStore, q as updateLastRoute } from "./pi-embedded-helpers-wy0DZvx1.js";
23
+ import "./chrome-DwizpzOC.js";
24
+ import "./frontmatter-CvaMP376.js";
25
+ import "./skills-CE_iqvM5.js";
26
+ import "./path-alias-guards-DqXRZmsL.js";
27
+ import "./redact-ClbcYG1J.js";
28
+ import "./errors-CCLeFWAg.js";
29
+ import "./fs-safe-0jAo_Whb.js";
30
+ import "./proxy-env-Cq5gdrbj.js";
31
+ import { i as saveMediaBuffer } from "./store--eR1R_UX.js";
32
+ import "./accounts-BOzyfwW4.js";
33
+ import { s as resolveStorePath } from "./paths-CCxysrzL.js";
34
+ import "./tool-images-2cBx1W8h.js";
35
+ import "./image-Bbn53mzj.js";
36
+ import { h as registerUnhandledRejectionHandler } from "./audio-transcription-runner-28fcRNNi.js";
37
+ import { i as getAgentScopedMediaLocalRoots } from "./fetch-BlJWzEP6.js";
38
+ import "./fetch-guard-ChYBwfiy.js";
39
+ import "./api-key-rotation-DtsNS2Nb.js";
40
+ import "./proxy-fetch-CCjEYbFm.js";
41
+ import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, s as resolveMarkdownTableMode } from "./ir-DAP-B-Xw.js";
42
42
  import "./render-DW7AcFdD.js";
43
- import "./target-errors-mnlwhAjP.js";
44
- import "./commands-registry-D5qXbFJn.js";
45
- import "./skill-commands-DNqJ-kwn.js";
43
+ import "./target-errors-CBI2Ga0y.js";
44
+ import "./commands-registry-V1zZ5pPC.js";
45
+ import "./skill-commands-CMzBZKG2.js";
46
46
  import "./fetch-BfuG8uZ8.js";
47
- import { n as recordChannelActivity } from "./channel-activity-BDnjYF7B.js";
48
- import { t as convertMarkdownTables } from "./tables-mE4cJBN2.js";
49
- import "./send-dfu6_rgf.js";
50
- import "./outbound-attachment-DqHlD21U.js";
51
- import "./send-L7gRiwyd.js";
52
- import { r as setActiveWebListener } from "./active-listener-BEdprTkn.js";
47
+ import { n as recordChannelActivity } from "./channel-activity-xHOMiarp.js";
48
+ import { t as convertMarkdownTables } from "./tables-d739Y1xW.js";
49
+ import "./send-BQERFNyo.js";
50
+ import "./outbound-attachment-DBrYWX8h.js";
51
+ import "./send-Bj776ESJ.js";
52
+ import { r as setActiveWebListener } from "./active-listener-D1yqT1cw.js";
53
53
  import "./proxy-CecQTx_Z.js";
54
- import "./manager-1bvuGrNR.js";
55
- import "./query-expansion-CX-1fS52.js";
56
- import { i as markdownToWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./outbound-ChDjtuD6.js";
57
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-D8ImowSs.js";
58
- import { t as loginWeb } from "./login-CrIwcrVI.js";
54
+ import "./manager-BW_NSIMl.js";
55
+ import "./query-expansion-DtLc3wjL.js";
56
+ import { i as markdownToWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./outbound-C2kanETZ.js";
57
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-A4QhBRvH.js";
58
+ import { t as loginWeb } from "./login-DiCctRo1.js";
59
59
  import { randomUUID } from "node:crypto";
60
60
  import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
61
61
 
@@ -1,25 +1,25 @@
1
- import "./run-with-concurrency-BgYfgkXT.js";
2
- import "./paths-Cvc9EM8Y.js";
3
- import "./subsystem-B45WV3qB.js";
4
- import "./workspace-U-DyR64O.js";
5
- import "./logger-BfjWMCSD.js";
6
- import "./model-selection-Dna0Gz1k.js";
7
- import "./github-copilot-token-BDioPmd6.js";
8
- import "./legacy-names-DOC03BkU.js";
9
- import { a as normalizeWhatsAppTarget, i as isWhatsAppGroupJid } from "./plugins-4Rj4OjLY.js";
10
- import { n as resolveWhatsAppAccount } from "./accounts-Tgelvk0C.js";
11
- import "./image-ops-BuUnEOE0.js";
12
- import "./path-alias-guards-BzvdLvTI.js";
13
- import "./fs-safe-CTYUrIgQ.js";
14
- import "./proxy-env-DlmzDx8x.js";
15
- import "./tool-images-RZdHiZcG.js";
16
- import "./fetch-DuraYswo.js";
17
- import "./fetch-guard-DWr0d00H.js";
18
- import "./ir-B83looB-.js";
1
+ import "./run-with-concurrency-D_ZpbgEG.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import "./subsystem-Di1z8l0Z.js";
4
+ import "./workspace-CUVC6GX1.js";
5
+ import "./logger-DMZQQtxK.js";
6
+ import "./model-selection-idoqPmw0.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-TyzbVqa_.js";
9
+ import { a as normalizeWhatsAppTarget, i as isWhatsAppGroupJid } from "./plugins-CWkRQYDj.js";
10
+ import { n as resolveWhatsAppAccount } from "./accounts-yfBeCZtS.js";
11
+ import "./image-ops-CehkHxmW.js";
12
+ import "./path-alias-guards-DqXRZmsL.js";
13
+ import "./fs-safe-0jAo_Whb.js";
14
+ import "./proxy-env-Cq5gdrbj.js";
15
+ import "./tool-images-2cBx1W8h.js";
16
+ import "./fetch-BlJWzEP6.js";
17
+ import "./fetch-guard-ChYBwfiy.js";
18
+ import "./ir-DAP-B-Xw.js";
19
19
  import "./render-DW7AcFdD.js";
20
- import { f as readReactionParams, h as readStringParam, i as ToolAuthorizationError, l as jsonResult, n as missingTargetError, o as createActionGate } from "./target-errors-mnlwhAjP.js";
21
- import "./tables-mE4cJBN2.js";
22
- import { r as sendReactionWhatsApp } from "./outbound-ChDjtuD6.js";
20
+ import { f as readReactionParams, h as readStringParam, i as ToolAuthorizationError, l as jsonResult, n as missingTargetError, o as createActionGate } from "./target-errors-CBI2Ga0y.js";
21
+ import "./tables-d739Y1xW.js";
22
+ import { r as sendReactionWhatsApp } from "./outbound-C2kanETZ.js";
23
23
 
24
24
  //#region src/whatsapp/resolve-outbound-target.ts
25
25
  function resolveWhatsAppOutboundTarget(params) {
@@ -1,10 +1,10 @@
1
- import { d as resolveRequiredHomeDir } from "./paths-Cvc9EM8Y.js";
2
- import { c as danger, p as shouldLogVerbose } from "./subsystem-B45WV3qB.js";
3
- import { g as pathExists$1, n as logError, t as logDebug, y as resolveUserPath } from "./logger-BfjWMCSD.js";
1
+ import { d as resolveRequiredHomeDir } from "./paths-C6TxBCvO.js";
2
+ import { c as danger, p as shouldLogVerbose } from "./subsystem-Di1z8l0Z.js";
3
+ import { g as pathExists$1, n as logError, t as logDebug, y as resolveUserPath } from "./logger-DMZQQtxK.js";
4
4
  import fs from "node:fs/promises";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
7
- import fs$1 from "node:fs";
7
+ import syncFs from "node:fs";
8
8
  import { promisify } from "node:util";
9
9
  import { execFile, spawn } from "node:child_process";
10
10
  import process$1 from "node:process";
@@ -560,7 +560,7 @@ function resolveBoundaryPathLexicalSync(params) {
560
560
  rootCanonicalPath: params.rootCanonicalPath,
561
561
  resolveParams: params.params,
562
562
  absolutePath: params.absolutePath,
563
- read: (cursor) => fs$1.lstatSync(cursor)
563
+ read: (cursor) => syncFs.lstatSync(cursor)
564
564
  });
565
565
  if (isPromiseLike(maybeStat)) throw new Error("Unexpected async lexical stat");
566
566
  const stat = maybeStat;
@@ -706,15 +706,15 @@ function resolvePathViaExistingAncestorSync(targetPath) {
706
706
  const normalized = path.resolve(targetPath);
707
707
  let cursor = normalized;
708
708
  const missingSuffix = [];
709
- while (!isFilesystemRoot(cursor) && !fs$1.existsSync(cursor)) {
709
+ while (!isFilesystemRoot(cursor) && !syncFs.existsSync(cursor)) {
710
710
  missingSuffix.unshift(path.basename(cursor));
711
711
  const parent = path.dirname(cursor);
712
712
  if (parent === cursor) break;
713
713
  cursor = parent;
714
714
  }
715
- if (!fs$1.existsSync(cursor)) return normalized;
715
+ if (!syncFs.existsSync(cursor)) return normalized;
716
716
  try {
717
- const resolvedAncestor = path.resolve(fs$1.realpathSync(cursor));
717
+ const resolvedAncestor = path.resolve(syncFs.realpathSync(cursor));
718
718
  if (missingSuffix.length === 0) return resolvedAncestor;
719
719
  return path.resolve(resolvedAncestor, ...missingSuffix);
720
720
  } catch {
@@ -739,7 +739,7 @@ function getPathKindSync(absolutePath, preserveFinalSymlink) {
739
739
  try {
740
740
  return {
741
741
  exists: true,
742
- kind: toResolvedKind(preserveFinalSymlink ? fs$1.lstatSync(absolutePath) : fs$1.statSync(absolutePath))
742
+ kind: toResolvedKind(preserveFinalSymlink ? syncFs.lstatSync(absolutePath) : syncFs.statSync(absolutePath))
743
743
  };
744
744
  } catch (error) {
745
745
  if (isNotFoundPathError(error)) return {
@@ -799,10 +799,10 @@ async function resolveSymlinkHopPath(symlinkPath) {
799
799
  }
800
800
  function resolveSymlinkHopPathSync(symlinkPath) {
801
801
  try {
802
- return path.resolve(fs$1.realpathSync(symlinkPath));
802
+ return path.resolve(syncFs.realpathSync(symlinkPath));
803
803
  } catch (error) {
804
804
  if (!isNotFoundPathError(error)) throw error;
805
- const linkTarget = fs$1.readlinkSync(symlinkPath);
805
+ const linkTarget = syncFs.readlinkSync(symlinkPath);
806
806
  return resolvePathViaExistingAncestorSync(path.resolve(path.dirname(symlinkPath), linkTarget));
807
807
  }
808
808
  }
@@ -828,7 +828,7 @@ function sameFileIdentity(left, right) {
828
828
  return sameFileIdentity$1(left, right);
829
829
  }
830
830
  function openVerifiedFileSync(params) {
831
- const ioFs = params.ioFs ?? fs$1;
831
+ const ioFs = params.ioFs ?? syncFs;
832
832
  const allowedType = params.allowedType ?? "file";
833
833
  const openReadFlags = ioFs.constants.O_RDONLY | (typeof ioFs.constants.O_NOFOLLOW === "number" ? ioFs.constants.O_NOFOLLOW : 0);
834
834
  let fd = null;
@@ -905,7 +905,7 @@ function canUseBoundaryFileOpen(ioFs) {
905
905
  return typeof ioFs.openSync === "function" && typeof ioFs.closeSync === "function" && typeof ioFs.fstatSync === "function" && typeof ioFs.lstatSync === "function" && typeof ioFs.realpathSync === "function" && typeof ioFs.readFileSync === "function" && typeof ioFs.constants === "object" && ioFs.constants !== null;
906
906
  }
907
907
  function openBoundaryFileSync(params) {
908
- const ioFs = params.ioFs ?? fs$1;
908
+ const ioFs = params.ioFs ?? syncFs;
909
909
  const resolved = resolveBoundaryFilePathGeneric({
910
910
  absolutePath: params.absolutePath,
911
911
  resolve: (absolutePath) => resolveBoundaryPathSync({
@@ -956,7 +956,7 @@ function finalizeBoundaryFileOpen(params) {
956
956
  });
957
957
  }
958
958
  async function openBoundaryFile(params) {
959
- const ioFs = params.ioFs ?? fs$1;
959
+ const ioFs = params.ioFs ?? syncFs;
960
960
  const maybeResolved = resolveBoundaryFilePathGeneric({
961
961
  absolutePath: params.absolutePath,
962
962
  resolve: (absolutePath) => resolveBoundaryPath({
@@ -1105,7 +1105,7 @@ function resolveNpmArgvForWindows(argv) {
1105
1105
  if (!cliName) return null;
1106
1106
  const nodeDir = path.dirname(process$1.execPath);
1107
1107
  const cliPath = path.join(nodeDir, "node_modules", "npm", "bin", cliName);
1108
- if (!fs$1.existsSync(cliPath)) return null;
1108
+ if (!syncFs.existsSync(cliPath)) return null;
1109
1109
  return [
1110
1110
  process$1.execPath,
1111
1111
  cliPath,
@@ -1307,7 +1307,7 @@ async function readPackageName(dir) {
1307
1307
  }
1308
1308
  function readPackageNameSync(dir) {
1309
1309
  try {
1310
- const raw = fs$1.readFileSync(path.join(dir, "package.json"), "utf-8");
1310
+ const raw = syncFs.readFileSync(path.join(dir, "package.json"), "utf-8");
1311
1311
  const parsed = JSON.parse(raw);
1312
1312
  return typeof parsed.name === "string" ? parsed.name : null;
1313
1313
  } catch {
@@ -1341,7 +1341,7 @@ function candidateDirsFromArgv1(argv1) {
1341
1341
  const normalized = path.resolve(argv1);
1342
1342
  const candidates = [path.dirname(normalized)];
1343
1343
  try {
1344
- const resolved = fs$1.realpathSync(normalized);
1344
+ const resolved = syncFs.realpathSync(normalized);
1345
1345
  if (resolved !== normalized) candidates.push(path.dirname(resolved));
1346
1346
  } catch {}
1347
1347
  const parts = normalized.split(path.sep);
@@ -1453,14 +1453,14 @@ async function readWorkspaceFileWithGuards(params) {
1453
1453
  const identity = workspaceFileIdentity(opened.stat, opened.path);
1454
1454
  const cached = workspaceFileCache.get(params.filePath);
1455
1455
  if (cached && cached.identity === identity) {
1456
- fs$1.closeSync(opened.fd);
1456
+ syncFs.closeSync(opened.fd);
1457
1457
  return {
1458
1458
  ok: true,
1459
1459
  content: cached.content
1460
1460
  };
1461
1461
  }
1462
1462
  try {
1463
- const content = fs$1.readFileSync(opened.fd, "utf-8");
1463
+ const content = syncFs.readFileSync(opened.fd, "utf-8");
1464
1464
  workspaceFileCache.set(params.filePath, {
1465
1465
  content,
1466
1466
  identity
@@ -1477,7 +1477,7 @@ async function readWorkspaceFileWithGuards(params) {
1477
1477
  error
1478
1478
  };
1479
1479
  } finally {
1480
- fs$1.closeSync(opened.fd);
1480
+ syncFs.closeSync(opened.fd);
1481
1481
  }
1482
1482
  }
1483
1483
  function stripFrontMatter(content) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-multi-auto",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/openclaw/openclaw#readme",
@@ -388,7 +388,9 @@
388
388
  "undici": "^7.22.0",
389
389
  "ws": "^8.19.0",
390
390
  "yaml": "^2.8.2",
391
- "zod": "^4.3.6"
391
+ "zod": "^4.3.6",
392
+ "@whiskeysockets/libsignal-node": "npm:@openclaw-cn/libsignal@2.0.1",
393
+ "libsignal": "npm:@openclaw-cn/libsignal@2.0.1"
392
394
  },
393
395
  "devDependencies": {
394
396
  "@grammyjs/types": "^3.25.0",
@@ -2,6 +2,7 @@
2
2
  # =================================================================
3
3
  # OpenClaw 深度集成初始化工具 (create-instance.sh)
4
4
  # 修复说明:避免 workspace 提升导致 node_modules 出现在父目录
5
+ # 增强:支持环境变量 OPENCLAW_SOURCE_DIR 定位源码
5
6
  # =================================================================
6
7
 
7
8
  set -e
@@ -22,11 +23,32 @@ for cmd in node pnpm; do
22
23
  done
23
24
 
24
25
  # --- 1. 路径溯源与环境检查 ---
25
- GLOBAL_PREFIX=$(npm config get prefix)
26
+ # 优先使用环境变量 OPENCLAW_SOURCE_DIR(可在调用脚本前设置)
27
+ if [ -n "$OPENCLAW_SOURCE_DIR" ] && [ -d "$OPENCLAW_SOURCE_DIR" ]; then
28
+ SOURCE_CODE="$OPENCLAW_SOURCE_DIR"
29
+ echo -e "${BLUE}📂 使用环境变量指定的源码路径: $SOURCE_CODE${NC}"
30
+ else
31
+ # 其次检查本地 pnpm 安装的路径(与部署脚本中的 openclaw-runtime 一致)
32
+ LOCAL_SOURCE="$HOME/openclaw-runtime/node_modules/openclaw-multi-auto"
33
+ if [ -d "$LOCAL_SOURCE" ]; then
34
+ SOURCE_CODE="$LOCAL_SOURCE"
35
+ echo -e "${BLUE}📂 使用本地 pnpm 安装的源码路径: $SOURCE_CODE${NC}"
36
+ else
37
+ # 最后回退到全局 npm 安装路径(兼容旧版)
38
+ GLOBAL_PREFIX=$(npm config get prefix)
39
+ SOURCE_CODE="${GLOBAL_PREFIX}/lib/node_modules/openclaw-multi-auto"
40
+ echo -e "${YELLOW}⚠️ 未找到环境变量和本地路径,尝试使用全局安装路径: $SOURCE_CODE${NC}"
41
+ fi
42
+ fi
43
+
44
+ # 检查源码目录是否存在
45
+ if [ ! -d "$SOURCE_CODE" ]; then
46
+ echo -e "${RED}❌ 错误: 未找到 OpenClaw 源码目录: $SOURCE_CODE${NC}"
47
+ echo -e "${YELLOW}请确认已正确安装 openclaw-multi-auto,或设置 OPENCLAW_SOURCE_DIR 环境变量指向正确路径。${NC}"
48
+ exit 1
49
+ fi
50
+
26
51
  INSTANCES_BASE=$(eval echo "$HOME/openclaws")
27
- DEFAULT_SOURCE="${GLOBAL_PREFIX}/lib/node_modules/openclaw-multi-auto"
28
- # [ -d "$HOME/projects/openclaw" ] && DEFAULT_SOURCE=$(eval echo "$HOME/projects/openclaw")
29
- SOURCE_CODE="$DEFAULT_SOURCE"
30
52
 
31
53
  # --- 2. 获取实例名称 ---
32
54
  INSTANCE_NAME="${1:-}"
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  # =================================================================
3
3
  # OpenClaw 离线增强版部署脚本 (适配 bundledDependencies + 中国区镜像)
4
- # 核心逻辑:修复权限 -> 固化环境 -> 极速安装核心依赖 -> 实例初始化
4
+ # 核心逻辑:修复权限 -> 固化环境 -> 本地 pnpm 安装 -> 实例初始化
5
5
  # =================================================================
6
6
 
7
7
  set -e
@@ -16,7 +16,7 @@ NC='\033[0m'
16
16
  MIN_NODE_VERSION="22.12.0"
17
17
 
18
18
  echo -e "${BLUE}================================================${NC}"
19
- echo -e "${BLUE} OpenClaw 极速一键部署 ${NC}"
19
+ echo -e "${BLUE} OpenClaw 极速一键部署 (本地 pnpm 版) ${NC}"
20
20
  echo -e "${BLUE}================================================${NC}"
21
21
 
22
22
  # ==================== 1. 彻底修复权限污染 ====================
@@ -90,7 +90,7 @@ if ! grep -q ".npm-global/bin" "$CONF_FILE" 2>/dev/null; then
90
90
  echo -e "\n# OpenClaw PATH\nexport PATH=\"\$HOME/.npm-global/bin:\$PATH\"" >> "$CONF_FILE"
91
91
  fi
92
92
 
93
- # ==================== 6. 建立 GitHub 隧道 (针对插件克隆) ====================
93
+ # ==================== 6. 建立 GitHub 隧道(备用,对 pnpm 安装无影响)====================
94
94
  echo -e "${YELLOW}🚀 切换 GitHub 稳定隧道镜像 (moeyy 代理)...${NC}"
95
95
  git config --global url."https://github.moeyy.xyz/https://github.com/".insteadOf "https://github.com/"
96
96
  git config --global http.sslVerify false
@@ -98,53 +98,64 @@ git config --global http.sslVerify false
98
98
  # ==================== 6.5 补全编译依赖与镜像 ====================
99
99
  echo -e "${YELLOW}🛠️ 正在补全编译工具与二进制镜像...${NC}"
100
100
 
101
- # 安装 pnpm (项目 package.json 明确要求使用 pnpm)
101
+ # 安装 pnpm (项目明确要求)
102
102
  npm install -g pnpm --registry=https://registry.npmmirror.com
103
103
 
104
104
  if [[ "$OS" == "Darwin" ]]; then
105
105
  export CFLAGS="-Wno-error=implicit-function-declaration"
106
106
  fi
107
107
 
108
- # ==================== 7. 安装核心依赖与 OpenClaw ====================
109
- echo -e "${YELLOW}📥 正在以 NPM 10 安全模式安装 (跳过脚本校验)...${NC}"
110
-
111
- # 物理清理残留
112
- rm -rf ~/.npm-global/lib/node_modules/openclaw-multi-auto 2>/dev/null || true
108
+ # ==================== 7. 改用 pnpm 本地安装(彻底避免 Git)====================
109
+ echo -e "${YELLOW}📥 正在创建本地运行环境(路径:$HOME/openclaw-runtime)...${NC}"
110
+
111
+ # 创建并进入运行目录
112
+ mkdir -p "$HOME/openclaw-runtime"
113
+ cd "$HOME/openclaw-runtime"
114
+
115
+ # 写入 package.json,包含必要的 overrides(直接从项目配置复制)
116
+ cat > package.json <<'EOF'
117
+ {
118
+ "name": "openclaw-runtime",
119
+ "private": true,
120
+ "packageManager": "pnpm@10.23.0",
121
+ "pnpm": {
122
+ "overrides": {
123
+ "libsignal": "npm:@openclaw-cn/libsignal@2.0.1",
124
+ "@whiskeysockets/libsignal-node": "npm:@openclaw-cn/libsignal@2.0.1"
125
+ }
126
+ }
127
+ }
128
+ EOF
113
129
 
114
130
  # 注入二进制镜像 (环境变量方式)
115
131
  export SHARP_BINARY_HOST="https://npmmirror.com/mirrors/sharp"
116
132
  export SHARP_LIBVIPS_BINARY_HOST="https://npmmirror.com/mirrors/sharp-libvips"
117
133
  export NODEJS_ORG_MIRROR="https://npmmirror.com/mirrors/node"
118
134
 
119
- echo -e "${YELLOW}📥 正在执行全局安装...${NC}"
135
+ echo -e "${YELLOW}📦 正在通过 pnpm 安装核心包...${NC}"
136
+ pnpm add openclaw-multi-auto --registry=https://registry.npmmirror.com
120
137
 
121
- # 使用 --ignore-scripts 避开全局安装时的构建脚本,避免 dist 损坏
122
- npm install -g openclaw-multi-auto@latest \
123
- --registry=https://registry.npmmirror.com \
124
- --unsafe-perm=true \
125
- --ignore-scripts
138
+ # 创建软链接,使 openclaw 命令可直接在终端调用
139
+ ln -sf "$HOME/openclaw-runtime/node_modules/.bin/openclaw" "$NPM_GLOBAL_BIN/openclaw"
126
140
 
127
- # 补救措施:手动确保 bin 链接正确
128
- npm link openclaw-multi-auto --registry=https://registry.npmmirror.com 2>/dev/null || true
141
+ echo -e "${GREEN}✅ 本地安装完成,openclaw 命令已链接到 $NPM_GLOBAL_BIN/openclaw${NC}"
129
142
 
130
- echo -e "${GREEN}✅ 程序包已部署。${NC}"
143
+ # ==================== 8. 设置源码路径环境变量供 create-instance.sh 使用 ====================
144
+ export OPENCLAW_SOURCE_DIR="$HOME/openclaw-runtime/node_modules/openclaw-multi-auto"
131
145
 
132
- # ==================== 8. 检查全局安装包完整性 ====================
133
- GLOBAL_ROOT=$(npm config get prefix)
134
- GLOBAL_PKG_DIR="$GLOBAL_ROOT/lib/node_modules/openclaw-multi-auto"
135
-
136
- if [ ! -d "$GLOBAL_PKG_DIR/dist" ] || [ ! -f "$GLOBAL_PKG_DIR/scripts/create-instance.sh" ]; then
137
- echo -e "${RED}❌ 全局安装的 openclaw-multi-auto 包不完整,请检查网络或重新安装${NC}"
146
+ # 检查源码目录是否存在
147
+ if [ ! -d "$OPENCLAW_SOURCE_DIR" ]; then
148
+ echo -e "${RED}❌ 错误:未找到源码目录 $OPENCLAW_SOURCE_DIR,请检查安装${NC}"
138
149
  exit 1
139
150
  fi
140
- echo -e "${GREEN}✅ 全局包完整性检查通过${NC}"
151
+ echo -e "${GREEN}✅ 源码路径验证通过${NC}"
141
152
 
142
153
  # ==================== 9. 自动化实例初始化 (直接调用 create-instance.sh) ====================
143
- CREATE_SCRIPT="$GLOBAL_PKG_DIR/scripts/create-instance.sh"
154
+ CREATE_SCRIPT="$OPENCLAW_SOURCE_DIR/scripts/create-instance.sh"
144
155
 
145
156
  if [ ! -f "$CREATE_SCRIPT" ]; then
146
- # 兼容本地开发环境路径
147
- CREATE_SCRIPT="$(pwd)/scripts/create-instance.sh"
157
+ # 尝试备用路径
158
+ CREATE_SCRIPT="$(pwd)/node_modules/openclaw-multi-auto/scripts/create-instance.sh"
148
159
  fi
149
160
 
150
161
  echo -e "${YELLOW}🏗️ 正在调用全自动初始化程序...${NC}"
@@ -171,4 +182,4 @@ if [ -d "$INSTANCE_DIR" ]; then
171
182
  echo -e "${GREEN}================================================${NC}"
172
183
  else
173
184
  echo -e "${YELLOW}💡 环境安装完成。但实例未自动创建,请检查 create-instance.sh 执行情况。${NC}"
174
- fi
185
+ fiß
@@ -28,23 +28,25 @@ echo -e "${GREEN}[OK]${NC}"
28
28
  # 1. 注入并校验标准依赖配置
29
29
  echo -ne "${YELLOW}🔄 正在配置重定向至 @openclaw-cn/libsignal... ${NC}"
30
30
 
31
- # 精简版:只做关键校验,不做暴力重写
32
- # 在发布脚本中执行
33
31
  node -e "
34
32
  const fs = require('fs');
35
33
  const p = JSON.parse(fs.readFileSync('package.json'));
36
34
 
37
- // 强制将 baileys 锁定在不带 Git 隐患的版本
38
- p.dependencies['@whiskeysockets/baileys'] = '7.0.0-rc.9';
35
+ // 锁定 baileys 版本(可选)
36
+ p.dependencies['@whiskeysockets/baileys'] = '7.0.0-rc.9';
39
37
 
40
- // 注入双重拦截
38
+ // 添加别名依赖(关键!)
39
+ p.dependencies['@whiskeysockets/libsignal-node'] = 'npm:@openclaw-cn/libsignal@2.0.1';
40
+ p.dependencies['libsignal'] = 'npm:@openclaw-cn/libsignal@2.0.1';
41
+
42
+ // 保留 overrides 仅用于本地构建一致性
41
43
  const redirect = 'npm:@openclaw-cn/libsignal@2.0.1';
42
44
  p.overrides = {
43
45
  'libsignal': redirect,
44
46
  '@whiskeysockets/libsignal-node': redirect
45
47
  };
46
48
  p.pnpm = { ...p.pnpm, overrides: p.overrides };
47
-
49
+
48
50
  fs.writeFileSync('package.json', JSON.stringify(p, null, 2));
49
51
  "
50
52
 
@@ -1,36 +0,0 @@
1
- import "./run-with-concurrency-BgYfgkXT.js";
2
- import "./paths-Cvc9EM8Y.js";
3
- import "./subsystem-B45WV3qB.js";
4
- import "./workspace-U-DyR64O.js";
5
- import "./logger-BfjWMCSD.js";
6
- import "./model-selection-Dna0Gz1k.js";
7
- import "./github-copilot-token-BDioPmd6.js";
8
- import "./legacy-names-DOC03BkU.js";
9
- import "./thinking-BeGmb5k6.js";
10
- import "./tokens-q32vI39c.js";
11
- import "./plugins-4Rj4OjLY.js";
12
- import "./accounts-Tgelvk0C.js";
13
- import { t as deliverOutboundPayloads } from "./deliver-DbdywYJE.js";
14
- import "./accounts-C9HcPI9h.js";
15
- import "./image-ops-BuUnEOE0.js";
16
- import "./pi-embedded-helpers-CLXm10bV.js";
17
- import "./chrome-DxxEKrY7.js";
18
- import "./frontmatter-BkTfEZ93.js";
19
- import "./skills-7ODkHQYp.js";
20
- import "./path-alias-guards-BzvdLvTI.js";
21
- import "./redact-COik8ET1.js";
22
- import "./errors-xt401nuk.js";
23
- import "./fs-safe-CTYUrIgQ.js";
24
- import "./proxy-env-DlmzDx8x.js";
25
- import "./store-D89wDcz9.js";
26
- import "./accounts-C_lW3Ag9.js";
27
- import "./paths-Bkr-BCxW.js";
28
- import "./tool-images-RZdHiZcG.js";
29
- import "./fetch-DuraYswo.js";
30
- import "./fetch-guard-DWr0d00H.js";
31
- import "./ir-B83looB-.js";
32
- import "./fetch-BfuG8uZ8.js";
33
- import "./send-dfu6_rgf.js";
34
- import "./outbound-attachment-DqHlD21U.js";
35
-
36
- export { deliverOutboundPayloads };
@@ -1,26 +0,0 @@
1
- import "./run-with-concurrency-BgYfgkXT.js";
2
- import "./paths-Cvc9EM8Y.js";
3
- import "./subsystem-B45WV3qB.js";
4
- import "./workspace-U-DyR64O.js";
5
- import "./logger-BfjWMCSD.js";
6
- import "./model-selection-Dna0Gz1k.js";
7
- import "./github-copilot-token-BDioPmd6.js";
8
- import "./legacy-names-DOC03BkU.js";
9
- import "./plugins-4Rj4OjLY.js";
10
- import "./accounts-Tgelvk0C.js";
11
- import { h as sendMessageDiscord } from "./send-PE6cwoTe.js";
12
- import "./image-ops-BuUnEOE0.js";
13
- import "./path-alias-guards-BzvdLvTI.js";
14
- import "./redact-COik8ET1.js";
15
- import "./errors-xt401nuk.js";
16
- import "./fs-safe-CTYUrIgQ.js";
17
- import "./proxy-env-DlmzDx8x.js";
18
- import "./fetch-DuraYswo.js";
19
- import "./fetch-guard-DWr0d00H.js";
20
- import "./ir-B83looB-.js";
21
- import "./render-DW7AcFdD.js";
22
- import "./fetch-BfuG8uZ8.js";
23
- import "./channel-activity-BDnjYF7B.js";
24
- import "./tables-mE4cJBN2.js";
25
-
26
- export { sendMessageDiscord };
@@ -1,25 +0,0 @@
1
- import "./run-with-concurrency-BgYfgkXT.js";
2
- import "./paths-Cvc9EM8Y.js";
3
- import "./subsystem-B45WV3qB.js";
4
- import "./workspace-U-DyR64O.js";
5
- import "./logger-BfjWMCSD.js";
6
- import "./model-selection-Dna0Gz1k.js";
7
- import "./github-copilot-token-BDioPmd6.js";
8
- import "./legacy-names-DOC03BkU.js";
9
- import "./plugins-4Rj4OjLY.js";
10
- import "./accounts-Tgelvk0C.js";
11
- import "./image-ops-BuUnEOE0.js";
12
- import "./path-alias-guards-BzvdLvTI.js";
13
- import "./fs-safe-CTYUrIgQ.js";
14
- import "./proxy-env-DlmzDx8x.js";
15
- import "./store-D89wDcz9.js";
16
- import "./accounts-C_lW3Ag9.js";
17
- import "./fetch-DuraYswo.js";
18
- import "./fetch-guard-DWr0d00H.js";
19
- import "./ir-B83looB-.js";
20
- import "./render-DW7AcFdD.js";
21
- import "./tables-mE4cJBN2.js";
22
- import "./outbound-attachment-DqHlD21U.js";
23
- import { t as sendMessageIMessage } from "./send-L7gRiwyd.js";
24
-
25
- export { sendMessageIMessage };