@dreb/coding-agent 2.41.0 → 2.43.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 +2 -2
- package/dist/core/settings-manager.d.ts +2 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +4 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/modes/index.d.ts +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/rpc/index.d.ts +1 -1
- package/dist/modes/rpc/index.d.ts.map +1 -1
- package/dist/modes/rpc/index.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +14 -8
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +47 -6
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +20 -3
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +75 -9
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +41 -1
- 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 +56 -11
- package/docs/rpc.md +26 -3
- package/package.json +1 -1
package/docs/rpc.md
CHANGED
|
@@ -191,6 +191,9 @@ Response:
|
|
|
191
191
|
{"provider": "anthropic", "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5", "reasoning": true, "thinkingLevel": "high"}
|
|
192
192
|
],
|
|
193
193
|
"usingSubscription": false,
|
|
194
|
+
"tasks": [
|
|
195
|
+
{"id": "inspect", "title": "Inspect the implementation", "status": "in_progress"}
|
|
196
|
+
],
|
|
194
197
|
"thinkingLevel": "medium",
|
|
195
198
|
"isStreaming": false,
|
|
196
199
|
"isCompacting": false,
|
|
@@ -215,6 +218,25 @@ The `model` field is a full [Model](#model) object or `null`. `scopedModels` is
|
|
|
215
218
|
|
|
216
219
|
`contextUsage` carries the same numbers the TUI footer shows, computed by the session itself — clients must render these rather than deriving their own estimate. `tokens` and `percent` are `null` when usage is unknown (right after compaction, before the next LLM response). The whole field is omitted when no model is set or the model has no context window.
|
|
217
220
|
|
|
221
|
+
`tasks` is the current `RpcSessionState` task list. Every task has a stable `id`, `title`, and `pending`, `in_progress`, or `completed` status. It is replaced atomically by each [`tasks_update`](#event-types) event; clients restoring state after a hard refresh or recovery gap should use this snapshot rather than reconstructing tasks from a partial event history.
|
|
222
|
+
|
|
223
|
+
#### get_dashboard_snapshot
|
|
224
|
+
|
|
225
|
+
Capture the dashboard-visible parent-session state, full parent transcript, and background-agent registry at one RPC command boundary. This is for authoritative recovery, not ordinary incremental refreshes.
|
|
226
|
+
|
|
227
|
+
```json
|
|
228
|
+
{"id": "snapshot-7", "type": "get_dashboard_snapshot"}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
The `RpcDashboardSnapshot` result is a `snapshotId`, a complete `RpcSessionState` (including `tasks`), `messages`, and `backgroundAgents`. The RPC child writes a `RpcDashboardSnapshotBarrierEvent` to stdout **immediately before** the matching response line:
|
|
232
|
+
|
|
233
|
+
```json
|
|
234
|
+
{"type":"dashboard_snapshot_barrier","snapshotId":"snapshot-7"}
|
|
235
|
+
{"id":"snapshot-7","type":"response","command":"get_dashboard_snapshot","success":true,"data":{"snapshotId":"snapshot-7","state":{...},"messages":[...],"backgroundAgents":[...]}}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Stdout JSONL ordering is the contract: a relay records its current event-stream sequence when the marker arrives, before resolving the response, and pairs the snapshot only with that exact marker. The dashboard returns that captured sequence as `/api/resync.barrierSeq`; consumers discard queued events through it and replay only later events. The marker itself is not broadcast as another browser event, so one recovering client does not interrupt healthy clients. Do not infer ordering from request/response timing; see [dashboard recovery](dashboard.md#live-connection-and-recovery).
|
|
239
|
+
|
|
218
240
|
#### get_resources
|
|
219
241
|
|
|
220
242
|
Get loaded resource metadata for the current session. This returns paths/names/descriptions only — it does not include context file contents, prompt bodies, skill bodies, or system prompt text.
|
|
@@ -1229,7 +1251,7 @@ A dashboard settings tab typically reads `get_state` for what is active now and
|
|
|
1229
1251
|
|
|
1230
1252
|
#### get_settings
|
|
1231
1253
|
|
|
1232
|
-
Get persistent settings. Ordinary fields are the merged global + project view; the nested-context trust fields are always global-only.
|
|
1254
|
+
Get persistent settings. Before replying, RPC flushes pending settings writes, reloads durable global and project settings, and then reads the merged view; reopening dashboard Settings therefore sees external file edits. A pending write failure, unreadable file, parse error, or reload failure returns an explicit RPC error rather than a stale snapshot. Ordinary fields are the merged global + project view; the nested-context trust fields are always global-only.
|
|
1233
1255
|
|
|
1234
1256
|
```json
|
|
1235
1257
|
{"type": "get_settings"}
|
|
@@ -1554,7 +1576,7 @@ Response:
|
|
|
1554
1576
|
|
|
1555
1577
|
## Events
|
|
1556
1578
|
|
|
1557
|
-
|
|
1579
|
+
`RpcEvent` messages are streamed to stdout as JSON lines during agent operation. Agent/session events and `dashboard_snapshot_barrier` do not include an `id` field; extension UI requests include an `id` so clients can respond.
|
|
1558
1580
|
|
|
1559
1581
|
### Event Types
|
|
1560
1582
|
|
|
@@ -1581,7 +1603,8 @@ Events are streamed to stdout as JSON lines during agent operation. Events do NO
|
|
|
1581
1603
|
| `background_agent_event` | Relayed event from a background subagent's own stream |
|
|
1582
1604
|
| `parent_paused_for_background_agents` | Parent paused waiting on background agents |
|
|
1583
1605
|
| `session_name_changed` | Session display name changed (manual rename, extension rename, or auto-title) |
|
|
1584
|
-
| `tasks_update` | Session task list replaced (
|
|
1606
|
+
| `tasks_update` | Session task list atomically replaced (each task has `id`, `title`, and status) |
|
|
1607
|
+
| `dashboard_snapshot_barrier` | Ordering marker emitted immediately before a successful `get_dashboard_snapshot` response; pair only the matching `snapshotId` (see [Dashboard snapshots](#get_dashboard_snapshot)) |
|
|
1585
1608
|
| `suggest_next` | Agent suggested a next command |
|
|
1586
1609
|
| `extension_error` | Extension threw an error |
|
|
1587
1610
|
|