@dreb/coding-agent 2.24.0 → 2.25.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.
Files changed (35) hide show
  1. package/README.md +2 -0
  2. package/dist/core/agent-session.d.ts +11 -0
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +23 -1
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/sdk.d.ts.map +1 -1
  7. package/dist/core/sdk.js +4 -0
  8. package/dist/core/sdk.js.map +1 -1
  9. package/dist/core/settings-manager.d.ts +14 -0
  10. package/dist/core/settings-manager.d.ts.map +1 -1
  11. package/dist/core/settings-manager.js +41 -0
  12. package/dist/core/settings-manager.js.map +1 -1
  13. package/dist/core/tools/index.d.ts +1 -1
  14. package/dist/core/tools/index.d.ts.map +1 -1
  15. package/dist/core/tools/index.js +1 -1
  16. package/dist/core/tools/index.js.map +1 -1
  17. package/dist/core/tools/subagent.d.ts +4 -1
  18. package/dist/core/tools/subagent.d.ts.map +1 -1
  19. package/dist/core/tools/subagent.js +16 -11
  20. package/dist/core/tools/subagent.js.map +1 -1
  21. package/dist/modes/interactive/components/settings-selector.d.ts +36 -1
  22. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  23. package/dist/modes/interactive/components/settings-selector.js +195 -1
  24. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  25. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  26. package/dist/modes/interactive/interactive-mode.js +24 -1
  27. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  28. package/dist/modes/interactive/tab-title.d.ts +5 -0
  29. package/dist/modes/interactive/tab-title.d.ts.map +1 -1
  30. package/dist/modes/interactive/tab-title.js +6 -0
  31. package/dist/modes/interactive/tab-title.js.map +1 -1
  32. package/docs/agent-models.md +64 -0
  33. package/docs/mach6.md +2 -0
  34. package/docs/settings.md +18 -0
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -359,6 +359,8 @@ The `subagent` tool delegates tasks to independent child agent processes. Each s
359
359
 
360
360
  **Model availability probes:** When an agent definition specifies a fallback list (comma-separated models), each model is verified with a lightweight API call via the same `streamSimple` path the agent loop uses before the subagent is spawned. The probe uses normal coding-agent thinking defaults and does not pass a synthetic `maxTokens` override, which keeps the request shape representative for reasoning models as well as non-reasoning models. Models that fail the probe (rate limit, quota exhaustion, auth failure, timeout) are skipped with a loud log line, and the next fallback is tried. If all configured models fail, the parent session's model is used as a last resort. Per-invocation model overrides and single-model configs skip probing entirely.
361
361
 
362
+ **Per-agent model overrides:** The model used by each agent type can be overridden via the `agentModels.models` setting (a map of agent name → ordered fallback list) without copying or editing the agent definition `.md` files. Configure it in `settings.json` or via `/settings` → **Agent Models**. Resolution order: per-invocation `model` override → `agentModels` setting → agent definition `model` → parent session model. See [docs/agent-models.md](docs/agent-models.md).
363
+
362
364
  **Session metadata:** Each child process records its agent type in the session JSONL header (`agentType` field), providing an audit trail of which agent definition executed the work.
363
365
 
364
366
  ---
@@ -246,6 +246,17 @@ export declare class AgentSession {
246
246
  * Used after both initial load (sdk.ts) and user-initiated reload.
247
247
  */
248
248
  warnResourceDiagnostics(resourceLoader: ResourceLoader): void;
249
+ /**
250
+ * Detect agentModels settings keys that reference agents which no longer exist
251
+ * (e.g. an upstream agent was renamed or removed) and surface a LOUD warning.
252
+ *
253
+ * Such keys are silently ignored during resolution — getAgentModelsForAgent
254
+ * never matches them — so without this check a stale override would vanish
255
+ * with no signal to the user. The agent-name keys must match exactly how
256
+ * discoverAgentTypes keys agents (case-sensitive, e.g. "Explore"), which is
257
+ * the same lookup getAgentModelsForAgent uses.
258
+ */
259
+ warnStaleAgentModelKeys(): void;
249
260
  /**
250
261
  * Surface a warning in the session so both the human and the AI agent can see it.
251
262
  * During streaming: steers the warning as a user message into the conversation.