openclaw-multi-auto 1.2.4 → 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 (289) 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-5FEeDooz.js → audio-preflight-DDBLZBdb.js} +4 -4
  7. package/dist/{audio-preflight-BMvgEQ5j.js → audio-preflight-DoPfNXDz.js} +32 -32
  8. package/dist/{audio-transcription-runner-gLFfz8fr.js → audio-transcription-runner-CzjuH3uL.js} +12 -12
  9. package/dist/{audio-transcription-runner-B-UvoDjZ.js → audio-transcription-runner-DZbSWT9E.js} +1 -1
  10. package/dist/{audit-membership-runtime-Dntemq07.js → audit-membership-runtime-DWyHWAHM.js} +4 -4
  11. package/dist/build-info.json +3 -3
  12. package/dist/bundled/boot-md/handler.js +51 -51
  13. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  14. package/dist/bundled/command-logger/handler.js +2 -2
  15. package/dist/bundled/session-memory/handler.js +51 -51
  16. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  17. package/dist/{channel-activity-BDnjYF7B.js → channel-activity-xHOMiarp.js} +3 -3
  18. package/dist/{chrome-D45SyhQL.js → chrome-CMU2WVFh.js} +8 -8
  19. package/dist/{chrome-DxxEKrY7.js → chrome-DlhJHqj8.js} +26 -26
  20. package/dist/{commands-registry-D5qXbFJn.js → commands-registry-V1zZ5pPC.js} +4 -4
  21. package/dist/{deliver-B9cys0EZ.js → deliver-BXVcFIHL.js} +1 -1
  22. package/dist/{deliver-DbdywYJE.js → deliver-CApVJA_l.js} +21 -21
  23. package/dist/deliver-runtime-D1z-h5eg.js +36 -0
  24. package/dist/{deliver-runtime-DhaQJ0pI.js → deliver-runtime-DTaIS-1i.js} +3 -3
  25. package/dist/deps-send-discord.runtime-DnbhTFX9.js +26 -0
  26. package/dist/deps-send-imessage.runtime-BOiQ6mDx.js +25 -0
  27. package/dist/deps-send-signal.runtime-CTcl388M.js +24 -0
  28. package/dist/deps-send-slack.runtime-CCqBz4Kg.js +22 -0
  29. package/dist/deps-send-telegram.runtime-DGSKTCpH.js +27 -0
  30. package/dist/{deps-send-whatsapp.runtime-DvTL2tzN.js → deps-send-whatsapp.runtime-CIZqFAqb.js} +7 -7
  31. package/dist/deps-send-whatsapp.runtime-Dz_4fi2D.js +60 -0
  32. package/dist/{diagnostic-Co6Kghr-.js → diagnostic-Bn4PZjMZ.js} +2 -2
  33. package/dist/{errors-xt401nuk.js → errors-CCLeFWAg.js} +1 -1
  34. package/dist/extensionAPI.js +6 -6
  35. package/dist/{fetch-DuraYswo.js → fetch-BlJWzEP6.js} +5 -5
  36. package/dist/{fetch-guard-DWr0d00H.js → fetch-guard-ChYBwfiy.js} +2 -2
  37. package/dist/{frontmatter-BkTfEZ93.js → frontmatter-CvaMP376.js} +3 -3
  38. package/dist/{fs-safe-CTYUrIgQ.js → fs-safe-0jAo_Whb.js} +4 -4
  39. package/dist/{github-copilot-token-BDioPmd6.js → github-copilot-token-D13V9YBz.js} +7 -7
  40. package/dist/{image-eT7Y-nP5.js → image-B3Mz7N5I.js} +6 -6
  41. package/dist/{image-DAOPwVXi.js → image-BCVLo0qw.js} +1 -1
  42. package/dist/{image-ops-BuUnEOE0.js → image-ops-CehkHxmW.js} +2 -2
  43. package/dist/image-runtime-DWjhow2W.js +29 -0
  44. package/dist/{image-runtime-wlCLVvVv.js → image-runtime-DtCKpMPZ.js} +3 -3
  45. package/dist/{ir-B83looB-.js → ir-DAP-B-Xw.js} +8 -8
  46. package/dist/{legacy-names-DOC03BkU.js → legacy-names-TyzbVqa_.js} +1 -1
  47. package/dist/llm-slug-generator.js +51 -51
  48. package/dist/{logger-BfjWMCSD.js → logger-DMZQQtxK.js} +7 -7
  49. package/dist/{login-CrIwcrVI.js → login-DiCctRo1.js} +5 -5
  50. package/dist/{login-qr-BpPDZdl_.js → login-qr-MUbXgjtd.js} +10 -10
  51. package/dist/{manager-1bvuGrNR.js → manager-BW_NSIMl.js} +13 -13
  52. package/dist/manager-runtime-BN6VevdC.js +18 -0
  53. package/dist/{model-selection-Dna0Gz1k.js → model-selection-idoqPmw0.js} +43 -43
  54. package/dist/{outbound-ChDjtuD6.js → outbound-C2kanETZ.js} +6 -6
  55. package/dist/{outbound-attachment-DqHlD21U.js → outbound-attachment-DBrYWX8h.js} +2 -2
  56. package/dist/{path-alias-guards-BzvdLvTI.js → path-alias-guards-DqXRZmsL.js} +1 -1
  57. package/dist/{paths-Cvc9EM8Y.js → paths-C6TxBCvO.js} +5 -5
  58. package/dist/{paths-Bkr-BCxW.js → paths-CCxysrzL.js} +4 -4
  59. package/dist/{pi-embedded-DYU79yGe.js → pi-embedded-CgQ_W6Xs.js} +24 -24
  60. package/dist/{pi-embedded-BQQa91aA.js → pi-embedded-bcjMe3wj.js} +167 -167
  61. package/dist/{pi-embedded-helpers-uTRAmQ4n.js → pi-embedded-helpers-CwuBTKza.js} +3 -3
  62. package/dist/{pi-embedded-helpers-CLXm10bV.js → pi-embedded-helpers-D5yyGEvA.js} +52 -52
  63. package/dist/pi-model-discovery-BGgOlX8N.js +134 -0
  64. package/dist/pi-model-discovery-runtime-Bwmi4Ev8.js +11 -0
  65. package/dist/{pi-tools.before-tool-call.runtime-Cwab_5W1.js → pi-tools.before-tool-call.runtime-BuLxSyx9.js} +9 -9
  66. package/dist/plugin-sdk/{accounts-DyFCXtHv.js → accounts-BslAlVYS.js} +2 -2
  67. package/dist/plugin-sdk/{accounts-BJAXxY46.js → accounts-C3m65--E.js} +2 -2
  68. package/dist/plugin-sdk/accounts-CJWOBzwB.js +35 -0
  69. package/dist/plugin-sdk/{accounts-C1j7HSL0.js → accounts-CNCCkdEF.js} +3 -3
  70. package/dist/plugin-sdk/accounts-DP1-L-QS.js +288 -0
  71. package/dist/plugin-sdk/accounts-DZhWlEg3.js +46 -0
  72. package/dist/plugin-sdk/{active-listener-CftX5jLD.js → active-listener-B_sLJTXM.js} +2 -2
  73. package/dist/plugin-sdk/active-listener-CkPnMUkB.js +50 -0
  74. package/dist/plugin-sdk/{api-key-rotation-8nyyt1kx.js → api-key-rotation-BRE4X2tf.js} +2 -2
  75. package/dist/plugin-sdk/api-key-rotation-BXnNsojA.js +181 -0
  76. package/dist/plugin-sdk/{audio-preflight-C_aSAPR1.js → audio-preflight-CtO4fFvp.js} +26 -26
  77. package/dist/plugin-sdk/audio-preflight-DGEUDxxR.js +69 -0
  78. package/dist/plugin-sdk/audio-transcription-runner-DkoPNPYt.js +2176 -0
  79. package/dist/plugin-sdk/{audio-transcription-runner-CB53F7_7.js → audio-transcription-runner-DnxvOS1-.js} +11 -11
  80. package/dist/plugin-sdk/{audit-membership-runtime-BXndI4LG.js → audit-membership-runtime-BpfoSk8M.js} +2 -2
  81. package/dist/plugin-sdk/audit-membership-runtime-DSBHHw7o.js +58 -0
  82. package/dist/plugin-sdk/channel-activity-F3d0yUwy.js +94 -0
  83. package/dist/plugin-sdk/{channel-activity-C5y8AgAV.js → channel-activity-WJYxcJ3S.js} +3 -3
  84. package/dist/plugin-sdk/channel-web-QF7EpjeP.js +2256 -0
  85. package/dist/plugin-sdk/{channel-web-DBTRO03V.js → channel-web-dO5k3ubM.js} +18 -18
  86. package/dist/plugin-sdk/chrome-BXoCyCkY.js +2415 -0
  87. package/dist/plugin-sdk/{chrome-f00sZkDX.js → chrome-CjNTuJML.js} +6 -6
  88. package/dist/plugin-sdk/{commands-registry-BJ_NxG2F.js → commands-registry-CdYjoI0i.js} +4 -4
  89. package/dist/plugin-sdk/commands-registry-t7cXBTfN.js +1125 -0
  90. package/dist/plugin-sdk/{common-Cf27Jwxu.js → common-oYc5vPFl.js} +2 -2
  91. package/dist/plugin-sdk/{config-CHQrpx-Q.js → config-B1z-UxQ3.js} +7 -7
  92. package/dist/plugin-sdk/config-BkEnz2Po.js +17913 -0
  93. package/dist/plugin-sdk/deliver-B6AG_l67.js +1694 -0
  94. package/dist/plugin-sdk/{deliver-DNEuetST.js → deliver-D5_6T567.js} +10 -10
  95. package/dist/plugin-sdk/deliver-runtime-C5dgvvga.js +32 -0
  96. package/dist/plugin-sdk/deliver-runtime-D585kJZc.js +32 -0
  97. package/dist/plugin-sdk/deps-send-discord.runtime-Dg4N7PHJ.js +23 -0
  98. package/dist/plugin-sdk/deps-send-discord.runtime-a_OKY2js.js +23 -0
  99. package/dist/plugin-sdk/deps-send-imessage.runtime-0OEwzMQm.js +22 -0
  100. package/dist/plugin-sdk/deps-send-imessage.runtime-Baxy9TD4.js +22 -0
  101. package/dist/plugin-sdk/deps-send-signal.runtime-BM1jRt3G.js +21 -0
  102. package/dist/plugin-sdk/deps-send-signal.runtime-BwXoCrFl.js +21 -0
  103. package/dist/plugin-sdk/deps-send-slack.runtime-1E3BYRdF.js +19 -0
  104. package/dist/plugin-sdk/deps-send-slack.runtime-CLmKjgso.js +19 -0
  105. package/dist/plugin-sdk/deps-send-telegram.runtime-BKfdBKnZ.js +24 -0
  106. package/dist/plugin-sdk/deps-send-telegram.runtime-DNCxIflA.js +24 -0
  107. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BOTwkbx_.js +57 -0
  108. package/dist/plugin-sdk/deps-send-whatsapp.runtime-OLwr-9c8.js +57 -0
  109. package/dist/plugin-sdk/{diagnostic-LYUUmjJ5.js → diagnostic-Bxxu0ig-.js} +2 -2
  110. package/dist/plugin-sdk/diagnostic-CsP-lEkI.js +319 -0
  111. package/dist/plugin-sdk/{errors-CtMWwS2Z.js → errors-B3cHyZZA.js} +1 -1
  112. package/dist/plugin-sdk/errors-DaiAM-yU.js +54 -0
  113. package/dist/plugin-sdk/fetch-guard-DETCcJzQ.js +156 -0
  114. package/dist/plugin-sdk/{fetch-guard-CxYB5Kg6.js → fetch-guard-Dcgod0tg.js} +2 -2
  115. package/dist/plugin-sdk/fs-safe-B8y811FR.js +352 -0
  116. package/dist/plugin-sdk/{fs-safe-DtfhxbrI.js → fs-safe-BaKqI3G4.js} +3 -3
  117. package/dist/plugin-sdk/{image-BwjYjRHx.js → image-B2mQW9Rb.js} +6 -6
  118. package/dist/plugin-sdk/image-DjTEkYZE.js +2310 -0
  119. package/dist/plugin-sdk/image-ops-BSiMpAw4.js +584 -0
  120. package/dist/plugin-sdk/{image-ops-BnZKcbd6.js → image-ops-Cbzr4U9l.js} +2 -2
  121. package/dist/plugin-sdk/image-runtime-6xPp8m5a.js +25 -0
  122. package/dist/plugin-sdk/image-runtime-BFm45j49.js +25 -0
  123. package/dist/plugin-sdk/index.js +50 -50
  124. package/dist/plugin-sdk/ir-DQ7_HbvK.js +1296 -0
  125. package/dist/plugin-sdk/{ir-Z4hX67TJ.js → ir-ZEmrTr4J.js} +7 -7
  126. package/dist/plugin-sdk/local-roots-BUP4YBmR.js +186 -0
  127. package/dist/plugin-sdk/{local-roots-KhjQw04O.js → local-roots-CIPRxA-4.js} +4 -4
  128. package/dist/plugin-sdk/logger-CZY9KIoY.js +1163 -0
  129. package/dist/plugin-sdk/{logger-DHIIvMxj.js → logger-CvPFVOgT.js} +2 -2
  130. package/dist/plugin-sdk/login-BxEKLlCo.js +57 -0
  131. package/dist/plugin-sdk/{login-C31642Ld.js → login-CCTew9bt.js} +4 -4
  132. package/dist/plugin-sdk/{login-qr--y2SG_Ue.js → login-qr-BI3Vi_wJ.js} +5 -5
  133. package/dist/plugin-sdk/login-qr-BQIpMPr9.js +320 -0
  134. package/dist/plugin-sdk/{manager-2UZBMCc7.js → manager-BEoYPn7R.js} +8 -8
  135. package/dist/plugin-sdk/manager-I6KbPihW.js +3917 -0
  136. package/dist/plugin-sdk/manager-runtime-CFfYYWIQ.js +15 -0
  137. package/dist/plugin-sdk/manager-runtime-DxclHQ4U.js +15 -0
  138. package/dist/plugin-sdk/mattermost.js +3 -3
  139. package/dist/plugin-sdk/{outbound-Ba0QUI5h.js → outbound-ByOw1K6W.js} +5 -5
  140. package/dist/plugin-sdk/outbound-NS6UHnB6.js +212 -0
  141. package/dist/plugin-sdk/{outbound-attachment-B1Laso-8.js → outbound-attachment-BzVhxRRw.js} +2 -2
  142. package/dist/plugin-sdk/outbound-attachment-Dy6fyf6H.js +19 -0
  143. package/dist/plugin-sdk/{path-alias-guards-C7Vm5DZ1.js → path-alias-guards-DBjLbIX_.js} +1 -1
  144. package/dist/plugin-sdk/path-alias-guards-sWayacde.js +43 -0
  145. package/dist/plugin-sdk/{paths-DopV9PQG.js → paths-Dpg3qxcl.js} +1 -1
  146. package/dist/plugin-sdk/paths-vTM3Lh3X.js +166 -0
  147. package/dist/plugin-sdk/pi-embedded-helpers-1R1gu7eX.js +9627 -0
  148. package/dist/plugin-sdk/{pi-embedded-helpers-DnA_OCzP.js → pi-embedded-helpers-DIxXkGJf.js} +16 -16
  149. package/dist/plugin-sdk/{pi-model-discovery-DdPqXk8f.js → pi-model-discovery-DM_2uFtj.js} +1 -1
  150. package/dist/plugin-sdk/pi-model-discovery-runtime-BuzvkvNR.js +8 -0
  151. package/dist/plugin-sdk/pi-model-discovery-runtime-Do9o-dUd.js +8 -0
  152. package/dist/{pi-model-discovery-Dymwdjt0.js → plugin-sdk/pi-model-discovery-v-XPUOOf.js} +2 -2
  153. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D4sFsIks.js +354 -0
  154. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-DxFHiLUE.js → pi-tools.before-tool-call.runtime-w1dqL_ty.js} +4 -4
  155. package/dist/plugin-sdk/{plugins-CbCt4osF.js → plugins-C4USiH29.js} +4 -4
  156. package/dist/plugin-sdk/plugins-DeBZB9l_.js +864 -0
  157. package/dist/plugin-sdk/{proxy-env-C63mMdas.js → proxy-env-ET-rp8eg.js} +1 -1
  158. package/dist/plugin-sdk/{proxy-fetch-Ch95c_Y2.js → proxy-fetch-ChxOhWF4.js} +1 -1
  159. package/dist/{proxy-fetch-B2pEfjbR.js → plugin-sdk/proxy-fetch-uDXGKG3Z.js} +1 -1
  160. package/dist/plugin-sdk/{pw-ai-DpJk62D4.js → pw-ai-CyOt3RDA.js} +9 -9
  161. package/dist/plugin-sdk/pw-ai-DEOmCSSC.js +1938 -0
  162. package/dist/plugin-sdk/{qmd-manager-Ca-iSfEE.js → qmd-manager-BySdoVR7.js} +7 -7
  163. package/dist/plugin-sdk/qmd-manager-HyYKoEch.js +1448 -0
  164. package/dist/plugin-sdk/{query-expansion-B_Xe41Ab.js → query-expansion-C6uS-7lj.js} +4 -4
  165. package/dist/plugin-sdk/query-expansion-CeyKUeDW.js +1011 -0
  166. package/dist/plugin-sdk/{redact-hp9TOulW.js → redact-Bvxt1T_Q.js} +1 -1
  167. package/dist/{redact-COik8ET1.js → plugin-sdk/redact-DjVX-1N3.js} +1 -1
  168. package/dist/plugin-sdk/{reply-CovBlFea.js → reply-CTCSeQqW.js} +73 -73
  169. package/dist/plugin-sdk/reply-DAo_Jt8K.js +97916 -0
  170. package/dist/plugin-sdk/resolve-outbound-target-B42qgQS9.js +40 -0
  171. package/dist/plugin-sdk/{resolve-outbound-target-BbrHgyUk.js → resolve-outbound-target-Bw8YNANu.js} +2 -2
  172. package/dist/plugin-sdk/run-with-concurrency-Bt_ks0Qa.js +1994 -0
  173. package/dist/plugin-sdk/{run-with-concurrency-BR1DXa8T.js → run-with-concurrency-C_KCHwvf.js} +1 -1
  174. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6W989eF.js +10 -0
  175. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-BxgRDkhc.js +10 -0
  176. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-c_GDFy37.js +19 -0
  177. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-elOqrkfg.js +19 -0
  178. package/dist/plugin-sdk/{send-BvAtLLPl.js → send-BZ6nYFZr.js} +5 -5
  179. package/dist/plugin-sdk/{send-BTztm3D2.js → send-C0w6xP2x.js} +6 -6
  180. package/dist/plugin-sdk/{send-CWJUuG0i.js → send-CFf-1V89.js} +8 -8
  181. package/dist/plugin-sdk/send-CQpMudwO.js +2587 -0
  182. package/dist/plugin-sdk/{send-EcglC4cG.js → send-CY-Qfwia.js} +7 -7
  183. package/dist/plugin-sdk/send-DQHLzVyO.js +414 -0
  184. package/dist/plugin-sdk/send-DTB24bEF.js +3135 -0
  185. package/dist/plugin-sdk/send-DfHadjZ_.js +503 -0
  186. package/dist/plugin-sdk/send-XXlW2iny.js +540 -0
  187. package/dist/plugin-sdk/{send-BXpXBwM_.js → send-qPyNGSe4.js} +13 -13
  188. package/dist/plugin-sdk/session-6TF6MyaC.js +169 -0
  189. package/dist/plugin-sdk/{session-k256LJZT.js → session-COrvpvUQ.js} +3 -3
  190. package/dist/plugin-sdk/skill-commands-CkGeFUMl.js +342 -0
  191. package/dist/plugin-sdk/{skill-commands-DoRqLzxm.js → skill-commands-DZqhtmiv.js} +4 -4
  192. package/dist/plugin-sdk/skills-CBkHBYPq.js +1428 -0
  193. package/dist/plugin-sdk/{skills-QudILG6e.js → skills-Cw_vXEJb.js} +6 -6
  194. package/dist/plugin-sdk/slash-commands.runtime-CxliuGaP.js +13 -0
  195. package/dist/plugin-sdk/slash-commands.runtime-D67JLweo.js +13 -0
  196. package/dist/plugin-sdk/slash-dispatch.runtime-DFaeYlJQ.js +52 -0
  197. package/dist/plugin-sdk/slash-dispatch.runtime-DvcpvCJ0.js +52 -0
  198. package/dist/plugin-sdk/slash-skill-commands.runtime-0M0OLCxq.js +16 -0
  199. package/dist/plugin-sdk/slash-skill-commands.runtime-BM1x3azR.js +16 -0
  200. package/dist/plugin-sdk/ssrf-cFtplYtS.js +202 -0
  201. package/dist/plugin-sdk/store-5nyxY3WU.js +81 -0
  202. package/dist/plugin-sdk/{store-BbDQw3g6.js → store-CMHj6IIw.js} +2 -2
  203. package/dist/plugin-sdk/subagent-registry-runtime-1lbDyRzz.js +52 -0
  204. package/dist/plugin-sdk/subagent-registry-runtime-DCtmDwna.js +52 -0
  205. package/dist/plugin-sdk/tables-C47P4GTN.js +55 -0
  206. package/dist/plugin-sdk/{tables-BhvloMKN.js → tables-CSqrHsKL.js} +1 -1
  207. package/dist/{target-errors-mnlwhAjP.js → plugin-sdk/target-errors-Blia4S69.js} +2 -2
  208. package/dist/plugin-sdk/thinking-Bo2eosVa.js +1206 -0
  209. package/dist/plugin-sdk/{thinking-URzkT-3p.js → thinking-DOnsR_A8.js} +7 -7
  210. package/dist/plugin-sdk/{tokens-B1PW5Ayy.js → tokens-BDr0Z9o3.js} +1 -1
  211. package/dist/{tokens-q32vI39c.js → plugin-sdk/tokens-DgNRBwIg.js} +1 -1
  212. package/dist/plugin-sdk/{tool-images-xpqbP6RR.js → tool-images-Gk_-0y2N.js} +2 -2
  213. package/dist/plugin-sdk/tool-images-eEfOVkzf.js +274 -0
  214. package/dist/plugin-sdk/web-BLyT64pW.js +56 -0
  215. package/dist/plugin-sdk/web-CVxZbXyH.js +56 -0
  216. package/dist/plugin-sdk/whatsapp-actions-Bw0H9g-n.js +80 -0
  217. package/dist/plugin-sdk/{whatsapp-actions-RcZ6vp61.js → whatsapp-actions-xcleMoMv.js} +17 -17
  218. package/dist/plugin-sdk/whatsapp.js +50 -50
  219. package/dist/{plugins-4Rj4OjLY.js → plugins-CWkRQYDj.js} +11 -11
  220. package/dist/{proxy-env-DlmzDx8x.js → proxy-env-Cq5gdrbj.js} +1 -1
  221. package/dist/proxy-fetch-CCjEYbFm.js +38 -0
  222. package/dist/{pw-ai-DNMjFMqH.js → pw-ai-CDQDCfUa.js} +14 -14
  223. package/dist/{pw-ai-GcYO6HPE.js → pw-ai-CmphSzHx.js} +1 -1
  224. package/dist/{qmd-manager-BtIKUaO9.js → qmd-manager-BsYsO9Ii.js} +10 -10
  225. package/dist/{query-expansion-CX-1fS52.js → query-expansion-DtLc3wjL.js} +6 -6
  226. package/dist/redact-ClbcYG1J.js +319 -0
  227. package/dist/{run-with-concurrency-BgYfgkXT.js → run-with-concurrency-D_ZpbgEG.js} +4 -4
  228. package/dist/runtime-whatsapp-login.runtime-IeylZEl4.js +13 -0
  229. package/dist/runtime-whatsapp-outbound.runtime-ClBRuLsq.js +22 -0
  230. package/dist/{send-dfu6_rgf.js → send-BQERFNyo.js} +5 -5
  231. package/dist/{send-L7gRiwyd.js → send-Bj776ESJ.js} +7 -7
  232. package/dist/{send-PE6cwoTe.js → send-DcxmcFi_.js} +8 -8
  233. package/dist/{send-6lz6rNVP.js → send-Dx2RkUOZ.js} +6 -6
  234. package/dist/{send-BHTiZcH3.js → send-vmONuVgL.js} +26 -26
  235. package/dist/{session-D8ImowSs.js → session-A4QhBRvH.js} +8 -8
  236. package/dist/{skill-commands-DNqJ-kwn.js → skill-commands-CMzBZKG2.js} +9 -9
  237. package/dist/{skills-7ODkHQYp.js → skills-CE_iqvM5.js} +22 -22
  238. package/dist/slash-commands.runtime-Cpn2tYW4.js +16 -0
  239. package/dist/{slash-dispatch.runtime-Dh053pQK.js → slash-dispatch.runtime-131yup2e.js} +6 -6
  240. package/dist/slash-dispatch.runtime-CWbpp23S.js +56 -0
  241. package/dist/slash-skill-commands.runtime-DKMvvdDW.js +20 -0
  242. package/dist/{store-D89wDcz9.js → store--eR1R_UX.js} +2 -2
  243. package/dist/subagent-registry-runtime-DEVpAaAP.js +56 -0
  244. package/dist/{subagent-registry-runtime-DSi5mnCQ.js → subagent-registry-runtime-DbSf_Je6.js} +6 -6
  245. package/dist/{subsystem-B45WV3qB.js → subsystem-Di1z8l0Z.js} +14 -14
  246. package/dist/{tables-mE4cJBN2.js → tables-d739Y1xW.js} +1 -1
  247. package/dist/target-errors-CBI2Ga0y.js +195 -0
  248. package/dist/{thinking-BeGmb5k6.js → thinking-DXYisHiZ.js} +7 -7
  249. package/dist/tokens-DxnY9ui_.js +52 -0
  250. package/dist/{tool-images-RZdHiZcG.js → tool-images-2cBx1W8h.js} +2 -2
  251. package/dist/{web-1hWJDzNA.js → web-MR9d7KyB.js} +6 -6
  252. package/dist/{web-Btj-e8kN.js → web-NWKn8ABz.js} +55 -55
  253. package/dist/{whatsapp-actions-BHbJJyqw.js → whatsapp-actions-iEArE_Ez.js} +21 -21
  254. package/dist/{workspace-U-DyR64O.js → workspace-CUVC6GX1.js} +20 -20
  255. package/package.json +1 -1
  256. package/scripts/create-instance.sh +142 -92
  257. package/dist/deliver-runtime-BFs7iAZF.js +0 -36
  258. package/dist/deps-send-discord.runtime-DZUccI6Z.js +0 -26
  259. package/dist/deps-send-imessage.runtime-CF3OpoqY.js +0 -25
  260. package/dist/deps-send-signal.runtime-Cw4-ozeO.js +0 -24
  261. package/dist/deps-send-slack.runtime-BDsDhS1P.js +0 -22
  262. package/dist/deps-send-telegram.runtime-D_4xVasO.js +0 -27
  263. package/dist/deps-send-whatsapp.runtime-DK8jqd14.js +0 -60
  264. package/dist/image-runtime-BcAK3n8a.js +0 -29
  265. package/dist/manager-runtime-FO1Sx3W8.js +0 -18
  266. package/dist/pi-model-discovery-runtime-BeY4EUPp.js +0 -11
  267. package/dist/plugin-sdk/deliver-runtime-BFdqklJM.js +0 -32
  268. package/dist/plugin-sdk/deps-send-discord.runtime-DuqpYwU0.js +0 -23
  269. package/dist/plugin-sdk/deps-send-imessage.runtime-CZ2rS8Lb.js +0 -22
  270. package/dist/plugin-sdk/deps-send-signal.runtime-BdqiWhIh.js +0 -21
  271. package/dist/plugin-sdk/deps-send-slack.runtime-04s36qiC.js +0 -19
  272. package/dist/plugin-sdk/deps-send-telegram.runtime-LE5tkPvr.js +0 -24
  273. package/dist/plugin-sdk/deps-send-whatsapp.runtime-Bz57lobC.js +0 -57
  274. package/dist/plugin-sdk/image-runtime-B8twoubs.js +0 -25
  275. package/dist/plugin-sdk/manager-runtime-CMeLwose.js +0 -15
  276. package/dist/plugin-sdk/pi-model-discovery-runtime-D8CJhtJY.js +0 -8
  277. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-SkO91TZH.js +0 -10
  278. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-B0VWK5hm.js +0 -19
  279. package/dist/plugin-sdk/slash-commands.runtime-DS6vCNSL.js +0 -13
  280. package/dist/plugin-sdk/slash-dispatch.runtime-BXrxb2wd.js +0 -52
  281. package/dist/plugin-sdk/slash-skill-commands.runtime-Bd6qQ2oT.js +0 -16
  282. package/dist/plugin-sdk/subagent-registry-runtime-1uwQbuXj.js +0 -52
  283. package/dist/plugin-sdk/web-B74yhL2N.js +0 -56
  284. package/dist/runtime-whatsapp-login.runtime-DUb55byQ.js +0 -13
  285. package/dist/runtime-whatsapp-outbound.runtime-Bii_xSfI.js +0 -22
  286. package/dist/slash-commands.runtime-CVw6566g.js +0 -16
  287. package/dist/slash-dispatch.runtime-B9Ygtzi4.js +0 -56
  288. package/dist/slash-skill-commands.runtime-DxZ4z5h6.js +0 -20
  289. package/dist/subagent-registry-runtime-DL1Wv7nA.js +0 -56
@@ -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.2.4",
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",
@@ -22,7 +22,82 @@ DEFAULT_SOURCE="${GLOBAL_PREFIX}/lib/node_modules/openclaw-multi-auto"
22
22
  SOURCE_CODE="$DEFAULT_SOURCE"
23
23
  echo "SOURCE_CODE = $SOURCE_CODE"
24
24
 
25
- # --- 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. 参数与交互式获取 ---
26
101
  INSTANCE_NAME="${1:-}"
27
102
  if [ -z "$INSTANCE_NAME" ]; then
28
103
  read -p "请输入实例名称 (默认: yunwei): " INPUT_NAME
@@ -56,37 +131,7 @@ if [ -z "$API_KEY" ]; then
56
131
  read -p "请输入您的 ${MODEL_PROVIDER} API Key: " API_KEY
57
132
  fi
58
133
 
59
- INSTANCE_DIR="$INSTANCES_BASE/${INSTANCE_NAME}"
60
- DIST_DIR="${INSTANCE_DIR}/dist"
61
-
62
- # 清理旧残留,防止隔离失效
63
- if [ -d "$INSTANCE_DIR" ]; then
64
- echo -e "${YELLOW}⚠️ 清理旧实例目录...${NC}"
65
- rm -rf "$INSTANCE_DIR"
66
- fi
67
- # 删除可能存在的父目录 node_modules 和 workspace 文件
68
- [ -d "${INSTANCES_BASE}/node_modules" ] && rm -rf "${INSTANCES_BASE}/node_modules"
69
- [ -f "${INSTANCES_BASE}/pnpm-workspace.yaml" ] && rm -f "${INSTANCES_BASE}/pnpm-workspace.yaml"
70
-
71
- echo -e "${BLUE}🏗️ 正在深度初始化实例: ${INSTANCE_NAME} (端口 ${PORT})${NC}"
72
-
73
- # --- 3. 完整目录结构创建 ---
74
- mkdir -p "${INSTANCE_DIR}/config" "${INSTANCE_DIR}/tmp" "${INSTANCE_DIR}/workspace"
75
- mkdir -p "${INSTANCE_DIR}/agents/main/agent/sessions"
76
- mkdir -p "${INSTANCE_DIR}/credentials" "${INSTANCE_DIR}/media"
77
-
78
- # --- 3.5 动态提取母本版本号 ---
79
- echo -e "${BLUE}🔍 正在提取母本版本信息...${NC}"
80
- PKG_PATH="${SOURCE_CODE}/package.json"
81
- if [ -f "$PKG_PATH" ]; then
82
- CURRENT_VERSION=$(node -p "require('$PKG_PATH').version")
83
- echo -e "${GREEN}✅ 检测到母本版本: v${CURRENT_VERSION}${NC}"
84
- else
85
- CURRENT_VERSION="2026.3.9"
86
- echo -e "${YELLOW}⚠️ 未找到 package.json,使用兜底版本: ${CURRENT_VERSION}${NC}"
87
- fi
88
-
89
- # --- 4. 生成深度配置文件 ---
134
+ # --- 6. 生成深度配置文件 ---
90
135
  DEFAULT_MODEL="zai/glm-5"
91
136
  ZAI_KEY=""; DS_KEY=""; MX_KEY=""; KIMI_KEY=""; QWEN_KEY=""
92
137
 
@@ -104,7 +149,7 @@ cat > "${INSTANCE_DIR}/config/openclaw.json" << EOF
104
149
  "lastTouchedVersion": "${CURRENT_VERSION}",
105
150
  "lastTouchedAt": "$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ")"
106
151
  },
107
- "llm": {
152
+ "models": {
108
153
  "providers": {
109
154
  "zai": {
110
155
  "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
@@ -176,67 +221,56 @@ cat > "${INSTANCE_DIR}/config/openclaw.json" << EOF
176
221
  }
177
222
  EOF
178
223
 
179
- # --- 5. 核心代码同步 (rsync 对齐并增加预检) ---
180
- echo -e "${BLUE}🔄 分发代码产物 (物理对齐)...${NC}"
181
- rm -rf "$DIST_DIR" && mkdir -p "$DIST_DIR"
182
- if [ -d "${SOURCE_CODE}/dist" ]; then
183
- cp -r "${SOURCE_CODE}/dist/." "${DIST_DIR}/"
184
- echo "cp exit code: $?"
185
-
186
- # 检查所有被引用的 utils 文件是否存在
187
- for chunk in $(grep -oE "utils-[A-Za-z0-9]+\.js" "${DIST_DIR}/index.js" 2>/dev/null | sort -u); do
188
- if [ ! -f "${DIST_DIR}/${chunk}" ]; then
189
- echo -e "${RED}❌ 致命错误: dist 缺失关键模块 ${chunk}${NC}"
190
- echo -e "${YELLOW}请在源码端执行: rm -rf dist && pnpm build && npm publish${NC}"
191
- exit 1
192
- fi
193
- done
194
- else
195
- echo -e "${RED}❌ 错误: 母本 dist 不存在${NC}"; exit 1
196
- fi
224
+ # --- 7. 预装可选技能 (修复:即使失败也不影响主流程) ---
225
+ echo -e "${BLUE}🤖 正在注入飞书运维机器人引导...${NC}"
226
+ SKILLS_DIR="${INSTANCE_DIR}/workspace/skills"
227
+ mkdir -p "$SKILLS_DIR"
197
228
 
198
- cp "${SOURCE_CODE}/package.json" "${INSTANCE_DIR}/package.json"
199
- [ -f "${SOURCE_CODE}/pnpm-lock.yaml" ] && cp "${SOURCE_CODE}/pnpm-lock.yaml" "${INSTANCE_DIR}/pnpm-lock.yaml"
229
+ SKILL_PKG="jinyu-skill-feishu-config"
230
+ REGISTRY="https://registry.npmmirror.com"
200
231
 
201
- # --- 6. 固化本地依赖 (关键修复:确保安装执行,并避免 workspace 提升) ---
202
- echo -e "${BLUE}📦 正在固化运行环境 (pnpm)...${NC}"
203
- export SHARP_BINARY_HOST="https://npmmirror.com/mirrors/sharp"
204
- export SHARP_LIBVIPS_BINARY_HOST="https://npmmirror.com/mirrors/sharp-libvips"
232
+ # 创建临时目录用于下载
233
+ TEMP_DIR=$(mktemp -d)
234
+ cd "$TEMP_DIR"
205
235
 
206
- cd "${INSTANCE_DIR}"
207
- echo -e "${YELLOW}📍 安装路径确认: $(pwd)${NC}"
208
-
209
- # 检查并移除可能影响 workspace 的文件
210
- if [ -f "${INSTANCES_BASE}/pnpm-workspace.yaml" ]; then
211
- echo -e "${YELLOW}⚠️ 检测到 ${INSTANCES_BASE}/pnpm-workspace.yaml,临时重命名以避免干扰${NC}"
212
- 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}"
213
243
  fi
214
244
 
215
- # 强制安装依赖,添加 --ignore-workspace 避免 workspace 提升
216
- pnpm install --shamefully-hoist --ignore-workspace --registry=https://registry.npmmirror.com --no-frozen-lockfile
217
-
218
- # 验证 node_modules 是否生成
219
- if [ ! -d "node_modules" ]; then
220
- echo -e "${RED} 严重错误: pnpm install 完成但 node_modules 目录未创建!${NC}"
221
- exit 1
245
+ cd - > /dev/null
246
+ rm -rf "$TEMP_DIR"
247
+
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}"
222
273
  fi
223
- echo -e "${GREEN}✅ 依赖安装成功,node_modules 已生成在实例目录${NC}"
224
-
225
- # --- 7. 预装可选技能 (修复:即使失败也不影响主流程) ---
226
- echo -e "${BLUE}🤖 正在注入飞书运维机器人引导...${NC}"
227
- SKILLS_DIR="${INSTANCE_DIR}/workspace/skills"
228
- mkdir -p "$SKILLS_DIR/workspace-git"
229
- mkdir -p "$SKILLS_DIR/feishu-config"
230
-
231
- # 使用 || true 防止私有包不存在导致 set -e 中断脚本
232
- pnpm add jinyu-skill-git --prefix "$SKILLS_DIR/workspace-git" --registry=https://registry.npmmirror.com >/dev/null 2>&1 || echo "⚠️ 技能 git 跳过"
233
- pnpm add jinyu-skill-feishu-config --prefix "$SKILLS_DIR/feishu-config" --registry=https://registry.npmmirror.com >/dev/null 2>&1 || echo "⚠️ 技能 feishu 跳过"
234
-
235
- cat > "${INSTANCE_DIR}/workspace/BOOTSTRAP.md" << 'EOF'
236
- # 首次启动引导任务
237
- 1. 调用 `feishu-config` 技能,开始飞书机器人自动配置流程。
238
- 2. 机器人名称设定为:**运维**。
239
- EOF
240
274
 
241
275
  # --- 8. 生成增强型启动脚本 ---
242
276
  cat > "${INSTANCE_DIR}/start.sh" << 'EOF'
@@ -252,7 +286,7 @@ if [ -f "$OPENCLAW_CONFIG_PATH" ]; then
252
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] + '\"'); })")
253
287
  fi
254
288
 
255
- # macOS launchd 守护
289
+ # macOS launchd 守护配置(保持不变)
256
290
  if [[ "$OSTYPE" == "darwin"* ]]; then
257
291
  PLIST_LABEL="ai.openclaw.$INSTANCE_NAME"
258
292
  PLIST_PATH="$HOME/Library/LaunchAgents/$PLIST_LABEL.plist"
@@ -273,8 +307,24 @@ EOP
273
307
  fi
274
308
  fi
275
309
 
276
- echo "🚀 启动 OpenClaw-$INSTANCE_NAME..."
277
- 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
278
328
  EOF
279
329
  chmod +x "${INSTANCE_DIR}/start.sh"
280
330
 
@@ -282,7 +332,7 @@ chmod +x "${INSTANCE_DIR}/start.sh"
282
332
  echo -e "${BLUE}⚡ 正在后台启动服务...${NC}"
283
333
  nohup ./start.sh > "${INSTANCE_DIR}/workspace/server.log" 2>&1 &
284
334
 
285
- sleep 2
335
+ sleep 2ƒ
286
336
  if ps -p $! > /dev/null; then
287
337
  echo -e "${GREEN}================================================${NC}"
288
338
  echo -e "${GREEN}🎉 实例 [${INSTANCE_NAME}] 初始化成功!${NC}"
@@ -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 };
@@ -1,24 +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 "./accounts-C9HcPI9h.js";
12
- import "./image-ops-BuUnEOE0.js";
13
- import "./path-alias-guards-BzvdLvTI.js";
14
- import "./fs-safe-CTYUrIgQ.js";
15
- import "./proxy-env-DlmzDx8x.js";
16
- import "./store-D89wDcz9.js";
17
- import "./fetch-DuraYswo.js";
18
- import "./fetch-guard-DWr0d00H.js";
19
- import "./ir-B83looB-.js";
20
- import "./fetch-BfuG8uZ8.js";
21
- import { t as sendMessageSignal } from "./send-dfu6_rgf.js";
22
- import "./outbound-attachment-DqHlD21U.js";
23
-
24
- export { sendMessageSignal };
@@ -1,22 +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 "./tokens-q32vI39c.js";
10
- import "./plugins-4Rj4OjLY.js";
11
- import "./accounts-Tgelvk0C.js";
12
- import { t as sendMessageSlack } from "./send-6lz6rNVP.js";
13
- import "./image-ops-BuUnEOE0.js";
14
- import "./path-alias-guards-BzvdLvTI.js";
15
- import "./fs-safe-CTYUrIgQ.js";
16
- import "./proxy-env-DlmzDx8x.js";
17
- import "./fetch-DuraYswo.js";
18
- import "./fetch-guard-DWr0d00H.js";
19
- import "./ir-B83looB-.js";
20
- import "./render-DW7AcFdD.js";
21
-
22
- export { sendMessageSlack };
@@ -1,27 +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 { o as sendMessageTelegram } from "./send-BHTiZcH3.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 "./proxy-fetch-B2pEfjbR.js";
21
- import "./ir-B83looB-.js";
22
- import "./render-DW7AcFdD.js";
23
- import "./fetch-BfuG8uZ8.js";
24
- import "./channel-activity-BDnjYF7B.js";
25
- import "./proxy-CecQTx_Z.js";
26
-
27
- export { sendMessageTelegram };