@qqbrowser/openclaw-qbot 0.0.128 → 0.0.129

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 (1471) hide show
  1. package/dist/account-lookup-CW-_CL7y.js +1 -1
  2. package/dist/acp-cli-01SGjPGi.js +1 -1
  3. package/dist/acp-cli-uxN405XG.js +1 -1
  4. package/dist/active-listener-BZ6loNaF.js +1 -1
  5. package/dist/active-listener-D8VOdVx3.js +1 -1
  6. package/dist/active-listener-DB5mhDuO.js +1 -1
  7. package/dist/active-listener-DeKRt_UV.js +1 -1
  8. package/dist/agent-scope-DAWJwFfl.js +1 -1
  9. package/dist/agent-scope-DXZc3eNT.js +1 -1
  10. package/dist/agents-BMh3ZeoB.js +1 -1
  11. package/dist/agents.config-B-0lZSmb.js +1 -1
  12. package/dist/agents.config-BDEN2Eph.js +1 -1
  13. package/dist/allow-from-B6dI7oz8.js +1 -1
  14. package/dist/allow-from-DEeVIPKS.js +1 -1
  15. package/dist/api-BeG0ObSq.js +1 -1
  16. package/dist/api-Dx8x1KTs.js +1 -1
  17. package/dist/api-key-rotation-C_MG2y1D.js +1 -1
  18. package/dist/api-key-rotation-D8WsZ43x.js +1 -1
  19. package/dist/api-key-rotation-DYYvcqSG.js +1 -1
  20. package/dist/api-key-rotation-dNu0GxPN.js +1 -1
  21. package/dist/arg-split-BOqSMBuf.js +1 -1
  22. package/dist/arg-split-DE5RqDHq.js +1 -1
  23. package/dist/audio-preflight--K4-eUVY.js +1 -1
  24. package/dist/audio-preflight-BKIm58PG.js +1 -1
  25. package/dist/audio-preflight-CAfi10dl.js +1 -1
  26. package/dist/audio-preflight-Xm0NL5JA.js +1 -1
  27. package/dist/audio-transcription-runner-BJNP7vB8.js +1 -1
  28. package/dist/audio-transcription-runner-BUsb6cqv.js +1 -1
  29. package/dist/audio-transcription-runner-C_31Yoq0.js +1 -1
  30. package/dist/audio-transcription-runner-CjKLRVPo.js +1 -1
  31. package/dist/audit-7DFnKINd.js +1 -1
  32. package/dist/audit-B6LsW3Ai.js +1 -1
  33. package/dist/audit-membership-runtime-BpRsMj5-.js +1 -1
  34. package/dist/audit-membership-runtime-BsfLZNBj.js +1 -1
  35. package/dist/audit-membership-runtime-DRHirRmx.js +1 -1
  36. package/dist/audit-membership-runtime-g0dEWJTp.js +1 -1
  37. package/dist/audit-membership-runtime-kdyToskD.js +1 -1
  38. package/dist/auth-choice-BNd2SNjJ.js +1 -1
  39. package/dist/auth-choice-C3aUWXx9.js +1 -1
  40. package/dist/auth-choice-DViEjgMg.js +1 -1
  41. package/dist/auth-choice-edozMf7r.js +1 -1
  42. package/dist/auth-choice-options-B3WQyS7I.js +1 -1
  43. package/dist/auth-choice-options-Dw14noox.js +1 -1
  44. package/dist/auth-choice-prompt-uegl56cf.js +1 -1
  45. package/dist/auth-choice-prompt-xYj13czb.js +1 -1
  46. package/dist/auth-choice.apply-helpers-CNLYnRxx.js +1 -1
  47. package/dist/auth-choice.apply-helpers-DCe5nTyP.js +1 -1
  48. package/dist/auth-profiles-BhXA8Jy2.js +1 -1
  49. package/dist/auth-token-C75IOb_K.js +1 -1
  50. package/dist/auth-token-CzgZf-ta.js +1 -1
  51. package/dist/banner-mIDEloRy.js +1 -1
  52. package/dist/bonjour-discovery-CpvzLjyB.js +1 -1
  53. package/dist/bonjour-discovery-wsh3Si1Q.js +1 -1
  54. package/dist/boolean-Ch3DfXPy.js +1 -1
  55. package/dist/boolean-D15s2V33.js +1 -1
  56. package/dist/boolean-DypnRoRK.js +1 -1
  57. package/dist/brew-COcDl8CB.js +1 -1
  58. package/dist/brew-DDPm_HfE.js +1 -1
  59. package/dist/browser-cli-BjzNbvF9.js +1 -1
  60. package/dist/browser-cli-CgHkgtgV.js +1 -1
  61. package/dist/build-info.json +2 -2
  62. package/dist/bundled/boot-md/handler.js +1 -1
  63. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  64. package/dist/bundled/command-logger/handler.js +1 -1
  65. package/dist/bundled/session-memory/handler.js +1 -1
  66. package/dist/call-BA3O_Qpl.js +1 -1
  67. package/dist/call-BQT0zCgv.js +1 -1
  68. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  69. package/dist/channel-account-context-BMPAMZEv.js +1 -1
  70. package/dist/channel-account-context-DAcarnqW.js +1 -1
  71. package/dist/channel-activity-B04WbrrK.js +1 -1
  72. package/dist/channel-activity-BPRCQpI6.js +1 -1
  73. package/dist/channel-activity-D2VTmenR.js +1 -1
  74. package/dist/channel-activity-DHY5wAyl.js +1 -1
  75. package/dist/channel-activity-DYpm-0Cz.js +1 -1
  76. package/dist/channel-options-BYmHreMn.js +1 -1
  77. package/dist/channel-options-Cbv7VETu.js +1 -1
  78. package/dist/channel-selection-Ddyykqxv.js +1 -1
  79. package/dist/channel-selection-oRONo9z3.js +1 -1
  80. package/dist/channel-web-CK4RqVCH.js +1 -1
  81. package/dist/channel-web-Xw89Exy3.js +1 -1
  82. package/dist/channels/plugins/actions/discord.js +1 -1
  83. package/dist/channels/plugins/actions/signal.js +1 -1
  84. package/dist/channels/plugins/actions/telegram.js +1 -1
  85. package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -1
  86. package/dist/channels-cli-D2y5Xk5i.js +1 -1
  87. package/dist/channels-cli-cwFjBXcP.js +1 -1
  88. package/dist/channels-status-issues-8eFrGKyf.js +1 -1
  89. package/dist/channels-status-issues-PRgOT90w.js +1 -1
  90. package/dist/chat-envelope-Bznn2SoS.js +1 -1
  91. package/dist/chat-envelope-HVpKusFc.js +1 -1
  92. package/dist/clack-prompter-DBPdGdqp.js +1 -1
  93. package/dist/clack-prompter-Dq0aY6iM.js +1 -1
  94. package/dist/clawbot-cli-BwG1-8A9.js +1 -1
  95. package/dist/clawbot-cli-CaNu5A0G.js +1 -1
  96. package/dist/cleanup-utils-BWm70DoD.js +1 -1
  97. package/dist/cleanup-utils-D-RhEX6F.js +1 -1
  98. package/dist/cli-CQKA38bc.js +1 -1
  99. package/dist/cli-i7P4bYBg.js +1 -1
  100. package/dist/cli-utils-BY7dLMFy.js +1 -1
  101. package/dist/cli-utils-BleB1eys.js +1 -1
  102. package/dist/clipboard-Bk8cviBt.js +1 -1
  103. package/dist/clipboard-CKT_VIkG.js +1 -1
  104. package/dist/cmd-argv-BBT5l8AV.js +1 -1
  105. package/dist/cmd-argv-Bh-KpaZ0.js +1 -1
  106. package/dist/command-format-BbDT1tlm.js +1 -1
  107. package/dist/command-format-CLxIPuLR.js +1 -1
  108. package/dist/command-options-BpOUDl2S.js +1 -1
  109. package/dist/command-options-Bq5nQxz6.js +1 -1
  110. package/dist/command-poll-backoff-BZLHYB2k.js +1 -1
  111. package/dist/command-poll-backoff-Cww_r-24.js +1 -1
  112. package/dist/command-poll-backoff-Df6cOQrX.js +1 -1
  113. package/dist/command-poll-backoff-endAPdwn.js +1 -1
  114. package/dist/command-registry-BYk36N_R.js +1 -1
  115. package/dist/command-secret-targets-BBTiqQKa.js +1 -1
  116. package/dist/command-secret-targets-KM3OecbM.js +1 -1
  117. package/dist/commands-CGpM84iR.js +1 -1
  118. package/dist/commands-Dy7duWlt.js +1 -1
  119. package/dist/commands-registry-B3FI6TSl.js +1 -1
  120. package/dist/commands-registry-CxDVU5s9.js +1 -1
  121. package/dist/commands-registry-Dn2uuNuy.js +1 -1
  122. package/dist/commands-registry-Du79fdAL.js +1 -1
  123. package/dist/compact-CuBCVnVS.js +1 -1
  124. package/dist/completion-cli-CRNTbZlR.js +1 -1
  125. package/dist/completion-cli-DbGDCoiM.js +1 -1
  126. package/dist/config-BqW5S1xL.js +1 -1
  127. package/dist/config-DAQjvwZw.js +1 -1
  128. package/dist/config-cli-D_coAWd9.js +1 -1
  129. package/dist/config-cli-EKXoNzLf.js +1 -1
  130. package/dist/config-guard-U0wlYLUN.js +1 -1
  131. package/dist/config-guard-XayIkveC.js +1 -1
  132. package/dist/config-validation-B0nN9egx.js +1 -1
  133. package/dist/config-validation-CAHnpjrk.js +1 -1
  134. package/dist/configure-DNnQRKy8.js +1 -1
  135. package/dist/configure-NCNskZPe.js +1 -1
  136. package/dist/connection-auth-BcPbGyxw.js +1 -1
  137. package/dist/connection-auth-DZ-3Svr_.js +1 -1
  138. package/dist/context-window-guard-7crlatf9.js +1 -1
  139. package/dist/context-window-guard-CPChk363.js +1 -1
  140. package/dist/control-ui/apple-touch-icon.png +0 -0
  141. package/dist/control-ui/assets/de-DuUYLvt1.js +1 -0
  142. package/dist/control-ui/assets/es-DHtyqUQZ.js +1 -0
  143. package/dist/control-ui/assets/index-CYbiPp9k.js +8383 -0
  144. package/dist/control-ui/assets/index-C_GaJ8wS.css +1 -0
  145. package/dist/control-ui/assets/pt-BR-D2dJb9G8.js +1 -0
  146. package/dist/control-ui/assets/zh-CN-BgJ8_lE3.js +1 -0
  147. package/dist/control-ui/assets/zh-TW-cW5xB87I.js +1 -0
  148. package/dist/control-ui/favicon-32.png +0 -0
  149. package/dist/control-ui/favicon.ico +0 -0
  150. package/dist/control-ui/favicon.svg +22 -0
  151. package/dist/control-ui/index.html +17 -0
  152. package/dist/control-ui-assets-BIa0GGDg.js +1 -1
  153. package/dist/control-ui-assets-CTHGGgaX.js +1 -1
  154. package/dist/cron-cli-Cro66JtU.js +1 -1
  155. package/dist/cron-cli-DIeBukvk.js +1 -1
  156. package/dist/daemon-cli-Cw_fxNgE.js +1 -1
  157. package/dist/daemon-cli-DQsKS3pT.js +1 -1
  158. package/dist/daemon-cli.js +1 -1
  159. package/dist/daemon-install-C_DmJEkV.js +1 -1
  160. package/dist/daemon-install-D1DacLbM.js +1 -1
  161. package/dist/daemon-install-plan.shared-BSDdwWjB.js +1 -1
  162. package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -1
  163. package/dist/daemon-runtime-DHiDbRuC.js +1 -1
  164. package/dist/daemon-runtime-VcpeBRJV.js +1 -1
  165. package/dist/dangerous-name-matching-BOmvAibz.js +1 -1
  166. package/dist/dangerous-name-matching-DtllRqBD.js +1 -1
  167. package/dist/dangerous-tools-CFRYQJ6V.js +1 -1
  168. package/dist/dangerous-tools-oYCu5wfC.js +1 -1
  169. package/dist/deliver-2c-EsQ_W.js +1 -1
  170. package/dist/deliver-BudDnEIb.js +1 -1
  171. package/dist/deliver-COKdxPmA.js +1 -1
  172. package/dist/deliver-DHP2vHKB.js +1 -1
  173. package/dist/delivery-queue-CKbauSFq.js +1 -1
  174. package/dist/delivery-queue-nkPJu0fY.js +1 -1
  175. package/dist/device-pairing-4eDo43Kk.js +1 -1
  176. package/dist/device-pairing-B7ZXiXp3.js +1 -1
  177. package/dist/devices-cli-BXUIb_UN.js +1 -1
  178. package/dist/devices-cli-D7PkbnHO.js +1 -1
  179. package/dist/diagnostic-Bzd5vlKH.js +1 -1
  180. package/dist/diagnostic-CFmHdXHP.js +1 -1
  181. package/dist/diagnostic-CW_Jv5UM.js +1 -1
  182. package/dist/diagnostic-Dza7-pMC.js +1 -1
  183. package/dist/diagnostics-BgbeL9KE.js +1 -1
  184. package/dist/diagnostics-Cdctg9K_.js +1 -1
  185. package/dist/directory-cli-CxeuNJcC.js +1 -1
  186. package/dist/directory-cli-DFlYCB5L.js +1 -1
  187. package/dist/dns-cli-BDbHznhi.js +1 -1
  188. package/dist/dns-cli-OuwliJ60.js +1 -1
  189. package/dist/docs-cli-Cdw9Iz9a.js +1 -1
  190. package/dist/docs-cli-ClD2UyX1.js +1 -1
  191. package/dist/doctor-completion-BSOX-LSq.js +1 -1
  192. package/dist/doctor-completion-DXqdpdlo.js +1 -1
  193. package/dist/doctor-config-flow-DHB8N7tT.js +1 -1
  194. package/dist/doctor-config-flow-MjfHBDlw.js +1 -1
  195. package/dist/enable-DVuqWT2a.js +1 -1
  196. package/dist/enable-DWaSH1HY.js +1 -1
  197. package/dist/entry-status-CCwwKO43.js +1 -1
  198. package/dist/entry-status-CoXkbJcX.js +1 -1
  199. package/dist/entry.js +1 -1
  200. package/dist/env-D7wNuBx1.js +1 -1
  201. package/dist/env-overrides-DHtB4kK3.js +1 -1
  202. package/dist/env-overrides-DXJbFrwI.js +1 -1
  203. package/dist/errors-6SQWM9dj.js +1 -1
  204. package/dist/errors-Bunti32V.js +1 -1
  205. package/dist/exec-B3eleY5O.js +1 -1
  206. package/dist/exec-DHqLtFYt.js +1 -1
  207. package/dist/exec-approvals-BXO9Cezj.js +1 -1
  208. package/dist/exec-approvals-BpBNEy6i.js +1 -1
  209. package/dist/exec-approvals-allowlist-BKFaHvA5.js +1 -1
  210. package/dist/exec-approvals-allowlist-DBh9Pm77.js +1 -1
  211. package/dist/exec-approvals-cli-0neCwpk-.js +1 -1
  212. package/dist/exec-approvals-cli-BuHSw09B.js +1 -1
  213. package/dist/exec-safe-bin-runtime-policy-Ck3GO5AB.js +1 -1
  214. package/dist/exec-safe-bin-runtime-policy-D2WexijZ.js +1 -1
  215. package/dist/fetch-BI3CnKE3.js +1 -1
  216. package/dist/fetch-BJT3BrkJ.js +1 -1
  217. package/dist/fetch-Bn0mWg6a.js +1 -1
  218. package/dist/fetch-CY5G3PDq.js +1 -1
  219. package/dist/fetch-Ce-scEU-.js +1 -1
  220. package/dist/fetch-D0rZDHKO.js +1 -1
  221. package/dist/fetch-DHo17YmK.js +1 -1
  222. package/dist/fetch-Dh-apy46.js +1 -1
  223. package/dist/fetch-Dikjvc5M.js +1 -1
  224. package/dist/fetch-DsjPfQlp.js +1 -1
  225. package/dist/fetch-_g8lZ8K8.js +1 -1
  226. package/dist/fetch-guard-BaRbr_V6.js +1 -1
  227. package/dist/fetch-guard-BmNIhXP-.js +1 -1
  228. package/dist/fetch-guard-ChVqc0HF.js +1 -1
  229. package/dist/fetch-guard-Cji70DJW.js +1 -1
  230. package/dist/fetch-hy0JKSsm.js +1 -1
  231. package/dist/fetch-timeout-CdYxWG9w.js +1 -1
  232. package/dist/fetch-timeout-Cj8_oAls.js +1 -1
  233. package/dist/fetch-timeout-DoOI_izT.js +1 -1
  234. package/dist/fetch-timeout-u8g99Ax0.js +1 -1
  235. package/dist/fetch-xT2jRpqs.js +1 -1
  236. package/dist/format-Bn1bwJKX.js +1 -1
  237. package/dist/format-Ce7I7s-k.js +1 -1
  238. package/dist/format-duration-C8AzNqKh.js +1 -1
  239. package/dist/format-duration-D5AMtmHa.js +1 -1
  240. package/dist/format-relative-B9pSIdGe.js +1 -1
  241. package/dist/format-relative-DkMjYy7z.js +1 -1
  242. package/dist/frontmatter-BkZkwkVO.js +1 -1
  243. package/dist/frontmatter-C7mzDNxd.js +1 -1
  244. package/dist/frontmatter-CzpfPBFl.js +1 -1
  245. package/dist/gateway-cli-Bj-BYgGN.js +1 -1
  246. package/dist/gateway-cli-DP65otLl.js +1 -1
  247. package/dist/gateway-install-token-BIqlEgy0.js +1 -1
  248. package/dist/gateway-install-token-CtUJl3A3.js +1 -1
  249. package/dist/gateway-rpc-DJHjmEZz.js +1 -1
  250. package/dist/gateway-rpc-XRAMeV67.js +1 -1
  251. package/dist/github-copilot-token-C79yeDKS.js +1 -1
  252. package/dist/github-copilot-token-DGYAlOmV.js +1 -1
  253. package/dist/github-copilot-token-DePP-lIf.js +1 -1
  254. package/dist/github-copilot-token-wm6mbypz.js +1 -1
  255. package/dist/gmail-setup-utils-CYOH3zzx.js +1 -1
  256. package/dist/gmail-setup-utils-S-MyEGuj.js +1 -1
  257. package/dist/group-access-BHKVOhrj.js +1 -1
  258. package/dist/group-access-D2DOYMfr.js +1 -1
  259. package/dist/health-Bedsiigi.js +1 -1
  260. package/dist/health-Cy_CvKbX.js +1 -1
  261. package/dist/health-format-B1nj3Wfn.js +1 -1
  262. package/dist/health-format-VBr6LEpt.js +1 -1
  263. package/dist/heartbeat-visibility-BQ_esv2m.js +1 -1
  264. package/dist/heartbeat-visibility-q74UdY8O.js +1 -1
  265. package/dist/help-format-B4aEI7V9.js +1 -1
  266. package/dist/help-format-BRbF_INg.js +1 -1
  267. package/dist/helpers-COz1ghcB.js +1 -1
  268. package/dist/helpers-Cp8gcO6u.js +1 -1
  269. package/dist/hooks-cli-DrnH2iDk.js +1 -1
  270. package/dist/hooks-cli-DvfZKyZl.js +1 -1
  271. package/dist/hooks-status-BHt-Xvh4.js +1 -1
  272. package/dist/hooks-status-CRJ4J0ZW.js +1 -1
  273. package/dist/image-BJC11A7e.js +1 -1
  274. package/dist/image-BKPxWO_2.js +1 -1
  275. package/dist/image-Ba-mOMMV.js +1 -1
  276. package/dist/image-D-R3N1it.js +1 -1
  277. package/dist/index.js +1 -1
  278. package/dist/inspect-BKV-I1UE.js +1 -1
  279. package/dist/inspect-z59cgmYc.js +1 -1
  280. package/dist/install-safe-path-C6kc_8NW.js +1 -1
  281. package/dist/install-safe-path-iesxijn2.js +1 -1
  282. package/dist/installs-BNeI_oML.js +1 -1
  283. package/dist/installs-C1xQLuby.js +1 -1
  284. package/dist/ipv4-BXZDlz5C.js +1 -1
  285. package/dist/ipv4-BnPLbv6y.js +1 -1
  286. package/dist/ir-BYCrFFZ9.js +1 -1
  287. package/dist/ir-CH7YvSi9.js +1 -1
  288. package/dist/ir-CSysIkNU.js +1 -1
  289. package/dist/ir-CZdZsdnI.js +1 -1
  290. package/dist/is-main-DG5ueqhF.js +1 -1
  291. package/dist/issue-format-CpTuk_rQ.js +1 -1
  292. package/dist/issue-format-kj7FXHhi.js +1 -1
  293. package/dist/kill-tree-DBJW8_Q-.js +1 -1
  294. package/dist/lifecycle-core-B72WHNHV.js +1 -1
  295. package/dist/lifecycle-core-dhkH_Nux.js +1 -1
  296. package/dist/line/accounts.js +1 -1
  297. package/dist/line/send.js +1 -1
  298. package/dist/line/template-messages.js +1 -1
  299. package/dist/links-CBnmRP9D.js +1 -1
  300. package/dist/links-CySwdMcF.js +1 -1
  301. package/dist/llm-slug-generator.js +1 -1
  302. package/dist/load-options-BsOW74dp.js +1 -1
  303. package/dist/load-options-C7dLuybp.js +1 -1
  304. package/dist/load-options-DV4j6Aqb.js +1 -1
  305. package/dist/load-options-Dwt0CeEg.js +1 -1
  306. package/dist/local-roots-Dxioh0C2.js +1 -1
  307. package/dist/logger-5W0OocJW.js +1 -1
  308. package/dist/logger-Bl8URnrW.js +1 -1
  309. package/dist/logger-DwWqfo66.js +1 -1
  310. package/dist/logger-kQAOe3qp.js +1 -1
  311. package/dist/logging-Dz4Qg6th.js +1 -1
  312. package/dist/logging-KiJmOmw4.js +1 -1
  313. package/dist/login-BMZxDYaU.js +1 -1
  314. package/dist/login-BdzP8F8J.js +1 -1
  315. package/dist/login-BzU0cMck.js +1 -1
  316. package/dist/login-Cb1A6qwM.js +1 -1
  317. package/dist/login-qr-BgsmAwKm.js +1 -1
  318. package/dist/login-qr-Bux8gWTO.js +1 -1
  319. package/dist/login-qr-COr_25Hx.js +1 -1
  320. package/dist/login-qr-CxBPOOAK.js +1 -1
  321. package/dist/login-qr-DnQm7bM4.js +1 -1
  322. package/dist/logs-cli-BM2XCmrH.js +1 -1
  323. package/dist/logs-cli-HKhyxaUs.js +1 -1
  324. package/dist/manager-B6zZuJEB.js +1 -1
  325. package/dist/manager-BwrZfep3.js +1 -1
  326. package/dist/manager-C5SBozw4.js +1 -1
  327. package/dist/manager-CjihRbGa.js +1 -1
  328. package/dist/memory-cli-CnruTL1h.js +1 -1
  329. package/dist/memory-cli-DHvscp7X.js +1 -1
  330. package/dist/model-catalog-BLdaFmIo.js +1 -1
  331. package/dist/model-catalog-vNCcsy4h.js +1 -1
  332. package/dist/model-param-b-B0r2cPDw.js +1 -1
  333. package/dist/model-param-b-BqIr5rY5.js +1 -1
  334. package/dist/model-picker-BaeW3tiV.js +1 -1
  335. package/dist/model-picker-DN0czUYS.js +1 -1
  336. package/dist/model-selection-C2QwHmXT.js +1 -1
  337. package/dist/model-selection-I1ctjFOB.js +1 -1
  338. package/dist/model-selection-qkByRv5A.js +1 -1
  339. package/dist/models-UTdl0vXO.js +1 -1
  340. package/dist/models-cli-QRONP7EL.js +1 -1
  341. package/dist/models-cli-vRoB_gfX.js +1 -1
  342. package/dist/models-config-CWIlroKT.js +1 -1
  343. package/dist/models-config-DN2Q51fC.js +1 -1
  344. package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -1
  345. package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -1
  346. package/dist/node-cli-2-E4-83G.js +1 -1
  347. package/dist/node-cli-DUI7Zctj.js +1 -1
  348. package/dist/node-command-policy-Bbmnc16l.js +1 -1
  349. package/dist/node-command-policy-DgkwfoCs.js +1 -1
  350. package/dist/node-commands-8GBOiktk.js +1 -1
  351. package/dist/node-commands-DdkziOTx.js +1 -1
  352. package/dist/node-resolve-B3BJbmQX.js +1 -1
  353. package/dist/node-resolve-DLZf3-1V.js +1 -1
  354. package/dist/node-service-BRfrNp8l.js +1 -1
  355. package/dist/node-service-C0bl7jcZ.js +1 -1
  356. package/dist/node-shell-dXp4vk-i.js +1 -1
  357. package/dist/nodes-cli-DU13-dCL.js +1 -1
  358. package/dist/nodes-cli-rPeIRj_f.js +1 -1
  359. package/dist/nodes-screen-C7-5RrbN.js +1 -1
  360. package/dist/note-D4GAwgha.js +1 -1
  361. package/dist/note-Dp-d_utk.js +1 -1
  362. package/dist/npm-pack-install-B23L-AtF.js +1 -1
  363. package/dist/npm-pack-install-C0te3Oap.js +1 -1
  364. package/dist/npm-resolution-BCXCw93f.js +1 -1
  365. package/dist/npm-resolution-Cmm82lui.js +1 -1
  366. package/dist/oauth-env-DAamJ1oz.js +1 -1
  367. package/dist/oauth-env-DSLBTWb1.js +1 -1
  368. package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -1
  369. package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -1
  370. package/dist/ollama-setup-CKt3tF-S.js +1 -1
  371. package/dist/ollama-setup-I8lghdX1.js +1 -1
  372. package/dist/onboard-B3WSjKCu.js +1 -1
  373. package/dist/onboard-C65vdb94.js +1 -1
  374. package/dist/onboard-channels-9CmG3Jgn.js +1 -1
  375. package/dist/onboard-channels-CV1AK9jY.js +1 -1
  376. package/dist/onboard-config-B7U20YRw.js +1 -1
  377. package/dist/onboard-config-DS9dUv8M.js +1 -1
  378. package/dist/onboard-custom-CwHYUB0T.js +1 -1
  379. package/dist/onboard-custom-uwufXtQf.js +1 -1
  380. package/dist/onboard-helpers-CGJLUoxR.js +1 -1
  381. package/dist/onboard-helpers-DbpWQoiB.js +1 -1
  382. package/dist/onboard-hooks-CERzXObm.js +1 -1
  383. package/dist/onboard-hooks-gQ3sxBNi.js +1 -1
  384. package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -1
  385. package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -1
  386. package/dist/onboard-remote-BeDZ_gbH.js +1 -1
  387. package/dist/onboard-remote-KTUx-3G1.js +1 -1
  388. package/dist/onboard-search-f2tJD4hg.js +1 -1
  389. package/dist/onboard-search-fslKKhyg.js +1 -1
  390. package/dist/onboard-skills-BoS_oVdm.js +1 -1
  391. package/dist/onboard-skills-C4omGWoD.js +1 -1
  392. package/dist/onboarding-B8icigkk.js +1 -1
  393. package/dist/onboarding-BJRqNsZ8.js +1 -1
  394. package/dist/onboarding.finalize-D0qISqn-.js +1 -1
  395. package/dist/onboarding.finalize-Ds9NwPBL.js +1 -1
  396. package/dist/onboarding.gateway-config-F8n_QFUR.js +1 -1
  397. package/dist/onboarding.gateway-config-eno73eHw.js +1 -1
  398. package/dist/onboarding.secret-input-B6fzeucQ.js +1 -1
  399. package/dist/onboarding.secret-input-CBuD3c32.js +1 -1
  400. package/dist/openai-codex-model-default-Df2T3foI.js +1 -1
  401. package/dist/openai-codex-model-default-DtIeKJm0.js +1 -1
  402. package/dist/openai-model-default-DIE55yBt.js +1 -1
  403. package/dist/openai-model-default-sqvWk4kB.js +1 -1
  404. package/dist/openclaw-exec-env-BWbOu_YC.js +1 -1
  405. package/dist/openclaw-root-CnsBf6ZU.js +1 -1
  406. package/dist/openclaw-root-D_0Q6--h.js +1 -1
  407. package/dist/outbound-B88MLJN3.js +1 -1
  408. package/dist/outbound-C-4qToKv.js +1 -1
  409. package/dist/outbound-CSk4oF0g.js +1 -1
  410. package/dist/outbound-DKMI_4xm.js +1 -1
  411. package/dist/outbound-attachment-BOax42-M.js +1 -1
  412. package/dist/outbound-attachment-DBNxdLYh.js +1 -1
  413. package/dist/outbound-attachment-DVjJQ3V6.js +1 -1
  414. package/dist/outbound-attachment-aZWcoZ-N.js +1 -1
  415. package/dist/pairing-cli-Cby6Ww8F.js +1 -1
  416. package/dist/pairing-cli-DiJb_a0V.js +1 -1
  417. package/dist/pairing-labels-BP1h0iHy.js +1 -1
  418. package/dist/pairing-labels-ryOnuOFA.js +1 -1
  419. package/dist/pairing-store-Bv4KSELv.js +1 -1
  420. package/dist/pairing-store-CjTPxq0X.js +1 -1
  421. package/dist/pairing-token-CKX1ds78.js +1 -1
  422. package/dist/pairing-token-CX0SUJsB.js +1 -1
  423. package/dist/parse-duration-XTjMKl8s.js +1 -1
  424. package/dist/parse-finite-number-DqzUM-_s.js +1 -1
  425. package/dist/parse-finite-number-dBmDLLKL.js +1 -1
  426. package/dist/parse-log-line-CsYLg7Qu.js +1 -1
  427. package/dist/parse-log-line-NV-cipB_.js +1 -1
  428. package/dist/parse-port-Bv1Y9Wk5.js +1 -1
  429. package/dist/parse-port-JVwkxcZ8.js +1 -1
  430. package/dist/parse-timeout-DWSGfCkQ.js +1 -1
  431. package/dist/parse-timeout-Dx4QnVzo.js +1 -1
  432. package/dist/path-alias-guards-kY_ZbWs-.js +1 -1
  433. package/dist/path-alias-guards-mvyLCPlN.js +1 -1
  434. package/dist/path-env-BPd1Yd-i.js +1 -1
  435. package/dist/path-env-emdAQejM.js +1 -1
  436. package/dist/path-safety-BukYK8Kd.js +1 -1
  437. package/dist/path-safety-DaaMJFdt.js +1 -1
  438. package/dist/paths-B4IRk3wi.js +1 -1
  439. package/dist/paths-BfjJY2VL.js +1 -1
  440. package/dist/paths-BjD3T_xq.js +1 -1
  441. package/dist/paths-BpQOWYiT.js +1 -1
  442. package/dist/paths-CChBdtE8.js +1 -1
  443. package/dist/paths-CrCoPIVK.js +1 -1
  444. package/dist/paths-piJASC5k.js +1 -1
  445. package/dist/paths-yLEk_25I.js +1 -1
  446. package/dist/pi-embedded-ZEWNj7P5.js +1 -1
  447. package/dist/pi-embedded-bqE4EmdD.js +1 -1
  448. package/dist/pi-model-discovery-6myCPEJE.js +1 -1
  449. package/dist/pi-model-discovery-AiV9h8k6.js +1 -1
  450. package/dist/pi-model-discovery-BzqdozHB.js +1 -1
  451. package/dist/pi-model-discovery-C8YBu6D4.js +1 -1
  452. package/dist/pi-tools.before-tool-call.runtime-CPAJMO7J.js +1 -1
  453. package/dist/pi-tools.before-tool-call.runtime-CYmLHod0.js +1 -1
  454. package/dist/pi-tools.before-tool-call.runtime-CfVqI0Ng.js +1 -1
  455. package/dist/pi-tools.before-tool-call.runtime-D9FlPJ_v.js +1 -1
  456. package/dist/pi-tools.policy-CeSKHaKa.js +1 -1
  457. package/dist/plugin-auto-enable-Cp7L8ko8.js +1 -1
  458. package/dist/plugin-auto-enable-DCOxqfDQ.js +1 -1
  459. package/dist/plugin-install-plan-BobX0y9S.js +1 -1
  460. package/dist/plugin-install-plan-NvDGp0d8.js +1 -1
  461. package/dist/plugin-registry-Fg000e4I.js +1 -1
  462. package/dist/plugin-registry-fm5tDUbE.js +1 -1
  463. package/dist/plugin-sdk/account-id.cjs +1 -1
  464. package/dist/plugin-sdk/account-id.js +1 -1
  465. package/dist/plugin-sdk/acpx.cjs +1 -1
  466. package/dist/plugin-sdk/acpx.js +1 -1
  467. package/dist/plugin-sdk/active-listener-BFeaYGID.js +1 -1
  468. package/dist/plugin-sdk/active-listener-BszCM2Au.cjs +1 -1
  469. package/dist/plugin-sdk/active-listener-CIcleJgU.cjs +1 -1
  470. package/dist/plugin-sdk/active-listener-Cqgd7xVh.cjs +1 -1
  471. package/dist/plugin-sdk/active-listener-D578zEtk.cjs +1 -1
  472. package/dist/plugin-sdk/active-listener-D6gGPLq-.js +1 -1
  473. package/dist/plugin-sdk/active-listener-DKSZRn4x.cjs +1 -1
  474. package/dist/plugin-sdk/active-listener-DNO10F1L.js +1 -1
  475. package/dist/plugin-sdk/active-listener-DQq07Aar.js +1 -1
  476. package/dist/plugin-sdk/active-listener-Dle_kYqb.js +1 -1
  477. package/dist/plugin-sdk/active-listener-DmJcHkMC.js +1 -1
  478. package/dist/plugin-sdk/active-listener-UmFpcYFY.cjs +1 -1
  479. package/dist/plugin-sdk/api-key-rotation-39TRXDEA.cjs +1 -1
  480. package/dist/plugin-sdk/api-key-rotation-7qlqJ_ou.js +1 -1
  481. package/dist/plugin-sdk/api-key-rotation-BY7fLi9z.js +1 -1
  482. package/dist/plugin-sdk/api-key-rotation-CF9_CKS-.cjs +1 -1
  483. package/dist/plugin-sdk/api-key-rotation-CWylhFOt.cjs +1 -1
  484. package/dist/plugin-sdk/api-key-rotation-ClZmonv2.js +1 -1
  485. package/dist/plugin-sdk/api-key-rotation-CmesQWXP.cjs +1 -1
  486. package/dist/plugin-sdk/api-key-rotation-Cs6II2__.js +1 -1
  487. package/dist/plugin-sdk/api-key-rotation-CxaiMcI1.js +1 -1
  488. package/dist/plugin-sdk/api-key-rotation-D5cfmg7E.cjs +1 -1
  489. package/dist/plugin-sdk/api-key-rotation-DkP7KnSm.cjs +1 -1
  490. package/dist/plugin-sdk/api-key-rotation-mDqgBFMG.js +1 -1
  491. package/dist/plugin-sdk/audio-preflight-B-HrF5Oc.js +1 -1
  492. package/dist/plugin-sdk/audio-preflight-B2MGeSoT.js +1 -1
  493. package/dist/plugin-sdk/audio-preflight-BVjiz_Qk.cjs +1 -1
  494. package/dist/plugin-sdk/audio-preflight-Behqe7F3.cjs +1 -1
  495. package/dist/plugin-sdk/audio-preflight-C0ncOCbK.cjs +1 -1
  496. package/dist/plugin-sdk/audio-preflight-C1o1n-KK.js +1 -1
  497. package/dist/plugin-sdk/audio-preflight-CzLYTZ5P.cjs +1 -1
  498. package/dist/plugin-sdk/audio-preflight-DDiBwIB9.js +1 -1
  499. package/dist/plugin-sdk/audio-preflight-DQyh-XSn.cjs +1 -1
  500. package/dist/plugin-sdk/audio-preflight-WH9WDR81.cjs +1 -1
  501. package/dist/plugin-sdk/audio-preflight-ZPLO3G1S.js +1 -1
  502. package/dist/plugin-sdk/audio-preflight-s3BAID12.js +1 -1
  503. package/dist/plugin-sdk/audio-transcription-runner-2-ZQ5Md-.cjs +1 -1
  504. package/dist/plugin-sdk/audio-transcription-runner-BO7T_SzP.cjs +1 -1
  505. package/dist/plugin-sdk/audio-transcription-runner-CRYJlAeP.js +1 -1
  506. package/dist/plugin-sdk/audio-transcription-runner-CmW24oVR.js +1 -1
  507. package/dist/plugin-sdk/audio-transcription-runner-CmYuWS0_.cjs +1 -1
  508. package/dist/plugin-sdk/audio-transcription-runner-CslXJs5c.js +1 -1
  509. package/dist/plugin-sdk/audio-transcription-runner-DE1tKTQV.cjs +1 -1
  510. package/dist/plugin-sdk/audio-transcription-runner-DZR84B28.js +1 -1
  511. package/dist/plugin-sdk/audio-transcription-runner-DoR-NOcV.cjs +1 -1
  512. package/dist/plugin-sdk/audio-transcription-runner-IE4olXkd.cjs +1 -1
  513. package/dist/plugin-sdk/audio-transcription-runner-YiDQM_Rb.js +1 -1
  514. package/dist/plugin-sdk/audio-transcription-runner-kAVM4YFR.js +1 -1
  515. package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -1
  516. package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -1
  517. package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -1
  518. package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -1
  519. package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -1
  520. package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -1
  521. package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -1
  522. package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -1
  523. package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -1
  524. package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -1
  525. package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -1
  526. package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -1
  527. package/dist/plugin-sdk/bluebubbles.cjs +1 -1
  528. package/dist/plugin-sdk/bluebubbles.js +1 -1
  529. package/dist/plugin-sdk/channel-activity-Bed876M5.js +1 -1
  530. package/dist/plugin-sdk/channel-activity-Bu8tAmGa.cjs +1 -1
  531. package/dist/plugin-sdk/channel-activity-C01Im_o1.js +1 -1
  532. package/dist/plugin-sdk/channel-activity-CIycjzUC.js +1 -1
  533. package/dist/plugin-sdk/channel-activity-Cdkn3O_i.js +1 -1
  534. package/dist/plugin-sdk/channel-activity-Cia2G3v5.js +1 -1
  535. package/dist/plugin-sdk/channel-activity-D6d2wU8H.cjs +1 -1
  536. package/dist/plugin-sdk/channel-activity-DNv7JLBx.cjs +1 -1
  537. package/dist/plugin-sdk/channel-activity-Df3DfYyZ.cjs +1 -1
  538. package/dist/plugin-sdk/channel-activity-Rut-HCfT.cjs +1 -1
  539. package/dist/plugin-sdk/channel-activity-mffNSQrX.cjs +1 -1
  540. package/dist/plugin-sdk/channel-activity-qjwFifkE.js +1 -1
  541. package/dist/plugin-sdk/channel-web-Ces_xx2T.js +1 -1
  542. package/dist/plugin-sdk/channel-web-CsmEnYD8.cjs +1 -1
  543. package/dist/plugin-sdk/channel-web-DtzNv49H.cjs +1 -1
  544. package/dist/plugin-sdk/channel-web-VEZVrMYU.js +1 -1
  545. package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -1
  546. package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -1
  547. package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -1
  548. package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -1
  549. package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -1
  550. package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -1
  551. package/dist/plugin-sdk/commands-registry-33H8WYTk.cjs +1 -1
  552. package/dist/plugin-sdk/commands-registry-BGdm1KdC.js +1 -1
  553. package/dist/plugin-sdk/commands-registry-BgV9i-bj.cjs +1 -1
  554. package/dist/plugin-sdk/commands-registry-BifdCfty.cjs +1 -1
  555. package/dist/plugin-sdk/commands-registry-CJLBIIIp.js +1 -1
  556. package/dist/plugin-sdk/commands-registry-CWK9ARbc.js +1 -1
  557. package/dist/plugin-sdk/commands-registry-CfVD1h8L.cjs +1 -1
  558. package/dist/plugin-sdk/commands-registry-CpG4pxrA.js +1 -1
  559. package/dist/plugin-sdk/commands-registry-D-AnIQWz.cjs +1 -1
  560. package/dist/plugin-sdk/commands-registry-DBI4cPqT.cjs +1 -1
  561. package/dist/plugin-sdk/commands-registry-DOBe9cWq.js +1 -1
  562. package/dist/plugin-sdk/commands-registry-DqemUyiv.js +1 -1
  563. package/dist/plugin-sdk/common-CEe87dmX.js +1 -1
  564. package/dist/plugin-sdk/common-CjMKHm2Z.cjs +1 -1
  565. package/dist/plugin-sdk/compat.cjs +1 -1
  566. package/dist/plugin-sdk/compat.js +1 -1
  567. package/dist/plugin-sdk/config-DT_csBcZ.cjs +1 -1
  568. package/dist/plugin-sdk/config-LR8GH3Ws.js +1 -1
  569. package/dist/plugin-sdk/copilot-proxy.cjs +1 -1
  570. package/dist/plugin-sdk/copilot-proxy.js +1 -1
  571. package/dist/plugin-sdk/core.cjs +1 -1
  572. package/dist/plugin-sdk/core.js +1 -1
  573. package/dist/plugin-sdk/deliver-AORlkcbD.cjs +1 -1
  574. package/dist/plugin-sdk/deliver-BiBFW5fm.cjs +1 -1
  575. package/dist/plugin-sdk/deliver-BpqEPwLO.cjs +1 -1
  576. package/dist/plugin-sdk/deliver-BvC6aUKM.js +1 -1
  577. package/dist/plugin-sdk/deliver-CT0AIuK1.cjs +1 -1
  578. package/dist/plugin-sdk/deliver-CmddcjtG.cjs +1 -1
  579. package/dist/plugin-sdk/deliver-DFz5N1Eh.js +1 -1
  580. package/dist/plugin-sdk/deliver-DcJWpoqf.cjs +1 -1
  581. package/dist/plugin-sdk/deliver-ILim6ANU.js +1 -1
  582. package/dist/plugin-sdk/deliver-QgxW9IxV.js +1 -1
  583. package/dist/plugin-sdk/deliver-cT-Q8v0h.js +1 -1
  584. package/dist/plugin-sdk/deliver-cu_NQTmb.js +1 -1
  585. package/dist/plugin-sdk/device-pair.cjs +1 -1
  586. package/dist/plugin-sdk/device-pair.js +1 -1
  587. package/dist/plugin-sdk/diagnostic-BCyE1aYH.cjs +1 -1
  588. package/dist/plugin-sdk/diagnostic-BFea3l_a.js +1 -1
  589. package/dist/plugin-sdk/diagnostic-BvR96WdC.js +1 -1
  590. package/dist/plugin-sdk/diagnostic-C0xDsk89.cjs +1 -1
  591. package/dist/plugin-sdk/diagnostic-CEPhLgsW.cjs +1 -1
  592. package/dist/plugin-sdk/diagnostic-CbLwUqTE.cjs +1 -1
  593. package/dist/plugin-sdk/diagnostic-CbfxoqI_.cjs +1 -1
  594. package/dist/plugin-sdk/diagnostic-DDwUPG1m.js +1 -1
  595. package/dist/plugin-sdk/diagnostic-DS_mKKOu.js +1 -1
  596. package/dist/plugin-sdk/diagnostic-DYpehqHU.cjs +1 -1
  597. package/dist/plugin-sdk/diagnostic-DkncnZ3G.js +1 -1
  598. package/dist/plugin-sdk/diagnostic-Dz8HPEDe.js +1 -1
  599. package/dist/plugin-sdk/diagnostics-otel.cjs +1 -1
  600. package/dist/plugin-sdk/diagnostics-otel.js +1 -1
  601. package/dist/plugin-sdk/diffs.cjs +1 -1
  602. package/dist/plugin-sdk/diffs.js +1 -1
  603. package/dist/plugin-sdk/discord.cjs +1 -1
  604. package/dist/plugin-sdk/discord.js +1 -1
  605. package/dist/plugin-sdk/dispatch-6m3206FH.js +1 -1
  606. package/dist/plugin-sdk/dispatch-BYZNaz0n.cjs +1 -1
  607. package/dist/plugin-sdk/dispatch-BahZCe-D.js +1 -1
  608. package/dist/plugin-sdk/dispatch-Bi3yeWxb.cjs +1 -1
  609. package/dist/plugin-sdk/dispatch-BjB_TqWy.cjs +1 -1
  610. package/dist/plugin-sdk/dispatch-CNR186B3.js +1 -1
  611. package/dist/plugin-sdk/dispatch-CStT30wi.cjs +1 -1
  612. package/dist/plugin-sdk/dispatch-CdZAW9dg.cjs +1 -1
  613. package/dist/plugin-sdk/dispatch-Ewg2Jgw9.js +1 -1
  614. package/dist/plugin-sdk/dispatch-HRTsdeCV.js +1 -1
  615. package/dist/plugin-sdk/feishu.cjs +1 -1
  616. package/dist/plugin-sdk/feishu.js +1 -1
  617. package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -1
  618. package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -1
  619. package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -1
  620. package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -1
  621. package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -1
  622. package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -1
  623. package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -1
  624. package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -1
  625. package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -1
  626. package/dist/plugin-sdk/fetch-BtZY623f.js +1 -1
  627. package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -1
  628. package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -1
  629. package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -1
  630. package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -1
  631. package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -1
  632. package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -1
  633. package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -1
  634. package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -1
  635. package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -1
  636. package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -1
  637. package/dist/plugin-sdk/fetch-guard-D8TdhTHU.js +1 -1
  638. package/dist/plugin-sdk/fetch-guard-DC_pFJEy.js +1 -1
  639. package/dist/plugin-sdk/fetch-guard-DDkd30BG.js +1 -1
  640. package/dist/plugin-sdk/fetch-guard-DELiFG5g.js +1 -1
  641. package/dist/plugin-sdk/fetch-guard-DIYjBRpq.cjs +1 -1
  642. package/dist/plugin-sdk/fetch-guard-DPVfELS7.js +1 -1
  643. package/dist/plugin-sdk/fetch-guard-Dpz6CnJY.cjs +1 -1
  644. package/dist/plugin-sdk/fetch-guard-DqNKwgHP.cjs +1 -1
  645. package/dist/plugin-sdk/fetch-guard-DqTxZ3G8.cjs +1 -1
  646. package/dist/plugin-sdk/fetch-guard-EoAitPe9.cjs +1 -1
  647. package/dist/plugin-sdk/fetch-guard-qfU6iTvp.js +1 -1
  648. package/dist/plugin-sdk/fetch-guard-u2Dt6P9i.cjs +1 -1
  649. package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -1
  650. package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -1
  651. package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -1
  652. package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -1
  653. package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -1
  654. package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -1
  655. package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -1
  656. package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -1
  657. package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -1
  658. package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -1
  659. package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -1
  660. package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -1
  661. package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -1
  662. package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -1
  663. package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -1
  664. package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -1
  665. package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -1
  666. package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -1
  667. package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -1
  668. package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -1
  669. package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -1
  670. package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -1
  671. package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -1
  672. package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -1
  673. package/dist/plugin-sdk/googlechat.cjs +1 -1
  674. package/dist/plugin-sdk/googlechat.js +1 -1
  675. package/dist/plugin-sdk/image-0OHO98b9.cjs +1 -1
  676. package/dist/plugin-sdk/image-B9SLKAOs.cjs +1 -1
  677. package/dist/plugin-sdk/image-BVnZq5Y4.js +1 -1
  678. package/dist/plugin-sdk/image-CKLAyhco.js +1 -1
  679. package/dist/plugin-sdk/image-DUHEJeBF.js +1 -1
  680. package/dist/plugin-sdk/image-DngxW2Nh.cjs +1 -1
  681. package/dist/plugin-sdk/image-DrPh2689.cjs +1 -1
  682. package/dist/plugin-sdk/image-ISWO0Dwt.js +1 -1
  683. package/dist/plugin-sdk/image-KfZYW6Lh.cjs +1 -1
  684. package/dist/plugin-sdk/image-YVlw68CK.js +1 -1
  685. package/dist/plugin-sdk/image-gehqJnV6.js +1 -1
  686. package/dist/plugin-sdk/image-jUYo-0eT.cjs +1 -1
  687. package/dist/plugin-sdk/imessage.cjs +1 -1
  688. package/dist/plugin-sdk/imessage.js +1 -1
  689. package/dist/plugin-sdk/index.cjs +1 -1
  690. package/dist/plugin-sdk/index.js +1 -1
  691. package/dist/plugin-sdk/ir-78toXVqC.cjs +1 -1
  692. package/dist/plugin-sdk/ir-A_TqKaXP.cjs +1 -1
  693. package/dist/plugin-sdk/ir-B0_rUT7m.js +1 -1
  694. package/dist/plugin-sdk/ir-B7agH4cQ.cjs +1 -1
  695. package/dist/plugin-sdk/ir-B9ap_YNW.cjs +1 -1
  696. package/dist/plugin-sdk/ir-BxKSHYao.cjs +1 -1
  697. package/dist/plugin-sdk/ir-BzZArF6l.js +1 -1
  698. package/dist/plugin-sdk/ir-CpkEWZD6.js +1 -1
  699. package/dist/plugin-sdk/ir-D4Dz-giw.cjs +1 -1
  700. package/dist/plugin-sdk/ir-DJ08DSkk.js +1 -1
  701. package/dist/plugin-sdk/ir-L2vhtuGx.js +1 -1
  702. package/dist/plugin-sdk/ir-ntSck5Kp.js +1 -1
  703. package/dist/plugin-sdk/irc.cjs +1 -1
  704. package/dist/plugin-sdk/irc.js +1 -1
  705. package/dist/plugin-sdk/keyed-async-queue.cjs +1 -1
  706. package/dist/plugin-sdk/keyed-async-queue.js +1 -1
  707. package/dist/plugin-sdk/line.cjs +1 -1
  708. package/dist/plugin-sdk/line.js +1 -1
  709. package/dist/plugin-sdk/llm-task.cjs +1 -1
  710. package/dist/plugin-sdk/llm-task.js +1 -1
  711. package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -1
  712. package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -1
  713. package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -1
  714. package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -1
  715. package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -1
  716. package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -1
  717. package/dist/plugin-sdk/lobster.cjs +1 -1
  718. package/dist/plugin-sdk/lobster.js +1 -1
  719. package/dist/plugin-sdk/local-roots-B0zm186S.js +1 -1
  720. package/dist/plugin-sdk/local-roots-B4Uy4kG3.cjs +1 -1
  721. package/dist/plugin-sdk/local-roots-CM1R1Ncr.cjs +1 -1
  722. package/dist/plugin-sdk/local-roots-CW78ZeZV.js +1 -1
  723. package/dist/plugin-sdk/local-roots-CnsaE7a_.js +1 -1
  724. package/dist/plugin-sdk/local-roots-D1k-fAlE.cjs +1 -1
  725. package/dist/plugin-sdk/local-roots-DQ_vfJPK.js +1 -1
  726. package/dist/plugin-sdk/local-roots-DYlB1au6.cjs +1 -1
  727. package/dist/plugin-sdk/local-roots-H4-t0qG_.js +1 -1
  728. package/dist/plugin-sdk/local-roots-SCyeUfM3.cjs +1 -1
  729. package/dist/plugin-sdk/local-roots-l4PqCmiU.js +1 -1
  730. package/dist/plugin-sdk/local-roots-xHoEq1Fq.cjs +1 -1
  731. package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -1
  732. package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -1
  733. package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -1
  734. package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -1
  735. package/dist/plugin-sdk/logger-C210xuWx.js +1 -1
  736. package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -1
  737. package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -1
  738. package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -1
  739. package/dist/plugin-sdk/logger-DwWqfo66.js +1 -1
  740. package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -1
  741. package/dist/plugin-sdk/login-BN1TsFp4.cjs +1 -1
  742. package/dist/plugin-sdk/login-BXUtcSnB.cjs +1 -1
  743. package/dist/plugin-sdk/login-BoMH2iJT.js +1 -1
  744. package/dist/plugin-sdk/login-BtT7yRJO.js +1 -1
  745. package/dist/plugin-sdk/login-COzybMRK.js +1 -1
  746. package/dist/plugin-sdk/login-Cw1jFbel.cjs +1 -1
  747. package/dist/plugin-sdk/login-DEmpr5YK.js +1 -1
  748. package/dist/plugin-sdk/login-Dln00cFs.cjs +1 -1
  749. package/dist/plugin-sdk/login-S2Fe5n5K.cjs +1 -1
  750. package/dist/plugin-sdk/login-TieaF0ts.cjs +1 -1
  751. package/dist/plugin-sdk/login-ZQK4uJLw.js +1 -1
  752. package/dist/plugin-sdk/login-fKxJv0_F.js +1 -1
  753. package/dist/plugin-sdk/login-qr-1ilmySGx.js +1 -1
  754. package/dist/plugin-sdk/login-qr-B0ZSZaNI.js +1 -1
  755. package/dist/plugin-sdk/login-qr-B2P2Ky4j.js +1 -1
  756. package/dist/plugin-sdk/login-qr-B2U87iU8.js +1 -1
  757. package/dist/plugin-sdk/login-qr-B4x_eWI_.js +1 -1
  758. package/dist/plugin-sdk/login-qr-BIaJB24t.cjs +1 -1
  759. package/dist/plugin-sdk/login-qr-BMl5Beq2.cjs +1 -1
  760. package/dist/plugin-sdk/login-qr-Bkm3QorK.cjs +1 -1
  761. package/dist/plugin-sdk/login-qr-ClL8FMAJ.cjs +1 -1
  762. package/dist/plugin-sdk/login-qr-DFVK1lg-.js +1 -1
  763. package/dist/plugin-sdk/login-qr-DhieI9fL.cjs +1 -1
  764. package/dist/plugin-sdk/login-qr-DyQT1QnE.cjs +1 -1
  765. package/dist/plugin-sdk/manager-0tvX3Z_N.cjs +1 -1
  766. package/dist/plugin-sdk/manager-8uylP7PH.cjs +1 -1
  767. package/dist/plugin-sdk/manager-B6hWglXe.js +1 -1
  768. package/dist/plugin-sdk/manager-BGoKN9ur.js +1 -1
  769. package/dist/plugin-sdk/manager-BRP1lzb6.js +1 -1
  770. package/dist/plugin-sdk/manager-BeLNhsXC.cjs +1 -1
  771. package/dist/plugin-sdk/manager-BnytMgmq.js +1 -1
  772. package/dist/plugin-sdk/manager-BoMQeM1I.cjs +1 -1
  773. package/dist/plugin-sdk/manager-CYZY9vcM.js +1 -1
  774. package/dist/plugin-sdk/manager-DCDy2V1U.cjs +1 -1
  775. package/dist/plugin-sdk/manager-DE7sDip8.cjs +1 -1
  776. package/dist/plugin-sdk/manager-PwgQZNK1.js +1 -1
  777. package/dist/plugin-sdk/matrix.cjs +1 -1
  778. package/dist/plugin-sdk/matrix.js +1 -1
  779. package/dist/plugin-sdk/mattermost.cjs +1 -1
  780. package/dist/plugin-sdk/mattermost.js +1 -1
  781. package/dist/plugin-sdk/memory-core.cjs +1 -1
  782. package/dist/plugin-sdk/memory-core.js +1 -1
  783. package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -1
  784. package/dist/plugin-sdk/minimax-portal-auth.js +1 -1
  785. package/dist/plugin-sdk/model-auth-BgS7ynQw.cjs +1 -1
  786. package/dist/plugin-sdk/model-auth-CKlA2xRB.cjs +1 -1
  787. package/dist/plugin-sdk/model-auth-CLnFIqcf.cjs +1 -1
  788. package/dist/plugin-sdk/model-auth-D7YupJDS.js +1 -1
  789. package/dist/plugin-sdk/model-auth-eNVBeC-B.js +1 -1
  790. package/dist/plugin-sdk/model-auth-fJrNIbke.cjs +1 -1
  791. package/dist/plugin-sdk/model-auth-g6eGgTwR.js +1 -1
  792. package/dist/plugin-sdk/model-auth-wcxJptQX.js +1 -1
  793. package/dist/plugin-sdk/model-selection-4ExiFkaW.js +1 -1
  794. package/dist/plugin-sdk/model-selection-CZY_x2-a.cjs +1 -1
  795. package/dist/plugin-sdk/msteams.cjs +1 -1
  796. package/dist/plugin-sdk/msteams.js +1 -1
  797. package/dist/plugin-sdk/nextcloud-talk.cjs +1 -1
  798. package/dist/plugin-sdk/nextcloud-talk.js +1 -1
  799. package/dist/plugin-sdk/nostr.cjs +1 -1
  800. package/dist/plugin-sdk/nostr.js +1 -1
  801. package/dist/plugin-sdk/outbound-2VVSR_d4.js +1 -1
  802. package/dist/plugin-sdk/outbound-B03BQa7T.cjs +1 -1
  803. package/dist/plugin-sdk/outbound-BE8CJ9c_.js +1 -1
  804. package/dist/plugin-sdk/outbound-BWtGs0dn.cjs +1 -1
  805. package/dist/plugin-sdk/outbound-BrD0UsX0.js +1 -1
  806. package/dist/plugin-sdk/outbound-Bvu4LbQx.js +1 -1
  807. package/dist/plugin-sdk/outbound-C5rNt-8z.cjs +1 -1
  808. package/dist/plugin-sdk/outbound-C6BJCoYf.cjs +1 -1
  809. package/dist/plugin-sdk/outbound-Cgc0JJtB.js +1 -1
  810. package/dist/plugin-sdk/outbound-DAHIkpiA.cjs +1 -1
  811. package/dist/plugin-sdk/outbound-DnO_udAm.cjs +1 -1
  812. package/dist/plugin-sdk/outbound-UAHsCNyW.js +1 -1
  813. package/dist/plugin-sdk/outbound-attachment-0QahtSQB.cjs +1 -1
  814. package/dist/plugin-sdk/outbound-attachment-8qvAj1MK.js +1 -1
  815. package/dist/plugin-sdk/outbound-attachment-B6SJy_CG.js +1 -1
  816. package/dist/plugin-sdk/outbound-attachment-BVdSGifg.js +1 -1
  817. package/dist/plugin-sdk/outbound-attachment-C-QqSQ79.cjs +1 -1
  818. package/dist/plugin-sdk/outbound-attachment-CYGrnygD.cjs +1 -1
  819. package/dist/plugin-sdk/outbound-attachment-CtA5eBgj.cjs +1 -1
  820. package/dist/plugin-sdk/outbound-attachment-D8Ng5uVX.cjs +1 -1
  821. package/dist/plugin-sdk/outbound-attachment-DS0S0NLK.js +1 -1
  822. package/dist/plugin-sdk/outbound-attachment-Ds2XsjQl.js +1 -1
  823. package/dist/plugin-sdk/outbound-attachment-acB4qID1.js +1 -1
  824. package/dist/plugin-sdk/outbound-attachment-x4Q2SVIA.cjs +1 -1
  825. package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -1
  826. package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -1
  827. package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -1
  828. package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -1
  829. package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -1
  830. package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -1
  831. package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -1
  832. package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -1
  833. package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -1
  834. package/dist/plugin-sdk/paths-CtrEseGU.js +1 -1
  835. package/dist/plugin-sdk/paths-D55o_j8-.js +1 -1
  836. package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -1
  837. package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -1
  838. package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -1
  839. package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -1
  840. package/dist/plugin-sdk/paths-Do0djuaj.js +1 -1
  841. package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -1
  842. package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -1
  843. package/dist/plugin-sdk/paths-piJASC5k.js +1 -1
  844. package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -1
  845. package/dist/plugin-sdk/pi-model-discovery--UcCzdQg.js +1 -1
  846. package/dist/plugin-sdk/pi-model-discovery-Bi4dKtW0.cjs +1 -1
  847. package/dist/plugin-sdk/pi-model-discovery-CCK2Ppj9.js +1 -1
  848. package/dist/plugin-sdk/pi-model-discovery-CRSZ0OFi.js +1 -1
  849. package/dist/plugin-sdk/pi-model-discovery-Cx_r4FGY.js +1 -1
  850. package/dist/plugin-sdk/pi-model-discovery-D3JQMjAa.cjs +1 -1
  851. package/dist/plugin-sdk/pi-model-discovery-DN1RHetG.cjs +1 -1
  852. package/dist/plugin-sdk/pi-model-discovery-DVFSU0-f.cjs +1 -1
  853. package/dist/plugin-sdk/pi-model-discovery-DWMAAhA-.cjs +1 -1
  854. package/dist/plugin-sdk/pi-model-discovery-DYOHzCjs.js +1 -1
  855. package/dist/plugin-sdk/pi-model-discovery-DdSVvbQ5.cjs +1 -1
  856. package/dist/plugin-sdk/pi-model-discovery-DejkxBol.js +1 -1
  857. package/dist/plugin-sdk/pi-model-discovery-SmVAFMj_.cjs +1 -1
  858. package/dist/plugin-sdk/pi-model-discovery-ma8st1Ek.js +1 -1
  859. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-B2WodYBY.cjs +1 -1
  860. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BC114tUb.js +1 -1
  861. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BF6jP1nM.js +1 -1
  862. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Beg-U7Z-.cjs +1 -1
  863. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BkEYsSLL.js +1 -1
  864. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-C21sWtkh.js +1 -1
  865. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CKkgBGIj.cjs +1 -1
  866. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CNun__L-.js +1 -1
  867. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Clulhv2X.cjs +1 -1
  868. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DvwL5in9.cjs +1 -1
  869. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-FnzjmZqP.js +1 -1
  870. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Rq5y0QJ2.cjs +1 -1
  871. package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -1
  872. package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -1
  873. package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -1
  874. package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -1
  875. package/dist/plugin-sdk/polls-PGxiE05J.js +1 -1
  876. package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -1
  877. package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -1
  878. package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -1
  879. package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -1
  880. package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -1
  881. package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -1
  882. package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -1
  883. package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -1
  884. package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -1
  885. package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -1
  886. package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -1
  887. package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -1
  888. package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -1
  889. package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -1
  890. package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -1
  891. package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -1
  892. package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -1
  893. package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -1
  894. package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -1
  895. package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -1
  896. package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -1
  897. package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -1
  898. package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -1
  899. package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -1
  900. package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -1
  901. package/dist/plugin-sdk/pw-ai-3piACPqP.cjs +1 -1
  902. package/dist/plugin-sdk/pw-ai-8dajXBkZ.js +1 -1
  903. package/dist/plugin-sdk/pw-ai-B7mrBDW5.js +1 -1
  904. package/dist/plugin-sdk/pw-ai-BLD7x-3a.js +1 -1
  905. package/dist/plugin-sdk/pw-ai-BYmANcaC.cjs +1 -1
  906. package/dist/plugin-sdk/pw-ai-C1rVW06B.cjs +1 -1
  907. package/dist/plugin-sdk/pw-ai-CCDvaBUm.cjs +1 -1
  908. package/dist/plugin-sdk/pw-ai-CVYUOcKM.js +1 -1
  909. package/dist/plugin-sdk/pw-ai-DBg5CCXp.cjs +1 -1
  910. package/dist/plugin-sdk/pw-ai-DY11CCd3.cjs +1 -1
  911. package/dist/plugin-sdk/pw-ai-Kf2RyA25.js +1 -1
  912. package/dist/plugin-sdk/pw-ai-f5yF3n3t.js +1 -1
  913. package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -1
  914. package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -1
  915. package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -1
  916. package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -1
  917. package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -1
  918. package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -1
  919. package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -1
  920. package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -1
  921. package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -1
  922. package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -1
  923. package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -1
  924. package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -1
  925. package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -1
  926. package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -1
  927. package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -1
  928. package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -1
  929. package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -1
  930. package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -1
  931. package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -1
  932. package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -1
  933. package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -1
  934. package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -1
  935. package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -1
  936. package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -1
  937. package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -1
  938. package/dist/plugin-sdk/qwen-portal-auth.js +1 -1
  939. package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -1
  940. package/dist/plugin-sdk/render-CBsnn-2A.js +1 -1
  941. package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -1
  942. package/dist/plugin-sdk/render-DGmfCIRG.js +1 -1
  943. package/dist/plugin-sdk/render-DhTJXP1U.js +1 -1
  944. package/dist/plugin-sdk/render-Djx15dPh.js +1 -1
  945. package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -1
  946. package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -1
  947. package/dist/plugin-sdk/reply-BrHB7v5V.cjs +1 -1
  948. package/dist/plugin-sdk/reply-Clex4c2R.js +1 -1
  949. package/dist/plugin-sdk/resolve-outbound-target-BHLQMMp-.cjs +1 -1
  950. package/dist/plugin-sdk/resolve-outbound-target-Cvz2WXAk.cjs +1 -1
  951. package/dist/plugin-sdk/resolve-outbound-target-DDqGniMw.js +1 -1
  952. package/dist/plugin-sdk/resolve-outbound-target-DEpmpEep.js +1 -1
  953. package/dist/plugin-sdk/send--HeMLLzj.js +1 -1
  954. package/dist/plugin-sdk/send-2IhtEEzb.js +1 -1
  955. package/dist/plugin-sdk/send-9tPLnqkc.js +1 -1
  956. package/dist/plugin-sdk/send-B-exJfkg.js +1 -1
  957. package/dist/plugin-sdk/send-B4kzPtcN.js +1 -1
  958. package/dist/plugin-sdk/send-BCSkdYN6.cjs +1 -1
  959. package/dist/plugin-sdk/send-BEmZxBcF.js +1 -1
  960. package/dist/plugin-sdk/send-BHvZIrbJ.cjs +1 -1
  961. package/dist/plugin-sdk/send-BLbCBxeF.js +1 -1
  962. package/dist/plugin-sdk/send-BOkABdQu.cjs +1 -1
  963. package/dist/plugin-sdk/send-BPNd63Qs.js +1 -1
  964. package/dist/plugin-sdk/send-BVAm6Zbr.cjs +1 -1
  965. package/dist/plugin-sdk/send-B_619b3s.js +1 -1
  966. package/dist/plugin-sdk/send-BcuylzbX.js +1 -1
  967. package/dist/plugin-sdk/send-BdFvK9Wc2.js +1 -1
  968. package/dist/plugin-sdk/send-Bh-J7XWZ.cjs +1 -1
  969. package/dist/plugin-sdk/send-BkREPc90.cjs +1 -1
  970. package/dist/plugin-sdk/send-Bp4f-KJu.cjs +1 -1
  971. package/dist/plugin-sdk/send-BtF36kYb.js +1 -1
  972. package/dist/plugin-sdk/send-C6S8tkTA.cjs +1 -1
  973. package/dist/plugin-sdk/send-CDQF_izk.js +1 -1
  974. package/dist/plugin-sdk/send-CF3qas-K.js +1 -1
  975. package/dist/plugin-sdk/send-CFKQX2Wo.js +1 -1
  976. package/dist/plugin-sdk/send-CIP1u5a-.js +1 -1
  977. package/dist/plugin-sdk/send-CIxh7PV0.cjs +1 -1
  978. package/dist/plugin-sdk/send-CJJdcDHX.js +1 -1
  979. package/dist/plugin-sdk/send-COtvydDt.cjs +1 -1
  980. package/dist/plugin-sdk/send-CPwh7tRu.js +1 -1
  981. package/dist/plugin-sdk/send-CRnIqXN9.cjs +1 -1
  982. package/dist/plugin-sdk/send-CSqipUeV.cjs +1 -1
  983. package/dist/plugin-sdk/send-Chfe8tPY.js +1 -1
  984. package/dist/plugin-sdk/send-ClMvdjfg.js +1 -1
  985. package/dist/plugin-sdk/send-CmoJSYhT.js +1 -1
  986. package/dist/plugin-sdk/send-Cs5jSTw0.cjs +1 -1
  987. package/dist/plugin-sdk/send-D-6Et_9H.js +1 -1
  988. package/dist/plugin-sdk/send-D13uFnzH.cjs +1 -1
  989. package/dist/plugin-sdk/send-D3eT0F4N.cjs +1 -1
  990. package/dist/plugin-sdk/send-DAtg_VHa.js +1 -1
  991. package/dist/plugin-sdk/send-DCF59ijQ.cjs +1 -1
  992. package/dist/plugin-sdk/send-DN2xic3w.cjs +1 -1
  993. package/dist/plugin-sdk/send-DOjSTB6D.cjs +1 -1
  994. package/dist/plugin-sdk/send-DavwL7cF.js +1 -1
  995. package/dist/plugin-sdk/send-Dbmn1rgD.cjs +1 -1
  996. package/dist/plugin-sdk/send-DhfDqcwc.cjs +1 -1
  997. package/dist/plugin-sdk/send-DsDCrJWq.js +1 -1
  998. package/dist/plugin-sdk/send-DyR5Lpl-.js +1 -1
  999. package/dist/plugin-sdk/send-DyzuwDjE.js +1 -1
  1000. package/dist/plugin-sdk/send-GtphEa1b.cjs +1 -1
  1001. package/dist/plugin-sdk/send-HZNY_u3L.cjs +1 -1
  1002. package/dist/plugin-sdk/send-IM-76QZu.js +1 -1
  1003. package/dist/plugin-sdk/send-IqcgAO8b.cjs +1 -1
  1004. package/dist/plugin-sdk/send-OQcuL9tP.js +1 -1
  1005. package/dist/plugin-sdk/send-_92aOzWU.cjs +1 -1
  1006. package/dist/plugin-sdk/send-h_kE-cAK.js +1 -1
  1007. package/dist/plugin-sdk/send-jOMdGt0L.cjs +1 -1
  1008. package/dist/plugin-sdk/send-mZ_d-t_3.cjs +1 -1
  1009. package/dist/plugin-sdk/send-puyUta4_.cjs +1 -1
  1010. package/dist/plugin-sdk/send-t5U34FhY.cjs +1 -1
  1011. package/dist/plugin-sdk/send-tvw8j-Se.cjs +1 -1
  1012. package/dist/plugin-sdk/send-z1vaCgF3.cjs +1 -1
  1013. package/dist/plugin-sdk/session--K1m5v7m.js +1 -1
  1014. package/dist/plugin-sdk/session-B1DJ45om.js +1 -1
  1015. package/dist/plugin-sdk/session-B80NWO1m.js +1 -1
  1016. package/dist/plugin-sdk/session-BKPBr445.js +1 -1
  1017. package/dist/plugin-sdk/session-BQLjsBwL.cjs +1 -1
  1018. package/dist/plugin-sdk/session-BZHltxdM.js +1 -1
  1019. package/dist/plugin-sdk/session-Bt5yI-VW.cjs +1 -1
  1020. package/dist/plugin-sdk/session-CC1GqwiM.cjs +1 -1
  1021. package/dist/plugin-sdk/session-C_yqyp3P.cjs +1 -1
  1022. package/dist/plugin-sdk/session-ClISxvtJ.js +1 -1
  1023. package/dist/plugin-sdk/session-D4nn-nXX.cjs +1 -1
  1024. package/dist/plugin-sdk/session-DOA4CJgj.cjs +1 -1
  1025. package/dist/plugin-sdk/sessions-BwTjGneU.js +1 -1
  1026. package/dist/plugin-sdk/sessions-CJbvfO6m.cjs +1 -1
  1027. package/dist/plugin-sdk/signal.cjs +1 -1
  1028. package/dist/plugin-sdk/signal.js +1 -1
  1029. package/dist/plugin-sdk/skill-commands-5WGHyr3h.cjs +1 -1
  1030. package/dist/plugin-sdk/skill-commands-BZlF3g3o.js +1 -1
  1031. package/dist/plugin-sdk/skill-commands-BmBQSmNH.js +1 -1
  1032. package/dist/plugin-sdk/skill-commands-CD4GQXTR.cjs +1 -1
  1033. package/dist/plugin-sdk/skill-commands-CGOPOT-r.js +1 -1
  1034. package/dist/plugin-sdk/skill-commands-CM9ziCQY.cjs +1 -1
  1035. package/dist/plugin-sdk/skill-commands-CVsU5rEy.js +1 -1
  1036. package/dist/plugin-sdk/skill-commands-DNPxE-kc.cjs +1 -1
  1037. package/dist/plugin-sdk/skill-commands-DcgKCVDt.js +1 -1
  1038. package/dist/plugin-sdk/skill-commands-IAwkVeOe.js +1 -1
  1039. package/dist/plugin-sdk/skill-commands-ZyLkXbR_.cjs +1 -1
  1040. package/dist/plugin-sdk/skill-commands-xJWQthd5.cjs +1 -1
  1041. package/dist/plugin-sdk/slack.cjs +1 -1
  1042. package/dist/plugin-sdk/slack.js +1 -1
  1043. package/dist/plugin-sdk/synology-chat.cjs +1 -1
  1044. package/dist/plugin-sdk/synology-chat.js +1 -1
  1045. package/dist/plugin-sdk/tables-BZUVdTR-.cjs +1 -1
  1046. package/dist/plugin-sdk/tables-Bbodvj_s.cjs +1 -1
  1047. package/dist/plugin-sdk/tables-C5b2CtNw.cjs +1 -1
  1048. package/dist/plugin-sdk/tables-C6TX2QvW.js +1 -1
  1049. package/dist/plugin-sdk/tables-Cz5osenc.js +1 -1
  1050. package/dist/plugin-sdk/tables-DBSeZ07-.cjs +1 -1
  1051. package/dist/plugin-sdk/tables-DLSXY2-Q.js +1 -1
  1052. package/dist/plugin-sdk/tables-DQad-z2Z.cjs +1 -1
  1053. package/dist/plugin-sdk/tables-DYuLwL1d.js +1 -1
  1054. package/dist/plugin-sdk/tables-D_J655yN.js +1 -1
  1055. package/dist/plugin-sdk/tables-_vqK8P0T.js +1 -1
  1056. package/dist/plugin-sdk/tables-bSgb8OzP.cjs +1 -1
  1057. package/dist/plugin-sdk/target-errors-B-mJ4s4b.cjs +1 -1
  1058. package/dist/plugin-sdk/target-errors-BAHAHc8f.js +1 -1
  1059. package/dist/plugin-sdk/target-errors-BKruhz8r.js +1 -1
  1060. package/dist/plugin-sdk/target-errors-BbQBR5da.js +1 -1
  1061. package/dist/plugin-sdk/target-errors-BjgLCOTm.cjs +1 -1
  1062. package/dist/plugin-sdk/target-errors-CQbFkOae.js +1 -1
  1063. package/dist/plugin-sdk/target-errors-C_HYvghh.cjs +1 -1
  1064. package/dist/plugin-sdk/target-errors-CaaKhU6m.js +1 -1
  1065. package/dist/plugin-sdk/target-errors-QWTCk98R.cjs +1 -1
  1066. package/dist/plugin-sdk/target-errors-oh0u5K2w.cjs +1 -1
  1067. package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -1
  1068. package/dist/plugin-sdk/targets-BSkiizml.js +1 -1
  1069. package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -1
  1070. package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -1
  1071. package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -1
  1072. package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -1
  1073. package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -1
  1074. package/dist/plugin-sdk/targets-CrkJkzil.js +1 -1
  1075. package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -1
  1076. package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -1
  1077. package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -1
  1078. package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -1
  1079. package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -1
  1080. package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -1
  1081. package/dist/plugin-sdk/telegram.cjs +1 -1
  1082. package/dist/plugin-sdk/telegram.js +1 -1
  1083. package/dist/plugin-sdk/test-utils.cjs +1 -1
  1084. package/dist/plugin-sdk/test-utils.js +1 -1
  1085. package/dist/plugin-sdk/tlon.cjs +1 -1
  1086. package/dist/plugin-sdk/tlon.js +1 -1
  1087. package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -1
  1088. package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -1
  1089. package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -1
  1090. package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -1
  1091. package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -1
  1092. package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -1
  1093. package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -1
  1094. package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -1
  1095. package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -1
  1096. package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -1
  1097. package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -1
  1098. package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -1
  1099. package/dist/plugin-sdk/twitch.cjs +1 -1
  1100. package/dist/plugin-sdk/twitch.js +1 -1
  1101. package/dist/plugin-sdk/utils-BJtJR72k.js +1 -1
  1102. package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -1
  1103. package/dist/plugin-sdk/voice-call.cjs +1 -1
  1104. package/dist/plugin-sdk/voice-call.js +1 -1
  1105. package/dist/plugin-sdk/web-B4A8zBP9.cjs +1 -1
  1106. package/dist/plugin-sdk/web-BKKx3jqf.cjs +1 -1
  1107. package/dist/plugin-sdk/web-BTBgpaEi.js +1 -1
  1108. package/dist/plugin-sdk/web-BfjArU7g.js +1 -1
  1109. package/dist/plugin-sdk/web-C7KhecaH.cjs +1 -1
  1110. package/dist/plugin-sdk/web-CFMrBQv7.js +1 -1
  1111. package/dist/plugin-sdk/web-CS0AvKLx.js +1 -1
  1112. package/dist/plugin-sdk/web-EfgEjg15.cjs +1 -1
  1113. package/dist/plugin-sdk/weixin.cjs +1 -1
  1114. package/dist/plugin-sdk/weixin.js +1 -1
  1115. package/dist/plugin-sdk/whatsapp-actions-6N2LIWVD.js +1 -1
  1116. package/dist/plugin-sdk/whatsapp-actions-BGEghean.js +1 -1
  1117. package/dist/plugin-sdk/whatsapp-actions-BP_fSzB9.cjs +1 -1
  1118. package/dist/plugin-sdk/whatsapp-actions-BSx6-Onq.cjs +1 -1
  1119. package/dist/plugin-sdk/whatsapp-actions-BZAMGDn8.cjs +1 -1
  1120. package/dist/plugin-sdk/whatsapp-actions-BvZMduqd.js +1 -1
  1121. package/dist/plugin-sdk/whatsapp-actions-CDUbwNdp.cjs +1 -1
  1122. package/dist/plugin-sdk/whatsapp-actions-DNVIKnqz.cjs +1 -1
  1123. package/dist/plugin-sdk/whatsapp-actions-DTVbVkOo.js +1 -1
  1124. package/dist/plugin-sdk/whatsapp-actions-DjMYqpSS.js +1 -1
  1125. package/dist/plugin-sdk/whatsapp-actions-P1DVqKhD.cjs +1 -1
  1126. package/dist/plugin-sdk/whatsapp-actions-shElOKKX.js +1 -1
  1127. package/dist/plugin-sdk/whatsapp.cjs +1 -1
  1128. package/dist/plugin-sdk/whatsapp.js +1 -1
  1129. package/dist/plugin-sdk/zalo.cjs +1 -1
  1130. package/dist/plugin-sdk/zalo.js +1 -1
  1131. package/dist/plugin-sdk/zalouser.cjs +1 -1
  1132. package/dist/plugin-sdk/zalouser.js +1 -1
  1133. package/dist/plugins-CYLrFT4h.js +1 -1
  1134. package/dist/plugins-DNlgeTTc.js +1 -1
  1135. package/dist/plugins-cli-BiV4FaGs.js +1 -1
  1136. package/dist/plugins-cli-C0PLRxT0.js +1 -1
  1137. package/dist/polls-BIVz6a4F.js +1 -1
  1138. package/dist/polls-Bh5wc9-6.js +1 -1
  1139. package/dist/polls-C_XSFz3d.js +1 -1
  1140. package/dist/polls-DKJOFSzJ.js +1 -1
  1141. package/dist/ports-Bjc9q__g.js +1 -1
  1142. package/dist/ports-Di2_MOUb.js +1 -1
  1143. package/dist/probe-auth-9RrZOStc.js +1 -1
  1144. package/dist/probe-auth-Cg6SAov9.js +1 -1
  1145. package/dist/profile-utils-CWmra1aY.js +1 -1
  1146. package/dist/program-CI--7377.js +1 -1
  1147. package/dist/program-context-CH9p6anW.js +1 -1
  1148. package/dist/program-context-Cu8fVR-O.js +1 -1
  1149. package/dist/progress-LNttnI-y.js +1 -1
  1150. package/dist/progress-d1m2sqR1.js +1 -1
  1151. package/dist/prompt-select-styled-CbTtKeIC.js +1 -1
  1152. package/dist/prompt-select-styled-sYEl0gMg.js +1 -1
  1153. package/dist/prompt-style-BThRSQJR.js +1 -1
  1154. package/dist/prompt-style-CXKekIBY.js +1 -1
  1155. package/dist/prompts-CMzglboN.js +1 -1
  1156. package/dist/prompts-wv-lfVrJ.js +1 -1
  1157. package/dist/provider-auth-helpers-C3OaF218.js +1 -1
  1158. package/dist/provider-auth-helpers-CZyb7LUg.js +1 -1
  1159. package/dist/provider-env-vars-D8p6Ohpj.js +1 -1
  1160. package/dist/provider-env-vars-Dt0Q29Su.js +1 -1
  1161. package/dist/proxy-env-BNhTHkd_.js +1 -1
  1162. package/dist/proxy-env-DcmW_urA.js +1 -1
  1163. package/dist/proxy-env-DrC3TIGh.js +1 -1
  1164. package/dist/proxy-env-FJr5nlvs.js +1 -1
  1165. package/dist/proxy-fetch-BADsUK4d.js +1 -1
  1166. package/dist/proxy-fetch-BZ9O8Dvj.js +1 -1
  1167. package/dist/proxy-fetch-DnjU1fEB.js +1 -1
  1168. package/dist/proxy-fetch-gWETR3cl.js +1 -1
  1169. package/dist/push-apns-kySzOiJr.js +1 -1
  1170. package/dist/push-apns-tM6G9LLm.js +1 -1
  1171. package/dist/pw-ai-B7YMA_4Q.js +1 -1
  1172. package/dist/pw-ai-C7peCONw.js +1 -1
  1173. package/dist/pw-ai-CojtT9WR.js +1 -1
  1174. package/dist/pw-ai-DWJWFzTA.js +1 -1
  1175. package/dist/qmd-manager-C_e04BNg.js +1 -1
  1176. package/dist/qmd-manager-DSQ_mDCl.js +1 -1
  1177. package/dist/qmd-manager-DcBYbt_V.js +1 -1
  1178. package/dist/qmd-manager-NLI0R6kp.js +1 -1
  1179. package/dist/qr-cli-DUR7oW0_.js +1 -1
  1180. package/dist/qr-cli-kb3ygh9I.js +1 -1
  1181. package/dist/query-expansion-0OxEb1Io.js +1 -1
  1182. package/dist/query-expansion-BUUx_oWg.js +1 -1
  1183. package/dist/query-expansion-r_iXkNzt.js +1 -1
  1184. package/dist/reaction-level-DVPHL14p.js +1 -1
  1185. package/dist/reaction-message-id-BEEe7X3D.js +1 -1
  1186. package/dist/read-only-account-inspect-DEnPVHTo.js +1 -1
  1187. package/dist/redact-3_CiXMY6.js +1 -1
  1188. package/dist/redact-CnRxK70G.js +1 -1
  1189. package/dist/register.agent-BwmE1VD-.js +1 -1
  1190. package/dist/register.agent-D1hQi_68.js +1 -1
  1191. package/dist/register.backup-8s5jgnHQ.js +1 -1
  1192. package/dist/register.backup-CAiwLaIW.js +1 -1
  1193. package/dist/register.configure-BsTw4XfK.js +1 -1
  1194. package/dist/register.configure-DxR84Ot6.js +1 -1
  1195. package/dist/register.maintenance-3nzWAo_a.js +1 -1
  1196. package/dist/register.maintenance-DxKGQ9Jo.js +1 -1
  1197. package/dist/register.message-Bk1pHVSK.js +1 -1
  1198. package/dist/register.message-PcFtBR0-.js +1 -1
  1199. package/dist/register.onboard-AWxbhU7j.js +1 -1
  1200. package/dist/register.onboard-BTOZN8ro.js +1 -1
  1201. package/dist/register.setup-B-e1qIbc.js +1 -1
  1202. package/dist/register.setup-CweJJdt8.js +1 -1
  1203. package/dist/register.status-health-sessions-B1R_nl6P.js +1 -1
  1204. package/dist/register.status-health-sessions-CWNLXpAn.js +1 -1
  1205. package/dist/register.subclis-C0VQ_HfZ.js +1 -1
  1206. package/dist/registry-BptzrW8D.js +1 -1
  1207. package/dist/registry-hFAtCSWG.js +1 -1
  1208. package/dist/render-BXEUPIHe.js +1 -1
  1209. package/dist/render-CBsnn-2A.js +1 -1
  1210. package/dist/render-D8OWO2hT.js +1 -1
  1211. package/dist/render-DrrPmnMI.js +1 -1
  1212. package/dist/reply-r9KtzgpM.js +1 -1
  1213. package/dist/restart-CTfuVGfA.js +1 -1
  1214. package/dist/rpc-BQXfCyCw.js +1 -1
  1215. package/dist/rpc-CcrILVsV.js +1 -1
  1216. package/dist/run-main-CuQQyoU3.js +1 -1
  1217. package/dist/runtime-BlsMYeaw.js +1 -1
  1218. package/dist/runtime-DLxfCs7F.js +1 -1
  1219. package/dist/runtime-guard-DFYBaYZS.js +1 -1
  1220. package/dist/runtime-guard-DX2Ie4ri.js +1 -1
  1221. package/dist/runtime-status-CqFBmdRd.js +1 -1
  1222. package/dist/runtime-status-DszMjvJK.js +1 -1
  1223. package/dist/runtime-web-tools-BWv0X5qp.js +1 -1
  1224. package/dist/runtime-web-tools-CCIXUISf.js +1 -1
  1225. package/dist/sandbox-cli-CxluKLFV.js +1 -1
  1226. package/dist/sandbox-cli-xCX6FV4Z.js +1 -1
  1227. package/dist/scan-paths-C13EseXp.js +1 -1
  1228. package/dist/scan-paths-CWtvWW40.js +1 -1
  1229. package/dist/search-manager-KMRzwyPH.js +1 -1
  1230. package/dist/secret-file-C7JffiM_.js +1 -1
  1231. package/dist/secret-file-D60EFEOe.js +1 -1
  1232. package/dist/secret-file-DuWm26jS.js +1 -1
  1233. package/dist/secrets-cli-Be6OBr6Q.js +1 -1
  1234. package/dist/secrets-cli-DmDZiX17.js +1 -1
  1235. package/dist/secure-random-D7JQgiK-.js +1 -1
  1236. package/dist/security-cli-CllLwpQ-.js +1 -1
  1237. package/dist/security-cli-DcA9keUK.js +1 -1
  1238. package/dist/send-8rJCpsDu.js +1 -1
  1239. package/dist/send-BJjoLBo3.js +1 -1
  1240. package/dist/send-BOxuQt9L.js +1 -1
  1241. package/dist/send-BPfl_1It.js +1 -1
  1242. package/dist/send-BdS6jUBa.js +1 -1
  1243. package/dist/send-BeZJ1zbp.js +1 -1
  1244. package/dist/send-BkZ8dWQV2.js +1 -1
  1245. package/dist/send-CDAeI9xB2.js +1 -1
  1246. package/dist/send-CgeRzkWS.js +1 -1
  1247. package/dist/send-CiTZ4p2t.js +1 -1
  1248. package/dist/send-D0y-r_hg2.js +1 -1
  1249. package/dist/send-DIw8ExHc.js +1 -1
  1250. package/dist/send-DRm6AFp-.js +1 -1
  1251. package/dist/send-DS5Quwb7.js +1 -1
  1252. package/dist/send-DVmPgxm7.js +1 -1
  1253. package/dist/send-Ds5sy22D.js +1 -1
  1254. package/dist/send-DvGzdoKK.js +1 -1
  1255. package/dist/send-OVet2uKx.js +1 -1
  1256. package/dist/send-YPQFx-fV.js +1 -1
  1257. package/dist/send-e2ppdA_R.js +1 -1
  1258. package/dist/server-Dzqb5Tau.js +1 -1
  1259. package/dist/server-node-events-B2irOUJ_.js +1 -1
  1260. package/dist/server-node-events-DSr6P0VG.js +1 -1
  1261. package/dist/server-w7sUBJEA.js +1 -1
  1262. package/dist/service-BtB9epJk.js +1 -1
  1263. package/dist/service-DZ9EbS15.js +1 -1
  1264. package/dist/session-BYYOduc1.js +1 -1
  1265. package/dist/session-B_qrXLsR.js +1 -1
  1266. package/dist/session-Be0RV2V1.js +1 -1
  1267. package/dist/session-bk3gFwO4.js +1 -1
  1268. package/dist/session-cost-usage-BgqKixv0.js +1 -1
  1269. package/dist/session-cost-usage-CHtVgnE8.js +1 -1
  1270. package/dist/session-key-C7F_iqYg.js +1 -1
  1271. package/dist/session-key-D3P0tf5P.js +1 -1
  1272. package/dist/session-utils-CrR0wD3W.js +1 -1
  1273. package/dist/sessions-BvTGb3rW.js +1 -1
  1274. package/dist/shared-9x5sqYRb.js +1 -1
  1275. package/dist/shared-BKWhOp64.js +1 -1
  1276. package/dist/shared-BV-hfJ3h.js +1 -1
  1277. package/dist/skill-commands-C59b8Yso.js +1 -1
  1278. package/dist/skill-commands-CqIEajsA.js +1 -1
  1279. package/dist/skill-commands-F5NFH0NR.js +1 -1
  1280. package/dist/skill-commands-O39uSj-k.js +1 -1
  1281. package/dist/skill-scanner-CUUF3Fvo.js +1 -1
  1282. package/dist/skill-scanner-CkxXNioD.js +1 -1
  1283. package/dist/skills-CKTicUKS.js +1 -1
  1284. package/dist/skills-DHbOKEGc.js +1 -1
  1285. package/dist/skills-cli-CZD1Ng18.js +1 -1
  1286. package/dist/skills-cli-nj0w4fe0.js +1 -1
  1287. package/dist/skills-install-D0I6c17J.js +1 -1
  1288. package/dist/skills-install-XHpqMBWl.js +1 -1
  1289. package/dist/skills-status-BWIugRCz.js +1 -1
  1290. package/dist/skills-status-DswSl5aD.js +1 -1
  1291. package/dist/sqlite-CILF3z9U.js +1 -1
  1292. package/dist/stagger-DmFYysrJ.js +1 -1
  1293. package/dist/stagger-DxzgG2jd.js +1 -1
  1294. package/dist/status-DKB9gdSp.js +1 -1
  1295. package/dist/status-DgRrUxyg.js +1 -1
  1296. package/dist/status-YZD9V9xi.js +1 -1
  1297. package/dist/status-isxcm8Xz.js +1 -1
  1298. package/dist/status.update-B_8Gumuc.js +1 -1
  1299. package/dist/status.update-Cf2e-l9d.js +1 -1
  1300. package/dist/string-normalization-BrUPaXaM.js +1 -1
  1301. package/dist/string-normalization-DJT5zuUF.js +1 -1
  1302. package/dist/subsystem-BLbY429l.js +1 -1
  1303. package/dist/subsystem-Bc2XrjUz.js +1 -1
  1304. package/dist/subsystem-C5XF2Fy5.js +1 -1
  1305. package/dist/system-cli-CRs3TOTw.js +1 -1
  1306. package/dist/system-cli-GyoLZQpj.js +1 -1
  1307. package/dist/system-run-command-DCzdgYyb.js +1 -1
  1308. package/dist/system-run-command-FCk9hSMO.js +1 -1
  1309. package/dist/systemd-D7odsu4K.js +1 -1
  1310. package/dist/systemd-DbevZh65.js +1 -1
  1311. package/dist/systemd-hints-lXpMy-kY.js +1 -1
  1312. package/dist/systemd-hints-x1lJAOxS.js +1 -1
  1313. package/dist/systemd-linger-C2MJD6KG.js +1 -1
  1314. package/dist/systemd-linger-cWKbFNpu.js +1 -1
  1315. package/dist/table-CR7TFMew.js +1 -1
  1316. package/dist/table-CY440fI1.js +1 -1
  1317. package/dist/tables-3Rjt6nwZ.js +1 -1
  1318. package/dist/tables-B9wFKQvT.js +1 -1
  1319. package/dist/tables-D1pcaye7.js +1 -1
  1320. package/dist/tables-h7y1Jhf4.js +1 -1
  1321. package/dist/target-errors-CUQcIty1.js +1 -1
  1322. package/dist/target-errors-D55sWZ4E.js +1 -1
  1323. package/dist/target-errors-DH0aw-m5.js +1 -1
  1324. package/dist/target-errors-LuLROpta.js +1 -1
  1325. package/dist/targets-4EaxWBal.js +1 -1
  1326. package/dist/targets-BJTo7bqu.js +1 -1
  1327. package/dist/targets-BYVMrXDf.js +1 -1
  1328. package/dist/targets-Bq6rS6-Z.js +1 -1
  1329. package/dist/targets-CL5fYQi7.js +1 -1
  1330. package/dist/targets-fozeWOOg.js +1 -1
  1331. package/dist/targets-m_41k_Mv.js +1 -1
  1332. package/dist/telegram/audit.js +1 -1
  1333. package/dist/text-format-CvrvBBre.js +1 -1
  1334. package/dist/text-format-DEWK6oCT.js +1 -1
  1335. package/dist/token-DnTmiyJu.js +1 -1
  1336. package/dist/tokens-B2fq-rL6.js +1 -1
  1337. package/dist/tokens-CL2fSjGl.js +1 -1
  1338. package/dist/tokens-DRM8vzJx.js +1 -1
  1339. package/dist/tokens-XGbQGn67.js +1 -1
  1340. package/dist/tool-display-DJDtttQg.js +1 -1
  1341. package/dist/tool-display-DjuSUUbH.js +1 -1
  1342. package/dist/tui-CqEb9hrT.js +1 -1
  1343. package/dist/tui-DdZ8SpNW.js +1 -1
  1344. package/dist/tui-cli-Bj0okLCf.js +1 -1
  1345. package/dist/tui-cli-CYvBshyB.js +1 -1
  1346. package/dist/types.secrets-C-5U96pc.js +1 -1
  1347. package/dist/types.secrets-D4tbc3Wq.js +1 -1
  1348. package/dist/update-BGrxUIyz.js +1 -1
  1349. package/dist/update-CwTy5DPl.js +1 -1
  1350. package/dist/update-cli-lciKU8_L.js +1 -1
  1351. package/dist/update-cli-xb0jHjE8.js +1 -1
  1352. package/dist/update-runner-8Hto6X-M.js +1 -1
  1353. package/dist/update-runner-LVJcy569.js +1 -1
  1354. package/dist/usage-format-BWD8FJFL.js +1 -1
  1355. package/dist/usage-format-yPwal8Iz.js +1 -1
  1356. package/dist/utils-CGdo13HV.js +1 -1
  1357. package/dist/utils-D3t-vPka.js +1 -1
  1358. package/dist/utils-R-mFyVJi.js +1 -1
  1359. package/dist/utils-UGOV_184.js +1 -1
  1360. package/dist/version-q3SkUw2K.js +1 -1
  1361. package/dist/warning-filter.js +1 -1
  1362. package/dist/web-Bfz_qlYe.js +1 -1
  1363. package/dist/web-ClbIohhf.js +1 -1
  1364. package/dist/webhooks-cli-DKfKihmJ.js +1 -1
  1365. package/dist/webhooks-cli-LU2ADRQp.js +1 -1
  1366. package/dist/whatsapp-actions-1TJ8dlv0.js +1 -1
  1367. package/dist/whatsapp-actions-CuDiuPGa.js +1 -1
  1368. package/dist/whatsapp-actions-DkLDOIk1.js +1 -1
  1369. package/dist/whatsapp-actions-EnduXWui.js +1 -1
  1370. package/dist/widearea-dns-BDx7vkV2.js +1 -1
  1371. package/dist/widearea-dns-BFjqKXu_.js +1 -1
  1372. package/dist/windows-spawn-7oINn5ao.js +1 -1
  1373. package/dist/windows-spawn-AB7ItGAE.js +1 -1
  1374. package/dist/with-timeout-WveKxvFV.js +1 -1
  1375. package/dist/with-timeout-c1CzdShT.js +1 -1
  1376. package/dist/workspace-B0ZQeHXg.js +1 -1
  1377. package/dist/workspace-C45T1Cxg.js +1 -1
  1378. package/dist/workspace-dirs-A8Vib9_B.js +1 -1
  1379. package/dist/workspace-dirs-BhF1Dzxt.js +1 -1
  1380. package/dist/workspace-xNEpaJvu.js +1 -1
  1381. package/dist/wsl-DHxB2Ew_.js +1 -1
  1382. package/dist/wsl-Ok7GaSJ6.js +1 -1
  1383. package/extensions/memory-core/index.js +1 -0
  1384. package/extensions/memory-core/package.json +1 -1
  1385. package/extensions/openclaw-telemetry-galileo-embedded/index.js +4 -0
  1386. package/extensions/openclaw-telemetry-galileo-embedded/package.json +2 -2
  1387. package/extensions/openclaw-telemetry-galileo-embedded/src/service.js +13 -0
  1388. package/extensions/openclaw-weixin/index.js +1 -0
  1389. package/extensions/openclaw-weixin/package.json +3 -3
  1390. package/extensions/openclaw-weixin/src/api/api.js +1 -0
  1391. package/extensions/openclaw-weixin/src/api/config-cache.js +1 -0
  1392. package/extensions/openclaw-weixin/src/api/session-guard.js +1 -0
  1393. package/extensions/openclaw-weixin/src/api/types.js +1 -0
  1394. package/extensions/openclaw-weixin/src/auth/accounts.js +1 -0
  1395. package/extensions/openclaw-weixin/src/auth/login-qr.js +11 -0
  1396. package/extensions/openclaw-weixin/src/auth/pairing.js +1 -0
  1397. package/extensions/openclaw-weixin/src/cdn/aes-ecb.js +1 -0
  1398. package/extensions/openclaw-weixin/src/cdn/cdn-upload.js +1 -0
  1399. package/extensions/openclaw-weixin/src/cdn/cdn-url.js +1 -0
  1400. package/extensions/openclaw-weixin/src/cdn/pic-decrypt.js +1 -0
  1401. package/extensions/openclaw-weixin/src/cdn/upload.js +1 -0
  1402. package/extensions/openclaw-weixin/src/channel.js +6 -0
  1403. package/extensions/openclaw-weixin/src/config/config-schema.js +1 -0
  1404. package/extensions/openclaw-weixin/src/log-upload.js +4 -0
  1405. package/extensions/openclaw-weixin/src/media/media-download.js +1 -0
  1406. package/extensions/openclaw-weixin/src/media/mime.js +1 -0
  1407. package/extensions/openclaw-weixin/src/media/silk-transcode.js +1 -0
  1408. package/extensions/openclaw-weixin/src/messaging/debug-mode.js +1 -0
  1409. package/extensions/openclaw-weixin/src/messaging/error-notice.js +1 -0
  1410. package/extensions/openclaw-weixin/src/messaging/inbound.js +2 -0
  1411. package/extensions/openclaw-weixin/src/messaging/process-message.js +3 -0
  1412. package/extensions/openclaw-weixin/src/messaging/send-media.js +1 -0
  1413. package/extensions/openclaw-weixin/src/messaging/send.js +1 -0
  1414. package/extensions/openclaw-weixin/src/messaging/slash-commands.js +2 -0
  1415. package/extensions/openclaw-weixin/src/monitor/monitor.js +1 -0
  1416. package/extensions/openclaw-weixin/src/runtime.js +1 -0
  1417. package/extensions/openclaw-weixin/src/storage/state-dir.js +1 -0
  1418. package/extensions/openclaw-weixin/src/storage/sync-buf.js +1 -0
  1419. package/extensions/openclaw-weixin/src/util/logger.js +2 -0
  1420. package/extensions/openclaw-weixin/src/util/random.js +1 -0
  1421. package/extensions/openclaw-weixin/src/util/redact.js +1 -0
  1422. package/extensions/qbagent-mcp-server-x5uselocal-node/index.js +1 -0
  1423. package/extensions/qbagent-mcp-server-x5uselocal-node/package.json +1 -1
  1424. package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.js +1 -0
  1425. package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.js +1 -0
  1426. package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.js +1 -0
  1427. package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.js +1 -0
  1428. package/package.json +1 -1
  1429. package/preset-config.json +22 -0
  1430. package/extensions/memory-core/index.ts +0 -38
  1431. package/extensions/openclaw-telemetry-galileo-embedded/index.ts +0 -663
  1432. package/extensions/openclaw-telemetry-galileo-embedded/src/service.ts +0 -1590
  1433. package/extensions/openclaw-weixin/index.ts +0 -26
  1434. package/extensions/openclaw-weixin/src/api/api.ts +0 -238
  1435. package/extensions/openclaw-weixin/src/api/config-cache.ts +0 -79
  1436. package/extensions/openclaw-weixin/src/api/session-guard.ts +0 -58
  1437. package/extensions/openclaw-weixin/src/api/types.ts +0 -222
  1438. package/extensions/openclaw-weixin/src/auth/accounts.ts +0 -363
  1439. package/extensions/openclaw-weixin/src/auth/login-qr.ts +0 -344
  1440. package/extensions/openclaw-weixin/src/auth/pairing.ts +0 -120
  1441. package/extensions/openclaw-weixin/src/cdn/aes-ecb.ts +0 -21
  1442. package/extensions/openclaw-weixin/src/cdn/cdn-upload.ts +0 -75
  1443. package/extensions/openclaw-weixin/src/cdn/cdn-url.ts +0 -17
  1444. package/extensions/openclaw-weixin/src/cdn/pic-decrypt.ts +0 -85
  1445. package/extensions/openclaw-weixin/src/cdn/upload.ts +0 -154
  1446. package/extensions/openclaw-weixin/src/channel.ts +0 -483
  1447. package/extensions/openclaw-weixin/src/config/config-schema.ts +0 -21
  1448. package/extensions/openclaw-weixin/src/log-upload.ts +0 -129
  1449. package/extensions/openclaw-weixin/src/media/media-download.ts +0 -138
  1450. package/extensions/openclaw-weixin/src/media/mime.ts +0 -76
  1451. package/extensions/openclaw-weixin/src/media/silk-transcode.ts +0 -74
  1452. package/extensions/openclaw-weixin/src/messaging/debug-mode.ts +0 -68
  1453. package/extensions/openclaw-weixin/src/messaging/error-notice.ts +0 -36
  1454. package/extensions/openclaw-weixin/src/messaging/inbound.ts +0 -283
  1455. package/extensions/openclaw-weixin/src/messaging/process-message.ts +0 -488
  1456. package/extensions/openclaw-weixin/src/messaging/send-media.ts +0 -76
  1457. package/extensions/openclaw-weixin/src/messaging/send.ts +0 -267
  1458. package/extensions/openclaw-weixin/src/messaging/slash-commands.ts +0 -105
  1459. package/extensions/openclaw-weixin/src/monitor/monitor.ts +0 -225
  1460. package/extensions/openclaw-weixin/src/runtime.ts +0 -67
  1461. package/extensions/openclaw-weixin/src/storage/state-dir.ts +0 -11
  1462. package/extensions/openclaw-weixin/src/storage/sync-buf.ts +0 -79
  1463. package/extensions/openclaw-weixin/src/util/logger.ts +0 -146
  1464. package/extensions/openclaw-weixin/src/util/random.ts +0 -17
  1465. package/extensions/openclaw-weixin/src/util/redact.ts +0 -57
  1466. package/extensions/openclaw-weixin/src/vendor.d.ts +0 -21
  1467. package/extensions/qbagent-mcp-server-x5uselocal-node/index.ts +0 -140
  1468. package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.ts +0 -157
  1469. package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.ts +0 -135
  1470. package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.ts +0 -205
  1471. package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.ts +0 -351
@@ -1 +1 @@
1
- import"./paths-D55o_j8-.js";import"./model-auth-D7YupJDS.js";import{B as e,R as t}from"./logger-C210xuWx.js";import"./paths-DhSjTRMz.js";import"./proxy-env-BlrHtJWH.js";import"./github-copilot-token-ylX_gawo.js";import"./fetch-guard-qfU6iTvp.js";import{i as n,o as r,p as i,t as a}from"./audio-transcription-runner-CmW24oVR.js";import"./image-YVlw68CK.js";import"./api-key-rotation-BY7fLi9z.js";import"./local-roots-DQ_vfJPK.js";import"./proxy-fetch-ClOb2LUH.js";async function o(o){let{ctx:s,cfg:c}=o,l=c.tools?.media?.audio;if(!l||l.enabled===!1)return;let u=n(s);if(!u||u.length===0)return;let d=u.find(e=>e&&i(e)&&!e.alreadyTranscribed);if(d){e()&&t(`audio-preflight: transcribing attachment ${d.index} for mention check`);try{let{transcript:n}=await a({ctx:s,cfg:c,attachments:u,agentDir:o.agentDir,providers:o.providers,activeModel:o.activeModel,localPathRoots:r({cfg:c,ctx:s})});return n?(d.alreadyTranscribed=!0,e()&&t(`audio-preflight: transcribed ${n.length} chars from attachment ${d.index}`),n):void 0}catch(n){e()&&t(`audio-preflight: transcription failed: ${String(n)}`);return}}}export{o as transcribeFirstAudio};
1
+ import"./paths-D55o_j8-.js";import"./model-auth-D7YupJDS.js";import{B as e,R as t}from"./logger-C210xuWx.js";import"./paths-DhSjTRMz.js";import"./proxy-env-BlrHtJWH.js";import"./github-copilot-token-ylX_gawo.js";import"./fetch-guard-qfU6iTvp.js";import{i as n,o as r,p as i,t as a}from"./audio-transcription-runner-CmW24oVR.js";import"./image-YVlw68CK.js";import"./api-key-rotation-BY7fLi9z.js";import"./local-roots-DQ_vfJPK.js";import"./proxy-fetch-ClOb2LUH.js";async function o(o){let{ctx:s,cfg:c}=o,l=c.tools?.media?.audio;if(!l||l.enabled===!1)return;let u=n(s);if(!u||u.length===0)return;let d=u.find(e=>e&&i(e)&&!e.alreadyTranscribed);if(d){e()&&t(`audio-preflight: transcribing attachment ${d.index} for mention check`);try{let{transcript:n}=await a({ctx:s,cfg:c,attachments:u,agentDir:o.agentDir,providers:o.providers,activeModel:o.activeModel,localPathRoots:r({cfg:c,ctx:s})});return n?(d.alreadyTranscribed=!0,e()&&t(`audio-preflight: transcribed ${n.length} chars from attachment ${d.index}`),n):void 0}catch(n){e()&&t(`audio-preflight: transcription failed: ${String(n)}`);return}}}export{o as transcribeFirstAudio};
@@ -1 +1 @@
1
- require(`./paths-BvlJvmRS.cjs`),require(`./paths-BPlgbwrb.cjs`),require(`./config-DT_csBcZ.cjs`),require(`./github-copilot-token-TMkfxxD2.cjs`);const e=require(`./logger-Bm93ZKOk.cjs`);require(`./proxy-env-Bcl14j2_.cjs`),require(`./fetch-guard-u2Dt6P9i.cjs`),require(`./local-roots-xHoEq1Fq.cjs`);const t=require(`./audio-transcription-runner-IE4olXkd.cjs`);require(`./image-DrPh2689.cjs`),require(`./api-key-rotation-CWylhFOt.cjs`),require(`./proxy-fetch-DH7VIiBH.cjs`);async function n(n){let{ctx:r,cfg:i}=n,a=i.tools?.media?.audio;if(!a||a.enabled===!1)return;let o=t.i(r);if(!o||o.length===0)return;let s=o.find(e=>e&&t.m(e)&&!e.alreadyTranscribed);if(s){e.B()&&e.R(`audio-preflight: transcribing attachment ${s.index} for mention check`);try{let{transcript:a}=await t.t({ctx:r,cfg:i,attachments:o,agentDir:n.agentDir,providers:n.providers,activeModel:n.activeModel,localPathRoots:t.o({cfg:i,ctx:r})});return a?(s.alreadyTranscribed=!0,e.B()&&e.R(`audio-preflight: transcribed ${a.length} chars from attachment ${s.index}`),a):void 0}catch(t){e.B()&&e.R(`audio-preflight: transcription failed: ${String(t)}`);return}}}exports.transcribeFirstAudio=n;
1
+ require(`./paths-BvlJvmRS.cjs`),require(`./paths-BPlgbwrb.cjs`),require(`./config-DT_csBcZ.cjs`),require(`./github-copilot-token-TMkfxxD2.cjs`);const e=require(`./logger-Bm93ZKOk.cjs`);require(`./proxy-env-Bcl14j2_.cjs`),require(`./fetch-guard-u2Dt6P9i.cjs`),require(`./local-roots-xHoEq1Fq.cjs`);const t=require(`./audio-transcription-runner-IE4olXkd.cjs`);require(`./image-DrPh2689.cjs`),require(`./api-key-rotation-CWylhFOt.cjs`),require(`./proxy-fetch-DH7VIiBH.cjs`);async function n(n){let{ctx:r,cfg:i}=n,a=i.tools?.media?.audio;if(!a||a.enabled===!1)return;let o=t.i(r);if(!o||o.length===0)return;let s=o.find(e=>e&&t.m(e)&&!e.alreadyTranscribed);if(s){e.B()&&e.R(`audio-preflight: transcribing attachment ${s.index} for mention check`);try{let{transcript:a}=await t.t({ctx:r,cfg:i,attachments:o,agentDir:n.agentDir,providers:n.providers,activeModel:n.activeModel,localPathRoots:t.o({cfg:i,ctx:r})});return a?(s.alreadyTranscribed=!0,e.B()&&e.R(`audio-preflight: transcribed ${a.length} chars from attachment ${s.index}`),a):void 0}catch(t){e.B()&&e.R(`audio-preflight: transcription failed: ${String(t)}`);return}}}exports.transcribeFirstAudio=n;
@@ -1 +1 @@
1
- require(`./paths-Bcdg3ma0.cjs`),require(`./paths-Cqca1YmF.cjs`),require(`./model-auth-fJrNIbke.cjs`);const e=require(`./logger-DPlqYkRm.cjs`);require(`./proxy-env-a590sPAz.cjs`),require(`./github-copilot-token-CCrgp2py.cjs`);const t=require(`./audio-transcription-runner-2-ZQ5Md-.cjs`);require(`./image-0OHO98b9.cjs`),require(`./fetch-guard-DIYjBRpq.cjs`),require(`./api-key-rotation-DkP7KnSm.cjs`),require(`./local-roots-SCyeUfM3.cjs`),require(`./proxy-fetch-DPOhfrou.cjs`);async function n(n){let{ctx:r,cfg:i}=n,a=i.tools?.media?.audio;if(!a||a.enabled===!1)return;let o=t.i(r);if(!o||o.length===0)return;let s=o.find(e=>e&&t.p(e)&&!e.alreadyTranscribed);if(s){e.B()&&e.R(`audio-preflight: transcribing attachment ${s.index} for mention check`);try{let{transcript:a}=await t.t({ctx:r,cfg:i,attachments:o,agentDir:n.agentDir,providers:n.providers,activeModel:n.activeModel,localPathRoots:t.o({cfg:i,ctx:r})});return a?(s.alreadyTranscribed=!0,e.B()&&e.R(`audio-preflight: transcribed ${a.length} chars from attachment ${s.index}`),a):void 0}catch(t){e.B()&&e.R(`audio-preflight: transcription failed: ${String(t)}`);return}}}exports.transcribeFirstAudio=n;
1
+ require(`./paths-Bcdg3ma0.cjs`),require(`./paths-Cqca1YmF.cjs`),require(`./model-auth-fJrNIbke.cjs`);const e=require(`./logger-DPlqYkRm.cjs`);require(`./proxy-env-a590sPAz.cjs`),require(`./github-copilot-token-CCrgp2py.cjs`);const t=require(`./audio-transcription-runner-2-ZQ5Md-.cjs`);require(`./image-0OHO98b9.cjs`),require(`./fetch-guard-DIYjBRpq.cjs`),require(`./api-key-rotation-DkP7KnSm.cjs`),require(`./local-roots-SCyeUfM3.cjs`),require(`./proxy-fetch-DPOhfrou.cjs`);async function n(n){let{ctx:r,cfg:i}=n,a=i.tools?.media?.audio;if(!a||a.enabled===!1)return;let o=t.i(r);if(!o||o.length===0)return;let s=o.find(e=>e&&t.p(e)&&!e.alreadyTranscribed);if(s){e.B()&&e.R(`audio-preflight: transcribing attachment ${s.index} for mention check`);try{let{transcript:a}=await t.t({ctx:r,cfg:i,attachments:o,agentDir:n.agentDir,providers:n.providers,activeModel:n.activeModel,localPathRoots:t.o({cfg:i,ctx:r})});return a?(s.alreadyTranscribed=!0,e.B()&&e.R(`audio-preflight: transcribed ${a.length} chars from attachment ${s.index}`),a):void 0}catch(t){e.B()&&e.R(`audio-preflight: transcription failed: ${String(t)}`);return}}}exports.transcribeFirstAudio=n;
@@ -1 +1 @@
1
- import"./paths-cBAF6Bj0.js";import"./sessions-BwTjGneU.js";import{B as e,R as t}from"./logger-vBDTZWl3.js";import"./paths-CnHSNSeR.js";import"./proxy-env-B765haXA.js";import"./github-copilot-token-N8vnLZPw.js";import{i as n,o as r,p as i,t as a}from"./audio-transcription-runner-CRYJlAeP.js";import"./image-CKLAyhco.js";import"./fetch-guard-DPVfELS7.js";import"./api-key-rotation-CxaiMcI1.js";import"./local-roots-H4-t0qG_.js";import"./proxy-fetch-CYVChsKE.js";async function o(o){let{ctx:s,cfg:c}=o,l=c.tools?.media?.audio;if(!l||l.enabled===!1)return;let u=n(s);if(!u||u.length===0)return;let d=u.find(e=>e&&i(e)&&!e.alreadyTranscribed);if(d){e()&&t(`audio-preflight: transcribing attachment ${d.index} for mention check`);try{let{transcript:n}=await a({ctx:s,cfg:c,attachments:u,agentDir:o.agentDir,providers:o.providers,activeModel:o.activeModel,localPathRoots:r({cfg:c,ctx:s})});return n?(d.alreadyTranscribed=!0,e()&&t(`audio-preflight: transcribed ${n.length} chars from attachment ${d.index}`),n):void 0}catch(n){e()&&t(`audio-preflight: transcription failed: ${String(n)}`);return}}}export{o as transcribeFirstAudio};
1
+ import"./paths-cBAF6Bj0.js";import"./sessions-BwTjGneU.js";import{B as e,R as t}from"./logger-vBDTZWl3.js";import"./paths-CnHSNSeR.js";import"./proxy-env-B765haXA.js";import"./github-copilot-token-N8vnLZPw.js";import{i as n,o as r,p as i,t as a}from"./audio-transcription-runner-CRYJlAeP.js";import"./image-CKLAyhco.js";import"./fetch-guard-DPVfELS7.js";import"./api-key-rotation-CxaiMcI1.js";import"./local-roots-H4-t0qG_.js";import"./proxy-fetch-CYVChsKE.js";async function o(o){let{ctx:s,cfg:c}=o,l=c.tools?.media?.audio;if(!l||l.enabled===!1)return;let u=n(s);if(!u||u.length===0)return;let d=u.find(e=>e&&i(e)&&!e.alreadyTranscribed);if(d){e()&&t(`audio-preflight: transcribing attachment ${d.index} for mention check`);try{let{transcript:n}=await a({ctx:s,cfg:c,attachments:u,agentDir:o.agentDir,providers:o.providers,activeModel:o.activeModel,localPathRoots:r({cfg:c,ctx:s})});return n?(d.alreadyTranscribed=!0,e()&&t(`audio-preflight: transcribed ${n.length} chars from attachment ${d.index}`),n):void 0}catch(n){e()&&t(`audio-preflight: transcription failed: ${String(n)}`);return}}}export{o as transcribeFirstAudio};
@@ -1 +1 @@
1
- import"./paths-Do0djuaj.js";import"./model-auth-g6eGgTwR.js";import{B as e,R as t}from"./logger-DJGHvDbX.js";import"./paths-CtrEseGU.js";import"./proxy-env-MEjSyzTr.js";import"./github-copilot-token-vKAKX6iE.js";import{i as n,o as r,p as i,t as a}from"./audio-transcription-runner-YiDQM_Rb.js";import"./image-gehqJnV6.js";import"./fetch-guard-D8TdhTHU.js";import"./api-key-rotation-ClZmonv2.js";import"./local-roots-CnsaE7a_.js";import"./proxy-fetch-DXt2R_Z5.js";async function o(o){let{ctx:s,cfg:c}=o,l=c.tools?.media?.audio;if(!l||l.enabled===!1)return;let u=n(s);if(!u||u.length===0)return;let d=u.find(e=>e&&i(e)&&!e.alreadyTranscribed);if(d){e()&&t(`audio-preflight: transcribing attachment ${d.index} for mention check`);try{let{transcript:n}=await a({ctx:s,cfg:c,attachments:u,agentDir:o.agentDir,providers:o.providers,activeModel:o.activeModel,localPathRoots:r({cfg:c,ctx:s})});return n?(d.alreadyTranscribed=!0,e()&&t(`audio-preflight: transcribed ${n.length} chars from attachment ${d.index}`),n):void 0}catch(n){e()&&t(`audio-preflight: transcription failed: ${String(n)}`);return}}}export{o as transcribeFirstAudio};
1
+ import"./paths-Do0djuaj.js";import"./model-auth-g6eGgTwR.js";import{B as e,R as t}from"./logger-DJGHvDbX.js";import"./paths-CtrEseGU.js";import"./proxy-env-MEjSyzTr.js";import"./github-copilot-token-vKAKX6iE.js";import{i as n,o as r,p as i,t as a}from"./audio-transcription-runner-YiDQM_Rb.js";import"./image-gehqJnV6.js";import"./fetch-guard-D8TdhTHU.js";import"./api-key-rotation-ClZmonv2.js";import"./local-roots-CnsaE7a_.js";import"./proxy-fetch-DXt2R_Z5.js";async function o(o){let{ctx:s,cfg:c}=o,l=c.tools?.media?.audio;if(!l||l.enabled===!1)return;let u=n(s);if(!u||u.length===0)return;let d=u.find(e=>e&&i(e)&&!e.alreadyTranscribed);if(d){e()&&t(`audio-preflight: transcribing attachment ${d.index} for mention check`);try{let{transcript:n}=await a({ctx:s,cfg:c,attachments:u,agentDir:o.agentDir,providers:o.providers,activeModel:o.activeModel,localPathRoots:r({cfg:c,ctx:s})});return n?(d.alreadyTranscribed=!0,e()&&t(`audio-preflight: transcribed ${n.length} chars from attachment ${d.index}`),n):void 0}catch(n){e()&&t(`audio-preflight: transcription failed: ${String(n)}`);return}}}export{o as transcribeFirstAudio};
@@ -1,4 +1,4 @@
1
1
  const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=require(`./model-auth-fJrNIbke.cjs`),r=require(`./logger-DPlqYkRm.cjs`),i=require(`./image-0OHO98b9.cjs`),a=require(`./fetch-timeout-BygUD0rd.cjs`),o=require(`./fetch-guard-DIYjBRpq.cjs`),s=require(`./api-key-rotation-DkP7KnSm.cjs`),c=require(`./local-roots-SCyeUfM3.cjs`),l=require(`./proxy-fetch-DPOhfrou.cjs`);let u=require(`node:path`);u=e.p(u);let d=require(`node:fs`),f=require(`node:os`);f=e.p(f);let p=require(`node:fs/promises`);p=e.p(p);let m=require(`node:url`),h=require(`node:crypto`);h=e.p(h);let g=require(`node:process`);g=e.p(g);function _(e){return e==null?``:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):typeof e==`symbol`||typeof e==`function`?e.toString():Array.isArray(e)?e.flatMap(e=>e==null?[]:typeof e==`string`?[e]:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?[String(e)]:[]).join(`,`):``}function v(e,t){return e?e.replace(/{{\s*(\w+)\s*}}/g,(e,n)=>{let r=t[n];return _(r)}):``}const y=1024*1024,b={image:500,audio:void 0,video:500},x={image:10*y,audio:20*y,video:50*y},S={image:60,audio:60,video:120},ee={image:`Describe the image.`,audio:`Transcribe the audio.`,video:`Describe the video.`};70*y;const te={groq:`whisper-large-v3-turbo`,openai:`gpt-4o-mini-transcribe`,deepgram:`nova-3`,mistral:`voxtral-mini-latest`},ne=[`openai`,`groq`,`deepgram`,`google`,`mistral`],re=[`openai`,`anthropic`,`google`,`minimax`,`minimax-portal`,`zai`],ie=[`google`,`moonshot`],C={openai:`gpt-5-mini`,anthropic:`claude-opus-4-6`,google:`gemini-3-flash-preview`,minimax:`MiniMax-VL-01`,"minimax-portal":`MiniMax-VL-01`,zai:`glm-4.6v`},ae=5*y,oe={id:`anthropic`,capabilities:[`image`],describeImage:i.t};function w(e,t){return(e?.trim()||t).replace(/\/+$/,``)}async function T(e,t,n,r,i){return await o.t({url:e,fetchImpl:r,init:t,timeoutMs:n,policy:i?.ssrfPolicy,lookupFn:i?.lookupFn,pinDns:i?.pinDns})}async function E(e){return T(e.url,{method:`POST`,headers:e.headers,body:e.body},e.timeoutMs,e.fetchFn,e.allowPrivateNetwork?{ssrfPolicy:{allowPrivateNetwork:!0}}:void 0)}async function se(e){return T(e.url,{method:`POST`,headers:e.headers,body:JSON.stringify(e.body)},e.timeoutMs,e.fetchFn,e.allowPrivateNetwork?{ssrfPolicy:{allowPrivateNetwork:!0}}:void 0)}async function ce(e){try{let t=(await e.text()).replace(/\s+/g,` `).trim();return t?t.length<=300?t:`${t.slice(0,300)}…`:void 0}catch{return}}async function D(e,t){if(e.ok)return;let n=await ce(e),r=n?`: ${n}`:``;throw Error(`${t} (HTTP ${e.status})${r}`)}function le(e,t){let n=e?.trim();if(!n)throw Error(t);return n}function ue(e){return e?.trim()||`nova-3`}async function de(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.deepgram.com/v1`),r=!!e.baseUrl?.trim(),i=ue(e.model),a=new URL(`${n}/listen`);if(a.searchParams.set(`model`,i),e.language?.trim()&&a.searchParams.set(`language`,e.language.trim()),e.query)for(let[t,n]of Object.entries(e.query))n!==void 0&&a.searchParams.set(t,String(n));let o=new Headers(e.headers);o.has(`authorization`)||o.set(`authorization`,`Token ${e.apiKey}`),o.has(`content-type`)||o.set(`content-type`,e.mime??`application/octet-stream`);let s=new Uint8Array(e.buffer),{response:c,release:l}=await E({url:a.toString(),headers:o,body:s,timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{return await D(c,`Audio transcription failed`),{text:le((await c.json()).results?.channels?.[0]?.alternatives?.[0]?.transcript,`Audio transcription response missing transcript`),model:i}}finally{await l()}}const fe={id:`deepgram`,capabilities:[`audio`],transcribeAudio:de};async function O(e){let t=e.fetchFn??fetch,r=w(e.baseUrl,e.defaultBaseUrl),i=!!e.baseUrl?.trim(),a=(()=>{let t=e.model?.trim();return t?n.As(t):e.defaultModel})(),o=`${r}/models/${a}:generateContent`,c=s.r(e.apiKey),l=new Headers(e.headers);for(let[e,t]of Object.entries(c.headers))l.has(e)||l.set(e,t);let{response:u,release:d}=await se({url:o,headers:l,body:{contents:[{role:`user`,parts:[{text:e.prompt?.trim()||e.defaultPrompt},{inline_data:{mime_type:e.mime??e.defaultMime,data:e.buffer.toString(`base64`)}}]}]},timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:i});try{await D(u,e.httpErrorLabel);let t=((await u.json()).candidates?.[0]?.content?.parts??[]).map(e=>e?.text?.trim()).filter(Boolean).join(`
2
2
  `);if(!t)throw Error(e.missingTextError);return{text:t,model:a}}finally{await d()}}async function pe(e){let{text:t,model:n}=await O({...e,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta`,defaultModel:`gemini-3-flash-preview`,defaultPrompt:`Transcribe the audio.`,defaultMime:`audio/wav`,httpErrorLabel:`Audio transcription failed`,missingTextError:`Audio transcription response missing text`});return{text:t,model:n}}async function me(e){let{text:t,model:n}=await O({...e,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta`,defaultModel:`gemini-3-flash-preview`,defaultPrompt:`Describe the video.`,defaultMime:`video/mp4`,httpErrorLabel:`Video description failed`,missingTextError:`Video description response missing text`});return{text:t,model:n}}const he={id:`google`,capabilities:[`image`,`audio`,`video`],describeImage:i.t,transcribeAudio:pe,describeVideo:me};function ge(e){return e?.trim()||`gpt-4o-mini-transcribe`}async function k(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.openai.com/v1`),r=!!e.baseUrl?.trim(),i=`${n}/audio/transcriptions`,a=ge(e.model),o=new FormData,s=e.fileName?.trim()||u.default.basename(e.fileName)||`audio`,c=new Uint8Array(e.buffer),l=new Blob([c],{type:e.mime??`application/octet-stream`});o.append(`file`,l,s),o.append(`model`,a),e.language?.trim()&&o.append(`language`,e.language.trim()),e.prompt?.trim()&&o.append(`prompt`,e.prompt.trim());let d=new Headers(e.headers);d.has(`authorization`)||d.set(`authorization`,`Bearer ${e.apiKey}`);let{response:f,release:p}=await E({url:i,headers:d,body:o,timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{return await D(f,`Audio transcription failed`),{text:le((await f.json()).text,`Audio transcription response missing text`),model:a}}finally{await p()}}const _e={id:`groq`,capabilities:[`audio`],transcribeAudio:e=>k({...e,baseUrl:e.baseUrl??`https://api.groq.com/openai/v1`})},ve={id:`minimax`,capabilities:[`image`],describeImage:i.t},ye={id:`minimax-portal`,capabilities:[`image`],describeImage:i.t},be={id:`mistral`,capabilities:[`audio`],transcribeAudio:e=>k({...e,baseUrl:e.baseUrl??`https://api.mistral.ai/v1`})};function xe(e){return e?.trim()||`kimi-k2.5`}function Se(e){return e?.trim()||`Describe the video.`}function Ce(e){let t=e.choices?.[0]?.message;if(!t)return null;if(typeof t.content==`string`&&t.content.trim())return t.content.trim();if(Array.isArray(t.content)){let e=t.content.map(e=>typeof e.text==`string`?e.text.trim():``).filter(Boolean).join(`
3
3
  `).trim();if(e)return e}return typeof t.reasoning_content==`string`&&t.reasoning_content.trim()?t.reasoning_content.trim():null}async function we(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.moonshot.ai/v1`),r=xe(e.model),i=e.mime??`video/mp4`,a=Se(e.prompt),o=`${n}/chat/completions`,s=new Headers(e.headers);s.has(`content-type`)||s.set(`content-type`,`application/json`),s.has(`authorization`)||s.set(`authorization`,`Bearer ${e.apiKey}`);let{response:c,release:l}=await se({url:o,headers:s,body:{model:r,messages:[{role:`user`,content:[{type:`text`,text:a},{type:`video_url`,video_url:{url:`data:${i};base64,${e.buffer.toString(`base64`)}`}}]}]},timeoutMs:e.timeoutMs,fetchFn:t});try{await D(c,`Moonshot video description failed`);let e=Ce(await c.json());if(!e)throw Error(`Moonshot video description response missing content`);return{text:e,model:r}}finally{await l()}}const Te={id:`moonshot`,capabilities:[`image`,`video`],describeImage:i.t,describeVideo:we},Ee=[_e,{id:`openai`,capabilities:[`image`,`audio`],describeImage:i.t,transcribeAudio:k},he,oe,ve,ye,Te,be,{id:`zai`,capabilities:[`image`],describeImage:i.t},fe];function A(e){let t=n.Cs(e);return t===`gemini`?`google`:t}function De(e){let t=new Map;for(let e of Ee)t.set(A(e.id),e);if(e)for(let[n,r]of Object.entries(e)){let e=A(n),i=t.get(e),a=i?{...i,...r,capabilities:r.capabilities??i.capabilities}:r;t.set(e,a)}return t}function j(e,t){return t.get(A(e))}function Oe(e){let t=e?.trim().toLowerCase();if(t===`allow`)return`allow`;if(t===`deny`)return`deny`}function M(e){return e?.trim().toLowerCase()||void 0}function N(e){return n.yr(e??void 0)}function ke(e){let t=e.scope;if(!t)return`allow`;let n=M(e.channel),r=N(e.chatType),i=M(e.sessionKey)??``;for(let e of t.rules??[]){if(!e)continue;let t=Oe(e.action)??`allow`,a=e.match??{},o=M(a.channel),s=N(a.chatType),c=M(a.keyPrefix);if(!(o&&o!==n)&&!(s&&s!==r)&&!(c&&!i.startsWith(c)))return t}return Oe(t.default)??`allow`}function Ae(e,t){let n=typeof e==`number`&&Number.isFinite(e)?e:t;return Math.max(1e3,Math.floor(n*1e3))}function je(e,t,n){let r=t?.trim()||ee[e];return!n||e===`audio`?r:`${r} Respond in at most ${n} characters.`}function Me(e){let{capability:t,entry:n,cfg:r}=e,i=n.maxChars??e.config?.maxChars??r.tools?.media?.[t]?.maxChars;return typeof i==`number`?i:b[t]}function Ne(e){let t=e.entry.maxBytes??e.config?.maxBytes??e.cfg.tools?.media?.[e.capability]?.maxBytes;return typeof t==`number`?t:x[e.capability]}function Pe(e){return ke({scope:e.scope,sessionKey:e.ctx.SessionKey,channel:e.ctx.Surface??e.ctx.Provider,chatType:N(e.ctx.ChatType)})}function Fe(e){if((e.entry.type??(e.entry.command?`cli`:`provider`))===`cli`)return;let t=A(e.entry.provider??``);if(t)return e.providerRegistry.get(t)?.capabilities}function Ie(e){let{cfg:t,capability:n,config:i}=e,a=t.tools?.media?.models??[],o=[...(i?.models??[]).map(e=>({entry:e,source:`capability`})),...a.map(e=>({entry:e,source:`shared`}))];return o.length===0?[]:o.filter(({entry:t,source:i})=>{let a=t.capabilities&&t.capabilities.length>0?t.capabilities:i===`shared`?Fe({entry:t,providerRegistry:e.providerRegistry}):void 0;return!a||a.length===0?i===`shared`?(r.B()&&r.R(`Skipping shared media model without capabilities: ${t.provider??t.command??`unknown`}`),!1):!0:a.includes(n)}).map(({entry:e})=>e)}function Le(e){let t=e.tools?.media?.concurrency;return typeof t==`number`&&Number.isFinite(t)&&t>0?Math.floor(t):2}function Re(e){let t=e?.trim();if(t){if(t.startsWith(`file://`))try{return(0,m.fileURLToPath)(t)}catch{return}return t}}function ze(e){let t=Array.isArray(e.MediaPaths)?e.MediaPaths:void 0,n=Array.isArray(e.MediaUrls)?e.MediaUrls:void 0,r=Array.isArray(e.MediaTypes)?e.MediaTypes:void 0,i=(t,n)=>{let i=r?.[n];return(typeof i==`string`?i.trim():``)||(t===1?e.MediaType:void 0)};if(t&&t.length>0){let r=t.length,a=n&&n.length>0?n:void 0;return t.map((t,n)=>({path:t?.trim()||void 0,url:a?.[n]??e.MediaUrl,mime:i(r,n),index:n})).filter(e=>!!(e.path?.trim()||e.url?.trim()))}if(n&&n.length>0){let e=n.length;return n.map((t,n)=>({path:void 0,url:t?.trim()||void 0,mime:i(e,n),index:n})).filter(e=>!!e.url?.trim())}let a=e.MediaPath?.trim(),o=e.MediaUrl?.trim();return!a&&!o?[]:[{path:a||void 0,url:o||void 0,mime:e.MediaType,index:0}]}function P(e){let n=t.g(e.mime);if(n===`image`||n===`audio`||n===`video`)return n;let r=t.f(e.path??e.url);return r?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(r)?`video`:t.m(e.path??e.url)?`audio`:[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.bmp`,`.tiff`,`.tif`].includes(r)?`image`:`unknown`:`unknown`}function Be(e){return P(e)===`video`}function F(e){return P(e)===`audio`}function Ve(e){return P(e)===`image`}function He(e,t){let n=Array.isArray(e)?e.filter(I):[];if(!t||t===`first`)return n;if(t===`last`)return[...n].toReversed();if(t===`path`){let e=n.filter(e=>e.path),t=n.filter(e=>!e.path);return[...e,...t]}if(t===`url`){let e=n.filter(e=>e.url),t=n.filter(e=>!e.url);return[...e,...t]}return n}function I(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.index!=`number`||t.path!==void 0&&typeof t.path!=`string`||t.url!==void 0&&typeof t.url!=`string`||t.mime!==void 0&&typeof t.mime!=`string`||t.alreadyTranscribed!==void 0&&typeof t.alreadyTranscribed!=`boolean`)}function Ue(e){let{capability:t,attachments:n,policy:r}=e,i=(Array.isArray(n)?n.filter(I):[]).filter(e=>t===`audio`&&e.alreadyTranscribed?!1:t===`image`?Ve(e):t===`audio`?F(e):Be(e));if(i.length===0)return[];let a=He(i,r?.prefer),o=r?.mode??`first`,s=r?.maxAttachments??1;return o===`all`?a.slice(0,Math.max(1,s)):a.slice(0,1)}const L=new Set;function We(e){return!e||typeof e!=`object`?!1:(`name`in e?String(e.name):``)===`AbortError`||(`message`in e&&typeof e.message==`string`?e.message:``)===`This operation was aborted`}function Ge(e){return L.add(e),()=>{L.delete(e)}}function Ke(e){return e.replace(/[^a-zA-Z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``)||`tmp`}function qe(e){if(!e)return``;let t=((e.startsWith(`.`)?e:`.${e}`).match(/[a-zA-Z0-9._-]+$/)?.[0]??``).replace(/^[._-]+/,``);return t?`.${t}`:``}function Je(e){return e??r.Z()}function R(e){let t=Ke(e.prefix),n=qe(e.extension),r=e.now,i=typeof r==`number`&&Number.isFinite(r)?Math.trunc(r):Date.now(),a=e.uuid?.trim()||h.default.randomUUID();return u.default.join(Je(e.tmpDir),`${t}-${i}-${a}${n}`)}var z=class extends Error{constructor(e,t){super(t),this.reason=e,this.name=`MediaUnderstandingSkipError`}};function Ye(e){return e instanceof z}const Xe=n.La(c.n(),n.Fa);function Ze(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}var Qe=class{constructor(e,t){this.entries=new Map,this.attachments=e,this.localPathRoots=n.La(t?.localPathRoots,Xe);for(let t of e)this.entries.set(t.index,{attachment:t})}async getBuffer(e){let n=await this.ensureEntry(e.attachmentIndex);if(n.buffer){if(n.buffer.length>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{buffer:n.buffer,mime:n.bufferMime,fileName:n.bufferFileName??`media-${e.attachmentIndex+1}`,size:n.buffer.length}}if(n.resolvedPath){let r=await this.ensureLocalStat(n);if(n.resolvedPath){if(r!==void 0&&r>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);let i=await p.default.readFile(n.resolvedPath);return n.buffer=i,n.bufferMime=n.bufferMime??n.attachment.mime??await t.u({buffer:i,filePath:n.resolvedPath}),n.bufferFileName=u.default.basename(n.resolvedPath)||`media-${e.attachmentIndex+1}`,{buffer:i,mime:n.bufferMime,fileName:n.bufferFileName,size:i.length}}}let r=n.attachment.url?.trim();if(!r)throw new z(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let i=await c.i({url:r,fetchImpl:(t,n)=>a.n(Ze(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return n.buffer=i.buffer,n.bufferMime=n.attachment.mime??i.contentType??await t.u({buffer:i.buffer,filePath:i.fileName??r}),n.bufferFileName=i.fileName??`media-${e.attachmentIndex+1}`,{buffer:i.buffer,mime:n.bufferMime,fileName:n.bufferFileName,size:i.buffer.length}}catch(t){throw t instanceof c.r&&t.code===`max_bytes`?new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`):We(t)?new z(`timeout`,`Attachment ${e.attachmentIndex+1} timed out while fetching.`):t}}async getPath(e){let t=await this.ensureEntry(e.attachmentIndex);if(t.resolvedPath){if(e.maxBytes){let n=await this.ensureLocalStat(t);if(t.resolvedPath&&n!==void 0&&n>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`)}if(t.resolvedPath)return{path:t.resolvedPath}}if(t.tempPath){if(e.maxBytes&&t.buffer&&t.buffer.length>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{path:t.tempPath,cleanup:t.tempCleanup}}let n=e.maxBytes??1/0,r=await this.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:n,timeoutMs:e.timeoutMs}),i=R({prefix:`openclaw-media`,extension:u.default.extname(r.fileName||``)||``});return await p.default.writeFile(i,r.buffer),t.tempPath=i,t.tempCleanup=async()=>{await p.default.unlink(i).catch(()=>{})},{path:i,cleanup:t.tempCleanup}}async cleanup(){let e=[];for(let t of this.entries.values())t.tempCleanup&&=(e.push(Promise.resolve(t.tempCleanup())),void 0);await Promise.all(e)}async ensureEntry(e){let t=this.entries.get(e);if(t)return t.resolvedPath||=this.resolveLocalPath(t.attachment),t;let n=this.attachments.find(t=>t.index===e)??{index:e},r={attachment:n,resolvedPath:this.resolveLocalPath(n)};return this.entries.set(e,r),r}resolveLocalPath(e){let t=Re(e.path);if(t)return u.default.isAbsolute(t)?t:u.default.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!n.Ia({filePath:e.resolvedPath,roots:this.localPathRoots})){e.resolvedPath=void 0,r.B()&&r.R(`Blocked attachment path outside allowed roots: ${e.attachment.path??e.attachment.url??`(unknown)`}`);return}if(e.statSize!==void 0)return e.statSize;try{let t=e.resolvedPath,i=await p.default.stat(t);if(!i.isFile()){e.resolvedPath=void 0;return}let a=await p.default.realpath(t).catch(()=>t);if(!n.Ia({filePath:a,roots:await this.getCanonicalLocalPathRoots()})){e.resolvedPath=void 0,r.B()&&r.R(`Blocked canonicalized attachment path outside allowed roots: ${a}`);return}return e.resolvedPath=a,e.statSize=i.size,i.size}catch(t){e.resolvedPath=void 0,r.B()&&r.R(`Failed to read attachment ${e.attachment.index+1}: ${String(t)}`);return}}}async getCanonicalLocalPathRoots(){return this.canonicalLocalPathRoots||=(async()=>n.La(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await p.default.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const $e=r.O(`model-catalog`);let B=null,V=!1,et=()=>Promise.resolve().then(()=>require(`./pi-model-discovery-c7U32wKx.cjs`));const H=`openai-codex`,U=`openai`,tt=new Set([`kilocode`]),nt=[{provider:U,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:U,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:H,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:H,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function rt(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of nt){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function it(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function at(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!tt.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=it(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function ot(e){let t=at(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function W(e){return e?.useCache===!1&&(B=null),B||(B=(async()=>{let t=[],r=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let a=e?.config??n.wa();await i.w(a);let o=await et(),s=n.ms(),{join:c}=await import(`node:path`),l=o.discoverAuthStorage(s),u=new o.ModelRegistry(l,c(s,`models.json`)),d=Array.isArray(u)?u:u.getAll();for(let e of d){let n=String(e?.id??``).trim();if(!n)continue;let r=String(e?.provider??``).trim();if(!r)continue;let i=String(e?.name??n).trim()||n,a=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,o=typeof e?.reasoning==`boolean`?e.reasoning:void 0,s=Array.isArray(e?.input)?e.input:void 0;t.push({id:n,name:i,provider:r,contextWindow:a,reasoning:o,input:s})}return ot({config:a,models:t}),rt(t),t.length===0&&(B=null),r(t)}catch(e){return V||(V=!0,$e.warn(`Failed to load model catalog: ${String(e)}`)),B=null,t.length>0?r(t):[]}})(),B)}function G(e){return e?.input?.includes(`image`)??!1}function st(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}async function K(e){if(!e)return!1;try{return await p.default.stat(e),!0}catch{return!1}}function ct(e){let t=e.trim(),n=t.lastIndexOf(`{`);if(n===-1)return null;let r=t.slice(n);try{return JSON.parse(r)}catch{return null}}function lt(e){let t=ct(e);if(!t||typeof t!=`object`)return null;let n=t.response;return typeof n==`string`&&n.trim()||null}function ut(e){return Math.ceil(e/3)*4}function dt(e){let t=Math.floor(4/3*e);return Math.min(t,73400320)}function q(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))typeof r==`string`&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function J(e,t){let n=e.trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function ft(e){let t=e=>{let n=e.trim();if(!n)return null;let r=n[0];if(r!==`{`&&r!==`"`)return null;try{let e=JSON.parse(n);if(typeof e==`string`)return t(e);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`&&t.trim())return t.trim()}}catch{}return null},n=t(e);if(n)return n;let r=e.split(`
4
- `).map(e=>e.trim()).filter(Boolean);for(let e=r.length-1;e>=0;--e){let n=t(r[e]??``);if(n)return n}return null}function pt(e){return u.default.parse(e).name}function Y(e,t){for(let n=0;n<e.length;n+=1)if(t.includes(e[n]??``)){let t=e[n+1];if(t)return t}}function mt(e,t){return e.some(e=>t.includes(e))}function ht(e,t){let n=Y(e,[`--output_dir`,`-o`]),r=Y(e,[`--output_format`]);if(!n||!r||!r.split(`,`).map(e=>e.trim()).includes(`txt`))return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}function gt(e){if(!mt(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function _t(e,t){let n=Y(e,[`--output-dir`]),r=Y(e,[`--output-format`]);if(!n||r&&r!==`txt`)return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}async function vt(e){let t=pt(e.command),n=t===`whisper-cli`?gt(e.args):t===`whisper`?ht(e.args,e.mediaPath):t===`parakeet-mlx`?_t(e.args,e.mediaPath):null;if(n&&await K(n))try{let e=await p.default.readFile(n,`utf8`);if(e.trim())return e.trim()}catch{}if(t===`gemini`){let t=lt(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=ft(e.stdout);if(t)return t}return e.stdout.trim()}function yt(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function bt(e){if(!e)return;let t={};return typeof e.detectLanguage==`boolean`&&(t.detect_language=e.detectLanguage),typeof e.punctuate==`boolean`&&(t.punctuate=e.punctuate),typeof e.smartFormat==`boolean`&&(t.smart_format=e.smartFormat),Object.keys(t).length>0?t:void 0}function xt(e){let t={...e};return`detectLanguage`in t&&(t.detect_language=t.detectLanguage,delete t.detectLanguage),`smartFormat`in t&&(t.smart_format=t.smartFormat,delete t.smartFormat),t}function St(e){let{providerId:t,config:n,entry:r}=e,i=yt({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=xt(i??{}),o=bt({...n?.deepgram,...r.deepgram});for(let[e,t]of Object.entries(o??{}))a[e]===void 0&&(a[e]=t);return Object.keys(a).length>0?a:void 0}function X(e){if(e.entryType===`cli`){let t=e.entry.command?.trim();return{type:`cli`,provider:t??`cli`,model:e.entry.model??t,outcome:e.outcome,reason:e.reason}}let t=e.entry.provider?.trim();return{type:`provider`,provider:(t?A(t):void 0)??t,model:e.entry.model,outcome:e.outcome,reason:e.reason}}function Ct(e){let{capability:t,entry:n,cfg:r}=e,i=Ne({capability:t,entry:n,cfg:r,config:e.config}),a=Me({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:Ae(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,S[t]),prompt:je(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function wt(e){let t=await n.r({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:s.t({provider:e.providerId,primaryApiKey:n.n(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Tt(e){let{apiKeys:t,providerConfig:n}=await wt({providerId:e.providerId,cfg:e.cfg,entry:e.entry,agentDir:e.agentDir}),r=e.entry.baseUrl??e.config?.baseUrl??n?.baseUrl,i={...q(n?.headers),...q(e.config?.headers),...q(e.entry.headers)};return{apiKeys:t,baseUrl:r,headers:Object.keys(i).length>0?i:void 0}}function Et(e){let t=Array.isArray(e.attachments)?e.attachments:[],n=t.length,r=t.filter(e=>e?.chosen?.outcome===`success`).length,i=t.find(e=>e?.chosen)?.chosen,a=typeof i?.provider==`string`?i.provider.trim():void 0,o=typeof i?.model==`string`?i.model.trim():void 0,s=a?o?`${a}/${o}`:a:void 0,c=t.flatMap(e=>(Array.isArray(e?.attempts)?e.attempts:[]).map(e=>typeof e?.reason==`string`?e.reason:void 0).filter(e=>!!e)).find(e=>e.trim().length>0),l=c?c.split(`:`)[0]?.trim():void 0,u=n>0?` (${r}/${n})`:``,d=s?` via ${s}`:``,f=l?` reason=${l}`:``;return`${e.capability}: ${e.outcome}${u}${d}${f}`}function Dt(e){if(!(e.size>=1024))throw new z(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function Ot(e){let{entry:t,capability:n,cfg:r}=e,a=t.provider?.trim();if(!a)throw Error(`Provider entry missing provider for ${n}`);let o=A(a),{maxBytes:c,maxChars:u,timeoutMs:d,prompt:f}=Ct({capability:n,entry:t,cfg:r,config:e.config});if(n===`image`){if(!e.agentDir)throw Error(`Image understanding requires agentDir`);let n=t.model?.trim();if(!n)throw Error(`Image understanding requires model id`);let r=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),a=j(o,e.providerRegistry),s={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:o,prompt:f,timeoutMs:d,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},l=await(a?.describeImage??i.t)(s);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(l.text,u),provider:o,model:l.model??n}}let p=j(o,e.providerRegistry);if(!p)throw Error(`Media provider not available: ${o}`);let m=l.r();if(n===`audio`){if(!p.transcribeAudio)throw Error(`Audio transcription provider "${o}" not available.`);let n=p.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d});Dt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:a,baseUrl:l,headers:h}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),g=St({providerId:o,config:e.config,entry:t}),_=t.model?.trim()||te[o]||t.model,v=await s.n({provider:o,apiKeys:a,execute:async a=>n({buffer:i.buffer,fileName:i.fileName,mime:i.mime,apiKey:a,baseUrl:l,headers:h,model:_,language:t.language??e.config?.language??r.tools?.media?.audio?.language,prompt:f,query:g,timeoutMs:d,fetchFn:m})});return{kind:`audio.transcription`,attachmentIndex:e.attachmentIndex,text:J(v.text,u),provider:o,model:v.model??_}}if(!p.describeVideo)throw Error(`Video understanding provider "${o}" not available.`);let h=p.describeVideo,g=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),_=ut(g.size),v=dt(c);if(_>v)throw new z(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${_} exceeds ${v}`);let{apiKeys:y,baseUrl:b,headers:x}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),S=await s.n({provider:o,apiKeys:y,execute:e=>h({buffer:g.buffer,fileName:g.fileName,mime:g.mime,apiKey:e,baseUrl:b,headers:x,model:t.model,prompt:f,timeoutMs:d,fetchFn:m})});return{kind:`video.description`,attachmentIndex:e.attachmentIndex,text:J(S.text,u),provider:o,model:S.model??t.model}}async function kt(e){let{entry:t,capability:i,cfg:a,ctx:o}=e,s=t.command?.trim(),c=t.args??[];if(!s)throw Error(`CLI entry missing command for ${i}`);let{maxBytes:l,maxChars:d,timeoutMs:f,prompt:m}=Ct({capability:i,entry:t,cfg:a,config:e.config}),h=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:l,timeoutMs:f});i===`audio`&&Dt({size:(await p.default.stat(h.path)).size,attachmentIndex:e.attachmentIndex});let g=await p.default.mkdtemp(u.default.join(r.Z(),`openclaw-media-cli-`)),_=h.path,y=u.default.join(g,u.default.parse(_).name),b={...o,MediaPath:_,MediaDir:u.default.dirname(_),OutputDir:g,OutputBase:y,Prompt:m,MaxChars:d},x=[s,...c].map((e,t)=>t===0?e:v(e,b));try{r.B()&&r.R(`Media understanding via CLI: ${x.join(` `)}`);let{stdout:t}=await n.ya(x[0],x.slice(1),{timeoutMs:f,maxBuffer:ae}),a=J(await vt({command:s,args:x.slice(1),stdout:t,mediaPath:_}),d);return a?{kind:i===`audio`?`audio.transcription`:`${i}.description`,attachmentIndex:e.attachmentIndex,text:a,provider:`cli`,model:s}:null}finally{await p.default.rm(g,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return De(e)}function At(e){return ze(e)}function jt(e){return n.La(c.n(),n.Ra({cfg:e.cfg,accountId:e.ctx.AccountId}))}function Mt(e,t){return new Qe(e,t)}const Nt=new Map,Pt=new Map;function Ft(e){if(!e.startsWith(`~`))return e;let t=f.default.homedir();return e===`~`?t:e.startsWith(`~/`)?u.default.join(t,e.slice(2)):e}function It(e){return e.includes(`/`)||e.includes(`\\`)}function Lt(e){if(process.platform!==`win32`||u.default.extname(e))return[e];let t=(process.env.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.trim()).filter(Boolean).map(e=>e.startsWith(`.`)?e:`.${e}`);return[e,...Array.from(new Set(t)).map(t=>`${e}${t}`)]}async function Rt(e){try{return(await p.default.stat(e)).isFile()?(process.platform===`win32`||await p.default.access(e,d.constants.X_OK),!0):!1}catch{return!1}}async function zt(e){let t=Nt.get(e);if(t)return t;let n=(async()=>{let t=Ft(e.trim());if(t&&It(t)){for(let e of Lt(t))if(await Rt(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(u.default.delimiter),i=Lt(n);for(let e of r){let t=Ft(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=u.default.join(t,e);if(await Rt(n))return n}}return null})();return Nt.set(e,n),n}async function Q(e){return!!await zt(e)}async function Bt(){let e=Pt.get(`gemini`);if(e)return e;let t=(async()=>{if(!await Q(`gemini`))return!1;try{let{stdout:e}=await n.ya(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(lt(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return Pt.set(`gemini`,t),t}async function Vt(){if(!await Q(`whisper-cli`))return null;let e=process.env.WHISPER_CPP_MODEL?.trim(),t=e&&await K(e)?e:`/opt/homebrew/share/whisper-cpp/for-tests-ggml-tiny.bin`;return await K(t)?{type:`cli`,command:`whisper-cli`,args:[`-m`,t,`-otxt`,`-of`,`{{OutputBase}}`,`-np`,`-nt`,`{{MediaPath}}`]}:null}async function Ht(){return await Q(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function Ut(){if(!await Q(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=u.default.join(e,`tokens.txt`),n=u.default.join(e,`encoder.onnx`),r=u.default.join(e,`decoder.onnx`),i=u.default.join(e,`joiner.onnx`);return!await K(t)||!await K(n)||!await K(r)||!await K(i)?null:{type:`cli`,command:`sherpa-onnx-offline`,args:[`--tokens=${t}`,`--encoder=${n}`,`--decoder=${r}`,`--joiner=${i}`,`{{MediaPath}}`]}}async function Wt(){return await Ut()||await Vt()||await Ht()}async function Gt(e){return await Bt()?{type:`cli`,command:`gemini`,args:[`--output-format`,`json`,`--allowed-tools`,`read_many_files`,`--include-directories`,`{{MediaDir}}`,`{{Prompt}}`,`Use read_many_files to read {{MediaPath}} and respond with only the text output.`]}:null}async function Kt(e){let{cfg:t,agentDir:r,providerRegistry:i,capability:a}=e,o=async(e,o)=>{let s=j(e,i);if(!s||a===`audio`&&!s.transcribeAudio||a===`image`&&!s.describeImage||a===`video`&&!s.describeVideo)return null;try{return await n.r({provider:e,cfg:t,agentDir:r}),{type:`provider`,provider:e,model:o}}catch{return null}};if(a===`image`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of re){let t=C[e],n=await o(e,t);if(n)return n}return null}if(a===`video`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of ie){let t=await o(e,void 0);if(t)return t}return null}let s=e.activeModel?.provider?.trim();if(s){let t=await o(s,e.activeModel?.model);if(t)return t}for(let e of ne){let t=await o(e,void 0);if(t)return t}return null}function qt(e){let n=[],r=t.Ct(e.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of t.St(e.agents?.defaults?.imageModel))r?.trim()&&n.push(r.trim());if(n.length===0)return[];let i=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||i.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return i}async function Jt(e){let t=await Xt(e);if(t)return[t];if(e.capability===`audio`){let e=await Wt();if(e)return[e]}if(e.capability===`image`){let t=qt(e.cfg);if(t.length>0)return t}let n=await Gt(e.capability);if(n)return[n];let r=await Kt(e);return r?[r]:[]}async function Yt(e){let t=Z(),n=e=>{if(!e||e.type===`cli`)return null;let t=e.provider;if(!t)return null;let n=e.model??C[t];return n?{provider:t,model:n}:null};return n(await Xt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await Kt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function Xt(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let r=A(t);if(!r)return null;let i=j(r,e.providerRegistry);if(!i||e.capability===`audio`&&!i.transcribeAudio||e.capability===`image`&&!i.describeImage||e.capability===`video`&&!i.describeVideo)return null;try{await n.r({provider:r,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:r,model:e.activeModel?.model}}async function Zt(e){let{entries:t,capability:n}=e,i=[];for(let a of t){let t=a.type??(a.command?`cli`:`provider`);try{let r=t===`cli`?await kt({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Ot({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(r){let e=X({entry:a,entryType:t,outcome:`success`});return r.provider&&(e.provider=r.provider),r.model&&(e.model=r.model),i.push(e),{output:r,attempts:i}}i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(Ye(e)){i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),r.B()&&r.R(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}i.push(X({entry:a,entryType:t,outcome:`failed`,reason:String(e)})),r.B()&&r.R(`${n} understanding failed: ${String(e)}`)}}return{output:null,attempts:i}}async function $(e){let{capability:t,cfg:n,ctx:i}=e,a=e.config??n.tools?.media?.[t];if(a?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let o=a?.attachments,s=Ue({capability:t,attachments:e.media,policy:o});if(s.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Pe({scope:a?.scope,ctx:i})===`deny`)return r.B()&&r.R(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let c=e.activeModel?.provider?.trim();if(t===`image`&&c&&G(st(await W({config:n}),c,e.activeModel?.model??``))){r.B()&&r.R(`Skipping image understanding: primary model supports vision natively`);let n=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>{let t={type:`provider`,provider:c,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let l=Ie({cfg:n,capability:t,config:a,providerRegistry:e.providerRegistry});if(l.length===0&&(l=await Jt({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),l.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let u=[],d=[];for(let r of s){let{output:o,attempts:s}=await Zt({capability:t,cfg:n,ctx:i,attachmentIndex:r.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:l,config:a});o&&u.push(o),d.push({attachmentIndex:r.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let f={capability:t,outcome:u.length>0?`success`:`skipped`,attachments:d};return r.B()&&r.R(`Media understanding ${Et(f)}`),{outputs:u,decision:f}}async function Qt(e){let t=e.attachments??At(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=Mt(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await $({capability:`audio`,cfg:e.cfg,ctx:e.ctx,attachments:r,media:t,agentDir:e.agentDir,providerRegistry:n,config:e.cfg.tools?.media?.audio,activeModel:e.activeModel})).outputs.find(e=>e.kind===`audio.transcription`)?.text?.trim()||void 0,attachments:t}}finally{await r.cleanup()}}Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return N}});
4
+ `).map(e=>e.trim()).filter(Boolean);for(let e=r.length-1;e>=0;--e){let n=t(r[e]??``);if(n)return n}return null}function pt(e){return u.default.parse(e).name}function Y(e,t){for(let n=0;n<e.length;n+=1)if(t.includes(e[n]??``)){let t=e[n+1];if(t)return t}}function mt(e,t){return e.some(e=>t.includes(e))}function ht(e,t){let n=Y(e,[`--output_dir`,`-o`]),r=Y(e,[`--output_format`]);if(!n||!r||!r.split(`,`).map(e=>e.trim()).includes(`txt`))return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}function gt(e){if(!mt(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function _t(e,t){let n=Y(e,[`--output-dir`]),r=Y(e,[`--output-format`]);if(!n||r&&r!==`txt`)return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}async function vt(e){let t=pt(e.command),n=t===`whisper-cli`?gt(e.args):t===`whisper`?ht(e.args,e.mediaPath):t===`parakeet-mlx`?_t(e.args,e.mediaPath):null;if(n&&await K(n))try{let e=await p.default.readFile(n,`utf8`);if(e.trim())return e.trim()}catch{}if(t===`gemini`){let t=lt(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=ft(e.stdout);if(t)return t}return e.stdout.trim()}function yt(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function bt(e){if(!e)return;let t={};return typeof e.detectLanguage==`boolean`&&(t.detect_language=e.detectLanguage),typeof e.punctuate==`boolean`&&(t.punctuate=e.punctuate),typeof e.smartFormat==`boolean`&&(t.smart_format=e.smartFormat),Object.keys(t).length>0?t:void 0}function xt(e){let t={...e};return`detectLanguage`in t&&(t.detect_language=t.detectLanguage,delete t.detectLanguage),`smartFormat`in t&&(t.smart_format=t.smartFormat,delete t.smartFormat),t}function St(e){let{providerId:t,config:n,entry:r}=e,i=yt({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=xt(i??{}),o=bt({...n?.deepgram,...r.deepgram});for(let[e,t]of Object.entries(o??{}))a[e]===void 0&&(a[e]=t);return Object.keys(a).length>0?a:void 0}function X(e){if(e.entryType===`cli`){let t=e.entry.command?.trim();return{type:`cli`,provider:t??`cli`,model:e.entry.model??t,outcome:e.outcome,reason:e.reason}}let t=e.entry.provider?.trim();return{type:`provider`,provider:(t?A(t):void 0)??t,model:e.entry.model,outcome:e.outcome,reason:e.reason}}function Ct(e){let{capability:t,entry:n,cfg:r}=e,i=Ne({capability:t,entry:n,cfg:r,config:e.config}),a=Me({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:Ae(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,S[t]),prompt:je(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function wt(e){let t=await n.r({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:s.t({provider:e.providerId,primaryApiKey:n.n(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Tt(e){let{apiKeys:t,providerConfig:n}=await wt({providerId:e.providerId,cfg:e.cfg,entry:e.entry,agentDir:e.agentDir}),r=e.entry.baseUrl??e.config?.baseUrl??n?.baseUrl,i={...q(n?.headers),...q(e.config?.headers),...q(e.entry.headers)};return{apiKeys:t,baseUrl:r,headers:Object.keys(i).length>0?i:void 0}}function Et(e){let t=Array.isArray(e.attachments)?e.attachments:[],n=t.length,r=t.filter(e=>e?.chosen?.outcome===`success`).length,i=t.find(e=>e?.chosen)?.chosen,a=typeof i?.provider==`string`?i.provider.trim():void 0,o=typeof i?.model==`string`?i.model.trim():void 0,s=a?o?`${a}/${o}`:a:void 0,c=t.flatMap(e=>(Array.isArray(e?.attempts)?e.attempts:[]).map(e=>typeof e?.reason==`string`?e.reason:void 0).filter(e=>!!e)).find(e=>e.trim().length>0),l=c?c.split(`:`)[0]?.trim():void 0,u=n>0?` (${r}/${n})`:``,d=s?` via ${s}`:``,f=l?` reason=${l}`:``;return`${e.capability}: ${e.outcome}${u}${d}${f}`}function Dt(e){if(!(e.size>=1024))throw new z(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function Ot(e){let{entry:t,capability:n,cfg:r}=e,a=t.provider?.trim();if(!a)throw Error(`Provider entry missing provider for ${n}`);let o=A(a),{maxBytes:c,maxChars:u,timeoutMs:d,prompt:f}=Ct({capability:n,entry:t,cfg:r,config:e.config});if(n===`image`){if(!e.agentDir)throw Error(`Image understanding requires agentDir`);let n=t.model?.trim();if(!n)throw Error(`Image understanding requires model id`);let r=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),a=j(o,e.providerRegistry),s={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:o,prompt:f,timeoutMs:d,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},l=await(a?.describeImage??i.t)(s);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(l.text,u),provider:o,model:l.model??n}}let p=j(o,e.providerRegistry);if(!p)throw Error(`Media provider not available: ${o}`);let m=l.r();if(n===`audio`){if(!p.transcribeAudio)throw Error(`Audio transcription provider "${o}" not available.`);let n=p.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d});Dt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:a,baseUrl:l,headers:h}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),g=St({providerId:o,config:e.config,entry:t}),_=t.model?.trim()||te[o]||t.model,v=await s.n({provider:o,apiKeys:a,execute:async a=>n({buffer:i.buffer,fileName:i.fileName,mime:i.mime,apiKey:a,baseUrl:l,headers:h,model:_,language:t.language??e.config?.language??r.tools?.media?.audio?.language,prompt:f,query:g,timeoutMs:d,fetchFn:m})});return{kind:`audio.transcription`,attachmentIndex:e.attachmentIndex,text:J(v.text,u),provider:o,model:v.model??_}}if(!p.describeVideo)throw Error(`Video understanding provider "${o}" not available.`);let h=p.describeVideo,g=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),_=ut(g.size),v=dt(c);if(_>v)throw new z(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${_} exceeds ${v}`);let{apiKeys:y,baseUrl:b,headers:x}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),S=await s.n({provider:o,apiKeys:y,execute:e=>h({buffer:g.buffer,fileName:g.fileName,mime:g.mime,apiKey:e,baseUrl:b,headers:x,model:t.model,prompt:f,timeoutMs:d,fetchFn:m})});return{kind:`video.description`,attachmentIndex:e.attachmentIndex,text:J(S.text,u),provider:o,model:S.model??t.model}}async function kt(e){let{entry:t,capability:i,cfg:a,ctx:o}=e,s=t.command?.trim(),c=t.args??[];if(!s)throw Error(`CLI entry missing command for ${i}`);let{maxBytes:l,maxChars:d,timeoutMs:f,prompt:m}=Ct({capability:i,entry:t,cfg:a,config:e.config}),h=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:l,timeoutMs:f});i===`audio`&&Dt({size:(await p.default.stat(h.path)).size,attachmentIndex:e.attachmentIndex});let g=await p.default.mkdtemp(u.default.join(r.Z(),`openclaw-media-cli-`)),_=h.path,y=u.default.join(g,u.default.parse(_).name),b={...o,MediaPath:_,MediaDir:u.default.dirname(_),OutputDir:g,OutputBase:y,Prompt:m,MaxChars:d},x=[s,...c].map((e,t)=>t===0?e:v(e,b));try{r.B()&&r.R(`Media understanding via CLI: ${x.join(` `)}`);let{stdout:t}=await n.ya(x[0],x.slice(1),{timeoutMs:f,maxBuffer:ae}),a=J(await vt({command:s,args:x.slice(1),stdout:t,mediaPath:_}),d);return a?{kind:i===`audio`?`audio.transcription`:`${i}.description`,attachmentIndex:e.attachmentIndex,text:a,provider:`cli`,model:s}:null}finally{await p.default.rm(g,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return De(e)}function At(e){return ze(e)}function jt(e){return n.La(c.n(),n.Ra({cfg:e.cfg,accountId:e.ctx.AccountId}))}function Mt(e,t){return new Qe(e,t)}const Nt=new Map,Pt=new Map;function Ft(e){if(!e.startsWith(`~`))return e;let t=f.default.homedir();return e===`~`?t:e.startsWith(`~/`)?u.default.join(t,e.slice(2)):e}function It(e){return e.includes(`/`)||e.includes(`\\`)}function Lt(e){if(process.platform!==`win32`||u.default.extname(e))return[e];let t=(process.env.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.trim()).filter(Boolean).map(e=>e.startsWith(`.`)?e:`.${e}`);return[e,...Array.from(new Set(t)).map(t=>`${e}${t}`)]}async function Rt(e){try{return(await p.default.stat(e)).isFile()?(process.platform===`win32`||await p.default.access(e,d.constants.X_OK),!0):!1}catch{return!1}}async function zt(e){let t=Nt.get(e);if(t)return t;let n=(async()=>{let t=Ft(e.trim());if(t&&It(t)){for(let e of Lt(t))if(await Rt(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(u.default.delimiter),i=Lt(n);for(let e of r){let t=Ft(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=u.default.join(t,e);if(await Rt(n))return n}}return null})();return Nt.set(e,n),n}async function Q(e){return!!await zt(e)}async function Bt(){let e=Pt.get(`gemini`);if(e)return e;let t=(async()=>{if(!await Q(`gemini`))return!1;try{let{stdout:e}=await n.ya(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(lt(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return Pt.set(`gemini`,t),t}async function Vt(){if(!await Q(`whisper-cli`))return null;let e=process.env.WHISPER_CPP_MODEL?.trim(),t=e&&await K(e)?e:`/opt/homebrew/share/whisper-cpp/for-tests-ggml-tiny.bin`;return await K(t)?{type:`cli`,command:`whisper-cli`,args:[`-m`,t,`-otxt`,`-of`,`{{OutputBase}}`,`-np`,`-nt`,`{{MediaPath}}`]}:null}async function Ht(){return await Q(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function Ut(){if(!await Q(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=u.default.join(e,`tokens.txt`),n=u.default.join(e,`encoder.onnx`),r=u.default.join(e,`decoder.onnx`),i=u.default.join(e,`joiner.onnx`);return!await K(t)||!await K(n)||!await K(r)||!await K(i)?null:{type:`cli`,command:`sherpa-onnx-offline`,args:[`--tokens=${t}`,`--encoder=${n}`,`--decoder=${r}`,`--joiner=${i}`,`{{MediaPath}}`]}}async function Wt(){return await Ut()||await Vt()||await Ht()}async function Gt(e){return await Bt()?{type:`cli`,command:`gemini`,args:[`--output-format`,`json`,`--allowed-tools`,`read_many_files`,`--include-directories`,`{{MediaDir}}`,`{{Prompt}}`,`Use read_many_files to read {{MediaPath}} and respond with only the text output.`]}:null}async function Kt(e){let{cfg:t,agentDir:r,providerRegistry:i,capability:a}=e,o=async(e,o)=>{let s=j(e,i);if(!s||a===`audio`&&!s.transcribeAudio||a===`image`&&!s.describeImage||a===`video`&&!s.describeVideo)return null;try{return await n.r({provider:e,cfg:t,agentDir:r}),{type:`provider`,provider:e,model:o}}catch{return null}};if(a===`image`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of re){let t=C[e],n=await o(e,t);if(n)return n}return null}if(a===`video`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of ie){let t=await o(e,void 0);if(t)return t}return null}let s=e.activeModel?.provider?.trim();if(s){let t=await o(s,e.activeModel?.model);if(t)return t}for(let e of ne){let t=await o(e,void 0);if(t)return t}return null}function qt(e){let n=[],r=t.Ct(e.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of t.St(e.agents?.defaults?.imageModel))r?.trim()&&n.push(r.trim());if(n.length===0)return[];let i=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||i.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return i}async function Jt(e){let t=await Xt(e);if(t)return[t];if(e.capability===`audio`){let e=await Wt();if(e)return[e]}if(e.capability===`image`){let t=qt(e.cfg);if(t.length>0)return t}let n=await Gt(e.capability);if(n)return[n];let r=await Kt(e);return r?[r]:[]}async function Yt(e){let t=Z(),n=e=>{if(!e||e.type===`cli`)return null;let t=e.provider;if(!t)return null;let n=e.model??C[t];return n?{provider:t,model:n}:null};return n(await Xt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await Kt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function Xt(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let r=A(t);if(!r)return null;let i=j(r,e.providerRegistry);if(!i||e.capability===`audio`&&!i.transcribeAudio||e.capability===`image`&&!i.describeImage||e.capability===`video`&&!i.describeVideo)return null;try{await n.r({provider:r,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:r,model:e.activeModel?.model}}async function Zt(e){let{entries:t,capability:n}=e,i=[];for(let a of t){let t=a.type??(a.command?`cli`:`provider`);try{let r=t===`cli`?await kt({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Ot({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(r){let e=X({entry:a,entryType:t,outcome:`success`});return r.provider&&(e.provider=r.provider),r.model&&(e.model=r.model),i.push(e),{output:r,attempts:i}}i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(Ye(e)){i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),r.B()&&r.R(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}i.push(X({entry:a,entryType:t,outcome:`failed`,reason:String(e)})),r.B()&&r.R(`${n} understanding failed: ${String(e)}`)}}return{output:null,attempts:i}}async function $(e){let{capability:t,cfg:n,ctx:i}=e,a=e.config??n.tools?.media?.[t];if(a?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let o=a?.attachments,s=Ue({capability:t,attachments:e.media,policy:o});if(s.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Pe({scope:a?.scope,ctx:i})===`deny`)return r.B()&&r.R(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let c=e.activeModel?.provider?.trim();if(t===`image`&&c&&G(st(await W({config:n}),c,e.activeModel?.model??``))){r.B()&&r.R(`Skipping image understanding: primary model supports vision natively`);let n=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>{let t={type:`provider`,provider:c,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let l=Ie({cfg:n,capability:t,config:a,providerRegistry:e.providerRegistry});if(l.length===0&&(l=await Jt({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),l.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let u=[],d=[];for(let r of s){let{output:o,attempts:s}=await Zt({capability:t,cfg:n,ctx:i,attachmentIndex:r.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:l,config:a});o&&u.push(o),d.push({attachmentIndex:r.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let f={capability:t,outcome:u.length>0?`success`:`skipped`,attachments:d};return r.B()&&r.R(`Media understanding ${Et(f)}`),{outputs:u,decision:f}}async function Qt(e){let t=e.attachments??At(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=Mt(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await $({capability:`audio`,cfg:e.cfg,ctx:e.ctx,attachments:r,media:t,agentDir:e.agentDir,providerRegistry:n,config:e.cfg.tools?.media?.audio,activeModel:e.activeModel})).outputs.find(e=>e.kind===`audio.transcription`)?.text?.trim()||void 0,attachments:t}}finally{await r.cleanup()}}Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return N}});
@@ -1,4 +1,4 @@
1
1
  const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-D90l3h_o.cjs`),n=require(`./sessions-CJbvfO6m.cjs`),r=require(`./logger-DUYnS-W3.cjs`),i=require(`./image-DngxW2Nh.cjs`),a=require(`./fetch-timeout-BygUD0rd.cjs`),o=require(`./fetch-guard-Dpz6CnJY.cjs`),s=require(`./api-key-rotation-D5cfmg7E.cjs`),c=require(`./local-roots-CM1R1Ncr.cjs`),l=require(`./proxy-fetch-BzcKzknk.cjs`);let u=require(`node:path`);u=e.p(u);let d=require(`node:fs`),f=require(`node:os`);f=e.p(f);let p=require(`node:fs/promises`);p=e.p(p);let m=require(`node:url`),h=require(`node:crypto`);h=e.p(h);let g=require(`node:process`);g=e.p(g);function _(e){return e==null?``:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):typeof e==`symbol`||typeof e==`function`?e.toString():Array.isArray(e)?e.flatMap(e=>e==null?[]:typeof e==`string`?[e]:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?[String(e)]:[]).join(`,`):``}function v(e,t){return e?e.replace(/{{\s*(\w+)\s*}}/g,(e,n)=>{let r=t[n];return _(r)}):``}const y=1024*1024,b={image:500,audio:void 0,video:500},x={image:10*y,audio:20*y,video:50*y},S={image:60,audio:60,video:120},ee={image:`Describe the image.`,audio:`Transcribe the audio.`,video:`Describe the video.`};70*y;const te={groq:`whisper-large-v3-turbo`,openai:`gpt-4o-mini-transcribe`,deepgram:`nova-3`,mistral:`voxtral-mini-latest`},ne=[`openai`,`groq`,`deepgram`,`google`,`mistral`],re=[`openai`,`anthropic`,`google`,`minimax`,`minimax-portal`,`zai`],ie=[`google`,`moonshot`],C={openai:`gpt-5-mini`,anthropic:`claude-opus-4-6`,google:`gemini-3-flash-preview`,minimax:`MiniMax-VL-01`,"minimax-portal":`MiniMax-VL-01`,zai:`glm-4.6v`},ae=5*y,oe={id:`anthropic`,capabilities:[`image`],describeImage:i.t};function w(e,t){return(e?.trim()||t).replace(/\/+$/,``)}async function T(e,t,n,r,i){return await o.t({url:e,fetchImpl:r,init:t,timeoutMs:n,policy:i?.ssrfPolicy,lookupFn:i?.lookupFn,pinDns:i?.pinDns})}async function E(e){return T(e.url,{method:`POST`,headers:e.headers,body:e.body},e.timeoutMs,e.fetchFn,e.allowPrivateNetwork?{ssrfPolicy:{allowPrivateNetwork:!0}}:void 0)}async function se(e){return T(e.url,{method:`POST`,headers:e.headers,body:JSON.stringify(e.body)},e.timeoutMs,e.fetchFn,e.allowPrivateNetwork?{ssrfPolicy:{allowPrivateNetwork:!0}}:void 0)}async function ce(e){try{let t=(await e.text()).replace(/\s+/g,` `).trim();return t?t.length<=300?t:`${t.slice(0,300)}…`:void 0}catch{return}}async function D(e,t){if(e.ok)return;let n=await ce(e),r=n?`: ${n}`:``;throw Error(`${t} (HTTP ${e.status})${r}`)}function le(e,t){let n=e?.trim();if(!n)throw Error(t);return n}function ue(e){return e?.trim()||`nova-3`}async function de(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.deepgram.com/v1`),r=!!e.baseUrl?.trim(),i=ue(e.model),a=new URL(`${n}/listen`);if(a.searchParams.set(`model`,i),e.language?.trim()&&a.searchParams.set(`language`,e.language.trim()),e.query)for(let[t,n]of Object.entries(e.query))n!==void 0&&a.searchParams.set(t,String(n));let o=new Headers(e.headers);o.has(`authorization`)||o.set(`authorization`,`Token ${e.apiKey}`),o.has(`content-type`)||o.set(`content-type`,e.mime??`application/octet-stream`);let s=new Uint8Array(e.buffer),{response:c,release:l}=await E({url:a.toString(),headers:o,body:s,timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{return await D(c,`Audio transcription failed`),{text:le((await c.json()).results?.channels?.[0]?.alternatives?.[0]?.transcript,`Audio transcription response missing transcript`),model:i}}finally{await l()}}const fe={id:`deepgram`,capabilities:[`audio`],transcribeAudio:de};async function O(e){let t=e.fetchFn??fetch,r=w(e.baseUrl,e.defaultBaseUrl),i=!!e.baseUrl?.trim(),a=(()=>{let t=e.model?.trim();return t?n.dn(t):e.defaultModel})(),o=`${r}/models/${a}:generateContent`,c=s.r(e.apiKey),l=new Headers(e.headers);for(let[e,t]of Object.entries(c.headers))l.has(e)||l.set(e,t);let{response:u,release:d}=await se({url:o,headers:l,body:{contents:[{role:`user`,parts:[{text:e.prompt?.trim()||e.defaultPrompt},{inline_data:{mime_type:e.mime??e.defaultMime,data:e.buffer.toString(`base64`)}}]}]},timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:i});try{await D(u,e.httpErrorLabel);let t=((await u.json()).candidates?.[0]?.content?.parts??[]).map(e=>e?.text?.trim()).filter(Boolean).join(`
2
2
  `);if(!t)throw Error(e.missingTextError);return{text:t,model:a}}finally{await d()}}async function pe(e){let{text:t,model:n}=await O({...e,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta`,defaultModel:`gemini-3-flash-preview`,defaultPrompt:`Transcribe the audio.`,defaultMime:`audio/wav`,httpErrorLabel:`Audio transcription failed`,missingTextError:`Audio transcription response missing text`});return{text:t,model:n}}async function me(e){let{text:t,model:n}=await O({...e,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta`,defaultModel:`gemini-3-flash-preview`,defaultPrompt:`Describe the video.`,defaultMime:`video/mp4`,httpErrorLabel:`Video description failed`,missingTextError:`Video description response missing text`});return{text:t,model:n}}const he={id:`google`,capabilities:[`image`,`audio`,`video`],describeImage:i.t,transcribeAudio:pe,describeVideo:me};function ge(e){return e?.trim()||`gpt-4o-mini-transcribe`}async function k(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.openai.com/v1`),r=!!e.baseUrl?.trim(),i=`${n}/audio/transcriptions`,a=ge(e.model),o=new FormData,s=e.fileName?.trim()||u.default.basename(e.fileName)||`audio`,c=new Uint8Array(e.buffer),l=new Blob([c],{type:e.mime??`application/octet-stream`});o.append(`file`,l,s),o.append(`model`,a),e.language?.trim()&&o.append(`language`,e.language.trim()),e.prompt?.trim()&&o.append(`prompt`,e.prompt.trim());let d=new Headers(e.headers);d.has(`authorization`)||d.set(`authorization`,`Bearer ${e.apiKey}`);let{response:f,release:p}=await E({url:i,headers:d,body:o,timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{return await D(f,`Audio transcription failed`),{text:le((await f.json()).text,`Audio transcription response missing text`),model:a}}finally{await p()}}const _e={id:`groq`,capabilities:[`audio`],transcribeAudio:e=>k({...e,baseUrl:e.baseUrl??`https://api.groq.com/openai/v1`})},ve={id:`minimax`,capabilities:[`image`],describeImage:i.t},ye={id:`minimax-portal`,capabilities:[`image`],describeImage:i.t},be={id:`mistral`,capabilities:[`audio`],transcribeAudio:e=>k({...e,baseUrl:e.baseUrl??`https://api.mistral.ai/v1`})};function xe(e){return e?.trim()||`kimi-k2.5`}function Se(e){return e?.trim()||`Describe the video.`}function Ce(e){let t=e.choices?.[0]?.message;if(!t)return null;if(typeof t.content==`string`&&t.content.trim())return t.content.trim();if(Array.isArray(t.content)){let e=t.content.map(e=>typeof e.text==`string`?e.text.trim():``).filter(Boolean).join(`
3
3
  `).trim();if(e)return e}return typeof t.reasoning_content==`string`&&t.reasoning_content.trim()?t.reasoning_content.trim():null}async function we(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.moonshot.ai/v1`),r=xe(e.model),i=e.mime??`video/mp4`,a=Se(e.prompt),o=`${n}/chat/completions`,s=new Headers(e.headers);s.has(`content-type`)||s.set(`content-type`,`application/json`),s.has(`authorization`)||s.set(`authorization`,`Bearer ${e.apiKey}`);let{response:c,release:l}=await se({url:o,headers:s,body:{model:r,messages:[{role:`user`,content:[{type:`text`,text:a},{type:`video_url`,video_url:{url:`data:${i};base64,${e.buffer.toString(`base64`)}`}}]}]},timeoutMs:e.timeoutMs,fetchFn:t});try{await D(c,`Moonshot video description failed`);let e=Ce(await c.json());if(!e)throw Error(`Moonshot video description response missing content`);return{text:e,model:r}}finally{await l()}}const Te={id:`moonshot`,capabilities:[`image`,`video`],describeImage:i.t,describeVideo:we},Ee=[_e,{id:`openai`,capabilities:[`image`,`audio`],describeImage:i.t,transcribeAudio:k},he,oe,ve,ye,Te,be,{id:`zai`,capabilities:[`image`],describeImage:i.t},fe];function A(e){let t=n.in(e);return t===`gemini`?`google`:t}function De(e){let t=new Map;for(let e of Ee)t.set(A(e.id),e);if(e)for(let[n,r]of Object.entries(e)){let e=A(n),i=t.get(e),a=i?{...i,...r,capabilities:r.capabilities??i.capabilities}:r;t.set(e,a)}return t}function j(e,t){return t.get(A(e))}function Oe(e){let t=e?.trim().toLowerCase();if(t===`allow`)return`allow`;if(t===`deny`)return`deny`}function M(e){return e?.trim().toLowerCase()||void 0}function N(e){return n.cs(e??void 0)}function ke(e){let t=e.scope;if(!t)return`allow`;let n=M(e.channel),r=N(e.chatType),i=M(e.sessionKey)??``;for(let e of t.rules??[]){if(!e)continue;let t=Oe(e.action)??`allow`,a=e.match??{},o=M(a.channel),s=N(a.chatType),c=M(a.keyPrefix);if(!(o&&o!==n)&&!(s&&s!==r)&&!(c&&!i.startsWith(c)))return t}return Oe(t.default)??`allow`}function Ae(e,t){let n=typeof e==`number`&&Number.isFinite(e)?e:t;return Math.max(1e3,Math.floor(n*1e3))}function je(e,t,n){let r=t?.trim()||ee[e];return!n||e===`audio`?r:`${r} Respond in at most ${n} characters.`}function Me(e){let{capability:t,entry:n,cfg:r}=e,i=n.maxChars??e.config?.maxChars??r.tools?.media?.[t]?.maxChars;return typeof i==`number`?i:b[t]}function Ne(e){let t=e.entry.maxBytes??e.config?.maxBytes??e.cfg.tools?.media?.[e.capability]?.maxBytes;return typeof t==`number`?t:x[e.capability]}function Pe(e){return ke({scope:e.scope,sessionKey:e.ctx.SessionKey,channel:e.ctx.Surface??e.ctx.Provider,chatType:N(e.ctx.ChatType)})}function Fe(e){if((e.entry.type??(e.entry.command?`cli`:`provider`))===`cli`)return;let t=A(e.entry.provider??``);if(t)return e.providerRegistry.get(t)?.capabilities}function Ie(e){let{cfg:t,capability:n,config:i}=e,a=t.tools?.media?.models??[],o=[...(i?.models??[]).map(e=>({entry:e,source:`capability`})),...a.map(e=>({entry:e,source:`shared`}))];return o.length===0?[]:o.filter(({entry:t,source:i})=>{let a=t.capabilities&&t.capabilities.length>0?t.capabilities:i===`shared`?Fe({entry:t,providerRegistry:e.providerRegistry}):void 0;return!a||a.length===0?i===`shared`?(r.B()&&r.R(`Skipping shared media model without capabilities: ${t.provider??t.command??`unknown`}`),!1):!0:a.includes(n)}).map(({entry:e})=>e)}function Le(e){let t=e.tools?.media?.concurrency;return typeof t==`number`&&Number.isFinite(t)&&t>0?Math.floor(t):2}function Re(e){let t=e?.trim();if(t){if(t.startsWith(`file://`))try{return(0,m.fileURLToPath)(t)}catch{return}return t}}function ze(e){let t=Array.isArray(e.MediaPaths)?e.MediaPaths:void 0,n=Array.isArray(e.MediaUrls)?e.MediaUrls:void 0,r=Array.isArray(e.MediaTypes)?e.MediaTypes:void 0,i=(t,n)=>{let i=r?.[n];return(typeof i==`string`?i.trim():``)||(t===1?e.MediaType:void 0)};if(t&&t.length>0){let r=t.length,a=n&&n.length>0?n:void 0;return t.map((t,n)=>({path:t?.trim()||void 0,url:a?.[n]??e.MediaUrl,mime:i(r,n),index:n})).filter(e=>!!(e.path?.trim()||e.url?.trim()))}if(n&&n.length>0){let e=n.length;return n.map((t,n)=>({path:void 0,url:t?.trim()||void 0,mime:i(e,n),index:n})).filter(e=>!!e.url?.trim())}let a=e.MediaPath?.trim(),o=e.MediaUrl?.trim();return!a&&!o?[]:[{path:a||void 0,url:o||void 0,mime:e.MediaType,index:0}]}function P(e){let n=t.g(e.mime);if(n===`image`||n===`audio`||n===`video`)return n;let r=t.f(e.path??e.url);return r?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(r)?`video`:t.m(e.path??e.url)?`audio`:[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.bmp`,`.tiff`,`.tif`].includes(r)?`image`:`unknown`:`unknown`}function Be(e){return P(e)===`video`}function F(e){return P(e)===`audio`}function Ve(e){return P(e)===`image`}function He(e,t){let n=Array.isArray(e)?e.filter(I):[];if(!t||t===`first`)return n;if(t===`last`)return[...n].toReversed();if(t===`path`){let e=n.filter(e=>e.path),t=n.filter(e=>!e.path);return[...e,...t]}if(t===`url`){let e=n.filter(e=>e.url),t=n.filter(e=>!e.url);return[...e,...t]}return n}function I(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.index!=`number`||t.path!==void 0&&typeof t.path!=`string`||t.url!==void 0&&typeof t.url!=`string`||t.mime!==void 0&&typeof t.mime!=`string`||t.alreadyTranscribed!==void 0&&typeof t.alreadyTranscribed!=`boolean`)}function Ue(e){let{capability:t,attachments:n,policy:r}=e,i=(Array.isArray(n)?n.filter(I):[]).filter(e=>t===`audio`&&e.alreadyTranscribed?!1:t===`image`?Ve(e):t===`audio`?F(e):Be(e));if(i.length===0)return[];let a=He(i,r?.prefer),o=r?.mode??`first`,s=r?.maxAttachments??1;return o===`all`?a.slice(0,Math.max(1,s)):a.slice(0,1)}const L=new Set;function We(e){return!e||typeof e!=`object`?!1:(`name`in e?String(e.name):``)===`AbortError`||(`message`in e&&typeof e.message==`string`?e.message:``)===`This operation was aborted`}function Ge(e){return L.add(e),()=>{L.delete(e)}}function Ke(e){return e.replace(/[^a-zA-Z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``)||`tmp`}function qe(e){if(!e)return``;let t=((e.startsWith(`.`)?e:`.${e}`).match(/[a-zA-Z0-9._-]+$/)?.[0]??``).replace(/^[._-]+/,``);return t?`.${t}`:``}function Je(e){return e??r.Z()}function R(e){let t=Ke(e.prefix),n=qe(e.extension),r=e.now,i=typeof r==`number`&&Number.isFinite(r)?Math.trunc(r):Date.now(),a=e.uuid?.trim()||h.default.randomUUID();return u.default.join(Je(e.tmpDir),`${t}-${i}-${a}${n}`)}var z=class extends Error{constructor(e,t){super(t),this.reason=e,this.name=`MediaUnderstandingSkipError`}};function Ye(e){return e instanceof z}const Xe=n.lt(c.n(),n.st);function Ze(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}var Qe=class{constructor(e,t){this.entries=new Map,this.attachments=e,this.localPathRoots=n.lt(t?.localPathRoots,Xe);for(let t of e)this.entries.set(t.index,{attachment:t})}async getBuffer(e){let n=await this.ensureEntry(e.attachmentIndex);if(n.buffer){if(n.buffer.length>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{buffer:n.buffer,mime:n.bufferMime,fileName:n.bufferFileName??`media-${e.attachmentIndex+1}`,size:n.buffer.length}}if(n.resolvedPath){let r=await this.ensureLocalStat(n);if(n.resolvedPath){if(r!==void 0&&r>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);let i=await p.default.readFile(n.resolvedPath);return n.buffer=i,n.bufferMime=n.bufferMime??n.attachment.mime??await t.u({buffer:i,filePath:n.resolvedPath}),n.bufferFileName=u.default.basename(n.resolvedPath)||`media-${e.attachmentIndex+1}`,{buffer:i,mime:n.bufferMime,fileName:n.bufferFileName,size:i.length}}}let r=n.attachment.url?.trim();if(!r)throw new z(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let i=await c.i({url:r,fetchImpl:(t,n)=>a.n(Ze(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return n.buffer=i.buffer,n.bufferMime=n.attachment.mime??i.contentType??await t.u({buffer:i.buffer,filePath:i.fileName??r}),n.bufferFileName=i.fileName??`media-${e.attachmentIndex+1}`,{buffer:i.buffer,mime:n.bufferMime,fileName:n.bufferFileName,size:i.buffer.length}}catch(t){throw t instanceof c.r&&t.code===`max_bytes`?new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`):We(t)?new z(`timeout`,`Attachment ${e.attachmentIndex+1} timed out while fetching.`):t}}async getPath(e){let t=await this.ensureEntry(e.attachmentIndex);if(t.resolvedPath){if(e.maxBytes){let n=await this.ensureLocalStat(t);if(t.resolvedPath&&n!==void 0&&n>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`)}if(t.resolvedPath)return{path:t.resolvedPath}}if(t.tempPath){if(e.maxBytes&&t.buffer&&t.buffer.length>e.maxBytes)throw new z(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{path:t.tempPath,cleanup:t.tempCleanup}}let n=e.maxBytes??1/0,r=await this.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:n,timeoutMs:e.timeoutMs}),i=R({prefix:`openclaw-media`,extension:u.default.extname(r.fileName||``)||``});return await p.default.writeFile(i,r.buffer),t.tempPath=i,t.tempCleanup=async()=>{await p.default.unlink(i).catch(()=>{})},{path:i,cleanup:t.tempCleanup}}async cleanup(){let e=[];for(let t of this.entries.values())t.tempCleanup&&=(e.push(Promise.resolve(t.tempCleanup())),void 0);await Promise.all(e)}async ensureEntry(e){let t=this.entries.get(e);if(t)return t.resolvedPath||=this.resolveLocalPath(t.attachment),t;let n=this.attachments.find(t=>t.index===e)??{index:e},r={attachment:n,resolvedPath:this.resolveLocalPath(n)};return this.entries.set(e,r),r}resolveLocalPath(e){let t=Re(e.path);if(t)return u.default.isAbsolute(t)?t:u.default.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!n.ct({filePath:e.resolvedPath,roots:this.localPathRoots})){e.resolvedPath=void 0,r.B()&&r.R(`Blocked attachment path outside allowed roots: ${e.attachment.path??e.attachment.url??`(unknown)`}`);return}if(e.statSize!==void 0)return e.statSize;try{let t=e.resolvedPath,i=await p.default.stat(t);if(!i.isFile()){e.resolvedPath=void 0;return}let a=await p.default.realpath(t).catch(()=>t);if(!n.ct({filePath:a,roots:await this.getCanonicalLocalPathRoots()})){e.resolvedPath=void 0,r.B()&&r.R(`Blocked canonicalized attachment path outside allowed roots: ${a}`);return}return e.resolvedPath=a,e.statSize=i.size,i.size}catch(t){e.resolvedPath=void 0,r.B()&&r.R(`Failed to read attachment ${e.attachment.index+1}: ${String(t)}`);return}}}async getCanonicalLocalPathRoots(){return this.canonicalLocalPathRoots||=(async()=>n.lt(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await p.default.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const $e=r.O(`model-catalog`);let B=null,V=!1,et=()=>Promise.resolve().then(()=>require(`./pi-model-discovery-DBRuOXxy.cjs`));const H=`openai-codex`,U=`openai`,tt=new Set([`kilocode`]),nt=[{provider:U,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:U,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:H,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:H,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function rt(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of nt){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function it(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function at(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!tt.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=it(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function ot(e){let t=at(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function W(e){return e?.useCache===!1&&(B=null),B||(B=(async()=>{let t=[],r=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let a=e?.config??n.Y();await i.w(a);let o=await et(),s=n.Za(),{join:c}=await import(`node:path`),l=o.discoverAuthStorage(s),u=new o.ModelRegistry(l,c(s,`models.json`)),d=Array.isArray(u)?u:u.getAll();for(let e of d){let n=String(e?.id??``).trim();if(!n)continue;let r=String(e?.provider??``).trim();if(!r)continue;let i=String(e?.name??n).trim()||n,a=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,o=typeof e?.reasoning==`boolean`?e.reasoning:void 0,s=Array.isArray(e?.input)?e.input:void 0;t.push({id:n,name:i,provider:r,contextWindow:a,reasoning:o,input:s})}return ot({config:a,models:t}),rt(t),t.length===0&&(B=null),r(t)}catch(e){return V||(V=!0,$e.warn(`Failed to load model catalog: ${String(e)}`)),B=null,t.length>0?r(t):[]}})(),B)}function G(e){return e?.input?.includes(`image`)??!1}function st(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}async function K(e){if(!e)return!1;try{return await p.default.stat(e),!0}catch{return!1}}function ct(e){let t=e.trim(),n=t.lastIndexOf(`{`);if(n===-1)return null;let r=t.slice(n);try{return JSON.parse(r)}catch{return null}}function lt(e){let t=ct(e);if(!t||typeof t!=`object`)return null;let n=t.response;return typeof n==`string`&&n.trim()||null}function ut(e){return Math.ceil(e/3)*4}function dt(e){let t=Math.floor(4/3*e);return Math.min(t,73400320)}function q(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))typeof r==`string`&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function J(e,t){let n=e.trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function ft(e){let t=e=>{let n=e.trim();if(!n)return null;let r=n[0];if(r!==`{`&&r!==`"`)return null;try{let e=JSON.parse(n);if(typeof e==`string`)return t(e);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`&&t.trim())return t.trim()}}catch{}return null},n=t(e);if(n)return n;let r=e.split(`
4
- `).map(e=>e.trim()).filter(Boolean);for(let e=r.length-1;e>=0;--e){let n=t(r[e]??``);if(n)return n}return null}function pt(e){return u.default.parse(e).name}function Y(e,t){for(let n=0;n<e.length;n+=1)if(t.includes(e[n]??``)){let t=e[n+1];if(t)return t}}function mt(e,t){return e.some(e=>t.includes(e))}function ht(e,t){let n=Y(e,[`--output_dir`,`-o`]),r=Y(e,[`--output_format`]);if(!n||!r||!r.split(`,`).map(e=>e.trim()).includes(`txt`))return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}function gt(e){if(!mt(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function _t(e,t){let n=Y(e,[`--output-dir`]),r=Y(e,[`--output-format`]);if(!n||r&&r!==`txt`)return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}async function vt(e){let t=pt(e.command),n=t===`whisper-cli`?gt(e.args):t===`whisper`?ht(e.args,e.mediaPath):t===`parakeet-mlx`?_t(e.args,e.mediaPath):null;if(n&&await K(n))try{let e=await p.default.readFile(n,`utf8`);if(e.trim())return e.trim()}catch{}if(t===`gemini`){let t=lt(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=ft(e.stdout);if(t)return t}return e.stdout.trim()}function yt(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function bt(e){if(!e)return;let t={};return typeof e.detectLanguage==`boolean`&&(t.detect_language=e.detectLanguage),typeof e.punctuate==`boolean`&&(t.punctuate=e.punctuate),typeof e.smartFormat==`boolean`&&(t.smart_format=e.smartFormat),Object.keys(t).length>0?t:void 0}function xt(e){let t={...e};return`detectLanguage`in t&&(t.detect_language=t.detectLanguage,delete t.detectLanguage),`smartFormat`in t&&(t.smart_format=t.smartFormat,delete t.smartFormat),t}function St(e){let{providerId:t,config:n,entry:r}=e,i=yt({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=xt(i??{}),o=bt({...n?.deepgram,...r.deepgram});for(let[e,t]of Object.entries(o??{}))a[e]===void 0&&(a[e]=t);return Object.keys(a).length>0?a:void 0}function X(e){if(e.entryType===`cli`){let t=e.entry.command?.trim();return{type:`cli`,provider:t??`cli`,model:e.entry.model??t,outcome:e.outcome,reason:e.reason}}let t=e.entry.provider?.trim();return{type:`provider`,provider:(t?A(t):void 0)??t,model:e.entry.model,outcome:e.outcome,reason:e.reason}}function Ct(e){let{capability:t,entry:n,cfg:r}=e,i=Ne({capability:t,entry:n,cfg:r,config:e.config}),a=Me({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:Ae(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,S[t]),prompt:je(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function wt(e){let t=await n.gn({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:s.t({provider:e.providerId,primaryApiKey:n.hn(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Tt(e){let{apiKeys:t,providerConfig:n}=await wt({providerId:e.providerId,cfg:e.cfg,entry:e.entry,agentDir:e.agentDir}),r=e.entry.baseUrl??e.config?.baseUrl??n?.baseUrl,i={...q(n?.headers),...q(e.config?.headers),...q(e.entry.headers)};return{apiKeys:t,baseUrl:r,headers:Object.keys(i).length>0?i:void 0}}function Et(e){let t=Array.isArray(e.attachments)?e.attachments:[],n=t.length,r=t.filter(e=>e?.chosen?.outcome===`success`).length,i=t.find(e=>e?.chosen)?.chosen,a=typeof i?.provider==`string`?i.provider.trim():void 0,o=typeof i?.model==`string`?i.model.trim():void 0,s=a?o?`${a}/${o}`:a:void 0,c=t.flatMap(e=>(Array.isArray(e?.attempts)?e.attempts:[]).map(e=>typeof e?.reason==`string`?e.reason:void 0).filter(e=>!!e)).find(e=>e.trim().length>0),l=c?c.split(`:`)[0]?.trim():void 0,u=n>0?` (${r}/${n})`:``,d=s?` via ${s}`:``,f=l?` reason=${l}`:``;return`${e.capability}: ${e.outcome}${u}${d}${f}`}function Dt(e){if(!(e.size>=1024))throw new z(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function Ot(e){let{entry:t,capability:n,cfg:r}=e,a=t.provider?.trim();if(!a)throw Error(`Provider entry missing provider for ${n}`);let o=A(a),{maxBytes:c,maxChars:u,timeoutMs:d,prompt:f}=Ct({capability:n,entry:t,cfg:r,config:e.config});if(n===`image`){if(!e.agentDir)throw Error(`Image understanding requires agentDir`);let n=t.model?.trim();if(!n)throw Error(`Image understanding requires model id`);let r=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),a=j(o,e.providerRegistry),s={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:o,prompt:f,timeoutMs:d,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},l=await(a?.describeImage??i.t)(s);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(l.text,u),provider:o,model:l.model??n}}let p=j(o,e.providerRegistry);if(!p)throw Error(`Media provider not available: ${o}`);let m=l.r();if(n===`audio`){if(!p.transcribeAudio)throw Error(`Audio transcription provider "${o}" not available.`);let n=p.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d});Dt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:a,baseUrl:l,headers:h}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),g=St({providerId:o,config:e.config,entry:t}),_=t.model?.trim()||te[o]||t.model,v=await s.n({provider:o,apiKeys:a,execute:async a=>n({buffer:i.buffer,fileName:i.fileName,mime:i.mime,apiKey:a,baseUrl:l,headers:h,model:_,language:t.language??e.config?.language??r.tools?.media?.audio?.language,prompt:f,query:g,timeoutMs:d,fetchFn:m})});return{kind:`audio.transcription`,attachmentIndex:e.attachmentIndex,text:J(v.text,u),provider:o,model:v.model??_}}if(!p.describeVideo)throw Error(`Video understanding provider "${o}" not available.`);let h=p.describeVideo,g=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),_=ut(g.size),v=dt(c);if(_>v)throw new z(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${_} exceeds ${v}`);let{apiKeys:y,baseUrl:b,headers:x}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),S=await s.n({provider:o,apiKeys:y,execute:e=>h({buffer:g.buffer,fileName:g.fileName,mime:g.mime,apiKey:e,baseUrl:b,headers:x,model:t.model,prompt:f,timeoutMs:d,fetchFn:m})});return{kind:`video.description`,attachmentIndex:e.attachmentIndex,text:J(S.text,u),provider:o,model:S.model??t.model}}async function kt(e){let{entry:t,capability:i,cfg:a,ctx:o}=e,s=t.command?.trim(),c=t.args??[];if(!s)throw Error(`CLI entry missing command for ${i}`);let{maxBytes:l,maxChars:d,timeoutMs:f,prompt:m}=Ct({capability:i,entry:t,cfg:a,config:e.config}),h=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:l,timeoutMs:f});i===`audio`&&Dt({size:(await p.default.stat(h.path)).size,attachmentIndex:e.attachmentIndex});let g=await p.default.mkdtemp(u.default.join(r.Z(),`openclaw-media-cli-`)),_=h.path,y=u.default.join(g,u.default.parse(_).name),b={...o,MediaPath:_,MediaDir:u.default.dirname(_),OutputDir:g,OutputBase:y,Prompt:m,MaxChars:d},x=[s,...c].map((e,t)=>t===0?e:v(e,b));try{r.B()&&r.R(`Media understanding via CLI: ${x.join(` `)}`);let{stdout:t}=await n.Ba(x[0],x.slice(1),{timeoutMs:f,maxBuffer:ae}),a=J(await vt({command:s,args:x.slice(1),stdout:t,mediaPath:_}),d);return a?{kind:i===`audio`?`audio.transcription`:`${i}.description`,attachmentIndex:e.attachmentIndex,text:a,provider:`cli`,model:s}:null}finally{await p.default.rm(g,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return De(e)}function At(e){return ze(e)}function jt(e){return n.lt(c.n(),n.ut({cfg:e.cfg,accountId:e.ctx.AccountId}))}function Mt(e,t){return new Qe(e,t)}const Nt=new Map,Pt=new Map;function Ft(e){if(!e.startsWith(`~`))return e;let t=f.default.homedir();return e===`~`?t:e.startsWith(`~/`)?u.default.join(t,e.slice(2)):e}function It(e){return e.includes(`/`)||e.includes(`\\`)}function Lt(e){if(process.platform!==`win32`||u.default.extname(e))return[e];let t=(process.env.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.trim()).filter(Boolean).map(e=>e.startsWith(`.`)?e:`.${e}`);return[e,...Array.from(new Set(t)).map(t=>`${e}${t}`)]}async function Rt(e){try{return(await p.default.stat(e)).isFile()?(process.platform===`win32`||await p.default.access(e,d.constants.X_OK),!0):!1}catch{return!1}}async function zt(e){let t=Nt.get(e);if(t)return t;let n=(async()=>{let t=Ft(e.trim());if(t&&It(t)){for(let e of Lt(t))if(await Rt(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(u.default.delimiter),i=Lt(n);for(let e of r){let t=Ft(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=u.default.join(t,e);if(await Rt(n))return n}}return null})();return Nt.set(e,n),n}async function Q(e){return!!await zt(e)}async function Bt(){let e=Pt.get(`gemini`);if(e)return e;let t=(async()=>{if(!await Q(`gemini`))return!1;try{let{stdout:e}=await n.Ba(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(lt(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return Pt.set(`gemini`,t),t}async function Vt(){if(!await Q(`whisper-cli`))return null;let e=process.env.WHISPER_CPP_MODEL?.trim(),t=e&&await K(e)?e:`/opt/homebrew/share/whisper-cpp/for-tests-ggml-tiny.bin`;return await K(t)?{type:`cli`,command:`whisper-cli`,args:[`-m`,t,`-otxt`,`-of`,`{{OutputBase}}`,`-np`,`-nt`,`{{MediaPath}}`]}:null}async function Ht(){return await Q(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function Ut(){if(!await Q(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=u.default.join(e,`tokens.txt`),n=u.default.join(e,`encoder.onnx`),r=u.default.join(e,`decoder.onnx`),i=u.default.join(e,`joiner.onnx`);return!await K(t)||!await K(n)||!await K(r)||!await K(i)?null:{type:`cli`,command:`sherpa-onnx-offline`,args:[`--tokens=${t}`,`--encoder=${n}`,`--decoder=${r}`,`--joiner=${i}`,`{{MediaPath}}`]}}async function Wt(){return await Ut()||await Vt()||await Ht()}async function Gt(e){return await Bt()?{type:`cli`,command:`gemini`,args:[`--output-format`,`json`,`--allowed-tools`,`read_many_files`,`--include-directories`,`{{MediaDir}}`,`{{Prompt}}`,`Use read_many_files to read {{MediaPath}} and respond with only the text output.`]}:null}async function Kt(e){let{cfg:t,agentDir:r,providerRegistry:i,capability:a}=e,o=async(e,o)=>{let s=j(e,i);if(!s||a===`audio`&&!s.transcribeAudio||a===`image`&&!s.describeImage||a===`video`&&!s.describeVideo)return null;try{return await n.gn({provider:e,cfg:t,agentDir:r}),{type:`provider`,provider:e,model:o}}catch{return null}};if(a===`image`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of re){let t=C[e],n=await o(e,t);if(n)return n}return null}if(a===`video`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of ie){let t=await o(e,void 0);if(t)return t}return null}let s=e.activeModel?.provider?.trim();if(s){let t=await o(s,e.activeModel?.model);if(t)return t}for(let e of ne){let t=await o(e,void 0);if(t)return t}return null}function qt(e){let n=[],r=t.vt(e.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of t._t(e.agents?.defaults?.imageModel))r?.trim()&&n.push(r.trim());if(n.length===0)return[];let i=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||i.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return i}async function Jt(e){let t=await Xt(e);if(t)return[t];if(e.capability===`audio`){let e=await Wt();if(e)return[e]}if(e.capability===`image`){let t=qt(e.cfg);if(t.length>0)return t}let n=await Gt(e.capability);if(n)return[n];let r=await Kt(e);return r?[r]:[]}async function Yt(e){let t=Z(),n=e=>{if(!e||e.type===`cli`)return null;let t=e.provider;if(!t)return null;let n=e.model??C[t];return n?{provider:t,model:n}:null};return n(await Xt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await Kt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function Xt(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let r=A(t);if(!r)return null;let i=j(r,e.providerRegistry);if(!i||e.capability===`audio`&&!i.transcribeAudio||e.capability===`image`&&!i.describeImage||e.capability===`video`&&!i.describeVideo)return null;try{await n.gn({provider:r,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:r,model:e.activeModel?.model}}async function Zt(e){let{entries:t,capability:n}=e,i=[];for(let a of t){let t=a.type??(a.command?`cli`:`provider`);try{let r=t===`cli`?await kt({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Ot({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(r){let e=X({entry:a,entryType:t,outcome:`success`});return r.provider&&(e.provider=r.provider),r.model&&(e.model=r.model),i.push(e),{output:r,attempts:i}}i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(Ye(e)){i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),r.B()&&r.R(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}i.push(X({entry:a,entryType:t,outcome:`failed`,reason:String(e)})),r.B()&&r.R(`${n} understanding failed: ${String(e)}`)}}return{output:null,attempts:i}}async function $(e){let{capability:t,cfg:n,ctx:i}=e,a=e.config??n.tools?.media?.[t];if(a?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let o=a?.attachments,s=Ue({capability:t,attachments:e.media,policy:o});if(s.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Pe({scope:a?.scope,ctx:i})===`deny`)return r.B()&&r.R(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let c=e.activeModel?.provider?.trim();if(t===`image`&&c&&G(st(await W({config:n}),c,e.activeModel?.model??``))){r.B()&&r.R(`Skipping image understanding: primary model supports vision natively`);let n=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>{let t={type:`provider`,provider:c,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let l=Ie({cfg:n,capability:t,config:a,providerRegistry:e.providerRegistry});if(l.length===0&&(l=await Jt({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),l.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let u=[],d=[];for(let r of s){let{output:o,attempts:s}=await Zt({capability:t,cfg:n,ctx:i,attachmentIndex:r.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:l,config:a});o&&u.push(o),d.push({attachmentIndex:r.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let f={capability:t,outcome:u.length>0?`success`:`skipped`,attachments:d};return r.B()&&r.R(`Media understanding ${Et(f)}`),{outputs:u,decision:f}}async function Qt(e){let t=e.attachments??At(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=Mt(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await $({capability:`audio`,cfg:e.cfg,ctx:e.ctx,attachments:r,media:t,agentDir:e.agentDir,providerRegistry:n,config:e.cfg.tools?.media?.audio,activeModel:e.activeModel})).outputs.find(e=>e.kind===`audio.transcription`)?.text?.trim()||void 0,attachments:t}}finally{await r.cleanup()}}Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return N}});
4
+ `).map(e=>e.trim()).filter(Boolean);for(let e=r.length-1;e>=0;--e){let n=t(r[e]??``);if(n)return n}return null}function pt(e){return u.default.parse(e).name}function Y(e,t){for(let n=0;n<e.length;n+=1)if(t.includes(e[n]??``)){let t=e[n+1];if(t)return t}}function mt(e,t){return e.some(e=>t.includes(e))}function ht(e,t){let n=Y(e,[`--output_dir`,`-o`]),r=Y(e,[`--output_format`]);if(!n||!r||!r.split(`,`).map(e=>e.trim()).includes(`txt`))return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}function gt(e){if(!mt(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function _t(e,t){let n=Y(e,[`--output-dir`]),r=Y(e,[`--output-format`]);if(!n||r&&r!==`txt`)return null;let i=u.default.parse(t).name;return u.default.join(n,`${i}.txt`)}async function vt(e){let t=pt(e.command),n=t===`whisper-cli`?gt(e.args):t===`whisper`?ht(e.args,e.mediaPath):t===`parakeet-mlx`?_t(e.args,e.mediaPath):null;if(n&&await K(n))try{let e=await p.default.readFile(n,`utf8`);if(e.trim())return e.trim()}catch{}if(t===`gemini`){let t=lt(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=ft(e.stdout);if(t)return t}return e.stdout.trim()}function yt(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function bt(e){if(!e)return;let t={};return typeof e.detectLanguage==`boolean`&&(t.detect_language=e.detectLanguage),typeof e.punctuate==`boolean`&&(t.punctuate=e.punctuate),typeof e.smartFormat==`boolean`&&(t.smart_format=e.smartFormat),Object.keys(t).length>0?t:void 0}function xt(e){let t={...e};return`detectLanguage`in t&&(t.detect_language=t.detectLanguage,delete t.detectLanguage),`smartFormat`in t&&(t.smart_format=t.smartFormat,delete t.smartFormat),t}function St(e){let{providerId:t,config:n,entry:r}=e,i=yt({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=xt(i??{}),o=bt({...n?.deepgram,...r.deepgram});for(let[e,t]of Object.entries(o??{}))a[e]===void 0&&(a[e]=t);return Object.keys(a).length>0?a:void 0}function X(e){if(e.entryType===`cli`){let t=e.entry.command?.trim();return{type:`cli`,provider:t??`cli`,model:e.entry.model??t,outcome:e.outcome,reason:e.reason}}let t=e.entry.provider?.trim();return{type:`provider`,provider:(t?A(t):void 0)??t,model:e.entry.model,outcome:e.outcome,reason:e.reason}}function Ct(e){let{capability:t,entry:n,cfg:r}=e,i=Ne({capability:t,entry:n,cfg:r,config:e.config}),a=Me({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:Ae(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,S[t]),prompt:je(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function wt(e){let t=await n.gn({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:s.t({provider:e.providerId,primaryApiKey:n.hn(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Tt(e){let{apiKeys:t,providerConfig:n}=await wt({providerId:e.providerId,cfg:e.cfg,entry:e.entry,agentDir:e.agentDir}),r=e.entry.baseUrl??e.config?.baseUrl??n?.baseUrl,i={...q(n?.headers),...q(e.config?.headers),...q(e.entry.headers)};return{apiKeys:t,baseUrl:r,headers:Object.keys(i).length>0?i:void 0}}function Et(e){let t=Array.isArray(e.attachments)?e.attachments:[],n=t.length,r=t.filter(e=>e?.chosen?.outcome===`success`).length,i=t.find(e=>e?.chosen)?.chosen,a=typeof i?.provider==`string`?i.provider.trim():void 0,o=typeof i?.model==`string`?i.model.trim():void 0,s=a?o?`${a}/${o}`:a:void 0,c=t.flatMap(e=>(Array.isArray(e?.attempts)?e.attempts:[]).map(e=>typeof e?.reason==`string`?e.reason:void 0).filter(e=>!!e)).find(e=>e.trim().length>0),l=c?c.split(`:`)[0]?.trim():void 0,u=n>0?` (${r}/${n})`:``,d=s?` via ${s}`:``,f=l?` reason=${l}`:``;return`${e.capability}: ${e.outcome}${u}${d}${f}`}function Dt(e){if(!(e.size>=1024))throw new z(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function Ot(e){let{entry:t,capability:n,cfg:r}=e,a=t.provider?.trim();if(!a)throw Error(`Provider entry missing provider for ${n}`);let o=A(a),{maxBytes:c,maxChars:u,timeoutMs:d,prompt:f}=Ct({capability:n,entry:t,cfg:r,config:e.config});if(n===`image`){if(!e.agentDir)throw Error(`Image understanding requires agentDir`);let n=t.model?.trim();if(!n)throw Error(`Image understanding requires model id`);let r=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),a=j(o,e.providerRegistry),s={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:o,prompt:f,timeoutMs:d,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},l=await(a?.describeImage??i.t)(s);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(l.text,u),provider:o,model:l.model??n}}let p=j(o,e.providerRegistry);if(!p)throw Error(`Media provider not available: ${o}`);let m=l.r();if(n===`audio`){if(!p.transcribeAudio)throw Error(`Audio transcription provider "${o}" not available.`);let n=p.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d});Dt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:a,baseUrl:l,headers:h}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),g=St({providerId:o,config:e.config,entry:t}),_=t.model?.trim()||te[o]||t.model,v=await s.n({provider:o,apiKeys:a,execute:async a=>n({buffer:i.buffer,fileName:i.fileName,mime:i.mime,apiKey:a,baseUrl:l,headers:h,model:_,language:t.language??e.config?.language??r.tools?.media?.audio?.language,prompt:f,query:g,timeoutMs:d,fetchFn:m})});return{kind:`audio.transcription`,attachmentIndex:e.attachmentIndex,text:J(v.text,u),provider:o,model:v.model??_}}if(!p.describeVideo)throw Error(`Video understanding provider "${o}" not available.`);let h=p.describeVideo,g=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:c,timeoutMs:d}),_=ut(g.size),v=dt(c);if(_>v)throw new z(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${_} exceeds ${v}`);let{apiKeys:y,baseUrl:b,headers:x}=await Tt({providerId:o,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),S=await s.n({provider:o,apiKeys:y,execute:e=>h({buffer:g.buffer,fileName:g.fileName,mime:g.mime,apiKey:e,baseUrl:b,headers:x,model:t.model,prompt:f,timeoutMs:d,fetchFn:m})});return{kind:`video.description`,attachmentIndex:e.attachmentIndex,text:J(S.text,u),provider:o,model:S.model??t.model}}async function kt(e){let{entry:t,capability:i,cfg:a,ctx:o}=e,s=t.command?.trim(),c=t.args??[];if(!s)throw Error(`CLI entry missing command for ${i}`);let{maxBytes:l,maxChars:d,timeoutMs:f,prompt:m}=Ct({capability:i,entry:t,cfg:a,config:e.config}),h=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:l,timeoutMs:f});i===`audio`&&Dt({size:(await p.default.stat(h.path)).size,attachmentIndex:e.attachmentIndex});let g=await p.default.mkdtemp(u.default.join(r.Z(),`openclaw-media-cli-`)),_=h.path,y=u.default.join(g,u.default.parse(_).name),b={...o,MediaPath:_,MediaDir:u.default.dirname(_),OutputDir:g,OutputBase:y,Prompt:m,MaxChars:d},x=[s,...c].map((e,t)=>t===0?e:v(e,b));try{r.B()&&r.R(`Media understanding via CLI: ${x.join(` `)}`);let{stdout:t}=await n.Ba(x[0],x.slice(1),{timeoutMs:f,maxBuffer:ae}),a=J(await vt({command:s,args:x.slice(1),stdout:t,mediaPath:_}),d);return a?{kind:i===`audio`?`audio.transcription`:`${i}.description`,attachmentIndex:e.attachmentIndex,text:a,provider:`cli`,model:s}:null}finally{await p.default.rm(g,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return De(e)}function At(e){return ze(e)}function jt(e){return n.lt(c.n(),n.ut({cfg:e.cfg,accountId:e.ctx.AccountId}))}function Mt(e,t){return new Qe(e,t)}const Nt=new Map,Pt=new Map;function Ft(e){if(!e.startsWith(`~`))return e;let t=f.default.homedir();return e===`~`?t:e.startsWith(`~/`)?u.default.join(t,e.slice(2)):e}function It(e){return e.includes(`/`)||e.includes(`\\`)}function Lt(e){if(process.platform!==`win32`||u.default.extname(e))return[e];let t=(process.env.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.trim()).filter(Boolean).map(e=>e.startsWith(`.`)?e:`.${e}`);return[e,...Array.from(new Set(t)).map(t=>`${e}${t}`)]}async function Rt(e){try{return(await p.default.stat(e)).isFile()?(process.platform===`win32`||await p.default.access(e,d.constants.X_OK),!0):!1}catch{return!1}}async function zt(e){let t=Nt.get(e);if(t)return t;let n=(async()=>{let t=Ft(e.trim());if(t&&It(t)){for(let e of Lt(t))if(await Rt(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(u.default.delimiter),i=Lt(n);for(let e of r){let t=Ft(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=u.default.join(t,e);if(await Rt(n))return n}}return null})();return Nt.set(e,n),n}async function Q(e){return!!await zt(e)}async function Bt(){let e=Pt.get(`gemini`);if(e)return e;let t=(async()=>{if(!await Q(`gemini`))return!1;try{let{stdout:e}=await n.Ba(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(lt(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return Pt.set(`gemini`,t),t}async function Vt(){if(!await Q(`whisper-cli`))return null;let e=process.env.WHISPER_CPP_MODEL?.trim(),t=e&&await K(e)?e:`/opt/homebrew/share/whisper-cpp/for-tests-ggml-tiny.bin`;return await K(t)?{type:`cli`,command:`whisper-cli`,args:[`-m`,t,`-otxt`,`-of`,`{{OutputBase}}`,`-np`,`-nt`,`{{MediaPath}}`]}:null}async function Ht(){return await Q(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function Ut(){if(!await Q(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=u.default.join(e,`tokens.txt`),n=u.default.join(e,`encoder.onnx`),r=u.default.join(e,`decoder.onnx`),i=u.default.join(e,`joiner.onnx`);return!await K(t)||!await K(n)||!await K(r)||!await K(i)?null:{type:`cli`,command:`sherpa-onnx-offline`,args:[`--tokens=${t}`,`--encoder=${n}`,`--decoder=${r}`,`--joiner=${i}`,`{{MediaPath}}`]}}async function Wt(){return await Ut()||await Vt()||await Ht()}async function Gt(e){return await Bt()?{type:`cli`,command:`gemini`,args:[`--output-format`,`json`,`--allowed-tools`,`read_many_files`,`--include-directories`,`{{MediaDir}}`,`{{Prompt}}`,`Use read_many_files to read {{MediaPath}} and respond with only the text output.`]}:null}async function Kt(e){let{cfg:t,agentDir:r,providerRegistry:i,capability:a}=e,o=async(e,o)=>{let s=j(e,i);if(!s||a===`audio`&&!s.transcribeAudio||a===`image`&&!s.describeImage||a===`video`&&!s.describeVideo)return null;try{return await n.gn({provider:e,cfg:t,agentDir:r}),{type:`provider`,provider:e,model:o}}catch{return null}};if(a===`image`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of re){let t=C[e],n=await o(e,t);if(n)return n}return null}if(a===`video`){let t=e.activeModel?.provider?.trim();if(t){let n=await o(t,e.activeModel?.model);if(n)return n}for(let e of ie){let t=await o(e,void 0);if(t)return t}return null}let s=e.activeModel?.provider?.trim();if(s){let t=await o(s,e.activeModel?.model);if(t)return t}for(let e of ne){let t=await o(e,void 0);if(t)return t}return null}function qt(e){let n=[],r=t.vt(e.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of t._t(e.agents?.defaults?.imageModel))r?.trim()&&n.push(r.trim());if(n.length===0)return[];let i=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||i.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return i}async function Jt(e){let t=await Xt(e);if(t)return[t];if(e.capability===`audio`){let e=await Wt();if(e)return[e]}if(e.capability===`image`){let t=qt(e.cfg);if(t.length>0)return t}let n=await Gt(e.capability);if(n)return[n];let r=await Kt(e);return r?[r]:[]}async function Yt(e){let t=Z(),n=e=>{if(!e||e.type===`cli`)return null;let t=e.provider;if(!t)return null;let n=e.model??C[t];return n?{provider:t,model:n}:null};return n(await Xt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await Kt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function Xt(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let r=A(t);if(!r)return null;let i=j(r,e.providerRegistry);if(!i||e.capability===`audio`&&!i.transcribeAudio||e.capability===`image`&&!i.describeImage||e.capability===`video`&&!i.describeVideo)return null;try{await n.gn({provider:r,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:r,model:e.activeModel?.model}}async function Zt(e){let{entries:t,capability:n}=e,i=[];for(let a of t){let t=a.type??(a.command?`cli`:`provider`);try{let r=t===`cli`?await kt({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Ot({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(r){let e=X({entry:a,entryType:t,outcome:`success`});return r.provider&&(e.provider=r.provider),r.model&&(e.model=r.model),i.push(e),{output:r,attempts:i}}i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(Ye(e)){i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),r.B()&&r.R(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}i.push(X({entry:a,entryType:t,outcome:`failed`,reason:String(e)})),r.B()&&r.R(`${n} understanding failed: ${String(e)}`)}}return{output:null,attempts:i}}async function $(e){let{capability:t,cfg:n,ctx:i}=e,a=e.config??n.tools?.media?.[t];if(a?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let o=a?.attachments,s=Ue({capability:t,attachments:e.media,policy:o});if(s.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Pe({scope:a?.scope,ctx:i})===`deny`)return r.B()&&r.R(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let c=e.activeModel?.provider?.trim();if(t===`image`&&c&&G(st(await W({config:n}),c,e.activeModel?.model??``))){r.B()&&r.R(`Skipping image understanding: primary model supports vision natively`);let n=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>{let t={type:`provider`,provider:c,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let l=Ie({cfg:n,capability:t,config:a,providerRegistry:e.providerRegistry});if(l.length===0&&(l=await Jt({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),l.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let u=[],d=[];for(let r of s){let{output:o,attempts:s}=await Zt({capability:t,cfg:n,ctx:i,attachmentIndex:r.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:l,config:a});o&&u.push(o),d.push({attachmentIndex:r.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let f={capability:t,outcome:u.length>0?`success`:`skipped`,attachments:d};return r.B()&&r.R(`Media understanding ${Et(f)}`),{outputs:u,decision:f}}async function Qt(e){let t=e.attachments??At(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=Mt(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await $({capability:`audio`,cfg:e.cfg,ctx:e.ctx,attachments:r,media:t,agentDir:e.agentDir,providerRegistry:n,config:e.cfg.tools?.media?.audio,activeModel:e.activeModel})).outputs.find(e=>e.kind===`audio.transcription`)?.text?.trim()||void 0,attachments:t}}finally{await r.cleanup()}}Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return N}});
@@ -1,4 +1,4 @@
1
1
  import{_t as e,f as t,g as n,m as r,u as i,vt as a}from"./paths-cBAF6Bj0.js";import{Y as o,ct as s,dn as c,gn as l,hn as u,in as d,is as f,lt as p,qa as m,st as h,ut as g,za as _}from"./sessions-BwTjGneU.js";import{B as v,O as y,R as b,Z as ee}from"./logger-vBDTZWl3.js";import{t as x,w as te}from"./image-CKLAyhco.js";import{n as ne}from"./fetch-timeout-CLw1U7VS.js";import{t as re}from"./fetch-guard-DPVfELS7.js";import{n as ie,r as ae,t as oe}from"./api-key-rotation-CxaiMcI1.js";import{i as se,n as ce,r as le}from"./local-roots-H4-t0qG_.js";import{r as ue}from"./proxy-fetch-CYVChsKE.js";import S from"node:path";import{constants as de}from"node:fs";import fe from"node:os";import C from"node:fs/promises";import{fileURLToPath as pe}from"node:url";import me from"node:crypto";import"node:process";function he(e){return e==null?``:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):typeof e==`symbol`||typeof e==`function`?e.toString():Array.isArray(e)?e.flatMap(e=>e==null?[]:typeof e==`string`?[e]:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?[String(e)]:[]).join(`,`):``}function ge(e,t){return e?e.replace(/{{\s*(\w+)\s*}}/g,(e,n)=>{let r=t[n];return he(r)}):``}const w=1024*1024,_e={image:500,audio:void 0,video:500},ve={image:10*w,audio:20*w,video:50*w},ye={image:60,audio:60,video:120},be={image:`Describe the image.`,audio:`Transcribe the audio.`,video:`Describe the video.`};70*w;const xe={groq:`whisper-large-v3-turbo`,openai:`gpt-4o-mini-transcribe`,deepgram:`nova-3`,mistral:`voxtral-mini-latest`},Se=[`openai`,`groq`,`deepgram`,`google`,`mistral`],Ce=[`openai`,`anthropic`,`google`,`minimax`,`minimax-portal`,`zai`],we=[`google`,`moonshot`],T={openai:`gpt-5-mini`,anthropic:`claude-opus-4-6`,google:`gemini-3-flash-preview`,minimax:`MiniMax-VL-01`,"minimax-portal":`MiniMax-VL-01`,zai:`glm-4.6v`},Te=5*w,Ee={id:`anthropic`,capabilities:[`image`],describeImage:x};function E(e,t){return(e?.trim()||t).replace(/\/+$/,``)}async function D(e,t,n,r,i){return await re({url:e,fetchImpl:r,init:t,timeoutMs:n,policy:i?.ssrfPolicy,lookupFn:i?.lookupFn,pinDns:i?.pinDns})}async function O(e){return D(e.url,{method:`POST`,headers:e.headers,body:e.body},e.timeoutMs,e.fetchFn,e.allowPrivateNetwork?{ssrfPolicy:{allowPrivateNetwork:!0}}:void 0)}async function k(e){return D(e.url,{method:`POST`,headers:e.headers,body:JSON.stringify(e.body)},e.timeoutMs,e.fetchFn,e.allowPrivateNetwork?{ssrfPolicy:{allowPrivateNetwork:!0}}:void 0)}async function De(e){try{let t=(await e.text()).replace(/\s+/g,` `).trim();return t?t.length<=300?t:`${t.slice(0,300)}…`:void 0}catch{return}}async function A(e,t){if(e.ok)return;let n=await De(e),r=n?`: ${n}`:``;throw Error(`${t} (HTTP ${e.status})${r}`)}function Oe(e,t){let n=e?.trim();if(!n)throw Error(t);return n}function ke(e){return e?.trim()||`nova-3`}async function Ae(e){let t=e.fetchFn??fetch,n=E(e.baseUrl,`https://api.deepgram.com/v1`),r=!!e.baseUrl?.trim(),i=ke(e.model),a=new URL(`${n}/listen`);if(a.searchParams.set(`model`,i),e.language?.trim()&&a.searchParams.set(`language`,e.language.trim()),e.query)for(let[t,n]of Object.entries(e.query))n!==void 0&&a.searchParams.set(t,String(n));let o=new Headers(e.headers);o.has(`authorization`)||o.set(`authorization`,`Token ${e.apiKey}`),o.has(`content-type`)||o.set(`content-type`,e.mime??`application/octet-stream`);let s=new Uint8Array(e.buffer),{response:c,release:l}=await O({url:a.toString(),headers:o,body:s,timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{return await A(c,`Audio transcription failed`),{text:Oe((await c.json()).results?.channels?.[0]?.alternatives?.[0]?.transcript,`Audio transcription response missing transcript`),model:i}}finally{await l()}}const je={id:`deepgram`,capabilities:[`audio`],transcribeAudio:Ae};async function Me(e){let t=e.fetchFn??fetch,n=E(e.baseUrl,e.defaultBaseUrl),r=!!e.baseUrl?.trim(),i=(()=>{let t=e.model?.trim();return t?c(t):e.defaultModel})(),a=`${n}/models/${i}:generateContent`,o=ae(e.apiKey),s=new Headers(e.headers);for(let[e,t]of Object.entries(o.headers))s.has(e)||s.set(e,t);let{response:l,release:u}=await k({url:a,headers:s,body:{contents:[{role:`user`,parts:[{text:e.prompt?.trim()||e.defaultPrompt},{inline_data:{mime_type:e.mime??e.defaultMime,data:e.buffer.toString(`base64`)}}]}]},timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{await A(l,e.httpErrorLabel);let t=((await l.json()).candidates?.[0]?.content?.parts??[]).map(e=>e?.text?.trim()).filter(Boolean).join(`
2
2
  `);if(!t)throw Error(e.missingTextError);return{text:t,model:i}}finally{await u()}}async function Ne(e){let{text:t,model:n}=await Me({...e,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta`,defaultModel:`gemini-3-flash-preview`,defaultPrompt:`Transcribe the audio.`,defaultMime:`audio/wav`,httpErrorLabel:`Audio transcription failed`,missingTextError:`Audio transcription response missing text`});return{text:t,model:n}}async function Pe(e){let{text:t,model:n}=await Me({...e,defaultBaseUrl:`https://generativelanguage.googleapis.com/v1beta`,defaultModel:`gemini-3-flash-preview`,defaultPrompt:`Describe the video.`,defaultMime:`video/mp4`,httpErrorLabel:`Video description failed`,missingTextError:`Video description response missing text`});return{text:t,model:n}}const Fe={id:`google`,capabilities:[`image`,`audio`,`video`],describeImage:x,transcribeAudio:Ne,describeVideo:Pe};function Ie(e){return e?.trim()||`gpt-4o-mini-transcribe`}async function j(e){let t=e.fetchFn??fetch,n=E(e.baseUrl,`https://api.openai.com/v1`),r=!!e.baseUrl?.trim(),i=`${n}/audio/transcriptions`,a=Ie(e.model),o=new FormData,s=e.fileName?.trim()||S.basename(e.fileName)||`audio`,c=new Uint8Array(e.buffer),l=new Blob([c],{type:e.mime??`application/octet-stream`});o.append(`file`,l,s),o.append(`model`,a),e.language?.trim()&&o.append(`language`,e.language.trim()),e.prompt?.trim()&&o.append(`prompt`,e.prompt.trim());let u=new Headers(e.headers);u.has(`authorization`)||u.set(`authorization`,`Bearer ${e.apiKey}`);let{response:d,release:f}=await O({url:i,headers:u,body:o,timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{return await A(d,`Audio transcription failed`),{text:Oe((await d.json()).text,`Audio transcription response missing text`),model:a}}finally{await f()}}const Le={id:`groq`,capabilities:[`audio`],transcribeAudio:e=>j({...e,baseUrl:e.baseUrl??`https://api.groq.com/openai/v1`})},Re={id:`minimax`,capabilities:[`image`],describeImage:x},ze={id:`minimax-portal`,capabilities:[`image`],describeImage:x},Be={id:`mistral`,capabilities:[`audio`],transcribeAudio:e=>j({...e,baseUrl:e.baseUrl??`https://api.mistral.ai/v1`})};function Ve(e){return e?.trim()||`kimi-k2.5`}function He(e){return e?.trim()||`Describe the video.`}function Ue(e){let t=e.choices?.[0]?.message;if(!t)return null;if(typeof t.content==`string`&&t.content.trim())return t.content.trim();if(Array.isArray(t.content)){let e=t.content.map(e=>typeof e.text==`string`?e.text.trim():``).filter(Boolean).join(`
3
3
  `).trim();if(e)return e}return typeof t.reasoning_content==`string`&&t.reasoning_content.trim()?t.reasoning_content.trim():null}async function We(e){let t=e.fetchFn??fetch,n=E(e.baseUrl,`https://api.moonshot.ai/v1`),r=Ve(e.model),i=e.mime??`video/mp4`,a=He(e.prompt),o=`${n}/chat/completions`,s=new Headers(e.headers);s.has(`content-type`)||s.set(`content-type`,`application/json`),s.has(`authorization`)||s.set(`authorization`,`Bearer ${e.apiKey}`);let{response:c,release:l}=await k({url:o,headers:s,body:{model:r,messages:[{role:`user`,content:[{type:`text`,text:a},{type:`video_url`,video_url:{url:`data:${i};base64,${e.buffer.toString(`base64`)}`}}]}]},timeoutMs:e.timeoutMs,fetchFn:t});try{await A(c,`Moonshot video description failed`);let e=Ue(await c.json());if(!e)throw Error(`Moonshot video description response missing content`);return{text:e,model:r}}finally{await l()}}const Ge=[Le,{id:`openai`,capabilities:[`image`,`audio`],describeImage:x,transcribeAudio:j},Fe,Ee,Re,ze,{id:`moonshot`,capabilities:[`image`,`video`],describeImage:x,describeVideo:We},Be,{id:`zai`,capabilities:[`image`],describeImage:x},je];function M(e){let t=d(e);return t===`gemini`?`google`:t}function Ke(e){let t=new Map;for(let e of Ge)t.set(M(e.id),e);if(e)for(let[n,r]of Object.entries(e)){let e=M(n),i=t.get(e),a=i?{...i,...r,capabilities:r.capabilities??i.capabilities}:r;t.set(e,a)}return t}function N(e,t){return t.get(M(e))}function qe(e){let t=e?.trim().toLowerCase();if(t===`allow`)return`allow`;if(t===`deny`)return`deny`}function P(e){return e?.trim().toLowerCase()||void 0}function F(e){return f(e??void 0)}function Je(e){let t=e.scope;if(!t)return`allow`;let n=P(e.channel),r=F(e.chatType),i=P(e.sessionKey)??``;for(let e of t.rules??[]){if(!e)continue;let t=qe(e.action)??`allow`,a=e.match??{},o=P(a.channel),s=F(a.chatType),c=P(a.keyPrefix);if(!(o&&o!==n)&&!(s&&s!==r)&&!(c&&!i.startsWith(c)))return t}return qe(t.default)??`allow`}function I(e,t){let n=typeof e==`number`&&Number.isFinite(e)?e:t;return Math.max(1e3,Math.floor(n*1e3))}function Ye(e,t,n){let r=t?.trim()||be[e];return!n||e===`audio`?r:`${r} Respond in at most ${n} characters.`}function Xe(e){let{capability:t,entry:n,cfg:r}=e,i=n.maxChars??e.config?.maxChars??r.tools?.media?.[t]?.maxChars;return typeof i==`number`?i:_e[t]}function Ze(e){let t=e.entry.maxBytes??e.config?.maxBytes??e.cfg.tools?.media?.[e.capability]?.maxBytes;return typeof t==`number`?t:ve[e.capability]}function Qe(e){return Je({scope:e.scope,sessionKey:e.ctx.SessionKey,channel:e.ctx.Surface??e.ctx.Provider,chatType:F(e.ctx.ChatType)})}function $e(e){if((e.entry.type??(e.entry.command?`cli`:`provider`))===`cli`)return;let t=M(e.entry.provider??``);if(t)return e.providerRegistry.get(t)?.capabilities}function et(e){let{cfg:t,capability:n,config:r}=e,i=t.tools?.media?.models??[],a=[...(r?.models??[]).map(e=>({entry:e,source:`capability`})),...i.map(e=>({entry:e,source:`shared`}))];return a.length===0?[]:a.filter(({entry:t,source:r})=>{let i=t.capabilities&&t.capabilities.length>0?t.capabilities:r===`shared`?$e({entry:t,providerRegistry:e.providerRegistry}):void 0;return!i||i.length===0?r===`shared`?(v()&&b(`Skipping shared media model without capabilities: ${t.provider??t.command??`unknown`}`),!1):!0:i.includes(n)}).map(({entry:e})=>e)}function tt(e){let t=e.tools?.media?.concurrency;return typeof t==`number`&&Number.isFinite(t)&&t>0?Math.floor(t):2}function L(e){let t=e?.trim();if(t){if(t.startsWith(`file://`))try{return pe(t)}catch{return}return t}}function R(e){let t=Array.isArray(e.MediaPaths)?e.MediaPaths:void 0,n=Array.isArray(e.MediaUrls)?e.MediaUrls:void 0,r=Array.isArray(e.MediaTypes)?e.MediaTypes:void 0,i=(t,n)=>{let i=r?.[n];return(typeof i==`string`?i.trim():``)||(t===1?e.MediaType:void 0)};if(t&&t.length>0){let r=t.length,a=n&&n.length>0?n:void 0;return t.map((t,n)=>({path:t?.trim()||void 0,url:a?.[n]??e.MediaUrl,mime:i(r,n),index:n})).filter(e=>!!(e.path?.trim()||e.url?.trim()))}if(n&&n.length>0){let e=n.length;return n.map((t,n)=>({path:void 0,url:t?.trim()||void 0,mime:i(e,n),index:n})).filter(e=>!!e.url?.trim())}let a=e.MediaPath?.trim(),o=e.MediaUrl?.trim();return!a&&!o?[]:[{path:a||void 0,url:o||void 0,mime:e.MediaType,index:0}]}function z(e){let i=n(e.mime);if(i===`image`||i===`audio`||i===`video`)return i;let a=t(e.path??e.url);return a?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(a)?`video`:r(e.path??e.url)?`audio`:[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.bmp`,`.tiff`,`.tif`].includes(a)?`image`:`unknown`:`unknown`}function nt(e){return z(e)===`video`}function B(e){return z(e)===`audio`}function rt(e){return z(e)===`image`}function it(e,t){let n=Array.isArray(e)?e.filter(V):[];if(!t||t===`first`)return n;if(t===`last`)return[...n].toReversed();if(t===`path`){let e=n.filter(e=>e.path),t=n.filter(e=>!e.path);return[...e,...t]}if(t===`url`){let e=n.filter(e=>e.url),t=n.filter(e=>!e.url);return[...e,...t]}return n}function V(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.index!=`number`||t.path!==void 0&&typeof t.path!=`string`||t.url!==void 0&&typeof t.url!=`string`||t.mime!==void 0&&typeof t.mime!=`string`||t.alreadyTranscribed!==void 0&&typeof t.alreadyTranscribed!=`boolean`)}function at(e){let{capability:t,attachments:n,policy:r}=e,i=(Array.isArray(n)?n.filter(V):[]).filter(e=>t===`audio`&&e.alreadyTranscribed?!1:t===`image`?rt(e):t===`audio`?B(e):nt(e));if(i.length===0)return[];let a=it(i,r?.prefer),o=r?.mode??`first`,s=r?.maxAttachments??1;return o===`all`?a.slice(0,Math.max(1,s)):a.slice(0,1)}const H=new Set;function ot(e){return!e||typeof e!=`object`?!1:(`name`in e?String(e.name):``)===`AbortError`||(`message`in e&&typeof e.message==`string`?e.message:``)===`This operation was aborted`}function st(e){return H.add(e),()=>{H.delete(e)}}function ct(e){return e.replace(/[^a-zA-Z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``)||`tmp`}function lt(e){if(!e)return``;let t=((e.startsWith(`.`)?e:`.${e}`).match(/[a-zA-Z0-9._-]+$/)?.[0]??``).replace(/^[._-]+/,``);return t?`.${t}`:``}function ut(e){return e??ee()}function U(e){let t=ct(e.prefix),n=lt(e.extension),r=e.now,i=typeof r==`number`&&Number.isFinite(r)?Math.trunc(r):Date.now(),a=e.uuid?.trim()||me.randomUUID();return S.join(ut(e.tmpDir),`${t}-${i}-${a}${n}`)}var W=class extends Error{constructor(e,t){super(t),this.reason=e,this.name=`MediaUnderstandingSkipError`}};function dt(e){return e instanceof W}const ft=p(ce(),h);function pt(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}var mt=class{constructor(e,t){this.entries=new Map,this.attachments=e,this.localPathRoots=p(t?.localPathRoots,ft);for(let t of e)this.entries.set(t.index,{attachment:t})}async getBuffer(e){let t=await this.ensureEntry(e.attachmentIndex);if(t.buffer){if(t.buffer.length>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{buffer:t.buffer,mime:t.bufferMime,fileName:t.bufferFileName??`media-${e.attachmentIndex+1}`,size:t.buffer.length}}if(t.resolvedPath){let n=await this.ensureLocalStat(t);if(t.resolvedPath){if(n!==void 0&&n>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);let r=await C.readFile(t.resolvedPath);return t.buffer=r,t.bufferMime=t.bufferMime??t.attachment.mime??await i({buffer:r,filePath:t.resolvedPath}),t.bufferFileName=S.basename(t.resolvedPath)||`media-${e.attachmentIndex+1}`,{buffer:r,mime:t.bufferMime,fileName:t.bufferFileName,size:r.length}}}let n=t.attachment.url?.trim();if(!n)throw new W(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let r=await se({url:n,fetchImpl:(t,n)=>ne(pt(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return t.buffer=r.buffer,t.bufferMime=t.attachment.mime??r.contentType??await i({buffer:r.buffer,filePath:r.fileName??n}),t.bufferFileName=r.fileName??`media-${e.attachmentIndex+1}`,{buffer:r.buffer,mime:t.bufferMime,fileName:t.bufferFileName,size:r.buffer.length}}catch(t){throw t instanceof le&&t.code===`max_bytes`?new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`):ot(t)?new W(`timeout`,`Attachment ${e.attachmentIndex+1} timed out while fetching.`):t}}async getPath(e){let t=await this.ensureEntry(e.attachmentIndex);if(t.resolvedPath){if(e.maxBytes){let n=await this.ensureLocalStat(t);if(t.resolvedPath&&n!==void 0&&n>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`)}if(t.resolvedPath)return{path:t.resolvedPath}}if(t.tempPath){if(e.maxBytes&&t.buffer&&t.buffer.length>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{path:t.tempPath,cleanup:t.tempCleanup}}let n=e.maxBytes??1/0,r=await this.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:n,timeoutMs:e.timeoutMs}),i=U({prefix:`openclaw-media`,extension:S.extname(r.fileName||``)||``});return await C.writeFile(i,r.buffer),t.tempPath=i,t.tempCleanup=async()=>{await C.unlink(i).catch(()=>{})},{path:i,cleanup:t.tempCleanup}}async cleanup(){let e=[];for(let t of this.entries.values())t.tempCleanup&&=(e.push(Promise.resolve(t.tempCleanup())),void 0);await Promise.all(e)}async ensureEntry(e){let t=this.entries.get(e);if(t)return t.resolvedPath||=this.resolveLocalPath(t.attachment),t;let n=this.attachments.find(t=>t.index===e)??{index:e},r={attachment:n,resolvedPath:this.resolveLocalPath(n)};return this.entries.set(e,r),r}resolveLocalPath(e){let t=L(e.path);if(t)return S.isAbsolute(t)?t:S.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!s({filePath:e.resolvedPath,roots:this.localPathRoots})){e.resolvedPath=void 0,v()&&b(`Blocked attachment path outside allowed roots: ${e.attachment.path??e.attachment.url??`(unknown)`}`);return}if(e.statSize!==void 0)return e.statSize;try{let t=e.resolvedPath,n=await C.stat(t);if(!n.isFile()){e.resolvedPath=void 0;return}let r=await C.realpath(t).catch(()=>t);if(!s({filePath:r,roots:await this.getCanonicalLocalPathRoots()})){e.resolvedPath=void 0,v()&&b(`Blocked canonicalized attachment path outside allowed roots: ${r}`);return}return e.resolvedPath=r,e.statSize=n.size,n.size}catch(t){e.resolvedPath=void 0,v()&&b(`Failed to read attachment ${e.attachment.index+1}: ${String(t)}`);return}}}async getCanonicalLocalPathRoots(){return this.canonicalLocalPathRoots||=(async()=>p(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await C.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const ht=y(`model-catalog`);let G=null,gt=!1,_t=()=>import(`./pi-model-discovery-DejkxBol.js`).then(e=>e.r);const vt=`openai-codex`,yt=`openai`,bt=new Set([`kilocode`]),xt=[{provider:yt,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:yt,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:vt,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:vt,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function St(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of xt){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function Ct(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function wt(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!bt.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=Ct(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function Tt(e){let t=wt(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function Et(e){return e?.useCache===!1&&(G=null),G||(G=(async()=>{let t=[],n=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let r=e?.config??o();await te(r);let i=await _t(),a=m(),{join:s}=await import(`node:path`),c=i.discoverAuthStorage(a),l=new i.ModelRegistry(c,s(a,`models.json`)),u=Array.isArray(l)?l:l.getAll();for(let e of u){let n=String(e?.id??``).trim();if(!n)continue;let r=String(e?.provider??``).trim();if(!r)continue;let i=String(e?.name??n).trim()||n,a=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,o=typeof e?.reasoning==`boolean`?e.reasoning:void 0,s=Array.isArray(e?.input)?e.input:void 0;t.push({id:n,name:i,provider:r,contextWindow:a,reasoning:o,input:s})}return Tt({config:r,models:t}),St(t),t.length===0&&(G=null),n(t)}catch(e){return gt||(gt=!0,ht.warn(`Failed to load model catalog: ${String(e)}`)),G=null,t.length>0?n(t):[]}})(),G)}function Dt(e){return e?.input?.includes(`image`)??!1}function Ot(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}async function K(e){if(!e)return!1;try{return await C.stat(e),!0}catch{return!1}}function kt(e){let t=e.trim(),n=t.lastIndexOf(`{`);if(n===-1)return null;let r=t.slice(n);try{return JSON.parse(r)}catch{return null}}function At(e){let t=kt(e);if(!t||typeof t!=`object`)return null;let n=t.response;return typeof n==`string`&&n.trim()||null}function jt(e){return Math.ceil(e/3)*4}function Mt(e){let t=Math.floor(4/3*e);return Math.min(t,73400320)}function q(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))typeof r==`string`&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function J(e,t){let n=e.trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Nt(e){let t=e=>{let n=e.trim();if(!n)return null;let r=n[0];if(r!==`{`&&r!==`"`)return null;try{let e=JSON.parse(n);if(typeof e==`string`)return t(e);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`&&t.trim())return t.trim()}}catch{}return null},n=t(e);if(n)return n;let r=e.split(`
4
- `).map(e=>e.trim()).filter(Boolean);for(let e=r.length-1;e>=0;--e){let n=t(r[e]??``);if(n)return n}return null}function Pt(e){return S.parse(e).name}function Y(e,t){for(let n=0;n<e.length;n+=1)if(t.includes(e[n]??``)){let t=e[n+1];if(t)return t}}function Ft(e,t){return e.some(e=>t.includes(e))}function It(e,t){let n=Y(e,[`--output_dir`,`-o`]),r=Y(e,[`--output_format`]);if(!n||!r||!r.split(`,`).map(e=>e.trim()).includes(`txt`))return null;let i=S.parse(t).name;return S.join(n,`${i}.txt`)}function Lt(e){if(!Ft(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function Rt(e,t){let n=Y(e,[`--output-dir`]),r=Y(e,[`--output-format`]);if(!n||r&&r!==`txt`)return null;let i=S.parse(t).name;return S.join(n,`${i}.txt`)}async function zt(e){let t=Pt(e.command),n=t===`whisper-cli`?Lt(e.args):t===`whisper`?It(e.args,e.mediaPath):t===`parakeet-mlx`?Rt(e.args,e.mediaPath):null;if(n&&await K(n))try{let e=await C.readFile(n,`utf8`);if(e.trim())return e.trim()}catch{}if(t===`gemini`){let t=At(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=Nt(e.stdout);if(t)return t}return e.stdout.trim()}function Bt(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function Vt(e){if(!e)return;let t={};return typeof e.detectLanguage==`boolean`&&(t.detect_language=e.detectLanguage),typeof e.punctuate==`boolean`&&(t.punctuate=e.punctuate),typeof e.smartFormat==`boolean`&&(t.smart_format=e.smartFormat),Object.keys(t).length>0?t:void 0}function Ht(e){let t={...e};return`detectLanguage`in t&&(t.detect_language=t.detectLanguage,delete t.detectLanguage),`smartFormat`in t&&(t.smart_format=t.smartFormat,delete t.smartFormat),t}function Ut(e){let{providerId:t,config:n,entry:r}=e,i=Bt({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=Ht(i??{}),o=Vt({...n?.deepgram,...r.deepgram});for(let[e,t]of Object.entries(o??{}))a[e]===void 0&&(a[e]=t);return Object.keys(a).length>0?a:void 0}function X(e){if(e.entryType===`cli`){let t=e.entry.command?.trim();return{type:`cli`,provider:t??`cli`,model:e.entry.model??t,outcome:e.outcome,reason:e.reason}}let t=e.entry.provider?.trim();return{type:`provider`,provider:(t?M(t):void 0)??t,model:e.entry.model,outcome:e.outcome,reason:e.reason}}function Wt(e){let{capability:t,entry:n,cfg:r}=e,i=Ze({capability:t,entry:n,cfg:r,config:e.config}),a=Xe({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:I(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,ye[t]),prompt:Ye(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function Gt(e){let t=await l({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:oe({provider:e.providerId,primaryApiKey:u(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Kt(e){let{apiKeys:t,providerConfig:n}=await Gt({providerId:e.providerId,cfg:e.cfg,entry:e.entry,agentDir:e.agentDir}),r=e.entry.baseUrl??e.config?.baseUrl??n?.baseUrl,i={...q(n?.headers),...q(e.config?.headers),...q(e.entry.headers)};return{apiKeys:t,baseUrl:r,headers:Object.keys(i).length>0?i:void 0}}function qt(e){let t=Array.isArray(e.attachments)?e.attachments:[],n=t.length,r=t.filter(e=>e?.chosen?.outcome===`success`).length,i=t.find(e=>e?.chosen)?.chosen,a=typeof i?.provider==`string`?i.provider.trim():void 0,o=typeof i?.model==`string`?i.model.trim():void 0,s=a?o?`${a}/${o}`:a:void 0,c=t.flatMap(e=>(Array.isArray(e?.attempts)?e.attempts:[]).map(e=>typeof e?.reason==`string`?e.reason:void 0).filter(e=>!!e)).find(e=>e.trim().length>0),l=c?c.split(`:`)[0]?.trim():void 0,u=n>0?` (${r}/${n})`:``,d=s?` via ${s}`:``,f=l?` reason=${l}`:``;return`${e.capability}: ${e.outcome}${u}${d}${f}`}function Jt(e){if(!(e.size>=1024))throw new W(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function Yt(e){let{entry:t,capability:n,cfg:r}=e,i=t.provider?.trim();if(!i)throw Error(`Provider entry missing provider for ${n}`);let a=M(i),{maxBytes:o,maxChars:s,timeoutMs:c,prompt:l}=Wt({capability:n,entry:t,cfg:r,config:e.config});if(n===`image`){if(!e.agentDir)throw Error(`Image understanding requires agentDir`);let n=t.model?.trim();if(!n)throw Error(`Image understanding requires model id`);let r=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c}),i=N(a,e.providerRegistry),u={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:a,prompt:l,timeoutMs:c,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},d=await(i?.describeImage??x)(u);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(d.text,s),provider:a,model:d.model??n}}let u=N(a,e.providerRegistry);if(!u)throw Error(`Media provider not available: ${a}`);let d=ue();if(n===`audio`){if(!u.transcribeAudio)throw Error(`Audio transcription provider "${a}" not available.`);let n=u.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c});Jt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:f,baseUrl:p,headers:m}=await Kt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),h=Ut({providerId:a,config:e.config,entry:t}),g=t.model?.trim()||xe[a]||t.model,_=await ie({provider:a,apiKeys:f,execute:async a=>n({buffer:i.buffer,fileName:i.fileName,mime:i.mime,apiKey:a,baseUrl:p,headers:m,model:g,language:t.language??e.config?.language??r.tools?.media?.audio?.language,prompt:l,query:h,timeoutMs:c,fetchFn:d})});return{kind:`audio.transcription`,attachmentIndex:e.attachmentIndex,text:J(_.text,s),provider:a,model:_.model??g}}if(!u.describeVideo)throw Error(`Video understanding provider "${a}" not available.`);let f=u.describeVideo,p=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c}),m=jt(p.size),h=Mt(o);if(m>h)throw new W(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${m} exceeds ${h}`);let{apiKeys:g,baseUrl:_,headers:v}=await Kt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),y=await ie({provider:a,apiKeys:g,execute:e=>f({buffer:p.buffer,fileName:p.fileName,mime:p.mime,apiKey:e,baseUrl:_,headers:v,model:t.model,prompt:l,timeoutMs:c,fetchFn:d})});return{kind:`video.description`,attachmentIndex:e.attachmentIndex,text:J(y.text,s),provider:a,model:y.model??t.model}}async function Xt(e){let{entry:t,capability:n,cfg:r,ctx:i}=e,a=t.command?.trim(),o=t.args??[];if(!a)throw Error(`CLI entry missing command for ${n}`);let{maxBytes:s,maxChars:c,timeoutMs:l,prompt:u}=Wt({capability:n,entry:t,cfg:r,config:e.config}),d=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:s,timeoutMs:l});n===`audio`&&Jt({size:(await C.stat(d.path)).size,attachmentIndex:e.attachmentIndex});let f=await C.mkdtemp(S.join(ee(),`openclaw-media-cli-`)),p=d.path,m=S.join(f,S.parse(p).name),h={...i,MediaPath:p,MediaDir:S.dirname(p),OutputDir:f,OutputBase:m,Prompt:u,MaxChars:c},g=[a,...o].map((e,t)=>t===0?e:ge(e,h));try{v()&&b(`Media understanding via CLI: ${g.join(` `)}`);let{stdout:t}=await _(g[0],g.slice(1),{timeoutMs:l,maxBuffer:Te}),r=J(await zt({command:a,args:g.slice(1),stdout:t,mediaPath:p}),c);return r?{kind:n===`audio`?`audio.transcription`:`${n}.description`,attachmentIndex:e.attachmentIndex,text:r,provider:`cli`,model:a}:null}finally{await C.rm(f,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return Ke(e)}function Zt(e){return R(e)}function Qt(e){return p(ce(),g({cfg:e.cfg,accountId:e.ctx.AccountId}))}function $t(e,t){return new mt(e,t)}const en=new Map,tn=new Map;function nn(e){if(!e.startsWith(`~`))return e;let t=fe.homedir();return e===`~`?t:e.startsWith(`~/`)?S.join(t,e.slice(2)):e}function rn(e){return e.includes(`/`)||e.includes(`\\`)}function an(e){if(process.platform!==`win32`||S.extname(e))return[e];let t=(process.env.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.trim()).filter(Boolean).map(e=>e.startsWith(`.`)?e:`.${e}`);return[e,...Array.from(new Set(t)).map(t=>`${e}${t}`)]}async function Q(e){try{return(await C.stat(e)).isFile()?(process.platform===`win32`||await C.access(e,de.X_OK),!0):!1}catch{return!1}}async function on(e){let t=en.get(e);if(t)return t;let n=(async()=>{let t=nn(e.trim());if(t&&rn(t)){for(let e of an(t))if(await Q(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(S.delimiter),i=an(n);for(let e of r){let t=nn(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=S.join(t,e);if(await Q(n))return n}}return null})();return en.set(e,n),n}async function $(e){return!!await on(e)}async function sn(){let e=tn.get(`gemini`);if(e)return e;let t=(async()=>{if(!await $(`gemini`))return!1;try{let{stdout:e}=await _(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(At(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return tn.set(`gemini`,t),t}async function cn(){if(!await $(`whisper-cli`))return null;let e=process.env.WHISPER_CPP_MODEL?.trim(),t=e&&await K(e)?e:`/opt/homebrew/share/whisper-cpp/for-tests-ggml-tiny.bin`;return await K(t)?{type:`cli`,command:`whisper-cli`,args:[`-m`,t,`-otxt`,`-of`,`{{OutputBase}}`,`-np`,`-nt`,`{{MediaPath}}`]}:null}async function ln(){return await $(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function un(){if(!await $(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=S.join(e,`tokens.txt`),n=S.join(e,`encoder.onnx`),r=S.join(e,`decoder.onnx`),i=S.join(e,`joiner.onnx`);return!await K(t)||!await K(n)||!await K(r)||!await K(i)?null:{type:`cli`,command:`sherpa-onnx-offline`,args:[`--tokens=${t}`,`--encoder=${n}`,`--decoder=${r}`,`--joiner=${i}`,`{{MediaPath}}`]}}async function dn(){return await un()||await cn()||await ln()}async function fn(e){return await sn()?{type:`cli`,command:`gemini`,args:[`--output-format`,`json`,`--allowed-tools`,`read_many_files`,`--include-directories`,`{{MediaDir}}`,`{{Prompt}}`,`Use read_many_files to read {{MediaPath}} and respond with only the text output.`]}:null}async function pn(e){let{cfg:t,agentDir:n,providerRegistry:r,capability:i}=e,a=async(e,a)=>{let o=N(e,r);if(!o||i===`audio`&&!o.transcribeAudio||i===`image`&&!o.describeImage||i===`video`&&!o.describeVideo)return null;try{return await l({provider:e,cfg:t,agentDir:n}),{type:`provider`,provider:e,model:a}}catch{return null}};if(i===`image`){let t=e.activeModel?.provider?.trim();if(t){let n=await a(t,e.activeModel?.model);if(n)return n}for(let e of Ce){let t=T[e],n=await a(e,t);if(n)return n}return null}if(i===`video`){let t=e.activeModel?.provider?.trim();if(t){let n=await a(t,e.activeModel?.model);if(n)return n}for(let e of we){let t=await a(e,void 0);if(t)return t}return null}let o=e.activeModel?.provider?.trim();if(o){let t=await a(o,e.activeModel?.model);if(t)return t}for(let e of Se){let t=await a(e,void 0);if(t)return t}return null}function mn(t){let n=[],r=a(t.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of e(t.agents?.defaults?.imageModel))r?.trim()&&n.push(r.trim());if(n.length===0)return[];let i=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||i.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return i}async function hn(e){let t=await _n(e);if(t)return[t];if(e.capability===`audio`){let e=await dn();if(e)return[e]}if(e.capability===`image`){let t=mn(e.cfg);if(t.length>0)return t}let n=await fn(e.capability);if(n)return[n];let r=await pn(e);return r?[r]:[]}async function gn(e){let t=Z(),n=e=>{if(!e||e.type===`cli`)return null;let t=e.provider;if(!t)return null;let n=e.model??T[t];return n?{provider:t,model:n}:null};return n(await _n({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await pn({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function _n(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let n=M(t);if(!n)return null;let r=N(n,e.providerRegistry);if(!r||e.capability===`audio`&&!r.transcribeAudio||e.capability===`image`&&!r.describeImage||e.capability===`video`&&!r.describeVideo)return null;try{await l({provider:n,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:n,model:e.activeModel?.model}}async function vn(e){let{entries:t,capability:n}=e,r=[];for(let i of t){let t=i.type??(i.command?`cli`:`provider`);try{let a=t===`cli`?await Xt({capability:n,entry:i,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Yt({capability:n,entry:i,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(a){let e=X({entry:i,entryType:t,outcome:`success`});return a.provider&&(e.provider=a.provider),a.model&&(e.model=a.model),r.push(e),{output:a,attempts:r}}r.push(X({entry:i,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(dt(e)){r.push(X({entry:i,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),v()&&b(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}r.push(X({entry:i,entryType:t,outcome:`failed`,reason:String(e)})),v()&&b(`${n} understanding failed: ${String(e)}`)}}return{output:null,attempts:r}}async function yn(e){let{capability:t,cfg:n,ctx:r}=e,i=e.config??n.tools?.media?.[t];if(i?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let a=i?.attachments,o=at({capability:t,attachments:e.media,policy:a});if(o.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Qe({scope:i?.scope,ctx:r})===`deny`)return v()&&b(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:o.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let s=e.activeModel?.provider?.trim();if(t===`image`&&s&&Dt(Ot(await Et({config:n}),s,e.activeModel?.model??``))){v()&&b(`Skipping image understanding: primary model supports vision natively`);let n=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:o.map(e=>{let t={type:`provider`,provider:s,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let c=et({cfg:n,capability:t,config:i,providerRegistry:e.providerRegistry});if(c.length===0&&(c=await hn({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),c.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:o.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let l=[],u=[];for(let a of o){let{output:o,attempts:s}=await vn({capability:t,cfg:n,ctx:r,attachmentIndex:a.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:c,config:i});o&&l.push(o),u.push({attachmentIndex:a.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let d={capability:t,outcome:l.length>0?`success`:`skipped`,attachments:u};return v()&&b(`Media understanding ${qt(d)}`),{outputs:l,decision:d}}async function bn(e){let t=e.attachments??Zt(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=$t(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await yn({capability:`audio`,cfg:e.cfg,ctx:e.ctx,attachments:r,media:t,agentDir:e.agentDir,providerRegistry:n,config:e.cfg.tools?.media?.audio,activeModel:e.activeModel})).outputs.find(e=>e.kind===`audio.transcription`)?.text?.trim()||void 0,attachments:t}}finally{await r.cleanup()}}export{T as C,Te as S,tt as _,gn as a,Je as b,Ot as c,U as d,st as f,z as g,R as h,Zt as i,Et as l,L as m,Z as n,Qt as o,B as p,$t as r,yn as s,bn as t,Dt as u,I as v,ge as w,Ce as x,F as y};
4
+ `).map(e=>e.trim()).filter(Boolean);for(let e=r.length-1;e>=0;--e){let n=t(r[e]??``);if(n)return n}return null}function Pt(e){return S.parse(e).name}function Y(e,t){for(let n=0;n<e.length;n+=1)if(t.includes(e[n]??``)){let t=e[n+1];if(t)return t}}function Ft(e,t){return e.some(e=>t.includes(e))}function It(e,t){let n=Y(e,[`--output_dir`,`-o`]),r=Y(e,[`--output_format`]);if(!n||!r||!r.split(`,`).map(e=>e.trim()).includes(`txt`))return null;let i=S.parse(t).name;return S.join(n,`${i}.txt`)}function Lt(e){if(!Ft(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function Rt(e,t){let n=Y(e,[`--output-dir`]),r=Y(e,[`--output-format`]);if(!n||r&&r!==`txt`)return null;let i=S.parse(t).name;return S.join(n,`${i}.txt`)}async function zt(e){let t=Pt(e.command),n=t===`whisper-cli`?Lt(e.args):t===`whisper`?It(e.args,e.mediaPath):t===`parakeet-mlx`?Rt(e.args,e.mediaPath):null;if(n&&await K(n))try{let e=await C.readFile(n,`utf8`);if(e.trim())return e.trim()}catch{}if(t===`gemini`){let t=At(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=Nt(e.stdout);if(t)return t}return e.stdout.trim()}function Bt(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function Vt(e){if(!e)return;let t={};return typeof e.detectLanguage==`boolean`&&(t.detect_language=e.detectLanguage),typeof e.punctuate==`boolean`&&(t.punctuate=e.punctuate),typeof e.smartFormat==`boolean`&&(t.smart_format=e.smartFormat),Object.keys(t).length>0?t:void 0}function Ht(e){let t={...e};return`detectLanguage`in t&&(t.detect_language=t.detectLanguage,delete t.detectLanguage),`smartFormat`in t&&(t.smart_format=t.smartFormat,delete t.smartFormat),t}function Ut(e){let{providerId:t,config:n,entry:r}=e,i=Bt({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=Ht(i??{}),o=Vt({...n?.deepgram,...r.deepgram});for(let[e,t]of Object.entries(o??{}))a[e]===void 0&&(a[e]=t);return Object.keys(a).length>0?a:void 0}function X(e){if(e.entryType===`cli`){let t=e.entry.command?.trim();return{type:`cli`,provider:t??`cli`,model:e.entry.model??t,outcome:e.outcome,reason:e.reason}}let t=e.entry.provider?.trim();return{type:`provider`,provider:(t?M(t):void 0)??t,model:e.entry.model,outcome:e.outcome,reason:e.reason}}function Wt(e){let{capability:t,entry:n,cfg:r}=e,i=Ze({capability:t,entry:n,cfg:r,config:e.config}),a=Xe({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:I(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,ye[t]),prompt:Ye(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function Gt(e){let t=await l({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:oe({provider:e.providerId,primaryApiKey:u(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Kt(e){let{apiKeys:t,providerConfig:n}=await Gt({providerId:e.providerId,cfg:e.cfg,entry:e.entry,agentDir:e.agentDir}),r=e.entry.baseUrl??e.config?.baseUrl??n?.baseUrl,i={...q(n?.headers),...q(e.config?.headers),...q(e.entry.headers)};return{apiKeys:t,baseUrl:r,headers:Object.keys(i).length>0?i:void 0}}function qt(e){let t=Array.isArray(e.attachments)?e.attachments:[],n=t.length,r=t.filter(e=>e?.chosen?.outcome===`success`).length,i=t.find(e=>e?.chosen)?.chosen,a=typeof i?.provider==`string`?i.provider.trim():void 0,o=typeof i?.model==`string`?i.model.trim():void 0,s=a?o?`${a}/${o}`:a:void 0,c=t.flatMap(e=>(Array.isArray(e?.attempts)?e.attempts:[]).map(e=>typeof e?.reason==`string`?e.reason:void 0).filter(e=>!!e)).find(e=>e.trim().length>0),l=c?c.split(`:`)[0]?.trim():void 0,u=n>0?` (${r}/${n})`:``,d=s?` via ${s}`:``,f=l?` reason=${l}`:``;return`${e.capability}: ${e.outcome}${u}${d}${f}`}function Jt(e){if(!(e.size>=1024))throw new W(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function Yt(e){let{entry:t,capability:n,cfg:r}=e,i=t.provider?.trim();if(!i)throw Error(`Provider entry missing provider for ${n}`);let a=M(i),{maxBytes:o,maxChars:s,timeoutMs:c,prompt:l}=Wt({capability:n,entry:t,cfg:r,config:e.config});if(n===`image`){if(!e.agentDir)throw Error(`Image understanding requires agentDir`);let n=t.model?.trim();if(!n)throw Error(`Image understanding requires model id`);let r=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c}),i=N(a,e.providerRegistry),u={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:a,prompt:l,timeoutMs:c,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},d=await(i?.describeImage??x)(u);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(d.text,s),provider:a,model:d.model??n}}let u=N(a,e.providerRegistry);if(!u)throw Error(`Media provider not available: ${a}`);let d=ue();if(n===`audio`){if(!u.transcribeAudio)throw Error(`Audio transcription provider "${a}" not available.`);let n=u.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c});Jt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:f,baseUrl:p,headers:m}=await Kt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),h=Ut({providerId:a,config:e.config,entry:t}),g=t.model?.trim()||xe[a]||t.model,_=await ie({provider:a,apiKeys:f,execute:async a=>n({buffer:i.buffer,fileName:i.fileName,mime:i.mime,apiKey:a,baseUrl:p,headers:m,model:g,language:t.language??e.config?.language??r.tools?.media?.audio?.language,prompt:l,query:h,timeoutMs:c,fetchFn:d})});return{kind:`audio.transcription`,attachmentIndex:e.attachmentIndex,text:J(_.text,s),provider:a,model:_.model??g}}if(!u.describeVideo)throw Error(`Video understanding provider "${a}" not available.`);let f=u.describeVideo,p=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c}),m=jt(p.size),h=Mt(o);if(m>h)throw new W(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${m} exceeds ${h}`);let{apiKeys:g,baseUrl:_,headers:v}=await Kt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),y=await ie({provider:a,apiKeys:g,execute:e=>f({buffer:p.buffer,fileName:p.fileName,mime:p.mime,apiKey:e,baseUrl:_,headers:v,model:t.model,prompt:l,timeoutMs:c,fetchFn:d})});return{kind:`video.description`,attachmentIndex:e.attachmentIndex,text:J(y.text,s),provider:a,model:y.model??t.model}}async function Xt(e){let{entry:t,capability:n,cfg:r,ctx:i}=e,a=t.command?.trim(),o=t.args??[];if(!a)throw Error(`CLI entry missing command for ${n}`);let{maxBytes:s,maxChars:c,timeoutMs:l,prompt:u}=Wt({capability:n,entry:t,cfg:r,config:e.config}),d=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:s,timeoutMs:l});n===`audio`&&Jt({size:(await C.stat(d.path)).size,attachmentIndex:e.attachmentIndex});let f=await C.mkdtemp(S.join(ee(),`openclaw-media-cli-`)),p=d.path,m=S.join(f,S.parse(p).name),h={...i,MediaPath:p,MediaDir:S.dirname(p),OutputDir:f,OutputBase:m,Prompt:u,MaxChars:c},g=[a,...o].map((e,t)=>t===0?e:ge(e,h));try{v()&&b(`Media understanding via CLI: ${g.join(` `)}`);let{stdout:t}=await _(g[0],g.slice(1),{timeoutMs:l,maxBuffer:Te}),r=J(await zt({command:a,args:g.slice(1),stdout:t,mediaPath:p}),c);return r?{kind:n===`audio`?`audio.transcription`:`${n}.description`,attachmentIndex:e.attachmentIndex,text:r,provider:`cli`,model:a}:null}finally{await C.rm(f,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return Ke(e)}function Zt(e){return R(e)}function Qt(e){return p(ce(),g({cfg:e.cfg,accountId:e.ctx.AccountId}))}function $t(e,t){return new mt(e,t)}const en=new Map,tn=new Map;function nn(e){if(!e.startsWith(`~`))return e;let t=fe.homedir();return e===`~`?t:e.startsWith(`~/`)?S.join(t,e.slice(2)):e}function rn(e){return e.includes(`/`)||e.includes(`\\`)}function an(e){if(process.platform!==`win32`||S.extname(e))return[e];let t=(process.env.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.trim()).filter(Boolean).map(e=>e.startsWith(`.`)?e:`.${e}`);return[e,...Array.from(new Set(t)).map(t=>`${e}${t}`)]}async function Q(e){try{return(await C.stat(e)).isFile()?(process.platform===`win32`||await C.access(e,de.X_OK),!0):!1}catch{return!1}}async function on(e){let t=en.get(e);if(t)return t;let n=(async()=>{let t=nn(e.trim());if(t&&rn(t)){for(let e of an(t))if(await Q(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(S.delimiter),i=an(n);for(let e of r){let t=nn(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=S.join(t,e);if(await Q(n))return n}}return null})();return en.set(e,n),n}async function $(e){return!!await on(e)}async function sn(){let e=tn.get(`gemini`);if(e)return e;let t=(async()=>{if(!await $(`gemini`))return!1;try{let{stdout:e}=await _(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(At(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return tn.set(`gemini`,t),t}async function cn(){if(!await $(`whisper-cli`))return null;let e=process.env.WHISPER_CPP_MODEL?.trim(),t=e&&await K(e)?e:`/opt/homebrew/share/whisper-cpp/for-tests-ggml-tiny.bin`;return await K(t)?{type:`cli`,command:`whisper-cli`,args:[`-m`,t,`-otxt`,`-of`,`{{OutputBase}}`,`-np`,`-nt`,`{{MediaPath}}`]}:null}async function ln(){return await $(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function un(){if(!await $(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=S.join(e,`tokens.txt`),n=S.join(e,`encoder.onnx`),r=S.join(e,`decoder.onnx`),i=S.join(e,`joiner.onnx`);return!await K(t)||!await K(n)||!await K(r)||!await K(i)?null:{type:`cli`,command:`sherpa-onnx-offline`,args:[`--tokens=${t}`,`--encoder=${n}`,`--decoder=${r}`,`--joiner=${i}`,`{{MediaPath}}`]}}async function dn(){return await un()||await cn()||await ln()}async function fn(e){return await sn()?{type:`cli`,command:`gemini`,args:[`--output-format`,`json`,`--allowed-tools`,`read_many_files`,`--include-directories`,`{{MediaDir}}`,`{{Prompt}}`,`Use read_many_files to read {{MediaPath}} and respond with only the text output.`]}:null}async function pn(e){let{cfg:t,agentDir:n,providerRegistry:r,capability:i}=e,a=async(e,a)=>{let o=N(e,r);if(!o||i===`audio`&&!o.transcribeAudio||i===`image`&&!o.describeImage||i===`video`&&!o.describeVideo)return null;try{return await l({provider:e,cfg:t,agentDir:n}),{type:`provider`,provider:e,model:a}}catch{return null}};if(i===`image`){let t=e.activeModel?.provider?.trim();if(t){let n=await a(t,e.activeModel?.model);if(n)return n}for(let e of Ce){let t=T[e],n=await a(e,t);if(n)return n}return null}if(i===`video`){let t=e.activeModel?.provider?.trim();if(t){let n=await a(t,e.activeModel?.model);if(n)return n}for(let e of we){let t=await a(e,void 0);if(t)return t}return null}let o=e.activeModel?.provider?.trim();if(o){let t=await a(o,e.activeModel?.model);if(t)return t}for(let e of Se){let t=await a(e,void 0);if(t)return t}return null}function mn(t){let n=[],r=a(t.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of e(t.agents?.defaults?.imageModel))r?.trim()&&n.push(r.trim());if(n.length===0)return[];let i=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||i.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return i}async function hn(e){let t=await _n(e);if(t)return[t];if(e.capability===`audio`){let e=await dn();if(e)return[e]}if(e.capability===`image`){let t=mn(e.cfg);if(t.length>0)return t}let n=await fn(e.capability);if(n)return[n];let r=await pn(e);return r?[r]:[]}async function gn(e){let t=Z(),n=e=>{if(!e||e.type===`cli`)return null;let t=e.provider;if(!t)return null;let n=e.model??T[t];return n?{provider:t,model:n}:null};return n(await _n({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await pn({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function _n(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let n=M(t);if(!n)return null;let r=N(n,e.providerRegistry);if(!r||e.capability===`audio`&&!r.transcribeAudio||e.capability===`image`&&!r.describeImage||e.capability===`video`&&!r.describeVideo)return null;try{await l({provider:n,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:n,model:e.activeModel?.model}}async function vn(e){let{entries:t,capability:n}=e,r=[];for(let i of t){let t=i.type??(i.command?`cli`:`provider`);try{let a=t===`cli`?await Xt({capability:n,entry:i,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Yt({capability:n,entry:i,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(a){let e=X({entry:i,entryType:t,outcome:`success`});return a.provider&&(e.provider=a.provider),a.model&&(e.model=a.model),r.push(e),{output:a,attempts:r}}r.push(X({entry:i,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(dt(e)){r.push(X({entry:i,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),v()&&b(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}r.push(X({entry:i,entryType:t,outcome:`failed`,reason:String(e)})),v()&&b(`${n} understanding failed: ${String(e)}`)}}return{output:null,attempts:r}}async function yn(e){let{capability:t,cfg:n,ctx:r}=e,i=e.config??n.tools?.media?.[t];if(i?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let a=i?.attachments,o=at({capability:t,attachments:e.media,policy:a});if(o.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Qe({scope:i?.scope,ctx:r})===`deny`)return v()&&b(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:o.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let s=e.activeModel?.provider?.trim();if(t===`image`&&s&&Dt(Ot(await Et({config:n}),s,e.activeModel?.model??``))){v()&&b(`Skipping image understanding: primary model supports vision natively`);let n=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:o.map(e=>{let t={type:`provider`,provider:s,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let c=et({cfg:n,capability:t,config:i,providerRegistry:e.providerRegistry});if(c.length===0&&(c=await hn({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),c.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:o.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let l=[],u=[];for(let a of o){let{output:o,attempts:s}=await vn({capability:t,cfg:n,ctx:r,attachmentIndex:a.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:c,config:i});o&&l.push(o),u.push({attachmentIndex:a.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let d={capability:t,outcome:l.length>0?`success`:`skipped`,attachments:u};return v()&&b(`Media understanding ${qt(d)}`),{outputs:l,decision:d}}async function bn(e){let t=e.attachments??Zt(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=$t(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await yn({capability:`audio`,cfg:e.cfg,ctx:e.ctx,attachments:r,media:t,agentDir:e.agentDir,providerRegistry:n,config:e.cfg.tools?.media?.audio,activeModel:e.activeModel})).outputs.find(e=>e.kind===`audio.transcription`)?.text?.trim()||void 0,attachments:t}}finally{await r.cleanup()}}export{T as C,Te as S,tt as _,gn as a,Je as b,Ot as c,U as d,st as f,z as g,R as h,Zt as i,Et as l,L as m,Z as n,Qt as o,B as p,$t as r,yn as s,bn as t,Dt as u,I as v,ge as w,Ce as x,F as y};