@fased/fased 0.1.49 → 0.1.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/dist/acp/client.js +2 -2
  2. package/dist/acp/secret-file.js +2 -2
  3. package/dist/agents/agent-scope.js +2 -2
  4. package/dist/agents/apply-patch.js +8 -8
  5. package/dist/agents/auth-profiles/paths.js +2 -2
  6. package/dist/agents/auth-profiles/store.js +2 -2
  7. package/dist/agents/bash-tools.shared.js +2 -2
  8. package/dist/agents/cli-credentials.js +4 -4
  9. package/dist/agents/current-model-catalog.js +45 -0
  10. package/dist/agents/docs-path.js +3 -3
  11. package/dist/agents/embedded-pi-mcp.js +4 -4
  12. package/dist/agents/identity-avatar.js +3 -3
  13. package/dist/agents/identity-file.js +2 -2
  14. package/dist/agents/model-catalog-source.js +28 -3
  15. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  16. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  17. package/dist/agents/pi-model-discovery.js +6 -6
  18. package/dist/agents/pi-project-settings.js +3 -3
  19. package/dist/agents/provider-id.js +1 -1
  20. package/dist/agents/sandbox/fs-bridge.js +2 -2
  21. package/dist/agents/session-dirs.js +4 -4
  22. package/dist/agents/session-write-lock.js +13 -13
  23. package/dist/agents/shell-utils.js +5 -5
  24. package/dist/agents/skills/bundled-dir.js +4 -4
  25. package/dist/agents/skills/local-loader.js +6 -6
  26. package/dist/agents/skills/plugin-skills.js +2 -2
  27. package/dist/agents/skills/workspace.js +13 -13
  28. package/dist/agents/skills-install-download.js +7 -7
  29. package/dist/agents/skills-install-plan.js +2 -2
  30. package/dist/agents/skills-install.js +2 -2
  31. package/dist/agents/skills-status.js +2 -2
  32. package/dist/agents/subagent-depth.js +2 -2
  33. package/dist/agents/system-prompt-params.js +2 -2
  34. package/dist/agents/workspace.js +22 -22
  35. package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
  36. package/dist/auto-reply/reply/agent-runner.js +2 -2
  37. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  38. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  39. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  40. package/dist/auto-reply/reply/session.js +3 -3
  41. package/dist/auto-reply/skill-commands.js +3 -3
  42. package/dist/auto-reply/status.js +6 -6
  43. package/dist/brand.js +1 -1
  44. package/dist/browser/chrome.executables.js +3 -3
  45. package/dist/browser/chrome.js +3 -3
  46. package/dist/browser/chrome.profile-decoration.js +6 -6
  47. package/dist/browser/profiles-service.js +2 -2
  48. package/dist/browser/server-context.js +2 -2
  49. package/dist/browser/trash.js +4 -4
  50. package/dist/build-info.json +3 -3
  51. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  52. package/dist/canvas-host/server.js +4 -4
  53. package/dist/capabilities/catalog.js +3 -3
  54. package/dist/channels/plugins/catalog.js +3 -3
  55. package/dist/cli/browser-cli-extension.js +6 -6
  56. package/dist/cli/command-format.js +2 -2
  57. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  58. package/dist/cli/dns-cli.js +9 -9
  59. package/dist/cli/gateway-cli/dev.js +5 -5
  60. package/dist/cli/gateway-cli/run.js +2 -2
  61. package/dist/cli/hooks-cli.js +5 -5
  62. package/dist/cli/lightweight/gateway-runtime-probe.js +50 -0
  63. package/dist/cli/memory-cli.js +7 -7
  64. package/dist/cli/nodes-media-utils.js +2 -2
  65. package/dist/cli/plugins-cli.js +2 -2
  66. package/dist/cli/secrets-cli.js +3 -3
  67. package/dist/cli/update-cli/update-command.js +120 -0
  68. package/dist/cli/windows-argv.js +2 -2
  69. package/dist/commands/dashboard-link.js +3 -3
  70. package/dist/commands/doctor-install.js +5 -5
  71. package/dist/commands/doctor-memory-search.js +2 -2
  72. package/dist/commands/doctor-platform-notes.js +2 -2
  73. package/dist/commands/doctor-sandbox.js +2 -2
  74. package/dist/commands/doctor-state-integrity.js +23 -23
  75. package/dist/commands/doctor-workspace.js +3 -3
  76. package/dist/commands/doctor.js +3 -3
  77. package/dist/commands/managed-up.js +2 -2
  78. package/dist/commands/onboard-auth.credentials.js +3 -3
  79. package/dist/commands/onboarding/plugin-install.js +2 -2
  80. package/dist/commands/sessions-cleanup.js +2 -2
  81. package/dist/commands/signal-install.js +6 -6
  82. package/dist/commands/status-all/channels.js +2 -2
  83. package/dist/commands/wallet.js +47 -47
  84. package/dist/config/cache-utils.js +2 -2
  85. package/dist/config/includes.js +5 -5
  86. package/dist/config/io.js +2 -2
  87. package/dist/config/paths.js +3 -3
  88. package/dist/config/sat-runtime-ids.js +3 -3
  89. package/dist/config/sessions/disk-budget.js +6 -6
  90. package/dist/config/sessions/paths.js +2 -2
  91. package/dist/config/sessions/store.js +17 -17
  92. package/dist/config/sessions/transcript.js +4 -4
  93. package/dist/config/talk.js +2 -2
  94. package/dist/control-ui/assets/{app-6iCry787.js → app-Bf5WlHKE.js} +1743 -1738
  95. package/dist/control-ui/assets/{chat-model-ref-C6CFR-GR.js → chat-model-ref-NT82zapt.js} +2 -2
  96. package/dist/control-ui/assets/{index-CNFgocD9.js → index-DWM6gKjy.js} +3 -3
  97. package/dist/control-ui/assets/{providers-WTJ1kMKy.js → providers-rQMhp1fb.js} +2 -11
  98. package/dist/control-ui/index.html +1 -1
  99. package/dist/cron/service/store.js +2 -2
  100. package/dist/cron/store.js +6 -6
  101. package/dist/daemon/systemd-system.js +5 -5
  102. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  103. package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
  104. package/dist/gateway/control-ui-boot-check.js +6 -6
  105. package/dist/gateway/control-ui-login.js +7 -7
  106. package/dist/gateway/control-ui.js +9 -9
  107. package/dist/gateway/hooks-mapping.js +4 -4
  108. package/dist/gateway/probe-payload.js +14 -0
  109. package/dist/gateway/probe.js +8 -4
  110. package/dist/gateway/server-discovery.js +2 -2
  111. package/dist/gateway/server-http-lazy.js +2 -4
  112. package/dist/gateway/server-http.js +6 -8
  113. package/dist/gateway/server-methods/chat.js +3 -3
  114. package/dist/gateway/server-methods/models.js +3 -2
  115. package/dist/gateway/server-methods/sessions.js +6 -6
  116. package/dist/gateway/server-methods/usage.js +2 -2
  117. package/dist/gateway/server.impl.js +3 -3
  118. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  119. package/dist/gateway/session-utils.fs.js +24 -24
  120. package/dist/gateway/session-utils.js +6 -6
  121. package/dist/hooks/bundled-dir.js +4 -4
  122. package/dist/hooks/gmail-setup-utils.js +6 -6
  123. package/dist/hooks/import-url.js +2 -2
  124. package/dist/hooks/loader.js +4 -4
  125. package/dist/hooks/workspace.js +7 -7
  126. package/dist/infra/archive.js +17 -17
  127. package/dist/infra/boundary-file-read.js +2 -2
  128. package/dist/infra/boundary-path.js +15 -15
  129. package/dist/infra/brew.js +2 -2
  130. package/dist/infra/control-ui-assets.js +14 -14
  131. package/dist/infra/device-auth-store.js +8 -8
  132. package/dist/infra/device-identity.js +8 -8
  133. package/dist/infra/dotenv.js +2 -2
  134. package/dist/infra/exec-approvals.js +8 -8
  135. package/dist/infra/exec-command-resolution.js +4 -4
  136. package/dist/infra/exec-safe-bin-trust.js +2 -2
  137. package/dist/infra/fased-root.js +5 -5
  138. package/dist/infra/fs-safe.js +14 -14
  139. package/dist/infra/gateway-lock.js +11 -11
  140. package/dist/infra/git-commit.js +5 -5
  141. package/dist/infra/git-root.js +4 -4
  142. package/dist/infra/hosted-runtime-artifact.js +3 -3
  143. package/dist/infra/is-main.js +2 -2
  144. package/dist/infra/json-file.js +7 -7
  145. package/dist/infra/outbound/delivery-queue.js +16 -16
  146. package/dist/infra/path-env.js +3 -3
  147. package/dist/infra/ports-lsof.js +4 -4
  148. package/dist/infra/provider-usage.auth.js +3 -3
  149. package/dist/infra/safe-open-sync.js +2 -2
  150. package/dist/infra/session-cost-usage.js +9 -9
  151. package/dist/infra/shell-env.js +2 -2
  152. package/dist/infra/state-migrations.fs.js +6 -6
  153. package/dist/infra/state-migrations.js +23 -23
  154. package/dist/infra/tmp-fased-dir.js +6 -6
  155. package/dist/infra/widearea-dns.js +3 -3
  156. package/dist/infra/wsl.js +2 -2
  157. package/dist/light-update-precheck.js +1 -1
  158. package/dist/light-update-status.js +1 -1
  159. package/dist/line/accounts.js +2 -2
  160. package/dist/line/download.js +2 -2
  161. package/dist/logging/config.js +3 -3
  162. package/dist/logging/logger.js +7 -7
  163. package/dist/managed/federation.js +3 -3
  164. package/dist/managed/tunnel.js +3 -3
  165. package/dist/media/store.js +13 -13
  166. package/dist/media-understanding/runner.js +3 -3
  167. package/dist/memory/embeddings.js +2 -2
  168. package/dist/memory/internal.js +10 -10
  169. package/dist/memory/manager-sync-ops.js +7 -7
  170. package/dist/memory/repair-executor.js +17 -17
  171. package/dist/node-host/invoke-system-run-plan.js +8 -8
  172. package/dist/node-host/invoke.js +2 -2
  173. package/dist/node-host/runner.js +3 -3
  174. package/dist/pairing/pairing-store.js +3 -3
  175. package/dist/plugin-sdk/{accounts-B5fY9hZy.js → accounts-BZrfqJmO.js} +1 -1
  176. package/dist/plugin-sdk/{actions-D-9SsSEy.js → actions-7_zTh8zC.js} +2 -2
  177. package/dist/plugin-sdk/{active-listener-BH7rDR47.js → active-listener-D8NVRD8J.js} +1 -1
  178. package/dist/plugin-sdk/{audio-preflight-4faayz5S.js → audio-preflight-D6IPconF.js} +26 -26
  179. package/dist/plugin-sdk/{audit-BQfsboqd.js → audit-2iRlVyQF.js} +1 -1
  180. package/dist/plugin-sdk/{channel-access-CDZ-cJPq.js → channel-access-BCf1rJsn.js} +1 -1
  181. package/dist/plugin-sdk/{channel-access-configure-DlpuhlH6.js → channel-access-configure-B-Z51Qsd.js} +1 -1
  182. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  183. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  184. package/dist/plugin-sdk/{chunk-CZuCyS7k.js → chunk-BREC9ijl.js} +1 -1
  185. package/dist/plugin-sdk/{chunk-items-Cyc4Kl6A.js → chunk-items-CTp30xzl.js} +1 -1
  186. package/dist/plugin-sdk/command-status.js +26 -26
  187. package/dist/plugin-sdk/{commands-registry-COIbIjGO.js → commands-registry-D3-bFLsz.js} +2 -2
  188. package/dist/plugin-sdk/{common-LMHJe8KW.js → common-BlqMqEqn.js} +1 -1
  189. package/dist/plugin-sdk/{config-ZMbTT0kM.js → config-442EDe7Z.js} +81 -13
  190. package/dist/plugin-sdk/{config-schema-Cku0a8Tm.js → config-schema-DAyzv2C6.js} +2001 -449
  191. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  192. package/dist/plugin-sdk/discord.d.ts +4 -4
  193. package/dist/plugin-sdk/discord.js +19 -19
  194. package/dist/plugin-sdk/{handle-action-C8ZZfORB.js → handle-action-pNaP87Dr.js} +13 -13
  195. package/dist/plugin-sdk/{helpers-vfzH9tBn.js → helpers-B994qqVW.js} +1 -1
  196. package/dist/plugin-sdk/{image-ops-BnOmQA5d.js → image-ops-Doq8nZQw.js} +1 -1
  197. package/dist/plugin-sdk/index.d.ts +18 -18
  198. package/dist/plugin-sdk/index.js +28 -28
  199. package/dist/plugin-sdk/json-store.js +6 -6
  200. package/dist/plugin-sdk/{login-C73Wpiw8.js → login-CK2zTIJA.js} +3 -3
  201. package/dist/plugin-sdk/{login-qr-CRKHA7i8.js → login-qr-u8Mn1mCp.js} +3 -3
  202. package/dist/plugin-sdk/{manager-CHYhpKHn.js → manager-CeJNf2bH.js} +2 -2
  203. package/dist/plugin-sdk/{markdown-tables-B84dPWNG.js → markdown-tables-DeZztrY6.js} +1 -1
  204. package/dist/plugin-sdk/{media-4daDcNER.js → media-CgUAEfhs.js} +2 -2
  205. package/dist/plugin-sdk/{monitor-DJhU-J5u.js → monitor-CY1W4VTW.js} +31 -31
  206. package/dist/plugin-sdk/{monitor-CChc6bQV.js → monitor-CkDlxeW5.js} +30 -30
  207. package/dist/plugin-sdk/{openresponses-http-Dvyczr35.js → openresponses-http-Cu7NLyPf.js} +26 -26
  208. package/dist/plugin-sdk/{optional-runtime-dependency-BFpqaCzp.js → optional-runtime-dependency-D0BdXz1C.js} +1 -1
  209. package/dist/plugin-sdk/{outbound-C1xBxfNb.js → outbound-DXGuFrdx.js} +6 -6
  210. package/dist/plugin-sdk/{outbound-attachment-DvcxPP7b.js → outbound-attachment-oxhGO33g.js} +2 -2
  211. package/dist/plugin-sdk/{pairing-message-DpYT614h.js → pairing-message-C29ixrvn.js} +1 -1
  212. package/dist/plugin-sdk/{pairing-message-DWXHX-jt.d.ts → pairing-message-DfIyssV_.d.ts} +1 -1
  213. package/dist/plugin-sdk/{pairing-store-CprpGco9.js → pairing-store-1kcsOWRs.js} +2 -2
  214. package/dist/plugin-sdk/{pi-model-discovery-BQ6fFRBA.js → pi-model-discovery-l-xqaEd0.js} +1 -1
  215. package/dist/plugin-sdk/{pi-model-discovery-runtime-BF_89lVj.js → pi-model-discovery-runtime-CibV8F8G.js} +2 -2
  216. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  217. package/dist/plugin-sdk/{pw-ai-xgpIbHOr.js → pw-ai-9qEBW5-k.js} +3 -3
  218. package/dist/plugin-sdk/{replies-AzJ6U6Ut.js → replies-BX3L8fX7.js} +2 -2
  219. package/dist/plugin-sdk/{resolve-outbound-target-COo_TR7B.js → resolve-outbound-target-D0AK10E7.js} +1 -1
  220. package/dist/plugin-sdk/{resolve-route-CZFzHOIe.js → resolve-route-UO6XLYH3.js} +1 -1
  221. package/dist/plugin-sdk/{retry-policy-BSdqqXsI.js → retry-policy-C5N8JiHL.js} +1 -1
  222. package/dist/plugin-sdk/{runtime-CeoGffDi.js → runtime-Dnzwux3G.js} +3 -3
  223. package/dist/plugin-sdk/{runtime-dependency-Cvbs0GXf.js → runtime-dependency-BDDpVKBO.js} +2 -2
  224. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  225. package/dist/plugin-sdk/sat-runtime.js +5 -5
  226. package/dist/plugin-sdk/{send-B_-UtG9F.js → send-B4XLsTL0.js} +6 -6
  227. package/dist/plugin-sdk/{send-DCxAv7bV.js → send-D5rgCP1r.js} +6 -6
  228. package/dist/plugin-sdk/{send-CGE7OgsA.js → send-DGEgo_6f.js} +5 -5
  229. package/dist/plugin-sdk/{send-DVpCBUuL.js → send-DcsYRH2f.js} +7 -7
  230. package/dist/plugin-sdk/{send-C0Q1u7N1.js → send-bcKv8F5E.js} +8 -8
  231. package/dist/plugin-sdk/{session-ETYBbhLn.js → session-BoGNOlwv.js} +2 -2
  232. package/dist/plugin-sdk/{skill-commands-BQL6TBIv.js → skill-commands-Be8s4TGQ.js} +2 -2
  233. package/dist/plugin-sdk/{slack-actions-CBPZkfTS.js → slack-actions-TNnAXiUx.js} +11 -11
  234. package/dist/plugin-sdk/{slack-Bs_4uivd.js → slack-papUjf_h.js} +38 -38
  235. package/dist/plugin-sdk/slack.d.ts +4 -4
  236. package/dist/plugin-sdk/slack.js +9 -9
  237. package/dist/plugin-sdk/{sticker-cache-BBZMp-oQ.js → sticker-cache-CPNu_LEe.js} +3 -3
  238. package/dist/plugin-sdk/{tables-B-G7Bb0l.js → tables-Ch4js2qy.js} +1 -1
  239. package/dist/plugin-sdk/{targets-D8UaoWHd.js → targets-BGfRUJPE.js} +1 -1
  240. package/dist/plugin-sdk/{telegram-actions-BARLx9zc.js → telegram-actions-BO-giM1s.js} +29 -29
  241. package/dist/plugin-sdk/telegram.d.ts +4 -4
  242. package/dist/plugin-sdk/telegram.js +8 -8
  243. package/dist/plugin-sdk/{thread-bindings.lifecycle-DwYKCLLq.js → thread-bindings.lifecycle-_uQ2EF17.js} +3 -3
  244. package/dist/plugin-sdk/{thread-bindings.state-BNWfHA0f.js → thread-bindings.state-DUg0s_1X.js} +2 -2
  245. package/dist/plugin-sdk/{tmp-fased-dir-Be1wBhVz.d.ts → tmp-fased-dir-Bcp1DTSV.d.ts} +1 -1
  246. package/dist/plugin-sdk/{types-CJGVZX6j.d.ts → types-BTkcYtOt.d.ts} +2 -2
  247. package/dist/plugin-sdk/{types-CXLEOrJX.d.ts → types-CMoLtViq.d.ts} +1 -1
  248. package/dist/plugin-sdk/{wallet-status-Coekn_SJ.js → wallet-status-M6aK3abH.js} +3 -3
  249. package/dist/plugin-sdk/{web-BwolzGVF.js → web-QpstZjDX.js} +31 -31
  250. package/dist/plugin-sdk/{whatsapp-actions-CSvf6eev.js → whatsapp-actions-CID_tqAX.js} +13 -13
  251. package/dist/plugin-sdk/{whatsapp-heartbeat-Bw7OtTe6.js → whatsapp-heartbeat-Bk-aZVMa.js} +2 -2
  252. package/dist/plugin-sdk/whatsapp.d.ts +9 -9
  253. package/dist/plugin-sdk/whatsapp.js +12 -12
  254. package/dist/plugin-sdk/{wsl-By1Mc-oS.js → wsl-C_STtED7.js} +3 -3
  255. package/dist/plugin-sdk/{zod-schema.providers-core-TI6sL-6B.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +75 -75
  256. package/dist/plugins/bundled-dir.js +3 -3
  257. package/dist/plugins/discovery.js +11 -11
  258. package/dist/plugins/loader.js +13 -13
  259. package/dist/plugins/manifest-registry.js +2 -2
  260. package/dist/plugins/manifest.js +4 -4
  261. package/dist/plugins/path-safety.js +3 -3
  262. package/dist/plugins/status-cache.js +10 -10
  263. package/dist/plugins/update.js +3 -3
  264. package/dist/plugins/web-search-install-catalog.js +3 -3
  265. package/dist/providers/refresh.js +1 -1
  266. package/dist/providers/refreshed-model-capabilities.js +1935 -406
  267. package/dist/providers/registry.js +15 -12
  268. package/dist/secrets/apply.js +16 -16
  269. package/dist/secrets/audit.js +11 -11
  270. package/dist/secrets/shared.js +9 -9
  271. package/dist/security/scan-paths.js +2 -2
  272. package/dist/shared/config-eval.js +2 -2
  273. package/dist/shared/pid-alive.js +2 -2
  274. package/dist/tasks/standing-orders.js +5 -5
  275. package/dist/tasks/task-flow-registry.js +5 -5
  276. package/dist/tasks/task-registry.js +5 -5
  277. package/dist/tasks/workflow-definitions.js +6 -6
  278. package/dist/telegram/token.js +5 -5
  279. package/dist/utils.js +5 -5
  280. package/dist/wallet/local-socket-signer-broker.js +16 -16
  281. package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
  282. package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
  283. package/dist/wallet/wallet-approval-auth.js +5 -5
  284. package/dist/wallet/wallet-audit-log.js +5 -5
  285. package/dist/wallet/wallet-custody.js +21 -21
  286. package/dist/wallet/wallet-inbound-events.js +5 -5
  287. package/dist/wallet/wallet-observability.js +5 -5
  288. package/dist/wallet/wallet-policy.js +9 -9
  289. package/dist/wallet/wallet-provider-registry.js +7 -7
  290. package/dist/wallet/wallet-runtime-config.js +3 -3
  291. package/dist/wallet/wallet-secrets-store.js +22 -22
  292. package/dist/wallet/wallet-send-approvals.js +5 -5
  293. package/dist/wallet/wallet-settlement-links.js +5 -5
  294. package/dist/web/accounts.js +3 -3
  295. package/dist/web/auth-store.js +18 -18
  296. package/dist/web/session.js +4 -4
  297. package/dist/wizard/host-security-capability.js +2 -2
  298. package/dist/wizard/onboarding.host-security.js +7 -7
  299. package/dist/wizard/onboarding.js +7 -7
  300. package/dist/wizard/onboarding.wallet.js +44 -44
  301. package/extensions/acpx/package.json +1 -1
  302. package/extensions/bluebubbles/package.json +1 -1
  303. package/extensions/copilot-proxy/package.json +1 -1
  304. package/extensions/diagnostics-otel/package.json +1 -1
  305. package/extensions/fased-federation/package.json +1 -1
  306. package/extensions/google-gemini-cli-auth/package.json +1 -1
  307. package/extensions/imessage/package.json +1 -1
  308. package/extensions/irc/package.json +1 -1
  309. package/extensions/line/package.json +1 -1
  310. package/extensions/llm-task/package.json +1 -1
  311. package/extensions/lobster/package.json +1 -1
  312. package/extensions/matrix/CHANGELOG.md +18 -0
  313. package/extensions/matrix/package.json +1 -1
  314. package/extensions/mattermost/package.json +1 -1
  315. package/extensions/memory-core/package.json +2 -2
  316. package/extensions/memory-lancedb/package.json +1 -1
  317. package/extensions/minimax-portal-auth/package.json +1 -1
  318. package/extensions/msteams/CHANGELOG.md +18 -0
  319. package/extensions/msteams/package.json +1 -1
  320. package/extensions/nextcloud-talk/package.json +1 -1
  321. package/extensions/nostr/CHANGELOG.md +18 -0
  322. package/extensions/nostr/package.json +1 -1
  323. package/extensions/open-prose/package.json +1 -1
  324. package/extensions/sat-mining/package.json +1 -1
  325. package/extensions/signal/package.json +1 -1
  326. package/extensions/synology-chat/package.json +1 -1
  327. package/extensions/tlon/package.json +1 -1
  328. package/extensions/twitch/CHANGELOG.md +18 -0
  329. package/extensions/twitch/package.json +1 -1
  330. package/extensions/voice-call/CHANGELOG.md +18 -0
  331. package/extensions/voice-call/package.json +1 -1
  332. package/extensions/zalo/CHANGELOG.md +18 -0
  333. package/extensions/zalo/package.json +1 -1
  334. package/extensions/zalouser/CHANGELOG.md +18 -0
  335. package/extensions/zalouser/package.json +1 -1
  336. package/package.json +1 -1
  337. package/scripts/start-managed.sh +14 -0
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { $ as mergeSessionEntry, A as deliveryContextKey, An as GATEWAY_CLIENT_IDS, C as recordSessionMetaFromInbound, Cn as isGatewayMessageChannel, D as isCacheEnabled, Dn as normalizeMessageChannel, Dt as getChannelDock, E as updateSessionStoreEntry, En as listDeliverableMessageChannels, F as archiveSessionTranscripts, Fn as normalizeAnyChannelId, Ft as trimMessagingTarget, G as resolveSessionLockMaxHoldFromTimeout, Gn as getPluginCommandSpecs, H as hasInterSessionUserProvenance, Hn as resolveLeastPrivilegeOperatorScopesForMethod, I as capArrayByJsonBytes, In as normalizeChannelId$2, It as isWhatsAppGroupJid, J as resolveChannelResetConfig, Jn as createInternalHookEvent, K as resolveSessionKey$1, Kn as listPluginCommands, L as countToolResults, Ln as logMutatingAdminRpcAudit, Lt as normalizeWhatsAppTarget, M as normalizeDeliveryContext, Mn as GATEWAY_CLIENT_NAMES, N as normalizeSessionDeliveryFields, Nn as getChatChannelMeta, O as resolveCacheTtlMs$1, On as resolveGatewayMessageChannel, Ot as listChannelDocks, P as normalizeAccountId$1, Pn as listChatChannels, Pt as looksLikeHandleOrPhoneTarget, Q as DEFAULT_RESET_TRIGGERS, R as extractToolCallNames, Rn as consumeMutatingAdminRpcBudget, S as readSessionUpdatedAt, Sn as isDeliverableMessageChannel, T as updateSessionStore, Tn as isMarkdownCapableMessageChannel, U as normalizeInputProvenance, Un as clearPluginCommands, V as applyInputProvenanceToUserMessage, Vn as authorizeOperatorScopesForMethod, W as acquireSessionWriteLock, Wn as executePluginCommand, X as resolveSessionResetType, Xn as normalizePluginHttpPath, Y as resolveSessionResetPolicy, Yn as triggerInternalHook, Z as resolveThreadFlag, _ as appendAssistantMessageToSessionTranscript, _n as resolveChannelGroupRequireMention, a as createPluginRegistry, an as resolveTelegramToken, at as resolveMainSessionKey, b as resolveAndPersistSessionFile, bn as resolveGroupSessionKey, bt as parseSlackTarget, c as listAgentsForGateway, ct as listChannelPlugins, d as lookupContextTokens, dn as resolveDefaultSignalAccountId, en as createTelegramActionGate, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, fn as resolveSignalAccount, g as parseSessionThreadInfo, gn as resolveChannelGroupPolicy, h as extractDeliveryInfo, hn as resolveIMessageAccount, i as setActivePluginRegistry, in as resolveTelegramAccount, it as resolveExplicitAgentSessionKey, j as mergeDeliveryContext, jn as GATEWAY_CLIENT_MODES, k as deliveryContextFromSession, kn as resolveMessageChannel, l as loadCombinedSessionStoreForGateway, ln as listEnabledSignalAccounts, lt as normalizeChannelId$1, mn as resolveDefaultIMessageAccountId, n as getActivePluginRegistryKey, nn as listTelegramAccountIds, nt as canonicalizeMainSessionAlias, o as createRuntimeHelpers, on as buildChannelAccountBindings, ot as deriveSessionMetaPatch, p as ensureFasedAgentModelsJson, pn as listIMessageAccountIds, q as evaluateSessionFreshness, qn as matchPluginCommand, r as requireActivePluginRegistry, rt as resolveAgentMainSessionKey, s as classifySessionKey, st as getChannelPlugin, t as getActivePluginRegistry, tn as listEnabledTelegramAccounts, tt as setSessionRuntimeModel, u as resolveSessionModelRef, un as listSignalAccountIds, v as resolveMirroredTranscriptText, vn as resolveChannelGroupToolsPolicy, w as updateLastRoute, wn as isInternalMessageChannel, x as loadSessionStore, xn as INTERNAL_MESSAGE_CHANNEL, y as resolveSessionTranscriptFile, z as parseInlineDirectives$1, zn as ADMIN_SCOPE, zt as normalizeSignalMessagingTarget } from "./runtime-CeoGffDi.js";
2
+ import { $ as mergeSessionEntry, A as deliveryContextKey, An as GATEWAY_CLIENT_IDS, C as recordSessionMetaFromInbound, Cn as isGatewayMessageChannel, D as isCacheEnabled, Dn as normalizeMessageChannel, Dt as getChannelDock, E as updateSessionStoreEntry, En as listDeliverableMessageChannels, F as archiveSessionTranscripts, Fn as normalizeAnyChannelId, Ft as trimMessagingTarget, G as resolveSessionLockMaxHoldFromTimeout, Gn as getPluginCommandSpecs, H as hasInterSessionUserProvenance, Hn as resolveLeastPrivilegeOperatorScopesForMethod, I as capArrayByJsonBytes, In as normalizeChannelId$2, It as isWhatsAppGroupJid, J as resolveChannelResetConfig, Jn as createInternalHookEvent, K as resolveSessionKey$1, Kn as listPluginCommands, L as countToolResults, Ln as logMutatingAdminRpcAudit, Lt as normalizeWhatsAppTarget, M as normalizeDeliveryContext, Mn as GATEWAY_CLIENT_NAMES, N as normalizeSessionDeliveryFields, Nn as getChatChannelMeta, O as resolveCacheTtlMs$1, On as resolveGatewayMessageChannel, Ot as listChannelDocks, P as normalizeAccountId$1, Pn as listChatChannels, Pt as looksLikeHandleOrPhoneTarget, Q as DEFAULT_RESET_TRIGGERS, R as extractToolCallNames, Rn as consumeMutatingAdminRpcBudget, S as readSessionUpdatedAt, Sn as isDeliverableMessageChannel, T as updateSessionStore, Tn as isMarkdownCapableMessageChannel, U as normalizeInputProvenance, Un as clearPluginCommands, V as applyInputProvenanceToUserMessage, Vn as authorizeOperatorScopesForMethod, W as acquireSessionWriteLock, Wn as executePluginCommand, X as resolveSessionResetType, Xn as normalizePluginHttpPath, Y as resolveSessionResetPolicy, Yn as triggerInternalHook, Z as resolveThreadFlag, _ as appendAssistantMessageToSessionTranscript, _n as resolveChannelGroupRequireMention, a as createPluginRegistry, an as resolveTelegramToken, at as resolveMainSessionKey, b as resolveAndPersistSessionFile, bn as resolveGroupSessionKey, bt as parseSlackTarget, c as listAgentsForGateway, ct as listChannelPlugins, d as lookupContextTokens, dn as resolveDefaultSignalAccountId, en as createTelegramActionGate, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, fn as resolveSignalAccount, g as parseSessionThreadInfo, gn as resolveChannelGroupPolicy, h as extractDeliveryInfo, hn as resolveIMessageAccount, i as setActivePluginRegistry, in as resolveTelegramAccount, it as resolveExplicitAgentSessionKey, j as mergeDeliveryContext, jn as GATEWAY_CLIENT_MODES, k as deliveryContextFromSession, kn as resolveMessageChannel, l as loadCombinedSessionStoreForGateway, ln as listEnabledSignalAccounts, lt as normalizeChannelId$1, mn as resolveDefaultIMessageAccountId, n as getActivePluginRegistryKey, nn as listTelegramAccountIds, nt as canonicalizeMainSessionAlias, o as createRuntimeHelpers, on as buildChannelAccountBindings, ot as deriveSessionMetaPatch, p as ensureFasedAgentModelsJson, pn as listIMessageAccountIds, q as evaluateSessionFreshness, qn as matchPluginCommand, r as requireActivePluginRegistry, rt as resolveAgentMainSessionKey, s as classifySessionKey, st as getChannelPlugin, t as getActivePluginRegistry, tn as listEnabledTelegramAccounts, tt as setSessionRuntimeModel, u as resolveSessionModelRef, un as listSignalAccountIds, v as resolveMirroredTranscriptText, vn as resolveChannelGroupToolsPolicy, w as updateLastRoute, wn as isInternalMessageChannel, x as loadSessionStore, xn as INTERNAL_MESSAGE_CHANNEL, y as resolveSessionTranscriptFile, z as parseInlineDirectives$1, zn as ADMIN_SCOPE, zt as normalizeSignalMessagingTarget } from "./runtime-Dnzwux3G.js";
3
3
  import { a as clearActiveProgressLine, c as CHANNEL_IDS, f as normalizeChatChannelId, i as defaultRuntime, l as CHAT_CHANNEL_ORDER, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { S as normalizeLogLevel, d as isRich, f as theme, i as logVerbose, l as warn, o as setVerbose, p as getChildLogger, s as shouldLogVerbose, t as danger, u as colorize, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
5
5
  import { c as expandHomePrefix, i as resolveGatewayPort, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-BEmvSyOV.js";
6
6
  import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, b as sliceUtf16Safe, c as isRecord$3, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, t as CONFIG_DIR, v as shortenHomePath, y as sleep } from "./utils-CYk9EKoq.js";
7
- import { $ as resetConfigOverrides, $n as formatXHighModelHint, $t as resolveSubagentSpawnModelSelection, An as ensureAuthProfileStore, Ar as resolveEffectiveEnableState, At as isSafeExecutableValue, B as MODEL_APIS, Bn as loadPluginManifestRegistry, Bt as buildModelAliasIndex, C as resolveIMessageAttachmentRoots, Cn as markAuthProfileUsed, Cr as formatCliCommand, Ct as unwrapKnownDispatchWrapperInvocation, Dn as listProfilesForProvider, Dr as applyTestPluginDefaults, Dt as normalizeSafeBinProfileFixtures, En as dedupeProfileIds, Er as parseBooleanValue$1, Et as SAFE_BIN_PROFILES, Fn as withFileLock, G as isAvatarDataUrl, Gn as isPrivateNetworkBaseUrl, Gt as normalizeModelRef$1, H as parseDurationMs, Hn as isPathInside, It as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, J as isSupportedLocalAvatarExtension, Jn as coerceSecretRef, Jt as resolveConfiguredModelRef, K as isAvatarHttpUrl, Kn as normalizeSecretInput, Kt as normalizeProviderId, Mn as resolveFasedAgentAgentDir, On as listProvidersWithStoredCredentials, Ot as resolveSafeBinProfiles, Q as getConfigOverrides, Qn as formatThinkingLevels, Qt as resolveReasoningDefault, Rn as findNormalizedProviderValue$1, Rt as buildAllowedModelSet, S as mergeInboundPathRoots, Sn as markAuthProfileFailure, Sr as resolveOwnerDisplaySetting, St as isShellWrapperExecutable, T as normalizeScpRemoteHost, Tn as resolveApiKeyForProfile, Tr as isTruthyEnvValue, Tt as splitShellArgs, Un as safeStatSync, Ut as isCliProvider, V as getBlockedNetworkModeReason, Vn as discoverFasedAgentPlugins, Vt as findNormalizedProviderValue, W as AVATAR_MAX_BYTES, Wn as resolveAuthProfileDisplayLabel, Wt as modelKey, Xn as isOpenAISignInRuntimeModelSupported, Yn as splitTrailingAuthProfile, Yt as resolveDefaultModelForAgent, Z as validateJsonSchemaValue, Zn as lookupProviderManifestModelCapability, Zt as resolveModelRefFromString, _n as normalizeProviderCatalogRows, _r as resolveShellEnvFallbackTimeoutMs, _t as matchAllowlist, a as readConfigFileSnapshotForWrite, an as getApiKeyForModel, ar as DEFAULT_MODEL, at as unsetConfigValueAtPath, b as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, bn as getSoonestCooldownExpiry, br as isDangerousHostInheritedEnvVarName, bt as extractShellWrapperInlineCommand, c as validateConfigObjectWithPlugins, cn as resolveApiKeyForProvider, ct as isTrustedSafeBinPath, dn as CURRENT_MODEL_PROVIDER_CATALOG, dr as extractErrorCode, dt as validateSafeBinArgv, en as resolveThinkingDefault, et as setConfigOverride, fn as listCurrentModelCatalogRows, fr as formatErrorMessage, ft as analyzeShellCommand, gn as normalizeModelCatalogProviderId, gr as getShellPathFromLoginShell, gt as DEFAULT_SAFE_BINS, hn as normalizeModelCatalogModelId, hr as extractArchive, ht as splitCommandChain, i as readConfigFileSnapshot, ir as DEFAULT_CONTEXT_TOKENS, it as setConfigValueAtPath, jn as resolveAuthStorePathForDisplay, jr as resolveMemorySlotDecision, kn as markAuthProfileGood, kr as normalizePluginsConfig, kt as applyMergePatch, ln as resolveEnvApiKey, lr as getPackageManifestMetadata, lt as listWritableExplicitTrustedSafeBinDirs, mn as mergeModelCatalogRowsByAuthority, mt as isWindowsPlatform, n as loadConfig, nr as resolveModelThinkingCapability, nt as getConfigValueAtPath, o as resolveConfigSnapshotHash, on as getCustomProviderApiKey, or as DEFAULT_PROVIDER, ot as ensurePluginAllowlisted, pn as buildModelCatalogMergeKey, pt as buildEnforcedShellCommand, q as isPathWithinRoot, r as parseConfigJson5, rr as supportsXHighThinking, rt as parseConfigPath, s as writeConfigFile, sn as requireApiKey, sr as VERSION, st as getTrustedSafeBinDirs, t as createConfigIO, tn as normalizeGoogleModelId, tr as normalizeThinkLevel, tt as unsetConfigOverride, un as resolveModelAuthMode, ut as normalizeTrustedSafeBinDirs, vr as isDangerousHostEnvOverrideVarName, vt as resolveAllowlistCandidatePath, w as resolveIMessageRemoteAttachmentRoots, wn as resolveProfilesUnavailableReason, wr as resolveCliName, wt as unwrapKnownShellMultiplexerInvocation, x as isInboundPathAllowed, xn as isProfileInCooldown, xr as sanitizeHostExecEnv, xt as isDispatchWrapperExecutable, yn as resolveAuthProfileOrder, yt as resolveCommandResolutionFromArgv, zn as normalizeProviderId$1, zt as buildConfiguredAllowlistKeys } from "./config-ZMbTT0kM.js";
7
+ import { $ as resetConfigOverrides, $n as lookupProviderManifestModelCapability, $t as resolveSubagentSpawnModelSelection, An as ensureAuthProfileStore, At as isSafeExecutableValue, B as MODEL_APIS, Bn as loadPluginManifestRegistry, Bt as buildModelAliasIndex, C as resolveIMessageAttachmentRoots, Cn as markAuthProfileUsed, Cr as sanitizeHostExecEnv, Ct as unwrapKnownDispatchWrapperInvocation, Dn as listProfilesForProvider, Dr as isTruthyEnvValue, Dt as normalizeSafeBinProfileFixtures, En as dedupeProfileIds, Er as resolveCliName, Et as SAFE_BIN_PROFILES, Fn as withFileLock, G as isAvatarDataUrl, Gn as isPrivateNetworkBaseUrl, Gt as normalizeModelRef$1, H as parseDurationMs, Hn as isPathInside, It as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, J as isSupportedLocalAvatarExtension, Jn as coerceSecretRef, Jt as resolveConfiguredModelRef, K as isAvatarHttpUrl, Kn as normalizeSecretInput, Kt as normalizeProviderId, Mn as resolveFasedAgentAgentDir, Mr as resolveEffectiveEnableState, Nr as resolveMemorySlotDecision, On as listProvidersWithStoredCredentials, Or as parseBooleanValue$1, Ot as resolveSafeBinProfiles, Q as getConfigOverrides, Qn as listProviderBrandManifests, Qt as resolveReasoningDefault, Rn as findNormalizedProviderValue$1, Rt as buildAllowedModelSet, S as mergeInboundPathRoots, Sn as markAuthProfileFailure, Sr as isDangerousHostInheritedEnvVarName, St as isShellWrapperExecutable, T as normalizeScpRemoteHost, Tn as resolveApiKeyForProfile, Tr as formatCliCommand, Tt as splitShellArgs, Un as safeStatSync, Ut as isCliProvider, V as getBlockedNetworkModeReason, Vn as discoverFasedAgentPlugins, Vt as findNormalizedProviderValue, W as AVATAR_MAX_BYTES, Wn as resolveAuthProfileDisplayLabel, Wt as modelKey, Xn as isOpenAISignInRuntimeModelSupported, Yn as splitTrailingAuthProfile, Yt as resolveDefaultModelForAgent, Z as validateJsonSchemaValue, Zn as isStandardProviderCatalogEntry, Zt as resolveModelRefFromString, _n as normalizeProviderCatalogRows, _r as extractArchive, _t as matchAllowlist, a as readConfigFileSnapshotForWrite, an as getApiKeyForModel, ar as supportsXHighThinking, at as unsetConfigValueAtPath, b as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, bn as getSoonestCooldownExpiry, br as isDangerousHostEnvOverrideVarName, bt as extractShellWrapperInlineCommand, c as validateConfigObjectWithPlugins, cn as resolveApiKeyForProvider, cr as DEFAULT_PROVIDER, ct as isTrustedSafeBinPath, dn as CURRENT_MODEL_PROVIDER_CATALOG, dr as getPackageManifestMetadata, dt as validateSafeBinArgv, en as resolveThinkingDefault, er as formatThinkingLevels, et as setConfigOverride, fn as listCurrentModelCatalogRows, ft as analyzeShellCommand, gn as normalizeModelCatalogProviderId, gt as DEFAULT_SAFE_BINS, hn as normalizeModelCatalogModelId, ht as splitCommandChain, i as readConfigFileSnapshot, ir as resolveModelThinkingCapability, it as setConfigValueAtPath, jn as resolveAuthStorePathForDisplay, jr as normalizePluginsConfig, kn as markAuthProfileGood, kr as applyTestPluginDefaults, kt as applyMergePatch, ln as resolveEnvApiKey, lr as VERSION, lt as listWritableExplicitTrustedSafeBinDirs, mn as mergeModelCatalogRowsByAuthority, mr as formatErrorMessage, mt as isWindowsPlatform, n as loadConfig, nt as getConfigValueAtPath, o as resolveConfigSnapshotHash, on as getCustomProviderApiKey, or as DEFAULT_CONTEXT_TOKENS, ot as ensurePluginAllowlisted, pn as buildModelCatalogMergeKey, pr as extractErrorCode, pt as buildEnforcedShellCommand, q as isPathWithinRoot, r as parseConfigJson5, rr as normalizeThinkLevel, rt as parseConfigPath, s as writeConfigFile, sn as requireApiKey, sr as DEFAULT_MODEL, st as getTrustedSafeBinDirs, t as createConfigIO, tn as normalizeGoogleModelId, tr as formatXHighModelHint, tt as unsetConfigOverride, un as resolveModelAuthMode, ut as normalizeTrustedSafeBinDirs, vr as getShellPathFromLoginShell, vt as resolveAllowlistCandidatePath, w as resolveIMessageRemoteAttachmentRoots, wn as resolveProfilesUnavailableReason, wr as resolveOwnerDisplaySetting, wt as unwrapKnownShellMultiplexerInvocation, x as isInboundPathAllowed, xn as isProfileInCooldown, xt as isDispatchWrapperExecutable, yn as resolveAuthProfileOrder, yr as resolveShellEnvFallbackTimeoutMs, yt as resolveCommandResolutionFromArgv, zn as normalizeProviderId$1, zt as buildConfiguredAllowlistKeys } from "./config-442EDe7Z.js";
8
8
  import { A as openBoundaryFileSync, C as ensureAgentWorkspace, D as resolveFasedAgentPackageRootSync, E as resolveFasedAgentPackageRoot, G as normalizeHyphenSlug, H as resolveAgentModelPrimaryValue, K as normalizeStringEntries, P as resolvePathViaExistingAncestorSync, S as DEFAULT_USER_FILENAME, T as loadWorkspaceBootstrapFiles, U as toAgentModelListLike, V as resolveAgentModelFallbackValues, W as normalizeAtHashSlug, _ as DEFAULT_BOOTSTRAP_FILENAME, a as resolveAgentDir, b as DEFAULT_SOUL_FILENAME, c as resolveAgentSkillsFilter, d as resolveEffectiveModelFallbacks, f as resolveRunModelFallbacksOverride, g as DEFAULT_AGENT_WORKSPACE_DIR, h as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, k as openBoundaryFile, l as resolveAgentWorkspaceDir, m as resolveSessionAgentIds, n as listAgentEntries, p as resolveSessionAgentId, q as normalizeStringEntriesLower, r as listAgentIds, s as resolveAgentModelFallbacksOverride, t as hasConfiguredModelFallbacks, u as resolveDefaultAgentId, v as DEFAULT_HEARTBEAT_FILENAME, w as filterBootstrapFilesForSession, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_IDENTITY_FILENAME } from "./agent-scope-BbgPlhtw.js";
9
9
  import { t as normalizeChatType } from "./chat-type-C0osVllE.js";
10
10
  import { n as resolveAccountEntry } from "./account-helpers-Bdfws46K.js";
@@ -13,7 +13,7 @@ import { a as resolveDiscordAccount, r as listEnabledDiscordAccounts, t as creat
13
13
  import { i as resolveSlackAccount } from "./accounts-CuqIKU8X.js";
14
14
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BbFvCoKk.js";
15
15
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-DQ8j4Fm3.js";
16
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, t as hasAnyWhatsAppAuth } from "./accounts-B5fY9hZy.js";
16
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, t as hasAnyWhatsAppAuth } from "./accounts-BZrfqJmO.js";
17
17
  import { S as resolveChannelEntryMatchWithFallback, b as normalizeChannelSlug, y as buildChannelKeyCandidates } from "./allow-list-BYeKk0Sy.js";
18
18
  import { n as redactSensitiveText, r as redactToolDetail, t as getDefaultRedactPatterns } from "./redact-Bm8vu_ju.js";
19
19
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CUK__1s1.js";
@@ -21,17 +21,17 @@ import { t as runTasksWithConcurrency } from "./run-with-concurrency-BsDJWzgM.js
21
21
  import { n as retryAsync } from "./retry-DstNBhDW.js";
22
22
  import { a as resolveSessionTranscriptPath, c as resolveSessionTranscriptsDirForAgent, i as resolveSessionFilePathOptions, l as resolveStorePath, n as resolveDefaultSessionStorePath, r as resolveSessionFilePath } from "./paths-CTZ2RS_E.js";
23
23
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BJQWUdmU.js";
24
- import { l as resolveChannelDefaultAccountId } from "./pairing-message-DpYT614h.js";
24
+ import { l as resolveChannelDefaultAccountId } from "./pairing-message-C29ixrvn.js";
25
25
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-l_6RdoMw.js";
26
26
  import { t as normalizeRequestInitHeadersForFetch } from "./fetch-headers-my7hgV2G.js";
27
27
  import { a as isBlockedHostnameOrIp, t as SsrFBlockedError } from "./ssrf-BZG8Ztod.js";
28
28
  import { t as fetchWithSsrFGuard } from "./fetch-guard-BuYrl6q2.js";
29
29
  import { n as redactSensitiveUrlLikeString, t as redactSensitiveUrl } from "./redact-sensitive-url-dPvnFFsK.js";
30
- import { a as formatIMessageChatTarget, c as normalizeIMessageHandle, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, l as parseIMessageTarget, o as formatIMessageTargetForLog, r as createIMessageRpcClient, s as isAllowedIMessageSender, t as sendMessageIMessage } from "./send-DCxAv7bV.js";
31
- import { A as resolveDefaultGroupPolicy, D as formatDocsLink, M as warnMissingProviderGroupPolicyFallbackOnce, b as setOnboardingChannelEnabled, c as parseOnboardingEntriesAllowingWildcard, f as promptParsedAllowFromForScopedChannel, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, v as setChannelDmPolicyWithAllowFrom } from "./helpers-vfzH9tBn.js";
32
- import { A as resolveCronStorePath, D as formatLocationText, F as isSenderIdAllowed, I as mergeDmAllowFromSources, L as resolveGroupAllowFromSources, N as isVoiceCompatibleAudio, O as toLocationContext, P as firstDefined, c as buildTelegramGroupPeerId, j as saveCronStore, k as loadCronStore } from "./wsl-By1Mc-oS.js";
33
- import { a as upsertChannelPairingRequest, c as getPairingAdapter, i as removeChannelAllowFromStoreEntry, l as listPairingChannels, n as readChannelAllowFromStore, o as readJsonFileWithFallback, s as writeJsonFileAtomically, t as addChannelAllowFromStoreEntry } from "./pairing-store-CprpGco9.js";
34
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, o as chunkTextWithMode, p as chunkTextByBreakResolver, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-CZuCyS7k.js";
30
+ import { a as formatIMessageChatTarget, c as normalizeIMessageHandle, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, l as parseIMessageTarget, o as formatIMessageTargetForLog, r as createIMessageRpcClient, s as isAllowedIMessageSender, t as sendMessageIMessage } from "./send-D5rgCP1r.js";
31
+ import { A as resolveDefaultGroupPolicy, D as formatDocsLink, M as warnMissingProviderGroupPolicyFallbackOnce, b as setOnboardingChannelEnabled, c as parseOnboardingEntriesAllowingWildcard, f as promptParsedAllowFromForScopedChannel, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, v as setChannelDmPolicyWithAllowFrom } from "./helpers-B994qqVW.js";
32
+ import { A as resolveCronStorePath, D as formatLocationText, F as isSenderIdAllowed, I as mergeDmAllowFromSources, L as resolveGroupAllowFromSources, N as isVoiceCompatibleAudio, O as toLocationContext, P as firstDefined, c as buildTelegramGroupPeerId, j as saveCronStore, k as loadCronStore } from "./wsl-C_STtED7.js";
33
+ import { a as upsertChannelPairingRequest, c as getPairingAdapter, i as removeChannelAllowFromStoreEntry, l as listPairingChannels, n as readChannelAllowFromStore, o as readJsonFileWithFallback, s as writeJsonFileAtomically, t as addChannelAllowFromStoreEntry } from "./pairing-store-1kcsOWRs.js";
34
+ import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, o as chunkTextWithMode, p as chunkTextByBreakResolver, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BREC9ijl.js";
35
35
  import { c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-Bqzm6DC1.js";
36
36
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BvtlOzVP.js";
37
37
  import { n as safeEqualSecret, o as createAsyncLock, s as readJsonFile$1 } from "./pairing-token-N_6Jbt1L.js";
@@ -40,39 +40,39 @@ import { a as logMessageProcessed, i as logLaneEnqueue, m as isDiagnosticsEnable
40
40
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-HO94DMou.js";
41
41
  import { t as redactIdentifier } from "./redact-identifier-Q3tkvxhm.js";
42
42
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-BDvvnlph.js";
43
- import { t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-BFpqaCzp.js";
44
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-BnOmQA5d.js";
45
- import { $ as fetchSolanaRpc, A as enforceWalletDailyCap, At as resolveModel$3, B as resolveWalletUserRole, C as resolveFederationHandle, Ct as SESSION_LABEL_MAX_LENGTH, E as resolveScopedRpcUrlForWallet, H as assertValidSolanaAddress, I as upsertWalletPolicyConfig, J as resolveWalletRuntimeConfig, K as ensureWalletStateDir, L as validateWalletTxPolicy, N as resolveWalletRecurringTransferPolicy, P as resolveWalletRoleForId, Q as fetchSolanaNativeBalanceViaRpc, R as readWalletProviderRegistry, S as resolveFederationBaseUrl, St as errorShape, T as createWalletProviderAdapter, X as fetchSolanaFungibleMetadataViaRpc, Y as SOLANA_ASSET_CONSTANTS, Z as fetchSolanaMintInfoViaRpc, _ as validateSolanaSwapIntentPolicy, a as listTaskRecords, bt as validatePushTestParams, c as buildWalletProviderCapabilityMatrix, ct as callGateway, d as appendWalletAuditEntry, dt as randomIdempotencyKey, et as fetchSolanaTokenBalanceViaRpc, f as SOLANA_NATIVE_MINT, ft as resolveGatewayCredentialsFromConfig, g as validateSolanaSwapInputBalance, gt as publicKeyRawBase64UrlFromPem, h as inspectAndValidateSolanaSwapOrder, ht as loadOrCreateDeviceIdentity, i as createTaskRecord, it as findGitRoot, j as isWalletToolAllowed, jt as buildModelAliasLines, k as applyWalletPolicyConfig, l as providerSupportsChainOperation, lt as callGatewayLeastPrivilege, m as fetchJupiterSwapOrder, n as createOrExecuteWalletSend, nt as buildAttestation, o as markTaskTerminal, p as executeSolanaSwapApprovalPayload, pt as trimToUndefined$2, r as createWalletSendApprovalRequest, rt as resolveCommitHash, s as updateTaskRecord, tt as fetchSolanaWalletAssetsViaRpc, u as simulateWalletPolicy, ut as callGatewayScoped, v as inspectSerializedSolanaSwapTransaction, x as resolveAgentPublicOrigin, xt as ErrorCodes, yt as formatValidationErrors, z as resolveWalletSelection } from "./wallet-status-Coekn_SJ.js";
46
- import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-BQ6fFRBA.js";
47
- import { A as fetchJson$1, B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, F as stopChromeExtensionRelayServer, H as DEFAULT_FASED_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, O as withBrowserNavigationPolicy, P as ensureChromeExtensionRelayServer, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as InvalidBrowserNavigationUrlError, U as DEFAULT_FASED_BROWSER_PROFILE_NAME, V as DEFAULT_FASED_BROWSER_COLOR, _ as stopFasedAgentChrome, a as DEFAULT_TRACE_DIR, b as captureScreenshot, d as normalizeBrowserFormField, g as resolveFasedAgentUserDataDir, h as launchFasedAgentChrome, i as DEFAULT_DOWNLOAD_DIR, j as fetchOk, k as appendCdpPath, l as resolveWritablePathWithinRoot, m as isChromeReachable, o as DEFAULT_UPLOAD_DIR, p as isChromeCdpReady, r as loadReadability, s as resolveExistingPathsWithinRoot, t as loadLinkedom, v as resolveBrowserExecutableForPlatform, w as snapshotAria, x as createTargetViaCdp, y as resolveLsofCommandSync, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./runtime-dependency-Cvbs0GXf.js";
43
+ import { t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-D0BdXz1C.js";
44
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-Doq8nZQw.js";
45
+ import { $ as fetchSolanaRpc, A as enforceWalletDailyCap, At as resolveModel$3, B as resolveWalletUserRole, C as resolveFederationHandle, Ct as SESSION_LABEL_MAX_LENGTH, E as resolveScopedRpcUrlForWallet, H as assertValidSolanaAddress, I as upsertWalletPolicyConfig, J as resolveWalletRuntimeConfig, K as ensureWalletStateDir, L as validateWalletTxPolicy, N as resolveWalletRecurringTransferPolicy, P as resolveWalletRoleForId, Q as fetchSolanaNativeBalanceViaRpc, R as readWalletProviderRegistry, S as resolveFederationBaseUrl, St as errorShape, T as createWalletProviderAdapter, X as fetchSolanaFungibleMetadataViaRpc, Y as SOLANA_ASSET_CONSTANTS, Z as fetchSolanaMintInfoViaRpc, _ as validateSolanaSwapIntentPolicy, a as listTaskRecords, bt as validatePushTestParams, c as buildWalletProviderCapabilityMatrix, ct as callGateway, d as appendWalletAuditEntry, dt as randomIdempotencyKey, et as fetchSolanaTokenBalanceViaRpc, f as SOLANA_NATIVE_MINT, ft as resolveGatewayCredentialsFromConfig, g as validateSolanaSwapInputBalance, gt as publicKeyRawBase64UrlFromPem, h as inspectAndValidateSolanaSwapOrder, ht as loadOrCreateDeviceIdentity, i as createTaskRecord, it as findGitRoot, j as isWalletToolAllowed, jt as buildModelAliasLines, k as applyWalletPolicyConfig, l as providerSupportsChainOperation, lt as callGatewayLeastPrivilege, m as fetchJupiterSwapOrder, n as createOrExecuteWalletSend, nt as buildAttestation, o as markTaskTerminal, p as executeSolanaSwapApprovalPayload, pt as trimToUndefined$2, r as createWalletSendApprovalRequest, rt as resolveCommitHash, s as updateTaskRecord, tt as fetchSolanaWalletAssetsViaRpc, u as simulateWalletPolicy, ut as callGatewayScoped, v as inspectSerializedSolanaSwapTransaction, x as resolveAgentPublicOrigin, xt as ErrorCodes, yt as formatValidationErrors, z as resolveWalletSelection } from "./wallet-status-M6aK3abH.js";
46
+ import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-l-xqaEd0.js";
47
+ import { A as fetchJson$1, B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, F as stopChromeExtensionRelayServer, H as DEFAULT_FASED_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, O as withBrowserNavigationPolicy, P as ensureChromeExtensionRelayServer, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as InvalidBrowserNavigationUrlError, U as DEFAULT_FASED_BROWSER_PROFILE_NAME, V as DEFAULT_FASED_BROWSER_COLOR, _ as stopFasedAgentChrome, a as DEFAULT_TRACE_DIR, b as captureScreenshot, d as normalizeBrowserFormField, g as resolveFasedAgentUserDataDir, h as launchFasedAgentChrome, i as DEFAULT_DOWNLOAD_DIR, j as fetchOk, k as appendCdpPath, l as resolveWritablePathWithinRoot, m as isChromeReachable, o as DEFAULT_UPLOAD_DIR, p as isChromeCdpReady, r as loadReadability, s as resolveExistingPathsWithinRoot, t as loadLinkedom, v as resolveBrowserExecutableForPlatform, w as snapshotAria, x as createTargetViaCdp, y as resolveLsofCommandSync, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./runtime-dependency-BDDpVKBO.js";
48
48
  import { a as isTrustedProxyAddress, n as isLoopbackAddress, o as resolveClientIp, r as isLoopbackHost, s as resolveForwardedClientIp } from "./ws-CocpWGhl.js";
49
49
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Dg3gU-MA.js";
50
50
  import { a as writeFileWithinRoot, n as openFileWithinRoot, r as readFileWithinRoot, t as SafeOpenError } from "./fs-safe-BG-VzVkL.js";
51
- import { n as resolveMarkdownTableMode } from "./markdown-tables-B84dPWNG.js";
52
- import { a as fetchRemoteMedia, d as getDefaultMediaLocalRoots, i as MediaFetchError, n as loadWebMedia, o as readResponseWithLimit, t as getDefaultLocalRoots, u as getAgentScopedMediaLocalRoots } from "./media-4daDcNER.js";
53
- import { a as resolveSignalRpcContext, c as streamSignalEvents, l as markdownToSignalTextChunks, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-B_-UtG9F.js";
54
- import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-DvcxPP7b.js";
51
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DeZztrY6.js";
52
+ import { a as fetchRemoteMedia, d as getDefaultMediaLocalRoots, i as MediaFetchError, n as loadWebMedia, o as readResponseWithLimit, t as getDefaultLocalRoots, u as getAgentScopedMediaLocalRoots } from "./media-CgUAEfhs.js";
53
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, l as markdownToSignalTextChunks, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-B4XLsTL0.js";
54
+ import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-oxhGO33g.js";
55
55
  import { t as resolveFetch } from "./fetch-Cu-ahkie.js";
56
- import { B as isSessionBindingError, C as resolveThreadBindingMaxAgeMs$1, F as resolveThreadBindingIntroText, G as resolveSessionStorePathForAcp, I as resolveThreadBindingThreadName, K as upsertAcpSessionMeta, L as SYSTEM_MARK, N as formatThreadBindingDurationLabel, R as prefixSystemMessage, S as resolveThreadBindingMaxAgeExpiresAt, U as listAcpSessionEntries, W as readAcpSessionEntry, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingManager, x as resolveThreadBindingInactivityExpiresAt, z as getSessionBindingService } from "./thread-bindings.state-BNWfHA0f.js";
56
+ import { B as isSessionBindingError, C as resolveThreadBindingMaxAgeMs$1, F as resolveThreadBindingIntroText, G as resolveSessionStorePathForAcp, I as resolveThreadBindingThreadName, K as upsertAcpSessionMeta, L as SYSTEM_MARK, N as formatThreadBindingDurationLabel, R as prefixSystemMessage, S as resolveThreadBindingMaxAgeExpiresAt, U as listAcpSessionEntries, W as readAcpSessionEntry, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingManager, x as resolveThreadBindingInactivityExpiresAt, z as getSessionBindingService } from "./thread-bindings.state-DUg0s_1X.js";
57
57
  import { t as resolveMemorySearchConfig } from "./memory-search-C3C0bD2H.js";
58
- import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-CHYhpKHn.js";
58
+ import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-CeJNf2bH.js";
59
59
  import { c as normalizeExtraMemoryPaths, s as listMemoryFiles } from "./internal-qo16nNU1.js";
60
60
  import { i as resolveQmdScopeDenial } from "./qmd-scope-D1sSG_Rx.js";
61
- import { _ as estimateBase64DecodedBytes, a as jsonResult, d as readStringParam, f as sanitizeContentBlocksImages, g as canonicalizeBase64, h as resolveImageSanitizationLimits, i as imageResultFromFile, l as readStringArrayParam, m as sanitizeToolResultImages, n as createActionGate, p as sanitizeImageBlocks, r as imageResult, s as readNumberParam, u as readStringOrNumberParam } from "./common-LMHJe8KW.js";
62
- import { S as isCommandFlagEnabled, _ as normalizeElevatedLevel, a as listChatCommands, b as normalizeVerboseLevel, g as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as resolveNativeCommandName, o as listChatCommandsForConfig, u as normalizeCommandBody, v as normalizeReasoningLevel, w as isRestartEnabled, x as resolveResponseUsageMode, y as normalizeUsageDisplay } from "./commands-registry-COIbIjGO.js";
63
- import { c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, h as sanitizeEnvVars, i as resolveSkillCommandInvocation, l as buildWorkspaceSkillSnapshot, m as applySkillEnvOverridesFromSnapshot, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as applySkillEnvOverrides, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as loadWorkspaceSkillEntries } from "./skill-commands-BQL6TBIv.js";
61
+ import { _ as estimateBase64DecodedBytes, a as jsonResult, d as readStringParam, f as sanitizeContentBlocksImages, g as canonicalizeBase64, h as resolveImageSanitizationLimits, i as imageResultFromFile, l as readStringArrayParam, m as sanitizeToolResultImages, n as createActionGate, p as sanitizeImageBlocks, r as imageResult, s as readNumberParam, u as readStringOrNumberParam } from "./common-BlqMqEqn.js";
62
+ import { S as isCommandFlagEnabled, _ as normalizeElevatedLevel, a as listChatCommands, b as normalizeVerboseLevel, g as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as resolveNativeCommandName, o as listChatCommandsForConfig, u as normalizeCommandBody, v as normalizeReasoningLevel, w as isRestartEnabled, x as resolveResponseUsageMode, y as normalizeUsageDisplay } from "./commands-registry-D3-bFLsz.js";
63
+ import { c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, h as sanitizeEnvVars, i as resolveSkillCommandInvocation, l as buildWorkspaceSkillSnapshot, m as applySkillEnvOverridesFromSnapshot, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as applySkillEnvOverrides, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as loadWorkspaceSkillEntries } from "./skill-commands-Be8s4TGQ.js";
64
64
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BFnIdcqI.js";
65
- import { t as parseDiscordTarget } from "./targets-D8UaoWHd.js";
65
+ import { t as parseDiscordTarget } from "./targets-BGfRUJPE.js";
66
66
  import { a as resolveSandboxedMediaSource, i as resolveSandboxPath, n as assertSandboxPath, r as resolveSandboxInputPath, t as assertMediaNotDataUrl } from "./sandbox-paths-lj7_EVuA.js";
67
67
  import { n as normalizePollInput } from "./polls-DQrR-qT3.js";
68
68
  import { n as missingTargetError, r as unknownTargetError, t as ambiguousTargetError } from "./target-errors-C_SVKoEv.js";
69
69
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-NAePk3eL.js";
70
70
  import { n as resolveUserTimeFormat, r as resolveUserTimezone, t as formatUserTime } from "./date-time-CE3Uer3C.js";
71
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CZFzHOIe.js";
72
- import { t as convertMarkdownTables } from "./tables-B-G7Bb0l.js";
71
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-UO6XLYH3.js";
72
+ import { t as convertMarkdownTables } from "./tables-Ch4js2qy.js";
73
73
  import { n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-Cg1xRoc2.js";
74
74
  import { t as withTimeout$3 } from "./with-timeout-BYrRAYFV.js";
75
- import { t as getActiveWebListener } from "./active-listener-BH7rDR47.js";
75
+ import { t as getActiveWebListener } from "./active-listener-D8NVRD8J.js";
76
76
  import { n as asString$4, r as collectIssuesForEnabledAccounts } from "./shared-clhhbWN3.js";
77
77
  import { createRequire } from "node:module";
78
78
  import * as path$1 from "node:path";
@@ -9642,27 +9642,27 @@ function createOutboundSendDepsFromCliSource(deps) {
9642
9642
  function createDefaultDeps() {
9643
9643
  return {
9644
9644
  sendMessageWhatsApp: async (...args) => {
9645
- const { sendMessageWhatsApp } = await import("./web-BwolzGVF.js");
9645
+ const { sendMessageWhatsApp } = await import("./web-QpstZjDX.js");
9646
9646
  return await sendMessageWhatsApp(...args);
9647
9647
  },
9648
9648
  sendMessageTelegram: async (...args) => {
9649
- const { sendMessageTelegram } = await import("./send-DVpCBUuL.js").then((n) => n.c);
9649
+ const { sendMessageTelegram } = await import("./send-DcsYRH2f.js").then((n) => n.c);
9650
9650
  return await sendMessageTelegram(...args);
9651
9651
  },
9652
9652
  sendMessageDiscord: async (...args) => {
9653
- const { sendMessageDiscord } = await import("./send-C0Q1u7N1.js").then((n) => n.t);
9653
+ const { sendMessageDiscord } = await import("./send-bcKv8F5E.js").then((n) => n.t);
9654
9654
  return await sendMessageDiscord(...args);
9655
9655
  },
9656
9656
  sendMessageSlack: async (...args) => {
9657
- const { sendMessageSlack } = await import("./send-CGE7OgsA.js").then((n) => n.n);
9657
+ const { sendMessageSlack } = await import("./send-DGEgo_6f.js").then((n) => n.n);
9658
9658
  return await sendMessageSlack(...args);
9659
9659
  },
9660
9660
  sendMessageSignal: async (...args) => {
9661
- const { sendMessageSignal } = await import("./send-B_-UtG9F.js").then((n) => n.i);
9661
+ const { sendMessageSignal } = await import("./send-B4XLsTL0.js").then((n) => n.i);
9662
9662
  return await sendMessageSignal(...args);
9663
9663
  },
9664
9664
  sendMessageIMessage: async (...args) => {
9665
- const { sendMessageIMessage } = await import("./send-DCxAv7bV.js").then((n) => n.n);
9665
+ const { sendMessageIMessage } = await import("./send-D5rgCP1r.js").then((n) => n.n);
9666
9666
  return await sendMessageIMessage(...args);
9667
9667
  }
9668
9668
  };
@@ -11728,7 +11728,7 @@ async function getMemorySearchManager(params) {
11728
11728
  const wrapper = new FallbackMemoryManager({
11729
11729
  primary,
11730
11730
  fallbackFactory: async () => {
11731
- const { MemoryIndexManager } = await import("./manager-CHYhpKHn.js").then((n) => n.t);
11731
+ const { MemoryIndexManager } = await import("./manager-CeJNf2bH.js").then((n) => n.t);
11732
11732
  return await MemoryIndexManager.get(params);
11733
11733
  }
11734
11734
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11741,7 +11741,7 @@ async function getMemorySearchManager(params) {
11741
11741
  }
11742
11742
  }
11743
11743
  try {
11744
- const { MemoryIndexManager } = await import("./manager-CHYhpKHn.js").then((n) => n.t);
11744
+ const { MemoryIndexManager } = await import("./manager-CeJNf2bH.js").then((n) => n.t);
11745
11745
  return { manager: await MemoryIndexManager.get(params) };
11746
11746
  } catch (err) {
11747
11747
  const message = err instanceof Error ? err.message : String(err);
@@ -43029,7 +43029,7 @@ function isModuleNotFoundError(err) {
43029
43029
  }
43030
43030
  async function loadPwAiModule(mode) {
43031
43031
  try {
43032
- return await import("./pw-ai-xgpIbHOr.js");
43032
+ return await import("./pw-ai-9qEBW5-k.js");
43033
43033
  } catch (err) {
43034
43034
  if (mode === "soft") return null;
43035
43035
  if (isModuleNotFoundError(err)) return null;
@@ -43423,11 +43423,11 @@ function createProfileContext(opts, profile) {
43423
43423
  const userDataDir = resolveFasedAgentUserDataDir(profile.name);
43424
43424
  const profileState = getProfileState();
43425
43425
  if (await isHttpReachable(300) && !profileState.running) try {
43426
- await (await import("./pw-ai-xgpIbHOr.js")).closePlaywrightBrowserConnection();
43426
+ await (await import("./pw-ai-9qEBW5-k.js")).closePlaywrightBrowserConnection();
43427
43427
  } catch {}
43428
43428
  if (profileState.running) await stopRunningBrowser();
43429
43429
  try {
43430
- await (await import("./pw-ai-xgpIbHOr.js")).closePlaywrightBrowserConnection();
43430
+ await (await import("./pw-ai-9qEBW5-k.js")).closePlaywrightBrowserConnection();
43431
43431
  } catch {}
43432
43432
  if (!fs.existsSync(userDataDir)) return {
43433
43433
  moved: false,
@@ -63618,7 +63618,7 @@ const handleSessionCommand = async (params, allowTextCommands) => {
63618
63618
  reply: { text: resolveSessionCommandUsage() }
63619
63619
  };
63620
63620
  }
63621
- const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-DwYKCLLq.js").then((n) => n.i);
63621
+ const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-_uQ2EF17.js").then((n) => n.i);
63622
63622
  const updatedBindings = action === SESSION_ACTION_IDLE ? setThreadBindingIdleTimeoutBySessionKey({
63623
63623
  targetSessionKey: binding.targetSessionKey,
63624
63624
  accountId,
@@ -64844,7 +64844,7 @@ async function createModelSelectionState(params) {
64844
64844
  }
64845
64845
  }
64846
64846
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
64847
- const { ensureAuthProfileStore } = await import("./config-ZMbTT0kM.js").then((n) => n.vn);
64847
+ const { ensureAuthProfileStore } = await import("./config-442EDe7Z.js").then((n) => n.vn);
64848
64848
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
64849
64849
  const providerKey = normalizeProviderId(provider);
64850
64850
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -73787,7 +73787,7 @@ const discordMessageActions = {
73787
73787
  return null;
73788
73788
  },
73789
73789
  handleAction: async ({ action, params, cfg, accountId, requesterSenderId, toolContext, mediaLocalRoots }) => {
73790
- const { handleDiscordMessageAction } = await import("./handle-action-C8ZZfORB.js");
73790
+ const { handleDiscordMessageAction } = await import("./handle-action-pNaP87Dr.js");
73791
73791
  return await handleDiscordMessageAction({
73792
73792
  action,
73793
73793
  params,
@@ -74024,7 +74024,7 @@ const signalMessageActions = {
74024
74024
  //#region src/channels/plugins/actions/telegram.ts
74025
74025
  const providerId = "telegram";
74026
74026
  async function loadTelegramActionHandler() {
74027
- const { handleTelegramAction } = await import("./telegram-actions-BARLx9zc.js");
74027
+ const { handleTelegramAction } = await import("./telegram-actions-BO-giM1s.js");
74028
74028
  return handleTelegramAction;
74029
74029
  }
74030
74030
  function readTelegramSendParams(params) {
@@ -74194,7 +74194,7 @@ function createWhatsAppLoginTool() {
74194
74194
  force: Type.Optional(Type.Boolean())
74195
74195
  }),
74196
74196
  execute: async (_toolCallId, args) => {
74197
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CRKHA7i8.js");
74197
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-u8Mn1mCp.js");
74198
74198
  if ((args?.action ?? "start") === "wait") {
74199
74199
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
74200
74200
  return {
@@ -76505,7 +76505,7 @@ function buildPairingReply(params) {
76505
76505
 
76506
76506
  //#endregion
76507
76507
  //#region src/brand.ts
76508
- const FASED_PRODUCT_VERSION = "0.1.49";
76508
+ const FASED_PRODUCT_VERSION = "0.1.52";
76509
76509
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
76510
76510
 
76511
76511
  //#endregion
@@ -80384,7 +80384,7 @@ const handleWhatsAppActionLazy = async (...args) => {
80384
80384
  return handleWhatsAppAction(...args);
80385
80385
  };
80386
80386
  const auditDiscordChannelPermissionsLazy = async (...args) => {
80387
- const { auditDiscordChannelPermissions } = await import("./audit-BQfsboqd.js").then((n) => n.t);
80387
+ const { auditDiscordChannelPermissions } = await import("./audit-2iRlVyQF.js").then((n) => n.t);
80388
80388
  return auditDiscordChannelPermissions(...args);
80389
80389
  };
80390
80390
  const listDiscordDirectoryGroupsLiveLazy = async (...args) => {
@@ -80408,15 +80408,15 @@ const resolveDiscordUserAllowlistLazy = async (...args) => {
80408
80408
  return resolveDiscordUserAllowlist(...args);
80409
80409
  };
80410
80410
  const sendMessageDiscordLazy = async (...args) => {
80411
- const { sendMessageDiscord } = await import("./send-C0Q1u7N1.js").then((n) => n.t);
80411
+ const { sendMessageDiscord } = await import("./send-bcKv8F5E.js").then((n) => n.t);
80412
80412
  return sendMessageDiscord(...args);
80413
80413
  };
80414
80414
  const sendPollDiscordLazy = async (...args) => {
80415
- const { sendPollDiscord } = await import("./send-C0Q1u7N1.js").then((n) => n.t);
80415
+ const { sendPollDiscord } = await import("./send-bcKv8F5E.js").then((n) => n.t);
80416
80416
  return sendPollDiscord(...args);
80417
80417
  };
80418
80418
  const monitorDiscordProviderLazy = async (...args) => {
80419
- const { monitorDiscordProvider } = await import("./monitor-DJhU-J5u.js");
80419
+ const { monitorDiscordProvider } = await import("./monitor-CY1W4VTW.js");
80420
80420
  return monitorDiscordProvider(...args);
80421
80421
  };
80422
80422
  const listSlackDirectoryGroupsLiveLazy = async (...args) => {
@@ -80440,15 +80440,15 @@ const resolveSlackUserAllowlistLazy = async (...args) => {
80440
80440
  return resolveSlackUserAllowlist(...args);
80441
80441
  };
80442
80442
  const sendMessageSlackLazy = async (...args) => {
80443
- const { sendMessageSlack } = await import("./send-CGE7OgsA.js").then((n) => n.n);
80443
+ const { sendMessageSlack } = await import("./send-DGEgo_6f.js").then((n) => n.n);
80444
80444
  return sendMessageSlack(...args);
80445
80445
  };
80446
80446
  const monitorSlackProviderLazy = async (...args) => {
80447
- const { monitorSlackProvider } = await import("./slack-Bs_4uivd.js");
80447
+ const { monitorSlackProvider } = await import("./slack-papUjf_h.js");
80448
80448
  return monitorSlackProvider(...args);
80449
80449
  };
80450
80450
  const handleSlackActionLazy = async (...args) => {
80451
- const { handleSlackAction } = await import("./slack-actions-CBPZkfTS.js");
80451
+ const { handleSlackAction } = await import("./slack-actions-TNnAXiUx.js");
80452
80452
  return handleSlackAction(...args);
80453
80453
  };
80454
80454
  const probeTelegramLazy = async (...args) => {
@@ -80456,15 +80456,15 @@ const probeTelegramLazy = async (...args) => {
80456
80456
  return probeTelegram(...args);
80457
80457
  };
80458
80458
  const sendMessageTelegramLazy = async (...args) => {
80459
- const { sendMessageTelegram } = await import("./send-DVpCBUuL.js").then((n) => n.c);
80459
+ const { sendMessageTelegram } = await import("./send-DcsYRH2f.js").then((n) => n.c);
80460
80460
  return sendMessageTelegram(...args);
80461
80461
  };
80462
80462
  const sendPollTelegramLazy = async (...args) => {
80463
- const { sendPollTelegram } = await import("./send-DVpCBUuL.js").then((n) => n.c);
80463
+ const { sendPollTelegram } = await import("./send-DcsYRH2f.js").then((n) => n.c);
80464
80464
  return sendPollTelegram(...args);
80465
80465
  };
80466
80466
  const monitorTelegramProviderLazy = async (...args) => {
80467
- const { monitorTelegramProvider } = await import("./monitor-CChc6bQV.js");
80467
+ const { monitorTelegramProvider } = await import("./monitor-CkDlxeW5.js");
80468
80468
  return monitorTelegramProvider(...args);
80469
80469
  };
80470
80470
  let webOutboundPromise = null;
@@ -80473,23 +80473,23 @@ let webLoginQrPromise = null;
80473
80473
  let webChannelPromise = null;
80474
80474
  let whatsappActionsPromise = null;
80475
80475
  function loadWebOutbound() {
80476
- webOutboundPromise ??= import("./outbound-C1xBxfNb.js").then((n) => n.t);
80476
+ webOutboundPromise ??= import("./outbound-DXGuFrdx.js").then((n) => n.t);
80477
80477
  return webOutboundPromise;
80478
80478
  }
80479
80479
  function loadWebLogin() {
80480
- webLoginPromise ??= import("./login-C73Wpiw8.js").then((n) => n.n);
80480
+ webLoginPromise ??= import("./login-CK2zTIJA.js").then((n) => n.n);
80481
80481
  return webLoginPromise;
80482
80482
  }
80483
80483
  function loadWebLoginQr() {
80484
- webLoginQrPromise ??= import("./login-qr-CRKHA7i8.js");
80484
+ webLoginQrPromise ??= import("./login-qr-u8Mn1mCp.js");
80485
80485
  return webLoginQrPromise;
80486
80486
  }
80487
80487
  function loadWebChannel() {
80488
- webChannelPromise ??= import("./web-BwolzGVF.js");
80488
+ webChannelPromise ??= import("./web-QpstZjDX.js");
80489
80489
  return webChannelPromise;
80490
80490
  }
80491
80491
  function loadWhatsAppActions() {
80492
- whatsappActionsPromise ??= import("./whatsapp-actions-CSvf6eev.js");
80492
+ whatsappActionsPromise ??= import("./whatsapp-actions-CID_tqAX.js");
80493
80493
  return whatsappActionsPromise;
80494
80494
  }
80495
80495
  function createPluginRuntime(options = {}) {
@@ -81405,785 +81405,2316 @@ async function augmentModelCatalogWithProviderPlugins(params) {
81405
81405
  //#endregion
81406
81406
  //#region src/providers/refreshed-model-capabilities.ts
81407
81407
  const REFRESHED_MODEL_CAPABILITIES = {
81408
+ "chutes/deepseek-ai/deepseek-v3.2-tee": {
81409
+ input: ["text"],
81410
+ reasoning: true,
81411
+ capabilities: {
81412
+ tools: true,
81413
+ json: true,
81414
+ thinkingLevels: [
81415
+ "off",
81416
+ "minimal",
81417
+ "low",
81418
+ "medium",
81419
+ "high"
81420
+ ],
81421
+ defaultThinkingLevel: "low",
81422
+ thinkingMode: "generic-reasoning",
81423
+ reasoningBudgetSupported: false
81424
+ },
81425
+ contextWindow: 131072,
81426
+ maxTokens: 65536,
81427
+ source: "catalog",
81428
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81429
+ },
81430
+ "chutes/google/gemma-4-31b-turbo-tee": {
81431
+ input: ["text", "image"],
81432
+ reasoning: true,
81433
+ capabilities: {
81434
+ tools: true,
81435
+ json: true,
81436
+ thinkingLevels: [
81437
+ "off",
81438
+ "minimal",
81439
+ "low",
81440
+ "medium",
81441
+ "high"
81442
+ ],
81443
+ defaultThinkingLevel: "low",
81444
+ thinkingMode: "google-thinking-budget",
81445
+ reasoningBudgetSupported: true
81446
+ },
81447
+ contextWindow: 131072,
81448
+ maxTokens: 65536,
81449
+ source: "catalog",
81450
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81451
+ },
81452
+ "chutes/moonshotai/kimi-k2.6-tee": {
81453
+ input: ["text", "image"],
81454
+ reasoning: true,
81455
+ capabilities: {
81456
+ tools: true,
81457
+ json: true,
81458
+ video: true,
81459
+ thinkingLevels: [
81460
+ "off",
81461
+ "minimal",
81462
+ "low",
81463
+ "medium",
81464
+ "high"
81465
+ ],
81466
+ defaultThinkingLevel: "low",
81467
+ thinkingMode: "moonshot-thinking",
81468
+ reasoningBudgetSupported: false
81469
+ },
81470
+ contextWindow: 262144,
81471
+ maxTokens: 65535,
81472
+ source: "catalog",
81473
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81474
+ },
81475
+ "chutes/qwen/qwen3-235b-a22b-thinking-2507-tee": {
81476
+ input: ["text"],
81477
+ reasoning: true,
81478
+ capabilities: {
81479
+ tools: true,
81480
+ json: true,
81481
+ thinkingLevels: [
81482
+ "off",
81483
+ "minimal",
81484
+ "low",
81485
+ "medium",
81486
+ "high"
81487
+ ],
81488
+ defaultThinkingLevel: "low",
81489
+ thinkingMode: "qwen-thinking",
81490
+ reasoningBudgetSupported: true
81491
+ },
81492
+ contextWindow: 262144,
81493
+ maxTokens: 262144,
81494
+ source: "catalog",
81495
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81496
+ },
81497
+ "chutes/qwen/qwen3-32b-tee": {
81498
+ input: ["text"],
81499
+ reasoning: true,
81500
+ capabilities: {
81501
+ tools: true,
81502
+ json: true,
81503
+ thinkingLevels: [
81504
+ "off",
81505
+ "minimal",
81506
+ "low",
81507
+ "medium",
81508
+ "high"
81509
+ ],
81510
+ defaultThinkingLevel: "low",
81511
+ thinkingMode: "qwen-thinking",
81512
+ reasoningBudgetSupported: true
81513
+ },
81514
+ contextWindow: 40960,
81515
+ maxTokens: 40960,
81516
+ source: "catalog",
81517
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81518
+ },
81519
+ "chutes/qwen/qwen3.5-397b-a17b-tee": {
81520
+ input: ["text", "image"],
81521
+ reasoning: true,
81522
+ capabilities: {
81523
+ tools: true,
81524
+ json: true,
81525
+ thinkingLevels: [
81526
+ "off",
81527
+ "minimal",
81528
+ "low",
81529
+ "medium",
81530
+ "high"
81531
+ ],
81532
+ defaultThinkingLevel: "low",
81533
+ thinkingMode: "qwen-thinking",
81534
+ reasoningBudgetSupported: true
81535
+ },
81536
+ contextWindow: 262144,
81537
+ maxTokens: 65536,
81538
+ source: "catalog",
81539
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81540
+ },
81541
+ "chutes/qwen/qwen3.6-27b-tee": {
81542
+ input: ["text", "image"],
81543
+ reasoning: true,
81544
+ capabilities: {
81545
+ tools: true,
81546
+ json: true,
81547
+ thinkingLevels: [
81548
+ "off",
81549
+ "minimal",
81550
+ "low",
81551
+ "medium",
81552
+ "high"
81553
+ ],
81554
+ defaultThinkingLevel: "low",
81555
+ thinkingMode: "qwen-thinking",
81556
+ reasoningBudgetSupported: true
81557
+ },
81558
+ contextWindow: 262144,
81559
+ maxTokens: 65536,
81560
+ source: "catalog",
81561
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81562
+ },
81563
+ "chutes/zai-org/glm-5-tee": {
81564
+ input: ["text"],
81565
+ reasoning: true,
81566
+ capabilities: {
81567
+ tools: true,
81568
+ json: true,
81569
+ thinkingLevels: ["off", "low"],
81570
+ defaultThinkingLevel: "low",
81571
+ thinkingMode: "zai-binary",
81572
+ reasoningBudgetSupported: false
81573
+ },
81574
+ contextWindow: 202752,
81575
+ maxTokens: 65535,
81576
+ source: "catalog",
81577
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81578
+ },
81579
+ "chutes/zai-org/glm-5.1-tee": {
81580
+ input: ["text"],
81581
+ reasoning: true,
81582
+ capabilities: {
81583
+ tools: true,
81584
+ json: true,
81585
+ thinkingLevels: ["off", "low"],
81586
+ defaultThinkingLevel: "low",
81587
+ thinkingMode: "zai-binary",
81588
+ reasoningBudgetSupported: false
81589
+ },
81590
+ contextWindow: 202752,
81591
+ maxTokens: 65535,
81592
+ source: "catalog",
81593
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81594
+ },
81595
+ "chutes/zai-org/glm-5.2-tee": {
81596
+ input: ["text"],
81597
+ reasoning: true,
81598
+ capabilities: {
81599
+ tools: true,
81600
+ json: true,
81601
+ thinkingLevels: ["off", "low"],
81602
+ defaultThinkingLevel: "low",
81603
+ thinkingMode: "zai-binary",
81604
+ reasoningBudgetSupported: false
81605
+ },
81606
+ contextWindow: 1048576,
81607
+ maxTokens: 65535,
81608
+ source: "catalog",
81609
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81610
+ },
81408
81611
  "huggingface/deepseek-ai/deepseek-r1": {
81409
81612
  input: ["text"],
81613
+ capabilities: {
81614
+ tools: true,
81615
+ json: true
81616
+ },
81617
+ contextWindow: 64e3,
81618
+ source: "catalog",
81619
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81620
+ },
81621
+ "huggingface/deepseek-ai/deepseek-v3.2": {
81622
+ input: ["text"],
81623
+ capabilities: {
81624
+ tools: true,
81625
+ json: true
81626
+ },
81627
+ contextWindow: 163840,
81628
+ source: "catalog",
81629
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81630
+ },
81631
+ "huggingface/deepseek-ai/deepseek-v4-flash": {
81632
+ input: ["text"],
81633
+ capabilities: {
81634
+ tools: true,
81635
+ json: true
81636
+ },
81637
+ contextWindow: 1048576,
81638
+ source: "catalog",
81639
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81640
+ },
81641
+ "huggingface/deepseek-ai/deepseek-v4-pro": {
81642
+ input: ["text"],
81643
+ capabilities: {
81644
+ tools: true,
81645
+ json: true
81646
+ },
81647
+ contextWindow: 1048576,
81648
+ source: "catalog",
81649
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81650
+ },
81651
+ "huggingface/google/gemma-3n-e4b-it": {
81652
+ input: ["text", "image"],
81653
+ capabilities: {
81654
+ tools: false,
81655
+ json: true
81656
+ },
81657
+ contextWindow: 32768,
81658
+ source: "catalog",
81659
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81660
+ },
81661
+ "huggingface/google/gemma-4-26b-a4b-it": {
81662
+ input: ["text", "image"],
81663
+ capabilities: {
81664
+ tools: true,
81665
+ json: true
81666
+ },
81667
+ contextWindow: 262144,
81668
+ source: "catalog",
81669
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81670
+ },
81671
+ "huggingface/google/gemma-4-31b-it": {
81672
+ input: ["text", "image"],
81673
+ capabilities: {
81674
+ tools: true,
81675
+ json: true
81676
+ },
81677
+ contextWindow: 262144,
81678
+ source: "catalog",
81679
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81680
+ },
81681
+ "huggingface/inclusionai/ling-2.6-1t": {
81682
+ input: ["text"],
81683
+ capabilities: {
81684
+ tools: true,
81685
+ json: true
81686
+ },
81687
+ contextWindow: 262144,
81688
+ source: "catalog",
81689
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81690
+ },
81691
+ "huggingface/meta-llama/llama-3.3-70b-instruct": {
81692
+ input: ["text"],
81693
+ capabilities: {
81694
+ tools: true,
81695
+ json: true
81696
+ },
81697
+ contextWindow: 131072,
81698
+ source: "catalog",
81699
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81700
+ },
81701
+ "huggingface/minimaxai/minimax-m2.7": {
81702
+ input: ["text"],
81703
+ capabilities: {
81704
+ tools: true,
81705
+ json: true
81706
+ },
81707
+ contextWindow: 204800,
81708
+ source: "catalog",
81709
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81710
+ },
81711
+ "huggingface/moonshotai/kimi-k2.6": {
81712
+ input: ["text", "image"],
81713
+ capabilities: {
81714
+ tools: true,
81715
+ json: true
81716
+ },
81717
+ contextWindow: 262144,
81410
81718
  source: "catalog",
81411
- refreshedAt: "2026-05-11T01:59:12.464Z"
81719
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81412
81720
  },
81413
81721
  "huggingface/openai/gpt-oss-120b": {
81414
81722
  input: ["text"],
81723
+ capabilities: {
81724
+ tools: true,
81725
+ json: true
81726
+ },
81727
+ contextWindow: 131072,
81415
81728
  source: "catalog",
81416
- refreshedAt: "2026-05-11T01:59:12.464Z"
81729
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81417
81730
  },
81418
- "huggingface/qwen/qwen2.5-coder-32b-instruct": {
81731
+ "huggingface/openai/gpt-oss-20b": {
81419
81732
  input: ["text"],
81733
+ capabilities: {
81734
+ tools: true,
81735
+ json: true
81736
+ },
81737
+ contextWindow: 131072,
81420
81738
  source: "catalog",
81421
- refreshedAt: "2026-05-11T01:59:12.464Z"
81739
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81740
+ },
81741
+ "huggingface/qwen/qwen3-235b-a22b-instruct-2507": {
81742
+ input: ["text"],
81743
+ capabilities: {
81744
+ tools: true,
81745
+ json: true
81746
+ },
81747
+ contextWindow: 262144,
81748
+ source: "catalog",
81749
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81422
81750
  },
81423
81751
  "huggingface/qwen/qwen3-coder-480b-a35b-instruct": {
81424
81752
  input: ["text"],
81753
+ capabilities: {
81754
+ tools: true,
81755
+ json: true,
81756
+ thinkingLevels: [
81757
+ "off",
81758
+ "minimal",
81759
+ "low",
81760
+ "medium",
81761
+ "high"
81762
+ ],
81763
+ defaultThinkingLevel: "low",
81764
+ thinkingMode: "qwen-thinking",
81765
+ reasoningBudgetSupported: true
81766
+ },
81767
+ contextWindow: 262144,
81425
81768
  source: "catalog",
81426
- refreshedAt: "2026-05-11T01:59:12.464Z"
81769
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81427
81770
  },
81428
- "huggingface/zai-org/glm-4.5": {
81771
+ "huggingface/qwen/qwen3-coder-next": {
81429
81772
  input: ["text"],
81773
+ capabilities: {
81774
+ tools: true,
81775
+ json: false,
81776
+ thinkingLevels: [
81777
+ "off",
81778
+ "minimal",
81779
+ "low",
81780
+ "medium",
81781
+ "high"
81782
+ ],
81783
+ defaultThinkingLevel: "low",
81784
+ thinkingMode: "qwen-thinking",
81785
+ reasoningBudgetSupported: true
81786
+ },
81787
+ contextWindow: 262144,
81430
81788
  source: "catalog",
81431
- refreshedAt: "2026-05-11T01:59:12.464Z"
81789
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81432
81790
  },
81433
- "huggingface/zai-org/glm-4.5v": {
81791
+ "huggingface/qwen/qwen3-vl-235b-a22b-instruct": {
81434
81792
  input: ["text", "image"],
81793
+ capabilities: {
81794
+ tools: true,
81795
+ json: true,
81796
+ thinkingLevels: [
81797
+ "off",
81798
+ "minimal",
81799
+ "low",
81800
+ "medium",
81801
+ "high"
81802
+ ],
81803
+ defaultThinkingLevel: "low",
81804
+ thinkingMode: "qwen-thinking",
81805
+ reasoningBudgetSupported: true
81806
+ },
81807
+ contextWindow: 131072,
81435
81808
  source: "catalog",
81436
- refreshedAt: "2026-05-11T01:59:12.464Z"
81809
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81810
+ },
81811
+ "huggingface/qwen/qwen3.5-397b-a17b": {
81812
+ input: ["text", "image"],
81813
+ capabilities: {
81814
+ tools: true,
81815
+ json: true
81816
+ },
81817
+ contextWindow: 262144,
81818
+ source: "catalog",
81819
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81820
+ },
81821
+ "huggingface/qwen/qwen3.6-35b-a3b": {
81822
+ input: ["text", "image"],
81823
+ capabilities: {
81824
+ tools: true,
81825
+ json: true
81826
+ },
81827
+ contextWindow: 262144,
81828
+ source: "catalog",
81829
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81830
+ },
81831
+ "huggingface/zai-org/glm-5.1": {
81832
+ input: ["text"],
81833
+ capabilities: {
81834
+ tools: true,
81835
+ json: true
81836
+ },
81837
+ contextWindow: 202752,
81838
+ source: "catalog",
81839
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81840
+ },
81841
+ "openai/gpt-5.4": {
81842
+ capabilities: {
81843
+ thinkingLevels: [
81844
+ "off",
81845
+ "minimal",
81846
+ "low",
81847
+ "medium",
81848
+ "high",
81849
+ "xhigh"
81850
+ ],
81851
+ defaultThinkingLevel: "low",
81852
+ thinkingMode: "openai-reasoning-effort",
81853
+ reasoningBudgetSupported: false
81854
+ },
81855
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81856
+ },
81857
+ "openai/gpt-5.4-mini": {
81858
+ capabilities: {
81859
+ thinkingLevels: [
81860
+ "off",
81861
+ "minimal",
81862
+ "low",
81863
+ "medium",
81864
+ "high",
81865
+ "xhigh"
81866
+ ],
81867
+ defaultThinkingLevel: "low",
81868
+ thinkingMode: "openai-reasoning-effort",
81869
+ reasoningBudgetSupported: false
81870
+ },
81871
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81872
+ },
81873
+ "openai/gpt-5.4-nano": {
81874
+ capabilities: {
81875
+ thinkingLevels: [
81876
+ "off",
81877
+ "minimal",
81878
+ "low",
81879
+ "medium",
81880
+ "high",
81881
+ "xhigh"
81882
+ ],
81883
+ defaultThinkingLevel: "low",
81884
+ thinkingMode: "openai-reasoning-effort",
81885
+ reasoningBudgetSupported: false
81886
+ },
81887
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81888
+ },
81889
+ "openai/gpt-5.5": {
81890
+ capabilities: {
81891
+ thinkingLevels: [
81892
+ "off",
81893
+ "minimal",
81894
+ "low",
81895
+ "medium",
81896
+ "high",
81897
+ "xhigh"
81898
+ ],
81899
+ defaultThinkingLevel: "low",
81900
+ thinkingMode: "openai-reasoning-effort",
81901
+ reasoningBudgetSupported: false
81902
+ },
81903
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81904
+ },
81905
+ "openai/gpt-5.6": {
81906
+ capabilities: {
81907
+ thinkingLevels: [
81908
+ "off",
81909
+ "minimal",
81910
+ "low",
81911
+ "medium",
81912
+ "high",
81913
+ "xhigh"
81914
+ ],
81915
+ defaultThinkingLevel: "low",
81916
+ thinkingMode: "openai-reasoning-effort",
81917
+ reasoningBudgetSupported: false
81918
+ },
81919
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81920
+ },
81921
+ "openai/gpt-5.6-luna": {
81922
+ capabilities: {
81923
+ thinkingLevels: [
81924
+ "off",
81925
+ "minimal",
81926
+ "low",
81927
+ "medium",
81928
+ "high",
81929
+ "xhigh"
81930
+ ],
81931
+ defaultThinkingLevel: "low",
81932
+ thinkingMode: "openai-reasoning-effort",
81933
+ reasoningBudgetSupported: false
81934
+ },
81935
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81936
+ },
81937
+ "openai/gpt-5.6-terra": {
81938
+ capabilities: {
81939
+ thinkingLevels: [
81940
+ "off",
81941
+ "minimal",
81942
+ "low",
81943
+ "medium",
81944
+ "high",
81945
+ "xhigh"
81946
+ ],
81947
+ defaultThinkingLevel: "low",
81948
+ thinkingMode: "openai-reasoning-effort",
81949
+ reasoningBudgetSupported: false
81950
+ },
81951
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81952
+ },
81953
+ "opencode/claude-fable-5": {
81954
+ input: ["text"],
81955
+ capabilities: {
81956
+ tools: true,
81957
+ json: true,
81958
+ thinkingLevels: [
81959
+ "off",
81960
+ "minimal",
81961
+ "low",
81962
+ "medium",
81963
+ "high"
81964
+ ],
81965
+ defaultThinkingLevel: "low",
81966
+ thinkingMode: "anthropic-adaptive",
81967
+ reasoningBudgetSupported: false
81968
+ },
81969
+ source: "catalog",
81970
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81437
81971
  },
81438
81972
  "opencode/claude-haiku-4-5": {
81973
+ input: ["text"],
81974
+ capabilities: {
81975
+ tools: true,
81976
+ json: true,
81977
+ thinkingLevels: [
81978
+ "off",
81979
+ "minimal",
81980
+ "low",
81981
+ "medium",
81982
+ "high"
81983
+ ],
81984
+ defaultThinkingLevel: "low",
81985
+ thinkingMode: "anthropic-thinking-budget",
81986
+ reasoningBudgetSupported: true
81987
+ },
81988
+ source: "catalog",
81989
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81990
+ },
81991
+ "opencode/claude-opus-4-8": {
81992
+ input: ["text"],
81993
+ capabilities: {
81994
+ tools: true,
81995
+ json: true,
81996
+ thinkingLevels: [
81997
+ "off",
81998
+ "minimal",
81999
+ "low",
82000
+ "medium",
82001
+ "high"
82002
+ ],
82003
+ defaultThinkingLevel: "low",
82004
+ thinkingMode: "anthropic-adaptive",
82005
+ reasoningBudgetSupported: false
82006
+ },
82007
+ source: "catalog",
82008
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82009
+ },
82010
+ "opencode/claude-sonnet-5": {
82011
+ input: ["text"],
82012
+ capabilities: {
82013
+ tools: true,
82014
+ json: true,
82015
+ thinkingLevels: [
82016
+ "off",
82017
+ "minimal",
82018
+ "low",
82019
+ "medium",
82020
+ "high"
82021
+ ],
82022
+ defaultThinkingLevel: "low",
82023
+ thinkingMode: "anthropic-adaptive",
82024
+ reasoningBudgetSupported: false
82025
+ },
82026
+ source: "catalog",
82027
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82028
+ },
82029
+ "opencode/gemini-3-flash": {
82030
+ input: ["text"],
82031
+ capabilities: {
82032
+ tools: true,
82033
+ json: true,
82034
+ thinkingLevels: [
82035
+ "off",
82036
+ "minimal",
82037
+ "low",
82038
+ "medium",
82039
+ "high"
82040
+ ],
82041
+ defaultThinkingLevel: "low",
82042
+ thinkingMode: "google-thinking-budget",
82043
+ reasoningBudgetSupported: true
82044
+ },
82045
+ source: "catalog",
82046
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82047
+ },
82048
+ "opencode/gemini-3.1-pro": {
82049
+ input: ["text"],
82050
+ capabilities: {
82051
+ tools: true,
82052
+ json: true,
82053
+ thinkingLevels: [
82054
+ "off",
82055
+ "minimal",
82056
+ "low",
82057
+ "medium",
82058
+ "high"
82059
+ ],
82060
+ defaultThinkingLevel: "low",
82061
+ thinkingMode: "google-thinking-budget",
82062
+ reasoningBudgetSupported: true
82063
+ },
82064
+ source: "catalog",
82065
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82066
+ },
82067
+ "opencode/gemini-3.5-flash": {
82068
+ input: ["text"],
82069
+ capabilities: {
82070
+ tools: true,
82071
+ json: true,
82072
+ thinkingLevels: [
82073
+ "off",
82074
+ "minimal",
82075
+ "low",
82076
+ "medium",
82077
+ "high"
82078
+ ],
82079
+ defaultThinkingLevel: "low",
82080
+ thinkingMode: "google-thinking-budget",
82081
+ reasoningBudgetSupported: true
82082
+ },
82083
+ source: "catalog",
82084
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82085
+ },
82086
+ "opencode/glm-5.2": {
82087
+ input: ["text"],
82088
+ capabilities: {
82089
+ tools: true,
82090
+ json: true,
82091
+ thinkingLevels: ["off", "low"],
82092
+ defaultThinkingLevel: "low",
82093
+ thinkingMode: "zai-binary",
82094
+ reasoningBudgetSupported: false
82095
+ },
82096
+ source: "catalog",
82097
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82098
+ },
82099
+ "opencode/gpt-5.3-codex-spark": {
82100
+ input: ["text"],
82101
+ capabilities: {
82102
+ tools: true,
82103
+ json: true,
82104
+ thinkingLevels: [
82105
+ "off",
82106
+ "minimal",
82107
+ "low",
82108
+ "medium",
82109
+ "high"
82110
+ ],
82111
+ defaultThinkingLevel: "low",
82112
+ thinkingMode: "openai-reasoning-effort",
82113
+ reasoningBudgetSupported: false
82114
+ },
82115
+ source: "catalog",
82116
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82117
+ },
82118
+ "opencode/gpt-5.4": {
82119
+ input: ["text"],
82120
+ capabilities: {
82121
+ tools: true,
82122
+ json: true,
82123
+ thinkingLevels: [
82124
+ "off",
82125
+ "minimal",
82126
+ "low",
82127
+ "medium",
82128
+ "high",
82129
+ "xhigh"
82130
+ ],
82131
+ defaultThinkingLevel: "low",
82132
+ thinkingMode: "openai-reasoning-effort",
82133
+ reasoningBudgetSupported: false
82134
+ },
82135
+ source: "catalog",
82136
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82137
+ },
82138
+ "opencode/gpt-5.4-mini": {
82139
+ input: ["text"],
82140
+ capabilities: {
82141
+ tools: true,
82142
+ json: true,
82143
+ thinkingLevels: [
82144
+ "off",
82145
+ "minimal",
82146
+ "low",
82147
+ "medium",
82148
+ "high",
82149
+ "xhigh"
82150
+ ],
82151
+ defaultThinkingLevel: "low",
82152
+ thinkingMode: "openai-reasoning-effort",
82153
+ reasoningBudgetSupported: false
82154
+ },
82155
+ source: "catalog",
82156
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82157
+ },
82158
+ "opencode/gpt-5.4-nano": {
82159
+ input: ["text"],
82160
+ capabilities: {
82161
+ tools: true,
82162
+ json: true,
82163
+ thinkingLevels: [
82164
+ "off",
82165
+ "minimal",
82166
+ "low",
82167
+ "medium",
82168
+ "high",
82169
+ "xhigh"
82170
+ ],
82171
+ defaultThinkingLevel: "low",
82172
+ thinkingMode: "openai-reasoning-effort",
82173
+ reasoningBudgetSupported: false
82174
+ },
82175
+ source: "catalog",
82176
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82177
+ },
82178
+ "opencode/gpt-5.5": {
82179
+ input: ["text"],
82180
+ capabilities: {
82181
+ tools: true,
82182
+ json: true,
82183
+ thinkingLevels: [
82184
+ "off",
82185
+ "minimal",
82186
+ "low",
82187
+ "medium",
82188
+ "high",
82189
+ "xhigh"
82190
+ ],
82191
+ defaultThinkingLevel: "low",
82192
+ thinkingMode: "openai-reasoning-effort",
82193
+ reasoningBudgetSupported: false
82194
+ },
82195
+ source: "catalog",
82196
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82197
+ },
82198
+ "opencode/kimi-k2.6": {
82199
+ input: ["text"],
82200
+ capabilities: {
82201
+ tools: true,
82202
+ json: true,
82203
+ thinkingLevels: [
82204
+ "off",
82205
+ "minimal",
82206
+ "low",
82207
+ "medium",
82208
+ "high"
82209
+ ],
82210
+ defaultThinkingLevel: "low",
82211
+ thinkingMode: "moonshot-thinking",
82212
+ reasoningBudgetSupported: false
82213
+ },
82214
+ source: "catalog",
82215
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82216
+ },
82217
+ "opencode/minimax-m2.7": {
82218
+ input: ["text"],
82219
+ capabilities: {
82220
+ tools: true,
82221
+ json: true,
82222
+ thinkingLevels: [
82223
+ "off",
82224
+ "minimal",
82225
+ "low",
82226
+ "medium",
82227
+ "high"
82228
+ ],
82229
+ defaultThinkingLevel: "low",
82230
+ thinkingMode: "generic-reasoning",
82231
+ reasoningBudgetSupported: false
82232
+ },
82233
+ source: "catalog",
82234
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82235
+ },
82236
+ "openrouter/anthropic/claude-fable-5": {
81439
82237
  input: ["text", "image"],
81440
82238
  reasoning: true,
81441
- tools: true,
81442
- json: true,
81443
- contextWindow: 2e5,
81444
- maxTokens: 64e3,
82239
+ capabilities: {
82240
+ tools: true,
82241
+ json: true,
82242
+ thinkingLevels: [
82243
+ "off",
82244
+ "minimal",
82245
+ "low",
82246
+ "medium",
82247
+ "high"
82248
+ ],
82249
+ defaultThinkingLevel: "low",
82250
+ thinkingMode: "anthropic-adaptive",
82251
+ reasoningBudgetSupported: false
82252
+ },
82253
+ contextWindow: 1e6,
82254
+ maxTokens: 128e3,
81445
82255
  source: "catalog",
81446
- refreshedAt: "2026-05-11T01:59:12.464Z"
82256
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81447
82257
  },
81448
- "opencode/claude-opus-4-5": {
82258
+ "openrouter/anthropic/claude-haiku-4.5": {
81449
82259
  input: ["text", "image"],
81450
82260
  reasoning: true,
81451
- tools: true,
81452
- json: true,
82261
+ capabilities: {
82262
+ tools: true,
82263
+ json: true,
82264
+ thinkingLevels: [
82265
+ "off",
82266
+ "minimal",
82267
+ "low",
82268
+ "medium",
82269
+ "high"
82270
+ ],
82271
+ defaultThinkingLevel: "low",
82272
+ thinkingMode: "anthropic-thinking-budget",
82273
+ reasoningBudgetSupported: true
82274
+ },
81453
82275
  contextWindow: 2e5,
81454
82276
  maxTokens: 64e3,
81455
82277
  source: "catalog",
81456
- refreshedAt: "2026-05-11T01:59:12.464Z"
82278
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81457
82279
  },
81458
- "opencode/claude-opus-4-7": {
82280
+ "openrouter/anthropic/claude-opus-4.8": {
81459
82281
  input: ["text", "image"],
81460
82282
  reasoning: true,
81461
- tools: true,
81462
- json: true,
82283
+ capabilities: {
82284
+ tools: true,
82285
+ json: true,
82286
+ thinkingLevels: [
82287
+ "off",
82288
+ "minimal",
82289
+ "low",
82290
+ "medium",
82291
+ "high"
82292
+ ],
82293
+ defaultThinkingLevel: "low",
82294
+ thinkingMode: "anthropic-adaptive",
82295
+ reasoningBudgetSupported: false
82296
+ },
81463
82297
  contextWindow: 1e6,
81464
82298
  maxTokens: 128e3,
81465
82299
  source: "catalog",
81466
- refreshedAt: "2026-05-11T01:59:12.464Z"
82300
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81467
82301
  },
81468
- "opencode/claude-opus-4-6": {
82302
+ "openrouter/anthropic/claude-sonnet-5": {
81469
82303
  input: ["text", "image"],
81470
82304
  reasoning: true,
81471
- tools: true,
81472
- json: true,
82305
+ capabilities: {
82306
+ tools: true,
82307
+ json: true,
82308
+ thinkingLevels: [
82309
+ "off",
82310
+ "minimal",
82311
+ "low",
82312
+ "medium",
82313
+ "high"
82314
+ ],
82315
+ defaultThinkingLevel: "low",
82316
+ thinkingMode: "anthropic-adaptive",
82317
+ reasoningBudgetSupported: false
82318
+ },
81473
82319
  contextWindow: 1e6,
81474
82320
  maxTokens: 128e3,
81475
82321
  source: "catalog",
81476
- refreshedAt: "2026-05-11T01:59:12.464Z"
82322
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82323
+ },
82324
+ "openrouter/deepseek/deepseek-v4-flash": {
82325
+ input: ["text"],
82326
+ reasoning: true,
82327
+ capabilities: {
82328
+ tools: true,
82329
+ json: true,
82330
+ thinkingLevels: [
82331
+ "off",
82332
+ "minimal",
82333
+ "low",
82334
+ "medium",
82335
+ "high"
82336
+ ],
82337
+ defaultThinkingLevel: "low",
82338
+ thinkingMode: "generic-reasoning",
82339
+ reasoningBudgetSupported: false
82340
+ },
82341
+ contextWindow: 1048576,
82342
+ maxTokens: 384e3,
82343
+ source: "catalog",
82344
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81477
82345
  },
81478
- "opencode/claude-sonnet-4-6": {
82346
+ "openrouter/deepseek/deepseek-v4-pro": {
82347
+ input: ["text"],
82348
+ reasoning: true,
82349
+ capabilities: {
82350
+ tools: true,
82351
+ json: true,
82352
+ thinkingLevels: [
82353
+ "off",
82354
+ "minimal",
82355
+ "low",
82356
+ "medium",
82357
+ "high"
82358
+ ],
82359
+ defaultThinkingLevel: "low",
82360
+ thinkingMode: "generic-reasoning",
82361
+ reasoningBudgetSupported: false
82362
+ },
82363
+ contextWindow: 1048576,
82364
+ maxTokens: 384e3,
82365
+ source: "catalog",
82366
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82367
+ },
82368
+ "openrouter/google/gemini-3-flash-preview": {
81479
82369
  input: ["text", "image"],
81480
82370
  reasoning: true,
81481
- tools: true,
81482
- json: true,
81483
- contextWindow: 1e6,
81484
- maxTokens: 128e3,
82371
+ capabilities: {
82372
+ tools: true,
82373
+ json: true,
82374
+ audio: true,
82375
+ video: true,
82376
+ thinkingLevels: [
82377
+ "off",
82378
+ "minimal",
82379
+ "low",
82380
+ "medium",
82381
+ "high"
82382
+ ],
82383
+ defaultThinkingLevel: "low",
82384
+ thinkingMode: "google-thinking-budget",
82385
+ reasoningBudgetSupported: true
82386
+ },
82387
+ contextWindow: 1048576,
82388
+ maxTokens: 65535,
81485
82389
  source: "catalog",
81486
- refreshedAt: "2026-05-11T01:59:12.464Z"
82390
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81487
82391
  },
81488
- "opencode/claude-sonnet-4-5": {
82392
+ "openrouter/google/gemini-3.1-flash-lite": {
81489
82393
  input: ["text", "image"],
81490
82394
  reasoning: true,
81491
- tools: true,
81492
- json: true,
81493
- contextWindow: 1e6,
81494
- maxTokens: 64e3,
82395
+ capabilities: {
82396
+ tools: true,
82397
+ json: true,
82398
+ audio: true,
82399
+ video: true,
82400
+ thinkingLevels: [
82401
+ "off",
82402
+ "minimal",
82403
+ "low",
82404
+ "medium",
82405
+ "high"
82406
+ ],
82407
+ defaultThinkingLevel: "low",
82408
+ thinkingMode: "google-thinking-budget",
82409
+ reasoningBudgetSupported: true
82410
+ },
82411
+ contextWindow: 1048576,
82412
+ maxTokens: 65536,
81495
82413
  source: "catalog",
81496
- refreshedAt: "2026-05-11T01:59:12.464Z"
82414
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81497
82415
  },
81498
- "opencode/gemini-3-flash": {
82416
+ "openrouter/google/gemini-3.1-pro-preview": {
81499
82417
  input: ["text", "image"],
81500
82418
  reasoning: true,
81501
- tools: true,
81502
- json: true,
82419
+ capabilities: {
82420
+ tools: true,
82421
+ json: true,
82422
+ audio: true,
82423
+ video: true,
82424
+ thinkingLevels: [
82425
+ "off",
82426
+ "minimal",
82427
+ "low",
82428
+ "medium",
82429
+ "high"
82430
+ ],
82431
+ defaultThinkingLevel: "low",
82432
+ thinkingMode: "google-thinking-budget",
82433
+ reasoningBudgetSupported: true
82434
+ },
81503
82435
  contextWindow: 1048576,
81504
82436
  maxTokens: 65536,
81505
82437
  source: "catalog",
81506
- refreshedAt: "2026-05-11T01:59:12.464Z"
82438
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81507
82439
  },
81508
- "opencode/gemini-3.1-pro": {
82440
+ "openrouter/google/gemini-3.5-flash": {
81509
82441
  input: ["text", "image"],
81510
82442
  reasoning: true,
81511
- tools: true,
81512
- json: true,
82443
+ capabilities: {
82444
+ tools: true,
82445
+ json: true,
82446
+ audio: true,
82447
+ video: true,
82448
+ thinkingLevels: [
82449
+ "off",
82450
+ "minimal",
82451
+ "low",
82452
+ "medium",
82453
+ "high"
82454
+ ],
82455
+ defaultThinkingLevel: "low",
82456
+ thinkingMode: "google-thinking-budget",
82457
+ reasoningBudgetSupported: true
82458
+ },
81513
82459
  contextWindow: 1048576,
81514
82460
  maxTokens: 65536,
81515
82461
  source: "catalog",
81516
- refreshedAt: "2026-05-11T01:59:12.464Z"
82462
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81517
82463
  },
81518
- "opencode/glm-5.1": {
82464
+ "openrouter/minimax/minimax-m2.7": {
81519
82465
  input: ["text"],
81520
82466
  reasoning: true,
81521
- tools: true,
81522
- json: true,
82467
+ capabilities: {
82468
+ tools: true,
82469
+ json: true,
82470
+ thinkingLevels: [
82471
+ "off",
82472
+ "minimal",
82473
+ "low",
82474
+ "medium",
82475
+ "high"
82476
+ ],
82477
+ defaultThinkingLevel: "off",
82478
+ thinkingMode: "anthropic-thinking-budget",
82479
+ reasoningBudgetSupported: false
82480
+ },
81523
82481
  contextWindow: 204800,
81524
- maxTokens: 131072,
82482
+ maxTokens: 196608,
82483
+ source: "catalog",
82484
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82485
+ },
82486
+ "openrouter/mistralai/devstral-2512": {
82487
+ input: ["text"],
82488
+ capabilities: {
82489
+ tools: true,
82490
+ json: true
82491
+ },
82492
+ contextWindow: 262144,
82493
+ source: "catalog",
82494
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82495
+ },
82496
+ "openrouter/mistralai/mistral-large-2512": {
82497
+ input: ["text", "image"],
82498
+ capabilities: {
82499
+ tools: true,
82500
+ json: true
82501
+ },
82502
+ contextWindow: 262144,
81525
82503
  source: "catalog",
81526
- refreshedAt: "2026-05-11T01:59:12.464Z"
82504
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81527
82505
  },
81528
- "opencode/gpt-5.2": {
82506
+ "openrouter/mistralai/mistral-medium-3-5": {
81529
82507
  input: ["text", "image"],
81530
82508
  reasoning: true,
81531
- tools: true,
81532
- json: true,
81533
- contextWindow: 4e5,
81534
- maxTokens: 128e3,
82509
+ capabilities: {
82510
+ tools: true,
82511
+ json: true,
82512
+ thinkingLevels: ["off", "high"],
82513
+ defaultThinkingLevel: "high",
82514
+ thinkingMode: "mistral-reasoning-effort",
82515
+ reasoningBudgetSupported: false
82516
+ },
82517
+ contextWindow: 262144,
81535
82518
  source: "catalog",
81536
- refreshedAt: "2026-05-11T01:59:12.464Z"
82519
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81537
82520
  },
81538
- "opencode/gpt-5.2-codex": {
82521
+ "openrouter/mistralai/mistral-small-2603": {
81539
82522
  input: ["text", "image"],
81540
82523
  reasoning: true,
81541
- tools: true,
81542
- json: true,
81543
- contextWindow: 4e5,
81544
- maxTokens: 128e3,
82524
+ capabilities: {
82525
+ tools: true,
82526
+ json: true,
82527
+ thinkingLevels: ["off", "high"],
82528
+ defaultThinkingLevel: "high",
82529
+ thinkingMode: "mistral-reasoning-effort",
82530
+ reasoningBudgetSupported: false
82531
+ },
82532
+ contextWindow: 262144,
81545
82533
  source: "catalog",
81546
- refreshedAt: "2026-05-11T01:59:12.464Z"
82534
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81547
82535
  },
81548
- "opencode/gpt-5.3-codex": {
82536
+ "openrouter/moonshotai/kimi-k2.6": {
81549
82537
  input: ["text", "image"],
81550
82538
  reasoning: true,
81551
- tools: true,
81552
- json: true,
81553
- contextWindow: 4e5,
81554
- maxTokens: 128e3,
82539
+ capabilities: {
82540
+ tools: true,
82541
+ json: true,
82542
+ thinkingLevels: [
82543
+ "off",
82544
+ "minimal",
82545
+ "low",
82546
+ "medium",
82547
+ "high"
82548
+ ],
82549
+ defaultThinkingLevel: "low",
82550
+ thinkingMode: "moonshot-thinking",
82551
+ reasoningBudgetSupported: false
82552
+ },
82553
+ contextWindow: 262144,
82554
+ maxTokens: 262144,
81555
82555
  source: "catalog",
81556
- refreshedAt: "2026-05-11T01:59:12.464Z"
82556
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81557
82557
  },
81558
- "opencode/gpt-5.3-codex-spark": {
82558
+ "openrouter/openai/gpt-5.4": {
81559
82559
  input: ["text", "image"],
81560
82560
  reasoning: true,
81561
- tools: true,
81562
- json: true,
81563
- contextWindow: 4e5,
82561
+ capabilities: {
82562
+ tools: true,
82563
+ json: true,
82564
+ thinkingLevels: [
82565
+ "off",
82566
+ "minimal",
82567
+ "low",
82568
+ "medium",
82569
+ "high",
82570
+ "xhigh"
82571
+ ],
82572
+ defaultThinkingLevel: "low",
82573
+ thinkingMode: "openai-reasoning-effort",
82574
+ reasoningBudgetSupported: false
82575
+ },
82576
+ contextWindow: 105e4,
81564
82577
  maxTokens: 128e3,
81565
82578
  source: "catalog",
81566
- refreshedAt: "2026-05-11T01:59:12.464Z"
82579
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81567
82580
  },
81568
- "opencode/gpt-5.4": {
82581
+ "openrouter/openai/gpt-5.4-mini": {
81569
82582
  input: ["text", "image"],
81570
82583
  reasoning: true,
81571
- tools: true,
81572
- json: true,
82584
+ capabilities: {
82585
+ tools: true,
82586
+ json: true,
82587
+ thinkingLevels: [
82588
+ "off",
82589
+ "minimal",
82590
+ "low",
82591
+ "medium",
82592
+ "high",
82593
+ "xhigh"
82594
+ ],
82595
+ defaultThinkingLevel: "low",
82596
+ thinkingMode: "openai-reasoning-effort",
82597
+ reasoningBudgetSupported: false
82598
+ },
81573
82599
  contextWindow: 4e5,
81574
82600
  maxTokens: 128e3,
81575
82601
  source: "catalog",
81576
- refreshedAt: "2026-05-11T01:59:12.464Z"
82602
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81577
82603
  },
81578
- "opencode/gpt-5.4-mini": {
82604
+ "openrouter/openai/gpt-5.4-nano": {
81579
82605
  input: ["text", "image"],
81580
82606
  reasoning: true,
81581
- tools: true,
81582
- json: true,
82607
+ capabilities: {
82608
+ tools: true,
82609
+ json: true,
82610
+ thinkingLevels: [
82611
+ "off",
82612
+ "minimal",
82613
+ "low",
82614
+ "medium",
82615
+ "high",
82616
+ "xhigh"
82617
+ ],
82618
+ defaultThinkingLevel: "low",
82619
+ thinkingMode: "openai-reasoning-effort",
82620
+ reasoningBudgetSupported: false
82621
+ },
81583
82622
  contextWindow: 4e5,
81584
82623
  maxTokens: 128e3,
81585
82624
  source: "catalog",
81586
- refreshedAt: "2026-05-11T01:59:12.464Z"
82625
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81587
82626
  },
81588
- "opencode/gpt-5.4-nano": {
82627
+ "openrouter/openai/gpt-5.5": {
81589
82628
  input: ["text", "image"],
81590
82629
  reasoning: true,
81591
- tools: true,
81592
- json: true,
81593
- contextWindow: 4e5,
82630
+ capabilities: {
82631
+ tools: true,
82632
+ json: true,
82633
+ thinkingLevels: [
82634
+ "off",
82635
+ "minimal",
82636
+ "low",
82637
+ "medium",
82638
+ "high",
82639
+ "xhigh"
82640
+ ],
82641
+ defaultThinkingLevel: "low",
82642
+ thinkingMode: "openai-reasoning-effort",
82643
+ reasoningBudgetSupported: false
82644
+ },
82645
+ contextWindow: 105e4,
81594
82646
  maxTokens: 128e3,
81595
82647
  source: "catalog",
81596
- refreshedAt: "2026-05-11T01:59:12.464Z"
82648
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81597
82649
  },
81598
- "opencode/gpt-5.4-pro": {
82650
+ "openrouter/openai/gpt-5.6-luna": {
81599
82651
  input: ["text", "image"],
81600
82652
  reasoning: true,
81601
- tools: true,
81602
- json: true,
81603
- contextWindow: 4e5,
82653
+ capabilities: {
82654
+ tools: true,
82655
+ json: true,
82656
+ thinkingLevels: [
82657
+ "off",
82658
+ "minimal",
82659
+ "low",
82660
+ "medium",
82661
+ "high",
82662
+ "xhigh"
82663
+ ],
82664
+ defaultThinkingLevel: "low",
82665
+ thinkingMode: "openai-reasoning-effort",
82666
+ reasoningBudgetSupported: false
82667
+ },
82668
+ contextWindow: 105e4,
81604
82669
  maxTokens: 128e3,
81605
82670
  source: "catalog",
81606
- refreshedAt: "2026-05-11T01:59:12.464Z"
82671
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81607
82672
  },
81608
- "opencode/gpt-5.5": {
82673
+ "openrouter/openai/gpt-5.6-sol": {
81609
82674
  input: ["text", "image"],
81610
82675
  reasoning: true,
81611
- tools: true,
81612
- json: true,
81613
- contextWindow: 4e5,
82676
+ capabilities: {
82677
+ tools: true,
82678
+ json: true,
82679
+ thinkingLevels: [
82680
+ "off",
82681
+ "minimal",
82682
+ "low",
82683
+ "medium",
82684
+ "high",
82685
+ "xhigh"
82686
+ ],
82687
+ defaultThinkingLevel: "low",
82688
+ thinkingMode: "openai-reasoning-effort",
82689
+ reasoningBudgetSupported: false
82690
+ },
82691
+ contextWindow: 105e4,
81614
82692
  maxTokens: 128e3,
81615
82693
  source: "catalog",
81616
- refreshedAt: "2026-05-11T01:59:12.464Z"
82694
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81617
82695
  },
81618
- "opencode/gpt-5.5-pro": {
82696
+ "openrouter/openai/gpt-5.6-terra": {
81619
82697
  input: ["text", "image"],
81620
82698
  reasoning: true,
81621
- tools: true,
81622
- json: true,
81623
- contextWindow: 4e5,
82699
+ capabilities: {
82700
+ tools: true,
82701
+ json: true,
82702
+ thinkingLevels: [
82703
+ "off",
82704
+ "minimal",
82705
+ "low",
82706
+ "medium",
82707
+ "high",
82708
+ "xhigh"
82709
+ ],
82710
+ defaultThinkingLevel: "low",
82711
+ thinkingMode: "openai-reasoning-effort",
82712
+ reasoningBudgetSupported: false
82713
+ },
82714
+ contextWindow: 105e4,
81624
82715
  maxTokens: 128e3,
81625
82716
  source: "catalog",
81626
- refreshedAt: "2026-05-11T01:59:12.464Z"
82717
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81627
82718
  },
81628
- "opencode/kimi-k2.6": {
82719
+ "openrouter/qwen/qwen3.6-flash": {
81629
82720
  input: ["text", "image"],
81630
82721
  reasoning: true,
81631
- tools: true,
81632
- json: true,
81633
- contextWindow: 262144,
82722
+ capabilities: {
82723
+ tools: true,
82724
+ json: true,
82725
+ video: true,
82726
+ thinkingLevels: [
82727
+ "off",
82728
+ "minimal",
82729
+ "low",
82730
+ "medium",
82731
+ "high"
82732
+ ],
82733
+ defaultThinkingLevel: "low",
82734
+ thinkingMode: "qwen-thinking",
82735
+ reasoningBudgetSupported: true
82736
+ },
82737
+ contextWindow: 1e6,
81634
82738
  maxTokens: 65536,
81635
82739
  source: "catalog",
81636
- refreshedAt: "2026-05-11T01:59:12.464Z"
82740
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81637
82741
  },
81638
- "opencode/minimax-m2.7": {
82742
+ "openrouter/qwen/qwen3.7-max": {
81639
82743
  input: ["text"],
81640
82744
  reasoning: true,
81641
- tools: true,
81642
- json: true,
81643
- contextWindow: 262144,
82745
+ capabilities: {
82746
+ tools: true,
82747
+ json: true,
82748
+ video: true,
82749
+ thinkingLevels: [
82750
+ "off",
82751
+ "minimal",
82752
+ "low",
82753
+ "medium",
82754
+ "high"
82755
+ ],
82756
+ defaultThinkingLevel: "low",
82757
+ thinkingMode: "qwen-thinking",
82758
+ reasoningBudgetSupported: true
82759
+ },
82760
+ contextWindow: 1e6,
81644
82761
  maxTokens: 65536,
81645
82762
  source: "catalog",
81646
- refreshedAt: "2026-05-11T01:59:12.464Z"
82763
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81647
82764
  },
81648
- "opencode/qwen3.6-plus": {
82765
+ "openrouter/qwen/qwen3.7-plus": {
81649
82766
  input: ["text", "image"],
81650
82767
  reasoning: true,
81651
- tools: true,
81652
- json: true,
81653
- contextWindow: 262144,
82768
+ capabilities: {
82769
+ tools: true,
82770
+ json: true,
82771
+ video: true,
82772
+ thinkingLevels: [
82773
+ "off",
82774
+ "minimal",
82775
+ "low",
82776
+ "medium",
82777
+ "high"
82778
+ ],
82779
+ defaultThinkingLevel: "low",
82780
+ thinkingMode: "qwen-thinking",
82781
+ reasoningBudgetSupported: true
82782
+ },
82783
+ contextWindow: 1e6,
81654
82784
  maxTokens: 65536,
81655
82785
  source: "catalog",
81656
- refreshedAt: "2026-05-11T01:59:12.464Z"
82786
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81657
82787
  },
81658
- "openrouter/anthropic/claude-haiku-4.5": {
82788
+ "openrouter/x-ai/grok-4.3": {
81659
82789
  input: ["text", "image"],
81660
82790
  reasoning: true,
81661
82791
  capabilities: {
81662
82792
  tools: true,
81663
- json: true
82793
+ json: true,
82794
+ thinkingLevels: [
82795
+ "off",
82796
+ "low",
82797
+ "medium",
82798
+ "high"
82799
+ ],
82800
+ defaultThinkingLevel: "low",
82801
+ thinkingMode: "xai-reasoning-effort",
82802
+ reasoningBudgetSupported: false
81664
82803
  },
81665
- contextWindow: 2e5,
81666
- maxTokens: 64e3,
82804
+ contextWindow: 1e6,
81667
82805
  source: "catalog",
81668
- refreshedAt: "2026-05-11T01:59:12.464Z"
82806
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81669
82807
  },
81670
- "openrouter/anthropic/claude-opus-4.7": {
82808
+ "openrouter/x-ai/grok-4.5": {
81671
82809
  input: ["text", "image"],
81672
82810
  reasoning: true,
81673
82811
  capabilities: {
81674
82812
  tools: true,
81675
- json: true
82813
+ json: true,
82814
+ thinkingLevels: [
82815
+ "off",
82816
+ "low",
82817
+ "medium",
82818
+ "high"
82819
+ ],
82820
+ defaultThinkingLevel: "low",
82821
+ thinkingMode: "xai-reasoning-effort",
82822
+ reasoningBudgetSupported: false
81676
82823
  },
81677
- contextWindow: 1e6,
81678
- maxTokens: 128e3,
82824
+ contextWindow: 5e5,
81679
82825
  source: "catalog",
81680
- refreshedAt: "2026-05-11T01:59:12.464Z"
82826
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81681
82827
  },
81682
- "openrouter/anthropic/claude-sonnet-4.6": {
82828
+ "openrouter/x-ai/grok-build-0.1": {
81683
82829
  input: ["text", "image"],
81684
82830
  reasoning: true,
81685
82831
  capabilities: {
81686
82832
  tools: true,
81687
- json: true
82833
+ json: true,
82834
+ thinkingLevels: [
82835
+ "off",
82836
+ "minimal",
82837
+ "low",
82838
+ "medium",
82839
+ "high"
82840
+ ],
82841
+ defaultThinkingLevel: "low",
82842
+ thinkingMode: "generic-reasoning",
82843
+ reasoningBudgetSupported: false
81688
82844
  },
81689
- contextWindow: 1e6,
81690
- maxTokens: 128e3,
82845
+ contextWindow: 256e3,
81691
82846
  source: "catalog",
81692
- refreshedAt: "2026-05-11T01:59:12.464Z"
82847
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81693
82848
  },
81694
- "openrouter/google/gemini-3.1-flash-lite": {
81695
- input: ["text", "image"],
82849
+ "openrouter/z-ai/glm-5.2": {
82850
+ input: ["text"],
81696
82851
  reasoning: true,
81697
82852
  capabilities: {
81698
82853
  tools: true,
81699
- json: true
82854
+ json: true,
82855
+ thinkingLevels: ["off", "low"],
82856
+ defaultThinkingLevel: "low",
82857
+ thinkingMode: "zai-binary",
82858
+ reasoningBudgetSupported: false
81700
82859
  },
81701
82860
  contextWindow: 1048576,
82861
+ maxTokens: 131072,
82862
+ source: "catalog",
82863
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82864
+ },
82865
+ "synthetic/hf:nvidia/nvidia-nemotron-3-super-120b-a12b-nvfp4": {
82866
+ input: ["text"],
82867
+ reasoning: true,
82868
+ capabilities: {
82869
+ tools: true,
82870
+ json: true,
82871
+ thinkingLevels: [
82872
+ "off",
82873
+ "minimal",
82874
+ "low",
82875
+ "medium",
82876
+ "high"
82877
+ ],
82878
+ defaultThinkingLevel: "low",
82879
+ thinkingMode: "generic-reasoning",
82880
+ reasoningBudgetSupported: false
82881
+ },
82882
+ contextWindow: 262144,
81702
82883
  maxTokens: 65536,
81703
82884
  source: "catalog",
81704
- refreshedAt: "2026-05-11T01:59:12.464Z"
82885
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81705
82886
  },
81706
- "openrouter/google/gemini-3.1-pro-preview": {
81707
- input: ["text", "image"],
82887
+ "synthetic/hf:openai/gpt-oss-120b": {
82888
+ input: ["text"],
81708
82889
  reasoning: true,
81709
82890
  capabilities: {
81710
82891
  tools: true,
81711
- json: true
82892
+ json: true,
82893
+ thinkingLevels: [
82894
+ "off",
82895
+ "minimal",
82896
+ "low",
82897
+ "medium",
82898
+ "high"
82899
+ ],
82900
+ defaultThinkingLevel: "low",
82901
+ thinkingMode: "generic-reasoning",
82902
+ reasoningBudgetSupported: false
81712
82903
  },
81713
- contextWindow: 1048576,
82904
+ contextWindow: 131072,
81714
82905
  maxTokens: 65536,
81715
82906
  source: "catalog",
81716
- refreshedAt: "2026-05-11T01:59:12.464Z"
82907
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81717
82908
  },
81718
- "openrouter/minimax/minimax-m2.7": {
82909
+ "synthetic/hf:zai-org/glm-4.7-flash": {
81719
82910
  input: ["text"],
81720
82911
  reasoning: true,
81721
82912
  capabilities: {
81722
82913
  tools: true,
81723
- json: true
82914
+ json: true,
82915
+ thinkingLevels: ["off", "low"],
82916
+ defaultThinkingLevel: "low",
82917
+ thinkingMode: "zai-binary",
82918
+ reasoningBudgetSupported: false
81724
82919
  },
81725
82920
  contextWindow: 196608,
81726
- maxTokens: 131072,
82921
+ maxTokens: 65536,
81727
82922
  source: "catalog",
81728
- refreshedAt: "2026-05-11T01:59:12.464Z"
82923
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81729
82924
  },
81730
- "openrouter/mistralai/mistral-medium-3-5": {
82925
+ "venice/claude-opus-4-7": {
81731
82926
  input: ["text", "image"],
81732
82927
  reasoning: true,
81733
82928
  capabilities: {
81734
82929
  tools: true,
81735
- json: true
82930
+ json: true,
82931
+ audio: false,
82932
+ video: false,
82933
+ reasoningBudgetSupported: false
81736
82934
  },
81737
- contextWindow: 262144,
82935
+ contextWindow: 1e6,
82936
+ maxTokens: 128e3,
81738
82937
  source: "catalog",
81739
- refreshedAt: "2026-05-11T01:59:12.464Z"
82938
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81740
82939
  },
81741
- "openrouter/moonshotai/kimi-k2.6": {
82940
+ "venice/claude-sonnet-4-6": {
81742
82941
  input: ["text", "image"],
81743
82942
  reasoning: true,
81744
82943
  capabilities: {
81745
82944
  tools: true,
81746
- json: true
82945
+ json: true,
82946
+ audio: false,
82947
+ video: false,
82948
+ reasoningBudgetSupported: false
81747
82949
  },
81748
- contextWindow: 262144,
81749
- maxTokens: 16384,
82950
+ contextWindow: 1e6,
82951
+ maxTokens: 64e3,
81750
82952
  source: "catalog",
81751
- refreshedAt: "2026-05-11T01:59:12.464Z"
82953
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81752
82954
  },
81753
- "openrouter/openai/gpt-5-codex": {
81754
- input: ["text", "image"],
82955
+ "venice/deepseek-v4-flash": {
82956
+ input: ["text"],
81755
82957
  reasoning: true,
81756
82958
  capabilities: {
81757
82959
  tools: true,
81758
- json: true
82960
+ json: true,
82961
+ audio: false,
82962
+ video: false,
82963
+ reasoningBudgetSupported: false
81759
82964
  },
81760
- contextWindow: 4e5,
81761
- maxTokens: 128e3,
82965
+ contextWindow: 1e6,
82966
+ maxTokens: 32768,
81762
82967
  source: "catalog",
81763
- refreshedAt: "2026-05-11T01:59:12.464Z"
82968
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81764
82969
  },
81765
- "openrouter/openai/gpt-5.4": {
81766
- input: ["text", "image"],
82970
+ "venice/deepseek-v4-pro": {
82971
+ input: ["text"],
81767
82972
  reasoning: true,
81768
82973
  capabilities: {
81769
82974
  tools: true,
81770
- json: true
82975
+ json: true,
82976
+ audio: false,
82977
+ video: false,
82978
+ reasoningBudgetSupported: false
81771
82979
  },
81772
- contextWindow: 105e4,
81773
- maxTokens: 128e3,
82980
+ contextWindow: 1e6,
82981
+ maxTokens: 32768,
81774
82982
  source: "catalog",
81775
- refreshedAt: "2026-05-11T01:59:12.464Z"
82983
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81776
82984
  },
81777
- "openrouter/openai/gpt-5.4-mini": {
82985
+ "venice/gemini-3-1-pro-preview": {
81778
82986
  input: ["text", "image"],
81779
82987
  reasoning: true,
81780
82988
  capabilities: {
81781
82989
  tools: true,
81782
- json: true
82990
+ json: true,
82991
+ audio: true,
82992
+ video: true,
82993
+ thinkingLevels: [
82994
+ "low",
82995
+ "medium",
82996
+ "high"
82997
+ ],
82998
+ defaultThinkingLevel: "low",
82999
+ thinkingMode: "generic-reasoning",
83000
+ reasoningBudgetSupported: false
81783
83001
  },
81784
- contextWindow: 4e5,
81785
- maxTokens: 128e3,
83002
+ contextWindow: 1e6,
83003
+ maxTokens: 32768,
81786
83004
  source: "catalog",
81787
- refreshedAt: "2026-05-11T01:59:12.464Z"
83005
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81788
83006
  },
81789
- "openrouter/openai/gpt-5.4-nano": {
83007
+ "venice/google-gemma-4-31b-it": {
81790
83008
  input: ["text", "image"],
81791
83009
  reasoning: true,
81792
83010
  capabilities: {
81793
83011
  tools: true,
81794
- json: true
83012
+ json: true,
83013
+ audio: false,
83014
+ video: true,
83015
+ thinkingLevels: [
83016
+ "off",
83017
+ "low",
83018
+ "medium",
83019
+ "high"
83020
+ ],
83021
+ defaultThinkingLevel: "low",
83022
+ thinkingMode: "generic-reasoning",
83023
+ reasoningBudgetSupported: false
81795
83024
  },
81796
- contextWindow: 4e5,
81797
- maxTokens: 128e3,
83025
+ contextWindow: 256e3,
83026
+ maxTokens: 8192,
81798
83027
  source: "catalog",
81799
- refreshedAt: "2026-05-11T01:59:12.464Z"
83028
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81800
83029
  },
81801
- "openrouter/openai/gpt-5.4-pro": {
83030
+ "venice/grok-4-20": {
81802
83031
  input: ["text", "image"],
81803
83032
  reasoning: true,
81804
83033
  capabilities: {
81805
83034
  tools: true,
81806
- json: true
83035
+ json: true,
83036
+ audio: false,
83037
+ video: false,
83038
+ reasoningBudgetSupported: false
81807
83039
  },
81808
- contextWindow: 105e4,
83040
+ contextWindow: 2e6,
81809
83041
  maxTokens: 128e3,
81810
83042
  source: "catalog",
81811
- refreshedAt: "2026-05-11T01:59:12.464Z"
83043
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81812
83044
  },
81813
- "openrouter/openai/gpt-5.5": {
83045
+ "venice/kimi-k2-6": {
81814
83046
  input: ["text", "image"],
81815
83047
  reasoning: true,
81816
83048
  capabilities: {
81817
83049
  tools: true,
81818
- json: true
83050
+ json: true,
83051
+ audio: false,
83052
+ video: false,
83053
+ thinkingLevels: [
83054
+ "off",
83055
+ "low",
83056
+ "medium",
83057
+ "high"
83058
+ ],
83059
+ defaultThinkingLevel: "high",
83060
+ thinkingMode: "generic-reasoning",
83061
+ reasoningBudgetSupported: false
81819
83062
  },
81820
- contextWindow: 105e4,
81821
- maxTokens: 128e3,
83063
+ contextWindow: 256e3,
83064
+ maxTokens: 65536,
81822
83065
  source: "catalog",
81823
- refreshedAt: "2026-05-11T01:59:12.464Z"
83066
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81824
83067
  },
81825
- "openrouter/openai/gpt-5.5-pro": {
81826
- input: ["text", "image"],
83068
+ "venice/minimax-m27": {
83069
+ input: ["text"],
81827
83070
  reasoning: true,
81828
83071
  capabilities: {
81829
83072
  tools: true,
81830
- json: true
83073
+ json: false,
83074
+ audio: false,
83075
+ video: false,
83076
+ thinkingLevels: [
83077
+ "off",
83078
+ "low",
83079
+ "medium",
83080
+ "high"
83081
+ ],
83082
+ defaultThinkingLevel: "low",
83083
+ thinkingMode: "generic-reasoning",
83084
+ reasoningBudgetSupported: false
81831
83085
  },
81832
- contextWindow: 105e4,
81833
- maxTokens: 128e3,
83086
+ contextWindow: 198e3,
83087
+ maxTokens: 32768,
81834
83088
  source: "catalog",
81835
- refreshedAt: "2026-05-11T01:59:12.464Z"
83089
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81836
83090
  },
81837
- "openrouter/x-ai/grok-4.3": {
83091
+ "venice/mistral-small-2603": {
81838
83092
  input: ["text", "image"],
81839
83093
  reasoning: true,
81840
83094
  capabilities: {
81841
83095
  tools: true,
81842
- json: true
83096
+ json: true,
83097
+ audio: false,
83098
+ video: false,
83099
+ thinkingLevels: ["off", "high"],
83100
+ defaultThinkingLevel: "high",
83101
+ thinkingMode: "generic-reasoning",
83102
+ reasoningBudgetSupported: false
81843
83103
  },
81844
- contextWindow: 1e6,
81845
- source: "catalog",
81846
- refreshedAt: "2026-05-11T01:59:12.464Z"
81847
- },
81848
- "venice/claude-opus-4-7": {
81849
- input: ["text"],
81850
- contextWindow: 1e6,
83104
+ contextWindow: 256e3,
83105
+ maxTokens: 65536,
81851
83106
  source: "catalog",
81852
- refreshedAt: "2026-05-11T01:59:12.464Z"
83107
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81853
83108
  },
81854
- "venice/claude-sonnet-4-6": {
81855
- input: ["text"],
83109
+ "venice/openai-gpt-54": {
83110
+ input: ["text", "image"],
83111
+ reasoning: true,
83112
+ capabilities: {
83113
+ tools: true,
83114
+ json: true,
83115
+ audio: false,
83116
+ video: false,
83117
+ thinkingLevels: [
83118
+ "off",
83119
+ "minimal",
83120
+ "low",
83121
+ "medium",
83122
+ "high"
83123
+ ],
83124
+ defaultThinkingLevel: "high",
83125
+ thinkingMode: "generic-reasoning",
83126
+ reasoningBudgetSupported: false
83127
+ },
81856
83128
  contextWindow: 1e6,
83129
+ maxTokens: 131072,
81857
83130
  source: "catalog",
81858
- refreshedAt: "2026-05-11T01:59:12.464Z"
83131
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81859
83132
  },
81860
- "venice/deepseek-v4-pro": {
81861
- input: ["text"],
81862
- contextWindow: 1e6,
83133
+ "venice/openai-gpt-54-mini": {
83134
+ input: ["text", "image"],
83135
+ reasoning: true,
83136
+ capabilities: {
83137
+ tools: true,
83138
+ json: true,
83139
+ audio: false,
83140
+ video: false,
83141
+ thinkingLevels: [
83142
+ "off",
83143
+ "minimal",
83144
+ "low",
83145
+ "medium",
83146
+ "high"
83147
+ ],
83148
+ defaultThinkingLevel: "high",
83149
+ thinkingMode: "generic-reasoning",
83150
+ reasoningBudgetSupported: false
83151
+ },
83152
+ contextWindow: 4e5,
83153
+ maxTokens: 128e3,
81863
83154
  source: "catalog",
81864
- refreshedAt: "2026-05-11T01:59:12.464Z"
83155
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81865
83156
  },
81866
- "venice/gemini-3-1-pro-preview": {
81867
- input: ["text"],
83157
+ "venice/openai-gpt-55": {
83158
+ input: ["text", "image"],
83159
+ reasoning: true,
83160
+ capabilities: {
83161
+ tools: true,
83162
+ json: true,
83163
+ audio: false,
83164
+ video: false,
83165
+ thinkingLevels: [
83166
+ "off",
83167
+ "low",
83168
+ "medium",
83169
+ "high",
83170
+ "xhigh"
83171
+ ],
83172
+ defaultThinkingLevel: "high",
83173
+ thinkingMode: "generic-reasoning",
83174
+ reasoningBudgetSupported: false
83175
+ },
81868
83176
  contextWindow: 1e6,
83177
+ maxTokens: 131072,
81869
83178
  source: "catalog",
81870
- refreshedAt: "2026-05-11T01:59:12.464Z"
83179
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81871
83180
  },
81872
- "venice/grok-4-3": {
81873
- input: ["text"],
83181
+ "venice/openai-gpt-55-pro": {
83182
+ input: ["text", "image"],
83183
+ reasoning: true,
83184
+ capabilities: {
83185
+ tools: true,
83186
+ json: true,
83187
+ audio: false,
83188
+ video: false,
83189
+ thinkingLevels: [
83190
+ "medium",
83191
+ "high",
83192
+ "xhigh"
83193
+ ],
83194
+ defaultThinkingLevel: "medium",
83195
+ thinkingMode: "generic-reasoning",
83196
+ reasoningBudgetSupported: false
83197
+ },
81874
83198
  contextWindow: 1e6,
83199
+ maxTokens: 128e3,
81875
83200
  source: "catalog",
81876
- refreshedAt: "2026-05-11T01:59:12.464Z"
81877
- },
81878
- "venice/kimi-k2-6": {
81879
- input: ["text"],
81880
- contextWindow: 256e3,
81881
- source: "catalog",
81882
- refreshedAt: "2026-05-11T01:59:12.464Z"
81883
- },
81884
- "venice/minimax-m27": {
81885
- input: ["text"],
81886
- contextWindow: 198e3,
81887
- source: "catalog",
81888
- refreshedAt: "2026-05-11T01:59:12.464Z"
83201
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81889
83202
  },
81890
- "venice/openai-gpt-54": {
83203
+ "venice/openai-gpt-oss-120b": {
81891
83204
  input: ["text"],
81892
- contextWindow: 1e6,
83205
+ reasoning: true,
83206
+ capabilities: {
83207
+ tools: true,
83208
+ json: false,
83209
+ audio: false,
83210
+ video: false,
83211
+ thinkingLevels: [
83212
+ "off",
83213
+ "low",
83214
+ "medium",
83215
+ "high"
83216
+ ],
83217
+ defaultThinkingLevel: "low",
83218
+ thinkingMode: "generic-reasoning",
83219
+ reasoningBudgetSupported: false
83220
+ },
83221
+ contextWindow: 128e3,
83222
+ maxTokens: 16384,
81893
83223
  source: "catalog",
81894
- refreshedAt: "2026-05-11T01:59:12.464Z"
83224
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81895
83225
  },
81896
- "venice/openai-gpt-55": {
81897
- input: ["text"],
83226
+ "venice/qwen-3-6-plus": {
83227
+ input: ["text", "image"],
83228
+ reasoning: true,
83229
+ capabilities: {
83230
+ tools: true,
83231
+ json: true,
83232
+ audio: false,
83233
+ video: true,
83234
+ reasoningBudgetSupported: false
83235
+ },
81898
83236
  contextWindow: 1e6,
83237
+ maxTokens: 65536,
81899
83238
  source: "catalog",
81900
- refreshedAt: "2026-05-11T01:59:12.464Z"
83239
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81901
83240
  },
81902
- "venice/openai-gpt-oss-120b": {
83241
+ "venice/qwen3-235b-a22b-thinking-2507": {
81903
83242
  input: ["text"],
83243
+ reasoning: true,
83244
+ capabilities: {
83245
+ tools: true,
83246
+ json: true,
83247
+ audio: false,
83248
+ video: false,
83249
+ thinkingLevels: [
83250
+ "low",
83251
+ "medium",
83252
+ "high"
83253
+ ],
83254
+ defaultThinkingLevel: "low",
83255
+ thinkingMode: "generic-reasoning",
83256
+ reasoningBudgetSupported: false
83257
+ },
81904
83258
  contextWindow: 128e3,
83259
+ maxTokens: 16384,
81905
83260
  source: "catalog",
81906
- refreshedAt: "2026-05-11T01:59:12.464Z"
81907
- },
81908
- "venice/qwen-3-6-plus": {
81909
- input: ["text"],
81910
- contextWindow: 1e6,
81911
- source: "catalog",
81912
- refreshedAt: "2026-05-11T01:59:12.464Z"
83261
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81913
83262
  },
81914
83263
  "venice/qwen3-5-397b-a17b": {
81915
- input: ["text"],
83264
+ input: ["text", "image"],
83265
+ reasoning: true,
83266
+ capabilities: {
83267
+ tools: true,
83268
+ json: true,
83269
+ audio: false,
83270
+ video: true,
83271
+ thinkingLevels: [
83272
+ "off",
83273
+ "low",
83274
+ "medium",
83275
+ "high"
83276
+ ],
83277
+ defaultThinkingLevel: "low",
83278
+ thinkingMode: "generic-reasoning",
83279
+ reasoningBudgetSupported: false
83280
+ },
81916
83281
  contextWindow: 128e3,
83282
+ maxTokens: 32768,
81917
83283
  source: "catalog",
81918
- refreshedAt: "2026-05-11T01:59:12.464Z"
83284
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81919
83285
  },
81920
83286
  "venice/qwen3-coder-480b-a35b-instruct-turbo": {
81921
83287
  input: ["text"],
83288
+ reasoning: false,
83289
+ capabilities: {
83290
+ tools: true,
83291
+ json: true,
83292
+ audio: false,
83293
+ video: false,
83294
+ reasoningBudgetSupported: false
83295
+ },
81922
83296
  contextWindow: 256e3,
83297
+ maxTokens: 65536,
81923
83298
  source: "catalog",
81924
- refreshedAt: "2026-05-11T01:59:12.464Z"
83299
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81925
83300
  },
81926
83301
  "venice/qwen3-vl-235b-a22b": {
81927
- input: ["text"],
81928
- contextWindow: 256e3,
83302
+ input: ["text", "image"],
83303
+ reasoning: false,
83304
+ capabilities: {
83305
+ tools: true,
83306
+ json: true,
83307
+ audio: false,
83308
+ video: false,
83309
+ reasoningBudgetSupported: false
83310
+ },
83311
+ contextWindow: 128e3,
83312
+ maxTokens: 16384,
81929
83313
  source: "catalog",
81930
- refreshedAt: "2026-05-11T01:59:12.464Z"
83314
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81931
83315
  },
81932
83316
  "venice/venice-uncensored-1-2": {
81933
- input: ["text"],
83317
+ input: ["text", "image"],
83318
+ reasoning: false,
83319
+ capabilities: {
83320
+ tools: true,
83321
+ json: true,
83322
+ audio: false,
83323
+ video: false,
83324
+ reasoningBudgetSupported: false
83325
+ },
81934
83326
  contextWindow: 128e3,
83327
+ maxTokens: 8192,
81935
83328
  source: "catalog",
81936
- refreshedAt: "2026-05-11T01:59:12.464Z"
83329
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81937
83330
  },
81938
83331
  "venice/zai-org-glm-5-1": {
81939
83332
  input: ["text"],
81940
- contextWindow: 2e5,
81941
- source: "catalog",
81942
- refreshedAt: "2026-05-11T01:59:12.464Z"
81943
- },
81944
- "vercel-ai-gateway/anthropic/claude-haiku-4.5": {
81945
- input: ["text", "image"],
81946
83333
  reasoning: true,
81947
- tools: true,
83334
+ capabilities: {
83335
+ tools: true,
83336
+ json: true,
83337
+ audio: false,
83338
+ video: false,
83339
+ thinkingLevels: [
83340
+ "off",
83341
+ "low",
83342
+ "medium",
83343
+ "high"
83344
+ ],
83345
+ defaultThinkingLevel: "low",
83346
+ thinkingMode: "generic-reasoning",
83347
+ reasoningBudgetSupported: false
83348
+ },
81948
83349
  contextWindow: 2e5,
81949
- maxTokens: 64e3,
83350
+ maxTokens: 8e4,
81950
83351
  source: "catalog",
81951
- refreshedAt: "2026-05-11T01:59:12.464Z"
83352
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81952
83353
  },
81953
- "vercel-ai-gateway/anthropic/claude-opus-4.7": {
83354
+ "vercel-ai-gateway/anthropic/claude-fable-5": {
81954
83355
  input: ["text", "image"],
81955
83356
  reasoning: true,
81956
- tools: true,
83357
+ capabilities: {
83358
+ tools: true,
83359
+ thinkingLevels: [
83360
+ "off",
83361
+ "minimal",
83362
+ "low",
83363
+ "medium",
83364
+ "high"
83365
+ ],
83366
+ defaultThinkingLevel: "low",
83367
+ thinkingMode: "anthropic-adaptive",
83368
+ reasoningBudgetSupported: false
83369
+ },
81957
83370
  contextWindow: 1e6,
81958
83371
  maxTokens: 128e3,
81959
83372
  source: "catalog",
81960
- refreshedAt: "2026-05-11T01:59:12.464Z"
83373
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81961
83374
  },
81962
- "vercel-ai-gateway/anthropic/claude-opus-4.6": {
83375
+ "vercel-ai-gateway/anthropic/claude-haiku-4.5": {
81963
83376
  input: ["text", "image"],
81964
83377
  reasoning: true,
81965
- tools: true,
81966
- contextWindow: 1e6,
81967
- maxTokens: 128e3,
83378
+ capabilities: {
83379
+ tools: true,
83380
+ thinkingLevels: [
83381
+ "off",
83382
+ "minimal",
83383
+ "low",
83384
+ "medium",
83385
+ "high"
83386
+ ],
83387
+ defaultThinkingLevel: "low",
83388
+ thinkingMode: "anthropic-thinking-budget",
83389
+ reasoningBudgetSupported: true
83390
+ },
83391
+ contextWindow: 2e5,
83392
+ maxTokens: 64e3,
81968
83393
  source: "catalog",
81969
- refreshedAt: "2026-05-11T01:59:12.464Z"
83394
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81970
83395
  },
81971
- "vercel-ai-gateway/anthropic/claude-sonnet-4.6": {
83396
+ "vercel-ai-gateway/anthropic/claude-opus-4.8": {
81972
83397
  input: ["text", "image"],
81973
83398
  reasoning: true,
81974
- tools: true,
83399
+ capabilities: {
83400
+ tools: true,
83401
+ thinkingLevels: [
83402
+ "off",
83403
+ "minimal",
83404
+ "low",
83405
+ "medium",
83406
+ "high"
83407
+ ],
83408
+ defaultThinkingLevel: "low",
83409
+ thinkingMode: "anthropic-adaptive",
83410
+ reasoningBudgetSupported: false
83411
+ },
81975
83412
  contextWindow: 1e6,
81976
83413
  maxTokens: 128e3,
81977
83414
  source: "catalog",
81978
- refreshedAt: "2026-05-11T01:59:12.464Z"
81979
- },
81980
- "vercel-ai-gateway/anthropic/claude-sonnet-4.5": {
81981
- input: ["text", "image"],
81982
- reasoning: true,
81983
- tools: true,
81984
- contextWindow: 1e6,
81985
- maxTokens: 64e3,
81986
- source: "catalog",
81987
- refreshedAt: "2026-05-11T01:59:12.464Z"
83415
+ refreshedAt: "2026-07-12T05:03:49.877Z"
81988
83416
  },
81989
- "vercel-ai-gateway/google/gemini-2.5-flash": {
83417
+ "vercel-ai-gateway/anthropic/claude-sonnet-5": {
81990
83418
  input: ["text", "image"],
81991
83419
  reasoning: true,
81992
- tools: true,
83420
+ capabilities: {
83421
+ tools: true,
83422
+ thinkingLevels: [
83423
+ "off",
83424
+ "minimal",
83425
+ "low",
83426
+ "medium",
83427
+ "high"
83428
+ ],
83429
+ defaultThinkingLevel: "low",
83430
+ thinkingMode: "anthropic-adaptive",
83431
+ reasoningBudgetSupported: false
83432
+ },
81993
83433
  contextWindow: 1e6,
81994
- maxTokens: 65536,
81995
- source: "catalog",
81996
- refreshedAt: "2026-05-11T01:59:12.464Z"
81997
- },
81998
- "vercel-ai-gateway/google/gemini-2.5-pro": {
81999
- input: ["text", "image"],
82000
- reasoning: true,
82001
- tools: true,
82002
- contextWindow: 1048576,
82003
- maxTokens: 65536,
83434
+ maxTokens: 128e3,
82004
83435
  source: "catalog",
82005
- refreshedAt: "2026-05-11T01:59:12.464Z"
83436
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82006
83437
  },
82007
- "vercel-ai-gateway/google/gemini-3-flash": {
83438
+ "vercel-ai-gateway/google/gemini-3.1-flash-lite": {
82008
83439
  input: ["text", "image"],
82009
83440
  reasoning: true,
82010
- tools: true,
83441
+ capabilities: {
83442
+ tools: true,
83443
+ thinkingLevels: [
83444
+ "off",
83445
+ "minimal",
83446
+ "low",
83447
+ "medium",
83448
+ "high"
83449
+ ],
83450
+ defaultThinkingLevel: "low",
83451
+ thinkingMode: "google-thinking-budget",
83452
+ reasoningBudgetSupported: true
83453
+ },
82011
83454
  contextWindow: 1e6,
82012
83455
  maxTokens: 65e3,
82013
83456
  source: "catalog",
82014
- refreshedAt: "2026-05-11T01:59:12.464Z"
83457
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82015
83458
  },
82016
- "vercel-ai-gateway/google/gemini-3.1-flash-lite": {
83459
+ "vercel-ai-gateway/google/gemini-3.1-pro-preview": {
82017
83460
  input: ["text", "image"],
82018
83461
  reasoning: true,
82019
- tools: true,
83462
+ capabilities: {
83463
+ tools: true,
83464
+ thinkingLevels: [
83465
+ "off",
83466
+ "minimal",
83467
+ "low",
83468
+ "medium",
83469
+ "high"
83470
+ ],
83471
+ defaultThinkingLevel: "low",
83472
+ thinkingMode: "google-thinking-budget",
83473
+ reasoningBudgetSupported: true
83474
+ },
82020
83475
  contextWindow: 1e6,
82021
- maxTokens: 65e3,
83476
+ maxTokens: 64e3,
82022
83477
  source: "catalog",
82023
- refreshedAt: "2026-05-11T01:59:12.464Z"
83478
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82024
83479
  },
82025
- "vercel-ai-gateway/google/gemini-3.1-pro-preview": {
83480
+ "vercel-ai-gateway/google/gemini-3.5-flash": {
82026
83481
  input: ["text", "image"],
82027
83482
  reasoning: true,
82028
- tools: true,
83483
+ capabilities: {
83484
+ tools: true,
83485
+ thinkingLevels: [
83486
+ "off",
83487
+ "minimal",
83488
+ "low",
83489
+ "medium",
83490
+ "high"
83491
+ ],
83492
+ defaultThinkingLevel: "low",
83493
+ thinkingMode: "google-thinking-budget",
83494
+ reasoningBudgetSupported: true
83495
+ },
82029
83496
  contextWindow: 1e6,
82030
83497
  maxTokens: 64e3,
82031
83498
  source: "catalog",
82032
- refreshedAt: "2026-05-11T01:59:12.464Z"
83499
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82033
83500
  },
82034
83501
  "vercel-ai-gateway/minimax/minimax-m2.7": {
82035
- input: ["text", "image"],
83502
+ input: ["text"],
82036
83503
  reasoning: true,
82037
- tools: true,
83504
+ capabilities: {
83505
+ tools: true,
83506
+ thinkingLevels: [
83507
+ "off",
83508
+ "minimal",
83509
+ "low",
83510
+ "medium",
83511
+ "high"
83512
+ ],
83513
+ defaultThinkingLevel: "low",
83514
+ thinkingMode: "generic-reasoning",
83515
+ reasoningBudgetSupported: false
83516
+ },
82038
83517
  contextWindow: 204800,
82039
83518
  maxTokens: 131e3,
82040
83519
  source: "catalog",
82041
- refreshedAt: "2026-05-11T01:59:12.464Z"
83520
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82042
83521
  },
82043
83522
  "vercel-ai-gateway/minimax/minimax-m2.7-highspeed": {
82044
- input: ["text", "image"],
83523
+ input: ["text"],
82045
83524
  reasoning: true,
82046
- tools: true,
83525
+ capabilities: {
83526
+ tools: true,
83527
+ thinkingLevels: [
83528
+ "off",
83529
+ "minimal",
83530
+ "low",
83531
+ "medium",
83532
+ "high"
83533
+ ],
83534
+ defaultThinkingLevel: "low",
83535
+ thinkingMode: "generic-reasoning",
83536
+ reasoningBudgetSupported: false
83537
+ },
82047
83538
  contextWindow: 204800,
82048
83539
  maxTokens: 131100,
82049
83540
  source: "catalog",
82050
- refreshedAt: "2026-05-11T01:59:12.464Z"
82051
- },
82052
- "vercel-ai-gateway/mistral/devstral-2": {
82053
- input: ["text"],
82054
- tools: true,
82055
- contextWindow: 256e3,
82056
- maxTokens: 256e3,
82057
- source: "catalog",
82058
- refreshedAt: "2026-05-11T01:59:12.464Z"
83541
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82059
83542
  },
82060
- "vercel-ai-gateway/mistral/mistral-large-3": {
83543
+ "vercel-ai-gateway/mistral/mistral-medium-3.5": {
82061
83544
  input: ["text", "image"],
82062
- tools: false,
83545
+ reasoning: true,
83546
+ capabilities: {
83547
+ tools: true,
83548
+ thinkingLevels: [
83549
+ "off",
83550
+ "minimal",
83551
+ "low",
83552
+ "medium",
83553
+ "high"
83554
+ ],
83555
+ defaultThinkingLevel: "low",
83556
+ thinkingMode: "generic-reasoning",
83557
+ reasoningBudgetSupported: false
83558
+ },
82063
83559
  contextWindow: 256e3,
82064
83560
  maxTokens: 256e3,
82065
83561
  source: "catalog",
82066
- refreshedAt: "2026-05-11T01:59:12.464Z"
82067
- },
82068
- "vercel-ai-gateway/mistral/mistral-medium": {
82069
- input: ["text", "image"],
82070
- tools: true,
82071
- contextWindow: 128e3,
82072
- maxTokens: 64e3,
82073
- source: "catalog",
82074
- refreshedAt: "2026-05-11T01:59:12.464Z"
83562
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82075
83563
  },
82076
83564
  "vercel-ai-gateway/moonshotai/kimi-k2.6": {
82077
83565
  input: ["text", "image"],
82078
83566
  reasoning: true,
82079
- tools: true,
83567
+ capabilities: {
83568
+ tools: true,
83569
+ thinkingLevels: [
83570
+ "off",
83571
+ "minimal",
83572
+ "low",
83573
+ "medium",
83574
+ "high"
83575
+ ],
83576
+ defaultThinkingLevel: "low",
83577
+ thinkingMode: "moonshot-thinking",
83578
+ reasoningBudgetSupported: false
83579
+ },
82080
83580
  contextWindow: 262e3,
82081
83581
  maxTokens: 262e3,
82082
83582
  source: "catalog",
82083
- refreshedAt: "2026-05-11T01:59:12.464Z"
82084
- },
82085
- "vercel-ai-gateway/openai/gpt-5-codex": {
82086
- input: ["text"],
82087
- reasoning: true,
82088
- tools: true,
82089
- contextWindow: 4e5,
82090
- maxTokens: 128e3,
82091
- source: "catalog",
82092
- refreshedAt: "2026-05-11T01:59:12.464Z"
82093
- },
82094
- "vercel-ai-gateway/openai/gpt-5.3-codex": {
82095
- input: ["text", "image"],
82096
- reasoning: true,
82097
- tools: true,
82098
- contextWindow: 4e5,
82099
- maxTokens: 128e3,
82100
- source: "catalog",
82101
- refreshedAt: "2026-05-11T01:59:12.464Z"
83583
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82102
83584
  },
82103
83585
  "vercel-ai-gateway/openai/gpt-5.4": {
82104
83586
  input: ["text", "image"],
82105
83587
  reasoning: true,
82106
- tools: true,
83588
+ capabilities: {
83589
+ tools: true,
83590
+ thinkingLevels: [
83591
+ "off",
83592
+ "minimal",
83593
+ "low",
83594
+ "medium",
83595
+ "high",
83596
+ "xhigh"
83597
+ ],
83598
+ defaultThinkingLevel: "low",
83599
+ thinkingMode: "openai-reasoning-effort",
83600
+ reasoningBudgetSupported: false
83601
+ },
82107
83602
  contextWindow: 105e4,
82108
83603
  maxTokens: 128e3,
82109
83604
  source: "catalog",
82110
- refreshedAt: "2026-05-11T01:59:12.464Z"
83605
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82111
83606
  },
82112
83607
  "vercel-ai-gateway/openai/gpt-5.4-mini": {
82113
83608
  input: ["text", "image"],
82114
83609
  reasoning: true,
82115
- tools: true,
83610
+ capabilities: {
83611
+ tools: true,
83612
+ thinkingLevels: [
83613
+ "off",
83614
+ "minimal",
83615
+ "low",
83616
+ "medium",
83617
+ "high",
83618
+ "xhigh"
83619
+ ],
83620
+ defaultThinkingLevel: "low",
83621
+ thinkingMode: "openai-reasoning-effort",
83622
+ reasoningBudgetSupported: false
83623
+ },
82116
83624
  contextWindow: 4e5,
82117
83625
  maxTokens: 128e3,
82118
83626
  source: "catalog",
82119
- refreshedAt: "2026-05-11T01:59:12.464Z"
83627
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82120
83628
  },
82121
83629
  "vercel-ai-gateway/openai/gpt-5.4-nano": {
82122
83630
  input: ["text", "image"],
82123
83631
  reasoning: true,
82124
- tools: true,
83632
+ capabilities: {
83633
+ tools: true,
83634
+ thinkingLevels: [
83635
+ "off",
83636
+ "minimal",
83637
+ "low",
83638
+ "medium",
83639
+ "high",
83640
+ "xhigh"
83641
+ ],
83642
+ defaultThinkingLevel: "low",
83643
+ thinkingMode: "openai-reasoning-effort",
83644
+ reasoningBudgetSupported: false
83645
+ },
82125
83646
  contextWindow: 4e5,
82126
83647
  maxTokens: 128e3,
82127
83648
  source: "catalog",
82128
- refreshedAt: "2026-05-11T01:59:12.464Z"
82129
- },
82130
- "vercel-ai-gateway/openai/gpt-5.4-pro": {
82131
- input: ["text", "image"],
82132
- reasoning: true,
82133
- tools: true,
82134
- contextWindow: 105e4,
82135
- maxTokens: 128e3,
82136
- source: "catalog",
82137
- refreshedAt: "2026-05-11T01:59:12.464Z"
83649
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82138
83650
  },
82139
83651
  "vercel-ai-gateway/openai/gpt-5.5": {
82140
83652
  input: ["text", "image"],
82141
83653
  reasoning: true,
82142
- tools: true,
82143
- contextWindow: 1e6,
82144
- maxTokens: 128e3,
82145
- source: "catalog",
82146
- refreshedAt: "2026-05-11T01:59:12.464Z"
82147
- },
82148
- "vercel-ai-gateway/openai/gpt-5.5-pro": {
82149
- input: ["text", "image"],
82150
- reasoning: true,
82151
- tools: true,
83654
+ capabilities: {
83655
+ tools: true,
83656
+ thinkingLevels: [
83657
+ "off",
83658
+ "minimal",
83659
+ "low",
83660
+ "medium",
83661
+ "high",
83662
+ "xhigh"
83663
+ ],
83664
+ defaultThinkingLevel: "low",
83665
+ thinkingMode: "openai-reasoning-effort",
83666
+ reasoningBudgetSupported: false
83667
+ },
82152
83668
  contextWindow: 1e6,
82153
83669
  maxTokens: 128e3,
82154
83670
  source: "catalog",
82155
- refreshedAt: "2026-05-11T01:59:12.464Z"
83671
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82156
83672
  },
82157
83673
  "vercel-ai-gateway/xai/grok-4.3": {
82158
83674
  input: ["text", "image"],
82159
83675
  reasoning: true,
82160
- tools: true,
83676
+ capabilities: {
83677
+ tools: true,
83678
+ thinkingLevels: [
83679
+ "off",
83680
+ "minimal",
83681
+ "low",
83682
+ "medium",
83683
+ "high"
83684
+ ],
83685
+ defaultThinkingLevel: "low",
83686
+ thinkingMode: "generic-reasoning",
83687
+ reasoningBudgetSupported: false
83688
+ },
82161
83689
  contextWindow: 1e6,
82162
83690
  maxTokens: 1e6,
82163
83691
  source: "catalog",
82164
- refreshedAt: "2026-05-11T01:59:12.464Z"
83692
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82165
83693
  },
82166
- "vercel-ai-gateway/xai/grok-code-fast-1": {
82167
- input: ["text"],
83694
+ "vercel-ai-gateway/xai/grok-build-0.1": {
83695
+ input: ["text", "image"],
82168
83696
  reasoning: true,
82169
- tools: true,
83697
+ capabilities: {
83698
+ tools: true,
83699
+ thinkingLevels: [
83700
+ "off",
83701
+ "minimal",
83702
+ "low",
83703
+ "medium",
83704
+ "high"
83705
+ ],
83706
+ defaultThinkingLevel: "low",
83707
+ thinkingMode: "generic-reasoning",
83708
+ reasoningBudgetSupported: false
83709
+ },
82170
83710
  contextWindow: 256e3,
82171
83711
  maxTokens: 256e3,
82172
83712
  source: "catalog",
82173
- refreshedAt: "2026-05-11T01:59:12.464Z"
83713
+ refreshedAt: "2026-07-12T05:03:49.877Z"
82174
83714
  }
82175
83715
  };
82176
83716
  function lookupRefreshedModelCapability(provider, model) {
82177
- const refreshed = REFRESHED_MODEL_CAPABILITIES[`${provider.trim()}/${model.trim()}`.toLowerCase()];
82178
- if (!refreshed || refreshed.tools === void 0 && refreshed.json === void 0) return refreshed;
82179
- return {
82180
- ...refreshed,
82181
- capabilities: {
82182
- ...refreshed.capabilities,
82183
- ...refreshed.tools === void 0 ? {} : { tools: refreshed.tools },
82184
- ...refreshed.json === void 0 ? {} : { json: refreshed.json }
82185
- }
82186
- };
83717
+ return REFRESHED_MODEL_CAPABILITIES[`${provider.trim()}/${model.trim()}`.toLowerCase()];
82187
83718
  }
82188
83719
 
82189
83720
  //#endregion
@@ -82345,11 +83876,29 @@ function runtimeCatalogRows(params) {
82345
83876
  }
82346
83877
  return rows;
82347
83878
  }
83879
+ function manifestCatalogRows() {
83880
+ return listProviderBrandManifests().flatMap((manifest) => manifest.models.recommended.flatMap((ref) => {
83881
+ const slash = ref.indexOf("/");
83882
+ if (slash <= 0 || slash === ref.length - 1) return [];
83883
+ const provider = normalizeModelCatalogProviderId(ref.slice(0, slash));
83884
+ const id = normalizeModelCatalogModelId(ref.slice(slash + 1));
83885
+ if (!provider || !id) return [];
83886
+ return [{
83887
+ id,
83888
+ name: id,
83889
+ provider,
83890
+ mergeKey: buildModelCatalogMergeKey(provider, id),
83891
+ source: "manifest",
83892
+ status: "stable",
83893
+ input: ["text"]
83894
+ }];
83895
+ }));
83896
+ }
82348
83897
  function providerConfigForRow(cfg, row) {
82349
83898
  return cfg.models?.providers?.[row.provider] ?? CURRENT_MODEL_PROVIDER_CATALOG[row.provider];
82350
83899
  }
82351
83900
  function buildFasedModelCatalogRows(params) {
82352
- return mergeModelCatalogRowsByAuthority([
83901
+ const discoveredRows = mergeModelCatalogRowsByAuthority([
82353
83902
  ...listCurrentModelCatalogRows(),
82354
83903
  ...providerPluginCatalogRows(params.providerPluginProviders),
82355
83904
  ...runtimeCatalogRows({
@@ -82358,6 +83907,9 @@ function buildFasedModelCatalogRows(params) {
82358
83907
  }),
82359
83908
  ...configuredProviderCatalogRows(params.config)
82360
83909
  ]);
83910
+ const discoveredKeys = new Set(discoveredRows.map((row) => row.mergeKey));
83911
+ const missingManifestRows = manifestCatalogRows().filter((row) => !discoveredKeys.has(row.mergeKey));
83912
+ return mergeModelCatalogRowsByAuthority([...discoveredRows, ...missingManifestRows]);
82361
83913
  }
82362
83914
  function buildFasedModelCatalogEntries(params) {
82363
83915
  return buildFasedModelCatalogRows({
@@ -82385,7 +83937,7 @@ function buildFasedModelCatalogEntries(params) {
82385
83937
  model,
82386
83938
  cfg: params.config,
82387
83939
  providerConfig,
82388
- recommended: row.source === "current-preview"
83940
+ recommended: isStandardProviderCatalogEntry(row)
82389
83941
  }) } : {}
82390
83942
  };
82391
83943
  });
@@ -82487,7 +84039,7 @@ const log$8 = createSubsystemLogger("model-catalog");
82487
84039
  let modelCatalogPromise = null;
82488
84040
  let hasLoggedModelCatalogError = false;
82489
84041
  let hasLoggedProviderCatalogError = false;
82490
- const defaultImportPiSdk = () => import("./pi-model-discovery-BQ6fFRBA.js").then((n) => n.a);
84042
+ const defaultImportPiSdk = () => import("./pi-model-discovery-l-xqaEd0.js").then((n) => n.a);
82491
84043
  let importPiSdk = defaultImportPiSdk;
82492
84044
  const CODEX_PROVIDER = "openai-codex";
82493
84045
  const OPENAI_PROVIDER = "openai";