drizzy-agent 0.7.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -3407,6 +3407,9 @@ var init_agent_model_defaults = __esm(() => {
3407
3407
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3408
3408
  ],
3409
3409
  includeInInstall: true,
3410
+ specialCases: {
3411
+ geminiOnlyOverride: { model: "google/gemini-3.1-pro-preview" }
3412
+ },
3410
3413
  requiresAnyProvider: [
3411
3414
  "anthropic",
3412
3415
  "github-copilot",
@@ -3423,8 +3426,8 @@ var init_agent_model_defaults = __esm(() => {
3423
3426
  },
3424
3427
  gptcoder: {
3425
3428
  chain: [
3426
- { providers: ["openai", "venice", "opencode"], model: "gpt-5.3-codex", variant: "medium" },
3427
- { providers: ["github-copilot"], model: "gpt-5.3-codex", variant: "medium" }
3429
+ { providers: ["openai", "venice", "opencode"], model: "gpt-5.4", variant: "medium" },
3430
+ { providers: ["github-copilot"], model: "gpt-5.4", variant: "medium" }
3428
3431
  ],
3429
3432
  includeInInstall: true,
3430
3433
  requiresAnyProvider: ["openai", "github-copilot", "venice", "opencode"]
@@ -3446,7 +3449,10 @@ var init_agent_model_defaults = __esm(() => {
3446
3449
  { providers: CLAUDE_PROVIDERS, model: "claude-opus-4-6", variant: "max" },
3447
3450
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3448
3451
  ],
3449
- includeInInstall: true
3452
+ includeInInstall: true,
3453
+ specialCases: {
3454
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3455
+ }
3450
3456
  },
3451
3457
  librarian: {
3452
3458
  chain: [
@@ -3458,7 +3464,11 @@ var init_agent_model_defaults = __esm(() => {
3458
3464
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
3459
3465
  ],
3460
3466
  includeInInstall: true,
3461
- specialCases: { zaiOverride: { model: "zai-coding-plan/glm-4.7" }, openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
3467
+ specialCases: {
3468
+ zaiOverride: { model: "zai-coding-plan/glm-4.7" },
3469
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
3470
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3471
+ }
3462
3472
  },
3463
3473
  explore: {
3464
3474
  chain: [
@@ -3468,11 +3478,19 @@ var init_agent_model_defaults = __esm(() => {
3468
3478
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
3469
3479
  ],
3470
3480
  includeInInstall: true,
3471
- specialCases: { customResolver: "explore-agent", openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
3481
+ specialCases: {
3482
+ customResolver: "explore-agent",
3483
+ openAiOnlyOverride: { model: "openai/gpt-5.4-nano", variant: "low" },
3484
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" },
3485
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
3486
+ }
3472
3487
  },
3473
3488
  "multimodal-looker": {
3474
3489
  chain: [{ providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4", variant: "medium" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" }, { providers: ["zai-coding-plan"], model: "glm-4.6v" }, { providers: OPENAI_PROVIDERS, model: "gpt-5-nano" }],
3475
- includeInInstall: true
3490
+ includeInInstall: true,
3491
+ specialCases: {
3492
+ claudeOnlyOverride: { model: "anthropic/claude-sonnet-4-6" }
3493
+ }
3476
3494
  },
3477
3495
  planConsultant: {
3478
3496
  chain: [{ providers: CLAUDE_PROVIDERS, model: "claude-opus-4-6", variant: "max" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "high" }, { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro", variant: "high" }],
@@ -3486,7 +3504,10 @@ var init_agent_model_defaults = __esm(() => {
3486
3504
  { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro", variant: "high" },
3487
3505
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3488
3506
  ],
3489
- includeInInstall: true
3507
+ includeInInstall: true,
3508
+ specialCases: {
3509
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3510
+ }
3490
3511
  },
3491
3512
  orchestrator: {
3492
3513
  chain: [{ providers: ["kimi-for-coding"], model: "k2p5" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-6" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-5" }, { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "medium" }, { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro" }],
@@ -3515,7 +3536,11 @@ var init_agent_model_defaults = __esm(() => {
3515
3536
  { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "low" },
3516
3537
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
3517
3538
  ],
3518
- includeInInstall: true
3539
+ includeInInstall: true,
3540
+ specialCases: {
3541
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
3542
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
3543
+ }
3519
3544
  }
3520
3545
  };
3521
3546
  CATEGORY_MODEL_DEFAULTS = {
@@ -3537,7 +3562,10 @@ var init_agent_model_defaults = __esm(() => {
3537
3562
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
3538
3563
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3539
3564
  ],
3540
- includeInInstall: true
3565
+ includeInInstall: true,
3566
+ specialCases: {
3567
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3568
+ }
3541
3569
  },
3542
3570
  deep: {
3543
3571
  chain: [
@@ -3547,7 +3575,10 @@ var init_agent_model_defaults = __esm(() => {
3547
3575
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
3548
3576
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3549
3577
  ],
3550
- includeInInstall: true
3578
+ includeInInstall: true,
3579
+ specialCases: {
3580
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3581
+ }
3551
3582
  },
3552
3583
  artistry: {
3553
3584
  chain: [
@@ -3558,17 +3589,23 @@ var init_agent_model_defaults = __esm(() => {
3558
3589
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
3559
3590
  ],
3560
3591
  includeInInstall: true,
3561
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" } }
3592
+ specialCases: {
3593
+ openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" },
3594
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3595
+ }
3562
3596
  },
3563
3597
  quick: {
3564
3598
  chain: [
3565
3599
  { providers: CLAUDE_PROVIDERS, model: "claude-haiku-4-5" },
3566
3600
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
3567
- { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.1-codex-mini", variant: "low" },
3601
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
3568
3602
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
3569
3603
  ],
3570
3604
  includeInInstall: true,
3571
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "low" } }
3605
+ specialCases: {
3606
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
3607
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3608
+ }
3572
3609
  },
3573
3610
  "unspecified-low": {
3574
3611
  chain: [
@@ -3578,11 +3615,18 @@ var init_agent_model_defaults = __esm(() => {
3578
3615
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
3579
3616
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
3580
3617
  ],
3581
- includeInInstall: true
3618
+ includeInInstall: true,
3619
+ specialCases: {
3620
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "medium" },
3621
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3622
+ }
3582
3623
  },
3583
3624
  "unspecified-high": {
3584
3625
  chain: [{ providers: CLAUDE_PROVIDERS, model: "claude-opus-4-6", variant: "max" }, { providers: OPENAI_PROVIDERS, model: "gpt-5.3-codex", variant: "high" }, { providers: ["zai-coding-plan", "opencode"], model: "glm-5" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" }],
3585
- includeInInstall: true
3626
+ includeInInstall: true,
3627
+ specialCases: {
3628
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3629
+ }
3586
3630
  },
3587
3631
  writing: {
3588
3632
  chain: [{ providers: GEMINI_PROVIDERS, model: "gemini-3-flash" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-6" }],
@@ -7204,27 +7248,66 @@ import * as path3 from "path";
7204
7248
 
7205
7249
  // src/cli/openai-only-model-catalog.ts
7206
7250
  init_agent_model_defaults();
7207
- var OPENAI_ONLY_AGENT_OVERRIDES = Object.fromEntries(Object.entries(AGENT_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.openAiOnlyOverride).map(([name, def]) => {
7208
- const override = def.specialCases.openAiOnlyOverride;
7209
- return [name, { model: override.model, variant: override.variant }];
7210
- }));
7211
- var OPENAI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(Object.entries(CATEGORY_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.openAiOnlyOverride).map(([name, def]) => {
7212
- const override = def.specialCases.openAiOnlyOverride;
7213
- return [name, { model: override.model, variant: override.variant }];
7214
- }));
7251
+ var OPENAI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("openAiOnlyOverride"));
7252
+ var OPENAI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("openAiOnlyOverride"));
7253
+ var KIMI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("kimiOnlyOverride"));
7254
+ var KIMI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("kimiOnlyOverride"));
7255
+ var GEMINI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("geminiOnlyOverride"));
7256
+ var GEMINI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("geminiOnlyOverride"));
7257
+ var CLAUDE_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("claudeOnlyOverride"));
7258
+ var CLAUDE_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("claudeOnlyOverride"));
7215
7259
  function isOpenAiOnlyAvailability(availability) {
7216
7260
  return availability.native.openai && !availability.native.claude && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
7217
7261
  }
7218
7262
  function applyOpenAiOnlyModelCatalog(config) {
7263
+ return applyOverrideCatalog(config, OPENAI_ONLY_AGENT_OVERRIDES, OPENAI_ONLY_CATEGORY_OVERRIDES);
7264
+ }
7265
+ function isKimiOnlyAvailability(availability) {
7266
+ return availability.kimiForCoding && !availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai;
7267
+ }
7268
+ function isGeminiOnlyAvailability(availability) {
7269
+ return availability.native.gemini && !availability.native.claude && !availability.native.openai && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
7270
+ }
7271
+ function isClaudeOnlyAvailability(availability) {
7272
+ return availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
7273
+ }
7274
+ function applyProviderSpecificModelCatalog(config, availability) {
7275
+ if (isOpenAiOnlyAvailability(availability)) {
7276
+ return applyOpenAiOnlyModelCatalog(config);
7277
+ }
7278
+ if (isKimiOnlyAvailability(availability)) {
7279
+ return applyOverrideCatalog(config, KIMI_ONLY_AGENT_OVERRIDES, KIMI_ONLY_CATEGORY_OVERRIDES);
7280
+ }
7281
+ if (isGeminiOnlyAvailability(availability)) {
7282
+ return applyOverrideCatalog(config, GEMINI_ONLY_AGENT_OVERRIDES, GEMINI_ONLY_CATEGORY_OVERRIDES);
7283
+ }
7284
+ if (isClaudeOnlyAvailability(availability)) {
7285
+ return applyOverrideCatalog(config, CLAUDE_ONLY_AGENT_OVERRIDES, CLAUDE_ONLY_CATEGORY_OVERRIDES);
7286
+ }
7287
+ return config;
7288
+ }
7289
+ function collectAgentOverrides(key) {
7290
+ return Object.entries(AGENT_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
7291
+ const override = def.specialCases[key];
7292
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
7293
+ });
7294
+ }
7295
+ function collectCategoryOverrides(key) {
7296
+ return Object.entries(CATEGORY_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
7297
+ const override = def.specialCases[key];
7298
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
7299
+ });
7300
+ }
7301
+ function applyOverrideCatalog(config, agentOverrides, categoryOverrides) {
7219
7302
  return {
7220
7303
  ...config,
7221
7304
  agents: {
7222
7305
  ...config.agents,
7223
- ...OPENAI_ONLY_AGENT_OVERRIDES
7306
+ ...agentOverrides
7224
7307
  },
7225
7308
  categories: {
7226
7309
  ...config.categories,
7227
- ...OPENAI_ONLY_CATEGORY_OVERRIDES
7310
+ ...categoryOverrides
7228
7311
  }
7229
7312
  };
7230
7313
  }
@@ -7242,7 +7325,7 @@ function generateModelConfig(config) {
7242
7325
  agents,
7243
7326
  categories
7244
7327
  };
7245
- return isOpenAiOnlyAvailability(availability) ? applyOpenAiOnlyModelCatalog(generatedConfig) : generatedConfig;
7328
+ return applyProviderSpecificModelCatalog(generatedConfig, availability);
7246
7329
  }
7247
7330
 
7248
7331
  // src/computed-install-defaults.ts
@@ -29286,7 +29369,7 @@ function createMcpOAuthCommand() {
29286
29369
  // package.json
29287
29370
  var package_default = {
29288
29371
  name: "drizzy-agent",
29289
- version: "0.7.2",
29372
+ version: "0.7.3",
29290
29373
  description: "DrizzyAgent - AI agent plugin for OpenCode",
29291
29374
  main: "dist/index.js",
29292
29375
  types: "dist/index.d.ts",
@@ -29362,17 +29445,17 @@ var package_default = {
29362
29445
  typescript: "^5.7.3"
29363
29446
  },
29364
29447
  optionalDependencies: {
29365
- "drizzy-agent-darwin-arm64": "0.7.2",
29366
- "drizzy-agent-darwin-x64": "0.7.2",
29367
- "drizzy-agent-darwin-x64-baseline": "0.7.2",
29368
- "drizzy-agent-linux-arm64": "0.7.2",
29369
- "drizzy-agent-linux-arm64-musl": "0.7.2",
29370
- "drizzy-agent-linux-x64": "0.7.2",
29371
- "drizzy-agent-linux-x64-baseline": "0.7.2",
29372
- "drizzy-agent-linux-x64-musl": "0.7.2",
29373
- "drizzy-agent-linux-x64-musl-baseline": "0.7.2",
29374
- "drizzy-agent-windows-x64": "0.7.2",
29375
- "drizzy-agent-windows-x64-baseline": "0.7.2"
29448
+ "drizzy-agent-darwin-arm64": "0.7.3",
29449
+ "drizzy-agent-darwin-x64": "0.7.3",
29450
+ "drizzy-agent-darwin-x64-baseline": "0.7.3",
29451
+ "drizzy-agent-linux-arm64": "0.7.3",
29452
+ "drizzy-agent-linux-arm64-musl": "0.7.3",
29453
+ "drizzy-agent-linux-x64": "0.7.3",
29454
+ "drizzy-agent-linux-x64-baseline": "0.7.3",
29455
+ "drizzy-agent-linux-x64-musl": "0.7.3",
29456
+ "drizzy-agent-linux-x64-musl-baseline": "0.7.3",
29457
+ "drizzy-agent-windows-x64": "0.7.3",
29458
+ "drizzy-agent-windows-x64-baseline": "0.7.3"
29376
29459
  },
29377
29460
  overrides: {
29378
29461
  "@opencode-ai/sdk": "^1.2.24"
@@ -1,3 +1,7 @@
1
1
  import type { GeneratedOmoConfig, ProviderAvailability } from "./model-fallback-types";
2
2
  export declare function isOpenAiOnlyAvailability(availability: ProviderAvailability): boolean;
3
3
  export declare function applyOpenAiOnlyModelCatalog(config: GeneratedOmoConfig): GeneratedOmoConfig;
4
+ export declare function isKimiOnlyAvailability(availability: ProviderAvailability): boolean;
5
+ export declare function isGeminiOnlyAvailability(availability: ProviderAvailability): boolean;
6
+ export declare function isClaudeOnlyAvailability(availability: ProviderAvailability): boolean;
7
+ export declare function applyProviderSpecificModelCatalog(config: GeneratedOmoConfig, availability: ProviderAvailability): GeneratedOmoConfig;
@@ -65,8 +65,8 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
65
65
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
66
66
  medium: "medium";
67
67
  high: "high";
68
- xhigh: "xhigh";
69
68
  low: "low";
69
+ xhigh: "xhigh";
70
70
  }>>;
71
71
  textVerbosity: z.ZodOptional<z.ZodEnum<{
72
72
  medium: "medium";
@@ -150,8 +150,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
150
150
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
151
151
  medium: "medium";
152
152
  high: "high";
153
- xhigh: "xhigh";
154
153
  low: "low";
154
+ xhigh: "xhigh";
155
155
  }>>;
156
156
  textVerbosity: z.ZodOptional<z.ZodEnum<{
157
157
  medium: "medium";
@@ -234,8 +234,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
234
234
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
235
235
  medium: "medium";
236
236
  high: "high";
237
- xhigh: "xhigh";
238
237
  low: "low";
238
+ xhigh: "xhigh";
239
239
  }>>;
240
240
  textVerbosity: z.ZodOptional<z.ZodEnum<{
241
241
  medium: "medium";
@@ -318,8 +318,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
318
318
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
319
319
  medium: "medium";
320
320
  high: "high";
321
- xhigh: "xhigh";
322
321
  low: "low";
322
+ xhigh: "xhigh";
323
323
  }>>;
324
324
  textVerbosity: z.ZodOptional<z.ZodEnum<{
325
325
  medium: "medium";
@@ -402,8 +402,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
402
402
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
403
403
  medium: "medium";
404
404
  high: "high";
405
- xhigh: "xhigh";
406
405
  low: "low";
406
+ xhigh: "xhigh";
407
407
  }>>;
408
408
  textVerbosity: z.ZodOptional<z.ZodEnum<{
409
409
  medium: "medium";
@@ -487,8 +487,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
487
487
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
488
488
  medium: "medium";
489
489
  high: "high";
490
- xhigh: "xhigh";
491
490
  low: "low";
491
+ xhigh: "xhigh";
492
492
  }>>;
493
493
  textVerbosity: z.ZodOptional<z.ZodEnum<{
494
494
  medium: "medium";
@@ -571,8 +571,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
571
571
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
572
572
  medium: "medium";
573
573
  high: "high";
574
- xhigh: "xhigh";
575
574
  low: "low";
575
+ xhigh: "xhigh";
576
576
  }>>;
577
577
  textVerbosity: z.ZodOptional<z.ZodEnum<{
578
578
  medium: "medium";
@@ -655,8 +655,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
655
655
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
656
656
  medium: "medium";
657
657
  high: "high";
658
- xhigh: "xhigh";
659
658
  low: "low";
659
+ xhigh: "xhigh";
660
660
  }>>;
661
661
  textVerbosity: z.ZodOptional<z.ZodEnum<{
662
662
  medium: "medium";
@@ -739,8 +739,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
739
739
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
740
740
  medium: "medium";
741
741
  high: "high";
742
- xhigh: "xhigh";
743
742
  low: "low";
743
+ xhigh: "xhigh";
744
744
  }>>;
745
745
  textVerbosity: z.ZodOptional<z.ZodEnum<{
746
746
  medium: "medium";
@@ -823,8 +823,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
823
823
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
824
824
  medium: "medium";
825
825
  high: "high";
826
- xhigh: "xhigh";
827
826
  low: "low";
827
+ xhigh: "xhigh";
828
828
  }>>;
829
829
  textVerbosity: z.ZodOptional<z.ZodEnum<{
830
830
  medium: "medium";
@@ -907,8 +907,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
907
907
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
908
908
  medium: "medium";
909
909
  high: "high";
910
- xhigh: "xhigh";
911
910
  low: "low";
911
+ xhigh: "xhigh";
912
912
  }>>;
913
913
  textVerbosity: z.ZodOptional<z.ZodEnum<{
914
914
  medium: "medium";
@@ -991,8 +991,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
991
991
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
992
992
  medium: "medium";
993
993
  high: "high";
994
- xhigh: "xhigh";
995
994
  low: "low";
995
+ xhigh: "xhigh";
996
996
  }>>;
997
997
  textVerbosity: z.ZodOptional<z.ZodEnum<{
998
998
  medium: "medium";
@@ -1075,8 +1075,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1075
1075
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1076
1076
  medium: "medium";
1077
1077
  high: "high";
1078
- xhigh: "xhigh";
1079
1078
  low: "low";
1079
+ xhigh: "xhigh";
1080
1080
  }>>;
1081
1081
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1082
1082
  medium: "medium";
@@ -1159,8 +1159,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1159
1159
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1160
1160
  medium: "medium";
1161
1161
  high: "high";
1162
- xhigh: "xhigh";
1163
1162
  low: "low";
1163
+ xhigh: "xhigh";
1164
1164
  }>>;
1165
1165
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1166
1166
  medium: "medium";
@@ -1243,8 +1243,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1243
1243
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1244
1244
  medium: "medium";
1245
1245
  high: "high";
1246
- xhigh: "xhigh";
1247
1246
  low: "low";
1247
+ xhigh: "xhigh";
1248
1248
  }>>;
1249
1249
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1250
1250
  medium: "medium";
@@ -1327,8 +1327,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1327
1327
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1328
1328
  medium: "medium";
1329
1329
  high: "high";
1330
- xhigh: "xhigh";
1331
1330
  low: "low";
1331
+ xhigh: "xhigh";
1332
1332
  }>>;
1333
1333
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1334
1334
  medium: "medium";
@@ -1411,8 +1411,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1411
1411
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1412
1412
  medium: "medium";
1413
1413
  high: "high";
1414
- xhigh: "xhigh";
1415
1414
  low: "low";
1415
+ xhigh: "xhigh";
1416
1416
  }>>;
1417
1417
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1418
1418
  medium: "medium";
@@ -17,8 +17,8 @@ export declare const CategoryConfigSchema: z.ZodObject<{
17
17
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
18
18
  medium: "medium";
19
19
  high: "high";
20
- xhigh: "xhigh";
21
20
  low: "low";
21
+ xhigh: "xhigh";
22
22
  }>>;
23
23
  textVerbosity: z.ZodOptional<z.ZodEnum<{
24
24
  medium: "medium";
@@ -59,8 +59,8 @@ export declare const CategoriesConfigSchema: z.ZodRecord<z.ZodString, z.ZodObjec
59
59
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
60
60
  medium: "medium";
61
61
  high: "high";
62
- xhigh: "xhigh";
63
62
  low: "low";
63
+ xhigh: "xhigh";
64
64
  }>>;
65
65
  textVerbosity: z.ZodOptional<z.ZodEnum<{
66
66
  medium: "medium";
@@ -142,8 +142,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
142
142
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
143
143
  medium: "medium";
144
144
  high: "high";
145
- xhigh: "xhigh";
146
145
  low: "low";
146
+ xhigh: "xhigh";
147
147
  }>>;
148
148
  textVerbosity: z.ZodOptional<z.ZodEnum<{
149
149
  medium: "medium";
@@ -226,8 +226,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
226
226
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
227
227
  medium: "medium";
228
228
  high: "high";
229
- xhigh: "xhigh";
230
229
  low: "low";
230
+ xhigh: "xhigh";
231
231
  }>>;
232
232
  textVerbosity: z.ZodOptional<z.ZodEnum<{
233
233
  medium: "medium";
@@ -310,8 +310,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
310
310
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
311
311
  medium: "medium";
312
312
  high: "high";
313
- xhigh: "xhigh";
314
313
  low: "low";
314
+ xhigh: "xhigh";
315
315
  }>>;
316
316
  textVerbosity: z.ZodOptional<z.ZodEnum<{
317
317
  medium: "medium";
@@ -394,8 +394,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
394
394
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
395
395
  medium: "medium";
396
396
  high: "high";
397
- xhigh: "xhigh";
398
397
  low: "low";
398
+ xhigh: "xhigh";
399
399
  }>>;
400
400
  textVerbosity: z.ZodOptional<z.ZodEnum<{
401
401
  medium: "medium";
@@ -479,8 +479,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
479
479
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
480
480
  medium: "medium";
481
481
  high: "high";
482
- xhigh: "xhigh";
483
482
  low: "low";
483
+ xhigh: "xhigh";
484
484
  }>>;
485
485
  textVerbosity: z.ZodOptional<z.ZodEnum<{
486
486
  medium: "medium";
@@ -563,8 +563,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
563
563
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
564
564
  medium: "medium";
565
565
  high: "high";
566
- xhigh: "xhigh";
567
566
  low: "low";
567
+ xhigh: "xhigh";
568
568
  }>>;
569
569
  textVerbosity: z.ZodOptional<z.ZodEnum<{
570
570
  medium: "medium";
@@ -647,8 +647,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
647
647
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
648
648
  medium: "medium";
649
649
  high: "high";
650
- xhigh: "xhigh";
651
650
  low: "low";
651
+ xhigh: "xhigh";
652
652
  }>>;
653
653
  textVerbosity: z.ZodOptional<z.ZodEnum<{
654
654
  medium: "medium";
@@ -731,8 +731,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
731
731
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
732
732
  medium: "medium";
733
733
  high: "high";
734
- xhigh: "xhigh";
735
734
  low: "low";
735
+ xhigh: "xhigh";
736
736
  }>>;
737
737
  textVerbosity: z.ZodOptional<z.ZodEnum<{
738
738
  medium: "medium";
@@ -815,8 +815,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
815
815
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
816
816
  medium: "medium";
817
817
  high: "high";
818
- xhigh: "xhigh";
819
818
  low: "low";
819
+ xhigh: "xhigh";
820
820
  }>>;
821
821
  textVerbosity: z.ZodOptional<z.ZodEnum<{
822
822
  medium: "medium";
@@ -899,8 +899,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
899
899
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
900
900
  medium: "medium";
901
901
  high: "high";
902
- xhigh: "xhigh";
903
902
  low: "low";
903
+ xhigh: "xhigh";
904
904
  }>>;
905
905
  textVerbosity: z.ZodOptional<z.ZodEnum<{
906
906
  medium: "medium";
@@ -983,8 +983,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
983
983
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
984
984
  medium: "medium";
985
985
  high: "high";
986
- xhigh: "xhigh";
987
986
  low: "low";
987
+ xhigh: "xhigh";
988
988
  }>>;
989
989
  textVerbosity: z.ZodOptional<z.ZodEnum<{
990
990
  medium: "medium";
@@ -1067,8 +1067,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
1067
1067
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1068
1068
  medium: "medium";
1069
1069
  high: "high";
1070
- xhigh: "xhigh";
1071
1070
  low: "low";
1071
+ xhigh: "xhigh";
1072
1072
  }>>;
1073
1073
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1074
1074
  medium: "medium";
@@ -1151,8 +1151,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
1151
1151
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1152
1152
  medium: "medium";
1153
1153
  high: "high";
1154
- xhigh: "xhigh";
1155
1154
  low: "low";
1155
+ xhigh: "xhigh";
1156
1156
  }>>;
1157
1157
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1158
1158
  medium: "medium";
@@ -1235,8 +1235,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
1235
1235
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1236
1236
  medium: "medium";
1237
1237
  high: "high";
1238
- xhigh: "xhigh";
1239
1238
  low: "low";
1239
+ xhigh: "xhigh";
1240
1240
  }>>;
1241
1241
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1242
1242
  medium: "medium";
@@ -1319,8 +1319,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
1319
1319
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1320
1320
  medium: "medium";
1321
1321
  high: "high";
1322
- xhigh: "xhigh";
1323
1322
  low: "low";
1323
+ xhigh: "xhigh";
1324
1324
  }>>;
1325
1325
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1326
1326
  medium: "medium";
@@ -1403,8 +1403,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
1403
1403
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1404
1404
  medium: "medium";
1405
1405
  high: "high";
1406
- xhigh: "xhigh";
1407
1406
  low: "low";
1407
+ xhigh: "xhigh";
1408
1408
  }>>;
1409
1409
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1410
1410
  medium: "medium";
@@ -1440,8 +1440,8 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
1440
1440
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
1441
1441
  medium: "medium";
1442
1442
  high: "high";
1443
- xhigh: "xhigh";
1444
1443
  low: "low";
1444
+ xhigh: "xhigh";
1445
1445
  }>>;
1446
1446
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1447
1447
  medium: "medium";
package/dist/index.js CHANGED
@@ -16677,6 +16677,9 @@ var AGENT_MODEL_DEFAULTS = {
16677
16677
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16678
16678
  ],
16679
16679
  includeInInstall: true,
16680
+ specialCases: {
16681
+ geminiOnlyOverride: { model: "google/gemini-3.1-pro-preview" }
16682
+ },
16680
16683
  requiresAnyProvider: [
16681
16684
  "anthropic",
16682
16685
  "github-copilot",
@@ -16693,8 +16696,8 @@ var AGENT_MODEL_DEFAULTS = {
16693
16696
  },
16694
16697
  gptcoder: {
16695
16698
  chain: [
16696
- { providers: ["openai", "venice", "opencode"], model: "gpt-5.3-codex", variant: "medium" },
16697
- { providers: ["github-copilot"], model: "gpt-5.3-codex", variant: "medium" }
16699
+ { providers: ["openai", "venice", "opencode"], model: "gpt-5.4", variant: "medium" },
16700
+ { providers: ["github-copilot"], model: "gpt-5.4", variant: "medium" }
16698
16701
  ],
16699
16702
  includeInInstall: true,
16700
16703
  requiresAnyProvider: ["openai", "github-copilot", "venice", "opencode"]
@@ -16716,7 +16719,10 @@ var AGENT_MODEL_DEFAULTS = {
16716
16719
  { providers: CLAUDE_PROVIDERS, model: "claude-opus-4-6", variant: "max" },
16717
16720
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16718
16721
  ],
16719
- includeInInstall: true
16722
+ includeInInstall: true,
16723
+ specialCases: {
16724
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16725
+ }
16720
16726
  },
16721
16727
  librarian: {
16722
16728
  chain: [
@@ -16728,7 +16734,11 @@ var AGENT_MODEL_DEFAULTS = {
16728
16734
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
16729
16735
  ],
16730
16736
  includeInInstall: true,
16731
- specialCases: { zaiOverride: { model: "zai-coding-plan/glm-4.7" }, openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
16737
+ specialCases: {
16738
+ zaiOverride: { model: "zai-coding-plan/glm-4.7" },
16739
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
16740
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16741
+ }
16732
16742
  },
16733
16743
  explore: {
16734
16744
  chain: [
@@ -16738,11 +16748,19 @@ var AGENT_MODEL_DEFAULTS = {
16738
16748
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
16739
16749
  ],
16740
16750
  includeInInstall: true,
16741
- specialCases: { customResolver: "explore-agent", openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
16751
+ specialCases: {
16752
+ customResolver: "explore-agent",
16753
+ openAiOnlyOverride: { model: "openai/gpt-5.4-nano", variant: "low" },
16754
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" },
16755
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
16756
+ }
16742
16757
  },
16743
16758
  "multimodal-looker": {
16744
16759
  chain: [{ providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4", variant: "medium" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" }, { providers: ["zai-coding-plan"], model: "glm-4.6v" }, { providers: OPENAI_PROVIDERS, model: "gpt-5-nano" }],
16745
- includeInInstall: true
16760
+ includeInInstall: true,
16761
+ specialCases: {
16762
+ claudeOnlyOverride: { model: "anthropic/claude-sonnet-4-6" }
16763
+ }
16746
16764
  },
16747
16765
  planConsultant: {
16748
16766
  chain: [{ providers: CLAUDE_PROVIDERS, model: "claude-opus-4-6", variant: "max" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "high" }, { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro", variant: "high" }],
@@ -16756,7 +16774,10 @@ var AGENT_MODEL_DEFAULTS = {
16756
16774
  { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro", variant: "high" },
16757
16775
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16758
16776
  ],
16759
- includeInInstall: true
16777
+ includeInInstall: true,
16778
+ specialCases: {
16779
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16780
+ }
16760
16781
  },
16761
16782
  orchestrator: {
16762
16783
  chain: [{ providers: ["kimi-for-coding"], model: "k2p5" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-6" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-5" }, { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "medium" }, { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro" }],
@@ -16785,7 +16806,11 @@ var AGENT_MODEL_DEFAULTS = {
16785
16806
  { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "low" },
16786
16807
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
16787
16808
  ],
16788
- includeInInstall: true
16809
+ includeInInstall: true,
16810
+ specialCases: {
16811
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
16812
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
16813
+ }
16789
16814
  }
16790
16815
  };
16791
16816
  var CATEGORY_MODEL_DEFAULTS = {
@@ -16807,7 +16832,10 @@ var CATEGORY_MODEL_DEFAULTS = {
16807
16832
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
16808
16833
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16809
16834
  ],
16810
- includeInInstall: true
16835
+ includeInInstall: true,
16836
+ specialCases: {
16837
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16838
+ }
16811
16839
  },
16812
16840
  deep: {
16813
16841
  chain: [
@@ -16817,7 +16845,10 @@ var CATEGORY_MODEL_DEFAULTS = {
16817
16845
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
16818
16846
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16819
16847
  ],
16820
- includeInInstall: true
16848
+ includeInInstall: true,
16849
+ specialCases: {
16850
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16851
+ }
16821
16852
  },
16822
16853
  artistry: {
16823
16854
  chain: [
@@ -16828,17 +16859,23 @@ var CATEGORY_MODEL_DEFAULTS = {
16828
16859
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
16829
16860
  ],
16830
16861
  includeInInstall: true,
16831
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" } }
16862
+ specialCases: {
16863
+ openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" },
16864
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16865
+ }
16832
16866
  },
16833
16867
  quick: {
16834
16868
  chain: [
16835
16869
  { providers: CLAUDE_PROVIDERS, model: "claude-haiku-4-5" },
16836
16870
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
16837
- { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.1-codex-mini", variant: "low" },
16871
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
16838
16872
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
16839
16873
  ],
16840
16874
  includeInInstall: true,
16841
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "low" } }
16875
+ specialCases: {
16876
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
16877
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16878
+ }
16842
16879
  },
16843
16880
  "unspecified-low": {
16844
16881
  chain: [
@@ -16848,11 +16885,18 @@ var CATEGORY_MODEL_DEFAULTS = {
16848
16885
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
16849
16886
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
16850
16887
  ],
16851
- includeInInstall: true
16888
+ includeInInstall: true,
16889
+ specialCases: {
16890
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "medium" },
16891
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16892
+ }
16852
16893
  },
16853
16894
  "unspecified-high": {
16854
16895
  chain: [{ providers: CLAUDE_PROVIDERS, model: "claude-opus-4-6", variant: "max" }, { providers: OPENAI_PROVIDERS, model: "gpt-5.3-codex", variant: "high" }, { providers: ["zai-coding-plan", "opencode"], model: "glm-5" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" }],
16855
- includeInInstall: true
16896
+ includeInInstall: true,
16897
+ specialCases: {
16898
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16899
+ }
16856
16900
  },
16857
16901
  writing: {
16858
16902
  chain: [{ providers: GEMINI_PROVIDERS, model: "gemini-3-flash" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-6" }],
@@ -51798,27 +51842,66 @@ import * as fs18 from "fs";
51798
51842
  import * as path11 from "path";
51799
51843
 
51800
51844
  // src/cli/openai-only-model-catalog.ts
51801
- var OPENAI_ONLY_AGENT_OVERRIDES = Object.fromEntries(Object.entries(AGENT_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.openAiOnlyOverride).map(([name, def]) => {
51802
- const override = def.specialCases.openAiOnlyOverride;
51803
- return [name, { model: override.model, variant: override.variant }];
51804
- }));
51805
- var OPENAI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(Object.entries(CATEGORY_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.openAiOnlyOverride).map(([name, def]) => {
51806
- const override = def.specialCases.openAiOnlyOverride;
51807
- return [name, { model: override.model, variant: override.variant }];
51808
- }));
51845
+ var OPENAI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("openAiOnlyOverride"));
51846
+ var OPENAI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("openAiOnlyOverride"));
51847
+ var KIMI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("kimiOnlyOverride"));
51848
+ var KIMI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("kimiOnlyOverride"));
51849
+ var GEMINI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("geminiOnlyOverride"));
51850
+ var GEMINI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("geminiOnlyOverride"));
51851
+ var CLAUDE_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("claudeOnlyOverride"));
51852
+ var CLAUDE_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("claudeOnlyOverride"));
51809
51853
  function isOpenAiOnlyAvailability(availability) {
51810
51854
  return availability.native.openai && !availability.native.claude && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
51811
51855
  }
51812
51856
  function applyOpenAiOnlyModelCatalog(config2) {
51857
+ return applyOverrideCatalog(config2, OPENAI_ONLY_AGENT_OVERRIDES, OPENAI_ONLY_CATEGORY_OVERRIDES);
51858
+ }
51859
+ function isKimiOnlyAvailability(availability) {
51860
+ return availability.kimiForCoding && !availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai;
51861
+ }
51862
+ function isGeminiOnlyAvailability(availability) {
51863
+ return availability.native.gemini && !availability.native.claude && !availability.native.openai && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
51864
+ }
51865
+ function isClaudeOnlyAvailability(availability) {
51866
+ return availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
51867
+ }
51868
+ function applyProviderSpecificModelCatalog(config2, availability) {
51869
+ if (isOpenAiOnlyAvailability(availability)) {
51870
+ return applyOpenAiOnlyModelCatalog(config2);
51871
+ }
51872
+ if (isKimiOnlyAvailability(availability)) {
51873
+ return applyOverrideCatalog(config2, KIMI_ONLY_AGENT_OVERRIDES, KIMI_ONLY_CATEGORY_OVERRIDES);
51874
+ }
51875
+ if (isGeminiOnlyAvailability(availability)) {
51876
+ return applyOverrideCatalog(config2, GEMINI_ONLY_AGENT_OVERRIDES, GEMINI_ONLY_CATEGORY_OVERRIDES);
51877
+ }
51878
+ if (isClaudeOnlyAvailability(availability)) {
51879
+ return applyOverrideCatalog(config2, CLAUDE_ONLY_AGENT_OVERRIDES, CLAUDE_ONLY_CATEGORY_OVERRIDES);
51880
+ }
51881
+ return config2;
51882
+ }
51883
+ function collectAgentOverrides(key) {
51884
+ return Object.entries(AGENT_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
51885
+ const override = def.specialCases[key];
51886
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
51887
+ });
51888
+ }
51889
+ function collectCategoryOverrides(key) {
51890
+ return Object.entries(CATEGORY_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
51891
+ const override = def.specialCases[key];
51892
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
51893
+ });
51894
+ }
51895
+ function applyOverrideCatalog(config2, agentOverrides, categoryOverrides) {
51813
51896
  return {
51814
51897
  ...config2,
51815
51898
  agents: {
51816
51899
  ...config2.agents,
51817
- ...OPENAI_ONLY_AGENT_OVERRIDES
51900
+ ...agentOverrides
51818
51901
  },
51819
51902
  categories: {
51820
51903
  ...config2.categories,
51821
- ...OPENAI_ONLY_CATEGORY_OVERRIDES
51904
+ ...categoryOverrides
51822
51905
  }
51823
51906
  };
51824
51907
  }
@@ -51834,7 +51917,7 @@ function generateModelConfig(config2) {
51834
51917
  agents,
51835
51918
  categories: categories2
51836
51919
  };
51837
- return isOpenAiOnlyAvailability(availability) ? applyOpenAiOnlyModelCatalog(generatedConfig) : generatedConfig;
51920
+ return applyProviderSpecificModelCatalog(generatedConfig, availability);
51838
51921
  }
51839
51922
 
51840
51923
  // src/computed-install-defaults.ts
@@ -44,7 +44,7 @@
44
44
  * | Agent | Unified Chain |
45
45
  * |-------|---------------|
46
46
  * | **coder** | claude-opus-4-6 → k2p5 → kimi-k2.5 → gpt-5.4 → glm-5 → big-pickle |
47
- * | **gptcoder** | gpt-5.3-codex (openai/venice/opencode) → gpt-5.3-codex (github-copilot) |
47
+ * | **gptcoder** | gpt-5.4 (openai/venice/opencode) → gpt-5.4 (github-copilot) |
48
48
  * | **planner** | claude-opus-4-6 → k2p5 → gpt-5.4 → gemini-3.1-pro |
49
49
  * | **oracle** | gpt-5.4 → kimi-k2.5 → gemini-3.1-pro → claude-opus-4-6 → big-pickle (free) |
50
50
  * | **librarian** | gemini-3-flash → glm-4.7 → claude-sonnet-4-5 → minimax → big-pickle → glm-4.7-free |
@@ -71,7 +71,8 @@
71
71
  * ## Special Cases
72
72
  *
73
73
  * - **ZAI Override**: librarian uses zai-coding-plan/glm-4.7 when ZAI provider available
74
- * - **OpenAI-Only Mode**: Several agents/categories get gpt-5.4 overrides when only OpenAI available
74
+ * - **OpenAI-Only Mode**: Several agents/categories get OpenAI-specific fast-model overrides
75
+ * - **Provider-Only Paid Reroutes**: Kimi-only, Gemini-only, and Claude-only installs avoid free fallbacks for a minimal set of roles
75
76
  * - **Custom Resolver**: explore agent uses custom logic (not chain-based)
76
77
  *
77
78
  * ## Intentional Behavior Changes
@@ -102,6 +103,18 @@ export type AgentModelDefault = {
102
103
  model: string;
103
104
  variant?: string;
104
105
  };
106
+ kimiOnlyOverride?: {
107
+ model: string;
108
+ variant?: string;
109
+ };
110
+ geminiOnlyOverride?: {
111
+ model: string;
112
+ variant?: string;
113
+ };
114
+ claudeOnlyOverride?: {
115
+ model: string;
116
+ variant?: string;
117
+ };
105
118
  customResolver?: "explore-agent";
106
119
  };
107
120
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzy-agent",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "DrizzyAgent - AI agent plugin for OpenCode",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -76,17 +76,17 @@
76
76
  "typescript": "^5.7.3"
77
77
  },
78
78
  "optionalDependencies": {
79
- "drizzy-agent-darwin-arm64": "0.7.2",
80
- "drizzy-agent-darwin-x64": "0.7.2",
81
- "drizzy-agent-darwin-x64-baseline": "0.7.2",
82
- "drizzy-agent-linux-arm64": "0.7.2",
83
- "drizzy-agent-linux-arm64-musl": "0.7.2",
84
- "drizzy-agent-linux-x64": "0.7.2",
85
- "drizzy-agent-linux-x64-baseline": "0.7.2",
86
- "drizzy-agent-linux-x64-musl": "0.7.2",
87
- "drizzy-agent-linux-x64-musl-baseline": "0.7.2",
88
- "drizzy-agent-windows-x64": "0.7.2",
89
- "drizzy-agent-windows-x64-baseline": "0.7.2"
79
+ "drizzy-agent-darwin-arm64": "0.7.3",
80
+ "drizzy-agent-darwin-x64": "0.7.3",
81
+ "drizzy-agent-darwin-x64-baseline": "0.7.3",
82
+ "drizzy-agent-linux-arm64": "0.7.3",
83
+ "drizzy-agent-linux-arm64-musl": "0.7.3",
84
+ "drizzy-agent-linux-x64": "0.7.3",
85
+ "drizzy-agent-linux-x64-baseline": "0.7.3",
86
+ "drizzy-agent-linux-x64-musl": "0.7.3",
87
+ "drizzy-agent-linux-x64-musl-baseline": "0.7.3",
88
+ "drizzy-agent-windows-x64": "0.7.3",
89
+ "drizzy-agent-windows-x64-baseline": "0.7.3"
90
90
  },
91
91
  "overrides": {
92
92
  "@opencode-ai/sdk": "^1.2.24"