opencode-model-router 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/tiers.json +100 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-model-router",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "OpenCode plugin that routes tasks to tiered subagents (fast/medium/heavy) based on complexity",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
package/tiers.json CHANGED
@@ -17,7 +17,7 @@
17
17
  ]
18
18
  },
19
19
  "medium": {
20
- "model": "anthropic/claude-sonnet-4-5",
20
+ "model": "anthropic/claude-sonnet-4-6",
21
21
  "variant": "max",
22
22
  "costRatio": 5,
23
23
  "description": "Sonnet 4.5 max for implementation, refactoring, and tests",
@@ -102,7 +102,7 @@
102
102
  ]
103
103
  },
104
104
  "medium": {
105
- "model": "github-copilot/claude-sonnet-4-5",
105
+ "model": "github-copilot/claude-sonnet-4-6",
106
106
  "costRatio": 5,
107
107
  "description": "Claude Sonnet 4.5 via GitHub Copilot for implementation, refactoring, and tests",
108
108
  "steps": 50,
@@ -171,12 +171,87 @@
171
171
  "Performance optimization"
172
172
  ]
173
173
  }
174
+ },
175
+ "hybrid": {
176
+ "fast": {
177
+ "model": "openai/gpt-5.3-codex-spark",
178
+ "costRatio": 1,
179
+ "description": "GPT-5.3 Codex Spark for exploration, search, and simple reads",
180
+ "steps": 30,
181
+ "prompt": "You are a fast exploration agent. Focus on speed and efficiency. Read files, search code, and return findings concisely. Do NOT make edits unless explicitly asked.",
182
+ "whenToUse": [
183
+ "Codebase exploration and search",
184
+ "Simple file reads and listing",
185
+ "Grep/glob operations",
186
+ "Quick lookups and research"
187
+ ]
188
+ },
189
+ "medium": {
190
+ "model": "anthropic/claude-sonnet-4-6",
191
+ "variant": "max",
192
+ "costRatio": 5,
193
+ "description": "Claude Sonnet 4.6 max for implementation, refactoring, and tests",
194
+ "steps": 50,
195
+ "prompt": "You are an implementation agent. Write clean, production-quality code matching existing project patterns. Run linters/tests after changes when possible.",
196
+ "whenToUse": [
197
+ "Feature implementation",
198
+ "Refactoring",
199
+ "Writing tests",
200
+ "Code review",
201
+ "Bug fixes"
202
+ ]
203
+ },
204
+ "heavy": {
205
+ "model": "anthropic/claude-opus-4-6",
206
+ "variant": "max",
207
+ "costRatio": 20,
208
+ "description": "Claude Opus 4.6 max for architecture, complex debugging, and security",
209
+ "steps": 30,
210
+ "prompt": "You are a senior architecture consultant. Analyze deeply, consider tradeoffs, and provide thorough reasoning. Be exhaustive in your analysis.",
211
+ "whenToUse": [
212
+ "Architecture decisions",
213
+ "Complex debugging (after 2+ failures)",
214
+ "Security review",
215
+ "Performance optimization"
216
+ ]
217
+ }
174
218
  }
175
219
  },
176
220
  "taskPatterns": {
177
- "fast": ["search", "grep", "read", "git-info", "ls", "lookup-docs/types", "count", "exists-check", "rename"],
178
- "medium": ["impl-feature", "refactor", "write-tests", "bugfix(≤2)", "edit-logic", "code-review", "build-fix", "create-file", "db-migrate", "api-endpoint", "config-update"],
179
- "heavy": ["arch-design", "debug(≥3fail)", "sec-audit", "perf-opt", "migrate-strategy", "multi-system-integration", "tradeoff-analysis", "rca"]
221
+ "fast": [
222
+ "search",
223
+ "grep",
224
+ "read",
225
+ "git-info",
226
+ "ls",
227
+ "lookup-docs/types",
228
+ "count",
229
+ "exists-check",
230
+ "rename"
231
+ ],
232
+ "medium": [
233
+ "impl-feature",
234
+ "refactor",
235
+ "write-tests",
236
+ "bugfix(≤2)",
237
+ "edit-logic",
238
+ "code-review",
239
+ "build-fix",
240
+ "create-file",
241
+ "db-migrate",
242
+ "api-endpoint",
243
+ "config-update"
244
+ ],
245
+ "heavy": [
246
+ "arch-design",
247
+ "debug(≥3fail)",
248
+ "sec-audit",
249
+ "perf-opt",
250
+ "migrate-strategy",
251
+ "multi-system-integration",
252
+ "tradeoff-analysis",
253
+ "rca"
254
+ ]
180
255
  },
181
256
  "modes": {
182
257
  "normal": {
@@ -208,10 +283,26 @@
208
283
  },
209
284
  "fallback": {
210
285
  "global": {
211
- "anthropic": ["openai", "google", "github-copilot"],
212
- "openai": ["anthropic", "google", "github-copilot"],
213
- "github-copilot": ["anthropic", "openai", "google"],
214
- "google": ["openai", "anthropic", "github-copilot"]
286
+ "anthropic": [
287
+ "openai",
288
+ "google",
289
+ "github-copilot"
290
+ ],
291
+ "openai": [
292
+ "anthropic",
293
+ "google",
294
+ "github-copilot"
295
+ ],
296
+ "github-copilot": [
297
+ "anthropic",
298
+ "openai",
299
+ "google"
300
+ ],
301
+ "google": [
302
+ "openai",
303
+ "anthropic",
304
+ "github-copilot"
305
+ ]
215
306
  }
216
307
  },
217
308
  "rules": [