@qqbrowser/openclaw-qbot 0.0.139 → 0.0.142

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 (1565) hide show
  1. package/dist/account-lookup-CW-_CL7y.js +1 -0
  2. package/dist/acp-cli-BaslDuk6.js +1 -0
  3. package/dist/acp-cli-f5-uI85a.js +1 -0
  4. package/dist/active-listener-Cce5tcPa.js +1 -0
  5. package/dist/active-listener-D8VOdVx3.js +1 -0
  6. package/dist/active-listener-DeKRt_UV.js +1 -0
  7. package/dist/active-listener-Dle9QX40.js +1 -0
  8. package/dist/agent-scope-DAWJwFfl.js +1 -0
  9. package/dist/agent-scope-DXZc3eNT.js +1 -0
  10. package/dist/agents-Bpp_F5In.js +1 -0
  11. package/dist/agents.config-B6LRG9eP.js +1 -0
  12. package/dist/agents.config-DfIJAGcd.js +1 -0
  13. package/dist/allow-from-B6dI7oz8.js +1 -0
  14. package/dist/allow-from-DEeVIPKS.js +1 -0
  15. package/dist/api-BeG0ObSq.js +1 -0
  16. package/dist/api-Dx8x1KTs.js +1 -0
  17. package/dist/api-key-rotation-BRt-vnRV.js +1 -0
  18. package/dist/api-key-rotation-CCH1wYVU.js +1 -0
  19. package/dist/api-key-rotation-D0QU-kQ9.js +1 -0
  20. package/dist/api-key-rotation-Di6QgXx7.js +1 -0
  21. package/dist/arg-split-BOqSMBuf.js +1 -0
  22. package/dist/arg-split-DE5RqDHq.js +1 -0
  23. package/dist/audio-preflight-B5o7P9qi.js +1 -0
  24. package/dist/audio-preflight-CxD7VCHW.js +1 -0
  25. package/dist/audio-preflight-DKSCBKRb.js +1 -0
  26. package/dist/audio-preflight-Dpk8-Bmk.js +1 -0
  27. package/dist/audio-transcription-runner-Bd1OZC6K.js +1 -0
  28. package/dist/audio-transcription-runner-D4Bp6MM7.js +1 -0
  29. package/dist/audio-transcription-runner-DPwmBYQj.js +1 -0
  30. package/dist/audio-transcription-runner-DSr6OIz1.js +1 -0
  31. package/dist/audit-C7RP7G_g.js +1 -0
  32. package/dist/audit-jkdcAUep.js +1 -0
  33. package/dist/audit-membership-runtime-BpRsMj5-.js +1 -0
  34. package/dist/audit-membership-runtime-BsfLZNBj.js +1 -0
  35. package/dist/audit-membership-runtime-DRHirRmx.js +1 -0
  36. package/dist/audit-membership-runtime-g0dEWJTp.js +1 -0
  37. package/dist/audit-membership-runtime-kdyToskD.js +1 -0
  38. package/dist/auth-choice-B7LSoXZ_.js +1 -0
  39. package/dist/auth-choice-CxMH4c-u.js +1 -0
  40. package/dist/auth-choice-DvTApGhx.js +1 -0
  41. package/dist/auth-choice-EQdNd7jO.js +1 -0
  42. package/dist/auth-choice-options-B3WQyS7I.js +1 -0
  43. package/dist/auth-choice-options-Dw14noox.js +1 -0
  44. package/dist/auth-choice-prompt-uegl56cf.js +1 -0
  45. package/dist/auth-choice-prompt-xYj13czb.js +1 -0
  46. package/dist/auth-choice.apply-helpers-B7S-PcH_.js +1 -0
  47. package/dist/auth-choice.apply-helpers-gaL-oSft.js +1 -0
  48. package/dist/auth-profiles-T8DuH3ax.js +1 -0
  49. package/dist/auth-token-9OTF1FmL.js +1 -0
  50. package/dist/auth-token-kGltuM6S.js +1 -0
  51. package/dist/banner-9u45RL26.js +1 -0
  52. package/dist/bonjour-discovery-CFZXPega.js +1 -0
  53. package/dist/bonjour-discovery-CjivQOxi.js +1 -0
  54. package/dist/boolean-Ch3DfXPy.js +1 -0
  55. package/dist/boolean-D15s2V33.js +1 -0
  56. package/dist/boolean-DypnRoRK.js +1 -0
  57. package/dist/brew-COcDl8CB.js +1 -0
  58. package/dist/brew-DDPm_HfE.js +1 -0
  59. package/dist/browser-cli-DQHE2iPY.js +1 -0
  60. package/dist/browser-cli-Dt0ds-an.js +1 -0
  61. package/dist/build-info.json +3 -3
  62. package/dist/bundled/boot-md/handler.js +1 -0
  63. package/dist/bundled/bootstrap-extra-files/handler.js +1 -0
  64. package/dist/bundled/command-logger/handler.js +1 -0
  65. package/dist/bundled/session-memory/handler.js +1 -0
  66. package/dist/call-B8Fb4_oh.js +1 -0
  67. package/dist/call-CqoMqP5b.js +1 -0
  68. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  69. package/dist/canvas-host/a2ui/a2ui.bundle.js +1705 -2
  70. package/dist/channel-account-context-BMPAMZEv.js +1 -0
  71. package/dist/channel-account-context-DAcarnqW.js +1 -0
  72. package/dist/channel-activity-B04WbrrK.js +1 -0
  73. package/dist/channel-activity-BBrgoad1.js +1 -0
  74. package/dist/channel-activity-CgbOWaay.js +1 -0
  75. package/dist/channel-activity-YIMhOAUo.js +1 -0
  76. package/dist/channel-activity-YjYNzCpJ.js +1 -0
  77. package/dist/channel-options-CEIzjOno.js +1 -0
  78. package/dist/channel-options-D2syI791.js +1 -0
  79. package/dist/channel-selection-BBeE1TmB.js +1 -0
  80. package/dist/channel-selection-CbNtbAEf.js +1 -0
  81. package/dist/channel-web-BrElpZAc.js +1 -0
  82. package/dist/channel-web-CxHbET4B.js +1 -0
  83. package/dist/channels/plugins/actions/discord.js +1 -0
  84. package/dist/channels/plugins/actions/signal.js +1 -0
  85. package/dist/channels/plugins/actions/telegram.js +1 -0
  86. package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -0
  87. package/dist/channels-cli-BmAJuuRs.js +1 -0
  88. package/dist/channels-cli-Dgosczr6.js +1 -0
  89. package/dist/channels-status-issues-8eFrGKyf.js +1 -0
  90. package/dist/channels-status-issues-PRgOT90w.js +1 -0
  91. package/dist/chat-envelope-Bznn2SoS.js +1 -0
  92. package/dist/chat-envelope-HVpKusFc.js +1 -0
  93. package/dist/clack-prompter-DBPdGdqp.js +1 -0
  94. package/dist/clack-prompter-Dq0aY6iM.js +1 -0
  95. package/dist/clawbot-cli-CgS7TkEx.js +1 -0
  96. package/dist/clawbot-cli-DZ2K0OTk.js +1 -0
  97. package/dist/cleanup-utils-BWm70DoD.js +1 -0
  98. package/dist/cleanup-utils-D-RhEX6F.js +1 -0
  99. package/dist/cli-BcnoCo4z.js +1 -0
  100. package/dist/cli-D8T2tphD.js +1 -0
  101. package/dist/cli-utils-BY7dLMFy.js +1 -0
  102. package/dist/cli-utils-BleB1eys.js +1 -0
  103. package/dist/clipboard-Bk8cviBt.js +1 -0
  104. package/dist/clipboard-CKT_VIkG.js +1 -0
  105. package/dist/cmd-argv-BBT5l8AV.js +1 -0
  106. package/dist/cmd-argv-Bh-KpaZ0.js +1 -0
  107. package/dist/command-format-BbDT1tlm.js +1 -0
  108. package/dist/command-format-CLxIPuLR.js +1 -0
  109. package/dist/command-options-BpOUDl2S.js +1 -0
  110. package/dist/command-options-Bq5nQxz6.js +1 -0
  111. package/dist/command-poll-backoff-BZLHYB2k.js +1 -0
  112. package/dist/command-poll-backoff-Cww_r-24.js +1 -0
  113. package/dist/command-poll-backoff-Df6cOQrX.js +1 -0
  114. package/dist/command-poll-backoff-endAPdwn.js +1 -0
  115. package/dist/command-registry-CfuXCRwV.js +1 -0
  116. package/dist/command-secret-targets-BVN3kiT9.js +1 -0
  117. package/dist/command-secret-targets-BlN-J_fA.js +1 -0
  118. package/dist/commands-CGpM84iR.js +1 -0
  119. package/dist/commands-Dy7duWlt.js +1 -0
  120. package/dist/commands-registry-B1x54ukc.js +1 -0
  121. package/dist/commands-registry-Cpl4QnG4.js +1 -0
  122. package/dist/commands-registry-D40KqYOm.js +1 -0
  123. package/dist/commands-registry-SeddSmFK.js +1 -0
  124. package/dist/compact-Dg66DXx_.js +1 -0
  125. package/dist/completion-cli-BZi4nuQb.js +1 -0
  126. package/dist/completion-cli-C40TWdsv.js +1 -0
  127. package/dist/config-BqW5S1xL.js +1 -0
  128. package/dist/config-D12ZLKqh.js +1 -0
  129. package/dist/config-cli-1ojSLwAj.js +1 -0
  130. package/dist/config-cli-CBte2b1h.js +1 -0
  131. package/dist/config-guard-BTNXbWoO.js +1 -0
  132. package/dist/config-guard-sYYx9zEF.js +1 -0
  133. package/dist/config-validation-C1La_IZU.js +1 -0
  134. package/dist/config-validation-DviYxW8Y.js +1 -0
  135. package/dist/configure-DJrNDEpR.js +1 -0
  136. package/dist/configure-kod4tmZa.js +1 -0
  137. package/dist/connection-auth-B_Uk6Vk8.js +1 -0
  138. package/dist/connection-auth-C8iru0UB.js +1 -0
  139. package/dist/context-window-guard-7crlatf9.js +1 -0
  140. package/dist/context-window-guard-CPChk363.js +1 -0
  141. package/dist/control-ui-assets-BIa0GGDg.js +1 -0
  142. package/dist/control-ui-assets-CTHGGgaX.js +1 -0
  143. package/dist/cron-cli-Dha16Lo-.js +1 -0
  144. package/dist/cron-cli-QHS2pKZ_.js +1 -0
  145. package/dist/daemon-cli-BuXTzSnU.js +1 -0
  146. package/dist/daemon-cli-DOTKuS7d.js +1 -0
  147. package/dist/daemon-cli.js +1 -0
  148. package/dist/daemon-install-C30rBssi.js +1 -0
  149. package/dist/daemon-install-HrqlOCrc.js +1 -0
  150. package/dist/daemon-install-plan.shared-CfA37Ut_.js +1 -0
  151. package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -0
  152. package/dist/daemon-runtime-DHiDbRuC.js +1 -0
  153. package/dist/daemon-runtime-VcpeBRJV.js +1 -0
  154. package/dist/dangerous-name-matching-BOmvAibz.js +1 -0
  155. package/dist/dangerous-name-matching-DtllRqBD.js +1 -0
  156. package/dist/dangerous-tools-CFRYQJ6V.js +1 -0
  157. package/dist/dangerous-tools-oYCu5wfC.js +1 -0
  158. package/dist/deliver-56mQkDw3.js +1 -0
  159. package/dist/deliver-BFQ4Zx9z.js +1 -0
  160. package/dist/deliver-BHuhHfkH.js +1 -0
  161. package/dist/deliver-ClBkV2eD.js +1 -0
  162. package/dist/delivery-queue-CKbauSFq.js +1 -0
  163. package/dist/delivery-queue-nkPJu0fY.js +1 -0
  164. package/dist/device-pairing-CTFpaTrD.js +1 -0
  165. package/dist/device-pairing-QTK0dod3.js +1 -0
  166. package/dist/devices-cli-Ckxd0k0I.js +1 -0
  167. package/dist/devices-cli-Db36mBHq.js +1 -0
  168. package/dist/diagnostic-BrE4lMIf.js +1 -0
  169. package/dist/diagnostic-CDxNevIQ.js +1 -0
  170. package/dist/diagnostic-DOzHPnht.js +1 -0
  171. package/dist/diagnostic-DQq4Bwrs.js +1 -0
  172. package/dist/diagnostics-BgbeL9KE.js +1 -0
  173. package/dist/diagnostics-Cdctg9K_.js +1 -0
  174. package/dist/directory-cli-DDTaUkjW.js +1 -0
  175. package/dist/directory-cli-_gTFSHMW.js +1 -0
  176. package/dist/dns-cli--4PwtR2Y.js +1 -0
  177. package/dist/dns-cli-C4DwKquN.js +1 -0
  178. package/dist/docs-cli-Cdw9Iz9a.js +1 -0
  179. package/dist/docs-cli-ClD2UyX1.js +1 -0
  180. package/dist/doctor-completion-BJ6steqx.js +1 -0
  181. package/dist/doctor-completion-DMJhfrtC.js +1 -0
  182. package/dist/doctor-config-flow-D4F3mz4h.js +1 -0
  183. package/dist/doctor-config-flow-DnOyVZhQ.js +1 -0
  184. package/dist/enable-BhD84GhD.js +1 -0
  185. package/dist/enable-Ccf9wSM8.js +1 -0
  186. package/dist/entry-status-CCwwKO43.js +1 -0
  187. package/dist/entry-status-CoXkbJcX.js +1 -0
  188. package/dist/entry.js +1 -0
  189. package/dist/env-D7wNuBx1.js +1 -0
  190. package/dist/env-overrides-DHtB4kK3.js +1 -0
  191. package/dist/env-overrides-DXJbFrwI.js +1 -0
  192. package/dist/errors-6SQWM9dj.js +1 -0
  193. package/dist/errors-Bunti32V.js +1 -0
  194. package/dist/exec-B3eleY5O.js +1 -0
  195. package/dist/exec-DHqLtFYt.js +1 -0
  196. package/dist/exec-approvals-BXO9Cezj.js +1 -0
  197. package/dist/exec-approvals-BpBNEy6i.js +1 -0
  198. package/dist/exec-approvals-allowlist-CE3nYh0K.js +1 -0
  199. package/dist/exec-approvals-allowlist-D8mN7nxV.js +1 -0
  200. package/dist/exec-approvals-cli-CUcuN63y.js +1 -0
  201. package/dist/exec-approvals-cli-CxUGD08t.js +1 -0
  202. package/dist/exec-safe-bin-runtime-policy-Dt0GchLp.js +1 -0
  203. package/dist/exec-safe-bin-runtime-policy-dcCS_Adf.js +1 -0
  204. package/dist/fetch-B9tORjG8.js +1 -0
  205. package/dist/fetch-BJT3BrkJ.js +1 -0
  206. package/dist/fetch-B_wRifvZ.js +1 -0
  207. package/dist/fetch-Bn0mWg6a.js +1 -0
  208. package/dist/fetch-CQaNr5J1.js +1 -0
  209. package/dist/fetch-Ce-scEU-.js +1 -0
  210. package/dist/fetch-D0rZDHKO.js +1 -0
  211. package/dist/fetch-DHo17YmK.js +1 -0
  212. package/dist/fetch-Dh-apy46.js +1 -0
  213. package/dist/fetch-Dikjvc5M.js +1 -0
  214. package/dist/fetch-DsjPfQlp.js +1 -0
  215. package/dist/fetch-_g8lZ8K8.js +1 -0
  216. package/dist/fetch-guard-BrTtJw7h.js +1 -0
  217. package/dist/fetch-guard-D10s0raB.js +1 -0
  218. package/dist/fetch-guard-DPdY0NXR.js +1 -0
  219. package/dist/fetch-guard-cu7DGSRF.js +1 -0
  220. package/dist/fetch-hy0JKSsm.js +1 -0
  221. package/dist/fetch-timeout-CdYxWG9w.js +1 -0
  222. package/dist/fetch-timeout-Cj8_oAls.js +1 -0
  223. package/dist/fetch-timeout-DoOI_izT.js +1 -0
  224. package/dist/fetch-timeout-u8g99Ax0.js +1 -0
  225. package/dist/format-Bn1bwJKX.js +1 -0
  226. package/dist/format-Ce7I7s-k.js +1 -0
  227. package/dist/format-duration-C8AzNqKh.js +1 -0
  228. package/dist/format-duration-D5AMtmHa.js +1 -0
  229. package/dist/format-relative-B9pSIdGe.js +1 -0
  230. package/dist/format-relative-DkMjYy7z.js +1 -0
  231. package/dist/frontmatter-BkZkwkVO.js +1 -0
  232. package/dist/frontmatter-C7mzDNxd.js +1 -0
  233. package/dist/frontmatter-CzpfPBFl.js +1 -0
  234. package/dist/gateway-cli-CKu0FA7D.js +1 -0
  235. package/dist/gateway-cli-C_s9eMlC.js +1 -0
  236. package/dist/gateway-install-token-BCnuZeh1.js +1 -0
  237. package/dist/gateway-install-token-DiDvDPJQ.js +1 -0
  238. package/dist/gateway-rpc-iFvDyHYd.js +1 -0
  239. package/dist/gateway-rpc-tEEvY0kH.js +1 -0
  240. package/dist/github-copilot-token-C79yeDKS.js +1 -0
  241. package/dist/github-copilot-token-DGYAlOmV.js +1 -0
  242. package/dist/github-copilot-token-DePP-lIf.js +1 -0
  243. package/dist/github-copilot-token-wm6mbypz.js +1 -0
  244. package/dist/gmail-setup-utils-CYOH3zzx.js +1 -0
  245. package/dist/gmail-setup-utils-S-MyEGuj.js +1 -0
  246. package/dist/group-access-BHKVOhrj.js +1 -0
  247. package/dist/group-access-D2DOYMfr.js +1 -0
  248. package/dist/health-BgOggK9k.js +1 -0
  249. package/dist/health-PaRHFItm.js +1 -0
  250. package/dist/health-format-B1nj3Wfn.js +1 -0
  251. package/dist/health-format-VBr6LEpt.js +1 -0
  252. package/dist/heartbeat-visibility-BQ_esv2m.js +1 -0
  253. package/dist/heartbeat-visibility-q74UdY8O.js +1 -0
  254. package/dist/help-format-B4aEI7V9.js +1 -0
  255. package/dist/help-format-BRbF_INg.js +1 -0
  256. package/dist/helpers-COz1ghcB.js +1 -0
  257. package/dist/helpers-Cp8gcO6u.js +1 -0
  258. package/dist/hooks-cli-BzyzTNBx.js +1 -0
  259. package/dist/hooks-cli-CsBrScq0.js +1 -0
  260. package/dist/hooks-status-BHt-Xvh4.js +1 -0
  261. package/dist/hooks-status-CRJ4J0ZW.js +1 -0
  262. package/dist/image-BkWwI54C.js +1 -0
  263. package/dist/image-CcVQg-YN.js +1 -0
  264. package/dist/image-Cm1RUBqD.js +1 -0
  265. package/dist/image-DsoO5VP5.js +1 -0
  266. package/dist/index.js +1 -0
  267. package/dist/inspect-BKV-I1UE.js +1 -0
  268. package/dist/inspect-z59cgmYc.js +1 -0
  269. package/dist/install-safe-path-C6kc_8NW.js +1 -0
  270. package/dist/install-safe-path-iesxijn2.js +1 -0
  271. package/dist/installs-BNeI_oML.js +1 -0
  272. package/dist/installs-C1xQLuby.js +1 -0
  273. package/dist/ipv4-BOuNtoGn.js +1 -0
  274. package/dist/ipv4-CWdaEiVH.js +1 -0
  275. package/dist/ir-BF0M2kGp.js +1 -0
  276. package/dist/ir-D8Hh84ab.js +1 -0
  277. package/dist/ir-DBWscfBd.js +1 -0
  278. package/dist/ir-Dk7OQ4bA.js +1 -0
  279. package/dist/is-main-DG5ueqhF.js +1 -0
  280. package/dist/issue-format-BT7cQEt3.js +1 -0
  281. package/dist/issue-format-C_lNzrKa.js +1 -0
  282. package/dist/kill-tree-B3g7HrAO.js +1 -0
  283. package/dist/lifecycle-core-D9KNCvxY.js +1 -0
  284. package/dist/lifecycle-core-LM5UUUB1.js +1 -0
  285. package/dist/line/accounts.js +1 -0
  286. package/dist/line/send.js +1 -0
  287. package/dist/line/template-messages.js +1 -0
  288. package/dist/links-CBnmRP9D.js +1 -0
  289. package/dist/links-CySwdMcF.js +1 -0
  290. package/dist/llm-slug-generator.js +1 -0
  291. package/dist/load-options-BsOW74dp.js +1 -0
  292. package/dist/load-options-C7dLuybp.js +1 -0
  293. package/dist/load-options-DV4j6Aqb.js +1 -0
  294. package/dist/load-options-Dwt0CeEg.js +1 -0
  295. package/dist/local-roots-6waH0SZ0.js +1 -0
  296. package/dist/logger-5W0OocJW.js +1 -0
  297. package/dist/logger-Bl8URnrW.js +1 -0
  298. package/dist/logger-DwWqfo66.js +1 -0
  299. package/dist/logger-kQAOe3qp.js +1 -0
  300. package/dist/logging-Dqe9dxSX.js +1 -0
  301. package/dist/logging-tYw1NbJd.js +1 -0
  302. package/dist/login-BOlqRyr0.js +1 -0
  303. package/dist/login-CkWesqf_.js +1 -0
  304. package/dist/login-Do_NA1Je.js +1 -0
  305. package/dist/login-op9S8yqv.js +1 -0
  306. package/dist/login-qr-B6rxvoTS.js +1 -0
  307. package/dist/login-qr-BGH9zmhw.js +1 -0
  308. package/dist/login-qr-CiENvgog.js +1 -0
  309. package/dist/login-qr-DsV-lxFd.js +1 -0
  310. package/dist/login-qr-QcDMg23y.js +1 -0
  311. package/dist/logs-cli-B4eUg_87.js +1 -0
  312. package/dist/logs-cli-BA3Aso8a.js +1 -0
  313. package/dist/manager-4Y9fRgdw.js +1 -0
  314. package/dist/manager-C2YW7Hkq.js +1 -0
  315. package/dist/manager-Dtd_loL8.js +1 -0
  316. package/dist/manager-M1GKhLUC.js +1 -0
  317. package/dist/memory-cli-XaxtBQm1.js +1 -0
  318. package/dist/memory-cli-jhzJ3as7.js +1 -0
  319. package/dist/model-catalog-C1kpjR75.js +1 -0
  320. package/dist/model-catalog-COVzoZD9.js +1 -0
  321. package/dist/model-param-b-B0r2cPDw.js +1 -0
  322. package/dist/model-param-b-BqIr5rY5.js +1 -0
  323. package/dist/model-picker-D3ZSpr0i.js +1 -0
  324. package/dist/model-picker-bZNuI66U.js +1 -0
  325. package/dist/model-selection-B5JsBS9D.js +1 -0
  326. package/dist/model-selection-BlC_rXAN.js +1 -0
  327. package/dist/model-selection-vfhBuN9O.js +1 -0
  328. package/dist/models-C_Vg3Cty.js +1 -0
  329. package/dist/models-cli-CDZliTXq.js +1 -0
  330. package/dist/models-cli-bGr8jwAb.js +1 -0
  331. package/dist/models-config-CdMhNxKV.js +1 -0
  332. package/dist/models-config-_htt7eY5.js +1 -0
  333. package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -0
  334. package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -0
  335. package/dist/node-cli-5lYbDZ70.js +1 -0
  336. package/dist/node-cli-Br04Qmqo.js +1 -0
  337. package/dist/node-command-policy-CejeQemH.js +1 -0
  338. package/dist/node-command-policy-CqXhdnHh.js +1 -0
  339. package/dist/node-commands-8GBOiktk.js +1 -0
  340. package/dist/node-commands-DdkziOTx.js +1 -0
  341. package/dist/node-resolve-B3BJbmQX.js +1 -0
  342. package/dist/node-resolve-DLZf3-1V.js +1 -0
  343. package/dist/node-service-BRfrNp8l.js +1 -0
  344. package/dist/node-service-C0bl7jcZ.js +1 -0
  345. package/dist/node-shell-DyOfwHrh.js +1 -0
  346. package/dist/nodes-cli-8By8--bW.js +1 -0
  347. package/dist/nodes-cli-zq41EwJN.js +1 -0
  348. package/dist/nodes-screen-DECgxo6A.js +1 -0
  349. package/dist/note-D4GAwgha.js +1 -0
  350. package/dist/note-Dp-d_utk.js +1 -0
  351. package/dist/npm-pack-install-B23L-AtF.js +1 -0
  352. package/dist/npm-pack-install-C0te3Oap.js +1 -0
  353. package/dist/npm-resolution-BnJGLwhi.js +1 -0
  354. package/dist/npm-resolution-DWPloph4.js +1 -0
  355. package/dist/oauth-env-DAamJ1oz.js +1 -0
  356. package/dist/oauth-env-DSLBTWb1.js +1 -0
  357. package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -0
  358. package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -0
  359. package/dist/ollama-setup-BMEKWyIE.js +1 -0
  360. package/dist/ollama-setup-DlwS6Gl-.js +1 -0
  361. package/dist/onboard-B0BNCQaO.js +1 -0
  362. package/dist/onboard-CjVhdaiR.js +1 -0
  363. package/dist/onboard-channels-BMIOddLN.js +1 -0
  364. package/dist/onboard-channels-CZK_7xMR.js +1 -0
  365. package/dist/onboard-config-B7U20YRw.js +1 -0
  366. package/dist/onboard-config-DS9dUv8M.js +1 -0
  367. package/dist/onboard-custom-B03SlEHB.js +1 -0
  368. package/dist/onboard-custom-Bl0y8c-g.js +1 -0
  369. package/dist/onboard-helpers-PGl5bVPE.js +1 -0
  370. package/dist/onboard-helpers-zwybUJWu.js +1 -0
  371. package/dist/onboard-hooks-CERzXObm.js +1 -0
  372. package/dist/onboard-hooks-gQ3sxBNi.js +1 -0
  373. package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -0
  374. package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -0
  375. package/dist/onboard-remote-BOpIRdDu.js +1 -0
  376. package/dist/onboard-remote-DPU-H_2O.js +1 -0
  377. package/dist/onboard-search-f2tJD4hg.js +1 -0
  378. package/dist/onboard-search-fslKKhyg.js +1 -0
  379. package/dist/onboard-skills-BMAJs6ly.js +1 -0
  380. package/dist/onboard-skills-CMSQc2Mm.js +1 -0
  381. package/dist/onboarding-B6ixWwgp.js +1 -0
  382. package/dist/onboarding-ouEqUuUr.js +1 -0
  383. package/dist/onboarding.finalize-Bgat5Npc.js +1 -0
  384. package/dist/onboarding.finalize-DsMVlTcH.js +1 -0
  385. package/dist/onboarding.gateway-config-BtLDJWJ2.js +1 -0
  386. package/dist/onboarding.gateway-config-y3pqsL9i.js +1 -0
  387. package/dist/onboarding.secret-input-BsBgh8Tc.js +1 -0
  388. package/dist/onboarding.secret-input-kO5OzYC7.js +1 -0
  389. package/dist/openai-codex-model-default-DuE2_wN7.js +1 -0
  390. package/dist/openai-codex-model-default-yVfRw-Mm.js +1 -0
  391. package/dist/openai-model-default-Bl8MHPb6.js +1 -0
  392. package/dist/openai-model-default-DJObMvLJ.js +1 -0
  393. package/dist/openclaw-exec-env-BWbOu_YC.js +1 -0
  394. package/dist/openclaw-root-CnsBf6ZU.js +1 -0
  395. package/dist/openclaw-root-D_0Q6--h.js +1 -0
  396. package/dist/outbound-BOSIEiEY.js +1 -0
  397. package/dist/outbound-BtUeDLjU.js +1 -0
  398. package/dist/outbound-Bx2Z2aYK.js +1 -0
  399. package/dist/outbound-Bz8bbrMI.js +1 -0
  400. package/dist/outbound-attachment-B7wMxwj6.js +1 -0
  401. package/dist/outbound-attachment-BgAe99RM.js +1 -0
  402. package/dist/outbound-attachment-Dds8xirj.js +1 -0
  403. package/dist/outbound-attachment-DqEKghQp.js +1 -0
  404. package/dist/pairing-cli-Bya9M-I_.js +1 -0
  405. package/dist/pairing-cli-D2JEhufv.js +1 -0
  406. package/dist/pairing-labels-BUU_-70B.js +1 -0
  407. package/dist/pairing-labels-D-kzQEL2.js +1 -0
  408. package/dist/pairing-store-BH-FTYkn.js +1 -0
  409. package/dist/pairing-store-Cg2UxreQ.js +1 -0
  410. package/dist/pairing-token-BjYBuREl.js +1 -0
  411. package/dist/pairing-token-DAR7V7FJ.js +1 -0
  412. package/dist/parse-duration-XTjMKl8s.js +1 -0
  413. package/dist/parse-finite-number-DqzUM-_s.js +1 -0
  414. package/dist/parse-finite-number-dBmDLLKL.js +1 -0
  415. package/dist/parse-log-line-CsYLg7Qu.js +1 -0
  416. package/dist/parse-log-line-NV-cipB_.js +1 -0
  417. package/dist/parse-port-Bv1Y9Wk5.js +1 -0
  418. package/dist/parse-port-JVwkxcZ8.js +1 -0
  419. package/dist/parse-timeout-DWSGfCkQ.js +1 -0
  420. package/dist/parse-timeout-Dx4QnVzo.js +1 -0
  421. package/dist/path-alias-guards-kY_ZbWs-.js +1 -0
  422. package/dist/path-alias-guards-mvyLCPlN.js +1 -0
  423. package/dist/path-env-BPd1Yd-i.js +1 -0
  424. package/dist/path-env-emdAQejM.js +1 -0
  425. package/dist/path-safety-BukYK8Kd.js +1 -0
  426. package/dist/path-safety-DaaMJFdt.js +1 -0
  427. package/dist/paths-B4IRk3wi.js +1 -0
  428. package/dist/paths-BfjJY2VL.js +1 -0
  429. package/dist/paths-BjD3T_xq.js +1 -0
  430. package/dist/paths-BpQOWYiT.js +1 -0
  431. package/dist/paths-CChBdtE8.js +1 -0
  432. package/dist/paths-CrCoPIVK.js +1 -0
  433. package/dist/paths-piJASC5k.js +1 -0
  434. package/dist/paths-yLEk_25I.js +1 -0
  435. package/dist/pi-embedded-BZSn84Bh.js +1 -0
  436. package/dist/pi-embedded-Dsz7p3MF.js +1 -0
  437. package/dist/pi-model-discovery-BbD1YJNx.js +1 -0
  438. package/dist/pi-model-discovery-CpjYoBQf.js +1 -0
  439. package/dist/pi-model-discovery-DeQdHV8O.js +1 -0
  440. package/dist/pi-model-discovery-Dps1PPWz.js +1 -0
  441. package/dist/pi-tools.before-tool-call.runtime-DseAq0gm.js +1 -0
  442. package/dist/pi-tools.before-tool-call.runtime-KKGILAuK.js +1 -0
  443. package/dist/pi-tools.before-tool-call.runtime-Pck2WdIO.js +1 -0
  444. package/dist/pi-tools.before-tool-call.runtime-ZzMJQ1BP.js +1 -0
  445. package/dist/pi-tools.policy-D40r0HmD.js +1 -0
  446. package/dist/plugin-auto-enable-DpVL6-ES.js +1 -0
  447. package/dist/plugin-auto-enable-NzmNh4oU.js +1 -0
  448. package/dist/plugin-install-plan-BobX0y9S.js +1 -0
  449. package/dist/plugin-install-plan-NvDGp0d8.js +1 -0
  450. package/dist/plugin-registry-C6dY-Et7.js +1 -0
  451. package/dist/plugin-registry-CIBiHZH1.js +1 -0
  452. package/dist/plugin-sdk/account-id.cjs +1 -0
  453. package/dist/plugin-sdk/account-id.js +1 -0
  454. package/dist/plugin-sdk/acpx.cjs +1 -0
  455. package/dist/plugin-sdk/acpx.js +1 -0
  456. package/dist/plugin-sdk/active-listener-BApFQlQn.js +1 -0
  457. package/dist/plugin-sdk/active-listener-BETopzG5.cjs +1 -0
  458. package/dist/plugin-sdk/active-listener-BEcmvyxh.cjs +1 -0
  459. package/dist/plugin-sdk/active-listener-BZPPbsNy.cjs +1 -0
  460. package/dist/plugin-sdk/active-listener-B_Mxemq7.cjs +1 -0
  461. package/dist/plugin-sdk/active-listener-BgW_qfd3.js +1 -0
  462. package/dist/plugin-sdk/active-listener-Coet66pF.cjs +1 -0
  463. package/dist/plugin-sdk/active-listener-CvML9qVF.js +1 -0
  464. package/dist/plugin-sdk/active-listener-DuO6KMXJ.js +1 -0
  465. package/dist/plugin-sdk/active-listener-DymzfmOG.cjs +1 -0
  466. package/dist/plugin-sdk/active-listener-ILBdBHMv.js +1 -0
  467. package/dist/plugin-sdk/active-listener-gRRIfN1q.js +1 -0
  468. package/dist/plugin-sdk/api-key-rotation-Bj1A9Slo.cjs +1 -0
  469. package/dist/plugin-sdk/api-key-rotation-CFPNzksf.cjs +1 -0
  470. package/dist/plugin-sdk/api-key-rotation-CXY0AyM1.js +1 -0
  471. package/dist/plugin-sdk/api-key-rotation-ClIwV8yq.js +1 -0
  472. package/dist/plugin-sdk/api-key-rotation-D5Nr1xl3.js +1 -0
  473. package/dist/plugin-sdk/api-key-rotation-DDCwA0KM.cjs +1 -0
  474. package/dist/plugin-sdk/api-key-rotation-DHMvXm70.cjs +1 -0
  475. package/dist/plugin-sdk/api-key-rotation-DaFFZfk5.js +1 -0
  476. package/dist/plugin-sdk/api-key-rotation-DcREl_0x.js +1 -0
  477. package/dist/plugin-sdk/api-key-rotation-X-5Fb7av.cjs +1 -0
  478. package/dist/plugin-sdk/api-key-rotation-_VfXYfHS.js +1 -0
  479. package/dist/plugin-sdk/api-key-rotation-wFUVOOfM.cjs +1 -0
  480. package/dist/plugin-sdk/audio-preflight-B1MP5_bc.cjs +1 -0
  481. package/dist/plugin-sdk/audio-preflight-BETx142T.cjs +1 -0
  482. package/dist/plugin-sdk/audio-preflight-BGRLhCLc.cjs +1 -0
  483. package/dist/plugin-sdk/audio-preflight-BNICfOY5.cjs +1 -0
  484. package/dist/plugin-sdk/audio-preflight-BV3Cav8M.js +1 -0
  485. package/dist/plugin-sdk/audio-preflight-BmO72Cqr.cjs +1 -0
  486. package/dist/plugin-sdk/audio-preflight-BpE8wFQc.js +1 -0
  487. package/dist/plugin-sdk/audio-preflight-CTAafaiH.js +1 -0
  488. package/dist/plugin-sdk/audio-preflight-D82aewIt.js +1 -0
  489. package/dist/plugin-sdk/audio-preflight-DmzxEaq3.cjs +1 -0
  490. package/dist/plugin-sdk/audio-preflight-DrSIYRnD.js +1 -0
  491. package/dist/plugin-sdk/audio-preflight-SZZoA2Ff.js +1 -0
  492. package/dist/plugin-sdk/audio-transcription-runner-B54MyF1_.js +1 -0
  493. package/dist/plugin-sdk/audio-transcription-runner-BIqM5H5q.js +1 -0
  494. package/dist/plugin-sdk/audio-transcription-runner-BLAxZL-U.js +1 -0
  495. package/dist/plugin-sdk/audio-transcription-runner-BVmaaA2k.js +1 -0
  496. package/dist/plugin-sdk/audio-transcription-runner-BdY-TMcc.js +1 -0
  497. package/dist/plugin-sdk/audio-transcription-runner-By3lSLub.cjs +1 -0
  498. package/dist/plugin-sdk/audio-transcription-runner-CH5CoZrF.cjs +1 -0
  499. package/dist/plugin-sdk/audio-transcription-runner-CMsp7bhn.cjs +1 -0
  500. package/dist/plugin-sdk/audio-transcription-runner-ClGibmMi.cjs +1 -0
  501. package/dist/plugin-sdk/audio-transcription-runner-QfEC19vE.cjs +1 -0
  502. package/dist/plugin-sdk/audio-transcription-runner-g7L0m-Z5.cjs +1 -0
  503. package/dist/plugin-sdk/audio-transcription-runner-pVTD93vq.js +1 -0
  504. package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -0
  505. package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -0
  506. package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -0
  507. package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -0
  508. package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -0
  509. package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -0
  510. package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -0
  511. package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -0
  512. package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -0
  513. package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -0
  514. package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -0
  515. package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -0
  516. package/dist/plugin-sdk/bluebubbles.cjs +1 -0
  517. package/dist/plugin-sdk/bluebubbles.js +1 -0
  518. package/dist/plugin-sdk/channel-activity-BGK-Bj2_.cjs +1 -0
  519. package/dist/plugin-sdk/channel-activity-BRHvpV0C.js +1 -0
  520. package/dist/plugin-sdk/channel-activity-CKfWFchu.js +1 -0
  521. package/dist/plugin-sdk/channel-activity-CLUi31fX.cjs +1 -0
  522. package/dist/plugin-sdk/channel-activity-CVOp-PL4.cjs +1 -0
  523. package/dist/plugin-sdk/channel-activity-CgXnZ0GC.cjs +1 -0
  524. package/dist/plugin-sdk/channel-activity-CmYpOPAn.js +1 -0
  525. package/dist/plugin-sdk/channel-activity-CwaMf9qT.cjs +1 -0
  526. package/dist/plugin-sdk/channel-activity-D5D5tBWf.cjs +1 -0
  527. package/dist/plugin-sdk/channel-activity-D7tpmatp.js +1 -0
  528. package/dist/plugin-sdk/channel-activity-DpxSOlXF.js +1 -0
  529. package/dist/plugin-sdk/channel-activity-spvDzlTl.js +1 -0
  530. package/dist/plugin-sdk/channel-web-4ZQVqsrt.js +1 -0
  531. package/dist/plugin-sdk/channel-web-9zn1Itpg.cjs +1 -0
  532. package/dist/plugin-sdk/channel-web-BrB00HKH.js +1 -0
  533. package/dist/plugin-sdk/channel-web-DN5La-Ol.cjs +1 -0
  534. package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -0
  535. package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -0
  536. package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -0
  537. package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -0
  538. package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -0
  539. package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -0
  540. package/dist/plugin-sdk/commands-registry-5lStNoKW.cjs +1 -0
  541. package/dist/plugin-sdk/commands-registry-C8wnXqNa.cjs +1 -0
  542. package/dist/plugin-sdk/commands-registry-Cnr6PvIw.js +1 -0
  543. package/dist/plugin-sdk/commands-registry-CtYCWfuM.cjs +1 -0
  544. package/dist/plugin-sdk/commands-registry-D2gv242l.js +1 -0
  545. package/dist/plugin-sdk/commands-registry-DI2vPscP.js +1 -0
  546. package/dist/plugin-sdk/commands-registry-DcBvmwSU.js +1 -0
  547. package/dist/plugin-sdk/commands-registry-DkUhCIDk.cjs +1 -0
  548. package/dist/plugin-sdk/commands-registry-DsMbmie-.cjs +1 -0
  549. package/dist/plugin-sdk/commands-registry-MCsWR5Vf.js +1 -0
  550. package/dist/plugin-sdk/commands-registry-SHZVq_qf.cjs +1 -0
  551. package/dist/plugin-sdk/commands-registry-kRjFifgj.js +1 -0
  552. package/dist/plugin-sdk/common-B4iFXuoZ.cjs +1 -0
  553. package/dist/plugin-sdk/common-B6fDMl_i.js +1 -0
  554. package/dist/plugin-sdk/compat.cjs +1 -0
  555. package/dist/plugin-sdk/compat.js +1 -0
  556. package/dist/plugin-sdk/config-ByA2hluR.js +1 -0
  557. package/dist/plugin-sdk/config-rBz8C_Hi.cjs +1 -0
  558. package/dist/plugin-sdk/copilot-proxy.cjs +1 -0
  559. package/dist/plugin-sdk/copilot-proxy.js +1 -0
  560. package/dist/plugin-sdk/core.cjs +1 -0
  561. package/dist/plugin-sdk/core.js +1 -0
  562. package/dist/plugin-sdk/deliver-B0fB4hAV.js +1 -0
  563. package/dist/plugin-sdk/deliver-BOLmjIJ3.js +1 -0
  564. package/dist/plugin-sdk/deliver-BrfVwkYz.cjs +1 -0
  565. package/dist/plugin-sdk/deliver-C-tChWTI.cjs +1 -0
  566. package/dist/plugin-sdk/deliver-CjQPkWS-.cjs +1 -0
  567. package/dist/plugin-sdk/deliver-D1P0FNTu.js +1 -0
  568. package/dist/plugin-sdk/deliver-DCrO9mvv.cjs +1 -0
  569. package/dist/plugin-sdk/deliver-DQLekoj2.cjs +1 -0
  570. package/dist/plugin-sdk/deliver-DkfCVM78.js +1 -0
  571. package/dist/plugin-sdk/deliver-Dkh3lqXR.js +1 -0
  572. package/dist/plugin-sdk/deliver-DsFtXFyr.cjs +1 -0
  573. package/dist/plugin-sdk/deliver-vYe_sYOL.js +1 -0
  574. package/dist/plugin-sdk/device-pair.cjs +1 -0
  575. package/dist/plugin-sdk/device-pair.js +1 -0
  576. package/dist/plugin-sdk/diagnostic-8iX73nz_.cjs +1 -0
  577. package/dist/plugin-sdk/diagnostic-CLUtpxAp.js +1 -0
  578. package/dist/plugin-sdk/diagnostic-CVS4k9hh.cjs +1 -0
  579. package/dist/plugin-sdk/diagnostic-CkePwN5F.js +1 -0
  580. package/dist/plugin-sdk/diagnostic-Cu1PGj0E.cjs +1 -0
  581. package/dist/plugin-sdk/diagnostic-D0oCfBju.cjs +1 -0
  582. package/dist/plugin-sdk/diagnostic-D7A9cQYf.cjs +1 -0
  583. package/dist/plugin-sdk/diagnostic-DGLX0zXU.js +1 -0
  584. package/dist/plugin-sdk/diagnostic-DXscFT8t.cjs +1 -0
  585. package/dist/plugin-sdk/diagnostic-Efe4b81B.js +1 -0
  586. package/dist/plugin-sdk/diagnostic-EqHqw9xo.js +1 -0
  587. package/dist/plugin-sdk/diagnostic-vsjHZ_fY.js +1 -0
  588. package/dist/plugin-sdk/diagnostics-otel.cjs +1 -0
  589. package/dist/plugin-sdk/diagnostics-otel.js +1 -0
  590. package/dist/plugin-sdk/diffs.cjs +1 -0
  591. package/dist/plugin-sdk/diffs.js +1 -0
  592. package/dist/plugin-sdk/discord.cjs +1 -0
  593. package/dist/plugin-sdk/discord.js +1 -0
  594. package/dist/plugin-sdk/dispatch-5v3v8zzA.js +1 -0
  595. package/dist/plugin-sdk/dispatch-B6UbZCpL.cjs +1 -0
  596. package/dist/plugin-sdk/dispatch-BYlcmJ9u.js +1 -0
  597. package/dist/plugin-sdk/dispatch-C2YTqGlf.js +1 -0
  598. package/dist/plugin-sdk/dispatch-CNy3g9ma.cjs +1 -0
  599. package/dist/plugin-sdk/dispatch-DCSwqteL.js +1 -0
  600. package/dist/plugin-sdk/dispatch-DHbSBeFJ.js +1 -0
  601. package/dist/plugin-sdk/dispatch-DK5ub8qa.cjs +1 -0
  602. package/dist/plugin-sdk/dispatch-SWyfAZT0.cjs +1 -0
  603. package/dist/plugin-sdk/dispatch-mR2vLkGa.cjs +1 -0
  604. package/dist/plugin-sdk/feishu.cjs +1 -0
  605. package/dist/plugin-sdk/feishu.js +1 -0
  606. package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -0
  607. package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -0
  608. package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -0
  609. package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -0
  610. package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -0
  611. package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -0
  612. package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -0
  613. package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -0
  614. package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -0
  615. package/dist/plugin-sdk/fetch-BtZY623f.js +1 -0
  616. package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -0
  617. package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -0
  618. package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -0
  619. package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -0
  620. package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -0
  621. package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -0
  622. package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -0
  623. package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -0
  624. package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -0
  625. package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -0
  626. package/dist/plugin-sdk/fetch-guard-8I7EHbDM.cjs +1 -0
  627. package/dist/plugin-sdk/fetch-guard-CIJUkBIL.cjs +1 -0
  628. package/dist/plugin-sdk/fetch-guard-CY03i4gu.js +1 -0
  629. package/dist/plugin-sdk/fetch-guard-Cz-cgYmR.cjs +1 -0
  630. package/dist/plugin-sdk/fetch-guard-DB85MORy.cjs +1 -0
  631. package/dist/plugin-sdk/fetch-guard-DE9BslxX.js +1 -0
  632. package/dist/plugin-sdk/fetch-guard-DLNzldn9.cjs +1 -0
  633. package/dist/plugin-sdk/fetch-guard-DSvAbvSx.js +1 -0
  634. package/dist/plugin-sdk/fetch-guard-DXe8oqEE.js +1 -0
  635. package/dist/plugin-sdk/fetch-guard-DY9jpsXo.cjs +1 -0
  636. package/dist/plugin-sdk/fetch-guard-DbOZYxyN.js +1 -0
  637. package/dist/plugin-sdk/fetch-guard-_fifU0fX.js +1 -0
  638. package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -0
  639. package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -0
  640. package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -0
  641. package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -0
  642. package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -0
  643. package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -0
  644. package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -0
  645. package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -0
  646. package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -0
  647. package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -0
  648. package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -0
  649. package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -0
  650. package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -0
  651. package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -0
  652. package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -0
  653. package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -0
  654. package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -0
  655. package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -0
  656. package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -0
  657. package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -0
  658. package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -0
  659. package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -0
  660. package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -0
  661. package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -0
  662. package/dist/plugin-sdk/googlechat.cjs +1 -0
  663. package/dist/plugin-sdk/googlechat.js +1 -0
  664. package/dist/plugin-sdk/image-B6HEHWlJ.js +1 -0
  665. package/dist/plugin-sdk/image-Bte8cr4F.js +1 -0
  666. package/dist/plugin-sdk/image-BxafJgQ6.cjs +1 -0
  667. package/dist/plugin-sdk/image-CDI5SqeR.js +1 -0
  668. package/dist/plugin-sdk/image-CTgwucug.cjs +1 -0
  669. package/dist/plugin-sdk/image-CWnsS03L.js +1 -0
  670. package/dist/plugin-sdk/image-CoksjGBL.cjs +1 -0
  671. package/dist/plugin-sdk/image-CuOIoxl2.cjs +1 -0
  672. package/dist/plugin-sdk/image-DJyEMzkq.cjs +1 -0
  673. package/dist/plugin-sdk/image-DegWnAZU.cjs +1 -0
  674. package/dist/plugin-sdk/image-TCSQZpr6.js +1 -0
  675. package/dist/plugin-sdk/image-aG-5S1vd.js +1 -0
  676. package/dist/plugin-sdk/imessage.cjs +1 -0
  677. package/dist/plugin-sdk/imessage.js +1 -0
  678. package/dist/plugin-sdk/index.cjs +1 -0
  679. package/dist/plugin-sdk/index.js +1 -0
  680. package/dist/plugin-sdk/ir-8rDh7div.js +1 -0
  681. package/dist/plugin-sdk/ir-Bh6lKGdS.js +1 -0
  682. package/dist/plugin-sdk/ir-C3VNqnc2.cjs +1 -0
  683. package/dist/plugin-sdk/ir-CZOtKajq.cjs +1 -0
  684. package/dist/plugin-sdk/ir-CveCWs8q.cjs +1 -0
  685. package/dist/plugin-sdk/ir-DAxY-7c1.cjs +1 -0
  686. package/dist/plugin-sdk/ir-DSuLr2UE.cjs +1 -0
  687. package/dist/plugin-sdk/ir-DanxCjD-.cjs +1 -0
  688. package/dist/plugin-sdk/ir-Dgc6qZMX.js +1 -0
  689. package/dist/plugin-sdk/ir-OBi5zaEW.js +1 -0
  690. package/dist/plugin-sdk/ir-hQ6EW92h.js +1 -0
  691. package/dist/plugin-sdk/ir-ynWQeZD9.js +1 -0
  692. package/dist/plugin-sdk/irc.cjs +1 -0
  693. package/dist/plugin-sdk/irc.js +1 -0
  694. package/dist/plugin-sdk/keyed-async-queue.cjs +1 -0
  695. package/dist/plugin-sdk/keyed-async-queue.js +1 -0
  696. package/dist/plugin-sdk/line.cjs +1 -0
  697. package/dist/plugin-sdk/line.js +1 -0
  698. package/dist/plugin-sdk/llm-task.cjs +1 -0
  699. package/dist/plugin-sdk/llm-task.js +1 -0
  700. package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -0
  701. package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -0
  702. package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -0
  703. package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -0
  704. package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -0
  705. package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -0
  706. package/dist/plugin-sdk/lobster.cjs +1 -0
  707. package/dist/plugin-sdk/lobster.js +1 -0
  708. package/dist/plugin-sdk/local-roots-5udQUs81.js +1 -0
  709. package/dist/plugin-sdk/local-roots-BmhNPIJm.cjs +1 -0
  710. package/dist/plugin-sdk/local-roots-C5UoE741.cjs +1 -0
  711. package/dist/plugin-sdk/local-roots-Ca8KoAAp.js +1 -0
  712. package/dist/plugin-sdk/local-roots-CeAYfmPb.cjs +1 -0
  713. package/dist/plugin-sdk/local-roots-Cu7YCpql.cjs +1 -0
  714. package/dist/plugin-sdk/local-roots-D0yN794S.js +1 -0
  715. package/dist/plugin-sdk/local-roots-D4i3H0UG.cjs +1 -0
  716. package/dist/plugin-sdk/local-roots-DGe-SRNu.js +1 -0
  717. package/dist/plugin-sdk/local-roots-bWA2msT0.js +1 -0
  718. package/dist/plugin-sdk/local-roots-tee85Q-1.js +1 -0
  719. package/dist/plugin-sdk/local-roots-wTkpE7go.cjs +1 -0
  720. package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -0
  721. package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -0
  722. package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -0
  723. package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -0
  724. package/dist/plugin-sdk/logger-C210xuWx.js +1 -0
  725. package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -0
  726. package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -0
  727. package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -0
  728. package/dist/plugin-sdk/logger-DwWqfo66.js +1 -0
  729. package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -0
  730. package/dist/plugin-sdk/login-B5IwNcl4.cjs +1 -0
  731. package/dist/plugin-sdk/login-BIbt7ZL_.js +1 -0
  732. package/dist/plugin-sdk/login-CxnDKwXC.js +1 -0
  733. package/dist/plugin-sdk/login-D5iTWowo.cjs +1 -0
  734. package/dist/plugin-sdk/login-DHE1rzB1.js +1 -0
  735. package/dist/plugin-sdk/login-DIPBcPQc.cjs +1 -0
  736. package/dist/plugin-sdk/login-DtDOozuU.js +1 -0
  737. package/dist/plugin-sdk/login-UrWNtI80.cjs +1 -0
  738. package/dist/plugin-sdk/login-VviMkBU2.js +1 -0
  739. package/dist/plugin-sdk/login-jQwwt6C-.js +1 -0
  740. package/dist/plugin-sdk/login-mGjCzJzb.cjs +1 -0
  741. package/dist/plugin-sdk/login-pZnnpj38.cjs +1 -0
  742. package/dist/plugin-sdk/login-qr-BexuTIDJ.cjs +1 -0
  743. package/dist/plugin-sdk/login-qr-C366Qlh-.cjs +1 -0
  744. package/dist/plugin-sdk/login-qr-CQY4ty0o.js +1 -0
  745. package/dist/plugin-sdk/login-qr-CSabEb-n.cjs +1 -0
  746. package/dist/plugin-sdk/login-qr-CUgNKijx.js +1 -0
  747. package/dist/plugin-sdk/login-qr-C_LEw1Bi.js +1 -0
  748. package/dist/plugin-sdk/login-qr-CcPvldsG.js +1 -0
  749. package/dist/plugin-sdk/login-qr-CnNGKwDR.cjs +1 -0
  750. package/dist/plugin-sdk/login-qr-DQm50pXk.js +1 -0
  751. package/dist/plugin-sdk/login-qr-DayvAWkx.js +1 -0
  752. package/dist/plugin-sdk/login-qr-eodIsL9V.cjs +1 -0
  753. package/dist/plugin-sdk/login-qr-yIJE7MmY.cjs +1 -0
  754. package/dist/plugin-sdk/manager-932XljTT.js +1 -0
  755. package/dist/plugin-sdk/manager-CGHd5p2T.js +1 -0
  756. package/dist/plugin-sdk/manager-CbGA_JDa.js +1 -0
  757. package/dist/plugin-sdk/manager-CdD7HaGW.cjs +1 -0
  758. package/dist/plugin-sdk/manager-CmAH_a7A.cjs +1 -0
  759. package/dist/plugin-sdk/manager-DIS4ywpb.cjs +1 -0
  760. package/dist/plugin-sdk/manager-DQ2C-2IU.cjs +1 -0
  761. package/dist/plugin-sdk/manager-DdvFnsT7.cjs +1 -0
  762. package/dist/plugin-sdk/manager-DfdDglld.js +1 -0
  763. package/dist/plugin-sdk/manager-MR9stU_p.js +1 -0
  764. package/dist/plugin-sdk/manager-WwW37IUu.js +1 -0
  765. package/dist/plugin-sdk/manager-gE9187gu.cjs +1 -0
  766. package/dist/plugin-sdk/matrix.cjs +1 -0
  767. package/dist/plugin-sdk/matrix.js +1 -0
  768. package/dist/plugin-sdk/mattermost.cjs +1 -0
  769. package/dist/plugin-sdk/mattermost.js +1 -0
  770. package/dist/plugin-sdk/memory-core.cjs +1 -0
  771. package/dist/plugin-sdk/memory-core.js +1 -0
  772. package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -0
  773. package/dist/plugin-sdk/minimax-portal-auth.js +1 -0
  774. package/dist/plugin-sdk/model-auth-BpS4IWDi.cjs +1 -0
  775. package/dist/plugin-sdk/model-auth-BwajGuoF.cjs +1 -0
  776. package/dist/plugin-sdk/model-auth-C1YL9HcW.js +1 -0
  777. package/dist/plugin-sdk/model-auth-Cc-8H6Cu.js +1 -0
  778. package/dist/plugin-sdk/model-auth-Cw3fuhm_.js +1 -0
  779. package/dist/plugin-sdk/model-auth-CycDtQl-.js +1 -0
  780. package/dist/plugin-sdk/model-auth-D-7xiXhK.cjs +1 -0
  781. package/dist/plugin-sdk/model-auth-TFUxaK0f.cjs +1 -0
  782. package/dist/plugin-sdk/model-selection-BADTZM9n.cjs +1 -0
  783. package/dist/plugin-sdk/model-selection-DUAudCtL.js +1 -0
  784. package/dist/plugin-sdk/msteams.cjs +1 -0
  785. package/dist/plugin-sdk/msteams.js +1 -0
  786. package/dist/plugin-sdk/nextcloud-talk.cjs +1 -0
  787. package/dist/plugin-sdk/nextcloud-talk.js +1 -0
  788. package/dist/plugin-sdk/nostr.cjs +1 -0
  789. package/dist/plugin-sdk/nostr.js +1 -0
  790. package/dist/plugin-sdk/outbound-2Lo6mZEY.js +1 -0
  791. package/dist/plugin-sdk/outbound-9XFlZzaF.cjs +1 -0
  792. package/dist/plugin-sdk/outbound-BlWsUmjQ.js +1 -0
  793. package/dist/plugin-sdk/outbound-Bs2rUcWZ.cjs +1 -0
  794. package/dist/plugin-sdk/outbound-C18nEOFP.js +1 -0
  795. package/dist/plugin-sdk/outbound-CW3o4Eng.cjs +1 -0
  796. package/dist/plugin-sdk/outbound-CzsdW5sy.js +1 -0
  797. package/dist/plugin-sdk/outbound-DcP22VOo.cjs +1 -0
  798. package/dist/plugin-sdk/outbound-QhOJAEO8.cjs +1 -0
  799. package/dist/plugin-sdk/outbound-attachment-1pf06Oiu.cjs +1 -0
  800. package/dist/plugin-sdk/outbound-attachment-B8-ZVX2i.cjs +1 -0
  801. package/dist/plugin-sdk/outbound-attachment-BDwI_tn0.cjs +1 -0
  802. package/dist/plugin-sdk/outbound-attachment-BXhbJils.js +1 -0
  803. package/dist/plugin-sdk/outbound-attachment-Bgf1pCh8.js +1 -0
  804. package/dist/plugin-sdk/outbound-attachment-COgf85S8.cjs +1 -0
  805. package/dist/plugin-sdk/outbound-attachment-CfN9OvMC.js +1 -0
  806. package/dist/plugin-sdk/outbound-attachment-CftilZWd.js +1 -0
  807. package/dist/plugin-sdk/outbound-attachment-Cujprd6T.cjs +1 -0
  808. package/dist/plugin-sdk/outbound-attachment-CvSHb9ci.js +1 -0
  809. package/dist/plugin-sdk/outbound-attachment-DQYtdTUw.js +1 -0
  810. package/dist/plugin-sdk/outbound-attachment-FqWC0WJx.cjs +1 -0
  811. package/dist/plugin-sdk/outbound-dTvIiFIZ.js +1 -0
  812. package/dist/plugin-sdk/outbound-fZ1WJGfe.cjs +1 -0
  813. package/dist/plugin-sdk/outbound-oHoWYWxf.js +1 -0
  814. package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -0
  815. package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -0
  816. package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -0
  817. package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -0
  818. package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -0
  819. package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -0
  820. package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -0
  821. package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -0
  822. package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -0
  823. package/dist/plugin-sdk/paths-CtrEseGU.js +1 -0
  824. package/dist/plugin-sdk/paths-D55o_j8-.js +1 -0
  825. package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -0
  826. package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -0
  827. package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -0
  828. package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -0
  829. package/dist/plugin-sdk/paths-Do0djuaj.js +1 -0
  830. package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -0
  831. package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -0
  832. package/dist/plugin-sdk/paths-piJASC5k.js +1 -0
  833. package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -0
  834. package/dist/plugin-sdk/pi-model-discovery-B9boErNZ.cjs +1 -0
  835. package/dist/plugin-sdk/pi-model-discovery-BJ8wTgFH.cjs +1 -0
  836. package/dist/plugin-sdk/pi-model-discovery-Bb2vCP6M.js +1 -0
  837. package/dist/plugin-sdk/pi-model-discovery-Bor7jHYd.js +1 -0
  838. package/dist/plugin-sdk/pi-model-discovery-BrTw1qE2.cjs +1 -0
  839. package/dist/plugin-sdk/pi-model-discovery-BuEMyAsU.js +1 -0
  840. package/dist/plugin-sdk/pi-model-discovery-CV9NTjC4.js +1 -0
  841. package/dist/plugin-sdk/pi-model-discovery-D5tLf04u.js +1 -0
  842. package/dist/plugin-sdk/pi-model-discovery-D5xlUS2J.cjs +1 -0
  843. package/dist/plugin-sdk/pi-model-discovery-DGoPUzBj.cjs +1 -0
  844. package/dist/plugin-sdk/pi-model-discovery-DMrqvV1O.cjs +1 -0
  845. package/dist/plugin-sdk/pi-model-discovery-DoY7qnlI.cjs +1 -0
  846. package/dist/plugin-sdk/pi-model-discovery-Dqq9Vm8o.js +1 -0
  847. package/dist/plugin-sdk/pi-model-discovery-zCuISPPq.js +1 -0
  848. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-4238P8NF.js +1 -0
  849. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BEoqzgFe.cjs +1 -0
  850. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BGPjibRD.js +1 -0
  851. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BJ_amISU.cjs +1 -0
  852. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BX2r_qPT.cjs +1 -0
  853. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CGLHFxSr.js +1 -0
  854. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsNn_Lv8.js +1 -0
  855. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsiKBTHg.cjs +1 -0
  856. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CuXQQk4F.cjs +1 -0
  857. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DNatrz-3.cjs +1 -0
  858. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-PApjB0tY.js +1 -0
  859. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-xsXDBYNq.js +1 -0
  860. package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -0
  861. package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -0
  862. package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -0
  863. package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -0
  864. package/dist/plugin-sdk/polls-PGxiE05J.js +1 -0
  865. package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -0
  866. package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -0
  867. package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -0
  868. package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -0
  869. package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -0
  870. package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -0
  871. package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -0
  872. package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -0
  873. package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -0
  874. package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -0
  875. package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -0
  876. package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -0
  877. package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -0
  878. package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -0
  879. package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -0
  880. package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -0
  881. package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -0
  882. package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -0
  883. package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -0
  884. package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -0
  885. package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -0
  886. package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -0
  887. package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -0
  888. package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -0
  889. package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -0
  890. package/dist/plugin-sdk/pw-ai-B0_rvdfF.js +1 -0
  891. package/dist/plugin-sdk/pw-ai-BqdrA15F.js +1 -0
  892. package/dist/plugin-sdk/pw-ai-CDzxu5B3.js +1 -0
  893. package/dist/plugin-sdk/pw-ai-CJIogpwF.cjs +1 -0
  894. package/dist/plugin-sdk/pw-ai-CL_gU5PJ.cjs +1 -0
  895. package/dist/plugin-sdk/pw-ai-Ca4aZTaG.cjs +1 -0
  896. package/dist/plugin-sdk/pw-ai-CrfYxLI8.cjs +1 -0
  897. package/dist/plugin-sdk/pw-ai-DCiFlwP8.js +1 -0
  898. package/dist/plugin-sdk/pw-ai-DSqXNmNZ.js +1 -0
  899. package/dist/plugin-sdk/pw-ai-Dh55xTz1.cjs +1 -0
  900. package/dist/plugin-sdk/pw-ai-DxAvipyK.cjs +1 -0
  901. package/dist/plugin-sdk/pw-ai-U9nPHH-0.js +1 -0
  902. package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -0
  903. package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -0
  904. package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -0
  905. package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -0
  906. package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -0
  907. package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -0
  908. package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -0
  909. package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -0
  910. package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -0
  911. package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -0
  912. package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -0
  913. package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -0
  914. package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -0
  915. package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -0
  916. package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -0
  917. package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -0
  918. package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -0
  919. package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -0
  920. package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -0
  921. package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -0
  922. package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -0
  923. package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -0
  924. package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -0
  925. package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -0
  926. package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -0
  927. package/dist/plugin-sdk/qwen-portal-auth.js +1 -0
  928. package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -0
  929. package/dist/plugin-sdk/render-CBsnn-2A.js +1 -0
  930. package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -0
  931. package/dist/plugin-sdk/render-DGmfCIRG.js +1 -0
  932. package/dist/plugin-sdk/render-DhTJXP1U.js +1 -0
  933. package/dist/plugin-sdk/render-Djx15dPh.js +1 -0
  934. package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -0
  935. package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -0
  936. package/dist/plugin-sdk/reply-0zCEbT4w.cjs +1 -0
  937. package/dist/plugin-sdk/reply-D-f2bbXy.js +1 -0
  938. package/dist/plugin-sdk/resolve-outbound-target-CrQGbaua.js +1 -0
  939. package/dist/plugin-sdk/resolve-outbound-target-H7Q9HcfW.js +1 -0
  940. package/dist/plugin-sdk/resolve-outbound-target-MS6Xpp17.cjs +1 -0
  941. package/dist/plugin-sdk/resolve-outbound-target-cDxjy3TL.cjs +1 -0
  942. package/dist/plugin-sdk/send-3VNTSIhr.js +1 -0
  943. package/dist/plugin-sdk/send-61GHLNYP.cjs +1 -0
  944. package/dist/plugin-sdk/send-6q4owAw0.js +1 -0
  945. package/dist/plugin-sdk/send-A2s5sPTd.js +1 -0
  946. package/dist/plugin-sdk/send-B2qa7CSk.js +1 -0
  947. package/dist/plugin-sdk/send-B3aEYvqG.cjs +1 -0
  948. package/dist/plugin-sdk/send-BAoqP09M.cjs +1 -0
  949. package/dist/plugin-sdk/send-BNBJ4CF8.js +1 -0
  950. package/dist/plugin-sdk/send-BTE2rI1E.js +1 -0
  951. package/dist/plugin-sdk/send-BlWuQHYB.js +1 -0
  952. package/dist/plugin-sdk/send-Bnvt7ZUE.cjs +1 -0
  953. package/dist/plugin-sdk/send-Bq6Mqs9G.cjs +1 -0
  954. package/dist/plugin-sdk/send-Bq787fi_.js +1 -0
  955. package/dist/plugin-sdk/send-BrAHLYBR.js +1 -0
  956. package/dist/plugin-sdk/send-Bt2eFBk2.js +1 -0
  957. package/dist/plugin-sdk/send-C4ZFbUux.js +1 -0
  958. package/dist/plugin-sdk/send-C4cyMW4S.cjs +1 -0
  959. package/dist/plugin-sdk/send-C8f5H4XV.cjs +1 -0
  960. package/dist/plugin-sdk/send-CDwTrbgT.cjs +1 -0
  961. package/dist/plugin-sdk/send-CEfs0Fsr.js +1 -0
  962. package/dist/plugin-sdk/send-CFuJjCNB.cjs +1 -0
  963. package/dist/plugin-sdk/send-CJGLeSJ8.cjs +1 -0
  964. package/dist/plugin-sdk/send-CL0W7jLW.js +1 -0
  965. package/dist/plugin-sdk/send-CLl490Gb.cjs +1 -0
  966. package/dist/plugin-sdk/send-CQtITZ7k.cjs +1 -0
  967. package/dist/plugin-sdk/send-CSGh_GVr.cjs +1 -0
  968. package/dist/plugin-sdk/send-CicLiXB4.js +1 -0
  969. package/dist/plugin-sdk/send-Cm7bEwx-.cjs +1 -0
  970. package/dist/plugin-sdk/send-CmO9z2-b.js +1 -0
  971. package/dist/plugin-sdk/send-Co_Wy2kT.cjs +1 -0
  972. package/dist/plugin-sdk/send-Cox_iyYB.cjs +1 -0
  973. package/dist/plugin-sdk/send-CuX4LcJ3.cjs +1 -0
  974. package/dist/plugin-sdk/send-CxMiTtxI.cjs +1 -0
  975. package/dist/plugin-sdk/send-CyyzWwDr.js +1 -0
  976. package/dist/plugin-sdk/send-D-HZnehy.cjs +1 -0
  977. package/dist/plugin-sdk/send-D-qD7BCb.js +1 -0
  978. package/dist/plugin-sdk/send-D3imkSlz.cjs +1 -0
  979. package/dist/plugin-sdk/send-D5UwpCoU.cjs +1 -0
  980. package/dist/plugin-sdk/send-D75OGJco.js +1 -0
  981. package/dist/plugin-sdk/send-DB4i1kUy.cjs +1 -0
  982. package/dist/plugin-sdk/send-DBjzdBda.cjs +1 -0
  983. package/dist/plugin-sdk/send-DPgRTM8s.js +1 -0
  984. package/dist/plugin-sdk/send-DPpBLiL4.js +1 -0
  985. package/dist/plugin-sdk/send-DV_afQnj.cjs +1 -0
  986. package/dist/plugin-sdk/send-DWuChr46.js +1 -0
  987. package/dist/plugin-sdk/send-DZ4szmEa.cjs +1 -0
  988. package/dist/plugin-sdk/send-DZr98eqE.cjs +1 -0
  989. package/dist/plugin-sdk/send-D_1K0zmx.cjs +1 -0
  990. package/dist/plugin-sdk/send-DaLB9Lca.js +1 -0
  991. package/dist/plugin-sdk/send-De4qiprb.js +1 -0
  992. package/dist/plugin-sdk/send-DeU-T5ps.js +1 -0
  993. package/dist/plugin-sdk/send-DtjJM0LO.js +1 -0
  994. package/dist/plugin-sdk/send-DvDCmTQf.js +1 -0
  995. package/dist/plugin-sdk/send-EvcsiFBC.cjs +1 -0
  996. package/dist/plugin-sdk/send-GuISe9C82.js +1 -0
  997. package/dist/plugin-sdk/send-IoGcE0w2.js +1 -0
  998. package/dist/plugin-sdk/send-JVdUTsN1.cjs +1 -0
  999. package/dist/plugin-sdk/send-NpNVFRmY.js +1 -0
  1000. package/dist/plugin-sdk/send-XMOZsJcs.js +1 -0
  1001. package/dist/plugin-sdk/send-h--iKoQE.cjs +1 -0
  1002. package/dist/plugin-sdk/session-8BcB905y.cjs +1 -0
  1003. package/dist/plugin-sdk/session-B2oURX5K.js +1 -0
  1004. package/dist/plugin-sdk/session-BJhNqIOi.js +1 -0
  1005. package/dist/plugin-sdk/session-BRgGsw96.cjs +1 -0
  1006. package/dist/plugin-sdk/session-Be_7rXAz.js +1 -0
  1007. package/dist/plugin-sdk/session-C66IXbE-.js +1 -0
  1008. package/dist/plugin-sdk/session-CCYDbcyV.js +1 -0
  1009. package/dist/plugin-sdk/session-CHu3C2m0.cjs +1 -0
  1010. package/dist/plugin-sdk/session-DUlmK2IL.cjs +1 -0
  1011. package/dist/plugin-sdk/session-DxTRZTnu.js +1 -0
  1012. package/dist/plugin-sdk/session-DzhI0nj-.cjs +1 -0
  1013. package/dist/plugin-sdk/session-WRCBgAzG.cjs +1 -0
  1014. package/dist/plugin-sdk/sessions-DxXXAfdI.js +1 -0
  1015. package/dist/plugin-sdk/sessions-Dz5JUL8j.cjs +1 -0
  1016. package/dist/plugin-sdk/signal.cjs +1 -0
  1017. package/dist/plugin-sdk/signal.js +1 -0
  1018. package/dist/plugin-sdk/skill-commands-B4wI8ETo.cjs +1 -0
  1019. package/dist/plugin-sdk/skill-commands-BoTeA376.cjs +1 -0
  1020. package/dist/plugin-sdk/skill-commands-BwrYJu7Z.js +1 -0
  1021. package/dist/plugin-sdk/skill-commands-BzkMuA58.cjs +1 -0
  1022. package/dist/plugin-sdk/skill-commands-CIAf9cWN.cjs +1 -0
  1023. package/dist/plugin-sdk/skill-commands-CKc7JO_c.cjs +1 -0
  1024. package/dist/plugin-sdk/skill-commands-Cvb6oXym.js +1 -0
  1025. package/dist/plugin-sdk/skill-commands-DWDtyCtB.js +1 -0
  1026. package/dist/plugin-sdk/skill-commands-Hmuw0PPK.js +1 -0
  1027. package/dist/plugin-sdk/skill-commands-KyN0FGaC.cjs +1 -0
  1028. package/dist/plugin-sdk/skill-commands-KzwEqk5p.js +1 -0
  1029. package/dist/plugin-sdk/skill-commands-Ny38ZFIC.js +1 -0
  1030. package/dist/plugin-sdk/slack.cjs +1 -0
  1031. package/dist/plugin-sdk/slack.js +1 -0
  1032. package/dist/plugin-sdk/synology-chat.cjs +1 -0
  1033. package/dist/plugin-sdk/synology-chat.js +1 -0
  1034. package/dist/plugin-sdk/tables-BIDWwpX8.js +1 -0
  1035. package/dist/plugin-sdk/tables-Bk8lHaPx.cjs +1 -0
  1036. package/dist/plugin-sdk/tables-BlNIkMV8.js +1 -0
  1037. package/dist/plugin-sdk/tables-Bp0a2WRP.cjs +1 -0
  1038. package/dist/plugin-sdk/tables-BtVUf77b.cjs +1 -0
  1039. package/dist/plugin-sdk/tables-C4j5Bar_.js +1 -0
  1040. package/dist/plugin-sdk/tables-CZGtYzDC.cjs +1 -0
  1041. package/dist/plugin-sdk/tables-CnrHab5d.cjs +1 -0
  1042. package/dist/plugin-sdk/tables-DtslIPYw.js +1 -0
  1043. package/dist/plugin-sdk/tables-NrdtIJGp.cjs +1 -0
  1044. package/dist/plugin-sdk/tables-XYb3T-vE.js +1 -0
  1045. package/dist/plugin-sdk/tables-lbv-0tl3.js +1 -0
  1046. package/dist/plugin-sdk/target-errors-9cdJA1L2.cjs +1 -0
  1047. package/dist/plugin-sdk/target-errors-BEkhKWCq.cjs +1 -0
  1048. package/dist/plugin-sdk/target-errors-BZRN-lPd.js +1 -0
  1049. package/dist/plugin-sdk/target-errors-BrwqillR.cjs +1 -0
  1050. package/dist/plugin-sdk/target-errors-Buo5pfom.js +1 -0
  1051. package/dist/plugin-sdk/target-errors-CFzzcffg.js +1 -0
  1052. package/dist/plugin-sdk/target-errors-DFmK5loi.js +1 -0
  1053. package/dist/plugin-sdk/target-errors-DXqwykNX.js +1 -0
  1054. package/dist/plugin-sdk/target-errors-Dd6CopYF.cjs +1 -0
  1055. package/dist/plugin-sdk/target-errors-DeNJ10ks.cjs +1 -0
  1056. package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -0
  1057. package/dist/plugin-sdk/targets-BSkiizml.js +1 -0
  1058. package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -0
  1059. package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -0
  1060. package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -0
  1061. package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -0
  1062. package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -0
  1063. package/dist/plugin-sdk/targets-CrkJkzil.js +1 -0
  1064. package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -0
  1065. package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -0
  1066. package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -0
  1067. package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -0
  1068. package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -0
  1069. package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -0
  1070. package/dist/plugin-sdk/telegram.cjs +1 -0
  1071. package/dist/plugin-sdk/telegram.js +1 -0
  1072. package/dist/plugin-sdk/test-utils.cjs +1 -0
  1073. package/dist/plugin-sdk/test-utils.js +1 -0
  1074. package/dist/plugin-sdk/tlon.cjs +1 -0
  1075. package/dist/plugin-sdk/tlon.js +1 -0
  1076. package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -0
  1077. package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -0
  1078. package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -0
  1079. package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -0
  1080. package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -0
  1081. package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -0
  1082. package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -0
  1083. package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -0
  1084. package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -0
  1085. package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -0
  1086. package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -0
  1087. package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -0
  1088. package/dist/plugin-sdk/twitch.cjs +1 -0
  1089. package/dist/plugin-sdk/twitch.js +1 -0
  1090. package/dist/plugin-sdk/utils-BJtJR72k.js +1 -0
  1091. package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -0
  1092. package/dist/plugin-sdk/voice-call.cjs +1 -0
  1093. package/dist/plugin-sdk/voice-call.js +1 -0
  1094. package/dist/plugin-sdk/web-B-QDcVRv.cjs +1 -0
  1095. package/dist/plugin-sdk/web-B2PwjHsu.cjs +1 -0
  1096. package/dist/plugin-sdk/web-BdnQzLgF.js +1 -0
  1097. package/dist/plugin-sdk/web-C9T7tf6w.js +1 -0
  1098. package/dist/plugin-sdk/web-CODD4ksc.cjs +1 -0
  1099. package/dist/plugin-sdk/web-CkdCvvR-.js +1 -0
  1100. package/dist/plugin-sdk/web-_tj8xNZE.js +1 -0
  1101. package/dist/plugin-sdk/web-pcTha_l7.cjs +1 -0
  1102. package/dist/plugin-sdk/weixin.cjs +1 -0
  1103. package/dist/plugin-sdk/weixin.js +1 -0
  1104. package/dist/plugin-sdk/whatsapp-actions-Bhz2j1uz.cjs +1 -0
  1105. package/dist/plugin-sdk/whatsapp-actions-Bm2UyRYg.cjs +1 -0
  1106. package/dist/plugin-sdk/whatsapp-actions-Bolz0jl5.js +1 -0
  1107. package/dist/plugin-sdk/whatsapp-actions-CJ3LDpaG.js +1 -0
  1108. package/dist/plugin-sdk/whatsapp-actions-CL1Gmkb0.js +1 -0
  1109. package/dist/plugin-sdk/whatsapp-actions-D-bZRT7s.js +1 -0
  1110. package/dist/plugin-sdk/whatsapp-actions-DSGTTE8M.cjs +1 -0
  1111. package/dist/plugin-sdk/whatsapp-actions-DjQxgMpW.cjs +1 -0
  1112. package/dist/plugin-sdk/whatsapp-actions-DrPBBi5t.cjs +1 -0
  1113. package/dist/plugin-sdk/whatsapp-actions-DtK657CZ.cjs +1 -0
  1114. package/dist/plugin-sdk/whatsapp-actions-Xwev51_N.js +1 -0
  1115. package/dist/plugin-sdk/whatsapp-actions-m7vLtNAA.js +1 -0
  1116. package/dist/plugin-sdk/whatsapp.cjs +1 -0
  1117. package/dist/plugin-sdk/whatsapp.js +1 -0
  1118. package/dist/plugin-sdk/zalo.cjs +1 -0
  1119. package/dist/plugin-sdk/zalo.js +1 -0
  1120. package/dist/plugin-sdk/zalouser.cjs +1 -0
  1121. package/dist/plugin-sdk/zalouser.js +1 -0
  1122. package/dist/plugins-CYLrFT4h.js +1 -0
  1123. package/dist/plugins-DNlgeTTc.js +1 -0
  1124. package/dist/plugins-cli-BbjMbzJU.js +1 -0
  1125. package/dist/plugins-cli-BiVMAr5T.js +1 -0
  1126. package/dist/polls-BIVz6a4F.js +1 -0
  1127. package/dist/polls-Bh5wc9-6.js +1 -0
  1128. package/dist/polls-C_XSFz3d.js +1 -0
  1129. package/dist/polls-DKJOFSzJ.js +1 -0
  1130. package/dist/ports-B0XdGTfS.js +1 -0
  1131. package/dist/ports-BR0PLRtq.js +1 -0
  1132. package/dist/probe-auth-BMA0yM94.js +1 -0
  1133. package/dist/probe-auth-VI96zmTK.js +1 -0
  1134. package/dist/profile-utils-CWmra1aY.js +1 -0
  1135. package/dist/program-BrAZTwFr.js +1 -0
  1136. package/dist/program-context-B9ydtPje.js +1 -0
  1137. package/dist/program-context-CH9p6anW.js +1 -0
  1138. package/dist/progress-LNttnI-y.js +1 -0
  1139. package/dist/progress-d1m2sqR1.js +1 -0
  1140. package/dist/prompt-select-styled-BeJNbzSa.js +1 -0
  1141. package/dist/prompt-select-styled-DIOWLjl0.js +1 -0
  1142. package/dist/prompt-style-BThRSQJR.js +1 -0
  1143. package/dist/prompt-style-CXKekIBY.js +1 -0
  1144. package/dist/prompts-CMzglboN.js +1 -0
  1145. package/dist/prompts-wv-lfVrJ.js +1 -0
  1146. package/dist/provider-auth-helpers-1lU43eTW.js +1 -0
  1147. package/dist/provider-auth-helpers-pBVCjBj9.js +1 -0
  1148. package/dist/provider-env-vars-D8p6Ohpj.js +1 -0
  1149. package/dist/provider-env-vars-Dt0Q29Su.js +1 -0
  1150. package/dist/proxy-env-BNhTHkd_.js +1 -0
  1151. package/dist/proxy-env-DcmW_urA.js +1 -0
  1152. package/dist/proxy-env-DrC3TIGh.js +1 -0
  1153. package/dist/proxy-env-FJr5nlvs.js +1 -0
  1154. package/dist/proxy-fetch-BADsUK4d.js +1 -0
  1155. package/dist/proxy-fetch-BZ9O8Dvj.js +1 -0
  1156. package/dist/proxy-fetch-DnjU1fEB.js +1 -0
  1157. package/dist/proxy-fetch-gWETR3cl.js +1 -0
  1158. package/dist/push-apns-BGUOmD5M.js +1 -0
  1159. package/dist/push-apns-B_a2MBJ4.js +1 -0
  1160. package/dist/pw-ai-C-Ffkwai.js +1 -0
  1161. package/dist/pw-ai-CV1H1Vrs.js +1 -0
  1162. package/dist/pw-ai-D_MB1lrR.js +1 -0
  1163. package/dist/pw-ai-_l9lVice.js +1 -0
  1164. package/dist/qmd-manager-C_e04BNg.js +1 -0
  1165. package/dist/qmd-manager-DSQ_mDCl.js +1 -0
  1166. package/dist/qmd-manager-DcBYbt_V.js +1 -0
  1167. package/dist/qmd-manager-NLI0R6kp.js +1 -0
  1168. package/dist/qr-cli-3aG6CB6K.js +1 -0
  1169. package/dist/qr-cli-fiJxD5M4.js +1 -0
  1170. package/dist/query-expansion-0OxEb1Io.js +1 -0
  1171. package/dist/query-expansion-BUUx_oWg.js +1 -0
  1172. package/dist/query-expansion-r_iXkNzt.js +1 -0
  1173. package/dist/reaction-level-DVPHL14p.js +1 -0
  1174. package/dist/reaction-message-id-BEEe7X3D.js +1 -0
  1175. package/dist/read-only-account-inspect-DBwAwB3_.js +1 -0
  1176. package/dist/redact-3_CiXMY6.js +1 -0
  1177. package/dist/redact-CnRxK70G.js +1 -0
  1178. package/dist/register.agent-CX78s_X9.js +1 -0
  1179. package/dist/register.agent-DLDKQENq.js +1 -0
  1180. package/dist/register.backup-DkFoTcuT.js +1 -0
  1181. package/dist/register.backup-PzF5rmeU.js +1 -0
  1182. package/dist/register.configure-BA5u9hT3.js +1 -0
  1183. package/dist/register.configure-BhPtf3Qo.js +1 -0
  1184. package/dist/register.maintenance-BhsBepKS.js +1 -0
  1185. package/dist/register.maintenance-r_MzNK3-.js +1 -0
  1186. package/dist/register.message-CTF--Z2a.js +1 -0
  1187. package/dist/register.message-jcZ875be.js +1 -0
  1188. package/dist/register.onboard-C3yL50_c.js +1 -0
  1189. package/dist/register.onboard-CNwnStUk.js +1 -0
  1190. package/dist/register.setup-BRJMzgfU.js +1 -0
  1191. package/dist/register.setup-BvsS-zgm.js +1 -0
  1192. package/dist/register.status-health-sessions-DVc__2pc.js +1 -0
  1193. package/dist/register.status-health-sessions-Dqmkw820.js +1 -0
  1194. package/dist/register.subclis-D-24j83X.js +1 -0
  1195. package/dist/registry-BptzrW8D.js +1 -0
  1196. package/dist/registry-hFAtCSWG.js +1 -0
  1197. package/dist/render-BXEUPIHe.js +1 -0
  1198. package/dist/render-CBsnn-2A.js +1 -0
  1199. package/dist/render-D8OWO2hT.js +1 -0
  1200. package/dist/render-DrrPmnMI.js +1 -0
  1201. package/dist/reply-l-Y47HP4.js +1 -0
  1202. package/dist/restart-CHXEHdSC.js +1 -0
  1203. package/dist/rpc-B3ReBNXG.js +1 -0
  1204. package/dist/rpc-DumDLalJ.js +1 -0
  1205. package/dist/run-main-B_YBE_TN.js +1 -0
  1206. package/dist/runtime-BC5Ep2pJ.js +1 -0
  1207. package/dist/runtime-Dlg2-Omq.js +1 -0
  1208. package/dist/runtime-guard-DFYBaYZS.js +1 -0
  1209. package/dist/runtime-guard-DX2Ie4ri.js +1 -0
  1210. package/dist/runtime-status-CqFBmdRd.js +1 -0
  1211. package/dist/runtime-status-DszMjvJK.js +1 -0
  1212. package/dist/runtime-web-tools-D8fms06-.js +1 -0
  1213. package/dist/runtime-web-tools-bz76ZaRc.js +1 -0
  1214. package/dist/sandbox-cli-BDorUBm-.js +1 -0
  1215. package/dist/sandbox-cli-Bq40R5Vs.js +1 -0
  1216. package/dist/scan-paths-C13EseXp.js +1 -0
  1217. package/dist/scan-paths-CWtvWW40.js +1 -0
  1218. package/dist/search-manager-Bp9x20r6.js +1 -0
  1219. package/dist/secret-file-C7JffiM_.js +1 -0
  1220. package/dist/secret-file-D60EFEOe.js +1 -0
  1221. package/dist/secret-file-DuWm26jS.js +1 -0
  1222. package/dist/secrets-cli-Bo6PC32U.js +1 -0
  1223. package/dist/secrets-cli-CoXJv3Jp.js +1 -0
  1224. package/dist/secure-random-D7JQgiK-.js +1 -0
  1225. package/dist/security-cli-CgZL2KKh.js +1 -0
  1226. package/dist/security-cli-DVOfhwAP.js +1 -0
  1227. package/dist/send-B7sHR38c2.js +1 -0
  1228. package/dist/send-Bx2Qr7VH.js +1 -0
  1229. package/dist/send-C-AP01PR.js +1 -0
  1230. package/dist/send-C1CJ-GHU.js +1 -0
  1231. package/dist/send-C48Y9SAq.js +1 -0
  1232. package/dist/send-CVplsJpw.js +1 -0
  1233. package/dist/send-CW81y5Wz.js +1 -0
  1234. package/dist/send-CYgHok1p.js +1 -0
  1235. package/dist/send-Cgd_VJHR.js +1 -0
  1236. package/dist/send-Chz0YMoJ.js +1 -0
  1237. package/dist/send-D9hVVn7p2.js +1 -0
  1238. package/dist/send-DKrzj_Ts.js +1 -0
  1239. package/dist/send-DRLSCwCk.js +1 -0
  1240. package/dist/send-DavpkzhH.js +1 -0
  1241. package/dist/send-DbeEC2a3.js +1 -0
  1242. package/dist/send-DkiKKUkt.js +1 -0
  1243. package/dist/send-DlfVd5mL.js +1 -0
  1244. package/dist/send-JYgM9Sm-2.js +1 -0
  1245. package/dist/send-hZFDcGLM.js +1 -0
  1246. package/dist/send-vthbs31u.js +1 -0
  1247. package/dist/server-DpyBukwA.js +1 -0
  1248. package/dist/server-IgiSKzXH.js +1 -0
  1249. package/dist/server-node-events-CFSY_-4t.js +1 -0
  1250. package/dist/server-node-events-ZFwmPwQ-.js +1 -0
  1251. package/dist/service-BtB9epJk.js +1 -0
  1252. package/dist/service-DZ9EbS15.js +1 -0
  1253. package/dist/session-C9TDmUS7.js +1 -0
  1254. package/dist/session-CUUGjiV3.js +1 -0
  1255. package/dist/session-DA-i5xQ-.js +1 -0
  1256. package/dist/session-bk3gFwO4.js +1 -0
  1257. package/dist/session-cost-usage-BgqKixv0.js +1 -0
  1258. package/dist/session-cost-usage-CHtVgnE8.js +1 -0
  1259. package/dist/session-key-C7F_iqYg.js +1 -0
  1260. package/dist/session-key-D3P0tf5P.js +1 -0
  1261. package/dist/session-utils-8acNlxwP.js +1 -0
  1262. package/dist/sessions-BsxT0V2m.js +1 -0
  1263. package/dist/shared-9x5sqYRb.js +1 -0
  1264. package/dist/shared-BKWhOp64.js +1 -0
  1265. package/dist/shared-GesXrZzd.js +1 -0
  1266. package/dist/skill-commands-BWW6mc6t.js +1 -0
  1267. package/dist/skill-commands-CSF6wVPU.js +1 -0
  1268. package/dist/skill-commands-Db232ZRp.js +1 -0
  1269. package/dist/skill-commands-HJHHZqt6.js +1 -0
  1270. package/dist/skill-scanner-CUUF3Fvo.js +1 -0
  1271. package/dist/skill-scanner-CkxXNioD.js +1 -0
  1272. package/dist/skills-CKTicUKS.js +1 -0
  1273. package/dist/skills-DHbOKEGc.js +1 -0
  1274. package/dist/skills-cli-9Ls94z5H.js +1 -0
  1275. package/dist/skills-cli-BY7OhJzj.js +1 -0
  1276. package/dist/skills-install-CIdGCXSy.js +1 -0
  1277. package/dist/skills-install-DIdiVt9Y.js +1 -0
  1278. package/dist/skills-status-BWIugRCz.js +1 -0
  1279. package/dist/skills-status-DswSl5aD.js +1 -0
  1280. package/dist/sqlite-CILF3z9U.js +1 -0
  1281. package/dist/stagger-DmFYysrJ.js +1 -0
  1282. package/dist/stagger-DxzgG2jd.js +1 -0
  1283. package/dist/status-C-9fSiMn.js +1 -0
  1284. package/dist/status-CeBGmSAz.js +1 -0
  1285. package/dist/status-DYqPF0rB.js +1 -0
  1286. package/dist/status-JIPeVrsc.js +1 -0
  1287. package/dist/status.update-B_8Gumuc.js +1 -0
  1288. package/dist/status.update-DoSzHu2F.js +1 -0
  1289. package/dist/string-normalization-BrUPaXaM.js +1 -0
  1290. package/dist/string-normalization-DJT5zuUF.js +1 -0
  1291. package/dist/subsystem-BLbY429l.js +1 -0
  1292. package/dist/subsystem-Bc2XrjUz.js +1 -0
  1293. package/dist/subsystem-C5XF2Fy5.js +1 -0
  1294. package/dist/system-cli-CeZfoVPN.js +1 -0
  1295. package/dist/system-cli-DZkTYB9d.js +1 -0
  1296. package/dist/system-run-command-BKfMiqQM.js +1 -0
  1297. package/dist/system-run-command-DEWnZE0r.js +1 -0
  1298. package/dist/systemd-D7odsu4K.js +1 -0
  1299. package/dist/systemd-DbevZh65.js +1 -0
  1300. package/dist/systemd-hints-C0DKDl35.js +1 -0
  1301. package/dist/systemd-hints-lXpMy-kY.js +1 -0
  1302. package/dist/systemd-linger-C2MJD6KG.js +1 -0
  1303. package/dist/systemd-linger-cWKbFNpu.js +1 -0
  1304. package/dist/table-CR7TFMew.js +1 -0
  1305. package/dist/table-CY440fI1.js +1 -0
  1306. package/dist/tables-Brc2lNcB.js +1 -0
  1307. package/dist/tables-CrXdLc_6.js +1 -0
  1308. package/dist/tables-Oieq7UbT.js +1 -0
  1309. package/dist/tables-btcG3yFT.js +1 -0
  1310. package/dist/target-errors-CRlevJJ5.js +1 -0
  1311. package/dist/target-errors-CgWAJOam.js +1 -0
  1312. package/dist/target-errors-CpKXh2RS.js +1 -0
  1313. package/dist/target-errors-a35Md15n.js +1 -0
  1314. package/dist/targets-4EaxWBal.js +1 -0
  1315. package/dist/targets-BJTo7bqu.js +1 -0
  1316. package/dist/targets-BYVMrXDf.js +1 -0
  1317. package/dist/targets-Bq6rS6-Z.js +1 -0
  1318. package/dist/targets-CL5fYQi7.js +1 -0
  1319. package/dist/targets-fozeWOOg.js +1 -0
  1320. package/dist/targets-m_41k_Mv.js +1 -0
  1321. package/dist/telegram/audit.js +1 -0
  1322. package/dist/text-format-CvrvBBre.js +1 -0
  1323. package/dist/text-format-DEWK6oCT.js +1 -0
  1324. package/dist/token-DnTmiyJu.js +1 -0
  1325. package/dist/tokens-B2fq-rL6.js +1 -0
  1326. package/dist/tokens-CL2fSjGl.js +1 -0
  1327. package/dist/tokens-DRM8vzJx.js +1 -0
  1328. package/dist/tokens-XGbQGn67.js +1 -0
  1329. package/dist/tool-display-DJDtttQg.js +1 -0
  1330. package/dist/tool-display-DjuSUUbH.js +1 -0
  1331. package/dist/tui-B506apla.js +1 -0
  1332. package/dist/tui-CJUkUxHb.js +1 -0
  1333. package/dist/tui-cli-BEdGHmhc.js +1 -0
  1334. package/dist/tui-cli-Cq_eXDAV.js +1 -0
  1335. package/dist/types.secrets-C-5U96pc.js +1 -0
  1336. package/dist/types.secrets-D4tbc3Wq.js +1 -0
  1337. package/dist/update-BGrxUIyz.js +1 -0
  1338. package/dist/update-CwTy5DPl.js +1 -0
  1339. package/dist/update-cli-BwBMOeP0.js +1 -0
  1340. package/dist/update-cli-YrBbmw4f.js +1 -0
  1341. package/dist/update-runner-BvtyRBD2.js +1 -0
  1342. package/dist/update-runner-DYamgo1V.js +1 -0
  1343. package/dist/usage-format-BWD8FJFL.js +1 -0
  1344. package/dist/usage-format-yPwal8Iz.js +1 -0
  1345. package/dist/utils-CGdo13HV.js +1 -0
  1346. package/dist/utils-D3t-vPka.js +1 -0
  1347. package/dist/utils-R-mFyVJi.js +1 -0
  1348. package/dist/utils-UGOV_184.js +1 -0
  1349. package/dist/version-q3SkUw2K.js +1 -0
  1350. package/dist/warning-filter.js +1 -0
  1351. package/dist/web-Cq3xWCaD.js +1 -0
  1352. package/dist/web-DwcxsgH0.js +1 -0
  1353. package/dist/webhooks-cli-CIeyainW.js +1 -0
  1354. package/dist/webhooks-cli-DSNAve_D.js +1 -0
  1355. package/dist/whatsapp-actions-B6gt1KeB.js +1 -0
  1356. package/dist/whatsapp-actions-DACoH7qd.js +1 -0
  1357. package/dist/whatsapp-actions-iQhIeMya.js +1 -0
  1358. package/dist/whatsapp-actions-tmjID75a.js +1 -0
  1359. package/dist/widearea-dns-BDx7vkV2.js +1 -0
  1360. package/dist/widearea-dns-BFjqKXu_.js +1 -0
  1361. package/dist/windows-spawn-7oINn5ao.js +1 -0
  1362. package/dist/windows-spawn-AB7ItGAE.js +1 -0
  1363. package/dist/with-timeout-WveKxvFV.js +1 -0
  1364. package/dist/with-timeout-c1CzdShT.js +1 -0
  1365. package/dist/workspace-B0ZQeHXg.js +1 -0
  1366. package/dist/workspace-C45T1Cxg.js +1 -0
  1367. package/dist/workspace-dirs-A8Vib9_B.js +1 -0
  1368. package/dist/workspace-dirs-BhF1Dzxt.js +1 -0
  1369. package/dist/workspace-xNEpaJvu.js +1 -0
  1370. package/dist/wsl-DHxB2Ew_.js +1 -0
  1371. package/dist/wsl-Ok7GaSJ6.js +1 -0
  1372. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
  1373. package/node_modules/@aws-sdk/token-providers/package.json +1 -1
  1374. package/node_modules/@grammyjs/types/package.json +1 -1
  1375. package/node_modules/@line/bot-sdk/dist/channel-access-token/api/channelAccessTokenClient.js +49 -3
  1376. package/node_modules/@line/bot-sdk/dist/cjs/channel-access-token/api/channelAccessTokenClient.js +49 -3
  1377. package/node_modules/@line/bot-sdk/dist/cjs/client.js +636 -0
  1378. package/node_modules/@line/bot-sdk/dist/cjs/endpoints.js +7 -0
  1379. package/node_modules/@line/bot-sdk/dist/cjs/exceptions.js +15 -1
  1380. package/node_modules/@line/bot-sdk/dist/cjs/http-axios.js +2 -6
  1381. package/node_modules/@line/bot-sdk/dist/cjs/http-fetch.js +5 -13
  1382. package/node_modules/@line/bot-sdk/dist/cjs/index.js +3 -1
  1383. package/node_modules/@line/bot-sdk/dist/cjs/insight/api/insightClient.js +3 -0
  1384. package/node_modules/@line/bot-sdk/dist/cjs/liff/api/liffClient.js +3 -0
  1385. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.factory.generated.js +66 -0
  1386. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.generated.js +1999 -0
  1387. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.js +61 -0
  1388. package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceBlobClient.js +3 -0
  1389. package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceClient.js +3 -0
  1390. package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiBlobClient.js +3 -0
  1391. package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiClient.js +3 -0
  1392. package/node_modules/@line/bot-sdk/dist/cjs/module/api/lineModuleClient.js +3 -0
  1393. package/node_modules/@line/bot-sdk/dist/cjs/module-attach/api/lineModuleAttachClient.js +3 -0
  1394. package/node_modules/@line/bot-sdk/dist/cjs/shop/api/shopClient.js +3 -0
  1395. package/node_modules/@line/bot-sdk/dist/cjs/utils.js +10 -0
  1396. package/node_modules/@line/bot-sdk/dist/cjs/version.js +1 -1
  1397. package/node_modules/@line/bot-sdk/dist/client.js +636 -0
  1398. package/node_modules/@line/bot-sdk/dist/endpoints.js +7 -0
  1399. package/node_modules/@line/bot-sdk/dist/exceptions.js +15 -1
  1400. package/node_modules/@line/bot-sdk/dist/http-axios.js +2 -6
  1401. package/node_modules/@line/bot-sdk/dist/http-fetch.js +5 -13
  1402. package/node_modules/@line/bot-sdk/dist/index.js +1 -0
  1403. package/node_modules/@line/bot-sdk/dist/insight/api/insightClient.js +3 -0
  1404. package/node_modules/@line/bot-sdk/dist/liff/api/liffClient.js +3 -0
  1405. package/node_modules/@line/bot-sdk/dist/line-bot-client.factory.generated.js +63 -0
  1406. package/node_modules/@line/bot-sdk/dist/line-bot-client.generated.js +1995 -0
  1407. package/node_modules/@line/bot-sdk/dist/line-bot-client.js +58 -0
  1408. package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceBlobClient.js +3 -0
  1409. package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceClient.js +3 -0
  1410. package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiBlobClient.js +3 -0
  1411. package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiClient.js +3 -0
  1412. package/node_modules/@line/bot-sdk/dist/module/api/lineModuleClient.js +3 -0
  1413. package/node_modules/@line/bot-sdk/dist/module-attach/api/lineModuleAttachClient.js +3 -0
  1414. package/node_modules/@line/bot-sdk/dist/shop/api/shopClient.js +3 -0
  1415. package/node_modules/@line/bot-sdk/dist/utils.js +9 -0
  1416. package/node_modules/@line/bot-sdk/dist/version.js +1 -1
  1417. package/node_modules/@line/bot-sdk/package.json +10 -7
  1418. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  1419. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +25 -0
  1420. package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
  1421. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
  1422. package/node_modules/@slack/bolt/dist/App.js +22 -30
  1423. package/node_modules/@slack/bolt/dist/Assistant.js +21 -37
  1424. package/node_modules/@slack/bolt/dist/CustomFunction.js +1 -43
  1425. package/node_modules/@slack/bolt/dist/context/create-function-complete.js +23 -0
  1426. package/node_modules/@slack/bolt/dist/context/create-function-fail.js +23 -0
  1427. package/node_modules/@slack/bolt/dist/context/create-respond.js +11 -0
  1428. package/node_modules/@slack/bolt/dist/context/create-say-stream.js +16 -0
  1429. package/node_modules/@slack/bolt/dist/context/create-say.js +17 -0
  1430. package/node_modules/@slack/bolt/dist/context/create-set-status.js +21 -0
  1431. package/node_modules/@slack/bolt/dist/context/index.js +16 -0
  1432. package/node_modules/@slack/bolt/dist/helpers.js +79 -3
  1433. package/node_modules/@slack/bolt/dist/index.js +10 -8
  1434. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +5 -1
  1435. package/node_modules/@slack/bolt/dist/types/events/index.js +0 -4
  1436. package/node_modules/@slack/bolt/package.json +7 -7
  1437. package/node_modules/@smithy/config-resolver/package.json +10 -11
  1438. package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +6 -0
  1439. package/node_modules/@smithy/core/dist-cjs/index.js +1 -1
  1440. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +21 -0
  1441. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +21 -0
  1442. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +46 -0
  1443. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +6 -0
  1444. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +24 -0
  1445. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +19 -0
  1446. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +27 -0
  1447. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +5 -0
  1448. package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +10 -0
  1449. package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +44 -0
  1450. package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +5 -0
  1451. package/node_modules/@smithy/core/dist-cjs/setFeature.js +14 -0
  1452. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +17 -0
  1453. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +38 -0
  1454. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +15 -0
  1455. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +6 -0
  1456. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +9 -0
  1457. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +6 -0
  1458. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +61 -0
  1459. package/node_modules/@smithy/core/package.json +15 -16
  1460. package/node_modules/@smithy/credential-provider-imds/package.json +9 -10
  1461. package/node_modules/@smithy/eventstream-codec/dist-cjs/index.js +13 -0
  1462. package/node_modules/@smithy/eventstream-codec/package.json +6 -7
  1463. package/node_modules/@smithy/eventstream-serde-browser/package.json +7 -8
  1464. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +7 -8
  1465. package/node_modules/@smithy/eventstream-serde-node/package.json +7 -8
  1466. package/node_modules/@smithy/eventstream-serde-universal/package.json +9 -10
  1467. package/node_modules/@smithy/fetch-http-handler/package.json +12 -13
  1468. package/node_modules/@smithy/hash-node/package.json +6 -7
  1469. package/node_modules/@smithy/invalid-dependency/package.json +6 -7
  1470. package/node_modules/@smithy/middleware-content-length/package.json +7 -8
  1471. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +2 -2
  1472. package/node_modules/@smithy/middleware-endpoint/package.json +13 -14
  1473. package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +70 -29
  1474. package/node_modules/@smithy/middleware-retry/dist-es/index.js +5 -4
  1475. package/node_modules/@smithy/middleware-retry/dist-es/longPollMiddleware.js +15 -0
  1476. package/node_modules/@smithy/middleware-retry/dist-es/parseRetryAfterHeader.js +49 -0
  1477. package/node_modules/@smithy/middleware-retry/dist-es/{StandardRetryStrategy.js → retry-pre-sra-deprecated/StandardRetryStrategy.js} +1 -1
  1478. package/node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js +13 -20
  1479. package/node_modules/@smithy/middleware-retry/package.json +16 -16
  1480. package/node_modules/@smithy/middleware-serde/package.json +10 -11
  1481. package/node_modules/@smithy/middleware-stack/package.json +7 -8
  1482. package/node_modules/@smithy/node-config-provider/package.json +8 -9
  1483. package/node_modules/@smithy/node-http-handler/package.json +10 -11
  1484. package/node_modules/@smithy/property-provider/package.json +6 -7
  1485. package/node_modules/@smithy/protocol-http/package.json +6 -7
  1486. package/node_modules/@smithy/querystring-builder/package.json +6 -7
  1487. package/node_modules/@smithy/querystring-parser/package.json +6 -7
  1488. package/node_modules/@smithy/service-error-classification/package.json +6 -7
  1489. package/node_modules/@smithy/shared-ini-file-loader/package.json +7 -8
  1490. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +13 -0
  1491. package/node_modules/@smithy/signature-v4/package.json +9 -10
  1492. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +1 -1
  1493. package/node_modules/@smithy/smithy-client/package.json +14 -15
  1494. package/node_modules/@smithy/types/package.json +7 -8
  1495. package/node_modules/@smithy/url-parser/package.json +7 -8
  1496. package/node_modules/@smithy/util-defaults-mode-browser/package.json +8 -9
  1497. package/node_modules/@smithy/util-defaults-mode-node/package.json +11 -12
  1498. package/node_modules/@smithy/util-endpoints/package.json +9 -10
  1499. package/node_modules/@smithy/util-middleware/package.json +6 -7
  1500. package/node_modules/@smithy/util-retry/dist-cjs/index.js +123 -76
  1501. package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +7 -4
  1502. package/node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js +2 -2
  1503. package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +24 -25
  1504. package/node_modules/@smithy/util-retry/dist-es/DefaultRetryBackoffStrategy.js +14 -0
  1505. package/node_modules/@smithy/util-retry/dist-es/DefaultRetryToken.js +25 -0
  1506. package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +39 -26
  1507. package/node_modules/@smithy/util-retry/dist-es/index.js +1 -0
  1508. package/node_modules/@smithy/util-retry/dist-es/retries-2026-config.js +18 -0
  1509. package/node_modules/@smithy/util-retry/package.json +10 -11
  1510. package/node_modules/@smithy/util-stream/package.json +12 -13
  1511. package/node_modules/@snazzah/davey-linux-x64-gnu/davey.linux-x64-gnu.node +0 -0
  1512. package/node_modules/@snazzah/davey-linux-x64-gnu/package.json +43 -0
  1513. package/node_modules/@snazzah/davey-linux-x64-musl/davey.linux-x64-musl.node +0 -0
  1514. package/node_modules/@snazzah/davey-linux-x64-musl/package.json +43 -0
  1515. package/node_modules/dotenv/lib/main.js +1 -1
  1516. package/node_modules/dotenv/package.json +1 -1
  1517. package/node_modules/dotenv/skills/dotenv/SKILL.md +32 -52
  1518. package/node_modules/dotenv/skills/dotenvx/SKILL.md +57 -273
  1519. package/node_modules/grammy/out/bot.js +1 -0
  1520. package/node_modules/grammy/out/context.js +35 -0
  1521. package/node_modules/grammy/out/convenience/keyboard.js +30 -2
  1522. package/node_modules/grammy/out/core/api.js +34 -0
  1523. package/node_modules/grammy/out/filter.js +6 -2
  1524. package/node_modules/grammy/out/web.mjs +58 -10
  1525. package/node_modules/grammy/package.json +2 -2
  1526. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +12 -0
  1527. package/node_modules/lru-cache/dist/commonjs/index.js +227 -130
  1528. package/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  1529. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  1530. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +17 -0
  1531. package/node_modules/lru-cache/dist/esm/index.js +227 -130
  1532. package/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  1533. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.mts.map +1 -0
  1534. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +8 -0
  1535. package/node_modules/lru-cache/dist/esm/node/index.js +1688 -0
  1536. package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  1537. package/node_modules/lru-cache/package.json +29 -9
  1538. package/node_modules/netmask/dist/netmask.js +58 -0
  1539. package/node_modules/netmask/dist/netmask4.js +189 -0
  1540. package/node_modules/netmask/dist/netmask6.js +187 -0
  1541. package/node_modules/netmask/package.json +15 -6
  1542. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  1543. package/node_modules/path-expression-matcher/lib/pem.d.cts +93 -0
  1544. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  1545. package/node_modules/path-expression-matcher/package.json +1 -1
  1546. package/node_modules/path-expression-matcher/src/ExpressionSet.js +189 -0
  1547. package/node_modules/path-expression-matcher/src/Matcher.js +50 -20
  1548. package/node_modules/path-expression-matcher/src/index.js +3 -2
  1549. package/node_modules/strnum/package.json +1 -1
  1550. package/package.json +1 -1
  1551. package/preset-config.json +12 -0
  1552. package/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js +0 -14
  1553. package/node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js +0 -11
  1554. package/node_modules/netmask/CREDITS.md +0 -30
  1555. package/node_modules/netmask/lib/netmask.coffee +0 -167
  1556. package/node_modules/netmask/lib/netmask.js +0 -208
  1557. package/node_modules/strnum/.github/SECURITY.md +0 -5
  1558. package/node_modules/strnum/.vscode/launch.json +0 -25
  1559. package/node_modules/strnum/algo.stflow +0 -84
  1560. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
  1561. /package/node_modules/@smithy/middleware-retry/dist-es/{AdaptiveRetryStrategy.js → retry-pre-sra-deprecated/AdaptiveRetryStrategy.js} +0 -0
  1562. /package/node_modules/@smithy/middleware-retry/dist-es/{defaultRetryQuota.js → retry-pre-sra-deprecated/defaultRetryQuota.js} +0 -0
  1563. /package/node_modules/@smithy/middleware-retry/dist-es/{delayDecider.js → retry-pre-sra-deprecated/delayDecider.js} +0 -0
  1564. /package/node_modules/@smithy/middleware-retry/dist-es/{retryDecider.js → retry-pre-sra-deprecated/retryDecider.js} +0 -0
  1565. /package/node_modules/@smithy/middleware-retry/dist-es/{types.js → retry-pre-sra-deprecated/types.js} +0 -0
@@ -2,3 +2,4 @@ import{Kt as e,f as t,g as n,m as r,qt as i,u as a}from"./paths-piJASC5k.js";imp
2
2
  `);if(!t)throw Error(e.missingTextError);return{text:t,model:i}}finally{await l()}}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:S,transcribeAudio:Ne,describeVideo:Pe};function Ie(e){return e?.trim()||`gpt-4o-mini-transcribe`}async function j(e){let t=e.fetchFn??fetch,n=D(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()||C.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:S},ze={id:`minimax-portal`,capabilities:[`image`],describeImage:S},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=D(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:S,transcribeAudio:j},Fe,Te,Re,ze,{id:`moonshot`,capabilities:[`image`,`video`],describeImage:S,describeVideo:We},Be,{id:`zai`,capabilities:[`image`],describeImage:S},je];function M(e){let t=f(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 h(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 Ye(e,t){let n=typeof e==`number`&&Number.isFinite(e)?e:t;return Math.max(1e3,Math.floor(n*1e3))}function Xe(e,t,n){let r=t?.trim()||ye[e];return!n||e===`audio`?r:`${r} Respond in at most ${n} characters.`}function Ze(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:ge[t]}function Qe(e){let t=e.entry.maxBytes??e.config?.maxBytes??e.cfg.tools?.media?.[e.capability]?.maxBytes;return typeof t==`number`?t:_e[e.capability]}function $e(e){return Je({scope:e.scope,sessionKey:e.ctx.SessionKey,channel:e.ctx.Surface??e.ctx.Provider,chatType:F(e.ctx.ChatType)})}function et(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 tt(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`?et({entry:t,providerRegistry:e.providerRegistry}):void 0;return!i||i.length===0?r===`shared`?(o()&&c(`Skipping shared media model without capabilities: ${t.provider??t.command??`unknown`}`),!1):!0:i.includes(n)}).map(({entry:e})=>e)}function nt(e){let t=e.tools?.media?.concurrency;return typeof t==`number`&&Number.isFinite(t)&&t>0?Math.floor(t):2}function I(e){let t=e?.trim();if(t){if(t.startsWith(`file://`))try{return fe(t)}catch{return}return t}}function L(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 R(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 rt(e){return R(e)===`video`}function z(e){return R(e)===`audio`}function it(e){return R(e)===`image`}function at(e,t){let n=Array.isArray(e)?e.filter(B):[];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 B(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 ot(e){let{capability:t,attachments:n,policy:r}=e,i=(Array.isArray(n)?n.filter(B):[]).filter(e=>t===`audio`&&e.alreadyTranscribed?!1:t===`image`?it(e):t===`audio`?z(e):rt(e));if(i.length===0)return[];let a=at(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 V=new Set;function st(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 ct(e){return V.add(e),()=>{V.delete(e)}}function lt(e){return e.replace(/[^a-zA-Z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``)||`tmp`}function ut(e){if(!e)return``;let t=((e.startsWith(`.`)?e:`.${e}`).match(/[a-zA-Z0-9._-]+$/)?.[0]??``).replace(/^[._-]+/,``);return t?`.${t}`:``}function dt(e){return e??l()}function H(e){let t=lt(e.prefix),n=ut(e.extension),r=e.now,i=typeof r==`number`&&Number.isFinite(r)?Math.trunc(r):Date.now(),a=e.uuid?.trim()||pe.randomUUID();return C.join(dt(e.tmpDir),`${t}-${i}-${a}${n}`)}var U=class extends Error{constructor(e,t){super(t),this.reason=e,this.name=`MediaUnderstandingSkipError`}};function ft(e){return e instanceof U}const pt=u(x(),p);function mt(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}var ht=class{constructor(e,t){this.entries=new Map,this.attachments=e,this.localPathRoots=u(t?.localPathRoots,pt);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 U(`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 U(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);let r=await w.readFile(t.resolvedPath);return t.buffer=r,t.bufferMime=t.bufferMime??t.attachment.mime??await a({buffer:r,filePath:t.resolvedPath}),t.bufferFileName=C.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 U(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let r=await re({url:n,fetchImpl:(t,n)=>te(mt(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return t.buffer=r.buffer,t.bufferMime=t.attachment.mime??r.contentType??await a({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 ie&&t.code===`max_bytes`?new U(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`):st(t)?new U(`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 U(`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 U(`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=H({prefix:`openclaw-media`,extension:C.extname(r.fileName||``)||``});return await w.writeFile(i,r.buffer),t.tempPath=i,t.tempCleanup=async()=>{await w.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=I(e.path);if(t)return C.isAbsolute(t)?t:C.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!m({filePath:e.resolvedPath,roots:this.localPathRoots})){e.resolvedPath=void 0,o()&&c(`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 w.stat(t);if(!n.isFile()){e.resolvedPath=void 0;return}let r=await w.realpath(t).catch(()=>t);if(!m({filePath:r,roots:await this.getCanonicalLocalPathRoots()})){e.resolvedPath=void 0,o()&&c(`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,o()&&c(`Failed to read attachment ${e.attachment.index+1}: ${String(t)}`);return}}}async getCanonicalLocalPathRoots(){return this.canonicalLocalPathRoots||=(async()=>u(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await w.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const gt=s(`model-catalog`);let W=null,G=!1,_t=()=>import(`./pi-model-discovery-D5tLf04u.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&&(W=null),W||(W=(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??b();await ae(r);let i=await _t(),a=ee(),{join:o}=await import(`node:path`),s=i.discoverAuthStorage(a),c=new i.ModelRegistry(s,o(a,`models.json`)),l=Array.isArray(c)?c:c.getAll();for(let e of l){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&&(W=null),n(t)}catch(e){return G||(G=!0,gt.warn(`Failed to load model catalog: ${String(e)}`)),W=null,t.length>0?n(t):[]}})(),W)}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 w.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
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 C.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=C.parse(t).name;return C.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=C.parse(t).name;return C.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 w.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=Qe({capability:t,entry:n,cfg:r,config:e.config}),a=Ze({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:Ye(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,ve[t]),prompt:Xe(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function Gt(e){let t=await v({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:ce({provider:e.providerId,primaryApiKey:_(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 U(`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??S)(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=le();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()||be[a]||t.model,_=await oe({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 U(`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 oe({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(),s=t.args??[];if(!a)throw Error(`CLI entry missing command for ${n}`);let{maxBytes:u,maxChars:d,timeoutMs:f,prompt:p}=Wt({capability:n,entry:t,cfg:r,config:e.config}),m=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:u,timeoutMs:f});n===`audio`&&Jt({size:(await w.stat(m.path)).size,attachmentIndex:e.attachmentIndex});let h=await w.mkdtemp(C.join(l(),`openclaw-media-cli-`)),_=m.path,v=C.join(h,C.parse(_).name),y={...i,MediaPath:_,MediaDir:C.dirname(_),OutputDir:h,OutputBase:v,Prompt:p,MaxChars:d},b=[a,...s].map((e,t)=>t===0?e:he(e,y));try{o()&&c(`Media understanding via CLI: ${b.join(` `)}`);let{stdout:t}=await g(b[0],b.slice(1),{timeoutMs:f,maxBuffer:we}),r=J(await zt({command:a,args:b.slice(1),stdout:t,mediaPath:_}),d);return r?{kind:n===`audio`?`audio.transcription`:`${n}.description`,attachmentIndex:e.attachmentIndex,text:r,provider:`cli`,model:a}:null}finally{await w.rm(h,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return Ke(e)}function Zt(e){return L(e)}function Qt(e){return u(x(),d({cfg:e.cfg,accountId:e.ctx.AccountId}))}function $t(e,t){return new ht(e,t)}const en=new Map,tn=new Map;function Q(e){if(!e.startsWith(`~`))return e;let t=de.homedir();return e===`~`?t:e.startsWith(`~/`)?C.join(t,e.slice(2)):e}function nn(e){return e.includes(`/`)||e.includes(`\\`)}function rn(e){if(process.platform!==`win32`||C.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 an(e){try{return(await w.stat(e)).isFile()?(process.platform===`win32`||await w.access(e,ue.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=Q(e.trim());if(t&&nn(t)){for(let e of rn(t))if(await an(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(C.delimiter),i=rn(n);for(let e of r){let t=Q(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=C.join(t,e);if(await an(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 g(`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=C.join(e,`tokens.txt`),n=C.join(e,`encoder.onnx`),r=C.join(e,`decoder.onnx`),i=C.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 v({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 Se){let t=E[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 Ce){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 xe){let t=await a(e,void 0);if(t)return t}return null}function mn(t){let n=[],r=i(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 a=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||a.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return a}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??E[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 v({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(ft(e)){r.push(X({entry:i,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),o()&&c(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}r.push(X({entry:i,entryType:t,outcome:`failed`,reason:String(e)})),o()&&c(`${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,s=ot({capability:t,attachments:e.media,policy:a});if(s.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if($e({scope:i?.scope,ctx:r})===`deny`)return o()&&c(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let l=e.activeModel?.provider?.trim();if(t===`image`&&l&&Dt(Ot(await Et({config:n}),l,e.activeModel?.model??``))){o()&&c(`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:l,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let u=tt({cfg:n,capability:t,config:i,providerRegistry:e.providerRegistry});if(u.length===0&&(u=await hn({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),u.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let d=[],f=[];for(let a of s){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:u,config:i});o&&d.push(o),f.push({attachmentIndex:a.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let p={capability:t,outcome:d.length>0?`success`:`skipped`,attachments:f};return o()&&c(`Media understanding ${qt(p)}`),{outputs:d,decision:p}}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{E as C,we as S,nt as _,gn as a,Je as b,Ot as c,H as d,ct as f,R as g,L as h,Zt as i,Et as l,I as m,Z as n,Qt as o,z as p,$t as r,yn as s,bn as t,Dt as u,Ye as v,he as w,Se as x,F as y};
5
+ //# sourceMappingURL=audio-transcription-runner-BVmaaA2k.js.map
@@ -2,3 +2,4 @@ import{Ct as e,St as t,f as n,g as r,m as i,u as a}from"./paths-D55o_j8-.js";imp
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=c(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 g(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 t=r(e.mime);if(t===`image`||t===`audio`||t===`video`)return t;let a=n(e.path??e.url);return a?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(a)?`video`:i(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=s(ce(),u);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=s(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 a({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)=>te(pt(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return t.buffer=r.buffer,t.bufferMime=t.attachment.mime??r.contentType??await a({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(!_({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(!_({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()=>s(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-zCuISPPq.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??l();await re(r);let i=await _t(),a=p(),{join:o}=await import(`node:path`),s=i.discoverAuthStorage(a),c=new i.ModelRegistry(s,o(a,`models.json`)),u=Array.isArray(c)?c:c.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
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 h({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:oe({provider:e.providerId,primaryApiKey:m(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}),f=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:s,timeoutMs:l});n===`audio`&&Jt({size:(await C.stat(f.path)).size,attachmentIndex:e.attachmentIndex});let p=await C.mkdtemp(S.join(ee(),`openclaw-media-cli-`)),m=f.path,h=S.join(p,S.parse(m).name),g={...i,MediaPath:m,MediaDir:S.dirname(m),OutputDir:p,OutputBase:h,Prompt:u,MaxChars:c},_=[a,...o].map((e,t)=>t===0?e:ge(e,g));try{v()&&b(`Media understanding via CLI: ${_.join(` `)}`);let{stdout:t}=await d(_[0],_.slice(1),{timeoutMs:l,maxBuffer:Te}),r=J(await zt({command:a,args:_.slice(1),stdout:t,mediaPath:m}),c);return r?{kind:n===`audio`?`audio.transcription`:`${n}.description`,attachmentIndex:e.attachmentIndex,text:r,provider:`cli`,model:a}:null}finally{await C.rm(p,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return Ke(e)}function Zt(e){return R(e)}function Qt(e){return s(ce(),f({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 d(`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 h({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(n){let r=[],i=e(n.agents?.defaults?.imageModel);i?.trim()&&r.push(i.trim());for(let e of t(n.agents?.defaults?.imageModel))e?.trim()&&r.push(e.trim());if(r.length===0)return[];let a=[];for(let e of r){let t=e.indexOf(`/`);t<=0||t>=e.length-1||a.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return a}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 h({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};
5
+ //# sourceMappingURL=audio-transcription-runner-BdY-TMcc.js.map
@@ -2,3 +2,4 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-Chp3zwtq.cjs`),n=requ
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:s.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()||d.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 u=new Headers(e.headers);u.has(`authorization`)||u.set(`authorization`,`Bearer ${e.apiKey}`);let{response:f,release:p}=await E({url:i,headers:u,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:s.t},ye={id:`minimax-portal`,capabilities:[`image`],describeImage:s.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:s.t,describeVideo:we},Ee=[_e,{id:`openai`,capabilities:[`image`,`audio`],describeImage:s.t,transcribeAudio:k},he,oe,ve,ye,Te,be,{id:`zai`,capabilities:[`image`],describeImage:s.t},fe];function A(e){let t=r.Qa(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 r.ls(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:r,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`?(n.B()&&n.R(`Skipping shared media model without capabilities: ${t.provider??t.command??`unknown`}`),!1):!0:a.includes(r)}).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??n.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 d.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=r.Ii(o.n(),r.Pi);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=r.Ii(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=d.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 a=await o.i({url:r,fetchImpl:(t,n)=>i.n(Ze(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return n.buffer=a.buffer,n.bufferMime=n.attachment.mime??a.contentType??await t.u({buffer:a.buffer,filePath:a.fileName??r}),n.bufferFileName=a.fileName??`media-${e.attachmentIndex+1}`,{buffer:a.buffer,mime:n.bufferMime,fileName:n.bufferFileName,size:a.buffer.length}}catch(t){throw t instanceof o.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:d.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 d.default.isAbsolute(t)?t:d.default.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!r.Fi({filePath:e.resolvedPath,roots:this.localPathRoots})){e.resolvedPath=void 0,n.B()&&n.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(!r.Fi({filePath:a,roots:await this.getCanonicalLocalPathRoots()})){e.resolvedPath=void 0,n.B()&&n.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,n.B()&&n.R(`Failed to read attachment ${e.attachment.index+1}: ${String(t)}`);return}}}async getCanonicalLocalPathRoots(){return this.canonicalLocalPathRoots||=(async()=>r.Ii(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=n.O(`model-catalog`);let B=null,V=!1,et=()=>Promise.resolve().then(()=>require(`./pi-model-discovery-DsBMQJEs.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=[],n=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let i=e?.config??r.Si();await s.w(i);let a=await et(),o=r.Ua(),{join:c}=await import(`node:path`),l=a.discoverAuthStorage(o),u=new a.ModelRegistry(l,c(o,`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:i,models:t}),rt(t),t.length===0&&(B=null),n(t)}catch(e){return V||(V=!0,$e.warn(`Failed to load model catalog: ${String(e)}`)),B=null,t.length>0?n(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
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 d.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=d.default.parse(t).name;return d.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=d.default.parse(t).name;return d.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 r.r({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:c.t({provider:e.providerId,primaryApiKey:r.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,i=t.provider?.trim();if(!i)throw Error(`Provider entry missing provider for ${n}`);let a=A(i),{maxBytes:o,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:o,timeoutMs:d}),i=j(a,e.providerRegistry),c={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:a,prompt:f,timeoutMs:d,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},l=await(i?.describeImage??s.t)(c);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(l.text,u),provider:a,model:l.model??n}}let p=j(a,e.providerRegistry);if(!p)throw Error(`Media provider not available: ${a}`);let m=l.r();if(n===`audio`){if(!p.transcribeAudio)throw Error(`Audio transcription provider "${a}" not available.`);let n=p.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:d});Dt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:s,baseUrl:l,headers:h}=await Tt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),g=St({providerId:a,config:e.config,entry:t}),_=t.model?.trim()||te[a]||t.model,v=await c.n({provider:a,apiKeys:s,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:a,model:v.model??_}}if(!p.describeVideo)throw Error(`Video understanding provider "${a}" not available.`);let h=p.describeVideo,g=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:d}),_=ut(g.size),v=dt(o);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:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),S=await c.n({provider:a,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:a,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:u,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(d.default.join(n.Z(),`openclaw-media-cli-`)),_=h.path,y=d.default.join(g,d.default.parse(_).name),b={...o,MediaPath:_,MediaDir:d.default.dirname(_),OutputDir:g,OutputBase:y,Prompt:m,MaxChars:u},x=[s,...c].map((e,t)=>t===0?e:v(e,b));try{n.B()&&n.R(`Media understanding via CLI: ${x.join(` `)}`);let{stdout:t}=await r._i(x[0],x.slice(1),{timeoutMs:f,maxBuffer:ae}),a=J(await vt({command:s,args:x.slice(1),stdout:t,mediaPath:_}),u);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 r.Ii(o.n(),r.Li({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(`~/`)?d.default.join(t,e.slice(2)):e}function It(e){return e.includes(`/`)||e.includes(`\\`)}function Lt(e){if(process.platform!==`win32`||d.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,u.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(d.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=d.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 r._i(`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=d.default.join(e,`tokens.txt`),n=d.default.join(e,`encoder.onnx`),r=d.default.join(e,`decoder.onnx`),i=d.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:n,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 r.r({provider:e,cfg:t,agentDir:n}),{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.qt(e.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of t.Kt(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 n=A(t);if(!n)return null;let i=j(n,e.providerRegistry);if(!i||e.capability===`audio`&&!i.transcribeAudio||e.capability===`image`&&!i.describeImage||e.capability===`video`&&!i.describeVideo)return null;try{await r.r({provider:n,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:n,model:e.activeModel?.model}}async function Zt(e){let{entries:t,capability:r}=e,i=[];for(let a of t){let t=a.type??(a.command?`cli`:`provider`);try{let n=t===`cli`?await kt({capability:r,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Ot({capability:r,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(n){let e=X({entry:a,entryType:t,outcome:`success`});return n.provider&&(e.provider=n.provider),n.model&&(e.model=n.model),i.push(e),{output:n,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}`})),n.B()&&n.R(`Skipping ${r} model due to ${e.reason}: ${e.message}`);continue}i.push(X({entry:a,entryType:t,outcome:`failed`,reason:String(e)})),n.B()&&n.R(`${r} understanding failed: ${String(e)}`)}}return{output:null,attempts:i}}async function $(e){let{capability:t,cfg:r,ctx:i}=e,a=e.config??r.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 n.B()&&n.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:r}),c,e.activeModel?.model??``))){n.B()&&n.R(`Skipping image understanding: primary model supports vision natively`);let r=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>{let t={type:`provider`,provider:c,model:r||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let l=Ie({cfg:r,capability:t,config:a,providerRegistry:e.providerRegistry});if(l.length===0&&(l=await Jt({cfg:r,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 n of s){let{output:o,attempts:s}=await Zt({capability:t,cfg:r,ctx:i,attachmentIndex:n.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:l,config:a});o&&u.push(o),d.push({attachmentIndex:n.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let f={capability:t,outcome:u.length>0?`success`:`skipped`,attachments:d};return n.B()&&n.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}});
5
+ //# sourceMappingURL=audio-transcription-runner-By3lSLub.cjs.map
@@ -2,3 +2,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-D90l3h_o.cjs`),n=requ
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-HF--HDSe.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
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}});
5
+ //# sourceMappingURL=audio-transcription-runner-CH5CoZrF.cjs.map
@@ -2,3 +2,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=requ
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-BJswdRVj.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
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}});
5
+ //# sourceMappingURL=audio-transcription-runner-CMsp7bhn.cjs.map
@@ -2,3 +2,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-CIcxeNL-.cjs`),n=requ
2
2
  `);if(!t)throw Error(e.missingTextError);return{text:t,model:a}}finally{await d()}}async function me(e){let{text:t,model:n}=await pe({...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 he(e){let{text:t,model:n}=await pe({...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 ge={id:`google`,capabilities:[`image`,`audio`,`video`],describeImage:o.t,transcribeAudio:me,describeVideo:he};function _e(e){return e?.trim()||`gpt-4o-mini-transcribe`}async function O(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.openai.com/v1`),r=!!e.baseUrl?.trim(),i=`${n}/audio/transcriptions`,a=_e(e.model),o=new FormData,s=e.fileName?.trim()||d.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 u=new Headers(e.headers);u.has(`authorization`)||u.set(`authorization`,`Bearer ${e.apiKey}`);let{response:f,release:p}=await E({url:i,headers:u,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 ve={id:`groq`,capabilities:[`audio`],transcribeAudio:e=>O({...e,baseUrl:e.baseUrl??`https://api.groq.com/openai/v1`})},ye={id:`minimax`,capabilities:[`image`],describeImage:o.t},be={id:`minimax-portal`,capabilities:[`image`],describeImage:o.t},xe={id:`mistral`,capabilities:[`audio`],transcribeAudio:e=>O({...e,baseUrl:e.baseUrl??`https://api.mistral.ai/v1`})};function Se(e){return e?.trim()||`kimi-k2.5`}function Ce(e){return e?.trim()||`Describe the video.`}function we(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 Te(e){let t=e.fetchFn??fetch,n=w(e.baseUrl,`https://api.moonshot.ai/v1`),r=Se(e.model),i=e.mime??`video/mp4`,a=Ce(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=we(await c.json());if(!e)throw Error(`Moonshot video description response missing content`);return{text:e,model:r}}finally{await l()}}const Ee={id:`moonshot`,capabilities:[`image`,`video`],describeImage:o.t,describeVideo:Te},De=[ve,{id:`openai`,capabilities:[`image`,`audio`],describeImage:o.t,transcribeAudio:O},ge,oe,ye,be,Ee,xe,{id:`zai`,capabilities:[`image`],describeImage:o.t},fe];function k(e){let t=r.Wo(e);return t===`gemini`?`google`:t}function Oe(e){let t=new Map;for(let e of De)t.set(k(e.id),e);if(e)for(let[n,r]of Object.entries(e)){let e=k(n),i=t.get(e),a=i?{...i,...r,capabilities:r.capabilities??i.capabilities}:r;t.set(e,a)}return t}function A(e,t){return t.get(k(e))}function ke(e){let t=e?.trim().toLowerCase();if(t===`allow`)return`allow`;if(t===`deny`)return`deny`}function j(e){return e?.trim().toLowerCase()||void 0}function M(e){return r.Jn(e??void 0)}function Ae(e){let t=e.scope;if(!t)return`allow`;let n=j(e.channel),r=M(e.chatType),i=j(e.sessionKey)??``;for(let e of t.rules??[]){if(!e)continue;let t=ke(e.action)??`allow`,a=e.match??{},o=j(a.channel),s=M(a.chatType),c=j(a.keyPrefix);if(!(o&&o!==n)&&!(s&&s!==r)&&!(c&&!i.startsWith(c)))return t}return ke(t.default)??`allow`}function je(e,t){let n=typeof e==`number`&&Number.isFinite(e)?e:t;return Math.max(1e3,Math.floor(n*1e3))}function Me(e,t,n){let r=t?.trim()||ee[e];return!n||e===`audio`?r:`${r} Respond in at most ${n} characters.`}function Ne(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 Pe(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 Fe(e){return Ae({scope:e.scope,sessionKey:e.ctx.SessionKey,channel:e.ctx.Surface??e.ctx.Provider,chatType:M(e.ctx.ChatType)})}function Ie(e){if((e.entry.type??(e.entry.command?`cli`:`provider`))===`cli`)return;let t=k(e.entry.provider??``);if(t)return e.providerRegistry.get(t)?.capabilities}function Le(e){let{cfg:t,capability:r,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`?Ie({entry:t,providerRegistry:e.providerRegistry}):void 0;return!a||a.length===0?i===`shared`?(n.B()&&n.R(`Skipping shared media model without capabilities: ${t.provider??t.command??`unknown`}`),!1):!0:a.includes(r)}).map(({entry:e})=>e)}function Re(e){let t=e.tools?.media?.concurrency;return typeof t==`number`&&Number.isFinite(t)&&t>0?Math.floor(t):2}function ze(e){let t=e?.trim();if(t){if(t.startsWith(`file://`))try{return(0,h.fileURLToPath)(t)}catch{return}return t}}function Be(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 N(e){let n=t.Wt(e.mime);if(n===`image`||n===`audio`||n===`video`)return n;let r=t.Bt(e.path??e.url);return r?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(r)?`video`:t.Ht(e.path??e.url)?`audio`:[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.bmp`,`.tiff`,`.tif`].includes(r)?`image`:`unknown`:`unknown`}function Ve(e){return N(e)===`video`}function P(e){return N(e)===`audio`}function He(e){return N(e)===`image`}function Ue(e,t){let n=Array.isArray(e)?e.filter(F):[];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 F(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 We(e){let{capability:t,attachments:n,policy:r}=e,i=(Array.isArray(n)?n.filter(F):[]).filter(e=>t===`audio`&&e.alreadyTranscribed?!1:t===`image`?He(e):t===`audio`?P(e):Ve(e));if(i.length===0)return[];let a=Ue(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 I=new Set;function Ge(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 Ke(e){return I.add(e),()=>{I.delete(e)}}function qe(e){return e.replace(/[^a-zA-Z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``)||`tmp`}function Je(e){if(!e)return``;let t=((e.startsWith(`.`)?e:`.${e}`).match(/[a-zA-Z0-9._-]+$/)?.[0]??``).replace(/^[._-]+/,``);return t?`.${t}`:``}function Ye(e){return e??n.Z()}function L(e){let t=qe(e.prefix),n=Je(e.extension),r=e.now,i=typeof r==`number`&&Number.isFinite(r)?Math.trunc(r):Date.now(),a=e.uuid?.trim()||g.default.randomUUID();return d.default.join(Ye(e.tmpDir),`${t}-${i}-${a}${n}`)}var R=class extends Error{constructor(e,t){super(t),this.reason=e,this.name=`MediaUnderstandingSkipError`}};function Xe(e){return e instanceof R}const Ze=r.ia(c.n(),r.na);function Qe(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}var $e=class{constructor(e,t){this.entries=new Map,this.attachments=e,this.localPathRoots=r.ia(t?.localPathRoots,Ze);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 R(`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 R(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);let i=await u.default.readFile(n.resolvedPath);return n.buffer=i,n.bufferMime=n.bufferMime??n.attachment.mime??await t.Rt({buffer:i,filePath:n.resolvedPath}),n.bufferFileName=d.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 R(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let a=await c.i({url:r,fetchImpl:(t,n)=>i.n(Qe(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return n.buffer=a.buffer,n.bufferMime=n.attachment.mime??a.contentType??await t.Rt({buffer:a.buffer,filePath:a.fileName??r}),n.bufferFileName=a.fileName??`media-${e.attachmentIndex+1}`,{buffer:a.buffer,mime:n.bufferMime,fileName:n.bufferFileName,size:a.buffer.length}}catch(t){throw t instanceof c.r&&t.code===`max_bytes`?new R(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`):Ge(t)?new R(`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 R(`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 R(`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=L({prefix:`openclaw-media`,extension:d.default.extname(r.fileName||``)||``});return await u.default.writeFile(i,r.buffer),t.tempPath=i,t.tempCleanup=async()=>{await u.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=ze(e.path);if(t)return d.default.isAbsolute(t)?t:d.default.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!r.ra({filePath:e.resolvedPath,roots:this.localPathRoots})){e.resolvedPath=void 0,n.B()&&n.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 u.default.stat(t);if(!i.isFile()){e.resolvedPath=void 0;return}let a=await u.default.realpath(t).catch(()=>t);if(!r.ra({filePath:a,roots:await this.getCanonicalLocalPathRoots()})){e.resolvedPath=void 0,n.B()&&n.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,n.B()&&n.R(`Failed to read attachment ${e.attachment.index+1}: ${String(t)}`);return}}}async getCanonicalLocalPathRoots(){return this.canonicalLocalPathRoots||=(async()=>r.ia(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await u.default.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const et=n.O(`model-catalog`);let z=null,B=!1,tt=()=>Promise.resolve().then(()=>require(`./pi-model-discovery-CZt4Y2Lk.cjs`));const V=`openai-codex`,H=`openai`,nt=new Set([`kilocode`]),rt=[{provider:H,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:H,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:V,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:V,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function it(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of rt){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 at(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 ot(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(!nt.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=at(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function st(e){let t=ot(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 U(e){return e?.useCache===!1&&(z=null),z||(z=(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 i=e?.config??r.Gi();await o.w(i);let a=await tt(),s=r.Fo(),{join:c}=await import(`node:path`),l=a.discoverAuthStorage(s),u=new a.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 st({config:i,models:t}),it(t),t.length===0&&(z=null),n(t)}catch(e){return B||(B=!0,et.warn(`Failed to load model catalog: ${String(e)}`)),z=null,t.length>0?n(t):[]}})(),z)}function W(e){return e?.input?.includes(`image`)??!1}function G(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 u.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
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 d.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=d.default.parse(t).name;return d.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=d.default.parse(t).name;return d.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 u.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?k(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=Pe({capability:t,entry:n,cfg:r,config:e.config}),a=Ne({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:je(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,S[t]),prompt:Me(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function wt(e){let t=await r.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:r.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 R(`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,i=t.provider?.trim();if(!i)throw Error(`Provider entry missing provider for ${n}`);let a=k(i),{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}),i=A(a,e.providerRegistry),s={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:a,prompt:f,timeoutMs:d,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},l=await(i?.describeImage??o.t)(s);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(l.text,u),provider:a,model:l.model??n}}let p=A(a,e.providerRegistry);if(!p)throw Error(`Media provider not available: ${a}`);let m=l.r();if(n===`audio`){if(!p.transcribeAudio)throw Error(`Audio transcription provider "${a}" 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:o,baseUrl:l,headers:h}=await Tt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),g=St({providerId:a,config:e.config,entry:t}),_=t.model?.trim()||te[a]||t.model,v=await s.n({provider:a,apiKeys:o,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:a,model:v.model??_}}if(!p.describeVideo)throw Error(`Video understanding provider "${a}" 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 R(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${_} exceeds ${v}`);let{apiKeys:y,baseUrl:b,headers:x}=await Tt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),S=await s.n({provider:a,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:a,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:f,timeoutMs:p,prompt:m}=Ct({capability:i,entry:t,cfg:a,config:e.config}),h=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:l,timeoutMs:p});i===`audio`&&Dt({size:(await u.default.stat(h.path)).size,attachmentIndex:e.attachmentIndex});let g=await u.default.mkdtemp(d.default.join(n.Z(),`openclaw-media-cli-`)),_=h.path,y=d.default.join(g,d.default.parse(_).name),b={...o,MediaPath:_,MediaDir:d.default.dirname(_),OutputDir:g,OutputBase:y,Prompt:m,MaxChars:f},x=[s,...c].map((e,t)=>t===0?e:v(e,b));try{n.B()&&n.R(`Media understanding via CLI: ${x.join(` `)}`);let{stdout:t}=await r.vc(x[0],x.slice(1),{timeoutMs:p,maxBuffer:ae}),a=J(await vt({command:s,args:x.slice(1),stdout:t,mediaPath:_}),f);return a?{kind:i===`audio`?`audio.transcription`:`${i}.description`,attachmentIndex:e.attachmentIndex,text:a,provider:`cli`,model:s}:null}finally{await u.default.rm(g,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return Oe(e)}function At(e){return Be(e)}function jt(e){return r.ia(c.n(),r.aa({cfg:e.cfg,accountId:e.ctx.AccountId}))}function Mt(e,t){return new $e(e,t)}const Nt=new Map,Pt=new Map;function Ft(e){if(!e.startsWith(`~`))return e;let t=p.default.homedir();return e===`~`?t:e.startsWith(`~/`)?d.default.join(t,e.slice(2)):e}function It(e){return e.includes(`/`)||e.includes(`\\`)}function Q(e){if(process.platform!==`win32`||d.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 Lt(e){try{return(await u.default.stat(e)).isFile()?(process.platform===`win32`||await u.default.access(e,f.constants.X_OK),!0):!1}catch{return!1}}async function Rt(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 Q(t))if(await Lt(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(d.default.delimiter),i=Q(n);for(let e of r){let t=Ft(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=d.default.join(t,e);if(await Lt(n))return n}}return null})();return Nt.set(e,n),n}async function $(e){return!!await Rt(e)}async function zt(){let e=Pt.get(`gemini`);if(e)return e;let t=(async()=>{if(!await $(`gemini`))return!1;try{let{stdout:e}=await r.vc(`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 Bt(){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 Vt(){return await $(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function Ht(){if(!await $(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=d.default.join(e,`tokens.txt`),n=d.default.join(e,`encoder.onnx`),r=d.default.join(e,`decoder.onnx`),i=d.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 Ut(){return await Ht()||await Bt()||await Vt()}async function Wt(e){return await zt()?{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 Gt(e){let{cfg:t,agentDir:n,providerRegistry:i,capability:a}=e,o=async(e,o)=>{let s=A(e,i);if(!s||a===`audio`&&!s.transcribeAudio||a===`image`&&!s.describeImage||a===`video`&&!s.describeVideo)return null;try{return await r.r({provider:e,cfg:t,agentDir:n}),{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 Kt(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 qt(e){let t=await Yt(e);if(t)return[t];if(e.capability===`audio`){let e=await Ut();if(e)return[e]}if(e.capability===`image`){let t=Kt(e.cfg);if(t.length>0)return t}let n=await Wt(e.capability);if(n)return[n];let r=await Gt(e);return r?[r]:[]}async function Jt(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 Yt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await Gt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function Yt(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let n=k(t);if(!n)return null;let i=A(n,e.providerRegistry);if(!i||e.capability===`audio`&&!i.transcribeAudio||e.capability===`image`&&!i.describeImage||e.capability===`video`&&!i.describeVideo)return null;try{await r.r({provider:n,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:n,model:e.activeModel?.model}}async function Xt(e){let{entries:t,capability:r}=e,i=[];for(let a of t){let t=a.type??(a.command?`cli`:`provider`);try{let n=t===`cli`?await kt({capability:r,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Ot({capability:r,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(n){let e=X({entry:a,entryType:t,outcome:`success`});return n.provider&&(e.provider=n.provider),n.model&&(e.model=n.model),i.push(e),{output:n,attempts:i}}i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(Xe(e)){i.push(X({entry:a,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),n.B()&&n.R(`Skipping ${r} model due to ${e.reason}: ${e.message}`);continue}i.push(X({entry:a,entryType:t,outcome:`failed`,reason:String(e)})),n.B()&&n.R(`${r} understanding failed: ${String(e)}`)}}return{output:null,attempts:i}}async function Zt(e){let{capability:t,cfg:r,ctx:i}=e,a=e.config??r.tools?.media?.[t];if(a?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let o=a?.attachments,s=We({capability:t,attachments:e.media,policy:o});if(s.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Fe({scope:a?.scope,ctx:i})===`deny`)return n.B()&&n.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&&W(G(await U({config:r}),c,e.activeModel?.model??``))){n.B()&&n.R(`Skipping image understanding: primary model supports vision natively`);let r=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:s.map(e=>{let t={type:`provider`,provider:c,model:r||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let l=Le({cfg:r,capability:t,config:a,providerRegistry:e.providerRegistry});if(l.length===0&&(l=await qt({cfg:r,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 n of s){let{output:o,attempts:s}=await Xt({capability:t,cfg:r,ctx:i,attachmentIndex:n.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:l,config:a});o&&u.push(o),d.push({attachmentIndex:n.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let f={capability:t,outcome:u.length>0?`success`:`skipped`,attachments:d};return n.B()&&n.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 Zt({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 Re}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return ze}}),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 P}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return je}}),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 M}});
5
+ //# sourceMappingURL=audio-transcription-runner-ClGibmMi.cjs.map