ocmm 0.5.3 → 0.6.0
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/.codex/agents/dw-builder.toml +3 -3
- package/.codex/agents/dw-clarifier.toml +2 -2
- package/.codex/agents/dw-code-search.toml +2 -2
- package/.codex/agents/dw-coding.toml +2 -2
- package/.codex/agents/dw-complex.toml +2 -2
- package/.codex/agents/dw-creative.toml +2 -2
- package/.codex/agents/dw-deep.toml +3 -3
- package/.codex/agents/dw-doc-search.toml +2 -2
- package/.codex/agents/dw-documenting.toml +2 -2
- package/.codex/agents/dw-explore.toml +2 -2
- package/.codex/agents/dw-frontend.toml +2 -2
- package/.codex/agents/dw-hard-reasoning.toml +2 -2
- package/.codex/agents/dw-media-reader.toml +2 -2
- package/.codex/agents/dw-normal-task.toml +2 -2
- package/.codex/agents/dw-oracle-2nd.toml +8 -0
- package/.codex/agents/dw-oracle.toml +3 -3
- package/.codex/agents/dw-orchestrator.toml +2 -2
- package/.codex/agents/dw-plan-critic.toml +2 -2
- package/.codex/agents/dw-planner.toml +3 -3
- package/.codex/agents/dw-quick.toml +2 -2
- package/.codex/agents/dw-research.toml +2 -2
- package/.codex/agents/dw-reviewer.toml +2 -2
- package/README.md +193 -46
- package/dist/cli/shim.d.ts +4 -2
- package/dist/cli/shim.js +26 -11
- package/dist/cli/shim.js.map +1 -1
- package/dist/codex/plugin-generator.js +121 -96
- package/dist/codex/plugin-generator.js.map +1 -1
- package/dist/config/load.d.ts +32 -23
- package/dist/config/load.js +384 -90
- package/dist/config/load.js.map +1 -1
- package/dist/config/merge.d.ts +18 -0
- package/dist/config/merge.js +46 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/normalize.d.ts +1 -0
- package/dist/config/normalize.js +22 -16
- package/dist/config/normalize.js.map +1 -1
- package/dist/config/profile-aliases.d.ts +12 -0
- package/dist/config/profile-aliases.js +127 -0
- package/dist/config/profile-aliases.js.map +1 -0
- package/dist/config/profile-types.d.ts +13 -0
- package/dist/config/profile-types.js +2 -0
- package/dist/config/profile-types.js.map +1 -0
- package/dist/config/review-agent-migration.d.ts +89 -0
- package/dist/config/review-agent-migration.js +237 -0
- package/dist/config/review-agent-migration.js.map +1 -0
- package/dist/config/schema.d.ts +1364 -219
- package/dist/config/schema.js +169 -36
- package/dist/config/schema.js.map +1 -1
- package/dist/config/tolerant-parse.d.ts +41 -0
- package/dist/config/tolerant-parse.js +164 -0
- package/dist/config/tolerant-parse.js.map +1 -0
- package/dist/data/agents.d.ts +2 -1
- package/dist/data/agents.js +25 -10
- package/dist/data/agents.js.map +1 -1
- package/dist/data/categories.js +2 -1
- package/dist/data/categories.js.map +1 -1
- package/dist/hooks/chat-params.d.ts +2 -0
- package/dist/hooks/chat-params.js +182 -16
- package/dist/hooks/chat-params.js.map +1 -1
- package/dist/hooks/config.d.ts +14 -2
- package/dist/hooks/config.js +538 -60
- package/dist/hooks/config.js.map +1 -1
- package/dist/hooks/event.d.ts +3 -11
- package/dist/hooks/event.js +5 -9
- package/dist/hooks/event.js.map +1 -1
- package/dist/index.js +21 -14
- package/dist/index.js.map +1 -1
- package/dist/intent/model-family.d.ts +2 -0
- package/dist/intent/model-family.js +11 -0
- package/dist/intent/model-family.js.map +1 -1
- package/dist/intent/prompt-loader.d.ts +3 -3
- package/dist/intent/prompt-loader.js +3 -3
- package/dist/permissions/index.d.ts +3 -0
- package/dist/permissions/index.js +43 -28
- package/dist/permissions/index.js.map +1 -1
- package/dist/review-agents/expand.d.ts +36 -0
- package/dist/review-agents/expand.js +157 -0
- package/dist/review-agents/expand.js.map +1 -0
- package/dist/review-agents/names.d.ts +16 -0
- package/dist/review-agents/names.js +55 -0
- package/dist/review-agents/names.js.map +1 -0
- package/dist/routing/effective-route.d.ts +19 -0
- package/dist/routing/effective-route.js +133 -0
- package/dist/routing/effective-route.js.map +1 -0
- package/dist/routing/model-upgrades.d.ts +5 -0
- package/dist/routing/model-upgrades.js +59 -11
- package/dist/routing/model-upgrades.js.map +1 -1
- package/dist/routing/resolver.d.ts +8 -1
- package/dist/routing/resolver.js +29 -9
- package/dist/routing/resolver.js.map +1 -1
- package/dist/routing/route-registry.d.ts +13 -0
- package/dist/routing/route-registry.js +84 -0
- package/dist/routing/route-registry.js.map +1 -0
- package/dist/routing/variant-translator.js +7 -4
- package/dist/routing/variant-translator.js.map +1 -1
- package/dist/runtime-fallback/dispatcher.d.ts +1 -0
- package/dist/runtime-fallback/dispatcher.js +7 -5
- package/dist/runtime-fallback/dispatcher.js.map +1 -1
- package/dist/runtime-fallback/error-classifier.d.ts +3 -1
- package/dist/runtime-fallback/error-classifier.js +135 -1
- package/dist/runtime-fallback/error-classifier.js.map +1 -1
- package/dist/runtime-fallback/event-handler-generic-fallback.d.ts +26 -0
- package/dist/runtime-fallback/event-handler-generic-fallback.js +54 -0
- package/dist/runtime-fallback/event-handler-generic-fallback.js.map +1 -0
- package/dist/runtime-fallback/event-handler-idle-continuation.d.ts +9 -0
- package/dist/runtime-fallback/event-handler-idle-continuation.js +48 -0
- package/dist/runtime-fallback/event-handler-idle-continuation.js.map +1 -0
- package/dist/runtime-fallback/event-handler-support.d.ts +39 -0
- package/dist/runtime-fallback/event-handler-support.js +194 -0
- package/dist/runtime-fallback/event-handler-support.js.map +1 -0
- package/dist/runtime-fallback/event-handler-test-fixtures.d.ts +874 -0
- package/dist/runtime-fallback/event-handler-test-fixtures.js +150 -0
- package/dist/runtime-fallback/event-handler-test-fixtures.js.map +1 -0
- package/dist/runtime-fallback/event-handler.d.ts +13 -1
- package/dist/runtime-fallback/event-handler.js +334 -192
- package/dist/runtime-fallback/event-handler.js.map +1 -1
- package/dist/runtime-fallback/fallback-state.d.ts +8 -5
- package/dist/runtime-fallback/fallback-state.js +9 -6
- package/dist/runtime-fallback/fallback-state.js.map +1 -1
- package/dist/runtime-fallback/index.d.ts +21 -1
- package/dist/runtime-fallback/index.js +7 -1
- package/dist/runtime-fallback/index.js.map +1 -1
- package/dist/runtime-fallback/interruption-output-adapter.d.ts +7 -0
- package/dist/runtime-fallback/interruption-output-adapter.js +91 -0
- package/dist/runtime-fallback/interruption-output-adapter.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-controller-fixture.d.ts +105 -0
- package/dist/runtime-fallback/subagent-429-controller-fixture.js +116 -0
- package/dist/runtime-fallback/subagent-429-controller-fixture.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-controller.d.ts +167 -0
- package/dist/runtime-fallback/subagent-429-controller.js +334 -0
- package/dist/runtime-fallback/subagent-429-controller.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-policy.d.ts +13 -0
- package/dist/runtime-fallback/subagent-429-policy.js +37 -0
- package/dist/runtime-fallback/subagent-429-policy.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-session.d.ts +48 -0
- package/dist/runtime-fallback/subagent-429-session.js +316 -0
- package/dist/runtime-fallback/subagent-429-session.js.map +1 -0
- package/dist/shared/opencode-events.d.ts +22 -0
- package/dist/shared/opencode-events.js +75 -0
- package/dist/shared/opencode-events.js.map +1 -0
- package/dist/shared/types.d.ts +12 -1
- package/package.json +1 -1
- package/plugins/deepwork/.codex-plugin/plugin.json +1 -1
- package/plugins/deepwork/README.md +3 -2
- package/plugins/deepwork/agents/dw-builder.toml +3 -3
- package/plugins/deepwork/agents/dw-clarifier.toml +2 -2
- package/plugins/deepwork/agents/dw-code-search.toml +2 -2
- package/plugins/deepwork/agents/dw-coding.toml +2 -2
- package/plugins/deepwork/agents/dw-complex.toml +2 -2
- package/plugins/deepwork/agents/dw-creative.toml +2 -2
- package/plugins/deepwork/agents/dw-deep.toml +3 -3
- package/plugins/deepwork/agents/dw-doc-search.toml +2 -2
- package/plugins/deepwork/agents/dw-documenting.toml +2 -2
- package/plugins/deepwork/agents/dw-explore.toml +2 -2
- package/plugins/deepwork/agents/dw-frontend.toml +2 -2
- package/plugins/deepwork/agents/dw-hard-reasoning.toml +2 -2
- package/plugins/deepwork/agents/dw-media-reader.toml +2 -2
- package/plugins/deepwork/agents/dw-normal-task.toml +2 -2
- package/plugins/deepwork/agents/dw-oracle-2nd.toml +8 -0
- package/plugins/deepwork/agents/dw-oracle.toml +3 -3
- package/plugins/deepwork/agents/dw-orchestrator.toml +2 -2
- package/plugins/deepwork/agents/dw-plan-critic.toml +2 -2
- package/plugins/deepwork/agents/dw-planner.toml +3 -3
- package/plugins/deepwork/agents/dw-quick.toml +2 -2
- package/plugins/deepwork/agents/dw-research.toml +2 -2
- package/plugins/deepwork/agents/dw-reviewer.toml +2 -2
- package/plugins/deepwork/dist/cli/shim.d.ts +4 -2
- package/plugins/deepwork/dist/cli/shim.js +26 -11
- package/plugins/deepwork/dist/cli/shim.js.map +1 -1
- package/plugins/deepwork/dist/shared/opencode-events.d.ts +22 -0
- package/plugins/deepwork/dist/shared/opencode-events.js +75 -0
- package/plugins/deepwork/dist/shared/opencode-events.js.map +1 -0
- package/plugins/deepwork/dist/shared/types.d.ts +12 -1
- package/plugins/deepwork/package.json +1 -1
- package/plugins/deepwork/skills/deepwork/SKILL.md +74 -58
- package/plugins/deepwork/skills/deepwork-requesting-code-review/SKILL.md +53 -27
- package/plugins/deepwork/skills/deepwork-requesting-code-review/code-reviewer.md +11 -7
- package/plugins/deepwork/skills/deepwork-subagent-driven-development/SKILL.md +34 -21
- package/plugins/deepwork/skills/deepwork-subagent-driven-development/implementer-prompt.md +10 -3
- package/prompts/codex/agents/clarifier.md +4 -0
- package/prompts/codex/agents/orchestrator.md +12 -2
- package/prompts/codex/agents/plan-critic.md +4 -0
- package/prompts/codex/agents/planner.md +15 -10
- package/prompts/codex/agents/reviewer.md +8 -2
- package/prompts/codex/deepwork/gpt-5.6.md +20 -37
- package/prompts/omo/agents/clarifier.md +4 -0
- package/prompts/omo/agents/orchestrator.md +11 -0
- package/prompts/omo/agents/plan-critic.md +4 -0
- package/prompts/omo/agents/planner.md +15 -3
- package/prompts/omo/agents/reviewer.md +8 -2
- package/prompts/omo/deepwork/gpt-5.6.md +20 -37
- package/prompts/v1/agents/clarifier.md +4 -0
- package/prompts/v1/agents/orchestrator.md +12 -2
- package/prompts/v1/agents/plan-critic.md +4 -0
- package/prompts/v1/agents/planner.md +15 -10
- package/prompts/v1/agents/reviewer.md +8 -2
- package/prompts/v1/deepwork/gpt-5.6.md +20 -37
- package/skills/v1/requesting-code-review/SKILL.md +53 -27
- package/skills/v1/requesting-code-review/code-reviewer.md +11 -7
- package/skills/v1/subagent-driven-development/SKILL.md +34 -21
- package/skills/v1/subagent-driven-development/implementer-prompt.md +10 -3
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Concepts (model tiering, per-model specialized prompts, intent gating, proactive
|
|
|
8
8
|
|
|
9
9
|
| Hook | What ocmm does |
|
|
10
10
|
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
-
| `config` | Registers
|
|
11
|
+
| `config` | Registers 11 agents + 10 category-subagents with their preferred provider/model, shared skill paths, and slash commands. Attaches functional agent prompts plus workflow/model-family deepwork prompts to built-in agents, and category prompts to category subagents. User config can add, override, or disable any of them. |
|
|
12
12
|
| `chat.params` | Resolves the variant for the active agent/model (4-tier priority: user-config -> agent-default -> category-default -> input-variant), respects explicit user choices, and applies only the model-family parameters ocmm supports for that model. Built-in defaults normalize category work to model-appropriate high/max reasoning where supported and avoid implicit Opus 4.7+ thinking budgets. |
|
|
13
13
|
| `chat.message` | v1 workflow: queues superpowers skills content on the first message per session. Also expands bare ocmm slash commands in noninteractive `opencode run` input so `/ralph-loop ...` and shared-skill commands get command context even when the TUI slash parser is bypassed. |
|
|
14
14
|
| `experimental.chat.system.transform` | Prepends queued v1 skill content and one-shot slash command context to `output.system`. omo workflow only uses this hook when a bare slash command was expanded by `chat.message`. |
|
|
@@ -222,7 +222,7 @@ The Codex plugin exposes:
|
|
|
222
222
|
- copied ocmm shared skills plus flattened `deepwork-*` skills from `skills/v1/`;
|
|
223
223
|
- a `deepwork` skill that maps ocmm's planning/delegation semantics to Codex tools;
|
|
224
224
|
- plugin-scoped MCP servers generated from ocmm's MCP config, including the default `lsp` MCP served by the plugin-local `ocmm-lsp` wrapper;
|
|
225
|
-
- generated `dw-*` Codex agent TOML files under `plugins/deepwork/agents/` for installers or local agent registration, including functional agents such as `dw-oracle` and `dw-creative`.
|
|
225
|
+
- generated `dw-*` Codex agent TOML files under `plugins/deepwork/agents/` for installers or local agent registration, including functional agents such as `dw-oracle`, `dw-oracle-2nd`, and `dw-creative`; configured review `variants` can also emit logical tier profiles such as `dw-oracle-high` and `dw-oracle-2nd-low`.
|
|
226
226
|
|
|
227
227
|
OpenCode still uses `dist/index.js` and its OpenCode hook surface. The Codex adapter does not import or mutate the OpenCode plugin module at runtime.
|
|
228
228
|
|
|
@@ -250,25 +250,33 @@ Schema (Zod-validated; unknown keys rejected). All fields optional:
|
|
|
250
250
|
"disable": []
|
|
251
251
|
},
|
|
252
252
|
|
|
253
|
+
// Opt in per provider before --fast / OCMM_FAST can promote a route.
|
|
254
|
+
"fastModels": {
|
|
255
|
+
"providers": ["openai"],
|
|
256
|
+
"mappings": {
|
|
257
|
+
"openai/<original-model>": "<provider-local-fast-model>"
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
|
|
253
261
|
"agents": {
|
|
254
262
|
"reviewer": {
|
|
255
|
-
"model": "
|
|
263
|
+
"model": "<provider>/<primary-reasoning-model>",
|
|
256
264
|
"variant": "max",
|
|
257
265
|
},
|
|
258
266
|
"orchestrator": {
|
|
259
|
-
"model": "
|
|
267
|
+
"model": "<provider>/<primary-reasoning-model>",
|
|
260
268
|
"variant": "max",
|
|
261
269
|
"fallbackModels": [
|
|
262
|
-
"
|
|
263
|
-
{ "providers": ["
|
|
270
|
+
"<provider>/<fallback-reasoning-model>",
|
|
271
|
+
{ "providers": ["<provider>"], "model": "<fallback-model>", "variant": "high" },
|
|
264
272
|
],
|
|
265
273
|
},
|
|
266
274
|
"builder": {
|
|
267
275
|
"requirement": {
|
|
268
276
|
"variant": "high",
|
|
269
|
-
"requiresProvider": ["
|
|
277
|
+
"requiresProvider": ["<provider>"],
|
|
270
278
|
"fallbackChain": [
|
|
271
|
-
{ "providers": ["
|
|
279
|
+
{ "providers": ["<provider>"], "model": "<implementation-model>", "variant": "high" },
|
|
272
280
|
],
|
|
273
281
|
},
|
|
274
282
|
},
|
|
@@ -276,7 +284,7 @@ Schema (Zod-validated; unknown keys rejected). All fields optional:
|
|
|
276
284
|
|
|
277
285
|
"categories": {
|
|
278
286
|
"hard-reasoning": {
|
|
279
|
-
"model": "
|
|
287
|
+
"model": "<provider>/<primary-reasoning-model>",
|
|
280
288
|
"variant": "xhigh",
|
|
281
289
|
},
|
|
282
290
|
},
|
|
@@ -298,6 +306,14 @@ Schema (Zod-validated; unknown keys rejected). All fields optional:
|
|
|
298
306
|
"capacity",
|
|
299
307
|
"try again",
|
|
300
308
|
],
|
|
309
|
+
"subagent429": {
|
|
310
|
+
"enabled": true,
|
|
311
|
+
"maxRetries": 5,
|
|
312
|
+
"providerScopes": {
|
|
313
|
+
"anthropic": "provider",
|
|
314
|
+
"openai": "model"
|
|
315
|
+
}
|
|
316
|
+
}
|
|
301
317
|
},
|
|
302
318
|
|
|
303
319
|
"subagent": {
|
|
@@ -335,6 +351,66 @@ Schema (Zod-validated; unknown keys rejected). All fields optional:
|
|
|
335
351
|
}
|
|
336
352
|
```
|
|
337
353
|
|
|
354
|
+
### Canonical review-slot configuration
|
|
355
|
+
|
|
356
|
+
```jsonc
|
|
357
|
+
{
|
|
358
|
+
"agents": {
|
|
359
|
+
"oracle": {
|
|
360
|
+
"model": "openai/gpt-5.6-terra",
|
|
361
|
+
"variant": "xhigh",
|
|
362
|
+
"variants": {
|
|
363
|
+
"low": "high",
|
|
364
|
+
"high": "max",
|
|
365
|
+
"max": { "model": "openai/gpt-5.6-sol", "variant": "max" }
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"oracle-2nd": {
|
|
369
|
+
"model": "anthropic/claude-opus-4-7",
|
|
370
|
+
"variant": "xhigh",
|
|
371
|
+
"variants": { "max": "max" }
|
|
372
|
+
},
|
|
373
|
+
"oracle-3rd": { "model": "google/gemini-3.1-pro" },
|
|
374
|
+
"reviewer": {
|
|
375
|
+
"model": "openai/gpt-5.6-sol",
|
|
376
|
+
"variants": { "high": { "variant": "max" } }
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
- Unsuffixed slot names (`oracle`, `oracle-2nd`, `oracle-3rd`, `reviewer`) mean logical **normal** tier.
|
|
383
|
+
- Logical tier (`-low`/`-high`/`-max`) and native provider model `variant` are separate controls.
|
|
384
|
+
- Review slots are priority order, not capability ranking.
|
|
385
|
+
- Slots `oracle-3rd` through `oracle-9th` require explicit config.
|
|
386
|
+
- Multiple configured review profiles do not fan out automatically; dispatch still uses one selected profile.
|
|
387
|
+
- `reviewer` has no ordinal slot naming.
|
|
388
|
+
- xhigh-equivalent review floors still apply even when a logical `low` tier is selected.
|
|
389
|
+
- `agents.oracle-high` is a deprecated config spelling migrated to `agents.oracle-2nd`, while runtime `oracle-high` remains the first-slot logical high tier.
|
|
390
|
+
- Alias/canonical collisions fail validation.
|
|
391
|
+
- `schema.json` and direct `OcmmConfigSchema` parsing remain strict. Runtime `loadConfig()` is tolerant: a schema-mismatched review field or entry is discarded locally while valid siblings and lower-priority values remain loaded. Only ambiguous alias/canonical migration collisions fall back to defaults.
|
|
392
|
+
|
|
393
|
+
### Disabling review slots and interruption recovery
|
|
394
|
+
|
|
395
|
+
```jsonc
|
|
396
|
+
{
|
|
397
|
+
"disabledAgents": ["oracle-2nd", "oracle-high"],
|
|
398
|
+
"disabledHooks": ["subagent-interruption-recovery"]
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
- `oracle-2nd` disables that entire second review slot, including its logical tier profiles.
|
|
403
|
+
- `oracle-high` disables only the first-slot logical high tier profile; it does not disable `oracle` normal or other slots.
|
|
404
|
+
- `subagent-interruption-recovery` is optional evidence correlation + resume-note behavior layered on top of existing fallback flow.
|
|
405
|
+
|
|
406
|
+
Interruption recovery behavior:
|
|
407
|
+
|
|
408
|
+
1. Reuses the existing dedicated 429/generic fallback controller and retry budgets.
|
|
409
|
+
2. Keys correlation by child session and deduplicates parent `message.part.updated` evidence.
|
|
410
|
+
3. Treats child `session.error` as provider-error evidence.
|
|
411
|
+
4. Never retries explicit abort, permission denial, unknown agent, deletion, or ordinary empty output outcomes.
|
|
412
|
+
5. May append one manual continuation notice only when an explicit task identifier is observed in task input/output or correlated parent-part evidence; it never substitutes `childSessionID` for `task_id`, dispatches from `tool.execute.after`, or synthesizes a parent prompt.
|
|
413
|
+
|
|
338
414
|
### Shorthand vs full form
|
|
339
415
|
|
|
340
416
|
Both `agents.*` and `categories.*` accept either shape:
|
|
@@ -374,6 +450,7 @@ Both `agents.*` and `categories.*` accept either shape:
|
|
|
374
450
|
| `todo-description-override` | Enabled | Overrides the `todowrite` tool description with ocmm’s structured todo format. |
|
|
375
451
|
| `commit-guard-injector` | Enabled | Injects the no-autonomous-git-write constraint into the system prompt. |
|
|
376
452
|
| `subagent-git-guard` | Enabled | Blocks git write commands in subagent sessions except allowed temp-repo cases. |
|
|
453
|
+
| `subagent-interruption-recovery` | Enabled | Correlates child-session interruption evidence (`session.error` + `message.part.updated`) and lets the output adapter append at most one manual continuation notice without owning retry dispatch. |
|
|
377
454
|
| `subagent-depth-guard` | Enabled | Blocks `task` dispatches that would exceed `subagent.maxDepth`; default max depth is 3 subagent layers. |
|
|
378
455
|
|
|
379
456
|
## Variant policy
|
|
@@ -382,48 +459,51 @@ Both `agents.*` and `categories.*` accept either shape:
|
|
|
382
459
|
|
|
383
460
|
| Model family | ocmm behavior |
|
|
384
461
|
| ------------ | ------------- |
|
|
385
|
-
| Explicit user config or request | Respected as written
|
|
386
|
-
| GPT
|
|
387
|
-
| GPT
|
|
388
|
-
| Claude Opus 4.7+ / Fable | Built-in defaults do not emit an ocmm-owned `thinking` budget or `reasoningEffort`; explicit user config is passed through as written. |
|
|
462
|
+
| Explicit user config or request | Respected as written except for review/plan-review floors: `reviewer`, Oracle review profiles (`oracle`, `oracle-high`, `oracle-2nd`, etc.), and `plan-critic` are raised to the model family's xhigh-equivalent/highest-supported review effort when possible. |
|
|
463
|
+
| GPT-like non-mini built-in defaults | Built-in defaults never request below `high`; category defaults from `coding` upward resolve to `max`. GPT-5.6 supports native `reasoningEffort=max`; other GPT-like/Codex-like families use their catalog-supported maximum effort. |
|
|
464
|
+
| GPT-like mini | Keeps the provider's full low-effort ladder, including `minimal`, `low`, and no-op `none` when supported. |
|
|
465
|
+
| Claude Opus 4.7+ / Fable | Built-in defaults do not emit an ocmm-owned `thinking` budget or `reasoningEffort`; explicit non-review user config is passed through as written, while review/plan-review agents still receive the xhigh-equivalent floor when possible. |
|
|
389
466
|
| Older Claude | Uses Anthropic `thinking` budgets for non-`none` variants. |
|
|
390
467
|
| Gemini | Uses `reasoningEffort`; high and above also enable provider thinking. |
|
|
391
|
-
| Latest GLM / DeepSeek | Built-in defaults normalize low/medium-style local variants to canonical high/max controls where the provider family supports them; explicit user config or request variants are left as written. |
|
|
468
|
+
| Latest GLM / DeepSeek | Built-in defaults normalize low/medium-style local variants to canonical high/max controls where the provider family supports them; non-review explicit user config or request variants are left as written. |
|
|
392
469
|
| Category defaults | `quick` stays lightweight. Built-in category defaults from `coding` upward resolve to `max`; explicit user category config or input variants are respected as written. |
|
|
393
470
|
| Kimi / MiniMax / unknown | Uses the existing temperature shaping fallback when no better family-specific knob exists. |
|
|
394
471
|
|
|
395
472
|
## Built-in agents
|
|
396
473
|
|
|
397
474
|
```
|
|
398
|
-
orchestrator
|
|
399
|
-
builder
|
|
400
|
-
reviewer
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
475
|
+
orchestrator primary reasoning lane variant=max main coordinator
|
|
476
|
+
builder implementation lane variant=high autonomous implementer
|
|
477
|
+
reviewer primary review lane xhigh floor read-only consultant
|
|
478
|
+
oracle review slot 1 (logical normal) xhigh floor self-supervision reviewer
|
|
479
|
+
oracle-high review slot 1 logical high derived profile runtime tier profile (from variants)
|
|
480
|
+
oracle-2nd review slot 2 (logical normal) xhigh floor second-priority independent reviewer
|
|
481
|
+
doc-search lightweight lookup lane (none) external docs / OSS lookup
|
|
482
|
+
code-search lightweight lookup lane (none) internal codebase grep
|
|
483
|
+
planner primary reasoning lane variant=max work-plan author
|
|
484
|
+
clarifier analysis lane (none) pre-plan analysis
|
|
485
|
+
plan-critic primary review lane variant=xhigh plan QA
|
|
486
|
+
media-reader multimodal-capable lane variant=high multimodal analysis
|
|
407
487
|
```
|
|
408
488
|
|
|
409
489
|
## Built-in categories (also registered as subagents)
|
|
410
490
|
|
|
411
491
|
```
|
|
412
|
-
frontend
|
|
413
|
-
creative
|
|
414
|
-
hard-reasoning
|
|
415
|
-
research
|
|
416
|
-
quick
|
|
417
|
-
coding
|
|
418
|
-
normal-task
|
|
419
|
-
complex
|
|
420
|
-
deep
|
|
421
|
-
documenting
|
|
492
|
+
frontend UI/multimodal-capable lane variant=high UI/UX, layout, styling, visual QA
|
|
493
|
+
creative creative-capable lane variant=high concepts, naming, narrative, framing
|
|
494
|
+
hard-reasoning primary reasoning lane variant=xhigh ultrabrain-style decisions and tradeoffs
|
|
495
|
+
research research-capable lane variant=high missing-fact investigation and evidence gathering
|
|
496
|
+
quick lightweight lane (none) fully specified mechanical edits
|
|
497
|
+
coding implementation lane (none) determined code edits and bug fixes
|
|
498
|
+
normal-task implementation lane (none) ordinary bounded tasks
|
|
499
|
+
complex coordinated-work lane variant=high coordinated multi-step ordinary tasks
|
|
500
|
+
deep primary reasoning lane variant=max autonomous system development and delivery
|
|
501
|
+
documenting prose-capable lane (none) standalone documentation and prose
|
|
422
502
|
```
|
|
423
503
|
|
|
424
|
-
|
|
504
|
+
Rows above describe built-in selection lanes, not required provider channels or model IDs. Example model names elsewhere in the repository are references only; explicit user configuration and the currently available model catalog decide the actual model. Agent rows show source defaults or enforced review floors; category rows show the **raw source values** from `src/data/categories.ts`. At runtime the variant policy normalizes categories from `coding` upward to model-appropriate `max` unless the user explicitly overrides them; see the variant policy table above. Entries marked `(none)` carry no built-in variant and rely on this normalization.
|
|
425
505
|
|
|
426
|
-
The primary structure is `
|
|
506
|
+
The primary review structure is `reviewer` plus canonical Oracle slots (`oracle`, `oracle-2nd`, optional `oracle-3rd` ... `oracle-9th` when explicitly configured). Runtime logical tier names such as `oracle-high` and `oracle-max` are derived from configured `variants` and stay within slot 1; they are not separate slot registrations. `oracle` is the first-slot self-supervision agent and shares the reviewer prompt via `promptSource: "reviewer"`; `oracle-2nd` is the second-priority independent slot. `agents.oracle-high` is a deprecated config spelling migrated to `agents.oracle-2nd` during config load so legacy config keeps working while canonical keys remain slot-based. Supporting utility agents (`builder`, `doc-search`, `code-search`, `media-reader`) still use the workflow/model-family deepwork prompt without an additional role prompt. `builder` is registered with `mode:"primary"`; `planner` is registered with `mode:"all"` so it can be selected directly and used as a delegated task agent. Each category has a prompt under `prompts/<workflow>/category/<name>.md` that is set as the category-subagent's system prompt. Callers invoke categories via `task(category="deep", ...)` or direct subagent names such as `@deep` and `@quick`. The upstream-style compatibility alias `@explore` maps to local `code-search`; `@oracle` selects the independent local `oracle` agent rather than aliasing `reviewer`.
|
|
427
507
|
|
|
428
508
|
## Prompt architecture
|
|
429
509
|
|
|
@@ -432,11 +512,11 @@ Prompts are organized by workflow:
|
|
|
432
512
|
```
|
|
433
513
|
prompts/
|
|
434
514
|
omo/ # upstream omo prompts
|
|
435
|
-
deepwork/{default,gpt,gemini,glm,codex,planner}.md
|
|
515
|
+
deepwork/{default,gpt,gpt-5.6,gemini,glm,codex,planner}.md
|
|
436
516
|
agents/{orchestrator,reviewer,planner,clarifier,plan-critic}.md
|
|
437
517
|
category/*.md (10 files)
|
|
438
518
|
v1/ # superpowers-style prompts
|
|
439
|
-
deepwork/{default,gpt,gemini,glm,codex,planner}.md
|
|
519
|
+
deepwork/{default,gpt,gpt-5.6,gemini,glm,codex,planner}.md
|
|
440
520
|
agents/{orchestrator,reviewer,planner,clarifier,plan-critic}.md
|
|
441
521
|
category/*.md (10 files)
|
|
442
522
|
skills/
|
|
@@ -462,7 +542,7 @@ Model-family variant selection (`pickDeepworkVariantForAgent`):
|
|
|
462
542
|
- Codex family -> `codex.md`
|
|
463
543
|
- others (Claude/Kimi/Minimax/unknown) -> `default.md`
|
|
464
544
|
|
|
465
|
-
Variant is selected at config time using the agent
|
|
545
|
+
Variant is selected at config time using the final selected agent model after explicit user configuration, inherited aliases, and catalog-confirmed upgrades are considered. For built-in functional agents, ocmm composes `agents/<name>.md` with the selected `deepwork/<variant>.md`; the role prompt is authoritative for that agent's scope and the deepwork prompt supplies workflow/model calibration. Categories receive only their category prompt. No runtime keyword detection — prompts are attached declaratively.
|
|
466
546
|
|
|
467
547
|
For v1 workflow, superpowers skills are injected on the first message per session via `chat.message` (queue) + `system.transform` (prepend). For omo workflow, prompts are attached declaratively at config time; `chat.message` and `system.transform` only participate when a bare noninteractive slash command needs compatibility expansion.
|
|
468
548
|
|
|
@@ -486,9 +566,10 @@ A **profile** is a named partial overlay on the base config. It can override any
|
|
|
486
566
|
|
|
487
567
|
### Selecting a profile
|
|
488
568
|
|
|
489
|
-
|
|
569
|
+
Ambient selection remains, in priority order: `OCMM_NO_PROFILE`, then `OCMM_PROFILE`, then config `activeProfile`.
|
|
490
570
|
|
|
491
|
-
1. **`
|
|
571
|
+
1. **`OCMM_NO_PROFILE=1` or `OCMM_NO_PROFILE=true`** disables profile selection for that process.
|
|
572
|
+
2. **`OCMM_PROFILE` env var** selects a profile for the shell without persisting it:
|
|
492
573
|
|
|
493
574
|
```bash
|
|
494
575
|
OCMM_PROFILE=gpu opencode run "..."
|
|
@@ -496,13 +577,35 @@ Two ways, in priority order:
|
|
|
496
577
|
|
|
497
578
|
Empty string is treated as unset — falls back to the config's `activeProfile`.
|
|
498
579
|
|
|
499
|
-
|
|
580
|
+
3. **`activeProfile` in the config file** is the persisted fallback:
|
|
500
581
|
|
|
501
582
|
```jsonc
|
|
502
583
|
{ "activeProfile": "gpu" }
|
|
503
584
|
```
|
|
504
585
|
|
|
505
|
-
If the named profile doesn't exist,
|
|
586
|
+
If the named profile doesn't exist, the OpenCode plugin facade warns and preserves the base config.
|
|
587
|
+
|
|
588
|
+
### OpenCode plugin profile facade and qualified aliases
|
|
589
|
+
|
|
590
|
+
Directory profile descriptors and qualified aliases are an **OpenCode plugin facade** feature. Only `loadOpenCodePluginConfig` materializes them; ordinary programmatic `loadConfig` calls — including `loadConfig({ host: "opencode" })` — and the Codex adapter remain non-materializing.
|
|
591
|
+
|
|
592
|
+
For each profile name, descriptor precedence is inline `profiles.<name>` < user `ocmm-profiles/` directory < project `.opencode/ocmm-profiles/` directory. When both extensions exist for one basename, `.jsonc` wins **before parsing**. An invalid inactive descriptor is inert. An invalid selected descriptor at higher precedence makes the plugin atomically use defaults; it does not fall through to a lower-precedence descriptor.
|
|
593
|
+
|
|
594
|
+
An alias containing a colon uses first-colon grammar, `<profile>:<agent>`. For example, a base agent can import the `reviewer` requirement from the `precision` profile while retaining its own behavior:
|
|
595
|
+
|
|
596
|
+
```jsonc
|
|
597
|
+
{
|
|
598
|
+
"agents": {
|
|
599
|
+
"oracle": {
|
|
600
|
+
"alias": "precision:reviewer",
|
|
601
|
+
"description": "Local Oracle behavior remains local",
|
|
602
|
+
"promptAppend": "Use this role's local review instructions."
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
The import is requirement-only: it copies the normalized `ModelRequirement` — `fallbackChain`; its requirement-level native `variant`; each fallback entry's `providers`, `model`, native `variant`, and model-control metadata; and `requiresModel`, `requiresAnyModel`, and `requiresProvider`. Agent-level logical review `variants` remain local and are not imported. Permissions, prompts, tools, description, other agent controls, and profile-wide fields also stay on the source agent.
|
|
506
609
|
|
|
507
610
|
### Profile merge semantics
|
|
508
611
|
|
|
@@ -515,6 +618,20 @@ If the named profile doesn't exist, it is silently ignored — the base config l
|
|
|
515
618
|
|
|
516
619
|
`fallbackModels` and `disabledAgents` are unioned across user and project configs (NOT profiles). Profiles are the one layer that replaces.
|
|
517
620
|
|
|
621
|
+
### Fast model routing
|
|
622
|
+
|
|
623
|
+
Fast routing is opt-in and applies only to **OCMM-managed routes**. It never mutates unmanaged OpenCode agents or provider catalogs. Use the OpenCode shim:
|
|
624
|
+
|
|
625
|
+
```bash
|
|
626
|
+
ocmm --fast run "Review this change"
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
Before an explicit `--` separator, the shim consumes `--fast`; `ocmm -- --fast` instead passes `--fast` to OpenCode verbatim. The shim sets `OCMM_FAST=1` in its child environment only when it consumes that flag; otherwise it clears any inherited child value. For direct plugin activation, only the exact ambient values `OCMM_FAST=1` and `OCMM_FAST=true` enable fast routing; every other value is false.
|
|
630
|
+
|
|
631
|
+
`fastModels.providers` is an explicit, case-sensitive provider allowlist. Omitting it or leaving it empty disables promotion. For an allowlisted selected model, `fastModels.mappings` looks up the qualified original key `provider/model`; its value is a provider-local model ID (it may itself contain `/`), and the already-selected provider is retained. An explicitly owned mapping key is authoritative, including a self-map no-op.
|
|
632
|
+
|
|
633
|
+
Without an explicit mapping, ocmm tries `${modelID}-fast` only when that exact model exists in the selected provider's catalog. A selected model already ending in `-fast` is not promoted again.
|
|
634
|
+
|
|
518
635
|
## `ocmm` shim
|
|
519
636
|
|
|
520
637
|
The `ocmm` binary launches opencode with configurable config isolation. It merges providers from your global `opencode.json`, adds the ocmm plugin, and optionally strips the `oh-my-openagent` plugin to avoid collision.
|
|
@@ -522,6 +639,7 @@ The `ocmm` binary launches opencode with configurable config isolation. It merge
|
|
|
522
639
|
```bash
|
|
523
640
|
ocmm # start opencode (no isolation by default)
|
|
524
641
|
ocmm -p work run "hello" # select profile + run
|
|
642
|
+
ocmm --fast run "Review this change" # opt into fast model routing
|
|
525
643
|
ocmm --mode xdg run "hello" # full config isolation
|
|
526
644
|
ocmm --mode config-file -c run x # config-file mode + continue
|
|
527
645
|
ocmm --help
|
|
@@ -531,6 +649,7 @@ ocmm --help
|
|
|
531
649
|
|
|
532
650
|
```
|
|
533
651
|
-p, --profile <name> Select ocmm profile (sets OCMM_PROFILE)
|
|
652
|
+
--fast Enable opt-in fast model routing
|
|
534
653
|
--mode <m> Isolation: none|inline|config-file|config-dir|xdg (default: none)
|
|
535
654
|
--no-providers Don't merge providers from global config
|
|
536
655
|
--no-plugins Don't merge plugins from global config
|
|
@@ -544,7 +663,7 @@ ocmm --help
|
|
|
544
663
|
-- Separator; everything after passes to opencode verbatim
|
|
545
664
|
```
|
|
546
665
|
|
|
547
|
-
All non-ocmm args (including `-c`, `--continue`, `--model`, `run`, etc.) pass through to opencode.
|
|
666
|
+
All non-ocmm args (including `-c`, `--continue`, `--model`, `run`, etc.) pass through to opencode. Before the explicit `--` separator, `--fast` is an ocmm shim flag; after it, `ocmm -- --fast` passes that token through to OpenCode.
|
|
548
667
|
|
|
549
668
|
### Isolation modes
|
|
550
669
|
|
|
@@ -576,14 +695,24 @@ The CLI reads/writes the **user** config file at `~/.config/opencode/ocmm.json[c
|
|
|
576
695
|
|
|
577
696
|
## Runtime fallback
|
|
578
697
|
|
|
579
|
-
When a model call
|
|
698
|
+
When a model call falls through to generic runtime fallback (HTTP 429/5xx, or a message matching `retryOnPatterns`), ocmm:
|
|
580
699
|
|
|
581
700
|
1. Resolves the failing agent's `ModelRequirement` (user config -> built-in defaults).
|
|
582
701
|
2. Marks the just-failed model as failed with a timestamp.
|
|
583
702
|
3. Finds the next entry in the fallback chain that is not in cooldown (default 60s).
|
|
584
|
-
4. Dispatches a new `client.session.prompt` call with the next model, reusing the
|
|
703
|
+
4. Dispatches a new `client.session.prompt` call with the next model, reusing the latest contiguous user-message block.
|
|
585
704
|
5. Aborts the original session first (best-effort).
|
|
586
705
|
|
|
706
|
+
### Subagent 429 recovery
|
|
707
|
+
|
|
708
|
+
New child sessions have a dedicated recovery path only for retryable errors with an explicit HTTP status of `429`. It recognizes the OpenCode parent-session fields `parentID`, `parentId`, `parentSessionID`, and `parentSessionId` when the child is created; root sessions, untracked sessions, and regex-only matches remain on generic fallback. A non-429 error before the child enters the dedicated path leaves it on the generic path.
|
|
709
|
+
|
|
710
|
+
Each dedicated 429 waits for two signals before retrying or switching: its delay timer and the idle event owned by that error. Dedicated dispatches do **not** abort the child session; generic fallback continues to use a best-effort abort. Recovery hints longer than 10 minutes become a zero-delay probe, while hints of 10 minutes or less wait in full. With no hint, the wait uses capped equal-jitter exponential backoff (1-second base, 30-second cap).
|
|
711
|
+
|
|
712
|
+
`subagent429.maxRetries` defaults to 5 and is scoped to a model by default. Set it to 0 to prepare a switch immediately (the two signals still gate dispatch). A configured provider scope blocks every model of that provider, but only in the current child session. Every newly selected model starts with a fresh retry budget; `runtimeFallback.maxAttempts` counts only committed model switches, not same-model dedicated retries.
|
|
713
|
+
|
|
714
|
+
While a dedicated dispatch is active, the first queued provider outcome takes priority over idle. A queued 429 continues the dedicated flow after the active dispatch settles; a queued non-429 error hands off to generic fallback after settlement; and a bare `false` dispatch result with no queued outcome stops the dedicated flow. With `runtimeFallback.dispatch: false`, ocmm is observe-only and dispatches neither dedicated retries nor generic fallback. Dedicated state is never shared between child sessions.
|
|
715
|
+
|
|
587
716
|
```jsonc
|
|
588
717
|
"runtimeFallback": {
|
|
589
718
|
"enabled": true,
|
|
@@ -591,12 +720,30 @@ When a model call fails with a retryable error (HTTP 429/5xx, or a message match
|
|
|
591
720
|
"maxAttempts": 3,
|
|
592
721
|
"cooldownSeconds": 60,
|
|
593
722
|
"retryOnStatusCodes": [429, 500, 502, 503, 504],
|
|
594
|
-
"retryOnPatterns": ["rate limit", "overloaded", "..."]
|
|
723
|
+
"retryOnPatterns": ["rate limit", "overloaded", "..."],
|
|
724
|
+
"subagent429": {
|
|
725
|
+
"enabled": true,
|
|
726
|
+
"maxRetries": 5,
|
|
727
|
+
"providerScopes": {
|
|
728
|
+
"anthropic": "provider",
|
|
729
|
+
"openai": "model"
|
|
730
|
+
}
|
|
731
|
+
}
|
|
595
732
|
}
|
|
596
733
|
```
|
|
597
734
|
|
|
598
735
|
Abort errors are never retried. Deduplication is enforced via an in-flight `Set<sessionID>`.
|
|
599
736
|
|
|
737
|
+
### Subagent interruption recovery
|
|
738
|
+
|
|
739
|
+
The `subagent-interruption-recovery` hook is enabled by default and layers evidence correlation over the existing fallback ownership model:
|
|
740
|
+
|
|
741
|
+
- It reuses the existing 429/generic fallback controller and budget accounting.
|
|
742
|
+
- Correlation is keyed by child session and deduplicates parent `message.part.updated` task-part evidence.
|
|
743
|
+
- Child `session.error` events are treated as provider-error evidence in that correlation record.
|
|
744
|
+
- It never retries explicit abort, permission denial, unknown agent, deletion, or ordinary empty-output outcomes.
|
|
745
|
+
- The task-output adapter may append at most one manual continuation notice only when an explicit task identifier is observed in tool input/output or correlated parent-part evidence. It never substitutes `childSessionID` for `task_id`, dispatches from `tool.execute.after`, or synthesizes a parent prompt.
|
|
746
|
+
|
|
600
747
|
## Develop
|
|
601
748
|
|
|
602
749
|
```bash
|
package/dist/cli/shim.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* global opencode.json so you don't redefine providers.
|
|
8
8
|
*
|
|
9
9
|
* USAGE:
|
|
10
|
-
* ocmm [-p <name>] [-n] [--mode <m>] [--no-providers] [--no-plugins] [--ocmm-only]
|
|
10
|
+
* ocmm [-p <name>] [-n] [--fast] [--mode <m>] [--no-providers] [--no-plugins] [--ocmm-only]
|
|
11
11
|
* [--config-dir <path>] [--opencode <path-or-name>]
|
|
12
12
|
* [--keep-omo] [--reset] [-- <opencode args...>]
|
|
13
13
|
* ocmm --help
|
|
@@ -20,13 +20,14 @@
|
|
|
20
20
|
* config-dir OPENCODE_CONFIG_DIR env var (redirects config dir, uses --config-dir)
|
|
21
21
|
* xdg XDG_CONFIG_HOME env var (full isolation, uses --config-dir, can strip plugins)
|
|
22
22
|
*
|
|
23
|
-
* All flags except -p/--profile, --reset, and --help can also be set in
|
|
23
|
+
* All flags except -p/--profile, --fast, --reset, and --help can also be set in
|
|
24
24
|
* the \`shim\` section of ocmm.json[c]. CLI flags override config values.
|
|
25
25
|
*/
|
|
26
26
|
import type { ShimConfig, IsolationMode } from "../config/schema.ts";
|
|
27
27
|
interface ShimArgs {
|
|
28
28
|
profile?: string;
|
|
29
29
|
noProfile: boolean;
|
|
30
|
+
fast: boolean;
|
|
30
31
|
mode?: IsolationMode;
|
|
31
32
|
noProviders: boolean;
|
|
32
33
|
noPlugins: boolean;
|
|
@@ -61,6 +62,7 @@ export declare function buildIsolatedConfig(opts: {
|
|
|
61
62
|
keepOmo?: boolean;
|
|
62
63
|
}): OpencodeConfig;
|
|
63
64
|
export declare function parseArgs(argv: string[]): ShimArgs;
|
|
65
|
+
export declare function buildChildEnv(parent: NodeJS.ProcessEnv, args: ShimArgs): NodeJS.ProcessEnv;
|
|
64
66
|
/**
|
|
65
67
|
* Read the `shim` section from the global ocmm.json[c] to use as defaults.
|
|
66
68
|
* CLI flags override these; config provides the baseline.
|
package/dist/cli/shim.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* global opencode.json so you don't redefine providers.
|
|
8
8
|
*
|
|
9
9
|
* USAGE:
|
|
10
|
-
* ocmm [-p <name>] [-n] [--mode <m>] [--no-providers] [--no-plugins] [--ocmm-only]
|
|
10
|
+
* ocmm [-p <name>] [-n] [--fast] [--mode <m>] [--no-providers] [--no-plugins] [--ocmm-only]
|
|
11
11
|
* [--config-dir <path>] [--opencode <path-or-name>]
|
|
12
12
|
* [--keep-omo] [--reset] [-- <opencode args...>]
|
|
13
13
|
* ocmm --help
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* config-dir OPENCODE_CONFIG_DIR env var (redirects config dir, uses --config-dir)
|
|
21
21
|
* xdg XDG_CONFIG_HOME env var (full isolation, uses --config-dir, can strip plugins)
|
|
22
22
|
*
|
|
23
|
-
* All flags except -p/--profile, --reset, and --help can also be set in
|
|
23
|
+
* All flags except -p/--profile, --fast, --reset, and --help can also be set in
|
|
24
24
|
* the \`shim\` section of ocmm.json[c]. CLI flags override config values.
|
|
25
25
|
*/
|
|
26
26
|
import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync, copyFileSync } from "node:fs";
|
|
@@ -168,6 +168,7 @@ export function parseArgs(argv) {
|
|
|
168
168
|
noProviders: false,
|
|
169
169
|
noPlugins: false,
|
|
170
170
|
noProfile: false,
|
|
171
|
+
fast: false,
|
|
171
172
|
keepOmo: false,
|
|
172
173
|
reset: false,
|
|
173
174
|
help: false,
|
|
@@ -203,6 +204,9 @@ export function parseArgs(argv) {
|
|
|
203
204
|
case "-n":
|
|
204
205
|
args.noProfile = true;
|
|
205
206
|
break;
|
|
207
|
+
case "--fast":
|
|
208
|
+
args.fast = true;
|
|
209
|
+
break;
|
|
206
210
|
case "--no-providers":
|
|
207
211
|
args.noProviders = true;
|
|
208
212
|
break;
|
|
@@ -266,11 +270,27 @@ export function parseArgs(argv) {
|
|
|
266
270
|
}
|
|
267
271
|
return args;
|
|
268
272
|
}
|
|
273
|
+
export function buildChildEnv(parent, args) {
|
|
274
|
+
const env = { ...parent };
|
|
275
|
+
if (args.profile) {
|
|
276
|
+
env.OCMM_PROFILE = args.profile;
|
|
277
|
+
}
|
|
278
|
+
if (args.noProfile) {
|
|
279
|
+
env.OCMM_NO_PROFILE = "1";
|
|
280
|
+
}
|
|
281
|
+
if (args.fast) {
|
|
282
|
+
env.OCMM_FAST = "1";
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
delete env.OCMM_FAST;
|
|
286
|
+
}
|
|
287
|
+
return env;
|
|
288
|
+
}
|
|
269
289
|
function printHelp() {
|
|
270
290
|
console.log(`ocmm — launch opencode with isolated config
|
|
271
291
|
|
|
272
292
|
USAGE:
|
|
273
|
-
ocmm [-p <name>] [-n] [--mode <m>] [--no-providers] [--no-plugins] [--ocmm-only]
|
|
293
|
+
ocmm [-p <name>] [-n] [--fast] [--mode <m>] [--no-providers] [--no-plugins] [--ocmm-only]
|
|
274
294
|
[--config-dir <path>] [--opencode <path-or-name>]
|
|
275
295
|
[--keep-omo] [--reset] [-- <opencode args...>]
|
|
276
296
|
ocmm --help
|
|
@@ -278,6 +298,7 @@ USAGE:
|
|
|
278
298
|
OCMM FLAGS:
|
|
279
299
|
-p, --profile <name> Select ocmm profile at startup (sets OCMM_PROFILE)
|
|
280
300
|
-n, --no-profile Start without loading any profile (overrides activeProfile)
|
|
301
|
+
--fast Enable fast model routing (requires an allowlisted provider)
|
|
281
302
|
--mode <m> Isolation method: none|inline|config-file|config-dir|xdg
|
|
282
303
|
(default: none, or 'shim.mode' in ocmm.jsonc)
|
|
283
304
|
--no-providers Don't merge providers from global opencode config
|
|
@@ -313,7 +334,7 @@ PASSTHROUGH:
|
|
|
313
334
|
ocmm --mode inline run "hello" # inline config injection
|
|
314
335
|
ocmm --mode config-file -c run "x" # config-file mode + continue
|
|
315
336
|
|
|
316
|
-
All flags except -p/--profile, --reset, and --help can also be set in the \`shim\`
|
|
337
|
+
All flags except -p/--profile, --fast, --reset, and --help can also be set in the \`shim\`
|
|
317
338
|
section of ocmm.json[c]. CLI flags override config values.`);
|
|
318
339
|
}
|
|
319
340
|
/**
|
|
@@ -353,13 +374,7 @@ function main() {
|
|
|
353
374
|
mergePlugins: !noPlugins,
|
|
354
375
|
keepOmo,
|
|
355
376
|
});
|
|
356
|
-
const env =
|
|
357
|
-
if (args.profile) {
|
|
358
|
-
env.OCMM_PROFILE = args.profile;
|
|
359
|
-
}
|
|
360
|
-
if (args.noProfile) {
|
|
361
|
-
env.OCMM_NO_PROFILE = "1";
|
|
362
|
-
}
|
|
377
|
+
const env = buildChildEnv(process.env, args);
|
|
363
378
|
switch (mode) {
|
|
364
379
|
case "none": {
|
|
365
380
|
env.OPENCODE_CONFIG_CONTENT = JSON.stringify(config);
|
package/dist/cli/shim.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shim.js","sourceRoot":"","sources":["../../src/cli/shim.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shim.js","sourceRoot":"","sources":["../../src/cli/shim.ts"],"names":[],"mappings":"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"}
|