@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
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Router Skill Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the router skill that determines which skill
|
|
5
|
+
* should handle a given user request based on conversation context.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Input to the router skill
|
|
10
|
+
*/
|
|
11
|
+
export interface RouterInput {
|
|
12
|
+
/** The user's current request/message */
|
|
13
|
+
userRequest: string;
|
|
14
|
+
/** Optional conversation history for context */
|
|
15
|
+
conversationHistory?: Array<{
|
|
16
|
+
role: 'user' | 'assistant';
|
|
17
|
+
content: string;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Project lifecycle phases
|
|
23
|
+
*/
|
|
24
|
+
export type ProjectPhase =
|
|
25
|
+
| 'discovery'
|
|
26
|
+
| 'planning'
|
|
27
|
+
| 'execution'
|
|
28
|
+
| 'verification'
|
|
29
|
+
| 'completed'
|
|
30
|
+
| 'idle';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Current state of the project being worked on
|
|
34
|
+
*/
|
|
35
|
+
export interface ProjectState {
|
|
36
|
+
/** Current phase of the project lifecycle */
|
|
37
|
+
phase: ProjectPhase;
|
|
38
|
+
/** Whether a plan has been created */
|
|
39
|
+
hasPlan: boolean;
|
|
40
|
+
/** Whether execution is currently in progress */
|
|
41
|
+
isExecuting: boolean;
|
|
42
|
+
/** Number of completed tasks */
|
|
43
|
+
completedTasks: number;
|
|
44
|
+
/** Total number of tasks in the plan */
|
|
45
|
+
totalTasks: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Output from the router skill
|
|
50
|
+
*/
|
|
51
|
+
export interface RouterOutput {
|
|
52
|
+
/** The skill selected to handle the request */
|
|
53
|
+
selectedSkill: string;
|
|
54
|
+
/** Confidence score (0-1) in the selection */
|
|
55
|
+
confidence: number;
|
|
56
|
+
/** Explanation of why this skill was selected */
|
|
57
|
+
reasoning: string;
|
|
58
|
+
/** Current project state at time of routing */
|
|
59
|
+
projectState: ProjectState;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Alternative skill that could have been selected
|
|
64
|
+
*/
|
|
65
|
+
export interface RoutingAlternative {
|
|
66
|
+
/** Name of the alternative skill */
|
|
67
|
+
skill: string;
|
|
68
|
+
/** Confidence score for this alternative */
|
|
69
|
+
confidence: number;
|
|
70
|
+
/** Why this skill was considered */
|
|
71
|
+
reasoning: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Complete routing decision with full context
|
|
76
|
+
*/
|
|
77
|
+
export interface RoutingDecision {
|
|
78
|
+
/** The selected target skill */
|
|
79
|
+
targetSkill: string;
|
|
80
|
+
/** Confidence score (0-1) in the decision */
|
|
81
|
+
confidence: number;
|
|
82
|
+
/** Detailed reasoning for the selection */
|
|
83
|
+
reasoning: string;
|
|
84
|
+
/** Whether project state was used in the decision */
|
|
85
|
+
stateUsed: boolean;
|
|
86
|
+
/** Current lifecycle phase when decision was made */
|
|
87
|
+
lifecyclePhase: ProjectPhase;
|
|
88
|
+
/** Alternative skills that were considered */
|
|
89
|
+
alternatives: RoutingAlternative[];
|
|
90
|
+
}
|
|
@@ -235,7 +235,7 @@ export class SystematicDebuggingSkill extends Skill<DebugInput, DebugOutput> {
|
|
|
235
235
|
context: SkillContext,
|
|
236
236
|
): Promise<DebugOutput> {
|
|
237
237
|
const { config, logger } = context
|
|
238
|
-
const dispatcher = createDispatcher(logger)
|
|
238
|
+
const dispatcher = createDispatcher({ logger })
|
|
239
239
|
const guard = createMainAgentGuard({}, logger)
|
|
240
240
|
let totalTokens = 0
|
|
241
241
|
|
package/src/skills/tdd/index.ts
CHANGED
|
@@ -190,7 +190,7 @@ export class TDDSkill extends Skill<TDDInput, TDDOutput> {
|
|
|
190
190
|
context: SkillContext,
|
|
191
191
|
): Promise<TDDOutput> {
|
|
192
192
|
const { config, logger } = context
|
|
193
|
-
const dispatcher = createDispatcher(logger)
|
|
193
|
+
const dispatcher = createDispatcher({ logger })
|
|
194
194
|
const guard = createMainAgentGuard({}, logger)
|
|
195
195
|
|
|
196
196
|
const phases: PhaseResult[] = []
|
|
@@ -428,8 +428,7 @@ Return ONLY a JSON object:
|
|
|
428
428
|
dependencies: parsed.dependencies || {},
|
|
429
429
|
waves: parsed.waves || [],
|
|
430
430
|
verificationCriteria: parsed.verificationCriteria || [],
|
|
431
|
-
estimatedDuration: parsed.estimatedDuration || 0
|
|
432
|
-
rationale: parsed.rationale || ''
|
|
431
|
+
estimatedDuration: parsed.estimatedDuration || 0
|
|
433
432
|
}
|
|
434
433
|
} catch (error) {
|
|
435
434
|
console.error('[ToPlanSkill] Failed to parse plan:', error)
|
|
@@ -439,8 +438,7 @@ Return ONLY a JSON object:
|
|
|
439
438
|
dependencies: {},
|
|
440
439
|
waves: [],
|
|
441
440
|
verificationCriteria: [],
|
|
442
|
-
estimatedDuration: 0
|
|
443
|
-
rationale: 'Parse error'
|
|
441
|
+
estimatedDuration: 0
|
|
444
442
|
}
|
|
445
443
|
}
|
|
446
444
|
}
|
|
@@ -519,7 +517,7 @@ Return ONLY a JSON object:
|
|
|
519
517
|
|
|
520
518
|
waves.push({
|
|
521
519
|
id: `wave-${waveIndex}`,
|
|
522
|
-
tasks: waveTasks
|
|
520
|
+
tasks: waveTasks
|
|
523
521
|
})
|
|
524
522
|
|
|
525
523
|
waveTasks.forEach(t => {
|