oh-my-opencode 5.1.54 → 5.1.55

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 (89) hide show
  1. package/dist/cli/index.js +29 -18
  2. package/dist/cli-node/index.js +29 -18
  3. package/dist/config/schema/agent-overrides.d.ts +64 -0
  4. package/dist/config/schema/categories.d.ts +8 -0
  5. package/dist/config/schema/oh-my-opencode-config.d.ts +64 -0
  6. package/dist/index.js +120 -48
  7. package/dist/oh-my-opencode.schema.json +112 -0
  8. package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
  9. package/dist/skills/programming/SKILL.md +2 -0
  10. package/dist/skills/programming/references/testing/README.md +2 -2
  11. package/dist/skills/programming/scripts/typescript/check-test-junk-rules.ts +140 -0
  12. package/dist/skills/programming/scripts/typescript/check-test-junk.test.ts +125 -0
  13. package/dist/skills/programming/scripts/typescript/check-test-junk.ts +148 -0
  14. package/dist/skills/programming/scripts/typescript/mutation-proof.test.ts +43 -0
  15. package/dist/skills/programming/scripts/typescript/mutation-proof.ts +179 -0
  16. package/dist/skills/remove-ai-slops/SKILL.md +32 -20
  17. package/dist/skills/ulw-research/scripts/source-commands.mjs +3 -1
  18. package/dist/skills/ulw-research/scripts/source-integrity.test.ts +39 -2
  19. package/dist/tools/delegate-task/models-distribution.d.ts +1 -0
  20. package/dist/tui.js +28 -17
  21. package/package.json +16 -14
  22. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  23. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2 -0
  24. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  27. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  29. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  30. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  31. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  33. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  34. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  36. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  37. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  38. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  40. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  41. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  42. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  43. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  44. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  45. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  46. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  65. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  66. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  67. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  68. package/packages/omo-codex/plugin/package-lock.json +12 -12
  69. package/packages/omo-codex/plugin/package.json +1 -1
  70. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  71. package/packages/omo-codex/plugin/skills/programming/SKILL.md +2 -0
  72. package/packages/omo-codex/plugin/skills/programming/references/testing/README.md +2 -2
  73. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-test-junk-rules.ts +140 -0
  74. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-test-junk.ts +148 -0
  75. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/mutation-proof.ts +179 -0
  76. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +32 -20
  77. package/packages/omo-codex/plugin/skills/ulw-research/scripts/source-commands.mjs +3 -1
  78. package/packages/omo-codex/scripts/install-dist/install-local.mjs +4 -2
  79. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  80. package/packages/shared-skills/skills/programming/SKILL.md +2 -0
  81. package/packages/shared-skills/skills/programming/references/testing/README.md +2 -2
  82. package/packages/shared-skills/skills/programming/scripts/typescript/check-test-junk-rules.ts +140 -0
  83. package/packages/shared-skills/skills/programming/scripts/typescript/check-test-junk.test.ts +125 -0
  84. package/packages/shared-skills/skills/programming/scripts/typescript/check-test-junk.ts +148 -0
  85. package/packages/shared-skills/skills/programming/scripts/typescript/mutation-proof.test.ts +43 -0
  86. package/packages/shared-skills/skills/programming/scripts/typescript/mutation-proof.ts +179 -0
  87. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +32 -20
  88. package/packages/shared-skills/skills/ulw-research/scripts/source-commands.mjs +3 -1
  89. package/packages/shared-skills/skills/ulw-research/scripts/source-integrity.test.ts +39 -2
package/dist/cli/index.js CHANGED
@@ -2132,7 +2132,7 @@ var package_default;
2132
2132
  var init_package = __esm(() => {
2133
2133
  package_default = {
2134
2134
  name: "oh-my-opencode",
2135
- version: "5.1.54",
2135
+ version: "5.1.55",
2136
2136
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
2137
2137
  main: "./dist/index.js",
2138
2138
  types: "dist/index.d.ts",
@@ -2156,6 +2156,7 @@ var init_package = __esm(() => {
2156
2156
  "packages/openclaw-core",
2157
2157
  "packages/boulder-state",
2158
2158
  "packages/memory-core",
2159
+ "packages/device-service-core",
2159
2160
  "packages/isolation-core",
2160
2161
  "packages/telemetry-core",
2161
2162
  "packages/claude-code-compat-core",
@@ -2276,7 +2277,7 @@ var init_package = __esm(() => {
2276
2277
  "check:copy": "bun script/check-copy.ts",
2277
2278
  typecheck: "bun run check:copy && bun check --no-script --all -p tsconfig.json && bun run typecheck:script && bun run typecheck:packages && bun run typecheck:skill-scripts",
2278
2279
  "typecheck:skill-scripts": "bun check --no-script --all -p packages/shared-skills/skills/frontend/scripts/detect/tsconfig.json",
2279
- "typecheck:packages": "bun check --no-script --all -p packages/rules-engine/tsconfig.json && bun check --no-script --all -p packages/delegate-core/tsconfig.json && bun check --no-script --all -p packages/mcp-stdio-core/tsconfig.json && bun check --no-script --all -p packages/mcp-client-core/tsconfig.json && bun check --no-script --all -p packages/git-bash-mcp/tsconfig.json && bun check --no-script --all -p packages/ast-grep-mcp/tsconfig.json && bun check --no-script --all -p packages/lsp-core/tsconfig.json && bun check --no-script --all -p packages/utils/tsconfig.json && bun check --no-script --all -p packages/model-core/tsconfig.json && bun check --no-script --all -p packages/omo-config-core/tsconfig.json && bun check --no-script --all -p packages/prompts-core/tsconfig.json && bun check --no-script --all -p packages/comment-checker-core/tsconfig.json && bun check --no-script --all -p packages/hashline-core/tsconfig.json && bun check --no-script --all -p packages/tmux-core/tsconfig.json && bun check --no-script --all -p packages/team-core/tsconfig.json && bun check --no-script --all -p packages/openclaw-core/tsconfig.json && bun check --no-script --all -p packages/boulder-state/tsconfig.json && bun check --no-script --all -p packages/isolation-core/tsconfig.json && bun check --no-script --all -p packages/memory-core/tsconfig.json && bun check --no-script --all -p packages/telemetry-core/tsconfig.json && bun check --no-script --all -p packages/claude-code-compat-core/tsconfig.json && bun check --no-script --all -p packages/skills-loader-core/tsconfig.json && bun check --no-script --all -p packages/agents-md-core/tsconfig.json && bun check --no-script --all -p packages/omo-codex/plugin/shared/tsconfig.json && bun check --no-script --all -p packages/omo-codex/tsconfig.json && bun check --no-script --all -p packages/omo-senpi/tsconfig.json && bun check --no-script --all -p packages/senpi-task/tsconfig.json && bun check --no-script --all -p packages/omo-opencode/tsconfig.json && bun check --no-script --all -p packages/omo-native/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-protocol/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-engine/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-prelude/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-service/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-tool/tsconfig.json",
2280
+ "typecheck:packages": "bun check --no-script --all -p packages/rules-engine/tsconfig.json && bun check --no-script --all -p packages/delegate-core/tsconfig.json && bun check --no-script --all -p packages/mcp-stdio-core/tsconfig.json && bun check --no-script --all -p packages/mcp-client-core/tsconfig.json && bun check --no-script --all -p packages/git-bash-mcp/tsconfig.json && bun check --no-script --all -p packages/ast-grep-mcp/tsconfig.json && bun check --no-script --all -p packages/lsp-core/tsconfig.json && bun check --no-script --all -p packages/utils/tsconfig.json && bun check --no-script --all -p packages/device-service-core/tsconfig.json && bun check --no-script --all -p packages/model-core/tsconfig.json && bun check --no-script --all -p packages/omo-config-core/tsconfig.json && bun check --no-script --all -p packages/prompts-core/tsconfig.json && bun check --no-script --all -p packages/comment-checker-core/tsconfig.json && bun check --no-script --all -p packages/hashline-core/tsconfig.json && bun check --no-script --all -p packages/tmux-core/tsconfig.json && bun check --no-script --all -p packages/team-core/tsconfig.json && bun check --no-script --all -p packages/openclaw-core/tsconfig.json && bun check --no-script --all -p packages/boulder-state/tsconfig.json && bun check --no-script --all -p packages/isolation-core/tsconfig.json && bun check --no-script --all -p packages/memory-core/tsconfig.json && bun check --no-script --all -p packages/telemetry-core/tsconfig.json && bun check --no-script --all -p packages/claude-code-compat-core/tsconfig.json && bun check --no-script --all -p packages/skills-loader-core/tsconfig.json && bun check --no-script --all -p packages/agents-md-core/tsconfig.json && bun check --no-script --all -p packages/omo-codex/plugin/shared/tsconfig.json && bun check --no-script --all -p packages/omo-codex/tsconfig.json && bun check --no-script --all -p packages/omo-senpi/tsconfig.json && bun check --no-script --all -p packages/senpi-task/tsconfig.json && bun check --no-script --all -p packages/omo-opencode/tsconfig.json && bun check --no-script --all -p packages/omo-native/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-protocol/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-engine/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-prelude/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-service/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-tool/tsconfig.json",
2280
2281
  "typecheck:script": "bun check --no-script --all -p script/tsconfig.json",
2281
2282
  test: "bun test --timeout 20000",
2282
2283
  "changelog:section": "bun script/changelog-section.ts",
@@ -2323,6 +2324,7 @@ var init_package = __esm(() => {
2323
2324
  "@oh-my-opencode/agents-md-core": "workspace:*",
2324
2325
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
2325
2326
  "@oh-my-opencode/boulder-state": "workspace:*",
2327
+ "@oh-my-opencode/device-service-core": "workspace:*",
2326
2328
  "@oh-my-opencode/claude-code-compat-core": "workspace:*",
2327
2329
  "@oh-my-opencode/comment-checker-core": "workspace:*",
2328
2330
  "@oh-my-opencode/delegate-core": "workspace:*",
@@ -2382,18 +2384,18 @@ var init_package = __esm(() => {
2382
2384
  typescript: "^7.0.2"
2383
2385
  },
2384
2386
  optionalDependencies: {
2385
- "oh-my-opencode-darwin-arm64": "5.1.54",
2386
- "oh-my-opencode-darwin-x64": "5.1.54",
2387
- "oh-my-opencode-darwin-x64-baseline": "5.1.54",
2388
- "oh-my-opencode-linux-arm64": "5.1.54",
2389
- "oh-my-opencode-linux-arm64-musl": "5.1.54",
2390
- "oh-my-opencode-linux-x64": "5.1.54",
2391
- "oh-my-opencode-linux-x64-baseline": "5.1.54",
2392
- "oh-my-opencode-linux-x64-musl": "5.1.54",
2393
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.54",
2394
- "oh-my-opencode-windows-arm64": "5.1.54",
2395
- "oh-my-opencode-windows-x64": "5.1.54",
2396
- "oh-my-opencode-windows-x64-baseline": "5.1.54"
2387
+ "oh-my-opencode-darwin-arm64": "5.1.55",
2388
+ "oh-my-opencode-darwin-x64": "5.1.55",
2389
+ "oh-my-opencode-darwin-x64-baseline": "5.1.55",
2390
+ "oh-my-opencode-linux-arm64": "5.1.55",
2391
+ "oh-my-opencode-linux-arm64-musl": "5.1.55",
2392
+ "oh-my-opencode-linux-x64": "5.1.55",
2393
+ "oh-my-opencode-linux-x64-baseline": "5.1.55",
2394
+ "oh-my-opencode-linux-x64-musl": "5.1.55",
2395
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.55",
2396
+ "oh-my-opencode-windows-arm64": "5.1.55",
2397
+ "oh-my-opencode-windows-x64": "5.1.55",
2398
+ "oh-my-opencode-windows-x64-baseline": "5.1.55"
2397
2399
  },
2398
2400
  overrides: {
2399
2401
  hono: "^4.13.8",
@@ -76953,6 +76955,7 @@ var init_agent = __esm(() => {
76953
76955
  prompt: string2().optional(),
76954
76956
  model: string2().optional(),
76955
76957
  models: array(OmoAgentModelEntrySchema).optional(),
76958
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
76956
76959
  reasoning: OmoReasoningSchema.optional(),
76957
76960
  variant: string2().optional(),
76958
76961
  reasoningEffort: OmoReasoningEffortSchema.optional(),
@@ -76985,6 +76988,7 @@ var init_category = __esm(() => {
76985
76988
  description: string2().optional(),
76986
76989
  model: string2().optional(),
76987
76990
  models: array(union([string2(), OmoFallbackModelObjectSchema])).optional(),
76991
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
76988
76992
  reasoning: OmoReasoningSchema.optional(),
76989
76993
  temperature: number2().min(0).max(2).optional(),
76990
76994
  top_p: number2().min(0).max(1).optional(),
@@ -78828,9 +78832,13 @@ function resolveModelReferences(view) {
78828
78832
  }
78829
78833
  var init_model_reference_resolution = () => {};
78830
78834
 
78835
+ // packages/omo-config-core/src/models/models-distribution.ts
78836
+ var init_models_distribution = () => {};
78837
+
78831
78838
  // packages/omo-config-core/src/models/index.ts
78832
78839
  var init_models = __esm(() => {
78833
78840
  init_model_reference_resolution();
78841
+ init_models_distribution();
78834
78842
  });
78835
78843
 
78836
78844
  // packages/omo-config-core/src/writer/types.ts
@@ -92677,7 +92685,7 @@ var package_default2;
92677
92685
  var init_package2 = __esm(() => {
92678
92686
  package_default2 = {
92679
92687
  name: "@oh-my-opencode/omo-codex",
92680
- version: "5.1.54",
92688
+ version: "5.1.55",
92681
92689
  type: "module",
92682
92690
  private: true,
92683
92691
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -104130,11 +104138,11 @@ function recordFields(value, fields) {
104130
104138
  }
104131
104139
  function modelInput(view) {
104132
104140
  const agents = isPlainRecord(view.agents) ? Object.fromEntries(Object.entries(view.agents).flatMap(([name, definition]) => {
104133
- const fields = recordFields(definition, ["description", "prompt", "model", "models", "variant", "reasoningEffort", "tools", "temperature", "disable"]);
104141
+ const fields = recordFields(definition, ["description", "prompt", "model", "models", "models_distribution", "variant", "reasoningEffort", "tools", "temperature", "disable"]);
104134
104142
  return fields === undefined ? [] : [[name, fields]];
104135
104143
  })) : undefined;
104136
104144
  const categories = isPlainRecord(view.categories) ? Object.fromEntries(Object.entries(view.categories).flatMap(([name, definition]) => {
104137
- const fields = recordFields(definition, ["description", "model", "fallback_models", "variant", "temperature", "top_p", "maxTokens", "thinking", "reasoningEffort", "textVerbosity", "tools", "prompt_append", "max_prompt_tokens", "is_unstable_agent", "disable"]);
104145
+ const fields = recordFields(definition, ["description", "model", "models", "models_distribution", "fallback_models", "variant", "temperature", "top_p", "maxTokens", "thinking", "reasoningEffort", "textVerbosity", "tools", "prompt_append", "max_prompt_tokens", "is_unstable_agent", "disable"]);
104138
104146
  return fields === undefined ? [] : [[name, fields]];
104139
104147
  })) : undefined;
104140
104148
  return {
@@ -104408,6 +104416,7 @@ var AgentPermissionSchema = object({
104408
104416
  var AgentOverrideConfigSchema = object({
104409
104417
  model: string2().optional(),
104410
104418
  models: array(union([string2(), FallbackModelObjectSchema])).optional(),
104419
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
104411
104420
  fallback_models: FallbackModelsSchema.optional(),
104412
104421
  reasoning: OmoReasoningSchema.optional(),
104413
104422
  variant: string2().optional(),
@@ -104508,6 +104517,7 @@ var CategoryConfigSchema = object({
104508
104517
  description: string2().optional(),
104509
104518
  model: string2().optional(),
104510
104519
  models: array(union([string2(), FallbackModelObjectSchema])).optional(),
104520
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
104511
104521
  fallback_models: FallbackModelsSchema.optional(),
104512
104522
  reasoning: OmoReasoningSchema.optional(),
104513
104523
  variant: string2().optional(),
@@ -105071,7 +105081,8 @@ function materializeAgentModelChains(config) {
105071
105081
  return [name, {
105072
105082
  ...rest,
105073
105083
  ...primarySettings,
105074
- fallback_models: fallbacks
105084
+ fallback_models: fallbacks,
105085
+ ...agent.models_distribution === "round_robin" ? { models: agent.models } : {}
105075
105086
  }];
105076
105087
  }));
105077
105088
  return changed ? { ...config, agents } : config;
@@ -2133,7 +2133,7 @@ var package_default;
2133
2133
  var init_package = __esm(() => {
2134
2134
  package_default = {
2135
2135
  name: "oh-my-opencode",
2136
- version: "5.1.54",
2136
+ version: "5.1.55",
2137
2137
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
2138
2138
  main: "./dist/index.js",
2139
2139
  types: "dist/index.d.ts",
@@ -2157,6 +2157,7 @@ var init_package = __esm(() => {
2157
2157
  "packages/openclaw-core",
2158
2158
  "packages/boulder-state",
2159
2159
  "packages/memory-core",
2160
+ "packages/device-service-core",
2160
2161
  "packages/isolation-core",
2161
2162
  "packages/telemetry-core",
2162
2163
  "packages/claude-code-compat-core",
@@ -2277,7 +2278,7 @@ var init_package = __esm(() => {
2277
2278
  "check:copy": "bun script/check-copy.ts",
2278
2279
  typecheck: "bun run check:copy && bun check --no-script --all -p tsconfig.json && bun run typecheck:script && bun run typecheck:packages && bun run typecheck:skill-scripts",
2279
2280
  "typecheck:skill-scripts": "bun check --no-script --all -p packages/shared-skills/skills/frontend/scripts/detect/tsconfig.json",
2280
- "typecheck:packages": "bun check --no-script --all -p packages/rules-engine/tsconfig.json && bun check --no-script --all -p packages/delegate-core/tsconfig.json && bun check --no-script --all -p packages/mcp-stdio-core/tsconfig.json && bun check --no-script --all -p packages/mcp-client-core/tsconfig.json && bun check --no-script --all -p packages/git-bash-mcp/tsconfig.json && bun check --no-script --all -p packages/ast-grep-mcp/tsconfig.json && bun check --no-script --all -p packages/lsp-core/tsconfig.json && bun check --no-script --all -p packages/utils/tsconfig.json && bun check --no-script --all -p packages/model-core/tsconfig.json && bun check --no-script --all -p packages/omo-config-core/tsconfig.json && bun check --no-script --all -p packages/prompts-core/tsconfig.json && bun check --no-script --all -p packages/comment-checker-core/tsconfig.json && bun check --no-script --all -p packages/hashline-core/tsconfig.json && bun check --no-script --all -p packages/tmux-core/tsconfig.json && bun check --no-script --all -p packages/team-core/tsconfig.json && bun check --no-script --all -p packages/openclaw-core/tsconfig.json && bun check --no-script --all -p packages/boulder-state/tsconfig.json && bun check --no-script --all -p packages/isolation-core/tsconfig.json && bun check --no-script --all -p packages/memory-core/tsconfig.json && bun check --no-script --all -p packages/telemetry-core/tsconfig.json && bun check --no-script --all -p packages/claude-code-compat-core/tsconfig.json && bun check --no-script --all -p packages/skills-loader-core/tsconfig.json && bun check --no-script --all -p packages/agents-md-core/tsconfig.json && bun check --no-script --all -p packages/omo-codex/plugin/shared/tsconfig.json && bun check --no-script --all -p packages/omo-codex/tsconfig.json && bun check --no-script --all -p packages/omo-senpi/tsconfig.json && bun check --no-script --all -p packages/senpi-task/tsconfig.json && bun check --no-script --all -p packages/omo-opencode/tsconfig.json && bun check --no-script --all -p packages/omo-native/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-protocol/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-engine/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-prelude/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-service/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-tool/tsconfig.json",
2281
+ "typecheck:packages": "bun check --no-script --all -p packages/rules-engine/tsconfig.json && bun check --no-script --all -p packages/delegate-core/tsconfig.json && bun check --no-script --all -p packages/mcp-stdio-core/tsconfig.json && bun check --no-script --all -p packages/mcp-client-core/tsconfig.json && bun check --no-script --all -p packages/git-bash-mcp/tsconfig.json && bun check --no-script --all -p packages/ast-grep-mcp/tsconfig.json && bun check --no-script --all -p packages/lsp-core/tsconfig.json && bun check --no-script --all -p packages/utils/tsconfig.json && bun check --no-script --all -p packages/device-service-core/tsconfig.json && bun check --no-script --all -p packages/model-core/tsconfig.json && bun check --no-script --all -p packages/omo-config-core/tsconfig.json && bun check --no-script --all -p packages/prompts-core/tsconfig.json && bun check --no-script --all -p packages/comment-checker-core/tsconfig.json && bun check --no-script --all -p packages/hashline-core/tsconfig.json && bun check --no-script --all -p packages/tmux-core/tsconfig.json && bun check --no-script --all -p packages/team-core/tsconfig.json && bun check --no-script --all -p packages/openclaw-core/tsconfig.json && bun check --no-script --all -p packages/boulder-state/tsconfig.json && bun check --no-script --all -p packages/isolation-core/tsconfig.json && bun check --no-script --all -p packages/memory-core/tsconfig.json && bun check --no-script --all -p packages/telemetry-core/tsconfig.json && bun check --no-script --all -p packages/claude-code-compat-core/tsconfig.json && bun check --no-script --all -p packages/skills-loader-core/tsconfig.json && bun check --no-script --all -p packages/agents-md-core/tsconfig.json && bun check --no-script --all -p packages/omo-codex/plugin/shared/tsconfig.json && bun check --no-script --all -p packages/omo-codex/tsconfig.json && bun check --no-script --all -p packages/omo-senpi/tsconfig.json && bun check --no-script --all -p packages/senpi-task/tsconfig.json && bun check --no-script --all -p packages/omo-opencode/tsconfig.json && bun check --no-script --all -p packages/omo-native/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-protocol/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-engine/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-prelude/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-service/tsconfig.json && bun check --no-script --all -p packages/senpi-desktop-tool/tsconfig.json",
2281
2282
  "typecheck:script": "bun check --no-script --all -p script/tsconfig.json",
2282
2283
  test: "bun test --timeout 20000",
2283
2284
  "changelog:section": "bun script/changelog-section.ts",
@@ -2324,6 +2325,7 @@ var init_package = __esm(() => {
2324
2325
  "@oh-my-opencode/agents-md-core": "workspace:*",
2325
2326
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
2326
2327
  "@oh-my-opencode/boulder-state": "workspace:*",
2328
+ "@oh-my-opencode/device-service-core": "workspace:*",
2327
2329
  "@oh-my-opencode/claude-code-compat-core": "workspace:*",
2328
2330
  "@oh-my-opencode/comment-checker-core": "workspace:*",
2329
2331
  "@oh-my-opencode/delegate-core": "workspace:*",
@@ -2383,18 +2385,18 @@ var init_package = __esm(() => {
2383
2385
  typescript: "^7.0.2"
2384
2386
  },
2385
2387
  optionalDependencies: {
2386
- "oh-my-opencode-darwin-arm64": "5.1.54",
2387
- "oh-my-opencode-darwin-x64": "5.1.54",
2388
- "oh-my-opencode-darwin-x64-baseline": "5.1.54",
2389
- "oh-my-opencode-linux-arm64": "5.1.54",
2390
- "oh-my-opencode-linux-arm64-musl": "5.1.54",
2391
- "oh-my-opencode-linux-x64": "5.1.54",
2392
- "oh-my-opencode-linux-x64-baseline": "5.1.54",
2393
- "oh-my-opencode-linux-x64-musl": "5.1.54",
2394
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.54",
2395
- "oh-my-opencode-windows-arm64": "5.1.54",
2396
- "oh-my-opencode-windows-x64": "5.1.54",
2397
- "oh-my-opencode-windows-x64-baseline": "5.1.54"
2388
+ "oh-my-opencode-darwin-arm64": "5.1.55",
2389
+ "oh-my-opencode-darwin-x64": "5.1.55",
2390
+ "oh-my-opencode-darwin-x64-baseline": "5.1.55",
2391
+ "oh-my-opencode-linux-arm64": "5.1.55",
2392
+ "oh-my-opencode-linux-arm64-musl": "5.1.55",
2393
+ "oh-my-opencode-linux-x64": "5.1.55",
2394
+ "oh-my-opencode-linux-x64-baseline": "5.1.55",
2395
+ "oh-my-opencode-linux-x64-musl": "5.1.55",
2396
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.55",
2397
+ "oh-my-opencode-windows-arm64": "5.1.55",
2398
+ "oh-my-opencode-windows-x64": "5.1.55",
2399
+ "oh-my-opencode-windows-x64-baseline": "5.1.55"
2398
2400
  },
2399
2401
  overrides: {
2400
2402
  hono: "^4.13.8",
@@ -77032,6 +77034,7 @@ var init_agent = __esm(() => {
77032
77034
  prompt: string2().optional(),
77033
77035
  model: string2().optional(),
77034
77036
  models: array(OmoAgentModelEntrySchema).optional(),
77037
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
77035
77038
  reasoning: OmoReasoningSchema.optional(),
77036
77039
  variant: string2().optional(),
77037
77040
  reasoningEffort: OmoReasoningEffortSchema.optional(),
@@ -77064,6 +77067,7 @@ var init_category = __esm(() => {
77064
77067
  description: string2().optional(),
77065
77068
  model: string2().optional(),
77066
77069
  models: array(union([string2(), OmoFallbackModelObjectSchema])).optional(),
77070
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
77067
77071
  reasoning: OmoReasoningSchema.optional(),
77068
77072
  temperature: number2().min(0).max(2).optional(),
77069
77073
  top_p: number2().min(0).max(1).optional(),
@@ -78907,9 +78911,13 @@ function resolveModelReferences(view) {
78907
78911
  }
78908
78912
  var init_model_reference_resolution = () => {};
78909
78913
 
78914
+ // packages/omo-config-core/src/models/models-distribution.ts
78915
+ var init_models_distribution = () => {};
78916
+
78910
78917
  // packages/omo-config-core/src/models/index.ts
78911
78918
  var init_models = __esm(() => {
78912
78919
  init_model_reference_resolution();
78920
+ init_models_distribution();
78913
78921
  });
78914
78922
 
78915
78923
  // packages/omo-config-core/src/writer/types.ts
@@ -92756,7 +92764,7 @@ var package_default2;
92756
92764
  var init_package2 = __esm(() => {
92757
92765
  package_default2 = {
92758
92766
  name: "@oh-my-opencode/omo-codex",
92759
- version: "5.1.54",
92767
+ version: "5.1.55",
92760
92768
  type: "module",
92761
92769
  private: true,
92762
92770
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -104209,11 +104217,11 @@ function recordFields(value, fields) {
104209
104217
  }
104210
104218
  function modelInput(view) {
104211
104219
  const agents = isPlainRecord(view.agents) ? Object.fromEntries(Object.entries(view.agents).flatMap(([name, definition]) => {
104212
- const fields = recordFields(definition, ["description", "prompt", "model", "models", "variant", "reasoningEffort", "tools", "temperature", "disable"]);
104220
+ const fields = recordFields(definition, ["description", "prompt", "model", "models", "models_distribution", "variant", "reasoningEffort", "tools", "temperature", "disable"]);
104213
104221
  return fields === undefined ? [] : [[name, fields]];
104214
104222
  })) : undefined;
104215
104223
  const categories = isPlainRecord(view.categories) ? Object.fromEntries(Object.entries(view.categories).flatMap(([name, definition]) => {
104216
- const fields = recordFields(definition, ["description", "model", "fallback_models", "variant", "temperature", "top_p", "maxTokens", "thinking", "reasoningEffort", "textVerbosity", "tools", "prompt_append", "max_prompt_tokens", "is_unstable_agent", "disable"]);
104224
+ const fields = recordFields(definition, ["description", "model", "models", "models_distribution", "fallback_models", "variant", "temperature", "top_p", "maxTokens", "thinking", "reasoningEffort", "textVerbosity", "tools", "prompt_append", "max_prompt_tokens", "is_unstable_agent", "disable"]);
104217
104225
  return fields === undefined ? [] : [[name, fields]];
104218
104226
  })) : undefined;
104219
104227
  return {
@@ -104487,6 +104495,7 @@ var AgentPermissionSchema = object({
104487
104495
  var AgentOverrideConfigSchema = object({
104488
104496
  model: string2().optional(),
104489
104497
  models: array(union([string2(), FallbackModelObjectSchema])).optional(),
104498
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
104490
104499
  fallback_models: FallbackModelsSchema.optional(),
104491
104500
  reasoning: OmoReasoningSchema.optional(),
104492
104501
  variant: string2().optional(),
@@ -104587,6 +104596,7 @@ var CategoryConfigSchema = object({
104587
104596
  description: string2().optional(),
104588
104597
  model: string2().optional(),
104589
104598
  models: array(union([string2(), FallbackModelObjectSchema])).optional(),
104599
+ models_distribution: _enum(["sequential", "round_robin"]).optional(),
104590
104600
  fallback_models: FallbackModelsSchema.optional(),
104591
104601
  reasoning: OmoReasoningSchema.optional(),
104592
104602
  variant: string2().optional(),
@@ -105150,7 +105160,8 @@ function materializeAgentModelChains(config) {
105150
105160
  return [name, {
105151
105161
  ...rest,
105152
105162
  ...primarySettings,
105153
- fallback_models: fallbacks
105163
+ fallback_models: fallbacks,
105164
+ ...agent.models_distribution === "round_robin" ? { models: agent.models } : {}
105154
105165
  }];
105155
105166
  }));
105156
105167
  return changed ? { ...config, agents } : config;
@@ -34,6 +34,10 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
34
34
  budgetTokens: z.ZodOptional<z.ZodNumber>;
35
35
  }, z.core.$strip>>;
36
36
  }, z.core.$strip>]>>>;
37
+ models_distribution: z.ZodOptional<z.ZodEnum<{
38
+ round_robin: "round_robin";
39
+ sequential: "sequential";
40
+ }>>;
37
41
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
38
42
  model: z.ZodString;
39
43
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -254,6 +258,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
254
258
  budgetTokens: z.ZodOptional<z.ZodNumber>;
255
259
  }, z.core.$strip>>;
256
260
  }, z.core.$strip>]>>>;
261
+ models_distribution: z.ZodOptional<z.ZodEnum<{
262
+ round_robin: "round_robin";
263
+ sequential: "sequential";
264
+ }>>;
257
265
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
258
266
  model: z.ZodString;
259
267
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -473,6 +481,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
473
481
  budgetTokens: z.ZodOptional<z.ZodNumber>;
474
482
  }, z.core.$strip>>;
475
483
  }, z.core.$strip>]>>>;
484
+ models_distribution: z.ZodOptional<z.ZodEnum<{
485
+ round_robin: "round_robin";
486
+ sequential: "sequential";
487
+ }>>;
476
488
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
477
489
  model: z.ZodString;
478
490
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -692,6 +704,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
692
704
  budgetTokens: z.ZodOptional<z.ZodNumber>;
693
705
  }, z.core.$strip>>;
694
706
  }, z.core.$strip>]>>>;
707
+ models_distribution: z.ZodOptional<z.ZodEnum<{
708
+ round_robin: "round_robin";
709
+ sequential: "sequential";
710
+ }>>;
695
711
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
696
712
  model: z.ZodString;
697
713
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -911,6 +927,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
911
927
  budgetTokens: z.ZodOptional<z.ZodNumber>;
912
928
  }, z.core.$strip>>;
913
929
  }, z.core.$strip>]>>>;
930
+ models_distribution: z.ZodOptional<z.ZodEnum<{
931
+ round_robin: "round_robin";
932
+ sequential: "sequential";
933
+ }>>;
914
934
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
915
935
  model: z.ZodString;
916
936
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1131,6 +1151,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1131
1151
  budgetTokens: z.ZodOptional<z.ZodNumber>;
1132
1152
  }, z.core.$strip>>;
1133
1153
  }, z.core.$strip>]>>>;
1154
+ models_distribution: z.ZodOptional<z.ZodEnum<{
1155
+ round_robin: "round_robin";
1156
+ sequential: "sequential";
1157
+ }>>;
1134
1158
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1135
1159
  model: z.ZodString;
1136
1160
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1350,6 +1374,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1350
1374
  budgetTokens: z.ZodOptional<z.ZodNumber>;
1351
1375
  }, z.core.$strip>>;
1352
1376
  }, z.core.$strip>]>>>;
1377
+ models_distribution: z.ZodOptional<z.ZodEnum<{
1378
+ round_robin: "round_robin";
1379
+ sequential: "sequential";
1380
+ }>>;
1353
1381
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1354
1382
  model: z.ZodString;
1355
1383
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1569,6 +1597,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1569
1597
  budgetTokens: z.ZodOptional<z.ZodNumber>;
1570
1598
  }, z.core.$strip>>;
1571
1599
  }, z.core.$strip>]>>>;
1600
+ models_distribution: z.ZodOptional<z.ZodEnum<{
1601
+ round_robin: "round_robin";
1602
+ sequential: "sequential";
1603
+ }>>;
1572
1604
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1573
1605
  model: z.ZodString;
1574
1606
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1788,6 +1820,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1788
1820
  budgetTokens: z.ZodOptional<z.ZodNumber>;
1789
1821
  }, z.core.$strip>>;
1790
1822
  }, z.core.$strip>]>>>;
1823
+ models_distribution: z.ZodOptional<z.ZodEnum<{
1824
+ round_robin: "round_robin";
1825
+ sequential: "sequential";
1826
+ }>>;
1791
1827
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1792
1828
  model: z.ZodString;
1793
1829
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2007,6 +2043,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
2007
2043
  budgetTokens: z.ZodOptional<z.ZodNumber>;
2008
2044
  }, z.core.$strip>>;
2009
2045
  }, z.core.$strip>]>>>;
2046
+ models_distribution: z.ZodOptional<z.ZodEnum<{
2047
+ round_robin: "round_robin";
2048
+ sequential: "sequential";
2049
+ }>>;
2010
2050
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2011
2051
  model: z.ZodString;
2012
2052
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2226,6 +2266,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
2226
2266
  budgetTokens: z.ZodOptional<z.ZodNumber>;
2227
2267
  }, z.core.$strip>>;
2228
2268
  }, z.core.$strip>]>>>;
2269
+ models_distribution: z.ZodOptional<z.ZodEnum<{
2270
+ round_robin: "round_robin";
2271
+ sequential: "sequential";
2272
+ }>>;
2229
2273
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2230
2274
  model: z.ZodString;
2231
2275
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2445,6 +2489,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
2445
2489
  budgetTokens: z.ZodOptional<z.ZodNumber>;
2446
2490
  }, z.core.$strip>>;
2447
2491
  }, z.core.$strip>]>>>;
2492
+ models_distribution: z.ZodOptional<z.ZodEnum<{
2493
+ round_robin: "round_robin";
2494
+ sequential: "sequential";
2495
+ }>>;
2448
2496
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2449
2497
  model: z.ZodString;
2450
2498
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2664,6 +2712,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
2664
2712
  budgetTokens: z.ZodOptional<z.ZodNumber>;
2665
2713
  }, z.core.$strip>>;
2666
2714
  }, z.core.$strip>]>>>;
2715
+ models_distribution: z.ZodOptional<z.ZodEnum<{
2716
+ round_robin: "round_robin";
2717
+ sequential: "sequential";
2718
+ }>>;
2667
2719
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2668
2720
  model: z.ZodString;
2669
2721
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2883,6 +2935,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
2883
2935
  budgetTokens: z.ZodOptional<z.ZodNumber>;
2884
2936
  }, z.core.$strip>>;
2885
2937
  }, z.core.$strip>]>>>;
2938
+ models_distribution: z.ZodOptional<z.ZodEnum<{
2939
+ round_robin: "round_robin";
2940
+ sequential: "sequential";
2941
+ }>>;
2886
2942
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2887
2943
  model: z.ZodString;
2888
2944
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -3102,6 +3158,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
3102
3158
  budgetTokens: z.ZodOptional<z.ZodNumber>;
3103
3159
  }, z.core.$strip>>;
3104
3160
  }, z.core.$strip>]>>>;
3161
+ models_distribution: z.ZodOptional<z.ZodEnum<{
3162
+ round_robin: "round_robin";
3163
+ sequential: "sequential";
3164
+ }>>;
3105
3165
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
3106
3166
  model: z.ZodString;
3107
3167
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -3321,6 +3381,10 @@ export declare const AgentOverridesSchema: z.ZodObject<{
3321
3381
  budgetTokens: z.ZodOptional<z.ZodNumber>;
3322
3382
  }, z.core.$strip>>;
3323
3383
  }, z.core.$strip>]>>>;
3384
+ models_distribution: z.ZodOptional<z.ZodEnum<{
3385
+ round_robin: "round_robin";
3386
+ sequential: "sequential";
3387
+ }>>;
3324
3388
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
3325
3389
  model: z.ZodString;
3326
3390
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -35,6 +35,10 @@ export declare const CategoryConfigSchema: z.ZodObject<{
35
35
  budgetTokens: z.ZodOptional<z.ZodNumber>;
36
36
  }, z.core.$strip>>;
37
37
  }, z.core.$strip>]>>>;
38
+ models_distribution: z.ZodOptional<z.ZodEnum<{
39
+ round_robin: "round_robin";
40
+ sequential: "sequential";
41
+ }>>;
38
42
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
39
43
  model: z.ZodString;
40
44
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -190,6 +194,10 @@ export declare const CategoriesConfigSchema: z.ZodRecord<z.ZodString, z.ZodObjec
190
194
  budgetTokens: z.ZodOptional<z.ZodNumber>;
191
195
  }, z.core.$strip>>;
192
196
  }, z.core.$strip>]>>>;
197
+ models_distribution: z.ZodOptional<z.ZodEnum<{
198
+ round_robin: "round_robin";
199
+ sequential: "sequential";
200
+ }>>;
193
201
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
194
202
  model: z.ZodString;
195
203
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{