openclaw-multi-auto 1.2.2 → 1.2.5

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 (190) hide show
  1. package/dist/{audio-preflight-5FEeDooz.js → audio-preflight-DDBLZBdb.js} +4 -4
  2. package/dist/{audio-transcription-runner-B-UvoDjZ.js → audio-transcription-runner-DZbSWT9E.js} +1 -1
  3. package/dist/build-info.json +3 -3
  4. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  5. package/dist/{chrome-D45SyhQL.js → chrome-CMU2WVFh.js} +8 -8
  6. package/dist/{deliver-B9cys0EZ.js → deliver-BXVcFIHL.js} +1 -1
  7. package/dist/{deliver-runtime-DhaQJ0pI.js → deliver-runtime-DTaIS-1i.js} +3 -3
  8. package/dist/{deps-send-whatsapp.runtime-DvTL2tzN.js → deps-send-whatsapp.runtime-CIZqFAqb.js} +7 -7
  9. package/dist/extensionAPI.js +6 -6
  10. package/dist/{image-DAOPwVXi.js → image-BCVLo0qw.js} +1 -1
  11. package/dist/{image-runtime-wlCLVvVv.js → image-runtime-DtCKpMPZ.js} +3 -3
  12. package/dist/{pi-embedded-DYU79yGe.js → pi-embedded-CgQ_W6Xs.js} +24 -24
  13. package/dist/{pi-embedded-helpers-uTRAmQ4n.js → pi-embedded-helpers-CwuBTKza.js} +3 -3
  14. package/dist/plugin-sdk/{accounts-DyFCXtHv.js → accounts-BslAlVYS.js} +2 -2
  15. package/dist/plugin-sdk/{accounts-BJAXxY46.js → accounts-C3m65--E.js} +2 -2
  16. package/dist/plugin-sdk/accounts-CJWOBzwB.js +35 -0
  17. package/dist/plugin-sdk/{accounts-C1j7HSL0.js → accounts-CNCCkdEF.js} +3 -3
  18. package/dist/plugin-sdk/accounts-DP1-L-QS.js +288 -0
  19. package/dist/plugin-sdk/accounts-DZhWlEg3.js +46 -0
  20. package/dist/plugin-sdk/{active-listener-CftX5jLD.js → active-listener-B_sLJTXM.js} +2 -2
  21. package/dist/plugin-sdk/active-listener-CkPnMUkB.js +50 -0
  22. package/dist/plugin-sdk/{api-key-rotation-8nyyt1kx.js → api-key-rotation-BRE4X2tf.js} +2 -2
  23. package/dist/plugin-sdk/api-key-rotation-BXnNsojA.js +181 -0
  24. package/dist/plugin-sdk/{audio-preflight-C_aSAPR1.js → audio-preflight-CtO4fFvp.js} +26 -26
  25. package/dist/plugin-sdk/audio-preflight-DGEUDxxR.js +69 -0
  26. package/dist/plugin-sdk/audio-transcription-runner-DkoPNPYt.js +2176 -0
  27. package/dist/plugin-sdk/{audio-transcription-runner-CB53F7_7.js → audio-transcription-runner-DnxvOS1-.js} +11 -11
  28. package/dist/plugin-sdk/{audit-membership-runtime-BXndI4LG.js → audit-membership-runtime-BpfoSk8M.js} +2 -2
  29. package/dist/plugin-sdk/audit-membership-runtime-DSBHHw7o.js +58 -0
  30. package/dist/plugin-sdk/channel-activity-F3d0yUwy.js +94 -0
  31. package/dist/plugin-sdk/{channel-activity-C5y8AgAV.js → channel-activity-WJYxcJ3S.js} +3 -3
  32. package/dist/plugin-sdk/channel-web-QF7EpjeP.js +2256 -0
  33. package/dist/plugin-sdk/{channel-web-DBTRO03V.js → channel-web-dO5k3ubM.js} +18 -18
  34. package/dist/plugin-sdk/chrome-BXoCyCkY.js +2415 -0
  35. package/dist/plugin-sdk/{chrome-f00sZkDX.js → chrome-CjNTuJML.js} +6 -6
  36. package/dist/plugin-sdk/{commands-registry-BJ_NxG2F.js → commands-registry-CdYjoI0i.js} +4 -4
  37. package/dist/plugin-sdk/commands-registry-t7cXBTfN.js +1125 -0
  38. package/dist/plugin-sdk/{common-Cf27Jwxu.js → common-oYc5vPFl.js} +2 -2
  39. package/dist/plugin-sdk/{config-CHQrpx-Q.js → config-B1z-UxQ3.js} +7 -7
  40. package/dist/plugin-sdk/config-BkEnz2Po.js +17913 -0
  41. package/dist/plugin-sdk/deliver-B6AG_l67.js +1694 -0
  42. package/dist/plugin-sdk/{deliver-DNEuetST.js → deliver-D5_6T567.js} +10 -10
  43. package/dist/plugin-sdk/deliver-runtime-C5dgvvga.js +32 -0
  44. package/dist/plugin-sdk/deliver-runtime-D585kJZc.js +32 -0
  45. package/dist/plugin-sdk/deps-send-discord.runtime-Dg4N7PHJ.js +23 -0
  46. package/dist/plugin-sdk/deps-send-discord.runtime-a_OKY2js.js +23 -0
  47. package/dist/plugin-sdk/deps-send-imessage.runtime-0OEwzMQm.js +22 -0
  48. package/dist/plugin-sdk/deps-send-imessage.runtime-Baxy9TD4.js +22 -0
  49. package/dist/plugin-sdk/deps-send-signal.runtime-BM1jRt3G.js +21 -0
  50. package/dist/plugin-sdk/deps-send-signal.runtime-BwXoCrFl.js +21 -0
  51. package/dist/plugin-sdk/deps-send-slack.runtime-1E3BYRdF.js +19 -0
  52. package/dist/plugin-sdk/deps-send-slack.runtime-CLmKjgso.js +19 -0
  53. package/dist/plugin-sdk/deps-send-telegram.runtime-BKfdBKnZ.js +24 -0
  54. package/dist/plugin-sdk/deps-send-telegram.runtime-DNCxIflA.js +24 -0
  55. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BOTwkbx_.js +57 -0
  56. package/dist/plugin-sdk/deps-send-whatsapp.runtime-OLwr-9c8.js +57 -0
  57. package/dist/plugin-sdk/{diagnostic-LYUUmjJ5.js → diagnostic-Bxxu0ig-.js} +2 -2
  58. package/dist/plugin-sdk/diagnostic-CsP-lEkI.js +319 -0
  59. package/dist/plugin-sdk/{errors-CtMWwS2Z.js → errors-B3cHyZZA.js} +1 -1
  60. package/dist/plugin-sdk/errors-DaiAM-yU.js +54 -0
  61. package/dist/plugin-sdk/fetch-guard-DETCcJzQ.js +156 -0
  62. package/dist/plugin-sdk/{fetch-guard-CxYB5Kg6.js → fetch-guard-Dcgod0tg.js} +2 -2
  63. package/dist/plugin-sdk/fs-safe-B8y811FR.js +352 -0
  64. package/dist/plugin-sdk/{fs-safe-DtfhxbrI.js → fs-safe-BaKqI3G4.js} +3 -3
  65. package/dist/plugin-sdk/{image-BwjYjRHx.js → image-B2mQW9Rb.js} +6 -6
  66. package/dist/plugin-sdk/image-DjTEkYZE.js +2310 -0
  67. package/dist/plugin-sdk/image-ops-BSiMpAw4.js +584 -0
  68. package/dist/plugin-sdk/{image-ops-BnZKcbd6.js → image-ops-Cbzr4U9l.js} +2 -2
  69. package/dist/plugin-sdk/image-runtime-6xPp8m5a.js +25 -0
  70. package/dist/plugin-sdk/image-runtime-BFm45j49.js +25 -0
  71. package/dist/plugin-sdk/index.js +50 -50
  72. package/dist/plugin-sdk/ir-DQ7_HbvK.js +1296 -0
  73. package/dist/plugin-sdk/{ir-Z4hX67TJ.js → ir-ZEmrTr4J.js} +7 -7
  74. package/dist/plugin-sdk/local-roots-BUP4YBmR.js +186 -0
  75. package/dist/plugin-sdk/{local-roots-KhjQw04O.js → local-roots-CIPRxA-4.js} +4 -4
  76. package/dist/plugin-sdk/logger-CZY9KIoY.js +1163 -0
  77. package/dist/plugin-sdk/{logger-DHIIvMxj.js → logger-CvPFVOgT.js} +2 -2
  78. package/dist/plugin-sdk/login-BxEKLlCo.js +57 -0
  79. package/dist/plugin-sdk/{login-C31642Ld.js → login-CCTew9bt.js} +4 -4
  80. package/dist/plugin-sdk/{login-qr--y2SG_Ue.js → login-qr-BI3Vi_wJ.js} +5 -5
  81. package/dist/plugin-sdk/login-qr-BQIpMPr9.js +320 -0
  82. package/dist/plugin-sdk/{manager-2UZBMCc7.js → manager-BEoYPn7R.js} +8 -8
  83. package/dist/plugin-sdk/manager-I6KbPihW.js +3917 -0
  84. package/dist/plugin-sdk/manager-runtime-CFfYYWIQ.js +15 -0
  85. package/dist/plugin-sdk/manager-runtime-DxclHQ4U.js +15 -0
  86. package/dist/plugin-sdk/mattermost.js +3 -3
  87. package/dist/plugin-sdk/{outbound-Ba0QUI5h.js → outbound-ByOw1K6W.js} +5 -5
  88. package/dist/plugin-sdk/outbound-NS6UHnB6.js +212 -0
  89. package/dist/plugin-sdk/{outbound-attachment-B1Laso-8.js → outbound-attachment-BzVhxRRw.js} +2 -2
  90. package/dist/plugin-sdk/outbound-attachment-Dy6fyf6H.js +19 -0
  91. package/dist/plugin-sdk/{path-alias-guards-C7Vm5DZ1.js → path-alias-guards-DBjLbIX_.js} +1 -1
  92. package/dist/plugin-sdk/path-alias-guards-sWayacde.js +43 -0
  93. package/dist/plugin-sdk/{paths-DopV9PQG.js → paths-Dpg3qxcl.js} +1 -1
  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-embedded-helpers-DnA_OCzP.js → pi-embedded-helpers-DIxXkGJf.js} +16 -16
  97. package/dist/plugin-sdk/{pi-model-discovery-DdPqXk8f.js → pi-model-discovery-DM_2uFtj.js} +1 -1
  98. package/dist/plugin-sdk/pi-model-discovery-runtime-BuzvkvNR.js +8 -0
  99. package/dist/plugin-sdk/pi-model-discovery-runtime-Do9o-dUd.js +8 -0
  100. package/dist/plugin-sdk/pi-model-discovery-v-XPUOOf.js +134 -0
  101. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D4sFsIks.js +354 -0
  102. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-DxFHiLUE.js → pi-tools.before-tool-call.runtime-w1dqL_ty.js} +4 -4
  103. package/dist/plugin-sdk/{plugins-CbCt4osF.js → plugins-C4USiH29.js} +4 -4
  104. package/dist/plugin-sdk/plugins-DeBZB9l_.js +864 -0
  105. package/dist/plugin-sdk/{proxy-env-C63mMdas.js → proxy-env-ET-rp8eg.js} +1 -1
  106. package/dist/plugin-sdk/{proxy-fetch-Ch95c_Y2.js → proxy-fetch-ChxOhWF4.js} +1 -1
  107. package/dist/plugin-sdk/proxy-fetch-uDXGKG3Z.js +38 -0
  108. package/dist/plugin-sdk/{pw-ai-DpJk62D4.js → pw-ai-CyOt3RDA.js} +9 -9
  109. package/dist/plugin-sdk/pw-ai-DEOmCSSC.js +1938 -0
  110. package/dist/plugin-sdk/{qmd-manager-Ca-iSfEE.js → qmd-manager-BySdoVR7.js} +7 -7
  111. package/dist/plugin-sdk/qmd-manager-HyYKoEch.js +1448 -0
  112. package/dist/plugin-sdk/{query-expansion-B_Xe41Ab.js → query-expansion-C6uS-7lj.js} +4 -4
  113. package/dist/plugin-sdk/query-expansion-CeyKUeDW.js +1011 -0
  114. package/dist/plugin-sdk/{redact-hp9TOulW.js → redact-Bvxt1T_Q.js} +1 -1
  115. package/dist/plugin-sdk/redact-DjVX-1N3.js +319 -0
  116. package/dist/plugin-sdk/{reply-CovBlFea.js → reply-CTCSeQqW.js} +73 -73
  117. package/dist/plugin-sdk/reply-DAo_Jt8K.js +97916 -0
  118. package/dist/plugin-sdk/resolve-outbound-target-B42qgQS9.js +40 -0
  119. package/dist/plugin-sdk/{resolve-outbound-target-BbrHgyUk.js → resolve-outbound-target-Bw8YNANu.js} +2 -2
  120. package/dist/plugin-sdk/run-with-concurrency-Bt_ks0Qa.js +1994 -0
  121. package/dist/plugin-sdk/{run-with-concurrency-BR1DXa8T.js → run-with-concurrency-C_KCHwvf.js} +1 -1
  122. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6W989eF.js +10 -0
  123. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-BxgRDkhc.js +10 -0
  124. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-c_GDFy37.js +19 -0
  125. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-elOqrkfg.js +19 -0
  126. package/dist/plugin-sdk/{send-BvAtLLPl.js → send-BZ6nYFZr.js} +5 -5
  127. package/dist/plugin-sdk/{send-BTztm3D2.js → send-C0w6xP2x.js} +6 -6
  128. package/dist/plugin-sdk/{send-CWJUuG0i.js → send-CFf-1V89.js} +8 -8
  129. package/dist/plugin-sdk/send-CQpMudwO.js +2587 -0
  130. package/dist/plugin-sdk/{send-EcglC4cG.js → send-CY-Qfwia.js} +7 -7
  131. package/dist/plugin-sdk/send-DQHLzVyO.js +414 -0
  132. package/dist/plugin-sdk/send-DTB24bEF.js +3135 -0
  133. package/dist/plugin-sdk/send-DfHadjZ_.js +503 -0
  134. package/dist/plugin-sdk/send-XXlW2iny.js +540 -0
  135. package/dist/plugin-sdk/{send-BXpXBwM_.js → send-qPyNGSe4.js} +13 -13
  136. package/dist/plugin-sdk/session-6TF6MyaC.js +169 -0
  137. package/dist/plugin-sdk/{session-k256LJZT.js → session-COrvpvUQ.js} +3 -3
  138. package/dist/plugin-sdk/signal.js +2 -2
  139. package/dist/plugin-sdk/skill-commands-CkGeFUMl.js +342 -0
  140. package/dist/plugin-sdk/{skill-commands-DoRqLzxm.js → skill-commands-DZqhtmiv.js} +4 -4
  141. package/dist/plugin-sdk/skills-CBkHBYPq.js +1428 -0
  142. package/dist/plugin-sdk/{skills-QudILG6e.js → skills-Cw_vXEJb.js} +6 -6
  143. package/dist/plugin-sdk/slash-commands.runtime-CxliuGaP.js +13 -0
  144. package/dist/plugin-sdk/slash-commands.runtime-D67JLweo.js +13 -0
  145. package/dist/plugin-sdk/slash-dispatch.runtime-DFaeYlJQ.js +52 -0
  146. package/dist/plugin-sdk/slash-dispatch.runtime-DvcpvCJ0.js +52 -0
  147. package/dist/plugin-sdk/slash-skill-commands.runtime-0M0OLCxq.js +16 -0
  148. package/dist/plugin-sdk/slash-skill-commands.runtime-BM1x3azR.js +16 -0
  149. package/dist/plugin-sdk/ssrf-cFtplYtS.js +202 -0
  150. package/dist/plugin-sdk/store-5nyxY3WU.js +81 -0
  151. package/dist/plugin-sdk/{store-BbDQw3g6.js → store-CMHj6IIw.js} +2 -2
  152. package/dist/plugin-sdk/subagent-registry-runtime-1lbDyRzz.js +52 -0
  153. package/dist/plugin-sdk/subagent-registry-runtime-DCtmDwna.js +52 -0
  154. package/dist/plugin-sdk/tables-C47P4GTN.js +55 -0
  155. package/dist/plugin-sdk/{tables-BhvloMKN.js → tables-CSqrHsKL.js} +1 -1
  156. package/dist/plugin-sdk/target-errors-Blia4S69.js +195 -0
  157. package/dist/plugin-sdk/thinking-Bo2eosVa.js +1206 -0
  158. package/dist/plugin-sdk/{thinking-URzkT-3p.js → thinking-DOnsR_A8.js} +7 -7
  159. package/dist/plugin-sdk/{tokens-B1PW5Ayy.js → tokens-BDr0Z9o3.js} +1 -1
  160. package/dist/plugin-sdk/tokens-DgNRBwIg.js +52 -0
  161. package/dist/plugin-sdk/{tool-images-xpqbP6RR.js → tool-images-Gk_-0y2N.js} +2 -2
  162. package/dist/plugin-sdk/tool-images-eEfOVkzf.js +274 -0
  163. package/dist/plugin-sdk/web-BLyT64pW.js +56 -0
  164. package/dist/plugin-sdk/web-CVxZbXyH.js +56 -0
  165. package/dist/plugin-sdk/whatsapp-actions-Bw0H9g-n.js +80 -0
  166. package/dist/plugin-sdk/{whatsapp-actions-RcZ6vp61.js → whatsapp-actions-xcleMoMv.js} +17 -17
  167. package/dist/plugin-sdk/whatsapp.js +50 -50
  168. package/dist/{pw-ai-GcYO6HPE.js → pw-ai-CmphSzHx.js} +1 -1
  169. package/dist/{slash-dispatch.runtime-Dh053pQK.js → slash-dispatch.runtime-131yup2e.js} +6 -6
  170. package/dist/{subagent-registry-runtime-DSi5mnCQ.js → subagent-registry-runtime-DbSf_Je6.js} +6 -6
  171. package/dist/{web-1hWJDzNA.js → web-MR9d7KyB.js} +6 -6
  172. package/package.json +7 -5
  173. package/scripts/create-instance.sh +143 -91
  174. package/dist/plugin-sdk/deliver-runtime-BFdqklJM.js +0 -32
  175. package/dist/plugin-sdk/deps-send-discord.runtime-DuqpYwU0.js +0 -23
  176. package/dist/plugin-sdk/deps-send-imessage.runtime-CZ2rS8Lb.js +0 -22
  177. package/dist/plugin-sdk/deps-send-signal.runtime-BdqiWhIh.js +0 -21
  178. package/dist/plugin-sdk/deps-send-slack.runtime-04s36qiC.js +0 -19
  179. package/dist/plugin-sdk/deps-send-telegram.runtime-LE5tkPvr.js +0 -24
  180. package/dist/plugin-sdk/deps-send-whatsapp.runtime-Bz57lobC.js +0 -57
  181. package/dist/plugin-sdk/image-runtime-B8twoubs.js +0 -25
  182. package/dist/plugin-sdk/manager-runtime-CMeLwose.js +0 -15
  183. package/dist/plugin-sdk/pi-model-discovery-runtime-D8CJhtJY.js +0 -8
  184. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-SkO91TZH.js +0 -10
  185. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-B0VWK5hm.js +0 -19
  186. package/dist/plugin-sdk/slash-commands.runtime-DS6vCNSL.js +0 -13
  187. package/dist/plugin-sdk/slash-dispatch.runtime-BXrxb2wd.js +0 -52
  188. package/dist/plugin-sdk/slash-skill-commands.runtime-Bd6qQ2oT.js +0 -16
  189. package/dist/plugin-sdk/subagent-registry-runtime-1uwQbuXj.js +0 -52
  190. package/dist/plugin-sdk/web-B74yhL2N.js +0 -56
@@ -1,58 +1,58 @@
1
- import { at as DEFAULT_ACCOUNT_ID, ot as normalizeAccountId } from "./run-with-concurrency-BR1DXa8T.js";
2
- import { Tr as formatCliCommand, c as WhatsAppConfigSchema, or as getChatChannelMeta } from "./config-CHQrpx-Q.js";
3
- import { f as isRecord, g as pathExists, h as normalizeE164 } from "./logger-DHIIvMxj.js";
1
+ import { at as DEFAULT_ACCOUNT_ID, ot as normalizeAccountId } from "./run-with-concurrency-C_KCHwvf.js";
2
+ import { Tr as formatCliCommand, c as WhatsAppConfigSchema, or as getChatChannelMeta } from "./config-B1z-UxQ3.js";
3
+ import { f as isRecord, g as pathExists, h as normalizeE164 } from "./logger-CvPFVOgT.js";
4
4
  import "./paths-0d8fBoC4.js";
5
- import { a as resolveWhatsAppAuthDir, i as resolveWhatsAppAccount, n as listWhatsAppAccountIds, r as resolveDefaultWhatsAppAccountId } from "./accounts-C1j7HSL0.js";
6
- import { a as listWhatsAppDirectoryPeersFromConfig, i as listWhatsAppDirectoryGroupsFromConfig } from "./plugins-CbCt4osF.js";
7
- import { D as resolveWhatsAppConfigDefaultTo, E as resolveWhatsAppConfigAllowFrom, O as looksLikeWhatsAppTargetId, T as formatWhatsAppConfigAllowFromEntries, _ as resolveWhatsAppGroupToolPolicy, g as resolveWhatsAppGroupRequireMention, h as resolveWhatsAppMentionStripPatterns, k as normalizeWhatsAppMessagingTarget, m as resolveWhatsAppGroupIntroHint } from "./thinking-URzkT-3p.js";
8
- import "./accounts-DyFCXtHv.js";
9
- import "./send-BTztm3D2.js";
10
- import { f as readStringParam, r as createActionGate } from "./common-Cf27Jwxu.js";
11
- import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BbrHgyUk.js";
12
- import { U as resolveAllowlistProviderRuntimeGroupPolicy, W as resolveDefaultGroupPolicy, n as formatDocsLink } from "./reply-CovBlFea.js";
13
- import "./image-ops-BnZKcbd6.js";
14
- import "./pi-embedded-helpers-DnA_OCzP.js";
15
- import "./accounts-BJAXxY46.js";
16
- import "./send-CWJUuG0i.js";
5
+ import { a as resolveWhatsAppAuthDir, i as resolveWhatsAppAccount, n as listWhatsAppAccountIds, r as resolveDefaultWhatsAppAccountId } from "./accounts-CNCCkdEF.js";
6
+ import { a as listWhatsAppDirectoryPeersFromConfig, i as listWhatsAppDirectoryGroupsFromConfig } from "./plugins-C4USiH29.js";
7
+ import { D as resolveWhatsAppConfigDefaultTo, E as resolveWhatsAppConfigAllowFrom, O as looksLikeWhatsAppTargetId, T as formatWhatsAppConfigAllowFromEntries, _ as resolveWhatsAppGroupToolPolicy, g as resolveWhatsAppGroupRequireMention, h as resolveWhatsAppMentionStripPatterns, k as normalizeWhatsAppMessagingTarget, m as resolveWhatsAppGroupIntroHint } from "./thinking-DOnsR_A8.js";
8
+ import "./accounts-BslAlVYS.js";
9
+ import "./send-C0w6xP2x.js";
10
+ import { f as readStringParam, r as createActionGate } from "./common-oYc5vPFl.js";
11
+ import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-Bw8YNANu.js";
12
+ import { U as resolveAllowlistProviderRuntimeGroupPolicy, W as resolveDefaultGroupPolicy, n as formatDocsLink } from "./reply-CTCSeQqW.js";
13
+ import "./image-ops-Cbzr4U9l.js";
14
+ import "./pi-embedded-helpers-DIxXkGJf.js";
15
+ import "./accounts-C3m65--E.js";
16
+ import "./send-CFf-1V89.js";
17
17
  import "./github-copilot-token-CKKBybuX.js";
18
- import "./paths-DopV9PQG.js";
19
- import "./send-BXpXBwM_.js";
20
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DBTRO03V.js";
21
- import "./tokens-B1PW5Ayy.js";
22
- import "./audio-transcription-runner-CB53F7_7.js";
23
- import "./image-BwjYjRHx.js";
24
- import "./chrome-f00sZkDX.js";
25
- import "./skills-QudILG6e.js";
26
- import "./path-alias-guards-C7Vm5DZ1.js";
27
- import "./redact-hp9TOulW.js";
28
- import "./errors-CtMWwS2Z.js";
29
- import "./fs-safe-DtfhxbrI.js";
30
- import "./proxy-env-C63mMdas.js";
31
- import "./store-BbDQw3g6.js";
32
- import "./tool-images-xpqbP6RR.js";
33
- import "./fetch-guard-CxYB5Kg6.js";
34
- import "./api-key-rotation-8nyyt1kx.js";
35
- import "./local-roots-KhjQw04O.js";
36
- import "./proxy-fetch-Ch95c_Y2.js";
37
- import "./deliver-DNEuetST.js";
38
- import "./commands-registry-BJ_NxG2F.js";
39
- import "./skill-commands-DoRqLzxm.js";
18
+ import "./paths-Dpg3qxcl.js";
19
+ import "./send-qPyNGSe4.js";
20
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-dO5k3ubM.js";
21
+ import "./tokens-BDr0Z9o3.js";
22
+ import "./audio-transcription-runner-DnxvOS1-.js";
23
+ import "./image-B2mQW9Rb.js";
24
+ import "./chrome-CjNTuJML.js";
25
+ import "./skills-Cw_vXEJb.js";
26
+ import "./path-alias-guards-sWayacde.js";
27
+ import "./redact-Bvxt1T_Q.js";
28
+ import "./errors-B3cHyZZA.js";
29
+ import "./fs-safe-BaKqI3G4.js";
30
+ import "./proxy-env-ET-rp8eg.js";
31
+ import "./store-CMHj6IIw.js";
32
+ import "./tool-images-eEfOVkzf.js";
33
+ import "./fetch-guard-Dcgod0tg.js";
34
+ import "./api-key-rotation-BXnNsojA.js";
35
+ import "./local-roots-CIPRxA-4.js";
36
+ import "./proxy-fetch-uDXGKG3Z.js";
37
+ import "./deliver-D5_6T567.js";
38
+ import "./commands-registry-CdYjoI0i.js";
39
+ import "./skill-commands-DZqhtmiv.js";
40
40
  import "./fetch-O45GieZo.js";
41
- import "./diagnostic-LYUUmjJ5.js";
42
- import "./pi-model-discovery-DdPqXk8f.js";
43
- import "./ir-Z4hX67TJ.js";
41
+ import "./diagnostic-Bxxu0ig-.js";
42
+ import "./pi-model-discovery-DM_2uFtj.js";
43
+ import "./ir-ZEmrTr4J.js";
44
44
  import "./render-95l30zcf.js";
45
- import "./send-BvAtLLPl.js";
46
- import "./outbound-attachment-B1Laso-8.js";
47
- import "./send-EcglC4cG.js";
48
- import "./channel-activity-C5y8AgAV.js";
49
- import "./tables-BhvloMKN.js";
45
+ import "./send-BZ6nYFZr.js";
46
+ import "./outbound-attachment-BzVhxRRw.js";
47
+ import "./send-CY-Qfwia.js";
48
+ import "./channel-activity-WJYxcJ3S.js";
49
+ import "./tables-CSqrHsKL.js";
50
50
  import "./proxy-BOZmkV9K.js";
51
- import "./manager-2UZBMCc7.js";
52
- import "./query-expansion-B_Xe41Ab.js";
53
- import "./outbound-Ba0QUI5h.js";
54
- import "./session-k256LJZT.js";
55
- import { t as loginWeb } from "./login-C31642Ld.js";
51
+ import "./manager-BEoYPn7R.js";
52
+ import "./query-expansion-C6uS-7lj.js";
53
+ import "./outbound-ByOw1K6W.js";
54
+ import "./session-COrvpvUQ.js";
55
+ import { t as loginWeb } from "./login-CCTew9bt.js";
56
56
  import path from "node:path";
57
57
 
58
58
  //#region src/plugins/config-schema.ts
@@ -3,7 +3,7 @@ import "./paths-CaA28K0s.js";
3
3
  import { Y as resolvePreferredOpenClawTmpDir } from "./logger-DLNJPYG_.js";
4
4
  import { pr as formatCliCommand } from "./model-selection-CGn4LwFd.js";
5
5
  import "./github-copilot-token-BWXANsA6.js";
6
- import { F as resolveStrictExistingPathsWithinRoot, L as DEFAULT_FILL_FIELD_TYPE, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, S as withCdpSocket, _ as withBrowserNavigationPolicy, d as formatAriaSnapshot, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, k as withNoProxyForCdpUrl, t as getChromeWebSocketUrl, v as appendCdpPath, x as getHeadersWithAuth, y as fetchJson } from "./chrome-D45SyhQL.js";
6
+ import { F as resolveStrictExistingPathsWithinRoot, L as DEFAULT_FILL_FIELD_TYPE, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, S as withCdpSocket, _ as withBrowserNavigationPolicy, d as formatAriaSnapshot, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, k as withNoProxyForCdpUrl, t as getChromeWebSocketUrl, v as appendCdpPath, x as getHeadersWithAuth, y as fetchJson } from "./chrome-CMU2WVFh.js";
7
7
  import "./path-alias-guards-B6LFrksx.js";
8
8
  import "./redact-DBcTOmRL.js";
9
9
  import { r as formatErrorMessage } from "./errors-BCQYh_Qb.js";
@@ -2,7 +2,7 @@ import "./run-with-concurrency-CwEpSWUB.js";
2
2
  import "./paths-CaA28K0s.js";
3
3
  import "./logger-DLNJPYG_.js";
4
4
  import "./model-selection-CGn4LwFd.js";
5
- import { D as resolveAgentRoute, P as finalizeInboundContext, a as createReplyPrefixOptions, b as dispatchReplyWithDispatcher, n as recordInboundSessionMetaSafe, r as deliverSlackSlashReplies } from "./pi-embedded-DYU79yGe.js";
5
+ import { D as resolveAgentRoute, P as finalizeInboundContext, a as createReplyPrefixOptions, b as dispatchReplyWithDispatcher, n as recordInboundSessionMetaSafe, r as deliverSlackSlashReplies } from "./pi-embedded-CgQ_W6Xs.js";
6
6
  import "./github-copilot-token-BWXANsA6.js";
7
7
  import "./thinking-BnMXBaoj.js";
8
8
  import "./tokens-J9QxdfW4.js";
@@ -10,14 +10,14 @@ import "./plugins-D32XloiU.js";
10
10
  import "./accounts-CSwQwmi-.js";
11
11
  import "./send-gxHdLxHb.js";
12
12
  import "./send-coHgGFcr.js";
13
- import "./deliver-B9cys0EZ.js";
13
+ import "./deliver-BXVcFIHL.js";
14
14
  import "./diagnostic-B6424ZSe.js";
15
15
  import "./accounts-D0b225eZ.js";
16
16
  import "./image-ops-Cdb65Ugz.js";
17
17
  import "./send-DEuQpTH0.js";
18
18
  import "./pi-model-discovery-BKJwRHhi.js";
19
- import { kt as resolveConversationLabel } from "./pi-embedded-helpers-uTRAmQ4n.js";
20
- import "./chrome-D45SyhQL.js";
19
+ import { kt as resolveConversationLabel } from "./pi-embedded-helpers-CwuBTKza.js";
20
+ import "./chrome-CMU2WVFh.js";
21
21
  import "./skills-DhJjHaBz.js";
22
22
  import "./path-alias-guards-B6LFrksx.js";
23
23
  import "./redact-DBcTOmRL.js";
@@ -28,8 +28,8 @@ import "./store-CSSX03Wl.js";
28
28
  import "./accounts-CTAmvqQt.js";
29
29
  import "./paths-BgCTr3-D.js";
30
30
  import "./tool-images-DpgWhBLv.js";
31
- import "./image-DAOPwVXi.js";
32
- import "./audio-transcription-runner-B-UvoDjZ.js";
31
+ import "./image-BCVLo0qw.js";
32
+ import "./audio-transcription-runner-DZbSWT9E.js";
33
33
  import "./fetch-Bz-lmDr4.js";
34
34
  import "./fetch-guard-BiA86VyP.js";
35
35
  import "./api-key-rotation-xR-rxS2R.js";
@@ -2,7 +2,7 @@ import "./run-with-concurrency-CwEpSWUB.js";
2
2
  import "./paths-CaA28K0s.js";
3
3
  import "./logger-DLNJPYG_.js";
4
4
  import "./model-selection-CGn4LwFd.js";
5
- import { B as countPendingDescendantRuns, H as isSubagentSessionRunActive, U as resolveRequesterForChildSession, V as countPendingDescendantRunsExcludingRun, z as countActiveDescendantRuns } from "./pi-embedded-DYU79yGe.js";
5
+ import { B as countPendingDescendantRuns, H as isSubagentSessionRunActive, U as resolveRequesterForChildSession, V as countPendingDescendantRunsExcludingRun, z as countActiveDescendantRuns } from "./pi-embedded-CgQ_W6Xs.js";
6
6
  import "./github-copilot-token-BWXANsA6.js";
7
7
  import "./thinking-BnMXBaoj.js";
8
8
  import "./tokens-J9QxdfW4.js";
@@ -10,14 +10,14 @@ import "./plugins-D32XloiU.js";
10
10
  import "./accounts-CSwQwmi-.js";
11
11
  import "./send-gxHdLxHb.js";
12
12
  import "./send-coHgGFcr.js";
13
- import "./deliver-B9cys0EZ.js";
13
+ import "./deliver-BXVcFIHL.js";
14
14
  import "./diagnostic-B6424ZSe.js";
15
15
  import "./accounts-D0b225eZ.js";
16
16
  import "./image-ops-Cdb65Ugz.js";
17
17
  import "./send-DEuQpTH0.js";
18
18
  import "./pi-model-discovery-BKJwRHhi.js";
19
- import "./pi-embedded-helpers-uTRAmQ4n.js";
20
- import "./chrome-D45SyhQL.js";
19
+ import "./pi-embedded-helpers-CwuBTKza.js";
20
+ import "./chrome-CMU2WVFh.js";
21
21
  import "./skills-DhJjHaBz.js";
22
22
  import "./path-alias-guards-B6LFrksx.js";
23
23
  import "./redact-DBcTOmRL.js";
@@ -28,8 +28,8 @@ import "./store-CSSX03Wl.js";
28
28
  import "./accounts-CTAmvqQt.js";
29
29
  import "./paths-BgCTr3-D.js";
30
30
  import "./tool-images-DpgWhBLv.js";
31
- import "./image-DAOPwVXi.js";
32
- import "./audio-transcription-runner-B-UvoDjZ.js";
31
+ import "./image-BCVLo0qw.js";
32
+ import "./audio-transcription-runner-DZbSWT9E.js";
33
33
  import "./fetch-Bz-lmDr4.js";
34
34
  import "./fetch-guard-BiA86VyP.js";
35
35
  import "./api-key-rotation-xR-rxS2R.js";
@@ -2,7 +2,7 @@ import { G as buildAgentMainSessionKey, W as DEFAULT_MAIN_KEY, X as normalizeAge
2
2
  import "./paths-CaA28K0s.js";
3
3
  import { C as sleep, G as getChildLogger, L as logVerbose, O as createSubsystemLogger, T as toWhatsappJid, h as normalizeE164, j as defaultRuntime, m as jidToE164, o as clamp, p as isSelfChatMode, v as resolveJidToE164, z as shouldLogVerbose } from "./logger-DLNJPYG_.js";
4
4
  import { Y as loadConfig, pr as formatCliCommand } from "./model-selection-CGn4LwFd.js";
5
- import { A as computeBackoff, C as formatInboundEnvelope, D as resolveAgentRoute, E as buildAgentSessionKey, F as hasControlCommand, I as shouldComputeCommandAuthorized, K as resolveIdentityNamePrefix, L as buildMentionRegexes, M as formatDurationPrecise, N as enqueueSystemEvent, O as normalizeGroupActivation, P as finalizeInboundContext, R as normalizeMentionText, S as resolveInboundDebounceMs, T as getReplyFromConfig, _ as resolvePinnedMainDmOwnerFromAllowlist, a as createReplyPrefixOptions, c as DEFAULT_GROUP_HISTORY_LIMIT, d as resolveDefaultGroupPolicy, f as resolveOpenProviderRuntimeGroupPolicy, g as resolveDmGroupAccessWithLists, h as resolveDmGroupAccessWithCommandGate, i as resolveInboundSessionEnvelopeContext, j as sleepWithAbort, k as parseActivationCommand, l as buildHistoryContextFromEntries, m as readStoreAllowFromForDmPolicy, o as buildPairingReply, p as warnMissingProviderGroupPolicyFallbackOnce, q as resolveMessagePrefix, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as shouldAckReactionForWhatsApp, w as createDedupeCache, x as createInboundDebouncer, y as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-DYU79yGe.js";
5
+ import { A as computeBackoff, C as formatInboundEnvelope, D as resolveAgentRoute, E as buildAgentSessionKey, F as hasControlCommand, I as shouldComputeCommandAuthorized, K as resolveIdentityNamePrefix, L as buildMentionRegexes, M as formatDurationPrecise, N as enqueueSystemEvent, O as normalizeGroupActivation, P as finalizeInboundContext, R as normalizeMentionText, S as resolveInboundDebounceMs, T as getReplyFromConfig, _ as resolvePinnedMainDmOwnerFromAllowlist, a as createReplyPrefixOptions, c as DEFAULT_GROUP_HISTORY_LIMIT, d as resolveDefaultGroupPolicy, f as resolveOpenProviderRuntimeGroupPolicy, g as resolveDmGroupAccessWithLists, h as resolveDmGroupAccessWithCommandGate, i as resolveInboundSessionEnvelopeContext, j as sleepWithAbort, k as parseActivationCommand, l as buildHistoryContextFromEntries, m as readStoreAllowFromForDmPolicy, o as buildPairingReply, p as warnMissingProviderGroupPolicyFallbackOnce, q as resolveMessagePrefix, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as shouldAckReactionForWhatsApp, w as createDedupeCache, x as createInboundDebouncer, y as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-CgQ_W6Xs.js";
6
6
  import "./github-copilot-token-BWXANsA6.js";
7
7
  import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy } from "./thinking-BnMXBaoj.js";
8
8
  import "./tokens-J9QxdfW4.js";
@@ -10,14 +10,14 @@ import "./plugins-D32XloiU.js";
10
10
  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-CSwQwmi-.js";
11
11
  import "./send-gxHdLxHb.js";
12
12
  import "./send-coHgGFcr.js";
13
- import "./deliver-B9cys0EZ.js";
13
+ import "./deliver-BXVcFIHL.js";
14
14
  import "./diagnostic-B6424ZSe.js";
15
15
  import "./accounts-D0b225eZ.js";
16
16
  import "./image-ops-Cdb65Ugz.js";
17
17
  import { X as toLocationContext, Y as formatLocationText, et as upsertChannelPairingRequest } from "./send-DEuQpTH0.js";
18
18
  import "./pi-model-discovery-BKJwRHhi.js";
19
- import { At as resolveGroupSessionKey, J as updateLastRoute, K as recordSessionMetaFromInbound, W as loadSessionStore } from "./pi-embedded-helpers-uTRAmQ4n.js";
20
- import "./chrome-D45SyhQL.js";
19
+ import { At as resolveGroupSessionKey, J as updateLastRoute, K as recordSessionMetaFromInbound, W as loadSessionStore } from "./pi-embedded-helpers-CwuBTKza.js";
20
+ import "./chrome-CMU2WVFh.js";
21
21
  import "./skills-DhJjHaBz.js";
22
22
  import "./path-alias-guards-B6LFrksx.js";
23
23
  import "./redact-DBcTOmRL.js";
@@ -28,8 +28,8 @@ import { i as saveMediaBuffer } from "./store-CSSX03Wl.js";
28
28
  import "./accounts-CTAmvqQt.js";
29
29
  import { s as resolveStorePath } from "./paths-BgCTr3-D.js";
30
30
  import "./tool-images-DpgWhBLv.js";
31
- import "./image-DAOPwVXi.js";
32
- import { h as registerUnhandledRejectionHandler } from "./audio-transcription-runner-B-UvoDjZ.js";
31
+ import "./image-BCVLo0qw.js";
32
+ import { h as registerUnhandledRejectionHandler } from "./audio-transcription-runner-DZbSWT9E.js";
33
33
  import { i as getAgentScopedMediaLocalRoots } from "./fetch-Bz-lmDr4.js";
34
34
  import "./fetch-guard-BiA86VyP.js";
35
35
  import "./api-key-rotation-xR-rxS2R.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-multi-auto",
3
- "version": "1.2.2",
3
+ "version": "1.2.5",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/openclaw/openclaw#readme",
@@ -31,7 +31,8 @@
31
31
  "docs",
32
32
  "extensions",
33
33
  "skills",
34
- "src/canvas-host/a2ui/a2ui.bundle.js"
34
+ "src/canvas-host/a2ui/a2ui.bundle.js",
35
+ "/Users/zhoujinyu/projects/libsignal-node"
35
36
  ],
36
37
  "type": "module",
37
38
  "main": "dist/index.js",
@@ -289,7 +290,6 @@
289
290
  "openclaw:rpc": "node scripts/run-node.mjs agent --mode rpc --json",
290
291
  "plugins:sync": "node --import tsx scripts/sync-plugin-versions.ts",
291
292
  "postinstall": "node -e \"try{require('./dist/index.js')}catch(e){}\" || true",
292
- "prepack": "node -e \"const {execSync} = require('child_process'); try { execSync('git config --global url.\\\"https://github.moeyy.xyz/https://github.com/\\\".insteadOf \\\"https://github.com/\\\"'); console.log('✅ GitHub Publish Tunnel Set'); } catch(e){}\"",
293
293
  "prepublishOnly": "echo 'Skipping build in prepublishOnly, already done in publish script'",
294
294
  "protocol:check": "pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/OpenClawProtocol/GatewayModels.swift",
295
295
  "protocol:gen": "node --import tsx scripts/protocol-gen.ts",
@@ -417,7 +417,8 @@
417
417
  },
418
418
  "bundledDependencies": [
419
419
  "@lydell/node-pty",
420
- "@whiskeysockets/baileys"
420
+ "@whiskeysockets/baileys",
421
+ "libsignal"
421
422
  ],
422
423
  "engines": {
423
424
  "node": ">=22.12.0"
@@ -436,10 +437,11 @@
436
437
  "@sinclair/typebox": "0.34.48",
437
438
  "tar": "7.5.9",
438
439
  "tough-cookie": "4.1.3",
439
- "libsignal-node": "file:/Users/zhoujinyu/projects/libsignal-node",
440
+ "@whiskeysockets/libsignal-node": "file:/Users/zhoujinyu/projects/libsignal-node",
440
441
  "@whiskeysockets/baileys>libsignal-node": "file:/Users/zhoujinyu/projects/libsignal-node"
441
442
  },
442
443
  "onlyBuiltDependencies": [
444
+ "@whiskeysockets/libsignal-node",
443
445
  "@lydell/node-pty",
444
446
  "@matrix-org/matrix-sdk-crypto-nodejs",
445
447
  "@napi-rs/canvas",
@@ -17,11 +17,87 @@ NC='\033[0m'
17
17
  GLOBAL_PREFIX=$(npm config get prefix)
18
18
  INSTANCES_BASE=$(eval echo "$HOME/openclaws")
19
19
  DEFAULT_SOURCE="${GLOBAL_PREFIX}/lib/node_modules/openclaw-multi-auto"
20
- [ -d "$HOME/projects/openclaw" ] && DEFAULT_SOURCE=$(eval echo "$HOME/projects/openclaw")
20
+ #[ -d "$HOME/projects/openclaw" ] && DEFAULT_SOURCE=$(eval echo "$HOME/projects/openclaw")
21
21
 
22
22
  SOURCE_CODE="$DEFAULT_SOURCE"
23
+ echo "SOURCE_CODE = $SOURCE_CODE"
23
24
 
24
- # --- 2. 参数与交互式获取 ---
25
+ INSTANCE_DIR="$INSTANCES_BASE/${INSTANCE_NAME}"
26
+ DIST_DIR="${INSTANCE_DIR}/dist"
27
+
28
+ # 清理旧残留,防止隔离失效
29
+ if [ -d "$INSTANCE_DIR" ]; then
30
+ echo -e "${YELLOW}⚠️ 清理旧实例目录...${NC}"
31
+ rm -rf "$INSTANCE_DIR"
32
+ fi
33
+ # 删除可能存在的父目录 node_modules 和 workspace 文件
34
+ [ -d "${INSTANCES_BASE}/node_modules" ] && rm -rf "${INSTANCES_BASE}/node_modules"
35
+ [ -f "${INSTANCES_BASE}/pnpm-workspace.yaml" ] && rm -f "${INSTANCES_BASE}/pnpm-workspace.yaml"
36
+
37
+ echo -e "${BLUE}🏗️ 正在深度初始化实例: ${INSTANCE_NAME} (端口 ${PORT})${NC}"
38
+
39
+ # --- 2. 完整目录结构创建 ---
40
+ mkdir -p "${INSTANCE_DIR}/config" "${INSTANCE_DIR}/tmp" "${INSTANCE_DIR}/workspace"
41
+ mkdir -p "${INSTANCE_DIR}/workspace/memory"
42
+ mkdir -p "${INSTANCE_DIR}/agents/main/agent/sessions"
43
+ mkdir -p "${INSTANCE_DIR}/credentials" "${INSTANCE_DIR}/media"
44
+
45
+ # --- 3 动态提取母本版本号 ---
46
+ echo -e "${BLUE}🔍 正在提取母本版本信息...${NC}"
47
+ PKG_PATH="${SOURCE_CODE}/package.json"
48
+ if [ -f "$PKG_PATH" ]; then
49
+ CURRENT_VERSION=$(node -p "require('$PKG_PATH').version")
50
+ echo -e "${GREEN}✅ 检测到母本版本: v${CURRENT_VERSION}${NC}"
51
+ else
52
+ CURRENT_VERSION="2026.3.9"
53
+ echo -e "${YELLOW}⚠️ 未找到 package.json,使用兜底版本: ${CURRENT_VERSION}${NC}"
54
+ fi
55
+
56
+ # --- 4. 核心代码同步 (rsync 对齐并增加预检) ---
57
+ echo -e "${BLUE}🔄 分发代码产物 (物理对齐)...${NC}"
58
+ rm -rf "$DIST_DIR" && mkdir -p "$DIST_DIR"
59
+ if [ -d "${SOURCE_CODE}/dist" ]; then
60
+ cp -r "${SOURCE_CODE}/dist/." "${DIST_DIR}/"
61
+ echo "cp exit code: $?"
62
+
63
+ # 检查所有被引用的 utils 文件是否存在
64
+ for chunk in $(grep -oE "utils-[A-Za-z0-9]+\.js" "${DIST_DIR}/index.js" 2>/dev/null | sort -u); do
65
+ if [ ! -f "${DIST_DIR}/${chunk}" ]; then
66
+ echo -e "${RED}❌ 致命错误: dist 缺失关键模块 ${chunk}${NC}"
67
+ echo -e "${YELLOW}请在源码端执行: rm -rf dist && pnpm build && npm publish${NC}"
68
+ exit 1
69
+ fi
70
+ done
71
+ else
72
+ echo -e "${RED}❌ 错误: 母本 dist 不存在${NC}"; exit 1
73
+ fi
74
+
75
+ cp "${SOURCE_CODE}/package.json" "${INSTANCE_DIR}/package.json"
76
+ [ -f "${SOURCE_CODE}/pnpm-lock.yaml" ] && cp "${SOURCE_CODE}/pnpm-lock.yaml" "${INSTANCE_DIR}/pnpm-lock.yaml"
77
+
78
+ export SHARP_BINARY_HOST="https://npmmirror.com/mirrors/sharp"
79
+ export SHARP_LIBVIPS_BINARY_HOST="https://npmmirror.com/mirrors/sharp-libvips"
80
+
81
+ cd "${INSTANCE_DIR}"
82
+ echo -e "${YELLOW}📍 安装路径确认: $(pwd)${NC}"
83
+
84
+ # 检查并移除可能影响 workspace 的文件
85
+ if [ -f "${INSTANCES_BASE}/pnpm-workspace.yaml" ]; then
86
+ echo -e "${YELLOW}⚠️ 检测到 ${INSTANCES_BASE}/pnpm-workspace.yaml,临时重命名以避免干扰${NC}"
87
+ mv "${INSTANCES_BASE}/pnpm-workspace.yaml" "${INSTANCES_BASE}/pnpm-workspace.yaml.bak.$(date +%s)"
88
+ fi
89
+
90
+ # 强制安装依赖,添加 --ignore-workspace 避免 workspace 提升
91
+ pnpm install --shamefully-hoist --ignore-workspace --registry=https://registry.npmmirror.com --no-frozen-lockfile
92
+
93
+ # 验证 node_modules 是否生成
94
+ if [ ! -d "node_modules" ]; then
95
+ echo -e "${RED}❌ 严重错误: pnpm install 完成但 node_modules 目录未创建!${NC}"
96
+ exit 1
97
+ fi
98
+ echo -e "${GREEN}✅ 依赖安装成功,node_modules 已生成在实例目录${NC}"
99
+
100
+ # --- 5. 参数与交互式获取 ---
25
101
  INSTANCE_NAME="${1:-}"
26
102
  if [ -z "$INSTANCE_NAME" ]; then
27
103
  read -p "请输入实例名称 (默认: yunwei): " INPUT_NAME
@@ -55,37 +131,7 @@ if [ -z "$API_KEY" ]; then
55
131
  read -p "请输入您的 ${MODEL_PROVIDER} API Key: " API_KEY
56
132
  fi
57
133
 
58
- INSTANCE_DIR="$INSTANCES_BASE/${INSTANCE_NAME}"
59
- DIST_DIR="${INSTANCE_DIR}/dist"
60
-
61
- # 清理旧残留,防止隔离失效
62
- if [ -d "$INSTANCE_DIR" ]; then
63
- echo -e "${YELLOW}⚠️ 清理旧实例目录...${NC}"
64
- rm -rf "$INSTANCE_DIR"
65
- fi
66
- # 删除可能存在的父目录 node_modules 和 workspace 文件
67
- [ -d "${INSTANCES_BASE}/node_modules" ] && rm -rf "${INSTANCES_BASE}/node_modules"
68
- [ -f "${INSTANCES_BASE}/pnpm-workspace.yaml" ] && rm -f "${INSTANCES_BASE}/pnpm-workspace.yaml"
69
-
70
- echo -e "${BLUE}🏗️ 正在深度初始化实例: ${INSTANCE_NAME} (端口 ${PORT})${NC}"
71
-
72
- # --- 3. 完整目录结构创建 ---
73
- mkdir -p "${INSTANCE_DIR}/config" "${INSTANCE_DIR}/tmp" "${INSTANCE_DIR}/workspace"
74
- mkdir -p "${INSTANCE_DIR}/agents/main/agent/sessions"
75
- mkdir -p "${INSTANCE_DIR}/credentials" "${INSTANCE_DIR}/media"
76
-
77
- # --- 3.5 动态提取母本版本号 ---
78
- echo -e "${BLUE}🔍 正在提取母本版本信息...${NC}"
79
- PKG_PATH="${SOURCE_CODE}/package.json"
80
- if [ -f "$PKG_PATH" ]; then
81
- CURRENT_VERSION=$(node -p "require('$PKG_PATH').version")
82
- echo -e "${GREEN}✅ 检测到母本版本: v${CURRENT_VERSION}${NC}"
83
- else
84
- CURRENT_VERSION="2026.3.9"
85
- echo -e "${YELLOW}⚠️ 未找到 package.json,使用兜底版本: ${CURRENT_VERSION}${NC}"
86
- fi
87
-
88
- # --- 4. 生成深度配置文件 ---
134
+ # --- 6. 生成深度配置文件 ---
89
135
  DEFAULT_MODEL="zai/glm-5"
90
136
  ZAI_KEY=""; DS_KEY=""; MX_KEY=""; KIMI_KEY=""; QWEN_KEY=""
91
137
 
@@ -103,7 +149,7 @@ cat > "${INSTANCE_DIR}/config/openclaw.json" << EOF
103
149
  "lastTouchedVersion": "${CURRENT_VERSION}",
104
150
  "lastTouchedAt": "$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ")"
105
151
  },
106
- "llm": {
152
+ "models": {
107
153
  "providers": {
108
154
  "zai": {
109
155
  "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
@@ -175,66 +221,56 @@ cat > "${INSTANCE_DIR}/config/openclaw.json" << EOF
175
221
  }
176
222
  EOF
177
223
 
178
- # --- 5. 核心代码同步 (rsync 对齐并增加预检) ---
179
- echo -e "${BLUE}🔄 分发代码产物 (物理对齐)...${NC}"
180
- rm -rf "$DIST_DIR" && mkdir -p "$DIST_DIR"
181
- if [ -d "${SOURCE_CODE}/dist" ]; then
182
- rsync -av --delete "${SOURCE_CODE}/dist/" "${DIST_DIR}/" 2>/dev/null | head -n 3
183
-
184
- # 检查所有被引用的 utils 文件是否存在
185
- for chunk in $(grep -oE "utils-[A-Za-z0-9]+\.js" "${DIST_DIR}/index.js" 2>/dev/null | sort -u); do
186
- if [ ! -f "${DIST_DIR}/${chunk}" ]; then
187
- echo -e "${RED}❌ 致命错误: dist 缺失关键模块 ${chunk}${NC}"
188
- echo -e "${YELLOW}请在源码端执行: rm -rf dist && pnpm build && npm publish${NC}"
189
- exit 1
190
- fi
191
- done
192
- else
193
- echo -e "${RED}❌ 错误: 母本 dist 不存在${NC}"; exit 1
194
- fi
195
-
196
- cp "${SOURCE_CODE}/package.json" "${INSTANCE_DIR}/package.json"
197
- [ -f "${SOURCE_CODE}/pnpm-lock.yaml" ] && cp "${SOURCE_CODE}/pnpm-lock.yaml" "${INSTANCE_DIR}/pnpm-lock.yaml"
224
+ # --- 7. 预装可选技能 (修复:即使失败也不影响主流程) ---
225
+ echo -e "${BLUE}🤖 正在注入飞书运维机器人引导...${NC}"
226
+ SKILLS_DIR="${INSTANCE_DIR}/workspace/skills"
227
+ mkdir -p "$SKILLS_DIR"
198
228
 
199
- # --- 6. 固化本地依赖 (关键修复:确保安装执行,并避免 workspace 提升) ---
200
- echo -e "${BLUE}📦 正在固化运行环境 (pnpm)...${NC}"
201
- export SHARP_BINARY_HOST="https://npmmirror.com/mirrors/sharp"
202
- export SHARP_LIBVIPS_BINARY_HOST="https://npmmirror.com/mirrors/sharp-libvips"
229
+ SKILL_PKG="jinyu-skill-feishu-config"
230
+ REGISTRY="https://registry.npmmirror.com"
203
231
 
204
- cd "${INSTANCE_DIR}"
205
- echo -e "${YELLOW}📍 安装路径确认: $(pwd)${NC}"
232
+ # 创建临时目录用于下载
233
+ TEMP_DIR=$(mktemp -d)
234
+ cd "$TEMP_DIR"
206
235
 
207
- # 检查并移除可能影响 workspace 的文件
208
- if [ -f "${INSTANCES_BASE}/pnpm-workspace.yaml" ]; then
209
- echo -e "${YELLOW}⚠️ 检测到 ${INSTANCES_BASE}/pnpm-workspace.yaml,临时重命名以避免干扰${NC}"
210
- mv "${INSTANCES_BASE}/pnpm-workspace.yaml" "${INSTANCES_BASE}/pnpm-workspace.yaml.bak.$(date +%s)"
236
+ if npm pack "$SKILL_PKG@latest" --registry="$REGISTRY" --quiet > /dev/null 2>&1; then
237
+ TARBALL=$(ls *.tgz)
238
+ mkdir -p "$SKILLS_DIR/feishu-config"
239
+ tar -xzf "$TARBALL" -C "$SKILLS_DIR/feishu-config" --strip-components=1
240
+ echo -e "${GREEN}✅ 技能 feishu-config 安装成功${NC}"
241
+ else
242
+ echo -e "${YELLOW}⚠️ 技能 feishu-config 下载失败,跳过${NC}"
211
243
  fi
212
244
 
213
- # 强制安装依赖,添加 --ignore-workspace 避免 workspace 提升
214
- pnpm install --shamefully-hoist --ignore-workspace --registry=https://registry.npmmirror.com --no-frozen-lockfile
245
+ cd - > /dev/null
246
+ rm -rf "$TEMP_DIR"
215
247
 
216
- # 验证 node_modules 是否生成
217
- if [ ! -d "node_modules" ]; then
218
- echo -e "${RED} 严重错误: pnpm install 完成但 node_modules 目录未创建!${NC}"
219
- exit 1
248
+ # --- 如果实例是 yunwei,安装角色包并初始化 workspace ---
249
+ if [ "$INSTANCE_NAME" = "yunwei" ]; then
250
+ echo -e "${BLUE}🛠️ 检测到运维实例,正在安装角色包 role-openclaw-yunwei...${NC}"
251
+
252
+ # 创建临时目录用于下载和解压
253
+ TEMP_ROLE_DIR=$(mktemp -d)
254
+ cd "$TEMP_ROLE_DIR"
255
+
256
+ # 使用 npm pack 下载包到临时目录(避免全局安装)
257
+ npm pack role-openclaw-yunwei@latest --registry=https://registry.npmmirror.com --quiet > /dev/null
258
+ TARBALL=$(ls *.tgz)
259
+
260
+ # 解压包内容,--strip-components=1 去除顶层 package/ 目录
261
+ tar -xzf "$TARBALL" --strip-components=1
262
+ rm "$TARBALL"
263
+
264
+ # 将包内所有文件复制到实例的 workspace 目录(不覆盖已有文件?根据需求选择)
265
+ # 使用 -n 避免覆盖已存在的文件(如用户可能修改过)
266
+ cp -rn "$TEMP_ROLE_DIR"/* "$INSTANCE_DIR/workspace/"
267
+
268
+ # 清理临时目录
269
+ cd - > /dev/null
270
+ rm -rf "$TEMP_ROLE_DIR"
271
+
272
+ echo -e "${GREEN}✅ 角色包安装完成,workspace 已初始化${NC}"
220
273
  fi
221
- echo -e "${GREEN}✅ 依赖安装成功,node_modules 已生成在实例目录${NC}"
222
-
223
- # --- 7. 预装可选技能 (修复:即使失败也不影响主流程) ---
224
- echo -e "${BLUE}🤖 正在注入飞书运维机器人引导...${NC}"
225
- SKILLS_DIR="${INSTANCE_DIR}/workspace/skills"
226
- mkdir -p "$SKILLS_DIR/workspace-git"
227
- mkdir -p "$SKILLS_DIR/feishu-config"
228
-
229
- # 使用 || true 防止私有包不存在导致 set -e 中断脚本
230
- pnpm add jinyu-skill-git --prefix "$SKILLS_DIR/workspace-git" --registry=https://registry.npmmirror.com >/dev/null 2>&1 || echo "⚠️ 技能 git 跳过"
231
- pnpm add jinyu-skill-feishu-config --prefix "$SKILLS_DIR/feishu-config" --registry=https://registry.npmmirror.com >/dev/null 2>&1 || echo "⚠️ 技能 feishu 跳过"
232
-
233
- cat > "${INSTANCE_DIR}/workspace/BOOTSTRAP.md" << 'EOF'
234
- # 首次启动引导任务
235
- 1. 调用 `feishu-config` 技能,开始飞书机器人自动配置流程。
236
- 2. 机器人名称设定为:**运维**。
237
- EOF
238
274
 
239
275
  # --- 8. 生成增强型启动脚本 ---
240
276
  cat > "${INSTANCE_DIR}/start.sh" << 'EOF'
@@ -250,7 +286,7 @@ if [ -f "$OPENCLAW_CONFIG_PATH" ]; then
250
286
  eval $(node -e "const env = require('$OPENCLAW_CONFIG_PATH').env || {}; Object.keys(env).forEach(k => { if(env[k]) console.log('export ' + k + '=\"' + env[k] + '\"'); })")
251
287
  fi
252
288
 
253
- # macOS launchd 守护
289
+ # macOS launchd 守护配置(保持不变)
254
290
  if [[ "$OSTYPE" == "darwin"* ]]; then
255
291
  PLIST_LABEL="ai.openclaw.$INSTANCE_NAME"
256
292
  PLIST_PATH="$HOME/Library/LaunchAgents/$PLIST_LABEL.plist"
@@ -271,8 +307,24 @@ EOP
271
307
  fi
272
308
  fi
273
309
 
274
- echo "🚀 启动 OpenClaw-$INSTANCE_NAME..."
275
- exec node "./dist/index.js" gateway run --port $(node -e "console.log(require('$OPENCLAW_CONFIG_PATH').gateway.port)")
310
+ # 检测 openclaw 命令是否存在
311
+ if command -v openclaw &> /dev/null; then
312
+ CMD="openclaw"
313
+ else
314
+ CMD="node ./dist/index.js"
315
+ fi
316
+
317
+ # 根据是否有命令行参数决定执行方式
318
+ if [ $# -eq 0 ]; then
319
+ # 无参数:启动网关(默认行为)
320
+ GATEWAY_PORT=$(node -e "console.log(require('$OPENCLAW_CONFIG_PATH').gateway.port)")
321
+ echo "🚀 使用 $CMD 启动 OpenClaw-$INSTANCE_NAME 网关..."
322
+ exec $CMD gateway run --port "$GATEWAY_PORT"
323
+ else
324
+ # 有参数:将所有参数传递给 openclaw/node 命令
325
+ echo "🚀 使用 $CMD 执行 OpenClaw-$INSTANCE_NAME 命令: $@"
326
+ exec $CMD "$@"
327
+ fi
276
328
  EOF
277
329
  chmod +x "${INSTANCE_DIR}/start.sh"
278
330
 
@@ -280,7 +332,7 @@ chmod +x "${INSTANCE_DIR}/start.sh"
280
332
  echo -e "${BLUE}⚡ 正在后台启动服务...${NC}"
281
333
  nohup ./start.sh > "${INSTANCE_DIR}/workspace/server.log" 2>&1 &
282
334
 
283
- sleep 2
335
+ sleep 2ƒ
284
336
  if ps -p $! > /dev/null; then
285
337
  echo -e "${GREEN}================================================${NC}"
286
338
  echo -e "${GREEN}🎉 实例 [${INSTANCE_NAME}] 初始化成功!${NC}"
@@ -1,32 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./thinking-URzkT-3p.js";
8
- import "./accounts-DyFCXtHv.js";
9
- import "./image-ops-BnZKcbd6.js";
10
- import "./pi-embedded-helpers-DnA_OCzP.js";
11
- import "./accounts-BJAXxY46.js";
12
- import "./github-copilot-token-CKKBybuX.js";
13
- import "./paths-DopV9PQG.js";
14
- import "./tokens-B1PW5Ayy.js";
15
- import "./chrome-f00sZkDX.js";
16
- import "./skills-QudILG6e.js";
17
- import "./path-alias-guards-C7Vm5DZ1.js";
18
- import "./redact-hp9TOulW.js";
19
- import "./errors-CtMWwS2Z.js";
20
- import "./fs-safe-DtfhxbrI.js";
21
- import "./proxy-env-C63mMdas.js";
22
- import "./store-BbDQw3g6.js";
23
- import "./tool-images-xpqbP6RR.js";
24
- import "./fetch-guard-CxYB5Kg6.js";
25
- import "./local-roots-KhjQw04O.js";
26
- import { t as deliverOutboundPayloads } from "./deliver-DNEuetST.js";
27
- import "./fetch-O45GieZo.js";
28
- import "./ir-Z4hX67TJ.js";
29
- import "./send-BvAtLLPl.js";
30
- import "./outbound-attachment-B1Laso-8.js";
31
-
32
- export { deliverOutboundPayloads };
@@ -1,23 +0,0 @@
1
- import "./run-with-concurrency-BR1DXa8T.js";
2
- import "./config-CHQrpx-Q.js";
3
- import "./logger-DHIIvMxj.js";
4
- import "./paths-0d8fBoC4.js";
5
- import "./accounts-C1j7HSL0.js";
6
- import "./plugins-CbCt4osF.js";
7
- import "./image-ops-BnZKcbd6.js";
8
- import { h as sendMessageDiscord } from "./send-CWJUuG0i.js";
9
- import "./github-copilot-token-CKKBybuX.js";
10
- import "./path-alias-guards-C7Vm5DZ1.js";
11
- import "./redact-hp9TOulW.js";
12
- import "./errors-CtMWwS2Z.js";
13
- import "./fs-safe-DtfhxbrI.js";
14
- import "./proxy-env-C63mMdas.js";
15
- import "./fetch-guard-CxYB5Kg6.js";
16
- import "./local-roots-KhjQw04O.js";
17
- import "./fetch-O45GieZo.js";
18
- import "./ir-Z4hX67TJ.js";
19
- import "./render-95l30zcf.js";
20
- import "./channel-activity-C5y8AgAV.js";
21
- import "./tables-BhvloMKN.js";
22
-
23
- export { sendMessageDiscord };