drizzy-agent 0.7.2 → 0.7.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.
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,11 +3449,15 @@ 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: [
3453
3459
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
3460
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
3454
3461
  { providers: ["opencode"], model: "glm-4.7" },
3455
3462
  { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-5" },
3456
3463
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true },
@@ -3458,21 +3465,34 @@ var init_agent_model_defaults = __esm(() => {
3458
3465
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
3459
3466
  ],
3460
3467
  includeInInstall: true,
3461
- specialCases: { zaiOverride: { model: "zai-coding-plan/glm-4.7" }, openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
3468
+ specialCases: {
3469
+ zaiOverride: { model: "zai-coding-plan/glm-4.7" },
3470
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
3471
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3472
+ }
3462
3473
  },
3463
3474
  explore: {
3464
3475
  chain: [
3465
3476
  { providers: ["github-copilot"], model: "grok-code-fast-1" },
3477
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
3466
3478
  { providers: ["anthropic", "opencode"], model: "claude-haiku-4-5" },
3467
3479
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true },
3468
3480
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
3469
3481
  ],
3470
3482
  includeInInstall: true,
3471
- specialCases: { customResolver: "explore-agent", openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
3483
+ specialCases: {
3484
+ customResolver: "explore-agent",
3485
+ openAiOnlyOverride: { model: "openai/gpt-5.4-nano", variant: "low" },
3486
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" },
3487
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
3488
+ }
3472
3489
  },
3473
3490
  "multimodal-looker": {
3474
3491
  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
3492
+ includeInInstall: true,
3493
+ specialCases: {
3494
+ claudeOnlyOverride: { model: "anthropic/claude-sonnet-4-6" }
3495
+ }
3476
3496
  },
3477
3497
  planConsultant: {
3478
3498
  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 +3506,10 @@ var init_agent_model_defaults = __esm(() => {
3486
3506
  { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro", variant: "high" },
3487
3507
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3488
3508
  ],
3489
- includeInInstall: true
3509
+ includeInInstall: true,
3510
+ specialCases: {
3511
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3512
+ }
3490
3513
  },
3491
3514
  orchestrator: {
3492
3515
  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 +3538,11 @@ var init_agent_model_defaults = __esm(() => {
3515
3538
  { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "low" },
3516
3539
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
3517
3540
  ],
3518
- includeInInstall: true
3541
+ includeInInstall: true,
3542
+ specialCases: {
3543
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
3544
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
3545
+ }
3519
3546
  }
3520
3547
  };
3521
3548
  CATEGORY_MODEL_DEFAULTS = {
@@ -3537,7 +3564,10 @@ var init_agent_model_defaults = __esm(() => {
3537
3564
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
3538
3565
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3539
3566
  ],
3540
- includeInInstall: true
3567
+ includeInInstall: true,
3568
+ specialCases: {
3569
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3570
+ }
3541
3571
  },
3542
3572
  deep: {
3543
3573
  chain: [
@@ -3547,7 +3577,10 @@ var init_agent_model_defaults = __esm(() => {
3547
3577
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
3548
3578
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
3549
3579
  ],
3550
- includeInInstall: true
3580
+ includeInInstall: true,
3581
+ specialCases: {
3582
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3583
+ }
3551
3584
  },
3552
3585
  artistry: {
3553
3586
  chain: [
@@ -3558,17 +3591,23 @@ var init_agent_model_defaults = __esm(() => {
3558
3591
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
3559
3592
  ],
3560
3593
  includeInInstall: true,
3561
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" } }
3594
+ specialCases: {
3595
+ openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" },
3596
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3597
+ }
3562
3598
  },
3563
3599
  quick: {
3564
3600
  chain: [
3565
3601
  { providers: CLAUDE_PROVIDERS, model: "claude-haiku-4-5" },
3566
3602
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
3567
- { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.1-codex-mini", variant: "low" },
3603
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
3568
3604
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
3569
3605
  ],
3570
3606
  includeInInstall: true,
3571
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "low" } }
3607
+ specialCases: {
3608
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
3609
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3610
+ }
3572
3611
  },
3573
3612
  "unspecified-low": {
3574
3613
  chain: [
@@ -3578,11 +3617,18 @@ var init_agent_model_defaults = __esm(() => {
3578
3617
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
3579
3618
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
3580
3619
  ],
3581
- includeInInstall: true
3620
+ includeInInstall: true,
3621
+ specialCases: {
3622
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "medium" },
3623
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3624
+ }
3582
3625
  },
3583
3626
  "unspecified-high": {
3584
3627
  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
3628
+ includeInInstall: true,
3629
+ specialCases: {
3630
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
3631
+ }
3586
3632
  },
3587
3633
  writing: {
3588
3634
  chain: [{ providers: GEMINI_PROVIDERS, model: "gemini-3-flash" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-6" }],
@@ -7204,27 +7250,66 @@ import * as path3 from "path";
7204
7250
 
7205
7251
  // src/cli/openai-only-model-catalog.ts
7206
7252
  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
- }));
7253
+ var OPENAI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("openAiOnlyOverride"));
7254
+ var OPENAI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("openAiOnlyOverride"));
7255
+ var KIMI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("kimiOnlyOverride"));
7256
+ var KIMI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("kimiOnlyOverride"));
7257
+ var GEMINI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("geminiOnlyOverride"));
7258
+ var GEMINI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("geminiOnlyOverride"));
7259
+ var CLAUDE_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("claudeOnlyOverride"));
7260
+ var CLAUDE_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("claudeOnlyOverride"));
7215
7261
  function isOpenAiOnlyAvailability(availability) {
7216
7262
  return availability.native.openai && !availability.native.claude && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
7217
7263
  }
7218
7264
  function applyOpenAiOnlyModelCatalog(config) {
7265
+ return applyOverrideCatalog(config, OPENAI_ONLY_AGENT_OVERRIDES, OPENAI_ONLY_CATEGORY_OVERRIDES);
7266
+ }
7267
+ function isKimiOnlyAvailability(availability) {
7268
+ return availability.kimiForCoding && !availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai;
7269
+ }
7270
+ function isGeminiOnlyAvailability(availability) {
7271
+ return availability.native.gemini && !availability.native.claude && !availability.native.openai && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
7272
+ }
7273
+ function isClaudeOnlyAvailability(availability) {
7274
+ return availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
7275
+ }
7276
+ function applyProviderSpecificModelCatalog(config, availability) {
7277
+ if (isOpenAiOnlyAvailability(availability)) {
7278
+ return applyOpenAiOnlyModelCatalog(config);
7279
+ }
7280
+ if (isKimiOnlyAvailability(availability)) {
7281
+ return applyOverrideCatalog(config, KIMI_ONLY_AGENT_OVERRIDES, KIMI_ONLY_CATEGORY_OVERRIDES);
7282
+ }
7283
+ if (isGeminiOnlyAvailability(availability)) {
7284
+ return applyOverrideCatalog(config, GEMINI_ONLY_AGENT_OVERRIDES, GEMINI_ONLY_CATEGORY_OVERRIDES);
7285
+ }
7286
+ if (isClaudeOnlyAvailability(availability)) {
7287
+ return applyOverrideCatalog(config, CLAUDE_ONLY_AGENT_OVERRIDES, CLAUDE_ONLY_CATEGORY_OVERRIDES);
7288
+ }
7289
+ return config;
7290
+ }
7291
+ function collectAgentOverrides(key) {
7292
+ return Object.entries(AGENT_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
7293
+ const override = def.specialCases[key];
7294
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
7295
+ });
7296
+ }
7297
+ function collectCategoryOverrides(key) {
7298
+ return Object.entries(CATEGORY_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
7299
+ const override = def.specialCases[key];
7300
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
7301
+ });
7302
+ }
7303
+ function applyOverrideCatalog(config, agentOverrides, categoryOverrides) {
7219
7304
  return {
7220
7305
  ...config,
7221
7306
  agents: {
7222
7307
  ...config.agents,
7223
- ...OPENAI_ONLY_AGENT_OVERRIDES
7308
+ ...agentOverrides
7224
7309
  },
7225
7310
  categories: {
7226
7311
  ...config.categories,
7227
- ...OPENAI_ONLY_CATEGORY_OVERRIDES
7312
+ ...categoryOverrides
7228
7313
  }
7229
7314
  };
7230
7315
  }
@@ -7242,7 +7327,7 @@ function generateModelConfig(config) {
7242
7327
  agents,
7243
7328
  categories
7244
7329
  };
7245
- return isOpenAiOnlyAvailability(availability) ? applyOpenAiOnlyModelCatalog(generatedConfig) : generatedConfig;
7330
+ return applyProviderSpecificModelCatalog(generatedConfig, availability);
7246
7331
  }
7247
7332
 
7248
7333
  // src/computed-install-defaults.ts
@@ -29286,7 +29371,7 @@ function createMcpOAuthCommand() {
29286
29371
  // package.json
29287
29372
  var package_default = {
29288
29373
  name: "drizzy-agent",
29289
- version: "0.7.2",
29374
+ version: "0.7.4",
29290
29375
  description: "DrizzyAgent - AI agent plugin for OpenCode",
29291
29376
  main: "dist/index.js",
29292
29377
  types: "dist/index.d.ts",
@@ -29362,17 +29447,17 @@ var package_default = {
29362
29447
  typescript: "^5.7.3"
29363
29448
  },
29364
29449
  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"
29450
+ "drizzy-agent-darwin-arm64": "0.7.4",
29451
+ "drizzy-agent-darwin-x64": "0.7.4",
29452
+ "drizzy-agent-darwin-x64-baseline": "0.7.4",
29453
+ "drizzy-agent-linux-arm64": "0.7.4",
29454
+ "drizzy-agent-linux-arm64-musl": "0.7.4",
29455
+ "drizzy-agent-linux-x64": "0.7.4",
29456
+ "drizzy-agent-linux-x64-baseline": "0.7.4",
29457
+ "drizzy-agent-linux-x64-musl": "0.7.4",
29458
+ "drizzy-agent-linux-x64-musl-baseline": "0.7.4",
29459
+ "drizzy-agent-windows-x64": "0.7.4",
29460
+ "drizzy-agent-windows-x64-baseline": "0.7.4"
29376
29461
  },
29377
29462
  overrides: {
29378
29463
  "@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,11 +16719,15 @@ 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: [
16723
16729
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
16730
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
16724
16731
  { providers: ["opencode"], model: "glm-4.7" },
16725
16732
  { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-5" },
16726
16733
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true },
@@ -16728,21 +16735,34 @@ var AGENT_MODEL_DEFAULTS = {
16728
16735
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
16729
16736
  ],
16730
16737
  includeInInstall: true,
16731
- specialCases: { zaiOverride: { model: "zai-coding-plan/glm-4.7" }, openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
16738
+ specialCases: {
16739
+ zaiOverride: { model: "zai-coding-plan/glm-4.7" },
16740
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
16741
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16742
+ }
16732
16743
  },
16733
16744
  explore: {
16734
16745
  chain: [
16735
16746
  { providers: ["github-copilot"], model: "grok-code-fast-1" },
16747
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
16736
16748
  { providers: ["anthropic", "opencode"], model: "claude-haiku-4-5" },
16737
16749
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true },
16738
16750
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
16739
16751
  ],
16740
16752
  includeInInstall: true,
16741
- specialCases: { customResolver: "explore-agent", openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "medium" } }
16753
+ specialCases: {
16754
+ customResolver: "explore-agent",
16755
+ openAiOnlyOverride: { model: "openai/gpt-5.4-nano", variant: "low" },
16756
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" },
16757
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
16758
+ }
16742
16759
  },
16743
16760
  "multimodal-looker": {
16744
16761
  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
16762
+ includeInInstall: true,
16763
+ specialCases: {
16764
+ claudeOnlyOverride: { model: "anthropic/claude-sonnet-4-6" }
16765
+ }
16746
16766
  },
16747
16767
  planConsultant: {
16748
16768
  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 +16776,10 @@ var AGENT_MODEL_DEFAULTS = {
16756
16776
  { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro", variant: "high" },
16757
16777
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16758
16778
  ],
16759
- includeInInstall: true
16779
+ includeInInstall: true,
16780
+ specialCases: {
16781
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16782
+ }
16760
16783
  },
16761
16784
  orchestrator: {
16762
16785
  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 +16808,11 @@ var AGENT_MODEL_DEFAULTS = {
16785
16808
  { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "low" },
16786
16809
  { providers: ["opencode"], model: "glm-4.7-free", alwaysAvailable: true }
16787
16810
  ],
16788
- includeInInstall: true
16811
+ includeInInstall: true,
16812
+ specialCases: {
16813
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
16814
+ geminiOnlyOverride: { model: "google/gemini-3-flash-preview" }
16815
+ }
16789
16816
  }
16790
16817
  };
16791
16818
  var CATEGORY_MODEL_DEFAULTS = {
@@ -16807,7 +16834,10 @@ var CATEGORY_MODEL_DEFAULTS = {
16807
16834
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
16808
16835
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16809
16836
  ],
16810
- includeInInstall: true
16837
+ includeInInstall: true,
16838
+ specialCases: {
16839
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16840
+ }
16811
16841
  },
16812
16842
  deep: {
16813
16843
  chain: [
@@ -16817,7 +16847,10 @@ var CATEGORY_MODEL_DEFAULTS = {
16817
16847
  { providers: KIMI_K25_PROVIDERS, model: "kimi-k2.5" },
16818
16848
  { providers: ["opencode"], model: "big-pickle", alwaysAvailable: true }
16819
16849
  ],
16820
- includeInInstall: true
16850
+ includeInInstall: true,
16851
+ specialCases: {
16852
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16853
+ }
16821
16854
  },
16822
16855
  artistry: {
16823
16856
  chain: [
@@ -16828,17 +16861,23 @@ var CATEGORY_MODEL_DEFAULTS = {
16828
16861
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
16829
16862
  ],
16830
16863
  includeInInstall: true,
16831
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" } }
16864
+ specialCases: {
16865
+ openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "xhigh" },
16866
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16867
+ }
16832
16868
  },
16833
16869
  quick: {
16834
16870
  chain: [
16835
16871
  { providers: CLAUDE_PROVIDERS, model: "claude-haiku-4-5" },
16836
16872
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
16837
- { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.1-codex-mini", variant: "low" },
16873
+ { providers: OPENAI_NATIVE_PROVIDERS, model: "gpt-5.4-mini", variant: "low" },
16838
16874
  { providers: ["opencode"], model: "gpt-5-nano", alwaysAvailable: true }
16839
16875
  ],
16840
16876
  includeInInstall: true,
16841
- specialCases: { openAiOnlyOverride: { model: "openai/gpt-5.4", variant: "low" } }
16877
+ specialCases: {
16878
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "low" },
16879
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16880
+ }
16842
16881
  },
16843
16882
  "unspecified-low": {
16844
16883
  chain: [
@@ -16848,11 +16887,18 @@ var CATEGORY_MODEL_DEFAULTS = {
16848
16887
  { providers: GEMINI_PROVIDERS, model: "gemini-3-flash" },
16849
16888
  { providers: ["opencode"], model: "minimax-m2.5-free", alwaysAvailable: true }
16850
16889
  ],
16851
- includeInInstall: true
16890
+ includeInInstall: true,
16891
+ specialCases: {
16892
+ openAiOnlyOverride: { model: "openai/gpt-5.4-mini", variant: "medium" },
16893
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16894
+ }
16852
16895
  },
16853
16896
  "unspecified-high": {
16854
16897
  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
16898
+ includeInInstall: true,
16899
+ specialCases: {
16900
+ kimiOnlyOverride: { model: "kimi-for-coding/k2p5" }
16901
+ }
16856
16902
  },
16857
16903
  writing: {
16858
16904
  chain: [{ providers: GEMINI_PROVIDERS, model: "gemini-3-flash" }, { providers: ["kimi-for-coding"], model: "k2p5" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-6" }],
@@ -51798,27 +51844,66 @@ import * as fs18 from "fs";
51798
51844
  import * as path11 from "path";
51799
51845
 
51800
51846
  // 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
- }));
51847
+ var OPENAI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("openAiOnlyOverride"));
51848
+ var OPENAI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("openAiOnlyOverride"));
51849
+ var KIMI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("kimiOnlyOverride"));
51850
+ var KIMI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("kimiOnlyOverride"));
51851
+ var GEMINI_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("geminiOnlyOverride"));
51852
+ var GEMINI_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("geminiOnlyOverride"));
51853
+ var CLAUDE_ONLY_AGENT_OVERRIDES = Object.fromEntries(collectAgentOverrides("claudeOnlyOverride"));
51854
+ var CLAUDE_ONLY_CATEGORY_OVERRIDES = Object.fromEntries(collectCategoryOverrides("claudeOnlyOverride"));
51809
51855
  function isOpenAiOnlyAvailability(availability) {
51810
51856
  return availability.native.openai && !availability.native.claude && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
51811
51857
  }
51812
51858
  function applyOpenAiOnlyModelCatalog(config2) {
51859
+ return applyOverrideCatalog(config2, OPENAI_ONLY_AGENT_OVERRIDES, OPENAI_ONLY_CATEGORY_OVERRIDES);
51860
+ }
51861
+ function isKimiOnlyAvailability(availability) {
51862
+ return availability.kimiForCoding && !availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai;
51863
+ }
51864
+ function isGeminiOnlyAvailability(availability) {
51865
+ return availability.native.gemini && !availability.native.claude && !availability.native.openai && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
51866
+ }
51867
+ function isClaudeOnlyAvailability(availability) {
51868
+ return availability.native.claude && !availability.native.openai && !availability.native.gemini && !availability.opencodeZen && !availability.copilot && !availability.zai && !availability.kimiForCoding;
51869
+ }
51870
+ function applyProviderSpecificModelCatalog(config2, availability) {
51871
+ if (isOpenAiOnlyAvailability(availability)) {
51872
+ return applyOpenAiOnlyModelCatalog(config2);
51873
+ }
51874
+ if (isKimiOnlyAvailability(availability)) {
51875
+ return applyOverrideCatalog(config2, KIMI_ONLY_AGENT_OVERRIDES, KIMI_ONLY_CATEGORY_OVERRIDES);
51876
+ }
51877
+ if (isGeminiOnlyAvailability(availability)) {
51878
+ return applyOverrideCatalog(config2, GEMINI_ONLY_AGENT_OVERRIDES, GEMINI_ONLY_CATEGORY_OVERRIDES);
51879
+ }
51880
+ if (isClaudeOnlyAvailability(availability)) {
51881
+ return applyOverrideCatalog(config2, CLAUDE_ONLY_AGENT_OVERRIDES, CLAUDE_ONLY_CATEGORY_OVERRIDES);
51882
+ }
51883
+ return config2;
51884
+ }
51885
+ function collectAgentOverrides(key) {
51886
+ return Object.entries(AGENT_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
51887
+ const override = def.specialCases[key];
51888
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
51889
+ });
51890
+ }
51891
+ function collectCategoryOverrides(key) {
51892
+ return Object.entries(CATEGORY_MODEL_DEFAULTS).filter(([, def]) => def.specialCases?.[key]).map(([name, def]) => {
51893
+ const override = def.specialCases[key];
51894
+ return [name, { model: override.model, ...override.variant ? { variant: override.variant } : {} }];
51895
+ });
51896
+ }
51897
+ function applyOverrideCatalog(config2, agentOverrides, categoryOverrides) {
51813
51898
  return {
51814
51899
  ...config2,
51815
51900
  agents: {
51816
51901
  ...config2.agents,
51817
- ...OPENAI_ONLY_AGENT_OVERRIDES
51902
+ ...agentOverrides
51818
51903
  },
51819
51904
  categories: {
51820
51905
  ...config2.categories,
51821
- ...OPENAI_ONLY_CATEGORY_OVERRIDES
51906
+ ...categoryOverrides
51822
51907
  }
51823
51908
  };
51824
51909
  }
@@ -51834,7 +51919,7 @@ function generateModelConfig(config2) {
51834
51919
  agents,
51835
51920
  categories: categories2
51836
51921
  };
51837
- return isOpenAiOnlyAvailability(availability) ? applyOpenAiOnlyModelCatalog(generatedConfig) : generatedConfig;
51922
+ return applyProviderSpecificModelCatalog(generatedConfig, availability);
51838
51923
  }
51839
51924
 
51840
51925
  // 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.4",
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.4",
80
+ "drizzy-agent-darwin-x64": "0.7.4",
81
+ "drizzy-agent-darwin-x64-baseline": "0.7.4",
82
+ "drizzy-agent-linux-arm64": "0.7.4",
83
+ "drizzy-agent-linux-arm64-musl": "0.7.4",
84
+ "drizzy-agent-linux-x64": "0.7.4",
85
+ "drizzy-agent-linux-x64-baseline": "0.7.4",
86
+ "drizzy-agent-linux-x64-musl": "0.7.4",
87
+ "drizzy-agent-linux-x64-musl-baseline": "0.7.4",
88
+ "drizzy-agent-windows-x64": "0.7.4",
89
+ "drizzy-agent-windows-x64-baseline": "0.7.4"
90
90
  },
91
91
  "overrides": {
92
92
  "@opencode-ai/sdk": "^1.2.24"