@dreb/coding-agent 2.57.1 → 2.58.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/README.md +4 -2
- package/dist/core/agent-session.d.ts +10 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +28 -3
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +1 -0
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-manager.d.ts +5 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +26 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/system-prompt.d.ts +2 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +6 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/index.d.ts +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +1 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/subagent.d.ts +29 -0
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js +48 -25
- package/dist/core/tools/subagent.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +3 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +11 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +15 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +2 -2
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +12 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +3 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/docs/dashboard.md +1 -1
- package/docs/rpc.md +11 -1
- package/docs/sdk.md +1 -1
- package/docs/settings.md +5 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -79,7 +79,7 @@ dreb
|
|
|
79
79
|
|
|
80
80
|
Or use a custom provider (corporate proxy, Bedrock, etc.) — see [Custom providers & models](#providers--models).
|
|
81
81
|
|
|
82
|
-
Then just talk to dreb. All 13 standard built-in tools are enabled by default: `read`, `write`, `edit`, `bash`, `grep`, `find`, `ls`, `web_search`, `web_fetch`, `subagent`, `wait`, `watch_github_ci`, and `ask_user`. Use `--tools` to restrict to a subset (e.g., `--tools read,grep,find,ls` for read-only). Three additional tools — `search`, `skill`, and `tasks_update` — are always active regardless of `--tools`. `suggest_next` is active by default but excluded when `--tools` is specified. The model uses these to fulfill your requests. Add capabilities via [skills](#skills), [prompt templates](#prompt-templates), [extensions](#extensions), or [packages](#packages).
|
|
82
|
+
Then just talk to dreb. All 13 standard built-in tools are enabled by default (unless `backgroundAgents.maxConcurrentSubagents` is `0`, which removes `subagent` from new parent sessions): `read`, `write`, `edit`, `bash`, `grep`, `find`, `ls`, `web_search`, `web_fetch`, `subagent`, `wait`, `watch_github_ci`, and `ask_user`. Use `--tools` to restrict to a subset (e.g., `--tools read,grep,find,ls` for read-only). Three additional tools — `search`, `skill`, and `tasks_update` — are always active regardless of `--tools`. `suggest_next` is active by default but excluded when `--tools` is specified. The model uses these to fulfill your requests. Add capabilities via [skills](#skills), [prompt templates](#prompt-templates), [extensions](#extensions), or [packages](#packages).
|
|
83
83
|
|
|
84
84
|
**Also available:** [`@dreb/telegram`](https://www.npmjs.com/package/@dreb/telegram) — run dreb as a Telegram bot with live tool status and visible results for user-facing tools (`npm install -g @dreb/telegram`). [`@dreb/dashboard`](https://www.npmjs.com/package/@dreb/dashboard) — run `dreb dashboard` for a browser UI with fleet overview, full chat steering, a TUI-parity rolling TPS indicator with long-term delta, generic fail-closed built-in slash-command discovery and execution, inline provider/API failures with partial output preserved, sanitized raster tool images plus sent user uploads retained as bounded transcript previews by default, a bounded all-agent subagent panel with drill-in, host file browser, dreb memory editor with exact-revision saves and automatic index cleanup on delete, curated appearance themes (per-browser light/dark), and resilient Tailscale/rotating-code pairing with a configurable 180-day default and advance expiry warnings (`npm install -g @dreb/dashboard`; see [docs/dashboard.md](docs/dashboard.md)). Tool images cross browser-facing transport as content-addressed references; browser-local Settings offers placeholders, bounded previews, or informed-opt-in originals, with size disclosure and confirmation above 1 MiB. Full-resolution HTML export remains self-contained. The Memories screen is dreb-only (`~/.dreb/memory` and populated active/on-disk-session project `.dreb/memory`; empty projects are omitted), shows complete indexes with a >200-line warning, opens local index links within the selected scope, replaces stale editor content with visible loading feedback, surfaces malformed entry frontmatter for repair, preserves drafts on conflicts, and does not create/rename entries or expose Claude paths. Compact SSE snapshots update live fleet cards without repeatedly fetching the cross-project inventory, and session drill-in hydrates state, messages, and background agents through one ordered snapshot request. Terminal provider failures show their reason on fleet cards, while transient failures clear terminal state when automatic retry begins and remain recorded inline on the failed attempt. Its top bar and persistent session header indicators report connecting, connected, retrying, resyncing, disconnected, or auth failed; bounded SSE replay plus an explicit snapshot barrier restores session state, tasks, and image references after a reload, restart, gap, backpressure disconnect, or stalled stream, while authenticated image routes recover bytes separately from authoritative transcripts.
|
|
85
85
|
|
|
@@ -389,9 +389,11 @@ Good Explore requests ask it to locate every renderer of a named component, enum
|
|
|
389
389
|
|
|
390
390
|
**Modes:**
|
|
391
391
|
- **Single** (`task`): One background agent
|
|
392
|
-
- **Parallel** (`tasks`): Up to 8
|
|
392
|
+
- **Parallel** (`tasks`): Up to 8 agents per call, with `backgroundAgents.maxConcurrentSubagents` running at a time (default 4)
|
|
393
393
|
- **Chain** (`chain`): Sequential pipeline where each step can reference the previous step's output via `{previous}`
|
|
394
394
|
|
|
395
|
+
Set `backgroundAgents.maxConcurrentSubagents` in `/settings`, dashboard Settings, or `settings.json` to control the concurrency of newly started parent sessions. A value of `0` removes the `subagent` tool from new parents and adds explicit system-prompt guidance that the parent must perform normally delegated work itself.
|
|
396
|
+
|
|
395
397
|
**Agent type and override inheritance:** The top-level `agent` parameter is inherited by parallel tasks and chain steps that don't specify their own. Precedence: per-task `agent` > top-level `agent` > default (`"Explore"`). The `model` and optional `thinking` parameters follow the same per-task-over-top-level inheritance. Explicit thinking accepts `off`, `minimal`, `low`, `medium`, `high`, or `xhigh`; unsupported levels for the resolved model fail before spawn. Omit `thinking` to preserve the child's normal settings/default behavior.
|
|
396
398
|
|
|
397
399
|
**Agent definitions** live in `~/.dreb/agents/` (global) and `.dreb/agents/` (project). Each is a markdown file with YAML frontmatter specifying `name`, `model` (with provider fallback list), and optional `systemPrompt`. Built-in agents include `Explore` (concrete evidence retrieval with no implementation work), `Sandbox` (restricted to `/tmp`), `feature-dev` (strong-tier coding), and several review agents.
|
|
@@ -122,6 +122,8 @@ export interface AgentSessionConfig {
|
|
|
122
122
|
modelRegistry: ModelRegistry;
|
|
123
123
|
/** Initial active built-in tool names. Default: [read, bash, edit, write] */
|
|
124
124
|
initialActiveToolNames?: string[];
|
|
125
|
+
/** Parent-session concurrency setting captured at startup. Zero disables the subagent tool. */
|
|
126
|
+
maxConcurrentSubagents?: number;
|
|
125
127
|
/**
|
|
126
128
|
* Override base tools (useful for custom runtimes).
|
|
127
129
|
*
|
|
@@ -244,6 +246,14 @@ export declare class AgentSession {
|
|
|
244
246
|
private _toolPromptGuidelines;
|
|
245
247
|
private _baseSystemPrompt;
|
|
246
248
|
private _uiType?;
|
|
249
|
+
private readonly _maxConcurrentSubagents;
|
|
250
|
+
private readonly _subagentsDisabledBySetting;
|
|
251
|
+
/**
|
|
252
|
+
* Session-owned concurrency gate. Created once and reused across `_buildRuntime` rebuilds so
|
|
253
|
+
* the running-child count stays accurate through `/reload` while children launched before the
|
|
254
|
+
* reload are still in flight.
|
|
255
|
+
*/
|
|
256
|
+
private readonly _subagentConcurrencyGate;
|
|
247
257
|
private performanceTracker;
|
|
248
258
|
private _ownsPerformanceTracker;
|
|
249
259
|
private _gitRepoState;
|