@wrongstack/core 0.267.0 → 0.268.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/dist/{agent-bridge-STJ3JwwK.d.ts → agent-bridge-UhojbpWx.d.ts} +1 -1
- package/dist/{agent-subagent-runner-CzPGP3jA.d.ts → agent-subagent-runner-Bvtf1o9K.d.ts} +7 -7
- package/dist/{brain-Cdg77tVN.d.ts → brain-69wzMKp1.d.ts} +1 -1
- package/dist/{compactor-iMZ84CXq.d.ts → compactor-CBQAJoDc.d.ts} +1 -1
- package/dist/{config-Du3pYYln.d.ts → config-VKfOZ-6X.d.ts} +70 -2
- package/dist/{context-dT5Ueund.d.ts → context-C0U8B9NF.d.ts} +24 -1
- package/dist/coordination/index.d.ts +56 -160
- package/dist/coordination/index.js +333 -63
- package/dist/coordination/index.js.map +1 -1
- package/dist/defaults/index.d.ts +26 -25
- package/dist/defaults/index.js +94 -68
- package/dist/defaults/index.js.map +1 -1
- package/dist/execution/index.d.ts +72 -16
- package/dist/execution/index.js +151 -36
- package/dist/execution/index.js.map +1 -1
- package/dist/execution/prompt-enhancer.d.ts +1 -1
- package/dist/extension/index.d.ts +7 -6
- package/dist/global-mailbox-KByEFFBa.d.ts +663 -0
- package/dist/{goal-preamble-SulMTowG.d.ts → goal-preamble-CrYjmdw4.d.ts} +9 -9
- package/dist/{goal-store-CABDwdFE.d.ts → goal-store-Y_zdLZ3q.d.ts} +1 -1
- package/dist/hq/index.d.ts +195 -0
- package/dist/hq/index.js +1884 -0
- package/dist/hq/index.js.map +1 -0
- package/dist/{index-IEuxQd-E.d.ts → index-BfaS-f_m.d.ts} +2 -2
- package/dist/{index-DtCVWel4.d.ts → index-CtQnmkaS.d.ts} +8 -8
- package/dist/{index-Bms0m4oy.d.ts → index-gCv830d7.d.ts} +5 -5
- package/dist/index.d.ts +46 -42
- package/dist/index.js +2955 -1498
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/index.d.ts +6 -6
- package/dist/infrastructure/index.js +45 -18
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/kernel/index.d.ts +10 -9
- package/dist/{pipeline-BfD2k1rT.d.ts → mailbox-types-Ct2hJq0P.d.ts} +1 -244
- package/dist/{mcp-servers-C2cBTxUR.d.ts → mcp-servers-HT3Fi7Bl.d.ts} +10 -4
- package/dist/models/index.d.ts +5 -5
- package/dist/models/index.js +3 -2
- package/dist/models/index.js.map +1 -1
- package/dist/{models-registry-BqGZNJQ-.d.ts → models-registry-Bvcl3Vaa.d.ts} +1 -1
- package/dist/{multi-agent-coordinator-B8R43uPz.d.ts → multi-agent-coordinator-BACjsmkC.d.ts} +1 -1
- package/dist/{null-fleet-bus-CnXa5oTH.d.ts → null-fleet-bus-DA7fvhUg.d.ts} +6 -6
- package/dist/observability/index.d.ts +2 -2
- package/dist/{parallel-eternal-engine-DdNnw9BQ.d.ts → parallel-eternal-engine-Ci71gYu_.d.ts} +9 -15
- package/dist/{path-resolver-COIMLCQL.d.ts → path-resolver-O1IJnmKE.d.ts} +4 -3
- package/dist/{permission-B75JAi3-.d.ts → permission-Bd-57Lbl.d.ts} +1 -1
- package/dist/{permission-policy-DlR9eJAM.d.ts → permission-policy-uNXC6Kge.d.ts} +2 -3
- package/dist/pipeline-BDNvENyV.d.ts +245 -0
- package/dist/{plan-templates-DSIKCXZN.d.ts → plan-templates-EMsalEtN.d.ts} +5 -5
- package/dist/{provider-model-resolve-BNRsNuJx.d.ts → provider-model-resolve-CEb9x886.d.ts} +3 -3
- package/dist/{provider-runner-CX7iIvox.d.ts → provider-runner-DWJbpo70.d.ts} +3 -3
- package/dist/{retry-policy-BilV1ujH.d.ts → retry-policy-C3s_lvdK.d.ts} +1 -1
- package/dist/sdd/index.d.ts +9 -8
- package/dist/sdd/index.js +32 -2
- package/dist/sdd/index.js.map +1 -1
- package/dist/{secret-vault-gkvEZZfE.d.ts → secret-vault-Cgduf5xL.d.ts} +1 -1
- package/dist/security/index.d.ts +5 -5
- package/dist/security/index.js +39 -29
- package/dist/security/index.js.map +1 -1
- package/dist/{selector-Bc7eWtT3.d.ts → selector-47LBnBVk.d.ts} +1 -1
- package/dist/{session-event-bridge-D-araDEz.d.ts → session-event-bridge-Cw7oqmW2.d.ts} +1 -1
- package/dist/{session-reader-D7Dapswh.d.ts → session-reader-DD4v2Obw.d.ts} +1 -1
- package/dist/storage/index.d.ts +14 -12
- package/dist/storage/index.js +63 -36
- package/dist/storage/index.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.js +166 -31
- package/dist/tools/index.js.map +1 -1
- package/dist/types/index.d.ts +20 -19
- package/dist/types/index.js +68 -51
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +22 -3
- package/dist/utils/index.js +139 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +5 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { M as ModelsRegistry, a as ModelsDevPayload, R as ResolvedProvider, b as ResolvedModel, W as WireFamily } from './config-
|
|
1
|
+
import { M as ModelsRegistry, a as ModelsDevPayload, R as ResolvedProvider, b as ResolvedModel, W as WireFamily } from './config-VKfOZ-6X.js';
|
|
2
2
|
|
|
3
3
|
interface DefaultModelsRegistryOptions {
|
|
4
4
|
cacheFile: string;
|
package/dist/{multi-agent-coordinator-B8R43uPz.d.ts → multi-agent-coordinator-BACjsmkC.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as SubagentConfig, M as MultiAgentCoordinator, c as MultiAgentConfig, d as SubagentRunner, F as FleetBus, e as SpawnResult, T as TaskSpec, a as BridgeMessage, A as AgentBridge, C as CoordinatorStatus, f as TaskResult } from './agent-subagent-runner-
|
|
1
|
+
import { S as SubagentConfig, M as MultiAgentCoordinator, c as MultiAgentConfig, d as SubagentRunner, F as FleetBus, e as SpawnResult, T as TaskSpec, a as BridgeMessage, A as AgentBridge, C as CoordinatorStatus, f as TaskResult } from './agent-subagent-runner-Bvtf1o9K.js';
|
|
2
2
|
import { EventEmitter } from 'node:events';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { A as AgentPhase, b as AgentDefinition, a as DefaultMultiAgentCoordinator, D as DispatchClassifier } from './multi-agent-coordinator-
|
|
2
|
-
import { F as FleetBus, i as FleetUsage, S as SubagentConfig, j as FleetUsageAggregator, f as TaskResult, C as CoordinatorStatus, T as TaskSpec, c as MultiAgentConfig, d as SubagentRunner } from './agent-subagent-runner-
|
|
3
|
-
import { a as SessionWriter, T as Tool, i as SessionStore } from './context-
|
|
4
|
-
import { B as BrainArbiter, E as EventBus } from './brain-
|
|
1
|
+
import { A as AgentPhase, b as AgentDefinition, a as DefaultMultiAgentCoordinator, D as DispatchClassifier } from './multi-agent-coordinator-BACjsmkC.js';
|
|
2
|
+
import { F as FleetBus, i as FleetUsage, S as SubagentConfig, j as FleetUsageAggregator, f as TaskResult, C as CoordinatorStatus, T as TaskSpec, c as MultiAgentConfig, d as SubagentRunner } from './agent-subagent-runner-Bvtf1o9K.js';
|
|
3
|
+
import { a as SessionWriter, T as Tool, i as SessionStore } from './context-C0U8B9NF.js';
|
|
4
|
+
import { B as BrainArbiter, E as EventBus } from './brain-69wzMKp1.js';
|
|
5
5
|
import { EventEmitter } from 'node:events';
|
|
6
6
|
import { L as Logger } from './logger-B63L5bTg.js';
|
|
7
7
|
import { D as DirectorStateSnapshot } from './director-state-BfeCUbmk.js';
|
|
8
|
-
import { d as ModelMatrixEntry } from './config-
|
|
9
|
-
import { I as InMemoryAgentBridge } from './agent-bridge-
|
|
8
|
+
import { d as ModelMatrixEntry } from './config-VKfOZ-6X.js';
|
|
9
|
+
import { I as InMemoryAgentBridge } from './agent-bridge-UhojbpWx.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Alert levels the Director can emit when a collab session needs attention.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { M as MetricsSink, d as MetricLabels, f as MetricsSnapshot, H as HealthRegistry, a as HealthCheck, A as AggregateHealth, T as Tracer, S as Span } from '../observability-D-HZN_mF.js';
|
|
2
|
-
import { E as EventBus } from '../brain-
|
|
3
|
-
import '../context-
|
|
2
|
+
import { E as EventBus } from '../brain-69wzMKp1.js';
|
|
3
|
+
import '../context-C0U8B9NF.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* In-memory metrics sink. Suitable for embedded use, tests, and /metrics
|
package/dist/{parallel-eternal-engine-DdNnw9BQ.d.ts → parallel-eternal-engine-Ci71gYu_.d.ts}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { e as ProviderError, C as Context, T as Tool,
|
|
2
|
-
import { R as RetryPolicy, E as ErrorHandler, a as RecoveryDecision } from './retry-policy-
|
|
3
|
-
import { C as Compactor, a as CompactReport } from './compactor-
|
|
4
|
-
import { M as ModelsRegistry } from './config-
|
|
5
|
-
import { T as ToolExecutorOptions, a as ToolExecutorStrategy, b as ToolBatchResult } from './index-
|
|
6
|
-
import { g as Agent, h as AgentFactory } from './agent-subagent-runner-
|
|
7
|
-
import { B as BrainArbiter, E as EventBus } from './brain-
|
|
8
|
-
import { J as JournalEntry } from './goal-store-
|
|
9
|
-
import { D as DispatchClassifier, a as DefaultMultiAgentCoordinator } from './multi-agent-coordinator-
|
|
1
|
+
import { e as ProviderError, C as Context, T as Tool, q as ToolUseBlock, r as ToolResultBlock } from './context-C0U8B9NF.js';
|
|
2
|
+
import { R as RetryPolicy, E as ErrorHandler, a as RecoveryDecision } from './retry-policy-C3s_lvdK.js';
|
|
3
|
+
import { C as Compactor, a as CompactReport } from './compactor-CBQAJoDc.js';
|
|
4
|
+
import { M as ModelsRegistry } from './config-VKfOZ-6X.js';
|
|
5
|
+
import { T as ToolExecutorOptions, a as ToolExecutorStrategy, b as ToolBatchResult } from './index-gCv830d7.js';
|
|
6
|
+
import { g as Agent, h as AgentFactory } from './agent-subagent-runner-Bvtf1o9K.js';
|
|
7
|
+
import { B as BrainArbiter, E as EventBus } from './brain-69wzMKp1.js';
|
|
8
|
+
import { J as JournalEntry } from './goal-store-Y_zdLZ3q.js';
|
|
9
|
+
import { D as DispatchClassifier, a as DefaultMultiAgentCoordinator } from './multi-agent-coordinator-BACjsmkC.js';
|
|
10
10
|
|
|
11
11
|
declare class DefaultRetryPolicy implements RetryPolicy {
|
|
12
12
|
shouldRetry(err: Error | ProviderError, attempt: number): boolean;
|
|
@@ -147,12 +147,6 @@ declare class ToolExecutor {
|
|
|
147
147
|
* semantics (over-budget spends don't underflow the running total).
|
|
148
148
|
*/
|
|
149
149
|
private budgetForString;
|
|
150
|
-
/**
|
|
151
|
-
* Compute the suggestedPattern string for a tool+input pair.
|
|
152
|
-
* Matches the logic in DefaultPermissionPolicy so the TUI shows the
|
|
153
|
-
* same subject that the trust file would use.
|
|
154
|
-
*/
|
|
155
|
-
private subjectFor;
|
|
156
150
|
}
|
|
157
151
|
|
|
158
152
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E as EventBus } from './brain-
|
|
2
|
-
import { M as ModelsRegistry, b as ResolvedModel } from './config-
|
|
3
|
-
import { c as TokenCounter, U as Usage, d as CacheStats } from './context-
|
|
1
|
+
import { E as EventBus } from './brain-69wzMKp1.js';
|
|
2
|
+
import { M as ModelsRegistry, b as ResolvedModel } from './config-VKfOZ-6X.js';
|
|
3
|
+
import { c as TokenCounter, U as Usage, d as CacheStats } from './context-C0U8B9NF.js';
|
|
4
4
|
import { P as PathResolver } from './path-resolver-CPRj4bFY.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -44,6 +44,7 @@ declare class DefaultTokenCounter implements TokenCounter {
|
|
|
44
44
|
cacheStats(): CacheStats;
|
|
45
45
|
/** Invalidate cached prices so the next account() call fetches fresh data. */
|
|
46
46
|
invalidateCache(): void;
|
|
47
|
+
private emitAccounted;
|
|
47
48
|
reset(): void;
|
|
48
49
|
private applyPrice;
|
|
49
50
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { T as Tool, C as Context } from './context-
|
|
1
|
+
import { T as Tool, C as Context } from './context-C0U8B9NF.js';
|
|
2
2
|
import { I as InputReader } from './input-reader-E-ffP2ee.js';
|
|
3
|
-
import { P as PermissionPolicy, a as PermissionDecision } from './permission-
|
|
3
|
+
import { P as PermissionPolicy, a as PermissionDecision } from './permission-Bd-57Lbl.js';
|
|
4
4
|
|
|
5
5
|
interface PermissionPolicyOptions {
|
|
6
6
|
trustFile: string;
|
|
@@ -118,7 +118,6 @@ declare class DefaultPermissionPolicy implements PermissionPolicy {
|
|
|
118
118
|
tool: string;
|
|
119
119
|
pattern: string;
|
|
120
120
|
}): void;
|
|
121
|
-
private subjectFor;
|
|
122
121
|
private findNamespaceEntry;
|
|
123
122
|
}
|
|
124
123
|
/**
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { T as Tool, p as TextBlock, g as ContentBlock } from './context-C0U8B9NF.js';
|
|
2
|
+
import { a as MailboxAgentStatus } from './mailbox-types-Ct2hJq0P.js';
|
|
3
|
+
import { H as HookEvent, f as HookMatcher, I as InProcessHook, S as ShellHook, g as HookEntry } from './config-VKfOZ-6X.js';
|
|
4
|
+
|
|
5
|
+
/** Model capabilities relevant to prompt composition. */
|
|
6
|
+
interface ModelCapabilities {
|
|
7
|
+
maxContextTokens: number;
|
|
8
|
+
supportsTools: boolean;
|
|
9
|
+
supportsVision: boolean;
|
|
10
|
+
supportsReasoning: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface BuildContext {
|
|
13
|
+
cwd: string;
|
|
14
|
+
projectRoot: string;
|
|
15
|
+
tools: Tool[];
|
|
16
|
+
/** Provider id (e.g. "anthropic", "minimax-coding-plan"). */
|
|
17
|
+
provider?: string | undefined;
|
|
18
|
+
/** Model id (e.g. "claude-sonnet-4-6", "MiniMax-M2.7"). */
|
|
19
|
+
model?: string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* True when the prompt is being built for a SUBAGENT, not the host
|
|
22
|
+
* agent. Subagents are scoped to a single task — they should NOT see
|
|
23
|
+
* the host's strategic plan board (which is anchoring the host across
|
|
24
|
+
* turns, not steering individual subtasks). The plan-injection
|
|
25
|
+
* layer short-circuits when this flag is set.
|
|
26
|
+
*/
|
|
27
|
+
subagent?: boolean | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* List of currently online agents in the shared mailbox system.
|
|
30
|
+
* Includes agents from all sessions (TUI, WebUI, CLI) in the same project.
|
|
31
|
+
*/
|
|
32
|
+
onlineAgents?: MailboxAgentStatus[] | undefined;
|
|
33
|
+
}
|
|
34
|
+
interface SystemPromptBuilder {
|
|
35
|
+
build(ctx: BuildContext): Promise<TextBlock[]>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Registry of lifecycle hooks (both in-process and shell). One instance is
|
|
40
|
+
* shared per session: the boot path loads `config.hooks` as shell entries and
|
|
41
|
+
* plugins add in-process entries via `PluginAPI.registerHook`. The
|
|
42
|
+
* `HookRunner` reads from it at each lifecycle phase.
|
|
43
|
+
*/
|
|
44
|
+
declare class HookRegistry {
|
|
45
|
+
private readonly entries;
|
|
46
|
+
/** Register an in-process hook. Returns an unsubscribe function. */
|
|
47
|
+
registerInProcess(event: HookEvent, matcher: HookMatcher | undefined, hook: InProcessHook, owner?: string | undefined): () => void;
|
|
48
|
+
/** Register a single shell hook. Returns an unsubscribe function. */
|
|
49
|
+
registerShell(event: HookEvent, hook: ShellHook): () => void;
|
|
50
|
+
/** Bulk-load shell hooks from a `config.hooks` map. */
|
|
51
|
+
loadShellHooks(hooks: Partial<Record<HookEvent, ShellHook[]>> | undefined): void;
|
|
52
|
+
/** All entries registered for an event, in registration order. */
|
|
53
|
+
list(event: HookEvent): readonly HookEntry[];
|
|
54
|
+
/** True when any entry is registered for the event. */
|
|
55
|
+
has(event: HookEvent): boolean;
|
|
56
|
+
/** Drop every registered hook (used in teardown / tests). */
|
|
57
|
+
clear(): void;
|
|
58
|
+
private remove;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Does a hook matcher apply to a tool name? `*` (or empty) matches everything;
|
|
62
|
+
* otherwise the matcher is a case-insensitive pipe-delimited list of exact
|
|
63
|
+
* tool names (`"edit|write"`). Non-tool events pass `undefined` and always match.
|
|
64
|
+
*/
|
|
65
|
+
declare function hookMatcherMatches(matcher: HookMatcher, toolName: string | undefined): boolean;
|
|
66
|
+
|
|
67
|
+
interface Renderer {
|
|
68
|
+
write(text: string | TextBlock): void;
|
|
69
|
+
writeLine(text?: string): void;
|
|
70
|
+
writeBlock(block: ContentBlock): void;
|
|
71
|
+
writeToolCall(name: string, input: unknown): void;
|
|
72
|
+
writeToolResult(name: string, content: unknown, isError: boolean): void;
|
|
73
|
+
writeDiff(unifiedDiff: string): void;
|
|
74
|
+
writeWarning(text: string): void;
|
|
75
|
+
writeError(text: string): void;
|
|
76
|
+
writeInfo(text: string): void;
|
|
77
|
+
clear(): void;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Container — dependency injection with explicit bind / override / decorate.
|
|
82
|
+
*
|
|
83
|
+
* Invariants:
|
|
84
|
+
* bind() — throws if token already bound
|
|
85
|
+
* override() — throws if nothing to replace
|
|
86
|
+
* decorate() — stacks; cached value cleared on register
|
|
87
|
+
*/
|
|
88
|
+
type Token<T> = symbol & {
|
|
89
|
+
readonly __type?: T;
|
|
90
|
+
};
|
|
91
|
+
type Factory<T> = (c: Container) => T;
|
|
92
|
+
type Decorator<T> = (inner: T, c: Container) => T;
|
|
93
|
+
interface BindOptions {
|
|
94
|
+
singleton?: boolean | undefined;
|
|
95
|
+
owner?: string | undefined;
|
|
96
|
+
}
|
|
97
|
+
declare class Container {
|
|
98
|
+
private readonly entries;
|
|
99
|
+
/**
|
|
100
|
+
* Tokens currently mid-resolve. Tracked so we can detect circular
|
|
101
|
+
* dependencies (A → B → A) and throw a structured error instead of
|
|
102
|
+
* overflowing the call stack with "Maximum call stack size exceeded".
|
|
103
|
+
*
|
|
104
|
+
* Not a memoization cache — the per-entry `cache` field is the source
|
|
105
|
+
* of truth for "have I built this before?". This set only lives for
|
|
106
|
+
* the duration of a single resolve call.
|
|
107
|
+
*/
|
|
108
|
+
private readonly resolving;
|
|
109
|
+
bind<T>(token: Token<T>, factory: Factory<T>, opts?: BindOptions): void;
|
|
110
|
+
override<T>(token: Token<T>, factory: Factory<T>, opts?: BindOptions): void;
|
|
111
|
+
decorate<T>(token: Token<T>, decorator: Decorator<T>, owner?: string): void;
|
|
112
|
+
resolve<T>(token: Token<T>): T;
|
|
113
|
+
/**
|
|
114
|
+
* Build a human-readable description of the dependency cycle that
|
|
115
|
+
* caused the resolution to re-enter. Lists the tokens in the order
|
|
116
|
+
* they were entered, then appends the re-entered token to close the
|
|
117
|
+
* loop. Falls back to a generic message if the resolving set is
|
|
118
|
+
* somehow empty (shouldn't happen, but defensive).
|
|
119
|
+
*/
|
|
120
|
+
private describeCycle;
|
|
121
|
+
has<T>(token: Token<T>): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Resolve a token if it is bound, otherwise return undefined.
|
|
124
|
+
* Unlike resolve(), this does not throw if the token is unbound.
|
|
125
|
+
*/
|
|
126
|
+
safeResolve<T>(token: Token<T>): T | undefined;
|
|
127
|
+
ownerOf<T>(token: Token<T>): string | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Remove a token's binding (along with any decorators stacked on it).
|
|
130
|
+
* Returns true if the token existed. Use this to withdraw temporary
|
|
131
|
+
* bindings installed by a short-lived run or plugin — without it, the
|
|
132
|
+
* entry persists in the map forever.
|
|
133
|
+
*/
|
|
134
|
+
unbind<T>(token: Token<T>): boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Drop every binding. Intended for tests and short-lived CLI invocations
|
|
137
|
+
* that rebuild the container from scratch. Production code should prefer
|
|
138
|
+
* `unbind` on the specific tokens it owns.
|
|
139
|
+
*/
|
|
140
|
+
clear(): void;
|
|
141
|
+
list(): Array<{
|
|
142
|
+
token: symbol;
|
|
143
|
+
owner: string;
|
|
144
|
+
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Inspect a binding's full shape, including decorator count and whether
|
|
147
|
+
* a singleton value is cached. Returns null if the token is unbound.
|
|
148
|
+
* Decorator and factory function references are not exposed — only counts
|
|
149
|
+
* and metadata, to keep internal state hidden.
|
|
150
|
+
*/
|
|
151
|
+
inspect<T>(token: Token<T>): {
|
|
152
|
+
owner: string;
|
|
153
|
+
singleton: boolean;
|
|
154
|
+
decoratorCount: number;
|
|
155
|
+
cached: boolean;
|
|
156
|
+
} | null;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Pipeline — Koa-style middleware chain with named middleware
|
|
161
|
+
* and position-aware insertion. Generic over input type T.
|
|
162
|
+
*/
|
|
163
|
+
type NextFn<T> = (value: T) => Promise<T>;
|
|
164
|
+
type MiddlewareHandler<T> = (value: T, next: NextFn<T>) => Promise<T>;
|
|
165
|
+
/**
|
|
166
|
+
* Called when a middleware crashes (throws or rejects). Used by the
|
|
167
|
+
* Pipeline's error boundary to log the offender without aborting the run.
|
|
168
|
+
*
|
|
169
|
+
* Return `'rethrow'` to propagate the error (default for core middleware),
|
|
170
|
+
* or `'swallow'` to skip past the crashing middleware and continue with the
|
|
171
|
+
* value the previous one produced. Plugin middleware should usually be
|
|
172
|
+
* swallowed so one bad plugin can't kill an agent run.
|
|
173
|
+
*/
|
|
174
|
+
type PipelineErrorPolicy = 'rethrow' | 'swallow';
|
|
175
|
+
interface PipelineErrorEvent {
|
|
176
|
+
middleware: string;
|
|
177
|
+
owner?: string | undefined;
|
|
178
|
+
err: unknown;
|
|
179
|
+
}
|
|
180
|
+
type PipelineErrorHandler = (ev: PipelineErrorEvent) => PipelineErrorPolicy | Promise<PipelineErrorPolicy>;
|
|
181
|
+
interface Middleware<T> {
|
|
182
|
+
name: string;
|
|
183
|
+
handler: MiddlewareHandler<T>;
|
|
184
|
+
owner?: string | undefined;
|
|
185
|
+
}
|
|
186
|
+
interface PipelineOptions {
|
|
187
|
+
/** When true and the target middleware is not found, operations silently no-op instead of throwing. */
|
|
188
|
+
optional?: boolean | undefined;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Read-only view of a pipeline. Returned to consumers (plugins, hooks)
|
|
192
|
+
* so they can inspect but not mutate the chain.
|
|
193
|
+
*/
|
|
194
|
+
interface ReadonlyPipeline<T> {
|
|
195
|
+
readonly size: number;
|
|
196
|
+
list(): readonly string[];
|
|
197
|
+
run(input: T): Promise<T>;
|
|
198
|
+
}
|
|
199
|
+
declare class Pipeline<T> {
|
|
200
|
+
private readonly chain;
|
|
201
|
+
private errorHandler?;
|
|
202
|
+
/**
|
|
203
|
+
* Install an error boundary. When a middleware throws or rejects, the
|
|
204
|
+
* handler is called and decides whether to swallow (continue with the
|
|
205
|
+
* pre-handler value) or rethrow. Without a handler, errors propagate.
|
|
206
|
+
*
|
|
207
|
+
* Wire one per pipeline at boot — the host CLI typically installs a
|
|
208
|
+
* single boundary that logs to the operational log and emits a
|
|
209
|
+
* `pipeline.error` event for /diag.
|
|
210
|
+
*/
|
|
211
|
+
setErrorHandler(handler: PipelineErrorHandler | undefined): this;
|
|
212
|
+
use(mw: Middleware<T> | Middleware<unknown>): this;
|
|
213
|
+
prepend(mw: Middleware<T>): this;
|
|
214
|
+
/**
|
|
215
|
+
* Insert middleware at an explicit index. Out-of-range indices are clamped.
|
|
216
|
+
* Use this when insertBefore/insertAfter are insufficient (e.g. to place
|
|
217
|
+
* a middleware at a known position regardless of named targets).
|
|
218
|
+
*/
|
|
219
|
+
insertAt(index: number, mw: Middleware<T>): this;
|
|
220
|
+
/**
|
|
221
|
+
* Insert mw immediately before the first occurrence of target.
|
|
222
|
+
* If called multiple times with the same target, each call inserts
|
|
223
|
+
* before the target's current position — so after insertBefore('B', X)
|
|
224
|
+
* then insertBefore('B', Y), the order is Y → X → B.
|
|
225
|
+
*/
|
|
226
|
+
insertBefore(target: string, mw: Middleware<T>, opts?: PipelineOptions): this;
|
|
227
|
+
/**
|
|
228
|
+
* Insert mw immediately after the first occurrence of target.
|
|
229
|
+
* If called multiple times with the same target, each call inserts
|
|
230
|
+
* after the target's current position — so after insertAfter('B', X)
|
|
231
|
+
* then insertAfter('B', Y), the order is B → X → Y.
|
|
232
|
+
*/
|
|
233
|
+
insertAfter(target: string, mw: Middleware<T>, opts?: PipelineOptions): this;
|
|
234
|
+
replace(target: string, mw: Middleware<T>, opts?: PipelineOptions): this;
|
|
235
|
+
remove(name: string, opts?: PipelineOptions): this;
|
|
236
|
+
list(): readonly string[];
|
|
237
|
+
size(): number;
|
|
238
|
+
/** Return a read-only view suitable for passing to plugins. */
|
|
239
|
+
asReadonly(): ReadonlyPipeline<T>;
|
|
240
|
+
run(input: T): Promise<T>;
|
|
241
|
+
private indexOf;
|
|
242
|
+
private ensureUnique;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export { type BuildContext as B, Container as C, type Decorator as D, type Factory as F, HookRegistry as H, type MiddlewareHandler as M, type NextFn as N, Pipeline as P, type ReadonlyPipeline as R, type SystemPromptBuilder as S, type Token as T, type Renderer as a, type ModelCapabilities as b, type BindOptions as c, type Middleware as d, type PipelineOptions as e, hookMatcherMatches as h };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { E as EventBus, M as MemoryScope, b as MemoryEntry, c as MemoryStore, d as MemoryRelevanceContext, S as ScoredEntry } from './brain-
|
|
2
|
-
import { S as SecretScrubber } from './permission-
|
|
3
|
-
import { i as SessionStore, h as SessionMetadata, a as SessionWriter,
|
|
4
|
-
import { A as AttachmentStore, a as AddAttachmentInput, b as AttachmentRef, c as Attachment } from './session-reader-
|
|
1
|
+
import { E as EventBus, M as MemoryScope, b as MemoryEntry, c as MemoryStore, d as MemoryRelevanceContext, S as ScoredEntry } from './brain-69wzMKp1.js';
|
|
2
|
+
import { S as SecretScrubber } from './permission-Bd-57Lbl.js';
|
|
3
|
+
import { i as SessionStore, h as SessionMetadata, a as SessionWriter, t as ResumedSession, u as SessionData, v as SessionSummary, g as ContentBlock, S as SessionEvent, w as TodoItem, x as ConversationState } from './context-C0U8B9NF.js';
|
|
4
|
+
import { A as AttachmentStore, a as AddAttachmentInput, b as AttachmentRef, c as Attachment } from './session-reader-DD4v2Obw.js';
|
|
5
5
|
import { W as WstackPaths } from './wstack-paths-hOpNLmvf.js';
|
|
6
|
-
import { j as ConfigStore, i as Config, k as ConfigLoader, l as SyncConfig } from './config-
|
|
6
|
+
import { j as ConfigStore, i as Config, k as ConfigLoader, l as SyncConfig } from './config-VKfOZ-6X.js';
|
|
7
7
|
import { S as SecretVault } from './secret-vault-BAKpgFw_.js';
|
|
8
8
|
|
|
9
9
|
interface SessionStoreOptions {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { M as ModeStore, a as ModeConfig, b as Mode } from './mode-CZlO9iU1.js';
|
|
2
|
-
import { P as Provider, M as Message } from './context-
|
|
3
|
-
import { M as MessageSelector, S as SelectorResult } from './selector-
|
|
4
|
-
import { e as ModelsDevModel, R as ResolvedProvider } from './config-
|
|
2
|
+
import { P as Provider, M as Message } from './context-C0U8B9NF.js';
|
|
3
|
+
import { M as MessageSelector, S as SelectorResult } from './selector-47LBnBVk.js';
|
|
4
|
+
import { e as ModelsDevModel, R as ResolvedProvider } from './config-VKfOZ-6X.js';
|
|
5
5
|
|
|
6
6
|
declare class DefaultModeStore implements ModeStore {
|
|
7
7
|
private activeModeId;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { E as EventBus } from './brain-
|
|
1
|
+
import { E as EventBus } from './brain-69wzMKp1.js';
|
|
2
2
|
import { L as Logger } from './logger-B63L5bTg.js';
|
|
3
3
|
import { T as Tracer } from './observability-D-HZN_mF.js';
|
|
4
|
-
import { P as Provider, R as Request, C as Context, b as Response } from './context-
|
|
5
|
-
import { R as RetryPolicy } from './retry-policy-
|
|
4
|
+
import { P as Provider, R as Request, C as Context, b as Response } from './context-C0U8B9NF.js';
|
|
5
|
+
import { R as RetryPolicy } from './retry-policy-C3s_lvdK.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Options passed to a ProviderRunner when calling the provider.
|
package/dist/sdd/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { h as Specification, S as SpecAnalysis, g as SpecValidationResult, e as SpecStatus, f as SpecTemplate, b as SpecRequirement } from '../spec-TBi3Jr6T.js';
|
|
2
2
|
import { d as TaskGraph, e as TaskNode, i as TaskFilter, j as TaskSort, c as TaskProgress, T as TaskType, a as TaskPriority } from '../task-graph-u1q9Jkyk.js';
|
|
3
|
-
import { E as EventBus } from '../brain-
|
|
4
|
-
import { D as DoneCondition, g as Agent, h as AgentFactory, f as TaskResult } from '../agent-subagent-runner-
|
|
5
|
-
import '../context-
|
|
6
|
-
import '../index-
|
|
3
|
+
import { E as EventBus } from '../brain-69wzMKp1.js';
|
|
4
|
+
import { D as DoneCondition, g as Agent, h as AgentFactory, f as TaskResult } from '../agent-subagent-runner-Bvtf1o9K.js';
|
|
5
|
+
import '../context-C0U8B9NF.js';
|
|
6
|
+
import '../index-gCv830d7.js';
|
|
7
7
|
import '../logger-B63L5bTg.js';
|
|
8
|
-
import '../pipeline-
|
|
9
|
-
import '../
|
|
8
|
+
import '../pipeline-BDNvENyV.js';
|
|
9
|
+
import '../mailbox-types-Ct2hJq0P.js';
|
|
10
|
+
import '../config-VKfOZ-6X.js';
|
|
10
11
|
import '../observability-D-HZN_mF.js';
|
|
11
|
-
import '../permission-
|
|
12
|
-
import '../retry-policy-
|
|
12
|
+
import '../permission-Bd-57Lbl.js';
|
|
13
|
+
import '../retry-policy-C3s_lvdK.js';
|
|
13
14
|
|
|
14
15
|
declare class SpecParser {
|
|
15
16
|
parse(content: string): Specification;
|
package/dist/sdd/index.js
CHANGED
|
@@ -5697,7 +5697,27 @@ Working rules:
|
|
|
5697
5697
|
id: "devops",
|
|
5698
5698
|
name: "DevOps",
|
|
5699
5699
|
role: "devops",
|
|
5700
|
-
tools: [
|
|
5700
|
+
tools: [
|
|
5701
|
+
...TOOLS.build,
|
|
5702
|
+
"mcp__ssh__ssh_list_servers",
|
|
5703
|
+
"mcp__ssh__ssh_connection_status",
|
|
5704
|
+
"mcp__ssh__ssh_execute",
|
|
5705
|
+
"mcp__ssh__ssh_execute_sudo",
|
|
5706
|
+
"mcp__ssh__ssh_upload",
|
|
5707
|
+
"mcp__ssh__ssh_download",
|
|
5708
|
+
"mcp__ssh__ssh_sync",
|
|
5709
|
+
"mcp__ssh__ssh_deploy",
|
|
5710
|
+
"mcp__ssh__ssh_health_check",
|
|
5711
|
+
"mcp__ssh__ssh_service_status",
|
|
5712
|
+
"mcp__ssh__ssh_process_manager",
|
|
5713
|
+
"mcp__ssh__ssh_tunnel",
|
|
5714
|
+
"mcp__ssh__ssh_backup_create",
|
|
5715
|
+
"mcp__ssh__ssh_backup_list",
|
|
5716
|
+
"mcp__ssh__ssh_backup_restore",
|
|
5717
|
+
"mcp__ssh__ssh_db_list",
|
|
5718
|
+
"mcp__ssh__ssh_db_query",
|
|
5719
|
+
"mcp__ssh__ssh_profile"
|
|
5720
|
+
],
|
|
5701
5721
|
prompt: `You are the DevOps agent. Your job is CI/CD, containerization, and
|
|
5702
5722
|
deployment configuration: make builds reproducible and deploys safe.
|
|
5703
5723
|
|
|
@@ -5706,6 +5726,7 @@ Scope:
|
|
|
5706
5726
|
- Write Dockerfiles/compose and optimize image size and layer caching
|
|
5707
5727
|
- Configure deployment (env, secrets handling, health checks, rollback)
|
|
5708
5728
|
- Diagnose flaky/broken pipelines
|
|
5729
|
+
- Use optional SSH MCP tools for remote hosts when the 'ssh' MCP server is enabled: list servers, run health checks, inspect services, transfer/deploy files, and open tunnels
|
|
5709
5730
|
|
|
5710
5731
|
Input format you accept:
|
|
5711
5732
|
{ "task": "ci | container | deploy | fix-pipeline", "platform": "github-actions | gitlab | docker | k8s", "target": "<what>" }
|
|
@@ -5720,7 +5741,8 @@ Working rules:
|
|
|
5720
5741
|
- Never hardcode secrets in config; reference the secret store
|
|
5721
5742
|
- Pin versions for reproducible builds; avoid floating :latest
|
|
5722
5743
|
- Every deploy path needs a rollback and a health check
|
|
5723
|
-
- Treat CI/CD changes as high-risk \u2014 explain blast radius before applying
|
|
5744
|
+
- Treat CI/CD changes as high-risk \u2014 explain blast radius before applying
|
|
5745
|
+
- For remote SSH work, start with ssh_list_servers / ssh_connection_status, prefer read-only checks first, and do not run destructive commands without explicit user approval`
|
|
5724
5746
|
},
|
|
5725
5747
|
budget: MEDIUM_BUDGET,
|
|
5726
5748
|
capability: {
|
|
@@ -5737,6 +5759,13 @@ Working rules:
|
|
|
5737
5759
|
"kubernetes",
|
|
5738
5760
|
"k8s",
|
|
5739
5761
|
"deploy",
|
|
5762
|
+
"ssh",
|
|
5763
|
+
"remote ssh",
|
|
5764
|
+
"remote server",
|
|
5765
|
+
"sftp",
|
|
5766
|
+
"tunnel",
|
|
5767
|
+
"bastion",
|
|
5768
|
+
"jump host",
|
|
5740
5769
|
"github actions",
|
|
5741
5770
|
"container"
|
|
5742
5771
|
]
|
|
@@ -7083,6 +7112,7 @@ var DefaultMultiAgentCoordinator = class _DefaultMultiAgentCoordinator extends E
|
|
|
7083
7112
|
subagentId: result.subagentId,
|
|
7084
7113
|
taskId: result.taskId,
|
|
7085
7114
|
status: result.status,
|
|
7115
|
+
result: result.result,
|
|
7086
7116
|
iterations: result.iterations,
|
|
7087
7117
|
toolCalls: result.toolCalls,
|
|
7088
7118
|
durationMs: result.durationMs
|