oh-my-opencode 4.19.3 → 4.19.4

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 (150) hide show
  1. package/.agents/command/get-unpublished-changes.md +2 -0
  2. package/.agents/command/omomomo.md +1 -1
  3. package/.agents/command/publish.md +7 -0
  4. package/.agents/skills/get-unpublished-changes/SKILL.md +2 -0
  5. package/.agents/skills/hyperplan/SKILL.md +3 -3
  6. package/.agents/skills/omomomo/SKILL.md +1 -1
  7. package/.agents/skills/publish/SKILL.md +7 -0
  8. package/.opencode/command/get-unpublished-changes.md +2 -0
  9. package/.opencode/command/omomomo.md +1 -1
  10. package/.opencode/command/publish.md +7 -0
  11. package/.opencode/skills/hyperplan/SKILL.md +3 -3
  12. package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
  13. package/dist/cli/doctor/checks/deprecated-reasoning-keys.d.ts +2 -0
  14. package/dist/cli/index.js +1625 -1368
  15. package/dist/cli-node/index.js +1625 -1368
  16. package/dist/config/schema/agent-overrides.d.ts +800 -0
  17. package/dist/config/schema/categories.d.ts +132 -0
  18. package/dist/config/schema/fallback-models.d.ts +50 -0
  19. package/dist/config/schema/oh-my-opencode-config.d.ts +818 -2
  20. package/dist/config-migration/index.d.ts +1 -0
  21. package/dist/config-migration/migration-plans.d.ts +1 -0
  22. package/dist/config-migration/reasoning-unification.d.ts +3 -0
  23. package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +2 -0
  24. package/dist/hooks/codegraph-bootstrap/command-runner.d.ts +1 -0
  25. package/dist/hooks/model-fallback/next-fallback.d.ts +1 -0
  26. package/dist/hooks/runtime-fallback/constants.d.ts +1 -1
  27. package/dist/index.js +3558 -3241
  28. package/dist/oh-my-opencode.schema.json +1672 -8
  29. package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +1 -0
  30. package/dist/shared/agent-variant.d.ts +11 -0
  31. package/dist/shared/session-prompt-params-helpers.d.ts +6 -1
  32. package/dist/skills/coding-agent-sessions/SKILL.md +4 -3
  33. package/dist/skills/coding-agent-sessions/references/all-platforms.md +3 -1
  34. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
  35. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
  36. package/dist/skills/data-scientist/SKILL.md +243 -0
  37. package/dist/skills/data-scientist/references/common-scenarios.md +176 -0
  38. package/dist/skills/data-scientist/references/execution-templates.md +197 -0
  39. package/dist/skills/data-scientist/references/integration-patterns.md +153 -0
  40. package/dist/skills/data-scientist/references/performance-benchmarks.md +37 -0
  41. package/dist/skills/data-scientist/references/uv-setup.md +78 -0
  42. package/dist/skills/data-scientist/scripts/quick-query.py +111 -0
  43. package/dist/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
  44. package/dist/skills/data-scientist/scripts/setup-uv.sh +60 -0
  45. package/dist/skills/debugging/SKILL.md +1 -1
  46. package/dist/skills/programming/SKILL.md +1 -2
  47. package/dist/skills/ulw-plan/SKILL.md +1 -1
  48. package/dist/skills/ulw-research/SKILL.md +122 -11
  49. package/dist/tools/delegate-task/builtin-categories.d.ts +1 -0
  50. package/dist/tools/delegate-task/builtin-category-definition.d.ts +1 -0
  51. package/dist/tools/delegate-task/constants.d.ts +1 -1
  52. package/dist/tui.js +974 -1090
  53. package/package.json +13 -13
  54. package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +2 -2
  55. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  56. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +21 -3
  57. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  58. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  59. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +279 -58
  60. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +230 -41
  61. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  62. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +6 -0
  63. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  64. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  65. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  66. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  67. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  68. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  69. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  70. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  71. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  72. package/packages/omo-codex/plugin/components/rules/dist/cli.js +1 -1
  73. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  74. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  75. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +1 -1
  76. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  77. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  78. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  79. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  80. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  81. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  82. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  83. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  84. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +1 -1
  85. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  86. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  87. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  88. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  89. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  90. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  91. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  92. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  93. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  94. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  95. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  96. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  97. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  98. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  99. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  100. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  101. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  102. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  103. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  104. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  105. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  106. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  107. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  108. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  109. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  110. package/packages/omo-codex/plugin/package-lock.json +13 -13
  111. package/packages/omo-codex/plugin/package.json +1 -1
  112. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +6 -0
  113. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +4 -3
  114. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +3 -1
  115. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
  116. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
  117. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +243 -0
  118. package/packages/omo-codex/plugin/skills/data-scientist/agents/openai.yaml +2 -0
  119. package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +176 -0
  120. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +197 -0
  121. package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +153 -0
  122. package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +37 -0
  123. package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +78 -0
  124. package/packages/omo-codex/plugin/skills/data-scientist/scripts/quick-query.py +111 -0
  125. package/packages/omo-codex/plugin/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
  126. package/packages/omo-codex/plugin/skills/data-scientist/scripts/setup-uv.sh +60 -0
  127. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
  128. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -2
  129. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +1 -1
  130. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +121 -11
  131. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +7 -0
  132. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +12 -0
  133. package/packages/omo-codex/scripts/install-dist/install-local.mjs +24 -5
  134. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +4 -3
  135. package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +3 -1
  136. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
  137. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
  138. package/packages/shared-skills/skills/data-scientist/SKILL.md +243 -0
  139. package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +176 -0
  140. package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +197 -0
  141. package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +153 -0
  142. package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +37 -0
  143. package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +78 -0
  144. package/packages/shared-skills/skills/data-scientist/scripts/quick-query.py +111 -0
  145. package/packages/shared-skills/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
  146. package/packages/shared-skills/skills/data-scientist/scripts/setup-uv.sh +60 -0
  147. package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
  148. package/packages/shared-skills/skills/programming/SKILL.md +1 -2
  149. package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
  150. package/packages/shared-skills/skills/ulw-research/SKILL.md +122 -11
package/dist/tui.js CHANGED
@@ -18589,24 +18589,146 @@ var init_zod = __esm(() => {
18589
18589
  init_external();
18590
18590
  });
18591
18591
 
18592
+ // packages/omo-config-core/src/schema/reasoning-vocabulary.ts
18593
+ function isReasoningLevel(value) {
18594
+ return REASONING_LEVEL_SET.has(value);
18595
+ }
18596
+ function normalizeReasoning(input) {
18597
+ const normalized = input.trim().toLowerCase();
18598
+ if (!normalized)
18599
+ return {};
18600
+ if (normalized === "none")
18601
+ return { level: "off" };
18602
+ if (normalized === REASONING_AUTO)
18603
+ return { level: REASONING_AUTO };
18604
+ if (isReasoningLevel(normalized))
18605
+ return { level: normalized };
18606
+ return { passthrough: normalized };
18607
+ }
18608
+ function splitReasoningSuffix(model, options) {
18609
+ if (typeof model !== "string")
18610
+ return { base: "" };
18611
+ const trimmed = model.trim();
18612
+ if (!trimmed)
18613
+ return { base: "" };
18614
+ const separatorIndex = trimmed.lastIndexOf(":");
18615
+ if (separatorIndex === -1)
18616
+ return { base: trimmed };
18617
+ const base = trimmed.slice(0, separatorIndex).trim();
18618
+ const token = trimmed.slice(separatorIndex + 1).trim().toLowerCase();
18619
+ if (!base || !REASONING_LEVEL_OR_AUTO_SET.has(token))
18620
+ return { base: trimmed };
18621
+ if (token === "max" && !(options?.allowMaxSuffix ?? base.includes("/")))
18622
+ return { base: trimmed };
18623
+ return { base, level: token };
18624
+ }
18625
+ var REASONING_LEVELS, REASONING_AUTO = "auto", REASONING_LEVEL_SET, REASONING_LEVEL_OR_AUTO_SET;
18626
+ var init_reasoning_vocabulary = __esm(() => {
18627
+ REASONING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
18628
+ REASONING_LEVEL_SET = new Set(REASONING_LEVELS);
18629
+ REASONING_LEVEL_OR_AUTO_SET = new Set([...REASONING_LEVELS, REASONING_AUTO]);
18630
+ });
18631
+
18632
+ // packages/omo-config-core/src/schema/model-ref.ts
18633
+ var REASONING_LEVELS_OR_AUTO, OmoReasoningSchema, OmoModelRefObjectSchema, OmoModelRefSchema;
18634
+ var init_model_ref = __esm(() => {
18635
+ init_zod();
18636
+ init_reasoning_vocabulary();
18637
+ REASONING_LEVELS_OR_AUTO = [...REASONING_LEVELS, "auto"];
18638
+ OmoReasoningSchema = union([
18639
+ _enum2(REASONING_LEVELS_OR_AUTO),
18640
+ string2()
18641
+ ]);
18642
+ OmoModelRefObjectSchema = object({
18643
+ model: string2(),
18644
+ reasoning: OmoReasoningSchema.optional(),
18645
+ temperature: number2().min(0).max(2).optional(),
18646
+ top_p: number2().min(0).max(1).optional(),
18647
+ max_tokens: number2().int().positive().optional(),
18648
+ provider_options: record(string2(), unknown()).optional()
18649
+ }).strict();
18650
+ OmoModelRefSchema = union([string2(), OmoModelRefObjectSchema]);
18651
+ });
18652
+
18592
18653
  // packages/omo-config-core/src/schema/fallback-models.ts
18593
- var OmoThinkingConfigSchema, OmoReasoningEffortSchema, OmoFallbackModelObjectSchema, OmoFallbackModelsSchema;
18654
+ function isRecord2(value) {
18655
+ return typeof value === "object" && value !== null && !Array.isArray(value);
18656
+ }
18657
+ function canonicalReasoning(value) {
18658
+ if (typeof value !== "string")
18659
+ return;
18660
+ const normalized = normalizeReasoning(value);
18661
+ return normalized.level ?? normalized.passthrough;
18662
+ }
18663
+ function canonicalModelString(model) {
18664
+ const colon = splitReasoningSuffix(model, { allowMaxSuffix: true });
18665
+ if (colon.level !== undefined)
18666
+ return `${colon.base}:${colon.level}`;
18667
+ const trimmed = model.trim();
18668
+ const parenthesized = trimmed.match(/^(.*)\(([^()]+)\)\s*$/);
18669
+ const spaced = parenthesized === null ? trimmed.match(/^(.*\S)\s+([a-z][a-z0-9_-]*)$/i) : null;
18670
+ const base = (parenthesized?.[1] ?? spaced?.[1])?.trim();
18671
+ const token = (parenthesized?.[2] ?? spaced?.[2])?.trim();
18672
+ if (base === undefined || token === undefined)
18673
+ return trimmed;
18674
+ const normalized = normalizeReasoning(token);
18675
+ return normalized.level === undefined ? trimmed : `${base}:${normalized.level}`;
18676
+ }
18677
+ function normalizeLegacyModelFields(entry) {
18678
+ const normalized = { ...entry };
18679
+ delete normalized["variant"];
18680
+ delete normalized["reasoningEffort"];
18681
+ delete normalized["thinking"];
18682
+ delete normalized["textVerbosity"];
18683
+ delete normalized["maxTokens"];
18684
+ delete normalized["providerOptions"];
18685
+ if (typeof entry["model"] === "string")
18686
+ normalized["model"] = canonicalModelString(entry["model"]);
18687
+ const explicitReasoning = canonicalReasoning(entry["reasoning"]);
18688
+ const variant = canonicalReasoning(entry["variant"]);
18689
+ const reasoningEffort = canonicalReasoning(entry["reasoningEffort"]);
18690
+ const thinking = isRecord2(entry["thinking"]) ? entry["thinking"] : undefined;
18691
+ const reasoning = explicitReasoning ?? reasoningEffort ?? variant ?? (thinking?.["type"] === "disabled" ? "off" : undefined);
18692
+ if (reasoning !== undefined)
18693
+ normalized["reasoning"] = reasoning;
18694
+ const providerOptions = isRecord2(entry["provider_options"]) ? { ...entry["provider_options"] } : isRecord2(entry["providerOptions"]) ? { ...entry["providerOptions"] } : {};
18695
+ if (thinking?.["type"] === "enabled")
18696
+ providerOptions["thinking"] = { ...thinking };
18697
+ if (entry["textVerbosity"] !== undefined)
18698
+ providerOptions["textVerbosity"] = entry["textVerbosity"];
18699
+ if (Object.keys(providerOptions).length > 0)
18700
+ normalized["provider_options"] = providerOptions;
18701
+ if (entry["max_tokens"] !== undefined)
18702
+ normalized["max_tokens"] = entry["max_tokens"];
18703
+ else if (entry["maxTokens"] !== undefined)
18704
+ normalized["max_tokens"] = entry["maxTokens"];
18705
+ return normalized;
18706
+ }
18707
+ var OmoThinkingConfigSchema, OmoReasoningEffortSchema, OmoLegacyFallbackModelObjectInputSchema, OmoFallbackModelObjectSchema, OmoFallbackModelsSchema;
18594
18708
  var init_fallback_models = __esm(() => {
18595
18709
  init_zod();
18710
+ init_model_ref();
18711
+ init_reasoning_vocabulary();
18596
18712
  OmoThinkingConfigSchema = object({
18597
18713
  type: _enum2(["enabled", "disabled"]),
18598
18714
  budgetTokens: number2().optional()
18599
18715
  }).strict();
18600
- OmoReasoningEffortSchema = _enum2(["none", "minimal", "low", "medium", "high", "xhigh", "max"]);
18601
- OmoFallbackModelObjectSchema = object({
18716
+ OmoReasoningEffortSchema = OmoReasoningSchema;
18717
+ OmoLegacyFallbackModelObjectInputSchema = object({
18602
18718
  model: string2(),
18603
- variant: string2().optional(),
18604
- reasoningEffort: OmoReasoningEffortSchema.optional(),
18719
+ reasoning: OmoReasoningSchema.optional(),
18605
18720
  temperature: number2().min(0).max(2).optional(),
18606
18721
  top_p: number2().min(0).max(1).optional(),
18722
+ max_tokens: number2().int().positive().optional(),
18723
+ provider_options: record(string2(), unknown()).optional(),
18724
+ variant: string2().optional(),
18725
+ reasoningEffort: OmoReasoningEffortSchema.optional(),
18726
+ thinking: OmoThinkingConfigSchema.optional(),
18727
+ textVerbosity: _enum2(["low", "medium", "high"]).optional(),
18607
18728
  maxTokens: number2().optional(),
18608
- thinking: OmoThinkingConfigSchema.optional()
18729
+ providerOptions: record(string2(), unknown()).optional()
18609
18730
  }).strict();
18731
+ OmoFallbackModelObjectSchema = preprocess((value) => isRecord2(value) ? normalizeLegacyModelFields(value) : value, OmoLegacyFallbackModelObjectInputSchema);
18610
18732
  OmoFallbackModelsSchema = union([
18611
18733
  string2(),
18612
18734
  array(string2()),
@@ -18616,23 +18738,21 @@ var init_fallback_models = __esm(() => {
18616
18738
  });
18617
18739
 
18618
18740
  // packages/omo-config-core/src/schema/agent.ts
18619
- var OmoAgentModelEntrySchema, OmoAgentDefSchema, OmoAgentsConfigSchema;
18741
+ function isRecord3(value) {
18742
+ return typeof value === "object" && value !== null && !Array.isArray(value);
18743
+ }
18744
+ var OmoAgentModelEntrySchema, OmoAgentDefInputSchema, OmoAgentDefSchema, OmoAgentsConfigSchema;
18620
18745
  var init_agent = __esm(() => {
18621
18746
  init_zod();
18622
18747
  init_fallback_models();
18623
- OmoAgentModelEntrySchema = union([
18624
- string2(),
18625
- object({
18626
- model: string2(),
18627
- variant: string2().optional(),
18628
- reasoningEffort: OmoReasoningEffortSchema.optional()
18629
- }).strict()
18630
- ]);
18631
- OmoAgentDefSchema = object({
18748
+ init_model_ref();
18749
+ OmoAgentModelEntrySchema = union([string2(), OmoFallbackModelObjectSchema]);
18750
+ OmoAgentDefInputSchema = object({
18632
18751
  description: string2().optional(),
18633
18752
  prompt: string2().optional(),
18634
18753
  model: string2().optional(),
18635
18754
  models: array(OmoAgentModelEntrySchema).optional(),
18755
+ reasoning: OmoReasoningSchema.optional(),
18636
18756
  variant: string2().optional(),
18637
18757
  reasoningEffort: OmoReasoningEffortSchema.optional(),
18638
18758
  tools: record(string2(), boolean2()).optional(),
@@ -18645,21 +18765,30 @@ var init_agent = __esm(() => {
18645
18765
  temperature: number2().min(0).max(2).optional(),
18646
18766
  disable: boolean2().optional()
18647
18767
  }).strict();
18768
+ OmoAgentDefSchema = preprocess((value) => isRecord3(value) ? normalizeLegacyModelFields(value) : value, OmoAgentDefInputSchema);
18648
18769
  OmoAgentsConfigSchema = record(string2(), OmoAgentDefSchema);
18649
18770
  });
18650
18771
 
18651
18772
  // packages/omo-config-core/src/schema/category.ts
18652
- var OmoCategoryConfigSchema, OmoCategoriesConfigSchema;
18773
+ function isRecord4(value) {
18774
+ return typeof value === "object" && value !== null && !Array.isArray(value);
18775
+ }
18776
+ var OmoCategoryConfigObjectSchema, OmoCategoryConfigSchema, OmoCategoriesConfigSchema;
18653
18777
  var init_category = __esm(() => {
18654
18778
  init_zod();
18655
18779
  init_fallback_models();
18656
- OmoCategoryConfigSchema = object({
18780
+ init_model_ref();
18781
+ OmoCategoryConfigObjectSchema = object({
18657
18782
  description: string2().optional(),
18658
18783
  model: string2().optional(),
18659
- fallback_models: OmoFallbackModelsSchema.optional(),
18660
- variant: string2().optional(),
18784
+ models: array(union([string2(), OmoFallbackModelObjectSchema])).optional(),
18785
+ reasoning: OmoReasoningSchema.optional(),
18661
18786
  temperature: number2().min(0).max(2).optional(),
18662
18787
  top_p: number2().min(0).max(1).optional(),
18788
+ max_tokens: number2().int().positive().optional(),
18789
+ provider_options: record(string2(), unknown()).optional(),
18790
+ fallback_models: OmoFallbackModelsSchema.optional(),
18791
+ variant: string2().optional(),
18663
18792
  maxTokens: number2().optional(),
18664
18793
  thinking: OmoThinkingConfigSchema.optional(),
18665
18794
  reasoningEffort: OmoReasoningEffortSchema.optional(),
@@ -18668,8 +18797,10 @@ var init_category = __esm(() => {
18668
18797
  prompt_append: string2().optional(),
18669
18798
  max_prompt_tokens: number2().int().positive().optional(),
18670
18799
  is_unstable_agent: boolean2().optional(),
18671
- disable: boolean2().optional()
18800
+ disable: boolean2().optional(),
18801
+ warn_unavailable: boolean2().optional()
18672
18802
  }).strict();
18803
+ OmoCategoryConfigSchema = preprocess((value) => isRecord4(value) ? normalizeLegacyModelFields(value) : value, OmoCategoryConfigObjectSchema);
18673
18804
  OmoCategoriesConfigSchema = record(string2(), OmoCategoryConfigSchema);
18674
18805
  });
18675
18806
 
@@ -18706,22 +18837,29 @@ var init_codegraph = __esm(() => {
18706
18837
  });
18707
18838
 
18708
18839
  // packages/omo-config-core/src/schema/model-catalog.ts
18709
- var OmoModelCatalogEntrySchema, OmoModelCatalogSchema, OmoModelCatalogEntryLayerSchema, OmoModelCatalogLayerSchema;
18840
+ function isRecord5(value) {
18841
+ return typeof value === "object" && value !== null && !Array.isArray(value);
18842
+ }
18843
+ var OmoModelCatalogEntryInputSchema, OmoModelCatalogEntrySchema, OmoModelCatalogSchema, OmoModelCatalogEntryLayerInputSchema, OmoModelCatalogEntryLayerSchema, OmoModelCatalogLayerSchema;
18710
18844
  var init_model_catalog = __esm(() => {
18711
18845
  init_zod();
18712
18846
  init_fallback_models();
18713
- OmoModelCatalogEntrySchema = object({
18847
+ init_model_ref();
18848
+ OmoModelCatalogEntryInputSchema = object({
18714
18849
  model: string2(),
18850
+ reasoning: OmoReasoningSchema.optional(),
18715
18851
  variant: string2().optional(),
18716
18852
  reasoningEffort: OmoReasoningEffortSchema.optional()
18717
18853
  }).strict();
18854
+ OmoModelCatalogEntrySchema = preprocess((value) => isRecord5(value) ? normalizeLegacyModelFields(value) : value, OmoModelCatalogEntryInputSchema);
18718
18855
  OmoModelCatalogSchema = record(string2(), OmoModelCatalogEntrySchema);
18719
- OmoModelCatalogEntryLayerSchema = OmoModelCatalogEntrySchema.partial();
18856
+ OmoModelCatalogEntryLayerInputSchema = OmoModelCatalogEntryInputSchema.partial();
18857
+ OmoModelCatalogEntryLayerSchema = preprocess((value) => isRecord5(value) ? normalizeLegacyModelFields(value) : value, OmoModelCatalogEntryLayerInputSchema);
18720
18858
  OmoModelCatalogLayerSchema = record(string2(), OmoModelCatalogEntryLayerSchema);
18721
18859
  });
18722
18860
 
18723
18861
  // packages/omo-config-core/src/schema/task.ts
18724
- var OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskSettingsSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskSettingsLayerSchema;
18862
+ var OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskSettingsSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
18725
18863
  var init_task = __esm(() => {
18726
18864
  init_zod();
18727
18865
  OmoTaskWaitSchema = object({
@@ -18734,6 +18872,9 @@ var init_task = __esm(() => {
18734
18872
  max_parallel_members: number2().int().min(1).max(8).default(4),
18735
18873
  max_wall_clock_minutes: number2().int().positive().default(120)
18736
18874
  }).strict();
18875
+ OmoTaskWarningsSchema = object({
18876
+ unavailable_categories: boolean2().default(true)
18877
+ }).strict();
18737
18878
  OmoTaskSettingsSchema = object({
18738
18879
  default_execution_mode: _enum2(["in-process", "process"]).default("in-process"),
18739
18880
  default_concurrency: number2().int().positive().default(5),
@@ -18744,6 +18885,7 @@ var init_task = __esm(() => {
18744
18885
  ttl_ms: number2().int().positive().default(86400000),
18745
18886
  state_dir: string2().optional(),
18746
18887
  reattach_on_reconcile: boolean2().optional(),
18888
+ warnings: OmoTaskWarningsSchema.default({ unavailable_categories: true }),
18747
18889
  wait: OmoTaskWaitSchema.default({ min_ms: 5000, default_ms: 60000, max_ms: 600000 }),
18748
18890
  team: OmoTaskTeamSettingsSchema.default({
18749
18891
  max_members: 8,
@@ -18761,6 +18903,9 @@ var init_task = __esm(() => {
18761
18903
  max_parallel_members: number2().int().min(1).max(8).optional(),
18762
18904
  max_wall_clock_minutes: number2().int().positive().optional()
18763
18905
  }).strict();
18906
+ OmoTaskWarningsLayerSchema = object({
18907
+ unavailable_categories: boolean2().optional()
18908
+ }).strict();
18764
18909
  OmoTaskSettingsLayerSchema = object({
18765
18910
  default_execution_mode: _enum2(["in-process", "process"]).optional(),
18766
18911
  default_concurrency: number2().int().positive().optional(),
@@ -18771,6 +18916,7 @@ var init_task = __esm(() => {
18771
18916
  ttl_ms: number2().int().positive().optional(),
18772
18917
  state_dir: string2().optional(),
18773
18918
  reattach_on_reconcile: boolean2().optional(),
18919
+ warnings: OmoTaskWarningsLayerSchema.optional(),
18774
18920
  wait: OmoTaskWaitLayerSchema.optional(),
18775
18921
  team: OmoTaskTeamSettingsLayerSchema.optional()
18776
18922
  }).strict();
@@ -18898,6 +19044,7 @@ var init_schema = __esm(() => {
18898
19044
  init_fallback_models();
18899
19045
  init_harness();
18900
19046
  init_model_catalog();
19047
+ init_model_ref();
18901
19048
  init_task();
18902
19049
  init_team();
18903
19050
  });
@@ -18960,11 +19107,8 @@ var init_types = __esm(() => {
18960
19107
  });
18961
19108
 
18962
19109
  // packages/omo-config-core/src/loader/paths.ts
18963
- import { dirname, isAbsolute, join as join2, posix, relative, resolve } from "path";
18964
- function containsPath(parent, child) {
18965
- const pathToChild = relative(parent, child);
18966
- return pathToChild === "" || !pathToChild.startsWith("..") && !isAbsolute(pathToChild);
18967
- }
19110
+ import { userInfo } from "os";
19111
+ import { dirname, join as join2, posix, resolve } from "path";
18968
19112
  function resolveHomeDir(env = process.env) {
18969
19113
  const homeDir = env.HOME ?? env.USERPROFILE ?? process.cwd();
18970
19114
  return homeDir.startsWith("/") ? posix.resolve(homeDir) : toPosixPath(resolve(homeDir));
@@ -19013,15 +19157,14 @@ function realpathOrSelf(path3, fileSystem) {
19013
19157
  return path3;
19014
19158
  }
19015
19159
  }
19016
- function findProjectConfigPathsFarthestFirst(cwd, homeDir, fileSystem) {
19160
+ function findProjectConfigPathsFarthestFirst(cwd, homeDir, fileSystem, accountHomeDir = homeDir) {
19017
19161
  const startDir = resolve(cwd);
19018
- const resolvedHomeDir = resolve(homeDir);
19019
- const realHomeDir = realpathOrSelf(resolvedHomeDir, fileSystem);
19020
- const stopDir = containsPath(realHomeDir, realpathOrSelf(startDir, fileSystem)) ? realHomeDir : null;
19162
+ const boundaryDirs = [...new Set([resolve(homeDir), resolve(accountHomeDir)])];
19163
+ const realBoundaryDirs = new Set(boundaryDirs.map((path3) => realpathOrSelf(path3, fileSystem)));
19021
19164
  const nearestFirst = [];
19022
19165
  let currentDir = startDir;
19023
19166
  for (let depth = 0;depth < MAX_PROJECT_CONFIG_DIRECTORY_DEPTH; depth += 1) {
19024
- const isHomeDir = currentDir === resolvedHomeDir || stopDir !== null && realpathOrSelf(currentDir, fileSystem) === stopDir;
19167
+ const isHomeDir = boundaryDirs.includes(currentDir) || realBoundaryDirs.has(realpathOrSelf(currentDir, fileSystem));
19025
19168
  const configPath = isHomeDir ? null : detectOmoJsonPath(currentDir, fileSystem);
19026
19169
  if (configPath !== null)
19027
19170
  nearestFirst.push(configPath);
@@ -19038,16 +19181,17 @@ function resolveOmoConfigPaths(options) {
19038
19181
  const fileSystem = options.fileSystem ?? DEFAULT_READ_FILE_SYSTEM;
19039
19182
  const env = options.env ?? process.env;
19040
19183
  const userPath = detectUserOmoJsonPath(env, fileSystem);
19041
- const projectPaths = findProjectConfigPathsFarthestFirst(options.cwd, resolveHomeDir(env), fileSystem);
19184
+ const projectPaths = findProjectConfigPathsFarthestFirst(options.cwd, resolveHomeDir(env), fileSystem, ACCOUNT_HOME_DIR);
19042
19185
  return [
19043
19186
  { path: userPath, scope: "user" },
19044
19187
  ...projectPaths.map((path3) => ({ path: path3, scope: "project" }))
19045
19188
  ];
19046
19189
  }
19047
- var MAX_PROJECT_CONFIG_DIRECTORY_DEPTH = 256;
19190
+ var MAX_PROJECT_CONFIG_DIRECTORY_DEPTH = 256, ACCOUNT_HOME_DIR;
19048
19191
  var init_paths = __esm(() => {
19049
19192
  init_posix_path();
19050
19193
  init_types();
19194
+ ACCOUNT_HOME_DIR = userInfo().homedir;
19051
19195
  });
19052
19196
 
19053
19197
  // packages/omo-config-core/src/loader/resolution.ts
@@ -19305,79 +19449,58 @@ function findModelCatalogCycles(catalog) {
19305
19449
  }
19306
19450
 
19307
19451
  // packages/omo-config-core/src/models/model-reference-resolution.ts
19308
- function catalogReference(model, variant, reasoningEffort, catalog, cycleNames) {
19452
+ function catalogReference(model, reasoning, catalog, cycleNames) {
19309
19453
  const entry = catalog?.[model];
19310
19454
  if (entry === undefined || cycleNames.has(model))
19311
19455
  return;
19312
19456
  return {
19313
19457
  model: entry.model,
19314
- ...variant === undefined && entry.variant !== undefined ? { variant: entry.variant } : variant !== undefined ? { variant } : {},
19315
- ...reasoningEffort === undefined && entry.reasoningEffort !== undefined ? { reasoningEffort: entry.reasoningEffort } : reasoningEffort !== undefined ? { reasoningEffort } : {}
19316
- };
19317
- }
19318
- function resolveAgentModelEntry(entry, catalog, cycleNames) {
19319
- if (typeof entry === "string") {
19320
- const resolved2 = catalogReference(entry, undefined, undefined, catalog, cycleNames);
19321
- if (resolved2 === undefined)
19322
- return entry;
19323
- return resolved2.variant === undefined && resolved2.reasoningEffort === undefined ? resolved2.model : resolved2;
19324
- }
19325
- const resolved = catalogReference(entry.model, entry.variant, entry.reasoningEffort, catalog, cycleNames);
19326
- if (resolved === undefined)
19327
- return entry;
19328
- return {
19329
- ...entry,
19330
- model: resolved.model,
19331
- ...entry.variant === undefined && resolved.variant !== undefined ? { variant: resolved.variant } : {},
19332
- ...entry.reasoningEffort === undefined && resolved.reasoningEffort !== undefined ? { reasoningEffort: resolved.reasoningEffort } : {}
19458
+ ...reasoning === undefined && entry.reasoning !== undefined ? { reasoning: entry.reasoning } : reasoning !== undefined ? { reasoning } : {}
19333
19459
  };
19334
19460
  }
19335
- function resolveFallbackModelEntry(entry, catalog, cycleNames) {
19461
+ function resolveModelEntry(entry, catalog, cycleNames) {
19336
19462
  if (typeof entry === "string") {
19337
- const resolved2 = catalogReference(entry, undefined, undefined, catalog, cycleNames);
19463
+ const resolved2 = catalogReference(entry, undefined, catalog, cycleNames);
19338
19464
  if (resolved2 === undefined)
19339
19465
  return entry;
19340
- return resolved2.variant === undefined && resolved2.reasoningEffort === undefined ? resolved2.model : resolved2;
19466
+ return resolved2.reasoning === undefined ? resolved2.model : resolved2;
19341
19467
  }
19342
- const resolved = catalogReference(entry.model, entry.variant, entry.reasoningEffort, catalog, cycleNames);
19468
+ const resolved = catalogReference(entry.model, entry.reasoning, catalog, cycleNames);
19343
19469
  if (resolved === undefined)
19344
19470
  return entry;
19345
19471
  return {
19346
19472
  ...entry,
19347
19473
  model: resolved.model,
19348
- ...entry.variant === undefined && resolved.variant !== undefined ? { variant: resolved.variant } : {},
19349
- ...entry.reasoningEffort === undefined && resolved.reasoningEffort !== undefined ? { reasoningEffort: resolved.reasoningEffort } : {}
19474
+ ...entry.reasoning === undefined && resolved.reasoning !== undefined ? { reasoning: resolved.reasoning } : {}
19350
19475
  };
19351
19476
  }
19352
19477
  function resolveFallbackModels(fallbackModels, catalog, cycleNames) {
19353
19478
  if (fallbackModels === undefined)
19354
19479
  return;
19355
19480
  if (typeof fallbackModels !== "string") {
19356
- return fallbackModels.map((entry) => resolveFallbackModelEntry(entry, catalog, cycleNames));
19481
+ return fallbackModels.map((entry) => resolveModelEntry(entry, catalog, cycleNames));
19357
19482
  }
19358
- const resolved = catalogReference(fallbackModels, undefined, undefined, catalog, cycleNames);
19359
- if (resolved === undefined || resolved.variant === undefined && resolved.reasoningEffort === undefined) {
19483
+ const resolved = catalogReference(fallbackModels, undefined, catalog, cycleNames);
19484
+ if (resolved === undefined || resolved.reasoning === undefined)
19360
19485
  return resolved?.model ?? fallbackModels;
19361
- }
19362
19486
  return [resolved];
19363
19487
  }
19364
19488
  function resolveAgentDefinition(definition, catalog, cycleNames) {
19365
- const resolvedModel = definition.model === undefined ? undefined : catalogReference(definition.model, definition.variant, definition.reasoningEffort, catalog, cycleNames);
19489
+ const resolvedModel = definition.model === undefined ? undefined : catalogReference(definition.model, definition.reasoning, catalog, cycleNames);
19366
19490
  return {
19367
19491
  ...definition,
19368
19492
  ...resolvedModel === undefined ? {} : { model: resolvedModel.model },
19369
- ...definition.variant === undefined && resolvedModel?.variant !== undefined ? { variant: resolvedModel.variant } : {},
19370
- ...definition.reasoningEffort === undefined && resolvedModel?.reasoningEffort !== undefined ? { reasoningEffort: resolvedModel.reasoningEffort } : {},
19371
- ...definition.models === undefined ? {} : { models: definition.models.map((entry) => resolveAgentModelEntry(entry, catalog, cycleNames)) }
19493
+ ...definition.reasoning === undefined && resolvedModel?.reasoning !== undefined ? { reasoning: resolvedModel.reasoning } : {},
19494
+ ...definition.models === undefined ? {} : { models: definition.models.map((entry) => resolveModelEntry(entry, catalog, cycleNames)) }
19372
19495
  };
19373
19496
  }
19374
19497
  function resolveCategoryDefinition(definition, catalog, cycleNames) {
19375
- const resolvedModel = definition.model === undefined ? undefined : catalogReference(definition.model, definition.variant, definition.reasoningEffort, catalog, cycleNames);
19498
+ const resolvedModel = definition.model === undefined ? undefined : catalogReference(definition.model, definition.reasoning, catalog, cycleNames);
19376
19499
  return {
19377
19500
  ...definition,
19378
19501
  ...resolvedModel === undefined ? {} : { model: resolvedModel.model },
19379
- ...definition.variant === undefined && resolvedModel?.variant !== undefined ? { variant: resolvedModel.variant } : {},
19380
- ...definition.reasoningEffort === undefined && resolvedModel?.reasoningEffort !== undefined ? { reasoningEffort: resolvedModel.reasoningEffort } : {},
19502
+ ...definition.reasoning === undefined && resolvedModel?.reasoning !== undefined ? { reasoning: resolvedModel.reasoning } : {},
19503
+ ...definition.models === undefined ? {} : { models: definition.models.map((entry) => resolveModelEntry(entry, catalog, cycleNames)) },
19381
19504
  ...definition.fallback_models === undefined ? {} : { fallback_models: resolveFallbackModels(definition.fallback_models, catalog, cycleNames) }
19382
19505
  };
19383
19506
  }
@@ -20496,7 +20619,7 @@ var init_agent_model_requirements = __esm(() => {
20496
20619
  model: "kimi-k3"
20497
20620
  },
20498
20621
  { providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5.6-sol", variant: "medium" },
20499
- { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan", "vercel"], model: "glm-5" },
20622
+ { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan", "vercel"], model: "glm-5.2" },
20500
20623
  { providers: ["opencode"], model: "big-pickle" }
20501
20624
  ],
20502
20625
  requiresAnyModel: true
@@ -20539,8 +20662,9 @@ var init_agent_model_requirements = __esm(() => {
20539
20662
  },
20540
20663
  librarian: {
20541
20664
  fallbackChain: [
20542
- { providers: ["openai"], model: "gpt-5.4-mini-fast" },
20543
- { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.5-plus" },
20665
+ { providers: ["openai"], model: "gpt-5.6-luna-fast", variant: "low" },
20666
+ { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
20667
+ { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
20544
20668
  { providers: ["vercel"], model: "minimax-m2.7-highspeed" },
20545
20669
  { providers: ["opencode-go", "vercel"], model: "minimax-m3" },
20546
20670
  { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
@@ -20551,8 +20675,9 @@ var init_agent_model_requirements = __esm(() => {
20551
20675
  },
20552
20676
  explore: {
20553
20677
  fallbackChain: [
20554
- { providers: ["openai"], model: "gpt-5.4-mini-fast" },
20555
- { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.5-plus" },
20678
+ { providers: ["openai"], model: "gpt-5.6-luna-fast", variant: "low" },
20679
+ { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
20680
+ { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
20556
20681
  { providers: ["vercel"], model: "minimax-m2.7-highspeed" },
20557
20682
  { providers: ["opencode-go", "vercel"], model: "minimax-m3" },
20558
20683
  { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
@@ -20626,7 +20751,7 @@ var init_agent_model_requirements = __esm(() => {
20626
20751
  },
20627
20752
  atlas: {
20628
20753
  fallbackChain: [
20629
- { providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-4-6" },
20754
+ { providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-5" },
20630
20755
  { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20631
20756
  {
20632
20757
  providers: ["openai", "github-copilot", "opencode", "vercel"],
@@ -20640,7 +20765,7 @@ var init_agent_model_requirements = __esm(() => {
20640
20765
  },
20641
20766
  "sisyphus-junior": {
20642
20767
  fallbackChain: [
20643
- { providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-4-6" },
20768
+ { providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-5" },
20644
20769
  { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20645
20770
  {
20646
20771
  providers: ["openai", "github-copilot", "opencode", "vercel"],
@@ -20663,109 +20788,69 @@ var init_category_model_requirements = __esm(() => {
20663
20788
  "visual-engineering": {
20664
20789
  fallbackChain: [
20665
20790
  {
20666
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20791
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode", "vercel"],
20667
20792
  model: "claude-opus-5",
20668
20793
  variant: "max"
20669
20794
  },
20670
20795
  {
20671
- providers: ["apitopia", "opencode-go", "kimi-for-coding", "moonshotai", "opencode", "vercel"],
20796
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode", "vercel"],
20672
20797
  model: "kimi-k3",
20673
20798
  variant: "max"
20674
20799
  },
20675
20800
  {
20676
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20677
- model: "claude-fable-5",
20678
- variant: "low"
20801
+ providers: ["zai-coding-plan", "opencode-go", "vercel"],
20802
+ model: "glm-5.2",
20803
+ variant: "max"
20679
20804
  },
20680
20805
  {
20681
- providers: ["google", "github-copilot", "opencode", "vercel"],
20682
- model: "gemini-3.1-pro",
20683
- variant: "high"
20684
- },
20685
- { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan", "vercel"], model: "glm-5" },
20686
- { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
20806
+ providers: ["openai", "quotio-openai", "github-copilot", "opencode", "vercel"],
20807
+ model: "gpt-5.6-sol",
20808
+ variant: "medium"
20809
+ }
20687
20810
  ]
20688
20811
  },
20689
20812
  ultrabrain: {
20690
20813
  fallbackChain: [
20691
20814
  {
20692
- providers: ["openai", "vercel"],
20815
+ providers: ["openai", "quotio-openai", "vercel"],
20693
20816
  model: "gpt-5.6-sol",
20694
- variant: "xhigh"
20817
+ variant: "max"
20695
20818
  },
20696
20819
  {
20697
20820
  providers: ["github-copilot"],
20698
20821
  model: "gpt-5.6-sol",
20699
- variant: "high"
20822
+ variant: "max"
20700
20823
  },
20701
20824
  {
20702
20825
  providers: ["openai", "opencode", "vercel"],
20703
20826
  model: "gpt-5.6-sol",
20704
- variant: "xhigh"
20705
- },
20706
- {
20707
- providers: ["google", "github-copilot", "opencode", "vercel"],
20708
- model: "gemini-3.1-pro",
20709
- variant: "high"
20710
- },
20711
- {
20712
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20713
- model: "claude-opus-5",
20714
20827
  variant: "max"
20715
- },
20716
- { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
20828
+ }
20717
20829
  ]
20718
20830
  },
20719
20831
  deep: {
20720
20832
  fallbackChain: [
20721
20833
  {
20722
- providers: ["openai", "vercel"],
20723
- model: "gpt-5.6-terra",
20724
- variant: "xhigh"
20725
- },
20726
- {
20727
- providers: ["github-copilot"],
20728
- model: "gpt-5.6-terra",
20729
- variant: "high"
20730
- },
20731
- {
20732
- providers: ["openai", "github-copilot", "vercel"],
20733
- model: "gpt-5.6-sol",
20734
- variant: "high"
20735
- },
20736
- {
20737
- providers: ["openai", "github-copilot", "opencode", "vercel"],
20834
+ providers: ["openai", "quotio-openai", "github-copilot", "opencode", "vercel"],
20738
20835
  model: "gpt-5.6-sol",
20739
20836
  variant: "medium"
20740
- },
20741
- {
20742
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20743
- model: "claude-opus-5",
20744
- variant: "max"
20745
- },
20746
- {
20747
- providers: ["google", "github-copilot", "opencode", "vercel"],
20748
- model: "gemini-3.1-pro",
20749
- variant: "high"
20750
- },
20751
- { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20752
- { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
20837
+ }
20753
20838
  ]
20754
20839
  },
20755
20840
  artistry: {
20756
20841
  fallbackChain: [
20757
20842
  {
20758
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20843
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode", "vercel"],
20759
20844
  model: "claude-fable-5",
20760
20845
  variant: "xhigh"
20761
20846
  },
20762
20847
  {
20763
- providers: ["apitopia", "opencode-go", "kimi-for-coding", "moonshotai", "opencode", "vercel"],
20848
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode", "vercel"],
20764
20849
  model: "kimi-k3",
20765
20850
  variant: "max"
20766
20851
  },
20767
20852
  {
20768
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20853
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode", "vercel"],
20769
20854
  model: "claude-opus-5",
20770
20855
  variant: "xhigh"
20771
20856
  }
@@ -20773,88 +20858,88 @@ var init_category_model_requirements = __esm(() => {
20773
20858
  },
20774
20859
  quick: {
20775
20860
  fallbackChain: [
20776
- { providers: ["apitopia"], model: "kimi-for-coding-highspeed" },
20777
- { providers: ["quotio-openai"], model: "gpt-5.4-mini-fast" },
20861
+ { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed" },
20862
+ { providers: ["quotio-openai"], model: "gpt-5.6-luna-fast", variant: "low" },
20863
+ { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "off" },
20778
20864
  {
20779
- providers: ["anthropic-api", "anthropic", "github-copilot", "vercel"],
20780
- model: "claude-haiku-4-5"
20865
+ providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan", "opencode-go", "vercel"],
20866
+ model: "qwen3.6-flash",
20867
+ variant: "low"
20781
20868
  },
20869
+ { providers: ["opencode-go", "vercel"], model: "minimax-m3", variant: "max" },
20870
+ { providers: ["opencode-go", "vercel"], model: "minimax-m2.7", variant: "max" },
20871
+ { providers: ["xai"], model: "grok-4.20-0309-non-reasoning" },
20782
20872
  {
20783
- providers: ["google", "github-copilot", "opencode", "vercel"],
20784
- model: "gemini-3-flash"
20785
- },
20786
- { providers: ["opencode-go", "vercel"], model: "minimax-m3" },
20787
- { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
20788
- { providers: ["opencode-go", "vercel"], model: "minimax-m2.7" },
20789
- { providers: ["opencode", "vercel"], model: "gpt-5-nano" }
20873
+ providers: ["anthropic", "anthropic-api", "github-copilot", "vercel"],
20874
+ model: "claude-haiku-4-5",
20875
+ variant: "off"
20876
+ }
20790
20877
  ]
20791
20878
  },
20792
20879
  "unspecified-low": {
20793
20880
  fallbackChain: [
20794
20881
  {
20795
- providers: ["openai", "vercel"],
20796
- model: "gpt-5.6-luna",
20797
- variant: "xhigh"
20798
- },
20799
- {
20800
- providers: ["github-copilot"],
20801
- model: "gpt-5.6-luna",
20882
+ providers: ["openai", "quotio-openai", "github-copilot", "opencode", "vercel"],
20883
+ model: "gpt-5.6-terra",
20802
20884
  variant: "high"
20803
20885
  },
20804
20886
  {
20805
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20806
- model: "claude-sonnet-4-6"
20887
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode", "vercel"],
20888
+ model: "claude-sonnet-5",
20889
+ variant: "low"
20807
20890
  },
20808
20891
  {
20809
- providers: ["openai", "opencode", "vercel"],
20810
- model: "gpt-5.6-sol",
20811
- variant: "medium"
20892
+ providers: ["qwen-token-plan", "alibaba-token-plan", "qwen-token-plan-cn", "alibaba-token-plan-cn"],
20893
+ model: "qwen3.8-max-preview",
20894
+ variant: "max"
20812
20895
  },
20813
- { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20814
20896
  {
20815
- providers: ["google", "github-copilot", "opencode", "vercel"],
20816
- model: "gemini-3-flash"
20897
+ providers: ["deepseek", "opencode-go", "vercel"],
20898
+ model: "deepseek-v4-pro",
20899
+ variant: "max"
20817
20900
  },
20818
- { providers: ["opencode-go", "vercel"], model: "minimax-m3" },
20819
- { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
20820
- { providers: ["opencode-go", "vercel"], model: "minimax-m2.7" }
20901
+ {
20902
+ providers: ["xiaomi", "opencode-go", "vercel"],
20903
+ model: "mimo-v2.5-pro",
20904
+ variant: "max"
20905
+ }
20821
20906
  ]
20822
20907
  },
20823
20908
  "unspecified-high": {
20824
20909
  fallbackChain: [
20825
20910
  {
20826
- providers: ["apitopia", "opencode-go", "kimi-for-coding", "moonshotai", "opencode", "vercel"],
20911
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode", "vercel"],
20827
20912
  model: "kimi-k3",
20828
20913
  variant: "max"
20829
20914
  },
20830
20915
  {
20831
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20916
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode", "vercel"],
20832
20917
  model: "claude-opus-5",
20833
- variant: "high"
20918
+ variant: "xhigh"
20834
20919
  },
20835
20920
  {
20836
- providers: ["openai", "github-copilot", "opencode", "vercel"],
20921
+ providers: ["openai", "quotio-openai", "github-copilot", "opencode", "vercel"],
20837
20922
  model: "gpt-5.6-sol",
20838
20923
  variant: "high"
20839
- },
20840
- { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan", "vercel"], model: "glm-5" },
20841
- { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
20924
+ }
20842
20925
  ]
20843
20926
  },
20844
20927
  writing: {
20845
20928
  fallbackChain: [
20846
20929
  {
20847
- providers: ["google", "github-copilot", "opencode", "vercel"],
20848
- model: "gemini-3-flash"
20930
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode", "vercel"],
20931
+ model: "kimi-k3",
20932
+ variant: "low"
20849
20933
  },
20850
- { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20851
20934
  {
20852
- providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20853
- model: "claude-sonnet-4-6"
20935
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode", "vercel"],
20936
+ model: "claude-opus-5",
20937
+ variant: "low"
20854
20938
  },
20855
- { providers: ["opencode-go", "vercel"], model: "minimax-m3" },
20856
- { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
20857
- { providers: ["opencode-go", "vercel"], model: "minimax-m2.7" }
20939
+ {
20940
+ providers: ["google", "github-copilot", "opencode", "vercel"],
20941
+ model: "gemini-3.6-flash"
20942
+ }
20858
20943
  ]
20859
20944
  }
20860
20945
  };
@@ -21076,25 +21161,17 @@ var init_model_capability_heuristics = __esm(() => {
21076
21161
  // packages/model-core/src/model-capability-guardrails.ts
21077
21162
  var init_model_capability_guardrails = () => {};
21078
21163
 
21164
+ // packages/model-core/src/reasoning-level.ts
21165
+ var REASONING_LEVELS2, REASONING_AUTO2 = "auto", REASONING_LEVEL_SET2, REASONING_LEVEL_OR_AUTO_SET2;
21166
+ var init_reasoning_level = __esm(() => {
21167
+ REASONING_LEVELS2 = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
21168
+ REASONING_LEVEL_SET2 = new Set(REASONING_LEVELS2);
21169
+ REASONING_LEVEL_OR_AUTO_SET2 = new Set([...REASONING_LEVELS2, REASONING_AUTO2]);
21170
+ });
21171
+
21079
21172
  // packages/model-core/src/model-settings-compatibility.ts
21080
21173
  var init_model_settings_compatibility = () => {};
21081
21174
 
21082
- // packages/model-core/src/known-variants.ts
21083
- var KNOWN_VARIANTS;
21084
- var init_known_variants = __esm(() => {
21085
- KNOWN_VARIANTS = new Set([
21086
- "low",
21087
- "medium",
21088
- "high",
21089
- "xhigh",
21090
- "max",
21091
- "minimal",
21092
- "none",
21093
- "auto",
21094
- "thinking"
21095
- ]);
21096
- });
21097
-
21098
21175
  // packages/model-core/src/model-resolver.ts
21099
21176
  function normalizeFallbackModels(models2) {
21100
21177
  if (!models2)
@@ -21106,20 +21183,7 @@ function normalizeFallbackModels(models2) {
21106
21183
  var init_model_resolver = () => {};
21107
21184
 
21108
21185
  // packages/model-core/src/model-string-parser.ts
21109
- var KNOWN_VARIANTS2;
21110
- var init_model_string_parser = __esm(() => {
21111
- KNOWN_VARIANTS2 = new Set([
21112
- "low",
21113
- "medium",
21114
- "high",
21115
- "xhigh",
21116
- "max",
21117
- "minimal",
21118
- "none",
21119
- "auto",
21120
- "thinking"
21121
- ]);
21122
- });
21186
+ var init_model_string_parser = () => {};
21123
21187
 
21124
21188
  // packages/model-core/src/fallback-chain-from-models.ts
21125
21189
  var init_fallback_chain_from_models = () => {};
@@ -21263,8 +21327,8 @@ var init_supplemental_entries = __esm(() => {
21263
21327
  output: 128000
21264
21328
  }
21265
21329
  },
21266
- "gpt-5.4-mini-fast": {
21267
- id: "gpt-5.4-mini-fast",
21330
+ "gpt-5.6-luna-fast": {
21331
+ id: "gpt-5.6-luna-fast",
21268
21332
  family: "gpt-mini",
21269
21333
  reasoning: true,
21270
21334
  temperature: false,
@@ -21297,7 +21361,7 @@ var init_bundled_snapshot = __esm(() => {
21297
21361
  });
21298
21362
 
21299
21363
  // packages/model-core/src/model-capabilities/runtime-model-readers.ts
21300
- function isRecord2(value) {
21364
+ function isRecord6(value) {
21301
21365
  return typeof value === "object" && value !== null && !Array.isArray(value);
21302
21366
  }
21303
21367
  function readNumber(value) {
@@ -21315,7 +21379,7 @@ function normalizeVariantKeys(value) {
21315
21379
  if (arrayVariants) {
21316
21380
  return arrayVariants.filter((v) => typeof v === "string").map((variant) => variant.toLowerCase());
21317
21381
  }
21318
- if (!isRecord2(value)) {
21382
+ if (!isRecord6(value)) {
21319
21383
  return;
21320
21384
  }
21321
21385
  const variants = Object.keys(value).map((variant) => variant.toLowerCase());
@@ -21326,7 +21390,7 @@ function readModalityKeys(value) {
21326
21390
  if (stringArray) {
21327
21391
  return stringArray.filter((entry) => typeof entry === "string").map((entry) => entry.toLowerCase());
21328
21392
  }
21329
- if (!isRecord2(value)) {
21393
+ if (!isRecord6(value)) {
21330
21394
  return;
21331
21395
  }
21332
21396
  const fromNested = Object.values(value).filter((v) => Array.isArray(v)).flat().filter((item) => typeof item === "string");
@@ -21337,7 +21401,7 @@ function readModalityKeys(value) {
21337
21401
  return enabled.length > 0 ? enabled : undefined;
21338
21402
  }
21339
21403
  function normalizeModalities(value) {
21340
- if (!isRecord2(value)) {
21404
+ if (!isRecord6(value)) {
21341
21405
  return;
21342
21406
  }
21343
21407
  const input = readModalityKeys(value.input);
@@ -21351,7 +21415,7 @@ function normalizeModalities(value) {
21351
21415
  };
21352
21416
  }
21353
21417
  function readRuntimeModelCapabilities(runtimeModel) {
21354
- return isRecord2(runtimeModel?.capabilities) ? runtimeModel.capabilities : undefined;
21418
+ return isRecord6(runtimeModel?.capabilities) ? runtimeModel.capabilities : undefined;
21355
21419
  }
21356
21420
  function readRuntimeModelBoolean(runtimeModel, keys) {
21357
21421
  const runtimeCapabilities = readRuntimeModelCapabilities(runtimeModel);
@@ -21368,7 +21432,7 @@ function readRuntimeModelBoolean(runtimeModel, keys) {
21368
21432
  return;
21369
21433
  }
21370
21434
  function readRuntimeModel(runtimeModel) {
21371
- return isRecord2(runtimeModel) ? runtimeModel : undefined;
21435
+ return isRecord6(runtimeModel) ? runtimeModel : undefined;
21372
21436
  }
21373
21437
  function readRuntimeModelVariants(runtimeModel) {
21374
21438
  const rootVariants = normalizeVariantKeys(runtimeModel?.variants);
@@ -21416,8 +21480,8 @@ function readRuntimeModelToolCallSupport(runtimeModel) {
21416
21480
  return readRuntimeModelBoolean(runtimeModel, ["toolCall", "tool_call", "toolcall"]);
21417
21481
  }
21418
21482
  function readRuntimeModelLimitOutput(runtimeModel) {
21419
- const limit = isRecord2(runtimeModel?.limit) ? runtimeModel.limit : readRuntimeModelCapabilities(runtimeModel)?.limit;
21420
- if (!isRecord2(limit)) {
21483
+ const limit = isRecord6(runtimeModel?.limit) ? runtimeModel.limit : readRuntimeModelCapabilities(runtimeModel)?.limit;
21484
+ if (!isRecord6(limit)) {
21421
21485
  return;
21422
21486
  }
21423
21487
  const output = readNumber(limit.output);
@@ -21464,7 +21528,7 @@ function getModelCapabilities(input) {
21464
21528
  const maxOutputTokensSource = runtimeMaxOutputTokens !== undefined ? "runtime" : snapshotEntry?.limit?.output !== undefined ? snapshotSource : "none";
21465
21529
  const toolCallSource = runtimeToolCall !== undefined ? "runtime" : snapshotEntry?.toolCall !== undefined ? snapshotSource : "none";
21466
21530
  const modalitiesSource = runtimeModalities !== undefined ? "runtime" : snapshotEntry?.modalities !== undefined ? snapshotSource : "none";
21467
- const resolutionMode = snapshotSource !== "none" && canonicalization.source === "canonical" ? "snapshot-backed" : snapshotSource !== "none" ? "alias-backed" : familySource === "heuristic" || variantsSource === "heuristic" || reasoningEffortsSource === "heuristic" ? "heuristic-backed" : "unknown";
21531
+ const resolutionMode = canonicalization.source === "canonical" ? snapshotSource !== "none" ? "snapshot-backed" : familySource === "heuristic" || variantsSource === "heuristic" || reasoningEffortsSource === "heuristic" ? "heuristic-backed" : "unknown" : "alias-backed";
21468
21532
  return {
21469
21533
  requestedModelID: canonicalization.requestedModelID,
21470
21534
  canonicalModelID: canonicalization.canonicalModelID,
@@ -21520,7 +21584,7 @@ var init_model_capabilities = __esm(() => {
21520
21584
  var init_context_limit_resolver = () => {};
21521
21585
 
21522
21586
  // packages/model-core/src/model-capabilities-snapshot.ts
21523
- function isRecord3(value) {
21587
+ function isRecord7(value) {
21524
21588
  return typeof value === "object" && value !== null && !Array.isArray(value);
21525
21589
  }
21526
21590
  function readBoolean(value) {
@@ -21540,7 +21604,7 @@ function readStringArray2(value) {
21540
21604
  return result.length > 0 ? result : undefined;
21541
21605
  }
21542
21606
  function normalizeSnapshotEntry(rawModelID, rawModel) {
21543
- if (!isRecord3(rawModel)) {
21607
+ if (!isRecord7(rawModel)) {
21544
21608
  return;
21545
21609
  }
21546
21610
  const id = readString(rawModel.id) ?? rawModelID;
@@ -21548,14 +21612,14 @@ function normalizeSnapshotEntry(rawModelID, rawModel) {
21548
21612
  const reasoning = readBoolean(rawModel.reasoning);
21549
21613
  const temperature = readBoolean(rawModel.temperature);
21550
21614
  const toolCall = readBoolean(rawModel.tool_call);
21551
- const rawModalities = isRecord3(rawModel.modalities) ? rawModel.modalities : undefined;
21615
+ const rawModalities = isRecord7(rawModel.modalities) ? rawModel.modalities : undefined;
21552
21616
  const modalitiesInput = readStringArray2(rawModalities?.input);
21553
21617
  const modalitiesOutput = readStringArray2(rawModalities?.output);
21554
21618
  const modalities = modalitiesInput || modalitiesOutput ? {
21555
21619
  ...modalitiesInput ? { input: modalitiesInput } : {},
21556
21620
  ...modalitiesOutput ? { output: modalitiesOutput } : {}
21557
21621
  } : undefined;
21558
- const rawLimit = isRecord3(rawModel.limit) ? rawModel.limit : undefined;
21622
+ const rawLimit = isRecord7(rawModel.limit) ? rawModel.limit : undefined;
21559
21623
  const limitContext = readNumber2(rawLimit?.context);
21560
21624
  const limitInput = readNumber2(rawLimit?.input);
21561
21625
  const limitOutput = readNumber2(rawLimit?.output);
@@ -21595,13 +21659,13 @@ function mergeSnapshotEntries(existing, incoming) {
21595
21659
  }
21596
21660
  function buildModelCapabilitiesSnapshotFromModelsDev(raw) {
21597
21661
  const models2 = {};
21598
- const providers = isRecord3(raw) ? raw : {};
21662
+ const providers = isRecord7(raw) ? raw : {};
21599
21663
  for (const providerValue of Object.values(providers)) {
21600
- if (!isRecord3(providerValue)) {
21664
+ if (!isRecord7(providerValue)) {
21601
21665
  continue;
21602
21666
  }
21603
21667
  const providerModels = providerValue.models;
21604
- if (!isRecord3(providerModels)) {
21668
+ if (!isRecord7(providerModels)) {
21605
21669
  continue;
21606
21670
  }
21607
21671
  for (const [rawModelID, rawModel] of Object.entries(providerModels)) {
@@ -21643,9 +21707,9 @@ var init_src3 = __esm(() => {
21643
21707
  init_model_capability_heuristics();
21644
21708
  init_model_capability_guardrails();
21645
21709
  init_model_settings_compatibility();
21710
+ init_reasoning_level();
21646
21711
  init_model_string_parser();
21647
21712
  init_fallback_chain_from_models();
21648
- init_known_variants();
21649
21713
  init_model_error_classifier();
21650
21714
  init_runtime_fallback_auto_retry_signal();
21651
21715
  init_runtime_fallback_error_classifier();
@@ -22334,9 +22398,11 @@ var init_agent_names = __esm(() => {
22334
22398
  // packages/omo-opencode/src/config/schema/fallback-models.ts
22335
22399
  var FallbackModelObjectSchema, FallbackModelStringArraySchema, FallbackModelObjectArraySchema, FallbackModelMixedArraySchema, FallbackModelsSchema;
22336
22400
  var init_fallback_models2 = __esm(() => {
22401
+ init_src();
22337
22402
  init_zod();
22338
22403
  FallbackModelObjectSchema = exports_external.object({
22339
22404
  model: exports_external.string(),
22405
+ reasoning: OmoReasoningSchema.optional(),
22340
22406
  variant: exports_external.string().optional(),
22341
22407
  reasoningEffort: exports_external.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]).optional(),
22342
22408
  temperature: exports_external.number().min(0).max(2).optional(),
@@ -22380,12 +22446,14 @@ var init_permission = __esm(() => {
22380
22446
  // packages/omo-opencode/src/config/schema/agent-overrides.ts
22381
22447
  var AgentOverrideConfigSchema, AgentOverridesSchema;
22382
22448
  var init_agent_overrides = __esm(() => {
22449
+ init_src();
22383
22450
  init_zod();
22384
22451
  init_fallback_models2();
22385
22452
  init_permission();
22386
22453
  AgentOverrideConfigSchema = exports_external.object({
22387
22454
  model: exports_external.string().optional(),
22388
22455
  fallback_models: FallbackModelsSchema.optional(),
22456
+ reasoning: OmoReasoningSchema.optional(),
22389
22457
  variant: exports_external.string().optional(),
22390
22458
  category: exports_external.string().optional(),
22391
22459
  skills: exports_external.array(exports_external.string()).optional(),
@@ -22410,10 +22478,12 @@ var init_agent_overrides = __esm(() => {
22410
22478
  providerOptions: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
22411
22479
  ultrawork: exports_external.object({
22412
22480
  model: exports_external.string().optional(),
22481
+ reasoning: OmoReasoningSchema.optional(),
22413
22482
  variant: exports_external.string().optional()
22414
22483
  }).optional(),
22415
22484
  compaction: exports_external.object({
22416
22485
  model: exports_external.string().optional(),
22486
+ reasoning: OmoReasoningSchema.optional(),
22417
22487
  variant: exports_external.string().optional()
22418
22488
  }).optional()
22419
22489
  });
@@ -22490,15 +22560,20 @@ var init_browser_automation = __esm(() => {
22490
22560
  // packages/omo-opencode/src/config/schema/categories.ts
22491
22561
  var CategoryConfigSchema, BuiltinCategoryNameSchema, CategoriesConfigSchema;
22492
22562
  var init_categories = __esm(() => {
22563
+ init_src();
22493
22564
  init_zod();
22494
22565
  init_fallback_models2();
22495
22566
  CategoryConfigSchema = exports_external.object({
22496
22567
  description: exports_external.string().optional(),
22497
22568
  model: exports_external.string().optional(),
22569
+ models: exports_external.array(exports_external.union([exports_external.string(), FallbackModelObjectSchema])).optional(),
22498
22570
  fallback_models: FallbackModelsSchema.optional(),
22571
+ reasoning: OmoReasoningSchema.optional(),
22499
22572
  variant: exports_external.string().optional(),
22500
22573
  temperature: exports_external.number().min(0).max(2).optional(),
22501
22574
  top_p: exports_external.number().min(0).max(1).optional(),
22575
+ max_tokens: exports_external.number().int().positive().optional(),
22576
+ provider_options: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
22502
22577
  maxTokens: exports_external.number().optional(),
22503
22578
  thinking: exports_external.object({
22504
22579
  type: exports_external.enum(["enabled", "disabled"]),
@@ -22510,7 +22585,8 @@ var init_categories = __esm(() => {
22510
22585
  prompt_append: exports_external.string().optional(),
22511
22586
  max_prompt_tokens: exports_external.number().int().positive().optional(),
22512
22587
  is_unstable_agent: exports_external.boolean().optional(),
22513
- disable: exports_external.boolean().optional()
22588
+ disable: exports_external.boolean().optional(),
22589
+ warn_unavailable: exports_external.boolean().optional()
22514
22590
  });
22515
22591
  BuiltinCategoryNameSchema = exports_external.enum([
22516
22592
  "visual-engineering",
@@ -23238,9 +23314,9 @@ var exports_validate = {};
23238
23314
  __export(exports_validate, {
23239
23315
  validatePluginConfig: () => validatePluginConfig
23240
23316
  });
23241
- import { relative as relative2 } from "path";
23317
+ import { relative } from "path";
23242
23318
  function shortPath(configPath) {
23243
- const candidate = relative2(process.cwd(), configPath);
23319
+ const candidate = relative(process.cwd(), configPath);
23244
23320
  return candidate.length > 0 ? candidate : configPath;
23245
23321
  }
23246
23322
  function formatIssuePath(path4) {
@@ -23346,7 +23422,7 @@ var init_model_requirements2 = __esm(() => {
23346
23422
  var model_capabilities_generated_default;
23347
23423
  var init_model_capabilities_generated = __esm(() => {
23348
23424
  model_capabilities_generated_default = {
23349
- generatedAt: "2026-07-25T14:04:01.805Z",
23425
+ generatedAt: "2026-07-29T03:28:21.339Z",
23350
23426
  sourceUrl: "https://models.dev/api.json",
23351
23427
  models: {
23352
23428
  "glm-5": {
@@ -23781,6 +23857,8 @@ var init_model_capabilities_generated = __esm(() => {
23781
23857
  input: [
23782
23858
  "text",
23783
23859
  "image",
23860
+ "video",
23861
+ "audio",
23784
23862
  "pdf"
23785
23863
  ],
23786
23864
  output: [
@@ -23788,8 +23866,8 @@ var init_model_capabilities_generated = __esm(() => {
23788
23866
  ]
23789
23867
  },
23790
23868
  limit: {
23791
- context: 1e6,
23792
- output: 64000
23869
+ context: 1048576,
23870
+ output: 65536
23793
23871
  }
23794
23872
  },
23795
23873
  "google/gemini-2.5-flash-lite": {
@@ -24431,28 +24509,29 @@ var init_model_capabilities_generated = __esm(() => {
24431
24509
  output: 262000
24432
24510
  }
24433
24511
  },
24434
- "accounts/fireworks/routers/glm-5p1-fast": {
24435
- id: "accounts/fireworks/routers/glm-5p1-fast",
24436
- family: "glm",
24512
+ "accounts/fireworks/routers/kimi-k2p6-turbo": {
24513
+ id: "accounts/fireworks/routers/kimi-k2p6-turbo",
24514
+ family: "kimi-thinking",
24437
24515
  reasoning: true,
24438
24516
  temperature: true,
24439
24517
  toolCall: true,
24440
24518
  modalities: {
24441
24519
  input: [
24442
- "text"
24520
+ "text",
24521
+ "image"
24443
24522
  ],
24444
24523
  output: [
24445
24524
  "text"
24446
24525
  ]
24447
24526
  },
24448
24527
  limit: {
24449
- context: 202800,
24450
- output: 131072
24528
+ context: 262000,
24529
+ output: 262000
24451
24530
  }
24452
24531
  },
24453
- "accounts/fireworks/routers/kimi-k2p6-turbo": {
24454
- id: "accounts/fireworks/routers/kimi-k2p6-turbo",
24455
- family: "kimi-thinking",
24532
+ "accounts/fireworks/routers/kimi-k2p7-code-fast": {
24533
+ id: "accounts/fireworks/routers/kimi-k2p7-code-fast",
24534
+ family: "kimi-k2",
24456
24535
  reasoning: true,
24457
24536
  temperature: true,
24458
24537
  toolCall: true,
@@ -24470,11 +24549,11 @@ var init_model_capabilities_generated = __esm(() => {
24470
24549
  output: 262000
24471
24550
  }
24472
24551
  },
24473
- "accounts/fireworks/routers/kimi-k2p7-code-fast": {
24474
- id: "accounts/fireworks/routers/kimi-k2p7-code-fast",
24475
- family: "kimi-k2",
24552
+ "accounts/fireworks/routers/kimi-k3-fast": {
24553
+ id: "accounts/fireworks/routers/kimi-k3-fast",
24554
+ family: "kimi-k3",
24476
24555
  reasoning: true,
24477
- temperature: true,
24556
+ temperature: false,
24478
24557
  toolCall: true,
24479
24558
  modalities: {
24480
24559
  input: [
@@ -24486,8 +24565,8 @@ var init_model_capabilities_generated = __esm(() => {
24486
24565
  ]
24487
24566
  },
24488
24567
  limit: {
24489
- context: 262000,
24490
- output: 262000
24568
+ context: 1048576,
24569
+ output: 131072
24491
24570
  }
24492
24571
  },
24493
24572
  "accounts/fireworks/models/qwen3p7-plus": {
@@ -24608,25 +24687,6 @@ var init_model_capabilities_generated = __esm(() => {
24608
24687
  output: 512000
24609
24688
  }
24610
24689
  },
24611
- "accounts/fireworks/models/glm-5p1": {
24612
- id: "accounts/fireworks/models/glm-5p1",
24613
- family: "glm",
24614
- reasoning: true,
24615
- temperature: true,
24616
- toolCall: true,
24617
- modalities: {
24618
- input: [
24619
- "text"
24620
- ],
24621
- output: [
24622
- "text"
24623
- ]
24624
- },
24625
- limit: {
24626
- context: 202800,
24627
- output: 131072
24628
- }
24629
- },
24630
24690
  "accounts/fireworks/models/deepseek-v4-pro": {
24631
24691
  id: "accounts/fireworks/models/deepseek-v4-pro",
24632
24692
  family: "deepseek-thinking",
@@ -24704,6 +24764,26 @@ var init_model_capabilities_generated = __esm(() => {
24704
24764
  output: 131072
24705
24765
  }
24706
24766
  },
24767
+ "accounts/fireworks/models/kimi-k3": {
24768
+ id: "accounts/fireworks/models/kimi-k3",
24769
+ family: "kimi-k3",
24770
+ reasoning: true,
24771
+ temperature: false,
24772
+ toolCall: true,
24773
+ modalities: {
24774
+ input: [
24775
+ "text",
24776
+ "image"
24777
+ ],
24778
+ output: [
24779
+ "text"
24780
+ ]
24781
+ },
24782
+ limit: {
24783
+ context: 1048576,
24784
+ output: 131072
24785
+ }
24786
+ },
24707
24787
  "microsoft/phi-4-mini-instruct": {
24708
24788
  id: "microsoft/phi-4-mini-instruct",
24709
24789
  family: "phi",
@@ -25851,6 +25931,27 @@ var init_model_capabilities_generated = __esm(() => {
25851
25931
  output: 128000
25852
25932
  }
25853
25933
  },
25934
+ "anthropic/claude-opus-5": {
25935
+ id: "anthropic/claude-opus-5",
25936
+ family: "claude-opus",
25937
+ reasoning: true,
25938
+ temperature: false,
25939
+ toolCall: true,
25940
+ modalities: {
25941
+ input: [
25942
+ "text",
25943
+ "image",
25944
+ "pdf"
25945
+ ],
25946
+ output: [
25947
+ "text"
25948
+ ]
25949
+ },
25950
+ limit: {
25951
+ context: 1e6,
25952
+ output: 128000
25953
+ }
25954
+ },
25854
25955
  "z-ai/glm-5": {
25855
25956
  id: "z-ai/glm-5",
25856
25957
  family: "glm",
@@ -26055,8 +26156,8 @@ var init_model_capabilities_generated = __esm(() => {
26055
26156
  output: 128000
26056
26157
  }
26057
26158
  },
26058
- "openai/gpt-5.4-mini": {
26059
- id: "openai/gpt-5.4-mini",
26159
+ "openai/gpt-5.6-luna-fast": {
26160
+ id: "openai/gpt-5.6-luna-fast",
26060
26161
  family: "gpt-mini",
26061
26162
  reasoning: true,
26062
26163
  temperature: false,
@@ -26284,15 +26385,14 @@ var init_model_capabilities_generated = __esm(() => {
26284
26385
  modalities: {
26285
26386
  input: [
26286
26387
  "text",
26287
- "image",
26288
- "pdf"
26388
+ "image"
26289
26389
  ],
26290
26390
  output: [
26291
26391
  "text"
26292
26392
  ]
26293
26393
  },
26294
26394
  limit: {
26295
- context: 1e6,
26395
+ context: 200000,
26296
26396
  output: 128000
26297
26397
  }
26298
26398
  },
@@ -26412,15 +26512,14 @@ var init_model_capabilities_generated = __esm(() => {
26412
26512
  modalities: {
26413
26513
  input: [
26414
26514
  "text",
26415
- "image",
26416
- "pdf"
26515
+ "image"
26417
26516
  ],
26418
26517
  output: [
26419
26518
  "text"
26420
26519
  ]
26421
26520
  },
26422
26521
  limit: {
26423
- context: 1e6,
26522
+ context: 200000,
26424
26523
  output: 128000
26425
26524
  }
26426
26525
  },
@@ -28676,7 +28775,7 @@ var init_model_capabilities_generated = __esm(() => {
28676
28775
  },
28677
28776
  limit: {
28678
28777
  context: 400000,
28679
- output: 1e5,
28778
+ output: 128000,
28680
28779
  input: 272000
28681
28780
  }
28682
28781
  },
@@ -28770,8 +28869,8 @@ var init_model_capabilities_generated = __esm(() => {
28770
28869
  toolCall: false,
28771
28870
  modalities: {
28772
28871
  input: [
28773
- "pdf",
28774
28872
  "image",
28873
+ "pdf",
28775
28874
  "text"
28776
28875
  ],
28777
28876
  output: [
@@ -28780,8 +28879,7 @@ var init_model_capabilities_generated = __esm(() => {
28780
28879
  },
28781
28880
  limit: {
28782
28881
  context: 128000,
28783
- output: 16384,
28784
- input: 111616
28882
+ output: 16384
28785
28883
  }
28786
28884
  },
28787
28885
  "openai/gpt-5.3-codex-spark": {
@@ -29820,7 +29918,7 @@ var init_model_capabilities_generated = __esm(() => {
29820
29918
  },
29821
29919
  limit: {
29822
29920
  context: 524288,
29823
- output: 524288
29921
+ output: 262144
29824
29922
  }
29825
29923
  },
29826
29924
  "zai-org/glm-4.7": {
@@ -29843,6 +29941,27 @@ var init_model_capabilities_generated = __esm(() => {
29843
29941
  input: 200000
29844
29942
  }
29845
29943
  },
29944
+ "moonshotai/kimi-k3": {
29945
+ id: "moonshotai/kimi-k3",
29946
+ family: "kimi-k3",
29947
+ reasoning: true,
29948
+ temperature: false,
29949
+ toolCall: true,
29950
+ modalities: {
29951
+ input: [
29952
+ "text",
29953
+ "image",
29954
+ "video"
29955
+ ],
29956
+ output: [
29957
+ "text"
29958
+ ]
29959
+ },
29960
+ limit: {
29961
+ context: 1048576,
29962
+ output: 131072
29963
+ }
29964
+ },
29846
29965
  "microsoft/phi-4-multimodal-instruct": {
29847
29966
  id: "microsoft/phi-4-multimodal-instruct",
29848
29967
  reasoning: true,
@@ -29938,6 +30057,46 @@ var init_model_capabilities_generated = __esm(() => {
29938
30057
  output: 8192
29939
30058
  }
29940
30059
  },
30060
+ "nvidia/cosmos-reason2-8b": {
30061
+ id: "nvidia/cosmos-reason2-8b",
30062
+ reasoning: true,
30063
+ temperature: true,
30064
+ toolCall: true,
30065
+ modalities: {
30066
+ input: [
30067
+ "text",
30068
+ "image",
30069
+ "video"
30070
+ ],
30071
+ output: [
30072
+ "text"
30073
+ ]
30074
+ },
30075
+ limit: {
30076
+ context: 131072,
30077
+ output: 16384
30078
+ }
30079
+ },
30080
+ "nvidia/nemotron-nano-12b-v2-vl": {
30081
+ id: "nvidia/nemotron-nano-12b-v2-vl",
30082
+ family: "nemotron",
30083
+ reasoning: true,
30084
+ temperature: true,
30085
+ toolCall: true,
30086
+ modalities: {
30087
+ input: [
30088
+ "text",
30089
+ "image"
30090
+ ],
30091
+ output: [
30092
+ "text"
30093
+ ]
30094
+ },
30095
+ limit: {
30096
+ context: 131072,
30097
+ output: 131072
30098
+ }
30099
+ },
29941
30100
  "nvidia/bevformer": {
29942
30101
  id: "nvidia/bevformer",
29943
30102
  reasoning: false,
@@ -29976,6 +30135,25 @@ var init_model_capabilities_generated = __esm(() => {
29976
30135
  input: 256000
29977
30136
  }
29978
30137
  },
30138
+ "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
30139
+ id: "nvidia/Llama-3.3-Nemotron-Super-49B-v1.5",
30140
+ family: "nemotron",
30141
+ reasoning: true,
30142
+ temperature: true,
30143
+ toolCall: true,
30144
+ modalities: {
30145
+ input: [
30146
+ "text"
30147
+ ],
30148
+ output: [
30149
+ "text"
30150
+ ]
30151
+ },
30152
+ limit: {
30153
+ context: 131072,
30154
+ output: 131072
30155
+ }
30156
+ },
29979
30157
  "nvidia/cosmos-transfer2_5-2b": {
29980
30158
  id: "nvidia/cosmos-transfer2_5-2b",
29981
30159
  reasoning: false,
@@ -29996,6 +30174,25 @@ var init_model_capabilities_generated = __esm(() => {
29996
30174
  output: 4096
29997
30175
  }
29998
30176
  },
30177
+ "nvidia/llama-3.1-nemotron-nano-8b-v1": {
30178
+ id: "nvidia/llama-3.1-nemotron-nano-8b-v1",
30179
+ family: "nemotron",
30180
+ reasoning: true,
30181
+ temperature: true,
30182
+ toolCall: true,
30183
+ modalities: {
30184
+ input: [
30185
+ "text"
30186
+ ],
30187
+ output: [
30188
+ "text"
30189
+ ]
30190
+ },
30191
+ limit: {
30192
+ context: 131072,
30193
+ output: 16384
30194
+ }
30195
+ },
29999
30196
  "nvidia/active-speaker-detection": {
30000
30197
  id: "nvidia/active-speaker-detection",
30001
30198
  reasoning: false,
@@ -30032,8 +30229,8 @@ var init_model_capabilities_generated = __esm(() => {
30032
30229
  output: 4096
30033
30230
  }
30034
30231
  },
30035
- "nvidia/llama-3_1-nemotron-safety-guard-8b-v3": {
30036
- id: "nvidia/llama-3_1-nemotron-safety-guard-8b-v3",
30232
+ "nvidia/llama-3.1-nemotron-safety-guard-8b-v3": {
30233
+ id: "nvidia/llama-3.1-nemotron-safety-guard-8b-v3",
30037
30234
  family: "nemotron",
30038
30235
  reasoning: false,
30039
30236
  temperature: false,
@@ -30051,6 +30248,45 @@ var init_model_capabilities_generated = __esm(() => {
30051
30248
  output: 4096
30052
30249
  }
30053
30250
  },
30251
+ "nvidia/llama-3.3-nemotron-super-49b-v1": {
30252
+ id: "nvidia/Llama-3.3-Nemotron-Super-49B-v1",
30253
+ family: "nemotron",
30254
+ reasoning: false,
30255
+ temperature: true,
30256
+ toolCall: false,
30257
+ modalities: {
30258
+ input: [
30259
+ "text"
30260
+ ],
30261
+ output: [
30262
+ "text"
30263
+ ]
30264
+ },
30265
+ limit: {
30266
+ context: 128000,
30267
+ output: 16384,
30268
+ input: 128000
30269
+ }
30270
+ },
30271
+ "nvidia/llama-3.1-nemotron-70b-instruct": {
30272
+ id: "nvidia/llama-3.1-nemotron-70b-instruct",
30273
+ family: "nemotron",
30274
+ reasoning: false,
30275
+ temperature: true,
30276
+ toolCall: true,
30277
+ modalities: {
30278
+ input: [
30279
+ "text"
30280
+ ],
30281
+ output: [
30282
+ "text"
30283
+ ]
30284
+ },
30285
+ limit: {
30286
+ context: 128000,
30287
+ output: 8192
30288
+ }
30289
+ },
30054
30290
  "nvidia/nemotron-3-super-120b-a12b": {
30055
30291
  id: "nvidia/nemotron-3-super-120b-a12b",
30056
30292
  family: "nemotron",
@@ -30110,6 +30346,25 @@ var init_model_capabilities_generated = __esm(() => {
30110
30346
  output: 4096
30111
30347
  }
30112
30348
  },
30349
+ "nvidia/llama-3.1-nemotron-ultra-253b-v1": {
30350
+ id: "nvidia/llama-3.1-nemotron-ultra-253b-v1",
30351
+ family: "nemotron",
30352
+ reasoning: true,
30353
+ temperature: true,
30354
+ toolCall: true,
30355
+ modalities: {
30356
+ input: [
30357
+ "text"
30358
+ ],
30359
+ output: [
30360
+ "text"
30361
+ ]
30362
+ },
30363
+ limit: {
30364
+ context: 128000,
30365
+ output: 16384
30366
+ }
30367
+ },
30113
30368
  "nvidia/llama-3_2-nemoretriever-300m-embed-v1": {
30114
30369
  id: "nvidia/llama-3_2-nemoretriever-300m-embed-v1",
30115
30370
  reasoning: false,
@@ -30187,6 +30442,26 @@ var init_model_capabilities_generated = __esm(() => {
30187
30442
  output: 4096
30188
30443
  }
30189
30444
  },
30445
+ "nvidia/llama-3.1-nemotron-nano-vl-8b-v1": {
30446
+ id: "nvidia/llama-3.1-nemotron-nano-vl-8b-v1",
30447
+ family: "nemotron",
30448
+ reasoning: true,
30449
+ temperature: true,
30450
+ toolCall: true,
30451
+ modalities: {
30452
+ input: [
30453
+ "text",
30454
+ "image"
30455
+ ],
30456
+ output: [
30457
+ "text"
30458
+ ]
30459
+ },
30460
+ limit: {
30461
+ context: 32768,
30462
+ output: 16384
30463
+ }
30464
+ },
30190
30465
  "nvidia/synthetic-video-detector": {
30191
30466
  id: "nvidia/synthetic-video-detector",
30192
30467
  reasoning: false,
@@ -30283,6 +30558,24 @@ var init_model_capabilities_generated = __esm(() => {
30283
30558
  input: 128000
30284
30559
  }
30285
30560
  },
30561
+ "nvidia/riva-translate-4b-instruct-v1.1": {
30562
+ id: "nvidia/riva-translate-4b-instruct-v1.1",
30563
+ reasoning: false,
30564
+ temperature: false,
30565
+ toolCall: false,
30566
+ modalities: {
30567
+ input: [
30568
+ "text"
30569
+ ],
30570
+ output: [
30571
+ "text"
30572
+ ]
30573
+ },
30574
+ limit: {
30575
+ context: 128000,
30576
+ output: 4096
30577
+ }
30578
+ },
30286
30579
  "nvidia/nemotron-content-safety-reasoning-4b": {
30287
30580
  id: "nvidia/nemotron-content-safety-reasoning-4b",
30288
30581
  family: "nemotron",
@@ -30416,14 +30709,15 @@ var init_model_capabilities_generated = __esm(() => {
30416
30709
  output: 4096
30417
30710
  }
30418
30711
  },
30419
- "nvidia/riva-translate-4b-instruct-v1_1": {
30420
- id: "nvidia/riva-translate-4b-instruct-v1_1",
30712
+ "google/google-paligemma": {
30713
+ id: "google/google-paligemma",
30421
30714
  reasoning: false,
30422
- temperature: false,
30715
+ temperature: true,
30423
30716
  toolCall: false,
30424
30717
  modalities: {
30425
30718
  input: [
30426
- "text"
30719
+ "text",
30720
+ "image"
30427
30721
  ],
30428
30722
  output: [
30429
30723
  "text"
@@ -30431,11 +30725,12 @@ var init_model_capabilities_generated = __esm(() => {
30431
30725
  },
30432
30726
  limit: {
30433
30727
  context: 128000,
30434
- output: 4096
30728
+ output: 8192
30435
30729
  }
30436
30730
  },
30437
- "google/google-paligemma": {
30438
- id: "google/google-paligemma",
30731
+ "google/gemma-3-4b-it": {
30732
+ id: "google/gemma-3-4b-it",
30733
+ family: "gemma",
30439
30734
  reasoning: false,
30440
30735
  temperature: true,
30441
30736
  toolCall: false,
@@ -30449,8 +30744,8 @@ var init_model_capabilities_generated = __esm(() => {
30449
30744
  ]
30450
30745
  },
30451
30746
  limit: {
30452
- context: 128000,
30453
- output: 8192
30747
+ context: 131072,
30748
+ output: 16384
30454
30749
  }
30455
30750
  },
30456
30751
  "google/gemma-2-2b-it": {
@@ -30471,6 +30766,26 @@ var init_model_capabilities_generated = __esm(() => {
30471
30766
  output: 4096
30472
30767
  }
30473
30768
  },
30769
+ "google/gemma-3-12b-it": {
30770
+ id: "google/gemma-3-12b-it",
30771
+ family: "gemma",
30772
+ reasoning: false,
30773
+ temperature: true,
30774
+ toolCall: true,
30775
+ modalities: {
30776
+ input: [
30777
+ "text",
30778
+ "image"
30779
+ ],
30780
+ output: [
30781
+ "text"
30782
+ ]
30783
+ },
30784
+ limit: {
30785
+ context: 131072,
30786
+ output: 16384
30787
+ }
30788
+ },
30474
30789
  "google/gemma-3n-e4b-it": {
30475
30790
  id: "google/gemma-3n-e4b-it",
30476
30791
  reasoning: false,
@@ -30651,8 +30966,8 @@ var init_model_capabilities_generated = __esm(() => {
30651
30966
  input: 256000
30652
30967
  }
30653
30968
  },
30654
- "abacusai/dracarys-llama-3_1-70b-instruct": {
30655
- id: "abacusai/dracarys-llama-3_1-70b-instruct",
30969
+ "abacusai/dracarys-llama-3.1-70b-instruct": {
30970
+ id: "abacusai/dracarys-llama-3.1-70b-instruct",
30656
30971
  reasoning: false,
30657
30972
  temperature: true,
30658
30973
  toolCall: true,
@@ -30669,8 +30984,8 @@ var init_model_capabilities_generated = __esm(() => {
30669
30984
  output: 8192
30670
30985
  }
30671
30986
  },
30672
- "upstage/solar-10_7b-instruct": {
30673
- id: "upstage/solar-10_7b-instruct",
30987
+ "upstage/solar-10.7b-instruct": {
30988
+ id: "upstage/solar-10.7b-instruct",
30674
30989
  reasoning: false,
30675
30990
  temperature: true,
30676
30991
  toolCall: true,
@@ -30764,6 +31079,26 @@ var init_model_capabilities_generated = __esm(() => {
30764
31079
  output: 0
30765
31080
  }
30766
31081
  },
31082
+ "mistralai/mistral-medium-3.5-128b": {
31083
+ id: "mistralai/Mistral-Medium-3.5-128B",
31084
+ family: "mistral-medium",
31085
+ reasoning: true,
31086
+ temperature: true,
31087
+ toolCall: true,
31088
+ modalities: {
31089
+ input: [
31090
+ "image",
31091
+ "text"
31092
+ ],
31093
+ output: [
31094
+ "text"
31095
+ ]
31096
+ },
31097
+ limit: {
31098
+ context: 262144,
31099
+ output: 131072
31100
+ }
31101
+ },
30767
31102
  "mistralai/mistral-nemotron": {
30768
31103
  id: "mistralai/mistral-nemotron",
30769
31104
  family: "nemotron",
@@ -30845,34 +31180,36 @@ var init_model_capabilities_generated = __esm(() => {
30845
31180
  input: 262144
30846
31181
  }
30847
31182
  },
30848
- "mistralai/mixtral-8x22b-instruct": {
30849
- id: "mistralai/mixtral-8x22b-instruct",
31183
+ "mistralai/ministral-14b-instruct-2512": {
31184
+ id: "mistralai/ministral-14b-instruct-2512",
31185
+ family: "ministral",
30850
31186
  reasoning: false,
30851
31187
  temperature: true,
30852
- toolCall: true,
31188
+ toolCall: false,
30853
31189
  modalities: {
30854
31190
  input: [
30855
31191
  "text",
30856
- "pdf"
31192
+ "image"
30857
31193
  ],
30858
31194
  output: [
30859
31195
  "text"
30860
31196
  ]
30861
31197
  },
30862
31198
  limit: {
30863
- context: 65536,
30864
- output: 65536
30865
- },
30866
- family: "mistral"
31199
+ context: 262144,
31200
+ output: 32768,
31201
+ input: 262144
31202
+ }
30867
31203
  },
30868
- "mistralai/mistral-7b-instruct-v03": {
30869
- id: "mistralai/mistral-7b-instruct-v03",
31204
+ "mistralai/mixtral-8x22b-instruct": {
31205
+ id: "mistralai/mixtral-8x22b-instruct",
30870
31206
  reasoning: false,
30871
31207
  temperature: true,
30872
31208
  toolCall: true,
30873
31209
  modalities: {
30874
31210
  input: [
30875
- "text"
31211
+ "text",
31212
+ "pdf"
30876
31213
  ],
30877
31214
  output: [
30878
31215
  "text"
@@ -30881,7 +31218,8 @@ var init_model_capabilities_generated = __esm(() => {
30881
31218
  limit: {
30882
31219
  context: 65536,
30883
31220
  output: 65536
30884
- }
31221
+ },
31222
+ family: "mistral"
30885
31223
  },
30886
31224
  "mistralai/magistral-small-2506": {
30887
31225
  id: "mistralai/Magistral-Small-2506",
@@ -30921,6 +31259,24 @@ var init_model_capabilities_generated = __esm(() => {
30921
31259
  output: 16384
30922
31260
  }
30923
31261
  },
31262
+ "mistralai/mistral-7b-instruct-v0.3": {
31263
+ id: "mistralai/Mistral-7B-Instruct-v0.3",
31264
+ reasoning: true,
31265
+ temperature: true,
31266
+ toolCall: true,
31267
+ modalities: {
31268
+ input: [
31269
+ "text"
31270
+ ],
31271
+ output: [
31272
+ "text"
31273
+ ]
31274
+ },
31275
+ limit: {
31276
+ context: 32768,
31277
+ output: 32768
31278
+ }
31279
+ },
30924
31280
  "bytedance/seed-oss-36b-instruct": {
30925
31281
  id: "bytedance/seed-oss-36b-instruct",
30926
31282
  family: "seed",
@@ -31151,6 +31507,25 @@ var init_model_capabilities_generated = __esm(() => {
31151
31507
  output: 8192
31152
31508
  }
31153
31509
  },
31510
+ "poolside/laguna-xs-2.1": {
31511
+ id: "poolside/laguna-xs-2.1",
31512
+ family: "laguna",
31513
+ reasoning: true,
31514
+ temperature: true,
31515
+ toolCall: true,
31516
+ modalities: {
31517
+ input: [
31518
+ "text"
31519
+ ],
31520
+ output: [
31521
+ "text"
31522
+ ]
31523
+ },
31524
+ limit: {
31525
+ context: 262144,
31526
+ output: 32768
31527
+ }
31528
+ },
31154
31529
  "stepfun-ai/step-3.5-flash": {
31155
31530
  id: "stepfun-ai/Step-3.5-Flash",
31156
31531
  reasoning: true,
@@ -31652,15 +32027,14 @@ var init_model_capabilities_generated = __esm(() => {
31652
32027
  modalities: {
31653
32028
  input: [
31654
32029
  "text",
31655
- "image",
31656
- "pdf"
32030
+ "image"
31657
32031
  ],
31658
32032
  output: [
31659
32033
  "text"
31660
32034
  ]
31661
32035
  },
31662
32036
  limit: {
31663
- context: 1050000,
32037
+ context: 372000,
31664
32038
  input: 922000,
31665
32039
  output: 128000
31666
32040
  }
@@ -31697,8 +32071,7 @@ var init_model_capabilities_generated = __esm(() => {
31697
32071
  modalities: {
31698
32072
  input: [
31699
32073
  "text",
31700
- "image",
31701
- "pdf"
32074
+ "image"
31702
32075
  ],
31703
32076
  output: [
31704
32077
  "text"
@@ -31793,8 +32166,8 @@ var init_model_capabilities_generated = __esm(() => {
31793
32166
  output: 163840
31794
32167
  }
31795
32168
  },
31796
- "gpt-5.4-mini": {
31797
- id: "gpt-5.4-mini",
32169
+ "gpt-5.6-luna-fast": {
32170
+ id: "gpt-5.6-luna-fast",
31798
32171
  family: "gpt-mini",
31799
32172
  reasoning: true,
31800
32173
  temperature: false,
@@ -31809,7 +32182,7 @@ var init_model_capabilities_generated = __esm(() => {
31809
32182
  ]
31810
32183
  },
31811
32184
  limit: {
31812
- context: 400000,
32185
+ context: 272000,
31813
32186
  input: 272000,
31814
32187
  output: 128000
31815
32188
  }
@@ -31933,15 +32306,14 @@ var init_model_capabilities_generated = __esm(() => {
31933
32306
  modalities: {
31934
32307
  input: [
31935
32308
  "text",
31936
- "image",
31937
- "pdf"
32309
+ "image"
31938
32310
  ],
31939
32311
  output: [
31940
32312
  "text"
31941
32313
  ]
31942
32314
  },
31943
32315
  limit: {
31944
- context: 1050000,
32316
+ context: 372000,
31945
32317
  input: 922000,
31946
32318
  output: 128000
31947
32319
  }
@@ -32106,18 +32478,15 @@ var init_model_capabilities_generated = __esm(() => {
32106
32478
  modalities: {
32107
32479
  input: [
32108
32480
  "text",
32109
- "image",
32110
- "video",
32111
- "audio",
32112
- "pdf"
32481
+ "image"
32113
32482
  ],
32114
32483
  output: [
32115
32484
  "text"
32116
32485
  ]
32117
32486
  },
32118
32487
  limit: {
32119
- context: 1048576,
32120
- output: 65536,
32488
+ context: 1e6,
32489
+ output: 128000,
32121
32490
  input: 128000
32122
32491
  }
32123
32492
  },
@@ -32408,13 +32777,12 @@ var init_model_capabilities_generated = __esm(() => {
32408
32777
  "gemma-4-26b-a4b-it": {
32409
32778
  id: "gemma-4-26b-a4b-it",
32410
32779
  family: "gemma",
32411
- reasoning: true,
32780
+ reasoning: false,
32412
32781
  temperature: true,
32413
32782
  toolCall: true,
32414
32783
  modalities: {
32415
32784
  input: [
32416
- "text",
32417
- "image"
32785
+ "text"
32418
32786
  ],
32419
32787
  output: [
32420
32788
  "text"
@@ -32422,7 +32790,7 @@ var init_model_capabilities_generated = __esm(() => {
32422
32790
  },
32423
32791
  limit: {
32424
32792
  context: 256000,
32425
- output: 16384
32793
+ output: 25600
32426
32794
  }
32427
32795
  },
32428
32796
  "gemini-embedding-001": {
@@ -35112,8 +35480,8 @@ var init_model_capabilities_generated = __esm(() => {
35112
35480
  input: 128000,
35113
35481
  output: 128000
35114
35482
  },
35115
- family: "deepseek",
35116
- temperature: true
35483
+ temperature: true,
35484
+ family: "deepseek"
35117
35485
  },
35118
35486
  "mirothinker-1-7-deepresearch-mini": {
35119
35487
  id: "mirothinker-1-7-deepresearch-mini",
@@ -38021,26 +38389,6 @@ var init_model_capabilities_generated = __esm(() => {
38021
38389
  output: 16384
38022
38390
  }
38023
38391
  },
38024
- "nvidia/llama-3.3-nemotron-super-49b-v1": {
38025
- id: "nvidia/Llama-3.3-Nemotron-Super-49B-v1",
38026
- family: "nemotron",
38027
- reasoning: false,
38028
- temperature: true,
38029
- toolCall: false,
38030
- modalities: {
38031
- input: [
38032
- "text"
38033
- ],
38034
- output: [
38035
- "text"
38036
- ]
38037
- },
38038
- limit: {
38039
- context: 128000,
38040
- input: 128000,
38041
- output: 16384
38042
- }
38043
- },
38044
38392
  "nvidia/llama-3_3-nemotron-super-49b-v1_5": {
38045
38393
  id: "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5",
38046
38394
  family: "nemotron",
@@ -39066,7 +39414,7 @@ var init_model_capabilities_generated = __esm(() => {
39066
39414
  limit: {
39067
39415
  context: 131072,
39068
39416
  input: 41000,
39069
- output: 8192
39417
+ output: 16384
39070
39418
  },
39071
39419
  temperature: true,
39072
39420
  family: "qwen"
@@ -39822,26 +40170,6 @@ var init_model_capabilities_generated = __esm(() => {
39822
40170
  },
39823
40171
  temperature: true
39824
40172
  },
39825
- "mistralai/ministral-14b-instruct-2512": {
39826
- id: "mistralai/ministral-14b-instruct-2512",
39827
- family: "ministral",
39828
- reasoning: false,
39829
- toolCall: false,
39830
- modalities: {
39831
- input: [
39832
- "text",
39833
- "image"
39834
- ],
39835
- output: [
39836
- "text"
39837
- ]
39838
- },
39839
- limit: {
39840
- context: 262144,
39841
- input: 262144,
39842
- output: 32768
39843
- }
39844
- },
39845
40173
  "mistralai/mixtral-8x22b-instruct-v0.1": {
39846
40174
  id: "mistralai/mixtral-8x22b-instruct-v0.1",
39847
40175
  family: "mixtral",
@@ -42608,8 +42936,7 @@ var init_model_capabilities_generated = __esm(() => {
42608
42936
  context: 128000,
42609
42937
  input: 128000,
42610
42938
  output: 16384
42611
- },
42612
- temperature: false
42939
+ }
42613
42940
  },
42614
42941
  "openai/o3-pro-2025-06-10": {
42615
42942
  id: "openai/o3-pro-2025-06-10",
@@ -42693,7 +43020,7 @@ var init_model_capabilities_generated = __esm(() => {
42693
43020
  },
42694
43021
  "openai/gpt-4o-mini-search-preview": {
42695
43022
  id: "openai/gpt-4o-mini-search-preview",
42696
- family: "o-mini",
43023
+ family: "gpt-mini",
42697
43024
  reasoning: false,
42698
43025
  toolCall: false,
42699
43026
  modalities: {
@@ -42709,7 +43036,7 @@ var init_model_capabilities_generated = __esm(() => {
42709
43036
  input: 111616,
42710
43037
  output: 16384
42711
43038
  },
42712
- temperature: false
43039
+ temperature: true
42713
43040
  },
42714
43041
  "baidu/ernie-4.5-vl-28b-a3b": {
42715
43042
  id: "baidu/ernie-4.5-vl-28b-a3b",
@@ -42829,7 +43156,7 @@ var init_model_capabilities_generated = __esm(() => {
42829
43156
  limit: {
42830
43157
  context: 262144,
42831
43158
  input: 262144,
42832
- output: 80000
43159
+ output: 262144
42833
43160
  },
42834
43161
  temperature: true,
42835
43162
  family: "trinity"
@@ -43214,7 +43541,7 @@ var init_model_capabilities_generated = __esm(() => {
43214
43541
  ]
43215
43542
  },
43216
43543
  limit: {
43217
- context: 131072,
43544
+ context: 65536,
43218
43545
  output: 65536
43219
43546
  }
43220
43547
  },
@@ -43758,9 +44085,28 @@ var init_model_capabilities_generated = __esm(() => {
43758
44085
  output: 32768
43759
44086
  }
43760
44087
  },
44088
+ "abliterated-model-large": {
44089
+ id: "abliterated-model-large",
44090
+ reasoning: true,
44091
+ temperature: true,
44092
+ toolCall: true,
44093
+ modalities: {
44094
+ input: [
44095
+ "text"
44096
+ ],
44097
+ output: [
44098
+ "text"
44099
+ ]
44100
+ },
44101
+ limit: {
44102
+ context: 1e6,
44103
+ input: 1e6,
44104
+ output: 999990
44105
+ }
44106
+ },
43761
44107
  "abliterated-model": {
43762
44108
  id: "abliterated-model",
43763
- reasoning: false,
44109
+ reasoning: true,
43764
44110
  temperature: true,
43765
44111
  toolCall: true,
43766
44112
  modalities: {
@@ -44346,6 +44692,26 @@ var init_model_capabilities_generated = __esm(() => {
44346
44692
  output: 8192
44347
44693
  }
44348
44694
  },
44695
+ "gpt-4o-mini-transcribe": {
44696
+ id: "gpt-4o-mini-transcribe",
44697
+ family: "gpt",
44698
+ reasoning: false,
44699
+ temperature: true,
44700
+ toolCall: true,
44701
+ modalities: {
44702
+ input: [
44703
+ "text",
44704
+ "audio"
44705
+ ],
44706
+ output: [
44707
+ "text"
44708
+ ]
44709
+ },
44710
+ limit: {
44711
+ context: 16000,
44712
+ output: 16000
44713
+ }
44714
+ },
44349
44715
  "qwen3-235b-a22b-thinking-2507": {
44350
44716
  id: "qwen3-235b-a22b-thinking-2507",
44351
44717
  family: "qwen",
@@ -45990,6 +46356,26 @@ var init_model_capabilities_generated = __esm(() => {
45990
46356
  output: 32768
45991
46357
  }
45992
46358
  },
46359
+ "gpt-4o-transcribe": {
46360
+ id: "gpt-4o-transcribe",
46361
+ family: "gpt",
46362
+ reasoning: false,
46363
+ temperature: true,
46364
+ toolCall: true,
46365
+ modalities: {
46366
+ input: [
46367
+ "text",
46368
+ "audio"
46369
+ ],
46370
+ output: [
46371
+ "text"
46372
+ ]
46373
+ },
46374
+ limit: {
46375
+ context: 16000,
46376
+ output: 16000
46377
+ }
46378
+ },
45993
46379
  "grok-4-20-non-reasoning": {
45994
46380
  id: "grok-4-20-non-reasoning",
45995
46381
  family: "grok",
@@ -48639,8 +49025,8 @@ var init_model_capabilities_generated = __esm(() => {
48639
49025
  output: 30000
48640
49026
  }
48641
49027
  },
48642
- "gpt-5.4-mini-2026-03-17": {
48643
- id: "gpt-5.4-mini-2026-03-17",
49028
+ "gpt-5.6-luna-fast-2026-03-17": {
49029
+ id: "gpt-5.6-luna-fast-2026-03-17",
48644
49030
  family: "gpt-mini",
48645
49031
  reasoning: true,
48646
49032
  temperature: false,
@@ -49363,9 +49749,9 @@ var init_model_capabilities_generated = __esm(() => {
49363
49749
  "o1-mini": {
49364
49750
  id: "o1-mini",
49365
49751
  family: "o-mini",
49366
- reasoning: true,
49752
+ reasoning: false,
49367
49753
  temperature: false,
49368
- toolCall: true,
49754
+ toolCall: false,
49369
49755
  modalities: {
49370
49756
  input: [
49371
49757
  "text"
@@ -50813,6 +51199,25 @@ var init_model_capabilities_generated = __esm(() => {
50813
51199
  output: 4096
50814
51200
  }
50815
51201
  },
51202
+ "gemini-embedding": {
51203
+ id: "gemini-embedding",
51204
+ family: "gemini",
51205
+ reasoning: false,
51206
+ temperature: false,
51207
+ toolCall: false,
51208
+ modalities: {
51209
+ input: [
51210
+ "text"
51211
+ ],
51212
+ output: [
51213
+ "text"
51214
+ ]
51215
+ },
51216
+ limit: {
51217
+ context: 2048,
51218
+ output: 1
51219
+ }
51220
+ },
50816
51221
  "anthropic--claude-4-sonnet": {
50817
51222
  id: "anthropic--claude-4-sonnet",
50818
51223
  family: "claude-sonnet",
@@ -51651,24 +52056,6 @@ var init_model_capabilities_generated = __esm(() => {
51651
52056
  output: 4096
51652
52057
  }
51653
52058
  },
51654
- "mistralai/mistral-7b-instruct-v0.3": {
51655
- id: "mistralai/Mistral-7B-Instruct-v0.3",
51656
- reasoning: true,
51657
- temperature: true,
51658
- toolCall: true,
51659
- modalities: {
51660
- input: [
51661
- "text"
51662
- ],
51663
- output: [
51664
- "text"
51665
- ]
51666
- },
51667
- limit: {
51668
- context: 32768,
51669
- output: 32768
51670
- }
51671
- },
51672
52059
  "pioneer/auto": {
51673
52060
  id: "pioneer/auto",
51674
52061
  family: "auto",
@@ -52793,27 +53180,6 @@ var init_model_capabilities_generated = __esm(() => {
52793
53180
  output: 262144
52794
53181
  }
52795
53182
  },
52796
- "moonshotai/kimi-k3": {
52797
- id: "moonshotai/kimi-k3",
52798
- family: "kimi-k3",
52799
- reasoning: true,
52800
- temperature: false,
52801
- toolCall: true,
52802
- modalities: {
52803
- input: [
52804
- "text",
52805
- "image",
52806
- "video"
52807
- ],
52808
- output: [
52809
- "text"
52810
- ]
52811
- },
52812
- limit: {
52813
- context: 1048576,
52814
- output: 131072
52815
- }
52816
- },
52817
53183
  "moonshotai/kimi-k3-free": {
52818
53184
  id: "moonshotai/kimi-k3-free",
52819
53185
  family: "kimi-k3",
@@ -52892,7 +53258,7 @@ var init_model_capabilities_generated = __esm(() => {
52892
53258
  },
52893
53259
  limit: {
52894
53260
  context: 128000,
52895
- output: 16384
53261
+ output: 32000
52896
53262
  },
52897
53263
  family: "gpt-codex"
52898
53264
  },
@@ -53132,26 +53498,6 @@ var init_model_capabilities_generated = __esm(() => {
53132
53498
  output: 4096
53133
53499
  }
53134
53500
  },
53135
- "mistralai/mistral-medium-3.5-128b": {
53136
- id: "mistralai/Mistral-Medium-3.5-128B",
53137
- family: "mistral-medium",
53138
- reasoning: true,
53139
- temperature: true,
53140
- toolCall: true,
53141
- modalities: {
53142
- input: [
53143
- "image",
53144
- "text"
53145
- ],
53146
- output: [
53147
- "text"
53148
- ]
53149
- },
53150
- limit: {
53151
- context: 262144,
53152
- output: 131072
53153
- }
53154
- },
53155
53501
  "mistralai/voxtral-small-24b-2507": {
53156
53502
  id: "mistralai/voxtral-small-24b-2507",
53157
53503
  family: "mistral",
@@ -54218,45 +54564,6 @@ var init_model_capabilities_generated = __esm(() => {
54218
54564
  output: 8192
54219
54565
  }
54220
54566
  },
54221
- "llama-3.2-11b-vision-instruct": {
54222
- id: "llama-3.2-11b-vision-instruct",
54223
- family: "llama",
54224
- reasoning: false,
54225
- temperature: true,
54226
- toolCall: true,
54227
- modalities: {
54228
- input: [
54229
- "text",
54230
- "image"
54231
- ],
54232
- output: [
54233
- "text"
54234
- ]
54235
- },
54236
- limit: {
54237
- context: 128000,
54238
- output: 8192
54239
- }
54240
- },
54241
- "phi-3-medium-128k-instruct": {
54242
- id: "phi-3-medium-128k-instruct",
54243
- family: "phi",
54244
- reasoning: false,
54245
- temperature: true,
54246
- toolCall: false,
54247
- modalities: {
54248
- input: [
54249
- "text"
54250
- ],
54251
- output: [
54252
- "text"
54253
- ]
54254
- },
54255
- limit: {
54256
- context: 128000,
54257
- output: 4096
54258
- }
54259
- },
54260
54567
  "cohere-command-a": {
54261
54568
  id: "cohere-command-a",
54262
54569
  family: "command-a",
@@ -54276,44 +54583,6 @@ var init_model_capabilities_generated = __esm(() => {
54276
54583
  output: 8192
54277
54584
  }
54278
54585
  },
54279
- "meta-llama-3.1-70b-instruct": {
54280
- id: "meta-llama-3.1-70b-instruct",
54281
- family: "llama",
54282
- reasoning: false,
54283
- temperature: true,
54284
- toolCall: true,
54285
- modalities: {
54286
- input: [
54287
- "text"
54288
- ],
54289
- output: [
54290
- "text"
54291
- ]
54292
- },
54293
- limit: {
54294
- context: 128000,
54295
- output: 32768
54296
- }
54297
- },
54298
- "meta-llama-3.1-405b-instruct": {
54299
- id: "meta-llama-3.1-405b-instruct",
54300
- family: "llama",
54301
- reasoning: false,
54302
- temperature: true,
54303
- toolCall: true,
54304
- modalities: {
54305
- input: [
54306
- "text"
54307
- ],
54308
- output: [
54309
- "text"
54310
- ]
54311
- },
54312
- limit: {
54313
- context: 128000,
54314
- output: 32768
54315
- }
54316
- },
54317
54586
  "cohere-embed-v3-multilingual": {
54318
54587
  id: "cohere-embed-v3-multilingual",
54319
54588
  family: "cohere-embed",
@@ -54390,63 +54659,6 @@ var init_model_capabilities_generated = __esm(() => {
54390
54659
  output: 4096
54391
54660
  }
54392
54661
  },
54393
- "meta-llama-3-8b-instruct": {
54394
- id: "meta-llama-3-8b-instruct",
54395
- family: "llama",
54396
- reasoning: false,
54397
- temperature: true,
54398
- toolCall: false,
54399
- modalities: {
54400
- input: [
54401
- "text"
54402
- ],
54403
- output: [
54404
- "text"
54405
- ]
54406
- },
54407
- limit: {
54408
- context: 8192,
54409
- output: 2048
54410
- }
54411
- },
54412
- "gpt-3.5-turbo-0301": {
54413
- id: "gpt-3.5-turbo-0301",
54414
- family: "gpt",
54415
- reasoning: false,
54416
- temperature: true,
54417
- toolCall: false,
54418
- modalities: {
54419
- input: [
54420
- "text"
54421
- ],
54422
- output: [
54423
- "text"
54424
- ]
54425
- },
54426
- limit: {
54427
- context: 4096,
54428
- output: 4096
54429
- }
54430
- },
54431
- "cohere-command-r-plus-08-2024": {
54432
- id: "cohere-command-r-plus-08-2024",
54433
- family: "command-r",
54434
- reasoning: false,
54435
- temperature: true,
54436
- toolCall: true,
54437
- modalities: {
54438
- input: [
54439
- "text"
54440
- ],
54441
- output: [
54442
- "text"
54443
- ]
54444
- },
54445
- limit: {
54446
- context: 128000,
54447
- output: 4000
54448
- }
54449
- },
54450
54662
  "phi-4-mini": {
54451
54663
  id: "phi-4-mini",
54452
54664
  family: "phi",
@@ -54466,45 +54678,6 @@ var init_model_capabilities_generated = __esm(() => {
54466
54678
  output: 4096
54467
54679
  }
54468
54680
  },
54469
- "meta-llama-3.1-8b-instruct": {
54470
- id: "meta-llama-3.1-8b-instruct",
54471
- family: "llama",
54472
- reasoning: false,
54473
- temperature: true,
54474
- toolCall: true,
54475
- modalities: {
54476
- input: [
54477
- "text"
54478
- ],
54479
- output: [
54480
- "text"
54481
- ]
54482
- },
54483
- limit: {
54484
- context: 128000,
54485
- output: 32768
54486
- }
54487
- },
54488
- "llama-3.2-90b-vision-instruct": {
54489
- id: "llama-3.2-90b-vision-instruct",
54490
- family: "llama",
54491
- reasoning: false,
54492
- temperature: true,
54493
- toolCall: true,
54494
- modalities: {
54495
- input: [
54496
- "text",
54497
- "image"
54498
- ],
54499
- output: [
54500
- "text"
54501
- ]
54502
- },
54503
- limit: {
54504
- context: 128000,
54505
- output: 8192
54506
- }
54507
- },
54508
54681
  "phi-4-reasoning-plus": {
54509
54682
  id: "phi-4-reasoning-plus",
54510
54683
  family: "phi",
@@ -54524,63 +54697,6 @@ var init_model_capabilities_generated = __esm(() => {
54524
54697
  output: 4096
54525
54698
  }
54526
54699
  },
54527
- "phi-3-small-8k-instruct": {
54528
- id: "phi-3-small-8k-instruct",
54529
- family: "phi",
54530
- reasoning: false,
54531
- temperature: true,
54532
- toolCall: false,
54533
- modalities: {
54534
- input: [
54535
- "text"
54536
- ],
54537
- output: [
54538
- "text"
54539
- ]
54540
- },
54541
- limit: {
54542
- context: 8192,
54543
- output: 2048
54544
- }
54545
- },
54546
- "phi-3-small-128k-instruct": {
54547
- id: "phi-3-small-128k-instruct",
54548
- family: "phi",
54549
- reasoning: false,
54550
- temperature: true,
54551
- toolCall: false,
54552
- modalities: {
54553
- input: [
54554
- "text"
54555
- ],
54556
- output: [
54557
- "text"
54558
- ]
54559
- },
54560
- limit: {
54561
- context: 128000,
54562
- output: 4096
54563
- }
54564
- },
54565
- "phi-3-mini-128k-instruct": {
54566
- id: "phi-3-mini-128k-instruct",
54567
- family: "phi",
54568
- reasoning: false,
54569
- temperature: true,
54570
- toolCall: false,
54571
- modalities: {
54572
- input: [
54573
- "text"
54574
- ],
54575
- output: [
54576
- "text"
54577
- ]
54578
- },
54579
- limit: {
54580
- context: 128000,
54581
- output: 4096
54582
- }
54583
- },
54584
54700
  "mistral-small-2503": {
54585
54701
  id: "mistral-small-2503",
54586
54702
  family: "mistral-small",
@@ -54601,44 +54717,6 @@ var init_model_capabilities_generated = __esm(() => {
54601
54717
  output: 32768
54602
54718
  }
54603
54719
  },
54604
- "meta-llama-3-70b-instruct": {
54605
- id: "meta-llama-3-70b-instruct",
54606
- family: "llama",
54607
- reasoning: false,
54608
- temperature: true,
54609
- toolCall: false,
54610
- modalities: {
54611
- input: [
54612
- "text"
54613
- ],
54614
- output: [
54615
- "text"
54616
- ]
54617
- },
54618
- limit: {
54619
- context: 8192,
54620
- output: 2048
54621
- }
54622
- },
54623
- "gpt-4-32k": {
54624
- id: "gpt-4-32k",
54625
- family: "gpt",
54626
- reasoning: false,
54627
- temperature: true,
54628
- toolCall: true,
54629
- modalities: {
54630
- input: [
54631
- "text"
54632
- ],
54633
- output: [
54634
- "text"
54635
- ]
54636
- },
54637
- limit: {
54638
- context: 32768,
54639
- output: 32768
54640
- }
54641
- },
54642
54720
  "cohere-embed-v-4-0": {
54643
54721
  id: "cohere-embed-v-4-0",
54644
54722
  family: "cohere-embed",
@@ -54659,26 +54737,6 @@ var init_model_capabilities_generated = __esm(() => {
54659
54737
  output: 1536
54660
54738
  }
54661
54739
  },
54662
- "gpt-5.2-chat": {
54663
- id: "gpt-5.2-chat",
54664
- family: "gpt-codex",
54665
- reasoning: true,
54666
- temperature: false,
54667
- toolCall: true,
54668
- modalities: {
54669
- input: [
54670
- "text",
54671
- "image"
54672
- ],
54673
- output: [
54674
- "text"
54675
- ]
54676
- },
54677
- limit: {
54678
- context: 128000,
54679
- output: 16384
54680
- }
54681
- },
54682
54740
  "phi-4-mini-reasoning": {
54683
54741
  id: "phi-4-mini-reasoning",
54684
54742
  family: "phi",
@@ -54718,86 +54776,6 @@ var init_model_capabilities_generated = __esm(() => {
54718
54776
  output: 4096
54719
54777
  }
54720
54778
  },
54721
- "deepseek-r1-0528": {
54722
- id: "deepseek-r1-0528",
54723
- family: "deepseek-thinking",
54724
- reasoning: true,
54725
- temperature: true,
54726
- toolCall: true,
54727
- modalities: {
54728
- input: [
54729
- "text"
54730
- ],
54731
- output: [
54732
- "text"
54733
- ]
54734
- },
54735
- limit: {
54736
- context: 164000,
54737
- output: 164000
54738
- }
54739
- },
54740
- "phi-3-mini-4k-instruct": {
54741
- id: "phi-3-mini-4k-instruct",
54742
- family: "phi",
54743
- reasoning: false,
54744
- temperature: true,
54745
- toolCall: false,
54746
- modalities: {
54747
- input: [
54748
- "text"
54749
- ],
54750
- output: [
54751
- "text"
54752
- ]
54753
- },
54754
- limit: {
54755
- context: 4096,
54756
- output: 1024
54757
- }
54758
- },
54759
- "gpt-5.1-chat": {
54760
- id: "gpt-5.1-chat",
54761
- family: "gpt-codex",
54762
- reasoning: true,
54763
- temperature: false,
54764
- toolCall: true,
54765
- modalities: {
54766
- input: [
54767
- "text",
54768
- "image",
54769
- "audio"
54770
- ],
54771
- output: [
54772
- "text",
54773
- "image",
54774
- "audio"
54775
- ]
54776
- },
54777
- limit: {
54778
- context: 128000,
54779
- output: 16384
54780
- }
54781
- },
54782
- "phi-3.5-moe-instruct": {
54783
- id: "phi-3.5-moe-instruct",
54784
- family: "phi",
54785
- reasoning: false,
54786
- temperature: true,
54787
- toolCall: false,
54788
- modalities: {
54789
- input: [
54790
- "text"
54791
- ],
54792
- output: [
54793
- "text"
54794
- ]
54795
- },
54796
- limit: {
54797
- context: 128000,
54798
- output: 4096
54799
- }
54800
- },
54801
54779
  "phi-4-reasoning": {
54802
54780
  id: "phi-4-reasoning",
54803
54781
  family: "phi",
@@ -54843,26 +54821,6 @@ var init_model_capabilities_generated = __esm(() => {
54843
54821
  reasoning: false,
54844
54822
  temperature: true,
54845
54823
  toolCall: true,
54846
- modalities: {
54847
- input: [
54848
- "text",
54849
- "image"
54850
- ],
54851
- output: [
54852
- "text"
54853
- ]
54854
- },
54855
- limit: {
54856
- context: 128000,
54857
- output: 4096
54858
- }
54859
- },
54860
- "gpt-3.5-turbo-0613": {
54861
- id: "gpt-3.5-turbo-0613",
54862
- family: "gpt",
54863
- reasoning: false,
54864
- temperature: true,
54865
- toolCall: false,
54866
54824
  modalities: {
54867
54825
  input: [
54868
54826
  "text"
@@ -54872,8 +54830,8 @@ var init_model_capabilities_generated = __esm(() => {
54872
54830
  ]
54873
54831
  },
54874
54832
  limit: {
54875
- context: 16384,
54876
- output: 16384
54833
+ context: 430000,
54834
+ output: 43000
54877
54835
  }
54878
54836
  },
54879
54837
  "ministral-3b": {
@@ -54895,25 +54853,6 @@ var init_model_capabilities_generated = __esm(() => {
54895
54853
  output: 8192
54896
54854
  }
54897
54855
  },
54898
- "cohere-command-r-08-2024": {
54899
- id: "cohere-command-r-08-2024",
54900
- family: "command-r",
54901
- reasoning: false,
54902
- temperature: true,
54903
- toolCall: true,
54904
- modalities: {
54905
- input: [
54906
- "text"
54907
- ],
54908
- output: [
54909
- "text"
54910
- ]
54911
- },
54912
- limit: {
54913
- context: 128000,
54914
- output: 4000
54915
- }
54916
- },
54917
54856
  "model-router": {
54918
54857
  id: "model-router",
54919
54858
  family: "model-router",
@@ -54990,44 +54929,6 @@ var init_model_capabilities_generated = __esm(() => {
54990
54929
  output: 16384
54991
54930
  }
54992
54931
  },
54993
- "phi-3-medium-4k-instruct": {
54994
- id: "phi-3-medium-4k-instruct",
54995
- family: "phi",
54996
- reasoning: false,
54997
- temperature: true,
54998
- toolCall: false,
54999
- modalities: {
55000
- input: [
55001
- "text"
55002
- ],
55003
- output: [
55004
- "text"
55005
- ]
55006
- },
55007
- limit: {
55008
- context: 4096,
55009
- output: 1024
55010
- }
55011
- },
55012
- "phi-3.5-mini-instruct": {
55013
- id: "phi-3.5-mini-instruct",
55014
- family: "phi",
55015
- reasoning: false,
55016
- temperature: true,
55017
- toolCall: false,
55018
- modalities: {
55019
- input: [
55020
- "text"
55021
- ],
55022
- output: [
55023
- "text"
55024
- ]
55025
- },
55026
- limit: {
55027
- context: 128000,
55028
- output: 4096
55029
- }
55030
- },
55031
54932
  "text-embedding-ada-002": {
55032
54933
  id: "text-embedding-ada-002",
55033
54934
  family: "text-embedding",
@@ -55068,26 +54969,6 @@ var init_model_capabilities_generated = __esm(() => {
55068
54969
  output: 4096
55069
54970
  }
55070
54971
  },
55071
- "gpt-5-chat": {
55072
- id: "gpt-5-chat",
55073
- family: "gpt-codex",
55074
- reasoning: true,
55075
- temperature: false,
55076
- toolCall: false,
55077
- modalities: {
55078
- input: [
55079
- "text",
55080
- "image"
55081
- ],
55082
- output: [
55083
- "text"
55084
- ]
55085
- },
55086
- limit: {
55087
- context: 128000,
55088
- output: 16384
55089
- }
55090
- },
55091
54972
  "codex-mini": {
55092
54973
  id: "codex-mini",
55093
54974
  family: "gpt-codex-mini",
@@ -55107,25 +54988,6 @@ var init_model_capabilities_generated = __esm(() => {
55107
54988
  output: 1e5
55108
54989
  }
55109
54990
  },
55110
- "deepseek-v3.1": {
55111
- id: "deepseek-v3.1",
55112
- family: "deepseek",
55113
- reasoning: true,
55114
- temperature: true,
55115
- toolCall: true,
55116
- modalities: {
55117
- input: [
55118
- "text"
55119
- ],
55120
- output: [
55121
- "text"
55122
- ]
55123
- },
55124
- limit: {
55125
- context: 128000,
55126
- output: 32000
55127
- }
55128
- },
55129
54991
  "glm5.2-fast": {
55130
54992
  id: "glm5.2-fast",
55131
54993
  family: "glm",
@@ -55905,6 +55767,27 @@ var init_model_capabilities_generated = __esm(() => {
55905
55767
  output: 128000
55906
55768
  }
55907
55769
  },
55770
+ "duo-chat-opus-5": {
55771
+ id: "duo-chat-opus-5",
55772
+ family: "claude-opus",
55773
+ reasoning: true,
55774
+ temperature: false,
55775
+ toolCall: true,
55776
+ modalities: {
55777
+ input: [
55778
+ "text",
55779
+ "image",
55780
+ "pdf"
55781
+ ],
55782
+ output: [
55783
+ "text"
55784
+ ]
55785
+ },
55786
+ limit: {
55787
+ context: 1e6,
55788
+ output: 128000
55789
+ }
55790
+ },
55908
55791
  "ling-1t": {
55909
55792
  id: "Ling-1T",
55910
55793
  family: "ling",
@@ -55979,25 +55862,6 @@ var init_model_capabilities_generated = __esm(() => {
55979
55862
  output: 65536
55980
55863
  }
55981
55864
  },
55982
- "nvidia-nemotron-cascade-2-30b-a3b": {
55983
- id: "nvidia-nemotron-cascade-2-30b-a3b",
55984
- family: "nemotron",
55985
- reasoning: true,
55986
- temperature: true,
55987
- toolCall: true,
55988
- modalities: {
55989
- input: [
55990
- "text"
55991
- ],
55992
- output: [
55993
- "text"
55994
- ]
55995
- },
55996
- limit: {
55997
- context: 256000,
55998
- output: 32768
55999
- }
56000
- },
56001
55865
  "openai-gpt-54-pro": {
56002
55866
  id: "openai-gpt-54-pro",
56003
55867
  family: "gpt",
@@ -58008,8 +57872,8 @@ var init_model_capabilities_generated = __esm(() => {
58008
57872
  output: 64000
58009
57873
  }
58010
57874
  },
58011
- "openai-gpt-5.4-mini": {
58012
- id: "openai-gpt-5.4-mini",
57875
+ "openai-gpt-5.6-luna-fast": {
57876
+ id: "openai-gpt-5.6-luna-fast",
58013
57877
  family: "gpt-mini",
58014
57878
  reasoning: true,
58015
57879
  temperature: false,
@@ -58805,45 +58669,46 @@ var init_model_capabilities_generated = __esm(() => {
58805
58669
  input: 0
58806
58670
  }
58807
58671
  },
58808
- "gpt-5.3-chat": {
58809
- id: "gpt-5.3-chat",
58810
- family: "gpt-codex",
58811
- reasoning: true,
58672
+ "gpt-image-1": {
58673
+ id: "gpt-image-1",
58674
+ family: "gpt-image",
58675
+ reasoning: false,
58812
58676
  temperature: false,
58813
- toolCall: true,
58677
+ toolCall: false,
58814
58678
  modalities: {
58815
58679
  input: [
58816
58680
  "text",
58817
58681
  "image"
58818
58682
  ],
58819
58683
  output: [
58820
- "text"
58684
+ "image"
58821
58685
  ]
58822
58686
  },
58823
58687
  limit: {
58824
- context: 128000,
58825
- output: 16384
58688
+ context: 0,
58689
+ output: 0,
58690
+ input: 0
58826
58691
  }
58827
58692
  },
58828
- "gpt-image-1": {
58829
- id: "gpt-image-1",
58830
- family: "gpt-image",
58831
- reasoning: false,
58832
- temperature: false,
58833
- toolCall: false,
58693
+ "thinkingmachines/inkling-nvfp4": {
58694
+ id: "thinkingmachines/Inkling-NVFP4",
58695
+ family: "ling",
58696
+ reasoning: true,
58697
+ temperature: true,
58698
+ toolCall: true,
58834
58699
  modalities: {
58835
58700
  input: [
58836
58701
  "text",
58837
- "image"
58702
+ "image",
58703
+ "audio"
58838
58704
  ],
58839
58705
  output: [
58840
- "image"
58706
+ "text"
58841
58707
  ]
58842
58708
  },
58843
58709
  limit: {
58844
- context: 0,
58845
- output: 0,
58846
- input: 0
58710
+ context: 1048576,
58711
+ output: 262144
58847
58712
  }
58848
58713
  },
58849
58714
  "mistralai/mistral-small-3.2-24b-instruct-2506": {
@@ -61233,25 +61098,6 @@ var init_model_capabilities_generated = __esm(() => {
61233
61098
  output: 8192
61234
61099
  }
61235
61100
  },
61236
- "poolside/laguna-xs-2.1": {
61237
- id: "poolside/laguna-xs-2.1",
61238
- family: "laguna",
61239
- reasoning: true,
61240
- temperature: true,
61241
- toolCall: true,
61242
- modalities: {
61243
- input: [
61244
- "text"
61245
- ],
61246
- output: [
61247
- "text"
61248
- ]
61249
- },
61250
- limit: {
61251
- context: 262144,
61252
- output: 32768
61253
- }
61254
- },
61255
61101
  "poolside/laguna-s-2.1": {
61256
61102
  id: "poolside/laguna-s-2.1",
61257
61103
  family: "laguna-s",
@@ -61642,6 +61488,26 @@ var init_model_capabilities_generated = __esm(() => {
61642
61488
  output: 65536
61643
61489
  }
61644
61490
  },
61491
+ "hf:moonshotai/kimi-k3": {
61492
+ id: "hf:moonshotai/Kimi-K3",
61493
+ family: "kimi-k3",
61494
+ reasoning: true,
61495
+ temperature: true,
61496
+ toolCall: true,
61497
+ modalities: {
61498
+ input: [
61499
+ "text",
61500
+ "image"
61501
+ ],
61502
+ output: [
61503
+ "text"
61504
+ ]
61505
+ },
61506
+ limit: {
61507
+ context: 524288,
61508
+ output: 65536
61509
+ }
61510
+ },
61645
61511
  "hf:openai/gpt-oss-120b": {
61646
61512
  id: "hf:openai/gpt-oss-120b",
61647
61513
  family: "gpt-oss",
@@ -64444,8 +64310,7 @@ var init_model_capabilities_generated = __esm(() => {
64444
64310
  },
64445
64311
  limit: {
64446
64312
  context: 128000,
64447
- output: 16384,
64448
- input: 111616
64313
+ output: 16384
64449
64314
  }
64450
64315
  },
64451
64316
  "openai/gpt-5-image": {
@@ -64684,25 +64549,6 @@ var init_model_capabilities_generated = __esm(() => {
64684
64549
  },
64685
64550
  family: "command-r"
64686
64551
  },
64687
- "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
64688
- id: "nvidia/Llama-3.3-Nemotron-Super-49B-v1.5",
64689
- family: "nemotron",
64690
- reasoning: true,
64691
- temperature: true,
64692
- toolCall: true,
64693
- modalities: {
64694
- input: [
64695
- "text"
64696
- ],
64697
- output: [
64698
- "text"
64699
- ]
64700
- },
64701
- limit: {
64702
- context: 131072,
64703
- output: 131072
64704
- }
64705
- },
64706
64552
  "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free": {
64707
64553
  id: "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",
64708
64554
  family: "nemotron",
@@ -64825,26 +64671,6 @@ var init_model_capabilities_generated = __esm(() => {
64825
64671
  },
64826
64672
  family: "lyria"
64827
64673
  },
64828
- "google/gemma-3-4b-it": {
64829
- id: "google/gemma-3-4b-it",
64830
- reasoning: false,
64831
- temperature: true,
64832
- toolCall: false,
64833
- modalities: {
64834
- input: [
64835
- "text",
64836
- "image"
64837
- ],
64838
- output: [
64839
- "text"
64840
- ]
64841
- },
64842
- limit: {
64843
- context: 131072,
64844
- output: 16384
64845
- },
64846
- family: "gemma"
64847
- },
64848
64674
  "google/gemini-2.5-pro-preview": {
64849
64675
  id: "google/gemini-2.5-pro-preview",
64850
64676
  reasoning: true,
@@ -64952,26 +64778,6 @@ var init_model_capabilities_generated = __esm(() => {
64952
64778
  },
64953
64779
  family: "gemini-pro"
64954
64780
  },
64955
- "google/gemma-3-12b-it": {
64956
- id: "google/gemma-3-12b-it",
64957
- reasoning: false,
64958
- temperature: true,
64959
- toolCall: true,
64960
- modalities: {
64961
- input: [
64962
- "text",
64963
- "image"
64964
- ],
64965
- output: [
64966
- "text"
64967
- ]
64968
- },
64969
- limit: {
64970
- context: 131072,
64971
- output: 16384
64972
- },
64973
- family: "gemma"
64974
- },
64975
64781
  "google/gemini-2.5-flash-image": {
64976
64782
  id: "google/gemini-2.5-flash-image",
64977
64783
  reasoning: false,
@@ -66079,7 +65885,7 @@ var init_model_capabilities_generated = __esm(() => {
66079
65885
  "~moonshotai/kimi-latest": {
66080
65886
  id: "~moonshotai/kimi-latest",
66081
65887
  reasoning: true,
66082
- temperature: false,
65888
+ temperature: true,
66083
65889
  toolCall: true,
66084
65890
  modalities: {
66085
65891
  input: [
@@ -66092,7 +65898,7 @@ var init_model_capabilities_generated = __esm(() => {
66092
65898
  },
66093
65899
  limit: {
66094
65900
  context: 1048576,
66095
- output: 262144
65901
+ output: 1048576
66096
65902
  },
66097
65903
  family: "kimi"
66098
65904
  },
@@ -67944,6 +67750,44 @@ var init_model_capabilities_generated = __esm(() => {
67944
67750
  output: 16384
67945
67751
  }
67946
67752
  },
67753
+ "qwen3.6-max": {
67754
+ id: "qwen3.6-max",
67755
+ family: "qwen",
67756
+ reasoning: false,
67757
+ temperature: true,
67758
+ toolCall: true,
67759
+ modalities: {
67760
+ input: [
67761
+ "text"
67762
+ ],
67763
+ output: [
67764
+ "text"
67765
+ ]
67766
+ },
67767
+ limit: {
67768
+ context: 256000,
67769
+ output: 64000
67770
+ }
67771
+ },
67772
+ "qwen3-coder-480b-a35b-instruct-int4-mixed-ar": {
67773
+ id: "qwen3-coder-480b-a35b-instruct-int4-mixed-ar",
67774
+ family: "qwen",
67775
+ reasoning: false,
67776
+ temperature: true,
67777
+ toolCall: true,
67778
+ modalities: {
67779
+ input: [
67780
+ "text"
67781
+ ],
67782
+ output: [
67783
+ "text"
67784
+ ]
67785
+ },
67786
+ limit: {
67787
+ context: 106000,
67788
+ output: 10600
67789
+ }
67790
+ },
67947
67791
  "qwen-mt-plus": {
67948
67792
  id: "qwen-mt-plus",
67949
67793
  family: "qwen",
@@ -69131,26 +68975,6 @@ var init_model_capabilities_generated = __esm(() => {
69131
68975
  output: 4096
69132
68976
  }
69133
68977
  },
69134
- "nvidia/nemotron-nano-12b-v2-vl": {
69135
- id: "nvidia/nemotron-nano-12b-v2-vl",
69136
- family: "nemotron",
69137
- reasoning: true,
69138
- temperature: true,
69139
- toolCall: true,
69140
- modalities: {
69141
- input: [
69142
- "text",
69143
- "image"
69144
- ],
69145
- output: [
69146
- "text"
69147
- ]
69148
- },
69149
- limit: {
69150
- context: 131072,
69151
- output: 131072
69152
- }
69153
- },
69154
68978
  "google/imagen-4.0-ultra-generate-001": {
69155
68979
  id: "google/imagen-4.0-ultra-generate-001",
69156
68980
  family: "imagen",
@@ -72072,11 +71896,11 @@ var init_model_capabilities_generated = __esm(() => {
72072
71896
  output: 128000
72073
71897
  }
72074
71898
  },
72075
- "anthropic/claude-opus-5": {
72076
- id: "anthropic/claude-opus-5",
72077
- family: "claude-opus",
71899
+ "moonshotai/kimi-k3-fast": {
71900
+ id: "moonshotai/kimi-k3-fast",
71901
+ family: "kimi-k3",
72078
71902
  reasoning: true,
72079
- temperature: true,
71903
+ temperature: false,
72080
71904
  toolCall: true,
72081
71905
  modalities: {
72082
71906
  input: [
@@ -72090,7 +71914,7 @@ var init_model_capabilities_generated = __esm(() => {
72090
71914
  },
72091
71915
  limit: {
72092
71916
  context: 1e6,
72093
- output: 128000
71917
+ output: 131072
72094
71918
  }
72095
71919
  },
72096
71920
  "openai/whisper-1": {
@@ -72646,6 +72470,25 @@ var init_model_capabilities_generated = __esm(() => {
72646
72470
  output: 16384
72647
72471
  }
72648
72472
  },
72473
+ "deepseek-r1-0528": {
72474
+ id: "deepseek-r1-0528",
72475
+ family: "deepseek-thinking",
72476
+ reasoning: true,
72477
+ temperature: true,
72478
+ toolCall: true,
72479
+ modalities: {
72480
+ input: [
72481
+ "text"
72482
+ ],
72483
+ output: [
72484
+ "text"
72485
+ ]
72486
+ },
72487
+ limit: {
72488
+ context: 164000,
72489
+ output: 164000
72490
+ }
72491
+ },
72649
72492
  "moonshot-kimi-k2-instruct": {
72650
72493
  id: "moonshot-kimi-k2-instruct",
72651
72494
  family: "kimi-k2",
@@ -73563,6 +73406,27 @@ var init_model_capabilities_generated = __esm(() => {
73563
73406
  output: 32768
73564
73407
  }
73565
73408
  },
73409
+ "qwen/qwen3.7-flash": {
73410
+ id: "qwen/qwen3.7-flash",
73411
+ family: "qwen",
73412
+ reasoning: true,
73413
+ temperature: true,
73414
+ toolCall: true,
73415
+ modalities: {
73416
+ input: [
73417
+ "text",
73418
+ "image",
73419
+ "video"
73420
+ ],
73421
+ output: [
73422
+ "text"
73423
+ ]
73424
+ },
73425
+ limit: {
73426
+ context: 1e6,
73427
+ output: 65536
73428
+ }
73429
+ },
73566
73430
  "~x-ai/grok-latest": {
73567
73431
  id: "~x-ai/grok-latest",
73568
73432
  family: "grok",
@@ -75726,6 +75590,24 @@ var init_model_capabilities_generated = __esm(() => {
75726
75590
  output: 4096
75727
75591
  }
75728
75592
  },
75593
+ "deepseek-v3.1": {
75594
+ id: "deepseek-v3.1",
75595
+ reasoning: true,
75596
+ temperature: true,
75597
+ toolCall: true,
75598
+ modalities: {
75599
+ input: [
75600
+ "text"
75601
+ ],
75602
+ output: [
75603
+ "text"
75604
+ ]
75605
+ },
75606
+ limit: {
75607
+ context: 128000,
75608
+ output: 32000
75609
+ }
75610
+ },
75729
75611
  "doubao-1.5-vision-pro": {
75730
75612
  id: "doubao-1.5-vision-pro",
75731
75613
  reasoning: false,
@@ -76636,15 +76518,14 @@ var init_model_capabilities_generated = __esm(() => {
76636
76518
  modalities: {
76637
76519
  input: [
76638
76520
  "text",
76639
- "image",
76640
- "pdf"
76521
+ "image"
76641
76522
  ],
76642
76523
  output: [
76643
76524
  "text"
76644
76525
  ]
76645
76526
  },
76646
76527
  limit: {
76647
- context: 1050000,
76528
+ context: 372000,
76648
76529
  input: 922000,
76649
76530
  output: 128000
76650
76531
  }
@@ -77878,7 +77759,7 @@ var init_anthropic_categories = __esm(() => {
77878
77759
  ANTHROPIC_CATEGORIES = [
77879
77760
  {
77880
77761
  name: "unspecified-high",
77881
- config: { model: "apitopia/kimi-k3", variant: "max" },
77762
+ config: { model: "kimi-for-coding/k3", variant: "max" },
77882
77763
  description: "Tasks that don't fit other categories, high effort required",
77883
77764
  promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
77884
77765
  }
@@ -78036,7 +77917,7 @@ var init_kimi_categories = __esm(() => {
78036
77917
  KIMI_CATEGORIES = [
78037
77918
  {
78038
77919
  name: "writing",
78039
- config: { model: "kimi-for-coding/kimi-k3" },
77920
+ config: { model: "kimi-for-coding/k3", variant: "low" },
78040
77921
  description: "Documentation, prose, technical writing",
78041
77922
  promptAppend: WRITING_CATEGORY_PROMPT_APPEND
78042
77923
  }
@@ -78139,7 +78020,7 @@ Approach:
78139
78020
  </Category_Context>
78140
78021
 
78141
78022
  <Caller_Warning>
78142
- THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.4-mini).
78023
+ THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.6-luna-fast).
78143
78024
 
78144
78025
  The model executing this task is optimized for speed over depth. Your prompt MUST be:
78145
78026
 
@@ -78205,14 +78086,15 @@ var init_openai_categories = __esm(() => {
78205
78086
  },
78206
78087
  {
78207
78088
  name: "deep",
78208
- config: { model: "openai/gpt-5.6-terra", variant: "xhigh" },
78089
+ config: { model: "openai/gpt-5.6-sol", variant: "medium" },
78209
78090
  description: "Goal-oriented autonomous problem-solving on hairy problems requiring deep research. ONE goal + ONE deliverable per call \u2014 multiple goals must fan out as parallel `deep` calls, never bundled into one.",
78210
78091
  promptAppend: DEEP_CATEGORY_PROMPT_APPEND,
78211
- resolvePromptAppend: resolveDeepCategoryPromptAppend
78092
+ resolvePromptAppend: resolveDeepCategoryPromptAppend,
78093
+ requiresModel: "gpt-5.6-sol"
78212
78094
  },
78213
78095
  {
78214
78096
  name: "quick",
78215
- config: { model: "apitopia/kimi-for-coding-highspeed" },
78097
+ config: { model: "kimi-for-coding/kimi-for-coding-highspeed" },
78216
78098
  description: "Trivial tasks - single file changes, typo fixes, simple modifications",
78217
78099
  promptAppend: QUICK_CATEGORY_PROMPT_APPEND
78218
78100
  },
@@ -78229,7 +78111,7 @@ var init_openai_categories = __esm(() => {
78229
78111
  function buildCategoryRecord(selector) {
78230
78112
  return Object.fromEntries(BUILTIN_CATEGORIES.map((definition2) => [definition2.name, selector(definition2)]));
78231
78113
  }
78232
- var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_PROMPT_APPEND_RESOLVERS;
78114
+ var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
78233
78115
  var init_builtin_categories = __esm(() => {
78234
78116
  init_anthropic_categories();
78235
78117
  init_google_categories();
@@ -78245,6 +78127,7 @@ var init_builtin_categories = __esm(() => {
78245
78127
  CATEGORY_PROMPT_APPENDS = buildCategoryRecord((definition2) => definition2.promptAppend);
78246
78128
  CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition2) => definition2.description);
78247
78129
  CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.resolvePromptAppend !== undefined).map((definition2) => [definition2.name, definition2.resolvePromptAppend]));
78130
+ BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition2) => definition2.requiresModel !== undefined).map((definition2) => [definition2.name, definition2.requiresModel]));
78248
78131
  });
78249
78132
 
78250
78133
  // packages/omo-opencode/src/tools/delegate-task/constants.ts
@@ -78337,6 +78220,7 @@ var init_binary_downloader = __esm(() => {
78337
78220
  // packages/omo-opencode/src/shared/agent-variant.ts
78338
78221
  var init_agent_variant = __esm(() => {
78339
78222
  init_agent_display_names();
78223
+ init_model_capabilities3();
78340
78224
  init_model_requirements2();
78341
78225
  });
78342
78226