@wrongstack/core 0.73.1 → 0.82.6
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/dist/{agent-bridge-C0Ze7Ldm.d.ts → agent-bridge-C9P_HPez.d.ts} +2 -2
- package/dist/{agent-subagent-runner-BmITbs1Q.d.ts → agent-subagent-runner-2Aq0jOSj.d.ts} +107 -102
- package/dist/{compactor-D_ExJajC.d.ts → compactor-CJq7LQev.d.ts} +3 -3
- package/dist/{config-Dy0CK_o6.d.ts → config-_DZ7dN-T.d.ts} +77 -75
- package/dist/{context-y87Jc5ei.d.ts → context-ToHAp4-U.d.ts} +119 -90
- package/dist/coordination/index.d.ts +16 -16
- package/dist/coordination/index.js +382 -43
- package/dist/coordination/index.js.map +1 -1
- package/dist/defaults/index.d.ts +31 -31
- package/dist/defaults/index.js +524 -110
- package/dist/defaults/index.js.map +1 -1
- package/dist/{director-state-BmYi3DGA.d.ts → director-state-CgIc30qi.d.ts} +19 -19
- package/dist/{events-BBAlxBuw.d.ts → events-DnRqXaZ3.d.ts} +77 -39
- package/dist/execution/index.d.ts +53 -53
- package/dist/execution/index.js +67 -23
- package/dist/execution/index.js.map +1 -1
- package/dist/extension/index.d.ts +9 -9
- package/dist/extension/index.js +8 -1
- package/dist/extension/index.js.map +1 -1
- package/dist/{goal-store-C7jcumEh.d.ts → goal-store-DvWLNu52.d.ts} +4 -4
- package/dist/{index-yQbZ2NQx.d.ts → index-BNOLadHw.d.ts} +28 -28
- package/dist/{index-BN6i2Nfg.d.ts → index-N0_c4bHQ.d.ts} +45 -45
- package/dist/index.d.ts +233 -160
- package/dist/index.js +825 -160
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/index.d.ts +9 -9
- package/dist/infrastructure/index.js +29 -7
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/kernel/index.d.ts +14 -14
- package/dist/kernel/index.js +7 -0
- package/dist/kernel/index.js.map +1 -1
- package/dist/logger-B72yyPc6.d.ts +12 -0
- package/dist/{logger-bOzkF5LL.d.ts → logger-C_27pj9i.d.ts} +12 -4
- package/dist/{mcp-servers-T0O6UN_w.d.ts → mcp-servers-Dck3T85_.d.ts} +20 -20
- package/dist/{mode-BO4SEUIv.d.ts → mode-CHo2XtHs.d.ts} +4 -4
- package/dist/models/index.d.ts +10 -10
- package/dist/models/index.js +8 -2
- package/dist/models/index.js.map +1 -1
- package/dist/{models-registry-BcYJDKLm.d.ts → models-registry-Be3osGt5.d.ts} +28 -28
- package/dist/{models-registry-Cuq1C8V9.d.ts → models-registry-Boz639EI.d.ts} +12 -12
- package/dist/{multi-agent-coordinator-BSBbZt0e.d.ts → multi-agent-coordinator-DllpCVkF.d.ts} +12 -12
- package/dist/{null-fleet-bus-BCIRT_nV.d.ts → null-fleet-bus-BY0AN-sr.d.ts} +129 -120
- package/dist/observability/index.d.ts +41 -41
- package/dist/observability/index.js.map +1 -1
- package/dist/{observability-BhnVLBLS.d.ts → observability-CoSNZdhX.d.ts} +4 -4
- package/dist/{parallel-eternal-engine-CjAYGaCw.d.ts → parallel-eternal-engine-D402RASp.d.ts} +49 -49
- package/dist/{path-resolver-BnqXa9Ze.d.ts → path-resolver-UPFTsDyD.d.ts} +6 -6
- package/dist/{permission-V5BLOrY6.d.ts → permission-14CChMmO.d.ts} +10 -8
- package/dist/{permission-policy-CBVx-d-8.d.ts → permission-policy-gW5htOo1.d.ts} +7 -7
- package/dist/{plan-templates-DBgrTGPu.d.ts → plan-templates-DRvPgkfZ.d.ts} +70 -32
- package/dist/{provider-runner-n3KkHT_w.d.ts → provider-runner-COAJM8tC.d.ts} +6 -6
- package/dist/{retry-policy-CG3qvH_e.d.ts → retry-policy-DSu6O6rD.d.ts} +4 -4
- package/dist/sdd/index.d.ts +47 -47
- package/dist/sdd/index.js +47 -22
- package/dist/sdd/index.js.map +1 -1
- package/dist/security/index.d.ts +6 -6
- package/dist/security/index.js +7 -1
- package/dist/security/index.js.map +1 -1
- package/dist/{selector-RvBR_YRW.d.ts → selector-11-fm95U.d.ts} +2 -2
- package/dist/{session-event-bridge-CDHxcmQU.d.ts → session-event-bridge-D0u-x576.d.ts} +7 -7
- package/dist/{session-reader-BIpwM60D.d.ts → session-reader-BQU-toaN.d.ts} +23 -23
- package/dist/{skill-CxuWrsKK.d.ts → skill-BJeF2DwY.d.ts} +1 -1
- package/dist/skills/index.d.ts +9 -9
- package/dist/skills/index.js +15 -3
- package/dist/skills/index.js.map +1 -1
- package/dist/storage/index.d.ts +15 -15
- package/dist/storage/index.js +398 -80
- package/dist/storage/index.js.map +1 -1
- package/dist/{system-prompt-CA11g6Jo.d.ts → system-prompt-C0rLCeyn.d.ts} +16 -11
- package/dist/{task-graph-D1YQbpxF.d.ts → task-graph-CikNdRTG.d.ts} +22 -22
- package/dist/types/index.d.ts +25 -25
- package/dist/types/index.js +61 -12
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +46 -45
- package/dist/utils/index.js +64 -13
- package/dist/utils/index.js.map +1 -1
- package/dist/{wstack-paths-eMXnY1_X.d.ts → wstack-paths-BQMvEllz.d.ts} +10 -3
- package/package.json +1 -1
- package/dist/logger-DDd5C--Z.d.ts +0 -12
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { c as AgentPhase, b as AgentDefinition, d as DefaultMultiAgentCoordinator, f as DispatchClassifier } from './multi-agent-coordinator-
|
|
2
|
-
import { F as FleetBus, r as FleetUsage, L as SubagentConfig, s as FleetUsageAggregator, X as TaskResult, o as CoordinatorStatus, Y as TaskSpec, u as MultiAgentConfig, U as SubagentRunner } from './agent-subagent-runner-
|
|
3
|
-
import { B as SessionWriter, Q as Tool, y as SessionStore } from './context-
|
|
1
|
+
import { c as AgentPhase, b as AgentDefinition, d as DefaultMultiAgentCoordinator, f as DispatchClassifier } from './multi-agent-coordinator-DllpCVkF.js';
|
|
2
|
+
import { F as FleetBus, r as FleetUsage, L as SubagentConfig, s as FleetUsageAggregator, X as TaskResult, o as CoordinatorStatus, Y as TaskSpec, u as MultiAgentConfig, U as SubagentRunner } from './agent-subagent-runner-2Aq0jOSj.js';
|
|
3
|
+
import { B as SessionWriter, Q as Tool, y as SessionStore } from './context-ToHAp4-U.js';
|
|
4
|
+
import { B as BrainArbiter, E as EventBus } from './events-DnRqXaZ3.js';
|
|
4
5
|
import { EventEmitter } from 'node:events';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { I as InMemoryAgentBridge } from './agent-bridge-C0Ze7Ldm.js';
|
|
6
|
+
import { a as DirectorStateSnapshot } from './director-state-CgIc30qi.js';
|
|
7
|
+
import { r as ModelMatrixEntry } from './config-_DZ7dN-T.js';
|
|
8
|
+
import { I as InMemoryAgentBridge } from './agent-bridge-C9P_HPez.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Agent catalog aggregator.
|
|
@@ -51,13 +51,13 @@ interface DirectorAlert {
|
|
|
51
51
|
/** Human-readable message for UI/logs */
|
|
52
52
|
message: string;
|
|
53
53
|
/** Budget kind that triggered this alert, if any */
|
|
54
|
-
budgetKind?: 'timeout' | 'idle_timeout' | 'iterations' | 'tool_calls' | 'tokens' | 'cost';
|
|
54
|
+
budgetKind?: 'timeout' | 'idle_timeout' | 'iterations' | 'tool_calls' | 'tokens' | 'cost' | undefined;
|
|
55
55
|
/** Elapsed ms at time of alert */
|
|
56
|
-
elapsedMs?: number;
|
|
56
|
+
elapsedMs?: number | undefined;
|
|
57
57
|
/** Limit that was hit */
|
|
58
|
-
limit?: number;
|
|
58
|
+
limit?: number | undefined;
|
|
59
59
|
/** /btw notes the director has collected (may be empty) */
|
|
60
|
-
btwNotes?: string[];
|
|
60
|
+
btwNotes?: string[] | undefined;
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* Immutable snapshot of target files at the start of a collab session.
|
|
@@ -71,7 +71,7 @@ interface SharedFileSnapshot {
|
|
|
71
71
|
interface SharedFileEntry {
|
|
72
72
|
path: string;
|
|
73
73
|
content: string;
|
|
74
|
-
language?: string;
|
|
74
|
+
language?: string | undefined;
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
77
|
* Bug finding emitted by BugHunter and consumed by RefactorPlanner + Critic.
|
|
@@ -85,7 +85,7 @@ interface BugFinding {
|
|
|
85
85
|
line: number;
|
|
86
86
|
};
|
|
87
87
|
description: string;
|
|
88
|
-
suggestedFix?: string;
|
|
88
|
+
suggestedFix?: string | undefined;
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
91
|
* Refactoring plan emitted by RefactorPlanner, consuming BugFinding(s).
|
|
@@ -121,7 +121,7 @@ interface CriticEvaluation {
|
|
|
121
121
|
interface CriticConcern {
|
|
122
122
|
description: string;
|
|
123
123
|
location?: {
|
|
124
|
-
file: string;
|
|
124
|
+
file: string | undefined;
|
|
125
125
|
line: number;
|
|
126
126
|
};
|
|
127
127
|
severity: 'blocking' | 'advisory';
|
|
@@ -175,7 +175,7 @@ interface CollabBudgetWarningPayload {
|
|
|
175
175
|
kind: 'timeout' | 'idle_timeout' | 'iterations' | 'tool_calls' | 'tokens' | 'cost';
|
|
176
176
|
used: number;
|
|
177
177
|
limit: number;
|
|
178
|
-
timeoutMs?: number;
|
|
178
|
+
timeoutMs?: number | undefined;
|
|
179
179
|
elapsedMs: number;
|
|
180
180
|
}
|
|
181
181
|
/**
|
|
@@ -191,29 +191,29 @@ interface CollabSessionOptions {
|
|
|
191
191
|
/** Paths to scan — used to build the SharedFileSnapshot. */
|
|
192
192
|
targetPaths: string[];
|
|
193
193
|
/** Files already read and snapshot. When provided, snapshot is skipped. */
|
|
194
|
-
prebuiltSnapshot?: SharedFileSnapshot;
|
|
194
|
+
prebuiltSnapshot?: SharedFileSnapshot | undefined;
|
|
195
195
|
/** Max time to wait for the session to resolve (ms). Default: 10 min. */
|
|
196
|
-
timeoutMs?: number;
|
|
196
|
+
timeoutMs?: number | undefined;
|
|
197
197
|
/**
|
|
198
198
|
* Maximum number of files to include in the snapshot.
|
|
199
199
|
* - If set explicitly: use this value (hard override).
|
|
200
200
|
* - If `contextWindow` is set: calculate dynamically from estimated token budget.
|
|
201
201
|
* - If neither: use `DEFAULT_MAX_TARGET_FILES` (30).
|
|
202
202
|
*/
|
|
203
|
-
maxTargetFiles?: number;
|
|
203
|
+
maxTargetFiles?: number | undefined;
|
|
204
204
|
/**
|
|
205
205
|
* Context window size (in tokens) of the model running the subagents.
|
|
206
206
|
* When provided and `maxTargetFiles` is not set, the limit is computed
|
|
207
207
|
* dynamically: `floor((contextWindow * 0.4) / AVG_TOKENS_PER_FILE)`.
|
|
208
208
|
* If not provided, `DEFAULT_MAX_TARGET_FILES` is used as the fallback.
|
|
209
209
|
*/
|
|
210
|
-
contextWindow?: number;
|
|
210
|
+
contextWindow?: number | undefined;
|
|
211
211
|
/**
|
|
212
212
|
* Budget overrides per role. When provided, these override the hard-coded
|
|
213
213
|
* defaults so the Director can enforce fleet-wide budget policy.
|
|
214
214
|
* Keys must match role names: 'bug-hunter', 'refactor-planner', 'critic'.
|
|
215
215
|
*/
|
|
216
|
-
budgetOverrides?: CollabBudgetOverrides;
|
|
216
|
+
budgetOverrides?: CollabBudgetOverrides | undefined;
|
|
217
217
|
/**
|
|
218
218
|
* Called by the Director when a collab agent hits a soft budget limit.
|
|
219
219
|
* The Director uses this to decide whether to cancel the session or extend.
|
|
@@ -221,7 +221,7 @@ interface CollabSessionOptions {
|
|
|
221
221
|
* with the agent's proposed new limits; 'ignore' to let the default
|
|
222
222
|
* auto-extend logic handle it.
|
|
223
223
|
*/
|
|
224
|
-
onBudgetWarning?: (alert: DirectorAlert) => 'cancel' | 'extend' | 'ignore';
|
|
224
|
+
onBudgetWarning?: (((alert: DirectorAlert) => 'cancel' | 'extend' | 'ignore')) | undefined;
|
|
225
225
|
}
|
|
226
226
|
declare class CollabSession extends EventEmitter {
|
|
227
227
|
readonly sessionId: string;
|
|
@@ -306,9 +306,9 @@ interface IFleetManager {
|
|
|
306
306
|
* Returns undefined if the subagent is not known to this manager.
|
|
307
307
|
*/
|
|
308
308
|
getSubagentMeta(id: string): {
|
|
309
|
-
provider?: string;
|
|
310
|
-
model?: string;
|
|
311
|
-
name?: string;
|
|
309
|
+
provider?: string | undefined;
|
|
310
|
+
model?: string | undefined;
|
|
311
|
+
name?: string | undefined;
|
|
312
312
|
} | undefined;
|
|
313
313
|
/**
|
|
314
314
|
* Called before a spawn is recorded. Returns a reason string if the
|
|
@@ -376,7 +376,7 @@ interface IFleetManager {
|
|
|
376
376
|
live: {
|
|
377
377
|
subagentId: string;
|
|
378
378
|
status: string;
|
|
379
|
-
task?: string;
|
|
379
|
+
task?: string | undefined;
|
|
380
380
|
}[];
|
|
381
381
|
};
|
|
382
382
|
/**
|
|
@@ -443,18 +443,18 @@ interface IFleetManager {
|
|
|
443
443
|
|
|
444
444
|
/** Options for constructing a FleetManager. */
|
|
445
445
|
interface FleetManagerOptions {
|
|
446
|
-
manifestPath?: string;
|
|
447
|
-
sessionsRoot?: string;
|
|
448
|
-
directorRunId?: string;
|
|
449
|
-
maxSpawns?: number;
|
|
450
|
-
maxSpawnDepth?: number;
|
|
451
|
-
spawnDepth?: number;
|
|
452
|
-
stateCheckpointPath?: string;
|
|
453
|
-
sessionWriter?: SessionWriter;
|
|
454
|
-
manifestDebounceMs?: number;
|
|
455
|
-
checkpointDebounceMs?: number;
|
|
446
|
+
manifestPath?: string | undefined;
|
|
447
|
+
sessionsRoot?: string | undefined;
|
|
448
|
+
directorRunId?: string | undefined;
|
|
449
|
+
maxSpawns?: number | undefined;
|
|
450
|
+
maxSpawnDepth?: number | undefined;
|
|
451
|
+
spawnDepth?: number | undefined;
|
|
452
|
+
stateCheckpointPath?: string | undefined;
|
|
453
|
+
sessionWriter?: SessionWriter | undefined;
|
|
454
|
+
manifestDebounceMs?: number | undefined;
|
|
455
|
+
checkpointDebounceMs?: number | undefined;
|
|
456
456
|
directorBudget?: {
|
|
457
|
-
maxCostUsd?: number;
|
|
457
|
+
maxCostUsd?: number | undefined;
|
|
458
458
|
};
|
|
459
459
|
/**
|
|
460
460
|
* Maximum context load (as a fraction of maxContext) the leader agent
|
|
@@ -463,7 +463,7 @@ interface FleetManagerOptions {
|
|
|
463
463
|
* a new subagent is refused — the leader must compact first.
|
|
464
464
|
* Set to 1.0 to disable this check.
|
|
465
465
|
*/
|
|
466
|
-
maxLeaderContextLoad?: number;
|
|
466
|
+
maxLeaderContextLoad?: number | undefined;
|
|
467
467
|
/**
|
|
468
468
|
* Provider's max context window in tokens. Used with `maxLeaderContextLoad`
|
|
469
469
|
* to compute the absolute token threshold. Default: 128_000.
|
|
@@ -541,9 +541,9 @@ declare class FleetManager implements IFleetManager {
|
|
|
541
541
|
setCoordinator(coordinator: DefaultMultiAgentCoordinator): void;
|
|
542
542
|
snapshot(): FleetUsage;
|
|
543
543
|
getSubagentMeta(id: string): {
|
|
544
|
-
provider?: string;
|
|
545
|
-
model?: string;
|
|
546
|
-
name?: string;
|
|
544
|
+
provider?: string | undefined;
|
|
545
|
+
model?: string | undefined;
|
|
546
|
+
name?: string | undefined;
|
|
547
547
|
} | undefined;
|
|
548
548
|
/**
|
|
549
549
|
* Returns null if the spawn is allowed, or an object describing
|
|
@@ -586,10 +586,10 @@ declare class FleetManager implements IFleetManager {
|
|
|
586
586
|
* @param priceLookup Optional per-subagent pricing data
|
|
587
587
|
*/
|
|
588
588
|
recordSpawn(subagentId: string, config: SubagentConfig, priceLookup?: {
|
|
589
|
-
input?: number;
|
|
590
|
-
output?: number;
|
|
591
|
-
cacheRead?: number;
|
|
592
|
-
cacheWrite?: number;
|
|
589
|
+
input?: number | undefined;
|
|
590
|
+
output?: number | undefined;
|
|
591
|
+
cacheRead?: number | undefined;
|
|
592
|
+
cacheWrite?: number | undefined;
|
|
593
593
|
}): void;
|
|
594
594
|
writeManifest(): Promise<string | null>;
|
|
595
595
|
/**
|
|
@@ -636,7 +636,7 @@ declare class FleetManager implements IFleetManager {
|
|
|
636
636
|
live: {
|
|
637
637
|
subagentId: string;
|
|
638
638
|
status: string;
|
|
639
|
-
task?: string;
|
|
639
|
+
task?: string | undefined;
|
|
640
640
|
}[];
|
|
641
641
|
};
|
|
642
642
|
/**
|
|
@@ -688,7 +688,7 @@ interface ICoordinator {
|
|
|
688
688
|
assign(task: {
|
|
689
689
|
id: string;
|
|
690
690
|
description: string;
|
|
691
|
-
subagentId?: string;
|
|
691
|
+
subagentId?: string | undefined;
|
|
692
692
|
}): Promise<string>;
|
|
693
693
|
/**
|
|
694
694
|
* Synchronously ask a subagent something via the in-memory bridge.
|
|
@@ -697,7 +697,7 @@ interface ICoordinator {
|
|
|
697
697
|
*
|
|
698
698
|
* Only available in director mode — raw coordinator has no bridge.
|
|
699
699
|
*/
|
|
700
|
-
ask<T = unknown>(subagentId: string, payload: unknown, timeoutMs?: number): Promise<T
|
|
700
|
+
ask<T = unknown>(subagentId: string, payload: unknown, timeoutMs?: number): Promise<T> | undefined;
|
|
701
701
|
/**
|
|
702
702
|
* Wait for one or more tasks to complete and return their results.
|
|
703
703
|
* If a task is already done when called, returns immediately.
|
|
@@ -757,7 +757,7 @@ declare class LargeAnswerStore {
|
|
|
757
757
|
* If the value is below sizeThreshold, returns it as-is (no store entry).
|
|
758
758
|
*/
|
|
759
759
|
storeAnswer(value: unknown): {
|
|
760
|
-
key?: string;
|
|
760
|
+
key?: string | undefined;
|
|
761
761
|
summary: string;
|
|
762
762
|
inline: boolean;
|
|
763
763
|
};
|
|
@@ -786,7 +786,7 @@ declare class FleetSpawnBudgetError extends Error {
|
|
|
786
786
|
readonly kind: 'max_spawns' | 'max_spawn_depth';
|
|
787
787
|
readonly limit: number;
|
|
788
788
|
readonly observed: number;
|
|
789
|
-
constructor(kind: 'max_spawns' | 'max_spawn_depth', limit: number, observed: number, message?: string);
|
|
789
|
+
constructor(kind: 'max_spawns' | 'max_spawn_depth', limit: number, observed: number, message?: string | undefined);
|
|
790
790
|
}
|
|
791
791
|
declare class FleetCostCapError extends Error {
|
|
792
792
|
readonly kind: 'max_cost_usd';
|
|
@@ -810,9 +810,9 @@ declare class FleetCostCapError extends Error {
|
|
|
810
810
|
*/
|
|
811
811
|
interface DirectorOptions {
|
|
812
812
|
config: MultiAgentConfig;
|
|
813
|
-
runner?: SubagentRunner;
|
|
813
|
+
runner?: SubagentRunner | undefined;
|
|
814
814
|
/** Optional Brain arbiter above the director for policy/decision escalation. */
|
|
815
|
-
brain?: BrainArbiter;
|
|
815
|
+
brain?: BrainArbiter | undefined;
|
|
816
816
|
/**
|
|
817
817
|
* When set, the director writes a `fleet.json` manifest to this path
|
|
818
818
|
* recording every spawned subagent (id, provider, model, role, task
|
|
@@ -820,7 +820,7 @@ interface DirectorOptions {
|
|
|
820
820
|
* absolute file path — the directory must already exist (the
|
|
821
821
|
* director-session factory creates it when used together).
|
|
822
822
|
*/
|
|
823
|
-
manifestPath?: string;
|
|
823
|
+
manifestPath?: string | undefined;
|
|
824
824
|
/**
|
|
825
825
|
* Optional roster used by `leaderSystemPrompt()` to render a roles
|
|
826
826
|
* summary into the leader's preamble. Same shape as the roster passed
|
|
@@ -831,12 +831,12 @@ interface DirectorOptions {
|
|
|
831
831
|
* Override the built-in fleet preamble (see `DEFAULT_DIRECTOR_PREAMBLE`).
|
|
832
832
|
* Pass an empty string to suppress the preamble entirely.
|
|
833
833
|
*/
|
|
834
|
-
directorPreamble?: string;
|
|
834
|
+
directorPreamble?: string | undefined;
|
|
835
835
|
/**
|
|
836
836
|
* Override the built-in subagent baseline (see
|
|
837
837
|
* `DEFAULT_SUBAGENT_BASELINE`). Pass an empty string to suppress.
|
|
838
838
|
*/
|
|
839
|
-
subagentBaseline?: string;
|
|
839
|
+
subagentBaseline?: string | undefined;
|
|
840
840
|
/**
|
|
841
841
|
* Absolute path to a directory the fleet can use as a shared scratchpad
|
|
842
842
|
* (read + write by every subagent). When set, the director creates it on
|
|
@@ -848,7 +848,7 @@ interface DirectorOptions {
|
|
|
848
848
|
* Convention: under a fleet run rooted at `<sessionsRoot>/<runId>/`,
|
|
849
849
|
* pass `<sessionsRoot>/<runId>/shared/` here.
|
|
850
850
|
*/
|
|
851
|
-
sharedScratchpadPath?: string;
|
|
851
|
+
sharedScratchpadPath?: string | undefined;
|
|
852
852
|
/**
|
|
853
853
|
* Maximum number of spawns this director can perform across its
|
|
854
854
|
* lifetime. Default: unlimited. Acts as a hard fleet-wide cost cap —
|
|
@@ -856,7 +856,7 @@ interface DirectorOptions {
|
|
|
856
856
|
* instead of burning provider tokens until the user kills the
|
|
857
857
|
* process. The N+1-th spawn call rejects with a `FleetSpawnBudgetError`.
|
|
858
858
|
*/
|
|
859
|
-
maxSpawns?: number;
|
|
859
|
+
maxSpawns?: number | undefined;
|
|
860
860
|
/**
|
|
861
861
|
* Maximum nesting depth for spawns. The director constructed by the
|
|
862
862
|
* user is at depth `spawnDepth` (default 0); any subagent that itself
|
|
@@ -867,13 +867,13 @@ interface DirectorOptions {
|
|
|
867
867
|
* This stops infinite recursive director chains from a hostile or
|
|
868
868
|
* confused prompt.
|
|
869
869
|
*/
|
|
870
|
-
maxSpawnDepth?: number;
|
|
870
|
+
maxSpawnDepth?: number | undefined;
|
|
871
871
|
/**
|
|
872
872
|
* Current spawn-chain depth for this director instance. Defaults to 0.
|
|
873
873
|
* A nested director should pass `parent.spawnDepth + 1`. Together with
|
|
874
874
|
* `maxSpawnDepth` this bounds the chain.
|
|
875
875
|
*/
|
|
876
|
-
spawnDepth?: number;
|
|
876
|
+
spawnDepth?: number | undefined;
|
|
877
877
|
/**
|
|
878
878
|
* Absolute path to a director-state checkpoint file. When set, the
|
|
879
879
|
* director writes an incremental snapshot of pending/running/completed
|
|
@@ -882,7 +882,7 @@ interface DirectorOptions {
|
|
|
882
882
|
* the checkpoint is a live mirror useful for crash recovery and the
|
|
883
883
|
* `wstack resume` "you had N tasks in flight" banner.
|
|
884
884
|
*/
|
|
885
|
-
stateCheckpointPath?: string;
|
|
885
|
+
stateCheckpointPath?: string | undefined;
|
|
886
886
|
/**
|
|
887
887
|
* Session writer the director should forward task lifecycle events to
|
|
888
888
|
* (`agent_spawned`, `task_created`, `task_completed`, `task_failed`).
|
|
@@ -890,13 +890,13 @@ interface DirectorOptions {
|
|
|
890
890
|
* lossy in production. Production callers (the CLI) pass the same
|
|
891
891
|
* writer the host Agent uses so all events land in a single JSONL.
|
|
892
892
|
*/
|
|
893
|
-
sessionWriter?: SessionWriter;
|
|
893
|
+
sessionWriter?: SessionWriter | undefined;
|
|
894
894
|
/**
|
|
895
895
|
* Debounce window for periodic manifest writes triggered by spawn/
|
|
896
896
|
* assign/complete events. Default: 2000ms. Pass 0 to disable periodic
|
|
897
897
|
* writes (the manifest will then only be written on `shutdown()`).
|
|
898
898
|
*/
|
|
899
|
-
manifestDebounceMs?: number;
|
|
899
|
+
manifestDebounceMs?: number | undefined;
|
|
900
900
|
/**
|
|
901
901
|
* Fleet-wide cost ceiling. When set, `spawn()` refuses any new subagent
|
|
902
902
|
* that would push the fleet's total cost above this limit. The cap
|
|
@@ -913,8 +913,8 @@ interface DirectorOptions {
|
|
|
913
913
|
* Maximum total USD the fleet may spend across all subagents.
|
|
914
914
|
* Default: Infinity (no cap).
|
|
915
915
|
*/
|
|
916
|
-
maxCostUsd?: number;
|
|
917
|
-
};
|
|
916
|
+
maxCostUsd?: number | undefined;
|
|
917
|
+
} | undefined;
|
|
918
918
|
/**
|
|
919
919
|
* Maximum auto-extensions per subagent per budget kind before the
|
|
920
920
|
* director denies further extensions. A subagent hitting the same
|
|
@@ -924,7 +924,7 @@ interface DirectorOptions {
|
|
|
924
924
|
* disable the cap (use with caution — a misconfigured subagent
|
|
925
925
|
* could burn unlimited budget).
|
|
926
926
|
*/
|
|
927
|
-
maxBudgetExtensions?: number;
|
|
927
|
+
maxBudgetExtensions?: number | undefined;
|
|
928
928
|
/**
|
|
929
929
|
* Debounce window for state-checkpoint writes. Default: 250ms.
|
|
930
930
|
* Bursts of spawn/assign/complete events collapse into one disk
|
|
@@ -932,19 +932,19 @@ interface DirectorOptions {
|
|
|
932
932
|
* lower values improve crash-recovery fidelity (less state lost
|
|
933
933
|
* on sudden process exit).
|
|
934
934
|
*/
|
|
935
|
-
checkpointDebounceMs?: number;
|
|
935
|
+
checkpointDebounceMs?: number | undefined;
|
|
936
936
|
/**
|
|
937
937
|
* Sessions root directory for per-subagent JSONL transcripts.
|
|
938
938
|
* When set, the director can read subagent transcripts directly for
|
|
939
939
|
* `fleet_session` tool — no bridge round-trip needed. Path convention:
|
|
940
940
|
* `<sessionsRoot>/<directorRunId>/<subagentId>.jsonl`.
|
|
941
941
|
*/
|
|
942
|
-
sessionsRoot?: string;
|
|
942
|
+
sessionsRoot?: string | undefined;
|
|
943
943
|
/**
|
|
944
944
|
* Director run id — namespaced under `sessionsRoot` to locate per-subagent
|
|
945
945
|
* JSONLs. Defaults to the director's own `id` when omitted.
|
|
946
946
|
*/
|
|
947
|
-
directorRunId?: string;
|
|
947
|
+
directorRunId?: string | undefined;
|
|
948
948
|
/**
|
|
949
949
|
* Pre-built fleet manager. When provided the Director delegates all
|
|
950
950
|
* fleet-level policy (spawn budgets, manifest assembly, checkpointing)
|
|
@@ -955,7 +955,7 @@ interface DirectorOptions {
|
|
|
955
955
|
* When omitted the Director creates its own fleet infrastructure
|
|
956
956
|
* (same behavior as before this field was added).
|
|
957
957
|
*/
|
|
958
|
-
fleetManager?: FleetManager;
|
|
958
|
+
fleetManager?: FleetManager | undefined;
|
|
959
959
|
/**
|
|
960
960
|
* Optional LLM classifier for the smart dispatcher. When set, the
|
|
961
961
|
* `spawn_subagent` tool can accept a free-form `description` field
|
|
@@ -966,7 +966,7 @@ interface DirectorOptions {
|
|
|
966
966
|
* Build from a `complete(prompt) => string` function using
|
|
967
967
|
* `makeLLMClassifier(complete)` from the dispatcher module.
|
|
968
968
|
*/
|
|
969
|
-
dispatchClassifier?: DispatchClassifier;
|
|
969
|
+
dispatchClassifier?: DispatchClassifier | undefined;
|
|
970
970
|
/**
|
|
971
971
|
* Maximum context load (as a fraction of maxContext) the leader agent
|
|
972
972
|
* is allowed to reach before a new spawn is rejected. Default: 0.85.
|
|
@@ -975,7 +975,7 @@ interface DirectorOptions {
|
|
|
975
975
|
* Only used when no `fleetManager` is provided (inline mode).
|
|
976
976
|
* Set to 1.0 to disable this check.
|
|
977
977
|
*/
|
|
978
|
-
maxLeaderContextLoad?: number;
|
|
978
|
+
maxLeaderContextLoad?: number | undefined;
|
|
979
979
|
/**
|
|
980
980
|
* Provider's max context window in tokens. Used with `maxLeaderContextLoad`
|
|
981
981
|
* to compute the absolute token threshold. Default: 128_000.
|
|
@@ -997,7 +997,7 @@ interface DirectorOptions {
|
|
|
997
997
|
* mid-session `/setmodel` takes effect on the next spawn. A static record
|
|
998
998
|
* is also accepted for tests and one-shot runs.
|
|
999
999
|
*/
|
|
1000
|
-
modelMatrix?: ModelMatrixSource;
|
|
1000
|
+
modelMatrix?: ModelMatrixSource | undefined;
|
|
1001
1001
|
}
|
|
1002
1002
|
/** Either a static matrix or a live getter (re-read on every spawn). */
|
|
1003
1003
|
type ModelMatrixSource = Record<string, ModelMatrixEntry> | (() => Record<string, ModelMatrixEntry> | undefined);
|
|
@@ -1119,7 +1119,7 @@ declare class Director implements ICoordinator {
|
|
|
1119
1119
|
*/
|
|
1120
1120
|
private taskCompletedListener;
|
|
1121
1121
|
/** Optional LLM classifier for smart dispatch. Passed from options. */
|
|
1122
|
-
readonly dispatchClassifier?: DispatchClassifier;
|
|
1122
|
+
readonly dispatchClassifier?: DispatchClassifier | undefined;
|
|
1123
1123
|
/** Leader agent's current context pressure (full request tokens). */
|
|
1124
1124
|
private leaderContextPressure;
|
|
1125
1125
|
/** Maximum context load fraction before spawn is refused. */
|
|
@@ -1237,10 +1237,10 @@ declare class Director implements ICoordinator {
|
|
|
1237
1237
|
* it the `cost` column in `usage.snapshot()` stays at 0.
|
|
1238
1238
|
*/
|
|
1239
1239
|
spawn(config: SubagentConfig, priceLookup?: {
|
|
1240
|
-
input?: number;
|
|
1241
|
-
output?: number;
|
|
1242
|
-
cacheRead?: number;
|
|
1243
|
-
cacheWrite?: number;
|
|
1240
|
+
input?: number | undefined;
|
|
1241
|
+
output?: number | undefined;
|
|
1242
|
+
cacheRead?: number | undefined;
|
|
1243
|
+
cacheWrite?: number | undefined;
|
|
1244
1244
|
}): Promise<string>;
|
|
1245
1245
|
/**
|
|
1246
1246
|
* Synchronously ask a subagent something via the bridge. Sends a
|
|
@@ -1342,12 +1342,12 @@ declare class Director implements ICoordinator {
|
|
|
1342
1342
|
* tool-use count, and line count — or null if the file is unavailable.
|
|
1343
1343
|
* Requires `sessionsRoot` to be set on construction.
|
|
1344
1344
|
*/
|
|
1345
|
-
readSession(subagentId: string, tail?: number): Promise<{
|
|
1346
|
-
lastAssistantText?: string;
|
|
1347
|
-
lastStopReason?: string;
|
|
1345
|
+
readSession(subagentId: string, tail?: number | undefined): Promise<{
|
|
1346
|
+
lastAssistantText?: string | undefined;
|
|
1347
|
+
lastStopReason?: string | undefined;
|
|
1348
1348
|
toolUsesObserved: number;
|
|
1349
1349
|
events: number;
|
|
1350
|
-
path?: string;
|
|
1350
|
+
path?: string | undefined;
|
|
1351
1351
|
} | null>;
|
|
1352
1352
|
snapshot(): FleetUsage;
|
|
1353
1353
|
/**
|
|
@@ -1358,9 +1358,9 @@ declare class Director implements ICoordinator {
|
|
|
1358
1358
|
* subagent row without reaching into private state.
|
|
1359
1359
|
*/
|
|
1360
1360
|
getSubagentMeta(id: string): {
|
|
1361
|
-
provider?: string;
|
|
1362
|
-
model?: string;
|
|
1363
|
-
name?: string;
|
|
1361
|
+
provider?: string | undefined;
|
|
1362
|
+
model?: string | undefined;
|
|
1363
|
+
name?: string | undefined;
|
|
1364
1364
|
} | undefined;
|
|
1365
1365
|
/**
|
|
1366
1366
|
* Compose the leader/director-agent system prompt: fleet preamble +
|
|
@@ -1524,7 +1524,7 @@ interface CreateDelegateToolOptions {
|
|
|
1524
1524
|
* without being killed for being slow — the orchestrator must
|
|
1525
1525
|
* decide per-call when a task needs to be cut short.
|
|
1526
1526
|
*/
|
|
1527
|
-
defaultTimeoutMs?: number;
|
|
1527
|
+
defaultTimeoutMs?: number | undefined;
|
|
1528
1528
|
/**
|
|
1529
1529
|
* Absolute directory under which per-subagent JSONL transcripts live —
|
|
1530
1530
|
* matches `MultiAgentHostOptions.sessionsRoot`. When set, the delegate
|
|
@@ -1532,13 +1532,13 @@ interface CreateDelegateToolOptions {
|
|
|
1532
1532
|
* to extract partial output, so the host LLM gets *something* useful
|
|
1533
1533
|
* back instead of just an error.
|
|
1534
1534
|
*/
|
|
1535
|
-
sessionsRoot?: string;
|
|
1535
|
+
sessionsRoot?: string | undefined;
|
|
1536
1536
|
/**
|
|
1537
1537
|
* The directorRunId used to namespace transcripts (typically the host
|
|
1538
1538
|
* session id). Combined with `sessionsRoot` to locate per-subagent
|
|
1539
1539
|
* JSONLs at `<sessionsRoot>/<runId>/<subagentId>.jsonl`.
|
|
1540
1540
|
*/
|
|
1541
|
-
directorRunId?: string;
|
|
1541
|
+
directorRunId?: string | undefined;
|
|
1542
1542
|
/**
|
|
1543
1543
|
* Buffer subtracted from the caller's `timeoutMs` before passing it
|
|
1544
1544
|
* to the subagent. Gives the host a window to detect a subagent that
|
|
@@ -1546,7 +1546,16 @@ interface CreateDelegateToolOptions {
|
|
|
1546
1546
|
* timeout. Default: 60_000 ms (raised from 30s to give subagents
|
|
1547
1547
|
* more headroom before the host kills them).
|
|
1548
1548
|
*/
|
|
1549
|
-
subagentTimeoutBufferMs?: number;
|
|
1549
|
+
subagentTimeoutBufferMs?: number | undefined;
|
|
1550
|
+
/**
|
|
1551
|
+
* Host EventBus. When supplied, `delegate` emits `delegate.started`
|
|
1552
|
+
* (before it blocks on the subagent) and `delegate.completed` (once the
|
|
1553
|
+
* subagent settles) so UIs / the Telegram bridge can render readable
|
|
1554
|
+
* start/finish lines instead of inferring them from the truncated
|
|
1555
|
+
* `tool.executed` JSON preview. Optional — emits are best-effort and a
|
|
1556
|
+
* missing bus never affects delegation behaviour.
|
|
1557
|
+
*/
|
|
1558
|
+
events?: EventBus | undefined;
|
|
1550
1559
|
}
|
|
1551
1560
|
/**
|
|
1552
1561
|
* `delegate` — the only multi-agent tool a regular (non-director) agent
|
|
@@ -1591,14 +1600,14 @@ interface DirectorSessionFactoryOptions {
|
|
|
1591
1600
|
* director run directory. Tests pass an in-memory store for isolation;
|
|
1592
1601
|
* production code passes the path under `~/.wrongstack/sessions/`.
|
|
1593
1602
|
*/
|
|
1594
|
-
store?: SessionStore;
|
|
1595
|
-
sessionsRoot?: string;
|
|
1603
|
+
store?: SessionStore | undefined;
|
|
1604
|
+
sessionsRoot?: string | undefined;
|
|
1596
1605
|
/**
|
|
1597
1606
|
* Director run id — namespaces all subagent JSONLs under one folder.
|
|
1598
1607
|
* Defaults to a timestamped id; supplied explicitly when resuming a
|
|
1599
1608
|
* prior fleet manifest.
|
|
1600
1609
|
*/
|
|
1601
|
-
directorRunId?: string;
|
|
1610
|
+
directorRunId?: string | undefined;
|
|
1602
1611
|
}
|
|
1603
1612
|
interface DirectorSessionFactory {
|
|
1604
1613
|
/** Absolute directory where this director run's transcripts live. */
|
|
@@ -1612,9 +1621,9 @@ interface DirectorSessionFactory {
|
|
|
1612
1621
|
*/
|
|
1613
1622
|
createSubagentSession(args: {
|
|
1614
1623
|
subagentId: string;
|
|
1615
|
-
provider?: string;
|
|
1616
|
-
model?: string;
|
|
1617
|
-
title?: string;
|
|
1624
|
+
provider?: string | undefined;
|
|
1625
|
+
model?: string | undefined;
|
|
1626
|
+
title?: string | undefined;
|
|
1618
1627
|
}): Promise<SessionWriter>;
|
|
1619
1628
|
}
|
|
1620
1629
|
/**
|
|
@@ -1667,13 +1676,13 @@ declare const DEFAULT_SUBAGENT_BASELINE = "You are a subagent operating under a
|
|
|
1667
1676
|
interface DirectorPromptParts {
|
|
1668
1677
|
/** The user's existing leader system prompt — typically what was passed
|
|
1669
1678
|
* via `MultiAgentConfig.leaderSystemPrompt`. */
|
|
1670
|
-
basePrompt?: string;
|
|
1679
|
+
basePrompt?: string | undefined;
|
|
1671
1680
|
/** Override the built-in fleet preamble. Pass empty string to suppress. */
|
|
1672
|
-
directorPreamble?: string;
|
|
1681
|
+
directorPreamble?: string | undefined;
|
|
1673
1682
|
/** Optional roster summary block — a short list of pre-configured roles
|
|
1674
1683
|
* the director can spawn (e.g. "researcher, coder, reviewer"). Helps
|
|
1675
1684
|
* small models discover the available shapes without scanning tools. */
|
|
1676
|
-
rosterSummary?: string;
|
|
1685
|
+
rosterSummary?: string | undefined;
|
|
1677
1686
|
}
|
|
1678
1687
|
/**
|
|
1679
1688
|
* Compose the leader/director's system prompt. Order:
|
|
@@ -1690,13 +1699,13 @@ declare function composeDirectorPrompt(parts?: DirectorPromptParts): string;
|
|
|
1690
1699
|
interface SubagentPromptParts {
|
|
1691
1700
|
/** Base persona/identity for *every* subagent. Defaults to the bridge
|
|
1692
1701
|
* contract baseline. Pass empty string to suppress. */
|
|
1693
|
-
baseline?: string;
|
|
1702
|
+
baseline?: string | undefined;
|
|
1694
1703
|
/** Role-specific block, e.g. "You are a code reviewer. Focus on…". */
|
|
1695
|
-
role?: string;
|
|
1704
|
+
role?: string | undefined;
|
|
1696
1705
|
/** Task brief — usually the same string the runner passes as user input,
|
|
1697
1706
|
* but exposed here in case the factory wants it duplicated in the
|
|
1698
1707
|
* system prompt for reinforcement. */
|
|
1699
|
-
task?: string;
|
|
1708
|
+
task?: string | undefined;
|
|
1700
1709
|
/**
|
|
1701
1710
|
* Absolute path to a shared scratchpad directory the whole fleet can
|
|
1702
1711
|
* read/write. When set, the composer adds a "Shared notes" block that
|
|
@@ -1706,18 +1715,18 @@ interface SubagentPromptParts {
|
|
|
1706
1715
|
* conclusions. Falls between `task` and `override` so the override
|
|
1707
1716
|
* can still narrow or replace it.
|
|
1708
1717
|
*/
|
|
1709
|
-
sharedScratchpad?: string;
|
|
1718
|
+
sharedScratchpad?: string | undefined;
|
|
1710
1719
|
/**
|
|
1711
1720
|
* Optional skill body content injected into the subagent's system prompt.
|
|
1712
1721
|
* Use this to provide domain-specific knowledge (SKILL.md bodies) to
|
|
1713
1722
|
* subagents that need it. Placed after `sharedScratchpad` and before
|
|
1714
1723
|
* `override` so the override can still narrow or replace it.
|
|
1715
1724
|
*/
|
|
1716
|
-
skills?: string;
|
|
1725
|
+
skills?: string | undefined;
|
|
1717
1726
|
/** Final per-spawn override from `SubagentConfig.systemPromptOverride`.
|
|
1718
1727
|
* Added last so it wins on conflict — that's by design: the spawn site
|
|
1719
1728
|
* knows the most about what this specific subagent should do. */
|
|
1720
|
-
override?: string;
|
|
1729
|
+
override?: string | undefined;
|
|
1721
1730
|
}
|
|
1722
1731
|
/**
|
|
1723
1732
|
* Compose a subagent's system prompt. Order:
|
|
@@ -1749,10 +1758,10 @@ declare function composeSubagentPrompt(parts?: SubagentPromptParts): string;
|
|
|
1749
1758
|
*/
|
|
1750
1759
|
declare function rosterSummaryFromConfigs(roster: Record<string, {
|
|
1751
1760
|
name: string;
|
|
1752
|
-
provider?: string;
|
|
1753
|
-
model?: string;
|
|
1754
|
-
prompt?: string;
|
|
1755
|
-
role?: string;
|
|
1761
|
+
provider?: string | undefined;
|
|
1762
|
+
model?: string | undefined;
|
|
1763
|
+
prompt?: string | undefined;
|
|
1764
|
+
role?: string | undefined;
|
|
1756
1765
|
}>): string;
|
|
1757
1766
|
|
|
1758
1767
|
/**
|
|
@@ -1789,13 +1798,13 @@ declare const SECURITY_SCANNER_AGENT: SubagentConfig;
|
|
|
1789
1798
|
*/
|
|
1790
1799
|
declare const FLEET_ROSTER: Record<string, SubagentConfig>;
|
|
1791
1800
|
interface FleetRosterBudget {
|
|
1792
|
-
timeoutMs?: number;
|
|
1801
|
+
timeoutMs?: number | undefined;
|
|
1793
1802
|
/** Idle reap window (ms). Resets on activity — see `applyRosterBudget`. */
|
|
1794
|
-
idleTimeoutMs?: number;
|
|
1795
|
-
maxIterations?: number;
|
|
1796
|
-
maxToolCalls?: number;
|
|
1797
|
-
maxTokens?: number;
|
|
1798
|
-
maxCostUsd?: number;
|
|
1803
|
+
idleTimeoutMs?: number | undefined;
|
|
1804
|
+
maxIterations?: number | undefined;
|
|
1805
|
+
maxToolCalls?: number | undefined;
|
|
1806
|
+
maxTokens?: number | undefined;
|
|
1807
|
+
maxCostUsd?: number | undefined;
|
|
1799
1808
|
}
|
|
1800
1809
|
declare const FLEET_ROSTER_BUDGETS: Record<string, FleetRosterBudget>;
|
|
1801
1810
|
declare function applyRosterBudget(cfg: SubagentConfig): SubagentConfig;
|
|
@@ -1828,23 +1837,23 @@ declare const FLEET_ROSTER_WITHACP: Record<string, SubagentConfig>;
|
|
|
1828
1837
|
*/
|
|
1829
1838
|
|
|
1830
1839
|
interface AutoExtendCeiling {
|
|
1831
|
-
maxIterations?: number;
|
|
1832
|
-
maxToolCalls?: number;
|
|
1833
|
-
maxTokens?: number;
|
|
1834
|
-
maxCostUsd?: number;
|
|
1835
|
-
timeoutMs?: number;
|
|
1840
|
+
maxIterations?: number | undefined;
|
|
1841
|
+
maxToolCalls?: number | undefined;
|
|
1842
|
+
maxTokens?: number | undefined;
|
|
1843
|
+
maxCostUsd?: number | undefined;
|
|
1844
|
+
timeoutMs?: number | undefined;
|
|
1836
1845
|
}
|
|
1837
1846
|
interface AutoExtendPolicy {
|
|
1838
1847
|
/** Multiplier applied to the tripped limit when extending. Default 0.5 (+50%). */
|
|
1839
|
-
factor?: number;
|
|
1848
|
+
factor?: number | undefined;
|
|
1840
1849
|
/**
|
|
1841
1850
|
* Max extensions per NON-timeout kind before denying. Timeout is governed by
|
|
1842
1851
|
* the heartbeat check, not this cap, so it can extend indefinitely while the
|
|
1843
1852
|
* agent makes progress. Default 8.
|
|
1844
1853
|
*/
|
|
1845
|
-
maxExtensionsPerKind?: number;
|
|
1854
|
+
maxExtensionsPerKind?: number | undefined;
|
|
1846
1855
|
/** Absolute ceilings — an extension never pushes a limit past these. */
|
|
1847
|
-
ceiling?: AutoExtendCeiling;
|
|
1856
|
+
ceiling?: AutoExtendCeiling | undefined;
|
|
1848
1857
|
}
|
|
1849
1858
|
/**
|
|
1850
1859
|
* Attach an auto-extend policy to a subagent's EventBus. Returns an unsubscribe
|