@dreb/coding-agent 2.65.0 → 2.66.1

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 (39) hide show
  1. package/README.md +4 -0
  2. package/dist/core/agent-session.d.ts.map +1 -1
  3. package/dist/core/agent-session.js +15 -5
  4. package/dist/core/agent-session.js.map +1 -1
  5. package/dist/core/extensions/types.d.ts +3 -5
  6. package/dist/core/extensions/types.d.ts.map +1 -1
  7. package/dist/core/extensions/types.js.map +1 -1
  8. package/dist/core/model-registry.d.ts.map +1 -1
  9. package/dist/core/model-registry.js +12 -0
  10. package/dist/core/model-registry.js.map +1 -1
  11. package/dist/core/settings-manager.d.ts +9 -0
  12. package/dist/core/settings-manager.d.ts.map +1 -1
  13. package/dist/core/settings-manager.js +8 -0
  14. package/dist/core/settings-manager.js.map +1 -1
  15. package/dist/core/tools/subagent.d.ts +10 -1
  16. package/dist/core/tools/subagent.d.ts.map +1 -1
  17. package/dist/core/tools/subagent.js +59 -7
  18. package/dist/core/tools/subagent.js.map +1 -1
  19. package/dist/modes/interactive/components/settings-selector.d.ts +3 -0
  20. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  21. package/dist/modes/interactive/components/settings-selector.js +10 -0
  22. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  23. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  24. package/dist/modes/interactive/interactive-mode.js +6 -1
  25. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  26. package/dist/modes/rpc/rpc-mode.d.ts +2 -2
  27. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  28. package/dist/modes/rpc/rpc-mode.js +6 -0
  29. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  30. package/dist/modes/rpc/rpc-types.d.ts +4 -0
  31. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  32. package/dist/modes/rpc/rpc-types.js.map +1 -1
  33. package/docs/agent-models.md +14 -0
  34. package/docs/compaction.md +1 -1
  35. package/docs/extensions.md +2 -4
  36. package/docs/models.md +4 -2
  37. package/docs/rpc.md +6 -2
  38. package/docs/settings.md +1 -0
  39. package/package.json +1 -1
package/docs/rpc.md CHANGED
@@ -1331,7 +1331,7 @@ Note: with `summarize: true` the command is LLM-bound and can take a while. `Rpc
1331
1331
 
1332
1332
  Persistent settings, backed by the settings file (see [settings.md](settings.md)). They are normally distinct from live session state, with global-only control/security-policy exceptions:
1333
1333
 
1334
- - **Persistent defaults** (`get_settings` / `set_settings`): provider/model, thinking level, queue modes, compaction/retry/image/skill/thinking-display/transport toggles, automatic-compaction continuation, `maxConcurrentSubagents`, `enabledModels`, `tabTitle`, and per-agent model fallback lists seed fresh runtimes. Writing these ordinary defaults does **not** change a running session.
1334
+ - **Persistent defaults** (`get_settings` / `set_settings`): provider/model, thinking level, queue modes, compaction/retry/image/skill/thinking-display/transport toggles, automatic-compaction continuation, `maxConcurrentSubagents`, `enabledModels`, `tabTitle`, and per-agent model fallback lists seed fresh runtimes. Writing these ordinary defaults does **not** change a running session—except `singleModelMode`, which is read at each subagent spawn, so a write takes effect from the next spawn in the writing session (and from session start everywhere else).
1335
1335
  - **Global nested-context trust policy** (`autoLoadNestedContext`, `trustedContextFolders`, `effectiveTrustedContextRoots`, and the trust commands below): this is read from `~/.dreb/agent/settings.json` only, never project settings. Active main/subagent processes observe it for **future lazy nested/out-of-cwd loads**; it cannot remove content already injected into a conversation. It does not govern the separate initial upward context scan from the launch cwd.
1336
1336
  - **Global Dispatch Arbiter policy** (`subagentArbiter`): the complete object is read/written globally and project settings cannot shadow it. Enabled runtimes consume it before future subagent spawns; it does not rewrite already-started children.
1337
1337
  - **Runtime state** (`get_state` / `set_model` / `set_thinking_level` / `set_steering_mode` / `set_follow_up_mode` / `set_auto_compaction` / `set_auto_retry`): the state of the live session. Note that the runtime setters also persist their values as new defaults as a side effect.
@@ -1370,6 +1370,7 @@ Response:
1370
1370
  "effectiveTrustedContextRoots": ["/home/user/src/my-company"],
1371
1371
  "transport": "sse",
1372
1372
  "hideThinkingBlock": false,
1373
+ "singleModelMode": false,
1373
1374
  "agentModels": {
1374
1375
  "Explore": ["anthropic/sonnet", "openai/gpt-5"]
1375
1376
  },
@@ -1514,6 +1515,7 @@ Response is the full settings snapshot after the write (same shape as `get_setti
1514
1515
  "effectiveTrustedContextRoots": ["/home/user/src/my-company"],
1515
1516
  "transport": "sse",
1516
1517
  "hideThinkingBlock": false,
1518
+ "singleModelMode": false,
1517
1519
  "agentModels": {}
1518
1520
  }
1519
1521
  }
@@ -1541,6 +1543,7 @@ Project-shadow warning example (the global write still lands, but the returned m
1541
1543
  "effectiveTrustedContextRoots": [],
1542
1544
  "transport": "sse",
1543
1545
  "hideThinkingBlock": false,
1546
+ "singleModelMode": false,
1544
1547
  "agentModels": {
1545
1548
  "Explore": ["project/model"]
1546
1549
  },
@@ -1570,6 +1573,7 @@ Valid keys and values:
1570
1573
  | `trustedContextFolders` | Replaces the global list atomically. Array of non-empty paths that expand to absolute, existing directories; each is canonicalized with native `realpath`, then deduplicated/subsumed. Relative, missing, non-directory, and broken-symlink entries are rejected. |
1571
1574
  | `transport` | `"sse"`, `"websocket"`, `"auto"` |
1572
1575
  | `hideThinkingBlock` | boolean |
1576
+ | `singleModelMode` | boolean; default `false`. When `true`, every subagent runs on the parent session's model — per-invocation overrides, per-agent model lists, agent-definition models, and the dispatch arbiter are bypassed, and any requested model selection is reported as a warning prepended to the child's output |
1573
1577
  | `agentModels` | Plain object mapping agent names to arrays of non-empty model id strings; empty arrays remove the global entry for that agent |
1574
1578
  | `enabledModels` | Non-empty ordered array of available exact `provider/model` references, or explicit `null` to remove the global filter and restore implicit all. Duplicate, glob, fuzzy, and thinking-suffix entries are rejected. |
1575
1579
  | `subagentArbiter` | Complete global-only object or `null`. Keys: `enabled` boolean, exact available `model`, optional valid/capability-supported `thinking`, non-empty `guidePath`. Enabling requires `model`. Unknown nested keys are rejected. |
@@ -1766,7 +1770,7 @@ Response:
1766
1770
  | `tool_execution_update` | Tool execution progress (streaming output) |
1767
1771
  | `tool_execution_end` | Tool completes |
1768
1772
  | `stream_retry` | Stream dropped mid-turn; retrying (partial output discarded) |
1769
- | `length_retry` | Response hit the token limit; retrying with a larger budget |
1773
+ | `length_retry` | Response hit the token limit; retrying at the configured output limit |
1770
1774
  | `auto_compaction_start` | Auto-compaction begins |
1771
1775
  | `auto_compaction_end` | Auto-compaction completes |
1772
1776
  | `context_window_upgrade` | Wire model tier auto-upgraded (e.g. Kimi K3 256k → 1M); includes `provider`, `modelId`, `fromContextWindow`, `toContextWindow` |
package/docs/settings.md CHANGED
@@ -19,6 +19,7 @@ Edit directly or use `/settings` for common options.
19
19
  | `defaultModel` | string | - | Default model ID |
20
20
  | `defaultThinkingLevel` | string | - | `"off"`, `"minimal"`, `"low"`, `"medium"`, `"high"`, `"xhigh"`, `"max"` |
21
21
  | `hideThinkingBlock` | boolean | `false` | Hide thinking blocks in output |
22
+ | `singleModelMode` | boolean | `false` | Force every subagent to run on the parent session's model — per-invocation overrides, per-agent model lists, agent-definition models, and the dispatch arbiter are bypassed, and any requested model selection is reported as a warning prepended to the child's output. See [agent-models.md](agent-models.md#single-model-mode) |
22
23
  | `thinkingBudgets` | object | - | Custom token budgets per thinking level |
23
24
  | `agentModels.models` | object | - | Per-agent model fallback lists for subagents (map of agent name → ordered model IDs). See [agent-models.md](agent-models.md) |
24
25
  | `modelSettings` | object | - | Per-model thinking-display and provider/model system-prompt overrides. See [modelSettings](#modelsettings) |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreb/coding-agent",
3
- "version": "2.65.0",
3
+ "version": "2.66.1",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "drebConfig": {