@haoyiyin/workflow 0.2.11 → 0.3.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/src/agents/contracts/implementer.d.ts +29 -0
- package/dist/src/agents/contracts/implementer.d.ts.map +1 -0
- package/dist/src/agents/contracts/implementer.js +94 -0
- package/dist/src/agents/contracts/implementer.js.map +1 -0
- package/dist/src/agents/contracts/index.d.ts +11 -0
- package/dist/src/agents/contracts/index.d.ts.map +1 -0
- package/dist/src/agents/contracts/index.js +11 -0
- package/dist/src/agents/contracts/index.js.map +1 -0
- package/dist/src/agents/contracts/planner.d.ts +25 -0
- package/dist/src/agents/contracts/planner.d.ts.map +1 -0
- package/dist/src/agents/contracts/planner.js +107 -0
- package/dist/src/agents/contracts/planner.js.map +1 -0
- package/dist/src/agents/contracts/router.d.ts +24 -0
- package/dist/src/agents/contracts/router.d.ts.map +1 -0
- package/dist/src/agents/contracts/router.js +137 -0
- package/dist/src/agents/contracts/router.js.map +1 -0
- package/dist/src/agents/contracts/verifier.d.ts +27 -0
- package/dist/src/agents/contracts/verifier.d.ts.map +1 -0
- package/dist/src/agents/contracts/verifier.js +115 -0
- package/dist/src/agents/contracts/verifier.js.map +1 -0
- package/dist/src/agents/dispatcher.d.ts +94 -51
- package/dist/src/agents/dispatcher.d.ts.map +1 -1
- package/dist/src/agents/dispatcher.js +207 -164
- package/dist/src/agents/dispatcher.js.map +1 -1
- package/dist/src/persistence/index.d.ts +4 -2
- package/dist/src/persistence/index.d.ts.map +1 -1
- package/dist/src/persistence/index.js +4 -1
- package/dist/src/persistence/index.js.map +1 -1
- package/dist/src/persistence/plan-md.d.ts +3 -2
- package/dist/src/persistence/plan-md.d.ts.map +1 -1
- package/dist/src/persistence/plan-md.js +47 -15
- package/dist/src/persistence/plan-md.js.map +1 -1
- package/dist/src/persistence/state-md.d.ts +2 -0
- package/dist/src/persistence/state-md.d.ts.map +1 -1
- package/dist/src/persistence/state-md.js +40 -22
- package/dist/src/persistence/state-md.js.map +1 -1
- package/dist/src/persistence/types.d.ts +35 -39
- package/dist/src/persistence/types.d.ts.map +1 -1
- package/dist/src/router/namespace/core/intent-router.d.ts +24 -0
- package/dist/src/router/namespace/core/intent-router.d.ts.map +1 -0
- package/dist/src/router/namespace/core/intent-router.js +190 -0
- package/dist/src/router/namespace/core/intent-router.js.map +1 -0
- package/dist/src/router/namespace/core/lifecycle-router.d.ts +28 -0
- package/dist/src/router/namespace/core/lifecycle-router.d.ts.map +1 -0
- package/dist/src/router/namespace/core/lifecycle-router.js +132 -0
- package/dist/src/router/namespace/core/lifecycle-router.js.map +1 -0
- package/dist/src/router/namespace/core/state-router.d.ts +32 -0
- package/dist/src/router/namespace/core/state-router.d.ts.map +1 -0
- package/dist/src/router/namespace/core/state-router.js +157 -0
- package/dist/src/router/namespace/core/state-router.js.map +1 -0
- package/dist/src/router/namespace/domain/code-router.d.ts +26 -0
- package/dist/src/router/namespace/domain/code-router.d.ts.map +1 -0
- package/dist/src/router/namespace/domain/code-router.js +171 -0
- package/dist/src/router/namespace/domain/code-router.js.map +1 -0
- package/dist/src/router/namespace/domain/debug-router.d.ts +25 -0
- package/dist/src/router/namespace/domain/debug-router.d.ts.map +1 -0
- package/dist/src/router/namespace/domain/debug-router.js +139 -0
- package/dist/src/router/namespace/domain/debug-router.js.map +1 -0
- package/dist/src/router/namespace/domain/plan-router.d.ts +29 -0
- package/dist/src/router/namespace/domain/plan-router.d.ts.map +1 -0
- package/dist/src/router/namespace/domain/plan-router.js +160 -0
- package/dist/src/router/namespace/domain/plan-router.js.map +1 -0
- package/dist/src/router/namespace/domain/review-router.d.ts +24 -0
- package/dist/src/router/namespace/domain/review-router.d.ts.map +1 -0
- package/dist/src/router/namespace/domain/review-router.js +116 -0
- package/dist/src/router/namespace/domain/review-router.js.map +1 -0
- package/dist/src/router/namespace/index.d.ts +19 -0
- package/dist/src/router/namespace/index.d.ts.map +1 -0
- package/dist/src/router/namespace/index.js +22 -0
- package/dist/src/router/namespace/index.js.map +1 -0
- package/dist/src/router/namespace/registry.d.ts +67 -0
- package/dist/src/router/namespace/registry.d.ts.map +1 -0
- package/dist/src/router/namespace/registry.js +197 -0
- package/dist/src/router/namespace/registry.js.map +1 -0
- package/dist/src/router/namespace/types.d.ts +124 -0
- package/dist/src/router/namespace/types.d.ts.map +1 -0
- package/dist/src/router/namespace/types.js +20 -0
- package/dist/src/router/namespace/types.js.map +1 -0
- package/dist/src/router/namespace/utility/fallback-router.d.ts +28 -0
- package/dist/src/router/namespace/utility/fallback-router.d.ts.map +1 -0
- package/dist/src/router/namespace/utility/fallback-router.js +88 -0
- package/dist/src/router/namespace/utility/fallback-router.js.map +1 -0
- package/dist/src/router/namespace/utility/quick-task-router.d.ts +28 -0
- package/dist/src/router/namespace/utility/quick-task-router.d.ts.map +1 -0
- package/dist/src/router/namespace/utility/quick-task-router.js +99 -0
- package/dist/src/router/namespace/utility/quick-task-router.js.map +1 -0
- package/dist/src/router/namespace/utility/research-router.d.ts +24 -0
- package/dist/src/router/namespace/utility/research-router.d.ts.map +1 -0
- package/dist/src/router/namespace/utility/research-router.js +84 -0
- package/dist/src/router/namespace/utility/research-router.js.map +1 -0
- package/dist/src/skills/agents-md/index.js +2 -2
- package/dist/src/skills/agents-md/index.js.map +1 -1
- package/dist/src/skills/execute-plan/index.d.ts +45 -65
- package/dist/src/skills/execute-plan/index.d.ts.map +1 -1
- package/dist/src/skills/execute-plan/index.js +325 -551
- package/dist/src/skills/execute-plan/index.js.map +1 -1
- package/dist/src/skills/index.d.ts +1 -0
- package/dist/src/skills/index.d.ts.map +1 -1
- package/dist/src/skills/index.js +1 -0
- package/dist/src/skills/index.js.map +1 -1
- package/dist/src/skills/quick-task/index.d.ts +4 -4
- package/dist/src/skills/quick-task/index.js +1 -1
- package/dist/src/skills/quick-task/index.js.map +1 -1
- package/dist/src/skills/review-diff/index.d.ts +6 -6
- package/dist/src/skills/review-diff/index.js +1 -1
- package/dist/src/skills/review-diff/index.js.map +1 -1
- package/dist/src/skills/router/index.d.ts +101 -0
- package/dist/src/skills/router/index.d.ts.map +1 -0
- package/dist/src/skills/router/index.js +450 -0
- package/dist/src/skills/router/index.js.map +1 -0
- package/dist/src/skills/router/types.d.ts +79 -0
- package/dist/src/skills/router/types.d.ts.map +1 -0
- package/dist/src/skills/router/types.js +8 -0
- package/dist/src/skills/router/types.js.map +1 -0
- package/dist/src/skills/systematic-debugging/index.js +1 -1
- package/dist/src/skills/systematic-debugging/index.js.map +1 -1
- package/dist/src/skills/tdd/index.d.ts +14 -14
- package/dist/src/skills/tdd/index.js +1 -1
- package/dist/src/skills/tdd/index.js.map +1 -1
- package/dist/src/skills/to-plan/index-enhanced.d.ts +4 -4
- package/dist/src/skills/to-plan/index-enhanced.d.ts.map +1 -1
- package/dist/src/skills/to-plan/index-enhanced.js +3 -5
- package/dist/src/skills/to-plan/index-enhanced.js.map +1 -1
- package/dist/src/skills/to-plan/index.d.ts +24 -91
- package/dist/src/skills/to-plan/index.d.ts.map +1 -1
- package/dist/src/skills/to-plan/index.js +214 -409
- package/dist/src/skills/to-plan/index.js.map +1 -1
- package/package.json +3 -5
- package/src/agents/contracts/implementer.ts +122 -0
- package/src/agents/contracts/index.ts +27 -0
- package/src/agents/contracts/planner.ts +129 -0
- package/src/agents/contracts/router.ts +168 -0
- package/src/agents/contracts/verifier.ts +137 -0
- package/src/agents/dispatcher.ts +387 -362
- package/src/persistence/index.ts +10 -4
- package/src/persistence/plan-md.ts +52 -18
- package/src/persistence/state-md.ts +45 -23
- package/src/persistence/types.ts +37 -40
- package/src/router/namespace/README.md +127 -0
- package/src/router/namespace/core/intent-router.ts +221 -0
- package/src/router/namespace/core/lifecycle-router.ts +156 -0
- package/src/router/namespace/core/state-router.ts +192 -0
- package/src/router/namespace/domain/code-router.ts +202 -0
- package/src/router/namespace/domain/debug-router.ts +167 -0
- package/src/router/namespace/domain/plan-router.ts +196 -0
- package/src/router/namespace/domain/review-router.ts +142 -0
- package/src/router/namespace/index.ts +84 -0
- package/src/router/namespace/registry.ts +242 -0
- package/src/router/namespace/types.ts +182 -0
- package/src/router/namespace/utility/fallback-router.ts +107 -0
- package/src/router/namespace/utility/quick-task-router.ts +121 -0
- package/src/router/namespace/utility/research-router.ts +105 -0
- package/src/skills/agents-md/index.ts +2 -2
- package/src/skills/execute-plan/index.ts +419 -673
- package/src/skills/index.ts +1 -0
- package/src/skills/quick-task/index.ts +1 -1
- package/src/skills/review-diff/index.ts +1 -1
- package/src/skills/router/SKILL.md +181 -0
- package/src/skills/router/index.ts +577 -0
- package/src/skills/router/types.ts +90 -0
- package/src/skills/systematic-debugging/index.ts +1 -1
- package/src/skills/tdd/index.ts +1 -1
- package/src/skills/to-plan/index-enhanced.ts +3 -5
- package/src/skills/to-plan/index.ts +231 -502
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Subagent Dispatcher - Spawns isolated subagents
|
|
2
|
+
* Subagent Dispatcher - Spawns isolated subagents with fresh context
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Key principle: Each subagent gets ONLY the context it needs.
|
|
5
|
+
* - No history pollution from main agent
|
|
6
|
+
* - Minimal, focused prompts
|
|
7
|
+
* - Token budget enforcement
|
|
8
|
+
* - Resilient dispatch with circuit breaker and retry
|
|
8
9
|
*/
|
|
9
10
|
import { nanoid } from 'nanoid';
|
|
11
|
+
import { TokenBudget, BudgetExceededError } from './token-budget.js';
|
|
12
|
+
import { ResilientDispatcher } from './resilience.js';
|
|
10
13
|
const DEFAULT_PROCESS_CONFIG = {
|
|
11
14
|
command: 'claude',
|
|
12
15
|
args: ['--print', '--output-format', 'json'],
|
|
@@ -14,9 +17,6 @@ const DEFAULT_PROCESS_CONFIG = {
|
|
|
14
17
|
};
|
|
15
18
|
/**
|
|
16
19
|
* Creates a SubagentExecutor that spawns a subprocess for each dispatch.
|
|
17
|
-
*
|
|
18
|
-
* The executor writes the prompt to a temp file, invokes the configured
|
|
19
|
-
* CLI command with `--input-file`, collects stdout/stderr, and cleans up.
|
|
20
20
|
*/
|
|
21
21
|
export function createProcessExecutor(config = {}) {
|
|
22
22
|
const resolved = {
|
|
@@ -59,9 +59,7 @@ export function createProcessExecutor(config = {}) {
|
|
|
59
59
|
if (stderr) {
|
|
60
60
|
errors.push(stderr);
|
|
61
61
|
}
|
|
62
|
-
// Best-effort cleanup
|
|
63
62
|
await rm(workDir, { recursive: true, force: true }).catch(() => undefined);
|
|
64
|
-
// Rough token estimate: ~4 chars per token
|
|
65
63
|
const tokensUsed = Math.ceil((prompt.length + stdout.length) / 4);
|
|
66
64
|
return { output: stdout, tokensUsed, errors };
|
|
67
65
|
}
|
|
@@ -88,6 +86,7 @@ export function createProcessExecutor(config = {}) {
|
|
|
88
86
|
// Constants
|
|
89
87
|
// ---------------------------------------------------------------------------
|
|
90
88
|
const DEFAULT_TIMEOUT_SECONDS = 300;
|
|
89
|
+
const DEFAULT_TOKEN_BUDGET = 32000;
|
|
91
90
|
// ---------------------------------------------------------------------------
|
|
92
91
|
// Role-specific system instructions
|
|
93
92
|
// ---------------------------------------------------------------------------
|
|
@@ -108,27 +107,32 @@ const PERMISSION_LABELS = {
|
|
|
108
107
|
writeFiles: 'Write Files',
|
|
109
108
|
gitOperations: 'Git Operations',
|
|
110
109
|
};
|
|
111
|
-
// ---------------------------------------------------------------------------
|
|
112
|
-
// Subagent Dispatcher
|
|
113
|
-
// ---------------------------------------------------------------------------
|
|
114
110
|
export class SubagentDispatcher {
|
|
115
|
-
executor;
|
|
116
111
|
logger;
|
|
112
|
+
tokenBudget;
|
|
113
|
+
resilientDispatcher;
|
|
117
114
|
activeIds;
|
|
118
|
-
constructor(
|
|
119
|
-
this.
|
|
120
|
-
this.
|
|
115
|
+
constructor(config) {
|
|
116
|
+
this.logger = config.logger;
|
|
117
|
+
this.tokenBudget = new TokenBudget(config.tokenBudget);
|
|
118
|
+
this.resilientDispatcher = new ResilientDispatcher({
|
|
119
|
+
circuitBreaker: config.resilience?.circuitBreaker,
|
|
120
|
+
retryPolicy: config.resilience?.retryPolicy,
|
|
121
|
+
});
|
|
121
122
|
this.activeIds = new Set();
|
|
122
123
|
}
|
|
123
124
|
// -----------------------------------------------------------------------
|
|
124
125
|
// Public API
|
|
125
126
|
// -----------------------------------------------------------------------
|
|
126
127
|
/**
|
|
127
|
-
* Dispatch a single subagent with
|
|
128
|
+
* Dispatch a single subagent with fresh context.
|
|
128
129
|
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
130
|
+
* Steps:
|
|
131
|
+
* 1. Check token budget
|
|
132
|
+
* 2. Build fresh prompt (no history pollution)
|
|
133
|
+
* 3. Spawn subagent via resilient dispatcher
|
|
134
|
+
* 4. Parse and validate output
|
|
135
|
+
* 5. Return structured result
|
|
132
136
|
*/
|
|
133
137
|
async dispatch(config, contract) {
|
|
134
138
|
const id = nanoid();
|
|
@@ -136,34 +140,42 @@ export class SubagentDispatcher {
|
|
|
136
140
|
const timeoutSeconds = config.timeout ?? DEFAULT_TIMEOUT_SECONDS;
|
|
137
141
|
this.activeIds.add(id);
|
|
138
142
|
this.logger.info(`[Dispatcher] Dispatching ${id} (role=${config.role})`);
|
|
143
|
+
// Check token budget
|
|
144
|
+
const prompt = this.buildFreshPrompt(config, contract);
|
|
145
|
+
const estimatedTokens = TokenBudget.estimateTokens(prompt);
|
|
146
|
+
if (!this.tokenBudget.canAfford(estimatedTokens)) {
|
|
147
|
+
this.activeIds.delete(id);
|
|
148
|
+
throw new BudgetExceededError(`Cannot afford ${estimatedTokens} tokens. Remaining: ${this.tokenBudget.getRemaining()}`);
|
|
149
|
+
}
|
|
139
150
|
try {
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
id,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
151
|
+
// Execute via resilient dispatcher (handles circuit breaker + retry)
|
|
152
|
+
const result = await this.resilientDispatcher.dispatch(async () => {
|
|
153
|
+
return await this.executeSubagent(id, config, contract, prompt, timeoutSeconds);
|
|
154
|
+
}, {
|
|
155
|
+
fallback: () => ({
|
|
156
|
+
id,
|
|
157
|
+
role: config.role,
|
|
158
|
+
status: 'failure',
|
|
159
|
+
output: '',
|
|
160
|
+
artifacts: [],
|
|
161
|
+
tokensUsed: 0,
|
|
162
|
+
duration: Date.now() - startTime,
|
|
163
|
+
errors: ['Fallback executed due to circuit breaker or retry exhaustion'],
|
|
164
|
+
}),
|
|
165
|
+
});
|
|
166
|
+
// Record actual token usage
|
|
167
|
+
this.tokenBudget.recordUsage(result.tokensUsed || estimatedTokens);
|
|
146
168
|
const duration = Date.now() - startTime;
|
|
147
|
-
|
|
148
|
-
const allErrors = [...executorResult.errors, ...validationErrors];
|
|
149
|
-
const status = allErrors.length > 0 ? 'failure' : 'success';
|
|
150
|
-
const artifacts = extractArtifacts(executorResult.output);
|
|
151
|
-
this.logger.info(`[Dispatcher] Subagent ${id} completed: status=${status} duration=${duration}ms tokens=${executorResult.tokensUsed}`);
|
|
169
|
+
this.logger.info(`[Dispatcher] Subagent ${id} completed: status=${result.status} duration=${duration}ms tokens=${result.tokensUsed || estimatedTokens}`);
|
|
152
170
|
return {
|
|
153
|
-
|
|
154
|
-
role: config.role,
|
|
155
|
-
status,
|
|
156
|
-
output: executorResult.output,
|
|
157
|
-
artifacts,
|
|
158
|
-
tokensUsed: executorResult.tokensUsed,
|
|
171
|
+
...result,
|
|
159
172
|
duration,
|
|
160
|
-
errors: allErrors,
|
|
161
173
|
};
|
|
162
174
|
}
|
|
163
175
|
catch (error) {
|
|
164
176
|
const duration = Date.now() - startTime;
|
|
165
177
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
166
|
-
const isTimeout = errorMessage.includes('timed out');
|
|
178
|
+
const isTimeout = errorMessage.includes('timed out') || errorMessage.includes('Timeout');
|
|
167
179
|
this.logger.error(`[Dispatcher] Subagent ${id} failed: ${errorMessage}`);
|
|
168
180
|
return {
|
|
169
181
|
id,
|
|
@@ -171,7 +183,7 @@ export class SubagentDispatcher {
|
|
|
171
183
|
status: isTimeout ? 'timeout' : 'failure',
|
|
172
184
|
output: '',
|
|
173
185
|
artifacts: [],
|
|
174
|
-
tokensUsed:
|
|
186
|
+
tokensUsed: estimatedTokens,
|
|
175
187
|
duration,
|
|
176
188
|
errors: [errorMessage],
|
|
177
189
|
};
|
|
@@ -183,16 +195,34 @@ export class SubagentDispatcher {
|
|
|
183
195
|
/**
|
|
184
196
|
* Dispatch multiple subagents in parallel.
|
|
185
197
|
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
198
|
+
* Each subagent receives ONLY its own contract - no shared context pollution.
|
|
199
|
+
* Results are returned in the same order as configs.
|
|
188
200
|
*/
|
|
189
|
-
async dispatchParallel(configs
|
|
190
|
-
if (configs.length !== contracts.length) {
|
|
191
|
-
throw new Error(`configs.length (${configs.length}) must equal contracts.length (${contracts.length})`);
|
|
192
|
-
}
|
|
201
|
+
async dispatchParallel(configs) {
|
|
193
202
|
this.logger.info(`[Dispatcher] Dispatching ${configs.length} subagents in parallel`);
|
|
194
|
-
|
|
195
|
-
const
|
|
203
|
+
// Check total budget before dispatching
|
|
204
|
+
const totalEstimatedTokens = configs.reduce((sum, { contract }) => {
|
|
205
|
+
const prompt = this.buildFreshPrompt({ role: 'general' }, contract);
|
|
206
|
+
return sum + TokenBudget.estimateTokens(prompt);
|
|
207
|
+
}, 0);
|
|
208
|
+
if (!this.tokenBudget.canAfford(totalEstimatedTokens)) {
|
|
209
|
+
throw new BudgetExceededError(`Parallel dispatch requires ${totalEstimatedTokens} tokens. Remaining: ${this.tokenBudget.getRemaining()}`);
|
|
210
|
+
}
|
|
211
|
+
// Dispatch all in parallel
|
|
212
|
+
const promises = configs.map(({ config, contract }) => this.dispatch(config, contract).catch((error) => {
|
|
213
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
214
|
+
return {
|
|
215
|
+
id: nanoid(),
|
|
216
|
+
role: config.role,
|
|
217
|
+
status: 'failure',
|
|
218
|
+
output: '',
|
|
219
|
+
artifacts: [],
|
|
220
|
+
tokensUsed: 0,
|
|
221
|
+
duration: 0,
|
|
222
|
+
errors: [errorMessage],
|
|
223
|
+
};
|
|
224
|
+
}));
|
|
225
|
+
const results = await Promise.all(promises);
|
|
196
226
|
const counts = {
|
|
197
227
|
success: results.filter((r) => r.status === 'success').length,
|
|
198
228
|
failure: results.filter((r) => r.status === 'failure').length,
|
|
@@ -202,53 +232,47 @@ export class SubagentDispatcher {
|
|
|
202
232
|
return results;
|
|
203
233
|
}
|
|
204
234
|
/**
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
* Each subagent receives the output of all previous subagents as
|
|
208
|
-
* additional context. The pipeline stops early if a subagent fails
|
|
209
|
-
* or times out. Use when tasks form a pipeline (e.g. explore ->
|
|
210
|
-
* implement -> review -> verify).
|
|
235
|
+
* Get current health status including token usage and circuit state
|
|
211
236
|
*/
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
this.logger.warn(`[Dispatcher] Stopping sequential pipeline at index ${i} (${result.status})`);
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
return results;
|
|
237
|
+
getHealth() {
|
|
238
|
+
const resilientHealth = this.resilientDispatcher.getHealth();
|
|
239
|
+
const tokenUsage = this.tokenBudget.getUsage();
|
|
240
|
+
return {
|
|
241
|
+
tokenUsage: {
|
|
242
|
+
...tokenUsage,
|
|
243
|
+
remaining: this.tokenBudget.getRemaining(),
|
|
244
|
+
},
|
|
245
|
+
circuitState: resilientHealth.circuitState,
|
|
246
|
+
activeSubagents: this.activeIds.size,
|
|
247
|
+
};
|
|
228
248
|
}
|
|
229
249
|
/**
|
|
230
|
-
*
|
|
250
|
+
* Reset token budget (for testing or new milestone)
|
|
231
251
|
*/
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
await this.executor.abort(id);
|
|
238
|
-
this.activeIds.delete(id);
|
|
239
|
-
this.logger.info(`[Dispatcher] Aborted subagent ${id}`);
|
|
252
|
+
resetBudget() {
|
|
253
|
+
this.tokenBudget.reset();
|
|
254
|
+
this.logger.info('[Dispatcher] Token budget reset');
|
|
240
255
|
}
|
|
241
256
|
// -----------------------------------------------------------------------
|
|
242
|
-
// Prompt construction
|
|
257
|
+
// Prompt construction - FRESH CONTEXT ONLY
|
|
243
258
|
// -----------------------------------------------------------------------
|
|
244
259
|
/**
|
|
245
|
-
* Build a
|
|
260
|
+
* Build a fresh prompt with ONLY necessary context.
|
|
261
|
+
*
|
|
262
|
+
* Excludes:
|
|
263
|
+
* - Main agent conversation history
|
|
264
|
+
* - Previous subagent outputs (unless explicitly passed)
|
|
265
|
+
* - Internal reasoning
|
|
246
266
|
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
267
|
+
* Includes:
|
|
268
|
+
* - Role instruction
|
|
269
|
+
* - Permissions
|
|
270
|
+
* - File scope
|
|
271
|
+
* - Token budget
|
|
272
|
+
* - Output schema
|
|
273
|
+
* - Task description
|
|
250
274
|
*/
|
|
251
|
-
|
|
275
|
+
buildFreshPrompt(config, contract) {
|
|
252
276
|
const sections = [];
|
|
253
277
|
sections.push(buildRoleHeader(config.role));
|
|
254
278
|
sections.push(buildPermissionsBlock(contract.permissions));
|
|
@@ -262,73 +286,69 @@ export class SubagentDispatcher {
|
|
|
262
286
|
return sections.join('\n\n---\n\n');
|
|
263
287
|
}
|
|
264
288
|
// -----------------------------------------------------------------------
|
|
265
|
-
//
|
|
289
|
+
// Subagent execution
|
|
266
290
|
// -----------------------------------------------------------------------
|
|
267
291
|
/**
|
|
268
|
-
*
|
|
269
|
-
*
|
|
292
|
+
* Execute a subagent process.
|
|
293
|
+
* This is the actual implementation that the resilient dispatcher wraps.
|
|
270
294
|
*/
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
}
|
|
295
|
+
async executeSubagent(id, config, contract, prompt, timeoutSeconds) {
|
|
296
|
+
const { spawn } = await import('child_process');
|
|
297
|
+
const { writeFile, mkdir, rm } = await import('fs/promises');
|
|
298
|
+
const { join } = await import('path');
|
|
299
|
+
const { tmpdir } = await import('os');
|
|
300
|
+
const workDir = join(tmpdir(), `yi-subagent-${id}`);
|
|
301
|
+
await mkdir(workDir, { recursive: true });
|
|
302
|
+
const promptPath = join(workDir, 'prompt.md');
|
|
303
|
+
await writeFile(promptPath, prompt, 'utf-8');
|
|
275
304
|
return new Promise((resolve, reject) => {
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
305
|
+
const child = spawn('claude', ['--print', '--output-format', 'json', '--input-file', promptPath], {
|
|
306
|
+
env: { ...process.env, CLAUDE_SUBAGENT: '1' },
|
|
307
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
308
|
+
timeout: timeoutSeconds * 1000,
|
|
309
|
+
});
|
|
310
|
+
const outputChunks = [];
|
|
311
|
+
const errorChunks = [];
|
|
312
|
+
child.stdout?.on('data', (chunk) => outputChunks.push(chunk));
|
|
313
|
+
child.stderr?.on('data', (chunk) => errorChunks.push(chunk));
|
|
314
|
+
child.on('close', async (exitCode) => {
|
|
315
|
+
// Cleanup
|
|
316
|
+
await rm(workDir, { recursive: true, force: true }).catch(() => undefined);
|
|
317
|
+
const stdout = Buffer.concat(outputChunks).toString('utf-8').trim();
|
|
318
|
+
const stderr = Buffer.concat(errorChunks).toString('utf-8').trim();
|
|
319
|
+
const errors = [];
|
|
320
|
+
if (exitCode !== 0) {
|
|
321
|
+
errors.push(`Subprocess exited with code ${exitCode}`);
|
|
322
|
+
}
|
|
323
|
+
if (stderr) {
|
|
324
|
+
errors.push(stderr);
|
|
325
|
+
}
|
|
326
|
+
// Parse output and validate
|
|
327
|
+
const tokensUsed = Math.ceil((prompt.length + stdout.length) / 4);
|
|
328
|
+
const artifacts = extractArtifacts(stdout);
|
|
329
|
+
const status = errors.length > 0 ? 'failure' : 'success';
|
|
330
|
+
// Validate against schema if provided
|
|
331
|
+
const validationErrors = validateOutput(stdout, contract.outputSchema);
|
|
332
|
+
if (validationErrors.length > 0) {
|
|
333
|
+
errors.push(...validationErrors);
|
|
334
|
+
}
|
|
335
|
+
resolve({
|
|
336
|
+
id,
|
|
337
|
+
role: config.role,
|
|
338
|
+
status: validationErrors.length > 0 ? 'failure' : status,
|
|
339
|
+
output: stdout,
|
|
340
|
+
artifacts,
|
|
341
|
+
tokensUsed,
|
|
342
|
+
duration: 0, // Will be set by caller
|
|
343
|
+
errors: [...errors, ...validationErrors],
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
child.on('error', async (error) => {
|
|
347
|
+
await rm(workDir, { recursive: true, force: true }).catch(() => undefined);
|
|
287
348
|
reject(error);
|
|
288
349
|
});
|
|
289
350
|
});
|
|
290
351
|
}
|
|
291
|
-
// -----------------------------------------------------------------------
|
|
292
|
-
// Output validation
|
|
293
|
-
// -----------------------------------------------------------------------
|
|
294
|
-
/**
|
|
295
|
-
* Validate subagent output against an optional schema.
|
|
296
|
-
* The schema is a Record<string, unknown> where values are type strings
|
|
297
|
-
* like "string", "number", "boolean", "object".
|
|
298
|
-
*
|
|
299
|
-
* Returns an array of validation error messages (empty = valid).
|
|
300
|
-
*/
|
|
301
|
-
validateOutput(output, schema) {
|
|
302
|
-
if (!schema || Object.keys(schema).length === 0) {
|
|
303
|
-
return [];
|
|
304
|
-
}
|
|
305
|
-
// Try to extract a JSON block from the output
|
|
306
|
-
const jsonMatch = output.match(/```json\s*([\s\S]*?)\s*```/);
|
|
307
|
-
const jsonText = jsonMatch ? jsonMatch[1].trim() : output.trim();
|
|
308
|
-
let parsed;
|
|
309
|
-
try {
|
|
310
|
-
parsed = JSON.parse(jsonText);
|
|
311
|
-
}
|
|
312
|
-
catch {
|
|
313
|
-
return ['Output is not valid JSON'];
|
|
314
|
-
}
|
|
315
|
-
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
316
|
-
return ['Output must be a JSON object'];
|
|
317
|
-
}
|
|
318
|
-
const obj = parsed;
|
|
319
|
-
const errors = [];
|
|
320
|
-
for (const [key, expectedType] of Object.entries(schema)) {
|
|
321
|
-
if (!(key in obj)) {
|
|
322
|
-
errors.push(`Missing required field: "${key}"`);
|
|
323
|
-
continue;
|
|
324
|
-
}
|
|
325
|
-
const actualType = typeof obj[key];
|
|
326
|
-
if (actualType !== expectedType) {
|
|
327
|
-
errors.push(`Field "${key}": expected type ${String(expectedType)}, got ${actualType}`);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
return errors;
|
|
331
|
-
}
|
|
332
352
|
}
|
|
333
353
|
// ---------------------------------------------------------------------------
|
|
334
354
|
// Prompt builder helpers (pure functions)
|
|
@@ -381,7 +401,7 @@ function buildIsolationBlock() {
|
|
|
381
401
|
].join('\n');
|
|
382
402
|
}
|
|
383
403
|
function buildBudgetBlock(tokenBudget) {
|
|
384
|
-
const budget = tokenBudget ??
|
|
404
|
+
const budget = tokenBudget ?? DEFAULT_TOKEN_BUDGET;
|
|
385
405
|
return [
|
|
386
406
|
'## Token Budget',
|
|
387
407
|
'',
|
|
@@ -408,22 +428,47 @@ function buildOutputSchemaBlock(schema) {
|
|
|
408
428
|
function buildTaskBlock(prompt) {
|
|
409
429
|
return `## Task\n\n${prompt}`;
|
|
410
430
|
}
|
|
431
|
+
// ---------------------------------------------------------------------------
|
|
432
|
+
// Output validation
|
|
433
|
+
// ---------------------------------------------------------------------------
|
|
411
434
|
/**
|
|
412
|
-
*
|
|
413
|
-
*
|
|
435
|
+
* Validate subagent output against an optional schema.
|
|
436
|
+
* Returns an array of validation error messages (empty = valid).
|
|
414
437
|
*/
|
|
415
|
-
function
|
|
416
|
-
if (
|
|
417
|
-
return
|
|
438
|
+
function validateOutput(output, schema) {
|
|
439
|
+
if (!schema || Object.keys(schema).length === 0) {
|
|
440
|
+
return [];
|
|
418
441
|
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
}
|
|
442
|
+
// Try to extract a JSON block from the output
|
|
443
|
+
const jsonMatch = output.match(/```json\s*([\s\S]*?)\s*```/);
|
|
444
|
+
const jsonText = jsonMatch ? jsonMatch[1].trim() : output.trim();
|
|
445
|
+
let parsed;
|
|
446
|
+
try {
|
|
447
|
+
parsed = JSON.parse(jsonText);
|
|
448
|
+
}
|
|
449
|
+
catch {
|
|
450
|
+
return ['Output is not valid JSON'];
|
|
451
|
+
}
|
|
452
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
453
|
+
return ['Output must be a JSON object'];
|
|
454
|
+
}
|
|
455
|
+
const obj = parsed;
|
|
456
|
+
const errors = [];
|
|
457
|
+
for (const [key, expectedType] of Object.entries(schema)) {
|
|
458
|
+
if (!(key in obj)) {
|
|
459
|
+
errors.push(`Missing required field: "${key}"`);
|
|
460
|
+
continue;
|
|
461
|
+
}
|
|
462
|
+
const actualType = typeof obj[key];
|
|
463
|
+
if (actualType !== expectedType) {
|
|
464
|
+
errors.push(`Field "${key}": expected type ${String(expectedType)}, got ${actualType}`);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
return errors;
|
|
426
468
|
}
|
|
469
|
+
// ---------------------------------------------------------------------------
|
|
470
|
+
// Artifact extraction
|
|
471
|
+
// ---------------------------------------------------------------------------
|
|
427
472
|
/**
|
|
428
473
|
* Extract structured artifacts from subagent output text.
|
|
429
474
|
* Recognises fenced code blocks (JSON, diff) and converts them
|
|
@@ -443,12 +488,10 @@ function extractArtifacts(output) {
|
|
|
443
488
|
}
|
|
444
489
|
/**
|
|
445
490
|
* Create a SubagentDispatcher with sensible defaults.
|
|
446
|
-
*
|
|
447
|
-
* If no executor is provided, a process-based executor is created
|
|
448
|
-
* using `createProcessExecutor` which spawns a CLI command.
|
|
449
491
|
*/
|
|
450
|
-
export function createDispatcher(
|
|
451
|
-
|
|
452
|
-
return new SubagentDispatcher(executor, logger);
|
|
492
|
+
export function createDispatcher(options) {
|
|
493
|
+
return new SubagentDispatcher(options);
|
|
453
494
|
}
|
|
495
|
+
// Re-export for convenience
|
|
496
|
+
export { TokenBudget, BudgetExceededError, ResilientDispatcher };
|
|
454
497
|
//# sourceMappingURL=dispatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/agents/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA8ChC,MAAM,sBAAsB,GAA0B;IACpD,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;IAC5C,GAAG,EAAE,EAAE;CACR,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAyC,EAAE;IAE3C,MAAM,QAAQ,GAA0B;QACtC,GAAG,sBAAsB;QACzB,GAAG,MAAM;KACV,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,GAAG,EAGnB,CAAC;IAEJ,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAwB;YACpD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/E,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC9C,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAE7C,MAAM,KAAK,GAAG,KAAK,CACjB,QAAQ,CAAC,OAAO,EAChB,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,EAC9C;gBACE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE;gBACxC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;aAC9D,CACF,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAE9B,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,WAAW,GAAa,EAAE,CAAC;YAEjC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACpE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC3B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEnE,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBAED,sBAAsB;gBACtB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAE3E,2CAA2C;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAElE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAChD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC3E,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBACxC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBACtB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,EAAU;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,MAAM,iBAAiB,GAAiC;IACtD,QAAQ,EACN,kHAAkH;IACpH,WAAW,EACT,kHAAkH;IACpH,QAAQ,EACN,+HAA+H;IACjI,OAAO,EACL,kGAAkG;IACpG,QAAQ,EACN,wGAAwG;IAC1G,QAAQ,EACN,wIAAwI;IAC1I,OAAO,EACL,iFAAiF;IACnF,UAAU,EACR,qFAAqF;CACxF,CAAC;AAEF,MAAM,iBAAiB,GAAwC;IAC7D,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,aAAa,EAAE,gBAAgB;CAChC,CAAC;AAEF,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,MAAM,OAAO,kBAAkB;IACZ,QAAQ,CAAmB;IAC3B,MAAM,CAAS;IACf,SAAS,CAAc;IAExC,YAAY,QAA0B,EAAE,MAAc;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,0EAA0E;IAC1E,aAAa;IACb,0EAA0E;IAE1E;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CACZ,MAAsB,EACtB,QAA0B;QAE1B,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,uBAAuB,CAAC;QAEjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAEzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAElD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC5B,EAAE;gBACF,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,cAAc;aACxB,CAAC,EACF,cAAc,GAAG,IAAI,EACrB,EAAE,CACH,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAC1C,cAAc,CAAC,MAAM,EACrB,QAAQ,CAAC,YAAY,CACtB,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC;YAClE,MAAM,MAAM,GACV,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yBAAyB,EAAE,sBAAsB,MAAM,aAAa,QAAQ,aAAa,cAAc,CAAC,UAAU,EAAE,CACrH,CAAC;YAEF,OAAO;gBACL,EAAE;gBACF,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM;gBACN,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,SAAS;gBACT,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,QAAQ;gBACR,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAErD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,YAAY,YAAY,EAAE,CAAC,CAAC;YAEzE,OAAO;gBACL,EAAE;gBACF,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACzC,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,CAAC;gBACb,QAAQ;gBACR,MAAM,EAAE,CAAC,YAAY,CAAC;aACvB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAkC,EAClC,SAAsC;QAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,mBAAmB,OAAO,CAAC,MAAM,kCAAkC,SAAS,CAAC,MAAM,GAAG,CACvF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4BAA4B,OAAO,CAAC,MAAM,wBAAwB,CACnE,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CACrE,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;YAC7D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;YAC7D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;SAC9D,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yCAAyC,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,UAAU,CACxH,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAkC,EAClC,SAAsC;QAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,mBAAmB,OAAO,CAAC,MAAM,kCAAkC,SAAS,CAAC,MAAM,GAAG,CACvF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4BAA4B,OAAO,CAAC,MAAM,yBAAyB,CACpE,CAAC;QAEF,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,iBAAiB,GAAG,0BAA0B,CAClD,SAAS,CAAC,CAAC,CAAC,EACZ,OAAO,CACR,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sDAAsD,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAC7E,CAAC;gBACF,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,0EAA0E;IAC1E,sBAAsB;IACtB,0EAA0E;IAE1E;;;;;;OAMG;IACK,WAAW,CACjB,MAAsB,EACtB,QAA0B;QAE1B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAElE,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,0EAA0E;IAC1E,mBAAmB;IACnB,0EAA0E;IAE1E;;;OAGG;IACK,WAAW,CACjB,OAAmB,EACnB,SAAiB,EACjB,EAAU;QAEV,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,oBAAoB,SAAS,IAAI,CAAC,CAAC,CAAC;YACrE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,OAAO;iBACJ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,oBAAoB;IACpB,0EAA0E;IAE1E;;;;;;OAMG;IACK,cAAc,CACpB,MAAc,EACd,MAAgC;QAEhC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEjE,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CACT,UAAU,GAAG,oBAAoB,MAAM,CAAC,YAAY,CAAC,SAAS,UAAU,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E,SAAS,eAAe,CAAC,IAAkB;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC;IACzE,OAAO,WAAW,IAAI,OAAO,WAAW,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,qBAAqB,CAAC,WAA0B;IACvD,MAAM,KAAK,GAAa,CAAC,gBAAgB,CAAC,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAA4B,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAuB,EACvB,KAAwB;IAExB,MAAM,KAAK,GAAa,CAAC,eAAe,CAAC,CAAC;IAE1C,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,wBAAwB;QACxB,EAAE;QACF,uEAAuE;QACvE,2CAA2C;QAC3C,oDAAoD;QACpD,iCAAiC;QACjC,sCAAsC;QACtC,2CAA2C;KAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAoB;IAC5C,MAAM,MAAM,GAAG,WAAW,IAAI,KAAK,CAAC;IACpC,OAAO;QACL,iBAAiB;QACjB,EAAE;QACF,0BAA0B,MAAM,CAAC,cAAc,EAAE,YAAY;QAC7D,mEAAmE;KACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAgC;IAC9D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,sEAAsE,CAAC;IAChF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAa;QACtB,2BAA2B;QAC3B,EAAE;QACF,wDAAwD;KACzD,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,0CAA0C,EAC1C,EAAE,EACF,SAAS,EACT,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAClD,KAAK,CACN,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,cAAc,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CACjC,QAA0B,EAC1B,eAA0C;IAE1C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,eAAe;SAC5B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,+BAA+B,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE,CAC/F;SACA,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;QACL,GAAG,QAAQ;QACX,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,yCAAyC,OAAO,EAAE;KAC7E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,SAAS,GAAuB,EAAE,CAAC;IAEzC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAClE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAClE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,UAA6B,EAAE;IAE/B,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,IAAI,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnE,OAAO,IAAI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/agents/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Persistence layer
|
|
2
|
+
* Persistence layer entry point
|
|
3
|
+
*
|
|
4
|
+
* Provides STATE.md and PLAN.md management for workflow state persistence.
|
|
3
5
|
*/
|
|
4
6
|
export { StateMdManager } from './state-md.js';
|
|
5
7
|
export { PlanMdManager } from './plan-md.js';
|
|
6
|
-
export type { Task, Wave, Plan, TaskResult, VerificationResult, DimensionResult, WorkflowState, StateMdManager as
|
|
8
|
+
export type { Task, Wave, Plan, TaskResult, VerificationResult, DimensionResult, WorkflowState, StateMdManager as StateMdManagerInterface, PlanMdManager as PlanMdManagerInterface, PersistenceManager, } from './types.js';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAG5C,YAAY,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,IAAI,uBAAuB,EACzC,aAAa,IAAI,sBAAsB,EACvC,kBAAkB,GACnB,MAAM,YAAY,CAAA"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Persistence layer
|
|
2
|
+
* Persistence layer entry point
|
|
3
|
+
*
|
|
4
|
+
* Provides STATE.md and PLAN.md management for workflow state persistence.
|
|
3
5
|
*/
|
|
6
|
+
// Managers
|
|
4
7
|
export { StateMdManager } from './state-md.js';
|
|
5
8
|
export { PlanMdManager } from './plan-md.js';
|
|
6
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { Plan, PlanMdManager as IPlanMdManager } from './types.js';
|
|
1
|
+
import type { Plan, Wave, PlanMdManager as IPlanMdManager } from './types.js';
|
|
2
2
|
export declare class PlanMdManager implements IPlanMdManager {
|
|
3
3
|
private planPath;
|
|
4
4
|
constructor(planPath?: string);
|
|
5
5
|
writePlan(plan: Plan): Promise<void>;
|
|
6
|
-
readPlan(): Promise<Plan>;
|
|
6
|
+
readPlan(): Promise<Plan | null>;
|
|
7
7
|
updateTaskStatus(taskId: string, status: 'pending' | 'in_progress' | 'complete'): Promise<void>;
|
|
8
|
+
getNextPendingWave(): Promise<Wave | null>;
|
|
8
9
|
private generatePlanMarkdown;
|
|
9
10
|
private parsePlan;
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-md.d.ts","sourceRoot":"","sources":["../../../src/persistence/plan-md.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAQ,aAAa,IAAI,cAAc,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"plan-md.d.ts","sourceRoot":"","sources":["../../../src/persistence/plan-md.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAQ,IAAI,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,YAAY,CAAA;AAEnF,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,GAAE,MAA4B;IAI5C,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAYhC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/F,kBAAkB,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAiBhD,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,SAAS;CA+ElB"}
|