@haoyiyin/workflow 0.2.11 → 0.3.1
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/pi-extension.d.ts +4 -3
- package/dist/src/pi-extension.d.ts.map +1 -1
- package/dist/src/pi-extension.js +36 -67
- package/dist/src/pi-extension.js.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/scripts/postinstall.js +42 -47
- 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/pi-extension.ts +38 -76
- 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 +81 -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
- package/dist/src/extension/classifier.d.ts +0 -18
- package/dist/src/extension/classifier.d.ts.map +0 -1
- package/dist/src/extension/classifier.js +0 -143
- package/dist/src/extension/classifier.js.map +0 -1
- package/src/extension/classifier.ts +0 -160
|
@@ -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 type { SubagentConfig, SubagentContract, SubagentResult } from './types.js';
|
|
11
|
+
import { TokenBudget, BudgetExceededError } from './token-budget.js';
|
|
12
|
+
import { ResilientDispatcher } from './resilience.js';
|
|
10
13
|
import type { Logger } from '../types.js';
|
|
11
14
|
export interface ExecutorOptions {
|
|
12
15
|
id: string;
|
|
@@ -24,84 +27,124 @@ export interface SubagentExecutor {
|
|
|
24
27
|
abort(id: string): Promise<void>;
|
|
25
28
|
}
|
|
26
29
|
export interface ProcessExecutorConfig {
|
|
27
|
-
/** CLI command to invoke (default: "claude") */
|
|
28
30
|
command: string;
|
|
29
|
-
/** CLI arguments appended after the prompt */
|
|
30
31
|
args: string[];
|
|
31
|
-
/** Environment variables to forward */
|
|
32
32
|
env: Record<string, string>;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Creates a SubagentExecutor that spawns a subprocess for each dispatch.
|
|
36
|
-
*
|
|
37
|
-
* The executor writes the prompt to a temp file, invokes the configured
|
|
38
|
-
* CLI command with `--input-file`, collects stdout/stderr, and cleans up.
|
|
39
36
|
*/
|
|
40
37
|
export declare function createProcessExecutor(config?: Partial<ProcessExecutorConfig>): SubagentExecutor;
|
|
38
|
+
export interface SubagentDispatcherConfig {
|
|
39
|
+
logger: Logger;
|
|
40
|
+
tokenBudget?: {
|
|
41
|
+
limit: number;
|
|
42
|
+
warningThreshold: number;
|
|
43
|
+
};
|
|
44
|
+
resilience?: {
|
|
45
|
+
circuitBreaker?: {
|
|
46
|
+
failureThreshold?: number;
|
|
47
|
+
successThreshold?: number;
|
|
48
|
+
timeout?: number;
|
|
49
|
+
};
|
|
50
|
+
retryPolicy?: {
|
|
51
|
+
maxRetries?: number;
|
|
52
|
+
baseDelay?: number;
|
|
53
|
+
maxDelay?: number;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export interface DispatchConfig {
|
|
58
|
+
config: SubagentConfig;
|
|
59
|
+
contract: SubagentContract;
|
|
60
|
+
fallback?: () => unknown;
|
|
61
|
+
}
|
|
41
62
|
export declare class SubagentDispatcher {
|
|
42
|
-
private readonly executor;
|
|
43
63
|
private readonly logger;
|
|
64
|
+
private readonly tokenBudget;
|
|
65
|
+
private readonly resilientDispatcher;
|
|
44
66
|
private readonly activeIds;
|
|
45
|
-
constructor(
|
|
67
|
+
constructor(config: SubagentDispatcherConfig);
|
|
46
68
|
/**
|
|
47
|
-
* Dispatch a single subagent with
|
|
69
|
+
* Dispatch a single subagent with fresh context.
|
|
48
70
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
71
|
+
* Steps:
|
|
72
|
+
* 1. Check token budget
|
|
73
|
+
* 2. Build fresh prompt (no history pollution)
|
|
74
|
+
* 3. Spawn subagent via resilient dispatcher
|
|
75
|
+
* 4. Parse and validate output
|
|
76
|
+
* 5. Return structured result
|
|
52
77
|
*/
|
|
53
78
|
dispatch(config: SubagentConfig, contract: SubagentContract): Promise<SubagentResult>;
|
|
54
79
|
/**
|
|
55
80
|
* Dispatch multiple subagents in parallel.
|
|
56
81
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
82
|
+
* Each subagent receives ONLY its own contract - no shared context pollution.
|
|
83
|
+
* Results are returned in the same order as configs.
|
|
59
84
|
*/
|
|
60
|
-
dispatchParallel(configs:
|
|
85
|
+
dispatchParallel(configs: DispatchConfig[]): Promise<SubagentResult[]>;
|
|
61
86
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* Each subagent receives the output of all previous subagents as
|
|
65
|
-
* additional context. The pipeline stops early if a subagent fails
|
|
66
|
-
* or times out. Use when tasks form a pipeline (e.g. explore ->
|
|
67
|
-
* implement -> review -> verify).
|
|
87
|
+
* Get current health status including token usage and circuit state
|
|
68
88
|
*/
|
|
69
|
-
|
|
89
|
+
getHealth(): {
|
|
90
|
+
tokenUsage: {
|
|
91
|
+
used: number;
|
|
92
|
+
limit: number;
|
|
93
|
+
percentage: number;
|
|
94
|
+
remaining: number;
|
|
95
|
+
};
|
|
96
|
+
circuitState: string;
|
|
97
|
+
activeSubagents: number;
|
|
98
|
+
};
|
|
70
99
|
/**
|
|
71
|
-
*
|
|
100
|
+
* Reset token budget (for testing or new milestone)
|
|
72
101
|
*/
|
|
73
|
-
|
|
102
|
+
resetBudget(): void;
|
|
74
103
|
/**
|
|
75
|
-
* Build a
|
|
104
|
+
* Build a fresh prompt with ONLY necessary context.
|
|
76
105
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
|
|
106
|
+
* Excludes:
|
|
107
|
+
* - Main agent conversation history
|
|
108
|
+
* - Previous subagent outputs (unless explicitly passed)
|
|
109
|
+
* - Internal reasoning
|
|
110
|
+
*
|
|
111
|
+
* Includes:
|
|
112
|
+
* - Role instruction
|
|
113
|
+
* - Permissions
|
|
114
|
+
* - File scope
|
|
115
|
+
* - Token budget
|
|
116
|
+
* - Output schema
|
|
117
|
+
* - Task description
|
|
80
118
|
*/
|
|
81
|
-
private
|
|
119
|
+
private buildFreshPrompt;
|
|
82
120
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
121
|
+
* Execute a subagent process.
|
|
122
|
+
* This is the actual implementation that the resilient dispatcher wraps.
|
|
85
123
|
*/
|
|
86
|
-
private
|
|
87
|
-
/**
|
|
88
|
-
* Validate subagent output against an optional schema.
|
|
89
|
-
* The schema is a Record<string, unknown> where values are type strings
|
|
90
|
-
* like "string", "number", "boolean", "object".
|
|
91
|
-
*
|
|
92
|
-
* Returns an array of validation error messages (empty = valid).
|
|
93
|
-
*/
|
|
94
|
-
private validateOutput;
|
|
124
|
+
private executeSubagent;
|
|
95
125
|
}
|
|
96
126
|
export interface DispatcherOptions {
|
|
97
|
-
|
|
98
|
-
|
|
127
|
+
logger: Logger;
|
|
128
|
+
tokenBudget?: {
|
|
129
|
+
limit: number;
|
|
130
|
+
warningThreshold: number;
|
|
131
|
+
};
|
|
132
|
+
resilience?: {
|
|
133
|
+
circuitBreaker?: {
|
|
134
|
+
failureThreshold?: number;
|
|
135
|
+
successThreshold?: number;
|
|
136
|
+
timeout?: number;
|
|
137
|
+
};
|
|
138
|
+
retryPolicy?: {
|
|
139
|
+
maxRetries?: number;
|
|
140
|
+
baseDelay?: number;
|
|
141
|
+
maxDelay?: number;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
99
144
|
}
|
|
100
145
|
/**
|
|
101
146
|
* Create a SubagentDispatcher with sensible defaults.
|
|
102
|
-
*
|
|
103
|
-
* If no executor is provided, a process-based executor is created
|
|
104
|
-
* using `createProcessExecutor` which spawns a CLI command.
|
|
105
147
|
*/
|
|
106
|
-
export declare function createDispatcher(
|
|
148
|
+
export declare function createDispatcher(options: DispatcherOptions): SubagentDispatcher;
|
|
149
|
+
export { TokenBudget, BudgetExceededError, ResilientDispatcher };
|
|
107
150
|
//# sourceMappingURL=dispatcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/agents/dispatcher.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/agents/dispatcher.ts"],"names":[],"mappings":"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"}
|