@qqbrowser/openclaw-qbot 0.0.148 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account-lookup-CW-_CL7y.js +0 -1
- package/dist/acp-cli-BHsTg1ac.js +0 -1
- package/dist/acp-cli-D_WC9SZX.js +0 -1
- package/dist/active-listener-1MJXk3Iq.js +0 -1
- package/dist/active-listener-D8VOdVx3.js +0 -1
- package/dist/active-listener-D8uP0H5W.js +0 -1
- package/dist/active-listener-DeKRt_UV.js +0 -1
- package/dist/agent-scope-DAWJwFfl.js +0 -1
- package/dist/agent-scope-DXZc3eNT.js +0 -1
- package/dist/agents-Cd1yL8fG.js +0 -1
- package/dist/agents.config-CaRMmWS8.js +0 -1
- package/dist/agents.config-DSCcdYtv.js +0 -1
- package/dist/allow-from-B6dI7oz8.js +0 -1
- package/dist/allow-from-DEeVIPKS.js +0 -1
- package/dist/api-BeG0ObSq.js +0 -1
- package/dist/api-Dx8x1KTs.js +0 -1
- package/dist/api-key-rotation-BLt5E2Cw.js +0 -1
- package/dist/api-key-rotation-BpEL4aeX.js +0 -1
- package/dist/api-key-rotation-DayEfYpa.js +0 -1
- package/dist/api-key-rotation-Rz2ESQSA.js +0 -1
- package/dist/arg-split-BOqSMBuf.js +0 -1
- package/dist/arg-split-DE5RqDHq.js +0 -1
- package/dist/audio-preflight-8WB1LJBS.js +0 -1
- package/dist/audio-preflight-BcPHPfr_.js +0 -1
- package/dist/audio-preflight-DTO631Yb.js +0 -1
- package/dist/audio-preflight-O-0lDeKh.js +0 -1
- package/dist/audio-transcription-runner-9H9eUZ1D.js +0 -1
- package/dist/audio-transcription-runner-BIKj1CBU.js +0 -1
- package/dist/audio-transcription-runner-BwjMhAUa.js +0 -1
- package/dist/audio-transcription-runner-CQ7rq0d_.js +0 -1
- package/dist/audit-9I53EvMQ.js +0 -1
- package/dist/audit-BGsUfJzD.js +0 -1
- package/dist/audit-membership-runtime-BpRsMj5-.js +0 -1
- package/dist/audit-membership-runtime-BsfLZNBj.js +0 -1
- package/dist/audit-membership-runtime-DRHirRmx.js +0 -1
- package/dist/audit-membership-runtime-g0dEWJTp.js +0 -1
- package/dist/audit-membership-runtime-kdyToskD.js +0 -1
- package/dist/auth-choice-BmI4sIGs.js +0 -1
- package/dist/auth-choice-DDsPJF6F.js +0 -1
- package/dist/auth-choice-Dy0jIOLV.js +0 -1
- package/dist/auth-choice-MqcWuVyu.js +0 -1
- package/dist/auth-choice-options-B3WQyS7I.js +0 -1
- package/dist/auth-choice-options-Dw14noox.js +0 -1
- package/dist/auth-choice-prompt-uegl56cf.js +0 -1
- package/dist/auth-choice-prompt-xYj13czb.js +0 -1
- package/dist/auth-choice.apply-helpers-D911bYcw.js +0 -1
- package/dist/auth-choice.apply-helpers-pJ4CPZCk.js +0 -1
- package/dist/auth-profiles-C8rZRS0X.js +0 -1
- package/dist/auth-token-DZLZ3d_I.js +0 -1
- package/dist/auth-token-Dp6bxT29.js +0 -1
- package/dist/banner-CAtilyXr.js +0 -1
- package/dist/bonjour-discovery-ClTijpMw.js +0 -1
- package/dist/bonjour-discovery-DMB6yrOF.js +0 -1
- package/dist/boolean-Ch3DfXPy.js +0 -1
- package/dist/boolean-D15s2V33.js +0 -1
- package/dist/boolean-DypnRoRK.js +0 -1
- package/dist/brew-COcDl8CB.js +0 -1
- package/dist/brew-DDPm_HfE.js +0 -1
- package/dist/browser-cli-Bf-Pzjxs.js +0 -1
- package/dist/browser-cli-DkrBCfYg.js +0 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +0 -1
- package/dist/bundled/bootstrap-extra-files/handler.js +0 -1
- package/dist/bundled/command-logger/handler.js +0 -1
- package/dist/bundled/session-memory/handler.js +0 -1
- package/dist/call-BWx7hNtl.js +0 -1
- package/dist/call-JB-cGR9n.js +0 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/channel-account-context-BMPAMZEv.js +0 -1
- package/dist/channel-account-context-DAcarnqW.js +0 -1
- package/dist/channel-activity-B04WbrrK.js +0 -1
- package/dist/channel-activity-BhiLsKvM.js +0 -1
- package/dist/channel-activity-DmgWmSAG.js +0 -1
- package/dist/channel-activity-Dw6F-ehJ.js +0 -1
- package/dist/channel-activity-htoVXTET.js +0 -1
- package/dist/channel-options-CCqtIYCc.js +0 -1
- package/dist/channel-options-CKoyPq8p.js +0 -1
- package/dist/channel-selection-BPxE8JR7.js +0 -1
- package/dist/channel-selection-si1OzWyQ.js +0 -1
- package/dist/channel-web-CCSMlUux.js +0 -1
- package/dist/channel-web-CwUfYqjg.js +0 -1
- package/dist/channels/plugins/actions/discord.js +0 -1
- package/dist/channels/plugins/actions/signal.js +0 -1
- package/dist/channels/plugins/actions/telegram.js +0 -1
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +0 -1
- package/dist/channels-cli-BfgVv5jH.js +0 -1
- package/dist/channels-cli-BvGXgERj.js +0 -1
- package/dist/channels-status-issues-8eFrGKyf.js +0 -1
- package/dist/channels-status-issues-PRgOT90w.js +0 -1
- package/dist/chat-envelope-Bznn2SoS.js +0 -1
- package/dist/chat-envelope-HVpKusFc.js +0 -1
- package/dist/clack-prompter-DBPdGdqp.js +0 -1
- package/dist/clack-prompter-Dq0aY6iM.js +0 -1
- package/dist/clawbot-cli-B0iTJ-pm.js +0 -1
- package/dist/clawbot-cli-BcEtQbFY.js +0 -1
- package/dist/cleanup-utils-BWm70DoD.js +0 -1
- package/dist/cleanup-utils-D-RhEX6F.js +0 -1
- package/dist/cli-Bt--1dhL.js +0 -1
- package/dist/cli-CBg8KhmQ.js +0 -1
- package/dist/cli-utils-BY7dLMFy.js +0 -1
- package/dist/cli-utils-BleB1eys.js +0 -1
- package/dist/clipboard-Bk8cviBt.js +0 -1
- package/dist/clipboard-CKT_VIkG.js +0 -1
- package/dist/cmd-argv-BBT5l8AV.js +0 -1
- package/dist/cmd-argv-Bh-KpaZ0.js +0 -1
- package/dist/command-format-BbDT1tlm.js +0 -1
- package/dist/command-format-CLxIPuLR.js +0 -1
- package/dist/command-options-BpOUDl2S.js +0 -1
- package/dist/command-options-Bq5nQxz6.js +0 -1
- package/dist/command-poll-backoff-BZLHYB2k.js +0 -1
- package/dist/command-poll-backoff-Cww_r-24.js +0 -1
- package/dist/command-poll-backoff-Df6cOQrX.js +0 -1
- package/dist/command-poll-backoff-endAPdwn.js +0 -1
- package/dist/{command-registry-BxNiXs5w.js → command-registry-D_jtBegA.js} +1 -2
- package/dist/command-secret-targets-BEjtBf5Z.js +0 -1
- package/dist/command-secret-targets-CfXtLkLF.js +0 -1
- package/dist/commands-CGpM84iR.js +0 -1
- package/dist/commands-Dy7duWlt.js +0 -1
- package/dist/commands-registry-C5Hg7gyk.js +0 -1
- package/dist/commands-registry-DT6FDUev.js +0 -1
- package/dist/commands-registry-DlvNUkXz.js +0 -1
- package/dist/commands-registry-gvMK7Pw9.js +0 -1
- package/dist/compact-CYbPi7_-.js +0 -1
- package/dist/{completion-cli-Yg5BF97F.js → completion-cli-BVbT_aR2.js} +1 -2
- package/dist/{completion-cli-BRE0F8Tu.js → completion-cli-Bw_hBrlA.js} +1 -2
- package/dist/config-BqW5S1xL.js +0 -1
- package/dist/config-Cji73to5.js +0 -1
- package/dist/config-cli-CwW76_j_.js +0 -1
- package/dist/config-cli-F-lkPjjz.js +0 -1
- package/dist/config-guard-0_afzaJz.js +0 -1
- package/dist/config-guard-CqUJ8uaF.js +0 -1
- package/dist/config-validation-6hk_fxD8.js +0 -1
- package/dist/config-validation-BAmmD9p4.js +0 -1
- package/dist/configure--c4tTVPz.js +0 -1
- package/dist/configure-DFlnM_zh.js +0 -1
- package/dist/connection-auth-CjaeEu5D.js +0 -1
- package/dist/connection-auth-smZlFWxD.js +0 -1
- package/dist/context-window-guard-7crlatf9.js +0 -1
- package/dist/context-window-guard-CPChk363.js +0 -1
- package/dist/control-ui-assets-BIa0GGDg.js +0 -1
- package/dist/control-ui-assets-CTHGGgaX.js +0 -1
- package/dist/cron-cli-BKS4L-uW.js +0 -1
- package/dist/cron-cli-L9wLLocl.js +0 -1
- package/dist/daemon-cli-BdDHNRqp.js +0 -1
- package/dist/daemon-cli-CEHkT-54.js +0 -1
- package/dist/daemon-cli.js +0 -1
- package/dist/daemon-install-CMNtsW5o.js +0 -1
- package/dist/daemon-install-D2gMiA0p.js +0 -1
- package/dist/daemon-install-plan.shared-BkwZgIAY.js +0 -1
- package/dist/daemon-install-plan.shared-Dx3DBXCG.js +0 -1
- package/dist/daemon-runtime-DHiDbRuC.js +0 -1
- package/dist/daemon-runtime-VcpeBRJV.js +0 -1
- package/dist/dangerous-name-matching-BOmvAibz.js +0 -1
- package/dist/dangerous-name-matching-DtllRqBD.js +0 -1
- package/dist/dangerous-tools-CFRYQJ6V.js +0 -1
- package/dist/dangerous-tools-oYCu5wfC.js +0 -1
- package/dist/deliver-AM3FP5rj.js +0 -1
- package/dist/deliver-BhWhLvQO.js +0 -1
- package/dist/deliver-DUNkj4hy.js +0 -1
- package/dist/deliver-SqSusZP3.js +0 -1
- package/dist/delivery-queue-CKbauSFq.js +0 -1
- package/dist/delivery-queue-nkPJu0fY.js +0 -1
- package/dist/device-pairing-DAzYy3vX.js +0 -1
- package/dist/device-pairing-DknI3IDo.js +0 -1
- package/dist/devices-cli-BYD6Sq88.js +0 -1
- package/dist/devices-cli-Dl-0fQmR.js +0 -1
- package/dist/diagnostic-BEZszppF.js +0 -1
- package/dist/diagnostic-D1H7_8QG.js +0 -1
- package/dist/diagnostic-DtuQPRbp.js +0 -1
- package/dist/diagnostic-VBPCgF9l.js +0 -1
- package/dist/diagnostics-BgbeL9KE.js +0 -1
- package/dist/diagnostics-Cdctg9K_.js +0 -1
- package/dist/directory-cli-CpMjutQb.js +0 -1
- package/dist/directory-cli-b_l3qJI_.js +0 -1
- package/dist/dns-cli-C7L4RYOm.js +0 -1
- package/dist/dns-cli-wKg6nn6f.js +0 -1
- package/dist/docs-cli-CwW4sqbC.js +0 -1
- package/dist/docs-cli-DnLLU7eX.js +0 -1
- package/dist/{doctor-completion-II0Wb435.js → doctor-completion-C9CPhCor.js} +1 -2
- package/dist/{doctor-completion-Bu-98ocm.js → doctor-completion-DI7mGC3D.js} +1 -2
- package/dist/doctor-config-flow-BVpr8-q9.js +0 -1
- package/dist/doctor-config-flow-Dio3s4x6.js +0 -1
- package/dist/enable-CjFPAUgo.js +0 -1
- package/dist/enable-PO3qN4Lf.js +0 -1
- package/dist/entry-status-CCwwKO43.js +0 -1
- package/dist/entry-status-CoXkbJcX.js +0 -1
- package/dist/entry.js +1 -2
- package/dist/env-D7wNuBx1.js +0 -1
- package/dist/env-overrides-DHtB4kK3.js +0 -1
- package/dist/env-overrides-DXJbFrwI.js +0 -1
- package/dist/errors-6SQWM9dj.js +0 -1
- package/dist/errors-Bunti32V.js +0 -1
- package/dist/exec-B3eleY5O.js +0 -1
- package/dist/exec-DHqLtFYt.js +0 -1
- package/dist/exec-approvals-BXO9Cezj.js +0 -1
- package/dist/exec-approvals-BpBNEy6i.js +0 -1
- package/dist/exec-approvals-allowlist-B-Yf6RsU.js +0 -1
- package/dist/exec-approvals-allowlist-CGjRWREs.js +0 -1
- package/dist/exec-approvals-cli-BokGzWFo.js +0 -1
- package/dist/exec-approvals-cli-CsUGu6m3.js +0 -1
- package/dist/exec-safe-bin-runtime-policy-CRPHdPbF.js +0 -1
- package/dist/exec-safe-bin-runtime-policy-v44u39fl.js +0 -1
- package/dist/fetch-B4bz67_N.js +0 -1
- package/dist/fetch-BJT3BrkJ.js +0 -1
- package/dist/fetch-Bn0mWg6a.js +0 -1
- package/dist/fetch-Ce-scEU-.js +0 -1
- package/dist/fetch-D0rZDHKO.js +0 -1
- package/dist/fetch-D5wrJ0AX.js +0 -1
- package/dist/fetch-DBat25iG.js +0 -1
- package/dist/fetch-DHo17YmK.js +0 -1
- package/dist/fetch-Dh-apy46.js +0 -1
- package/dist/fetch-Dikjvc5M.js +0 -1
- package/dist/fetch-DsjPfQlp.js +0 -1
- package/dist/fetch-_g8lZ8K8.js +0 -1
- package/dist/fetch-guard-7BAwnP4a.js +0 -1
- package/dist/fetch-guard-DaZmvp-L.js +0 -1
- package/dist/fetch-guard-DvaNcypz.js +0 -1
- package/dist/fetch-guard-oWKGrwV4.js +0 -1
- package/dist/fetch-hy0JKSsm.js +0 -1
- package/dist/fetch-timeout-CdYxWG9w.js +0 -1
- package/dist/fetch-timeout-Cj8_oAls.js +0 -1
- package/dist/fetch-timeout-DoOI_izT.js +0 -1
- package/dist/fetch-timeout-u8g99Ax0.js +0 -1
- package/dist/format-Bn1bwJKX.js +0 -1
- package/dist/format-Ce7I7s-k.js +0 -1
- package/dist/format-duration-C8AzNqKh.js +0 -1
- package/dist/format-duration-D5AMtmHa.js +0 -1
- package/dist/format-relative-B9pSIdGe.js +0 -1
- package/dist/format-relative-DkMjYy7z.js +0 -1
- package/dist/frontmatter-BkZkwkVO.js +0 -1
- package/dist/frontmatter-C7mzDNxd.js +0 -1
- package/dist/frontmatter-CzpfPBFl.js +0 -1
- package/dist/{gateway-cli-DBjTjdhJ.js → gateway-cli-BMmU2dsG.js} +1 -2
- package/dist/{gateway-cli-B-AX4-uD.js → gateway-cli-Kp-caOwI.js} +1 -2
- package/dist/gateway-install-token-Dt7hDXoR.js +0 -1
- package/dist/gateway-install-token-cSJrfU_1.js +0 -1
- package/dist/gateway-rpc-C78PzdZR.js +0 -1
- package/dist/gateway-rpc-CecloWA1.js +0 -1
- package/dist/github-copilot-token-C79yeDKS.js +0 -1
- package/dist/github-copilot-token-DGYAlOmV.js +0 -1
- package/dist/github-copilot-token-DePP-lIf.js +0 -1
- package/dist/github-copilot-token-wm6mbypz.js +0 -1
- package/dist/gmail-setup-utils-CYOH3zzx.js +0 -1
- package/dist/gmail-setup-utils-S-MyEGuj.js +0 -1
- package/dist/group-access-BHKVOhrj.js +0 -1
- package/dist/group-access-D2DOYMfr.js +0 -1
- package/dist/health-B_-ZE5FK.js +0 -1
- package/dist/health-CIZFVJEG.js +0 -1
- package/dist/health-format-B1nj3Wfn.js +0 -1
- package/dist/health-format-VBr6LEpt.js +0 -1
- package/dist/heartbeat-visibility-BQ_esv2m.js +0 -1
- package/dist/heartbeat-visibility-q74UdY8O.js +0 -1
- package/dist/help-format-B4aEI7V9.js +0 -1
- package/dist/help-format-BRbF_INg.js +0 -1
- package/dist/helpers-COz1ghcB.js +0 -1
- package/dist/helpers-Cp8gcO6u.js +0 -1
- package/dist/hooks-cli-BoxAnC-E.js +0 -1
- package/dist/hooks-cli-CnCOjVv0.js +0 -1
- package/dist/hooks-status-BHt-Xvh4.js +0 -1
- package/dist/hooks-status-CRJ4J0ZW.js +0 -1
- package/dist/image-BBO-0uLG.js +0 -1
- package/dist/image-BP1cfEh1.js +0 -1
- package/dist/image-BVbOr9yV.js +0 -1
- package/dist/image-CcsuUB1B.js +0 -1
- package/dist/index.js +1 -2
- package/dist/inspect-BKV-I1UE.js +0 -1
- package/dist/inspect-z59cgmYc.js +0 -1
- package/dist/install-safe-path-C6kc_8NW.js +0 -1
- package/dist/install-safe-path-iesxijn2.js +0 -1
- package/dist/installs-CKzq-YqL.js +0 -1
- package/dist/installs-DzSskdtJ.js +0 -1
- package/dist/ipv4-B05QVStj.js +0 -1
- package/dist/ipv4-SeeyR-DH.js +0 -1
- package/dist/ir-B7mdG27k.js +0 -1
- package/dist/ir-BTfsA9Dd.js +0 -1
- package/dist/ir-CNTx85qV.js +0 -1
- package/dist/ir-DdjufzKF.js +0 -1
- package/dist/is-main-DG5ueqhF.js +0 -1
- package/dist/issue-format-BtMzMXtZ.js +0 -1
- package/dist/issue-format-CN9PHzXY.js +0 -1
- package/dist/kill-tree-D6nPx1_o.js +0 -1
- package/dist/lifecycle-core-B1nrgJCw.js +0 -1
- package/dist/lifecycle-core-D_LWJeD_.js +0 -1
- package/dist/line/accounts.js +0 -1
- package/dist/line/send.js +0 -1
- package/dist/line/template-messages.js +0 -1
- package/dist/links-CBnmRP9D.js +0 -1
- package/dist/links-CySwdMcF.js +0 -1
- package/dist/llm-slug-generator.js +0 -1
- package/dist/load-options-BsOW74dp.js +0 -1
- package/dist/load-options-C7dLuybp.js +0 -1
- package/dist/load-options-DV4j6Aqb.js +0 -1
- package/dist/load-options-Dwt0CeEg.js +0 -1
- package/dist/local-roots-aA-4ohTq.js +0 -1
- package/dist/logger-5W0OocJW.js +0 -1
- package/dist/logger-Bl8URnrW.js +0 -1
- package/dist/logger-DwWqfo66.js +0 -1
- package/dist/logger-kQAOe3qp.js +0 -1
- package/dist/logging-B7XHbCNn.js +0 -1
- package/dist/logging-CbMVr2MA.js +0 -1
- package/dist/login-BGLWiksP.js +0 -1
- package/dist/login-CcYeF5T_.js +0 -1
- package/dist/login-DSZdCiDx.js +0 -1
- package/dist/login-DWZzj-P1.js +0 -1
- package/dist/login-qr-BGpGVMES.js +0 -1
- package/dist/login-qr-BUdgvi3v.js +0 -1
- package/dist/login-qr-Bx8skPB-.js +0 -1
- package/dist/login-qr-DYUCmP-W.js +0 -1
- package/dist/login-qr-_79eoRb4.js +0 -1
- package/dist/logs-cli-C52caOop.js +0 -1
- package/dist/logs-cli-Ch50TE-J.js +0 -1
- package/dist/manager-CI6O4QH6.js +0 -1
- package/dist/manager-CN_rQm1L.js +0 -1
- package/dist/manager-CxZRoQkE.js +0 -1
- package/dist/manager-iFi--Fru.js +0 -1
- package/dist/memory-cli-BouV_wyL.js +0 -1
- package/dist/memory-cli-C8fBBPgv.js +0 -1
- package/dist/model-catalog-D-hkNWin.js +0 -1
- package/dist/model-catalog-mt0IcDfR.js +0 -1
- package/dist/model-param-b-B0r2cPDw.js +0 -1
- package/dist/model-param-b-BqIr5rY5.js +0 -1
- package/dist/model-picker-BB0Zdvyu.js +0 -1
- package/dist/model-picker-DeiWyW0N.js +0 -1
- package/dist/model-selection-BLbnMb5E.js +0 -1
- package/dist/model-selection-D7mdJmGK.js +0 -1
- package/dist/model-selection-DvekK9rZ.js +0 -1
- package/dist/models-BBYqej07.js +0 -1
- package/dist/models-cli-CMMhnlHo.js +0 -1
- package/dist/models-cli-CqbDyDn2.js +0 -1
- package/dist/models-config-BlQ39qlq.js +0 -1
- package/dist/models-config-DZzS67GS.js +0 -1
- package/dist/mutable-allowlist-detectors-C4rNVag8.js +0 -1
- package/dist/mutable-allowlist-detectors-CL0qe54J.js +0 -1
- package/dist/node-cli-Bzu1efMB.js +0 -1
- package/dist/node-cli-Dv-Eib4o.js +0 -1
- package/dist/node-command-policy-D9yZu9zq.js +0 -1
- package/dist/node-command-policy-DyWp3Bjz.js +0 -1
- package/dist/node-commands-8GBOiktk.js +0 -1
- package/dist/node-commands-DdkziOTx.js +0 -1
- package/dist/node-resolve-B3BJbmQX.js +0 -1
- package/dist/node-resolve-DLZf3-1V.js +0 -1
- package/dist/node-service-BRfrNp8l.js +0 -1
- package/dist/node-service-C0bl7jcZ.js +0 -1
- package/dist/node-shell-BVZylVP6.js +0 -1
- package/dist/nodes-cli-B3aNQG30.js +0 -1
- package/dist/nodes-cli-DzO6PSFw.js +0 -1
- package/dist/nodes-screen-8nRBsfID.js +0 -1
- package/dist/note-D4GAwgha.js +0 -1
- package/dist/note-Dp-d_utk.js +0 -1
- package/dist/npm-pack-install-B23L-AtF.js +0 -1
- package/dist/npm-pack-install-C0te3Oap.js +0 -1
- package/dist/npm-resolution--_-0q2ks.js +0 -1
- package/dist/npm-resolution-CBlwQq3a.js +0 -1
- package/dist/oauth-env-DAamJ1oz.js +0 -1
- package/dist/oauth-env-DSLBTWb1.js +0 -1
- package/dist/oauth-tls-preflight-BSBRDIfC.js +0 -1
- package/dist/oauth-tls-preflight-ByNjbUR5.js +0 -1
- package/dist/ollama-setup-CGuyH3Ey.js +0 -1
- package/dist/ollama-setup-LVRPefmV.js +0 -1
- package/dist/{onboard-DMmLqys5.js → onboard-DZG0HnuP.js} +1 -2
- package/dist/{onboard-C2Ofvb_A.js → onboard-DlCEww7K.js} +1 -2
- package/dist/onboard-channels-BDMtq3ex.js +0 -1
- package/dist/onboard-channels-BO3AN_eA.js +0 -1
- package/dist/onboard-config-B7U20YRw.js +0 -1
- package/dist/onboard-config-DS9dUv8M.js +0 -1
- package/dist/onboard-custom--OylwoHQ.js +0 -1
- package/dist/onboard-custom-_Df_ciX2.js +0 -1
- package/dist/onboard-helpers-D90u4wVK.js +0 -1
- package/dist/onboard-helpers-DOlI17Ac.js +0 -1
- package/dist/onboard-hooks-CERzXObm.js +0 -1
- package/dist/onboard-hooks-gQ3sxBNi.js +0 -1
- package/dist/onboard-provider-auth-flags-CqbipO7D.js +0 -1
- package/dist/onboard-provider-auth-flags-Dvwzdz37.js +0 -1
- package/dist/onboard-remote-B1-SlmUN.js +0 -1
- package/dist/onboard-remote-C7Eg49Uf.js +0 -1
- package/dist/onboard-search-f2tJD4hg.js +0 -1
- package/dist/onboard-search-fslKKhyg.js +0 -1
- package/dist/onboard-skills-DCgTr6hW.js +0 -1
- package/dist/onboard-skills-_TBzISd2.js +0 -1
- package/dist/{onboarding-C82cKKNI.js → onboarding-CxRTJCBM.js} +1 -2
- package/dist/{onboarding-M80apW9t.js → onboarding-m-m__16h.js} +1 -2
- package/dist/{onboarding.finalize-D9nrrI1J.js → onboarding.finalize-BJxMhYUa.js} +1 -2
- package/dist/{onboarding.finalize-CVvwI1Qg.js → onboarding.finalize-UiX3YmbI.js} +1 -2
- package/dist/onboarding.gateway-config-CXjzrfwL.js +0 -1
- package/dist/onboarding.gateway-config-TSq70E-S.js +0 -1
- package/dist/onboarding.secret-input-BSmFS1Px.js +0 -1
- package/dist/onboarding.secret-input-CUD0t7Pk.js +0 -1
- package/dist/openai-codex-model-default-Bx8i3bOg.js +0 -1
- package/dist/openai-codex-model-default-DuRfnfUm.js +0 -1
- package/dist/openai-model-default-Bm9b0oR0.js +0 -1
- package/dist/openai-model-default-KMCphvoO.js +0 -1
- package/dist/openclaw-exec-env-BWbOu_YC.js +0 -1
- package/dist/openclaw-root-CnsBf6ZU.js +0 -1
- package/dist/openclaw-root-D_0Q6--h.js +0 -1
- package/dist/outbound-BevYwvMh.js +0 -1
- package/dist/outbound-CqDxMWLZ.js +0 -1
- package/dist/outbound-DmwQEFu0.js +0 -1
- package/dist/outbound-attachment-9-8VNvRG.js +0 -1
- package/dist/outbound-attachment-Bah4dvuM.js +0 -1
- package/dist/outbound-attachment-CVcDBkAD.js +0 -1
- package/dist/outbound-attachment-E89zumcH.js +0 -1
- package/dist/outbound-xlG_RqEu.js +0 -1
- package/dist/pairing-cli-ByPhOBWo.js +0 -1
- package/dist/pairing-cli-CxJy8LPo.js +0 -1
- package/dist/pairing-labels-CZ-aX-up.js +0 -1
- package/dist/pairing-labels-PIuZfthz.js +0 -1
- package/dist/pairing-store-BaaVy1zB.js +0 -1
- package/dist/pairing-store-EmfFQVcs.js +0 -1
- package/dist/pairing-token-B8RdfK2y.js +0 -1
- package/dist/pairing-token-zdbQ951y.js +0 -1
- package/dist/parse-duration-XTjMKl8s.js +0 -1
- package/dist/parse-finite-number-DqzUM-_s.js +0 -1
- package/dist/parse-finite-number-dBmDLLKL.js +0 -1
- package/dist/parse-log-line-CsYLg7Qu.js +0 -1
- package/dist/parse-log-line-NV-cipB_.js +0 -1
- package/dist/parse-port-Bv1Y9Wk5.js +0 -1
- package/dist/parse-port-JVwkxcZ8.js +0 -1
- package/dist/parse-timeout-DWSGfCkQ.js +0 -1
- package/dist/parse-timeout-Dx4QnVzo.js +0 -1
- package/dist/path-alias-guards-kY_ZbWs-.js +0 -1
- package/dist/path-alias-guards-mvyLCPlN.js +0 -1
- package/dist/path-env-BPd1Yd-i.js +0 -1
- package/dist/path-env-emdAQejM.js +0 -1
- package/dist/path-safety-BukYK8Kd.js +0 -1
- package/dist/path-safety-DaaMJFdt.js +0 -1
- package/dist/paths-B4IRk3wi.js +0 -1
- package/dist/paths-BfjJY2VL.js +0 -1
- package/dist/paths-BjD3T_xq.js +0 -1
- package/dist/paths-BpQOWYiT.js +0 -1
- package/dist/paths-CChBdtE8.js +0 -1
- package/dist/paths-CrCoPIVK.js +0 -1
- package/dist/paths-piJASC5k.js +0 -1
- package/dist/paths-yLEk_25I.js +0 -1
- package/dist/pi-embedded-6yGEd2xd.js +0 -1
- package/dist/pi-embedded-X_Svd4Wi.js +0 -1
- package/dist/pi-model-discovery-BPkhPDMr.js +0 -1
- package/dist/pi-model-discovery-BonZ1N3x.js +0 -1
- package/dist/pi-model-discovery-DVKXkQTR.js +0 -1
- package/dist/pi-model-discovery-DnJkNRc-.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-2-IJ8xox.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-CNesNgq0.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-CmtITCPP.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-VUjwIYJ7.js +0 -1
- package/dist/pi-tools.policy-B6q8YOfg.js +0 -1
- package/dist/plugin-auto-enable-CTgkkJK7.js +0 -1
- package/dist/plugin-auto-enable-adba5Evb.js +0 -1
- package/dist/plugin-install-plan-BmyB3dR1.js +0 -1
- package/dist/plugin-install-plan-sIOiMBS1.js +0 -1
- package/dist/plugin-registry-CN2aCPP7.js +0 -1
- package/dist/plugin-registry-DYwEy5eM.js +0 -1
- package/dist/plugin-sdk/account-id.cjs +0 -1
- package/dist/plugin-sdk/account-id.js +0 -1
- package/dist/plugin-sdk/acpx.cjs +0 -1
- package/dist/plugin-sdk/acpx.js +0 -1
- package/dist/plugin-sdk/active-listener-B1sd5Yrr.cjs +0 -1
- package/dist/plugin-sdk/active-listener-CVvtj4nc.cjs +0 -1
- package/dist/plugin-sdk/active-listener-D0Pag-jN.js +0 -1
- package/dist/plugin-sdk/active-listener-DIzG1nGC.js +0 -1
- package/dist/plugin-sdk/active-listener-DUT4_v5r.cjs +0 -1
- package/dist/plugin-sdk/active-listener-D_Cq4Tuy.cjs +0 -1
- package/dist/plugin-sdk/active-listener-HBuXCjdG.js +0 -1
- package/dist/plugin-sdk/active-listener-V7whA3d_.js +0 -1
- package/dist/plugin-sdk/active-listener-YOWDFFGG.js +0 -1
- package/dist/plugin-sdk/active-listener-kJidH-KZ.js +0 -1
- package/dist/plugin-sdk/active-listener-kmJHqUWY.cjs +0 -1
- package/dist/plugin-sdk/active-listener-vpxSd-kW.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-BEhJdmXN.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-BcDAQISn.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-Bua813IH.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-C7_ooC3N.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-CiFfWYgL.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-CrVpqlS6.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-D-zSLAf_.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-DInDOH-A.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-DKp72Rw4.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-YRRtbk9Y.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-tVSHRH8D.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-ta953lKF.js +0 -1
- package/dist/plugin-sdk/audio-preflight-5ZbcO1qy.js +0 -1
- package/dist/plugin-sdk/audio-preflight-BrAX9j6r.js +0 -1
- package/dist/plugin-sdk/audio-preflight-C2NpU5hR.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-CtWGsCje.js +0 -1
- package/dist/plugin-sdk/audio-preflight-CwjNHDro.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-D22cCCmn.js +0 -1
- package/dist/plugin-sdk/audio-preflight-DyK2q8OQ.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-F7lfchEO.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-ItHD-3bi.js +0 -1
- package/dist/plugin-sdk/audio-preflight-QWsN9gcK.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-k7Qt2rDs.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-wcMT_iUA.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-B3bLoVvU.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-BDfW3xeJ.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-BZLASCWO.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-CiRKTRED.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-Cxs7u0B3.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-D2IxJCfd.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DA6TwXrV.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DZIEX1Rl.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DZRGn6-f.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-Dc-WF6zu.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DuBgVmcT.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-nKI1rQ0R.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +0 -1
- package/dist/plugin-sdk/bluebubbles.cjs +0 -1
- package/dist/plugin-sdk/bluebubbles.js +0 -1
- package/dist/plugin-sdk/channel-activity--Ax2m0qQ.js +0 -1
- package/dist/plugin-sdk/channel-activity-BCsNxxNa.js +0 -1
- package/dist/plugin-sdk/channel-activity-BUieXBdg.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-BXffAklf.js +0 -1
- package/dist/plugin-sdk/channel-activity-BlYTUiU4.js +0 -1
- package/dist/plugin-sdk/channel-activity-Bm-pvlXw.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-Bnai3H2M.js +0 -1
- package/dist/plugin-sdk/channel-activity-CC3JLAxD.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-CTmfXwYn.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-D98aY9ZF.js +0 -1
- package/dist/plugin-sdk/channel-activity-DymcGybX.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-gZBQEyOK.cjs +0 -1
- package/dist/plugin-sdk/channel-web-B795Ild9.cjs +0 -1
- package/dist/plugin-sdk/channel-web-Bg8DNyeb.js +0 -1
- package/dist/plugin-sdk/channel-web-CW42ALB5.cjs +0 -1
- package/dist/plugin-sdk/channel-web-D5zxPW-x.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +0 -1
- package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +0 -1
- package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-BIGWymiv.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-Bnadsir-.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-C1Gb98lg.js +0 -1
- package/dist/plugin-sdk/commands-registry-CZcNTwNs.js +0 -1
- package/dist/plugin-sdk/commands-registry-CeJQPXIR.js +0 -1
- package/dist/plugin-sdk/commands-registry-CehvtLBA.js +0 -1
- package/dist/plugin-sdk/commands-registry-Cf8DaBmw.js +0 -1
- package/dist/plugin-sdk/commands-registry-Cfv6gDoQ.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-D734s8r7.js +0 -1
- package/dist/plugin-sdk/commands-registry-DWx89vtR.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-DviWu8J8.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-wA0CkHGk.cjs +0 -1
- package/dist/plugin-sdk/common-BJ0tHoNJ.cjs +0 -1
- package/dist/plugin-sdk/common-CxLmdAIn.js +0 -1
- package/dist/plugin-sdk/compat.cjs +0 -1
- package/dist/plugin-sdk/compat.js +0 -1
- package/dist/plugin-sdk/config-C2-9m5-M.cjs +0 -1
- package/dist/plugin-sdk/config-Cx3SFBFW.js +0 -1
- package/dist/plugin-sdk/copilot-proxy.cjs +0 -1
- package/dist/plugin-sdk/copilot-proxy.js +0 -1
- package/dist/plugin-sdk/core.cjs +0 -1
- package/dist/plugin-sdk/core.js +0 -1
- package/dist/plugin-sdk/deliver--pOntbRC.cjs +0 -1
- package/dist/plugin-sdk/deliver-BLMe2eBS.js +0 -1
- package/dist/plugin-sdk/deliver-BcHzZPc2.js +0 -1
- package/dist/plugin-sdk/deliver-CSGTRHt1.js +0 -1
- package/dist/plugin-sdk/deliver-Cm8yUsWK.cjs +0 -1
- package/dist/plugin-sdk/deliver-DQDZRjZ0.js +0 -1
- package/dist/plugin-sdk/deliver-DRintVMn.js +0 -1
- package/dist/plugin-sdk/deliver-DehGdLxT.js +0 -1
- package/dist/plugin-sdk/deliver-EThzALwn.cjs +0 -1
- package/dist/plugin-sdk/deliver-d7VfVmTa.cjs +0 -1
- package/dist/plugin-sdk/deliver-rACJj8E9.cjs +0 -1
- package/dist/plugin-sdk/deliver-wteCze09.cjs +0 -1
- package/dist/plugin-sdk/device-pair.cjs +0 -1
- package/dist/plugin-sdk/device-pair.js +0 -1
- package/dist/plugin-sdk/diagnostic-BcBlExSy.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-Bmp3zWQp.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-BvrdTMl3.js +0 -1
- package/dist/plugin-sdk/diagnostic-C2jKFixS.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-CSfBcIOI.js +0 -1
- package/dist/plugin-sdk/diagnostic-CYR5dxDE.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-CdNZNyNv.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-DE5k6C1E.js +0 -1
- package/dist/plugin-sdk/diagnostic-DMpxa640.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-DSgf5Z4H.js +0 -1
- package/dist/plugin-sdk/diagnostic-DbRdunVt.js +0 -1
- package/dist/plugin-sdk/diagnostic-zCrcFAbJ.js +0 -1
- package/dist/plugin-sdk/diagnostics-otel.cjs +0 -1
- package/dist/plugin-sdk/diagnostics-otel.js +0 -1
- package/dist/plugin-sdk/diffs.cjs +0 -1
- package/dist/plugin-sdk/diffs.js +0 -1
- package/dist/plugin-sdk/discord.cjs +0 -1
- package/dist/plugin-sdk/discord.js +0 -1
- package/dist/plugin-sdk/dispatch-B13B2T1k.js +0 -1
- package/dist/plugin-sdk/dispatch-BaBcLOry.js +0 -1
- package/dist/plugin-sdk/dispatch-BlOkbw2U.js +0 -1
- package/dist/plugin-sdk/dispatch-D2Km7gvG.cjs +0 -1
- package/dist/plugin-sdk/dispatch-DAaOM5c1.cjs +0 -1
- package/dist/plugin-sdk/dispatch-DYRrW05S.js +0 -1
- package/dist/plugin-sdk/dispatch-Dap2ZPC9.js +0 -1
- package/dist/plugin-sdk/dispatch-Dl0eaYcY.cjs +0 -1
- package/dist/plugin-sdk/dispatch-_tJF5hSh.cjs +0 -1
- package/dist/plugin-sdk/dispatch-cPg1rBWu.cjs +0 -1
- package/dist/plugin-sdk/feishu.cjs +0 -1
- package/dist/plugin-sdk/feishu.js +0 -1
- package/dist/plugin-sdk/fetch-7Iq9POda.js +0 -1
- package/dist/plugin-sdk/fetch-B1GR6-u4.js +0 -1
- package/dist/plugin-sdk/fetch-B27H-XCf.js +0 -1
- package/dist/plugin-sdk/fetch-BMYDLRWo.js +0 -1
- package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +0 -1
- package/dist/plugin-sdk/fetch-BVEVk5YF.js +0 -1
- package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +0 -1
- package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +0 -1
- package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +0 -1
- package/dist/plugin-sdk/fetch-BtZY623f.js +0 -1
- package/dist/plugin-sdk/fetch-C-HRWp5R.js +0 -1
- package/dist/plugin-sdk/fetch-C3LEMysf.js +0 -1
- package/dist/plugin-sdk/fetch-CCLWsYaQ.js +0 -1
- package/dist/plugin-sdk/fetch-CZewCAvu.cjs +0 -1
- package/dist/plugin-sdk/fetch-ClKErpni.cjs +0 -1
- package/dist/plugin-sdk/fetch-DBRI0sKI.js +0 -1
- package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +0 -1
- package/dist/plugin-sdk/fetch-DUMEaqum.cjs +0 -1
- package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +0 -1
- package/dist/plugin-sdk/fetch-J0IzopiJ.js +0 -1
- package/dist/plugin-sdk/fetch-guard-7tObWdgY.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-ACKeLHgB.js +0 -1
- package/dist/plugin-sdk/fetch-guard-BI5z5sCg.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-BUOtcki7.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-BZi5e63X.js +0 -1
- package/dist/plugin-sdk/fetch-guard-CVnIQ0nI.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-DKS4LY4o.js +0 -1
- package/dist/plugin-sdk/fetch-guard-DcAQBHbg.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-Dj-DlPBS.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-Dm1nAvhl.js +0 -1
- package/dist/plugin-sdk/fetch-guard-GfhPo1Fa.js +0 -1
- package/dist/plugin-sdk/fetch-guard-nFWUH1s9.js +0 -1
- package/dist/plugin-sdk/fetch-lw-aF17e.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +0 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.cjs +0 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.js +0 -1
- package/dist/plugin-sdk/googlechat.cjs +0 -1
- package/dist/plugin-sdk/googlechat.js +0 -1
- package/dist/plugin-sdk/image-BLG2OrjE.cjs +0 -1
- package/dist/plugin-sdk/image-BPUmI-kx.cjs +0 -1
- package/dist/plugin-sdk/image-Bt_w0o87.js +0 -1
- package/dist/plugin-sdk/image-CMeyJO2-.js +0 -1
- package/dist/plugin-sdk/image-CMiT6Fvk.cjs +0 -1
- package/dist/plugin-sdk/image-CNMuTe0Z.js +0 -1
- package/dist/plugin-sdk/image-CO9zxV0G.js +0 -1
- package/dist/plugin-sdk/image-CjVyB61p.cjs +0 -1
- package/dist/plugin-sdk/image-CkWikcPf.cjs +0 -1
- package/dist/plugin-sdk/image-Dk2gzO1U.js +0 -1
- package/dist/plugin-sdk/image-Jmj-a1pv.js +0 -1
- package/dist/plugin-sdk/image-UKq4Bn2r.cjs +0 -1
- package/dist/plugin-sdk/imessage.cjs +0 -1
- package/dist/plugin-sdk/imessage.js +0 -1
- package/dist/plugin-sdk/index.cjs +0 -1
- package/dist/plugin-sdk/index.js +0 -1
- package/dist/plugin-sdk/ir-Bg_avpt0.cjs +0 -1
- package/dist/plugin-sdk/ir-BiiaNbB9.cjs +0 -1
- package/dist/plugin-sdk/ir-CYJPM1_I.cjs +0 -1
- package/dist/plugin-sdk/ir-Ca3EdqFl.js +0 -1
- package/dist/plugin-sdk/ir-Cl_S_VBR.cjs +0 -1
- package/dist/plugin-sdk/ir-Cq7b_9v8.cjs +0 -1
- package/dist/plugin-sdk/ir-DcWa7gsX.cjs +0 -1
- package/dist/plugin-sdk/ir-DdA08iXJ.js +0 -1
- package/dist/plugin-sdk/ir-DqBwrJJd.js +0 -1
- package/dist/plugin-sdk/ir-EUD0qDem.js +0 -1
- package/dist/plugin-sdk/ir-c1MS26Ci.js +0 -1
- package/dist/plugin-sdk/ir-vhCxHELh.js +0 -1
- package/dist/plugin-sdk/irc.cjs +0 -1
- package/dist/plugin-sdk/irc.js +0 -1
- package/dist/plugin-sdk/keyed-async-queue.cjs +0 -1
- package/dist/plugin-sdk/keyed-async-queue.js +0 -1
- package/dist/plugin-sdk/line.cjs +0 -1
- package/dist/plugin-sdk/line.js +0 -1
- package/dist/plugin-sdk/llm-task.cjs +0 -1
- package/dist/plugin-sdk/llm-task.js +0 -1
- package/dist/plugin-sdk/load-options-B9Ss5YOO.js +0 -1
- package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +0 -1
- package/dist/plugin-sdk/load-options-BXvm8HVv.js +0 -1
- package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +0 -1
- package/dist/plugin-sdk/load-options-BcSg1ODN.js +0 -1
- package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +0 -1
- package/dist/plugin-sdk/lobster.cjs +0 -1
- package/dist/plugin-sdk/lobster.js +0 -1
- package/dist/plugin-sdk/local-roots-2OcKjfzk.js +0 -1
- package/dist/plugin-sdk/local-roots-ByrRvVBc.cjs +0 -1
- package/dist/plugin-sdk/local-roots-CXPxvx0J.js +0 -1
- package/dist/plugin-sdk/local-roots-CzbssMW1.cjs +0 -1
- package/dist/plugin-sdk/local-roots-DIijr8mK.cjs +0 -1
- package/dist/plugin-sdk/local-roots-DRv9Y_41.cjs +0 -1
- package/dist/plugin-sdk/local-roots-DTC7BJct.js +0 -1
- package/dist/plugin-sdk/local-roots-DU8RuiRi.js +0 -1
- package/dist/plugin-sdk/local-roots-DprQ5M3b.js +0 -1
- package/dist/plugin-sdk/local-roots-GqNj3vMl.cjs +0 -1
- package/dist/plugin-sdk/local-roots-I2icTm2P.cjs +0 -1
- package/dist/plugin-sdk/local-roots-qEhx-D42.js +0 -1
- package/dist/plugin-sdk/logger-6O6OsYBL.cjs +0 -1
- package/dist/plugin-sdk/logger-BlddiV_d.cjs +0 -1
- package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +0 -1
- package/dist/plugin-sdk/logger-BtrWb0dj.js +0 -1
- package/dist/plugin-sdk/logger-C210xuWx.js +0 -1
- package/dist/plugin-sdk/logger-DJGHvDbX.js +0 -1
- package/dist/plugin-sdk/logger-DPlqYkRm.cjs +0 -1
- package/dist/plugin-sdk/logger-DUYnS-W3.cjs +0 -1
- package/dist/plugin-sdk/logger-DwWqfo66.js +0 -1
- package/dist/plugin-sdk/logger-vBDTZWl3.js +0 -1
- package/dist/plugin-sdk/login-0ui1gfZM.cjs +0 -1
- package/dist/plugin-sdk/login-B0lIdwss.cjs +0 -1
- package/dist/plugin-sdk/login-B43p990Y.cjs +0 -1
- package/dist/plugin-sdk/login-DHBcWg4R.cjs +0 -1
- package/dist/plugin-sdk/login-DUCNg4lV.js +0 -1
- package/dist/plugin-sdk/login-DqVo92p1.js +0 -1
- package/dist/plugin-sdk/login-Dt4KiLgP.js +0 -1
- package/dist/plugin-sdk/login-IVBk3GwG.cjs +0 -1
- package/dist/plugin-sdk/login-T6tSC1Xl.js +0 -1
- package/dist/plugin-sdk/login-XruRHZe5.js +0 -1
- package/dist/plugin-sdk/login-p9hWVYO6.cjs +0 -1
- package/dist/plugin-sdk/login-qr-B4wf-15u.js +0 -1
- package/dist/plugin-sdk/login-qr-BQMm3yV_.cjs +0 -1
- package/dist/plugin-sdk/login-qr-BreyhXFQ.cjs +0 -1
- package/dist/plugin-sdk/login-qr-C6RPK8ld.js +0 -1
- package/dist/plugin-sdk/login-qr-C6cQueYq.js +0 -1
- package/dist/plugin-sdk/login-qr-CxznBK7s.cjs +0 -1
- package/dist/plugin-sdk/login-qr-D0dmb3Gr.js +0 -1
- package/dist/plugin-sdk/login-qr-DWW1FC-n.cjs +0 -1
- package/dist/plugin-sdk/login-qr-DjC-P7Vy.cjs +0 -1
- package/dist/plugin-sdk/login-qr-KeBTY1Mb.js +0 -1
- package/dist/plugin-sdk/login-qr-gQsVZ8en.js +0 -1
- package/dist/plugin-sdk/login-qr-xkqmSKC8.cjs +0 -1
- package/dist/plugin-sdk/login-x9vN5UnR.js +0 -1
- package/dist/plugin-sdk/manager-B38IH03I.cjs +0 -1
- package/dist/plugin-sdk/manager-BZVFXygg.cjs +0 -1
- package/dist/plugin-sdk/manager-BuNveORY.cjs +0 -1
- package/dist/plugin-sdk/manager-C4FEmxjq.cjs +0 -1
- package/dist/plugin-sdk/manager-CHnzSMNG.js +0 -1
- package/dist/plugin-sdk/manager-CN4wiVFz.js +0 -1
- package/dist/plugin-sdk/manager-D9RwKYCX.js +0 -1
- package/dist/plugin-sdk/manager-DAmjm61U.cjs +0 -1
- package/dist/plugin-sdk/manager-DJSpJkev.js +0 -1
- package/dist/plugin-sdk/manager-EO7deQzm.js +0 -1
- package/dist/plugin-sdk/manager-vyHAgafh.cjs +0 -1
- package/dist/plugin-sdk/manager-zyDhj7B-.js +0 -1
- package/dist/plugin-sdk/matrix.cjs +0 -1
- package/dist/plugin-sdk/matrix.js +0 -1
- package/dist/plugin-sdk/mattermost.cjs +0 -1
- package/dist/plugin-sdk/mattermost.js +0 -1
- package/dist/plugin-sdk/memory-core.cjs +0 -1
- package/dist/plugin-sdk/memory-core.js +0 -1
- package/dist/plugin-sdk/minimax-portal-auth.cjs +0 -1
- package/dist/plugin-sdk/minimax-portal-auth.js +0 -1
- package/dist/plugin-sdk/model-auth-1RA9nkQH.js +0 -1
- package/dist/plugin-sdk/model-auth-Cgqd2_sP.cjs +0 -1
- package/dist/plugin-sdk/model-auth-Cp2GSJwZ.js +0 -1
- package/dist/plugin-sdk/model-auth-Lv74A-Si.cjs +0 -1
- package/dist/plugin-sdk/model-auth-RI6NYvTO.js +0 -1
- package/dist/plugin-sdk/model-auth-exDkzEDR.js +0 -1
- package/dist/plugin-sdk/model-auth-igOM3blS.cjs +0 -1
- package/dist/plugin-sdk/model-auth-sjKLUCCz.cjs +0 -1
- package/dist/plugin-sdk/model-selection-C9HlFaXF.js +0 -1
- package/dist/plugin-sdk/model-selection-DpGE9eNM.cjs +0 -1
- package/dist/plugin-sdk/msteams.cjs +0 -1
- package/dist/plugin-sdk/msteams.js +0 -1
- package/dist/plugin-sdk/nextcloud-talk.cjs +0 -1
- package/dist/plugin-sdk/nextcloud-talk.js +0 -1
- package/dist/plugin-sdk/nostr.cjs +0 -1
- package/dist/plugin-sdk/nostr.js +0 -1
- package/dist/plugin-sdk/outbound-BO0tyeUH.js +0 -1
- package/dist/plugin-sdk/outbound-BYU5HTrX.js +0 -1
- package/dist/plugin-sdk/outbound-CBVlxGRf.cjs +0 -1
- package/dist/plugin-sdk/outbound-CTyu_gZh.js +0 -1
- package/dist/plugin-sdk/outbound-CwWXHNwp.cjs +0 -1
- package/dist/plugin-sdk/outbound-CySyQcmE.js +0 -1
- package/dist/plugin-sdk/outbound-DDPxEpHH.cjs +0 -1
- package/dist/plugin-sdk/outbound-DZhl7sHt.cjs +0 -1
- package/dist/plugin-sdk/outbound-DmeUAXdA.js +0 -1
- package/dist/plugin-sdk/outbound-DvFQ_6wQ.cjs +0 -1
- package/dist/plugin-sdk/outbound-Dy87UlCV.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-5H1iYkTb.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-BAHrn3r7.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-BBJPbiLF.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-BIGvZREF.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-B_OTB3A8.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-C94-r948.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CJatgPbm.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CLUVyl5e.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CTR1-VEH.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CmQ0SNgK.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-Dbja7LQF.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-DwzJ2l3T.cjs +0 -1
- package/dist/plugin-sdk/outbound-xMr8Xsxe.js +0 -1
- package/dist/plugin-sdk/paths-BPlgbwrb.cjs +0 -1
- package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +0 -1
- package/dist/plugin-sdk/paths-BpQOWYiT.js +0 -1
- package/dist/plugin-sdk/paths-BvlJvmRS.cjs +0 -1
- package/dist/plugin-sdk/paths-CIcxeNL-.cjs +0 -1
- package/dist/plugin-sdk/paths-CXgWvWAM.js +0 -1
- package/dist/plugin-sdk/paths-Chp3zwtq.cjs +0 -1
- package/dist/plugin-sdk/paths-CnHSNSeR.js +0 -1
- package/dist/plugin-sdk/paths-Cqca1YmF.cjs +0 -1
- package/dist/plugin-sdk/paths-CtrEseGU.js +0 -1
- package/dist/plugin-sdk/paths-D55o_j8-.js +0 -1
- package/dist/plugin-sdk/paths-D90l3h_o.cjs +0 -1
- package/dist/plugin-sdk/paths-DaRoqzBQ.js +0 -1
- package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +0 -1
- package/dist/plugin-sdk/paths-DhSjTRMz.js +0 -1
- package/dist/plugin-sdk/paths-Do0djuaj.js +0 -1
- package/dist/plugin-sdk/paths-J4JUiRsa.js +0 -1
- package/dist/plugin-sdk/paths-cBAF6Bj0.js +0 -1
- package/dist/plugin-sdk/paths-piJASC5k.js +0 -1
- package/dist/plugin-sdk/paths-rO4ehkyU.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-5wc5qlmB.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BQiHbl8F.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BZZVGcJl.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-Ba70onAm.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BfuqD_Rv.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BsdlRK-w.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-CAYSx-Lw.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-CyBFRafV.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-D1WW5m-Q.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DRYpUnOa.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DUbDLlc7.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DcUDwgMg.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DrZsxLaJ.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-gaVoL7I2.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BWmteuHS.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BmznXclG.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BzTifHML.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CEPsGtJk.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CYleOK1-.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Ctbk1Pq8.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D-hwiLUl.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DDuUTLh8.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DLfogXKU.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dd-VFim_.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dvmcwf-j.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-i-IGFbqI.js +0 -1
- package/dist/plugin-sdk/polls-BuaJuIpV.cjs +0 -1
- package/dist/plugin-sdk/polls-CBAGZuJ6.js +0 -1
- package/dist/plugin-sdk/polls-CSKMbBIS.js +0 -1
- package/dist/plugin-sdk/polls-D0wY0FvT.cjs +0 -1
- package/dist/plugin-sdk/polls-PGxiE05J.js +0 -1
- package/dist/plugin-sdk/polls-yWqSCEP0.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-B765haXA.js +0 -1
- package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +0 -1
- package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +0 -1
- package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +0 -1
- package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +0 -1
- package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-Del551nu.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-B9PkuA_R.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-BMJV0Hqt.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-BRasSDsB.js +0 -1
- package/dist/plugin-sdk/pw-ai-BY57aH_o.js +0 -1
- package/dist/plugin-sdk/pw-ai-BbpImC35.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-D7d16RB-.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-DF7TX5Lc.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-DHN1pktj.js +0 -1
- package/dist/plugin-sdk/pw-ai-QzImh8G0.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-V1CVJi48.js +0 -1
- package/dist/plugin-sdk/pw-ai-mvXkpTxf.js +0 -1
- package/dist/plugin-sdk/pw-ai-tdgA-KlG.js +0 -1
- package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +0 -1
- package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +0 -1
- package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +0 -1
- package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +0 -1
- package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +0 -1
- package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +0 -1
- package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-CAboqtWr.js +0 -1
- package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +0 -1
- package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +0 -1
- package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +0 -1
- package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +0 -1
- package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +0 -1
- package/dist/plugin-sdk/qwen-portal-auth.cjs +0 -1
- package/dist/plugin-sdk/qwen-portal-auth.js +0 -1
- package/dist/plugin-sdk/render-6fCdtAr6.cjs +0 -1
- package/dist/plugin-sdk/render-CBsnn-2A.js +0 -1
- package/dist/plugin-sdk/render-CzHaQB0d.cjs +0 -1
- package/dist/plugin-sdk/render-DGmfCIRG.js +0 -1
- package/dist/plugin-sdk/render-DhTJXP1U.js +0 -1
- package/dist/plugin-sdk/render-Djx15dPh.js +0 -1
- package/dist/plugin-sdk/render-DxBO2Blp.cjs +0 -1
- package/dist/plugin-sdk/render-g5VlmgpF.cjs +0 -1
- package/dist/plugin-sdk/reply-73PF8kN_.js +0 -1
- package/dist/plugin-sdk/reply-JD6VIW5N.cjs +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-BNv_T3Bk.js +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-CDM7_xfU.cjs +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-CvKfootv.js +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-Fq8une1d.cjs +0 -1
- package/dist/plugin-sdk/send-0TzQg7Eo.js +0 -1
- package/dist/plugin-sdk/send-AyV5r86J.js +0 -1
- package/dist/plugin-sdk/send-B-GqqrNy.js +0 -1
- package/dist/plugin-sdk/send-B03So6fs.cjs +0 -1
- package/dist/plugin-sdk/send-B0oV0qgS.js +0 -1
- package/dist/plugin-sdk/send-B31Tjl_I.cjs +0 -1
- package/dist/plugin-sdk/send-B4LTVhTd.cjs +0 -1
- package/dist/plugin-sdk/send-BGXPpAqy.cjs +0 -1
- package/dist/plugin-sdk/send-BJ957TYU.js +0 -1
- package/dist/plugin-sdk/send-BJmf3HVn.cjs +0 -1
- package/dist/plugin-sdk/send-BW3UECzm.js +0 -1
- package/dist/plugin-sdk/send-BWEZ_8nL.cjs +0 -1
- package/dist/plugin-sdk/send-BXrh73qh.cjs +0 -1
- package/dist/plugin-sdk/send-BbudHjUi.cjs +0 -1
- package/dist/plugin-sdk/send-BkjnUdWv.cjs +0 -1
- package/dist/plugin-sdk/send-BxIt-s7G.cjs +0 -1
- package/dist/plugin-sdk/send-ByKNfU2S.js +0 -1
- package/dist/plugin-sdk/send-Bz2Loz_Q.cjs +0 -1
- package/dist/plugin-sdk/send-CAreQYLU.cjs +0 -1
- package/dist/plugin-sdk/send-CGMqeSaY.cjs +0 -1
- package/dist/plugin-sdk/send-CJmor6eC.js +0 -1
- package/dist/plugin-sdk/send-CL2pl8br.cjs +0 -1
- package/dist/plugin-sdk/send-CMeGMLko.js +0 -1
- package/dist/plugin-sdk/send-CceHBxiK.js +0 -1
- package/dist/plugin-sdk/send-Cdx_KGYb.js +0 -1
- package/dist/plugin-sdk/send-Cer1bA2g.cjs +0 -1
- package/dist/plugin-sdk/send-CimU95QQ.cjs +0 -1
- package/dist/plugin-sdk/send-CoEAieJt.cjs +0 -1
- package/dist/plugin-sdk/send-Cob_bnT32.js +0 -1
- package/dist/plugin-sdk/send-Cyp5hOpt.js +0 -1
- package/dist/plugin-sdk/send-CzEFjTpi.js +0 -1
- package/dist/plugin-sdk/send-D2LjU2py.js +0 -1
- package/dist/plugin-sdk/send-D9Gbseeh.cjs +0 -1
- package/dist/plugin-sdk/send-DIjQ2vB4.js +0 -1
- package/dist/plugin-sdk/send-DJ419AIX.cjs +0 -1
- package/dist/plugin-sdk/send-DLtYxO1e.cjs +0 -1
- package/dist/plugin-sdk/send-DMk529J8.js +0 -1
- package/dist/plugin-sdk/send-DMxohaL_.cjs +0 -1
- package/dist/plugin-sdk/send-DQlKz6Bj.js +0 -1
- package/dist/plugin-sdk/send-DTUW-YBy.js +0 -1
- package/dist/plugin-sdk/send-Dc43nN-I.js +0 -1
- package/dist/plugin-sdk/send-DcRj8DUU.cjs +0 -1
- package/dist/plugin-sdk/send-DmxxJFZd.cjs +0 -1
- package/dist/plugin-sdk/send-DnwN1vBU.cjs +0 -1
- package/dist/plugin-sdk/send-DogBiU4n.cjs +0 -1
- package/dist/plugin-sdk/send-MEvv6c7w.js +0 -1
- package/dist/plugin-sdk/send-TRwokuAm.cjs +0 -1
- package/dist/plugin-sdk/send-VUSa_wkg.js +0 -1
- package/dist/plugin-sdk/send-X1b7Cj9U.cjs +0 -1
- package/dist/plugin-sdk/send-XX5rP5bI.js +0 -1
- package/dist/plugin-sdk/send-_ZGBA2sz.js +0 -1
- package/dist/plugin-sdk/send-d5RoIkxA.js +0 -1
- package/dist/plugin-sdk/send-dCbQnCLx.js +0 -1
- package/dist/plugin-sdk/send-gSV6SR6F.cjs +0 -1
- package/dist/plugin-sdk/send-pC6ctwfQ.cjs +0 -1
- package/dist/plugin-sdk/send-pq2hNOwv.cjs +0 -1
- package/dist/plugin-sdk/send-q6C-1cdJ.js +0 -1
- package/dist/plugin-sdk/send-vnIJSD5l.js +0 -1
- package/dist/plugin-sdk/send-vtYROJNd.js +0 -1
- package/dist/plugin-sdk/send-wk_Y38Eq.js +0 -1
- package/dist/plugin-sdk/session-BSLJWzVk.cjs +0 -1
- package/dist/plugin-sdk/session-BfWC0c92.js +0 -1
- package/dist/plugin-sdk/session-BjsaXe-G.js +0 -1
- package/dist/plugin-sdk/session-C20nSfk5.cjs +0 -1
- package/dist/plugin-sdk/session-CR8fsPgs.js +0 -1
- package/dist/plugin-sdk/session-CwinrWG4.cjs +0 -1
- package/dist/plugin-sdk/session-DAtRSLdw.cjs +0 -1
- package/dist/plugin-sdk/session-Djo63EGV.cjs +0 -1
- package/dist/plugin-sdk/session-EJZkCm6l.js +0 -1
- package/dist/plugin-sdk/session-UIRgeq02.cjs +0 -1
- package/dist/plugin-sdk/session-aOZKTEyZ.js +0 -1
- package/dist/plugin-sdk/session-nUw21fi0.js +0 -1
- package/dist/plugin-sdk/sessions-B06a3AKE.js +0 -1
- package/dist/plugin-sdk/sessions-BmhjMXlm.cjs +0 -1
- package/dist/plugin-sdk/signal.cjs +0 -1
- package/dist/plugin-sdk/signal.js +0 -1
- package/dist/plugin-sdk/skill-commands-2LXH0aZR.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-B4AbCkKe.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-B_xNpuH_.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-BbAfKA1R.js +0 -1
- package/dist/plugin-sdk/skill-commands-BcKIgHAP.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-C9g2UiKr.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-CPZ9Jvbj.js +0 -1
- package/dist/plugin-sdk/skill-commands-CgDUjb3J.js +0 -1
- package/dist/plugin-sdk/skill-commands-D83BLBEG.js +0 -1
- package/dist/plugin-sdk/skill-commands-DI1TMUxQ.js +0 -1
- package/dist/plugin-sdk/skill-commands-DldIiKD1.js +0 -1
- package/dist/plugin-sdk/skill-commands-LCW6nWWC.cjs +0 -1
- package/dist/plugin-sdk/slack.cjs +0 -1
- package/dist/plugin-sdk/slack.js +0 -1
- package/dist/plugin-sdk/synology-chat.cjs +0 -1
- package/dist/plugin-sdk/synology-chat.js +0 -1
- package/dist/plugin-sdk/tables-BXY1ms0X.js +0 -1
- package/dist/plugin-sdk/tables-BlhpY72l.cjs +0 -1
- package/dist/plugin-sdk/tables-BltHUi44.cjs +0 -1
- package/dist/plugin-sdk/tables-Bp6t_Jkb.js +0 -1
- package/dist/plugin-sdk/tables-BszYJkqX.cjs +0 -1
- package/dist/plugin-sdk/tables-CAZJt5bp.js +0 -1
- package/dist/plugin-sdk/tables-CcuiVH-P.cjs +0 -1
- package/dist/plugin-sdk/tables-CuSMtUxt.cjs +0 -1
- package/dist/plugin-sdk/tables-DOLEnfD6.js +0 -1
- package/dist/plugin-sdk/tables-DiiF7bbj.cjs +0 -1
- package/dist/plugin-sdk/tables-aSJP6Sef.js +0 -1
- package/dist/plugin-sdk/tables-ib4GZqYB.js +0 -1
- package/dist/plugin-sdk/target-errors--anbEDnm.js +0 -1
- package/dist/plugin-sdk/target-errors-4q9SUsM_.js +0 -1
- package/dist/plugin-sdk/target-errors-BFOTHcjO.js +0 -1
- package/dist/plugin-sdk/target-errors-Bw4tI2Lc.cjs +0 -1
- package/dist/plugin-sdk/target-errors-CAgwWHUv.js +0 -1
- package/dist/plugin-sdk/target-errors-CUDKM0z-.js +0 -1
- package/dist/plugin-sdk/target-errors-DIOJ6Eun.cjs +0 -1
- package/dist/plugin-sdk/target-errors-DnZq9h4B.cjs +0 -1
- package/dist/plugin-sdk/target-errors-DwAKh8KU.cjs +0 -1
- package/dist/plugin-sdk/target-errors-QGzfLvuU.cjs +0 -1
- package/dist/plugin-sdk/targets-BSc11Uk8.cjs +0 -1
- package/dist/plugin-sdk/targets-BSkiizml.js +0 -1
- package/dist/plugin-sdk/targets-CBI0xqve.cjs +0 -1
- package/dist/plugin-sdk/targets-CL5fYQi7.js +0 -1
- package/dist/plugin-sdk/targets-CUZWrFrm.cjs +0 -1
- package/dist/plugin-sdk/targets-CVEYTFPQ.js +0 -1
- package/dist/plugin-sdk/targets-Co2R6K14.cjs +0 -1
- package/dist/plugin-sdk/targets-CrkJkzil.js +0 -1
- package/dist/plugin-sdk/targets-D-m7SV9x.cjs +0 -1
- package/dist/plugin-sdk/targets-D8HTxbo4.js +0 -1
- package/dist/plugin-sdk/targets-DcGNB9nk.cjs +0 -1
- package/dist/plugin-sdk/targets-Dn9gDiEw.js +0 -1
- package/dist/plugin-sdk/targets-X28mff4s.cjs +0 -1
- package/dist/plugin-sdk/targets-uycXZ8vQ.js +0 -1
- package/dist/plugin-sdk/telegram.cjs +0 -1
- package/dist/plugin-sdk/telegram.js +0 -1
- package/dist/plugin-sdk/test-utils.cjs +0 -1
- package/dist/plugin-sdk/test-utils.js +0 -1
- package/dist/plugin-sdk/tlon.cjs +0 -1
- package/dist/plugin-sdk/tlon.js +0 -1
- package/dist/plugin-sdk/tokens-AAdZjj0M.js +0 -1
- package/dist/plugin-sdk/tokens-B20KNIDD.js +0 -1
- package/dist/plugin-sdk/tokens-B8ys7Q2e.js +0 -1
- package/dist/plugin-sdk/tokens-BPc1fcZ3.js +0 -1
- package/dist/plugin-sdk/tokens-BqABmXSe.js +0 -1
- package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +0 -1
- package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +0 -1
- package/dist/plugin-sdk/tokens-CytSl1X8.cjs +0 -1
- package/dist/plugin-sdk/tokens-DgPZk2Uu.js +0 -1
- package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +0 -1
- package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +0 -1
- package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +0 -1
- package/dist/plugin-sdk/twitch.cjs +0 -1
- package/dist/plugin-sdk/twitch.js +0 -1
- package/dist/plugin-sdk/utils-BJtJR72k.js +0 -1
- package/dist/plugin-sdk/utils-PPIvU9qw.cjs +0 -1
- package/dist/plugin-sdk/voice-call.cjs +0 -1
- package/dist/plugin-sdk/voice-call.js +0 -1
- package/dist/plugin-sdk/web--8MBOleK.js +0 -1
- package/dist/plugin-sdk/web-B7d3p3kx.cjs +0 -1
- package/dist/plugin-sdk/web-BEuW8Yqw.js +0 -1
- package/dist/plugin-sdk/web-Bg2LIMdb.cjs +0 -1
- package/dist/plugin-sdk/web-DFDao2So.cjs +0 -1
- package/dist/plugin-sdk/web-DjbeDvyv.js +0 -1
- package/dist/plugin-sdk/web-JciOW43P.js +0 -1
- package/dist/plugin-sdk/web-vSFigMHz.cjs +0 -1
- package/dist/plugin-sdk/weixin.cjs +0 -1
- package/dist/plugin-sdk/weixin.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-B67oFfeq.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-BB0eACkf.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-BIgrB0j5.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CFve14ju.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CdRkPw-b.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CtIBOGpJ.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CwAU7FuE.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-DQ1t5QTc.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-DkrN4BcG.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-DnkKzVrU.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-YcBsDZ88.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-wk1U2IVU.cjs +0 -1
- package/dist/plugin-sdk/whatsapp.cjs +0 -1
- package/dist/plugin-sdk/whatsapp.js +0 -1
- package/dist/plugin-sdk/zalo.cjs +0 -1
- package/dist/plugin-sdk/zalo.js +0 -1
- package/dist/plugin-sdk/zalouser.cjs +0 -1
- package/dist/plugin-sdk/zalouser.js +0 -1
- package/dist/plugins-CYLrFT4h.js +0 -1
- package/dist/plugins-DNlgeTTc.js +0 -1
- package/dist/plugins-cli-CnXgwZzI.js +0 -1
- package/dist/plugins-cli-PVHBZeb8.js +0 -1
- package/dist/polls-BIVz6a4F.js +0 -1
- package/dist/polls-Bh5wc9-6.js +0 -1
- package/dist/polls-C_XSFz3d.js +0 -1
- package/dist/polls-DKJOFSzJ.js +0 -1
- package/dist/ports-BAaLOkJp.js +2 -0
- package/dist/ports-DDWP1p0X.js +2 -0
- package/dist/probe-auth-C5nWfMS9.js +0 -1
- package/dist/probe-auth-x4OHS_wa.js +0 -1
- package/dist/profile-utils-CWmra1aY.js +0 -1
- package/dist/{program-ppBAyCNf.js → program-D53eGuSf.js} +1 -2
- package/dist/program-context-CH9p6anW.js +0 -1
- package/dist/{program-context-BXNpM3b4.js → program-context-n-ovYq69.js} +1 -2
- package/dist/progress-LNttnI-y.js +0 -1
- package/dist/progress-d1m2sqR1.js +0 -1
- package/dist/{prompt-select-styled-947JghKF.js → prompt-select-styled-DZnefcrY.js} +1 -2
- package/dist/{prompt-select-styled-1abs2MvK.js → prompt-select-styled-DolCW-_j.js} +1 -2
- package/dist/prompt-style-BThRSQJR.js +0 -1
- package/dist/prompt-style-CXKekIBY.js +0 -1
- package/dist/prompts-CMzglboN.js +0 -1
- package/dist/prompts-wv-lfVrJ.js +0 -1
- package/dist/provider-auth-helpers-BLm2bdp5.js +0 -1
- package/dist/provider-auth-helpers-DPz0vN_c.js +0 -1
- package/dist/provider-env-vars-D8p6Ohpj.js +0 -1
- package/dist/provider-env-vars-Dt0Q29Su.js +0 -1
- package/dist/proxy-env-BNhTHkd_.js +0 -1
- package/dist/proxy-env-DcmW_urA.js +0 -1
- package/dist/proxy-env-DrC3TIGh.js +0 -1
- package/dist/proxy-env-FJr5nlvs.js +0 -1
- package/dist/proxy-fetch-BADsUK4d.js +0 -1
- package/dist/proxy-fetch-BZ9O8Dvj.js +0 -1
- package/dist/proxy-fetch-DnjU1fEB.js +0 -1
- package/dist/proxy-fetch-gWETR3cl.js +0 -1
- package/dist/push-apns-BBv62ncV.js +0 -1
- package/dist/push-apns-DIV5dBPP.js +0 -1
- package/dist/pw-ai-C0gM3d-6.js +0 -1
- package/dist/pw-ai-CQd14BQa.js +0 -1
- package/dist/pw-ai-DiQuOf4W.js +0 -1
- package/dist/pw-ai-jlhIn-aA.js +0 -1
- package/dist/qmd-manager-C_e04BNg.js +0 -1
- package/dist/qmd-manager-DSQ_mDCl.js +0 -1
- package/dist/qmd-manager-DcBYbt_V.js +0 -1
- package/dist/qmd-manager-NLI0R6kp.js +0 -1
- package/dist/qr-cli-D06YZurm.js +0 -1
- package/dist/qr-cli-ZtDsXyLO.js +0 -1
- package/dist/query-expansion-0OxEb1Io.js +0 -1
- package/dist/query-expansion-BUUx_oWg.js +0 -1
- package/dist/query-expansion-r_iXkNzt.js +0 -1
- package/dist/reaction-level-DVPHL14p.js +0 -1
- package/dist/reaction-message-id-BEEe7X3D.js +0 -1
- package/dist/read-only-account-inspect-B0cm8yrv.js +0 -1
- package/dist/redact-3_CiXMY6.js +0 -1
- package/dist/redact-CnRxK70G.js +0 -1
- package/dist/register.agent-DHOTtB8X.js +0 -1
- package/dist/register.agent-DQdoMfmw.js +0 -1
- package/dist/register.backup-BDO3V0so.js +0 -1
- package/dist/register.backup-Vh8RK6fp.js +0 -1
- package/dist/register.configure-C2N82brC.js +0 -1
- package/dist/register.configure-C6zjzaEo.js +0 -1
- package/dist/{register.maintenance-Br9uoFKo.js → register.maintenance-CStaPxaB.js} +1 -2
- package/dist/{register.maintenance-Cm3wq9bt.js → register.maintenance-aKBTd9Zp.js} +1 -2
- package/dist/register.message-DHDcOA8X.js +0 -1
- package/dist/register.message-Dh72QHKA.js +0 -1
- package/dist/{register.onboard-AjrSlfCb.js → register.onboard-Bu9gpFlA.js} +1 -2
- package/dist/{register.onboard-zCG1PNWc.js → register.onboard-DB9FWAKT.js} +1 -2
- package/dist/{register.setup-DN0y_pth.js → register.setup-CeG2ETmr.js} +1 -2
- package/dist/{register.setup-Blyl_QsK.js → register.setup-D76IRs4s.js} +1 -2
- package/dist/register.status-health-sessions-Dtpd1P2M.js +0 -1
- package/dist/register.status-health-sessions-mPGKFjIz.js +0 -1
- package/dist/{register.subclis-5Pb-uEHk.js → register.subclis-Drp2dGBe.js} +1 -2
- package/dist/registry-BptzrW8D.js +0 -1
- package/dist/registry-hFAtCSWG.js +0 -1
- package/dist/render-BXEUPIHe.js +0 -1
- package/dist/render-CBsnn-2A.js +0 -1
- package/dist/render-D8OWO2hT.js +0 -1
- package/dist/render-DrrPmnMI.js +0 -1
- package/dist/reply-DwfVhea1.js +0 -1
- package/dist/restart-BeJuoXCx.js +0 -1
- package/dist/rpc-BBdeIvn0.js +0 -1
- package/dist/rpc-f85A4Ib_.js +0 -1
- package/dist/{run-main-DGwq5DIc.js → run-main-CjwjyWA6.js} +1 -2
- package/dist/runtime-CK7gqwEF.js +0 -1
- package/dist/runtime-DYttInEE.js +0 -1
- package/dist/runtime-guard-DFYBaYZS.js +0 -1
- package/dist/runtime-guard-DX2Ie4ri.js +0 -1
- package/dist/runtime-status-CqFBmdRd.js +0 -1
- package/dist/runtime-status-DszMjvJK.js +0 -1
- package/dist/runtime-web-tools-BYhCkBV8.js +0 -1
- package/dist/runtime-web-tools-C4F6aaRh.js +0 -1
- package/dist/sandbox-cli-BR0Lsru-.js +0 -1
- package/dist/sandbox-cli-Jo5nYeug.js +0 -1
- package/dist/scan-paths-C13EseXp.js +0 -1
- package/dist/scan-paths-CWtvWW40.js +0 -1
- package/dist/search-manager-CV2YsAym.js +0 -1
- package/dist/secret-file-C7JffiM_.js +0 -1
- package/dist/secret-file-D60EFEOe.js +0 -1
- package/dist/secret-file-DuWm26jS.js +0 -1
- package/dist/secrets-cli-B8kwyZFo.js +0 -1
- package/dist/secrets-cli-BstBe0UA.js +0 -1
- package/dist/secure-random-D7JQgiK-.js +0 -1
- package/dist/security-cli-C6t8OxaE.js +0 -1
- package/dist/security-cli-Cuc8IQKB.js +0 -1
- package/dist/send--9G8eXo4.js +0 -1
- package/dist/send-4h1tQwX3.js +0 -1
- package/dist/send-7qgAI0ap.js +0 -1
- package/dist/send-AQ3CJLpI.js +0 -1
- package/dist/send-BjrfjBn9.js +0 -1
- package/dist/send-BwblpWbK.js +0 -1
- package/dist/send-C4Lm4nmt.js +0 -1
- package/dist/send-C7rOdjPO.js +0 -1
- package/dist/send-COpehmAB.js +0 -1
- package/dist/send-CWVTcDAW.js +0 -1
- package/dist/send-CciNyaWL.js +0 -1
- package/dist/send-ChILboDj.js +0 -1
- package/dist/send-CyarIb2w.js +0 -1
- package/dist/send-DiHS8tKf.js +0 -1
- package/dist/send-Dj7NBAWg.js +0 -1
- package/dist/send-DmHpf5Fz.js +0 -1
- package/dist/send-NbU9-scF2.js +0 -1
- package/dist/send-hlES-kRl2.js +0 -1
- package/dist/send-swTiQAeK2.js +0 -1
- package/dist/send-vNcod64S.js +0 -1
- package/dist/server-C-lb98FO.js +0 -1
- package/dist/server-DwSkpKgC.js +0 -1
- package/dist/server-node-events-CL0pWoMa.js +0 -1
- package/dist/server-node-events-ChPQ984b.js +0 -1
- package/dist/service-BtB9epJk.js +0 -1
- package/dist/service-DZ9EbS15.js +0 -1
- package/dist/session-BSRnpwSq.js +0 -1
- package/dist/session-CfHCnrXh.js +0 -1
- package/dist/session-JqCxWBM8.js +0 -1
- package/dist/session-bk3gFwO4.js +0 -1
- package/dist/session-cost-usage-BgqKixv0.js +0 -1
- package/dist/session-cost-usage-CHtVgnE8.js +0 -1
- package/dist/session-key-C7F_iqYg.js +0 -1
- package/dist/session-key-D3P0tf5P.js +0 -1
- package/dist/session-utils-Bpdyx2A2.js +0 -1
- package/dist/sessions-Ca6ozRCQ.js +0 -1
- package/dist/shared-9x5sqYRb.js +0 -1
- package/dist/shared-BKWhOp64.js +0 -1
- package/dist/shared-Ca5BFwta.js +0 -1
- package/dist/skill-commands-CPZcaV8-.js +0 -1
- package/dist/skill-commands-CtprBvm0.js +0 -1
- package/dist/skill-commands-DCqPy_Aa.js +0 -1
- package/dist/skill-commands-DlHVddAk.js +0 -1
- package/dist/skill-scanner-CUUF3Fvo.js +0 -1
- package/dist/skill-scanner-CkxXNioD.js +0 -1
- package/dist/skills-Bz_S4lPh.js +0 -1
- package/dist/skills-CzUpDbU-.js +0 -1
- package/dist/skills-cli-DK0QDfln.js +0 -1
- package/dist/skills-cli-DLmqhAB-.js +0 -1
- package/dist/skills-install-D3YB2C-S.js +0 -1
- package/dist/skills-install-cEcqzaX8.js +0 -1
- package/dist/skills-status-D4Y1BJYL.js +0 -1
- package/dist/skills-status-DpSboPY1.js +0 -1
- package/dist/sqlite-CILF3z9U.js +0 -1
- package/dist/stagger-DmFYysrJ.js +0 -1
- package/dist/stagger-DxzgG2jd.js +0 -1
- package/dist/status-BAat65xo.js +0 -1
- package/dist/status-BSHWBrg0.js +0 -1
- package/dist/status-o3Gfr-6l.js +0 -1
- package/dist/status-w4NsjW2R.js +0 -1
- package/dist/status.update-B_8Gumuc.js +0 -1
- package/dist/status.update-_2r0S6Re.js +0 -1
- package/dist/string-normalization-BrUPaXaM.js +0 -1
- package/dist/string-normalization-DJT5zuUF.js +0 -1
- package/dist/subsystem-BLbY429l.js +0 -1
- package/dist/subsystem-Bc2XrjUz.js +0 -1
- package/dist/subsystem-C5XF2Fy5.js +0 -1
- package/dist/system-cli-Ddixb0SQ.js +0 -1
- package/dist/system-cli-NAH97F2s.js +0 -1
- package/dist/system-run-command-DsWBVvSK.js +0 -1
- package/dist/system-run-command-E8ymBXHh.js +0 -1
- package/dist/systemd-D7odsu4K.js +0 -1
- package/dist/systemd-DbevZh65.js +0 -1
- package/dist/systemd-hints-CEQj6yrs.js +0 -1
- package/dist/systemd-hints-lXpMy-kY.js +0 -1
- package/dist/systemd-linger-C2MJD6KG.js +0 -1
- package/dist/systemd-linger-cWKbFNpu.js +0 -1
- package/dist/table-CR7TFMew.js +0 -1
- package/dist/table-CY440fI1.js +0 -1
- package/dist/tables-D6J-isob.js +0 -1
- package/dist/tables-DENKrP-W.js +0 -1
- package/dist/tables-_t5V36m9.js +0 -1
- package/dist/tables-fl9iXahm.js +0 -1
- package/dist/target-errors-CoEHv_2r.js +0 -1
- package/dist/target-errors-D6wejRd6.js +0 -1
- package/dist/target-errors-Dnkqss9y.js +0 -1
- package/dist/target-errors-sMFXKeAY.js +0 -1
- package/dist/targets-4EaxWBal.js +0 -1
- package/dist/targets-BJTo7bqu.js +0 -1
- package/dist/targets-BYVMrXDf.js +0 -1
- package/dist/targets-Bq6rS6-Z.js +0 -1
- package/dist/targets-CL5fYQi7.js +0 -1
- package/dist/targets-fozeWOOg.js +0 -1
- package/dist/targets-m_41k_Mv.js +0 -1
- package/dist/telegram/audit.js +0 -1
- package/dist/text-format-CvrvBBre.js +0 -1
- package/dist/text-format-DEWK6oCT.js +0 -1
- package/dist/token-DnTmiyJu.js +0 -1
- package/dist/tokens-B2fq-rL6.js +0 -1
- package/dist/tokens-CL2fSjGl.js +0 -1
- package/dist/tokens-DRM8vzJx.js +0 -1
- package/dist/tokens-XGbQGn67.js +0 -1
- package/dist/tool-display-DJDtttQg.js +0 -1
- package/dist/tool-display-DjuSUUbH.js +0 -1
- package/dist/tui-5Znjl2Rb.js +0 -1
- package/dist/tui-Tlww_AcE.js +0 -1
- package/dist/tui-cli-C9QPsw50.js +0 -1
- package/dist/tui-cli-FxvETbln.js +0 -1
- package/dist/types.secrets-C-5U96pc.js +0 -1
- package/dist/types.secrets-D4tbc3Wq.js +0 -1
- package/dist/update-CMneH_48.js +0 -1
- package/dist/update-D9EwPybG.js +0 -1
- package/dist/{update-cli-BQGwMpHe.js → update-cli-CL_cUjuq.js} +1 -2
- package/dist/{update-cli-C7pZTXS8.js → update-cli-DU5tRH3c.js} +1 -2
- package/dist/update-runner-DABdlxfN.js +0 -1
- package/dist/update-runner-DG-1TYYc.js +0 -1
- package/dist/usage-format-BWD8FJFL.js +0 -1
- package/dist/usage-format-yPwal8Iz.js +0 -1
- package/dist/utils-CGdo13HV.js +0 -1
- package/dist/utils-D3t-vPka.js +0 -1
- package/dist/utils-R-mFyVJi.js +0 -1
- package/dist/utils-UGOV_184.js +0 -1
- package/dist/version-q3SkUw2K.js +0 -1
- package/dist/warning-filter.js +0 -1
- package/dist/web-Dfi2WjvN.js +0 -1
- package/dist/web-u71NbOpT.js +0 -1
- package/dist/webhooks-cli-DMTzhfTv.js +0 -1
- package/dist/webhooks-cli-ICOwBPSv.js +0 -1
- package/dist/whatsapp-actions-Bdf-3-ne.js +0 -1
- package/dist/whatsapp-actions-D2qMOK3a.js +0 -1
- package/dist/whatsapp-actions-f5CsM5EM.js +0 -1
- package/dist/whatsapp-actions-t88tyNUT.js +0 -1
- package/dist/widearea-dns-BDx7vkV2.js +0 -1
- package/dist/widearea-dns-BFjqKXu_.js +0 -1
- package/dist/windows-spawn-7oINn5ao.js +0 -1
- package/dist/windows-spawn-AB7ItGAE.js +0 -1
- package/dist/with-timeout-WveKxvFV.js +0 -1
- package/dist/with-timeout-c1CzdShT.js +0 -1
- package/dist/workspace-B0ZQeHXg.js +0 -1
- package/dist/workspace-C45T1Cxg.js +0 -1
- package/dist/workspace-dirs-A8Vib9_B.js +0 -1
- package/dist/workspace-dirs-BhF1Dzxt.js +0 -1
- package/dist/workspace-xNEpaJvu.js +0 -1
- package/dist/wsl-DHxB2Ew_.js +0 -1
- package/dist/wsl-Ok7GaSJ6.js +0 -1
- package/extensions/qqbrowser-skill-control/index.js +1 -1
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +1 -1
- package/node_modules/@google/genai/dist/index.cjs +341 -180
- package/node_modules/@google/genai/dist/index.mjs +341 -180
- package/node_modules/@google/genai/dist/node/index.cjs +341 -180
- package/node_modules/@google/genai/dist/node/index.mjs +341 -180
- package/node_modules/@google/genai/dist/tokenizer/node.cjs +100 -0
- package/node_modules/@google/genai/dist/tokenizer/node.mjs +100 -0
- package/node_modules/@google/genai/dist/vertex_internal/index.cjs +103 -2
- package/node_modules/@google/genai/dist/vertex_internal/index.js +103 -2
- package/node_modules/@google/genai/dist/web/index.mjs +342 -180
- package/node_modules/@google/genai/package.json +1 -1
- package/node_modules/@slack/web-api/dist/instrument.js +13 -1
- package/node_modules/@slack/web-api/package.json +2 -2
- package/node_modules/@smithy/config-resolver/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
- package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +154 -61
- package/node_modules/@smithy/util-endpoints/dist-es/bdd/BinaryDecisionDiagram.js +15 -0
- package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +41 -0
- package/node_modules/@smithy/util-endpoints/dist-es/index.js +2 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/coalesce.js +8 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/index.js +3 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/ite.js +3 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/split.js +13 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/substring.js +1 -1
- package/node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js +4 -1
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +20 -5
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js +3 -6
- package/node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js +1 -5
- package/node_modules/@smithy/util-endpoints/package.json +1 -1
- package/node_modules/discord-api-types/package.json +1 -1
- package/node_modules/discord-api-types/payloads/index.mjs +3 -0
- package/node_modules/discord-api-types/payloads/v10/index.mjs +3 -0
- package/node_modules/discord-api-types/payloads/v10/message.js +55 -2
- package/node_modules/discord-api-types/payloads/v10/user.js +2 -0
- package/node_modules/discord-api-types/payloads/v9/index.mjs +3 -0
- package/node_modules/discord-api-types/payloads/v9/message.js +55 -2
- package/node_modules/discord-api-types/payloads/v9/user.js +2 -0
- package/node_modules/discord-api-types/rest/v10/channel.js +6 -0
- package/node_modules/discord-api-types/rest/v9/channel.js +6 -0
- package/node_modules/discord-api-types/v10.mjs +3 -0
- package/node_modules/discord-api-types/v9.mjs +3 -0
- package/node_modules/undici/package.json +1 -1
- package/package.json +2 -1
- package/dist/ports-Dylc6TrH.js +0 -3
- package/dist/ports-hkqQXSus.js +0 -3
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/LICENSE +0 -22
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/Readme.md +0 -1157
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/LICENSE +0 -21
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/README.md +0 -208
- package/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +0 -3
- package/node_modules/@anthropic-ai/sdk/src/core/README.md +0 -3
- package/node_modules/@anthropic-ai/sdk/src/internal/README.md +0 -3
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/README.md +0 -10
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/README.md +0 -10
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/LICENSE +0 -201
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/README.md +0 -4
- package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
- package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/README.md +0 -10
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/README.md +0 -10
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/LICENSE +0 -201
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/README.md +0 -4
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
- package/node_modules/@buape/carbon/node_modules/@discordjs/voice/LICENSE +0 -191
- package/node_modules/@buape/carbon/node_modules/@discordjs/voice/README.md +0 -112
- package/node_modules/@buape/carbon/node_modules/discord-api-types/LICENSE +0 -21
- package/node_modules/@buape/carbon/node_modules/discord-api-types/README.md +0 -102
- package/node_modules/@buape/carbon/node_modules/ws/LICENSE +0 -20
- package/node_modules/@buape/carbon/node_modules/ws/README.md +0 -548
- package/node_modules/@line/bot-sdk/node_modules/@types/node/LICENSE +0 -21
- package/node_modules/@line/bot-sdk/node_modules/@types/node/README.md +0 -15
- package/node_modules/@line/bot-sdk/node_modules/undici-types/LICENSE +0 -21
- package/node_modules/@line/bot-sdk/node_modules/undici-types/README.md +0 -6
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
- package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@sinclair/typebox/license +0 -25
- package/node_modules/@sinclair/typebox/readme.md +0 -1865
- package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/license +0 -9
- package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/readme.md +0 -1077
- package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/license +0 -9
- package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/readme.md +0 -192
- package/node_modules/ansi-regex/license +0 -9
- package/node_modules/ansi-regex/readme.md +0 -66
- package/node_modules/ansi-styles/license +0 -9
- package/node_modules/ansi-styles/readme.md +0 -152
- package/node_modules/atomic-sleep/readme.md +0 -58
- package/node_modules/axios/lib/adapters/README.md +0 -36
- package/node_modules/axios/lib/core/README.md +0 -8
- package/node_modules/axios/lib/env/README.md +0 -3
- package/node_modules/axios/lib/helpers/README.md +0 -7
- package/node_modules/bytes/History.md +0 -97
- package/node_modules/bytes/Readme.md +0 -152
- package/node_modules/chalk/license +0 -9
- package/node_modules/chalk/readme.md +0 -297
- package/node_modules/cli-highlight/node_modules/chalk/license +0 -9
- package/node_modules/cli-highlight/node_modules/chalk/readme.md +0 -341
- package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
- package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
- package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/combined-stream/License +0 -19
- package/node_modules/combined-stream/Readme.md +0 -138
- package/node_modules/commander/Readme.md +0 -1176
- package/node_modules/cookie-signature/History.md +0 -70
- package/node_modules/cookie-signature/Readme.md +0 -23
- package/node_modules/css-what/readme.md +0 -69
- package/node_modules/delayed-stream/License +0 -19
- package/node_modules/delayed-stream/Readme.md +0 -141
- package/node_modules/depd/History.md +0 -103
- package/node_modules/depd/Readme.md +0 -280
- package/node_modules/domelementtype/readme.md +0 -1
- package/node_modules/domhandler/readme.md +0 -92
- package/node_modules/domutils/readme.md +0 -31
- package/node_modules/entities/readme.md +0 -122
- package/node_modules/escalade/license +0 -9
- package/node_modules/escalade/readme.md +0 -211
- package/node_modules/escape-html/Readme.md +0 -43
- package/node_modules/express/Readme.md +0 -276
- package/node_modules/express-rate-limit/license.md +0 -20
- package/node_modules/express-rate-limit/readme.md +0 -136
- package/node_modules/extract-zip/readme.md +0 -57
- package/node_modules/fast-string-truncated-width/license +0 -21
- package/node_modules/fast-string-truncated-width/readme.md +0 -60
- package/node_modules/fast-string-width/license +0 -21
- package/node_modules/fast-string-width/readme.md +0 -45
- package/node_modules/file-type/license +0 -9
- package/node_modules/file-type/readme.md +0 -667
- package/node_modules/form-data/License +0 -19
- package/node_modules/form-data/node_modules/mime-db/HISTORY.md +0 -507
- package/node_modules/form-data/node_modules/mime-db/LICENSE +0 -23
- package/node_modules/form-data/node_modules/mime-db/README.md +0 -100
- package/node_modules/form-data/node_modules/mime-types/HISTORY.md +0 -397
- package/node_modules/form-data/node_modules/mime-types/LICENSE +0 -23
- package/node_modules/form-data/node_modules/mime-types/README.md +0 -113
- package/node_modules/gaxios/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/gaxios/node_modules/agent-base/README.md +0 -69
- package/node_modules/gaxios/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/gaxios/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/get-east-asian-width/license +0 -9
- package/node_modules/get-east-asian-width/readme.md +0 -65
- package/node_modules/get-stream/license +0 -9
- package/node_modules/get-stream/readme.md +0 -124
- package/node_modules/get-uri/node_modules/data-uri-to-buffer/LICENSE +0 -22
- package/node_modules/get-uri/node_modules/data-uri-to-buffer/README.md +0 -61
- package/node_modules/grammy/node_modules/node-fetch/LICENSE.md +0 -22
- package/node_modules/grammy/node_modules/node-fetch/README.md +0 -634
- package/node_modules/has-flag/license +0 -9
- package/node_modules/has-flag/readme.md +0 -89
- package/node_modules/htmlparser2/node_modules/entities/LICENSE +0 -11
- package/node_modules/htmlparser2/node_modules/entities/readme.md +0 -143
- package/node_modules/http-proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/http-proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/is-fullwidth-code-point/license +0 -9
- package/node_modules/is-fullwidth-code-point/readme.md +0 -39
- package/node_modules/is-stream/license +0 -9
- package/node_modules/is-stream/readme.md +0 -60
- package/node_modules/jws/readme.md +0 -255
- package/node_modules/libsignal/native/ed25519/sha512/LICENSE.txt +0 -20
- package/node_modules/libsignal/node_modules/@types/node/LICENSE +0 -21
- package/node_modules/libsignal/node_modules/@types/node/README.md +0 -16
- package/node_modules/libsignal/node_modules/long/LICENSE +0 -202
- package/node_modules/libsignal/node_modules/long/README.md +0 -246
- package/node_modules/libsignal/node_modules/protobufjs/LICENSE +0 -39
- package/node_modules/libsignal/node_modules/protobufjs/README.md +0 -879
- package/node_modules/libsignal/node_modules/protobufjs/cli/LICENSE +0 -33
- package/node_modules/libsignal/node_modules/protobufjs/cli/README.md +0 -11
- package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/LICENSE +0 -21
- package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/README.md +0 -23
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/license +0 -21
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/readme.md +0 -32
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/LICENSE +0 -21
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/README.md +0 -314
- package/node_modules/libsignal/node_modules/protobufjs/dist/README.md +0 -31
- package/node_modules/libsignal/node_modules/protobufjs/dist/light/README.md +0 -31
- package/node_modules/libsignal/node_modules/protobufjs/dist/minimal/README.md +0 -31
- package/node_modules/libsignal/node_modules/protobufjs/ext/debug/README.md +0 -4
- package/node_modules/libsignal/node_modules/protobufjs/ext/descriptor/README.md +0 -72
- package/node_modules/libsignal/node_modules/protobufjs/google/LICENSE +0 -27
- package/node_modules/libsignal/node_modules/protobufjs/google/README.md +0 -1
- package/node_modules/lie/license.md +0 -7
- package/node_modules/linkedom/node_modules/html-escaper/LICENSE.txt +0 -19
- package/node_modules/linkedom/node_modules/html-escaper/README.md +0 -110
- package/node_modules/merge-descriptors/license +0 -11
- package/node_modules/merge-descriptors/readme.md +0 -55
- package/node_modules/ms/license.md +0 -21
- package/node_modules/ms/readme.md +0 -59
- package/node_modules/node-edge-tts/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/node-edge-tts/node_modules/agent-base/README.md +0 -69
- package/node_modules/node-edge-tts/node_modules/ansi-regex/license +0 -9
- package/node_modules/node-edge-tts/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/node-edge-tts/node_modules/cliui/LICENSE.txt +0 -14
- package/node_modules/node-edge-tts/node_modules/cliui/README.md +0 -141
- package/node_modules/node-edge-tts/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/node-edge-tts/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/node-edge-tts/node_modules/strip-ansi/license +0 -9
- package/node_modules/node-edge-tts/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/node-edge-tts/node_modules/yargs/LICENSE +0 -21
- package/node_modules/node-edge-tts/node_modules/yargs/README.md +0 -204
- package/node_modules/node-edge-tts/node_modules/yargs-parser/LICENSE.txt +0 -14
- package/node_modules/node-edge-tts/node_modules/yargs-parser/README.md +0 -518
- package/node_modules/object-assign/license +0 -21
- package/node_modules/object-assign/readme.md +0 -61
- package/node_modules/object-inspect/readme.markdown +0 -84
- package/node_modules/openai/src/_vendor/partial-json-parser/README.md +0 -3
- package/node_modules/openai/src/_vendor/zod-to-json-schema/LICENSE +0 -15
- package/node_modules/openai/src/_vendor/zod-to-json-schema/README.md +0 -3
- package/node_modules/openai/src/core/README.md +0 -3
- package/node_modules/openai/src/internal/README.md +0 -3
- package/node_modules/openai/src/internal/qs/LICENSE.md +0 -13
- package/node_modules/openai/src/internal/qs/README.md +0 -3
- package/node_modules/p-finally/license +0 -21
- package/node_modules/p-finally/readme.md +0 -47
- package/node_modules/p-queue/license +0 -9
- package/node_modules/p-queue/node_modules/eventemitter3/LICENSE +0 -21
- package/node_modules/p-queue/node_modules/eventemitter3/README.md +0 -94
- package/node_modules/p-queue/readme.md +0 -400
- package/node_modules/p-retry/license +0 -9
- package/node_modules/p-retry/readme.md +0 -148
- package/node_modules/p-timeout/license +0 -9
- package/node_modules/p-timeout/readme.md +0 -87
- package/node_modules/pac-proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/pac-proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/pako/lib/zlib/README +0 -59
- package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/LICENSE +0 -19
- package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/README.md +0 -38
- package/node_modules/path-key/license +0 -9
- package/node_modules/path-key/readme.md +0 -61
- package/node_modules/path-to-regexp/Readme.md +0 -224
- package/node_modules/pino-std-serializers/Readme.md +0 -182
- package/node_modules/process-nextick-args/license.md +0 -19
- package/node_modules/process-nextick-args/readme.md +0 -18
- package/node_modules/proper-lockfile/node_modules/retry/License +0 -21
- package/node_modules/proper-lockfile/node_modules/retry/README.md +0 -227
- package/node_modules/protobufjs/ext/debug/README.md +0 -4
- package/node_modules/protobufjs/ext/descriptor/README.md +0 -72
- package/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE +0 -19
- package/node_modules/proxy-addr/node_modules/ipaddr.js/README.md +0 -233
- package/node_modules/proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/proxy-agent/node_modules/lru-cache/LICENSE +0 -15
- package/node_modules/proxy-agent/node_modules/lru-cache/README.md +0 -1117
- package/node_modules/proxy-agent/node_modules/proxy-from-env/LICENSE +0 -20
- package/node_modules/proxy-agent/node_modules/proxy-from-env/README.md +0 -131
- package/node_modules/qified/node_modules/hookified/LICENSE +0 -19
- package/node_modules/qified/node_modules/hookified/README.md +0 -1682
- package/node_modules/quick-format-unescaped/readme.md +0 -66
- package/node_modules/readable-stream/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/readable-stream/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/require-from-string/license +0 -21
- package/node_modules/require-from-string/readme.md +0 -56
- package/node_modules/retry/License +0 -21
- package/node_modules/router/node_modules/is-promise/LICENSE +0 -19
- package/node_modules/router/node_modules/is-promise/readme.md +0 -33
- package/node_modules/safe-stable-stringify/readme.md +0 -179
- package/node_modules/safer-buffer/Readme.md +0 -156
- package/node_modules/shebang-command/license +0 -9
- package/node_modules/shebang-command/readme.md +0 -34
- package/node_modules/shebang-regex/license +0 -9
- package/node_modules/shebang-regex/readme.md +0 -33
- package/node_modules/sisteransi/license +0 -21
- package/node_modules/sisteransi/readme.md +0 -113
- package/node_modules/socks-proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/socks-proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/string-width/license +0 -9
- package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
- package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
- package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/string-width/readme.md +0 -50
- package/node_modules/string_decoder/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/string_decoder/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/strip-ansi/license +0 -9
- package/node_modules/strip-ansi/readme.md +0 -37
- package/node_modules/supports-color/license +0 -9
- package/node_modules/supports-color/readme.md +0 -76
- package/node_modules/uint8array-extras/license +0 -9
- package/node_modules/uint8array-extras/readme.md +0 -318
- package/node_modules/undici/lib/web/fetch/LICENSE +0 -21
- package/node_modules/undici/lib/web/subresource-integrity/Readme.md +0 -9
- package/node_modules/util-deprecate/History.md +0 -16
- package/node_modules/wrap-ansi/license +0 -9
- package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
- package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
- package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/wrap-ansi/readme.md +0 -91
- package/node_modules/yoctocolors/license +0 -9
- package/node_modules/yoctocolors/readme.md +0 -138
- package/node_modules/zod-to-json-schema/changelog.md +0 -83
|
@@ -2,4 +2,3 @@ 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-B9m6BAQW.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-CiRKTRED.cjs.map
|
|
@@ -2,4 +2,3 @@ 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-r4aamVKh.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-Cxs7u0B3.cjs.map
|
|
@@ -2,4 +2,3 @@ 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-CDtkU4bv.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-D2IxJCfd.cjs.map
|
|
@@ -2,4 +2,3 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-BPlgbwrb.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 D({...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 D({...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:s.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=T(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 se({url:i,headers:u,body:o,timeoutMs:e.timeoutMs,fetchFn:t,allowPrivateNetwork:r});try{return await E(f,`Audio transcription failed`),{text:ue((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:s.t},be={id:`minimax-portal`,capabilities:[`image`],describeImage:s.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=T(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 ce({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 E(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:s.t,describeVideo:Te},De=[ve,{id:`openai`,capabilities:[`image`,`audio`],describeImage:s.t,transcribeAudio:O},ge,ae,ye,be,Ee,xe,{id:`zai`,capabilities:[`image`],describeImage:s.t},pe];function k(e){let t=n.Pt(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 n.Lo(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: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`?Ie({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 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.y(e.mime);if(n===`image`||n===`audio`||n===`video`)return n;let r=t.h(e.path??e.url);return r?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(r)?`video`:t._(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 L(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 d.default.basename(e).replace(/[^a-zA-Z0-9._-]+/g,`-`).replace(/^-+|-+$/g,``)||`download.bin`}function R(e){return e??r.Q()}function Ye(e,t){return typeof e==`object`&&!!e&&`code`in e&&e.code===t}function z(e){let t=L(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()||m.default.randomUUID();return d.default.join(R(e.tmpDir),`${t}-${i}-${a}${n}`)}async function Xe(e,t){let n=R(e.tmpDir),r=`${L(e.prefix)}-`,i=await(0,p.mkdtemp)(d.default.join(n,r)),a=d.default.join(i,Je(e.fileName??`download.bin`));try{return await t(a)}finally{try{await(0,p.rm)(i,{recursive:!0,force:!0})}catch(e){Ye(e,`ENOENT`)||console.warn(`temp-path cleanup failed for ${i}: ${String(e)}`)}}}var B=class extends Error{constructor(e,t){super(t),this.reason=e,this.name=`MediaUnderstandingSkipError`}};function Ze(e){return e instanceof B}const Qe=n.w(o.n(),n.S);function $e(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}var et=class{constructor(e,t){this.entries=new Map,this.attachments=e,this.localPathRoots=n.w(t?.localPathRoots,Qe);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 B(`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 B(`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.p({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 B(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let a=await o.i({url:r,fetchImpl:(t,n)=>i.n($e(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return n.buffer=a.buffer,n.bufferMime=n.attachment.mime??a.contentType??await t.p({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 B(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`):Ge(t)?new B(`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 B(`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 B(`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=z({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=ze(e.path);if(t)return d.default.isAbsolute(t)?t:d.default.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!n.C({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.C({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.w(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await p.default.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const tt=r.a(`model-catalog`);let V=null,H=!1,nt=()=>Promise.resolve().then(()=>require(`./pi-model-discovery-DFHxrr0I.cjs`));const U=`openai-codex`,W=`openai`,rt=new Set([`kilocode`]),it=[{provider:W,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:W,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:U,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:U,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function at(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of it){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 ot(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 st(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(!rt.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=ot(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function ct(e){let t=st(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 G(e){return e?.useCache===!1&&(V=null),V||(V=(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 i=e?.config??n.r();await s.w(i);let a=await nt(),o=n.zl(),{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 ct({config:i,models:t}),at(t),t.length===0&&(V=null),r(t)}catch(e){return H||(H=!0,tt.warn(`Failed to load model catalog: ${String(e)}`)),V=null,t.length>0?r(t):[]}})(),V)}function lt(e){return e?.input?.includes(`image`)??!1}function ut(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 dt(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 ft(e){let t=dt(e);if(!t||typeof t!=`object`)return null;let n=t.response;return typeof n==`string`&&n.trim()||null}function pt(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 ht(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 gt(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 _t(e,t){return e.some(e=>t.includes(e))}function vt(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 yt(e){if(!_t(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function bt(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 xt(e){let t=gt(e.command),n=t===`whisper-cli`?yt(e.args):t===`whisper`?vt(e.args,e.mediaPath):t===`parakeet-mlx`?bt(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=ft(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=ht(e.stdout);if(t)return t}return e.stdout.trim()}function St(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 Ct(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 wt(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 Tt(e){let{providerId:t,config:n,entry:r}=e,i=St({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=wt(i??{}),o=Ct({...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 Et(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 Dt(e){let t=await n.Kt({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:n.Gt(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Ot(e){let{apiKeys:t,providerConfig:n}=await Dt({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 kt(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 At(e){if(!(e.size>=1024))throw new B(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function jt(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:o,maxChars:u,timeoutMs:d,prompt:f}=Et({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=A(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=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:o,timeoutMs:d});At({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:s,baseUrl:l,headers:h}=await Ot({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),g=Tt({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}),_=pt(g.size),v=mt(o);if(_>v)throw new B(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${_} exceeds ${v}`);let{apiKeys:y,baseUrl:b,headers:x}=await Ot({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 Mt(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}=Et({capability:i,entry:t,cfg:a,config:e.config}),h=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:l,timeoutMs:f});i===`audio`&&At({size:(await p.default.stat(h.path)).size,attachmentIndex:e.attachmentIndex});let g=await p.default.mkdtemp(d.default.join(r.Q(),`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{r.B()&&r.R(`Media understanding via CLI: ${x.join(` `)}`);let{stdout:t}=await n.Ol(x[0],x.slice(1),{timeoutMs:f,maxBuffer:ie}),a=J(await xt({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 Oe(e)}function Q(e){return Be(e)}function Nt(e){return n.w(o.n(),n.T({cfg:e.cfg,accountId:e.ctx.AccountId}))}function Pt(e,t){return new et(e,t)}const Ft=new Map,It=new Map;function Lt(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 Rt(e){return e.includes(`/`)||e.includes(`\\`)}function zt(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 Bt(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 Vt(e){let t=Ft.get(e);if(t)return t;let n=(async()=>{let t=Lt(e.trim());if(t&&Rt(t)){for(let e of zt(t))if(await Bt(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(d.default.delimiter),i=zt(n);for(let e of r){let t=Lt(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=d.default.join(t,e);if(await Bt(n))return n}}return null})();return Ft.set(e,n),n}async function $(e){return!!await Vt(e)}async function Ht(){let e=It.get(`gemini`);if(e)return e;let t=(async()=>{if(!await $(`gemini`))return!1;try{let{stdout:e}=await n.Ol(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(ft(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return It.set(`gemini`,t),t}async function Ut(){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 Wt(){return await $(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function Gt(){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 Kt(){return await Gt()||await Ut()||await Wt()}async function qt(e){return await Ht()?{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 Jt(e){let{cfg:t,agentDir:r,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 n.Kt({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 C){let t=w[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 re){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 Yt(e){let n=[],r=t.Ot(e.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of t.Dt(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 Xt(e){let t=await Qt(e);if(t)return[t];if(e.capability===`audio`){let e=await Kt();if(e)return[e]}if(e.capability===`image`){let t=Yt(e.cfg);if(t.length>0)return t}let n=await qt(e.capability);if(n)return[n];let r=await Jt(e);return r?[r]:[]}async function Zt(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??w[t];return n?{provider:t,model:n}:null};return n(await Qt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await Jt({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function Qt(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let r=k(t);if(!r)return null;let i=A(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.Kt({provider:r,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:r,model:e.activeModel?.model}}async function $t(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 Mt({capability:n,entry:a,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await jt({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(Ze(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 en(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=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 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&<(ut(await G({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=Le({cfg:n,capability:t,config:a,providerRegistry:e.providerRegistry});if(l.length===0&&(l=await Xt({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 $t({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 ${kt(f)}`),{outputs:u,decision:f}}async function tn(e){let t=e.attachments??Q(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=Pt(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await en({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 ie}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return je}});
|
|
5
|
-
//# sourceMappingURL=audio-transcription-runner-DA6TwXrV.cjs.map
|
|
@@ -2,4 +2,3 @@ import{_t as e,f as t,g as n,m as r,u as i,vt as a}from"./paths-cBAF6Bj0.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=d(e);return t===`gemini`?`google`:t}function Ke(e){let t=new Map;for(let e of Ge)t.set(M(e.id),e);if(e)for(let[n,r]of Object.entries(e)){let e=M(n),i=t.get(e),a=i?{...i,...r,capabilities:r.capabilities??i.capabilities}:r;t.set(e,a)}return t}function N(e,t){return t.get(M(e))}function qe(e){let t=e?.trim().toLowerCase();if(t===`allow`)return`allow`;if(t===`deny`)return`deny`}function P(e){return e?.trim().toLowerCase()||void 0}function F(e){return f(e??void 0)}function Je(e){let t=e.scope;if(!t)return`allow`;let n=P(e.channel),r=F(e.chatType),i=P(e.sessionKey)??``;for(let e of t.rules??[]){if(!e)continue;let t=qe(e.action)??`allow`,a=e.match??{},o=P(a.channel),s=F(a.chatType),c=P(a.keyPrefix);if(!(o&&o!==n)&&!(s&&s!==r)&&!(c&&!i.startsWith(c)))return t}return qe(t.default)??`allow`}function I(e,t){let n=typeof e==`number`&&Number.isFinite(e)?e:t;return Math.max(1e3,Math.floor(n*1e3))}function Ye(e,t,n){let r=t?.trim()||be[e];return!n||e===`audio`?r:`${r} Respond in at most ${n} characters.`}function Xe(e){let{capability:t,entry:n,cfg:r}=e,i=n.maxChars??e.config?.maxChars??r.tools?.media?.[t]?.maxChars;return typeof i==`number`?i:_e[t]}function Ze(e){let t=e.entry.maxBytes??e.config?.maxBytes??e.cfg.tools?.media?.[e.capability]?.maxBytes;return typeof t==`number`?t:ve[e.capability]}function Qe(e){return Je({scope:e.scope,sessionKey:e.ctx.SessionKey,channel:e.ctx.Surface??e.ctx.Provider,chatType:F(e.ctx.ChatType)})}function $e(e){if((e.entry.type??(e.entry.command?`cli`:`provider`))===`cli`)return;let t=M(e.entry.provider??``);if(t)return e.providerRegistry.get(t)?.capabilities}function et(e){let{cfg:t,capability:n,config:r}=e,i=t.tools?.media?.models??[],a=[...(r?.models??[]).map(e=>({entry:e,source:`capability`})),...i.map(e=>({entry:e,source:`shared`}))];return a.length===0?[]:a.filter(({entry:t,source:r})=>{let i=t.capabilities&&t.capabilities.length>0?t.capabilities:r===`shared`?$e({entry:t,providerRegistry:e.providerRegistry}):void 0;return!i||i.length===0?r===`shared`?(v()&&b(`Skipping shared media model without capabilities: ${t.provider??t.command??`unknown`}`),!1):!0:i.includes(n)}).map(({entry:e})=>e)}function tt(e){let t=e.tools?.media?.concurrency;return typeof t==`number`&&Number.isFinite(t)&&t>0?Math.floor(t):2}function L(e){let t=e?.trim();if(t){if(t.startsWith(`file://`))try{return pe(t)}catch{return}return t}}function R(e){let t=Array.isArray(e.MediaPaths)?e.MediaPaths:void 0,n=Array.isArray(e.MediaUrls)?e.MediaUrls:void 0,r=Array.isArray(e.MediaTypes)?e.MediaTypes:void 0,i=(t,n)=>{let i=r?.[n];return(typeof i==`string`?i.trim():``)||(t===1?e.MediaType:void 0)};if(t&&t.length>0){let r=t.length,a=n&&n.length>0?n:void 0;return t.map((t,n)=>({path:t?.trim()||void 0,url:a?.[n]??e.MediaUrl,mime:i(r,n),index:n})).filter(e=>!!(e.path?.trim()||e.url?.trim()))}if(n&&n.length>0){let e=n.length;return n.map((t,n)=>({path:void 0,url:t?.trim()||void 0,mime:i(e,n),index:n})).filter(e=>!!e.url?.trim())}let a=e.MediaPath?.trim(),o=e.MediaUrl?.trim();return!a&&!o?[]:[{path:a||void 0,url:o||void 0,mime:e.MediaType,index:0}]}function z(e){let i=n(e.mime);if(i===`image`||i===`audio`||i===`video`)return i;let a=t(e.path??e.url);return a?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(a)?`video`:r(e.path??e.url)?`audio`:[`.png`,`.jpg`,`.jpeg`,`.webp`,`.gif`,`.bmp`,`.tiff`,`.tif`].includes(a)?`image`:`unknown`:`unknown`}function nt(e){return z(e)===`video`}function B(e){return z(e)===`audio`}function rt(e){return z(e)===`image`}function it(e,t){let n=Array.isArray(e)?e.filter(V):[];if(!t||t===`first`)return n;if(t===`last`)return[...n].toReversed();if(t===`path`){let e=n.filter(e=>e.path),t=n.filter(e=>!e.path);return[...e,...t]}if(t===`url`){let e=n.filter(e=>e.url),t=n.filter(e=>!e.url);return[...e,...t]}return n}function V(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.index!=`number`||t.path!==void 0&&typeof t.path!=`string`||t.url!==void 0&&typeof t.url!=`string`||t.mime!==void 0&&typeof t.mime!=`string`||t.alreadyTranscribed!==void 0&&typeof t.alreadyTranscribed!=`boolean`)}function at(e){let{capability:t,attachments:n,policy:r}=e,i=(Array.isArray(n)?n.filter(V):[]).filter(e=>t===`audio`&&e.alreadyTranscribed?!1:t===`image`?rt(e):t===`audio`?B(e):nt(e));if(i.length===0)return[];let a=it(i,r?.prefer),o=r?.mode??`first`,s=r?.maxAttachments??1;return o===`all`?a.slice(0,Math.max(1,s)):a.slice(0,1)}const H=new Set;function ot(e){return!e||typeof e!=`object`?!1:(`name`in e?String(e.name):``)===`AbortError`||(`message`in e&&typeof e.message==`string`?e.message:``)===`This operation was aborted`}function st(e){return H.add(e),()=>{H.delete(e)}}function ct(e){return e.replace(/[^a-zA-Z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``)||`tmp`}function lt(e){if(!e)return``;let t=((e.startsWith(`.`)?e:`.${e}`).match(/[a-zA-Z0-9._-]+$/)?.[0]??``).replace(/^[._-]+/,``);return t?`.${t}`:``}function ut(e){return e??ee()}function U(e){let t=ct(e.prefix),n=lt(e.extension),r=e.now,i=typeof r==`number`&&Number.isFinite(r)?Math.trunc(r):Date.now(),a=e.uuid?.trim()||me.randomUUID();return S.join(ut(e.tmpDir),`${t}-${i}-${a}${n}`)}var W=class extends Error{constructor(e,t){super(t),this.reason=e,this.name=`MediaUnderstandingSkipError`}};function dt(e){return e instanceof W}const ft=p(ce(),h);function pt(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}var mt=class{constructor(e,t){this.entries=new Map,this.attachments=e,this.localPathRoots=p(t?.localPathRoots,ft);for(let t of e)this.entries.set(t.index,{attachment:t})}async getBuffer(e){let t=await this.ensureEntry(e.attachmentIndex);if(t.buffer){if(t.buffer.length>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{buffer:t.buffer,mime:t.bufferMime,fileName:t.bufferFileName??`media-${e.attachmentIndex+1}`,size:t.buffer.length}}if(t.resolvedPath){let n=await this.ensureLocalStat(t);if(t.resolvedPath){if(n!==void 0&&n>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);let r=await C.readFile(t.resolvedPath);return t.buffer=r,t.bufferMime=t.bufferMime??t.attachment.mime??await i({buffer:r,filePath:t.resolvedPath}),t.bufferFileName=S.basename(t.resolvedPath)||`media-${e.attachmentIndex+1}`,{buffer:r,mime:t.bufferMime,fileName:t.bufferFileName,size:r.length}}}let n=t.attachment.url?.trim();if(!n)throw new W(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let r=await se({url:n,fetchImpl:(t,n)=>ne(pt(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return t.buffer=r.buffer,t.bufferMime=t.attachment.mime??r.contentType??await i({buffer:r.buffer,filePath:r.fileName??n}),t.bufferFileName=r.fileName??`media-${e.attachmentIndex+1}`,{buffer:r.buffer,mime:t.bufferMime,fileName:t.bufferFileName,size:r.buffer.length}}catch(t){throw t instanceof le&&t.code===`max_bytes`?new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`):ot(t)?new W(`timeout`,`Attachment ${e.attachmentIndex+1} timed out while fetching.`):t}}async getPath(e){let t=await this.ensureEntry(e.attachmentIndex);if(t.resolvedPath){if(e.maxBytes){let n=await this.ensureLocalStat(t);if(t.resolvedPath&&n!==void 0&&n>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`)}if(t.resolvedPath)return{path:t.resolvedPath}}if(t.tempPath){if(e.maxBytes&&t.buffer&&t.buffer.length>e.maxBytes)throw new W(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);return{path:t.tempPath,cleanup:t.tempCleanup}}let n=e.maxBytes??1/0,r=await this.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:n,timeoutMs:e.timeoutMs}),i=U({prefix:`openclaw-media`,extension:S.extname(r.fileName||``)||``});return await C.writeFile(i,r.buffer),t.tempPath=i,t.tempCleanup=async()=>{await C.unlink(i).catch(()=>{})},{path:i,cleanup:t.tempCleanup}}async cleanup(){let e=[];for(let t of this.entries.values())t.tempCleanup&&=(e.push(Promise.resolve(t.tempCleanup())),void 0);await Promise.all(e)}async ensureEntry(e){let t=this.entries.get(e);if(t)return t.resolvedPath||=this.resolveLocalPath(t.attachment),t;let n=this.attachments.find(t=>t.index===e)??{index:e},r={attachment:n,resolvedPath:this.resolveLocalPath(n)};return this.entries.set(e,r),r}resolveLocalPath(e){let t=L(e.path);if(t)return S.isAbsolute(t)?t:S.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!s({filePath:e.resolvedPath,roots:this.localPathRoots})){e.resolvedPath=void 0,v()&&b(`Blocked attachment path outside allowed roots: ${e.attachment.path??e.attachment.url??`(unknown)`}`);return}if(e.statSize!==void 0)return e.statSize;try{let t=e.resolvedPath,n=await C.stat(t);if(!n.isFile()){e.resolvedPath=void 0;return}let r=await C.realpath(t).catch(()=>t);if(!s({filePath:r,roots:await this.getCanonicalLocalPathRoots()})){e.resolvedPath=void 0,v()&&b(`Blocked canonicalized attachment path outside allowed roots: ${r}`);return}return e.resolvedPath=r,e.statSize=n.size,n.size}catch(t){e.resolvedPath=void 0,v()&&b(`Failed to read attachment ${e.attachment.index+1}: ${String(t)}`);return}}}async getCanonicalLocalPathRoots(){return this.canonicalLocalPathRoots||=(async()=>p(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await C.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const ht=y(`model-catalog`);let G=null,gt=!1,_t=()=>import(`./pi-model-discovery-BQiHbl8F.js`).then(e=>e.r);const vt=`openai-codex`,yt=`openai`,bt=new Set([`kilocode`]),xt=[{provider:yt,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:yt,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:vt,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:vt,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function St(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of xt){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function Ct(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function wt(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!bt.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=Ct(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function Tt(e){let t=wt(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function Et(e){return e?.useCache===!1&&(G=null),G||(G=(async()=>{let t=[],n=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let r=e?.config??o();await te(r);let i=await _t(),a=m(),{join:s}=await import(`node:path`),c=i.discoverAuthStorage(a),l=new i.ModelRegistry(c,s(a,`models.json`)),u=Array.isArray(l)?l:l.getAll();for(let e of u){let n=String(e?.id??``).trim();if(!n)continue;let r=String(e?.provider??``).trim();if(!r)continue;let i=String(e?.name??n).trim()||n,a=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,o=typeof e?.reasoning==`boolean`?e.reasoning:void 0,s=Array.isArray(e?.input)?e.input:void 0;t.push({id:n,name:i,provider:r,contextWindow:a,reasoning:o,input:s})}return Tt({config:r,models:t}),St(t),t.length===0&&(G=null),n(t)}catch(e){return gt||(gt=!0,ht.warn(`Failed to load model catalog: ${String(e)}`)),G=null,t.length>0?n(t):[]}})(),G)}function Dt(e){return e?.input?.includes(`image`)??!1}function Ot(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}async function K(e){if(!e)return!1;try{return await C.stat(e),!0}catch{return!1}}function kt(e){let t=e.trim(),n=t.lastIndexOf(`{`);if(n===-1)return null;let r=t.slice(n);try{return JSON.parse(r)}catch{return null}}function At(e){let t=kt(e);if(!t||typeof t!=`object`)return null;let n=t.response;return typeof n==`string`&&n.trim()||null}function jt(e){return Math.ceil(e/3)*4}function Mt(e){let t=Math.floor(4/3*e);return Math.min(t,73400320)}function q(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))typeof r==`string`&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function J(e,t){let n=e.trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Nt(e){let t=e=>{let n=e.trim();if(!n)return null;let r=n[0];if(r!==`{`&&r!==`"`)return null;try{let e=JSON.parse(n);if(typeof e==`string`)return t(e);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`&&t.trim())return t.trim()}}catch{}return null},n=t(e);if(n)return n;let r=e.split(`
|
|
4
4
|
`).map(e=>e.trim()).filter(Boolean);for(let e=r.length-1;e>=0;--e){let n=t(r[e]??``);if(n)return n}return null}function Pt(e){return S.parse(e).name}function Y(e,t){for(let n=0;n<e.length;n+=1)if(t.includes(e[n]??``)){let t=e[n+1];if(t)return t}}function Ft(e,t){return e.some(e=>t.includes(e))}function It(e,t){let n=Y(e,[`--output_dir`,`-o`]),r=Y(e,[`--output_format`]);if(!n||!r||!r.split(`,`).map(e=>e.trim()).includes(`txt`))return null;let i=S.parse(t).name;return S.join(n,`${i}.txt`)}function Lt(e){if(!Ft(e,[`-otxt`,`--output-txt`]))return null;let t=Y(e,[`-of`,`--output-file`]);return t?`${t}.txt`:null}function Rt(e,t){let n=Y(e,[`--output-dir`]),r=Y(e,[`--output-format`]);if(!n||r&&r!==`txt`)return null;let i=S.parse(t).name;return S.join(n,`${i}.txt`)}async function zt(e){let t=Pt(e.command),n=t===`whisper-cli`?Lt(e.args):t===`whisper`?It(e.args,e.mediaPath):t===`parakeet-mlx`?Rt(e.args,e.mediaPath):null;if(n&&await K(n))try{let e=await C.readFile(n,`utf8`);if(e.trim())return e.trim()}catch{}if(t===`gemini`){let t=At(e.stdout);if(t)return t}if(t===`sherpa-onnx-offline`){let t=Nt(e.stdout);if(t)return t}return e.stdout.trim()}function Bt(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return Object.keys(t).length>0?t:void 0}function Vt(e){if(!e)return;let t={};return typeof e.detectLanguage==`boolean`&&(t.detect_language=e.detectLanguage),typeof e.punctuate==`boolean`&&(t.punctuate=e.punctuate),typeof e.smartFormat==`boolean`&&(t.smart_format=e.smartFormat),Object.keys(t).length>0?t:void 0}function Ht(e){let t={...e};return`detectLanguage`in t&&(t.detect_language=t.detectLanguage,delete t.detectLanguage),`smartFormat`in t&&(t.smart_format=t.smartFormat,delete t.smartFormat),t}function Ut(e){let{providerId:t,config:n,entry:r}=e,i=Bt({...n?.providerOptions?.[t],...r.providerOptions?.[t]});if(t!==`deepgram`)return i;let a=Ht(i??{}),o=Vt({...n?.deepgram,...r.deepgram});for(let[e,t]of Object.entries(o??{}))a[e]===void 0&&(a[e]=t);return Object.keys(a).length>0?a:void 0}function X(e){if(e.entryType===`cli`){let t=e.entry.command?.trim();return{type:`cli`,provider:t??`cli`,model:e.entry.model??t,outcome:e.outcome,reason:e.reason}}let t=e.entry.provider?.trim();return{type:`provider`,provider:(t?M(t):void 0)??t,model:e.entry.model,outcome:e.outcome,reason:e.reason}}function Wt(e){let{capability:t,entry:n,cfg:r}=e,i=Ze({capability:t,entry:n,cfg:r,config:e.config}),a=Xe({capability:t,entry:n,cfg:r,config:e.config});return{maxBytes:i,maxChars:a,timeoutMs:I(n.timeoutSeconds??e.config?.timeoutSeconds??r.tools?.media?.[t]?.timeoutSeconds,ye[t]),prompt:Ye(t,n.prompt??e.config?.prompt??r.tools?.media?.[t]?.prompt,a)}}async function Gt(e){let t=await l({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:oe({provider:e.providerId,primaryApiKey:u(t,e.providerId)}),providerConfig:e.cfg.models?.providers?.[e.providerId]}}async function Kt(e){let{apiKeys:t,providerConfig:n}=await Gt({providerId:e.providerId,cfg:e.cfg,entry:e.entry,agentDir:e.agentDir}),r=e.entry.baseUrl??e.config?.baseUrl??n?.baseUrl,i={...q(n?.headers),...q(e.config?.headers),...q(e.entry.headers)};return{apiKeys:t,baseUrl:r,headers:Object.keys(i).length>0?i:void 0}}function qt(e){let t=Array.isArray(e.attachments)?e.attachments:[],n=t.length,r=t.filter(e=>e?.chosen?.outcome===`success`).length,i=t.find(e=>e?.chosen)?.chosen,a=typeof i?.provider==`string`?i.provider.trim():void 0,o=typeof i?.model==`string`?i.model.trim():void 0,s=a?o?`${a}/${o}`:a:void 0,c=t.flatMap(e=>(Array.isArray(e?.attempts)?e.attempts:[]).map(e=>typeof e?.reason==`string`?e.reason:void 0).filter(e=>!!e)).find(e=>e.trim().length>0),l=c?c.split(`:`)[0]?.trim():void 0,u=n>0?` (${r}/${n})`:``,d=s?` via ${s}`:``,f=l?` reason=${l}`:``;return`${e.capability}: ${e.outcome}${u}${d}${f}`}function Jt(e){if(!(e.size>=1024))throw new W(`tooSmall`,`Audio attachment ${e.attachmentIndex+1} is too small (${e.size} bytes, minimum 1024)`)}async function Yt(e){let{entry:t,capability:n,cfg:r}=e,i=t.provider?.trim();if(!i)throw Error(`Provider entry missing provider for ${n}`);let a=M(i),{maxBytes:o,maxChars:s,timeoutMs:c,prompt:l}=Wt({capability:n,entry:t,cfg:r,config:e.config});if(n===`image`){if(!e.agentDir)throw Error(`Image understanding requires agentDir`);let n=t.model?.trim();if(!n)throw Error(`Image understanding requires model id`);let r=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c}),i=N(a,e.providerRegistry),u={buffer:r.buffer,fileName:r.fileName,mime:r.mime,model:n,provider:a,prompt:l,timeoutMs:c,profile:t.profile,preferredProfile:t.preferredProfile,agentDir:e.agentDir,cfg:e.cfg},d=await(i?.describeImage??x)(u);return{kind:`image.description`,attachmentIndex:e.attachmentIndex,text:J(d.text,s),provider:a,model:d.model??n}}let u=N(a,e.providerRegistry);if(!u)throw Error(`Media provider not available: ${a}`);let d=ue();if(n===`audio`){if(!u.transcribeAudio)throw Error(`Audio transcription provider "${a}" not available.`);let n=u.transcribeAudio,i=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c});Jt({size:i.size,attachmentIndex:e.attachmentIndex});let{apiKeys:f,baseUrl:p,headers:m}=await Kt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),h=Ut({providerId:a,config:e.config,entry:t}),g=t.model?.trim()||xe[a]||t.model,_=await ie({provider:a,apiKeys:f,execute:async a=>n({buffer:i.buffer,fileName:i.fileName,mime:i.mime,apiKey:a,baseUrl:p,headers:m,model:g,language:t.language??e.config?.language??r.tools?.media?.audio?.language,prompt:l,query:h,timeoutMs:c,fetchFn:d})});return{kind:`audio.transcription`,attachmentIndex:e.attachmentIndex,text:J(_.text,s),provider:a,model:_.model??g}}if(!u.describeVideo)throw Error(`Video understanding provider "${a}" not available.`);let f=u.describeVideo,p=await e.cache.getBuffer({attachmentIndex:e.attachmentIndex,maxBytes:o,timeoutMs:c}),m=jt(p.size),h=Mt(o);if(m>h)throw new W(`maxBytes`,`Video attachment ${e.attachmentIndex+1} base64 payload ${m} exceeds ${h}`);let{apiKeys:g,baseUrl:_,headers:v}=await Kt({providerId:a,cfg:r,entry:t,config:e.config,agentDir:e.agentDir}),y=await ie({provider:a,apiKeys:g,execute:e=>f({buffer:p.buffer,fileName:p.fileName,mime:p.mime,apiKey:e,baseUrl:_,headers:v,model:t.model,prompt:l,timeoutMs:c,fetchFn:d})});return{kind:`video.description`,attachmentIndex:e.attachmentIndex,text:J(y.text,s),provider:a,model:y.model??t.model}}async function Xt(e){let{entry:t,capability:n,cfg:r,ctx:i}=e,a=t.command?.trim(),o=t.args??[];if(!a)throw Error(`CLI entry missing command for ${n}`);let{maxBytes:s,maxChars:c,timeoutMs:l,prompt:u}=Wt({capability:n,entry:t,cfg:r,config:e.config}),d=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:s,timeoutMs:l});n===`audio`&&Jt({size:(await C.stat(d.path)).size,attachmentIndex:e.attachmentIndex});let f=await C.mkdtemp(S.join(ee(),`openclaw-media-cli-`)),p=d.path,m=S.join(f,S.parse(p).name),h={...i,MediaPath:p,MediaDir:S.dirname(p),OutputDir:f,OutputBase:m,Prompt:u,MaxChars:c},g=[a,...o].map((e,t)=>t===0?e:ge(e,h));try{v()&&b(`Media understanding via CLI: ${g.join(` `)}`);let{stdout:t}=await _(g[0],g.slice(1),{timeoutMs:l,maxBuffer:Te}),r=J(await zt({command:a,args:g.slice(1),stdout:t,mediaPath:p}),c);return r?{kind:n===`audio`?`audio.transcription`:`${n}.description`,attachmentIndex:e.attachmentIndex,text:r,provider:`cli`,model:a}:null}finally{await C.rm(f,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return Ke(e)}function Zt(e){return R(e)}function Qt(e){return p(ce(),g({cfg:e.cfg,accountId:e.ctx.AccountId}))}function $t(e,t){return new mt(e,t)}const en=new Map,tn=new Map;function nn(e){if(!e.startsWith(`~`))return e;let t=fe.homedir();return e===`~`?t:e.startsWith(`~/`)?S.join(t,e.slice(2)):e}function rn(e){return e.includes(`/`)||e.includes(`\\`)}function an(e){if(process.platform!==`win32`||S.extname(e))return[e];let t=(process.env.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.trim()).filter(Boolean).map(e=>e.startsWith(`.`)?e:`.${e}`);return[e,...Array.from(new Set(t)).map(t=>`${e}${t}`)]}async function Q(e){try{return(await C.stat(e)).isFile()?(process.platform===`win32`||await C.access(e,de.X_OK),!0):!1}catch{return!1}}async function on(e){let t=en.get(e);if(t)return t;let n=(async()=>{let t=nn(e.trim());if(t&&rn(t)){for(let e of an(t))if(await Q(e))return e}let n=e.trim();if(!n)return null;let r=(process.env.PATH??``).split(S.delimiter),i=an(n);for(let e of r){let t=nn(e.trim().replace(/^"(.*)"$/,`$1`));if(t)for(let e of i){let n=S.join(t,e);if(await Q(n))return n}}return null})();return en.set(e,n),n}async function $(e){return!!await on(e)}async function sn(){let e=tn.get(`gemini`);if(e)return e;let t=(async()=>{if(!await $(`gemini`))return!1;try{let{stdout:e}=await _(`gemini`,[`--output-format`,`json`,`ok`],{timeoutMs:8e3});return!!(At(e)??e.toLowerCase().includes(`ok`))}catch{return!1}})();return tn.set(`gemini`,t),t}async function cn(){if(!await $(`whisper-cli`))return null;let e=process.env.WHISPER_CPP_MODEL?.trim(),t=e&&await K(e)?e:`/opt/homebrew/share/whisper-cpp/for-tests-ggml-tiny.bin`;return await K(t)?{type:`cli`,command:`whisper-cli`,args:[`-m`,t,`-otxt`,`-of`,`{{OutputBase}}`,`-np`,`-nt`,`{{MediaPath}}`]}:null}async function ln(){return await $(`whisper`)?{type:`cli`,command:`whisper`,args:[`--model`,`turbo`,`--output_format`,`txt`,`--output_dir`,`{{OutputDir}}`,`--verbose`,`False`,`{{MediaPath}}`]}:null}async function un(){if(!await $(`sherpa-onnx-offline`))return null;let e=process.env.SHERPA_ONNX_MODEL_DIR?.trim();if(!e)return null;let t=S.join(e,`tokens.txt`),n=S.join(e,`encoder.onnx`),r=S.join(e,`decoder.onnx`),i=S.join(e,`joiner.onnx`);return!await K(t)||!await K(n)||!await K(r)||!await K(i)?null:{type:`cli`,command:`sherpa-onnx-offline`,args:[`--tokens=${t}`,`--encoder=${n}`,`--decoder=${r}`,`--joiner=${i}`,`{{MediaPath}}`]}}async function dn(){return await un()||await cn()||await ln()}async function fn(e){return await sn()?{type:`cli`,command:`gemini`,args:[`--output-format`,`json`,`--allowed-tools`,`read_many_files`,`--include-directories`,`{{MediaDir}}`,`{{Prompt}}`,`Use read_many_files to read {{MediaPath}} and respond with only the text output.`]}:null}async function pn(e){let{cfg:t,agentDir:n,providerRegistry:r,capability:i}=e,a=async(e,a)=>{let o=N(e,r);if(!o||i===`audio`&&!o.transcribeAudio||i===`image`&&!o.describeImage||i===`video`&&!o.describeVideo)return null;try{return await l({provider:e,cfg:t,agentDir:n}),{type:`provider`,provider:e,model:a}}catch{return null}};if(i===`image`){let t=e.activeModel?.provider?.trim();if(t){let n=await a(t,e.activeModel?.model);if(n)return n}for(let e of Ce){let t=T[e],n=await a(e,t);if(n)return n}return null}if(i===`video`){let t=e.activeModel?.provider?.trim();if(t){let n=await a(t,e.activeModel?.model);if(n)return n}for(let e of we){let t=await a(e,void 0);if(t)return t}return null}let o=e.activeModel?.provider?.trim();if(o){let t=await a(o,e.activeModel?.model);if(t)return t}for(let e of Se){let t=await a(e,void 0);if(t)return t}return null}function mn(t){let n=[],r=a(t.agents?.defaults?.imageModel);r?.trim()&&n.push(r.trim());for(let r of e(t.agents?.defaults?.imageModel))r?.trim()&&n.push(r.trim());if(n.length===0)return[];let i=[];for(let e of n){let t=e.indexOf(`/`);t<=0||t>=e.length-1||i.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return i}async function hn(e){let t=await _n(e);if(t)return[t];if(e.capability===`audio`){let e=await dn();if(e)return[e]}if(e.capability===`image`){let t=mn(e.cfg);if(t.length>0)return t}let n=await fn(e.capability);if(n)return[n];let r=await pn(e);return r?[r]:[]}async function gn(e){let t=Z(),n=e=>{if(!e||e.type===`cli`)return null;let t=e.provider;if(!t)return null;let n=e.model??T[t];return n?{provider:t,model:n}:null};return n(await _n({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))||n(await pn({cfg:e.cfg,agentDir:e.agentDir,providerRegistry:t,capability:`image`,activeModel:e.activeModel}))}async function _n(e){let t=e.activeModel?.provider?.trim();if(!t)return null;let n=M(t);if(!n)return null;let r=N(n,e.providerRegistry);if(!r||e.capability===`audio`&&!r.transcribeAudio||e.capability===`image`&&!r.describeImage||e.capability===`video`&&!r.describeVideo)return null;try{await l({provider:n,cfg:e.cfg,agentDir:e.agentDir})}catch{return null}return{type:`provider`,provider:n,model:e.activeModel?.model}}async function vn(e){let{entries:t,capability:n}=e,r=[];for(let i of t){let t=i.type??(i.command?`cli`:`provider`);try{let a=t===`cli`?await Xt({capability:n,entry:i,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,config:e.config}):await Yt({capability:n,entry:i,cfg:e.cfg,ctx:e.ctx,attachmentIndex:e.attachmentIndex,cache:e.cache,agentDir:e.agentDir,providerRegistry:e.providerRegistry,config:e.config});if(a){let e=X({entry:i,entryType:t,outcome:`success`});return a.provider&&(e.provider=a.provider),a.model&&(e.model=a.model),r.push(e),{output:a,attempts:r}}r.push(X({entry:i,entryType:t,outcome:`skipped`,reason:`empty output`}))}catch(e){if(dt(e)){r.push(X({entry:i,entryType:t,outcome:`skipped`,reason:`${e.reason}: ${e.message}`})),v()&&b(`Skipping ${n} model due to ${e.reason}: ${e.message}`);continue}r.push(X({entry:i,entryType:t,outcome:`failed`,reason:String(e)})),v()&&b(`${n} understanding failed: ${String(e)}`)}}return{output:null,attempts:r}}async function yn(e){let{capability:t,cfg:n,ctx:r}=e,i=e.config??n.tools?.media?.[t];if(i?.enabled===!1)return{outputs:[],decision:{capability:t,outcome:`disabled`,attachments:[]}};let a=i?.attachments,o=at({capability:t,attachments:e.media,policy:a});if(o.length===0)return{outputs:[],decision:{capability:t,outcome:`no-attachment`,attachments:[]}};if(Qe({scope:i?.scope,ctx:r})===`deny`)return v()&&b(`${t} understanding disabled by scope policy.`),{outputs:[],decision:{capability:t,outcome:`scope-deny`,attachments:o.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let s=e.activeModel?.provider?.trim();if(t===`image`&&s&&Dt(Ot(await Et({config:n}),s,e.activeModel?.model??``))){v()&&b(`Skipping image understanding: primary model supports vision natively`);let n=e.activeModel?.model?.trim();return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:o.map(e=>{let t={type:`provider`,provider:s,model:n||void 0,outcome:`skipped`,reason:`primary model supports vision natively`};return{attachmentIndex:e.index,attempts:[t],chosen:t}})}}}let c=et({cfg:n,capability:t,config:i,providerRegistry:e.providerRegistry});if(c.length===0&&(c=await hn({cfg:n,agentDir:e.agentDir,providerRegistry:e.providerRegistry,capability:t,activeModel:e.activeModel})),c.length===0)return{outputs:[],decision:{capability:t,outcome:`skipped`,attachments:o.map(e=>({attachmentIndex:e.index,attempts:[]}))}};let l=[],u=[];for(let a of o){let{output:o,attempts:s}=await vn({capability:t,cfg:n,ctx:r,attachmentIndex:a.index,agentDir:e.agentDir,providerRegistry:e.providerRegistry,cache:e.attachments,entries:c,config:i});o&&l.push(o),u.push({attachmentIndex:a.index,attempts:s,chosen:s.find(e=>e.outcome===`success`)})}let d={capability:t,outcome:l.length>0?`success`:`skipped`,attachments:u};return v()&&b(`Media understanding ${qt(d)}`),{outputs:l,decision:d}}async function bn(e){let t=e.attachments??Zt(e.ctx);if(t.length===0)return{transcript:void 0,attachments:t};let n=Z(e.providers),r=$t(t,e.localPathRoots?{localPathRoots:e.localPathRoots}:void 0);try{return{transcript:(await yn({capability:`audio`,cfg:e.cfg,ctx:e.ctx,attachments:r,media:t,agentDir:e.agentDir,providerRegistry:n,config:e.cfg.tools?.media?.audio,activeModel:e.activeModel})).outputs.find(e=>e.kind===`audio.transcription`)?.text?.trim()||void 0,attachments:t}}finally{await r.cleanup()}}export{T as C,Te as S,tt as _,gn as a,Je as b,Ot as c,U as d,st as f,z as g,R as h,Zt as i,Et as l,L as m,Z as n,Qt as o,B as p,$t as r,yn as s,bn as t,Dt as u,I as v,ge as w,Ce as x,F as y};
|
|
5
|
-
//# sourceMappingURL=audio-transcription-runner-DZIEX1Rl.js.map
|
|
@@ -2,4 +2,3 @@ import{Bt as e,Ht as t,Rt as n,Wt as r,ct as i,st as a}from"./paths-CXgWvWAM.js"
|
|
|
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: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=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()||w.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=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:x,transcribeAudio:j},Fe,Te,Re,ze,{id:`moonshot`,capabilities:[`image`,`video`],describeImage:x,describeVideo:We},Be,{id:`zai`,capabilities:[`image`],describeImage:x},je];function M(e){let t=u(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 _(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(n){let i=r(n.mime);if(i===`image`||i===`audio`||i===`video`)return i;let a=e(n.path??n.url);return a?[`.mp4`,`.mov`,`.mkv`,`.webm`,`.avi`,`.m4v`].includes(a)?`video`:t(n.path??n.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 w.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=b(se(),ee);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=b(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 r=await this.ensureLocalStat(t);if(t.resolvedPath){if(r!==void 0&&r>e.maxBytes)throw new U(`maxBytes`,`Attachment ${e.attachmentIndex+1} exceeds maxBytes ${e.maxBytes}`);let i=await C.readFile(t.resolvedPath);return t.buffer=i,t.bufferMime=t.bufferMime??t.attachment.mime??await n({buffer:i,filePath:t.resolvedPath}),t.bufferFileName=w.basename(t.resolvedPath)||`media-${e.attachmentIndex+1}`,{buffer:i,mime:t.bufferMime,fileName:t.bufferFileName,size:i.length}}}let r=t.attachment.url?.trim();if(!r)throw new U(`empty`,`Attachment ${e.attachmentIndex+1} has no path or URL.`);try{let i=await oe({url:r,fetchImpl:(t,n)=>te(mt(t),n??{},e.timeoutMs,fetch),maxBytes:e.maxBytes});return t.buffer=i.buffer,t.bufferMime=t.attachment.mime??i.contentType??await n({buffer:i.buffer,filePath:i.fileName??r}),t.bufferFileName=i.fileName??`media-${e.attachmentIndex+1}`,{buffer:i.buffer,mime:t.bufferMime,fileName:t.bufferFileName,size:i.buffer.length}}catch(t){throw t instanceof ce&&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:w.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=I(e.path);if(t)return w.isAbsolute(t)?t:w.resolve(t)}async ensureLocalStat(e){if(e.resolvedPath){if(!g({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 C.stat(t);if(!n.isFile()){e.resolvedPath=void 0;return}let r=await C.realpath(t).catch(()=>t);if(!g({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()=>b(this.localPathRoots,await Promise.all(this.localPathRoots.map(async e=>e.includes(`*`)?e:await C.realpath(e).catch(()=>e)))))(),await this.canonicalLocalPathRoots}};const gt=s(`model-catalog`);let W=null,G=!1,_t=()=>import(`./pi-model-discovery-BsdlRK-w.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??d();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`)),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 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 w.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=w.parse(t).name;return w.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=w.parse(t).name;return w.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=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 y({provider:e.providerId,cfg:e.cfg,profileId:e.entry.profile,preferredProfile:e.entry.preferredProfile,agentDir:e.agentDir});return{apiKeys:ae({provider:e.providerId,primaryApiKey:h(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??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=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 S({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 S({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}),h=await e.cache.getPath({attachmentIndex:e.attachmentIndex,maxBytes:u,timeoutMs:f});n===`audio`&&Jt({size:(await C.stat(h.path)).size,attachmentIndex:e.attachmentIndex});let g=await C.mkdtemp(w.join(l(),`openclaw-media-cli-`)),_=h.path,v=w.join(g,w.parse(_).name),y={...i,MediaPath:_,MediaDir:w.dirname(_),OutputDir:g,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 m(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 C.rm(g,{recursive:!0,force:!0}).catch(()=>{})}}function Z(e){return Ke(e)}function Zt(e){return L(e)}function Qt(e){return b(se(),f({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(`~/`)?w.join(t,e.slice(2)):e}function nn(e){return e.includes(`/`)||e.includes(`\\`)}function rn(e){if(process.platform!==`win32`||w.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 C.stat(e)).isFile()?(process.platform===`win32`||await C.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(w.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=w.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 m(`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=w.join(e,`tokens.txt`),n=w.join(e,`encoder.onnx`),r=w.join(e,`decoder.onnx`),i=w.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 y({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(e){let t=[],n=i(e.agents?.defaults?.imageModel);n?.trim()&&t.push(n.trim());for(let n of a(e.agents?.defaults?.imageModel))n?.trim()&&t.push(n.trim());if(t.length===0)return[];let r=[];for(let e of t){let t=e.indexOf(`/`);t<=0||t>=e.length-1||r.push({type:`provider`,provider:e.slice(0,t),model:e.slice(t+1)})}return r}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 y({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-DZRGn6-f.js.map
|