openclaw-multi-auto 1.0.2 → 1.0.3

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 (277) hide show
  1. package/dist/{accounts-C_lW3Ag9.js → accounts-BOzyfwW4.js} +2 -2
  2. package/dist/{accounts-C9HcPI9h.js → accounts-L9ByEpnP.js} +2 -2
  3. package/dist/{accounts-Tgelvk0C.js → accounts-yfBeCZtS.js} +17 -17
  4. package/dist/{active-listener-BEdprTkn.js → active-listener-D1yqT1cw.js} +2 -2
  5. package/dist/{api-key-rotation-BJpKWXy0.js → api-key-rotation-DtsNS2Nb.js} +2 -2
  6. package/dist/{audio-preflight-BMvgEQ5j.js → audio-preflight-DpxQCpsA.js} +32 -32
  7. package/dist/{audio-transcription-runner-gLFfz8fr.js → audio-transcription-runner-28fcRNNi.js} +12 -12
  8. package/dist/{audit-membership-runtime-Dntemq07.js → audit-membership-runtime-DWyHWAHM.js} +4 -4
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +51 -51
  11. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  12. package/dist/bundled/command-logger/handler.js +2 -2
  13. package/dist/bundled/session-memory/handler.js +51 -51
  14. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  15. package/dist/{channel-activity-BDnjYF7B.js → channel-activity-xHOMiarp.js} +3 -3
  16. package/dist/{chrome-DxxEKrY7.js → chrome-DwizpzOC.js} +18 -18
  17. package/dist/{commands-registry-D5qXbFJn.js → commands-registry-V1zZ5pPC.js} +4 -4
  18. package/dist/{deliver-DbdywYJE.js → deliver-D4o6VIur.js} +21 -21
  19. package/dist/deliver-runtime-P-G3bPjW.js +36 -0
  20. package/dist/deps-send-discord.runtime-DnbhTFX9.js +26 -0
  21. package/dist/deps-send-imessage.runtime-BOiQ6mDx.js +25 -0
  22. package/dist/deps-send-signal.runtime-CTcl388M.js +24 -0
  23. package/dist/deps-send-slack.runtime-CCqBz4Kg.js +22 -0
  24. package/dist/deps-send-telegram.runtime-DGSKTCpH.js +27 -0
  25. package/dist/deps-send-whatsapp.runtime-CJkTHkah.js +60 -0
  26. package/dist/{diagnostic-Co6Kghr-.js → diagnostic-Bn4PZjMZ.js} +2 -2
  27. package/dist/{errors-xt401nuk.js → errors-CCLeFWAg.js} +1 -1
  28. package/dist/{fetch-DuraYswo.js → fetch-BlJWzEP6.js} +5 -5
  29. package/dist/{fetch-guard-DWr0d00H.js → fetch-guard-ChYBwfiy.js} +2 -2
  30. package/dist/{frontmatter-BkTfEZ93.js → frontmatter-CvaMP376.js} +3 -3
  31. package/dist/{fs-safe-CTYUrIgQ.js → fs-safe-0jAo_Whb.js} +4 -4
  32. package/dist/{github-copilot-token-BDioPmd6.js → github-copilot-token-D13V9YBz.js} +7 -7
  33. package/dist/{image-eT7Y-nP5.js → image-Bbn53mzj.js} +6 -6
  34. package/dist/{image-ops-BuUnEOE0.js → image-ops-CehkHxmW.js} +2 -2
  35. package/dist/image-runtime-CVv2ra9J.js +29 -0
  36. package/dist/{ir-B83looB-.js → ir-DAP-B-Xw.js} +8 -8
  37. package/dist/{legacy-names-DOC03BkU.js → legacy-names-TyzbVqa_.js} +1 -1
  38. package/dist/llm-slug-generator.js +51 -51
  39. package/dist/{logger-BfjWMCSD.js → logger-DMZQQtxK.js} +7 -7
  40. package/dist/{login-CrIwcrVI.js → login-DiCctRo1.js} +5 -5
  41. package/dist/{login-qr-BpPDZdl_.js → login-qr-MUbXgjtd.js} +10 -10
  42. package/dist/{manager-1bvuGrNR.js → manager-BW_NSIMl.js} +13 -13
  43. package/dist/manager-runtime-BN6VevdC.js +18 -0
  44. package/dist/{model-selection-Dna0Gz1k.js → model-selection-idoqPmw0.js} +43 -43
  45. package/dist/{outbound-ChDjtuD6.js → outbound-C2kanETZ.js} +6 -6
  46. package/dist/{outbound-attachment-DqHlD21U.js → outbound-attachment-DBrYWX8h.js} +2 -2
  47. package/dist/{path-alias-guards-BzvdLvTI.js → path-alias-guards-DqXRZmsL.js} +1 -1
  48. package/dist/{paths-Cvc9EM8Y.js → paths-C6TxBCvO.js} +5 -5
  49. package/dist/{paths-Bkr-BCxW.js → paths-CCxysrzL.js} +4 -4
  50. package/dist/{pi-embedded-BQQa91aA.js → pi-embedded-BaGj07T0.js} +158 -158
  51. package/dist/{pi-embedded-helpers-CLXm10bV.js → pi-embedded-helpers-wy0DZvx1.js} +52 -52
  52. package/dist/pi-model-discovery-BGgOlX8N.js +134 -0
  53. package/dist/pi-model-discovery-runtime-Bwmi4Ev8.js +11 -0
  54. package/dist/{pi-tools.before-tool-call.runtime-Cwab_5W1.js → pi-tools.before-tool-call.runtime-BuLxSyx9.js} +9 -9
  55. package/dist/plugin-sdk/{accounts-DyFCXtHv.js → accounts-BslAlVYS.js} +2 -2
  56. package/dist/plugin-sdk/{accounts-BJAXxY46.js → accounts-C3m65--E.js} +2 -2
  57. package/dist/plugin-sdk/accounts-CJWOBzwB.js +35 -0
  58. package/dist/plugin-sdk/{accounts-C1j7HSL0.js → accounts-CNCCkdEF.js} +3 -3
  59. package/dist/plugin-sdk/accounts-DP1-L-QS.js +288 -0
  60. package/dist/plugin-sdk/accounts-DZhWlEg3.js +46 -0
  61. package/dist/plugin-sdk/{active-listener-CftX5jLD.js → active-listener-B_sLJTXM.js} +2 -2
  62. package/dist/plugin-sdk/active-listener-CkPnMUkB.js +50 -0
  63. package/dist/plugin-sdk/{api-key-rotation-8nyyt1kx.js → api-key-rotation-BRE4X2tf.js} +2 -2
  64. package/dist/plugin-sdk/api-key-rotation-BXnNsojA.js +181 -0
  65. package/dist/plugin-sdk/{audio-preflight-C_aSAPR1.js → audio-preflight-CtO4fFvp.js} +26 -26
  66. package/dist/plugin-sdk/audio-preflight-DGEUDxxR.js +69 -0
  67. package/dist/plugin-sdk/audio-transcription-runner-DkoPNPYt.js +2176 -0
  68. package/dist/plugin-sdk/{audio-transcription-runner-CB53F7_7.js → audio-transcription-runner-DnxvOS1-.js} +11 -11
  69. package/dist/plugin-sdk/{audit-membership-runtime-BXndI4LG.js → audit-membership-runtime-BpfoSk8M.js} +2 -2
  70. package/dist/plugin-sdk/audit-membership-runtime-DSBHHw7o.js +58 -0
  71. package/dist/plugin-sdk/channel-activity-F3d0yUwy.js +94 -0
  72. package/dist/plugin-sdk/{channel-activity-C5y8AgAV.js → channel-activity-WJYxcJ3S.js} +3 -3
  73. package/dist/plugin-sdk/channel-web-QF7EpjeP.js +2256 -0
  74. package/dist/plugin-sdk/{channel-web-DBTRO03V.js → channel-web-dO5k3ubM.js} +18 -18
  75. package/dist/plugin-sdk/chrome-BXoCyCkY.js +2415 -0
  76. package/dist/plugin-sdk/{chrome-f00sZkDX.js → chrome-CjNTuJML.js} +6 -6
  77. package/dist/plugin-sdk/{commands-registry-BJ_NxG2F.js → commands-registry-CdYjoI0i.js} +4 -4
  78. package/dist/plugin-sdk/commands-registry-t7cXBTfN.js +1125 -0
  79. package/dist/plugin-sdk/{common-Cf27Jwxu.js → common-oYc5vPFl.js} +2 -2
  80. package/dist/plugin-sdk/{config-CHQrpx-Q.js → config-B1z-UxQ3.js} +7 -7
  81. package/dist/plugin-sdk/config-BkEnz2Po.js +17913 -0
  82. package/dist/plugin-sdk/deliver-B6AG_l67.js +1694 -0
  83. package/dist/plugin-sdk/{deliver-DNEuetST.js → deliver-D5_6T567.js} +10 -10
  84. package/dist/plugin-sdk/deliver-runtime-C5dgvvga.js +32 -0
  85. package/dist/plugin-sdk/deliver-runtime-D585kJZc.js +32 -0
  86. package/dist/plugin-sdk/deps-send-discord.runtime-Dg4N7PHJ.js +23 -0
  87. package/dist/plugin-sdk/deps-send-discord.runtime-a_OKY2js.js +23 -0
  88. package/dist/plugin-sdk/deps-send-imessage.runtime-0OEwzMQm.js +22 -0
  89. package/dist/plugin-sdk/deps-send-imessage.runtime-Baxy9TD4.js +22 -0
  90. package/dist/plugin-sdk/deps-send-signal.runtime-BM1jRt3G.js +21 -0
  91. package/dist/plugin-sdk/deps-send-signal.runtime-BwXoCrFl.js +21 -0
  92. package/dist/plugin-sdk/deps-send-slack.runtime-1E3BYRdF.js +19 -0
  93. package/dist/plugin-sdk/deps-send-slack.runtime-CLmKjgso.js +19 -0
  94. package/dist/plugin-sdk/deps-send-telegram.runtime-BKfdBKnZ.js +24 -0
  95. package/dist/plugin-sdk/deps-send-telegram.runtime-DNCxIflA.js +24 -0
  96. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BOTwkbx_.js +57 -0
  97. package/dist/plugin-sdk/deps-send-whatsapp.runtime-OLwr-9c8.js +57 -0
  98. package/dist/plugin-sdk/{diagnostic-LYUUmjJ5.js → diagnostic-Bxxu0ig-.js} +2 -2
  99. package/dist/plugin-sdk/diagnostic-CsP-lEkI.js +319 -0
  100. package/dist/plugin-sdk/discord.js +6 -6
  101. package/dist/plugin-sdk/{errors-CtMWwS2Z.js → errors-B3cHyZZA.js} +1 -1
  102. package/dist/plugin-sdk/errors-DaiAM-yU.js +54 -0
  103. package/dist/plugin-sdk/fetch-guard-DETCcJzQ.js +156 -0
  104. package/dist/plugin-sdk/{fetch-guard-CxYB5Kg6.js → fetch-guard-Dcgod0tg.js} +2 -2
  105. package/dist/plugin-sdk/fs-safe-B8y811FR.js +352 -0
  106. package/dist/plugin-sdk/{fs-safe-DtfhxbrI.js → fs-safe-BaKqI3G4.js} +3 -3
  107. package/dist/plugin-sdk/{image-BwjYjRHx.js → image-B2mQW9Rb.js} +6 -6
  108. package/dist/plugin-sdk/image-DjTEkYZE.js +2310 -0
  109. package/dist/plugin-sdk/image-ops-BSiMpAw4.js +584 -0
  110. package/dist/plugin-sdk/{image-ops-BnZKcbd6.js → image-ops-Cbzr4U9l.js} +2 -2
  111. package/dist/plugin-sdk/image-runtime-6xPp8m5a.js +25 -0
  112. package/dist/plugin-sdk/image-runtime-BFm45j49.js +25 -0
  113. package/dist/plugin-sdk/index.js +50 -50
  114. package/dist/plugin-sdk/ir-DQ7_HbvK.js +1296 -0
  115. package/dist/plugin-sdk/{ir-Z4hX67TJ.js → ir-ZEmrTr4J.js} +7 -7
  116. package/dist/plugin-sdk/local-roots-BUP4YBmR.js +186 -0
  117. package/dist/plugin-sdk/{local-roots-KhjQw04O.js → local-roots-CIPRxA-4.js} +4 -4
  118. package/dist/plugin-sdk/logger-CZY9KIoY.js +1163 -0
  119. package/dist/plugin-sdk/{logger-DHIIvMxj.js → logger-CvPFVOgT.js} +2 -2
  120. package/dist/plugin-sdk/login-BxEKLlCo.js +57 -0
  121. package/dist/plugin-sdk/{login-C31642Ld.js → login-CCTew9bt.js} +4 -4
  122. package/dist/plugin-sdk/{login-qr--y2SG_Ue.js → login-qr-BI3Vi_wJ.js} +5 -5
  123. package/dist/plugin-sdk/login-qr-BQIpMPr9.js +320 -0
  124. package/dist/plugin-sdk/{manager-2UZBMCc7.js → manager-BEoYPn7R.js} +8 -8
  125. package/dist/plugin-sdk/manager-I6KbPihW.js +3917 -0
  126. package/dist/plugin-sdk/manager-runtime-CFfYYWIQ.js +15 -0
  127. package/dist/plugin-sdk/manager-runtime-DxclHQ4U.js +15 -0
  128. package/dist/plugin-sdk/mattermost.js +3 -3
  129. package/dist/plugin-sdk/{outbound-Ba0QUI5h.js → outbound-ByOw1K6W.js} +5 -5
  130. package/dist/plugin-sdk/outbound-NS6UHnB6.js +212 -0
  131. package/dist/plugin-sdk/{outbound-attachment-B1Laso-8.js → outbound-attachment-BzVhxRRw.js} +2 -2
  132. package/dist/plugin-sdk/outbound-attachment-Dy6fyf6H.js +19 -0
  133. package/dist/plugin-sdk/{path-alias-guards-C7Vm5DZ1.js → path-alias-guards-DBjLbIX_.js} +1 -1
  134. package/dist/plugin-sdk/path-alias-guards-sWayacde.js +43 -0
  135. package/dist/plugin-sdk/{paths-DopV9PQG.js → paths-Dpg3qxcl.js} +1 -1
  136. package/dist/plugin-sdk/paths-vTM3Lh3X.js +166 -0
  137. package/dist/plugin-sdk/pi-embedded-helpers-1R1gu7eX.js +9627 -0
  138. package/dist/plugin-sdk/{pi-embedded-helpers-DnA_OCzP.js → pi-embedded-helpers-DIxXkGJf.js} +16 -16
  139. package/dist/plugin-sdk/{pi-model-discovery-DdPqXk8f.js → pi-model-discovery-DM_2uFtj.js} +1 -1
  140. package/dist/plugin-sdk/pi-model-discovery-runtime-BuzvkvNR.js +8 -0
  141. package/dist/plugin-sdk/pi-model-discovery-runtime-Do9o-dUd.js +8 -0
  142. package/dist/{pi-model-discovery-Dymwdjt0.js → plugin-sdk/pi-model-discovery-v-XPUOOf.js} +2 -2
  143. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D4sFsIks.js +354 -0
  144. package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-DxFHiLUE.js → pi-tools.before-tool-call.runtime-w1dqL_ty.js} +4 -4
  145. package/dist/plugin-sdk/{plugins-CbCt4osF.js → plugins-C4USiH29.js} +4 -4
  146. package/dist/plugin-sdk/plugins-DeBZB9l_.js +864 -0
  147. package/dist/plugin-sdk/{proxy-env-C63mMdas.js → proxy-env-ET-rp8eg.js} +1 -1
  148. package/dist/plugin-sdk/{proxy-fetch-Ch95c_Y2.js → proxy-fetch-ChxOhWF4.js} +1 -1
  149. package/dist/{proxy-fetch-B2pEfjbR.js → plugin-sdk/proxy-fetch-uDXGKG3Z.js} +1 -1
  150. package/dist/plugin-sdk/{pw-ai-DpJk62D4.js → pw-ai-CyOt3RDA.js} +9 -9
  151. package/dist/plugin-sdk/pw-ai-DEOmCSSC.js +1938 -0
  152. package/dist/plugin-sdk/{qmd-manager-Ca-iSfEE.js → qmd-manager-BySdoVR7.js} +7 -7
  153. package/dist/plugin-sdk/qmd-manager-HyYKoEch.js +1448 -0
  154. package/dist/plugin-sdk/{query-expansion-B_Xe41Ab.js → query-expansion-C6uS-7lj.js} +4 -4
  155. package/dist/plugin-sdk/query-expansion-CeyKUeDW.js +1011 -0
  156. package/dist/plugin-sdk/{redact-hp9TOulW.js → redact-Bvxt1T_Q.js} +1 -1
  157. package/dist/{redact-COik8ET1.js → plugin-sdk/redact-DjVX-1N3.js} +1 -1
  158. package/dist/plugin-sdk/{reply-CovBlFea.js → reply-CTCSeQqW.js} +73 -73
  159. package/dist/plugin-sdk/reply-DAo_Jt8K.js +97916 -0
  160. package/dist/plugin-sdk/resolve-outbound-target-B42qgQS9.js +40 -0
  161. package/dist/plugin-sdk/{resolve-outbound-target-BbrHgyUk.js → resolve-outbound-target-Bw8YNANu.js} +2 -2
  162. package/dist/plugin-sdk/run-with-concurrency-Bt_ks0Qa.js +1994 -0
  163. package/dist/plugin-sdk/{run-with-concurrency-BR1DXa8T.js → run-with-concurrency-C_KCHwvf.js} +1 -1
  164. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6W989eF.js +10 -0
  165. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-BxgRDkhc.js +10 -0
  166. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-c_GDFy37.js +19 -0
  167. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-elOqrkfg.js +19 -0
  168. package/dist/plugin-sdk/{send-BvAtLLPl.js → send-BZ6nYFZr.js} +5 -5
  169. package/dist/plugin-sdk/{send-BTztm3D2.js → send-C0w6xP2x.js} +6 -6
  170. package/dist/plugin-sdk/{send-CWJUuG0i.js → send-CFf-1V89.js} +8 -8
  171. package/dist/plugin-sdk/send-CQpMudwO.js +2587 -0
  172. package/dist/plugin-sdk/{send-EcglC4cG.js → send-CY-Qfwia.js} +7 -7
  173. package/dist/plugin-sdk/send-DQHLzVyO.js +414 -0
  174. package/dist/plugin-sdk/send-DTB24bEF.js +3135 -0
  175. package/dist/plugin-sdk/send-DfHadjZ_.js +503 -0
  176. package/dist/plugin-sdk/send-XXlW2iny.js +540 -0
  177. package/dist/plugin-sdk/{send-BXpXBwM_.js → send-qPyNGSe4.js} +13 -13
  178. package/dist/plugin-sdk/session-6TF6MyaC.js +169 -0
  179. package/dist/plugin-sdk/{session-k256LJZT.js → session-COrvpvUQ.js} +3 -3
  180. package/dist/plugin-sdk/signal.js +2 -2
  181. package/dist/plugin-sdk/skill-commands-CkGeFUMl.js +342 -0
  182. package/dist/plugin-sdk/{skill-commands-DoRqLzxm.js → skill-commands-DZqhtmiv.js} +4 -4
  183. package/dist/plugin-sdk/skills-CBkHBYPq.js +1428 -0
  184. package/dist/plugin-sdk/{skills-QudILG6e.js → skills-Cw_vXEJb.js} +6 -6
  185. package/dist/plugin-sdk/slash-commands.runtime-CxliuGaP.js +13 -0
  186. package/dist/plugin-sdk/slash-commands.runtime-D67JLweo.js +13 -0
  187. package/dist/plugin-sdk/slash-dispatch.runtime-DFaeYlJQ.js +52 -0
  188. package/dist/plugin-sdk/slash-dispatch.runtime-DvcpvCJ0.js +52 -0
  189. package/dist/plugin-sdk/slash-skill-commands.runtime-0M0OLCxq.js +16 -0
  190. package/dist/plugin-sdk/slash-skill-commands.runtime-BM1x3azR.js +16 -0
  191. package/dist/plugin-sdk/ssrf-cFtplYtS.js +202 -0
  192. package/dist/plugin-sdk/store-5nyxY3WU.js +81 -0
  193. package/dist/plugin-sdk/{store-BbDQw3g6.js → store-CMHj6IIw.js} +2 -2
  194. package/dist/plugin-sdk/subagent-registry-runtime-1lbDyRzz.js +52 -0
  195. package/dist/plugin-sdk/subagent-registry-runtime-DCtmDwna.js +52 -0
  196. package/dist/plugin-sdk/tables-C47P4GTN.js +55 -0
  197. package/dist/plugin-sdk/{tables-BhvloMKN.js → tables-CSqrHsKL.js} +1 -1
  198. package/dist/{target-errors-mnlwhAjP.js → plugin-sdk/target-errors-Blia4S69.js} +2 -2
  199. package/dist/plugin-sdk/thinking-Bo2eosVa.js +1206 -0
  200. package/dist/plugin-sdk/{thinking-URzkT-3p.js → thinking-DOnsR_A8.js} +7 -7
  201. package/dist/plugin-sdk/{tokens-B1PW5Ayy.js → tokens-BDr0Z9o3.js} +1 -1
  202. package/dist/{tokens-q32vI39c.js → plugin-sdk/tokens-DgNRBwIg.js} +1 -1
  203. package/dist/plugin-sdk/{tool-images-xpqbP6RR.js → tool-images-Gk_-0y2N.js} +2 -2
  204. package/dist/plugin-sdk/tool-images-eEfOVkzf.js +274 -0
  205. package/dist/plugin-sdk/web-BLyT64pW.js +56 -0
  206. package/dist/plugin-sdk/web-CVxZbXyH.js +56 -0
  207. package/dist/plugin-sdk/whatsapp-actions-Bw0H9g-n.js +80 -0
  208. package/dist/plugin-sdk/{whatsapp-actions-RcZ6vp61.js → whatsapp-actions-xcleMoMv.js} +17 -17
  209. package/dist/plugin-sdk/whatsapp.js +50 -50
  210. package/dist/{plugins-4Rj4OjLY.js → plugins-CWkRQYDj.js} +11 -11
  211. package/dist/{proxy-env-DlmzDx8x.js → proxy-env-Cq5gdrbj.js} +1 -1
  212. package/dist/proxy-fetch-CCjEYbFm.js +38 -0
  213. package/dist/{pw-ai-DNMjFMqH.js → pw-ai-Cl1Lc7RC.js} +14 -14
  214. package/dist/{qmd-manager-BtIKUaO9.js → qmd-manager-BsYsO9Ii.js} +10 -10
  215. package/dist/{query-expansion-CX-1fS52.js → query-expansion-DtLc3wjL.js} +6 -6
  216. package/dist/redact-ClbcYG1J.js +319 -0
  217. package/dist/{run-with-concurrency-BgYfgkXT.js → run-with-concurrency-D_ZpbgEG.js} +4 -4
  218. package/dist/runtime-whatsapp-login.runtime-IeylZEl4.js +13 -0
  219. package/dist/runtime-whatsapp-outbound.runtime-ClBRuLsq.js +22 -0
  220. package/dist/{send-dfu6_rgf.js → send-BQERFNyo.js} +5 -5
  221. package/dist/{send-L7gRiwyd.js → send-Bj776ESJ.js} +7 -7
  222. package/dist/{send-PE6cwoTe.js → send-DcxmcFi_.js} +8 -8
  223. package/dist/{send-6lz6rNVP.js → send-Dx2RkUOZ.js} +6 -6
  224. package/dist/{send-BHTiZcH3.js → send-vmONuVgL.js} +26 -26
  225. package/dist/{session-D8ImowSs.js → session-A4QhBRvH.js} +8 -8
  226. package/dist/{skill-commands-DNqJ-kwn.js → skill-commands-CMzBZKG2.js} +9 -9
  227. package/dist/{skills-7ODkHQYp.js → skills-CE_iqvM5.js} +22 -22
  228. package/dist/slash-commands.runtime-Cpn2tYW4.js +16 -0
  229. package/dist/slash-dispatch.runtime-DoBAQBU5.js +56 -0
  230. package/dist/slash-skill-commands.runtime-DKMvvdDW.js +20 -0
  231. package/dist/{store-D89wDcz9.js → store--eR1R_UX.js} +2 -2
  232. package/dist/subagent-registry-runtime-ppWS3tVu.js +56 -0
  233. package/dist/{subsystem-B45WV3qB.js → subsystem-Di1z8l0Z.js} +14 -14
  234. package/dist/{tables-mE4cJBN2.js → tables-d739Y1xW.js} +1 -1
  235. package/dist/target-errors-CBI2Ga0y.js +195 -0
  236. package/dist/{thinking-BeGmb5k6.js → thinking-DXYisHiZ.js} +7 -7
  237. package/dist/tokens-DxnY9ui_.js +52 -0
  238. package/dist/{tool-images-RZdHiZcG.js → tool-images-2cBx1W8h.js} +2 -2
  239. package/dist/{web-Btj-e8kN.js → web-CzWRVmFt.js} +55 -55
  240. package/dist/{whatsapp-actions-BHbJJyqw.js → whatsapp-actions-iEArE_Ez.js} +21 -21
  241. package/dist/{workspace-U-DyR64O.js → workspace-CUVC6GX1.js} +20 -20
  242. package/package.json +6 -6
  243. package/scripts/create-instance.sh +50 -7
  244. package/scripts/install.sh +53 -49
  245. package/dist/deliver-runtime-BFs7iAZF.js +0 -36
  246. package/dist/deps-send-discord.runtime-DZUccI6Z.js +0 -26
  247. package/dist/deps-send-imessage.runtime-CF3OpoqY.js +0 -25
  248. package/dist/deps-send-signal.runtime-Cw4-ozeO.js +0 -24
  249. package/dist/deps-send-slack.runtime-BDsDhS1P.js +0 -22
  250. package/dist/deps-send-telegram.runtime-D_4xVasO.js +0 -27
  251. package/dist/deps-send-whatsapp.runtime-DK8jqd14.js +0 -60
  252. package/dist/image-runtime-BcAK3n8a.js +0 -29
  253. package/dist/manager-runtime-FO1Sx3W8.js +0 -18
  254. package/dist/pi-model-discovery-runtime-BeY4EUPp.js +0 -11
  255. package/dist/plugin-sdk/deliver-runtime-BFdqklJM.js +0 -32
  256. package/dist/plugin-sdk/deps-send-discord.runtime-DuqpYwU0.js +0 -23
  257. package/dist/plugin-sdk/deps-send-imessage.runtime-CZ2rS8Lb.js +0 -22
  258. package/dist/plugin-sdk/deps-send-signal.runtime-BdqiWhIh.js +0 -21
  259. package/dist/plugin-sdk/deps-send-slack.runtime-04s36qiC.js +0 -19
  260. package/dist/plugin-sdk/deps-send-telegram.runtime-LE5tkPvr.js +0 -24
  261. package/dist/plugin-sdk/deps-send-whatsapp.runtime-Bz57lobC.js +0 -57
  262. package/dist/plugin-sdk/image-runtime-B8twoubs.js +0 -25
  263. package/dist/plugin-sdk/manager-runtime-CMeLwose.js +0 -15
  264. package/dist/plugin-sdk/pi-model-discovery-runtime-D8CJhtJY.js +0 -8
  265. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-SkO91TZH.js +0 -10
  266. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-B0VWK5hm.js +0 -19
  267. package/dist/plugin-sdk/slash-commands.runtime-DS6vCNSL.js +0 -13
  268. package/dist/plugin-sdk/slash-dispatch.runtime-BXrxb2wd.js +0 -52
  269. package/dist/plugin-sdk/slash-skill-commands.runtime-Bd6qQ2oT.js +0 -16
  270. package/dist/plugin-sdk/subagent-registry-runtime-1uwQbuXj.js +0 -52
  271. package/dist/plugin-sdk/web-B74yhL2N.js +0 -56
  272. package/dist/runtime-whatsapp-login.runtime-DUb55byQ.js +0 -13
  273. package/dist/runtime-whatsapp-outbound.runtime-Bii_xSfI.js +0 -22
  274. package/dist/slash-commands.runtime-CVw6566g.js +0 -16
  275. package/dist/slash-dispatch.runtime-B9Ygtzi4.js +0 -56
  276. package/dist/slash-skill-commands.runtime-DxZ4z5h6.js +0 -20
  277. package/dist/subagent-registry-runtime-DL1Wv7nA.js +0 -56
@@ -1,10 +1,10 @@
1
- import { l as resolveDefaultAgentId } from "./run-with-concurrency-BgYfgkXT.js";
2
- import { t as createSubsystemLogger } from "./subsystem-B45WV3qB.js";
3
- import { G as normalizeAccountId, K as normalizeOptionalAccountId, R as normalizeAgentId, W as DEFAULT_ACCOUNT_ID } from "./workspace-U-DyR64O.js";
4
- import { h as normalizeE164 } from "./logger-BfjWMCSD.js";
5
- import { Gt as normalizeAnyChannelId, Ht as CHAT_CHANNEL_ORDER, Xt as getActivePluginRegistryVersion, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, gr as normalizeResolvedSecretInputString, qt as normalizeChatChannelId } from "./model-selection-Dna0Gz1k.js";
6
- import { g as createAccountListHelpers, h as resolveAccountEntry } from "./accounts-Tgelvk0C.js";
7
- import fs from "node:fs";
1
+ import { l as resolveDefaultAgentId } from "./run-with-concurrency-D_ZpbgEG.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-Di1z8l0Z.js";
3
+ import { G as normalizeAccountId, K as normalizeOptionalAccountId, R as normalizeAgentId, W as DEFAULT_ACCOUNT_ID } from "./workspace-CUVC6GX1.js";
4
+ import { h as normalizeE164 } from "./logger-DMZQQtxK.js";
5
+ import { Gt as normalizeAnyChannelId, Ht as CHAT_CHANNEL_ORDER, Xt as getActivePluginRegistryVersion, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, gr as normalizeResolvedSecretInputString, qt as normalizeChatChannelId } from "./model-selection-idoqPmw0.js";
6
+ import { g as createAccountListHelpers, h as resolveAccountEntry } from "./accounts-yfBeCZtS.js";
7
+ import syncFs from "node:fs";
8
8
  import util from "node:util";
9
9
 
10
10
  //#region src/channels/plugins/account-action-gate.ts
@@ -317,7 +317,7 @@ function resolveTelegramToken(cfg, opts = {}) {
317
317
  const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
318
318
  const accountTokenFile = accountCfg?.tokenFile?.trim();
319
319
  if (accountTokenFile) {
320
- if (!fs.existsSync(accountTokenFile)) {
320
+ if (!syncFs.existsSync(accountTokenFile)) {
321
321
  opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
322
322
  return {
323
323
  token: "",
@@ -325,7 +325,7 @@ function resolveTelegramToken(cfg, opts = {}) {
325
325
  };
326
326
  }
327
327
  try {
328
- const token = fs.readFileSync(accountTokenFile, "utf-8").trim();
328
+ const token = syncFs.readFileSync(accountTokenFile, "utf-8").trim();
329
329
  if (token) return {
330
330
  token,
331
331
  source: "tokenFile"
@@ -353,7 +353,7 @@ function resolveTelegramToken(cfg, opts = {}) {
353
353
  const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
354
354
  const tokenFile = telegramCfg?.tokenFile?.trim();
355
355
  if (tokenFile) {
356
- if (!fs.existsSync(tokenFile)) {
356
+ if (!syncFs.existsSync(tokenFile)) {
357
357
  opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
358
358
  return {
359
359
  token: "",
@@ -361,7 +361,7 @@ function resolveTelegramToken(cfg, opts = {}) {
361
361
  };
362
362
  }
363
363
  try {
364
- const token = fs.readFileSync(tokenFile, "utf-8").trim();
364
+ const token = syncFs.readFileSync(tokenFile, "utf-8").trim();
365
365
  if (token) return {
366
366
  token,
367
367
  source: "tokenFile"
@@ -1,4 +1,4 @@
1
- import { Et as parseLooseIpAddress, Tt as parseCanonicalIpAddress, _t as isBlockedSpecialUseIpv4Address, bt as isIpv4Address, gt as extractEmbeddedIpv4FromIpv6, vt as isBlockedSpecialUseIpv6Address, xt as isLegacyIpv4Literal, yt as isCanonicalDottedDecimalIPv4 } from "./model-selection-Dna0Gz1k.js";
1
+ import { Et as parseLooseIpAddress, Tt as parseCanonicalIpAddress, _t as isBlockedSpecialUseIpv4Address, bt as isIpv4Address, gt as extractEmbeddedIpv4FromIpv6, vt as isBlockedSpecialUseIpv6Address, xt as isLegacyIpv4Literal, yt as isCanonicalDottedDecimalIPv4 } from "./model-selection-idoqPmw0.js";
2
2
  import { lookup } from "node:dns";
3
3
  import { lookup as lookup$1 } from "node:dns/promises";
4
4
  import { Agent } from "undici";
@@ -0,0 +1,38 @@
1
+ import { i as logWarn } from "./logger-DMZQQtxK.js";
2
+ import { EnvHttpProxyAgent, ProxyAgent, fetch } from "undici";
3
+
4
+ //#region src/infra/net/proxy-fetch.ts
5
+ /**
6
+ * Create a fetch function that routes requests through the given HTTP proxy.
7
+ * Uses undici's ProxyAgent under the hood.
8
+ */
9
+ function makeProxyFetch(proxyUrl) {
10
+ const agent = new ProxyAgent(proxyUrl);
11
+ return ((input, init) => fetch(input, {
12
+ ...init,
13
+ dispatcher: agent
14
+ }));
15
+ }
16
+ /**
17
+ * Resolve a proxy-aware fetch from standard environment variables
18
+ * (HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy).
19
+ * Respects NO_PROXY / no_proxy exclusions via undici's EnvHttpProxyAgent.
20
+ * Returns undefined when no proxy is configured.
21
+ * Gracefully returns undefined if the proxy URL is malformed.
22
+ */
23
+ function resolveProxyFetchFromEnv() {
24
+ if (!(process.env.HTTPS_PROXY || process.env.HTTP_PROXY || process.env.https_proxy || process.env.http_proxy)?.trim()) return;
25
+ try {
26
+ const agent = new EnvHttpProxyAgent();
27
+ return ((input, init) => fetch(input, {
28
+ ...init,
29
+ dispatcher: agent
30
+ }));
31
+ } catch (err) {
32
+ logWarn(`Proxy env var set but agent creation failed — falling back to direct fetch: ${err instanceof Error ? err.message : String(err)}`);
33
+ return;
34
+ }
35
+ }
36
+
37
+ //#endregion
38
+ export { resolveProxyFetchFromEnv as n, makeProxyFetch as t };
@@ -1,17 +1,17 @@
1
- import "./run-with-concurrency-BgYfgkXT.js";
2
- import "./paths-Cvc9EM8Y.js";
3
- import { w as resolvePreferredOpenClawTmpDir } from "./subsystem-B45WV3qB.js";
4
- import "./workspace-U-DyR64O.js";
5
- import "./logger-BfjWMCSD.js";
6
- import { lr as formatCliCommand } from "./model-selection-Dna0Gz1k.js";
7
- import "./github-copilot-token-BDioPmd6.js";
8
- import "./legacy-names-DOC03BkU.js";
9
- 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-DxxEKrY7.js";
10
- import "./path-alias-guards-BzvdLvTI.js";
11
- import "./redact-COik8ET1.js";
12
- import { r as formatErrorMessage } from "./errors-xt401nuk.js";
13
- import { s as writeFileFromPathWithinRoot } from "./fs-safe-CTYUrIgQ.js";
14
- import "./proxy-env-DlmzDx8x.js";
1
+ import "./run-with-concurrency-D_ZpbgEG.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import { w as resolvePreferredOpenClawTmpDir } from "./subsystem-Di1z8l0Z.js";
4
+ import "./workspace-CUVC6GX1.js";
5
+ import "./logger-DMZQQtxK.js";
6
+ import { lr as formatCliCommand } from "./model-selection-idoqPmw0.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-TyzbVqa_.js";
9
+ 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-DwizpzOC.js";
10
+ import "./path-alias-guards-DqXRZmsL.js";
11
+ import "./redact-ClbcYG1J.js";
12
+ import { r as formatErrorMessage } from "./errors-CCLeFWAg.js";
13
+ import { s as writeFileFromPathWithinRoot } from "./fs-safe-0jAo_Whb.js";
14
+ import "./proxy-env-Cq5gdrbj.js";
15
15
  import fs from "node:fs/promises";
16
16
  import path from "node:path";
17
17
  import crypto from "node:crypto";
@@ -1,14 +1,14 @@
1
- import { c as resolveAgentWorkspaceDir } from "./run-with-concurrency-BgYfgkXT.js";
2
- import { c as resolveStateDir } from "./paths-Cvc9EM8Y.js";
3
- import { t as createSubsystemLogger } from "./subsystem-B45WV3qB.js";
4
- import { $ as parseAgentSessionKey } from "./workspace-U-DyR64O.js";
5
- import "./logger-BfjWMCSD.js";
6
- import "./path-alias-guards-BzvdLvTI.js";
7
- import "./redact-COik8ET1.js";
8
- import { c as writeFileWithinRoot } from "./fs-safe-CTYUrIgQ.js";
1
+ import { c as resolveAgentWorkspaceDir } from "./run-with-concurrency-D_ZpbgEG.js";
2
+ import { c as resolveStateDir } from "./paths-C6TxBCvO.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-Di1z8l0Z.js";
4
+ import { $ as parseAgentSessionKey } from "./workspace-CUVC6GX1.js";
5
+ import "./logger-DMZQQtxK.js";
6
+ import "./path-alias-guards-DqXRZmsL.js";
7
+ import "./redact-ClbcYG1J.js";
8
+ import { c as writeFileWithinRoot } from "./fs-safe-0jAo_Whb.js";
9
9
  import { n as resolveWindowsSpawnProgram, t as materializeWindowsSpawnProgram } from "./windows-spawn-B89VigUN.js";
10
- import "./paths-Bkr-BCxW.js";
11
- import { _ as isFileMissingError, i as listSessionFilesForAgent, n as requireNodeSqlite, r as buildSessionEntry, t as extractKeywords, v as statRegularFile } from "./query-expansion-CX-1fS52.js";
10
+ import "./paths-CCxysrzL.js";
11
+ import { _ as isFileMissingError, i as listSessionFilesForAgent, n as requireNodeSqlite, r as buildSessionEntry, t as extractKeywords, v as statRegularFile } from "./query-expansion-DtLc3wjL.js";
12
12
  import fs from "node:fs/promises";
13
13
  import os from "node:os";
14
14
  import path from "node:path";
@@ -1,11 +1,11 @@
1
- import { t as runTasksWithConcurrency } from "./run-with-concurrency-BgYfgkXT.js";
2
- import { t as createSubsystemLogger } from "./subsystem-B45WV3qB.js";
3
- import { t as redactSensitiveText } from "./redact-COik8ET1.js";
4
- import { o as resolveSessionTranscriptsDirForAgent } from "./paths-Bkr-BCxW.js";
1
+ import { t as runTasksWithConcurrency } from "./run-with-concurrency-D_ZpbgEG.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-Di1z8l0Z.js";
3
+ import { t as redactSensitiveText } from "./redact-ClbcYG1J.js";
4
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-CCxysrzL.js";
5
5
  import { createRequire } from "node:module";
6
6
  import fs from "node:fs/promises";
7
7
  import path from "node:path";
8
- import fs$1 from "node:fs";
8
+ import syncFs from "node:fs";
9
9
  import crypto from "node:crypto";
10
10
 
11
11
  //#region src/memory/fs-utils.ts
@@ -31,7 +31,7 @@ async function statRegularFile(absPath) {
31
31
  //#region src/memory/internal.ts
32
32
  function ensureDir(dir) {
33
33
  try {
34
- fs$1.mkdirSync(dir, { recursive: true });
34
+ syncFs.mkdirSync(dir, { recursive: true });
35
35
  } catch {}
36
36
  return dir;
37
37
  }
@@ -0,0 +1,319 @@
1
+ import { S as resolveNodeRequireFromMeta } from "./subsystem-Di1z8l0Z.js";
2
+
3
+ //#region src/security/safe-regex.ts
4
+ const SAFE_REGEX_CACHE_MAX = 256;
5
+ const SAFE_REGEX_TEST_WINDOW = 2048;
6
+ const safeRegexCache = /* @__PURE__ */ new Map();
7
+ function createParseFrame() {
8
+ return {
9
+ lastToken: null,
10
+ containsRepetition: false,
11
+ hasAlternation: false,
12
+ branchMinLength: 0,
13
+ branchMaxLength: 0,
14
+ altMinLength: null,
15
+ altMaxLength: null
16
+ };
17
+ }
18
+ function addLength(left, right) {
19
+ if (!Number.isFinite(left) || !Number.isFinite(right)) return Number.POSITIVE_INFINITY;
20
+ return left + right;
21
+ }
22
+ function multiplyLength(length, factor) {
23
+ if (!Number.isFinite(length)) return factor === 0 ? 0 : Number.POSITIVE_INFINITY;
24
+ return length * factor;
25
+ }
26
+ function recordAlternative(frame) {
27
+ if (frame.altMinLength === null || frame.altMaxLength === null) {
28
+ frame.altMinLength = frame.branchMinLength;
29
+ frame.altMaxLength = frame.branchMaxLength;
30
+ return;
31
+ }
32
+ frame.altMinLength = Math.min(frame.altMinLength, frame.branchMinLength);
33
+ frame.altMaxLength = Math.max(frame.altMaxLength, frame.branchMaxLength);
34
+ }
35
+ function readQuantifier(source, index) {
36
+ const ch = source[index];
37
+ const consumed = source[index + 1] === "?" ? 2 : 1;
38
+ if (ch === "*") return {
39
+ consumed,
40
+ minRepeat: 0,
41
+ maxRepeat: null
42
+ };
43
+ if (ch === "+") return {
44
+ consumed,
45
+ minRepeat: 1,
46
+ maxRepeat: null
47
+ };
48
+ if (ch === "?") return {
49
+ consumed,
50
+ minRepeat: 0,
51
+ maxRepeat: 1
52
+ };
53
+ if (ch !== "{") return null;
54
+ let i = index + 1;
55
+ while (i < source.length && /\d/.test(source[i])) i += 1;
56
+ if (i === index + 1) return null;
57
+ const minRepeat = Number.parseInt(source.slice(index + 1, i), 10);
58
+ let maxRepeat = minRepeat;
59
+ if (source[i] === ",") {
60
+ i += 1;
61
+ const maxStart = i;
62
+ while (i < source.length && /\d/.test(source[i])) i += 1;
63
+ maxRepeat = i === maxStart ? null : Number.parseInt(source.slice(maxStart, i), 10);
64
+ }
65
+ if (source[i] !== "}") return null;
66
+ i += 1;
67
+ if (source[i] === "?") i += 1;
68
+ if (maxRepeat !== null && maxRepeat < minRepeat) return null;
69
+ return {
70
+ consumed: i - index,
71
+ minRepeat,
72
+ maxRepeat
73
+ };
74
+ }
75
+ function tokenizePattern(source) {
76
+ const tokens = [];
77
+ let inCharClass = false;
78
+ for (let i = 0; i < source.length; i += 1) {
79
+ const ch = source[i];
80
+ if (ch === "\\") {
81
+ i += 1;
82
+ tokens.push({ kind: "simple-token" });
83
+ continue;
84
+ }
85
+ if (inCharClass) {
86
+ if (ch === "]") inCharClass = false;
87
+ continue;
88
+ }
89
+ if (ch === "[") {
90
+ inCharClass = true;
91
+ tokens.push({ kind: "simple-token" });
92
+ continue;
93
+ }
94
+ if (ch === "(") {
95
+ tokens.push({ kind: "group-open" });
96
+ continue;
97
+ }
98
+ if (ch === ")") {
99
+ tokens.push({ kind: "group-close" });
100
+ continue;
101
+ }
102
+ if (ch === "|") {
103
+ tokens.push({ kind: "alternation" });
104
+ continue;
105
+ }
106
+ const quantifier = readQuantifier(source, i);
107
+ if (quantifier) {
108
+ tokens.push({
109
+ kind: "quantifier",
110
+ quantifier
111
+ });
112
+ i += quantifier.consumed - 1;
113
+ continue;
114
+ }
115
+ tokens.push({ kind: "simple-token" });
116
+ }
117
+ return tokens;
118
+ }
119
+ function analyzeTokensForNestedRepetition(tokens) {
120
+ const frames = [createParseFrame()];
121
+ const emitToken = (token) => {
122
+ const frame = frames[frames.length - 1];
123
+ frame.lastToken = token;
124
+ if (token.containsRepetition) frame.containsRepetition = true;
125
+ frame.branchMinLength = addLength(frame.branchMinLength, token.minLength);
126
+ frame.branchMaxLength = addLength(frame.branchMaxLength, token.maxLength);
127
+ };
128
+ const emitSimpleToken = () => {
129
+ emitToken({
130
+ containsRepetition: false,
131
+ hasAmbiguousAlternation: false,
132
+ minLength: 1,
133
+ maxLength: 1
134
+ });
135
+ };
136
+ for (const token of tokens) {
137
+ if (token.kind === "simple-token") {
138
+ emitSimpleToken();
139
+ continue;
140
+ }
141
+ if (token.kind === "group-open") {
142
+ frames.push(createParseFrame());
143
+ continue;
144
+ }
145
+ if (token.kind === "group-close") {
146
+ if (frames.length > 1) {
147
+ const frame = frames.pop();
148
+ if (frame.hasAlternation) recordAlternative(frame);
149
+ const groupMinLength = frame.hasAlternation ? frame.altMinLength ?? 0 : frame.branchMinLength;
150
+ const groupMaxLength = frame.hasAlternation ? frame.altMaxLength ?? 0 : frame.branchMaxLength;
151
+ emitToken({
152
+ containsRepetition: frame.containsRepetition,
153
+ hasAmbiguousAlternation: frame.hasAlternation && frame.altMinLength !== null && frame.altMaxLength !== null && frame.altMinLength !== frame.altMaxLength,
154
+ minLength: groupMinLength,
155
+ maxLength: groupMaxLength
156
+ });
157
+ }
158
+ continue;
159
+ }
160
+ if (token.kind === "alternation") {
161
+ const frame = frames[frames.length - 1];
162
+ frame.hasAlternation = true;
163
+ recordAlternative(frame);
164
+ frame.branchMinLength = 0;
165
+ frame.branchMaxLength = 0;
166
+ frame.lastToken = null;
167
+ continue;
168
+ }
169
+ const frame = frames[frames.length - 1];
170
+ const previousToken = frame.lastToken;
171
+ if (!previousToken) continue;
172
+ if (previousToken.containsRepetition) return true;
173
+ if (previousToken.hasAmbiguousAlternation && token.quantifier.maxRepeat === null) return true;
174
+ const previousMinLength = previousToken.minLength;
175
+ const previousMaxLength = previousToken.maxLength;
176
+ previousToken.minLength = multiplyLength(previousToken.minLength, token.quantifier.minRepeat);
177
+ previousToken.maxLength = token.quantifier.maxRepeat === null ? Number.POSITIVE_INFINITY : multiplyLength(previousToken.maxLength, token.quantifier.maxRepeat);
178
+ previousToken.containsRepetition = true;
179
+ frame.containsRepetition = true;
180
+ frame.branchMinLength = frame.branchMinLength - previousMinLength + previousToken.minLength;
181
+ frame.branchMaxLength = addLength(Number.isFinite(frame.branchMaxLength) && Number.isFinite(previousMaxLength) ? frame.branchMaxLength - previousMaxLength : Number.POSITIVE_INFINITY, previousToken.maxLength);
182
+ }
183
+ return false;
184
+ }
185
+ function testRegexFromStart(regex, value) {
186
+ regex.lastIndex = 0;
187
+ return regex.test(value);
188
+ }
189
+ function testRegexWithBoundedInput(regex, input, maxWindow = SAFE_REGEX_TEST_WINDOW) {
190
+ if (maxWindow <= 0) return false;
191
+ if (input.length <= maxWindow) return testRegexFromStart(regex, input);
192
+ if (testRegexFromStart(regex, input.slice(0, maxWindow))) return true;
193
+ return testRegexFromStart(regex, input.slice(-maxWindow));
194
+ }
195
+ function hasNestedRepetition(source) {
196
+ return analyzeTokensForNestedRepetition(tokenizePattern(source));
197
+ }
198
+ function compileSafeRegex(source, flags = "") {
199
+ const trimmed = source.trim();
200
+ if (!trimmed) return null;
201
+ const cacheKey = `${flags}::${trimmed}`;
202
+ if (safeRegexCache.has(cacheKey)) return safeRegexCache.get(cacheKey) ?? null;
203
+ let compiled = null;
204
+ if (!hasNestedRepetition(trimmed)) try {
205
+ compiled = new RegExp(trimmed, flags);
206
+ } catch {
207
+ compiled = null;
208
+ }
209
+ safeRegexCache.set(cacheKey, compiled);
210
+ if (safeRegexCache.size > SAFE_REGEX_CACHE_MAX) {
211
+ const oldestKey = safeRegexCache.keys().next().value;
212
+ if (oldestKey) safeRegexCache.delete(oldestKey);
213
+ }
214
+ return compiled;
215
+ }
216
+
217
+ //#endregion
218
+ //#region src/logging/redact-bounded.ts
219
+ const REDACT_REGEX_CHUNK_THRESHOLD = 32768;
220
+ const REDACT_REGEX_CHUNK_SIZE = 16384;
221
+ function replacePatternBounded(text, pattern, replacer, options) {
222
+ const chunkThreshold = options?.chunkThreshold ?? REDACT_REGEX_CHUNK_THRESHOLD;
223
+ const chunkSize = options?.chunkSize ?? REDACT_REGEX_CHUNK_SIZE;
224
+ if (chunkThreshold <= 0 || chunkSize <= 0 || text.length <= chunkThreshold) return text.replace(pattern, replacer);
225
+ let output = "";
226
+ for (let index = 0; index < text.length; index += chunkSize) output += text.slice(index, index + chunkSize).replace(pattern, replacer);
227
+ return output;
228
+ }
229
+
230
+ //#endregion
231
+ //#region src/logging/redact.ts
232
+ const requireConfig = resolveNodeRequireFromMeta(import.meta.url);
233
+ const DEFAULT_REDACT_MODE = "tools";
234
+ const DEFAULT_REDACT_MIN_LENGTH = 18;
235
+ const DEFAULT_REDACT_KEEP_START = 6;
236
+ const DEFAULT_REDACT_KEEP_END = 4;
237
+ const DEFAULT_REDACT_PATTERNS = [
238
+ String.raw`\b[A-Z0-9_]*(?:KEY|TOKEN|SECRET|PASSWORD|PASSWD)\b\s*[=:]\s*(["']?)([^\s"'\\]+)\1`,
239
+ String.raw`"(?:apiKey|token|secret|password|passwd|accessToken|refreshToken)"\s*:\s*"([^"]+)"`,
240
+ String.raw`--(?:api[-_]?key|token|secret|password|passwd)\s+(["']?)([^\s"']+)\1`,
241
+ String.raw`Authorization\s*[:=]\s*Bearer\s+([A-Za-z0-9._\-+=]+)`,
242
+ String.raw`\bBearer\s+([A-Za-z0-9._\-+=]{18,})\b`,
243
+ String.raw`-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]+?-----END [A-Z ]*PRIVATE KEY-----`,
244
+ String.raw`\b(sk-[A-Za-z0-9_-]{8,})\b`,
245
+ String.raw`\b(ghp_[A-Za-z0-9]{20,})\b`,
246
+ String.raw`\b(github_pat_[A-Za-z0-9_]{20,})\b`,
247
+ String.raw`\b(xox[baprs]-[A-Za-z0-9-]{10,})\b`,
248
+ String.raw`\b(xapp-[A-Za-z0-9-]{10,})\b`,
249
+ String.raw`\b(gsk_[A-Za-z0-9_-]{10,})\b`,
250
+ String.raw`\b(AIza[0-9A-Za-z\-_]{20,})\b`,
251
+ String.raw`\b(pplx-[A-Za-z0-9_-]{10,})\b`,
252
+ String.raw`\b(npm_[A-Za-z0-9]{10,})\b`,
253
+ String.raw`\bbot(\d{6,}:[A-Za-z0-9_-]{20,})\b`,
254
+ String.raw`\b(\d{6,}:[A-Za-z0-9_-]{20,})\b`
255
+ ];
256
+ function normalizeMode(value) {
257
+ return value === "off" ? "off" : DEFAULT_REDACT_MODE;
258
+ }
259
+ function parsePattern(raw) {
260
+ if (!raw.trim()) return null;
261
+ const match = raw.match(/^\/(.+)\/([gimsuy]*)$/);
262
+ if (match) {
263
+ const flags = match[2].includes("g") ? match[2] : `${match[2]}g`;
264
+ return compileSafeRegex(match[1], flags);
265
+ }
266
+ return compileSafeRegex(raw, "gi");
267
+ }
268
+ function resolvePatterns(value) {
269
+ return (value?.length ? value : DEFAULT_REDACT_PATTERNS).map(parsePattern).filter((re) => Boolean(re));
270
+ }
271
+ function maskToken(token) {
272
+ if (token.length < DEFAULT_REDACT_MIN_LENGTH) return "***";
273
+ return `${token.slice(0, DEFAULT_REDACT_KEEP_START)}…${token.slice(-DEFAULT_REDACT_KEEP_END)}`;
274
+ }
275
+ function redactPemBlock(block) {
276
+ const lines = block.split(/\r?\n/).filter(Boolean);
277
+ if (lines.length < 2) return "***";
278
+ return `${lines[0]}\n…redacted…\n${lines[lines.length - 1]}`;
279
+ }
280
+ function redactMatch(match, groups) {
281
+ if (match.includes("PRIVATE KEY-----")) return redactPemBlock(match);
282
+ const token = groups.filter((value) => typeof value === "string" && value.length > 0).at(-1) ?? match;
283
+ const masked = maskToken(token);
284
+ if (token === match) return masked;
285
+ return match.replace(token, masked);
286
+ }
287
+ function redactText(text, patterns) {
288
+ let next = text;
289
+ for (const pattern of patterns) next = replacePatternBounded(next, pattern, (...args) => redactMatch(args[0], args.slice(1, args.length - 2)));
290
+ return next;
291
+ }
292
+ function resolveConfigRedaction() {
293
+ let cfg;
294
+ try {
295
+ cfg = (requireConfig?.("../config/config.js"))?.loadConfig?.().logging;
296
+ } catch {
297
+ cfg = void 0;
298
+ }
299
+ return {
300
+ mode: normalizeMode(cfg?.redactSensitive),
301
+ patterns: cfg?.redactPatterns
302
+ };
303
+ }
304
+ function redactSensitiveText(text, options) {
305
+ if (!text) return text;
306
+ const resolved = options ?? resolveConfigRedaction();
307
+ if (normalizeMode(resolved.mode) === "off") return text;
308
+ const patterns = resolvePatterns(resolved.patterns);
309
+ if (!patterns.length) return text;
310
+ return redactText(text, patterns);
311
+ }
312
+ function redactToolDetail(detail) {
313
+ const resolved = resolveConfigRedaction();
314
+ if (normalizeMode(resolved.mode) !== "tools") return detail;
315
+ return redactSensitiveText(detail, resolved);
316
+ }
317
+
318
+ //#endregion
319
+ export { testRegexWithBoundedInput as i, redactToolDetail as n, compileSafeRegex as r, redactSensitiveText as t };
@@ -1,7 +1,7 @@
1
- import { c as resolveStateDir } from "./paths-Cvc9EM8Y.js";
2
- import { t as createSubsystemLogger } from "./subsystem-B45WV3qB.js";
3
- import { $ as parseAgentSessionKey, B as resolveAgentIdFromSessionKey, R as normalizeAgentId, j as DEFAULT_AGENT_ID, p as resolveDefaultAgentWorkspaceDir } from "./workspace-U-DyR64O.js";
4
- import { y as resolveUserPath } from "./logger-BfjWMCSD.js";
1
+ import { c as resolveStateDir } from "./paths-C6TxBCvO.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-Di1z8l0Z.js";
3
+ import { $ as parseAgentSessionKey, B as resolveAgentIdFromSessionKey, R as normalizeAgentId, j as DEFAULT_AGENT_ID, p as resolveDefaultAgentWorkspaceDir } from "./workspace-CUVC6GX1.js";
4
+ import { y as resolveUserPath } from "./logger-DMZQQtxK.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/config/model-input.ts
@@ -0,0 +1,13 @@
1
+ import "./run-with-concurrency-D_ZpbgEG.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import "./subsystem-Di1z8l0Z.js";
4
+ import "./workspace-CUVC6GX1.js";
5
+ import "./logger-DMZQQtxK.js";
6
+ import "./model-selection-idoqPmw0.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-TyzbVqa_.js";
9
+ import "./accounts-yfBeCZtS.js";
10
+ import "./session-A4QhBRvH.js";
11
+ import { t as loginWeb } from "./login-DiCctRo1.js";
12
+
13
+ export { loginWeb };
@@ -0,0 +1,22 @@
1
+ import "./run-with-concurrency-D_ZpbgEG.js";
2
+ import "./paths-C6TxBCvO.js";
3
+ import "./subsystem-Di1z8l0Z.js";
4
+ import "./workspace-CUVC6GX1.js";
5
+ import "./logger-DMZQQtxK.js";
6
+ import "./model-selection-idoqPmw0.js";
7
+ import "./github-copilot-token-D13V9YBz.js";
8
+ import "./legacy-names-TyzbVqa_.js";
9
+ import "./plugins-CWkRQYDj.js";
10
+ import "./accounts-yfBeCZtS.js";
11
+ import "./image-ops-CehkHxmW.js";
12
+ import "./path-alias-guards-DqXRZmsL.js";
13
+ import "./fs-safe-0jAo_Whb.js";
14
+ import "./proxy-env-Cq5gdrbj.js";
15
+ import "./fetch-BlJWzEP6.js";
16
+ import "./fetch-guard-ChYBwfiy.js";
17
+ import "./ir-DAP-B-Xw.js";
18
+ import "./render-DW7AcFdD.js";
19
+ import "./tables-d739Y1xW.js";
20
+ import { n as sendPollWhatsApp, t as sendMessageWhatsApp } from "./outbound-C2kanETZ.js";
21
+
22
+ export { sendMessageWhatsApp, sendPollWhatsApp };
@@ -1,11 +1,11 @@
1
- import { X as loadConfig } from "./model-selection-Dna0Gz1k.js";
1
+ import { X as loadConfig } from "./model-selection-idoqPmw0.js";
2
2
  import { n as generateSecureUuid } from "./secure-random-CXrBi7Jq.js";
3
- import { n as resolveSignalAccount } from "./accounts-C9HcPI9h.js";
4
- import { E as kindFromMime } from "./image-ops-BuUnEOE0.js";
3
+ import { n as resolveSignalAccount } from "./accounts-L9ByEpnP.js";
4
+ import { E as kindFromMime } from "./image-ops-CehkHxmW.js";
5
5
  import { n as fetchWithTimeout } from "./fetch-timeout-Wgx3OXYj.js";
6
- import { n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-B83looB-.js";
6
+ import { n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-DAP-B-Xw.js";
7
7
  import { t as resolveFetch } from "./fetch-BfuG8uZ8.js";
8
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DqHlD21U.js";
8
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DBrYWX8h.js";
9
9
 
10
10
  //#region src/signal/format.ts
11
11
  function normalizeUrlForComparison(url) {
@@ -1,10 +1,10 @@
1
- import { h as normalizeE164, y as resolveUserPath } from "./logger-BfjWMCSD.js";
2
- import { X as loadConfig } from "./model-selection-Dna0Gz1k.js";
3
- import { E as kindFromMime } from "./image-ops-BuUnEOE0.js";
4
- import { t as resolveIMessageAccount } from "./accounts-C_lW3Ag9.js";
5
- import { s as resolveMarkdownTableMode } from "./ir-B83looB-.js";
6
- import { t as convertMarkdownTables } from "./tables-mE4cJBN2.js";
7
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DqHlD21U.js";
1
+ import { h as normalizeE164, y as resolveUserPath } from "./logger-DMZQQtxK.js";
2
+ import { X as loadConfig } from "./model-selection-idoqPmw0.js";
3
+ import { E as kindFromMime } from "./image-ops-CehkHxmW.js";
4
+ import { t as resolveIMessageAccount } from "./accounts-BOzyfwW4.js";
5
+ import { s as resolveMarkdownTableMode } from "./ir-DAP-B-Xw.js";
6
+ import { t as convertMarkdownTables } from "./tables-d739Y1xW.js";
7
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DBrYWX8h.js";
8
8
  import { spawn } from "node:child_process";
9
9
  import { createInterface } from "node:readline";
10
10
 
@@ -1,15 +1,15 @@
1
- import { w as resolvePreferredOpenClawTmpDir } from "./subsystem-B45WV3qB.js";
2
- import { G as normalizeAccountId, W as DEFAULT_ACCOUNT_ID } from "./workspace-U-DyR64O.js";
3
- import { S as retryAsync, X as loadConfig, x as resolveRetryConfig } from "./model-selection-Dna0Gz1k.js";
4
- import { b as resolveDiscordAccount, x as normalizeDiscordToken } from "./plugins-4Rj4OjLY.js";
1
+ import { w as resolvePreferredOpenClawTmpDir } from "./subsystem-Di1z8l0Z.js";
2
+ import { G as normalizeAccountId, W as DEFAULT_ACCOUNT_ID } from "./workspace-CUVC6GX1.js";
3
+ import { S as retryAsync, X as loadConfig, x as resolveRetryConfig } from "./model-selection-idoqPmw0.js";
4
+ import { b as resolveDiscordAccount, x as normalizeDiscordToken } from "./plugins-CWkRQYDj.js";
5
5
  import { i as requireTargetKind, r as parseMentionPrefixOrAtUserTarget, t as buildMessagingTarget } from "./targets-Bhj5bO-0.js";
6
- import { k as maxBytesForKind, x as extensionForMime } from "./image-ops-BuUnEOE0.js";
7
- import { a as loadWebMedia, d as chunkMarkdownTextWithMode, m as resolveChunkMode, o as loadWebMediaRaw, s as resolveMarkdownTableMode } from "./ir-B83looB-.js";
6
+ import { k as maxBytesForKind, x as extensionForMime } from "./image-ops-CehkHxmW.js";
7
+ import { a as loadWebMedia, d as chunkMarkdownTextWithMode, m as resolveChunkMode, o as loadWebMediaRaw, s as resolveMarkdownTableMode } from "./ir-DAP-B-Xw.js";
8
8
  import { t as resolveFetch } from "./fetch-BfuG8uZ8.js";
9
- import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-BDnjYF7B.js";
9
+ import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-xHOMiarp.js";
10
10
  import { t as buildOutboundMediaLoadOptions } from "./load-options-BFUunM8u.js";
11
11
  import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-CYTwXmA1.js";
12
- import { t as convertMarkdownTables } from "./tables-mE4cJBN2.js";
12
+ import { t as convertMarkdownTables } from "./tables-d739Y1xW.js";
13
13
  import fs from "node:fs/promises";
14
14
  import path from "node:path";
15
15
  import { promisify } from "node:util";
@@ -1,10 +1,10 @@
1
- import { u as logVerbose } from "./subsystem-B45WV3qB.js";
2
- import { X as loadConfig } from "./model-selection-Dna0Gz1k.js";
3
- import { i as isSilentReplyText } from "./tokens-q32vI39c.js";
4
- import { g as resolveSlackBotToken, p as resolveSlackAccount } from "./plugins-4Rj4OjLY.js";
1
+ import { u as logVerbose } from "./subsystem-Di1z8l0Z.js";
2
+ import { X as loadConfig } from "./model-selection-idoqPmw0.js";
3
+ import { i as isSilentReplyText } from "./tokens-DxnY9ui_.js";
4
+ import { g as resolveSlackBotToken, p as resolveSlackAccount } from "./plugins-CWkRQYDj.js";
5
5
  import { i as requireTargetKind, n as ensureTargetId, r as parseMentionPrefixOrAtUserTarget, t as buildMessagingTarget } from "./targets-Bhj5bO-0.js";
6
- import { r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DWr0d00H.js";
7
- import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-B83looB-.js";
6
+ import { r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-ChYBwfiy.js";
7
+ import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-DAP-B-Xw.js";
8
8
  import { t as renderMarkdownWithMarkers } from "./render-DW7AcFdD.js";
9
9
  import { WebClient } from "@slack/web-api";
10
10