@desplega.ai/agent-swarm 1.157.0 → 1.158.0

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 (256) hide show
  1. package/dist/{acp-adapter-qhqrk4q0.js → acp-adapter-xaq4n6pc.js} +1 -1
  2. package/dist/{actions-9rrg0zxm.js → actions-p9hz5yat.js} +15 -15
  3. package/dist/{app-enysy1zd.js → app-g26wdcz6.js} +4 -4
  4. package/dist/{artifact-td4q4dch.js → artifact-3v5t9jtg.js} +1 -1
  5. package/dist/{assistant-zegamy48.js → assistant-wydfqkb3.js} +16 -16
  6. package/dist/{boot-reembed-r6shx5qx.js → boot-reembed-g5ckg9yb.js} +6 -6
  7. package/dist/{boot-reembed-zfxb937k.js → boot-reembed-se8zmdcp.js} +5 -5
  8. package/dist/{boot-scrub-logs-k5y0se6r.js → boot-scrub-logs-wfxqan61.js} +3 -3
  9. package/dist/{seed-pricing-vqxa06qf.js → boot-seeds-s3q01xj3.js} +10 -10
  10. package/dist/{claude-adapter-5yc7hxwv.js → claude-adapter-tv2x4f36.js} +7 -7
  11. package/dist/{claude-managed-adapter-ea2aga6w.js → claude-managed-adapter-41b2s7fd.js} +2 -2
  12. package/dist/{claude-sdk-session-j4ywn3xf.js → claude-sdk-session-t442qz6f.js} +8 -8
  13. package/dist/{cli-e781c6f9.js → cli-0xjkj1j7.js} +1 -0
  14. package/dist/{cli-58rgvkt4.js → cli-1hkrch3k.js} +2 -2
  15. package/dist/{cli-yscm6cv8.js → cli-20cj37vt.js} +1866 -9
  16. package/dist/{cli-h0wdadsx.js → cli-4198qc9v.js} +7 -3
  17. package/dist/{cli-awwphhcs.js → cli-47m6dkd3.js} +362 -126
  18. package/dist/{cli-wb2zvbfg.js → cli-53sz8gkz.js} +1 -1
  19. package/dist/{cli-005pze6s.js → cli-5d10vd2m.js} +1 -1
  20. package/dist/{cli-v53rbqp3.js → cli-65hjmev5.js} +57 -17
  21. package/dist/{cli-scwq51gn.js → cli-68w09sjw.js} +7 -1
  22. package/dist/{cli-s98skd5r.js → cli-7gtvvpbh.js} +4 -4
  23. package/dist/{cli-y3nxwx0t.js → cli-7s3syk22.js} +18 -11
  24. package/dist/{cli-74h6f2bp.js → cli-8qmme6vd.js} +2 -2
  25. package/dist/{cli-wsed24mk.js → cli-987hg0aa.js} +2 -2
  26. package/dist/{cli-9n76jszt.js → cli-9httdpyq.js} +1 -1
  27. package/dist/{cli-f3va018d.js → cli-aky8tctm.js} +26 -93
  28. package/dist/{cli-sgyqyyxe.js → cli-c07r9a2m.js} +2 -1
  29. package/dist/{cli-c41wjx0r.js → cli-fgqxwrpv.js} +291 -12
  30. package/dist/{cli-01vfmq8c.js → cli-ftfvggzx.js} +607 -164
  31. package/dist/{cli-ytxs7mn1.js → cli-g8djp6qe.js} +17 -0
  32. package/dist/{cli-avkd6mqv.js → cli-h967nb6r.js} +551 -0
  33. package/dist/{cli-r9ee9c4w.js → cli-j55n64b6.js} +23 -22
  34. package/dist/{cli-9p33cz9h.js → cli-j57qkrpq.js} +86 -28
  35. package/dist/{cli-tjmghmm5.js → cli-q67y4wzm.js} +6 -3
  36. package/dist/{cli-n6zq3kbd.js → cli-rj19hc34.js} +1 -1
  37. package/dist/{cli-jytrw2na.js → cli-rjehvrts.js} +4 -4
  38. package/dist/{cli-tpv97m71.js → cli-rqz8qbw7.js} +245 -75
  39. package/dist/{cli-p37sg0a9.js → cli-s8eet254.js} +1 -1
  40. package/dist/cli-t1ze64h3.js +811 -0
  41. package/dist/{cli-6jjzxv3b.js → cli-ws6rqycm.js} +3 -2
  42. package/dist/{cli-xf5b7y1f.js → cli-wscdvcqz.js} +13 -5
  43. package/dist/{cli-5j7bm4tb.js → cli-x24pshtq.js} +5 -5
  44. package/dist/{cli-nbp6m6gp.js → cli-xberxa1r.js} +51 -26
  45. package/dist/{cli-vx9p3qdt.js → cli-xhaeg2nc.js} +1 -1
  46. package/dist/cli.js +29 -15
  47. package/dist/{codex-adapter-gns3s6c3.js → codex-adapter-cnm8wk11.js} +5 -5
  48. package/dist/{codex-session-runner-gqnxys5w.js → codex-session-runner-gfg547zj.js} +5 -5
  49. package/dist/{commands-hxy2y2sp.js → commands-e3bn0p75.js} +3 -3
  50. package/dist/{db-w8ghhsgf.js → db-03v9kzr2.js} +17 -3
  51. package/dist/{dispatcher-cp1rknjz.js → dispatcher-nrmg8yht.js} +14 -14
  52. package/dist/{dsh-adapter-1dwg97zv.js → dsh-adapter-k03nfqa6.js} +2 -2
  53. package/dist/{handlers-egfhr351.js → handlers-aqcedbyb.js} +17 -17
  54. package/dist/{hook-x4kftwzt.js → hook-7vkskkre.js} +19 -11
  55. package/dist/{hook-fbxjqfjz.js → hook-ybvmrmhq.js} +4 -4
  56. package/dist/{http-c7jfx990.js → http-2eqa8t24.js} +432 -195
  57. package/dist/{index-4k9hct21.js → index-1yks3qcr.js} +14 -14
  58. package/dist/{index-jtvpgb8f.js → index-a3vn96n8.js} +30 -27
  59. package/dist/{index-dc2ek6bw.js → index-c6zsv1bd.js} +5 -5
  60. package/dist/{index-yy07ef2s.js → index-chgdkq36.js} +14 -14
  61. package/dist/{index-r6bty6tb.js → index-x71bvq0p.js} +15 -15
  62. package/dist/{keepalive-f7ekefyc.js → keepalive-vtkf5n99.js} +5 -5
  63. package/dist/{lead-h053syts.js → lead-h3sp357x.js} +26 -26
  64. package/dist/{maintenance-a3w6zs54.js → maintenance-jzeqtk3q.js} +6 -6
  65. package/dist/{oauth-refresh-sweep-vra1dhkd.js → oauth-refresh-sweep-qp3dzmdp.js} +4 -4
  66. package/dist/{onboard-mfgzeqxs.js → onboard-tmsp0qbz.js} +278 -81
  67. package/dist/{opencode-adapter-z64xjzec.js → opencode-adapter-x6x2da1z.js} +3 -3
  68. package/dist/{otel-impl-2ez6xk57.js → otel-impl-9mz73q65.js} +416 -301
  69. package/dist/{pi-mono-adapter-2b7mw16r.js → pi-mono-adapter-m6dvv0dz.js} +2 -2
  70. package/dist/{pricing-refresh-6sw65tck.js → pricing-refresh-v1cbr9te.js} +5 -5
  71. package/dist/{rbac-roles-nm6924sy.js → rbac-roles-c9wqz83x.js} +4 -4
  72. package/dist/{render-v2-f026j6c4.js → render-v2-gryrh9h8.js} +4 -4
  73. package/dist/{setup-w606fr1q.js → setup-q9720bt6.js} +2 -2
  74. package/dist/{virtual-modules-8qheft18.js → virtual-modules-3htpgn8x.js} +1 -1
  75. package/dist/{work-objects-ezmggdne.js → work-objects-b76x7deb.js} +17 -17
  76. package/dist/{worker-1mbyv29k.js → worker-6vrxbv41.js} +26 -26
  77. package/openapi.json +1626 -629
  78. package/package.json +2 -1
  79. package/src/apps/catalog.generated.json +229 -0
  80. package/src/apps/page-validator.ts +71 -16
  81. package/src/apps/row-store.ts +66 -11
  82. package/src/apps/sync.ts +59 -17
  83. package/src/artifact-sdk/browser-sdk.ts +436 -2
  84. package/src/be/approval-sweeps.ts +109 -0
  85. package/src/be/boot-seeds.ts +40 -0
  86. package/src/be/chunking.ts +1 -1
  87. package/src/be/db/agents.ts +20 -0
  88. package/src/be/db/approvals.ts +78 -0
  89. package/src/be/db/tasks/read.ts +197 -39
  90. package/src/be/db/tasks/write.ts +41 -9
  91. package/src/be/db-client.ts +107 -48
  92. package/src/be/db.ts +219 -76
  93. package/src/be/events.ts +33 -1
  94. package/src/be/memory/graph-expansion.ts +10 -3
  95. package/src/be/memory/providers/sqlite-store.ts +55 -13
  96. package/src/be/memory/raters/retrieval.ts +5 -2
  97. package/src/be/memory/reranker.ts +26 -2
  98. package/src/be/memory/types.ts +2 -0
  99. package/src/be/migrations/166_approval_request_auto_cancellation.sql +9 -0
  100. package/src/be/migrations/171_memory_retrieval_relevance.sql +8 -0
  101. package/src/be/migrations/175_workflow_runs_list_index.sql +11 -0
  102. package/src/be/migrations/177_events_event_agent_created_index.sql +11 -0
  103. package/src/be/models-catalog.ts +2 -0
  104. package/src/be/modelsdev-cache.json +1857 -0
  105. package/src/be/modelsdev-cache.ts +14 -1
  106. package/src/be/pricing-normalize.ts +2 -0
  107. package/src/be/scripts/typecheck.ts +1 -0
  108. package/src/be/seed-pricing.ts +3 -1
  109. package/src/be/seed-skills/bundled-files.generated.json +1 -1
  110. package/src/be/steering.ts +53 -3
  111. package/src/be/swarm-config-guard.ts +3 -0
  112. package/src/be/task-citations.ts +29 -0
  113. package/src/cli.tsx +14 -1
  114. package/src/commands/onboard/compose-generator.ts +8 -3
  115. package/src/commands/onboard/container-engine.ts +220 -0
  116. package/src/commands/onboard/manifest.ts +1 -0
  117. package/src/commands/onboard/steps/health-check.tsx +4 -1
  118. package/src/commands/onboard/steps/prereq-check.tsx +50 -54
  119. package/src/commands/onboard/steps/start.tsx +31 -16
  120. package/src/commands/onboard/types.ts +7 -2
  121. package/src/commands/onboard.tsx +39 -4
  122. package/src/commands/profile-sync.ts +79 -26
  123. package/src/commands/runner.ts +8 -1
  124. package/src/extensions/catalog.generated.json +17 -0
  125. package/src/extensions/contract-types.generated.ts +1 -1
  126. package/src/heartbeat/heartbeat.ts +263 -103
  127. package/src/hooks/hook.ts +21 -12
  128. package/src/http/agents.ts +35 -0
  129. package/src/http/approval-requests.ts +136 -64
  130. package/src/http/apps.ts +14 -3
  131. package/src/http/config.ts +15 -1
  132. package/src/http/events.ts +62 -2
  133. package/src/http/index.ts +6 -4
  134. package/src/http/memory.ts +21 -7
  135. package/src/http/schedules.ts +1 -1
  136. package/src/http/session-data.ts +9 -4
  137. package/src/http/sessions.ts +25 -18
  138. package/src/http/stats.ts +19 -7
  139. package/src/http/status.ts +11 -1
  140. package/src/http/tasks.ts +40 -8
  141. package/src/http/webhooks.ts +67 -46
  142. package/src/http/workflows.ts +15 -20
  143. package/src/linear/outbound.ts +37 -15
  144. package/src/otel-impl.ts +151 -1
  145. package/src/otel.ts +14 -3
  146. package/src/prompts/memories.ts +19 -2
  147. package/src/providers/claude-managed-models.ts +8 -0
  148. package/src/providers/modelsdev-reasoning.json +551 -0
  149. package/src/rbac/legacy-policy.ts +16 -0
  150. package/src/rbac/permissions.ts +4 -0
  151. package/src/scheduler/schedule-task.ts +3 -0
  152. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  153. package/src/scripts-runtime/swarm-sdk.ts +9 -0
  154. package/src/scripts-runtime/types/stdlib.d.ts +1 -0
  155. package/src/scripts-runtime/types/swarm-extension.d.ts +1 -0
  156. package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -0
  157. package/src/server.ts +12 -7
  158. package/src/slack/app.ts +35 -4
  159. package/src/slack/connection-state.ts +17 -0
  160. package/src/tasks/context-key.ts +1 -0
  161. package/src/tasks/worker-follow-up.ts +6 -2
  162. package/src/tests/agent-task-activity.test.ts +74 -0
  163. package/src/tests/agents-list-model-display.test.ts +6 -1
  164. package/src/tests/approval-auto-cancellation-migration.test.ts +104 -0
  165. package/src/tests/approval-requests.test.ts +395 -0
  166. package/src/tests/approval-sweeps-config.test.ts +47 -0
  167. package/src/tests/approval-sweeps.test.ts +508 -0
  168. package/src/tests/apps-kibo-blocks.test.ts +77 -0
  169. package/src/tests/apps-spike.test.ts +56 -1
  170. package/src/tests/apps-sync-engine.test.ts +20 -9
  171. package/src/tests/boot-seeds.test.ts +170 -0
  172. package/src/tests/cancel-approval-request-tool.test.ts +115 -0
  173. package/src/tests/claude-managed-adapter.test.ts +6 -0
  174. package/src/tests/config-key-filter.test.ts +80 -0
  175. package/src/tests/context-window.test.ts +1 -0
  176. package/src/tests/db-client-busy-retry.test.ts +96 -0
  177. package/src/tests/db-client.test.ts +60 -1
  178. package/src/tests/db-task-read-contract.test.ts +10 -0
  179. package/src/tests/db-task-write-contract.test.ts +9 -0
  180. package/src/tests/docs-index-footprint.test.js +3 -3
  181. package/src/tests/events-http.test.ts +103 -0
  182. package/src/tests/extensions-catalog.test.ts +22 -17
  183. package/src/tests/extensions-pre-task.test.ts +107 -0
  184. package/src/tests/fixtures/kibo-blocks-definition.json.txt +105 -0
  185. package/src/tests/follow-up-config-inheritance.test.ts +260 -0
  186. package/src/tests/heartbeat-orphan-resume.test.ts +84 -0
  187. package/src/tests/heartbeat-reboot-live.test.ts +95 -0
  188. package/src/tests/heartbeat-stall-cas.test.ts +80 -0
  189. package/src/tests/heartbeat.test.ts +99 -3
  190. package/src/tests/hook-mcp-config.test.ts +29 -0
  191. package/src/tests/http-api-integration.test.ts +16 -2
  192. package/src/tests/kv-storage.test.ts +62 -0
  193. package/src/tests/linear-outbound-sync.test.ts +120 -5
  194. package/src/tests/list-endpoint-slimming.test.ts +91 -0
  195. package/src/tests/memory-graph-organic-route.test.ts +155 -0
  196. package/src/tests/memory-http-recall-gating.test.ts +14 -4
  197. package/src/tests/memory-hybrid.test.ts +161 -1
  198. package/src/tests/memory-prompt-recall-crowdout.test.ts +297 -0
  199. package/src/tests/memory.test.ts +22 -0
  200. package/src/tests/onboard-container-engine.test.ts +240 -0
  201. package/src/tests/otel-event-loop-and-logs.test.ts +99 -0
  202. package/src/tests/pricing-routes.test.ts +14 -0
  203. package/src/tests/profile-sync-warning.test.ts +8 -4
  204. package/src/tests/promote-draft-task-route.test.ts +19 -0
  205. package/src/tests/provider-registration.test.ts +296 -42
  206. package/src/tests/rbac-engine.test.ts +30 -0
  207. package/src/tests/reasoning-effort.test.ts +8 -0
  208. package/src/tests/script-connections.test.ts +7 -0
  209. package/src/tests/sdk-allowlist.test.ts +39 -0
  210. package/src/tests/session-costs-model-key-normalize.test.ts +1 -0
  211. package/src/tests/sessions-detail-batch.test.ts +250 -0
  212. package/src/tests/sessions.test.ts +118 -0
  213. package/src/tests/slack-config.test.ts +22 -0
  214. package/src/tests/sonnet-5-5-registry.test.ts +44 -0
  215. package/src/tests/status.test.ts +36 -1
  216. package/src/tests/swarm-diff.test.ts +316 -10
  217. package/src/tests/task-completion-idempotency.test.ts +2 -1
  218. package/src/tests/tasks-requested-by-filter.test.ts +3 -1
  219. package/src/tests/tool-annotations.test.ts +1 -1
  220. package/src/tests/ui-list-slim-projections.test.ts +158 -0
  221. package/src/tests/webhooks-task-blocked.test.ts +127 -0
  222. package/src/tests/workflow-approval-recovery.test.ts +203 -0
  223. package/src/tests/workflow-hitl-routing.test.ts +22 -1
  224. package/src/tests/workflow-hitl-slack-card.test.ts +52 -0
  225. package/src/tests/workflow-http-v2.test.ts +99 -8
  226. package/src/tests/workflow-retry-validation.test.ts +56 -0
  227. package/src/tests/workflow-tla-races.test.ts +389 -0
  228. package/src/tests/workflow-validation-port-routing.test.ts +113 -1
  229. package/src/tools/cancel-approval-request.ts +57 -0
  230. package/src/tools/memory-search.ts +1 -0
  231. package/src/tools/request-human-input.ts +4 -2
  232. package/src/tools/send-task.ts +4 -0
  233. package/src/tools/templates.ts +19 -0
  234. package/src/tools/tool-config.ts +2 -1
  235. package/src/tools/workflows/list-workflow-runs.ts +1 -0
  236. package/src/types.ts +38 -0
  237. package/src/utils/context-window.ts +1 -0
  238. package/src/workflows/approval-cancel.ts +152 -0
  239. package/src/workflows/approval-notifications.ts +84 -0
  240. package/src/workflows/checkpoint.ts +10 -5
  241. package/src/workflows/definition.ts +21 -0
  242. package/src/workflows/engine.ts +152 -21
  243. package/src/workflows/executors/human-in-the-loop.ts +1 -1
  244. package/src/workflows/recovery.ts +100 -45
  245. package/src/workflows/resume.ts +49 -18
  246. package/src/workflows/retry-poller.ts +71 -21
  247. package/templates/extensions/README.md +1 -0
  248. package/templates/extensions/github-sender-allowlist/README.md +18 -0
  249. package/templates/extensions/github-sender-allowlist/hooks.ts +55 -0
  250. package/templates/extensions/github-sender-allowlist/manifest.json +8 -0
  251. package/templates/skills/apps/content.md +20 -1
  252. package/templates/skills/code-quality/content.md +26 -1
  253. package/templates/skills/pages/content.md +16 -4
  254. package/templates/skills/pages/files/examples/multiplayer-board.html +3 -12
  255. package/dist/cli-2daksqps.js +0 -378
  256. package/dist/rbac-roles-3gxmnb20.js +0 -37
@@ -40,6 +40,10 @@ var PERMISSIONS = {
40
40
  description: "Cancel any task (beyond tasks the caller created).",
41
41
  namespace: "task"
42
42
  },
43
+ "approval.cancel.any": {
44
+ description: "Cancel a pending approval request.",
45
+ namespace: "approval"
46
+ },
43
47
  "task.steer.any": {
44
48
  description: "Steer any task (beyond tasks the caller created).",
45
49
  namespace: "task"
@@ -370,6 +374,17 @@ var leadOrResourceOwner = {
370
374
  return resource?.kind === "owned" && resource.ownerAgentId != null && resource.ownerAgentId === principal.agentId;
371
375
  }
372
376
  };
377
+ var humanOrLeadOrResourceOwner = {
378
+ name: "human-or-lead-or-resource-owner",
379
+ denyReason: "requires a human, the operator, a lead agent, or the resource owner",
380
+ evaluate: (principal, resource) => {
381
+ if (principal.kind === "operator" || principal.kind === "user")
382
+ return true;
383
+ if (actsAsLead(principal))
384
+ return true;
385
+ return resource?.kind === "owned" && resource.ownerAgentId != null && resource.ownerAgentId === principal.agentId;
386
+ }
387
+ };
373
388
  var leadOrOwnNamespace = {
374
389
  name: "lead-or-own-namespace",
375
390
  denyReason: "requires lead agent or your own task:agent: namespace",
@@ -425,6 +440,7 @@ var LEGACY_RULES = {
425
440
  "lead-only": leadOnly,
426
441
  "lead-or-task-creator": leadOrTaskCreator,
427
442
  "lead-or-resource-owner": leadOrResourceOwner,
443
+ "human-or-lead-or-resource-owner": humanOrLeadOrResourceOwner,
428
444
  "lead-or-own-namespace": leadOrOwnNamespace,
429
445
  "any-authenticated": anyAuthenticated,
430
446
  "requester-owns-task": requesterOwnsTask
@@ -434,6 +450,7 @@ var LEGACY_POLICY = {
434
450
  "agent.profile.update.any": leadOnly,
435
451
  "agent.context.read.any": leadOnly,
436
452
  "task.cancel.any": leadOrTaskCreator,
453
+ "approval.cancel.any": humanOrLeadOrResourceOwner,
437
454
  "task.steer.any": leadOrTaskCreator,
438
455
  "task.create.own": anyAuthenticated,
439
456
  "task.read.own": requesterOwnsTask,
@@ -1,6 +1,22 @@
1
1
  // src/providers/modelsdev-reasoning.json
2
2
  var modelsdev_reasoning_default = {
3
3
  anthropic: {
4
+ "claude-sonnet-5-5": {
5
+ id: "claude-sonnet-5-5",
6
+ reasoning: true,
7
+ reasoningOptions: [
8
+ {
9
+ type: "effort",
10
+ values: [
11
+ "low",
12
+ "medium",
13
+ "high",
14
+ "xhigh",
15
+ "max"
16
+ ]
17
+ }
18
+ ]
19
+ },
4
20
  "claude-opus-5-5": {
5
21
  id: "claude-opus-5-5",
6
22
  reasoning: true,
@@ -970,6 +986,40 @@ var modelsdev_reasoning_default = {
970
986
  ]
971
987
  }
972
988
  ]
989
+ },
990
+ "gpt-daybreak-blue-latest": {
991
+ id: "gpt-daybreak-blue-latest",
992
+ reasoning: true,
993
+ reasoningOptions: [
994
+ {
995
+ type: "effort",
996
+ values: [
997
+ "none",
998
+ "low",
999
+ "medium",
1000
+ "high",
1001
+ "xhigh",
1002
+ "max"
1003
+ ]
1004
+ }
1005
+ ]
1006
+ },
1007
+ "gpt-daybreak-red-latest": {
1008
+ id: "gpt-daybreak-red-latest",
1009
+ reasoning: true,
1010
+ reasoningOptions: [
1011
+ {
1012
+ type: "effort",
1013
+ values: [
1014
+ "none",
1015
+ "low",
1016
+ "medium",
1017
+ "high",
1018
+ "xhigh",
1019
+ "max"
1020
+ ]
1021
+ }
1022
+ ]
973
1023
  }
974
1024
  },
975
1025
  openrouter: {
@@ -4573,6 +4623,507 @@ var modelsdev_reasoning_default = {
4573
4623
  "nousresearch/hermes-3-llama-3.1-405b:free": {
4574
4624
  id: "nousresearch/hermes-3-llama-3.1-405b:free",
4575
4625
  reasoning: false
4626
+ },
4627
+ "stealth/space-bunny-alpha": {
4628
+ id: "stealth/space-bunny-alpha",
4629
+ reasoning: true,
4630
+ reasoningOptions: [
4631
+ {
4632
+ type: "effort",
4633
+ values: [
4634
+ "low",
4635
+ "medium",
4636
+ "high",
4637
+ "xhigh",
4638
+ "max"
4639
+ ]
4640
+ }
4641
+ ]
4642
+ },
4643
+ "prism-ml/ternary-bonsai-2-27b": {
4644
+ id: "prism-ml/ternary-bonsai-2-27b",
4645
+ reasoning: true,
4646
+ reasoningOptions: [
4647
+ {
4648
+ type: "toggle"
4649
+ },
4650
+ {
4651
+ type: "effort",
4652
+ values: [
4653
+ "medium",
4654
+ "xhigh"
4655
+ ]
4656
+ }
4657
+ ]
4658
+ },
4659
+ "anthropic/claude-opus-5.5": {
4660
+ id: "anthropic/claude-opus-5.5",
4661
+ reasoning: true,
4662
+ reasoningOptions: [
4663
+ {
4664
+ type: "effort",
4665
+ values: [
4666
+ "low",
4667
+ "medium",
4668
+ "high",
4669
+ "xhigh",
4670
+ "max"
4671
+ ]
4672
+ }
4673
+ ]
4674
+ },
4675
+ "cohere/command-a-plus": {
4676
+ id: "cohere/command-a-plus",
4677
+ reasoning: true,
4678
+ reasoningOptions: [
4679
+ {
4680
+ type: "toggle"
4681
+ }
4682
+ ]
4683
+ },
4684
+ "deepseek/deepseek-v4.1-flash": {
4685
+ id: "deepseek/deepseek-v4.1-flash",
4686
+ reasoning: true,
4687
+ reasoningOptions: [
4688
+ {
4689
+ type: "toggle"
4690
+ },
4691
+ {
4692
+ type: "effort",
4693
+ values: [
4694
+ "low",
4695
+ "high",
4696
+ "max"
4697
+ ]
4698
+ }
4699
+ ]
4700
+ },
4701
+ "unbiased/pareto": {
4702
+ id: "unbiased/pareto",
4703
+ reasoning: false
4704
+ },
4705
+ "perceptron/perceptron-mk1.5": {
4706
+ id: "perceptron/perceptron-mk1.5",
4707
+ reasoning: true,
4708
+ reasoningOptions: [
4709
+ {
4710
+ type: "effort",
4711
+ values: [
4712
+ "none",
4713
+ "minimal",
4714
+ "low",
4715
+ "medium",
4716
+ "high"
4717
+ ]
4718
+ }
4719
+ ]
4720
+ },
4721
+ "z-ai/glm-5.3-prime": {
4722
+ id: "z-ai/glm-5.3-prime",
4723
+ reasoning: true,
4724
+ reasoningOptions: [
4725
+ {
4726
+ type: "effort",
4727
+ values: [
4728
+ "low",
4729
+ "high",
4730
+ "max"
4731
+ ]
4732
+ }
4733
+ ]
4734
+ },
4735
+ "z-ai/glm-5.3-flashx": {
4736
+ id: "z-ai/glm-5.3-flashx",
4737
+ reasoning: true,
4738
+ reasoningOptions: [
4739
+ {
4740
+ type: "effort",
4741
+ values: [
4742
+ "low",
4743
+ "high",
4744
+ "max"
4745
+ ]
4746
+ }
4747
+ ]
4748
+ },
4749
+ "inference-net/schematron-v2-small": {
4750
+ id: "inference-net/schematron-v2-small",
4751
+ reasoning: false
4752
+ },
4753
+ "inference-net/schematron-v2-turbo": {
4754
+ id: "inference-net/schematron-v2-turbo",
4755
+ reasoning: false
4756
+ },
4757
+ "~openai/gpt-terra-latest": {
4758
+ id: "~openai/gpt-terra-latest",
4759
+ reasoning: true,
4760
+ reasoningOptions: [
4761
+ {
4762
+ type: "effort",
4763
+ values: [
4764
+ "none",
4765
+ "low",
4766
+ "medium",
4767
+ "high",
4768
+ "xhigh",
4769
+ "max"
4770
+ ]
4771
+ }
4772
+ ]
4773
+ },
4774
+ "~openai/gpt-luna-latest": {
4775
+ id: "~openai/gpt-luna-latest",
4776
+ reasoning: true,
4777
+ reasoningOptions: [
4778
+ {
4779
+ type: "effort",
4780
+ values: [
4781
+ "none",
4782
+ "low",
4783
+ "medium",
4784
+ "high",
4785
+ "xhigh",
4786
+ "max"
4787
+ ]
4788
+ }
4789
+ ]
4790
+ },
4791
+ "~openai/gpt-sol-latest": {
4792
+ id: "~openai/gpt-sol-latest",
4793
+ reasoning: true,
4794
+ reasoningOptions: [
4795
+ {
4796
+ type: "effort",
4797
+ values: [
4798
+ "none",
4799
+ "low",
4800
+ "medium",
4801
+ "high",
4802
+ "xhigh",
4803
+ "max"
4804
+ ]
4805
+ }
4806
+ ]
4807
+ },
4808
+ "~openai/gpt-astra-latest": {
4809
+ id: "~openai/gpt-astra-latest",
4810
+ reasoning: true,
4811
+ reasoningOptions: [
4812
+ {
4813
+ type: "effort",
4814
+ values: [
4815
+ "low",
4816
+ "medium",
4817
+ "high",
4818
+ "xhigh",
4819
+ "max"
4820
+ ]
4821
+ }
4822
+ ]
4823
+ },
4824
+ "x-ai/grok-4.7": {
4825
+ id: "x-ai/grok-4.7",
4826
+ reasoning: true,
4827
+ reasoningOptions: [
4828
+ {
4829
+ type: "effort",
4830
+ values: [
4831
+ "low",
4832
+ "medium",
4833
+ "high",
4834
+ "xhigh"
4835
+ ]
4836
+ }
4837
+ ]
4838
+ },
4839
+ "upstage/solar-mini4": {
4840
+ id: "upstage/solar-mini4",
4841
+ reasoning: true,
4842
+ reasoningOptions: [
4843
+ {
4844
+ type: "effort",
4845
+ values: [
4846
+ "none",
4847
+ "minimal",
4848
+ "low",
4849
+ "medium",
4850
+ "high",
4851
+ "xhigh",
4852
+ "max"
4853
+ ]
4854
+ }
4855
+ ]
4856
+ },
4857
+ "~deepseek/deepseek-flash-latest": {
4858
+ id: "~deepseek/deepseek-flash-latest",
4859
+ reasoning: true,
4860
+ reasoningOptions: [
4861
+ {
4862
+ type: "toggle"
4863
+ },
4864
+ {
4865
+ type: "effort",
4866
+ values: [
4867
+ "low",
4868
+ "high",
4869
+ "max"
4870
+ ]
4871
+ }
4872
+ ]
4873
+ },
4874
+ "~deepseek/deepseek-pro-latest": {
4875
+ id: "~deepseek/deepseek-pro-latest",
4876
+ reasoning: true,
4877
+ reasoningOptions: [
4878
+ {
4879
+ type: "toggle"
4880
+ },
4881
+ {
4882
+ type: "effort",
4883
+ values: [
4884
+ "low",
4885
+ "high",
4886
+ "max"
4887
+ ]
4888
+ }
4889
+ ]
4890
+ },
4891
+ "fireworks/ember-1": {
4892
+ id: "fireworks/ember-1",
4893
+ reasoning: true,
4894
+ reasoningOptions: [
4895
+ {
4896
+ type: "toggle"
4897
+ },
4898
+ {
4899
+ type: "effort",
4900
+ values: [
4901
+ "low",
4902
+ "high",
4903
+ "max"
4904
+ ]
4905
+ }
4906
+ ]
4907
+ },
4908
+ "sakana/fugu-max": {
4909
+ id: "sakana/fugu-max",
4910
+ reasoning: true,
4911
+ reasoningOptions: [
4912
+ {
4913
+ type: "effort",
4914
+ values: [
4915
+ "high",
4916
+ "xhigh",
4917
+ "max"
4918
+ ]
4919
+ }
4920
+ ]
4921
+ },
4922
+ "sakana/fugu-ultra-v2": {
4923
+ id: "sakana/fugu-ultra-v2",
4924
+ reasoning: true,
4925
+ reasoningOptions: [
4926
+ {
4927
+ type: "effort",
4928
+ values: [
4929
+ "high",
4930
+ "xhigh",
4931
+ "max"
4932
+ ]
4933
+ }
4934
+ ]
4935
+ },
4936
+ "inclusionai/ling-3.0-flash-vl": {
4937
+ id: "inclusionai/ling-3.0-flash-vl",
4938
+ reasoning: true,
4939
+ reasoningOptions: [
4940
+ {
4941
+ type: "toggle"
4942
+ }
4943
+ ]
4944
+ },
4945
+ "xiaomi/mimo-v2.6-pro": {
4946
+ id: "xiaomi/mimo-v2.6-pro",
4947
+ reasoning: true,
4948
+ reasoningOptions: [
4949
+ {
4950
+ type: "toggle"
4951
+ }
4952
+ ]
4953
+ },
4954
+ "xiaomi/mimo-v2.6-pro-ultraspeed": {
4955
+ id: "xiaomi/mimo-v2.6-pro-ultraspeed",
4956
+ reasoning: true,
4957
+ reasoningOptions: [
4958
+ {
4959
+ type: "toggle"
4960
+ }
4961
+ ]
4962
+ },
4963
+ "xiaomi/mimo-v2.6-flash": {
4964
+ id: "xiaomi/mimo-v2.6-flash",
4965
+ reasoning: true,
4966
+ reasoningOptions: [
4967
+ {
4968
+ type: "toggle"
4969
+ }
4970
+ ]
4971
+ },
4972
+ "inception/mercury-2.5": {
4973
+ id: "inception/mercury-2.5",
4974
+ reasoning: true,
4975
+ reasoningOptions: [
4976
+ {
4977
+ type: "effort",
4978
+ values: [
4979
+ "none",
4980
+ "low",
4981
+ "medium",
4982
+ "high"
4983
+ ]
4984
+ }
4985
+ ]
4986
+ },
4987
+ "aion-labs/aion-3.5": {
4988
+ id: "aion-labs/aion-3.5",
4989
+ reasoning: true,
4990
+ reasoningOptions: [
4991
+ {
4992
+ type: "effort",
4993
+ values: [
4994
+ "low",
4995
+ "high",
4996
+ "max"
4997
+ ]
4998
+ }
4999
+ ]
5000
+ },
5001
+ "aion-labs/aion-3.5-mini": {
5002
+ id: "aion-labs/aion-3.5-mini",
5003
+ reasoning: true,
5004
+ reasoningOptions: [
5005
+ {
5006
+ type: "effort",
5007
+ values: [
5008
+ "low",
5009
+ "high",
5010
+ "max"
5011
+ ]
5012
+ }
5013
+ ]
5014
+ },
5015
+ "qwen/qwen3.8-omni-flash": {
5016
+ id: "qwen/qwen3.8-omni-flash",
5017
+ reasoning: true,
5018
+ reasoningOptions: [
5019
+ {
5020
+ type: "toggle"
5021
+ },
5022
+ {
5023
+ type: "budget_tokens"
5024
+ }
5025
+ ]
5026
+ },
5027
+ "qwen/qwen3.8-max-prime": {
5028
+ id: "qwen/qwen3.8-max-prime",
5029
+ reasoning: true,
5030
+ reasoningOptions: [
5031
+ {
5032
+ type: "effort",
5033
+ values: [
5034
+ "minimal",
5035
+ "low",
5036
+ "medium",
5037
+ "high",
5038
+ "xhigh"
5039
+ ]
5040
+ }
5041
+ ]
5042
+ },
5043
+ "qwen/qwen3.8-27b:free": {
5044
+ id: "qwen/qwen3.8-27b:free",
5045
+ reasoning: true,
5046
+ reasoningOptions: [
5047
+ {
5048
+ type: "toggle"
5049
+ },
5050
+ {
5051
+ type: "effort",
5052
+ values: [
5053
+ "low",
5054
+ "medium",
5055
+ "xhigh"
5056
+ ]
5057
+ }
5058
+ ]
5059
+ },
5060
+ "openai/gpt-6-sol-pro": {
5061
+ id: "openai/gpt-6-sol-pro",
5062
+ reasoning: true,
5063
+ reasoningOptions: [
5064
+ {
5065
+ type: "effort",
5066
+ values: [
5067
+ "none",
5068
+ "low",
5069
+ "medium",
5070
+ "high",
5071
+ "xhigh",
5072
+ "max"
5073
+ ]
5074
+ }
5075
+ ]
5076
+ },
5077
+ "openai/gpt-6-luna": {
5078
+ id: "openai/gpt-6-luna",
5079
+ reasoning: true,
5080
+ reasoningOptions: [
5081
+ {
5082
+ type: "effort",
5083
+ values: [
5084
+ "none",
5085
+ "low",
5086
+ "medium",
5087
+ "high",
5088
+ "xhigh",
5089
+ "max"
5090
+ ]
5091
+ }
5092
+ ]
5093
+ },
5094
+ "openai/gpt-6-luna-pro": {
5095
+ id: "openai/gpt-6-luna-pro",
5096
+ reasoning: true,
5097
+ reasoningOptions: [
5098
+ {
5099
+ type: "effort",
5100
+ values: [
5101
+ "none",
5102
+ "low",
5103
+ "medium",
5104
+ "high",
5105
+ "xhigh",
5106
+ "max"
5107
+ ]
5108
+ }
5109
+ ]
5110
+ },
5111
+ "openai/gpt-6-sol": {
5112
+ id: "openai/gpt-6-sol",
5113
+ reasoning: true,
5114
+ reasoningOptions: [
5115
+ {
5116
+ type: "effort",
5117
+ values: [
5118
+ "none",
5119
+ "low",
5120
+ "medium",
5121
+ "high",
5122
+ "xhigh",
5123
+ "max"
5124
+ ]
5125
+ }
5126
+ ]
4576
5127
  }
4577
5128
  },
4578
5129
  "amazon-bedrock": {