@aiwayds/dsh-tui-pi 0.1.1 → 0.4.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 (62) hide show
  1. package/README.md +175 -41
  2. package/lib/agent-manager.d.ts +125 -0
  3. package/lib/agent-manager.js +298 -0
  4. package/lib/agent-manager.js.map +1 -0
  5. package/lib/agents.d.ts +30 -0
  6. package/lib/agents.js +489 -0
  7. package/lib/agents.js.map +1 -0
  8. package/lib/append-system.d.ts +2 -0
  9. package/lib/append-system.js +1 -1
  10. package/lib/append-system.js.map +1 -1
  11. package/lib/dsh-events.d.ts +12 -0
  12. package/lib/editor.d.ts +58 -0
  13. package/lib/editor.js +92 -0
  14. package/lib/editor.js.map +1 -1
  15. package/lib/footer.d.ts +46 -0
  16. package/lib/footer.js +65 -0
  17. package/lib/footer.js.map +1 -1
  18. package/lib/hotkeys.d.ts +93 -0
  19. package/lib/hotkeys.js +305 -0
  20. package/lib/hotkeys.js.map +1 -0
  21. package/lib/index.js +342 -61
  22. package/lib/index.js.map +1 -1
  23. package/lib/keymap.d.ts +243 -0
  24. package/lib/keymap.js +245 -0
  25. package/lib/keymap.js.map +1 -0
  26. package/lib/live-widgets.d.ts +59 -49
  27. package/lib/live-widgets.js +174 -117
  28. package/lib/live-widgets.js.map +1 -1
  29. package/lib/panels.d.ts +177 -0
  30. package/lib/panels.js +331 -0
  31. package/lib/panels.js.map +1 -0
  32. package/lib/selectors.d.ts +12 -1
  33. package/lib/selectors.js +1 -1
  34. package/lib/selectors.js.map +1 -1
  35. package/lib/session.d.ts +25 -0
  36. package/lib/session.js +173 -12
  37. package/lib/session.js.map +1 -1
  38. package/lib/settings.d.ts +1 -2
  39. package/lib/subagent-policy.d.ts +88 -0
  40. package/lib/subagent-policy.js +189 -0
  41. package/lib/subagent-policy.js.map +1 -0
  42. package/lib/subagent-viewer.d.ts +49 -0
  43. package/lib/subagent-viewer.js +523 -0
  44. package/lib/subagent-viewer.js.map +1 -0
  45. package/lib/theme/index.js +4 -0
  46. package/lib/theme/index.js.map +1 -1
  47. package/lib/theme/palette.d.ts +21 -3
  48. package/lib/theme/palette.js +27 -6
  49. package/lib/theme/palette.js.map +1 -1
  50. package/lib/theme-settings.d.ts +71 -9
  51. package/lib/theme-settings.js +145 -21
  52. package/lib/theme-settings.js.map +1 -1
  53. package/lib/tui.d.ts +23 -9
  54. package/lib/tui.js +110 -7
  55. package/lib/tui.js.map +1 -1
  56. package/package.json +3 -4
  57. package/patches/@earendil-works__pi-tui.patch +206 -2
  58. package/scripts/dev-install.mjs +87 -0
  59. package/scripts/link-dsh-closure.mjs +85 -0
  60. package/templates/agents/ArtyDuck.md +11 -0
  61. package/templates/agents/oldfox.md +33 -0
  62. package/templates/agents/workhorse.md +34 -0
package/lib/session.d.ts CHANGED
@@ -20,6 +20,8 @@ export interface BridgeCallbacks {
20
20
  onStatus(status: 'idle' | 'running'): void;
21
21
  /** Live snapshot of tracked subagent (child session) rows, on any change. */
22
22
  onLive(agents: readonly AgentView[]): void;
23
+ /** A tracked child completed one more turn (the "rounds" the policy caps). */
24
+ onTurnCount?(childId: string, count: number): void;
23
25
  }
24
26
  /** Incrementally maintained footer statistics (all O(1) reads). */
25
27
  export interface BridgeStats {
@@ -51,6 +53,15 @@ export declare class DshSessionBridge {
51
53
  private readonly agentViews;
52
54
  /** Child session ids whose own events we fold into the agent views. */
53
55
  private readonly childSessions;
56
+ /**
57
+ * Per-child event ring buffer — the raw transcript the subagent viewer
58
+ * renders. Capped so a runaway child cannot grow the process unboundedly;
59
+ * the oldest events drop off (the viewer shows a "history truncated" hint
60
+ * when the cap is hit).
61
+ */
62
+ private readonly childLogs;
63
+ /** Per-child completed turn count — the "rounds" the policy caps. */
64
+ private readonly turnCounts;
54
65
  /**
55
66
  * Session ids that can own tracked children (this session first, then every
56
67
  * tracked child — delegation nests). Used to match `parentSession` headers
@@ -64,6 +75,18 @@ export declare class DshSessionBridge {
64
75
  getStats(): BridgeStats;
65
76
  /** Current session id, when one exists. */
66
77
  getSessionId(): SessionId | undefined;
78
+ /** Sorted snapshot of every tracked child (running and settled). */
79
+ getAgentViews(): readonly AgentView[];
80
+ /** Children still running (`outcome` unset) — the live count the guard caps. */
81
+ getLiveChildren(): readonly AgentView[];
82
+ /** The buffered transcript of one child, in log order (capped, maybe truncated). */
83
+ getChildLog(childId: string): readonly SessionEvent[];
84
+ /** Completed turn count of one child ("rounds"). */
85
+ getTurnCount(childId: string): number;
86
+ /** Whether one child settled (a continuable child may resume later). */
87
+ isChildSettled(childId: string): boolean;
88
+ /** True when the child's buffered transcript dropped its oldest events. */
89
+ isChildLogTruncated(childId: string): boolean;
67
90
  /** Queue one user prompt, creating the session lazily on first use. */
68
91
  prompt(text: string): Promise<void>;
69
92
  /** The live agent, creating the session lazily when needed. */
@@ -128,6 +151,8 @@ export declare class DshSessionBridge {
128
151
  private foldTracked;
129
152
  /** Push the current agent views (stable order) to the renderer. */
130
153
  private emitLive;
154
+ /** Append one child-session event to its transcript buffer, dropping the oldest at the cap. */
155
+ private appendChildLog;
131
156
  private ensureSession;
132
157
  /**
133
158
  * Seed `selection`/`selectionRef` from the composed default — without
package/lib/session.js CHANGED
@@ -13,7 +13,74 @@ import { installModelSelection } from '@deepseek-ai/dsh-agent';
13
13
  import { createUserMessage } from '@deepseek-ai/dsh-llm';
14
14
  import { settingsNamespace, SettingsConflictError } from '@deepseek-ai/dsh-settings';
15
15
  import { SessionId } from '@deepseek-ai/dsh-session';
16
+ import { readAppendSystem } from "./append-system.js";
16
17
  import { isAgentEnd, isAgentStart, isLlmRetry, isSubagentDescriptor } from "./dsh-events.js";
18
+ import { installSpawnToolFence } from "./subagent-policy.js";
19
+ /**
20
+ * Register the APPEND_SYSTEM.md section on ONE agent's scoped context, so the
21
+ * user's orchestrator identity applies to the TUI's main agent ONLY. A section
22
+ * registered from the TUI plugin's own (unscoped) context lands in the GLOBAL
23
+ * prompt layer, which every assembly merges - including every subagent's -
24
+ * and an "I am an orchestrator, never execute anything yourself" identity
25
+ * riding on child agents defeats its own purpose. Through the agent's scoped
26
+ * ctx (`agentCtx.systemPrompt` is caller-bound via cordis's traceable
27
+ * services) the section lands in that agent's own scope layer, which nothing
28
+ * else merges: subagent scopes are created without a parent binding, so the
29
+ * children never see it. Same mechanism dsh-subagent uses for per-child
30
+ * personas. Disposal is owned by the agent ctx (`ScopedLayers.effect` runs on
31
+ * `ctx.effect`), so the section dies with the agent.
32
+ */
33
+ function installAppendSystem(agentCtx) {
34
+ const appendSystem = readAppendSystem(); // read once at session startup and cache
35
+ agentCtx.systemPrompt.section({
36
+ name: 'dsh-tui-pi:append-system',
37
+ order: 200,
38
+ text: () => appendSystem,
39
+ });
40
+ }
41
+ /**
42
+ * Per-child transcript buffer cap. 2000 events covers a long delegated task's
43
+ * assistant/tool/user rows (~a few hundred KB at worst) while bounding a
44
+ * runaway child; the viewer flags truncation instead of dropping silently.
45
+ */
46
+ const CHILD_LOG_CAP = 2000;
47
+ /** Tail marker for `llm/retry` events (no text content — the row shows it is re-working). */
48
+ const RETRY_MARKER = '↻ retry';
49
+ /** Strip ANSI SGR escape sequences (the only escapes collected into assistant text). */
50
+ function stripAnsi(text) {
51
+ return text.replace(/\x1b\[[0-9;]*m/g, '');
52
+ }
53
+ /**
54
+ * Last visible text line of an `assistant/message` event's content, or
55
+ * undefined when it carries no text block. Defensive: reads through an
56
+ * `unknown` shape (the declaring package's content model is not imported
57
+ * here) and never throws — a missing/unexpected field simply yields nothing.
58
+ */
59
+ function lastTextLine(data) {
60
+ const content = data?.message?.content;
61
+ if (!Array.isArray(content))
62
+ return undefined;
63
+ let blockText;
64
+ for (const block of content) {
65
+ const b = block;
66
+ if (b?.type === 'text' && typeof b.text === 'string' && b.text !== '') {
67
+ blockText = b.text;
68
+ }
69
+ }
70
+ if (blockText === undefined)
71
+ return undefined;
72
+ // Last non-blank line of the text body, whitespace-folded so a wrapped/
73
+ // CRLF stream collapses onto one row.
74
+ const body = stripAnsi(blockText).replace(/\r\n/g, '\n').replace(/\r/g, '\n');
75
+ const lines = body.split('\n');
76
+ for (let i = lines.length - 1; i >= 0; i--) {
77
+ const line = lines[i].trim();
78
+ if (line === '')
79
+ continue;
80
+ return line.replace(/\s+/g, ' ');
81
+ }
82
+ return undefined;
83
+ }
17
84
  export class DshSessionBridge {
18
85
  ctx;
19
86
  callbacks;
@@ -39,6 +106,15 @@ export class DshSessionBridge {
39
106
  agentViews = new Map();
40
107
  /** Child session ids whose own events we fold into the agent views. */
41
108
  childSessions = new Set();
109
+ /**
110
+ * Per-child event ring buffer — the raw transcript the subagent viewer
111
+ * renders. Capped so a runaway child cannot grow the process unboundedly;
112
+ * the oldest events drop off (the viewer shows a "history truncated" hint
113
+ * when the cap is hit).
114
+ */
115
+ childLogs = new Map();
116
+ /** Per-child completed turn count — the "rounds" the policy caps. */
117
+ turnCounts = new Map();
42
118
  /**
43
119
  * Session ids that can own tracked children (this session first, then every
44
120
  * tracked child — delegation nests). Used to match `parentSession` headers
@@ -74,6 +150,7 @@ export class DshSessionBridge {
74
150
  && !this.agentViews.has(sessionKey)) {
75
151
  this.agentViews.set(sessionKey, {
76
152
  childId: sessionKey,
153
+ parentSession: String(header.parentSession),
77
154
  label: `subagent ${sessionKey.slice(0, 8)}`,
78
155
  startedAt: event.time,
79
156
  tokens: 0,
@@ -87,6 +164,12 @@ export class DshSessionBridge {
87
164
  if (this.trackedSessions.has(sessionKey)) {
88
165
  this.foldTracked(sessionKey, event);
89
166
  }
167
+ // Buffer the child's OWN log for the viewer (not the parent's workflow
168
+ // rows, which carry no child transcript). The buffer is capped; the
169
+ // viewer reports truncation when the head dropped off.
170
+ if (this.childSessions.has(sessionKey)) {
171
+ this.appendChildLog(sessionKey, event);
172
+ }
90
173
  if (this.sessionId !== undefined && session.id === this.sessionId) {
91
174
  this.applyEvent(event);
92
175
  this.callbacks.onEvent(event);
@@ -107,6 +190,30 @@ export class DshSessionBridge {
107
190
  getSessionId() {
108
191
  return this.sessionId;
109
192
  }
193
+ /** Sorted snapshot of every tracked child (running and settled). */
194
+ getAgentViews() {
195
+ return [...this.agentViews.values()].sort((a, b) => a.startedAt - b.startedAt || a.childId.localeCompare(b.childId));
196
+ }
197
+ /** Children still running (`outcome` unset) — the live count the guard caps. */
198
+ getLiveChildren() {
199
+ return this.getAgentViews().filter(view => view.outcome === undefined);
200
+ }
201
+ /** The buffered transcript of one child, in log order (capped, maybe truncated). */
202
+ getChildLog(childId) {
203
+ return this.childLogs.get(childId) ?? [];
204
+ }
205
+ /** Completed turn count of one child ("rounds"). */
206
+ getTurnCount(childId) {
207
+ return this.turnCounts.get(childId) ?? 0;
208
+ }
209
+ /** Whether one child settled (a continuable child may resume later). */
210
+ isChildSettled(childId) {
211
+ return this.agentViews.get(childId)?.outcome !== undefined;
212
+ }
213
+ /** True when the child's buffered transcript dropped its oldest events. */
214
+ isChildLogTruncated(childId) {
215
+ return (this.childLogs.get(childId)?.length ?? 0) >= CHILD_LOG_CAP;
216
+ }
110
217
  /** Queue one user prompt, creating the session lazily on first use. */
111
218
  async prompt(text) {
112
219
  const handle = await this.ensureSession();
@@ -169,6 +276,8 @@ export class DshSessionBridge {
169
276
  this.running = false;
170
277
  this.agentViews.clear();
171
278
  this.childSessions.clear();
279
+ this.childLogs.clear();
280
+ this.turnCounts.clear();
172
281
  this.trackedSessions.clear();
173
282
  this.runSeqToChild.clear();
174
283
  if (handle !== undefined)
@@ -197,6 +306,8 @@ export class DshSessionBridge {
197
306
  this.stats.cacheHitRate = undefined;
198
307
  this.agentViews.clear();
199
308
  this.childSessions.clear();
309
+ this.childLogs.clear();
310
+ this.turnCounts.clear();
200
311
  this.trackedSessions.clear();
201
312
  this.runSeqToChild.clear();
202
313
  this.emitLive();
@@ -237,9 +348,14 @@ export class DshSessionBridge {
237
348
  const resumed = await this.ctx.agents.resume({
238
349
  resumeSessionId: sessionId,
239
350
  agentOptions: this.selection ?? {},
240
- // Install the mutable selection so `/model` can live-switch the route.
351
+ // Install the mutable selection so `/model` can live-switch the route,
352
+ // the APPEND_SYSTEM.md section on this agent ONLY (never its
353
+ // subagents), and the spawn-tool hide so the agent sees a single
354
+ // `use_agent` delegation entry.
241
355
  setup: async (agentCtx) => {
242
356
  installModelSelection(agentCtx, this.selectionRef);
357
+ installAppendSystem(agentCtx);
358
+ installSpawnToolFence(agentCtx);
243
359
  },
244
360
  });
245
361
  this.handle = resumed;
@@ -351,14 +467,23 @@ export class DshSessionBridge {
351
467
  }
352
468
  }
353
469
  if (this.childSessions.has(sessionId)) {
470
+ // Round counting is view-independent: every completed turn of the child
471
+ // is one round, even once the view settled (continuable children resume).
472
+ if (event.type === 'turn/end') {
473
+ const count = (this.turnCounts.get(sessionId) ?? 0) + 1;
474
+ this.turnCounts.set(sessionId, count);
475
+ this.callbacks.onTurnCount?.(sessionId, count);
476
+ }
354
477
  const view = this.agentViews.get(sessionId);
355
478
  if (view !== undefined) {
356
479
  if (isSubagentDescriptor(event)) {
357
480
  if (view.provider !== event.data.provider
481
+ || view.mode !== event.data.mode
358
482
  || (event.data.label !== undefined && view.label !== event.data.label)) {
359
483
  this.agentViews.set(sessionId, {
360
484
  ...view,
361
485
  provider: event.data.provider,
486
+ mode: event.data.mode,
362
487
  ...(event.data.label === undefined ? {} : { label: event.data.label }),
363
488
  });
364
489
  changed = true;
@@ -366,21 +491,36 @@ export class DshSessionBridge {
366
491
  }
367
492
  else if (event.type === 'assistant/message') {
368
493
  const usage = event.data.usage;
369
- if (usage !== undefined) {
370
- const delta = usage.inputTokens + usage.outputTokens
494
+ const delta = usage === undefined
495
+ ? 0
496
+ : usage.inputTokens + usage.outputTokens
371
497
  + (usage.cacheReadTokens ?? 0) + (usage.cacheWriteTokens ?? 0);
372
- if (delta > 0) {
373
- this.agentViews.set(sessionId, { ...view, tokens: view.tokens + delta });
374
- changed = true;
375
- }
498
+ const lastLine = lastTextLine(event.data);
499
+ const tokensChanged = delta > 0;
500
+ const lineChanged = lastLine !== undefined && lastLine !== view.lastLine;
501
+ if (tokensChanged || lineChanged) {
502
+ // One set: neither delta nor lastLine may clobber the other.
503
+ this.agentViews.set(sessionId, {
504
+ ...view,
505
+ ...(tokensChanged ? { tokens: view.tokens + delta } : {}),
506
+ ...(lineChanged ? { lastLine } : {}),
507
+ });
508
+ changed = true;
376
509
  }
377
510
  }
378
511
  else if (isLlmRetry(event)) {
379
- if (view.retries !== event.data.retry || view.maxRetries !== event.data.maxRetries) {
512
+ // No text content — surface a fixed marker so the row shows the
513
+ // child is (re)working. Merged into one set so the retry counters
514
+ // and the marker can't clobber each other.
515
+ const retryChanged = view.retries !== event.data.retry || view.maxRetries !== event.data.maxRetries;
516
+ const lineChanged = view.lastLine !== RETRY_MARKER;
517
+ if (retryChanged || lineChanged) {
380
518
  this.agentViews.set(sessionId, {
381
519
  ...view,
382
- retries: event.data.retry,
383
- maxRetries: event.data.maxRetries,
520
+ ...(retryChanged
521
+ ? { retries: event.data.retry, maxRetries: event.data.maxRetries }
522
+ : {}),
523
+ ...(lineChanged ? { lastLine: RETRY_MARKER } : {}),
384
524
  });
385
525
  changed = true;
386
526
  }
@@ -390,6 +530,11 @@ export class DshSessionBridge {
390
530
  this.agentViews.set(sessionId, { ...view, lastTool: event.data.name });
391
531
  changed = true;
392
532
  }
533
+ const toolLine = `⚙ ${event.data.name}`;
534
+ if (toolLine !== view.lastLine) {
535
+ this.agentViews.set(sessionId, { ...view, lastLine: toolLine });
536
+ changed = true;
537
+ }
393
538
  }
394
539
  else if (event.type === 'request/context') {
395
540
  const contextWindow = event.data.contextWindow;
@@ -417,7 +562,18 @@ export class DshSessionBridge {
417
562
  }
418
563
  /** Push the current agent views (stable order) to the renderer. */
419
564
  emitLive() {
420
- this.callbacks.onLive([...this.agentViews.values()].sort((a, b) => a.startedAt - b.startedAt || a.childId.localeCompare(b.childId)));
565
+ this.callbacks.onLive(this.getAgentViews());
566
+ }
567
+ /** Append one child-session event to its transcript buffer, dropping the oldest at the cap. */
568
+ appendChildLog(childId, event) {
569
+ let log = this.childLogs.get(childId);
570
+ if (log === undefined) {
571
+ log = [];
572
+ this.childLogs.set(childId, log);
573
+ }
574
+ if (log.length >= CHILD_LOG_CAP)
575
+ log.shift();
576
+ log.push(event);
421
577
  }
422
578
  async ensureSession() {
423
579
  // A resume in flight would otherwise race this check: the handle is only
@@ -476,9 +632,14 @@ export class DshSessionBridge {
476
632
  sessionId: SessionId(crypto.randomUUID()),
477
633
  meta: { cwd: process.cwd() },
478
634
  agentOptions: this.selection ?? {},
479
- // Install the mutable selection so `/model` can live-switch the route.
635
+ // Install the mutable selection so `/model` can live-switch the route,
636
+ // the APPEND_SYSTEM.md section on this agent ONLY (never its
637
+ // subagents), and the spawn-tool hide so the agent sees a single
638
+ // `use_agent` delegation entry.
480
639
  setup: async (agentCtx) => {
481
640
  installModelSelection(agentCtx, this.selectionRef);
641
+ installAppendSystem(agentCtx);
642
+ installSpawnToolFence(agentCtx);
482
643
  },
483
644
  });
484
645
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/lib/settings.d.ts CHANGED
@@ -116,7 +116,7 @@ export interface CommitResult {
116
116
  error?: string;
117
117
  notice?: string;
118
118
  }
119
- interface EditOptions {
119
+ export interface EditOptions {
120
120
  title: string;
121
121
  subtitle: string;
122
122
  initial: string;
@@ -177,4 +177,3 @@ export interface OpenSettingsBrowserOptions {
177
177
  * committed writes, or -1 when no namespace is registered (nothing to show).
178
178
  */
179
179
  export declare function openSettingsBrowser(options: OpenSettingsBrowserOptions): Promise<number>;
180
- export {};
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Subagent policy for the TUI.
3
+ *
4
+ * Three knobs, all read live from the `dsh-tui` settings section at every
5
+ * decision point — no watcher needed (the /settings browser hot-applies, so
6
+ * the next guard execution / turn count reads the new value):
7
+ * - `maxAgents` caps concurrent live children. A `tools.guard` registered on
8
+ * the plugin root ctx denies model-facing spawn tools once the bridge's
9
+ * live child count meets the cap. Registered globally, every agent in the
10
+ * process obeys — this TUI's session and any delegation nesting. The
11
+ * workflow/ralph fan-out bypasses the tool pipeline (its worker thread
12
+ * spawns through the subagent provider directly), so a `subagent/start`
13
+ * listener prunes any newcomer that slips past the guard.
14
+ * - `disableSubagent` disables the plain native `subagent` tool: its calls
15
+ * are denied for every agent (and it is hidden from the main agent's
16
+ * catalog), so delegation goes through registered agent definitions
17
+ * (`~/.dsh/agents/*.md` via the registry's `use_agent`). `subagent_fork`,
18
+ * `workflow` and `ralph` stay available.
19
+ * - `maxRounds` caps a child's completed turns: on the bridge's `onTurnCount`
20
+ * the policy injects one plugin-sourced user message telling the child to
21
+ * wrap up. Queued as the child's next turn, it never interrupts work
22
+ * already underway.
23
+ */
24
+ import type { Context } from '@deepseek-ai/cordis';
25
+ /**
26
+ * Tool names the maxAgents guard intercepts: the native subagent tool, the
27
+ * one-shot fork variant, the workflow fan-out entrypoint, its ralph-loop
28
+ * sibling, and registry plugins' `use_agent`.
29
+ */
30
+ export declare const SPAWN_TOOLS: readonly string[];
31
+ /**
32
+ * The native plain one-shot spawn tool - the only spawn tool `disableSubagent`
33
+ * fences. Deliberately a single name: the TUI's user delegates through
34
+ * registered agents (`~/.dsh/agents/*.md` via `use_agent`) and wants ONLY the
35
+ * plain `subagent` tool off; `subagent_fork` (fork a running session),
36
+ * `workflow` and `ralph` (fan-out loops) stay available.
37
+ */
38
+ export declare const NATIVE_SPAWN_TOOLS: readonly string[];
39
+ /**
40
+ * Hide the plain `subagent` tool from ONE agent's tool catalog (best-effort).
41
+ * The disableSubagent guard DENIES calls at execution; this additionally
42
+ * makes the tool INVISIBLE to the model, so the agent sees the registered
43
+ * `use_agent` as its delegation entry and never attempts the fenced tool.
44
+ *
45
+ * `tools.restrict` requires a scoped context (it throws on a plain plugin
46
+ * ctx) - the agent setup passes its scoped `agentCtx`, exactly the surface
47
+ * dsh-subagent uses for `deep: 0` leaves. Best-effort by design: an absent
48
+ * tools service, or a restrict failure (an unknown tool name in this
49
+ * profile, a transient registration race), degrades silently - the live
50
+ * disableSubagent guard remains the enforcement backstop, so the fence is
51
+ * NEVER weaker for hiding. Restriction is a creation-time snapshot: a
52
+ * disableSubagent toggle takes effect for agents created afterwards (the
53
+ * guard, being live, applies immediately in both directions).
54
+ */
55
+ export declare function installSpawnToolFence(agentCtx: Context): void;
56
+ /** Injected into a child that reached `maxRounds` — wrap up and report back. */
57
+ export declare const SUMMARY_MESSAGE: string;
58
+ /** The policy's live backstop — the bridge's per-child accessors. */
59
+ export interface SubagentPolicyState {
60
+ /** Current live (not settled) children — the count the `maxAgents` guard caps. */
61
+ getLive(): readonly {
62
+ childId: string;
63
+ label: string;
64
+ }[];
65
+ /** Completed turn count of one child (the "rounds" `maxRounds` caps). */
66
+ getTurnCount(childId: string): number;
67
+ /** Whether one child already settled — a settled child is never re-awakened. */
68
+ isSettled(childId: string): boolean;
69
+ }
70
+ /** The running policy: the bridge's `onTurnCount` sink plus the teardown. */
71
+ export interface SubagentPolicy {
72
+ /** Called by the bridge whenever one child completed a turn. */
73
+ onTurnCount(childId: string, count: number): void;
74
+ /** Unwind the guard and event listeners. */
75
+ dispose(): void;
76
+ }
77
+ /**
78
+ * Install the subagent policy on the plugin root ctx.
79
+ *
80
+ * @param ctx - plugin context. The settings-service lookup inside the helpers
81
+ * is defensive: a settings-less deployment resolves the defaults, so the
82
+ * policy still enforces its documented caps.
83
+ * @param state - the host's live view (bridge.getLiveChildren /
84
+ * bridge.getTurnCount). The guard and the round injection read it at every
85
+ * decision — no snapshot, no watch.
86
+ * @returns the policy handle wired to the bridge's `onTurnCount`.
87
+ */
88
+ export declare function applySubagentPolicy(ctx: Context, state: SubagentPolicyState): SubagentPolicy;