@qqbrowser/openclaw-qbot 0.0.148 → 0.10.1

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 (1698) hide show
  1. package/dist/account-lookup-CW-_CL7y.js +0 -1
  2. package/dist/acp-cli-BHsTg1ac.js +0 -1
  3. package/dist/acp-cli-D_WC9SZX.js +0 -1
  4. package/dist/active-listener-1MJXk3Iq.js +0 -1
  5. package/dist/active-listener-D8VOdVx3.js +0 -1
  6. package/dist/active-listener-D8uP0H5W.js +0 -1
  7. package/dist/active-listener-DeKRt_UV.js +0 -1
  8. package/dist/agent-scope-DAWJwFfl.js +0 -1
  9. package/dist/agent-scope-DXZc3eNT.js +0 -1
  10. package/dist/agents-Cd1yL8fG.js +0 -1
  11. package/dist/agents.config-CaRMmWS8.js +0 -1
  12. package/dist/agents.config-DSCcdYtv.js +0 -1
  13. package/dist/allow-from-B6dI7oz8.js +0 -1
  14. package/dist/allow-from-DEeVIPKS.js +0 -1
  15. package/dist/api-BeG0ObSq.js +0 -1
  16. package/dist/api-Dx8x1KTs.js +0 -1
  17. package/dist/api-key-rotation-BLt5E2Cw.js +0 -1
  18. package/dist/api-key-rotation-BpEL4aeX.js +0 -1
  19. package/dist/api-key-rotation-DayEfYpa.js +0 -1
  20. package/dist/api-key-rotation-Rz2ESQSA.js +0 -1
  21. package/dist/arg-split-BOqSMBuf.js +0 -1
  22. package/dist/arg-split-DE5RqDHq.js +0 -1
  23. package/dist/audio-preflight-8WB1LJBS.js +0 -1
  24. package/dist/audio-preflight-BcPHPfr_.js +0 -1
  25. package/dist/audio-preflight-DTO631Yb.js +0 -1
  26. package/dist/audio-preflight-O-0lDeKh.js +0 -1
  27. package/dist/audio-transcription-runner-9H9eUZ1D.js +0 -1
  28. package/dist/audio-transcription-runner-BIKj1CBU.js +0 -1
  29. package/dist/audio-transcription-runner-BwjMhAUa.js +0 -1
  30. package/dist/audio-transcription-runner-CQ7rq0d_.js +0 -1
  31. package/dist/audit-9I53EvMQ.js +0 -1
  32. package/dist/audit-BGsUfJzD.js +0 -1
  33. package/dist/audit-membership-runtime-BpRsMj5-.js +0 -1
  34. package/dist/audit-membership-runtime-BsfLZNBj.js +0 -1
  35. package/dist/audit-membership-runtime-DRHirRmx.js +0 -1
  36. package/dist/audit-membership-runtime-g0dEWJTp.js +0 -1
  37. package/dist/audit-membership-runtime-kdyToskD.js +0 -1
  38. package/dist/auth-choice-BmI4sIGs.js +0 -1
  39. package/dist/auth-choice-DDsPJF6F.js +0 -1
  40. package/dist/auth-choice-Dy0jIOLV.js +0 -1
  41. package/dist/auth-choice-MqcWuVyu.js +0 -1
  42. package/dist/auth-choice-options-B3WQyS7I.js +0 -1
  43. package/dist/auth-choice-options-Dw14noox.js +0 -1
  44. package/dist/auth-choice-prompt-uegl56cf.js +0 -1
  45. package/dist/auth-choice-prompt-xYj13czb.js +0 -1
  46. package/dist/auth-choice.apply-helpers-D911bYcw.js +0 -1
  47. package/dist/auth-choice.apply-helpers-pJ4CPZCk.js +0 -1
  48. package/dist/auth-profiles-C8rZRS0X.js +0 -1
  49. package/dist/auth-token-DZLZ3d_I.js +0 -1
  50. package/dist/auth-token-Dp6bxT29.js +0 -1
  51. package/dist/banner-CAtilyXr.js +0 -1
  52. package/dist/bonjour-discovery-ClTijpMw.js +0 -1
  53. package/dist/bonjour-discovery-DMB6yrOF.js +0 -1
  54. package/dist/boolean-Ch3DfXPy.js +0 -1
  55. package/dist/boolean-D15s2V33.js +0 -1
  56. package/dist/boolean-DypnRoRK.js +0 -1
  57. package/dist/brew-COcDl8CB.js +0 -1
  58. package/dist/brew-DDPm_HfE.js +0 -1
  59. package/dist/browser-cli-Bf-Pzjxs.js +0 -1
  60. package/dist/browser-cli-DkrBCfYg.js +0 -1
  61. package/dist/build-info.json +3 -3
  62. package/dist/bundled/boot-md/handler.js +0 -1
  63. package/dist/bundled/bootstrap-extra-files/handler.js +0 -1
  64. package/dist/bundled/command-logger/handler.js +0 -1
  65. package/dist/bundled/session-memory/handler.js +0 -1
  66. package/dist/call-BWx7hNtl.js +0 -1
  67. package/dist/call-JB-cGR9n.js +0 -1
  68. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  69. package/dist/channel-account-context-BMPAMZEv.js +0 -1
  70. package/dist/channel-account-context-DAcarnqW.js +0 -1
  71. package/dist/channel-activity-B04WbrrK.js +0 -1
  72. package/dist/channel-activity-BhiLsKvM.js +0 -1
  73. package/dist/channel-activity-DmgWmSAG.js +0 -1
  74. package/dist/channel-activity-Dw6F-ehJ.js +0 -1
  75. package/dist/channel-activity-htoVXTET.js +0 -1
  76. package/dist/channel-options-CCqtIYCc.js +0 -1
  77. package/dist/channel-options-CKoyPq8p.js +0 -1
  78. package/dist/channel-selection-BPxE8JR7.js +0 -1
  79. package/dist/channel-selection-si1OzWyQ.js +0 -1
  80. package/dist/channel-web-CCSMlUux.js +0 -1
  81. package/dist/channel-web-CwUfYqjg.js +0 -1
  82. package/dist/channels/plugins/actions/discord.js +0 -1
  83. package/dist/channels/plugins/actions/signal.js +0 -1
  84. package/dist/channels/plugins/actions/telegram.js +0 -1
  85. package/dist/channels/plugins/agent-tools/whatsapp-login.js +0 -1
  86. package/dist/channels-cli-BfgVv5jH.js +0 -1
  87. package/dist/channels-cli-BvGXgERj.js +0 -1
  88. package/dist/channels-status-issues-8eFrGKyf.js +0 -1
  89. package/dist/channels-status-issues-PRgOT90w.js +0 -1
  90. package/dist/chat-envelope-Bznn2SoS.js +0 -1
  91. package/dist/chat-envelope-HVpKusFc.js +0 -1
  92. package/dist/clack-prompter-DBPdGdqp.js +0 -1
  93. package/dist/clack-prompter-Dq0aY6iM.js +0 -1
  94. package/dist/clawbot-cli-B0iTJ-pm.js +0 -1
  95. package/dist/clawbot-cli-BcEtQbFY.js +0 -1
  96. package/dist/cleanup-utils-BWm70DoD.js +0 -1
  97. package/dist/cleanup-utils-D-RhEX6F.js +0 -1
  98. package/dist/cli-Bt--1dhL.js +0 -1
  99. package/dist/cli-CBg8KhmQ.js +0 -1
  100. package/dist/cli-utils-BY7dLMFy.js +0 -1
  101. package/dist/cli-utils-BleB1eys.js +0 -1
  102. package/dist/clipboard-Bk8cviBt.js +0 -1
  103. package/dist/clipboard-CKT_VIkG.js +0 -1
  104. package/dist/cmd-argv-BBT5l8AV.js +0 -1
  105. package/dist/cmd-argv-Bh-KpaZ0.js +0 -1
  106. package/dist/command-format-BbDT1tlm.js +0 -1
  107. package/dist/command-format-CLxIPuLR.js +0 -1
  108. package/dist/command-options-BpOUDl2S.js +0 -1
  109. package/dist/command-options-Bq5nQxz6.js +0 -1
  110. package/dist/command-poll-backoff-BZLHYB2k.js +0 -1
  111. package/dist/command-poll-backoff-Cww_r-24.js +0 -1
  112. package/dist/command-poll-backoff-Df6cOQrX.js +0 -1
  113. package/dist/command-poll-backoff-endAPdwn.js +0 -1
  114. package/dist/{command-registry-BxNiXs5w.js → command-registry-D_jtBegA.js} +1 -2
  115. package/dist/command-secret-targets-BEjtBf5Z.js +0 -1
  116. package/dist/command-secret-targets-CfXtLkLF.js +0 -1
  117. package/dist/commands-CGpM84iR.js +0 -1
  118. package/dist/commands-Dy7duWlt.js +0 -1
  119. package/dist/commands-registry-C5Hg7gyk.js +0 -1
  120. package/dist/commands-registry-DT6FDUev.js +0 -1
  121. package/dist/commands-registry-DlvNUkXz.js +0 -1
  122. package/dist/commands-registry-gvMK7Pw9.js +0 -1
  123. package/dist/compact-CYbPi7_-.js +0 -1
  124. package/dist/{completion-cli-Yg5BF97F.js → completion-cli-BVbT_aR2.js} +1 -2
  125. package/dist/{completion-cli-BRE0F8Tu.js → completion-cli-Bw_hBrlA.js} +1 -2
  126. package/dist/config-BqW5S1xL.js +0 -1
  127. package/dist/config-Cji73to5.js +0 -1
  128. package/dist/config-cli-CwW76_j_.js +0 -1
  129. package/dist/config-cli-F-lkPjjz.js +0 -1
  130. package/dist/config-guard-0_afzaJz.js +0 -1
  131. package/dist/config-guard-CqUJ8uaF.js +0 -1
  132. package/dist/config-validation-6hk_fxD8.js +0 -1
  133. package/dist/config-validation-BAmmD9p4.js +0 -1
  134. package/dist/configure--c4tTVPz.js +0 -1
  135. package/dist/configure-DFlnM_zh.js +0 -1
  136. package/dist/connection-auth-CjaeEu5D.js +0 -1
  137. package/dist/connection-auth-smZlFWxD.js +0 -1
  138. package/dist/context-window-guard-7crlatf9.js +0 -1
  139. package/dist/context-window-guard-CPChk363.js +0 -1
  140. package/dist/control-ui-assets-BIa0GGDg.js +0 -1
  141. package/dist/control-ui-assets-CTHGGgaX.js +0 -1
  142. package/dist/cron-cli-BKS4L-uW.js +0 -1
  143. package/dist/cron-cli-L9wLLocl.js +0 -1
  144. package/dist/daemon-cli-BdDHNRqp.js +0 -1
  145. package/dist/daemon-cli-CEHkT-54.js +0 -1
  146. package/dist/daemon-cli.js +0 -1
  147. package/dist/daemon-install-CMNtsW5o.js +0 -1
  148. package/dist/daemon-install-D2gMiA0p.js +0 -1
  149. package/dist/daemon-install-plan.shared-BkwZgIAY.js +0 -1
  150. package/dist/daemon-install-plan.shared-Dx3DBXCG.js +0 -1
  151. package/dist/daemon-runtime-DHiDbRuC.js +0 -1
  152. package/dist/daemon-runtime-VcpeBRJV.js +0 -1
  153. package/dist/dangerous-name-matching-BOmvAibz.js +0 -1
  154. package/dist/dangerous-name-matching-DtllRqBD.js +0 -1
  155. package/dist/dangerous-tools-CFRYQJ6V.js +0 -1
  156. package/dist/dangerous-tools-oYCu5wfC.js +0 -1
  157. package/dist/deliver-AM3FP5rj.js +0 -1
  158. package/dist/deliver-BhWhLvQO.js +0 -1
  159. package/dist/deliver-DUNkj4hy.js +0 -1
  160. package/dist/deliver-SqSusZP3.js +0 -1
  161. package/dist/delivery-queue-CKbauSFq.js +0 -1
  162. package/dist/delivery-queue-nkPJu0fY.js +0 -1
  163. package/dist/device-pairing-DAzYy3vX.js +0 -1
  164. package/dist/device-pairing-DknI3IDo.js +0 -1
  165. package/dist/devices-cli-BYD6Sq88.js +0 -1
  166. package/dist/devices-cli-Dl-0fQmR.js +0 -1
  167. package/dist/diagnostic-BEZszppF.js +0 -1
  168. package/dist/diagnostic-D1H7_8QG.js +0 -1
  169. package/dist/diagnostic-DtuQPRbp.js +0 -1
  170. package/dist/diagnostic-VBPCgF9l.js +0 -1
  171. package/dist/diagnostics-BgbeL9KE.js +0 -1
  172. package/dist/diagnostics-Cdctg9K_.js +0 -1
  173. package/dist/directory-cli-CpMjutQb.js +0 -1
  174. package/dist/directory-cli-b_l3qJI_.js +0 -1
  175. package/dist/dns-cli-C7L4RYOm.js +0 -1
  176. package/dist/dns-cli-wKg6nn6f.js +0 -1
  177. package/dist/docs-cli-CwW4sqbC.js +0 -1
  178. package/dist/docs-cli-DnLLU7eX.js +0 -1
  179. package/dist/{doctor-completion-II0Wb435.js → doctor-completion-C9CPhCor.js} +1 -2
  180. package/dist/{doctor-completion-Bu-98ocm.js → doctor-completion-DI7mGC3D.js} +1 -2
  181. package/dist/doctor-config-flow-BVpr8-q9.js +0 -1
  182. package/dist/doctor-config-flow-Dio3s4x6.js +0 -1
  183. package/dist/enable-CjFPAUgo.js +0 -1
  184. package/dist/enable-PO3qN4Lf.js +0 -1
  185. package/dist/entry-status-CCwwKO43.js +0 -1
  186. package/dist/entry-status-CoXkbJcX.js +0 -1
  187. package/dist/entry.js +1 -2
  188. package/dist/env-D7wNuBx1.js +0 -1
  189. package/dist/env-overrides-DHtB4kK3.js +0 -1
  190. package/dist/env-overrides-DXJbFrwI.js +0 -1
  191. package/dist/errors-6SQWM9dj.js +0 -1
  192. package/dist/errors-Bunti32V.js +0 -1
  193. package/dist/exec-B3eleY5O.js +0 -1
  194. package/dist/exec-DHqLtFYt.js +0 -1
  195. package/dist/exec-approvals-BXO9Cezj.js +0 -1
  196. package/dist/exec-approvals-BpBNEy6i.js +0 -1
  197. package/dist/exec-approvals-allowlist-B-Yf6RsU.js +0 -1
  198. package/dist/exec-approvals-allowlist-CGjRWREs.js +0 -1
  199. package/dist/exec-approvals-cli-BokGzWFo.js +0 -1
  200. package/dist/exec-approvals-cli-CsUGu6m3.js +0 -1
  201. package/dist/exec-safe-bin-runtime-policy-CRPHdPbF.js +0 -1
  202. package/dist/exec-safe-bin-runtime-policy-v44u39fl.js +0 -1
  203. package/dist/fetch-B4bz67_N.js +0 -1
  204. package/dist/fetch-BJT3BrkJ.js +0 -1
  205. package/dist/fetch-Bn0mWg6a.js +0 -1
  206. package/dist/fetch-Ce-scEU-.js +0 -1
  207. package/dist/fetch-D0rZDHKO.js +0 -1
  208. package/dist/fetch-D5wrJ0AX.js +0 -1
  209. package/dist/fetch-DBat25iG.js +0 -1
  210. package/dist/fetch-DHo17YmK.js +0 -1
  211. package/dist/fetch-Dh-apy46.js +0 -1
  212. package/dist/fetch-Dikjvc5M.js +0 -1
  213. package/dist/fetch-DsjPfQlp.js +0 -1
  214. package/dist/fetch-_g8lZ8K8.js +0 -1
  215. package/dist/fetch-guard-7BAwnP4a.js +0 -1
  216. package/dist/fetch-guard-DaZmvp-L.js +0 -1
  217. package/dist/fetch-guard-DvaNcypz.js +0 -1
  218. package/dist/fetch-guard-oWKGrwV4.js +0 -1
  219. package/dist/fetch-hy0JKSsm.js +0 -1
  220. package/dist/fetch-timeout-CdYxWG9w.js +0 -1
  221. package/dist/fetch-timeout-Cj8_oAls.js +0 -1
  222. package/dist/fetch-timeout-DoOI_izT.js +0 -1
  223. package/dist/fetch-timeout-u8g99Ax0.js +0 -1
  224. package/dist/format-Bn1bwJKX.js +0 -1
  225. package/dist/format-Ce7I7s-k.js +0 -1
  226. package/dist/format-duration-C8AzNqKh.js +0 -1
  227. package/dist/format-duration-D5AMtmHa.js +0 -1
  228. package/dist/format-relative-B9pSIdGe.js +0 -1
  229. package/dist/format-relative-DkMjYy7z.js +0 -1
  230. package/dist/frontmatter-BkZkwkVO.js +0 -1
  231. package/dist/frontmatter-C7mzDNxd.js +0 -1
  232. package/dist/frontmatter-CzpfPBFl.js +0 -1
  233. package/dist/{gateway-cli-DBjTjdhJ.js → gateway-cli-BMmU2dsG.js} +1 -2
  234. package/dist/{gateway-cli-B-AX4-uD.js → gateway-cli-Kp-caOwI.js} +1 -2
  235. package/dist/gateway-install-token-Dt7hDXoR.js +0 -1
  236. package/dist/gateway-install-token-cSJrfU_1.js +0 -1
  237. package/dist/gateway-rpc-C78PzdZR.js +0 -1
  238. package/dist/gateway-rpc-CecloWA1.js +0 -1
  239. package/dist/github-copilot-token-C79yeDKS.js +0 -1
  240. package/dist/github-copilot-token-DGYAlOmV.js +0 -1
  241. package/dist/github-copilot-token-DePP-lIf.js +0 -1
  242. package/dist/github-copilot-token-wm6mbypz.js +0 -1
  243. package/dist/gmail-setup-utils-CYOH3zzx.js +0 -1
  244. package/dist/gmail-setup-utils-S-MyEGuj.js +0 -1
  245. package/dist/group-access-BHKVOhrj.js +0 -1
  246. package/dist/group-access-D2DOYMfr.js +0 -1
  247. package/dist/health-B_-ZE5FK.js +0 -1
  248. package/dist/health-CIZFVJEG.js +0 -1
  249. package/dist/health-format-B1nj3Wfn.js +0 -1
  250. package/dist/health-format-VBr6LEpt.js +0 -1
  251. package/dist/heartbeat-visibility-BQ_esv2m.js +0 -1
  252. package/dist/heartbeat-visibility-q74UdY8O.js +0 -1
  253. package/dist/help-format-B4aEI7V9.js +0 -1
  254. package/dist/help-format-BRbF_INg.js +0 -1
  255. package/dist/helpers-COz1ghcB.js +0 -1
  256. package/dist/helpers-Cp8gcO6u.js +0 -1
  257. package/dist/hooks-cli-BoxAnC-E.js +0 -1
  258. package/dist/hooks-cli-CnCOjVv0.js +0 -1
  259. package/dist/hooks-status-BHt-Xvh4.js +0 -1
  260. package/dist/hooks-status-CRJ4J0ZW.js +0 -1
  261. package/dist/image-BBO-0uLG.js +0 -1
  262. package/dist/image-BP1cfEh1.js +0 -1
  263. package/dist/image-BVbOr9yV.js +0 -1
  264. package/dist/image-CcsuUB1B.js +0 -1
  265. package/dist/index.js +1 -2
  266. package/dist/inspect-BKV-I1UE.js +0 -1
  267. package/dist/inspect-z59cgmYc.js +0 -1
  268. package/dist/install-safe-path-C6kc_8NW.js +0 -1
  269. package/dist/install-safe-path-iesxijn2.js +0 -1
  270. package/dist/installs-CKzq-YqL.js +0 -1
  271. package/dist/installs-DzSskdtJ.js +0 -1
  272. package/dist/ipv4-B05QVStj.js +0 -1
  273. package/dist/ipv4-SeeyR-DH.js +0 -1
  274. package/dist/ir-B7mdG27k.js +0 -1
  275. package/dist/ir-BTfsA9Dd.js +0 -1
  276. package/dist/ir-CNTx85qV.js +0 -1
  277. package/dist/ir-DdjufzKF.js +0 -1
  278. package/dist/is-main-DG5ueqhF.js +0 -1
  279. package/dist/issue-format-BtMzMXtZ.js +0 -1
  280. package/dist/issue-format-CN9PHzXY.js +0 -1
  281. package/dist/kill-tree-D6nPx1_o.js +0 -1
  282. package/dist/lifecycle-core-B1nrgJCw.js +0 -1
  283. package/dist/lifecycle-core-D_LWJeD_.js +0 -1
  284. package/dist/line/accounts.js +0 -1
  285. package/dist/line/send.js +0 -1
  286. package/dist/line/template-messages.js +0 -1
  287. package/dist/links-CBnmRP9D.js +0 -1
  288. package/dist/links-CySwdMcF.js +0 -1
  289. package/dist/llm-slug-generator.js +0 -1
  290. package/dist/load-options-BsOW74dp.js +0 -1
  291. package/dist/load-options-C7dLuybp.js +0 -1
  292. package/dist/load-options-DV4j6Aqb.js +0 -1
  293. package/dist/load-options-Dwt0CeEg.js +0 -1
  294. package/dist/local-roots-aA-4ohTq.js +0 -1
  295. package/dist/logger-5W0OocJW.js +0 -1
  296. package/dist/logger-Bl8URnrW.js +0 -1
  297. package/dist/logger-DwWqfo66.js +0 -1
  298. package/dist/logger-kQAOe3qp.js +0 -1
  299. package/dist/logging-B7XHbCNn.js +0 -1
  300. package/dist/logging-CbMVr2MA.js +0 -1
  301. package/dist/login-BGLWiksP.js +0 -1
  302. package/dist/login-CcYeF5T_.js +0 -1
  303. package/dist/login-DSZdCiDx.js +0 -1
  304. package/dist/login-DWZzj-P1.js +0 -1
  305. package/dist/login-qr-BGpGVMES.js +0 -1
  306. package/dist/login-qr-BUdgvi3v.js +0 -1
  307. package/dist/login-qr-Bx8skPB-.js +0 -1
  308. package/dist/login-qr-DYUCmP-W.js +0 -1
  309. package/dist/login-qr-_79eoRb4.js +0 -1
  310. package/dist/logs-cli-C52caOop.js +0 -1
  311. package/dist/logs-cli-Ch50TE-J.js +0 -1
  312. package/dist/manager-CI6O4QH6.js +0 -1
  313. package/dist/manager-CN_rQm1L.js +0 -1
  314. package/dist/manager-CxZRoQkE.js +0 -1
  315. package/dist/manager-iFi--Fru.js +0 -1
  316. package/dist/memory-cli-BouV_wyL.js +0 -1
  317. package/dist/memory-cli-C8fBBPgv.js +0 -1
  318. package/dist/model-catalog-D-hkNWin.js +0 -1
  319. package/dist/model-catalog-mt0IcDfR.js +0 -1
  320. package/dist/model-param-b-B0r2cPDw.js +0 -1
  321. package/dist/model-param-b-BqIr5rY5.js +0 -1
  322. package/dist/model-picker-BB0Zdvyu.js +0 -1
  323. package/dist/model-picker-DeiWyW0N.js +0 -1
  324. package/dist/model-selection-BLbnMb5E.js +0 -1
  325. package/dist/model-selection-D7mdJmGK.js +0 -1
  326. package/dist/model-selection-DvekK9rZ.js +0 -1
  327. package/dist/models-BBYqej07.js +0 -1
  328. package/dist/models-cli-CMMhnlHo.js +0 -1
  329. package/dist/models-cli-CqbDyDn2.js +0 -1
  330. package/dist/models-config-BlQ39qlq.js +0 -1
  331. package/dist/models-config-DZzS67GS.js +0 -1
  332. package/dist/mutable-allowlist-detectors-C4rNVag8.js +0 -1
  333. package/dist/mutable-allowlist-detectors-CL0qe54J.js +0 -1
  334. package/dist/node-cli-Bzu1efMB.js +0 -1
  335. package/dist/node-cli-Dv-Eib4o.js +0 -1
  336. package/dist/node-command-policy-D9yZu9zq.js +0 -1
  337. package/dist/node-command-policy-DyWp3Bjz.js +0 -1
  338. package/dist/node-commands-8GBOiktk.js +0 -1
  339. package/dist/node-commands-DdkziOTx.js +0 -1
  340. package/dist/node-resolve-B3BJbmQX.js +0 -1
  341. package/dist/node-resolve-DLZf3-1V.js +0 -1
  342. package/dist/node-service-BRfrNp8l.js +0 -1
  343. package/dist/node-service-C0bl7jcZ.js +0 -1
  344. package/dist/node-shell-BVZylVP6.js +0 -1
  345. package/dist/nodes-cli-B3aNQG30.js +0 -1
  346. package/dist/nodes-cli-DzO6PSFw.js +0 -1
  347. package/dist/nodes-screen-8nRBsfID.js +0 -1
  348. package/dist/note-D4GAwgha.js +0 -1
  349. package/dist/note-Dp-d_utk.js +0 -1
  350. package/dist/npm-pack-install-B23L-AtF.js +0 -1
  351. package/dist/npm-pack-install-C0te3Oap.js +0 -1
  352. package/dist/npm-resolution--_-0q2ks.js +0 -1
  353. package/dist/npm-resolution-CBlwQq3a.js +0 -1
  354. package/dist/oauth-env-DAamJ1oz.js +0 -1
  355. package/dist/oauth-env-DSLBTWb1.js +0 -1
  356. package/dist/oauth-tls-preflight-BSBRDIfC.js +0 -1
  357. package/dist/oauth-tls-preflight-ByNjbUR5.js +0 -1
  358. package/dist/ollama-setup-CGuyH3Ey.js +0 -1
  359. package/dist/ollama-setup-LVRPefmV.js +0 -1
  360. package/dist/{onboard-DMmLqys5.js → onboard-DZG0HnuP.js} +1 -2
  361. package/dist/{onboard-C2Ofvb_A.js → onboard-DlCEww7K.js} +1 -2
  362. package/dist/onboard-channels-BDMtq3ex.js +0 -1
  363. package/dist/onboard-channels-BO3AN_eA.js +0 -1
  364. package/dist/onboard-config-B7U20YRw.js +0 -1
  365. package/dist/onboard-config-DS9dUv8M.js +0 -1
  366. package/dist/onboard-custom--OylwoHQ.js +0 -1
  367. package/dist/onboard-custom-_Df_ciX2.js +0 -1
  368. package/dist/onboard-helpers-D90u4wVK.js +0 -1
  369. package/dist/onboard-helpers-DOlI17Ac.js +0 -1
  370. package/dist/onboard-hooks-CERzXObm.js +0 -1
  371. package/dist/onboard-hooks-gQ3sxBNi.js +0 -1
  372. package/dist/onboard-provider-auth-flags-CqbipO7D.js +0 -1
  373. package/dist/onboard-provider-auth-flags-Dvwzdz37.js +0 -1
  374. package/dist/onboard-remote-B1-SlmUN.js +0 -1
  375. package/dist/onboard-remote-C7Eg49Uf.js +0 -1
  376. package/dist/onboard-search-f2tJD4hg.js +0 -1
  377. package/dist/onboard-search-fslKKhyg.js +0 -1
  378. package/dist/onboard-skills-DCgTr6hW.js +0 -1
  379. package/dist/onboard-skills-_TBzISd2.js +0 -1
  380. package/dist/{onboarding-C82cKKNI.js → onboarding-CxRTJCBM.js} +1 -2
  381. package/dist/{onboarding-M80apW9t.js → onboarding-m-m__16h.js} +1 -2
  382. package/dist/{onboarding.finalize-D9nrrI1J.js → onboarding.finalize-BJxMhYUa.js} +1 -2
  383. package/dist/{onboarding.finalize-CVvwI1Qg.js → onboarding.finalize-UiX3YmbI.js} +1 -2
  384. package/dist/onboarding.gateway-config-CXjzrfwL.js +0 -1
  385. package/dist/onboarding.gateway-config-TSq70E-S.js +0 -1
  386. package/dist/onboarding.secret-input-BSmFS1Px.js +0 -1
  387. package/dist/onboarding.secret-input-CUD0t7Pk.js +0 -1
  388. package/dist/openai-codex-model-default-Bx8i3bOg.js +0 -1
  389. package/dist/openai-codex-model-default-DuRfnfUm.js +0 -1
  390. package/dist/openai-model-default-Bm9b0oR0.js +0 -1
  391. package/dist/openai-model-default-KMCphvoO.js +0 -1
  392. package/dist/openclaw-exec-env-BWbOu_YC.js +0 -1
  393. package/dist/openclaw-root-CnsBf6ZU.js +0 -1
  394. package/dist/openclaw-root-D_0Q6--h.js +0 -1
  395. package/dist/outbound-BevYwvMh.js +0 -1
  396. package/dist/outbound-CqDxMWLZ.js +0 -1
  397. package/dist/outbound-DmwQEFu0.js +0 -1
  398. package/dist/outbound-attachment-9-8VNvRG.js +0 -1
  399. package/dist/outbound-attachment-Bah4dvuM.js +0 -1
  400. package/dist/outbound-attachment-CVcDBkAD.js +0 -1
  401. package/dist/outbound-attachment-E89zumcH.js +0 -1
  402. package/dist/outbound-xlG_RqEu.js +0 -1
  403. package/dist/pairing-cli-ByPhOBWo.js +0 -1
  404. package/dist/pairing-cli-CxJy8LPo.js +0 -1
  405. package/dist/pairing-labels-CZ-aX-up.js +0 -1
  406. package/dist/pairing-labels-PIuZfthz.js +0 -1
  407. package/dist/pairing-store-BaaVy1zB.js +0 -1
  408. package/dist/pairing-store-EmfFQVcs.js +0 -1
  409. package/dist/pairing-token-B8RdfK2y.js +0 -1
  410. package/dist/pairing-token-zdbQ951y.js +0 -1
  411. package/dist/parse-duration-XTjMKl8s.js +0 -1
  412. package/dist/parse-finite-number-DqzUM-_s.js +0 -1
  413. package/dist/parse-finite-number-dBmDLLKL.js +0 -1
  414. package/dist/parse-log-line-CsYLg7Qu.js +0 -1
  415. package/dist/parse-log-line-NV-cipB_.js +0 -1
  416. package/dist/parse-port-Bv1Y9Wk5.js +0 -1
  417. package/dist/parse-port-JVwkxcZ8.js +0 -1
  418. package/dist/parse-timeout-DWSGfCkQ.js +0 -1
  419. package/dist/parse-timeout-Dx4QnVzo.js +0 -1
  420. package/dist/path-alias-guards-kY_ZbWs-.js +0 -1
  421. package/dist/path-alias-guards-mvyLCPlN.js +0 -1
  422. package/dist/path-env-BPd1Yd-i.js +0 -1
  423. package/dist/path-env-emdAQejM.js +0 -1
  424. package/dist/path-safety-BukYK8Kd.js +0 -1
  425. package/dist/path-safety-DaaMJFdt.js +0 -1
  426. package/dist/paths-B4IRk3wi.js +0 -1
  427. package/dist/paths-BfjJY2VL.js +0 -1
  428. package/dist/paths-BjD3T_xq.js +0 -1
  429. package/dist/paths-BpQOWYiT.js +0 -1
  430. package/dist/paths-CChBdtE8.js +0 -1
  431. package/dist/paths-CrCoPIVK.js +0 -1
  432. package/dist/paths-piJASC5k.js +0 -1
  433. package/dist/paths-yLEk_25I.js +0 -1
  434. package/dist/pi-embedded-6yGEd2xd.js +0 -1
  435. package/dist/pi-embedded-X_Svd4Wi.js +0 -1
  436. package/dist/pi-model-discovery-BPkhPDMr.js +0 -1
  437. package/dist/pi-model-discovery-BonZ1N3x.js +0 -1
  438. package/dist/pi-model-discovery-DVKXkQTR.js +0 -1
  439. package/dist/pi-model-discovery-DnJkNRc-.js +0 -1
  440. package/dist/pi-tools.before-tool-call.runtime-2-IJ8xox.js +0 -1
  441. package/dist/pi-tools.before-tool-call.runtime-CNesNgq0.js +0 -1
  442. package/dist/pi-tools.before-tool-call.runtime-CmtITCPP.js +0 -1
  443. package/dist/pi-tools.before-tool-call.runtime-VUjwIYJ7.js +0 -1
  444. package/dist/pi-tools.policy-B6q8YOfg.js +0 -1
  445. package/dist/plugin-auto-enable-CTgkkJK7.js +0 -1
  446. package/dist/plugin-auto-enable-adba5Evb.js +0 -1
  447. package/dist/plugin-install-plan-BmyB3dR1.js +0 -1
  448. package/dist/plugin-install-plan-sIOiMBS1.js +0 -1
  449. package/dist/plugin-registry-CN2aCPP7.js +0 -1
  450. package/dist/plugin-registry-DYwEy5eM.js +0 -1
  451. package/dist/plugin-sdk/account-id.cjs +0 -1
  452. package/dist/plugin-sdk/account-id.js +0 -1
  453. package/dist/plugin-sdk/acpx.cjs +0 -1
  454. package/dist/plugin-sdk/acpx.js +0 -1
  455. package/dist/plugin-sdk/active-listener-B1sd5Yrr.cjs +0 -1
  456. package/dist/plugin-sdk/active-listener-CVvtj4nc.cjs +0 -1
  457. package/dist/plugin-sdk/active-listener-D0Pag-jN.js +0 -1
  458. package/dist/plugin-sdk/active-listener-DIzG1nGC.js +0 -1
  459. package/dist/plugin-sdk/active-listener-DUT4_v5r.cjs +0 -1
  460. package/dist/plugin-sdk/active-listener-D_Cq4Tuy.cjs +0 -1
  461. package/dist/plugin-sdk/active-listener-HBuXCjdG.js +0 -1
  462. package/dist/plugin-sdk/active-listener-V7whA3d_.js +0 -1
  463. package/dist/plugin-sdk/active-listener-YOWDFFGG.js +0 -1
  464. package/dist/plugin-sdk/active-listener-kJidH-KZ.js +0 -1
  465. package/dist/plugin-sdk/active-listener-kmJHqUWY.cjs +0 -1
  466. package/dist/plugin-sdk/active-listener-vpxSd-kW.cjs +0 -1
  467. package/dist/plugin-sdk/api-key-rotation-BEhJdmXN.cjs +0 -1
  468. package/dist/plugin-sdk/api-key-rotation-BcDAQISn.js +0 -1
  469. package/dist/plugin-sdk/api-key-rotation-Bua813IH.cjs +0 -1
  470. package/dist/plugin-sdk/api-key-rotation-C7_ooC3N.js +0 -1
  471. package/dist/plugin-sdk/api-key-rotation-CiFfWYgL.js +0 -1
  472. package/dist/plugin-sdk/api-key-rotation-CrVpqlS6.cjs +0 -1
  473. package/dist/plugin-sdk/api-key-rotation-D-zSLAf_.cjs +0 -1
  474. package/dist/plugin-sdk/api-key-rotation-DInDOH-A.js +0 -1
  475. package/dist/plugin-sdk/api-key-rotation-DKp72Rw4.cjs +0 -1
  476. package/dist/plugin-sdk/api-key-rotation-YRRtbk9Y.cjs +0 -1
  477. package/dist/plugin-sdk/api-key-rotation-tVSHRH8D.js +0 -1
  478. package/dist/plugin-sdk/api-key-rotation-ta953lKF.js +0 -1
  479. package/dist/plugin-sdk/audio-preflight-5ZbcO1qy.js +0 -1
  480. package/dist/plugin-sdk/audio-preflight-BrAX9j6r.js +0 -1
  481. package/dist/plugin-sdk/audio-preflight-C2NpU5hR.cjs +0 -1
  482. package/dist/plugin-sdk/audio-preflight-CtWGsCje.js +0 -1
  483. package/dist/plugin-sdk/audio-preflight-CwjNHDro.cjs +0 -1
  484. package/dist/plugin-sdk/audio-preflight-D22cCCmn.js +0 -1
  485. package/dist/plugin-sdk/audio-preflight-DyK2q8OQ.cjs +0 -1
  486. package/dist/plugin-sdk/audio-preflight-F7lfchEO.cjs +0 -1
  487. package/dist/plugin-sdk/audio-preflight-ItHD-3bi.js +0 -1
  488. package/dist/plugin-sdk/audio-preflight-QWsN9gcK.cjs +0 -1
  489. package/dist/plugin-sdk/audio-preflight-k7Qt2rDs.cjs +0 -1
  490. package/dist/plugin-sdk/audio-preflight-wcMT_iUA.js +0 -1
  491. package/dist/plugin-sdk/audio-transcription-runner-B3bLoVvU.js +0 -1
  492. package/dist/plugin-sdk/audio-transcription-runner-BDfW3xeJ.cjs +0 -1
  493. package/dist/plugin-sdk/audio-transcription-runner-BZLASCWO.cjs +0 -1
  494. package/dist/plugin-sdk/audio-transcription-runner-CiRKTRED.cjs +0 -1
  495. package/dist/plugin-sdk/audio-transcription-runner-Cxs7u0B3.cjs +0 -1
  496. package/dist/plugin-sdk/audio-transcription-runner-D2IxJCfd.cjs +0 -1
  497. package/dist/plugin-sdk/audio-transcription-runner-DA6TwXrV.cjs +0 -1
  498. package/dist/plugin-sdk/audio-transcription-runner-DZIEX1Rl.js +0 -1
  499. package/dist/plugin-sdk/audio-transcription-runner-DZRGn6-f.js +0 -1
  500. package/dist/plugin-sdk/audio-transcription-runner-Dc-WF6zu.js +0 -1
  501. package/dist/plugin-sdk/audio-transcription-runner-DuBgVmcT.js +0 -1
  502. package/dist/plugin-sdk/audio-transcription-runner-nKI1rQ0R.js +0 -1
  503. package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +0 -1
  504. package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +0 -1
  505. package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +0 -1
  506. package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +0 -1
  507. package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +0 -1
  508. package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +0 -1
  509. package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +0 -1
  510. package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +0 -1
  511. package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +0 -1
  512. package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +0 -1
  513. package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +0 -1
  514. package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +0 -1
  515. package/dist/plugin-sdk/bluebubbles.cjs +0 -1
  516. package/dist/plugin-sdk/bluebubbles.js +0 -1
  517. package/dist/plugin-sdk/channel-activity--Ax2m0qQ.js +0 -1
  518. package/dist/plugin-sdk/channel-activity-BCsNxxNa.js +0 -1
  519. package/dist/plugin-sdk/channel-activity-BUieXBdg.cjs +0 -1
  520. package/dist/plugin-sdk/channel-activity-BXffAklf.js +0 -1
  521. package/dist/plugin-sdk/channel-activity-BlYTUiU4.js +0 -1
  522. package/dist/plugin-sdk/channel-activity-Bm-pvlXw.cjs +0 -1
  523. package/dist/plugin-sdk/channel-activity-Bnai3H2M.js +0 -1
  524. package/dist/plugin-sdk/channel-activity-CC3JLAxD.cjs +0 -1
  525. package/dist/plugin-sdk/channel-activity-CTmfXwYn.cjs +0 -1
  526. package/dist/plugin-sdk/channel-activity-D98aY9ZF.js +0 -1
  527. package/dist/plugin-sdk/channel-activity-DymcGybX.cjs +0 -1
  528. package/dist/plugin-sdk/channel-activity-gZBQEyOK.cjs +0 -1
  529. package/dist/plugin-sdk/channel-web-B795Ild9.cjs +0 -1
  530. package/dist/plugin-sdk/channel-web-Bg8DNyeb.js +0 -1
  531. package/dist/plugin-sdk/channel-web-CW42ALB5.cjs +0 -1
  532. package/dist/plugin-sdk/channel-web-D5zxPW-x.js +0 -1
  533. package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +0 -1
  534. package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +0 -1
  535. package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +0 -1
  536. package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +0 -1
  537. package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +0 -1
  538. package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +0 -1
  539. package/dist/plugin-sdk/commands-registry-BIGWymiv.cjs +0 -1
  540. package/dist/plugin-sdk/commands-registry-Bnadsir-.cjs +0 -1
  541. package/dist/plugin-sdk/commands-registry-C1Gb98lg.js +0 -1
  542. package/dist/plugin-sdk/commands-registry-CZcNTwNs.js +0 -1
  543. package/dist/plugin-sdk/commands-registry-CeJQPXIR.js +0 -1
  544. package/dist/plugin-sdk/commands-registry-CehvtLBA.js +0 -1
  545. package/dist/plugin-sdk/commands-registry-Cf8DaBmw.js +0 -1
  546. package/dist/plugin-sdk/commands-registry-Cfv6gDoQ.cjs +0 -1
  547. package/dist/plugin-sdk/commands-registry-D734s8r7.js +0 -1
  548. package/dist/plugin-sdk/commands-registry-DWx89vtR.cjs +0 -1
  549. package/dist/plugin-sdk/commands-registry-DviWu8J8.cjs +0 -1
  550. package/dist/plugin-sdk/commands-registry-wA0CkHGk.cjs +0 -1
  551. package/dist/plugin-sdk/common-BJ0tHoNJ.cjs +0 -1
  552. package/dist/plugin-sdk/common-CxLmdAIn.js +0 -1
  553. package/dist/plugin-sdk/compat.cjs +0 -1
  554. package/dist/plugin-sdk/compat.js +0 -1
  555. package/dist/plugin-sdk/config-C2-9m5-M.cjs +0 -1
  556. package/dist/plugin-sdk/config-Cx3SFBFW.js +0 -1
  557. package/dist/plugin-sdk/copilot-proxy.cjs +0 -1
  558. package/dist/plugin-sdk/copilot-proxy.js +0 -1
  559. package/dist/plugin-sdk/core.cjs +0 -1
  560. package/dist/plugin-sdk/core.js +0 -1
  561. package/dist/plugin-sdk/deliver--pOntbRC.cjs +0 -1
  562. package/dist/plugin-sdk/deliver-BLMe2eBS.js +0 -1
  563. package/dist/plugin-sdk/deliver-BcHzZPc2.js +0 -1
  564. package/dist/plugin-sdk/deliver-CSGTRHt1.js +0 -1
  565. package/dist/plugin-sdk/deliver-Cm8yUsWK.cjs +0 -1
  566. package/dist/plugin-sdk/deliver-DQDZRjZ0.js +0 -1
  567. package/dist/plugin-sdk/deliver-DRintVMn.js +0 -1
  568. package/dist/plugin-sdk/deliver-DehGdLxT.js +0 -1
  569. package/dist/plugin-sdk/deliver-EThzALwn.cjs +0 -1
  570. package/dist/plugin-sdk/deliver-d7VfVmTa.cjs +0 -1
  571. package/dist/plugin-sdk/deliver-rACJj8E9.cjs +0 -1
  572. package/dist/plugin-sdk/deliver-wteCze09.cjs +0 -1
  573. package/dist/plugin-sdk/device-pair.cjs +0 -1
  574. package/dist/plugin-sdk/device-pair.js +0 -1
  575. package/dist/plugin-sdk/diagnostic-BcBlExSy.cjs +0 -1
  576. package/dist/plugin-sdk/diagnostic-Bmp3zWQp.cjs +0 -1
  577. package/dist/plugin-sdk/diagnostic-BvrdTMl3.js +0 -1
  578. package/dist/plugin-sdk/diagnostic-C2jKFixS.cjs +0 -1
  579. package/dist/plugin-sdk/diagnostic-CSfBcIOI.js +0 -1
  580. package/dist/plugin-sdk/diagnostic-CYR5dxDE.cjs +0 -1
  581. package/dist/plugin-sdk/diagnostic-CdNZNyNv.cjs +0 -1
  582. package/dist/plugin-sdk/diagnostic-DE5k6C1E.js +0 -1
  583. package/dist/plugin-sdk/diagnostic-DMpxa640.cjs +0 -1
  584. package/dist/plugin-sdk/diagnostic-DSgf5Z4H.js +0 -1
  585. package/dist/plugin-sdk/diagnostic-DbRdunVt.js +0 -1
  586. package/dist/plugin-sdk/diagnostic-zCrcFAbJ.js +0 -1
  587. package/dist/plugin-sdk/diagnostics-otel.cjs +0 -1
  588. package/dist/plugin-sdk/diagnostics-otel.js +0 -1
  589. package/dist/plugin-sdk/diffs.cjs +0 -1
  590. package/dist/plugin-sdk/diffs.js +0 -1
  591. package/dist/plugin-sdk/discord.cjs +0 -1
  592. package/dist/plugin-sdk/discord.js +0 -1
  593. package/dist/plugin-sdk/dispatch-B13B2T1k.js +0 -1
  594. package/dist/plugin-sdk/dispatch-BaBcLOry.js +0 -1
  595. package/dist/plugin-sdk/dispatch-BlOkbw2U.js +0 -1
  596. package/dist/plugin-sdk/dispatch-D2Km7gvG.cjs +0 -1
  597. package/dist/plugin-sdk/dispatch-DAaOM5c1.cjs +0 -1
  598. package/dist/plugin-sdk/dispatch-DYRrW05S.js +0 -1
  599. package/dist/plugin-sdk/dispatch-Dap2ZPC9.js +0 -1
  600. package/dist/plugin-sdk/dispatch-Dl0eaYcY.cjs +0 -1
  601. package/dist/plugin-sdk/dispatch-_tJF5hSh.cjs +0 -1
  602. package/dist/plugin-sdk/dispatch-cPg1rBWu.cjs +0 -1
  603. package/dist/plugin-sdk/feishu.cjs +0 -1
  604. package/dist/plugin-sdk/feishu.js +0 -1
  605. package/dist/plugin-sdk/fetch-7Iq9POda.js +0 -1
  606. package/dist/plugin-sdk/fetch-B1GR6-u4.js +0 -1
  607. package/dist/plugin-sdk/fetch-B27H-XCf.js +0 -1
  608. package/dist/plugin-sdk/fetch-BMYDLRWo.js +0 -1
  609. package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +0 -1
  610. package/dist/plugin-sdk/fetch-BVEVk5YF.js +0 -1
  611. package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +0 -1
  612. package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +0 -1
  613. package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +0 -1
  614. package/dist/plugin-sdk/fetch-BtZY623f.js +0 -1
  615. package/dist/plugin-sdk/fetch-C-HRWp5R.js +0 -1
  616. package/dist/plugin-sdk/fetch-C3LEMysf.js +0 -1
  617. package/dist/plugin-sdk/fetch-CCLWsYaQ.js +0 -1
  618. package/dist/plugin-sdk/fetch-CZewCAvu.cjs +0 -1
  619. package/dist/plugin-sdk/fetch-ClKErpni.cjs +0 -1
  620. package/dist/plugin-sdk/fetch-DBRI0sKI.js +0 -1
  621. package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +0 -1
  622. package/dist/plugin-sdk/fetch-DUMEaqum.cjs +0 -1
  623. package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +0 -1
  624. package/dist/plugin-sdk/fetch-J0IzopiJ.js +0 -1
  625. package/dist/plugin-sdk/fetch-guard-7tObWdgY.cjs +0 -1
  626. package/dist/plugin-sdk/fetch-guard-ACKeLHgB.js +0 -1
  627. package/dist/plugin-sdk/fetch-guard-BI5z5sCg.cjs +0 -1
  628. package/dist/plugin-sdk/fetch-guard-BUOtcki7.cjs +0 -1
  629. package/dist/plugin-sdk/fetch-guard-BZi5e63X.js +0 -1
  630. package/dist/plugin-sdk/fetch-guard-CVnIQ0nI.cjs +0 -1
  631. package/dist/plugin-sdk/fetch-guard-DKS4LY4o.js +0 -1
  632. package/dist/plugin-sdk/fetch-guard-DcAQBHbg.cjs +0 -1
  633. package/dist/plugin-sdk/fetch-guard-Dj-DlPBS.cjs +0 -1
  634. package/dist/plugin-sdk/fetch-guard-Dm1nAvhl.js +0 -1
  635. package/dist/plugin-sdk/fetch-guard-GfhPo1Fa.js +0 -1
  636. package/dist/plugin-sdk/fetch-guard-nFWUH1s9.js +0 -1
  637. package/dist/plugin-sdk/fetch-lw-aF17e.cjs +0 -1
  638. package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +0 -1
  639. package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +0 -1
  640. package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +0 -1
  641. package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +0 -1
  642. package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +0 -1
  643. package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +0 -1
  644. package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +0 -1
  645. package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +0 -1
  646. package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +0 -1
  647. package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +0 -1
  648. package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +0 -1
  649. package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +0 -1
  650. package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +0 -1
  651. package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +0 -1
  652. package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +0 -1
  653. package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +0 -1
  654. package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +0 -1
  655. package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +0 -1
  656. package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +0 -1
  657. package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +0 -1
  658. package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +0 -1
  659. package/dist/plugin-sdk/google-gemini-cli-auth.cjs +0 -1
  660. package/dist/plugin-sdk/google-gemini-cli-auth.js +0 -1
  661. package/dist/plugin-sdk/googlechat.cjs +0 -1
  662. package/dist/plugin-sdk/googlechat.js +0 -1
  663. package/dist/plugin-sdk/image-BLG2OrjE.cjs +0 -1
  664. package/dist/plugin-sdk/image-BPUmI-kx.cjs +0 -1
  665. package/dist/plugin-sdk/image-Bt_w0o87.js +0 -1
  666. package/dist/plugin-sdk/image-CMeyJO2-.js +0 -1
  667. package/dist/plugin-sdk/image-CMiT6Fvk.cjs +0 -1
  668. package/dist/plugin-sdk/image-CNMuTe0Z.js +0 -1
  669. package/dist/plugin-sdk/image-CO9zxV0G.js +0 -1
  670. package/dist/plugin-sdk/image-CjVyB61p.cjs +0 -1
  671. package/dist/plugin-sdk/image-CkWikcPf.cjs +0 -1
  672. package/dist/plugin-sdk/image-Dk2gzO1U.js +0 -1
  673. package/dist/plugin-sdk/image-Jmj-a1pv.js +0 -1
  674. package/dist/plugin-sdk/image-UKq4Bn2r.cjs +0 -1
  675. package/dist/plugin-sdk/imessage.cjs +0 -1
  676. package/dist/plugin-sdk/imessage.js +0 -1
  677. package/dist/plugin-sdk/index.cjs +0 -1
  678. package/dist/plugin-sdk/index.js +0 -1
  679. package/dist/plugin-sdk/ir-Bg_avpt0.cjs +0 -1
  680. package/dist/plugin-sdk/ir-BiiaNbB9.cjs +0 -1
  681. package/dist/plugin-sdk/ir-CYJPM1_I.cjs +0 -1
  682. package/dist/plugin-sdk/ir-Ca3EdqFl.js +0 -1
  683. package/dist/plugin-sdk/ir-Cl_S_VBR.cjs +0 -1
  684. package/dist/plugin-sdk/ir-Cq7b_9v8.cjs +0 -1
  685. package/dist/plugin-sdk/ir-DcWa7gsX.cjs +0 -1
  686. package/dist/plugin-sdk/ir-DdA08iXJ.js +0 -1
  687. package/dist/plugin-sdk/ir-DqBwrJJd.js +0 -1
  688. package/dist/plugin-sdk/ir-EUD0qDem.js +0 -1
  689. package/dist/plugin-sdk/ir-c1MS26Ci.js +0 -1
  690. package/dist/plugin-sdk/ir-vhCxHELh.js +0 -1
  691. package/dist/plugin-sdk/irc.cjs +0 -1
  692. package/dist/plugin-sdk/irc.js +0 -1
  693. package/dist/plugin-sdk/keyed-async-queue.cjs +0 -1
  694. package/dist/plugin-sdk/keyed-async-queue.js +0 -1
  695. package/dist/plugin-sdk/line.cjs +0 -1
  696. package/dist/plugin-sdk/line.js +0 -1
  697. package/dist/plugin-sdk/llm-task.cjs +0 -1
  698. package/dist/plugin-sdk/llm-task.js +0 -1
  699. package/dist/plugin-sdk/load-options-B9Ss5YOO.js +0 -1
  700. package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +0 -1
  701. package/dist/plugin-sdk/load-options-BXvm8HVv.js +0 -1
  702. package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +0 -1
  703. package/dist/plugin-sdk/load-options-BcSg1ODN.js +0 -1
  704. package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +0 -1
  705. package/dist/plugin-sdk/lobster.cjs +0 -1
  706. package/dist/plugin-sdk/lobster.js +0 -1
  707. package/dist/plugin-sdk/local-roots-2OcKjfzk.js +0 -1
  708. package/dist/plugin-sdk/local-roots-ByrRvVBc.cjs +0 -1
  709. package/dist/plugin-sdk/local-roots-CXPxvx0J.js +0 -1
  710. package/dist/plugin-sdk/local-roots-CzbssMW1.cjs +0 -1
  711. package/dist/plugin-sdk/local-roots-DIijr8mK.cjs +0 -1
  712. package/dist/plugin-sdk/local-roots-DRv9Y_41.cjs +0 -1
  713. package/dist/plugin-sdk/local-roots-DTC7BJct.js +0 -1
  714. package/dist/plugin-sdk/local-roots-DU8RuiRi.js +0 -1
  715. package/dist/plugin-sdk/local-roots-DprQ5M3b.js +0 -1
  716. package/dist/plugin-sdk/local-roots-GqNj3vMl.cjs +0 -1
  717. package/dist/plugin-sdk/local-roots-I2icTm2P.cjs +0 -1
  718. package/dist/plugin-sdk/local-roots-qEhx-D42.js +0 -1
  719. package/dist/plugin-sdk/logger-6O6OsYBL.cjs +0 -1
  720. package/dist/plugin-sdk/logger-BlddiV_d.cjs +0 -1
  721. package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +0 -1
  722. package/dist/plugin-sdk/logger-BtrWb0dj.js +0 -1
  723. package/dist/plugin-sdk/logger-C210xuWx.js +0 -1
  724. package/dist/plugin-sdk/logger-DJGHvDbX.js +0 -1
  725. package/dist/plugin-sdk/logger-DPlqYkRm.cjs +0 -1
  726. package/dist/plugin-sdk/logger-DUYnS-W3.cjs +0 -1
  727. package/dist/plugin-sdk/logger-DwWqfo66.js +0 -1
  728. package/dist/plugin-sdk/logger-vBDTZWl3.js +0 -1
  729. package/dist/plugin-sdk/login-0ui1gfZM.cjs +0 -1
  730. package/dist/plugin-sdk/login-B0lIdwss.cjs +0 -1
  731. package/dist/plugin-sdk/login-B43p990Y.cjs +0 -1
  732. package/dist/plugin-sdk/login-DHBcWg4R.cjs +0 -1
  733. package/dist/plugin-sdk/login-DUCNg4lV.js +0 -1
  734. package/dist/plugin-sdk/login-DqVo92p1.js +0 -1
  735. package/dist/plugin-sdk/login-Dt4KiLgP.js +0 -1
  736. package/dist/plugin-sdk/login-IVBk3GwG.cjs +0 -1
  737. package/dist/plugin-sdk/login-T6tSC1Xl.js +0 -1
  738. package/dist/plugin-sdk/login-XruRHZe5.js +0 -1
  739. package/dist/plugin-sdk/login-p9hWVYO6.cjs +0 -1
  740. package/dist/plugin-sdk/login-qr-B4wf-15u.js +0 -1
  741. package/dist/plugin-sdk/login-qr-BQMm3yV_.cjs +0 -1
  742. package/dist/plugin-sdk/login-qr-BreyhXFQ.cjs +0 -1
  743. package/dist/plugin-sdk/login-qr-C6RPK8ld.js +0 -1
  744. package/dist/plugin-sdk/login-qr-C6cQueYq.js +0 -1
  745. package/dist/plugin-sdk/login-qr-CxznBK7s.cjs +0 -1
  746. package/dist/plugin-sdk/login-qr-D0dmb3Gr.js +0 -1
  747. package/dist/plugin-sdk/login-qr-DWW1FC-n.cjs +0 -1
  748. package/dist/plugin-sdk/login-qr-DjC-P7Vy.cjs +0 -1
  749. package/dist/plugin-sdk/login-qr-KeBTY1Mb.js +0 -1
  750. package/dist/plugin-sdk/login-qr-gQsVZ8en.js +0 -1
  751. package/dist/plugin-sdk/login-qr-xkqmSKC8.cjs +0 -1
  752. package/dist/plugin-sdk/login-x9vN5UnR.js +0 -1
  753. package/dist/plugin-sdk/manager-B38IH03I.cjs +0 -1
  754. package/dist/plugin-sdk/manager-BZVFXygg.cjs +0 -1
  755. package/dist/plugin-sdk/manager-BuNveORY.cjs +0 -1
  756. package/dist/plugin-sdk/manager-C4FEmxjq.cjs +0 -1
  757. package/dist/plugin-sdk/manager-CHnzSMNG.js +0 -1
  758. package/dist/plugin-sdk/manager-CN4wiVFz.js +0 -1
  759. package/dist/plugin-sdk/manager-D9RwKYCX.js +0 -1
  760. package/dist/plugin-sdk/manager-DAmjm61U.cjs +0 -1
  761. package/dist/plugin-sdk/manager-DJSpJkev.js +0 -1
  762. package/dist/plugin-sdk/manager-EO7deQzm.js +0 -1
  763. package/dist/plugin-sdk/manager-vyHAgafh.cjs +0 -1
  764. package/dist/plugin-sdk/manager-zyDhj7B-.js +0 -1
  765. package/dist/plugin-sdk/matrix.cjs +0 -1
  766. package/dist/plugin-sdk/matrix.js +0 -1
  767. package/dist/plugin-sdk/mattermost.cjs +0 -1
  768. package/dist/plugin-sdk/mattermost.js +0 -1
  769. package/dist/plugin-sdk/memory-core.cjs +0 -1
  770. package/dist/plugin-sdk/memory-core.js +0 -1
  771. package/dist/plugin-sdk/minimax-portal-auth.cjs +0 -1
  772. package/dist/plugin-sdk/minimax-portal-auth.js +0 -1
  773. package/dist/plugin-sdk/model-auth-1RA9nkQH.js +0 -1
  774. package/dist/plugin-sdk/model-auth-Cgqd2_sP.cjs +0 -1
  775. package/dist/plugin-sdk/model-auth-Cp2GSJwZ.js +0 -1
  776. package/dist/plugin-sdk/model-auth-Lv74A-Si.cjs +0 -1
  777. package/dist/plugin-sdk/model-auth-RI6NYvTO.js +0 -1
  778. package/dist/plugin-sdk/model-auth-exDkzEDR.js +0 -1
  779. package/dist/plugin-sdk/model-auth-igOM3blS.cjs +0 -1
  780. package/dist/plugin-sdk/model-auth-sjKLUCCz.cjs +0 -1
  781. package/dist/plugin-sdk/model-selection-C9HlFaXF.js +0 -1
  782. package/dist/plugin-sdk/model-selection-DpGE9eNM.cjs +0 -1
  783. package/dist/plugin-sdk/msteams.cjs +0 -1
  784. package/dist/plugin-sdk/msteams.js +0 -1
  785. package/dist/plugin-sdk/nextcloud-talk.cjs +0 -1
  786. package/dist/plugin-sdk/nextcloud-talk.js +0 -1
  787. package/dist/plugin-sdk/nostr.cjs +0 -1
  788. package/dist/plugin-sdk/nostr.js +0 -1
  789. package/dist/plugin-sdk/outbound-BO0tyeUH.js +0 -1
  790. package/dist/plugin-sdk/outbound-BYU5HTrX.js +0 -1
  791. package/dist/plugin-sdk/outbound-CBVlxGRf.cjs +0 -1
  792. package/dist/plugin-sdk/outbound-CTyu_gZh.js +0 -1
  793. package/dist/plugin-sdk/outbound-CwWXHNwp.cjs +0 -1
  794. package/dist/plugin-sdk/outbound-CySyQcmE.js +0 -1
  795. package/dist/plugin-sdk/outbound-DDPxEpHH.cjs +0 -1
  796. package/dist/plugin-sdk/outbound-DZhl7sHt.cjs +0 -1
  797. package/dist/plugin-sdk/outbound-DmeUAXdA.js +0 -1
  798. package/dist/plugin-sdk/outbound-DvFQ_6wQ.cjs +0 -1
  799. package/dist/plugin-sdk/outbound-Dy87UlCV.cjs +0 -1
  800. package/dist/plugin-sdk/outbound-attachment-5H1iYkTb.js +0 -1
  801. package/dist/plugin-sdk/outbound-attachment-BAHrn3r7.cjs +0 -1
  802. package/dist/plugin-sdk/outbound-attachment-BBJPbiLF.cjs +0 -1
  803. package/dist/plugin-sdk/outbound-attachment-BIGvZREF.cjs +0 -1
  804. package/dist/plugin-sdk/outbound-attachment-B_OTB3A8.js +0 -1
  805. package/dist/plugin-sdk/outbound-attachment-C94-r948.js +0 -1
  806. package/dist/plugin-sdk/outbound-attachment-CJatgPbm.js +0 -1
  807. package/dist/plugin-sdk/outbound-attachment-CLUVyl5e.js +0 -1
  808. package/dist/plugin-sdk/outbound-attachment-CTR1-VEH.js +0 -1
  809. package/dist/plugin-sdk/outbound-attachment-CmQ0SNgK.cjs +0 -1
  810. package/dist/plugin-sdk/outbound-attachment-Dbja7LQF.cjs +0 -1
  811. package/dist/plugin-sdk/outbound-attachment-DwzJ2l3T.cjs +0 -1
  812. package/dist/plugin-sdk/outbound-xMr8Xsxe.js +0 -1
  813. package/dist/plugin-sdk/paths-BPlgbwrb.cjs +0 -1
  814. package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +0 -1
  815. package/dist/plugin-sdk/paths-BpQOWYiT.js +0 -1
  816. package/dist/plugin-sdk/paths-BvlJvmRS.cjs +0 -1
  817. package/dist/plugin-sdk/paths-CIcxeNL-.cjs +0 -1
  818. package/dist/plugin-sdk/paths-CXgWvWAM.js +0 -1
  819. package/dist/plugin-sdk/paths-Chp3zwtq.cjs +0 -1
  820. package/dist/plugin-sdk/paths-CnHSNSeR.js +0 -1
  821. package/dist/plugin-sdk/paths-Cqca1YmF.cjs +0 -1
  822. package/dist/plugin-sdk/paths-CtrEseGU.js +0 -1
  823. package/dist/plugin-sdk/paths-D55o_j8-.js +0 -1
  824. package/dist/plugin-sdk/paths-D90l3h_o.cjs +0 -1
  825. package/dist/plugin-sdk/paths-DaRoqzBQ.js +0 -1
  826. package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +0 -1
  827. package/dist/plugin-sdk/paths-DhSjTRMz.js +0 -1
  828. package/dist/plugin-sdk/paths-Do0djuaj.js +0 -1
  829. package/dist/plugin-sdk/paths-J4JUiRsa.js +0 -1
  830. package/dist/plugin-sdk/paths-cBAF6Bj0.js +0 -1
  831. package/dist/plugin-sdk/paths-piJASC5k.js +0 -1
  832. package/dist/plugin-sdk/paths-rO4ehkyU.js +0 -1
  833. package/dist/plugin-sdk/pi-model-discovery-5wc5qlmB.cjs +0 -1
  834. package/dist/plugin-sdk/pi-model-discovery-BQiHbl8F.js +0 -1
  835. package/dist/plugin-sdk/pi-model-discovery-BZZVGcJl.js +0 -1
  836. package/dist/plugin-sdk/pi-model-discovery-Ba70onAm.js +0 -1
  837. package/dist/plugin-sdk/pi-model-discovery-BfuqD_Rv.cjs +0 -1
  838. package/dist/plugin-sdk/pi-model-discovery-BsdlRK-w.js +0 -1
  839. package/dist/plugin-sdk/pi-model-discovery-CAYSx-Lw.cjs +0 -1
  840. package/dist/plugin-sdk/pi-model-discovery-CyBFRafV.cjs +0 -1
  841. package/dist/plugin-sdk/pi-model-discovery-D1WW5m-Q.js +0 -1
  842. package/dist/plugin-sdk/pi-model-discovery-DRYpUnOa.cjs +0 -1
  843. package/dist/plugin-sdk/pi-model-discovery-DUbDLlc7.cjs +0 -1
  844. package/dist/plugin-sdk/pi-model-discovery-DcUDwgMg.cjs +0 -1
  845. package/dist/plugin-sdk/pi-model-discovery-DrZsxLaJ.js +0 -1
  846. package/dist/plugin-sdk/pi-model-discovery-gaVoL7I2.js +0 -1
  847. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BWmteuHS.js +0 -1
  848. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BmznXclG.cjs +0 -1
  849. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BzTifHML.cjs +0 -1
  850. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CEPsGtJk.cjs +0 -1
  851. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CYleOK1-.cjs +0 -1
  852. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Ctbk1Pq8.js +0 -1
  853. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D-hwiLUl.js +0 -1
  854. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DDuUTLh8.js +0 -1
  855. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DLfogXKU.cjs +0 -1
  856. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dd-VFim_.js +0 -1
  857. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dvmcwf-j.cjs +0 -1
  858. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-i-IGFbqI.js +0 -1
  859. package/dist/plugin-sdk/polls-BuaJuIpV.cjs +0 -1
  860. package/dist/plugin-sdk/polls-CBAGZuJ6.js +0 -1
  861. package/dist/plugin-sdk/polls-CSKMbBIS.js +0 -1
  862. package/dist/plugin-sdk/polls-D0wY0FvT.cjs +0 -1
  863. package/dist/plugin-sdk/polls-PGxiE05J.js +0 -1
  864. package/dist/plugin-sdk/polls-yWqSCEP0.cjs +0 -1
  865. package/dist/plugin-sdk/proxy-env-B765haXA.js +0 -1
  866. package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +0 -1
  867. package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +0 -1
  868. package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +0 -1
  869. package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +0 -1
  870. package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +0 -1
  871. package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +0 -1
  872. package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +0 -1
  873. package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +0 -1
  874. package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +0 -1
  875. package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +0 -1
  876. package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +0 -1
  877. package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +0 -1
  878. package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +0 -1
  879. package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +0 -1
  880. package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +0 -1
  881. package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +0 -1
  882. package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +0 -1
  883. package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +0 -1
  884. package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +0 -1
  885. package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +0 -1
  886. package/dist/plugin-sdk/proxy-fetch-Del551nu.js +0 -1
  887. package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +0 -1
  888. package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +0 -1
  889. package/dist/plugin-sdk/pw-ai-B9PkuA_R.cjs +0 -1
  890. package/dist/plugin-sdk/pw-ai-BMJV0Hqt.cjs +0 -1
  891. package/dist/plugin-sdk/pw-ai-BRasSDsB.js +0 -1
  892. package/dist/plugin-sdk/pw-ai-BY57aH_o.js +0 -1
  893. package/dist/plugin-sdk/pw-ai-BbpImC35.cjs +0 -1
  894. package/dist/plugin-sdk/pw-ai-D7d16RB-.cjs +0 -1
  895. package/dist/plugin-sdk/pw-ai-DF7TX5Lc.cjs +0 -1
  896. package/dist/plugin-sdk/pw-ai-DHN1pktj.js +0 -1
  897. package/dist/plugin-sdk/pw-ai-QzImh8G0.cjs +0 -1
  898. package/dist/plugin-sdk/pw-ai-V1CVJi48.js +0 -1
  899. package/dist/plugin-sdk/pw-ai-mvXkpTxf.js +0 -1
  900. package/dist/plugin-sdk/pw-ai-tdgA-KlG.js +0 -1
  901. package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +0 -1
  902. package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +0 -1
  903. package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +0 -1
  904. package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +0 -1
  905. package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +0 -1
  906. package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +0 -1
  907. package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +0 -1
  908. package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +0 -1
  909. package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +0 -1
  910. package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +0 -1
  911. package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +0 -1
  912. package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +0 -1
  913. package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +0 -1
  914. package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +0 -1
  915. package/dist/plugin-sdk/query-expansion-CAboqtWr.js +0 -1
  916. package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +0 -1
  917. package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +0 -1
  918. package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +0 -1
  919. package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +0 -1
  920. package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +0 -1
  921. package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +0 -1
  922. package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +0 -1
  923. package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +0 -1
  924. package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +0 -1
  925. package/dist/plugin-sdk/qwen-portal-auth.cjs +0 -1
  926. package/dist/plugin-sdk/qwen-portal-auth.js +0 -1
  927. package/dist/plugin-sdk/render-6fCdtAr6.cjs +0 -1
  928. package/dist/plugin-sdk/render-CBsnn-2A.js +0 -1
  929. package/dist/plugin-sdk/render-CzHaQB0d.cjs +0 -1
  930. package/dist/plugin-sdk/render-DGmfCIRG.js +0 -1
  931. package/dist/plugin-sdk/render-DhTJXP1U.js +0 -1
  932. package/dist/plugin-sdk/render-Djx15dPh.js +0 -1
  933. package/dist/plugin-sdk/render-DxBO2Blp.cjs +0 -1
  934. package/dist/plugin-sdk/render-g5VlmgpF.cjs +0 -1
  935. package/dist/plugin-sdk/reply-73PF8kN_.js +0 -1
  936. package/dist/plugin-sdk/reply-JD6VIW5N.cjs +0 -1
  937. package/dist/plugin-sdk/resolve-outbound-target-BNv_T3Bk.js +0 -1
  938. package/dist/plugin-sdk/resolve-outbound-target-CDM7_xfU.cjs +0 -1
  939. package/dist/plugin-sdk/resolve-outbound-target-CvKfootv.js +0 -1
  940. package/dist/plugin-sdk/resolve-outbound-target-Fq8une1d.cjs +0 -1
  941. package/dist/plugin-sdk/send-0TzQg7Eo.js +0 -1
  942. package/dist/plugin-sdk/send-AyV5r86J.js +0 -1
  943. package/dist/plugin-sdk/send-B-GqqrNy.js +0 -1
  944. package/dist/plugin-sdk/send-B03So6fs.cjs +0 -1
  945. package/dist/plugin-sdk/send-B0oV0qgS.js +0 -1
  946. package/dist/plugin-sdk/send-B31Tjl_I.cjs +0 -1
  947. package/dist/plugin-sdk/send-B4LTVhTd.cjs +0 -1
  948. package/dist/plugin-sdk/send-BGXPpAqy.cjs +0 -1
  949. package/dist/plugin-sdk/send-BJ957TYU.js +0 -1
  950. package/dist/plugin-sdk/send-BJmf3HVn.cjs +0 -1
  951. package/dist/plugin-sdk/send-BW3UECzm.js +0 -1
  952. package/dist/plugin-sdk/send-BWEZ_8nL.cjs +0 -1
  953. package/dist/plugin-sdk/send-BXrh73qh.cjs +0 -1
  954. package/dist/plugin-sdk/send-BbudHjUi.cjs +0 -1
  955. package/dist/plugin-sdk/send-BkjnUdWv.cjs +0 -1
  956. package/dist/plugin-sdk/send-BxIt-s7G.cjs +0 -1
  957. package/dist/plugin-sdk/send-ByKNfU2S.js +0 -1
  958. package/dist/plugin-sdk/send-Bz2Loz_Q.cjs +0 -1
  959. package/dist/plugin-sdk/send-CAreQYLU.cjs +0 -1
  960. package/dist/plugin-sdk/send-CGMqeSaY.cjs +0 -1
  961. package/dist/plugin-sdk/send-CJmor6eC.js +0 -1
  962. package/dist/plugin-sdk/send-CL2pl8br.cjs +0 -1
  963. package/dist/plugin-sdk/send-CMeGMLko.js +0 -1
  964. package/dist/plugin-sdk/send-CceHBxiK.js +0 -1
  965. package/dist/plugin-sdk/send-Cdx_KGYb.js +0 -1
  966. package/dist/plugin-sdk/send-Cer1bA2g.cjs +0 -1
  967. package/dist/plugin-sdk/send-CimU95QQ.cjs +0 -1
  968. package/dist/plugin-sdk/send-CoEAieJt.cjs +0 -1
  969. package/dist/plugin-sdk/send-Cob_bnT32.js +0 -1
  970. package/dist/plugin-sdk/send-Cyp5hOpt.js +0 -1
  971. package/dist/plugin-sdk/send-CzEFjTpi.js +0 -1
  972. package/dist/plugin-sdk/send-D2LjU2py.js +0 -1
  973. package/dist/plugin-sdk/send-D9Gbseeh.cjs +0 -1
  974. package/dist/plugin-sdk/send-DIjQ2vB4.js +0 -1
  975. package/dist/plugin-sdk/send-DJ419AIX.cjs +0 -1
  976. package/dist/plugin-sdk/send-DLtYxO1e.cjs +0 -1
  977. package/dist/plugin-sdk/send-DMk529J8.js +0 -1
  978. package/dist/plugin-sdk/send-DMxohaL_.cjs +0 -1
  979. package/dist/plugin-sdk/send-DQlKz6Bj.js +0 -1
  980. package/dist/plugin-sdk/send-DTUW-YBy.js +0 -1
  981. package/dist/plugin-sdk/send-Dc43nN-I.js +0 -1
  982. package/dist/plugin-sdk/send-DcRj8DUU.cjs +0 -1
  983. package/dist/plugin-sdk/send-DmxxJFZd.cjs +0 -1
  984. package/dist/plugin-sdk/send-DnwN1vBU.cjs +0 -1
  985. package/dist/plugin-sdk/send-DogBiU4n.cjs +0 -1
  986. package/dist/plugin-sdk/send-MEvv6c7w.js +0 -1
  987. package/dist/plugin-sdk/send-TRwokuAm.cjs +0 -1
  988. package/dist/plugin-sdk/send-VUSa_wkg.js +0 -1
  989. package/dist/plugin-sdk/send-X1b7Cj9U.cjs +0 -1
  990. package/dist/plugin-sdk/send-XX5rP5bI.js +0 -1
  991. package/dist/plugin-sdk/send-_ZGBA2sz.js +0 -1
  992. package/dist/plugin-sdk/send-d5RoIkxA.js +0 -1
  993. package/dist/plugin-sdk/send-dCbQnCLx.js +0 -1
  994. package/dist/plugin-sdk/send-gSV6SR6F.cjs +0 -1
  995. package/dist/plugin-sdk/send-pC6ctwfQ.cjs +0 -1
  996. package/dist/plugin-sdk/send-pq2hNOwv.cjs +0 -1
  997. package/dist/plugin-sdk/send-q6C-1cdJ.js +0 -1
  998. package/dist/plugin-sdk/send-vnIJSD5l.js +0 -1
  999. package/dist/plugin-sdk/send-vtYROJNd.js +0 -1
  1000. package/dist/plugin-sdk/send-wk_Y38Eq.js +0 -1
  1001. package/dist/plugin-sdk/session-BSLJWzVk.cjs +0 -1
  1002. package/dist/plugin-sdk/session-BfWC0c92.js +0 -1
  1003. package/dist/plugin-sdk/session-BjsaXe-G.js +0 -1
  1004. package/dist/plugin-sdk/session-C20nSfk5.cjs +0 -1
  1005. package/dist/plugin-sdk/session-CR8fsPgs.js +0 -1
  1006. package/dist/plugin-sdk/session-CwinrWG4.cjs +0 -1
  1007. package/dist/plugin-sdk/session-DAtRSLdw.cjs +0 -1
  1008. package/dist/plugin-sdk/session-Djo63EGV.cjs +0 -1
  1009. package/dist/plugin-sdk/session-EJZkCm6l.js +0 -1
  1010. package/dist/plugin-sdk/session-UIRgeq02.cjs +0 -1
  1011. package/dist/plugin-sdk/session-aOZKTEyZ.js +0 -1
  1012. package/dist/plugin-sdk/session-nUw21fi0.js +0 -1
  1013. package/dist/plugin-sdk/sessions-B06a3AKE.js +0 -1
  1014. package/dist/plugin-sdk/sessions-BmhjMXlm.cjs +0 -1
  1015. package/dist/plugin-sdk/signal.cjs +0 -1
  1016. package/dist/plugin-sdk/signal.js +0 -1
  1017. package/dist/plugin-sdk/skill-commands-2LXH0aZR.cjs +0 -1
  1018. package/dist/plugin-sdk/skill-commands-B4AbCkKe.cjs +0 -1
  1019. package/dist/plugin-sdk/skill-commands-B_xNpuH_.cjs +0 -1
  1020. package/dist/plugin-sdk/skill-commands-BbAfKA1R.js +0 -1
  1021. package/dist/plugin-sdk/skill-commands-BcKIgHAP.cjs +0 -1
  1022. package/dist/plugin-sdk/skill-commands-C9g2UiKr.cjs +0 -1
  1023. package/dist/plugin-sdk/skill-commands-CPZ9Jvbj.js +0 -1
  1024. package/dist/plugin-sdk/skill-commands-CgDUjb3J.js +0 -1
  1025. package/dist/plugin-sdk/skill-commands-D83BLBEG.js +0 -1
  1026. package/dist/plugin-sdk/skill-commands-DI1TMUxQ.js +0 -1
  1027. package/dist/plugin-sdk/skill-commands-DldIiKD1.js +0 -1
  1028. package/dist/plugin-sdk/skill-commands-LCW6nWWC.cjs +0 -1
  1029. package/dist/plugin-sdk/slack.cjs +0 -1
  1030. package/dist/plugin-sdk/slack.js +0 -1
  1031. package/dist/plugin-sdk/synology-chat.cjs +0 -1
  1032. package/dist/plugin-sdk/synology-chat.js +0 -1
  1033. package/dist/plugin-sdk/tables-BXY1ms0X.js +0 -1
  1034. package/dist/plugin-sdk/tables-BlhpY72l.cjs +0 -1
  1035. package/dist/plugin-sdk/tables-BltHUi44.cjs +0 -1
  1036. package/dist/plugin-sdk/tables-Bp6t_Jkb.js +0 -1
  1037. package/dist/plugin-sdk/tables-BszYJkqX.cjs +0 -1
  1038. package/dist/plugin-sdk/tables-CAZJt5bp.js +0 -1
  1039. package/dist/plugin-sdk/tables-CcuiVH-P.cjs +0 -1
  1040. package/dist/plugin-sdk/tables-CuSMtUxt.cjs +0 -1
  1041. package/dist/plugin-sdk/tables-DOLEnfD6.js +0 -1
  1042. package/dist/plugin-sdk/tables-DiiF7bbj.cjs +0 -1
  1043. package/dist/plugin-sdk/tables-aSJP6Sef.js +0 -1
  1044. package/dist/plugin-sdk/tables-ib4GZqYB.js +0 -1
  1045. package/dist/plugin-sdk/target-errors--anbEDnm.js +0 -1
  1046. package/dist/plugin-sdk/target-errors-4q9SUsM_.js +0 -1
  1047. package/dist/plugin-sdk/target-errors-BFOTHcjO.js +0 -1
  1048. package/dist/plugin-sdk/target-errors-Bw4tI2Lc.cjs +0 -1
  1049. package/dist/plugin-sdk/target-errors-CAgwWHUv.js +0 -1
  1050. package/dist/plugin-sdk/target-errors-CUDKM0z-.js +0 -1
  1051. package/dist/plugin-sdk/target-errors-DIOJ6Eun.cjs +0 -1
  1052. package/dist/plugin-sdk/target-errors-DnZq9h4B.cjs +0 -1
  1053. package/dist/plugin-sdk/target-errors-DwAKh8KU.cjs +0 -1
  1054. package/dist/plugin-sdk/target-errors-QGzfLvuU.cjs +0 -1
  1055. package/dist/plugin-sdk/targets-BSc11Uk8.cjs +0 -1
  1056. package/dist/plugin-sdk/targets-BSkiizml.js +0 -1
  1057. package/dist/plugin-sdk/targets-CBI0xqve.cjs +0 -1
  1058. package/dist/plugin-sdk/targets-CL5fYQi7.js +0 -1
  1059. package/dist/plugin-sdk/targets-CUZWrFrm.cjs +0 -1
  1060. package/dist/plugin-sdk/targets-CVEYTFPQ.js +0 -1
  1061. package/dist/plugin-sdk/targets-Co2R6K14.cjs +0 -1
  1062. package/dist/plugin-sdk/targets-CrkJkzil.js +0 -1
  1063. package/dist/plugin-sdk/targets-D-m7SV9x.cjs +0 -1
  1064. package/dist/plugin-sdk/targets-D8HTxbo4.js +0 -1
  1065. package/dist/plugin-sdk/targets-DcGNB9nk.cjs +0 -1
  1066. package/dist/plugin-sdk/targets-Dn9gDiEw.js +0 -1
  1067. package/dist/plugin-sdk/targets-X28mff4s.cjs +0 -1
  1068. package/dist/plugin-sdk/targets-uycXZ8vQ.js +0 -1
  1069. package/dist/plugin-sdk/telegram.cjs +0 -1
  1070. package/dist/plugin-sdk/telegram.js +0 -1
  1071. package/dist/plugin-sdk/test-utils.cjs +0 -1
  1072. package/dist/plugin-sdk/test-utils.js +0 -1
  1073. package/dist/plugin-sdk/tlon.cjs +0 -1
  1074. package/dist/plugin-sdk/tlon.js +0 -1
  1075. package/dist/plugin-sdk/tokens-AAdZjj0M.js +0 -1
  1076. package/dist/plugin-sdk/tokens-B20KNIDD.js +0 -1
  1077. package/dist/plugin-sdk/tokens-B8ys7Q2e.js +0 -1
  1078. package/dist/plugin-sdk/tokens-BPc1fcZ3.js +0 -1
  1079. package/dist/plugin-sdk/tokens-BqABmXSe.js +0 -1
  1080. package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +0 -1
  1081. package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +0 -1
  1082. package/dist/plugin-sdk/tokens-CytSl1X8.cjs +0 -1
  1083. package/dist/plugin-sdk/tokens-DgPZk2Uu.js +0 -1
  1084. package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +0 -1
  1085. package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +0 -1
  1086. package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +0 -1
  1087. package/dist/plugin-sdk/twitch.cjs +0 -1
  1088. package/dist/plugin-sdk/twitch.js +0 -1
  1089. package/dist/plugin-sdk/utils-BJtJR72k.js +0 -1
  1090. package/dist/plugin-sdk/utils-PPIvU9qw.cjs +0 -1
  1091. package/dist/plugin-sdk/voice-call.cjs +0 -1
  1092. package/dist/plugin-sdk/voice-call.js +0 -1
  1093. package/dist/plugin-sdk/web--8MBOleK.js +0 -1
  1094. package/dist/plugin-sdk/web-B7d3p3kx.cjs +0 -1
  1095. package/dist/plugin-sdk/web-BEuW8Yqw.js +0 -1
  1096. package/dist/plugin-sdk/web-Bg2LIMdb.cjs +0 -1
  1097. package/dist/plugin-sdk/web-DFDao2So.cjs +0 -1
  1098. package/dist/plugin-sdk/web-DjbeDvyv.js +0 -1
  1099. package/dist/plugin-sdk/web-JciOW43P.js +0 -1
  1100. package/dist/plugin-sdk/web-vSFigMHz.cjs +0 -1
  1101. package/dist/plugin-sdk/weixin.cjs +0 -1
  1102. package/dist/plugin-sdk/weixin.js +0 -1
  1103. package/dist/plugin-sdk/whatsapp-actions-B67oFfeq.js +0 -1
  1104. package/dist/plugin-sdk/whatsapp-actions-BB0eACkf.cjs +0 -1
  1105. package/dist/plugin-sdk/whatsapp-actions-BIgrB0j5.cjs +0 -1
  1106. package/dist/plugin-sdk/whatsapp-actions-CFve14ju.cjs +0 -1
  1107. package/dist/plugin-sdk/whatsapp-actions-CdRkPw-b.js +0 -1
  1108. package/dist/plugin-sdk/whatsapp-actions-CtIBOGpJ.cjs +0 -1
  1109. package/dist/plugin-sdk/whatsapp-actions-CwAU7FuE.js +0 -1
  1110. package/dist/plugin-sdk/whatsapp-actions-DQ1t5QTc.cjs +0 -1
  1111. package/dist/plugin-sdk/whatsapp-actions-DkrN4BcG.js +0 -1
  1112. package/dist/plugin-sdk/whatsapp-actions-DnkKzVrU.js +0 -1
  1113. package/dist/plugin-sdk/whatsapp-actions-YcBsDZ88.js +0 -1
  1114. package/dist/plugin-sdk/whatsapp-actions-wk1U2IVU.cjs +0 -1
  1115. package/dist/plugin-sdk/whatsapp.cjs +0 -1
  1116. package/dist/plugin-sdk/whatsapp.js +0 -1
  1117. package/dist/plugin-sdk/zalo.cjs +0 -1
  1118. package/dist/plugin-sdk/zalo.js +0 -1
  1119. package/dist/plugin-sdk/zalouser.cjs +0 -1
  1120. package/dist/plugin-sdk/zalouser.js +0 -1
  1121. package/dist/plugins-CYLrFT4h.js +0 -1
  1122. package/dist/plugins-DNlgeTTc.js +0 -1
  1123. package/dist/plugins-cli-CnXgwZzI.js +0 -1
  1124. package/dist/plugins-cli-PVHBZeb8.js +0 -1
  1125. package/dist/polls-BIVz6a4F.js +0 -1
  1126. package/dist/polls-Bh5wc9-6.js +0 -1
  1127. package/dist/polls-C_XSFz3d.js +0 -1
  1128. package/dist/polls-DKJOFSzJ.js +0 -1
  1129. package/dist/ports-BAaLOkJp.js +2 -0
  1130. package/dist/ports-DDWP1p0X.js +2 -0
  1131. package/dist/probe-auth-C5nWfMS9.js +0 -1
  1132. package/dist/probe-auth-x4OHS_wa.js +0 -1
  1133. package/dist/profile-utils-CWmra1aY.js +0 -1
  1134. package/dist/{program-ppBAyCNf.js → program-D53eGuSf.js} +1 -2
  1135. package/dist/program-context-CH9p6anW.js +0 -1
  1136. package/dist/{program-context-BXNpM3b4.js → program-context-n-ovYq69.js} +1 -2
  1137. package/dist/progress-LNttnI-y.js +0 -1
  1138. package/dist/progress-d1m2sqR1.js +0 -1
  1139. package/dist/{prompt-select-styled-947JghKF.js → prompt-select-styled-DZnefcrY.js} +1 -2
  1140. package/dist/{prompt-select-styled-1abs2MvK.js → prompt-select-styled-DolCW-_j.js} +1 -2
  1141. package/dist/prompt-style-BThRSQJR.js +0 -1
  1142. package/dist/prompt-style-CXKekIBY.js +0 -1
  1143. package/dist/prompts-CMzglboN.js +0 -1
  1144. package/dist/prompts-wv-lfVrJ.js +0 -1
  1145. package/dist/provider-auth-helpers-BLm2bdp5.js +0 -1
  1146. package/dist/provider-auth-helpers-DPz0vN_c.js +0 -1
  1147. package/dist/provider-env-vars-D8p6Ohpj.js +0 -1
  1148. package/dist/provider-env-vars-Dt0Q29Su.js +0 -1
  1149. package/dist/proxy-env-BNhTHkd_.js +0 -1
  1150. package/dist/proxy-env-DcmW_urA.js +0 -1
  1151. package/dist/proxy-env-DrC3TIGh.js +0 -1
  1152. package/dist/proxy-env-FJr5nlvs.js +0 -1
  1153. package/dist/proxy-fetch-BADsUK4d.js +0 -1
  1154. package/dist/proxy-fetch-BZ9O8Dvj.js +0 -1
  1155. package/dist/proxy-fetch-DnjU1fEB.js +0 -1
  1156. package/dist/proxy-fetch-gWETR3cl.js +0 -1
  1157. package/dist/push-apns-BBv62ncV.js +0 -1
  1158. package/dist/push-apns-DIV5dBPP.js +0 -1
  1159. package/dist/pw-ai-C0gM3d-6.js +0 -1
  1160. package/dist/pw-ai-CQd14BQa.js +0 -1
  1161. package/dist/pw-ai-DiQuOf4W.js +0 -1
  1162. package/dist/pw-ai-jlhIn-aA.js +0 -1
  1163. package/dist/qmd-manager-C_e04BNg.js +0 -1
  1164. package/dist/qmd-manager-DSQ_mDCl.js +0 -1
  1165. package/dist/qmd-manager-DcBYbt_V.js +0 -1
  1166. package/dist/qmd-manager-NLI0R6kp.js +0 -1
  1167. package/dist/qr-cli-D06YZurm.js +0 -1
  1168. package/dist/qr-cli-ZtDsXyLO.js +0 -1
  1169. package/dist/query-expansion-0OxEb1Io.js +0 -1
  1170. package/dist/query-expansion-BUUx_oWg.js +0 -1
  1171. package/dist/query-expansion-r_iXkNzt.js +0 -1
  1172. package/dist/reaction-level-DVPHL14p.js +0 -1
  1173. package/dist/reaction-message-id-BEEe7X3D.js +0 -1
  1174. package/dist/read-only-account-inspect-B0cm8yrv.js +0 -1
  1175. package/dist/redact-3_CiXMY6.js +0 -1
  1176. package/dist/redact-CnRxK70G.js +0 -1
  1177. package/dist/register.agent-DHOTtB8X.js +0 -1
  1178. package/dist/register.agent-DQdoMfmw.js +0 -1
  1179. package/dist/register.backup-BDO3V0so.js +0 -1
  1180. package/dist/register.backup-Vh8RK6fp.js +0 -1
  1181. package/dist/register.configure-C2N82brC.js +0 -1
  1182. package/dist/register.configure-C6zjzaEo.js +0 -1
  1183. package/dist/{register.maintenance-Br9uoFKo.js → register.maintenance-CStaPxaB.js} +1 -2
  1184. package/dist/{register.maintenance-Cm3wq9bt.js → register.maintenance-aKBTd9Zp.js} +1 -2
  1185. package/dist/register.message-DHDcOA8X.js +0 -1
  1186. package/dist/register.message-Dh72QHKA.js +0 -1
  1187. package/dist/{register.onboard-AjrSlfCb.js → register.onboard-Bu9gpFlA.js} +1 -2
  1188. package/dist/{register.onboard-zCG1PNWc.js → register.onboard-DB9FWAKT.js} +1 -2
  1189. package/dist/{register.setup-DN0y_pth.js → register.setup-CeG2ETmr.js} +1 -2
  1190. package/dist/{register.setup-Blyl_QsK.js → register.setup-D76IRs4s.js} +1 -2
  1191. package/dist/register.status-health-sessions-Dtpd1P2M.js +0 -1
  1192. package/dist/register.status-health-sessions-mPGKFjIz.js +0 -1
  1193. package/dist/{register.subclis-5Pb-uEHk.js → register.subclis-Drp2dGBe.js} +1 -2
  1194. package/dist/registry-BptzrW8D.js +0 -1
  1195. package/dist/registry-hFAtCSWG.js +0 -1
  1196. package/dist/render-BXEUPIHe.js +0 -1
  1197. package/dist/render-CBsnn-2A.js +0 -1
  1198. package/dist/render-D8OWO2hT.js +0 -1
  1199. package/dist/render-DrrPmnMI.js +0 -1
  1200. package/dist/reply-DwfVhea1.js +0 -1
  1201. package/dist/restart-BeJuoXCx.js +0 -1
  1202. package/dist/rpc-BBdeIvn0.js +0 -1
  1203. package/dist/rpc-f85A4Ib_.js +0 -1
  1204. package/dist/{run-main-DGwq5DIc.js → run-main-CjwjyWA6.js} +1 -2
  1205. package/dist/runtime-CK7gqwEF.js +0 -1
  1206. package/dist/runtime-DYttInEE.js +0 -1
  1207. package/dist/runtime-guard-DFYBaYZS.js +0 -1
  1208. package/dist/runtime-guard-DX2Ie4ri.js +0 -1
  1209. package/dist/runtime-status-CqFBmdRd.js +0 -1
  1210. package/dist/runtime-status-DszMjvJK.js +0 -1
  1211. package/dist/runtime-web-tools-BYhCkBV8.js +0 -1
  1212. package/dist/runtime-web-tools-C4F6aaRh.js +0 -1
  1213. package/dist/sandbox-cli-BR0Lsru-.js +0 -1
  1214. package/dist/sandbox-cli-Jo5nYeug.js +0 -1
  1215. package/dist/scan-paths-C13EseXp.js +0 -1
  1216. package/dist/scan-paths-CWtvWW40.js +0 -1
  1217. package/dist/search-manager-CV2YsAym.js +0 -1
  1218. package/dist/secret-file-C7JffiM_.js +0 -1
  1219. package/dist/secret-file-D60EFEOe.js +0 -1
  1220. package/dist/secret-file-DuWm26jS.js +0 -1
  1221. package/dist/secrets-cli-B8kwyZFo.js +0 -1
  1222. package/dist/secrets-cli-BstBe0UA.js +0 -1
  1223. package/dist/secure-random-D7JQgiK-.js +0 -1
  1224. package/dist/security-cli-C6t8OxaE.js +0 -1
  1225. package/dist/security-cli-Cuc8IQKB.js +0 -1
  1226. package/dist/send--9G8eXo4.js +0 -1
  1227. package/dist/send-4h1tQwX3.js +0 -1
  1228. package/dist/send-7qgAI0ap.js +0 -1
  1229. package/dist/send-AQ3CJLpI.js +0 -1
  1230. package/dist/send-BjrfjBn9.js +0 -1
  1231. package/dist/send-BwblpWbK.js +0 -1
  1232. package/dist/send-C4Lm4nmt.js +0 -1
  1233. package/dist/send-C7rOdjPO.js +0 -1
  1234. package/dist/send-COpehmAB.js +0 -1
  1235. package/dist/send-CWVTcDAW.js +0 -1
  1236. package/dist/send-CciNyaWL.js +0 -1
  1237. package/dist/send-ChILboDj.js +0 -1
  1238. package/dist/send-CyarIb2w.js +0 -1
  1239. package/dist/send-DiHS8tKf.js +0 -1
  1240. package/dist/send-Dj7NBAWg.js +0 -1
  1241. package/dist/send-DmHpf5Fz.js +0 -1
  1242. package/dist/send-NbU9-scF2.js +0 -1
  1243. package/dist/send-hlES-kRl2.js +0 -1
  1244. package/dist/send-swTiQAeK2.js +0 -1
  1245. package/dist/send-vNcod64S.js +0 -1
  1246. package/dist/server-C-lb98FO.js +0 -1
  1247. package/dist/server-DwSkpKgC.js +0 -1
  1248. package/dist/server-node-events-CL0pWoMa.js +0 -1
  1249. package/dist/server-node-events-ChPQ984b.js +0 -1
  1250. package/dist/service-BtB9epJk.js +0 -1
  1251. package/dist/service-DZ9EbS15.js +0 -1
  1252. package/dist/session-BSRnpwSq.js +0 -1
  1253. package/dist/session-CfHCnrXh.js +0 -1
  1254. package/dist/session-JqCxWBM8.js +0 -1
  1255. package/dist/session-bk3gFwO4.js +0 -1
  1256. package/dist/session-cost-usage-BgqKixv0.js +0 -1
  1257. package/dist/session-cost-usage-CHtVgnE8.js +0 -1
  1258. package/dist/session-key-C7F_iqYg.js +0 -1
  1259. package/dist/session-key-D3P0tf5P.js +0 -1
  1260. package/dist/session-utils-Bpdyx2A2.js +0 -1
  1261. package/dist/sessions-Ca6ozRCQ.js +0 -1
  1262. package/dist/shared-9x5sqYRb.js +0 -1
  1263. package/dist/shared-BKWhOp64.js +0 -1
  1264. package/dist/shared-Ca5BFwta.js +0 -1
  1265. package/dist/skill-commands-CPZcaV8-.js +0 -1
  1266. package/dist/skill-commands-CtprBvm0.js +0 -1
  1267. package/dist/skill-commands-DCqPy_Aa.js +0 -1
  1268. package/dist/skill-commands-DlHVddAk.js +0 -1
  1269. package/dist/skill-scanner-CUUF3Fvo.js +0 -1
  1270. package/dist/skill-scanner-CkxXNioD.js +0 -1
  1271. package/dist/skills-Bz_S4lPh.js +0 -1
  1272. package/dist/skills-CzUpDbU-.js +0 -1
  1273. package/dist/skills-cli-DK0QDfln.js +0 -1
  1274. package/dist/skills-cli-DLmqhAB-.js +0 -1
  1275. package/dist/skills-install-D3YB2C-S.js +0 -1
  1276. package/dist/skills-install-cEcqzaX8.js +0 -1
  1277. package/dist/skills-status-D4Y1BJYL.js +0 -1
  1278. package/dist/skills-status-DpSboPY1.js +0 -1
  1279. package/dist/sqlite-CILF3z9U.js +0 -1
  1280. package/dist/stagger-DmFYysrJ.js +0 -1
  1281. package/dist/stagger-DxzgG2jd.js +0 -1
  1282. package/dist/status-BAat65xo.js +0 -1
  1283. package/dist/status-BSHWBrg0.js +0 -1
  1284. package/dist/status-o3Gfr-6l.js +0 -1
  1285. package/dist/status-w4NsjW2R.js +0 -1
  1286. package/dist/status.update-B_8Gumuc.js +0 -1
  1287. package/dist/status.update-_2r0S6Re.js +0 -1
  1288. package/dist/string-normalization-BrUPaXaM.js +0 -1
  1289. package/dist/string-normalization-DJT5zuUF.js +0 -1
  1290. package/dist/subsystem-BLbY429l.js +0 -1
  1291. package/dist/subsystem-Bc2XrjUz.js +0 -1
  1292. package/dist/subsystem-C5XF2Fy5.js +0 -1
  1293. package/dist/system-cli-Ddixb0SQ.js +0 -1
  1294. package/dist/system-cli-NAH97F2s.js +0 -1
  1295. package/dist/system-run-command-DsWBVvSK.js +0 -1
  1296. package/dist/system-run-command-E8ymBXHh.js +0 -1
  1297. package/dist/systemd-D7odsu4K.js +0 -1
  1298. package/dist/systemd-DbevZh65.js +0 -1
  1299. package/dist/systemd-hints-CEQj6yrs.js +0 -1
  1300. package/dist/systemd-hints-lXpMy-kY.js +0 -1
  1301. package/dist/systemd-linger-C2MJD6KG.js +0 -1
  1302. package/dist/systemd-linger-cWKbFNpu.js +0 -1
  1303. package/dist/table-CR7TFMew.js +0 -1
  1304. package/dist/table-CY440fI1.js +0 -1
  1305. package/dist/tables-D6J-isob.js +0 -1
  1306. package/dist/tables-DENKrP-W.js +0 -1
  1307. package/dist/tables-_t5V36m9.js +0 -1
  1308. package/dist/tables-fl9iXahm.js +0 -1
  1309. package/dist/target-errors-CoEHv_2r.js +0 -1
  1310. package/dist/target-errors-D6wejRd6.js +0 -1
  1311. package/dist/target-errors-Dnkqss9y.js +0 -1
  1312. package/dist/target-errors-sMFXKeAY.js +0 -1
  1313. package/dist/targets-4EaxWBal.js +0 -1
  1314. package/dist/targets-BJTo7bqu.js +0 -1
  1315. package/dist/targets-BYVMrXDf.js +0 -1
  1316. package/dist/targets-Bq6rS6-Z.js +0 -1
  1317. package/dist/targets-CL5fYQi7.js +0 -1
  1318. package/dist/targets-fozeWOOg.js +0 -1
  1319. package/dist/targets-m_41k_Mv.js +0 -1
  1320. package/dist/telegram/audit.js +0 -1
  1321. package/dist/text-format-CvrvBBre.js +0 -1
  1322. package/dist/text-format-DEWK6oCT.js +0 -1
  1323. package/dist/token-DnTmiyJu.js +0 -1
  1324. package/dist/tokens-B2fq-rL6.js +0 -1
  1325. package/dist/tokens-CL2fSjGl.js +0 -1
  1326. package/dist/tokens-DRM8vzJx.js +0 -1
  1327. package/dist/tokens-XGbQGn67.js +0 -1
  1328. package/dist/tool-display-DJDtttQg.js +0 -1
  1329. package/dist/tool-display-DjuSUUbH.js +0 -1
  1330. package/dist/tui-5Znjl2Rb.js +0 -1
  1331. package/dist/tui-Tlww_AcE.js +0 -1
  1332. package/dist/tui-cli-C9QPsw50.js +0 -1
  1333. package/dist/tui-cli-FxvETbln.js +0 -1
  1334. package/dist/types.secrets-C-5U96pc.js +0 -1
  1335. package/dist/types.secrets-D4tbc3Wq.js +0 -1
  1336. package/dist/update-CMneH_48.js +0 -1
  1337. package/dist/update-D9EwPybG.js +0 -1
  1338. package/dist/{update-cli-BQGwMpHe.js → update-cli-CL_cUjuq.js} +1 -2
  1339. package/dist/{update-cli-C7pZTXS8.js → update-cli-DU5tRH3c.js} +1 -2
  1340. package/dist/update-runner-DABdlxfN.js +0 -1
  1341. package/dist/update-runner-DG-1TYYc.js +0 -1
  1342. package/dist/usage-format-BWD8FJFL.js +0 -1
  1343. package/dist/usage-format-yPwal8Iz.js +0 -1
  1344. package/dist/utils-CGdo13HV.js +0 -1
  1345. package/dist/utils-D3t-vPka.js +0 -1
  1346. package/dist/utils-R-mFyVJi.js +0 -1
  1347. package/dist/utils-UGOV_184.js +0 -1
  1348. package/dist/version-q3SkUw2K.js +0 -1
  1349. package/dist/warning-filter.js +0 -1
  1350. package/dist/web-Dfi2WjvN.js +0 -1
  1351. package/dist/web-u71NbOpT.js +0 -1
  1352. package/dist/webhooks-cli-DMTzhfTv.js +0 -1
  1353. package/dist/webhooks-cli-ICOwBPSv.js +0 -1
  1354. package/dist/whatsapp-actions-Bdf-3-ne.js +0 -1
  1355. package/dist/whatsapp-actions-D2qMOK3a.js +0 -1
  1356. package/dist/whatsapp-actions-f5CsM5EM.js +0 -1
  1357. package/dist/whatsapp-actions-t88tyNUT.js +0 -1
  1358. package/dist/widearea-dns-BDx7vkV2.js +0 -1
  1359. package/dist/widearea-dns-BFjqKXu_.js +0 -1
  1360. package/dist/windows-spawn-7oINn5ao.js +0 -1
  1361. package/dist/windows-spawn-AB7ItGAE.js +0 -1
  1362. package/dist/with-timeout-WveKxvFV.js +0 -1
  1363. package/dist/with-timeout-c1CzdShT.js +0 -1
  1364. package/dist/workspace-B0ZQeHXg.js +0 -1
  1365. package/dist/workspace-C45T1Cxg.js +0 -1
  1366. package/dist/workspace-dirs-A8Vib9_B.js +0 -1
  1367. package/dist/workspace-dirs-BhF1Dzxt.js +0 -1
  1368. package/dist/workspace-xNEpaJvu.js +0 -1
  1369. package/dist/wsl-DHxB2Ew_.js +0 -1
  1370. package/dist/wsl-Ok7GaSJ6.js +0 -1
  1371. package/extensions/qqbrowser-skill-control/index.js +1 -1
  1372. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
  1373. package/node_modules/@aws-sdk/token-providers/package.json +1 -1
  1374. package/node_modules/@google/genai/dist/index.cjs +341 -180
  1375. package/node_modules/@google/genai/dist/index.mjs +341 -180
  1376. package/node_modules/@google/genai/dist/node/index.cjs +341 -180
  1377. package/node_modules/@google/genai/dist/node/index.mjs +341 -180
  1378. package/node_modules/@google/genai/dist/tokenizer/node.cjs +100 -0
  1379. package/node_modules/@google/genai/dist/tokenizer/node.mjs +100 -0
  1380. package/node_modules/@google/genai/dist/vertex_internal/index.cjs +103 -2
  1381. package/node_modules/@google/genai/dist/vertex_internal/index.js +103 -2
  1382. package/node_modules/@google/genai/dist/web/index.mjs +342 -180
  1383. package/node_modules/@google/genai/package.json +1 -1
  1384. package/node_modules/@slack/web-api/dist/instrument.js +13 -1
  1385. package/node_modules/@slack/web-api/package.json +2 -2
  1386. package/node_modules/@smithy/config-resolver/package.json +2 -2
  1387. package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  1388. package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +154 -61
  1389. package/node_modules/@smithy/util-endpoints/dist-es/bdd/BinaryDecisionDiagram.js +15 -0
  1390. package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +41 -0
  1391. package/node_modules/@smithy/util-endpoints/dist-es/index.js +2 -0
  1392. package/node_modules/@smithy/util-endpoints/dist-es/lib/coalesce.js +8 -0
  1393. package/node_modules/@smithy/util-endpoints/dist-es/lib/index.js +3 -0
  1394. package/node_modules/@smithy/util-endpoints/dist-es/lib/ite.js +3 -0
  1395. package/node_modules/@smithy/util-endpoints/dist-es/lib/split.js +13 -0
  1396. package/node_modules/@smithy/util-endpoints/dist-es/lib/substring.js +1 -1
  1397. package/node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js +4 -1
  1398. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +20 -5
  1399. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js +3 -6
  1400. package/node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js +1 -5
  1401. package/node_modules/@smithy/util-endpoints/package.json +1 -1
  1402. package/node_modules/discord-api-types/package.json +1 -1
  1403. package/node_modules/discord-api-types/payloads/index.mjs +3 -0
  1404. package/node_modules/discord-api-types/payloads/v10/index.mjs +3 -0
  1405. package/node_modules/discord-api-types/payloads/v10/message.js +55 -2
  1406. package/node_modules/discord-api-types/payloads/v10/user.js +2 -0
  1407. package/node_modules/discord-api-types/payloads/v9/index.mjs +3 -0
  1408. package/node_modules/discord-api-types/payloads/v9/message.js +55 -2
  1409. package/node_modules/discord-api-types/payloads/v9/user.js +2 -0
  1410. package/node_modules/discord-api-types/rest/v10/channel.js +6 -0
  1411. package/node_modules/discord-api-types/rest/v9/channel.js +6 -0
  1412. package/node_modules/discord-api-types/v10.mjs +3 -0
  1413. package/node_modules/discord-api-types/v9.mjs +3 -0
  1414. package/node_modules/undici/package.json +1 -1
  1415. package/package.json +2 -1
  1416. package/dist/ports-Dylc6TrH.js +0 -3
  1417. package/dist/ports-hkqQXSus.js +0 -3
  1418. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/LICENSE +0 -22
  1419. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/Readme.md +0 -1157
  1420. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/LICENSE +0 -21
  1421. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/README.md +0 -208
  1422. package/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +0 -3
  1423. package/node_modules/@anthropic-ai/sdk/src/core/README.md +0 -3
  1424. package/node_modules/@anthropic-ai/sdk/src/internal/README.md +0 -3
  1425. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
  1426. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/README.md +0 -10
  1427. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
  1428. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/README.md +0 -10
  1429. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/LICENSE +0 -201
  1430. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/README.md +0 -4
  1431. package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
  1432. package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/README.md +0 -10
  1433. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
  1434. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/README.md +0 -10
  1435. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/LICENSE +0 -201
  1436. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/README.md +0 -4
  1437. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
  1438. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
  1439. package/node_modules/@buape/carbon/node_modules/@discordjs/voice/LICENSE +0 -191
  1440. package/node_modules/@buape/carbon/node_modules/@discordjs/voice/README.md +0 -112
  1441. package/node_modules/@buape/carbon/node_modules/discord-api-types/LICENSE +0 -21
  1442. package/node_modules/@buape/carbon/node_modules/discord-api-types/README.md +0 -102
  1443. package/node_modules/@buape/carbon/node_modules/ws/LICENSE +0 -20
  1444. package/node_modules/@buape/carbon/node_modules/ws/README.md +0 -548
  1445. package/node_modules/@line/bot-sdk/node_modules/@types/node/LICENSE +0 -21
  1446. package/node_modules/@line/bot-sdk/node_modules/@types/node/README.md +0 -15
  1447. package/node_modules/@line/bot-sdk/node_modules/undici-types/LICENSE +0 -21
  1448. package/node_modules/@line/bot-sdk/node_modules/undici-types/README.md +0 -6
  1449. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1450. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
  1451. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
  1452. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
  1453. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1454. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/README.md +0 -49
  1455. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
  1456. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
  1457. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1458. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
  1459. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
  1460. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
  1461. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1462. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
  1463. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
  1464. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
  1465. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1466. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/README.md +0 -49
  1467. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
  1468. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
  1469. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
  1470. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
  1471. package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/LICENSE +0 -201
  1472. package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/README.md +0 -73
  1473. package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1474. package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/README.md +0 -49
  1475. package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/LICENSE +0 -201
  1476. package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/README.md +0 -73
  1477. package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/LICENSE +0 -201
  1478. package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/README.md +0 -73
  1479. package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/LICENSE +0 -201
  1480. package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/README.md +0 -73
  1481. package/node_modules/@sinclair/typebox/license +0 -25
  1482. package/node_modules/@sinclair/typebox/readme.md +0 -1865
  1483. package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/license +0 -9
  1484. package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/readme.md +0 -1077
  1485. package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/license +0 -9
  1486. package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/readme.md +0 -192
  1487. package/node_modules/ansi-regex/license +0 -9
  1488. package/node_modules/ansi-regex/readme.md +0 -66
  1489. package/node_modules/ansi-styles/license +0 -9
  1490. package/node_modules/ansi-styles/readme.md +0 -152
  1491. package/node_modules/atomic-sleep/readme.md +0 -58
  1492. package/node_modules/axios/lib/adapters/README.md +0 -36
  1493. package/node_modules/axios/lib/core/README.md +0 -8
  1494. package/node_modules/axios/lib/env/README.md +0 -3
  1495. package/node_modules/axios/lib/helpers/README.md +0 -7
  1496. package/node_modules/bytes/History.md +0 -97
  1497. package/node_modules/bytes/Readme.md +0 -152
  1498. package/node_modules/chalk/license +0 -9
  1499. package/node_modules/chalk/readme.md +0 -297
  1500. package/node_modules/cli-highlight/node_modules/chalk/license +0 -9
  1501. package/node_modules/cli-highlight/node_modules/chalk/readme.md +0 -341
  1502. package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
  1503. package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
  1504. package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
  1505. package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
  1506. package/node_modules/combined-stream/License +0 -19
  1507. package/node_modules/combined-stream/Readme.md +0 -138
  1508. package/node_modules/commander/Readme.md +0 -1176
  1509. package/node_modules/cookie-signature/History.md +0 -70
  1510. package/node_modules/cookie-signature/Readme.md +0 -23
  1511. package/node_modules/css-what/readme.md +0 -69
  1512. package/node_modules/delayed-stream/License +0 -19
  1513. package/node_modules/delayed-stream/Readme.md +0 -141
  1514. package/node_modules/depd/History.md +0 -103
  1515. package/node_modules/depd/Readme.md +0 -280
  1516. package/node_modules/domelementtype/readme.md +0 -1
  1517. package/node_modules/domhandler/readme.md +0 -92
  1518. package/node_modules/domutils/readme.md +0 -31
  1519. package/node_modules/entities/readme.md +0 -122
  1520. package/node_modules/escalade/license +0 -9
  1521. package/node_modules/escalade/readme.md +0 -211
  1522. package/node_modules/escape-html/Readme.md +0 -43
  1523. package/node_modules/express/Readme.md +0 -276
  1524. package/node_modules/express-rate-limit/license.md +0 -20
  1525. package/node_modules/express-rate-limit/readme.md +0 -136
  1526. package/node_modules/extract-zip/readme.md +0 -57
  1527. package/node_modules/fast-string-truncated-width/license +0 -21
  1528. package/node_modules/fast-string-truncated-width/readme.md +0 -60
  1529. package/node_modules/fast-string-width/license +0 -21
  1530. package/node_modules/fast-string-width/readme.md +0 -45
  1531. package/node_modules/file-type/license +0 -9
  1532. package/node_modules/file-type/readme.md +0 -667
  1533. package/node_modules/form-data/License +0 -19
  1534. package/node_modules/form-data/node_modules/mime-db/HISTORY.md +0 -507
  1535. package/node_modules/form-data/node_modules/mime-db/LICENSE +0 -23
  1536. package/node_modules/form-data/node_modules/mime-db/README.md +0 -100
  1537. package/node_modules/form-data/node_modules/mime-types/HISTORY.md +0 -397
  1538. package/node_modules/form-data/node_modules/mime-types/LICENSE +0 -23
  1539. package/node_modules/form-data/node_modules/mime-types/README.md +0 -113
  1540. package/node_modules/gaxios/node_modules/agent-base/LICENSE +0 -22
  1541. package/node_modules/gaxios/node_modules/agent-base/README.md +0 -69
  1542. package/node_modules/gaxios/node_modules/https-proxy-agent/LICENSE +0 -22
  1543. package/node_modules/gaxios/node_modules/https-proxy-agent/README.md +0 -70
  1544. package/node_modules/get-east-asian-width/license +0 -9
  1545. package/node_modules/get-east-asian-width/readme.md +0 -65
  1546. package/node_modules/get-stream/license +0 -9
  1547. package/node_modules/get-stream/readme.md +0 -124
  1548. package/node_modules/get-uri/node_modules/data-uri-to-buffer/LICENSE +0 -22
  1549. package/node_modules/get-uri/node_modules/data-uri-to-buffer/README.md +0 -61
  1550. package/node_modules/grammy/node_modules/node-fetch/LICENSE.md +0 -22
  1551. package/node_modules/grammy/node_modules/node-fetch/README.md +0 -634
  1552. package/node_modules/has-flag/license +0 -9
  1553. package/node_modules/has-flag/readme.md +0 -89
  1554. package/node_modules/htmlparser2/node_modules/entities/LICENSE +0 -11
  1555. package/node_modules/htmlparser2/node_modules/entities/readme.md +0 -143
  1556. package/node_modules/http-proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1557. package/node_modules/http-proxy-agent/node_modules/agent-base/README.md +0 -69
  1558. package/node_modules/is-fullwidth-code-point/license +0 -9
  1559. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  1560. package/node_modules/is-stream/license +0 -9
  1561. package/node_modules/is-stream/readme.md +0 -60
  1562. package/node_modules/jws/readme.md +0 -255
  1563. package/node_modules/libsignal/native/ed25519/sha512/LICENSE.txt +0 -20
  1564. package/node_modules/libsignal/node_modules/@types/node/LICENSE +0 -21
  1565. package/node_modules/libsignal/node_modules/@types/node/README.md +0 -16
  1566. package/node_modules/libsignal/node_modules/long/LICENSE +0 -202
  1567. package/node_modules/libsignal/node_modules/long/README.md +0 -246
  1568. package/node_modules/libsignal/node_modules/protobufjs/LICENSE +0 -39
  1569. package/node_modules/libsignal/node_modules/protobufjs/README.md +0 -879
  1570. package/node_modules/libsignal/node_modules/protobufjs/cli/LICENSE +0 -33
  1571. package/node_modules/libsignal/node_modules/protobufjs/cli/README.md +0 -11
  1572. package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/LICENSE +0 -21
  1573. package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/README.md +0 -23
  1574. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/license +0 -21
  1575. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/readme.md +0 -32
  1576. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/LICENSE +0 -21
  1577. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/README.md +0 -314
  1578. package/node_modules/libsignal/node_modules/protobufjs/dist/README.md +0 -31
  1579. package/node_modules/libsignal/node_modules/protobufjs/dist/light/README.md +0 -31
  1580. package/node_modules/libsignal/node_modules/protobufjs/dist/minimal/README.md +0 -31
  1581. package/node_modules/libsignal/node_modules/protobufjs/ext/debug/README.md +0 -4
  1582. package/node_modules/libsignal/node_modules/protobufjs/ext/descriptor/README.md +0 -72
  1583. package/node_modules/libsignal/node_modules/protobufjs/google/LICENSE +0 -27
  1584. package/node_modules/libsignal/node_modules/protobufjs/google/README.md +0 -1
  1585. package/node_modules/lie/license.md +0 -7
  1586. package/node_modules/linkedom/node_modules/html-escaper/LICENSE.txt +0 -19
  1587. package/node_modules/linkedom/node_modules/html-escaper/README.md +0 -110
  1588. package/node_modules/merge-descriptors/license +0 -11
  1589. package/node_modules/merge-descriptors/readme.md +0 -55
  1590. package/node_modules/ms/license.md +0 -21
  1591. package/node_modules/ms/readme.md +0 -59
  1592. package/node_modules/node-edge-tts/node_modules/agent-base/LICENSE +0 -22
  1593. package/node_modules/node-edge-tts/node_modules/agent-base/README.md +0 -69
  1594. package/node_modules/node-edge-tts/node_modules/ansi-regex/license +0 -9
  1595. package/node_modules/node-edge-tts/node_modules/ansi-regex/readme.md +0 -78
  1596. package/node_modules/node-edge-tts/node_modules/cliui/LICENSE.txt +0 -14
  1597. package/node_modules/node-edge-tts/node_modules/cliui/README.md +0 -141
  1598. package/node_modules/node-edge-tts/node_modules/https-proxy-agent/LICENSE +0 -22
  1599. package/node_modules/node-edge-tts/node_modules/https-proxy-agent/README.md +0 -70
  1600. package/node_modules/node-edge-tts/node_modules/strip-ansi/license +0 -9
  1601. package/node_modules/node-edge-tts/node_modules/strip-ansi/readme.md +0 -46
  1602. package/node_modules/node-edge-tts/node_modules/yargs/LICENSE +0 -21
  1603. package/node_modules/node-edge-tts/node_modules/yargs/README.md +0 -204
  1604. package/node_modules/node-edge-tts/node_modules/yargs-parser/LICENSE.txt +0 -14
  1605. package/node_modules/node-edge-tts/node_modules/yargs-parser/README.md +0 -518
  1606. package/node_modules/object-assign/license +0 -21
  1607. package/node_modules/object-assign/readme.md +0 -61
  1608. package/node_modules/object-inspect/readme.markdown +0 -84
  1609. package/node_modules/openai/src/_vendor/partial-json-parser/README.md +0 -3
  1610. package/node_modules/openai/src/_vendor/zod-to-json-schema/LICENSE +0 -15
  1611. package/node_modules/openai/src/_vendor/zod-to-json-schema/README.md +0 -3
  1612. package/node_modules/openai/src/core/README.md +0 -3
  1613. package/node_modules/openai/src/internal/README.md +0 -3
  1614. package/node_modules/openai/src/internal/qs/LICENSE.md +0 -13
  1615. package/node_modules/openai/src/internal/qs/README.md +0 -3
  1616. package/node_modules/p-finally/license +0 -21
  1617. package/node_modules/p-finally/readme.md +0 -47
  1618. package/node_modules/p-queue/license +0 -9
  1619. package/node_modules/p-queue/node_modules/eventemitter3/LICENSE +0 -21
  1620. package/node_modules/p-queue/node_modules/eventemitter3/README.md +0 -94
  1621. package/node_modules/p-queue/readme.md +0 -400
  1622. package/node_modules/p-retry/license +0 -9
  1623. package/node_modules/p-retry/readme.md +0 -148
  1624. package/node_modules/p-timeout/license +0 -9
  1625. package/node_modules/p-timeout/readme.md +0 -87
  1626. package/node_modules/pac-proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1627. package/node_modules/pac-proxy-agent/node_modules/agent-base/README.md +0 -69
  1628. package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
  1629. package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
  1630. package/node_modules/pako/lib/zlib/README +0 -59
  1631. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/LICENSE +0 -19
  1632. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/README.md +0 -38
  1633. package/node_modules/path-key/license +0 -9
  1634. package/node_modules/path-key/readme.md +0 -61
  1635. package/node_modules/path-to-regexp/Readme.md +0 -224
  1636. package/node_modules/pino-std-serializers/Readme.md +0 -182
  1637. package/node_modules/process-nextick-args/license.md +0 -19
  1638. package/node_modules/process-nextick-args/readme.md +0 -18
  1639. package/node_modules/proper-lockfile/node_modules/retry/License +0 -21
  1640. package/node_modules/proper-lockfile/node_modules/retry/README.md +0 -227
  1641. package/node_modules/protobufjs/ext/debug/README.md +0 -4
  1642. package/node_modules/protobufjs/ext/descriptor/README.md +0 -72
  1643. package/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE +0 -19
  1644. package/node_modules/proxy-addr/node_modules/ipaddr.js/README.md +0 -233
  1645. package/node_modules/proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1646. package/node_modules/proxy-agent/node_modules/agent-base/README.md +0 -69
  1647. package/node_modules/proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
  1648. package/node_modules/proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
  1649. package/node_modules/proxy-agent/node_modules/lru-cache/LICENSE +0 -15
  1650. package/node_modules/proxy-agent/node_modules/lru-cache/README.md +0 -1117
  1651. package/node_modules/proxy-agent/node_modules/proxy-from-env/LICENSE +0 -20
  1652. package/node_modules/proxy-agent/node_modules/proxy-from-env/README.md +0 -131
  1653. package/node_modules/qified/node_modules/hookified/LICENSE +0 -19
  1654. package/node_modules/qified/node_modules/hookified/README.md +0 -1682
  1655. package/node_modules/quick-format-unescaped/readme.md +0 -66
  1656. package/node_modules/readable-stream/node_modules/safe-buffer/LICENSE +0 -21
  1657. package/node_modules/readable-stream/node_modules/safe-buffer/README.md +0 -584
  1658. package/node_modules/require-from-string/license +0 -21
  1659. package/node_modules/require-from-string/readme.md +0 -56
  1660. package/node_modules/retry/License +0 -21
  1661. package/node_modules/router/node_modules/is-promise/LICENSE +0 -19
  1662. package/node_modules/router/node_modules/is-promise/readme.md +0 -33
  1663. package/node_modules/safe-stable-stringify/readme.md +0 -179
  1664. package/node_modules/safer-buffer/Readme.md +0 -156
  1665. package/node_modules/shebang-command/license +0 -9
  1666. package/node_modules/shebang-command/readme.md +0 -34
  1667. package/node_modules/shebang-regex/license +0 -9
  1668. package/node_modules/shebang-regex/readme.md +0 -33
  1669. package/node_modules/sisteransi/license +0 -21
  1670. package/node_modules/sisteransi/readme.md +0 -113
  1671. package/node_modules/socks-proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1672. package/node_modules/socks-proxy-agent/node_modules/agent-base/README.md +0 -69
  1673. package/node_modules/string-width/license +0 -9
  1674. package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  1675. package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -78
  1676. package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
  1677. package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -46
  1678. package/node_modules/string-width/readme.md +0 -50
  1679. package/node_modules/string_decoder/node_modules/safe-buffer/LICENSE +0 -21
  1680. package/node_modules/string_decoder/node_modules/safe-buffer/README.md +0 -584
  1681. package/node_modules/strip-ansi/license +0 -9
  1682. package/node_modules/strip-ansi/readme.md +0 -37
  1683. package/node_modules/supports-color/license +0 -9
  1684. package/node_modules/supports-color/readme.md +0 -76
  1685. package/node_modules/uint8array-extras/license +0 -9
  1686. package/node_modules/uint8array-extras/readme.md +0 -318
  1687. package/node_modules/undici/lib/web/fetch/LICENSE +0 -21
  1688. package/node_modules/undici/lib/web/subresource-integrity/Readme.md +0 -9
  1689. package/node_modules/util-deprecate/History.md +0 -16
  1690. package/node_modules/wrap-ansi/license +0 -9
  1691. package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
  1692. package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
  1693. package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
  1694. package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
  1695. package/node_modules/wrap-ansi/readme.md +0 -91
  1696. package/node_modules/yoctocolors/license +0 -9
  1697. package/node_modules/yoctocolors/readme.md +0 -138
  1698. package/node_modules/zod-to-json-schema/changelog.md +0 -83
@@ -1,2 +1 @@
1
1
  function e({status:e,pid:t,state:n,details:r=[]}){let i=e??`unknown`,a=[];t&&a.push(`pid ${t}`),n&&n.toLowerCase()!==i&&a.push(`state ${n}`);for(let e of r)e&&a.push(e);return a.length>0?`${i} (${a.join(`, `)})`:i}export{e as t};
2
- //# sourceMappingURL=runtime-status-DszMjvJK.js.map
@@ -1,2 +1 @@
1
1
  import{Wi as e,cu as t,do as n,fo as r,lo as i,po as a}from"./auth-profiles-C8rZRS0X.js";import{d as o,i as s}from"./types.secrets-D4tbc3Wq.js";import{jt as c}from"./plugins-DNlgeTTc.js";import{isDeepStrictEqual as l}from"node:util";function u(e){return/^\d+$/.test(e)}function d(e){return u(e)?`array`:`object`}function f(e,t,n){if(!Array.isArray(e))return null;if(!u(t))throw Error(`Invalid array index segment "${t}" at ${n.join(`.`)}.`);return{array:e,index:Number.parseInt(t,10)}}function p(e){if(e.segments.length===0)throw Error(`Target path is empty.`);let t=e.root;for(let n=0;n<e.segments.length-1;n+=1){let i=e.segments[n]??``;if(Array.isArray(t)){if(!u(i))throw Error(`Invalid array index segment "${i}" at ${e.segments.join(`.`)}.`);let r=Number.parseInt(i,10);if(e.requireExistingSegment&&(r<0||r>=t.length))throw Error(`Path segment does not exist at ${e.segments.slice(0,n+1).join(`.`)}.`);t=t[r];continue}if(!r(t))throw Error(`Invalid path shape at ${e.segments.slice(0,n).join(`.`)||`<root>`}.`);if(e.requireExistingSegment&&!Object.prototype.hasOwnProperty.call(t,i))throw Error(`Path segment does not exist at ${e.segments.slice(0,n+1).join(`.`)}.`);t=t[i]}return t}function m(e,t){if(t.length===0)return;let n=e;for(let e of t){if(Array.isArray(n)){if(!u(e))return;n=n[Number.parseInt(e,10)];continue}if(!r(n))return;n=n[e]}return n}function h(e,t,n){if(t.length===0)throw Error(`Target path is empty.`);let i=e,a=!1;for(let e=0;e<t.length-1;e+=1){let n=t[e]??``,o=d(t[e+1]??``);if(Array.isArray(i)){if(!u(n))throw Error(`Invalid array index segment "${n}" at ${t.join(`.`)}.`);let s=Number.parseInt(n,10),c=i[s];if(c==null)i[s]=o===`array`?[]:{},a=!0;else if(o===`array`?!Array.isArray(c):!r(c))throw Error(`Invalid path shape at ${t.slice(0,e+1).join(`.`)}.`);i=i[s];continue}if(!r(i))throw Error(`Invalid path shape at ${t.slice(0,e).join(`.`)||`<root>`}.`);let s=i[n];if(s==null)i[n]=o===`array`?[]:{},a=!0;else if(o===`array`?!Array.isArray(s):!r(s))throw Error(`Invalid path shape at ${t.slice(0,e+1).join(`.`)}.`);i=i[n]}let o=t[t.length-1]??``,s=f(i,o,t);if(s)return l(s.array[s.index],n)||(s.array[s.index]=n,a=!0),a;if(!r(i))throw Error(`Invalid path shape at ${t.slice(0,-1).join(`.`)||`<root>`}.`);return l(i[o],n)||(i[o]=n,a=!0),a}function g(e,t,n){let i=p({root:e,segments:t,requireExistingSegment:!0}),a=t[t.length-1]??``,o=f(i,a,t);if(o){if(o.index<0||o.index>=o.array.length)throw Error(`Path segment does not exist at ${t.join(`.`)}.`);return l(o.array[o.index],n)?!1:(o.array[o.index]=n,!0)}if(!r(i))throw Error(`Invalid path shape at ${t.slice(0,-1).join(`.`)||`<root>`}.`);if(!Object.prototype.hasOwnProperty.call(i,a))throw Error(`Path segment does not exist at ${t.join(`.`)}.`);return l(i[a],n)?!1:(i[a]=n,!0)}function _(e,t){let n=p({root:e,segments:t,requireExistingSegment:!1}),i=t[t.length-1]??``,a=f(n,i,t);if(a)return a.index<0||a.index>=a.array.length?!1:(a.array.splice(a.index,1),!0);if(!r(n))throw Error(`Invalid path shape at ${t.slice(0,-1).join(`.`)||`<root>`}.`);return Object.prototype.hasOwnProperty.call(n,i)?(delete n[i],!0):!1}function v(e,t){return t===`string`?n(e):n(e)||r(e)}function ee(e,t){return t===`string`?n(e):n(e)||r(e)&&Object.keys(e).length>0}function y(e){if(!v(e.value,e.expected))throw Error(e.errorMessage)}const b=`secret_input`,x=`sibling_ref`,te=[{id:`auth-profiles.api_key.key`,targetType:`auth-profiles.api_key.key`,configFile:`auth-profiles.json`,pathPattern:`profiles.*.key`,refPathPattern:`profiles.*.keyRef`,secretShape:x,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,authProfileType:`api_key`},{id:`auth-profiles.token.token`,targetType:`auth-profiles.token.token`,configFile:`auth-profiles.json`,pathPattern:`profiles.*.token`,refPathPattern:`profiles.*.tokenRef`,secretShape:x,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,authProfileType:`token`},{id:`agents.defaults.memorySearch.remote.apiKey`,targetType:`agents.defaults.memorySearch.remote.apiKey`,configFile:`openclaw.json`,pathPattern:`agents.defaults.memorySearch.remote.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`agents.list[].memorySearch.remote.apiKey`,targetType:`agents.list[].memorySearch.remote.apiKey`,configFile:`openclaw.json`,pathPattern:`agents.list[].memorySearch.remote.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.bluebubbles.accounts.*.password`,targetType:`channels.bluebubbles.accounts.*.password`,configFile:`openclaw.json`,pathPattern:`channels.bluebubbles.accounts.*.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.bluebubbles.password`,targetType:`channels.bluebubbles.password`,configFile:`openclaw.json`,pathPattern:`channels.bluebubbles.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.pluralkit.token`,targetType:`channels.discord.accounts.*.pluralkit.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.pluralkit.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.token`,targetType:`channels.discord.accounts.*.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.voice.tts.elevenlabs.apiKey`,targetType:`channels.discord.accounts.*.voice.tts.elevenlabs.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.voice.tts.elevenlabs.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.voice.tts.openai.apiKey`,targetType:`channels.discord.accounts.*.voice.tts.openai.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.voice.tts.openai.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.pluralkit.token`,targetType:`channels.discord.pluralkit.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.pluralkit.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.token`,targetType:`channels.discord.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.voice.tts.elevenlabs.apiKey`,targetType:`channels.discord.voice.tts.elevenlabs.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.voice.tts.elevenlabs.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.voice.tts.openai.apiKey`,targetType:`channels.discord.voice.tts.openai.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.voice.tts.openai.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.accounts.*.appSecret`,targetType:`channels.feishu.accounts.*.appSecret`,configFile:`openclaw.json`,pathPattern:`channels.feishu.accounts.*.appSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.accounts.*.verificationToken`,targetType:`channels.feishu.accounts.*.verificationToken`,configFile:`openclaw.json`,pathPattern:`channels.feishu.accounts.*.verificationToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.appSecret`,targetType:`channels.feishu.appSecret`,configFile:`openclaw.json`,pathPattern:`channels.feishu.appSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.verificationToken`,targetType:`channels.feishu.verificationToken`,configFile:`openclaw.json`,pathPattern:`channels.feishu.verificationToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.googlechat.accounts.*.serviceAccount`,targetType:`channels.googlechat.serviceAccount`,targetTypeAliases:[`channels.googlechat.accounts.*.serviceAccount`],configFile:`openclaw.json`,pathPattern:`channels.googlechat.accounts.*.serviceAccount`,refPathPattern:`channels.googlechat.accounts.*.serviceAccountRef`,secretShape:x,expectedResolvedValue:`string-or-object`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,accountIdPathSegmentIndex:3},{id:`channels.googlechat.serviceAccount`,targetType:`channels.googlechat.serviceAccount`,configFile:`openclaw.json`,pathPattern:`channels.googlechat.serviceAccount`,refPathPattern:`channels.googlechat.serviceAccountRef`,secretShape:x,expectedResolvedValue:`string-or-object`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.accounts.*.nickserv.password`,targetType:`channels.irc.accounts.*.nickserv.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.accounts.*.nickserv.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.accounts.*.password`,targetType:`channels.irc.accounts.*.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.accounts.*.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.nickserv.password`,targetType:`channels.irc.nickserv.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.nickserv.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.password`,targetType:`channels.irc.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.mattermost.accounts.*.botToken`,targetType:`channels.mattermost.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.mattermost.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.mattermost.botToken`,targetType:`channels.mattermost.botToken`,configFile:`openclaw.json`,pathPattern:`channels.mattermost.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.matrix.accounts.*.password`,targetType:`channels.matrix.accounts.*.password`,configFile:`openclaw.json`,pathPattern:`channels.matrix.accounts.*.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.matrix.password`,targetType:`channels.matrix.password`,configFile:`openclaw.json`,pathPattern:`channels.matrix.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.msteams.appPassword`,targetType:`channels.msteams.appPassword`,configFile:`openclaw.json`,pathPattern:`channels.msteams.appPassword`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.accounts.*.apiPassword`,targetType:`channels.nextcloud-talk.accounts.*.apiPassword`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.accounts.*.apiPassword`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.accounts.*.botSecret`,targetType:`channels.nextcloud-talk.accounts.*.botSecret`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.accounts.*.botSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.apiPassword`,targetType:`channels.nextcloud-talk.apiPassword`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.apiPassword`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.botSecret`,targetType:`channels.nextcloud-talk.botSecret`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.botSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.appToken`,targetType:`channels.slack.accounts.*.appToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.appToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.botToken`,targetType:`channels.slack.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.signingSecret`,targetType:`channels.slack.accounts.*.signingSecret`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.signingSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.userToken`,targetType:`channels.slack.accounts.*.userToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.userToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.appToken`,targetType:`channels.slack.appToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.appToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.botToken`,targetType:`channels.slack.botToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.signingSecret`,targetType:`channels.slack.signingSecret`,configFile:`openclaw.json`,pathPattern:`channels.slack.signingSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.userToken`,targetType:`channels.slack.userToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.userToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.accounts.*.botToken`,targetType:`channels.telegram.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.telegram.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.accounts.*.webhookSecret`,targetType:`channels.telegram.accounts.*.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.telegram.accounts.*.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.botToken`,targetType:`channels.telegram.botToken`,configFile:`openclaw.json`,pathPattern:`channels.telegram.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.webhookSecret`,targetType:`channels.telegram.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.telegram.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.accounts.*.botToken`,targetType:`channels.zalo.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.zalo.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.accounts.*.webhookSecret`,targetType:`channels.zalo.accounts.*.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.zalo.accounts.*.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.botToken`,targetType:`channels.zalo.botToken`,configFile:`openclaw.json`,pathPattern:`channels.zalo.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.webhookSecret`,targetType:`channels.zalo.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.zalo.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`cron.webhookToken`,targetType:`cron.webhookToken`,configFile:`openclaw.json`,pathPattern:`cron.webhookToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.auth.token`,targetType:`gateway.auth.token`,configFile:`openclaw.json`,pathPattern:`gateway.auth.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.auth.password`,targetType:`gateway.auth.password`,configFile:`openclaw.json`,pathPattern:`gateway.auth.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.remote.password`,targetType:`gateway.remote.password`,configFile:`openclaw.json`,pathPattern:`gateway.remote.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.remote.token`,targetType:`gateway.remote.token`,configFile:`openclaw.json`,pathPattern:`gateway.remote.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`messages.tts.elevenlabs.apiKey`,targetType:`messages.tts.elevenlabs.apiKey`,configFile:`openclaw.json`,pathPattern:`messages.tts.elevenlabs.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`messages.tts.openai.apiKey`,targetType:`messages.tts.openai.apiKey`,configFile:`openclaw.json`,pathPattern:`messages.tts.openai.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`models.providers.*.apiKey`,targetType:`models.providers.apiKey`,targetTypeAliases:[`models.providers.*.apiKey`],configFile:`openclaw.json`,pathPattern:`models.providers.*.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,providerIdPathSegmentIndex:2,trackProviderShadowing:!0},{id:`models.providers.*.headers.*`,targetType:`models.providers.headers`,targetTypeAliases:[`models.providers.*.headers.*`],configFile:`openclaw.json`,pathPattern:`models.providers.*.headers.*`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,providerIdPathSegmentIndex:2},{id:`skills.entries.*.apiKey`,targetType:`skills.entries.apiKey`,targetTypeAliases:[`skills.entries.*.apiKey`],configFile:`openclaw.json`,pathPattern:`skills.entries.*.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`talk.apiKey`,targetType:`talk.apiKey`,configFile:`openclaw.json`,pathPattern:`talk.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`talk.providers.*.apiKey`,targetType:`talk.providers.*.apiKey`,configFile:`openclaw.json`,pathPattern:`talk.providers.*.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.fetch.firecrawl.apiKey`,targetType:`tools.web.fetch.firecrawl.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.fetch.firecrawl.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.apiKey`,targetType:`tools.web.search.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.gemini.apiKey`,targetType:`tools.web.search.gemini.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.gemini.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.grok.apiKey`,targetType:`tools.web.search.grok.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.grok.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.kimi.apiKey`,targetType:`tools.web.search.kimi.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.kimi.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.perplexity.apiKey`,targetType:`tools.web.search.perplexity.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.perplexity.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0}];function S(e){return e.filter(e=>e.kind===`wildcard`||e.kind===`array`).length}function C(e){return a(e).map(t=>{if(t===`*`)return{kind:`wildcard`};if(t.endsWith(`[]`)){let n=t.slice(0,-2).trim();if(!n)throw Error(`Invalid target path pattern: ${e}`);return{kind:`array`,field:n}}return{kind:`literal`,value:t}})}function ne(e){let t=C(e.pathPattern),n=S(t),r=e.refPathPattern?C(e.refPathPattern):void 0,i=r?S(r):0;if(e.secretShape===`sibling_ref`&&!r)throw Error(`Missing refPathPattern for sibling_ref target: ${e.id}`);if(r&&i!==n)throw Error(`Mismatched wildcard shape for target ref path: ${e.id}`);return{...e,pathTokens:t,pathDynamicTokenCount:n,refPathTokens:r,refPathDynamicTokenCount:i}}function re(e,t){let n=[],r=0;for(let i of t){if(i.kind===`literal`){if(e[r]!==i.value)return null;r+=1;continue}if(i.kind===`wildcard`){let t=e[r];if(!t)return null;n.push(t),r+=1;continue}if(e[r]!==i.field)return null;let t=e[r+1];if(!t||!/^\d+$/.test(t))return null;n.push(t),r+=2}return r===e.length?{captures:n}:null}function ie(e,t){let n=[],r=0;for(let i of e){if(i.kind===`literal`){n.push(i.value);continue}if(i.kind===`wildcard`){let e=t[r];if(!e)return null;n.push(e),r+=1;continue}let e=t[r];if(!e||!/^\d+$/.test(e))return null;n.push(i.field,e),r+=1}return r===t.length?n:null}function ae(e,t){let n=[],i=(e,a,o,s)=>{let c=t[a];if(!c){n.push({segments:o,captures:s,value:e});return}let l=a===t.length-1;if(c.kind===`literal`){if(!r(e))return;if(l){n.push({segments:[...o,c.value],captures:s,value:e[c.value]});return}if(!Object.prototype.hasOwnProperty.call(e,c.value))return;i(e[c.value],a+1,[...o,c.value],s);return}if(c.kind===`wildcard`){if(!r(e))return;for(let[t,r]of Object.entries(e)){if(l){n.push({segments:[...o,t],captures:[...s,t],value:r});continue}i(r,a+1,[...o,t],[...s,t])}return}if(!r(e))return;let u=e[c.field];if(Array.isArray(u))for(let e=0;e<u.length;e+=1){let t=u[e],r=String(e);if(l){n.push({segments:[...o,c.field,r],captures:[...s,r],value:t});continue}i(t,a+1,[...o,c.field,r],[...s,r])}};return i(e,0,[],[]),n}const w=te.map(ne),oe=w.filter(e=>e.configFile===`openclaw.json`),se=w.filter(e=>e.configFile===`auth-profiles.json`);function ce(){let e=new Map,t=(t,n)=>{let r=e.get(t);if(r){r.push(n);return}e.set(t,[n])};for(let e of w){t(e.targetType,e);for(let n of e.targetTypeAliases??[])t(n,e)}return e}const le=ce(),ue=new Set(w.map(e=>e.id));function de(){let e=new Map;for(let t of oe){let n=e.get(t.id);if(n){n.push(t);continue}e.set(t.id,[t])}return e}const fe=de();function pe(){let e=new Map;for(let t of se){let n=e.get(t.id);if(n){n.push(t);continue}e.set(t.id,[t])}return e}const me=pe();function T(e){return e===void 0?null:new Set(Array.from(e).map(e=>e.trim()).filter(e=>e.length>0))}function E(e){return e.allowedTargetIds===null?e.defaultEntries:Array.from(e.allowedTargetIds).flatMap(t=>e.entriesById.get(t)??[])}function D(e,t){let n=[],r=new Set;for(let i of t){let t=ae(e,i.pathTokens);for(let a of t){let t=O(i,a.segments,a.captures);if(!t)continue;let o=`${i.id}:${t.pathSegments.join(`.`)}`;if(r.has(o))continue;r.add(o);let s=t.refPathSegments?m(e,t.refPathSegments):void 0;n.push({entry:i,path:t.pathSegments.join(`.`),pathSegments:t.pathSegments,...t.refPathSegments?{refPathSegments:t.refPathSegments,refPath:t.refPathSegments.join(`.`)}:{},value:a.value,...t.providerId?{providerId:t.providerId}:{},...t.accountId?{accountId:t.accountId}:{},...t.refPathSegments?{refValue:s}:{}})}}return n}function O(e,t,n){let r=e.providerIdPathSegmentIndex===void 0?void 0:t[e.providerIdPathSegmentIndex],i=e.accountIdPathSegmentIndex===void 0?void 0:t[e.accountIdPathSegmentIndex],a=e.refPathTokens?ie(e.refPathTokens,n):void 0;return e.refPathTokens&&!a?null:{entry:e,pathSegments:t,...a?{refPathSegments:a}:{},...r?{providerId:r}:{},...i?{accountId:i}:{}}}function he(){return w.map(e=>({id:e.id,targetType:e.targetType,...e.targetTypeAliases?{targetTypeAliases:[...e.targetTypeAliases]}:{},configFile:e.configFile,pathPattern:e.pathPattern,...e.refPathPattern?{refPathPattern:e.refPathPattern}:{},secretShape:e.secretShape,expectedResolvedValue:e.expectedResolvedValue,includeInPlan:e.includeInPlan,includeInConfigure:e.includeInConfigure,includeInAudit:e.includeInAudit,...e.providerIdPathSegmentIndex===void 0?{}:{providerIdPathSegmentIndex:e.providerIdPathSegmentIndex},...e.accountIdPathSegmentIndex===void 0?{}:{accountIdPathSegmentIndex:e.accountIdPathSegmentIndex},...e.authProfileType?{authProfileType:e.authProfileType}:{},...e.trackProviderShadowing?{trackProviderShadowing:!0}:{}}))}function ge(e){return typeof e==`string`&&le.has(e)}function _e(e){return typeof e==`string`&&ue.has(e)}function ve(e){let t=le.get(e.type);if(!t||t.length===0)return null;for(let n of t){if(!n.includeInPlan)continue;let t=re(e.pathSegments,n.pathTokens);if(!t)continue;let r=O(n,e.pathSegments,t.captures);if(r&&!(e.providerId&&e.providerId.trim().length>0&&(!r.providerId||r.providerId!==e.providerId))&&!(e.accountId&&e.accountId.trim().length>0&&(!r.accountId||r.accountId!==e.accountId)))return r}return null}function ye(e){return k(e)}function k(e,t){return D(e,E({allowedTargetIds:T(t),defaultEntries:oe,entriesById:fe}))}function be(e){return xe(e)}function xe(e,t){return D(e,E({allowedTargetIds:T(t),defaultEntries:se,entriesById:me}))}function Se(){return w.filter(e=>e.configFile===`auth-profiles.json`&&e.includeInAudit)}function A(e){let t=e.sourceConfig.secrets?.defaults,n=[],r=[],i=[],a=[];for(let c of k(e.sourceConfig,e.targetIds)){if(e.allowedPaths&&!e.allowedPaths.has(c.path))continue;let{explicitRef:l,ref:u}=o({value:c.value,refValue:c.refValue,defaults:t}),d=l?s(c.value,t):null;if(!u)continue;let f=m(e.resolvedConfig,c.pathSegments);if(!v(f,c.entry.expectedResolvedValue)){if(e.inactiveRefPaths?.has(c.path)){r.push(`${c.path}: secret ref is configured on an inactive surface; skipping command-time assignment.`),a.push({path:c.path,pathSegments:[...c.pathSegments]});continue}i.push({path:c.path,pathSegments:[...c.pathSegments]});continue}n.push({path:c.path,pathSegments:[...c.pathSegments],value:f}),c.entry.secretShape===`sibling_ref`&&l&&d&&r.push(`${c.path}: both inline and sibling ref were present; sibling ref took precedence.`)}return{assignments:n,diagnostics:r,unresolved:i,inactive:a}}function Ce(e){let t=A({sourceConfig:e.sourceConfig,resolvedConfig:e.resolvedConfig,targetIds:e.targetIds,inactiveRefPaths:e.inactiveRefPaths,allowedPaths:e.allowedPaths});if(t.unresolved.length>0)throw Error(`${e.commandName}: ${t.unresolved[0]?.path??`target`} is unresolved in the active runtime snapshot.`);return{assignments:t.assignments,diagnostics:t.diagnostics}}function we(e){return{sourceConfig:e.sourceConfig,env:e.env,cache:{},warnings:[],warningKeys:new Set,assignments:[]}}function j(e,t){e.assignments.push(t)}function M(e,t){let n=`${t.code}:${t.path}:${t.message}`;e.warningKeys.has(n)||(e.warningKeys.add(n),e.warnings.push(t))}function N(e){M(e.context,{code:`SECRETS_REF_IGNORED_INACTIVE_SURFACE`,path:e.path,message:e.details&&e.details.trim().length>0?`${e.path}: ${e.details}`:`${e.path}: secret ref is configured on an inactive surface; skipping resolution until it becomes active.`})}function P(e){let t=s(e.value,e.defaults);if(t){if(e.active===!1){N({context:e.context,path:e.path,details:e.inactiveReason});return}j(e.context,{ref:t,path:e.path,expected:e.expected,apply:e.apply})}}function Te(e){for(let t of e.assignments){let n=c(t.ref);if(!e.resolved.has(n))throw Error(`Secret reference "${n}" resolved to no value.`);let r=e.resolved.get(n);y({value:r,expected:t.expected,errorMessage:t.expected===`string`?`${t.path} resolved to a non-string or empty value.`:`${t.path} resolved to an unsupported value type.`}),t.apply(r)}}function F(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function I(e){return r(e)?e.enabled!==!1:!0}function Ee(e,t){return I(e)&&I(t)}function L(e){let t=e.tts.elevenlabs;r(t)&&P({value:t.apiKey,path:`${e.pathPrefix}.elevenlabs.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:e.active,inactiveReason:e.inactiveReason,apply:e=>{t.apiKey=e}});let n=e.tts.openai;r(n)&&P({value:n.apiKey,path:`${e.pathPrefix}.openai.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:e.active,inactiveReason:e.inactiveReason,apply:e=>{n.apiKey=e}})}function R(e){let t=I(e),n=e.accounts;if(!r(n)||Object.keys(n).length===0)return{hasExplicitAccounts:!1,channelEnabled:t,accounts:[{accountId:`default`,account:e,enabled:t}]};let i=[];for(let[t,a]of Object.entries(n))r(a)&&i.push({accountId:t,account:a,enabled:Ee(e,a)});return{hasExplicitAccounts:!0,channelEnabled:t,accounts:i}}function z(e,t){return e.channelEnabled?e.hasExplicitAccounts?e.accounts.some(({account:e,enabled:n})=>n&&!F(e,t)):!0:!1}function B(e){return typeof e==`string`?e.trim():``}function V(e,t){return B(e).length>0||s(e,t)!==null}function H(e){if(P({value:e.channel[e.field],path:`channels.${e.channelKey}.${e.field}`,expected:`string`,defaults:e.defaults,context:e.context,active:z(e.surface,e.field),inactiveReason:e.topInactiveReason,apply:t=>{e.channel[e.field]=t}}),e.surface.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of e.surface.accounts)F(n,e.field)&&P({value:n[e.field],path:`channels.${e.channelKey}.accounts.${t}.${e.field}`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:e.accountInactiveReason,apply:t=>{n[e.field]=t}})}function De(e){let t=e.config.channels;if(!r(t))return;let n=t.telegram;if(!r(n))return;let i=R(n),a=typeof n.tokenFile==`string`?n.tokenFile.trim():``,o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:t,enabled:n})=>{if(!n||a.length>0)return!1;let r=V(t.botToken,e.defaults),i=typeof t.tokenFile==`string`&&t.tokenFile.trim().length>0;return!r&&!i}):a.length===0:!1;if(P({value:n.botToken,path:`channels.telegram.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Telegram surface inherits this top-level botToken (tokenFile is configured).`,apply:e=>{n.botToken=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`botToken`))continue;let i=typeof n.tokenFile==`string`?n.tokenFile.trim():``;P({value:n.botToken,path:`channels.telegram.accounts.${t}.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i.length===0,inactiveReason:`Telegram account is disabled or tokenFile is configured.`,apply:e=>{n.botToken=e}})}let s=typeof n.webhookUrl==`string`?n.webhookUrl.trim():``,c=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`webhookSecret`)&&(F(e,`webhookUrl`)?typeof e.webhookUrl==`string`&&e.webhookUrl.trim().length>0:s.length>0)):s.length>0:!1;if(P({value:n.webhookSecret,path:`channels.telegram.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:c,inactiveReason:`no enabled Telegram webhook surface inherits this top-level webhookSecret (webhook mode is not active).`,apply:e=>{n.webhookSecret=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`webhookSecret`))continue;let i=F(n,`webhookUrl`)?typeof n.webhookUrl==`string`?n.webhookUrl.trim():``:s;P({value:n.webhookSecret,path:`channels.telegram.accounts.${t}.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i.length>0,inactiveReason:`Telegram account is disabled or webhook mode is not active for this account.`,apply:e=>{n.webhookSecret=e}})}}function Oe(e){let t=e.config.channels;if(!r(t))return;let n=t.slack;if(!r(n))return;let i=R(n),a=n.mode===`http`||n.mode===`socket`?n.mode:`socket`;for(let t of[`botToken`,`userToken`])H({channelKey:`slack`,field:t,channel:n,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Slack ${t}.`,accountInactiveReason:`Slack account is disabled.`});let o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`appToken`)?!1:(e.mode===`http`||e.mode===`socket`?e.mode:a)!==`http`):a!==`http`:!1;P({value:n.appToken,path:`channels.slack.appToken`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Slack socket-mode surface inherits this top-level appToken.`,apply:e=>{n.appToken=e}});let s=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`signingSecret`)?!1:(e.mode===`http`||e.mode===`socket`?e.mode:a)===`http`):a===`http`:!1;if(P({value:n.signingSecret,path:`channels.slack.signingSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:s,inactiveReason:`no enabled Slack HTTP-mode surface inherits this top-level signingSecret.`,apply:e=>{n.signingSecret=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){let i=n.mode===`http`||n.mode===`socket`?n.mode:a;F(n,`appToken`)&&P({value:n.appToken,path:`channels.slack.accounts.${t}.appToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i!==`http`,inactiveReason:`Slack account is disabled or not running in socket mode.`,apply:e=>{n.appToken=e}}),F(n,`signingSecret`)&&P({value:n.signingSecret,path:`channels.slack.accounts.${t}.signingSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i===`http`,inactiveReason:`Slack account is disabled or not running in HTTP mode.`,apply:e=>{n.signingSecret=e}})}}function ke(e){let t=e.config.channels;if(!r(t))return;let n=t.discord;if(!r(n))return;let i=R(n);if(H({channelKey:`discord`,field:`token`,channel:n,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Discord token.`,accountInactiveReason:`Discord account is disabled.`}),r(n.pluralkit)){let t=n.pluralkit;P({value:t.token,path:`channels.discord.pluralkit.token`,expected:`string`,defaults:e.defaults,context:e.context,active:z(i,`pluralkit`)&&I(t),inactiveReason:`no enabled Discord surface inherits this top-level PluralKit config or PluralKit is disabled.`,apply:e=>{t.token=e}})}if(r(n.voice)&&r(n.voice.tts)&&L({tts:n.voice.tts,pathPrefix:`channels.discord.voice.tts`,defaults:e.defaults,context:e.context,active:z(i,`voice`)&&I(n.voice),inactiveReason:`no enabled Discord surface inherits this top-level voice config or voice is disabled.`}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:a}of i.accounts){if(F(n,`pluralkit`)&&r(n.pluralkit)){let r=n.pluralkit;P({value:r.token,path:`channels.discord.accounts.${t}.pluralkit.token`,expected:`string`,defaults:e.defaults,context:e.context,active:a&&I(r),inactiveReason:`Discord account is disabled or PluralKit is disabled for this account.`,apply:e=>{r.token=e}})}F(n,`voice`)&&r(n.voice)&&r(n.voice.tts)&&L({tts:n.voice.tts,pathPrefix:`channels.discord.accounts.${t}.voice.tts`,defaults:e.defaults,context:e.context,active:a&&I(n.voice),inactiveReason:`Discord account is disabled or voice is disabled for this account.`})}}function Ae(e){let t=e.config.channels;if(!r(t))return;let n=t.irc;if(!r(n))return;let i=R(n);if(H({channelKey:`irc`,field:`password`,channel:n,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level IRC password.`,accountInactiveReason:`IRC account is disabled.`}),r(n.nickserv)){let t=n.nickserv;P({value:t.password,path:`channels.irc.nickserv.password`,expected:`string`,defaults:e.defaults,context:e.context,active:z(i,`nickserv`)&&I(t),inactiveReason:`no enabled account inherits this top-level IRC nickserv config or NickServ is disabled.`,apply:e=>{t.password=e}})}if(i.hasExplicitAccounts){for(let{accountId:t,account:n,enabled:a}of i.accounts)if(F(n,`nickserv`)&&r(n.nickserv)){let r=n.nickserv;P({value:r.password,path:`channels.irc.accounts.${t}.nickserv.password`,expected:`string`,defaults:e.defaults,context:e.context,active:a&&I(r),inactiveReason:`IRC account is disabled or NickServ is disabled for this account.`,apply:e=>{r.password=e}})}}}function je(e){let t=e.config.channels;if(!r(t))return;let n=t.bluebubbles;r(n)&&H({channelKey:`bluebubbles`,field:`password`,channel:n,surface:R(n),defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level BlueBubbles password.`,accountInactiveReason:`BlueBubbles account is disabled.`})}function Me(e){let t=e.config.channels;if(!r(t))return;let n=t.msteams;r(n)&&P({value:n.appPassword,path:`channels.msteams.appPassword`,expected:`string`,defaults:e.defaults,context:e.context,active:n.enabled!==!1,inactiveReason:`Microsoft Teams channel is disabled.`,apply:e=>{n.appPassword=e}})}function Ne(e){let t=e.config.channels;if(!r(t))return;let n=t.mattermost;r(n)&&H({channelKey:`mattermost`,field:`botToken`,channel:n,surface:R(n),defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Mattermost botToken.`,accountInactiveReason:`Mattermost account is disabled.`})}function Pe(e){let t=e.config.channels;if(!r(t))return;let n=t.matrix;if(!r(n))return;let i=R(n),a=B(e.context.env.MATRIX_ACCESS_TOKEN).length>0,o=V(n.accessToken,e.defaults),s=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:t,enabled:n})=>n&&!F(t,`password`)&&!V(t.accessToken,e.defaults)&&!(o||a)):!(o||a):!1;if(P({value:n.password,path:`channels.matrix.password`,expected:`string`,defaults:e.defaults,context:e.context,active:s,inactiveReason:`no enabled Matrix surface inherits this top-level password (an accessToken is configured).`,apply:e=>{n.password=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`password`))continue;let i=V(n.accessToken,e.defaults),s=!F(n,`accessToken`)&&(o||a);P({value:n.password,path:`channels.matrix.accounts.${t}.password`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&!(i||s),inactiveReason:`Matrix account is disabled or an accessToken is configured.`,apply:e=>{n.password=e}})}}function Fe(e){let t=e.config.channels;if(!r(t))return;let n=t.zalo;if(!r(n))return;let i=R(n),a=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`botToken`)):!0:!1;P({value:n.botToken,path:`channels.zalo.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:a,inactiveReason:`no enabled Zalo surface inherits this top-level botToken.`,apply:e=>{n.botToken=e}});let o=B(n.webhookUrl),s=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`webhookSecret`)?!1:(F(e,`webhookUrl`)?B(e.webhookUrl):o).length>0):o.length>0:!1;if(P({value:n.webhookSecret,path:`channels.zalo.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:s,inactiveReason:`no enabled Zalo webhook surface inherits this top-level webhookSecret (webhook mode is not active).`,apply:e=>{n.webhookSecret=e}}),i.hasExplicitAccounts){for(let{accountId:t,account:n,enabled:r}of i.accounts)if(F(n,`botToken`)&&P({value:n.botToken,path:`channels.zalo.accounts.${t}.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`Zalo account is disabled.`,apply:e=>{n.botToken=e}}),F(n,`webhookSecret`)){let i=F(n,`webhookUrl`)?B(n.webhookUrl):o;P({value:n.webhookSecret,path:`channels.zalo.accounts.${t}.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i.length>0,inactiveReason:`Zalo account is disabled or webhook mode is not active for this account.`,apply:e=>{n.webhookSecret=e}})}}}function Ie(e){let t=e.config.channels;if(!r(t))return;let n=t.feishu;if(!r(n))return;let i=R(n);H({channelKey:`feishu`,field:`appSecret`,channel:n,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Feishu appSecret.`,accountInactiveReason:`Feishu account is disabled.`});let a=B(n.connectionMode)===`webhook`?`webhook`:`websocket`,o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`verificationToken`)?!1:(F(e,`connectionMode`)?B(e.connectionMode):a)===`webhook`):a===`webhook`:!1;if(P({value:n.verificationToken,path:`channels.feishu.verificationToken`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Feishu webhook-mode surface inherits this top-level verificationToken.`,apply:e=>{n.verificationToken=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`verificationToken`))continue;let i=F(n,`connectionMode`)?B(n.connectionMode):a;P({value:n.verificationToken,path:`channels.feishu.accounts.${t}.verificationToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i===`webhook`,inactiveReason:`Feishu account is disabled or not running in webhook mode.`,apply:e=>{n.verificationToken=e}})}}function Le(e){let t=e.config.channels;if(!r(t))return;let n=t[`nextcloud-talk`];if(!r(n))return;let i=R(n),a=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`botSecret`)):!0:!1;P({value:n.botSecret,path:`channels.nextcloud-talk.botSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:a,inactiveReason:`no enabled Nextcloud Talk surface inherits this top-level botSecret.`,apply:e=>{n.botSecret=e}});let o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`apiPassword`)):!0:!1;if(P({value:n.apiPassword,path:`channels.nextcloud-talk.apiPassword`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Nextcloud Talk surface inherits this top-level apiPassword.`,apply:e=>{n.apiPassword=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts)F(n,`botSecret`)&&P({value:n.botSecret,path:`channels.nextcloud-talk.accounts.${t}.botSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`Nextcloud Talk account is disabled.`,apply:e=>{n.botSecret=e}}),F(n,`apiPassword`)&&P({value:n.apiPassword,path:`channels.nextcloud-talk.accounts.${t}.apiPassword`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`Nextcloud Talk account is disabled.`,apply:e=>{n.apiPassword=e}})}function U(e){let{explicitRef:t,ref:n}=o({value:e.target.serviceAccount,refValue:e.target.serviceAccountRef,defaults:e.defaults});if(n){if(e.active===!1){N({context:e.context,path:`${e.path}.serviceAccount`,details:e.inactiveReason});return}t&&e.target.serviceAccount!==void 0&&!s(e.target.serviceAccount,e.defaults)&&M(e.context,{code:`SECRETS_REF_OVERRIDES_PLAINTEXT`,path:e.path,message:`${e.path}: serviceAccountRef is set; runtime will ignore plaintext serviceAccount.`}),j(e.context,{ref:n,path:`${e.path}.serviceAccount`,expected:`string-or-object`,apply:t=>{e.target.serviceAccount=t}})}}function Re(e){let t=e.googleChat,n=R(t),r=n.channelEnabled?n.hasExplicitAccounts?n.accounts.some(({account:e,enabled:t})=>t&&!F(e,`serviceAccount`)&&!F(e,`serviceAccountRef`)):!0:!1;if(U({target:e.googleChat,path:`channels.googlechat`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`no enabled account inherits this top-level Google Chat serviceAccount.`}),n.hasExplicitAccounts)for(let{accountId:t,account:r,enabled:i}of n.accounts)!F(r,`serviceAccount`)&&!F(r,`serviceAccountRef`)||U({target:r,path:`channels.googlechat.accounts.${t}`,defaults:e.defaults,context:e.context,active:i,inactiveReason:`Google Chat account is disabled.`})}function ze(e){let t=e.config.channels?.googlechat;t&&Re({googleChat:t,defaults:e.defaults,context:e.context}),De(e),Oe(e),ke(e),Ae(e),je(e),Ne(e),Pe(e),Me(e),Le(e),Ie(e),Fe(e)}const Be=[`gateway.auth.token`,`gateway.auth.password`,`gateway.remote.token`,`gateway.remote.password`];function Ve(e){return e??`unset`}function He(e){let t=[];return e.remoteMode&&t.push(`gateway.mode is "remote"`),e.remoteUrlConfigured&&t.push(`gateway.remote.url is configured`),e.tailscaleRemoteExposure&&t.push(`gateway.tailscale.mode is "serve" or "funnel"`),t.join(`; `)}function W(e){return{path:e.path,active:e.active,reason:e.reason,hasSecretRef:e.hasSecretRef}}function Ue(t){let n=t.config.gateway;if(!r(n))return{"gateway.auth.token":W({path:`gateway.auth.token`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1}),"gateway.auth.password":W({path:`gateway.auth.password`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1}),"gateway.remote.token":W({path:`gateway.remote.token`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1}),"gateway.remote.password":W({path:`gateway.remote.password`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1})};let i=r(n?.auth)?n.auth:void 0,a=r(n?.remote)?n.remote:void 0,o=e({config:t.config,env:t.env,includeLegacyEnv:!0,defaults:t.defaults}),s=i?o.passwordCanWin?o.authMode===`password`?`gateway.auth.mode is "password".`:`no token source can win, so password auth can win.`:o.authMode===`token`||o.authMode===`none`||o.authMode===`trusted-proxy`?`gateway.auth.mode is "${o.authMode}".`:o.envToken?`gateway token env var is configured.`:o.localToken.configured?`gateway.auth.token is configured.`:o.remoteToken.configured?`gateway.remote.token is configured.`:`token auth can win.`:`gateway.auth is not configured.`,c=i?o.authMode===`token`?o.envToken?`gateway token env var is configured.`:`gateway.auth.mode is "token".`:o.authMode===`password`||o.authMode===`none`||o.authMode===`trusted-proxy`?`gateway.auth.mode is "${o.authMode}".`:o.envToken?`gateway token env var is configured.`:o.envPassword?`gateway password env var is configured.`:o.localPassword.configured?`gateway.auth.password is configured.`:`token auth can win (mode is unset and no password source is configured).`:`gateway.auth is not configured.`,l=He({remoteMode:o.remoteMode,remoteUrlConfigured:o.remoteUrlConfigured,tailscaleRemoteExposure:o.tailscaleRemoteExposure}),u=a?o.remoteConfiguredSurface?`remote surface is active: ${l}.`:o.remoteTokenFallbackActive?`local token auth can win and no env/auth token is configured.`:o.localTokenCanWin?o.envToken?`gateway token env var is configured.`:o.localToken.configured?`gateway.auth.token is configured.`:`remote token fallback is not active.`:`token auth cannot win with gateway.auth.mode="${Ve(o.authMode)}".`:`gateway.remote is not configured.`,d=a?o.remoteConfiguredSurface?`remote surface is active: ${l}.`:o.remotePasswordFallbackActive?`password auth can win and no env/auth password is configured.`:o.passwordCanWin?o.envPassword?`gateway password env var is configured.`:o.localPassword.configured?`gateway.auth.password is configured.`:`remote password fallback is not active.`:o.authMode===`token`||o.authMode===`none`||o.authMode===`trusted-proxy`?`password auth cannot win with gateway.auth.mode="${o.authMode}".`:`a token source can win, so password auth cannot win.`:`gateway.remote is not configured.`;return{"gateway.auth.token":W({path:`gateway.auth.token`,active:o.localTokenSurfaceActive,reason:c,hasSecretRef:o.localToken.hasSecretRef}),"gateway.auth.password":W({path:`gateway.auth.password`,active:o.passwordCanWin,reason:s,hasSecretRef:o.localPassword.hasSecretRef}),"gateway.remote.token":W({path:`gateway.remote.token`,active:o.remoteTokenActive,reason:u,hasSecretRef:o.remoteToken.hasSecretRef}),"gateway.remote.password":W({path:`gateway.remote.password`,active:o.remotePasswordActive,reason:d,hasSecretRef:o.remotePassword.hasSecretRef})}}function We(e){for(let[t,n]of Object.entries(e.providers)){let i=n.enabled!==!1;P({value:n.apiKey,path:`models.providers.${t}.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:i,inactiveReason:`provider is disabled.`,apply:e=>{n.apiKey=e}});let a=r(n.headers)?n.headers:void 0;if(a)for(let[n,r]of Object.entries(a))P({value:r,path:`models.providers.${t}.headers.${n}`,expected:`string`,defaults:e.defaults,context:e.context,active:i,inactiveReason:`provider is disabled.`,apply:e=>{a[n]=e}})}}function Ge(e){for(let[t,n]of Object.entries(e.entries))P({value:n.apiKey,path:`skills.entries.${t}.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:n.enabled!==!1,inactiveReason:`skill entry is disabled.`,apply:e=>{n.apiKey=e}})}function Ke(e){let t=e.config.agents;if(!r(t))return;let n=r(t.defaults)?t.defaults:void 0,i=r(n?.memorySearch)?n.memorySearch:void 0,a=i?.enabled!==!1,o=Array.isArray(t.list)?t.list:[],s=!1;for(let e of o){if(!r(e)||e.enabled===!1)continue;let t=r(e.memorySearch)?e.memorySearch:void 0;if(t?.enabled===!1)continue;if(!t||!Object.prototype.hasOwnProperty.call(t,`remote`)){s=!0;continue}let n=r(t.remote)?t.remote:void 0;if(!n||!Object.prototype.hasOwnProperty.call(n,`apiKey`)){s=!0;continue}}if(i&&r(i.remote)){let t=i.remote;P({value:t.apiKey,path:`agents.defaults.memorySearch.remote.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:a&&(s||o.length===0),inactiveReason:s?void 0:`all enabled agents override memorySearch.remote.apiKey.`,apply:e=>{t.apiKey=e}})}o.forEach((t,n)=>{if(!r(t))return;let i=r(t.memorySearch)?t.memorySearch:void 0;if(!i)return;let a=r(i.remote)?i.remote:void 0;if(!a||!Object.prototype.hasOwnProperty.call(a,`apiKey`))return;let o=t.enabled!==!1&&i.enabled!==!1;P({value:a.apiKey,path:`agents.list.${n}.memorySearch.remote.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`agent or memorySearch override is disabled.`,apply:e=>{a.apiKey=e}})})}function qe(e){let t=e.config.talk;if(!r(t))return;P({value:t.apiKey,path:`talk.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,apply:e=>{t.apiKey=e}});let n=t.providers;if(r(n))for(let[t,i]of Object.entries(n))r(i)&&P({value:i.apiKey,path:`talk.providers.${t}.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,apply:e=>{i.apiKey=e}})}function Je(e){let t=e.config.gateway;if(!r(t))return;let n=r(t.auth)?t.auth:void 0,i=r(t.remote)?t.remote:void 0,a=Ue({config:e.config,env:e.context.env,defaults:e.defaults});n&&(P({value:n.token,path:`gateway.auth.token`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.auth.token`].active,inactiveReason:a[`gateway.auth.token`].reason,apply:e=>{n.token=e}}),P({value:n.password,path:`gateway.auth.password`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.auth.password`].active,inactiveReason:a[`gateway.auth.password`].reason,apply:e=>{n.password=e}})),i&&(P({value:i.token,path:`gateway.remote.token`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.remote.token`].active,inactiveReason:a[`gateway.remote.token`].reason,apply:e=>{i.token=e}}),P({value:i.password,path:`gateway.remote.password`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.remote.password`].active,inactiveReason:a[`gateway.remote.password`].reason,apply:e=>{i.password=e}}))}function Ye(e){let t=e.config.messages;!r(t)||!r(t.tts)||L({tts:t.tts,pathPrefix:`messages.tts`,defaults:e.defaults,context:e.context})}function Xe(e){let t=e.config.cron;r(t)&&P({value:t.webhookToken,path:`cron.webhookToken`,expected:`string`,defaults:e.defaults,context:e.context,apply:e=>{t.webhookToken=e}})}function Ze(e){let t=e.config.models?.providers;t&&We({providers:t,defaults:e.defaults,context:e.context});let n=e.config.skills?.entries;n&&Ge({entries:n,defaults:e.defaults,context:e.context}),Ke(e),qe(e),Je(e),Ye(e),Xe(e)}function Qe(e){let t=e.context.sourceConfig.secrets?.defaults;Ze({config:e.config,defaults:t,context:e.context}),ze({config:e.config,defaults:t,context:e.context})}const G=[`brave`,`gemini`,`grok`,`kimi`,`perplexity`],$e=`https://api.perplexity.ai`,K=`https://openrouter.ai/api/v1`,et=[`pplx-`],tt=[`sk-or-`];function q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function nt(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`brave`||t===`gemini`||t===`grok`||t===`kimi`||t===`perplexity`)return t}function J(e,n){for(let r of n){let n=t(e[r]);if(n)return{value:n,envVar:r}}return{}}function Y(e){return e.kind===`non-string`?`${e.path} SecretRef resolved to a non-string value.`:e.kind===`empty`?`${e.path} SecretRef resolved to an empty value.`:`${e.path} SecretRef is unresolved (${e.refLabel}).`}async function rt(e){let{ref:n}=o({value:e.value,defaults:e.defaults});if(!n){let n=t(e.value);if(n)return{value:n,source:`config`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1};let r=J(e.context.env,e.envVars);return r.value?{value:r.value,source:`env`,fallbackEnvVar:r.envVar,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1}:{source:`missing`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1}}let r=`${n.source}:${n.provider}:${n.id}`,a,s;try{let o=(await i([n],{config:e.sourceConfig,env:e.context.env,cache:e.context.cache})).get(c(n));typeof o==`string`?(a=t(o),a||(s=Y({path:e.path,kind:`empty`,refLabel:r}))):s=Y({path:e.path,kind:`non-string`,refLabel:r})}catch{s=Y({path:e.path,kind:`unresolved`,refLabel:r})}if(a)return{value:a,source:`secretRef`,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!1};let l=J(e.context.env,e.envVars);return l.value?{value:l.value,source:`env`,fallbackEnvVar:l.envVar,unresolvedRefReason:s,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!0}:{source:`missing`,unresolvedRefReason:s,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!1}}function it(e){if(!e)return;let t=e.toLowerCase();if(et.some(e=>t.startsWith(e)))return`direct`;if(tt.some(e=>t.startsWith(e)))return`openrouter`}function at(e){let t=q(e.configValue)?e.configValue:void 0,n=typeof t?.baseUrl==`string`?t.baseUrl.trim():``,r=typeof t?.model==`string`?t.model.trim():``,i=(()=>{if(n)return n;if(e.keySource===`env`){if(e.fallbackEnvVar===`PERPLEXITY_API_KEY`)return $e;if(e.fallbackEnvVar===`OPENROUTER_API_KEY`)return K}return(e.keySource===`config`||e.keySource===`secretRef`)&&e.keyValue?it(e.keyValue)===`openrouter`?K:$e:K})(),a=!!(n||r),o=(()=>{try{return new URL(i).hostname.toLowerCase()===`api.perplexity.ai`}catch{return!1}})();return a||!o?`chat_completions`:`search_api`}function X(e,t){let n=e[t];if(q(n))return n;let r={};return e[t]=r,r}function Z(e){let t=X(X(X(e.resolvedConfig,`tools`),`web`),`search`);if(e.provider===`brave`){t.apiKey=e.value;return}let n=X(t,e.provider);n.apiKey=e.value}function ot(e){let t=X(X(X(X(e.resolvedConfig,`tools`),`web`),`fetch`),`firecrawl`);t.apiKey=e.value}function st(e){return e===`brave`?[`BRAVE_API_KEY`]:e===`gemini`?[`GEMINI_API_KEY`]:e===`grok`?[`XAI_API_KEY`]:e===`kimi`?[`KIMI_API_KEY`,`MOONSHOT_API_KEY`]:[`PERPLEXITY_API_KEY`,`OPENROUTER_API_KEY`]}function Q(e,t){if(t===`brave`)return e.apiKey;let n=e[t];if(q(n))return n.apiKey}function $(e,t){return!!o({value:e,defaults:t}).ref}async function ct(e){let n=e.sourceConfig.secrets?.defaults,r=[],i=q(e.sourceConfig.tools)?e.sourceConfig.tools:void 0,a=q(i?.web)?i.web:void 0,o=q(a?.search)?a.search:void 0,s={providerSource:`none`,diagnostics:[]},c=o?.enabled!==!1,l=typeof o?.provider==`string`?o.provider.trim().toLowerCase():``,u=nt(l);if(l&&!u){let t={code:`WEB_SEARCH_PROVIDER_INVALID_AUTODETECT`,message:`tools.web.search.provider is "${l}". Falling back to auto-detect precedence.`,path:`tools.web.search.provider`};r.push(t),s.diagnostics.push(t),M(e.context,{code:`WEB_SEARCH_PROVIDER_INVALID_AUTODETECT`,path:`tools.web.search.provider`,message:t.message})}if(u&&(s.providerConfigured=u,s.providerSource=`configured`),c&&o){let t=u?[u]:[...G],i=[],a,c;for(let l of t){let t=l===`brave`?`tools.web.search.apiKey`:`tools.web.search.${l}.apiKey`,d=Q(o,l),f=await rt({sourceConfig:e.sourceConfig,context:e.context,defaults:n,value:d,path:t,envVars:st(l)});if(f.secretRefConfigured&&f.fallbackUsedAfterRefFailure){let n={code:`WEB_SEARCH_KEY_UNRESOLVED_FALLBACK_USED`,message:`${t} SecretRef could not be resolved; using ${f.fallbackEnvVar??`env fallback`}. `+(f.unresolvedRefReason??``).trim(),path:t};r.push(n),s.diagnostics.push(n),M(e.context,{code:`WEB_SEARCH_KEY_UNRESOLVED_FALLBACK_USED`,path:t,message:n.message})}if(f.secretRefConfigured&&!f.value&&f.unresolvedRefReason&&i.push({provider:l,path:t,reason:f.unresolvedRefReason}),u){a=l,c=f,f.value&&Z({resolvedConfig:e.resolvedConfig,provider:l,value:f.value});break}if(f.value){a=l,c=f,Z({resolvedConfig:e.resolvedConfig,provider:l,value:f.value});break}}if(u){let t=i[0];if(t){let n={code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,message:t.reason,path:t.path};throw r.push(n),s.diagnostics.push(n),M(e.context,{code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,path:t.path,message:t.reason}),Error(`[WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK] ${t.reason}`)}}else{if(!a&&i.length>0){let t=i[0],n={code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,message:t.reason,path:t.path};throw r.push(n),s.diagnostics.push(n),M(e.context,{code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,path:t.path,message:t.reason}),Error(`[WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK] ${t.reason}`)}if(a){let e={code:`WEB_SEARCH_AUTODETECT_SELECTED`,message:`tools.web.search auto-detected provider "${a}" from available credentials.`,path:`tools.web.search.provider`};r.push(e),s.diagnostics.push(e)}}a&&(s.selectedProvider=a,s.selectedProviderKeySource=c?.source,u||(s.providerSource=`auto-detect`),a===`perplexity`&&(s.perplexityTransport=at({keyValue:c?.value,keySource:c?.source??`missing`,fallbackEnvVar:c?.fallbackEnvVar,configValue:o.perplexity})))}if(c&&o&&!u&&s.selectedProvider)for(let t of G){if(t===s.selectedProvider)continue;let r=t===`brave`?`tools.web.search.apiKey`:`tools.web.search.${t}.apiKey`;$(Q(o,t),n)&&N({context:e.context,path:r,details:`tools.web.search auto-detected provider is "${s.selectedProvider}".`})}else if(o&&!c)for(let t of G){let r=t===`brave`?`tools.web.search.apiKey`:`tools.web.search.${t}.apiKey`;$(Q(o,t),n)&&N({context:e.context,path:r,details:`tools.web.search is disabled.`})}if(c&&o&&u)for(let t of G){if(t===u)continue;let r=t===`brave`?`tools.web.search.apiKey`:`tools.web.search.${t}.apiKey`;$(Q(o,t),n)&&N({context:e.context,path:r,details:`tools.web.search.provider is "${u}".`})}let d=q(a?.fetch)?a.fetch:void 0,f=q(d?.firecrawl)?d.firecrawl:void 0,p=d?.enabled!==!1,m=f?.enabled!==!1,h=!!(p&&m),g=`tools.web.fetch.firecrawl.apiKey`,_={source:`missing`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1},v=[];if(h){if(_=await rt({sourceConfig:e.sourceConfig,context:e.context,defaults:n,value:f?.apiKey,path:g,envVars:[`FIRECRAWL_API_KEY`]}),_.value&&ot({resolvedConfig:e.resolvedConfig,value:_.value}),_.secretRefConfigured){if(_.fallbackUsedAfterRefFailure){let t={code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_FALLBACK_USED`,message:`${g} SecretRef could not be resolved; using ${_.fallbackEnvVar??`env fallback`}. `+(_.unresolvedRefReason??``).trim(),path:g};r.push(t),v.push(t),M(e.context,{code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_FALLBACK_USED`,path:g,message:t.message})}if(!_.value&&_.unresolvedRefReason){let t={code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_NO_FALLBACK`,message:_.unresolvedRefReason,path:g};throw r.push(t),v.push(t),M(e.context,{code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_NO_FALLBACK`,path:g,message:_.unresolvedRefReason}),Error(`[WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_NO_FALLBACK] ${_.unresolvedRefReason}`)}}}else if($(f?.apiKey,n))N({context:e.context,path:g,details:p?`tools.web.fetch.firecrawl.enabled is false.`:`tools.web.fetch is disabled.`}),_={source:`secretRef`,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!1};else{let n=t(f?.apiKey);if(n)_={value:n,source:`config`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1};else{let t=J(e.context.env,[`FIRECRAWL_API_KEY`]);t.value&&(_={value:t.value,source:`env`,fallbackEnvVar:t.envVar,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1})}}return{search:s,fetch:{firecrawl:{active:h,apiKeySource:_.source,diagnostics:v}},diagnostics:r}}export{m as C,_ as S,g as T,he as _,Te as a,ee as b,M as c,be as d,ye as f,Se as g,ge as h,Ue as i,A as l,_e as m,Qe as n,we as o,k as p,Be as r,j as s,ct as t,Ce as u,ve as v,h as w,v as x,y};
2
- //# sourceMappingURL=runtime-web-tools-BYhCkBV8.js.map
@@ -1,2 +1 @@
1
1
  import{Ds as e,Os as t,Ts as n,ao as r,ks as i,lu as a}from"./model-selection-BLbnMb5E.js";import{d as o,i as s}from"./types.secrets-C-5U96pc.js";import{jt as c}from"./plugins-CYLrFT4h.js";import{isDeepStrictEqual as l}from"node:util";function u(e){return/^\d+$/.test(e)}function d(e){return u(e)?`array`:`object`}function f(e,t,n){if(!Array.isArray(e))return null;if(!u(t))throw Error(`Invalid array index segment "${t}" at ${n.join(`.`)}.`);return{array:e,index:Number.parseInt(t,10)}}function p(e){if(e.segments.length===0)throw Error(`Target path is empty.`);let n=e.root;for(let r=0;r<e.segments.length-1;r+=1){let i=e.segments[r]??``;if(Array.isArray(n)){if(!u(i))throw Error(`Invalid array index segment "${i}" at ${e.segments.join(`.`)}.`);let t=Number.parseInt(i,10);if(e.requireExistingSegment&&(t<0||t>=n.length))throw Error(`Path segment does not exist at ${e.segments.slice(0,r+1).join(`.`)}.`);n=n[t];continue}if(!t(n))throw Error(`Invalid path shape at ${e.segments.slice(0,r).join(`.`)||`<root>`}.`);if(e.requireExistingSegment&&!Object.prototype.hasOwnProperty.call(n,i))throw Error(`Path segment does not exist at ${e.segments.slice(0,r+1).join(`.`)}.`);n=n[i]}return n}function m(e,n){if(n.length===0)return;let r=e;for(let e of n){if(Array.isArray(r)){if(!u(e))return;r=r[Number.parseInt(e,10)];continue}if(!t(r))return;r=r[e]}return r}function h(e,n,r){if(n.length===0)throw Error(`Target path is empty.`);let i=e,a=!1;for(let e=0;e<n.length-1;e+=1){let r=n[e]??``,o=d(n[e+1]??``);if(Array.isArray(i)){if(!u(r))throw Error(`Invalid array index segment "${r}" at ${n.join(`.`)}.`);let s=Number.parseInt(r,10),c=i[s];if(c==null)i[s]=o===`array`?[]:{},a=!0;else if(o===`array`?!Array.isArray(c):!t(c))throw Error(`Invalid path shape at ${n.slice(0,e+1).join(`.`)}.`);i=i[s];continue}if(!t(i))throw Error(`Invalid path shape at ${n.slice(0,e).join(`.`)||`<root>`}.`);let s=i[r];if(s==null)i[r]=o===`array`?[]:{},a=!0;else if(o===`array`?!Array.isArray(s):!t(s))throw Error(`Invalid path shape at ${n.slice(0,e+1).join(`.`)}.`);i=i[r]}let o=n[n.length-1]??``,s=f(i,o,n);if(s)return l(s.array[s.index],r)||(s.array[s.index]=r,a=!0),a;if(!t(i))throw Error(`Invalid path shape at ${n.slice(0,-1).join(`.`)||`<root>`}.`);return l(i[o],r)||(i[o]=r,a=!0),a}function g(e,n,r){let i=p({root:e,segments:n,requireExistingSegment:!0}),a=n[n.length-1]??``,o=f(i,a,n);if(o){if(o.index<0||o.index>=o.array.length)throw Error(`Path segment does not exist at ${n.join(`.`)}.`);return l(o.array[o.index],r)?!1:(o.array[o.index]=r,!0)}if(!t(i))throw Error(`Invalid path shape at ${n.slice(0,-1).join(`.`)||`<root>`}.`);if(!Object.prototype.hasOwnProperty.call(i,a))throw Error(`Path segment does not exist at ${n.join(`.`)}.`);return l(i[a],r)?!1:(i[a]=r,!0)}function _(e,n){let r=p({root:e,segments:n,requireExistingSegment:!1}),i=n[n.length-1]??``,a=f(r,i,n);if(a)return a.index<0||a.index>=a.array.length?!1:(a.array.splice(a.index,1),!0);if(!t(r))throw Error(`Invalid path shape at ${n.slice(0,-1).join(`.`)||`<root>`}.`);return Object.prototype.hasOwnProperty.call(r,i)?(delete r[i],!0):!1}function v(n,r){return r===`string`?e(n):e(n)||t(n)}function ee(n,r){return r===`string`?e(n):e(n)||t(n)&&Object.keys(n).length>0}function y(e){if(!v(e.value,e.expected))throw Error(e.errorMessage)}const b=`secret_input`,x=`sibling_ref`,te=[{id:`auth-profiles.api_key.key`,targetType:`auth-profiles.api_key.key`,configFile:`auth-profiles.json`,pathPattern:`profiles.*.key`,refPathPattern:`profiles.*.keyRef`,secretShape:x,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,authProfileType:`api_key`},{id:`auth-profiles.token.token`,targetType:`auth-profiles.token.token`,configFile:`auth-profiles.json`,pathPattern:`profiles.*.token`,refPathPattern:`profiles.*.tokenRef`,secretShape:x,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,authProfileType:`token`},{id:`agents.defaults.memorySearch.remote.apiKey`,targetType:`agents.defaults.memorySearch.remote.apiKey`,configFile:`openclaw.json`,pathPattern:`agents.defaults.memorySearch.remote.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`agents.list[].memorySearch.remote.apiKey`,targetType:`agents.list[].memorySearch.remote.apiKey`,configFile:`openclaw.json`,pathPattern:`agents.list[].memorySearch.remote.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.bluebubbles.accounts.*.password`,targetType:`channels.bluebubbles.accounts.*.password`,configFile:`openclaw.json`,pathPattern:`channels.bluebubbles.accounts.*.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.bluebubbles.password`,targetType:`channels.bluebubbles.password`,configFile:`openclaw.json`,pathPattern:`channels.bluebubbles.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.pluralkit.token`,targetType:`channels.discord.accounts.*.pluralkit.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.pluralkit.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.token`,targetType:`channels.discord.accounts.*.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.voice.tts.elevenlabs.apiKey`,targetType:`channels.discord.accounts.*.voice.tts.elevenlabs.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.voice.tts.elevenlabs.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.accounts.*.voice.tts.openai.apiKey`,targetType:`channels.discord.accounts.*.voice.tts.openai.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.accounts.*.voice.tts.openai.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.pluralkit.token`,targetType:`channels.discord.pluralkit.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.pluralkit.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.token`,targetType:`channels.discord.token`,configFile:`openclaw.json`,pathPattern:`channels.discord.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.voice.tts.elevenlabs.apiKey`,targetType:`channels.discord.voice.tts.elevenlabs.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.voice.tts.elevenlabs.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.discord.voice.tts.openai.apiKey`,targetType:`channels.discord.voice.tts.openai.apiKey`,configFile:`openclaw.json`,pathPattern:`channels.discord.voice.tts.openai.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.accounts.*.appSecret`,targetType:`channels.feishu.accounts.*.appSecret`,configFile:`openclaw.json`,pathPattern:`channels.feishu.accounts.*.appSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.accounts.*.verificationToken`,targetType:`channels.feishu.accounts.*.verificationToken`,configFile:`openclaw.json`,pathPattern:`channels.feishu.accounts.*.verificationToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.appSecret`,targetType:`channels.feishu.appSecret`,configFile:`openclaw.json`,pathPattern:`channels.feishu.appSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.feishu.verificationToken`,targetType:`channels.feishu.verificationToken`,configFile:`openclaw.json`,pathPattern:`channels.feishu.verificationToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.googlechat.accounts.*.serviceAccount`,targetType:`channels.googlechat.serviceAccount`,targetTypeAliases:[`channels.googlechat.accounts.*.serviceAccount`],configFile:`openclaw.json`,pathPattern:`channels.googlechat.accounts.*.serviceAccount`,refPathPattern:`channels.googlechat.accounts.*.serviceAccountRef`,secretShape:x,expectedResolvedValue:`string-or-object`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,accountIdPathSegmentIndex:3},{id:`channels.googlechat.serviceAccount`,targetType:`channels.googlechat.serviceAccount`,configFile:`openclaw.json`,pathPattern:`channels.googlechat.serviceAccount`,refPathPattern:`channels.googlechat.serviceAccountRef`,secretShape:x,expectedResolvedValue:`string-or-object`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.accounts.*.nickserv.password`,targetType:`channels.irc.accounts.*.nickserv.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.accounts.*.nickserv.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.accounts.*.password`,targetType:`channels.irc.accounts.*.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.accounts.*.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.nickserv.password`,targetType:`channels.irc.nickserv.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.nickserv.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.irc.password`,targetType:`channels.irc.password`,configFile:`openclaw.json`,pathPattern:`channels.irc.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.mattermost.accounts.*.botToken`,targetType:`channels.mattermost.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.mattermost.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.mattermost.botToken`,targetType:`channels.mattermost.botToken`,configFile:`openclaw.json`,pathPattern:`channels.mattermost.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.matrix.accounts.*.password`,targetType:`channels.matrix.accounts.*.password`,configFile:`openclaw.json`,pathPattern:`channels.matrix.accounts.*.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.matrix.password`,targetType:`channels.matrix.password`,configFile:`openclaw.json`,pathPattern:`channels.matrix.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.msteams.appPassword`,targetType:`channels.msteams.appPassword`,configFile:`openclaw.json`,pathPattern:`channels.msteams.appPassword`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.accounts.*.apiPassword`,targetType:`channels.nextcloud-talk.accounts.*.apiPassword`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.accounts.*.apiPassword`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.accounts.*.botSecret`,targetType:`channels.nextcloud-talk.accounts.*.botSecret`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.accounts.*.botSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.apiPassword`,targetType:`channels.nextcloud-talk.apiPassword`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.apiPassword`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.nextcloud-talk.botSecret`,targetType:`channels.nextcloud-talk.botSecret`,configFile:`openclaw.json`,pathPattern:`channels.nextcloud-talk.botSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.appToken`,targetType:`channels.slack.accounts.*.appToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.appToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.botToken`,targetType:`channels.slack.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.signingSecret`,targetType:`channels.slack.accounts.*.signingSecret`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.signingSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.accounts.*.userToken`,targetType:`channels.slack.accounts.*.userToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.accounts.*.userToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.appToken`,targetType:`channels.slack.appToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.appToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.botToken`,targetType:`channels.slack.botToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.signingSecret`,targetType:`channels.slack.signingSecret`,configFile:`openclaw.json`,pathPattern:`channels.slack.signingSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.slack.userToken`,targetType:`channels.slack.userToken`,configFile:`openclaw.json`,pathPattern:`channels.slack.userToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.accounts.*.botToken`,targetType:`channels.telegram.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.telegram.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.accounts.*.webhookSecret`,targetType:`channels.telegram.accounts.*.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.telegram.accounts.*.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.botToken`,targetType:`channels.telegram.botToken`,configFile:`openclaw.json`,pathPattern:`channels.telegram.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.telegram.webhookSecret`,targetType:`channels.telegram.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.telegram.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.accounts.*.botToken`,targetType:`channels.zalo.accounts.*.botToken`,configFile:`openclaw.json`,pathPattern:`channels.zalo.accounts.*.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.accounts.*.webhookSecret`,targetType:`channels.zalo.accounts.*.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.zalo.accounts.*.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.botToken`,targetType:`channels.zalo.botToken`,configFile:`openclaw.json`,pathPattern:`channels.zalo.botToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`channels.zalo.webhookSecret`,targetType:`channels.zalo.webhookSecret`,configFile:`openclaw.json`,pathPattern:`channels.zalo.webhookSecret`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`cron.webhookToken`,targetType:`cron.webhookToken`,configFile:`openclaw.json`,pathPattern:`cron.webhookToken`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.auth.token`,targetType:`gateway.auth.token`,configFile:`openclaw.json`,pathPattern:`gateway.auth.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.auth.password`,targetType:`gateway.auth.password`,configFile:`openclaw.json`,pathPattern:`gateway.auth.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.remote.password`,targetType:`gateway.remote.password`,configFile:`openclaw.json`,pathPattern:`gateway.remote.password`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`gateway.remote.token`,targetType:`gateway.remote.token`,configFile:`openclaw.json`,pathPattern:`gateway.remote.token`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`messages.tts.elevenlabs.apiKey`,targetType:`messages.tts.elevenlabs.apiKey`,configFile:`openclaw.json`,pathPattern:`messages.tts.elevenlabs.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`messages.tts.openai.apiKey`,targetType:`messages.tts.openai.apiKey`,configFile:`openclaw.json`,pathPattern:`messages.tts.openai.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`models.providers.*.apiKey`,targetType:`models.providers.apiKey`,targetTypeAliases:[`models.providers.*.apiKey`],configFile:`openclaw.json`,pathPattern:`models.providers.*.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,providerIdPathSegmentIndex:2,trackProviderShadowing:!0},{id:`models.providers.*.headers.*`,targetType:`models.providers.headers`,targetTypeAliases:[`models.providers.*.headers.*`],configFile:`openclaw.json`,pathPattern:`models.providers.*.headers.*`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0,providerIdPathSegmentIndex:2},{id:`skills.entries.*.apiKey`,targetType:`skills.entries.apiKey`,targetTypeAliases:[`skills.entries.*.apiKey`],configFile:`openclaw.json`,pathPattern:`skills.entries.*.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`talk.apiKey`,targetType:`talk.apiKey`,configFile:`openclaw.json`,pathPattern:`talk.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`talk.providers.*.apiKey`,targetType:`talk.providers.*.apiKey`,configFile:`openclaw.json`,pathPattern:`talk.providers.*.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.fetch.firecrawl.apiKey`,targetType:`tools.web.fetch.firecrawl.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.fetch.firecrawl.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.apiKey`,targetType:`tools.web.search.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.gemini.apiKey`,targetType:`tools.web.search.gemini.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.gemini.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.grok.apiKey`,targetType:`tools.web.search.grok.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.grok.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.kimi.apiKey`,targetType:`tools.web.search.kimi.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.kimi.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0},{id:`tools.web.search.perplexity.apiKey`,targetType:`tools.web.search.perplexity.apiKey`,configFile:`openclaw.json`,pathPattern:`tools.web.search.perplexity.apiKey`,secretShape:b,expectedResolvedValue:`string`,includeInPlan:!0,includeInConfigure:!0,includeInAudit:!0}];function S(e){return e.filter(e=>e.kind===`wildcard`||e.kind===`array`).length}function C(e){return i(e).map(t=>{if(t===`*`)return{kind:`wildcard`};if(t.endsWith(`[]`)){let n=t.slice(0,-2).trim();if(!n)throw Error(`Invalid target path pattern: ${e}`);return{kind:`array`,field:n}}return{kind:`literal`,value:t}})}function ne(e){let t=C(e.pathPattern),n=S(t),r=e.refPathPattern?C(e.refPathPattern):void 0,i=r?S(r):0;if(e.secretShape===`sibling_ref`&&!r)throw Error(`Missing refPathPattern for sibling_ref target: ${e.id}`);if(r&&i!==n)throw Error(`Mismatched wildcard shape for target ref path: ${e.id}`);return{...e,pathTokens:t,pathDynamicTokenCount:n,refPathTokens:r,refPathDynamicTokenCount:i}}function re(e,t){let n=[],r=0;for(let i of t){if(i.kind===`literal`){if(e[r]!==i.value)return null;r+=1;continue}if(i.kind===`wildcard`){let t=e[r];if(!t)return null;n.push(t),r+=1;continue}if(e[r]!==i.field)return null;let t=e[r+1];if(!t||!/^\d+$/.test(t))return null;n.push(t),r+=2}return r===e.length?{captures:n}:null}function ie(e,t){let n=[],r=0;for(let i of e){if(i.kind===`literal`){n.push(i.value);continue}if(i.kind===`wildcard`){let e=t[r];if(!e)return null;n.push(e),r+=1;continue}let e=t[r];if(!e||!/^\d+$/.test(e))return null;n.push(i.field,e),r+=1}return r===t.length?n:null}function ae(e,n){let r=[],i=(e,a,o,s)=>{let c=n[a];if(!c){r.push({segments:o,captures:s,value:e});return}let l=a===n.length-1;if(c.kind===`literal`){if(!t(e))return;if(l){r.push({segments:[...o,c.value],captures:s,value:e[c.value]});return}if(!Object.prototype.hasOwnProperty.call(e,c.value))return;i(e[c.value],a+1,[...o,c.value],s);return}if(c.kind===`wildcard`){if(!t(e))return;for(let[t,n]of Object.entries(e)){if(l){r.push({segments:[...o,t],captures:[...s,t],value:n});continue}i(n,a+1,[...o,t],[...s,t])}return}if(!t(e))return;let u=e[c.field];if(Array.isArray(u))for(let e=0;e<u.length;e+=1){let t=u[e],n=String(e);if(l){r.push({segments:[...o,c.field,n],captures:[...s,n],value:t});continue}i(t,a+1,[...o,c.field,n],[...s,n])}};return i(e,0,[],[]),r}const w=te.map(ne),oe=w.filter(e=>e.configFile===`openclaw.json`),se=w.filter(e=>e.configFile===`auth-profiles.json`);function ce(){let e=new Map,t=(t,n)=>{let r=e.get(t);if(r){r.push(n);return}e.set(t,[n])};for(let e of w){t(e.targetType,e);for(let n of e.targetTypeAliases??[])t(n,e)}return e}const le=ce(),ue=new Set(w.map(e=>e.id));function de(){let e=new Map;for(let t of oe){let n=e.get(t.id);if(n){n.push(t);continue}e.set(t.id,[t])}return e}const fe=de();function pe(){let e=new Map;for(let t of se){let n=e.get(t.id);if(n){n.push(t);continue}e.set(t.id,[t])}return e}const me=pe();function T(e){return e===void 0?null:new Set(Array.from(e).map(e=>e.trim()).filter(e=>e.length>0))}function E(e){return e.allowedTargetIds===null?e.defaultEntries:Array.from(e.allowedTargetIds).flatMap(t=>e.entriesById.get(t)??[])}function D(e,t){let n=[],r=new Set;for(let i of t){let t=ae(e,i.pathTokens);for(let a of t){let t=O(i,a.segments,a.captures);if(!t)continue;let o=`${i.id}:${t.pathSegments.join(`.`)}`;if(r.has(o))continue;r.add(o);let s=t.refPathSegments?m(e,t.refPathSegments):void 0;n.push({entry:i,path:t.pathSegments.join(`.`),pathSegments:t.pathSegments,...t.refPathSegments?{refPathSegments:t.refPathSegments,refPath:t.refPathSegments.join(`.`)}:{},value:a.value,...t.providerId?{providerId:t.providerId}:{},...t.accountId?{accountId:t.accountId}:{},...t.refPathSegments?{refValue:s}:{}})}}return n}function O(e,t,n){let r=e.providerIdPathSegmentIndex===void 0?void 0:t[e.providerIdPathSegmentIndex],i=e.accountIdPathSegmentIndex===void 0?void 0:t[e.accountIdPathSegmentIndex],a=e.refPathTokens?ie(e.refPathTokens,n):void 0;return e.refPathTokens&&!a?null:{entry:e,pathSegments:t,...a?{refPathSegments:a}:{},...r?{providerId:r}:{},...i?{accountId:i}:{}}}function he(){return w.map(e=>({id:e.id,targetType:e.targetType,...e.targetTypeAliases?{targetTypeAliases:[...e.targetTypeAliases]}:{},configFile:e.configFile,pathPattern:e.pathPattern,...e.refPathPattern?{refPathPattern:e.refPathPattern}:{},secretShape:e.secretShape,expectedResolvedValue:e.expectedResolvedValue,includeInPlan:e.includeInPlan,includeInConfigure:e.includeInConfigure,includeInAudit:e.includeInAudit,...e.providerIdPathSegmentIndex===void 0?{}:{providerIdPathSegmentIndex:e.providerIdPathSegmentIndex},...e.accountIdPathSegmentIndex===void 0?{}:{accountIdPathSegmentIndex:e.accountIdPathSegmentIndex},...e.authProfileType?{authProfileType:e.authProfileType}:{},...e.trackProviderShadowing?{trackProviderShadowing:!0}:{}}))}function ge(e){return typeof e==`string`&&le.has(e)}function _e(e){return typeof e==`string`&&ue.has(e)}function ve(e){let t=le.get(e.type);if(!t||t.length===0)return null;for(let n of t){if(!n.includeInPlan)continue;let t=re(e.pathSegments,n.pathTokens);if(!t)continue;let r=O(n,e.pathSegments,t.captures);if(r&&!(e.providerId&&e.providerId.trim().length>0&&(!r.providerId||r.providerId!==e.providerId))&&!(e.accountId&&e.accountId.trim().length>0&&(!r.accountId||r.accountId!==e.accountId)))return r}return null}function ye(e){return k(e)}function k(e,t){return D(e,E({allowedTargetIds:T(t),defaultEntries:oe,entriesById:fe}))}function be(e){return xe(e)}function xe(e,t){return D(e,E({allowedTargetIds:T(t),defaultEntries:se,entriesById:me}))}function Se(){return w.filter(e=>e.configFile===`auth-profiles.json`&&e.includeInAudit)}function A(e){let t=e.sourceConfig.secrets?.defaults,n=[],r=[],i=[],a=[];for(let c of k(e.sourceConfig,e.targetIds)){if(e.allowedPaths&&!e.allowedPaths.has(c.path))continue;let{explicitRef:l,ref:u}=o({value:c.value,refValue:c.refValue,defaults:t}),d=l?s(c.value,t):null;if(!u)continue;let f=m(e.resolvedConfig,c.pathSegments);if(!v(f,c.entry.expectedResolvedValue)){if(e.inactiveRefPaths?.has(c.path)){r.push(`${c.path}: secret ref is configured on an inactive surface; skipping command-time assignment.`),a.push({path:c.path,pathSegments:[...c.pathSegments]});continue}i.push({path:c.path,pathSegments:[...c.pathSegments]});continue}n.push({path:c.path,pathSegments:[...c.pathSegments],value:f}),c.entry.secretShape===`sibling_ref`&&l&&d&&r.push(`${c.path}: both inline and sibling ref were present; sibling ref took precedence.`)}return{assignments:n,diagnostics:r,unresolved:i,inactive:a}}function Ce(e){let t=A({sourceConfig:e.sourceConfig,resolvedConfig:e.resolvedConfig,targetIds:e.targetIds,inactiveRefPaths:e.inactiveRefPaths,allowedPaths:e.allowedPaths});if(t.unresolved.length>0)throw Error(`${e.commandName}: ${t.unresolved[0]?.path??`target`} is unresolved in the active runtime snapshot.`);return{assignments:t.assignments,diagnostics:t.diagnostics}}function we(e){return{sourceConfig:e.sourceConfig,env:e.env,cache:{},warnings:[],warningKeys:new Set,assignments:[]}}function j(e,t){e.assignments.push(t)}function M(e,t){let n=`${t.code}:${t.path}:${t.message}`;e.warningKeys.has(n)||(e.warningKeys.add(n),e.warnings.push(t))}function N(e){M(e.context,{code:`SECRETS_REF_IGNORED_INACTIVE_SURFACE`,path:e.path,message:e.details&&e.details.trim().length>0?`${e.path}: ${e.details}`:`${e.path}: secret ref is configured on an inactive surface; skipping resolution until it becomes active.`})}function P(e){let t=s(e.value,e.defaults);if(t){if(e.active===!1){N({context:e.context,path:e.path,details:e.inactiveReason});return}j(e.context,{ref:t,path:e.path,expected:e.expected,apply:e.apply})}}function Te(e){for(let t of e.assignments){let n=c(t.ref);if(!e.resolved.has(n))throw Error(`Secret reference "${n}" resolved to no value.`);let r=e.resolved.get(n);y({value:r,expected:t.expected,errorMessage:t.expected===`string`?`${t.path} resolved to a non-string or empty value.`:`${t.path} resolved to an unsupported value type.`}),t.apply(r)}}function F(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function I(e){return t(e)?e.enabled!==!1:!0}function Ee(e,t){return I(e)&&I(t)}function L(e){let n=e.tts.elevenlabs;t(n)&&P({value:n.apiKey,path:`${e.pathPrefix}.elevenlabs.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:e.active,inactiveReason:e.inactiveReason,apply:e=>{n.apiKey=e}});let r=e.tts.openai;t(r)&&P({value:r.apiKey,path:`${e.pathPrefix}.openai.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:e.active,inactiveReason:e.inactiveReason,apply:e=>{r.apiKey=e}})}function R(e){let n=I(e),r=e.accounts;if(!t(r)||Object.keys(r).length===0)return{hasExplicitAccounts:!1,channelEnabled:n,accounts:[{accountId:`default`,account:e,enabled:n}]};let i=[];for(let[n,a]of Object.entries(r))t(a)&&i.push({accountId:n,account:a,enabled:Ee(e,a)});return{hasExplicitAccounts:!0,channelEnabled:n,accounts:i}}function z(e,t){return e.channelEnabled?e.hasExplicitAccounts?e.accounts.some(({account:e,enabled:n})=>n&&!F(e,t)):!0:!1}function B(e){return typeof e==`string`?e.trim():``}function V(e,t){return B(e).length>0||s(e,t)!==null}function H(e){if(P({value:e.channel[e.field],path:`channels.${e.channelKey}.${e.field}`,expected:`string`,defaults:e.defaults,context:e.context,active:z(e.surface,e.field),inactiveReason:e.topInactiveReason,apply:t=>{e.channel[e.field]=t}}),e.surface.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of e.surface.accounts)F(n,e.field)&&P({value:n[e.field],path:`channels.${e.channelKey}.accounts.${t}.${e.field}`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:e.accountInactiveReason,apply:t=>{n[e.field]=t}})}function De(e){let n=e.config.channels;if(!t(n))return;let r=n.telegram;if(!t(r))return;let i=R(r),a=typeof r.tokenFile==`string`?r.tokenFile.trim():``,o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:t,enabled:n})=>{if(!n||a.length>0)return!1;let r=V(t.botToken,e.defaults),i=typeof t.tokenFile==`string`&&t.tokenFile.trim().length>0;return!r&&!i}):a.length===0:!1;if(P({value:r.botToken,path:`channels.telegram.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Telegram surface inherits this top-level botToken (tokenFile is configured).`,apply:e=>{r.botToken=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`botToken`))continue;let i=typeof n.tokenFile==`string`?n.tokenFile.trim():``;P({value:n.botToken,path:`channels.telegram.accounts.${t}.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i.length===0,inactiveReason:`Telegram account is disabled or tokenFile is configured.`,apply:e=>{n.botToken=e}})}let s=typeof r.webhookUrl==`string`?r.webhookUrl.trim():``,c=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`webhookSecret`)&&(F(e,`webhookUrl`)?typeof e.webhookUrl==`string`&&e.webhookUrl.trim().length>0:s.length>0)):s.length>0:!1;if(P({value:r.webhookSecret,path:`channels.telegram.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:c,inactiveReason:`no enabled Telegram webhook surface inherits this top-level webhookSecret (webhook mode is not active).`,apply:e=>{r.webhookSecret=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`webhookSecret`))continue;let i=F(n,`webhookUrl`)?typeof n.webhookUrl==`string`?n.webhookUrl.trim():``:s;P({value:n.webhookSecret,path:`channels.telegram.accounts.${t}.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i.length>0,inactiveReason:`Telegram account is disabled or webhook mode is not active for this account.`,apply:e=>{n.webhookSecret=e}})}}function Oe(e){let n=e.config.channels;if(!t(n))return;let r=n.slack;if(!t(r))return;let i=R(r),a=r.mode===`http`||r.mode===`socket`?r.mode:`socket`;for(let t of[`botToken`,`userToken`])H({channelKey:`slack`,field:t,channel:r,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Slack ${t}.`,accountInactiveReason:`Slack account is disabled.`});let o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`appToken`)?!1:(e.mode===`http`||e.mode===`socket`?e.mode:a)!==`http`):a!==`http`:!1;P({value:r.appToken,path:`channels.slack.appToken`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Slack socket-mode surface inherits this top-level appToken.`,apply:e=>{r.appToken=e}});let s=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`signingSecret`)?!1:(e.mode===`http`||e.mode===`socket`?e.mode:a)===`http`):a===`http`:!1;if(P({value:r.signingSecret,path:`channels.slack.signingSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:s,inactiveReason:`no enabled Slack HTTP-mode surface inherits this top-level signingSecret.`,apply:e=>{r.signingSecret=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){let i=n.mode===`http`||n.mode===`socket`?n.mode:a;F(n,`appToken`)&&P({value:n.appToken,path:`channels.slack.accounts.${t}.appToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i!==`http`,inactiveReason:`Slack account is disabled or not running in socket mode.`,apply:e=>{n.appToken=e}}),F(n,`signingSecret`)&&P({value:n.signingSecret,path:`channels.slack.accounts.${t}.signingSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i===`http`,inactiveReason:`Slack account is disabled or not running in HTTP mode.`,apply:e=>{n.signingSecret=e}})}}function ke(e){let n=e.config.channels;if(!t(n))return;let r=n.discord;if(!t(r))return;let i=R(r);if(H({channelKey:`discord`,field:`token`,channel:r,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Discord token.`,accountInactiveReason:`Discord account is disabled.`}),t(r.pluralkit)){let t=r.pluralkit;P({value:t.token,path:`channels.discord.pluralkit.token`,expected:`string`,defaults:e.defaults,context:e.context,active:z(i,`pluralkit`)&&I(t),inactiveReason:`no enabled Discord surface inherits this top-level PluralKit config or PluralKit is disabled.`,apply:e=>{t.token=e}})}if(t(r.voice)&&t(r.voice.tts)&&L({tts:r.voice.tts,pathPrefix:`channels.discord.voice.tts`,defaults:e.defaults,context:e.context,active:z(i,`voice`)&&I(r.voice),inactiveReason:`no enabled Discord surface inherits this top-level voice config or voice is disabled.`}),i.hasExplicitAccounts)for(let{accountId:n,account:r,enabled:a}of i.accounts){if(F(r,`pluralkit`)&&t(r.pluralkit)){let t=r.pluralkit;P({value:t.token,path:`channels.discord.accounts.${n}.pluralkit.token`,expected:`string`,defaults:e.defaults,context:e.context,active:a&&I(t),inactiveReason:`Discord account is disabled or PluralKit is disabled for this account.`,apply:e=>{t.token=e}})}F(r,`voice`)&&t(r.voice)&&t(r.voice.tts)&&L({tts:r.voice.tts,pathPrefix:`channels.discord.accounts.${n}.voice.tts`,defaults:e.defaults,context:e.context,active:a&&I(r.voice),inactiveReason:`Discord account is disabled or voice is disabled for this account.`})}}function Ae(e){let n=e.config.channels;if(!t(n))return;let r=n.irc;if(!t(r))return;let i=R(r);if(H({channelKey:`irc`,field:`password`,channel:r,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level IRC password.`,accountInactiveReason:`IRC account is disabled.`}),t(r.nickserv)){let t=r.nickserv;P({value:t.password,path:`channels.irc.nickserv.password`,expected:`string`,defaults:e.defaults,context:e.context,active:z(i,`nickserv`)&&I(t),inactiveReason:`no enabled account inherits this top-level IRC nickserv config or NickServ is disabled.`,apply:e=>{t.password=e}})}if(i.hasExplicitAccounts){for(let{accountId:n,account:r,enabled:a}of i.accounts)if(F(r,`nickserv`)&&t(r.nickserv)){let t=r.nickserv;P({value:t.password,path:`channels.irc.accounts.${n}.nickserv.password`,expected:`string`,defaults:e.defaults,context:e.context,active:a&&I(t),inactiveReason:`IRC account is disabled or NickServ is disabled for this account.`,apply:e=>{t.password=e}})}}}function je(e){let n=e.config.channels;if(!t(n))return;let r=n.bluebubbles;t(r)&&H({channelKey:`bluebubbles`,field:`password`,channel:r,surface:R(r),defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level BlueBubbles password.`,accountInactiveReason:`BlueBubbles account is disabled.`})}function Me(e){let n=e.config.channels;if(!t(n))return;let r=n.msteams;t(r)&&P({value:r.appPassword,path:`channels.msteams.appPassword`,expected:`string`,defaults:e.defaults,context:e.context,active:r.enabled!==!1,inactiveReason:`Microsoft Teams channel is disabled.`,apply:e=>{r.appPassword=e}})}function Ne(e){let n=e.config.channels;if(!t(n))return;let r=n.mattermost;t(r)&&H({channelKey:`mattermost`,field:`botToken`,channel:r,surface:R(r),defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Mattermost botToken.`,accountInactiveReason:`Mattermost account is disabled.`})}function Pe(e){let n=e.config.channels;if(!t(n))return;let r=n.matrix;if(!t(r))return;let i=R(r),a=B(e.context.env.MATRIX_ACCESS_TOKEN).length>0,o=V(r.accessToken,e.defaults),s=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:t,enabled:n})=>n&&!F(t,`password`)&&!V(t.accessToken,e.defaults)&&!(o||a)):!(o||a):!1;if(P({value:r.password,path:`channels.matrix.password`,expected:`string`,defaults:e.defaults,context:e.context,active:s,inactiveReason:`no enabled Matrix surface inherits this top-level password (an accessToken is configured).`,apply:e=>{r.password=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`password`))continue;let i=V(n.accessToken,e.defaults),s=!F(n,`accessToken`)&&(o||a);P({value:n.password,path:`channels.matrix.accounts.${t}.password`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&!(i||s),inactiveReason:`Matrix account is disabled or an accessToken is configured.`,apply:e=>{n.password=e}})}}function Fe(e){let n=e.config.channels;if(!t(n))return;let r=n.zalo;if(!t(r))return;let i=R(r),a=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`botToken`)):!0:!1;P({value:r.botToken,path:`channels.zalo.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:a,inactiveReason:`no enabled Zalo surface inherits this top-level botToken.`,apply:e=>{r.botToken=e}});let o=B(r.webhookUrl),s=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`webhookSecret`)?!1:(F(e,`webhookUrl`)?B(e.webhookUrl):o).length>0):o.length>0:!1;if(P({value:r.webhookSecret,path:`channels.zalo.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:s,inactiveReason:`no enabled Zalo webhook surface inherits this top-level webhookSecret (webhook mode is not active).`,apply:e=>{r.webhookSecret=e}}),i.hasExplicitAccounts){for(let{accountId:t,account:n,enabled:r}of i.accounts)if(F(n,`botToken`)&&P({value:n.botToken,path:`channels.zalo.accounts.${t}.botToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`Zalo account is disabled.`,apply:e=>{n.botToken=e}}),F(n,`webhookSecret`)){let i=F(n,`webhookUrl`)?B(n.webhookUrl):o;P({value:n.webhookSecret,path:`channels.zalo.accounts.${t}.webhookSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i.length>0,inactiveReason:`Zalo account is disabled or webhook mode is not active for this account.`,apply:e=>{n.webhookSecret=e}})}}}function Ie(e){let n=e.config.channels;if(!t(n))return;let r=n.feishu;if(!t(r))return;let i=R(r);H({channelKey:`feishu`,field:`appSecret`,channel:r,surface:i,defaults:e.defaults,context:e.context,topInactiveReason:`no enabled account inherits this top-level Feishu appSecret.`,accountInactiveReason:`Feishu account is disabled.`});let a=B(r.connectionMode)===`webhook`?`webhook`:`websocket`,o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>!t||F(e,`verificationToken`)?!1:(F(e,`connectionMode`)?B(e.connectionMode):a)===`webhook`):a===`webhook`:!1;if(P({value:r.verificationToken,path:`channels.feishu.verificationToken`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Feishu webhook-mode surface inherits this top-level verificationToken.`,apply:e=>{r.verificationToken=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts){if(!F(n,`verificationToken`))continue;let i=F(n,`connectionMode`)?B(n.connectionMode):a;P({value:n.verificationToken,path:`channels.feishu.accounts.${t}.verificationToken`,expected:`string`,defaults:e.defaults,context:e.context,active:r&&i===`webhook`,inactiveReason:`Feishu account is disabled or not running in webhook mode.`,apply:e=>{n.verificationToken=e}})}}function Le(e){let n=e.config.channels;if(!t(n))return;let r=n[`nextcloud-talk`];if(!t(r))return;let i=R(r),a=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`botSecret`)):!0:!1;P({value:r.botSecret,path:`channels.nextcloud-talk.botSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:a,inactiveReason:`no enabled Nextcloud Talk surface inherits this top-level botSecret.`,apply:e=>{r.botSecret=e}});let o=i.channelEnabled?i.hasExplicitAccounts?i.accounts.some(({account:e,enabled:t})=>t&&!F(e,`apiPassword`)):!0:!1;if(P({value:r.apiPassword,path:`channels.nextcloud-talk.apiPassword`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`no enabled Nextcloud Talk surface inherits this top-level apiPassword.`,apply:e=>{r.apiPassword=e}}),i.hasExplicitAccounts)for(let{accountId:t,account:n,enabled:r}of i.accounts)F(n,`botSecret`)&&P({value:n.botSecret,path:`channels.nextcloud-talk.accounts.${t}.botSecret`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`Nextcloud Talk account is disabled.`,apply:e=>{n.botSecret=e}}),F(n,`apiPassword`)&&P({value:n.apiPassword,path:`channels.nextcloud-talk.accounts.${t}.apiPassword`,expected:`string`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`Nextcloud Talk account is disabled.`,apply:e=>{n.apiPassword=e}})}function U(e){let{explicitRef:t,ref:n}=o({value:e.target.serviceAccount,refValue:e.target.serviceAccountRef,defaults:e.defaults});if(n){if(e.active===!1){N({context:e.context,path:`${e.path}.serviceAccount`,details:e.inactiveReason});return}t&&e.target.serviceAccount!==void 0&&!s(e.target.serviceAccount,e.defaults)&&M(e.context,{code:`SECRETS_REF_OVERRIDES_PLAINTEXT`,path:e.path,message:`${e.path}: serviceAccountRef is set; runtime will ignore plaintext serviceAccount.`}),j(e.context,{ref:n,path:`${e.path}.serviceAccount`,expected:`string-or-object`,apply:t=>{e.target.serviceAccount=t}})}}function Re(e){let t=e.googleChat,n=R(t),r=n.channelEnabled?n.hasExplicitAccounts?n.accounts.some(({account:e,enabled:t})=>t&&!F(e,`serviceAccount`)&&!F(e,`serviceAccountRef`)):!0:!1;if(U({target:e.googleChat,path:`channels.googlechat`,defaults:e.defaults,context:e.context,active:r,inactiveReason:`no enabled account inherits this top-level Google Chat serviceAccount.`}),n.hasExplicitAccounts)for(let{accountId:t,account:r,enabled:i}of n.accounts)!F(r,`serviceAccount`)&&!F(r,`serviceAccountRef`)||U({target:r,path:`channels.googlechat.accounts.${t}`,defaults:e.defaults,context:e.context,active:i,inactiveReason:`Google Chat account is disabled.`})}function ze(e){let t=e.config.channels?.googlechat;t&&Re({googleChat:t,defaults:e.defaults,context:e.context}),De(e),Oe(e),ke(e),Ae(e),je(e),Ne(e),Pe(e),Me(e),Le(e),Ie(e),Fe(e)}const Be=[`gateway.auth.token`,`gateway.auth.password`,`gateway.remote.token`,`gateway.remote.password`];function Ve(e){return e??`unset`}function He(e){let t=[];return e.remoteMode&&t.push(`gateway.mode is "remote"`),e.remoteUrlConfigured&&t.push(`gateway.remote.url is configured`),e.tailscaleRemoteExposure&&t.push(`gateway.tailscale.mode is "serve" or "funnel"`),t.join(`; `)}function W(e){return{path:e.path,active:e.active,reason:e.reason,hasSecretRef:e.hasSecretRef}}function Ue(e){let n=e.config.gateway;if(!t(n))return{"gateway.auth.token":W({path:`gateway.auth.token`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1}),"gateway.auth.password":W({path:`gateway.auth.password`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1}),"gateway.remote.token":W({path:`gateway.remote.token`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1}),"gateway.remote.password":W({path:`gateway.remote.password`,active:!1,reason:`gateway configuration is not set.`,hasSecretRef:!1})};let i=t(n?.auth)?n.auth:void 0,a=t(n?.remote)?n.remote:void 0,o=r({config:e.config,env:e.env,includeLegacyEnv:!0,defaults:e.defaults}),s=i?o.passwordCanWin?o.authMode===`password`?`gateway.auth.mode is "password".`:`no token source can win, so password auth can win.`:o.authMode===`token`||o.authMode===`none`||o.authMode===`trusted-proxy`?`gateway.auth.mode is "${o.authMode}".`:o.envToken?`gateway token env var is configured.`:o.localToken.configured?`gateway.auth.token is configured.`:o.remoteToken.configured?`gateway.remote.token is configured.`:`token auth can win.`:`gateway.auth is not configured.`,c=i?o.authMode===`token`?o.envToken?`gateway token env var is configured.`:`gateway.auth.mode is "token".`:o.authMode===`password`||o.authMode===`none`||o.authMode===`trusted-proxy`?`gateway.auth.mode is "${o.authMode}".`:o.envToken?`gateway token env var is configured.`:o.envPassword?`gateway password env var is configured.`:o.localPassword.configured?`gateway.auth.password is configured.`:`token auth can win (mode is unset and no password source is configured).`:`gateway.auth is not configured.`,l=He({remoteMode:o.remoteMode,remoteUrlConfigured:o.remoteUrlConfigured,tailscaleRemoteExposure:o.tailscaleRemoteExposure}),u=a?o.remoteConfiguredSurface?`remote surface is active: ${l}.`:o.remoteTokenFallbackActive?`local token auth can win and no env/auth token is configured.`:o.localTokenCanWin?o.envToken?`gateway token env var is configured.`:o.localToken.configured?`gateway.auth.token is configured.`:`remote token fallback is not active.`:`token auth cannot win with gateway.auth.mode="${Ve(o.authMode)}".`:`gateway.remote is not configured.`,d=a?o.remoteConfiguredSurface?`remote surface is active: ${l}.`:o.remotePasswordFallbackActive?`password auth can win and no env/auth password is configured.`:o.passwordCanWin?o.envPassword?`gateway password env var is configured.`:o.localPassword.configured?`gateway.auth.password is configured.`:`remote password fallback is not active.`:o.authMode===`token`||o.authMode===`none`||o.authMode===`trusted-proxy`?`password auth cannot win with gateway.auth.mode="${o.authMode}".`:`a token source can win, so password auth cannot win.`:`gateway.remote is not configured.`;return{"gateway.auth.token":W({path:`gateway.auth.token`,active:o.localTokenSurfaceActive,reason:c,hasSecretRef:o.localToken.hasSecretRef}),"gateway.auth.password":W({path:`gateway.auth.password`,active:o.passwordCanWin,reason:s,hasSecretRef:o.localPassword.hasSecretRef}),"gateway.remote.token":W({path:`gateway.remote.token`,active:o.remoteTokenActive,reason:u,hasSecretRef:o.remoteToken.hasSecretRef}),"gateway.remote.password":W({path:`gateway.remote.password`,active:o.remotePasswordActive,reason:d,hasSecretRef:o.remotePassword.hasSecretRef})}}function We(e){for(let[n,r]of Object.entries(e.providers)){let i=r.enabled!==!1;P({value:r.apiKey,path:`models.providers.${n}.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:i,inactiveReason:`provider is disabled.`,apply:e=>{r.apiKey=e}});let a=t(r.headers)?r.headers:void 0;if(a)for(let[t,r]of Object.entries(a))P({value:r,path:`models.providers.${n}.headers.${t}`,expected:`string`,defaults:e.defaults,context:e.context,active:i,inactiveReason:`provider is disabled.`,apply:e=>{a[t]=e}})}}function Ge(e){for(let[t,n]of Object.entries(e.entries))P({value:n.apiKey,path:`skills.entries.${t}.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:n.enabled!==!1,inactiveReason:`skill entry is disabled.`,apply:e=>{n.apiKey=e}})}function Ke(e){let n=e.config.agents;if(!t(n))return;let r=t(n.defaults)?n.defaults:void 0,i=t(r?.memorySearch)?r.memorySearch:void 0,a=i?.enabled!==!1,o=Array.isArray(n.list)?n.list:[],s=!1;for(let e of o){if(!t(e)||e.enabled===!1)continue;let n=t(e.memorySearch)?e.memorySearch:void 0;if(n?.enabled===!1)continue;if(!n||!Object.prototype.hasOwnProperty.call(n,`remote`)){s=!0;continue}let r=t(n.remote)?n.remote:void 0;if(!r||!Object.prototype.hasOwnProperty.call(r,`apiKey`)){s=!0;continue}}if(i&&t(i.remote)){let t=i.remote;P({value:t.apiKey,path:`agents.defaults.memorySearch.remote.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:a&&(s||o.length===0),inactiveReason:s?void 0:`all enabled agents override memorySearch.remote.apiKey.`,apply:e=>{t.apiKey=e}})}o.forEach((n,r)=>{if(!t(n))return;let i=t(n.memorySearch)?n.memorySearch:void 0;if(!i)return;let a=t(i.remote)?i.remote:void 0;if(!a||!Object.prototype.hasOwnProperty.call(a,`apiKey`))return;let o=n.enabled!==!1&&i.enabled!==!1;P({value:a.apiKey,path:`agents.list.${r}.memorySearch.remote.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,active:o,inactiveReason:`agent or memorySearch override is disabled.`,apply:e=>{a.apiKey=e}})})}function qe(e){let n=e.config.talk;if(!t(n))return;P({value:n.apiKey,path:`talk.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,apply:e=>{n.apiKey=e}});let r=n.providers;if(t(r))for(let[n,i]of Object.entries(r))t(i)&&P({value:i.apiKey,path:`talk.providers.${n}.apiKey`,expected:`string`,defaults:e.defaults,context:e.context,apply:e=>{i.apiKey=e}})}function Je(e){let n=e.config.gateway;if(!t(n))return;let r=t(n.auth)?n.auth:void 0,i=t(n.remote)?n.remote:void 0,a=Ue({config:e.config,env:e.context.env,defaults:e.defaults});r&&(P({value:r.token,path:`gateway.auth.token`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.auth.token`].active,inactiveReason:a[`gateway.auth.token`].reason,apply:e=>{r.token=e}}),P({value:r.password,path:`gateway.auth.password`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.auth.password`].active,inactiveReason:a[`gateway.auth.password`].reason,apply:e=>{r.password=e}})),i&&(P({value:i.token,path:`gateway.remote.token`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.remote.token`].active,inactiveReason:a[`gateway.remote.token`].reason,apply:e=>{i.token=e}}),P({value:i.password,path:`gateway.remote.password`,expected:`string`,defaults:e.defaults,context:e.context,active:a[`gateway.remote.password`].active,inactiveReason:a[`gateway.remote.password`].reason,apply:e=>{i.password=e}}))}function Ye(e){let n=e.config.messages;!t(n)||!t(n.tts)||L({tts:n.tts,pathPrefix:`messages.tts`,defaults:e.defaults,context:e.context})}function Xe(e){let n=e.config.cron;t(n)&&P({value:n.webhookToken,path:`cron.webhookToken`,expected:`string`,defaults:e.defaults,context:e.context,apply:e=>{n.webhookToken=e}})}function Ze(e){let t=e.config.models?.providers;t&&We({providers:t,defaults:e.defaults,context:e.context});let n=e.config.skills?.entries;n&&Ge({entries:n,defaults:e.defaults,context:e.context}),Ke(e),qe(e),Je(e),Ye(e),Xe(e)}function Qe(e){let t=e.context.sourceConfig.secrets?.defaults;Ze({config:e.config,defaults:t,context:e.context}),ze({config:e.config,defaults:t,context:e.context})}const G=[`brave`,`gemini`,`grok`,`kimi`,`perplexity`],$e=`https://api.perplexity.ai`,K=`https://openrouter.ai/api/v1`,et=[`pplx-`],tt=[`sk-or-`];function q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function nt(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`brave`||t===`gemini`||t===`grok`||t===`kimi`||t===`perplexity`)return t}function J(e,t){for(let n of t){let t=a(e[n]);if(t)return{value:t,envVar:n}}return{}}function Y(e){return e.kind===`non-string`?`${e.path} SecretRef resolved to a non-string value.`:e.kind===`empty`?`${e.path} SecretRef resolved to an empty value.`:`${e.path} SecretRef is unresolved (${e.refLabel}).`}async function rt(e){let{ref:t}=o({value:e.value,defaults:e.defaults});if(!t){let t=a(e.value);if(t)return{value:t,source:`config`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1};let n=J(e.context.env,e.envVars);return n.value?{value:n.value,source:`env`,fallbackEnvVar:n.envVar,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1}:{source:`missing`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1}}let r=`${t.source}:${t.provider}:${t.id}`,i,s;try{let o=(await n([t],{config:e.sourceConfig,env:e.context.env,cache:e.context.cache})).get(c(t));typeof o==`string`?(i=a(o),i||(s=Y({path:e.path,kind:`empty`,refLabel:r}))):s=Y({path:e.path,kind:`non-string`,refLabel:r})}catch{s=Y({path:e.path,kind:`unresolved`,refLabel:r})}if(i)return{value:i,source:`secretRef`,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!1};let l=J(e.context.env,e.envVars);return l.value?{value:l.value,source:`env`,fallbackEnvVar:l.envVar,unresolvedRefReason:s,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!0}:{source:`missing`,unresolvedRefReason:s,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!1}}function it(e){if(!e)return;let t=e.toLowerCase();if(et.some(e=>t.startsWith(e)))return`direct`;if(tt.some(e=>t.startsWith(e)))return`openrouter`}function at(e){let t=q(e.configValue)?e.configValue:void 0,n=typeof t?.baseUrl==`string`?t.baseUrl.trim():``,r=typeof t?.model==`string`?t.model.trim():``,i=(()=>{if(n)return n;if(e.keySource===`env`){if(e.fallbackEnvVar===`PERPLEXITY_API_KEY`)return $e;if(e.fallbackEnvVar===`OPENROUTER_API_KEY`)return K}return(e.keySource===`config`||e.keySource===`secretRef`)&&e.keyValue?it(e.keyValue)===`openrouter`?K:$e:K})(),a=!!(n||r),o=(()=>{try{return new URL(i).hostname.toLowerCase()===`api.perplexity.ai`}catch{return!1}})();return a||!o?`chat_completions`:`search_api`}function X(e,t){let n=e[t];if(q(n))return n;let r={};return e[t]=r,r}function Z(e){let t=X(X(X(e.resolvedConfig,`tools`),`web`),`search`);if(e.provider===`brave`){t.apiKey=e.value;return}let n=X(t,e.provider);n.apiKey=e.value}function ot(e){let t=X(X(X(X(e.resolvedConfig,`tools`),`web`),`fetch`),`firecrawl`);t.apiKey=e.value}function st(e){return e===`brave`?[`BRAVE_API_KEY`]:e===`gemini`?[`GEMINI_API_KEY`]:e===`grok`?[`XAI_API_KEY`]:e===`kimi`?[`KIMI_API_KEY`,`MOONSHOT_API_KEY`]:[`PERPLEXITY_API_KEY`,`OPENROUTER_API_KEY`]}function Q(e,t){if(t===`brave`)return e.apiKey;let n=e[t];if(q(n))return n.apiKey}function $(e,t){return!!o({value:e,defaults:t}).ref}async function ct(e){let t=e.sourceConfig.secrets?.defaults,n=[],r=q(e.sourceConfig.tools)?e.sourceConfig.tools:void 0,i=q(r?.web)?r.web:void 0,o=q(i?.search)?i.search:void 0,s={providerSource:`none`,diagnostics:[]},c=o?.enabled!==!1,l=typeof o?.provider==`string`?o.provider.trim().toLowerCase():``,u=nt(l);if(l&&!u){let t={code:`WEB_SEARCH_PROVIDER_INVALID_AUTODETECT`,message:`tools.web.search.provider is "${l}". Falling back to auto-detect precedence.`,path:`tools.web.search.provider`};n.push(t),s.diagnostics.push(t),M(e.context,{code:`WEB_SEARCH_PROVIDER_INVALID_AUTODETECT`,path:`tools.web.search.provider`,message:t.message})}if(u&&(s.providerConfigured=u,s.providerSource=`configured`),c&&o){let r=u?[u]:[...G],i=[],a,c;for(let l of r){let r=l===`brave`?`tools.web.search.apiKey`:`tools.web.search.${l}.apiKey`,d=Q(o,l),f=await rt({sourceConfig:e.sourceConfig,context:e.context,defaults:t,value:d,path:r,envVars:st(l)});if(f.secretRefConfigured&&f.fallbackUsedAfterRefFailure){let t={code:`WEB_SEARCH_KEY_UNRESOLVED_FALLBACK_USED`,message:`${r} SecretRef could not be resolved; using ${f.fallbackEnvVar??`env fallback`}. `+(f.unresolvedRefReason??``).trim(),path:r};n.push(t),s.diagnostics.push(t),M(e.context,{code:`WEB_SEARCH_KEY_UNRESOLVED_FALLBACK_USED`,path:r,message:t.message})}if(f.secretRefConfigured&&!f.value&&f.unresolvedRefReason&&i.push({provider:l,path:r,reason:f.unresolvedRefReason}),u){a=l,c=f,f.value&&Z({resolvedConfig:e.resolvedConfig,provider:l,value:f.value});break}if(f.value){a=l,c=f,Z({resolvedConfig:e.resolvedConfig,provider:l,value:f.value});break}}if(u){let t=i[0];if(t){let r={code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,message:t.reason,path:t.path};throw n.push(r),s.diagnostics.push(r),M(e.context,{code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,path:t.path,message:t.reason}),Error(`[WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK] ${t.reason}`)}}else{if(!a&&i.length>0){let t=i[0],r={code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,message:t.reason,path:t.path};throw n.push(r),s.diagnostics.push(r),M(e.context,{code:`WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK`,path:t.path,message:t.reason}),Error(`[WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK] ${t.reason}`)}if(a){let e={code:`WEB_SEARCH_AUTODETECT_SELECTED`,message:`tools.web.search auto-detected provider "${a}" from available credentials.`,path:`tools.web.search.provider`};n.push(e),s.diagnostics.push(e)}}a&&(s.selectedProvider=a,s.selectedProviderKeySource=c?.source,u||(s.providerSource=`auto-detect`),a===`perplexity`&&(s.perplexityTransport=at({keyValue:c?.value,keySource:c?.source??`missing`,fallbackEnvVar:c?.fallbackEnvVar,configValue:o.perplexity})))}if(c&&o&&!u&&s.selectedProvider)for(let n of G){if(n===s.selectedProvider)continue;let r=n===`brave`?`tools.web.search.apiKey`:`tools.web.search.${n}.apiKey`;$(Q(o,n),t)&&N({context:e.context,path:r,details:`tools.web.search auto-detected provider is "${s.selectedProvider}".`})}else if(o&&!c)for(let n of G){let r=n===`brave`?`tools.web.search.apiKey`:`tools.web.search.${n}.apiKey`;$(Q(o,n),t)&&N({context:e.context,path:r,details:`tools.web.search is disabled.`})}if(c&&o&&u)for(let n of G){if(n===u)continue;let r=n===`brave`?`tools.web.search.apiKey`:`tools.web.search.${n}.apiKey`;$(Q(o,n),t)&&N({context:e.context,path:r,details:`tools.web.search.provider is "${u}".`})}let d=q(i?.fetch)?i.fetch:void 0,f=q(d?.firecrawl)?d.firecrawl:void 0,p=d?.enabled!==!1,m=f?.enabled!==!1,h=!!(p&&m),g=`tools.web.fetch.firecrawl.apiKey`,_={source:`missing`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1},v=[];if(h){if(_=await rt({sourceConfig:e.sourceConfig,context:e.context,defaults:t,value:f?.apiKey,path:g,envVars:[`FIRECRAWL_API_KEY`]}),_.value&&ot({resolvedConfig:e.resolvedConfig,value:_.value}),_.secretRefConfigured){if(_.fallbackUsedAfterRefFailure){let t={code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_FALLBACK_USED`,message:`${g} SecretRef could not be resolved; using ${_.fallbackEnvVar??`env fallback`}. `+(_.unresolvedRefReason??``).trim(),path:g};n.push(t),v.push(t),M(e.context,{code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_FALLBACK_USED`,path:g,message:t.message})}if(!_.value&&_.unresolvedRefReason){let t={code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_NO_FALLBACK`,message:_.unresolvedRefReason,path:g};throw n.push(t),v.push(t),M(e.context,{code:`WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_NO_FALLBACK`,path:g,message:_.unresolvedRefReason}),Error(`[WEB_FETCH_FIRECRAWL_KEY_UNRESOLVED_NO_FALLBACK] ${_.unresolvedRefReason}`)}}}else if($(f?.apiKey,t))N({context:e.context,path:g,details:p?`tools.web.fetch.firecrawl.enabled is false.`:`tools.web.fetch is disabled.`}),_={source:`secretRef`,secretRefConfigured:!0,fallbackUsedAfterRefFailure:!1};else{let t=a(f?.apiKey);if(t)_={value:t,source:`config`,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1};else{let t=J(e.context.env,[`FIRECRAWL_API_KEY`]);t.value&&(_={value:t.value,source:`env`,fallbackEnvVar:t.envVar,secretRefConfigured:!1,fallbackUsedAfterRefFailure:!1})}}return{search:s,fetch:{firecrawl:{active:h,apiKeySource:_.source,diagnostics:v}},diagnostics:n}}export{m as C,_ as S,g as T,he as _,Te as a,ee as b,M as c,be as d,ye as f,Se as g,ge as h,Ue as i,A as l,_e as m,Qe as n,we as o,k as p,Be as r,j as s,ct as t,Ce as u,ve as v,h as w,v as x,y};
2
- //# sourceMappingURL=runtime-web-tools-C4F6aaRh.js.map
@@ -6,4 +6,3 @@ Containers to be recreated:
6
6
  Containers will be automatically recreated when the agent is next used.`)}async function V(e,t){let n=e.browser?[]:await m().catch(()=>[]),r=e.browser?await l().catch(()=>[]):[];if(e.json){t.log(JSON.stringify({containers:n,browsers:r},null,2));return}e.browser?L(r,t):I(n,t),R(n,r,t)}async function H(e,t){if(!U(e,t))return;let n=await W(e);if(n.containers.length+n.browsers.length===0){t.log(`No containers found matching the criteria.`);return}if(z(n.containers,n.browsers,t),!e.force&&!await K()){t.log(`Cancelled.`);return}let r=await q(n,t);B(r,t),r.failCount>0&&t.exit(1)}function U(e,t){return!e.all&&!e.session&&!e.agent?(t.error(`Please specify --all, --session <key>, or --agent <id>`),t.exit(1),!1):[e.all,e.session,e.agent].filter(Boolean).length>1?(t.error(`Please specify only one of: --all, --session, --agent`),t.exit(1),!1):!0}async function W(e){let t=await m().catch(()=>[]),n=await l().catch(()=>[]),r=e.browser?[]:t,i=e.browser?n:[];if(e.session)r=r.filter(t=>t.sessionKey===e.session),i=i.filter(t=>t.sessionKey===e.session);else if(e.agent){let t=G(e.agent);r=r.filter(t),i=i.filter(t)}return{containers:r,browsers:i}}function G(e){let t=`agent:${e}`;return e=>e.sessionKey===t||e.sessionKey.startsWith(`${t}:`)}async function K(){let e=await D({message:`This will stop and remove these containers. Continue?`,initialValue:!1});return e!==!1&&e!==Symbol.for(`clack:cancel`)}async function q(e,t){t.log(`
7
7
  Removing containers...
8
8
  `);let n=0,r=0;for(let i of e.containers)(await J(i.containerName,u,t)).success?n++:r++;for(let i of e.browsers)(await J(i.containerName,p,t)).success?n++:r++;return{successCount:n,failCount:r}}async function J(e,t,n){try{return await t(e),n.log(`✓ Removed ${e}`),{success:!0}}catch(t){return n.error(`✗ Failed to remove ${e}: ${String(t)}`),{success:!1}}}const Y={main:[[`openclaw sandbox list`,`List all sandbox containers.`],[`openclaw sandbox list --browser`,`List only browser containers.`],[`openclaw sandbox recreate --all`,`Recreate all containers.`],[`openclaw sandbox recreate --session main`,`Recreate a specific session.`],[`openclaw sandbox recreate --agent mybot`,`Recreate agent containers.`],[`openclaw sandbox explain`,`Explain effective sandbox config.`]],list:[[`openclaw sandbox list`,`List all sandbox containers.`],[`openclaw sandbox list --browser`,`List only browser containers.`],[`openclaw sandbox list --json`,`JSON output.`]],recreate:[[`openclaw sandbox recreate --all`,`Recreate all containers.`],[`openclaw sandbox recreate --session main`,`Recreate a specific session.`],[`openclaw sandbox recreate --agent mybot`,`Recreate a specific agent (includes sub-agents).`],[`openclaw sandbox recreate --browser --all`,`Recreate only browser containers.`],[`openclaw sandbox recreate --all --force`,`Skip confirmation.`]],explain:[[`openclaw sandbox explain`,`Show effective sandbox config.`],[`openclaw sandbox explain --session agent:main:main`,`Explain a specific session.`],[`openclaw sandbox explain --agent work`,`Explain an agent sandbox.`],[`openclaw sandbox explain --json`,`JSON output.`]]};function X(e){return async t=>{try{await e(t,r)}catch(e){r.error(String(e)),r.exit(1)}}}function Z(t){let n=t.command(`sandbox`).description(`Manage sandbox containers (Docker-based agent isolation)`).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.main)}\n`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${T(`/cli/sandbox`,`docs.openclaw.ai/cli/sandbox`)}\n`).action(()=>{n.help({error:!0})});n.command(`list`).description(`List sandbox containers and their status`).option(`--json`,`Output result as JSON`,!1).option(`--browser`,`List browser containers only`,!1).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.list)}\n\n${e.heading(`Output includes:`)}\n${e.muted(`- Container name and status (running/stopped)`)}\n${e.muted(`- Docker image and whether it matches current config`)}\n${e.muted(`- Age (time since creation)`)}\n${e.muted(`- Idle time (time since last use)`)}\n${e.muted(`- Associated session/agent ID`)}`).action(X(e=>V({browser:!!e.browser,json:!!e.json},r))),n.command(`recreate`).description(`Remove containers to force recreation with updated config`).option(`--all`,`Recreate all sandbox containers`,!1).option(`--session <key>`,`Recreate container for specific session`).option(`--agent <id>`,`Recreate containers for specific agent`).option(`--browser`,`Only recreate browser containers`,!1).option(`--force`,`Skip confirmation prompt`,!1).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.recreate)}\n\n${e.heading(`Why use this?`)}\n${e.muted(`After updating Docker images or sandbox configuration, existing containers continue running with old settings.`)}\n${e.muted(`This command removes them so they'll be recreated automatically with current config when next needed.`)}\n\n${e.heading(`Filter options:`)}\n${e.muted(` --all Remove all sandbox containers`)}\n${e.muted(` --session Remove container for specific session key`)}\n${e.muted(` --agent Remove containers for agent (includes agent:id:* variants)`)}\n\n${e.heading(`Modifiers:`)}\n${e.muted(` --browser Only affect browser containers (not regular sandbox)`)}\n${e.muted(` --force Skip confirmation prompt`)}`).action(X(e=>H({all:!!e.all,session:e.session,agent:e.agent,browser:!!e.browser,force:!!e.force},r))),n.command(`explain`).description(`Explain effective sandbox/tool policy for a session/agent`).option(`--session <key>`,`Session key to inspect (defaults to agent main)`).option(`--agent <id>`,`Agent id to inspect (defaults to derived agent)`).option(`--json`,`Output result as JSON`,!1).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.explain)}\n`).action(X(e=>j({session:e.session,agent:e.agent,json:!!e.json},r)))}export{Z as registerSandboxCli};
9
- //# sourceMappingURL=sandbox-cli-BR0Lsru-.js.map
@@ -6,4 +6,3 @@ Containers to be recreated:
6
6
  Containers will be automatically recreated when the agent is next used.`)}async function V(e,t){let n=e.browser?[]:await p().catch(()=>[]),r=e.browser?await a().catch(()=>[]):[];if(e.json){t.log(JSON.stringify({containers:n,browsers:r},null,2));return}e.browser?L(r,t):I(n,t),R(n,r,t)}async function H(e,t){if(!U(e,t))return;let n=await W(e);if(n.containers.length+n.browsers.length===0){t.log(`No containers found matching the criteria.`);return}if(z(n.containers,n.browsers,t),!e.force&&!await K()){t.log(`Cancelled.`);return}let r=await q(n,t);B(r,t),r.failCount>0&&t.exit(1)}function U(e,t){return!e.all&&!e.session&&!e.agent?(t.error(`Please specify --all, --session <key>, or --agent <id>`),t.exit(1),!1):[e.all,e.session,e.agent].filter(Boolean).length>1?(t.error(`Please specify only one of: --all, --session, --agent`),t.exit(1),!1):!0}async function W(e){let t=await p().catch(()=>[]),n=await a().catch(()=>[]),r=e.browser?[]:t,i=e.browser?n:[];if(e.session)r=r.filter(t=>t.sessionKey===e.session),i=i.filter(t=>t.sessionKey===e.session);else if(e.agent){let t=G(e.agent);r=r.filter(t),i=i.filter(t)}return{containers:r,browsers:i}}function G(e){let t=`agent:${e}`;return e=>e.sessionKey===t||e.sessionKey.startsWith(`${t}:`)}async function K(){let e=await D({message:`This will stop and remove these containers. Continue?`,initialValue:!1});return e!==!1&&e!==Symbol.for(`clack:cancel`)}async function q(e,t){t.log(`
7
7
  Removing containers...
8
8
  `);let n=0,r=0;for(let i of e.containers)(await J(i.containerName,o,t)).success?n++:r++;for(let i of e.browsers)(await J(i.containerName,l,t)).success?n++:r++;return{successCount:n,failCount:r}}async function J(e,t,n){try{return await t(e),n.log(`✓ Removed ${e}`),{success:!0}}catch(t){return n.error(`✗ Failed to remove ${e}: ${String(t)}`),{success:!1}}}const Y={main:[[`openclaw sandbox list`,`List all sandbox containers.`],[`openclaw sandbox list --browser`,`List only browser containers.`],[`openclaw sandbox recreate --all`,`Recreate all containers.`],[`openclaw sandbox recreate --session main`,`Recreate a specific session.`],[`openclaw sandbox recreate --agent mybot`,`Recreate agent containers.`],[`openclaw sandbox explain`,`Explain effective sandbox config.`]],list:[[`openclaw sandbox list`,`List all sandbox containers.`],[`openclaw sandbox list --browser`,`List only browser containers.`],[`openclaw sandbox list --json`,`JSON output.`]],recreate:[[`openclaw sandbox recreate --all`,`Recreate all containers.`],[`openclaw sandbox recreate --session main`,`Recreate a specific session.`],[`openclaw sandbox recreate --agent mybot`,`Recreate a specific agent (includes sub-agents).`],[`openclaw sandbox recreate --browser --all`,`Recreate only browser containers.`],[`openclaw sandbox recreate --all --force`,`Skip confirmation.`]],explain:[[`openclaw sandbox explain`,`Show effective sandbox config.`],[`openclaw sandbox explain --session agent:main:main`,`Explain a specific session.`],[`openclaw sandbox explain --agent work`,`Explain an agent sandbox.`],[`openclaw sandbox explain --json`,`JSON output.`]]};function X(e){return async t=>{try{await e(t,r)}catch(e){r.error(String(e)),r.exit(1)}}}function Z(t){let n=t.command(`sandbox`).description(`Manage sandbox containers (Docker-based agent isolation)`).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.main)}\n`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${T(`/cli/sandbox`,`docs.openclaw.ai/cli/sandbox`)}\n`).action(()=>{n.help({error:!0})});n.command(`list`).description(`List sandbox containers and their status`).option(`--json`,`Output result as JSON`,!1).option(`--browser`,`List browser containers only`,!1).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.list)}\n\n${e.heading(`Output includes:`)}\n${e.muted(`- Container name and status (running/stopped)`)}\n${e.muted(`- Docker image and whether it matches current config`)}\n${e.muted(`- Age (time since creation)`)}\n${e.muted(`- Idle time (time since last use)`)}\n${e.muted(`- Associated session/agent ID`)}`).action(X(e=>V({browser:!!e.browser,json:!!e.json},r))),n.command(`recreate`).description(`Remove containers to force recreation with updated config`).option(`--all`,`Recreate all sandbox containers`,!1).option(`--session <key>`,`Recreate container for specific session`).option(`--agent <id>`,`Recreate containers for specific agent`).option(`--browser`,`Only recreate browser containers`,!1).option(`--force`,`Skip confirmation prompt`,!1).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.recreate)}\n\n${e.heading(`Why use this?`)}\n${e.muted(`After updating Docker images or sandbox configuration, existing containers continue running with old settings.`)}\n${e.muted(`This command removes them so they'll be recreated automatically with current config when next needed.`)}\n\n${e.heading(`Filter options:`)}\n${e.muted(` --all Remove all sandbox containers`)}\n${e.muted(` --session Remove container for specific session key`)}\n${e.muted(` --agent Remove containers for agent (includes agent:id:* variants)`)}\n\n${e.heading(`Modifiers:`)}\n${e.muted(` --browser Only affect browser containers (not regular sandbox)`)}\n${e.muted(` --force Skip confirmation prompt`)}`).action(X(e=>H({all:!!e.all,session:e.session,agent:e.agent,browser:!!e.browser,force:!!e.force},r))),n.command(`explain`).description(`Explain effective sandbox/tool policy for a session/agent`).option(`--session <key>`,`Session key to inspect (defaults to agent main)`).option(`--agent <id>`,`Agent id to inspect (defaults to derived agent)`).option(`--json`,`Output result as JSON`,!1).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${E(Y.explain)}\n`).action(X(e=>j({session:e.session,agent:e.agent,json:!!e.json},r)))}export{Z as registerSandboxCli};
9
- //# sourceMappingURL=sandbox-cli-Jo5nYeug.js.map
@@ -1,2 +1 @@
1
1
  import e from"node:fs";import t from"node:path";function n(e,n){let r=t.resolve(e),i=t.resolve(n),a=t.relative(r,i);return a===``||!a.startsWith(`..${t.sep}`)&&a!==`..`&&!t.isAbsolute(a)}function r(t){try{return e.realpathSync(t)}catch{return null}}function i(e,t,i){if(!n(e,t))return!1;let a=r(e),o=r(t);return!a||!o?i?.requireRealpath!==!0:n(a,o)}function a(e){return e.split(/[\\/]+/).filter(Boolean).some(e=>e===`node_modules`||e.startsWith(`.`)&&e!==`.`&&e!==`..`)}export{n,i as r,a as t};
2
- //# sourceMappingURL=scan-paths-C13EseXp.js.map
@@ -1,2 +1 @@
1
1
  import e from"node:path";import t from"node:fs";function n(t,n){let r=e.resolve(t),i=e.resolve(n),a=e.relative(r,i);return a===``||!a.startsWith(`..${e.sep}`)&&a!==`..`&&!e.isAbsolute(a)}function r(e){try{return t.realpathSync(e)}catch{return null}}function i(e,t,i){if(!n(e,t))return!1;let a=r(e),o=r(t);return!a||!o?i?.requireRealpath!==!0:n(a,o)}function a(e){return e.split(/[\\/]+/).filter(Boolean).some(e=>e===`node_modules`||e.startsWith(`.`)&&e!==`.`&&e!==`..`)}export{n,i as r,a as t};
2
- //# sourceMappingURL=scan-paths-CWtvWW40.js.map
@@ -1,2 +1 @@
1
1
  import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{t}from"./subsystem-BLbY429l.js";import{d as n}from"./agent-scope-DAWJwFfl.js";import{v as r}from"./utils-CGdo13HV.js";import{n as i,t as a}from"./parse-duration-XTjMKl8s.js";import o from"node:path";const s={maxResults:6,maxSnippetChars:700,maxInjectedChars:4e3,timeoutMs:4e3},c={enabled:!1,serverName:`qmd`,startDaemon:!0},l={default:`deny`,rules:[{action:`allow`,match:{chatType:`direct`}}]};function u(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`collection`}function d(e,t){return`${e}-${u(t)}`}function f(e,t){let n=u(e);if(!t.has(n))return t.add(n),n;let r=2;for(;t.has(`${n}-${r}`);)r+=1;let i=`${n}-${r}`;return t.add(i),i}function p(e,t){let n=e.trim();if(!n)throw Error(`path required`);return n.startsWith(`~`)||o.isAbsolute(n)?o.normalize(r(n)):o.normalize(o.resolve(t,n))}function m(e){let t=e?.trim();if(!t)return a(`5m`,{defaultUnit:`m`});try{return a(t,{defaultUnit:`m`})}catch{return a(`5m`,{defaultUnit:`m`})}}function h(e){let t=e?.trim();if(!t)return a(`60m`,{defaultUnit:`m`});try{return a(t,{defaultUnit:`m`})}catch{return a(`60m`,{defaultUnit:`m`})}}function g(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?Math.floor(e):15e3}function _(e,t){return typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):t}function v(e){let t={...s};return e?.maxResults&&e.maxResults>0&&(t.maxResults=Math.floor(e.maxResults)),e?.maxSnippetChars&&e.maxSnippetChars>0&&(t.maxSnippetChars=Math.floor(e.maxSnippetChars)),e?.maxInjectedChars&&e.maxInjectedChars>0&&(t.maxInjectedChars=Math.floor(e.maxInjectedChars)),e?.timeoutMs&&e.timeoutMs>0&&(t.timeoutMs=Math.floor(e.timeoutMs)),t}function y(e){return e===`search`||e===`vsearch`||e===`query`?e:`search`}function b(e,t){let n=!!e?.enabled,r=e?.exportDir?.trim();return{enabled:n,exportDir:r?p(r,t):void 0,retentionDays:e?.retentionDays&&e.retentionDays>0?Math.floor(e.retentionDays):void 0}}function x(e,t,n,r){if(!e?.length)return[];let i=[];return e.forEach((e,a)=>{let o=e?.path?.trim();if(!o)return;let s;try{s=p(o,t)}catch{return}let c=e.pattern?.trim()||`**/*.md`,l=f(d(e.name?.trim()||`custom-${a+1}`,r),n);i.push({name:l,path:s,pattern:c,kind:`custom`})}),i}function S(e){let t={...c};return e?(e.enabled!==void 0&&(t.enabled=e.enabled),typeof e.serverName==`string`&&e.serverName.trim()&&(t.serverName=e.serverName.trim()),e.startDaemon!==void 0&&(t.startDaemon=e.startDaemon),t.enabled&&e.startDaemon===void 0&&(t.startDaemon=!0),t):t}function C(e,t,n,r){return e?[{path:t,pattern:`MEMORY.md`,base:`memory-root`},{path:t,pattern:`memory.md`,base:`memory-alt`},{path:o.join(t,`memory`),pattern:`**/*.md`,base:`memory-dir`}].map(e=>({name:f(d(e.base,r),n),path:e.path,pattern:e.pattern,kind:`memory`})):[]}function w(e){let t=e.cfg.memory?.backend??`builtin`,r=e.cfg.memory?.citations??`auto`;if(t!==`qmd`)return{backend:`builtin`,citations:r};let a=n(e.cfg,e.agentId),o=e.cfg.memory?.qmd,s=o?.includeDefaultMemory!==!1,c=new Set,u=[...C(s,a,c,e.agentId),...x(o?.paths,a,c,e.agentId)],d=o?.command?.trim()||`qmd`;return{backend:`qmd`,citations:r,qmd:{command:i(d)?.[0]||d.split(/\s+/)[0]||`qmd`,mcporter:S(o?.mcporter),searchMode:y(o?.searchMode),collections:u,includeDefaultMemory:s,sessions:b(o?.sessions,a),update:{intervalMs:m(o?.update?.interval),debounceMs:g(o?.update?.debounceMs),onBoot:o?.update?.onBoot!==!1,waitForBootSync:o?.update?.waitForBootSync===!0,embedIntervalMs:h(o?.update?.embedInterval),commandTimeoutMs:_(o?.update?.commandTimeoutMs,3e4),updateTimeoutMs:_(o?.update?.updateTimeoutMs,12e4),embedTimeoutMs:_(o?.update?.embedTimeoutMs,12e4)},limits:v(o?.limits),scope:o?.scope??l}}}var T=e({closeAllMemorySearchManagers:()=>j,getMemorySearchManager:()=>A});const E=t(`memory`),D=new Map;let O=null;function k(){return O??=import(`./manager-runtime-CoaA2Cm_.js`),O}async function A(e){let t=w(e);if(t.backend===`qmd`&&t.qmd){let n=e.purpose===`status`,r;if(!n){r=N(e.agentId,t.qmd);let n=D.get(r);if(n)return{manager:n}}try{let{QmdMemoryManager:i}=await import(`./qmd-manager-DSQ_mDCl.js`),a=await i.create({cfg:e.cfg,agentId:e.agentId,resolved:t,mode:n?`status`:`full`});if(a){if(n)return{manager:a};let t=new M({primary:a,fallbackFactory:async()=>{let{MemoryIndexManager:t}=await k();return await t.get(e)}},()=>{r&&D.delete(r)});return r&&D.set(r,t),{manager:t}}}catch(e){let t=e instanceof Error?e.message:String(e);E.warn(`qmd memory unavailable; falling back to builtin: ${t}`)}}try{let{MemoryIndexManager:t}=await k();return{manager:await t.get(e)}}catch(e){return{manager:null,error:e instanceof Error?e.message:String(e)}}}async function j(){let e=Array.from(D.values());D.clear();for(let t of e)try{await t.close?.()}catch(e){E.warn(`failed to close qmd memory manager: ${String(e)}`)}if(O!==null){let{closeAllMemoryIndexManagers:e}=await k();await e()}}var M=class{constructor(e,t){this.deps=e,this.onClose=t,this.fallback=null,this.primaryFailed=!1,this.cacheEvicted=!1}async search(e,t){if(!this.primaryFailed)try{return await this.deps.primary.search(e,t)}catch(e){this.primaryFailed=!0,this.lastError=e instanceof Error?e.message:String(e),E.warn(`qmd memory failed; switching to builtin index: ${this.lastError}`),await this.deps.primary.close?.().catch(()=>{}),this.evictCacheEntry()}let n=await this.ensureFallback();if(n)return await n.search(e,t);throw Error(this.lastError??`memory search unavailable`)}async readFile(e){if(!this.primaryFailed)return await this.deps.primary.readFile(e);let t=await this.ensureFallback();if(t)return await t.readFile(e);throw Error(this.lastError??`memory read unavailable`)}status(){if(!this.primaryFailed)return this.deps.primary.status();let e=this.fallback?.status(),t={from:`qmd`,reason:this.lastError??`unknown`};if(e){let n=e.custom??{};return{...e,fallback:t,custom:{...n,fallback:{disabled:!0,reason:this.lastError??`unknown`}}}}let n=this.deps.primary.status(),r=n.custom??{};return{...n,fallback:t,custom:{...r,fallback:{disabled:!0,reason:this.lastError??`unknown`}}}}async sync(e){if(!this.primaryFailed){await this.deps.primary.sync?.(e);return}await(await this.ensureFallback())?.sync?.(e)}async probeEmbeddingAvailability(){if(!this.primaryFailed)return await this.deps.primary.probeEmbeddingAvailability();let e=await this.ensureFallback();return e?await e.probeEmbeddingAvailability():{ok:!1,error:this.lastError??`memory embeddings unavailable`}}async probeVectorAvailability(){return this.primaryFailed?await(await this.ensureFallback())?.probeVectorAvailability()??!1:await this.deps.primary.probeVectorAvailability()}async close(){await this.deps.primary.close?.(),await this.fallback?.close?.(),this.evictCacheEntry()}async ensureFallback(){if(this.fallback)return this.fallback;let e;try{if(e=await this.deps.fallbackFactory(),!e)return E.warn(`memory fallback requested but builtin index is unavailable`),null}catch(e){let t=e instanceof Error?e.message:String(e);return E.warn(`memory fallback unavailable: ${t}`),null}return this.fallback=e,this.fallback}evictCacheEntry(){this.cacheEvicted||(this.cacheEvicted=!0,this.onClose?.())}};function N(e,t){return`${e}:${JSON.stringify(t)}`}export{T as n,w as r,A as t};
2
- //# sourceMappingURL=search-manager-CV2YsAym.js.map
@@ -1,2 +1 @@
1
1
  import{C as e,S as t}from"./plugins-CYLrFT4h.js";const n=t;function r(t,r){return e(t,r,{maxBytes:n,rejectSymlink:!0})}export{r as t};
2
- //# sourceMappingURL=secret-file-C7JffiM_.js.map
@@ -1,2 +1 @@
1
1
  import{C as e,S as t}from"./plugins-DNlgeTTc.js";const n=t;function r(t,r){return e(t,r,{maxBytes:n,rejectSymlink:!0})}export{r as t};
2
- //# sourceMappingURL=secret-file-D60EFEOe.js.map
@@ -1,2 +1 @@
1
1
  import{o as e}from"./utils-R-mFyVJi.js";import t from"node:fs";const n=new Set([`__proto__`,`prototype`,`constructor`]);function r(e){return n.has(e)}const i=`default`,a=/^[a-z0-9][a-z0-9_-]{0,63}$/i,o=/[^a-z0-9_-]+/g,s=/^-+/,c=/-+$/,l=new Map,u=new Map;function d(e){return a.test(e)?e.toLowerCase():e.toLowerCase().replace(o,`-`).replace(s,``).replace(c,``).slice(0,64)}function f(e){let t=d(e);if(!(!t||r(t)))return t}function p(e){let t=(e??``).trim();if(!t)return i;let n=l.get(t);if(n)return n;let r=f(t)||`default`;return h(l,t,r),r}function m(e){let t=(e??``).trim();if(!t)return;if(u.has(t))return u.get(t);let n=f(t)||void 0;return h(u,t,n),n}function h(e,t,n){if(e.set(t,n),e.size<=512)return;let r=e.keys().next();r.done||e.delete(r.value)}function g(e){return e===0||e===0n}function _(e,t,n=process.platform){return e.ino===t.ino?e.dev===t.dev?!0:n===`win32`&&(g(e.dev)||g(t.dev)):!1}function v(e){let t=typeof e==`object`&&e&&`code`in e?String(e.code):``;return t===`ENOENT`||t===`ENOTDIR`||t===`ELOOP`}function y(e,t){return _(e,t)}function b(e){let n=e.ioFs??t,r=e.allowedType??`file`,i=n.constants.O_RDONLY|(typeof n.constants.O_NOFOLLOW==`number`?n.constants.O_NOFOLLOW:0),a=null;try{if(e.rejectPathSymlink&&n.lstatSync(e.filePath).isSymbolicLink())return{ok:!1,reason:`validation`};let t=e.resolvedPath??n.realpathSync(e.filePath),o=n.lstatSync(t);if(!x(o,r)||e.rejectHardlinks&&o.isFile()&&o.nlink>1||e.maxBytes!==void 0&&o.isFile()&&o.size>e.maxBytes)return{ok:!1,reason:`validation`};a=n.openSync(t,i);let s=n.fstatSync(a);if(!x(s,r)||e.rejectHardlinks&&s.isFile()&&s.nlink>1||e.maxBytes!==void 0&&s.isFile()&&s.size>e.maxBytes||!y(o,s))return{ok:!1,reason:`validation`};let c={ok:!0,path:t,fd:a,stat:s};return a=null,c}catch(e){return v(e)?{ok:!1,reason:`path`,error:e}:{ok:!1,reason:`io`,error:e}}finally{a!==null&&n.closeSync(a)}}function x(e,t){return t===`directory`?e.isDirectory():e.isFile()}function S(n,r,i={}){let a=e(n.trim());if(!a)return{ok:!1,message:`${r} file path is empty.`};let o=i.maxBytes??16384,s;try{s=t.lstatSync(a)}catch(e){return{ok:!1,resolvedPath:a,error:e,message:`Failed to inspect ${r} file at ${a}: ${String(e)}`}}if(i.rejectSymlink&&s.isSymbolicLink())return{ok:!1,resolvedPath:a,message:`${r} file at ${a} must not be a symlink.`};if(!s.isFile())return{ok:!1,resolvedPath:a,message:`${r} file at ${a} must be a regular file.`};if(s.size>o)return{ok:!1,resolvedPath:a,message:`${r} file at ${a} exceeds ${o} bytes.`};let c=b({filePath:a,rejectPathSymlink:i.rejectSymlink,maxBytes:o});if(!c.ok){let e=c.reason===`validation`?Error(`security validation failed`):c.error;return{ok:!1,resolvedPath:a,error:e,message:`Failed to read ${r} file at ${a}: ${String(e)}`}}try{let e=t.readFileSync(c.fd,`utf8`).trim();return e?{ok:!0,secret:e,resolvedPath:a}:{ok:!1,resolvedPath:a,message:`${r} file at ${a} is empty.`}}catch(e){return{ok:!1,resolvedPath:a,error:e,message:`Failed to read ${r} file at ${a}: ${String(e)}`}}finally{t.closeSync(c.fd)}}function C(e,t,n={}){if(!e?.trim())return;let r=S(e,t,n);return r.ok?r.secret:void 0}export{p as a,i,b as n,m as o,_ as r,r as s,C as t};
2
- //# sourceMappingURL=secret-file-DuWm26jS.js.map
@@ -3,4 +3,3 @@ import{A as e,p as t,v as n}from"./subsystem-BLbY429l.js";import{g as r}from"./p
3
3
  `);return{nextRaw:o||s.length===0?`${s}${s.endsWith(`
4
4
  `)?``:`
5
5
  `}`:s,removed:a}}function Be(e){let t=p(e.config.secrets?.providers)?structuredClone(e.config.secrets?.providers):{},n=!1;for(let r of e.deletes??[])Object.prototype.hasOwnProperty.call(t,r)&&(delete t[r],n=!0);for(let[r,i]of Object.entries(e.upserts??{})){let e=t[r];P(e,i)||(t[r]=structuredClone(i),n=!0)}return n?(e.config.secrets??={},Object.keys(t).length===0?(`providers`in e.config.secrets&&delete e.config.secrets.providers,!0):(e.config.secrets.providers=t,!0)):!1}async function Ve(e){let{snapshot:t,writeOptions:n}=await R({env:e.env}).readConfigFileSnapshotForWrite();if(!t.valid)throw Error(`Cannot apply secrets plan: config is invalid.`);let i=Pe(e.plan.options),a=structuredClone(t.config),o=r(e.env,j.homedir),s=new Set,c=[],l=C(t.path);Be({config:a,upserts:e.plan.providerUpserts,deletes:e.plan.providerDeletes})&&s.add(l);let u=He({planTargets:e.plan.targets,nextConfig:a,stateDir:o,authStoreByPath:new Map,changedFiles:s});u.configChanged&&s.add(l);let d=Ue({nextConfig:a,stateDir:o,providerTargets:u.providerTargets,scrubbedValues:u.scrubbedValues,authStoreByPath:u.authStoreByPath,changedFiles:s,warnings:c,enabled:i.scrubAuthProfilesForProviderTargets}),f=Ye({stateDir:o,changedFiles:s,enabled:i.scrubLegacyAuthJson}),p=Xe({env:e.env,scrubbedValues:u.scrubbedValues,changedFiles:s,enabled:i.scrubEnv});return await Ze({env:e.env,nextConfig:a,resolvedTargets:u.resolvedTargets,authStoreByPath:d}),{nextConfig:a,configPath:l,configWriteOptions:n,authStoreByPath:d,authJsonByPath:f,envRawByPath:p,changedFiles:s,warnings:c}}function He(e){let t=e.planTargets.map(e=>({target:e,resolved:Re(e)})),n=new Set,r=new Set,i=!1;for(let{target:a,resolved:o}of t){if(o.entry.configFile===`auth-profiles.json`){if(Je({target:a,resolved:o,nextConfig:e.nextConfig,stateDir:e.stateDir,authStoreByPath:e.authStoreByPath,scrubbedValues:n})){let t=String(a.agentId??``).trim();if(!t)throw Error(`Missing required agentId for auth-profiles target ${a.path}.`);e.changedFiles.add(Ke({nextConfig:e.nextConfig,stateDir:e.stateDir,agentId:t}))}continue}let t=o.pathSegments;if(o.entry.secretShape===`sibling_ref`){let r=D(e.nextConfig,t);u(r)&&n.add(r.trim());let s=o.refPathSegments;if(!s)throw Error(`Missing sibling ref path for target ${a.type}.`);let c=O(e.nextConfig,s,a.ref),l=ue(e.nextConfig,t);(c||l)&&(i=!0);continue}let c=D(e.nextConfig,t);u(c)&&n.add(c.trim()),O(e.nextConfig,t,a.ref)&&(i=!0),o.entry.trackProviderShadowing&&o.providerId&&r.add(s(o.providerId))}return{resolvedTargets:t,scrubbedValues:n,providerTargets:r,configChanged:i,authStoreByPath:e.authStoreByPath}}function Ue(e){if(!e.enabled||e.providerTargets.size===0)return e.authStoreByPath;for(let t of V(e.nextConfig,e.stateDir)){let n=e.authStoreByPath.get(t)??U(t).value;if(!n||!p(n.profiles))continue;let r=structuredClone(n),i=!1;for(let n of De(r.profiles)){let r=s(n.provider);if(e.providerTargets.has(r)){if(n.kind===`api_key`||n.kind===`token`){u(n.value)&&e.scrubbedValues.add(n.value.trim()),n.valueField in n.profile&&(delete n.profile[n.valueField],i=!0),n.refField in n.profile&&(delete n.profile[n.refField],i=!0);continue}n.kind===`oauth`&&(n.hasAccess||n.hasRefresh)&&e.warnings.push(`Provider "${r}" has OAuth credentials in ${t}; those still take precedence and are out of scope for static SecretRef migration.`)}}i&&(e.authStoreByPath.set(t,r),e.changedFiles.add(t))}return e.authStoreByPath}function We(e){let t=e?structuredClone(e):{};return p(t.profiles)||(t.profiles={}),(typeof t.version!=`number`||!Number.isFinite(t.version))&&(t.version=1),t}function Ge(e){let t=String(e.target.agentId??``).trim();if(!t)throw Error(`Missing required agentId for auth-profiles target ${e.target.path}.`);let n=Ke({nextConfig:e.nextConfig,stateDir:e.stateDir,agentId:t}),r=e.authStoreByPath.get(n)??U(n).value,i=We(p(r)?r:void 0);return e.authStoreByPath.set(n,i),{path:n,store:i}}function W(e){return e}function Ke(e){let t=x(e.agentId),n=ie(e.nextConfig,t)?.agentDir?.trim();return n?C(a(n)):M.join(C(e.stateDir),`agents`,t,`agent`,`auth-profiles.json`)}function qe(e){let t=!1,n=e.resolved.pathSegments.slice(0,2),r=n[1];if(!r)throw Error(`Invalid auth profile target path: ${e.target.path}`);let i=D(e.store,n),a=e.resolved.entry.authProfileType;if(p(i)){if(a&&typeof i.type==`string`&&i.type!==a)throw Error(`Auth profile "${r}" type mismatch for ${e.target.path}: expected "${a}", got "${i.type}".`);if(!u(i.provider)&&u(e.target.authProfileProvider)){let r=O(W(e.store),[...n,`provider`],e.target.authProfileProvider);t||=r}return t}if(!a)throw Error(`Auth profile target ${e.target.path} is missing auth profile type metadata.`);let o=String(e.target.authProfileProvider??``).trim();if(!o)throw Error(`Cannot create auth profile "${r}" for ${e.target.path} without authProfileProvider.`);let s=O(W(e.store),n,{type:a,provider:o});return t||=s,t}function Je(e){if(e.resolved.entry.configFile!==`auth-profiles.json`)return!1;let{store:t}=Ge({target:e.target,nextConfig:e.nextConfig,stateDir:e.stateDir,authStoreByPath:e.authStoreByPath}),n=qe({target:e.target,resolved:e.resolved,store:t}),r=e.resolved.pathSegments;if(e.resolved.entry.secretShape===`sibling_ref`){let i=D(t,r);u(i)&&e.scrubbedValues.add(i.trim());let a=e.resolved.refPathSegments;if(!a)throw Error(`Missing sibling ref path for auth-profiles target ${e.target.path}.`);let o=O(W(t),a,e.target.ref),s=ue(W(t),r);return n=n||o||s,n}let i=D(t,r);u(i)&&e.scrubbedValues.add(i.trim());let a=O(W(t),r,e.target.ref);return n||=a,n}function Ye(e){let t=new Map;if(!e.enabled)return t;for(let n of H(e.stateDir)){let r=U(n).value;if(!r)continue;let i=!1,a=structuredClone(r);for(let[e,t]of Object.entries(a))p(t)&&t.type===`api_key`&&u(t.key)&&(delete a[e],i=!0);i&&(t.set(n,a),e.changedFiles.add(n))}return t}function Xe(e){let t=new Map;if(!e.enabled||e.scrubbedValues.size===0)return t;let n=M.join(S(e.env,j.homedir),`.env`);if(!N.existsSync(n))return t;let r=N.readFileSync(n,`utf8`),i=ze(r,e.scrubbedValues,new Set(A()));return i.removed>0&&i.nextRaw!==r&&(t.set(n,i.nextRaw),e.changedFiles.add(n)),t}async function Ze(e){let t={};for(let{target:n,resolved:r}of e.resolvedTargets)k({value:await l(n.ref,{config:e.nextConfig,env:e.env,cache:t}),expected:r.entry.expectedResolvedValue,errorMessage:r.entry.expectedResolvedValue===`string`?`Ref ${n.ref.source}:${n.ref.provider}:${n.ref.id} is not a non-empty string.`:`Ref ${n.ref.source}:${n.ref.provider}:${n.ref.id} is not string/object.`});let n=new Map;for(let[t,r]of e.authStoreByPath.entries())n.set(C(t),r);await ve({config:e.nextConfig,env:e.env,loadAuthStore:e=>{let t=C(a(e)),r=n.get(t);return r?structuredClone(r):o(e)}})}function Qe(e){if(!N.existsSync(e))return{existed:!1,content:``,mode:384};let t=N.statSync(e);return{existed:!0,content:N.readFileSync(e,`utf8`),mode:t.mode&511}}function $e(e,t){if(!t.existed){N.existsSync(e)&&N.rmSync(e,{force:!0});return}m(e,t.content,t.mode||384)}function et(e,t){return{path:e,content:`${JSON.stringify(t,null,2)}\n`,mode:384}}async function G(e){let t=e.env??process.env,n=await Ve({plan:e.plan,env:t}),r=[...n.changedFiles].toSorted();if(!e.write)return{mode:`dry-run`,changed:r.length>0,changedFiles:r,warningCount:n.warnings.length,warnings:n.warnings};if(r.length===0)return{mode:`write`,changed:!1,changedFiles:[],warningCount:n.warnings.length,warnings:n.warnings};let i=R({env:t}),a=new Map,o=e=>{a.has(e)||a.set(e,Qe(e))};o(n.configPath);let s=[];for(let[e,t]of n.authStoreByPath.entries())o(e),s.push(et(e,t));for(let[e,t]of n.authJsonByPath.entries())o(e),s.push(et(e,t));for(let[e,t]of n.envRawByPath.entries())o(e),s.push({path:e,content:t,mode:384});try{await i.writeConfigFile(n.nextConfig,n.configWriteOptions);for(let e of s)m(e.path,e.content,e.mode)}catch(e){for(let[e,t]of a.entries())try{$e(e,t)}catch{}throw Error(`Secrets apply failed: ${String(e)}`,{cause:e})}return{mode:`write`,changed:r.length>0,changedFiles:r,warningCount:n.warnings.length,warnings:n.warnings}}const tt=new Set([`authorization`,`proxy-authorization`,`x-api-key`,`api-key`,`apikey`,`x-auth-token`,`auth-token`,`x-access-token`,`access-token`,`x-secret-key`,`secret-key`]),nt=[`api-key`,`apikey`,`token`,`secret`,`password`,`credential`];function rt(e){let t=e.trim().toLowerCase();return t?tt.has(t)?!0:nt.some(e=>t.includes(e)):!1}function K(e,t){e.findings.push(t)}function it(e,t,n){let r=s(t),i=e.configProviderRefPaths.get(r);if(i){i.push(n);return}e.configProviderRefPaths.set(r,[n])}function q(e,t,n){let r=s(t),i=e.authProviderState.get(r);if(i){i.hasUsableStaticOrOAuth=!0,i.modes.add(n);return}e.authProviderState.set(r,{hasUsableStaticOrOAuth:!0,modes:new Set([n])})}function at(e){if(!N.existsSync(e.envPath))return;e.collector.filesScanned.add(e.envPath);let t=new Set(A()),n=N.readFileSync(e.envPath,`utf8`).split(/\r?\n/);for(let r of n){let n=r.match(/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/);if(!n)continue;let i=n[1]??``;t.has(i)&&B(n[2]??``)&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.envPath,jsonPath:`$env.${i}`,message:`Potential secret found in .env (${i}).`})}}function ot(e){let t=e.config.secrets?.defaults;for(let n of pe(e.config)){if(!n.entry.includeInAudit)continue;let{ref:r}=w({value:n.value,refValue:n.refValue,defaults:t});if(r){e.collector.refAssignments.push({file:e.configPath,path:n.path,ref:r,expected:n.entry.expectedResolvedValue,provider:n.providerId}),n.entry.trackProviderShadowing&&n.providerId&&it(e.collector,n.providerId,n.path);continue}let i=de(n.value,n.entry.expectedResolvedValue);n.entry.id===`models.providers.*.headers.*`&&!rt(n.pathSegments.at(-1)??``)||i&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.configPath,jsonPath:n.path,message:`${n.path} is stored as plaintext.`,provider:n.providerId})}}function st(e){if(!N.existsSync(e.authStorePath))return;e.collector.filesScanned.add(e.authStorePath);let t=U(e.authStorePath);if(t.error){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.authStorePath,jsonPath:`<root>`,message:`Invalid JSON in auth-profiles store: ${t.error}`});return}let n=t.value;if(!(!n||!p(n.profiles)))for(let t of De(n.profiles)){if(t.kind===`api_key`||t.kind===`token`){let{ref:n}=w({value:t.value,refValue:t.refValue,defaults:e.defaults});n&&(e.collector.refAssignments.push({file:e.authStorePath,path:`profiles.${t.profileId}.${t.valueField}`,ref:n,expected:`string`,provider:t.provider}),q(e.collector,t.provider,t.kind)),u(t.value)&&(K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.authStorePath,jsonPath:`profiles.${t.profileId}.${t.valueField}`,message:t.kind===`api_key`?`Auth profile API key is stored as plaintext.`:`Auth profile token is stored as plaintext.`,provider:t.provider,profileId:t.profileId}),q(e.collector,t.provider,t.kind));continue}(t.hasAccess||t.hasRefresh)&&(K(e.collector,{code:`LEGACY_RESIDUE`,severity:`info`,file:e.authStorePath,jsonPath:`profiles.${t.profileId}`,message:`OAuth credentials are present (out of scope for static SecretRef migration).`,provider:t.provider,profileId:t.profileId}),q(e.collector,t.provider,`oauth`))}}function ct(e){for(let t of H(e.stateDir)){e.collector.filesScanned.add(t);let n=U(t);if(n.error){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t,jsonPath:`<root>`,message:`Invalid JSON in legacy auth.json: ${n.error}`});continue}let r=n.value;if(r)for(let[n,i]of Object.entries(r))p(i)&&i.type===`api_key`&&u(i.key)&&K(e.collector,{code:`LEGACY_RESIDUE`,severity:`warn`,file:t,jsonPath:n,message:`Legacy auth.json contains static api_key credentials.`,provider:n})}}function lt(e){if(!N.existsSync(e.modelsJsonPath))return;e.collector.filesScanned.add(e.modelsJsonPath);let t=U(e.modelsJsonPath,{requireRegularFile:!0,maxBytes:5242880});if(t.error){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.modelsJsonPath,jsonPath:`<root>`,message:`Invalid JSON in models.json: ${t.error}`});return}let n=t.value;if(!(!n||!p(n.providers)))for(let[t,r]of Object.entries(n.providers)){if(!p(r))continue;let n=r.apiKey;ae(n)?K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.modelsJsonPath,jsonPath:`providers.${t}.apiKey`,message:`models.json contains an unresolved SecretRef object; regenerate models.json.`,provider:t}):u(n)&&!f(n)&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.modelsJsonPath,jsonPath:`providers.${t}.apiKey`,message:`models.json provider apiKey is stored as plaintext.`,provider:t});let i=p(r.headers)?r.headers:void 0;if(i)for(let[n,r]of Object.entries(i)){let i=`providers.${t}.headers.${n}`;if(ae(r)){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.modelsJsonPath,jsonPath:i,message:`models.json contains an unresolved SecretRef object for provider headers; regenerate models.json.`,provider:t});continue}u(r)&&(ne(r)||rt(n)&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.modelsJsonPath,jsonPath:i,message:`models.json provider header value is stored as plaintext.`,provider:t}))}}}async function ut(e){let t={},n=new Map;for(let t of e.collector.refAssignments){let e=`${t.ref.source}:${t.ref.provider}`,r=n.get(e);r||(r=new Map,n.set(e,r)),r.set(T(t.ref),t.ref)}let r=new Map,i=new Map;for(let a of n.values()){let n=[...a.values()],o=n[0]?.provider;try{let i=await ee(n,{config:e.config,env:e.env,cache:t});for(let[e,t]of i.entries())r.set(e,t);continue}catch(e){if(o&&g(e)){for(let t of n)i.set(T(t),e);continue}}let s=await le({tasks:n.map(n=>async()=>({key:T(n),resolved:await l(n,{config:e.config,env:e.env,cache:t})})),limit:Math.min(8,n.length),errorMode:`continue`,onTaskError:(e,t)=>{let r=n[t];r&&i.set(T(r),e)}});for(let e of s.results)e&&r.set(e.key,e.resolved)}for(let t of e.collector.refAssignments){let n=T(t.ref),a=i.get(n);if(a){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t.file,jsonPath:t.path,message:`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (${v(a)}).`,provider:t.provider});continue}if(!r.has(n)){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t.file,jsonPath:t.path,message:`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (resolved value is missing).`,provider:t.provider});continue}_e(r.get(n),t.expected)||K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t.file,jsonPath:t.path,message:t.expected===`string`?`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (resolved value is not a non-empty string).`:`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (resolved value is not a string/object).`,provider:t.provider})}}function dt(e){for(let[t,n]of e.configProviderRefPaths.entries()){let r=e.authProviderState.get(t);if(!r?.hasUsableStaticOrOAuth)continue;let i=[...r.modes].join(`/`);for(let r of n)K(e,{code:`REF_SHADOWED`,severity:`warn`,file:`openclaw.json`,jsonPath:r,message:`Auth profile credentials (${i}) take precedence for provider "${t}", so this config ref may never be used.`,provider:t})}}function ft(e){return{plaintextCount:e.filter(e=>e.code===`PLAINTEXT_FOUND`).length,unresolvedRefCount:e.filter(e=>e.code===`REF_UNRESOLVED`).length,shadowedRefCount:e.filter(e=>e.code===`REF_SHADOWED`).length,legacyResidueCount:e.filter(e=>e.code===`LEGACY_RESIDUE`).length}}async function pt(e={}){let t=e.env??process.env,n=await R({env:t}).readConfigFileSnapshot(),i=C(n.path),a=n.valid?n.config.secrets?.defaults:void 0,o={findings:[],refAssignments:[],configProviderRefPaths:new Map,authProviderState:new Map,filesScanned:new Set([i])},s=r(t,j.homedir),c=M.join(S(t,j.homedir),`.env`),l=n.valid?n.config:{};if(n.valid){ot({config:l,configPath:i,collector:o});for(let e of V(l,s))st({authStorePath:e,collector:o,defaults:a});for(let e of Le(l,s,t))lt({modelsJsonPath:e,collector:o});await ut({collector:o,config:l,env:t}),dt(o)}else K(o,{code:`REF_UNRESOLVED`,severity:`error`,file:i,jsonPath:`<root>`,message:`Config is invalid; cannot validate secret references reliably.`});at({envPath:c,collector:o}),ct({stateDir:s,collector:o});let u=ft(o.findings);return{version:1,status:u.unresolvedRefCount>0?`unresolved`:o.findings.length>0?`findings`:`clean`,filesScanned:[...o.filesScanned].toSorted(),summary:u,findings:o.findings}}function mt(e,t){return e.summary.unresolvedRefCount>0?2:t&&e.findings.length>0?1:0}function ht(e){return p(e.secrets?.providers)?e.secrets.providers:{}}function gt(e){return e.configFile===`auth-profiles.json`?`auth-profiles:${e.agentId??``}:${e.path}`:`openclaw:${e.path}`}function _t(e,t){let n=t[1];if(!n)return;let r=e.profiles?.[n];if(!p(r)||typeof r.provider!=`string`)return;let i=r.provider.trim();return i.length>0?i:void 0}function vt(e){let t=e.authoredOpenClawConfig??e.config,n=e=>yt(t,e),r=pe(e.config).filter(e=>e.entry.includeInConfigure).map(t=>{let r=w({value:t.value,refValue:t.refValue,defaults:e.config.secrets?.defaults}),i=n(t.pathSegments),a=t.refPathSegments?n(t.refPathSegments):!1;return{type:t.entry.targetType,path:t.path,pathSegments:[...t.pathSegments],label:t.path,configFile:`openclaw.json`,expectedResolvedValue:t.entry.expectedResolvedValue,...r.ref?{existingRef:r.ref}:{},...i||a?{}:{isDerived:!0},...t.providerId?{providerId:t.providerId}:{},...t.accountId?{accountId:t.accountId}:{}}}),i=e.authProfiles===void 0?[]:fe(e.authProfiles.store).filter(e=>e.entry.includeInConfigure).map(t=>{let n=e.authProfiles;if(!n)throw Error(`Missing auth profile scope for configure candidate discovery.`);let r=_t(n.store,t.pathSegments),i=w({value:t.value,refValue:t.refValue,defaults:e.config.secrets?.defaults});return{type:t.entry.targetType,path:t.path,pathSegments:[...t.pathSegments],label:`${t.path} (auth profile, agent ${n.agentId})`,configFile:`auth-profiles.json`,expectedResolvedValue:t.entry.expectedResolvedValue,...i.ref?{existingRef:i.ref}:{},agentId:n.agentId,...r?{authProfileProvider:r}:{}}});return[...r,...i].toSorted((e,t)=>gt(e).localeCompare(gt(t)))}function yt(e,t){if(t.length===0)return!1;let n=e;for(let e=0;e<t.length;e+=1){let r=t[e]??``;if(Array.isArray(n)){if(!/^\d+$/.test(r))return!1;let i=Number.parseInt(r,10);if(!Number.isFinite(i)||i<0||i>=n.length)return!1;if(e===t.length-1)return!0;n=n[i];continue}if(!p(n)||!Object.prototype.hasOwnProperty.call(n,r))return!1;if(e===t.length-1)return!0;n=n[r]}return!1}function bt(e){let t=ht(e.original),n=ht(e.next),r={},i=[];for(let[e,i]of Object.entries(n)){let n=t[e];P(n,i)||(r[e]=structuredClone(i))}for(let e of Object.keys(t))Object.prototype.hasOwnProperty.call(n,e)||i.push(e);return{upserts:r,deletes:i.toSorted()}}function xt(e){return e.selectedTargets.size>0||Object.keys(e.providerChanges.upserts).length>0||e.providerChanges.deletes.length>0}function St(e){return{version:1,protocolVersion:1,generatedAt:e.generatedAt??new Date().toISOString(),generatedBy:`openclaw secrets configure`,targets:[...e.selectedTargets.values()].map(e=>({type:e.type,path:e.path,pathSegments:[...e.pathSegments],ref:e.ref,...e.agentId?{agentId:e.agentId}:{},...e.providerId?{providerId:e.providerId}:{},...e.accountId?{accountId:e.accountId}:{},...e.authProfileProvider?{authProfileProvider:e.authProfileProvider}:{}})),...Object.keys(e.providerChanges.upserts).length>0?{providerUpserts:e.providerChanges.upserts}:{},...e.providerChanges.deletes.length>0?{providerDeletes:e.providerChanges.deletes}:{},options:{scrubEnv:!0,scrubAuthProfilesForProviderTargets:!0,scrubLegacyAuthJson:!0}}}const Ct=/^[A-Z][A-Z0-9_]{0,127}$/,wt=/^[A-Za-z]:[\\/]/,Tt=/^\\\\[^\\]+\\[^\\]+/;function J(e){return M.isAbsolute(e)||wt.test(e)||Tt.test(e)}function Y(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}function X(e,t){let n=e.trim();if(!n||!/^\d+$/.test(n))return;let r=Number.parseInt(n,10);if(!(!Number.isFinite(r)||r<=0||r>t))return r}function Et(e){return p(e.secrets?.providers)?e.secrets.providers:{}}function Dt(e,t,n){e.secrets??={},p(e.secrets.providers)||(e.secrets.providers={}),e.secrets.providers[t]=n}function Ot(e,t){if(!p(e.secrets?.providers))return!1;let n=e.secrets.providers;if(!Object.prototype.hasOwnProperty.call(n,t))return!1;if(delete n[t],Object.keys(n).length===0&&delete e.secrets?.providers,p(e.secrets?.defaults)){let n=e.secrets.defaults;n?.env===t&&delete n.env,n?.file===t&&delete n.file,n?.exec===t&&delete n.exec,n&&n.env===void 0&&n.file===void 0&&n.exec===void 0&&delete e.secrets?.defaults}return!0}function kt(e){return e.source===`env`?e.allowlist?.length?`env (${e.allowlist.length} allowlisted)`:`env`:e.source===`file`?`file (${e.mode??`json`})`:`exec (${e.jsonOnly===!1?`json+text`:`json`})`}function At(e){let t=t=>Object.values(e.secrets?.providers??{}).some(e=>e?.source===t),n=[{value:`env`,label:`env`}];return t(`file`)&&n.push({value:`file`,label:`file`}),t(`exec`)&&n.push({value:`exec`,label:`exec`}),n}function Z(e,t){if(typeof e==`symbol`)throw Error(t);return e}const jt=/^[A-Za-z0-9:_-]{1,128}$/;function Mt(e){let t=Y(e);for(let e of t)if(!Ct.test(e))return`Invalid env name: ${e}`}async function Nt(e){let t=Z(await L({message:e.message,initialValue:e.initialValue,validate:e=>Mt(String(e??``))}),`Secrets configure cancelled.`);return Y(String(t??``))}async function Q(e){let t=Z(await L({message:e.message,initialValue:e.initialValue===void 0?``:String(e.initialValue),validate:t=>{let n=String(t??``).trim();if(n&&X(n,e.max)===void 0)return`Must be an integer between 1 and ${e.max}`}}),`Secrets configure cancelled.`);return X(String(t??``),e.max)}function $(e){return e.configFile===`auth-profiles.json`?`auth-profiles:${String(e.agentId??``).trim()}:${e.path}`:`openclaw:${e.path}`}function Pt(e,t){return e.some(e=>e.value===t)}function Ft(e){if(typeof e.authProfileProvider==`string`&&e.authProfileProvider.trim())return e.authProfileProvider.trim().toLowerCase();if(typeof e.providerId==`string`&&e.providerId.trim())return e.providerId.trim().toLowerCase()}function It(e){let t=Ft(e);if(!t)return;let n=be[t];if(!(!Array.isArray(n)||n.length===0))return n[0]}function Lt(e,t){let n=new Set(b(e));if(!t)return re(e);let r=x(t);if(n.has(r))return r;let i=[...n].toSorted().join(`, `);throw Error(`Unknown agent id "${t}". Known agents: ${i||`none configured`}.`)}function Rt(e,t){if(!e)return{version:1,profiles:{}};if(!p(e.profiles))throw Error(`Cannot run interactive secrets configure because ${t} is invalid (missing "profiles" object).`);return{version:typeof e.version==`number`&&Number.isFinite(e.version)?e.version:1,profiles:e.profiles,...p(e.order)?{order:e.order}:{},...p(e.lastGood)?{lastGood:e.lastGood}:{},...p(e.usageStats)?{usageStats:e.usageStats}:{}}}function zt(e){let t=a(y(e.config,e.agentId)),n=U(t);if(n.error)throw Error(`Cannot run interactive secrets configure because ${t} could not be read: ${n.error}`);return Rt(n.value,t)}async function Bt(e){let t=Z(await L({message:`Auth profile id`,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!jt.test(t))return`Use letters/numbers/":"/"_"/"-" only.`}}),`Secrets configure cancelled.`),n=Z(await I({message:`Auth profile credential type`,options:[{value:`api_key`,label:`api_key (key/keyRef)`},{value:`token`,label:`token (token/tokenRef)`}]}),`Secrets configure cancelled.`),r=Z(await L({message:`Provider id`,validate:e=>String(e??``).trim().length>0?void 0:`Required`}),`Secrets configure cancelled.`),i=String(t).trim(),a=String(r).trim();return n===`token`?{type:`auth-profiles.token.token`,path:`profiles.${i}.token`,pathSegments:[`profiles`,i,`token`],label:`profiles.${i}.token (auth profile, agent ${e})`,configFile:`auth-profiles.json`,agentId:e,authProfileProvider:a,expectedResolvedValue:`string`}:{type:`auth-profiles.api_key.key`,path:`profiles.${i}.key`,pathSegments:[`profiles`,i,`key`],label:`profiles.${i}.key (auth profile, agent ${e})`,configFile:`auth-profiles.json`,agentId:e,authProfileProvider:a,expectedResolvedValue:`string`}}async function Vt(e){let t=Z(await L({message:`Provider alias`,initialValue:`default`,validate:t=>{let n=String(t??``).trim();if(!n)return`Required`;if(!E(n))return`Must match /^[a-z][a-z0-9_-]{0,63}$/`;if(e.existingAliases.has(n))return`Alias already exists`}}),`Secrets configure cancelled.`);return String(t).trim()}async function Ht(e){return Z(await I({message:`Provider source`,options:[{value:`env`,label:`env`},{value:`file`,label:`file`},{value:`exec`,label:`exec`}],initialValue:e}),`Secrets configure cancelled.`)}async function Ut(e){let t=await Nt({message:`Env allowlist (comma-separated, blank for unrestricted)`,initialValue:e?.allowlist?.join(`,`)??``});return{source:`env`,...t.length>0?{allowlist:t}:{}}}async function Wt(e){let t=Z(await L({message:`File path (absolute)`,initialValue:e?.path??``,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!J(t))return`Must be an absolute path`}}),`Secrets configure cancelled.`),n=Z(await I({message:`File mode`,options:[{value:`json`,label:`json`},{value:`singleValue`,label:`singleValue`}],initialValue:e?.mode??`json`}),`Secrets configure cancelled.`),r=await Q({message:`Timeout ms (blank for default)`,initialValue:e?.timeoutMs,max:12e4}),i=await Q({message:`Max bytes (blank for default)`,initialValue:e?.maxBytes,max:20*1024*1024});return{source:`file`,path:String(t).trim(),mode:n,...r?{timeoutMs:r}:{},...i?{maxBytes:i}:{}}}async function Gt(e){let t=e.trim();if(!t)return;let n=JSON.parse(t);if(!Array.isArray(n)||!n.every(e=>typeof e==`string`))throw Error(`args must be a JSON array of strings`);return n}async function Kt(e){let t=Z(await L({message:`Command path (absolute)`,initialValue:e?.command??``,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!J(t))return`Must be an absolute path`;if(!d(t))return`Command value is not allowed`}}),`Secrets configure cancelled.`),n=Z(await L({message:`Args JSON array (blank for none)`,initialValue:JSON.stringify(e?.args??[]),validate:e=>{let t=String(e??``).trim();if(t)try{let e=JSON.parse(t);return!Array.isArray(e)||!e.every(e=>typeof e==`string`)?`Must be a JSON array of strings`:void 0}catch{return`Must be valid JSON`}}}),`Secrets configure cancelled.`),r=await Q({message:`Timeout ms (blank for default)`,initialValue:e?.timeoutMs,max:12e4}),i=await Q({message:`No-output timeout ms (blank for default)`,initialValue:e?.noOutputTimeoutMs,max:12e4}),a=await Q({message:`Max output bytes (blank for default)`,initialValue:e?.maxOutputBytes,max:20*1024*1024}),o=Z(await F({message:`Require JSON-only response?`,initialValue:e?.jsonOnly??!0}),`Secrets configure cancelled.`),s=await Nt({message:`Pass-through env vars (comma-separated, blank for none)`,initialValue:e?.passEnv?.join(`,`)??``}),c=Z(await L({message:`Trusted dirs (comma-separated absolute paths, blank for none)`,initialValue:e?.trustedDirs?.join(`,`)??``,validate:e=>{let t=Y(String(e??``));for(let e of t)if(!J(e))return`Trusted dir must be absolute: ${e}`}}),`Secrets configure cancelled.`),l=Z(await F({message:`Allow insecure command path checks?`,initialValue:e?.allowInsecurePath??!1}),`Secrets configure cancelled.`),u=Z(await F({message:`Allow symlink command path?`,initialValue:e?.allowSymlinkCommand??!1}),`Secrets configure cancelled.`),f=await Gt(String(n??``)),m=Y(String(c??``));return{source:`exec`,command:String(t).trim(),...f&&f.length>0?{args:f}:{},...r?{timeoutMs:r}:{},...i?{noOutputTimeoutMs:i}:{},...a?{maxOutputBytes:a}:{},...o?{jsonOnly:o}:{jsonOnly:!1},...s.length>0?{passEnv:s}:{},...m.length>0?{trustedDirs:m}:{},...l?{allowInsecurePath:!0}:{},...u?{allowSymlinkCommand:!0}:{},...p(e?.env)?{env:e.env}:{}}}async function qt(e,t){return e===`env`?await Ut(t?.source===`env`?t:void 0):e===`file`?await Wt(t?.source===`file`?t:void 0):await Kt(t?.source===`exec`?t:void 0)}async function Jt(e){for(;;){let t=Et(e),n=Object.entries(t).toSorted(([e],[t])=>e.localeCompare(t)),r=[{value:`add`,label:`Add provider`,hint:`Define a new env/file/exec provider`}];n.length>0&&(r.push({value:`edit`,label:`Edit provider`,hint:`Update an existing provider`}),r.push({value:`remove`,label:`Remove provider`,hint:`Delete a provider alias`})),r.push({value:`continue`,label:`Continue`,hint:`Move to credential mapping`});let i=Z(await I({message:n.length>0?`Configure secret providers`:`Configure secret providers (only env refs are available until file/exec providers are added)`,options:r}),`Secrets configure cancelled.`);if(i===`continue`)return;if(i===`add`){let t=await Ht();Dt(e,await Vt({existingAliases:new Set(n.map(([e])=>e))}),await qt(t));continue}if(i===`edit`){let r=Z(await I({message:`Select provider to edit`,options:n.map(([e,t])=>({value:e,label:e,hint:kt(t)}))}),`Secrets configure cancelled.`),i=t[r];if(!i)continue;let a=await qt(await Ht(i.source),i);P(i,a)||Dt(e,r,a);continue}if(i===`remove`){let t=Z(await I({message:`Select provider to remove`,options:n.map(([e,t])=>({value:e,label:e,hint:kt(t)}))}),`Secrets configure cancelled.`);Z(await F({message:`Remove provider "${t}"?`,initialValue:!1}),`Secrets configure cancelled.`)&&Ot(e,t)}}}async function Yt(e={}){if(!process.stdin.isTTY)throw Error(`secrets configure requires an interactive TTY.`);if(e.providersOnly&&e.skipProviderSetup)throw Error(`Cannot combine --providers-only with --skip-provider-setup.`);let t=e.env??process.env,{snapshot:n}=await R({env:t}).readConfigFileSnapshotForWrite();if(!n.valid)throw Error(`Cannot run interactive secrets configure because config is invalid.`);let r=structuredClone(n.config);e.skipProviderSetup||await Jt(r);let i=bt({original:n.config,next:r}),a=new Map;if(!e.providersOnly){let i=Lt(n.config,e.agentId),o=zt({config:n.config,agentId:i}),s=vt({config:r,authoredOpenClawConfig:n.resolved,authProfiles:{agentId:i,store:o}});if(s.length===0)throw Error(`No configurable secret-bearing fields found for this agent scope.`);let c=At(r),u=s.some(e=>e.isDerived===!0),d=!1;for(;;){let e=d?s:s.filter(e=>e.isDerived!==!0),n=e.map(e=>({value:$(e),label:e.label,hint:[e.configFile===`auth-profiles.json`?`auth-profiles.json`:`openclaw.json`,e.isDerived===!0?`derived`:void 0].filter(Boolean).join(` | `)}));n.push({value:`__create_auth_profile__`,label:`Create auth profile mapping`,hint:`Add a new auth-profiles target for agent ${i}`}),u&&n.push({value:`__toggle_derived__`,label:d?`Hide derived targets`:`Show derived targets`,hint:d?`Show only fields authored directly in config`:`Include normalized/derived aliases`}),a.size>0&&n.unshift({value:`__done__`,label:`Done`,hint:`Finish and run preflight`});let o=Z(await I({message:`Select credential field`,options:n}),`Secrets configure cancelled.`);if(o===`__done__`)break;if(o===`__create_auth_profile__`){let e=await Bt(i),t=$(e),n=s.findIndex(e=>$(e)===t);n>=0?s[n]=e:s.push(e);continue}if(o===`__toggle_derived__`){d=!d;continue}let f=e.find(e=>$(e)===o);if(!f)throw Error(`Unknown configure target: ${o}`);let p=$(f),m=a.get(p)?.ref??f.existingRef,h=Z(await I({message:`Secret source`,options:c,initialValue:m&&Pt(c,m.source)?m.source:void 0}),`Secrets configure cancelled.`),ee=oe(r,h,{preferFirstProviderForSource:!0}),te=Z(await L({message:`Provider alias`,initialValue:m?.source===h?m.provider:ee,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!E(t))return`Must match /^[a-z][a-z0-9_-]{0,63}$/`}}),`Secrets configure cancelled.`),g=String(te).trim(),_=m?.source===h?m.id:void 0;if(!_&&h===`env`&&(_=It(f)),!_&&h===`file`){let e=r.secrets?.providers?.[g];e?.source===`file`&&e.mode===`singleValue`&&(_=`value`)}let ne=Z(await L({message:`Secret id`,initialValue:_,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(h===`exec`&&!se(t))return ce()}}),`Secrets configure cancelled.`),v={source:h,provider:g,id:String(ne).trim()};k({value:await l(v,{config:r,env:t}),expected:f.expectedResolvedValue,errorMessage:f.expectedResolvedValue===`string`?`Ref ${v.source}:${v.provider}:${v.id} did not resolve to a non-empty string.`:`Ref ${v.source}:${v.provider}:${v.id} did not resolve to a supported value type.`});let y={...f,ref:v};if(a.set(p,y),!Z(await F({message:`Configure another credential?`,initialValue:!0}),`Secrets configure cancelled.`))break}}if(!xt({selectedTargets:a,providerChanges:i}))throw Error(`No secrets changes were selected.`);let o=St({selectedTargets:a,providerChanges:i});return{plan:o,preflight:await G({plan:o,env:t,write:!1})}}function Xt(e){let t=N.readFileSync(e,`utf8`),n=JSON.parse(t);if(!Ne(n))throw Error(`Invalid secrets plan file: ${e}`);return n}function Zt(r){let i=r.command(`secrets`).description(`Secrets runtime controls`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${ye(`/gateway/security`,`docs.openclaw.ai/gateway/security`)}\n`);Se(i.command(`reload`).description(`Re-resolve secret references and atomically swap runtime snapshot`).option(`--json`,`Output JSON`,!1)).action(async e=>{try{let n=await xe(`secrets.reload`,e,void 0,{expectFinal:!1});if(e.json){t.log(JSON.stringify(n,null,2));return}let r=Number(n?.warningCount??0);if(Number.isFinite(r)&&r>0){t.log(`Secrets reloaded with ${r} warning(s).`);return}t.log(`Secrets reloaded.`)}catch(e){t.error(n(String(e))),t.exit(1)}}),i.command(`audit`).description(`Audit plaintext secrets, unresolved refs, and precedence drift`).option(`--check`,`Exit non-zero when findings are present`,!1).option(`--json`,`Output JSON`,!1).action(async e=>{try{let n=await pt();if(e.json)t.log(JSON.stringify(n,null,2));else if(t.log(`Secrets audit: ${n.status}. plaintext=${n.summary.plaintextCount}, unresolved=${n.summary.unresolvedRefCount}, shadowed=${n.summary.shadowedRefCount}, legacy=${n.summary.legacyResidueCount}.`),n.findings.length>0){for(let e of n.findings.slice(0,20))t.log(`- [${e.code}] ${e.file}:${e.jsonPath} ${e.message}`);n.findings.length>20&&t.log(`... ${n.findings.length-20} more finding(s).`)}let r=mt(n,!!e.check);r!==0&&t.exit(r)}catch(e){t.error(n(String(e))),t.exit(2)}}),i.command(`configure`).description(`Interactive secrets helper (provider setup + SecretRef mapping + preflight)`).option(`--apply`,`Apply changes immediately after preflight`,!1).option(`--yes`,`Skip apply confirmation prompt`,!1).option(`--providers-only`,`Configure secrets.providers only, skip credential mapping`,!1).option(`--skip-provider-setup`,`Skip provider setup and only map credential fields to existing providers`,!1).option(`--agent <id>`,`Agent id for auth-profiles targets (default: configured default agent)`).option(`--plan-out <path>`,`Write generated plan JSON to a file`).option(`--json`,`Output JSON`,!1).action(async e=>{try{let n=await Yt({providersOnly:!!e.providersOnly,skipProviderSetup:!!e.skipProviderSetup,agentId:typeof e.agent==`string`?e.agent:void 0});if(e.planOut&&N.writeFileSync(e.planOut,`${JSON.stringify(n.plan,null,2)}\n`,`utf8`),e.json)t.log(JSON.stringify({plan:n.plan,preflight:n.preflight},null,2));else{if(t.log(`Preflight: changed=${n.preflight.changed}, files=${n.preflight.changedFiles.length}, warnings=${n.preflight.warningCount}.`),n.preflight.warningCount>0)for(let e of n.preflight.warnings)t.log(`- warning: ${e}`);let r=Object.keys(n.plan.providerUpserts??{}).length,i=n.plan.providerDeletes?.length??0;t.log(`Plan: targets=${n.plan.targets.length}, providerUpserts=${r}, providerDeletes=${i}.`),e.planOut&&t.log(`Plan written to ${e.planOut}`)}let r=!!e.apply;if(!r&&!e.json){let e=await F({message:`Apply this plan now?`,initialValue:!0});typeof e==`boolean`&&(r=e)}if(r){if(e.apply&&!e.yes&&!e.json&&await F({message:`This migration is one-way for migrated plaintext values. Continue with apply?`,initialValue:!0})!==!0){t.log(`Apply cancelled.`);return}let r=await G({plan:n.plan,write:!0});if(e.json){t.log(JSON.stringify(r,null,2));return}t.log(r.changed?`Secrets applied. Updated ${r.changedFiles.length} file(s).`:`Secrets apply: no changes.`)}}catch(e){t.error(n(String(e))),t.exit(1)}}),i.command(`apply`).description(`Apply a previously generated secrets plan`).requiredOption(`--from <path>`,`Path to plan JSON`).option(`--dry-run`,`Validate/preflight only`,!1).option(`--json`,`Output JSON`,!1).action(async e=>{try{let n=await G({plan:Xt(e.from),write:!e.dryRun});if(e.json){t.log(JSON.stringify(n,null,2));return}if(e.dryRun){t.log(n.changed?`Secrets apply dry run: ${n.changedFiles.length} file(s) would change.`:`Secrets apply dry run: no changes.`);return}t.log(n.changed?`Secrets applied. Updated ${n.changedFiles.length} file(s).`:`Secrets apply: no changes.`)}catch(e){t.error(n(String(e))),t.exit(1)}})}export{Zt as registerSecretsCli};
6
- //# sourceMappingURL=secrets-cli-B8kwyZFo.js.map
@@ -3,4 +3,3 @@ import{g as e}from"./paths-B4IRk3wi.js";import{A as t,p as n,v as r}from"./subsy
3
3
  `);return{nextRaw:o||s.length===0?`${s}${s.endsWith(`
4
4
  `)?``:`
5
5
  `}`:s,removed:a}}function Ve(e){let t=u(e.config.secrets?.providers)?structuredClone(e.config.secrets?.providers):{},n=!1;for(let r of e.deletes??[])Object.prototype.hasOwnProperty.call(t,r)&&(delete t[r],n=!0);for(let[r,i]of Object.entries(e.upserts??{})){let e=t[r];N(e,i)||(t[r]=structuredClone(i),n=!0)}return n?(e.config.secrets??={},Object.keys(t).length===0?(`providers`in e.config.secrets&&delete e.config.secrets.providers,!0):(e.config.secrets.providers=t,!0)):!1}async function He(t){let{snapshot:n,writeOptions:r}=await L({env:t.env}).readConfigFileSnapshotForWrite();if(!n.valid)throw Error(`Cannot apply secrets plan: config is invalid.`);let i=Fe(t.plan.options),o=structuredClone(n.config),s=e(t.env,j.homedir),c=new Set,l=[],u=a(n.path);Ve({config:o,upserts:t.plan.providerUpserts,deletes:t.plan.providerDeletes})&&c.add(u);let d=Ue({planTargets:t.plan.targets,nextConfig:o,stateDir:s,authStoreByPath:new Map,changedFiles:c});d.configChanged&&c.add(u);let f=We({nextConfig:o,stateDir:s,providerTargets:d.providerTargets,scrubbedValues:d.scrubbedValues,authStoreByPath:d.authStoreByPath,changedFiles:c,warnings:l,enabled:i.scrubAuthProfilesForProviderTargets}),p=Ye({stateDir:s,changedFiles:c,enabled:i.scrubLegacyAuthJson}),m=Xe({env:t.env,scrubbedValues:d.scrubbedValues,changedFiles:c,enabled:i.scrubEnv});return await Ze({env:t.env,nextConfig:o,resolvedTargets:d.resolvedTargets,authStoreByPath:f}),{nextConfig:o,configPath:u,configWriteOptions:r,authStoreByPath:f,authJsonByPath:p,envRawByPath:m,changedFiles:c,warnings:l}}function Ue(e){let t=e.planTargets.map(e=>({target:e,resolved:ze(e)})),n=new Set,r=new Set,i=!1;for(let{target:a,resolved:o}of t){if(o.entry.configFile===`auth-profiles.json`){if(Je({target:a,resolved:o,nextConfig:e.nextConfig,stateDir:e.stateDir,authStoreByPath:e.authStoreByPath,scrubbedValues:n})){let t=String(a.agentId??``).trim();if(!t)throw Error(`Missing required agentId for auth-profiles target ${a.path}.`);e.changedFiles.add(W({nextConfig:e.nextConfig,stateDir:e.stateDir,agentId:t}))}continue}let t=o.pathSegments;if(o.entry.secretShape===`sibling_ref`){let r=E(e.nextConfig,t);s(r)&&n.add(r.trim());let c=o.refPathSegments;if(!c)throw Error(`Missing sibling ref path for target ${a.type}.`);let l=k(e.nextConfig,c,a.ref),u=D(e.nextConfig,t);(l||u)&&(i=!0);continue}let c=E(e.nextConfig,t);s(c)&&n.add(c.trim()),k(e.nextConfig,t,a.ref)&&(i=!0),o.entry.trackProviderShadowing&&o.providerId&&r.add(h(o.providerId))}return{resolvedTargets:t,scrubbedValues:n,providerTargets:r,configChanged:i,authStoreByPath:e.authStoreByPath}}function We(e){if(!e.enabled||e.providerTargets.size===0)return e.authStoreByPath;for(let t of B(e.nextConfig,e.stateDir)){let n=e.authStoreByPath.get(t)??H(t).value;if(!n||!u(n.profiles))continue;let r=structuredClone(n),i=!1;for(let n of Oe(r.profiles)){let r=h(n.provider);if(e.providerTargets.has(r)){if(n.kind===`api_key`||n.kind===`token`){s(n.value)&&e.scrubbedValues.add(n.value.trim()),n.valueField in n.profile&&(delete n.profile[n.valueField],i=!0),n.refField in n.profile&&(delete n.profile[n.refField],i=!0);continue}n.kind===`oauth`&&(n.hasAccess||n.hasRefresh)&&e.warnings.push(`Provider "${r}" has OAuth credentials in ${t}; those still take precedence and are out of scope for static SecretRef migration.`)}}i&&(e.authStoreByPath.set(t,r),e.changedFiles.add(t))}return e.authStoreByPath}function Ge(e){let t=e?structuredClone(e):{};return u(t.profiles)||(t.profiles={}),(typeof t.version!=`number`||!Number.isFinite(t.version))&&(t.version=1),t}function Ke(e){let t=String(e.target.agentId??``).trim();if(!t)throw Error(`Missing required agentId for auth-profiles target ${e.target.path}.`);let n=W({nextConfig:e.nextConfig,stateDir:e.stateDir,agentId:t}),r=e.authStoreByPath.get(n)??H(n).value,i=Ge(u(r)?r:void 0);return e.authStoreByPath.set(n,i),{path:n,store:i}}function U(e){return e}function W(e){let t=oe(e.agentId),n=ae(e.nextConfig,t)?.agentDir?.trim();return n?a(g(n)):M.join(a(e.stateDir),`agents`,t,`agent`,`auth-profiles.json`)}function qe(e){let t=!1,n=e.resolved.pathSegments.slice(0,2),r=n[1];if(!r)throw Error(`Invalid auth profile target path: ${e.target.path}`);let i=E(e.store,n),a=e.resolved.entry.authProfileType;if(u(i)){if(a&&typeof i.type==`string`&&i.type!==a)throw Error(`Auth profile "${r}" type mismatch for ${e.target.path}: expected "${a}", got "${i.type}".`);if(!s(i.provider)&&s(e.target.authProfileProvider)){let r=k(U(e.store),[...n,`provider`],e.target.authProfileProvider);t||=r}return t}if(!a)throw Error(`Auth profile target ${e.target.path} is missing auth profile type metadata.`);let o=String(e.target.authProfileProvider??``).trim();if(!o)throw Error(`Cannot create auth profile "${r}" for ${e.target.path} without authProfileProvider.`);let c=k(U(e.store),n,{type:a,provider:o});return t||=c,t}function Je(e){if(e.resolved.entry.configFile!==`auth-profiles.json`)return!1;let{store:t}=Ke({target:e.target,nextConfig:e.nextConfig,stateDir:e.stateDir,authStoreByPath:e.authStoreByPath}),n=qe({target:e.target,resolved:e.resolved,store:t}),r=e.resolved.pathSegments;if(e.resolved.entry.secretShape===`sibling_ref`){let i=E(t,r);s(i)&&e.scrubbedValues.add(i.trim());let a=e.resolved.refPathSegments;if(!a)throw Error(`Missing sibling ref path for auth-profiles target ${e.target.path}.`);let o=k(U(t),a,e.target.ref),c=D(U(t),r);return n=n||o||c,n}let i=E(t,r);s(i)&&e.scrubbedValues.add(i.trim());let a=k(U(t),r,e.target.ref);return n||=a,n}function Ye(e){let t=new Map;if(!e.enabled)return t;for(let n of V(e.stateDir)){let r=H(n).value;if(!r)continue;let i=!1,a=structuredClone(r);for(let[e,t]of Object.entries(a))u(t)&&t.type===`api_key`&&s(t.key)&&(delete a[e],i=!0);i&&(t.set(n,a),e.changedFiles.add(n))}return t}function Xe(e){let t=new Map;if(!e.enabled||e.scrubbedValues.size===0)return t;let n=M.join(i(e.env,j.homedir),`.env`);if(!A.existsSync(n))return t;let r=A.readFileSync(n,`utf8`),a=Be(r,e.scrubbedValues,new Set(be()));return a.removed>0&&a.nextRaw!==r&&(t.set(n,a.nextRaw),e.changedFiles.add(n)),t}async function Ze(e){let t={};for(let{target:n,resolved:r}of e.resolvedTargets)_e({value:await y(n.ref,{config:e.nextConfig,env:e.env,cache:t}),expected:r.entry.expectedResolvedValue,errorMessage:r.entry.expectedResolvedValue===`string`?`Ref ${n.ref.source}:${n.ref.provider}:${n.ref.id} is not a non-empty string.`:`Ref ${n.ref.source}:${n.ref.provider}:${n.ref.id} is not string/object.`});let n=new Map;for(let[t,r]of e.authStoreByPath.entries())n.set(a(t),r);await ye({config:e.nextConfig,env:e.env,loadAuthStore:e=>{let t=a(g(e)),r=n.get(t);return r?structuredClone(r):m(e)}})}function Qe(e){if(!A.existsSync(e))return{existed:!1,content:``,mode:384};let t=A.statSync(e);return{existed:!0,content:A.readFileSync(e,`utf8`),mode:t.mode&511}}function $e(e,t){if(!t.existed){A.existsSync(e)&&A.rmSync(e,{force:!0});return}l(e,t.content,t.mode||384)}function et(e,t){return{path:e,content:`${JSON.stringify(t,null,2)}\n`,mode:384}}async function G(e){let t=e.env??process.env,n=await He({plan:e.plan,env:t}),r=[...n.changedFiles].toSorted();if(!e.write)return{mode:`dry-run`,changed:r.length>0,changedFiles:r,warningCount:n.warnings.length,warnings:n.warnings};if(r.length===0)return{mode:`write`,changed:!1,changedFiles:[],warningCount:n.warnings.length,warnings:n.warnings};let i=L({env:t}),a=new Map,o=e=>{a.has(e)||a.set(e,Qe(e))};o(n.configPath);let s=[];for(let[e,t]of n.authStoreByPath.entries())o(e),s.push(et(e,t));for(let[e,t]of n.authJsonByPath.entries())o(e),s.push(et(e,t));for(let[e,t]of n.envRawByPath.entries())o(e),s.push({path:e,content:t,mode:384});try{await i.writeConfigFile(n.nextConfig,n.configWriteOptions);for(let e of s)l(e.path,e.content,e.mode)}catch(e){for(let[e,t]of a.entries())try{$e(e,t)}catch{}throw Error(`Secrets apply failed: ${String(e)}`,{cause:e})}return{mode:`write`,changed:r.length>0,changedFiles:r,warningCount:n.warnings.length,warnings:n.warnings}}const tt=new Set([`authorization`,`proxy-authorization`,`x-api-key`,`api-key`,`apikey`,`x-auth-token`,`auth-token`,`x-access-token`,`access-token`,`x-secret-key`,`secret-key`]),nt=[`api-key`,`apikey`,`token`,`secret`,`password`,`credential`];function rt(e){let t=e.trim().toLowerCase();return t?tt.has(t)?!0:nt.some(e=>t.includes(e)):!1}function K(e,t){e.findings.push(t)}function it(e,t,n){let r=h(t),i=e.configProviderRefPaths.get(r);if(i){i.push(n);return}e.configProviderRefPaths.set(r,[n])}function q(e,t,n){let r=h(t),i=e.authProviderState.get(r);if(i){i.hasUsableStaticOrOAuth=!0,i.modes.add(n);return}e.authProviderState.set(r,{hasUsableStaticOrOAuth:!0,modes:new Set([n])})}function at(e){if(!A.existsSync(e.envPath))return;e.collector.filesScanned.add(e.envPath);let t=new Set(be()),n=A.readFileSync(e.envPath,`utf8`).split(/\r?\n/);for(let r of n){let n=r.match(/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/);if(!n)continue;let i=n[1]??``;t.has(i)&&z(n[2]??``)&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.envPath,jsonPath:`$env.${i}`,message:`Potential secret found in .env (${i}).`})}}function ot(e){let t=e.config.secrets?.defaults;for(let n of O(e.config)){if(!n.entry.includeInAudit)continue;let{ref:r}=S({value:n.value,refValue:n.refValue,defaults:t});if(r){e.collector.refAssignments.push({file:e.configPath,path:n.path,ref:r,expected:n.entry.expectedResolvedValue,provider:n.providerId}),n.entry.trackProviderShadowing&&n.providerId&&it(e.collector,n.providerId,n.path);continue}let i=de(n.value,n.entry.expectedResolvedValue);n.entry.id===`models.providers.*.headers.*`&&!rt(n.pathSegments.at(-1)??``)||i&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.configPath,jsonPath:n.path,message:`${n.path} is stored as plaintext.`,provider:n.providerId})}}function st(e){if(!A.existsSync(e.authStorePath))return;e.collector.filesScanned.add(e.authStorePath);let t=H(e.authStorePath);if(t.error){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.authStorePath,jsonPath:`<root>`,message:`Invalid JSON in auth-profiles store: ${t.error}`});return}let n=t.value;if(!(!n||!u(n.profiles)))for(let t of Oe(n.profiles)){if(t.kind===`api_key`||t.kind===`token`){let{ref:n}=S({value:t.value,refValue:t.refValue,defaults:e.defaults});n&&(e.collector.refAssignments.push({file:e.authStorePath,path:`profiles.${t.profileId}.${t.valueField}`,ref:n,expected:`string`,provider:t.provider}),q(e.collector,t.provider,t.kind)),s(t.value)&&(K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.authStorePath,jsonPath:`profiles.${t.profileId}.${t.valueField}`,message:t.kind===`api_key`?`Auth profile API key is stored as plaintext.`:`Auth profile token is stored as plaintext.`,provider:t.provider,profileId:t.profileId}),q(e.collector,t.provider,t.kind));continue}(t.hasAccess||t.hasRefresh)&&(K(e.collector,{code:`LEGACY_RESIDUE`,severity:`info`,file:e.authStorePath,jsonPath:`profiles.${t.profileId}`,message:`OAuth credentials are present (out of scope for static SecretRef migration).`,provider:t.provider,profileId:t.profileId}),q(e.collector,t.provider,`oauth`))}}function ct(e){for(let t of V(e.stateDir)){e.collector.filesScanned.add(t);let n=H(t);if(n.error){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t,jsonPath:`<root>`,message:`Invalid JSON in legacy auth.json: ${n.error}`});continue}let r=n.value;if(r)for(let[n,i]of Object.entries(r))u(i)&&i.type===`api_key`&&s(i.key)&&K(e.collector,{code:`LEGACY_RESIDUE`,severity:`warn`,file:t,jsonPath:n,message:`Legacy auth.json contains static api_key credentials.`,provider:n})}}function lt(e){if(!A.existsSync(e.modelsJsonPath))return;e.collector.filesScanned.add(e.modelsJsonPath);let t=H(e.modelsJsonPath,{requireRegularFile:!0,maxBytes:5242880});if(t.error){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.modelsJsonPath,jsonPath:`<root>`,message:`Invalid JSON in models.json: ${t.error}`});return}let n=t.value;if(!(!n||!u(n.providers)))for(let[t,r]of Object.entries(n.providers)){if(!u(r))continue;let n=r.apiKey;C(n)?K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.modelsJsonPath,jsonPath:`providers.${t}.apiKey`,message:`models.json contains an unresolved SecretRef object; regenerate models.json.`,provider:t}):s(n)&&!_(n)&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.modelsJsonPath,jsonPath:`providers.${t}.apiKey`,message:`models.json provider apiKey is stored as plaintext.`,provider:t});let i=u(r.headers)?r.headers:void 0;if(i)for(let[n,r]of Object.entries(i)){let i=`providers.${t}.headers.${n}`;if(C(r)){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:e.modelsJsonPath,jsonPath:i,message:`models.json contains an unresolved SecretRef object for provider headers; regenerate models.json.`,provider:t});continue}s(r)&&(ee(r)||rt(n)&&K(e.collector,{code:`PLAINTEXT_FOUND`,severity:`warn`,file:e.modelsJsonPath,jsonPath:i,message:`models.json provider header value is stored as plaintext.`,provider:t}))}}}async function ut(e){let t={},n=new Map;for(let t of e.collector.refAssignments){let e=`${t.ref.source}:${t.ref.provider}`,r=n.get(e);r||(r=new Map,n.set(e,r)),r.set(w(t.ref),t.ref)}let r=new Map,i=new Map;for(let a of n.values()){let n=[...a.values()],o=n[0]?.provider;try{let i=await f(n,{config:e.config,env:e.env,cache:t});for(let[e,t]of i.entries())r.set(e,t);continue}catch(e){if(o&&d(e)){for(let t of n)i.set(w(t),e);continue}}let s=await ue({tasks:n.map(n=>async()=>({key:w(n),resolved:await y(n,{config:e.config,env:e.env,cache:t})})),limit:Math.min(8,n.length),errorMode:`continue`,onTaskError:(e,t)=>{let r=n[t];r&&i.set(w(r),e)}});for(let e of s.results)e&&r.set(e.key,e.resolved)}for(let t of e.collector.refAssignments){let n=w(t.ref),a=i.get(n);if(a){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t.file,jsonPath:t.path,message:`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (${c(a)}).`,provider:t.provider});continue}if(!r.has(n)){K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t.file,jsonPath:t.path,message:`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (resolved value is missing).`,provider:t.provider});continue}ge(r.get(n),t.expected)||K(e.collector,{code:`REF_UNRESOLVED`,severity:`error`,file:t.file,jsonPath:t.path,message:t.expected===`string`?`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (resolved value is not a non-empty string).`:`Failed to resolve ${t.ref.source}:${t.ref.provider}:${t.ref.id} (resolved value is not a string/object).`,provider:t.provider})}}function dt(e){for(let[t,n]of e.configProviderRefPaths.entries()){let r=e.authProviderState.get(t);if(!r?.hasUsableStaticOrOAuth)continue;let i=[...r.modes].join(`/`);for(let r of n)K(e,{code:`REF_SHADOWED`,severity:`warn`,file:`openclaw.json`,jsonPath:r,message:`Auth profile credentials (${i}) take precedence for provider "${t}", so this config ref may never be used.`,provider:t})}}function ft(e){return{plaintextCount:e.filter(e=>e.code===`PLAINTEXT_FOUND`).length,unresolvedRefCount:e.filter(e=>e.code===`REF_UNRESOLVED`).length,shadowedRefCount:e.filter(e=>e.code===`REF_SHADOWED`).length,legacyResidueCount:e.filter(e=>e.code===`LEGACY_RESIDUE`).length}}async function pt(t={}){let n=t.env??process.env,r=await L({env:n}).readConfigFileSnapshot(),o=a(r.path),s=r.valid?r.config.secrets?.defaults:void 0,c={findings:[],refAssignments:[],configProviderRefPaths:new Map,authProviderState:new Map,filesScanned:new Set([o])},l=e(n,j.homedir),u=M.join(i(n,j.homedir),`.env`),d=r.valid?r.config:{};if(r.valid){ot({config:d,configPath:o,collector:c});for(let e of B(d,l))st({authStorePath:e,collector:c,defaults:s});for(let e of Re(d,l,n))lt({modelsJsonPath:e,collector:c});await ut({collector:c,config:d,env:n}),dt(c)}else K(c,{code:`REF_UNRESOLVED`,severity:`error`,file:o,jsonPath:`<root>`,message:`Config is invalid; cannot validate secret references reliably.`});at({envPath:u,collector:c}),ct({stateDir:l,collector:c});let f=ft(c.findings);return{version:1,status:f.unresolvedRefCount>0?`unresolved`:c.findings.length>0?`findings`:`clean`,filesScanned:[...c.filesScanned].toSorted(),summary:f,findings:c.findings}}function mt(e,t){return e.summary.unresolvedRefCount>0?2:t&&e.findings.length>0?1:0}function ht(e){return u(e.secrets?.providers)?e.secrets.providers:{}}function gt(e){return e.configFile===`auth-profiles.json`?`auth-profiles:${e.agentId??``}:${e.path}`:`openclaw:${e.path}`}function _t(e,t){let n=t[1];if(!n)return;let r=e.profiles?.[n];if(!u(r)||typeof r.provider!=`string`)return;let i=r.provider.trim();return i.length>0?i:void 0}function vt(e){let t=e.authoredOpenClawConfig??e.config,n=e=>yt(t,e),r=O(e.config).filter(e=>e.entry.includeInConfigure).map(t=>{let r=S({value:t.value,refValue:t.refValue,defaults:e.config.secrets?.defaults}),i=n(t.pathSegments),a=t.refPathSegments?n(t.refPathSegments):!1;return{type:t.entry.targetType,path:t.path,pathSegments:[...t.pathSegments],label:t.path,configFile:`openclaw.json`,expectedResolvedValue:t.entry.expectedResolvedValue,...r.ref?{existingRef:r.ref}:{},...i||a?{}:{isDerived:!0},...t.providerId?{providerId:t.providerId}:{},...t.accountId?{accountId:t.accountId}:{}}}),i=e.authProfiles===void 0?[]:fe(e.authProfiles.store).filter(e=>e.entry.includeInConfigure).map(t=>{let n=e.authProfiles;if(!n)throw Error(`Missing auth profile scope for configure candidate discovery.`);let r=_t(n.store,t.pathSegments),i=S({value:t.value,refValue:t.refValue,defaults:e.config.secrets?.defaults});return{type:t.entry.targetType,path:t.path,pathSegments:[...t.pathSegments],label:`${t.path} (auth profile, agent ${n.agentId})`,configFile:`auth-profiles.json`,expectedResolvedValue:t.entry.expectedResolvedValue,...i.ref?{existingRef:i.ref}:{},agentId:n.agentId,...r?{authProfileProvider:r}:{}}});return[...r,...i].toSorted((e,t)=>gt(e).localeCompare(gt(t)))}function yt(e,t){if(t.length===0)return!1;let n=e;for(let e=0;e<t.length;e+=1){let r=t[e]??``;if(Array.isArray(n)){if(!/^\d+$/.test(r))return!1;let i=Number.parseInt(r,10);if(!Number.isFinite(i)||i<0||i>=n.length)return!1;if(e===t.length-1)return!0;n=n[i];continue}if(!u(n)||!Object.prototype.hasOwnProperty.call(n,r))return!1;if(e===t.length-1)return!0;n=n[r]}return!1}function bt(e){let t=ht(e.original),n=ht(e.next),r={},i=[];for(let[e,i]of Object.entries(n)){let n=t[e];N(n,i)||(r[e]=structuredClone(i))}for(let e of Object.keys(t))Object.prototype.hasOwnProperty.call(n,e)||i.push(e);return{upserts:r,deletes:i.toSorted()}}function xt(e){return e.selectedTargets.size>0||Object.keys(e.providerChanges.upserts).length>0||e.providerChanges.deletes.length>0}function St(e){return{version:1,protocolVersion:1,generatedAt:e.generatedAt??new Date().toISOString(),generatedBy:`openclaw secrets configure`,targets:[...e.selectedTargets.values()].map(e=>({type:e.type,path:e.path,pathSegments:[...e.pathSegments],ref:e.ref,...e.agentId?{agentId:e.agentId}:{},...e.providerId?{providerId:e.providerId}:{},...e.accountId?{accountId:e.accountId}:{},...e.authProfileProvider?{authProfileProvider:e.authProfileProvider}:{}})),...Object.keys(e.providerChanges.upserts).length>0?{providerUpserts:e.providerChanges.upserts}:{},...e.providerChanges.deletes.length>0?{providerDeletes:e.providerChanges.deletes}:{},options:{scrubEnv:!0,scrubAuthProfilesForProviderTargets:!0,scrubLegacyAuthJson:!0}}}const Ct=/^[A-Z][A-Z0-9_]{0,127}$/,wt=/^[A-Za-z]:[\\/]/,Tt=/^\\\\[^\\]+\\[^\\]+/;function J(e){return M.isAbsolute(e)||wt.test(e)||Tt.test(e)}function Y(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}function Et(e,t){let n=e.trim();if(!n||!/^\d+$/.test(n))return;let r=Number.parseInt(n,10);if(!(!Number.isFinite(r)||r<=0||r>t))return r}function Dt(e){return u(e.secrets?.providers)?e.secrets.providers:{}}function Ot(e,t,n){e.secrets??={},u(e.secrets.providers)||(e.secrets.providers={}),e.secrets.providers[t]=n}function kt(e,t){if(!u(e.secrets?.providers))return!1;let n=e.secrets.providers;if(!Object.prototype.hasOwnProperty.call(n,t))return!1;if(delete n[t],Object.keys(n).length===0&&delete e.secrets?.providers,u(e.secrets?.defaults)){let n=e.secrets.defaults;n?.env===t&&delete n.env,n?.file===t&&delete n.file,n?.exec===t&&delete n.exec,n&&n.env===void 0&&n.file===void 0&&n.exec===void 0&&delete e.secrets?.defaults}return!0}function At(e){return e.source===`env`?e.allowlist?.length?`env (${e.allowlist.length} allowlisted)`:`env`:e.source===`file`?`file (${e.mode??`json`})`:`exec (${e.jsonOnly===!1?`json+text`:`json`})`}function jt(e){let t=t=>Object.values(e.secrets?.providers??{}).some(e=>e?.source===t),n=[{value:`env`,label:`env`}];return t(`file`)&&n.push({value:`file`,label:`file`}),t(`exec`)&&n.push({value:`exec`,label:`exec`}),n}function X(e,t){if(typeof e==`symbol`)throw Error(t);return e}const Mt=/^[A-Za-z0-9:_-]{1,128}$/;function Nt(e){let t=Y(e);for(let e of t)if(!Ct.test(e))return`Invalid env name: ${e}`}async function Z(e){let t=X(await I({message:e.message,initialValue:e.initialValue,validate:e=>Nt(String(e??``))}),`Secrets configure cancelled.`);return Y(String(t??``))}async function Q(e){let t=X(await I({message:e.message,initialValue:e.initialValue===void 0?``:String(e.initialValue),validate:t=>{let n=String(t??``).trim();if(n&&Et(n,e.max)===void 0)return`Must be an integer between 1 and ${e.max}`}}),`Secrets configure cancelled.`);return Et(String(t??``),e.max)}function $(e){return e.configFile===`auth-profiles.json`?`auth-profiles:${String(e.agentId??``).trim()}:${e.path}`:`openclaw:${e.path}`}function Pt(e,t){return e.some(e=>e.value===t)}function Ft(e){if(typeof e.authProfileProvider==`string`&&e.authProfileProvider.trim())return e.authProfileProvider.trim().toLowerCase();if(typeof e.providerId==`string`&&e.providerId.trim())return e.providerId.trim().toLowerCase()}function It(e){let t=Ft(e);if(!t)return;let n=xe[t];if(!(!Array.isArray(n)||n.length===0))return n[0]}function Lt(e,t){let n=new Set(x(e));if(!t)return ie(e);let r=oe(t);if(n.has(r))return r;let i=[...n].toSorted().join(`, `);throw Error(`Unknown agent id "${t}". Known agents: ${i||`none configured`}.`)}function Rt(e,t){if(!e)return{version:1,profiles:{}};if(!u(e.profiles))throw Error(`Cannot run interactive secrets configure because ${t} is invalid (missing "profiles" object).`);return{version:typeof e.version==`number`&&Number.isFinite(e.version)?e.version:1,profiles:e.profiles,...u(e.order)?{order:e.order}:{},...u(e.lastGood)?{lastGood:e.lastGood}:{},...u(e.usageStats)?{usageStats:e.usageStats}:{}}}function zt(e){let t=g(b(e.config,e.agentId)),n=H(t);if(n.error)throw Error(`Cannot run interactive secrets configure because ${t} could not be read: ${n.error}`);return Rt(n.value,t)}async function Bt(e){let t=X(await I({message:`Auth profile id`,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!Mt.test(t))return`Use letters/numbers/":"/"_"/"-" only.`}}),`Secrets configure cancelled.`),n=X(await F({message:`Auth profile credential type`,options:[{value:`api_key`,label:`api_key (key/keyRef)`},{value:`token`,label:`token (token/tokenRef)`}]}),`Secrets configure cancelled.`),r=X(await I({message:`Provider id`,validate:e=>String(e??``).trim().length>0?void 0:`Required`}),`Secrets configure cancelled.`),i=String(t).trim(),a=String(r).trim();return n===`token`?{type:`auth-profiles.token.token`,path:`profiles.${i}.token`,pathSegments:[`profiles`,i,`token`],label:`profiles.${i}.token (auth profile, agent ${e})`,configFile:`auth-profiles.json`,agentId:e,authProfileProvider:a,expectedResolvedValue:`string`}:{type:`auth-profiles.api_key.key`,path:`profiles.${i}.key`,pathSegments:[`profiles`,i,`key`],label:`profiles.${i}.key (auth profile, agent ${e})`,configFile:`auth-profiles.json`,agentId:e,authProfileProvider:a,expectedResolvedValue:`string`}}async function Vt(e){let t=X(await I({message:`Provider alias`,initialValue:`default`,validate:t=>{let n=String(t??``).trim();if(!n)return`Required`;if(!T(n))return`Must match /^[a-z][a-z0-9_-]{0,63}$/`;if(e.existingAliases.has(n))return`Alias already exists`}}),`Secrets configure cancelled.`);return String(t).trim()}async function Ht(e){return X(await F({message:`Provider source`,options:[{value:`env`,label:`env`},{value:`file`,label:`file`},{value:`exec`,label:`exec`}],initialValue:e}),`Secrets configure cancelled.`)}async function Ut(e){let t=await Z({message:`Env allowlist (comma-separated, blank for unrestricted)`,initialValue:e?.allowlist?.join(`,`)??``});return{source:`env`,...t.length>0?{allowlist:t}:{}}}async function Wt(e){let t=X(await I({message:`File path (absolute)`,initialValue:e?.path??``,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!J(t))return`Must be an absolute path`}}),`Secrets configure cancelled.`),n=X(await F({message:`File mode`,options:[{value:`json`,label:`json`},{value:`singleValue`,label:`singleValue`}],initialValue:e?.mode??`json`}),`Secrets configure cancelled.`),r=await Q({message:`Timeout ms (blank for default)`,initialValue:e?.timeoutMs,max:12e4}),i=await Q({message:`Max bytes (blank for default)`,initialValue:e?.maxBytes,max:20*1024*1024});return{source:`file`,path:String(t).trim(),mode:n,...r?{timeoutMs:r}:{},...i?{maxBytes:i}:{}}}async function Gt(e){let t=e.trim();if(!t)return;let n=JSON.parse(t);if(!Array.isArray(n)||!n.every(e=>typeof e==`string`))throw Error(`args must be a JSON array of strings`);return n}async function Kt(e){let t=X(await I({message:`Command path (absolute)`,initialValue:e?.command??``,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!J(t))return`Must be an absolute path`;if(!re(t))return`Command value is not allowed`}}),`Secrets configure cancelled.`),n=X(await I({message:`Args JSON array (blank for none)`,initialValue:JSON.stringify(e?.args??[]),validate:e=>{let t=String(e??``).trim();if(t)try{let e=JSON.parse(t);return!Array.isArray(e)||!e.every(e=>typeof e==`string`)?`Must be a JSON array of strings`:void 0}catch{return`Must be valid JSON`}}}),`Secrets configure cancelled.`),r=await Q({message:`Timeout ms (blank for default)`,initialValue:e?.timeoutMs,max:12e4}),i=await Q({message:`No-output timeout ms (blank for default)`,initialValue:e?.noOutputTimeoutMs,max:12e4}),a=await Q({message:`Max output bytes (blank for default)`,initialValue:e?.maxOutputBytes,max:20*1024*1024}),o=X(await P({message:`Require JSON-only response?`,initialValue:e?.jsonOnly??!0}),`Secrets configure cancelled.`),s=await Z({message:`Pass-through env vars (comma-separated, blank for none)`,initialValue:e?.passEnv?.join(`,`)??``}),c=X(await I({message:`Trusted dirs (comma-separated absolute paths, blank for none)`,initialValue:e?.trustedDirs?.join(`,`)??``,validate:e=>{let t=Y(String(e??``));for(let e of t)if(!J(e))return`Trusted dir must be absolute: ${e}`}}),`Secrets configure cancelled.`),l=X(await P({message:`Allow insecure command path checks?`,initialValue:e?.allowInsecurePath??!1}),`Secrets configure cancelled.`),d=X(await P({message:`Allow symlink command path?`,initialValue:e?.allowSymlinkCommand??!1}),`Secrets configure cancelled.`),f=await Gt(String(n??``)),p=Y(String(c??``));return{source:`exec`,command:String(t).trim(),...f&&f.length>0?{args:f}:{},...r?{timeoutMs:r}:{},...i?{noOutputTimeoutMs:i}:{},...a?{maxOutputBytes:a}:{},...o?{jsonOnly:o}:{jsonOnly:!1},...s.length>0?{passEnv:s}:{},...p.length>0?{trustedDirs:p}:{},...l?{allowInsecurePath:!0}:{},...d?{allowSymlinkCommand:!0}:{},...u(e?.env)?{env:e.env}:{}}}async function qt(e,t){return e===`env`?await Ut(t?.source===`env`?t:void 0):e===`file`?await Wt(t?.source===`file`?t:void 0):await Kt(t?.source===`exec`?t:void 0)}async function Jt(e){for(;;){let t=Dt(e),n=Object.entries(t).toSorted(([e],[t])=>e.localeCompare(t)),r=[{value:`add`,label:`Add provider`,hint:`Define a new env/file/exec provider`}];n.length>0&&(r.push({value:`edit`,label:`Edit provider`,hint:`Update an existing provider`}),r.push({value:`remove`,label:`Remove provider`,hint:`Delete a provider alias`})),r.push({value:`continue`,label:`Continue`,hint:`Move to credential mapping`});let i=X(await F({message:n.length>0?`Configure secret providers`:`Configure secret providers (only env refs are available until file/exec providers are added)`,options:r}),`Secrets configure cancelled.`);if(i===`continue`)return;if(i===`add`){let t=await Ht();Ot(e,await Vt({existingAliases:new Set(n.map(([e])=>e))}),await qt(t));continue}if(i===`edit`){let r=X(await F({message:`Select provider to edit`,options:n.map(([e,t])=>({value:e,label:e,hint:At(t)}))}),`Secrets configure cancelled.`),i=t[r];if(!i)continue;let a=await qt(await Ht(i.source),i);N(i,a)||Ot(e,r,a);continue}if(i===`remove`){let t=X(await F({message:`Select provider to remove`,options:n.map(([e,t])=>({value:e,label:e,hint:At(t)}))}),`Secrets configure cancelled.`);X(await P({message:`Remove provider "${t}"?`,initialValue:!1}),`Secrets configure cancelled.`)&&kt(e,t)}}}async function Yt(e={}){if(!process.stdin.isTTY)throw Error(`secrets configure requires an interactive TTY.`);if(e.providersOnly&&e.skipProviderSetup)throw Error(`Cannot combine --providers-only with --skip-provider-setup.`);let t=e.env??process.env,{snapshot:n}=await L({env:t}).readConfigFileSnapshotForWrite();if(!n.valid)throw Error(`Cannot run interactive secrets configure because config is invalid.`);let r=structuredClone(n.config);e.skipProviderSetup||await Jt(r);let i=bt({original:n.config,next:r}),a=new Map;if(!e.providersOnly){let i=Lt(n.config,e.agentId),o=zt({config:n.config,agentId:i}),s=vt({config:r,authoredOpenClawConfig:n.resolved,authProfiles:{agentId:i,store:o}});if(s.length===0)throw Error(`No configurable secret-bearing fields found for this agent scope.`);let c=jt(r),l=s.some(e=>e.isDerived===!0),u=!1;for(;;){let e=u?s:s.filter(e=>e.isDerived!==!0),n=e.map(e=>({value:$(e),label:e.label,hint:[e.configFile===`auth-profiles.json`?`auth-profiles.json`:`openclaw.json`,e.isDerived===!0?`derived`:void 0].filter(Boolean).join(` | `)}));n.push({value:`__create_auth_profile__`,label:`Create auth profile mapping`,hint:`Add a new auth-profiles target for agent ${i}`}),l&&n.push({value:`__toggle_derived__`,label:u?`Hide derived targets`:`Show derived targets`,hint:u?`Show only fields authored directly in config`:`Include normalized/derived aliases`}),a.size>0&&n.unshift({value:`__done__`,label:`Done`,hint:`Finish and run preflight`});let o=X(await F({message:`Select credential field`,options:n}),`Secrets configure cancelled.`);if(o===`__done__`)break;if(o===`__create_auth_profile__`){let e=await Bt(i),t=$(e),n=s.findIndex(e=>$(e)===t);n>=0?s[n]=e:s.push(e);continue}if(o===`__toggle_derived__`){u=!u;continue}let d=e.find(e=>$(e)===o);if(!d)throw Error(`Unknown configure target: ${o}`);let f=$(d),p=a.get(f)?.ref??d.existingRef,m=X(await F({message:`Secret source`,options:c,initialValue:p&&Pt(c,p.source)?p.source:void 0}),`Secrets configure cancelled.`),ee=se(r,m,{preferFirstProviderForSource:!0}),h=X(await I({message:`Provider alias`,initialValue:p?.source===m?p.provider:ee,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(!T(t))return`Must match /^[a-z][a-z0-9_-]{0,63}$/`}}),`Secrets configure cancelled.`),g=String(h).trim(),_=p?.source===m?p.id:void 0;if(!_&&m===`env`&&(_=It(d)),!_&&m===`file`){let e=r.secrets?.providers?.[g];e?.source===`file`&&e.mode===`singleValue`&&(_=`value`)}let te=X(await I({message:`Secret id`,initialValue:_,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;if(m===`exec`&&!ce(t))return le()}}),`Secrets configure cancelled.`),v={source:m,provider:g,id:String(te).trim()};_e({value:await y(v,{config:r,env:t}),expected:d.expectedResolvedValue,errorMessage:d.expectedResolvedValue===`string`?`Ref ${v.source}:${v.provider}:${v.id} did not resolve to a non-empty string.`:`Ref ${v.source}:${v.provider}:${v.id} did not resolve to a supported value type.`});let ne={...d,ref:v};if(a.set(f,ne),!X(await P({message:`Configure another credential?`,initialValue:!0}),`Secrets configure cancelled.`))break}}if(!xt({selectedTargets:a,providerChanges:i}))throw Error(`No secrets changes were selected.`);let o=St({selectedTargets:a,providerChanges:i});return{plan:o,preflight:await G({plan:o,env:t,write:!1})}}function Xt(e){let t=A.readFileSync(e,`utf8`),n=JSON.parse(t);if(!Pe(n))throw Error(`Invalid secrets plan file: ${e}`);return n}function Zt(e){let i=e.command(`secrets`).description(`Secrets runtime controls`).addHelpText(`after`,()=>`\n${t.muted(`Docs:`)} ${ve(`/gateway/security`,`docs.openclaw.ai/gateway/security`)}\n`);Ce(i.command(`reload`).description(`Re-resolve secret references and atomically swap runtime snapshot`).option(`--json`,`Output JSON`,!1)).action(async e=>{try{let t=await Se(`secrets.reload`,e,void 0,{expectFinal:!1});if(e.json){n.log(JSON.stringify(t,null,2));return}let r=Number(t?.warningCount??0);if(Number.isFinite(r)&&r>0){n.log(`Secrets reloaded with ${r} warning(s).`);return}n.log(`Secrets reloaded.`)}catch(e){n.error(r(String(e))),n.exit(1)}}),i.command(`audit`).description(`Audit plaintext secrets, unresolved refs, and precedence drift`).option(`--check`,`Exit non-zero when findings are present`,!1).option(`--json`,`Output JSON`,!1).action(async e=>{try{let t=await pt();if(e.json)n.log(JSON.stringify(t,null,2));else if(n.log(`Secrets audit: ${t.status}. plaintext=${t.summary.plaintextCount}, unresolved=${t.summary.unresolvedRefCount}, shadowed=${t.summary.shadowedRefCount}, legacy=${t.summary.legacyResidueCount}.`),t.findings.length>0){for(let e of t.findings.slice(0,20))n.log(`- [${e.code}] ${e.file}:${e.jsonPath} ${e.message}`);t.findings.length>20&&n.log(`... ${t.findings.length-20} more finding(s).`)}let r=mt(t,!!e.check);r!==0&&n.exit(r)}catch(e){n.error(r(String(e))),n.exit(2)}}),i.command(`configure`).description(`Interactive secrets helper (provider setup + SecretRef mapping + preflight)`).option(`--apply`,`Apply changes immediately after preflight`,!1).option(`--yes`,`Skip apply confirmation prompt`,!1).option(`--providers-only`,`Configure secrets.providers only, skip credential mapping`,!1).option(`--skip-provider-setup`,`Skip provider setup and only map credential fields to existing providers`,!1).option(`--agent <id>`,`Agent id for auth-profiles targets (default: configured default agent)`).option(`--plan-out <path>`,`Write generated plan JSON to a file`).option(`--json`,`Output JSON`,!1).action(async e=>{try{let t=await Yt({providersOnly:!!e.providersOnly,skipProviderSetup:!!e.skipProviderSetup,agentId:typeof e.agent==`string`?e.agent:void 0});if(e.planOut&&A.writeFileSync(e.planOut,`${JSON.stringify(t.plan,null,2)}\n`,`utf8`),e.json)n.log(JSON.stringify({plan:t.plan,preflight:t.preflight},null,2));else{if(n.log(`Preflight: changed=${t.preflight.changed}, files=${t.preflight.changedFiles.length}, warnings=${t.preflight.warningCount}.`),t.preflight.warningCount>0)for(let e of t.preflight.warnings)n.log(`- warning: ${e}`);let r=Object.keys(t.plan.providerUpserts??{}).length,i=t.plan.providerDeletes?.length??0;n.log(`Plan: targets=${t.plan.targets.length}, providerUpserts=${r}, providerDeletes=${i}.`),e.planOut&&n.log(`Plan written to ${e.planOut}`)}let r=!!e.apply;if(!r&&!e.json){let e=await P({message:`Apply this plan now?`,initialValue:!0});typeof e==`boolean`&&(r=e)}if(r){if(e.apply&&!e.yes&&!e.json&&await P({message:`This migration is one-way for migrated plaintext values. Continue with apply?`,initialValue:!0})!==!0){n.log(`Apply cancelled.`);return}let r=await G({plan:t.plan,write:!0});if(e.json){n.log(JSON.stringify(r,null,2));return}n.log(r.changed?`Secrets applied. Updated ${r.changedFiles.length} file(s).`:`Secrets apply: no changes.`)}}catch(e){n.error(r(String(e))),n.exit(1)}}),i.command(`apply`).description(`Apply a previously generated secrets plan`).requiredOption(`--from <path>`,`Path to plan JSON`).option(`--dry-run`,`Validate/preflight only`,!1).option(`--json`,`Output JSON`,!1).action(async e=>{try{let t=await G({plan:Xt(e.from),write:!e.dryRun});if(e.json){n.log(JSON.stringify(t,null,2));return}if(e.dryRun){n.log(t.changed?`Secrets apply dry run: ${t.changedFiles.length} file(s) would change.`:`Secrets apply dry run: no changes.`);return}n.log(t.changed?`Secrets applied. Updated ${t.changedFiles.length} file(s).`:`Secrets apply: no changes.`)}catch(e){n.error(r(String(e))),n.exit(1)}})}export{Zt as registerSecretsCli};
6
- //# sourceMappingURL=secrets-cli-BstBe0UA.js.map
@@ -1,2 +1 @@
1
1
  import{randomBytes as e,randomUUID as t}from"node:crypto";function n(){return t()}function r(t=16){return e(t).toString(`base64url`)}export{n,r as t};
2
- //# sourceMappingURL=secure-random-D7JQgiK-.js.map