@yuaone/core 0.3.2 → 0.4.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-loop.d.ts +62 -0
- package/dist/agent-loop.d.ts.map +1 -1
- package/dist/agent-loop.js +705 -18
- package/dist/agent-loop.js.map +1 -1
- package/dist/background-agent.d.ts +110 -0
- package/dist/background-agent.d.ts.map +1 -0
- package/dist/background-agent.js +255 -0
- package/dist/background-agent.js.map +1 -0
- package/dist/coding-standards.d.ts +45 -0
- package/dist/coding-standards.d.ts.map +1 -0
- package/dist/coding-standards.js +1152 -0
- package/dist/coding-standards.js.map +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -6
- package/dist/constants.js.map +1 -1
- package/dist/context-manager.d.ts +6 -0
- package/dist/context-manager.d.ts.map +1 -1
- package/dist/context-manager.js +23 -4
- package/dist/context-manager.js.map +1 -1
- package/dist/index.d.ts +28 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -2
- package/dist/index.js.map +1 -1
- package/dist/llm-client.d.ts +8 -3
- package/dist/llm-client.d.ts.map +1 -1
- package/dist/llm-client.js +64 -13
- package/dist/llm-client.js.map +1 -1
- package/dist/plugin-auto-loader.d.ts +108 -0
- package/dist/plugin-auto-loader.d.ts.map +1 -0
- package/dist/plugin-auto-loader.js +743 -0
- package/dist/plugin-auto-loader.js.map +1 -0
- package/dist/plugin-registry.d.ts +112 -0
- package/dist/plugin-registry.d.ts.map +1 -0
- package/dist/plugin-registry.js +319 -0
- package/dist/plugin-registry.js.map +1 -0
- package/dist/plugin-types.d.ts +388 -0
- package/dist/plugin-types.d.ts.map +1 -0
- package/dist/plugin-types.js +8 -0
- package/dist/plugin-types.js.map +1 -0
- package/dist/plugin-validator.d.ts +54 -0
- package/dist/plugin-validator.d.ts.map +1 -0
- package/dist/plugin-validator.js +129 -0
- package/dist/plugin-validator.js.map +1 -0
- package/dist/repo-knowledge-graph.d.ts +112 -0
- package/dist/repo-knowledge-graph.d.ts.map +1 -0
- package/dist/repo-knowledge-graph.js +561 -0
- package/dist/repo-knowledge-graph.js.map +1 -0
- package/dist/role-registry.js +1 -1
- package/dist/role-registry.js.map +1 -1
- package/dist/self-debug-loop.d.ts +257 -0
- package/dist/self-debug-loop.d.ts.map +1 -0
- package/dist/self-debug-loop.js +870 -0
- package/dist/self-debug-loop.js.map +1 -0
- package/dist/skill-learner.d.ts +136 -0
- package/dist/skill-learner.d.ts.map +1 -0
- package/dist/skill-learner.js +382 -0
- package/dist/skill-learner.js.map +1 -0
- package/dist/skill-loader.d.ts +90 -0
- package/dist/skill-loader.d.ts.map +1 -0
- package/dist/skill-loader.js +309 -0
- package/dist/skill-loader.js.map +1 -0
- package/dist/specialist-registry.d.ts +132 -0
- package/dist/specialist-registry.d.ts.map +1 -0
- package/dist/specialist-registry.js +413 -0
- package/dist/specialist-registry.js.map +1 -0
- package/dist/sub-agent-prompts.d.ts +45 -0
- package/dist/sub-agent-prompts.d.ts.map +1 -0
- package/dist/sub-agent-prompts.js +177 -0
- package/dist/sub-agent-prompts.js.map +1 -0
- package/dist/sub-agent-router.d.ts +75 -0
- package/dist/sub-agent-router.d.ts.map +1 -0
- package/dist/sub-agent-router.js +174 -0
- package/dist/sub-agent-router.js.map +1 -0
- package/dist/sub-agent.d.ts +48 -0
- package/dist/sub-agent.d.ts.map +1 -1
- package/dist/sub-agent.js +108 -5
- package/dist/sub-agent.js.map +1 -1
- package/dist/system-prompt.d.ts +26 -0
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +177 -7
- package/dist/system-prompt.js.map +1 -1
- package/dist/task-classifier.d.ts +25 -1
- package/dist/task-classifier.d.ts.map +1 -1
- package/dist/task-classifier.js +171 -1
- package/dist/task-classifier.js.map +1 -1
- package/dist/tool-planner.d.ts +160 -0
- package/dist/tool-planner.d.ts.map +1 -0
- package/dist/tool-planner.js +501 -0
- package/dist/tool-planner.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/world-state.d.ts.map +1 -1
- package/dist/world-state.js +8 -1
- package/dist/world-state.js.map +1 -1
- package/package.json +2 -1
- package/plugins/git/patterns/branch-patterns.json +101 -0
- package/plugins/git/patterns/commit-patterns.json +186 -0
- package/plugins/git/plugin.yaml +128 -0
- package/plugins/git/skills/branch-strategy.md +172 -0
- package/plugins/git/skills/commit-conv.md +178 -0
- package/plugins/git/skills/conflict-resolve.md +159 -0
- package/plugins/git/skills/history-clean.md +199 -0
- package/plugins/git/skills/pr-review.md +196 -0
- package/plugins/git/strategies/conflict-resolve.json +244 -0
- package/plugins/git/strategies/release-flow.json +292 -0
- package/plugins/git/validators/rules.json +348 -0
- package/plugins/react/patterns/anti-patterns.json +88 -0
- package/plugins/react/patterns/components.json +80 -0
- package/plugins/react/patterns/hooks.json +72 -0
- package/plugins/react/plugin.yaml +229 -0
- package/plugins/react/skills/bugfix.md +208 -0
- package/plugins/react/skills/component-gen.md +206 -0
- package/plugins/react/skills/hook-extract.md +208 -0
- package/plugins/react/skills/ssr.md +256 -0
- package/plugins/react/skills/test.md +273 -0
- package/plugins/react/strategies/build-fix.json +43 -0
- package/plugins/react/strategies/hook-loop-fix.json +36 -0
- package/plugins/react/strategies/hydration-fix.json +42 -0
- package/plugins/react/validators/rules.json +92 -0
- package/plugins/typescript/patterns/best-practices.json +25 -0
- package/plugins/typescript/patterns/common-errors.json +32 -0
- package/plugins/typescript/plugin.yaml +74 -0
- package/plugins/typescript/skills/debug.md +23 -0
- package/plugins/typescript/skills/migration.md +24 -0
- package/plugins/typescript/skills/refactor.md +22 -0
- package/plugins/typescript/skills/strict-mode.md +23 -0
- package/plugins/typescript/strategies/strict-migration.json +37 -0
- package/plugins/typescript/strategies/type-error-fix.json +37 -0
- package/plugins/typescript/validators/rules.json +28 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sub-agent-router
|
|
3
|
+
* @description Smart model routing for sub-agents.
|
|
4
|
+
*
|
|
5
|
+
* Strategy: Use the cheapest model that can handle the task well.
|
|
6
|
+
* - Trivial/simple tasks → FAST tier (gpt-4o-mini, haiku)
|
|
7
|
+
* - Moderate tasks → NORMAL tier (gpt-4o, sonnet)
|
|
8
|
+
* - Complex/critical tasks → DEEP tier (gpt-4.1, opus)
|
|
9
|
+
* - Reviewer tasks → one tier below main (cost saving)
|
|
10
|
+
*/
|
|
11
|
+
import type { SubAgentRole } from "./sub-agent-prompts.js";
|
|
12
|
+
/** Model tier for sub-agent routing */
|
|
13
|
+
export type SubAgentTier = "FAST" | "NORMAL" | "DEEP";
|
|
14
|
+
/** Routing decision with reasoning */
|
|
15
|
+
export interface RoutingDecision {
|
|
16
|
+
/** Selected model tier */
|
|
17
|
+
tier: SubAgentTier;
|
|
18
|
+
/** Human-readable reason for the decision */
|
|
19
|
+
reason: string;
|
|
20
|
+
/** Cost multiplier relative to FAST=1.0 */
|
|
21
|
+
estimatedCostMultiplier: number;
|
|
22
|
+
}
|
|
23
|
+
/** Signals used to determine optimal model tier */
|
|
24
|
+
export interface TaskSignals {
|
|
25
|
+
/** Sub-agent role */
|
|
26
|
+
role: SubAgentRole;
|
|
27
|
+
/** Task complexity estimate */
|
|
28
|
+
complexity: "trivial" | "simple" | "moderate" | "complex" | "massive";
|
|
29
|
+
/** Number of files involved */
|
|
30
|
+
fileCount: number;
|
|
31
|
+
/** Whether the task involves tests */
|
|
32
|
+
hasTests: boolean;
|
|
33
|
+
/** Whether this is on a critical path (security, auth, payments) */
|
|
34
|
+
isCriticalPath: boolean;
|
|
35
|
+
/** Number of previous failures (retry count) */
|
|
36
|
+
previousFailures: number;
|
|
37
|
+
/** Parent agent's model tier (for cost containment) */
|
|
38
|
+
parentModelTier: SubAgentTier;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Route a sub-agent task to the optimal model tier.
|
|
42
|
+
*
|
|
43
|
+
* Applies a series of rules to select the cheapest model tier
|
|
44
|
+
* that can handle the task effectively. Rules are applied in order:
|
|
45
|
+
*
|
|
46
|
+
* 1. Role-based base tier (reviewer→FAST, debugger→NORMAL minimum, etc.)
|
|
47
|
+
* 2. Complexity modifier (adjusts up/down based on task complexity)
|
|
48
|
+
* 3. Critical path floor (security/auth/payments → NORMAL minimum)
|
|
49
|
+
* 4. Failure escalation (2+ failures → upgrade one tier)
|
|
50
|
+
* 5. Parent containment (never exceed parent's tier)
|
|
51
|
+
*
|
|
52
|
+
* @param signals - Task characteristics used for routing
|
|
53
|
+
* @returns Routing decision with tier, reason, and cost estimate
|
|
54
|
+
*/
|
|
55
|
+
export declare function routeSubAgent(signals: TaskSignals): RoutingDecision;
|
|
56
|
+
/**
|
|
57
|
+
* Estimate complexity from task signals when explicit complexity is unknown.
|
|
58
|
+
* Useful when the caller doesn't have a pre-computed complexity level.
|
|
59
|
+
*
|
|
60
|
+
* @param fileCount - Number of files involved
|
|
61
|
+
* @param goalLength - Character length of the goal description
|
|
62
|
+
* @param hasTests - Whether tests are required
|
|
63
|
+
* @returns Estimated complexity level
|
|
64
|
+
*/
|
|
65
|
+
export declare function estimateComplexity(fileCount: number, goalLength: number, hasTests: boolean): "trivial" | "simple" | "moderate" | "complex" | "massive";
|
|
66
|
+
/**
|
|
67
|
+
* Get the cost multiplier for a tier.
|
|
68
|
+
* FAST=1.0, NORMAL=5.0, DEEP=20.0
|
|
69
|
+
*/
|
|
70
|
+
export declare function getTierCostMultiplier(tier: SubAgentTier): number;
|
|
71
|
+
/**
|
|
72
|
+
* Get all tier names in order from cheapest to most expensive.
|
|
73
|
+
*/
|
|
74
|
+
export declare function getAllTiers(): SubAgentTier[];
|
|
75
|
+
//# sourceMappingURL=sub-agent-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-agent-router.d.ts","sourceRoot":"","sources":["../src/sub-agent-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,uCAAuC;AACvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,+BAA+B;IAC/B,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACtE,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,eAAe,EAAE,YAAY,CAAC;CAC/B;AA0CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CA+DnE;AA2CD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,GAChB,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAO3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAE5C"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sub-agent-router
|
|
3
|
+
* @description Smart model routing for sub-agents.
|
|
4
|
+
*
|
|
5
|
+
* Strategy: Use the cheapest model that can handle the task well.
|
|
6
|
+
* - Trivial/simple tasks → FAST tier (gpt-4o-mini, haiku)
|
|
7
|
+
* - Moderate tasks → NORMAL tier (gpt-4o, sonnet)
|
|
8
|
+
* - Complex/critical tasks → DEEP tier (gpt-4.1, opus)
|
|
9
|
+
* - Reviewer tasks → one tier below main (cost saving)
|
|
10
|
+
*/
|
|
11
|
+
// ─── Constants ───
|
|
12
|
+
const TIER_ORDER = ["FAST", "NORMAL", "DEEP"];
|
|
13
|
+
const COST_MULTIPLIERS = {
|
|
14
|
+
FAST: 1.0,
|
|
15
|
+
NORMAL: 5.0,
|
|
16
|
+
DEEP: 20.0,
|
|
17
|
+
};
|
|
18
|
+
/** Complexity → base tier mapping */
|
|
19
|
+
const COMPLEXITY_BASE_TIER = {
|
|
20
|
+
trivial: "FAST",
|
|
21
|
+
simple: "FAST",
|
|
22
|
+
moderate: "NORMAL",
|
|
23
|
+
complex: "DEEP",
|
|
24
|
+
massive: "DEEP",
|
|
25
|
+
};
|
|
26
|
+
// ─── Helpers ───
|
|
27
|
+
function tierIndex(tier) {
|
|
28
|
+
return TIER_ORDER.indexOf(tier);
|
|
29
|
+
}
|
|
30
|
+
function clampTier(index) {
|
|
31
|
+
const clamped = Math.max(0, Math.min(index, TIER_ORDER.length - 1));
|
|
32
|
+
return TIER_ORDER[clamped];
|
|
33
|
+
}
|
|
34
|
+
function upgradeTier(tier, steps = 1) {
|
|
35
|
+
return clampTier(tierIndex(tier) + steps);
|
|
36
|
+
}
|
|
37
|
+
function downgradeTier(tier, steps = 1) {
|
|
38
|
+
return clampTier(tierIndex(tier) - steps);
|
|
39
|
+
}
|
|
40
|
+
// ─── Router ───
|
|
41
|
+
/**
|
|
42
|
+
* Route a sub-agent task to the optimal model tier.
|
|
43
|
+
*
|
|
44
|
+
* Applies a series of rules to select the cheapest model tier
|
|
45
|
+
* that can handle the task effectively. Rules are applied in order:
|
|
46
|
+
*
|
|
47
|
+
* 1. Role-based base tier (reviewer→FAST, debugger→NORMAL minimum, etc.)
|
|
48
|
+
* 2. Complexity modifier (adjusts up/down based on task complexity)
|
|
49
|
+
* 3. Critical path floor (security/auth/payments → NORMAL minimum)
|
|
50
|
+
* 4. Failure escalation (2+ failures → upgrade one tier)
|
|
51
|
+
* 5. Parent containment (never exceed parent's tier)
|
|
52
|
+
*
|
|
53
|
+
* @param signals - Task characteristics used for routing
|
|
54
|
+
* @returns Routing decision with tier, reason, and cost estimate
|
|
55
|
+
*/
|
|
56
|
+
export function routeSubAgent(signals) {
|
|
57
|
+
const reasons = [];
|
|
58
|
+
// Step 1: Role-based starting tier
|
|
59
|
+
let tier = getRoleBaseTier(signals.role, signals.complexity);
|
|
60
|
+
reasons.push(`role=${signals.role}, complexity=${signals.complexity} → ${tier}`);
|
|
61
|
+
// Step 2: Reviewer override — always prefer FAST for reviews
|
|
62
|
+
if (signals.role === "reviewer") {
|
|
63
|
+
tier = "FAST";
|
|
64
|
+
reasons.push("reviewer → FAST (reviews don't need expensive models)");
|
|
65
|
+
}
|
|
66
|
+
// Step 3: Debugger floor — debugging needs reasoning, minimum NORMAL
|
|
67
|
+
if (signals.role === "debugger" && tierIndex(tier) < tierIndex("NORMAL")) {
|
|
68
|
+
tier = "NORMAL";
|
|
69
|
+
reasons.push("debugger → NORMAL minimum (reasoning required)");
|
|
70
|
+
}
|
|
71
|
+
// Step 4: File count pressure — many files suggest higher complexity
|
|
72
|
+
if (signals.fileCount > 10 && tierIndex(tier) < tierIndex("NORMAL")) {
|
|
73
|
+
tier = "NORMAL";
|
|
74
|
+
reasons.push(`fileCount=${signals.fileCount} → NORMAL (many files)`);
|
|
75
|
+
}
|
|
76
|
+
if (signals.fileCount > 25 && tierIndex(tier) < tierIndex("DEEP")) {
|
|
77
|
+
tier = "DEEP";
|
|
78
|
+
reasons.push(`fileCount=${signals.fileCount} → DEEP (massive scope)`);
|
|
79
|
+
}
|
|
80
|
+
// Step 5: Critical path floor — security/auth/payments need NORMAL minimum
|
|
81
|
+
if (signals.isCriticalPath && tierIndex(tier) < tierIndex("NORMAL")) {
|
|
82
|
+
tier = "NORMAL";
|
|
83
|
+
reasons.push("critical path → NORMAL minimum (security/auth/payments)");
|
|
84
|
+
}
|
|
85
|
+
// Step 6: Failure escalation — model wasn't capable enough, upgrade
|
|
86
|
+
if (signals.previousFailures >= 2) {
|
|
87
|
+
const upgraded = upgradeTier(tier);
|
|
88
|
+
if (upgraded !== tier) {
|
|
89
|
+
tier = upgraded;
|
|
90
|
+
reasons.push(`${signals.previousFailures} failures → upgraded to ${tier}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Step 7: Parent containment — sub-agents never exceed parent tier
|
|
94
|
+
if (tierIndex(tier) > tierIndex(signals.parentModelTier)) {
|
|
95
|
+
tier = signals.parentModelTier;
|
|
96
|
+
reasons.push(`capped to parent tier ${signals.parentModelTier}`);
|
|
97
|
+
}
|
|
98
|
+
// Step 8: If parent is FAST, all sub-agents are FAST (cost containment)
|
|
99
|
+
if (signals.parentModelTier === "FAST") {
|
|
100
|
+
tier = "FAST";
|
|
101
|
+
reasons.push("parent=FAST → all sub-agents FAST (cost containment)");
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
tier,
|
|
105
|
+
reason: reasons.join("; "),
|
|
106
|
+
estimatedCostMultiplier: COST_MULTIPLIERS[tier],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get the base tier for a role + complexity combination.
|
|
111
|
+
*/
|
|
112
|
+
function getRoleBaseTier(role, complexity) {
|
|
113
|
+
// Start with complexity-based tier
|
|
114
|
+
const baseTier = COMPLEXITY_BASE_TIER[complexity] ?? "NORMAL";
|
|
115
|
+
// Role-specific adjustments
|
|
116
|
+
switch (role) {
|
|
117
|
+
case "reviewer":
|
|
118
|
+
// Reviews are always cheap — pattern matching, not generation
|
|
119
|
+
return "FAST";
|
|
120
|
+
case "tester":
|
|
121
|
+
// Simple tests → FAST, complex → NORMAL (never DEEP for tests)
|
|
122
|
+
return complexity === "complex" || complexity === "massive"
|
|
123
|
+
? "NORMAL"
|
|
124
|
+
: "FAST";
|
|
125
|
+
case "planner":
|
|
126
|
+
// Planning needs reasoning — minimum NORMAL
|
|
127
|
+
return tierIndex(baseTier) < tierIndex("NORMAL") ? "NORMAL" : baseTier;
|
|
128
|
+
case "debugger":
|
|
129
|
+
// Debugging needs reasoning — minimum NORMAL
|
|
130
|
+
return tierIndex(baseTier) < tierIndex("NORMAL") ? "NORMAL" : baseTier;
|
|
131
|
+
case "refactorer":
|
|
132
|
+
// Refactoring: follow complexity, but cap at NORMAL unless massive
|
|
133
|
+
return complexity === "massive" ? "DEEP" : baseTier;
|
|
134
|
+
case "coder":
|
|
135
|
+
default:
|
|
136
|
+
// Coding follows complexity directly
|
|
137
|
+
return baseTier;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Estimate complexity from task signals when explicit complexity is unknown.
|
|
142
|
+
* Useful when the caller doesn't have a pre-computed complexity level.
|
|
143
|
+
*
|
|
144
|
+
* @param fileCount - Number of files involved
|
|
145
|
+
* @param goalLength - Character length of the goal description
|
|
146
|
+
* @param hasTests - Whether tests are required
|
|
147
|
+
* @returns Estimated complexity level
|
|
148
|
+
*/
|
|
149
|
+
export function estimateComplexity(fileCount, goalLength, hasTests) {
|
|
150
|
+
// Simple heuristics based on scope
|
|
151
|
+
if (fileCount <= 1 && goalLength < 100 && !hasTests)
|
|
152
|
+
return "trivial";
|
|
153
|
+
if (fileCount <= 2 && goalLength < 300)
|
|
154
|
+
return "simple";
|
|
155
|
+
if (fileCount <= 5 && goalLength < 800)
|
|
156
|
+
return "moderate";
|
|
157
|
+
if (fileCount <= 15)
|
|
158
|
+
return "complex";
|
|
159
|
+
return "massive";
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get the cost multiplier for a tier.
|
|
163
|
+
* FAST=1.0, NORMAL=5.0, DEEP=20.0
|
|
164
|
+
*/
|
|
165
|
+
export function getTierCostMultiplier(tier) {
|
|
166
|
+
return COST_MULTIPLIERS[tier];
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get all tier names in order from cheapest to most expensive.
|
|
170
|
+
*/
|
|
171
|
+
export function getAllTiers() {
|
|
172
|
+
return [...TIER_ORDER];
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=sub-agent-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-agent-router.js","sourceRoot":"","sources":["../src/sub-agent-router.ts"],"names":[],"mappings":"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"}
|
package/dist/sub-agent.d.ts
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
import { EventEmitter } from "node:events";
|
|
11
11
|
import type { BYOKConfig, ToolExecutor } from "./types.js";
|
|
12
12
|
import type { GovernorConfig } from "./governor.js";
|
|
13
|
+
import { type SubAgentRole } from "./sub-agent-prompts.js";
|
|
14
|
+
import { type SubAgentTier, type RoutingDecision } from "./sub-agent-router.js";
|
|
13
15
|
/** Sub-agent lifecycle phase */
|
|
14
16
|
export type SubAgentPhase = "spawn" | "init" | "execute" | "validate" | "report" | "cleanup";
|
|
15
17
|
/** Configuration for spawning a sub-agent */
|
|
@@ -36,6 +38,37 @@ export interface SubAgentConfig {
|
|
|
36
38
|
priority?: number;
|
|
37
39
|
/** Governor configuration overrides */
|
|
38
40
|
governorConfig?: Partial<GovernorConfig>;
|
|
41
|
+
/** Sub-agent role for prompt specialization (default: "coder") */
|
|
42
|
+
role?: SubAgentRole;
|
|
43
|
+
/** Primary language of the target files (e.g. "typescript") */
|
|
44
|
+
language?: string;
|
|
45
|
+
/** Framework in use (e.g. "react", "next.js") */
|
|
46
|
+
framework?: string;
|
|
47
|
+
/** Whether this task is on a critical path (security, auth, payments) */
|
|
48
|
+
isCriticalPath?: boolean;
|
|
49
|
+
/** Number of previous failures for this task (for routing escalation) */
|
|
50
|
+
previousFailures?: number;
|
|
51
|
+
/** Parent agent's model tier (for cost containment) */
|
|
52
|
+
parentModelTier?: SubAgentTier;
|
|
53
|
+
}
|
|
54
|
+
/** Verification report generated after sub-agent task execution */
|
|
55
|
+
export interface VerificationReport {
|
|
56
|
+
/** Sub-agent identifier */
|
|
57
|
+
subAgentId: string;
|
|
58
|
+
/** Task identifier */
|
|
59
|
+
taskId: string;
|
|
60
|
+
/** Confidence score (0–1) reflecting how well the task was completed */
|
|
61
|
+
confidence: number;
|
|
62
|
+
/** Whether the task passed verification */
|
|
63
|
+
passed: boolean;
|
|
64
|
+
/** List of issues found during verification */
|
|
65
|
+
issues: string[];
|
|
66
|
+
/** Causal chain: symptom -> hypothesis -> evidence -> conclusion */
|
|
67
|
+
causalChain?: string[];
|
|
68
|
+
/** Number of tool calls that succeeded */
|
|
69
|
+
testsPassed?: number;
|
|
70
|
+
/** Total number of tool calls attempted */
|
|
71
|
+
testsTotal?: number;
|
|
39
72
|
}
|
|
40
73
|
/** Result returned when a sub-agent completes (success or failure) */
|
|
41
74
|
export interface SubAgentResult {
|
|
@@ -61,6 +94,10 @@ export interface SubAgentResult {
|
|
|
61
94
|
phase: SubAgentPhase;
|
|
62
95
|
/** Error message if the sub-agent failed */
|
|
63
96
|
error?: string;
|
|
97
|
+
/** Verification report for main agent validation */
|
|
98
|
+
verification?: VerificationReport;
|
|
99
|
+
/** Model routing decision (which tier was selected and why) */
|
|
100
|
+
routingDecision?: RoutingDecision;
|
|
64
101
|
}
|
|
65
102
|
/** DAG context passed to a sub-agent so it understands its place in the plan */
|
|
66
103
|
export interface DAGContextLike {
|
|
@@ -125,6 +162,7 @@ export declare class SubAgent extends EventEmitter {
|
|
|
125
162
|
private readonly config;
|
|
126
163
|
private agentLoop;
|
|
127
164
|
private iterationCount;
|
|
165
|
+
private routingResult;
|
|
128
166
|
constructor(config: SubAgentConfig);
|
|
129
167
|
/**
|
|
130
168
|
* Build the sub-agent system prompt with scope constraints.
|
|
@@ -173,5 +211,15 @@ export declare class SubAgent extends EventEmitter {
|
|
|
173
211
|
* Build a SubAgentResult from the collected data.
|
|
174
212
|
*/
|
|
175
213
|
private buildResult;
|
|
214
|
+
/**
|
|
215
|
+
* Generate a VerificationReport based on the sub-agent's execution results.
|
|
216
|
+
*
|
|
217
|
+
* Assesses confidence based on:
|
|
218
|
+
* - Whether the termination was GOAL_ACHIEVED
|
|
219
|
+
* - Number of changed files vs target files
|
|
220
|
+
* - Iteration efficiency (fewer iterations = higher confidence)
|
|
221
|
+
* - Presence of errors during execution
|
|
222
|
+
*/
|
|
223
|
+
private generateVerificationReport;
|
|
176
224
|
}
|
|
177
225
|
//# sourceMappingURL=sub-agent.d.ts.map
|
package/dist/sub-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-agent.d.ts","sourceRoot":"","sources":["../src/sub-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EAIb,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sub-agent.d.ts","sourceRoot":"","sources":["../src/sub-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/sub-agent.js
CHANGED
|
@@ -11,6 +11,8 @@ import { EventEmitter } from "node:events";
|
|
|
11
11
|
import { execFile } from "node:child_process";
|
|
12
12
|
import { promisify } from "node:util";
|
|
13
13
|
import { AgentLoop } from "./agent-loop.js";
|
|
14
|
+
import { buildSubAgentPrompt, } from "./sub-agent-prompts.js";
|
|
15
|
+
import { routeSubAgent, estimateComplexity, } from "./sub-agent-router.js";
|
|
14
16
|
const execFileAsync = promisify(execFile);
|
|
15
17
|
// ─── SubAgent Class ───
|
|
16
18
|
/**
|
|
@@ -46,6 +48,7 @@ export class SubAgent extends EventEmitter {
|
|
|
46
48
|
config;
|
|
47
49
|
agentLoop = null;
|
|
48
50
|
iterationCount = 0;
|
|
51
|
+
routingResult = null;
|
|
49
52
|
constructor(config) {
|
|
50
53
|
super();
|
|
51
54
|
this.config = config;
|
|
@@ -65,8 +68,17 @@ export class SubAgent extends EventEmitter {
|
|
|
65
68
|
*/
|
|
66
69
|
buildPrompt(dagContext) {
|
|
67
70
|
const sections = [];
|
|
68
|
-
// 1. Role
|
|
69
|
-
|
|
71
|
+
// 1. Role-specific prompt (from sub-agent-prompts module)
|
|
72
|
+
const role = this.config.role ?? "coder";
|
|
73
|
+
const rolePrompt = buildSubAgentPrompt({
|
|
74
|
+
role,
|
|
75
|
+
language: this.config.language,
|
|
76
|
+
framework: this.config.framework,
|
|
77
|
+
projectContext: dagContext.overallGoal,
|
|
78
|
+
});
|
|
79
|
+
sections.push(rolePrompt);
|
|
80
|
+
// 2. Task-specific goal
|
|
81
|
+
sections.push(`## Your Task\n${this.config.goal}`);
|
|
70
82
|
// 2. File scope
|
|
71
83
|
sections.push(`## Your Scope
|
|
72
84
|
- Target files (WRITE): ${this.config.targetFiles.length > 0 ? this.config.targetFiles.join(", ") : "(none)"}
|
|
@@ -139,7 +151,20 @@ ${dagContext.projectStructure}
|
|
|
139
151
|
try {
|
|
140
152
|
// Phase: INIT
|
|
141
153
|
this.setPhase("init");
|
|
142
|
-
//
|
|
154
|
+
// Route to optimal model tier based on task signals
|
|
155
|
+
const role = this.config.role ?? "coder";
|
|
156
|
+
const complexity = estimateComplexity(this.config.targetFiles.length, this.config.goal.length, this.config.tools.includes("test_run"));
|
|
157
|
+
const taskSignals = {
|
|
158
|
+
role,
|
|
159
|
+
complexity,
|
|
160
|
+
fileCount: this.config.targetFiles.length,
|
|
161
|
+
hasTests: this.config.tools.includes("test_run"),
|
|
162
|
+
isCriticalPath: this.config.isCriticalPath ?? false,
|
|
163
|
+
previousFailures: this.config.previousFailures ?? 0,
|
|
164
|
+
parentModelTier: this.config.parentModelTier ?? "NORMAL",
|
|
165
|
+
};
|
|
166
|
+
this.routingResult = routeSubAgent(taskSignals);
|
|
167
|
+
// Build the scoped system prompt (role-specialized)
|
|
143
168
|
const systemPrompt = this.buildPrompt(dagContext);
|
|
144
169
|
// Create a ToolExecutor scoped to the project path and enabled tools
|
|
145
170
|
const toolExecutor = this.config.createToolExecutor(this.config.projectPath, this.config.tools);
|
|
@@ -192,7 +217,9 @@ ${dagContext.projectStructure}
|
|
|
192
217
|
// Determine success and build summary
|
|
193
218
|
const success = termination.reason === "GOAL_ACHIEVED";
|
|
194
219
|
const summary = this.extractSummary(termination);
|
|
195
|
-
|
|
220
|
+
// Generate VerificationReport for main agent validation
|
|
221
|
+
const verification = this.generateVerificationReport(success, termination, changedFiles);
|
|
222
|
+
const result = this.buildResult(success, summary, changedFiles, tokenUsage.input, tokenUsage.output, success ? undefined : `Terminated: ${termination.reason}`, verification);
|
|
196
223
|
// Phase: CLEANUP
|
|
197
224
|
this.setPhase("cleanup");
|
|
198
225
|
this.emit("subagent:complete", result);
|
|
@@ -287,7 +314,7 @@ ${dagContext.projectStructure}
|
|
|
287
314
|
/**
|
|
288
315
|
* Build a SubAgentResult from the collected data.
|
|
289
316
|
*/
|
|
290
|
-
buildResult(success, summary, changedFiles, inputTokens, outputTokens, error) {
|
|
317
|
+
buildResult(success, summary, changedFiles, inputTokens, outputTokens, error, verification) {
|
|
291
318
|
return {
|
|
292
319
|
taskId: this.taskId,
|
|
293
320
|
success,
|
|
@@ -297,6 +324,82 @@ ${dagContext.projectStructure}
|
|
|
297
324
|
iterations: this.iterationCount,
|
|
298
325
|
phase: this.phase,
|
|
299
326
|
error,
|
|
327
|
+
verification,
|
|
328
|
+
routingDecision: this.routingResult ?? undefined,
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Generate a VerificationReport based on the sub-agent's execution results.
|
|
333
|
+
*
|
|
334
|
+
* Assesses confidence based on:
|
|
335
|
+
* - Whether the termination was GOAL_ACHIEVED
|
|
336
|
+
* - Number of changed files vs target files
|
|
337
|
+
* - Iteration efficiency (fewer iterations = higher confidence)
|
|
338
|
+
* - Presence of errors during execution
|
|
339
|
+
*/
|
|
340
|
+
generateVerificationReport(success, termination, changedFiles) {
|
|
341
|
+
const issues = [];
|
|
342
|
+
const causalChain = [];
|
|
343
|
+
// Assess confidence based on multiple signals
|
|
344
|
+
let confidence = success ? 0.8 : 0.2;
|
|
345
|
+
// Check file coverage — did we touch the expected target files?
|
|
346
|
+
const targetCount = this.config.targetFiles.length;
|
|
347
|
+
const changedCount = changedFiles.length;
|
|
348
|
+
if (targetCount > 0 && changedCount === 0) {
|
|
349
|
+
issues.push("No target files were modified");
|
|
350
|
+
causalChain.push("symptom: zero changed files");
|
|
351
|
+
causalChain.push("hypothesis: task may not have produced expected output");
|
|
352
|
+
confidence *= 0.5;
|
|
353
|
+
}
|
|
354
|
+
else if (targetCount > 0) {
|
|
355
|
+
const coverage = changedCount / targetCount;
|
|
356
|
+
if (coverage < 0.5) {
|
|
357
|
+
issues.push(`Only ${changedCount}/${targetCount} target files modified`);
|
|
358
|
+
confidence *= 0.7;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
// Iteration efficiency — more iterations spent means less confidence
|
|
362
|
+
const maxIter = this.config.maxIterations;
|
|
363
|
+
if (maxIter > 0) {
|
|
364
|
+
const iterRatio = this.iterationCount / maxIter;
|
|
365
|
+
if (iterRatio >= 1.0) {
|
|
366
|
+
issues.push("Reached maximum iteration limit");
|
|
367
|
+
causalChain.push("evidence: all iterations consumed without early completion");
|
|
368
|
+
confidence *= 0.6;
|
|
369
|
+
}
|
|
370
|
+
else if (iterRatio > 0.8) {
|
|
371
|
+
issues.push("Used >80% of iteration budget");
|
|
372
|
+
confidence *= 0.8;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
// Termination reason analysis
|
|
376
|
+
if (termination.reason === "ERROR") {
|
|
377
|
+
issues.push(`Terminated with error: ${termination.error ?? "unknown"}`);
|
|
378
|
+
causalChain.push(`conclusion: execution failed — ${termination.error}`);
|
|
379
|
+
confidence = Math.min(confidence, 0.1);
|
|
380
|
+
}
|
|
381
|
+
else if (termination.reason === "BUDGET_EXHAUSTED") {
|
|
382
|
+
issues.push("Token budget exhausted before completion");
|
|
383
|
+
confidence = Math.min(confidence, 0.3);
|
|
384
|
+
}
|
|
385
|
+
else if (termination.reason === "USER_CANCELLED") {
|
|
386
|
+
issues.push("Execution was cancelled");
|
|
387
|
+
confidence = Math.min(confidence, 0.15);
|
|
388
|
+
}
|
|
389
|
+
// Clamp confidence to [0, 1]
|
|
390
|
+
confidence = Math.max(0, Math.min(1, confidence));
|
|
391
|
+
// Count tool successes (approximate tests via iteration progress)
|
|
392
|
+
const testsPassed = success ? this.iterationCount : Math.max(0, this.iterationCount - 1);
|
|
393
|
+
const testsTotal = this.iterationCount;
|
|
394
|
+
return {
|
|
395
|
+
subAgentId: `subagent-${this.taskId}`,
|
|
396
|
+
taskId: this.taskId,
|
|
397
|
+
confidence,
|
|
398
|
+
passed: success && confidence >= 0.5,
|
|
399
|
+
issues,
|
|
400
|
+
causalChain: causalChain.length > 0 ? causalChain : undefined,
|
|
401
|
+
testsPassed,
|
|
402
|
+
testsTotal,
|
|
300
403
|
};
|
|
301
404
|
}
|
|
302
405
|
}
|
package/dist/sub-agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-agent.js","sourceRoot":"","sources":["../src/sub-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sub-agent.js","sourceRoot":"","sources":["../src/sub-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/system-prompt.d.ts
CHANGED
|
@@ -25,6 +25,18 @@ export interface SystemPromptOptions {
|
|
|
25
25
|
projectPath?: string;
|
|
26
26
|
/** OS / 환경 정보 */
|
|
27
27
|
environment?: EnvironmentInfo;
|
|
28
|
+
/** Active skill summaries for current task */
|
|
29
|
+
activeSkills?: SkillSummary[];
|
|
30
|
+
/** Active strategy summaries */
|
|
31
|
+
activeStrategies?: StrategySummary[];
|
|
32
|
+
/** Execution mode determines prompt verbosity and depth */
|
|
33
|
+
executionMode?: ExecutionMode;
|
|
34
|
+
/** Agent role determines role-specific constraints */
|
|
35
|
+
agentRole?: PromptAgentRole;
|
|
36
|
+
/** Experience-based hints from past runs */
|
|
37
|
+
experienceHints?: string[];
|
|
38
|
+
/** Current task type (from TaskClassifier) */
|
|
39
|
+
currentTaskType?: string;
|
|
28
40
|
}
|
|
29
41
|
/** 환경 정보 */
|
|
30
42
|
export interface EnvironmentInfo {
|
|
@@ -33,6 +45,20 @@ export interface EnvironmentInfo {
|
|
|
33
45
|
nodeVersion?: string;
|
|
34
46
|
gitBranch?: string;
|
|
35
47
|
}
|
|
48
|
+
export type ExecutionMode = "FAST" | "NORMAL" | "DEEP" | "SUPERPOWER" | "COMPACT";
|
|
49
|
+
export type PromptAgentRole = "generalist" | "planner" | "coder" | "critic" | "verifier" | "specialist" | "recovery";
|
|
50
|
+
export interface SkillSummary {
|
|
51
|
+
pluginId: string;
|
|
52
|
+
skillName: string;
|
|
53
|
+
summary: string;
|
|
54
|
+
commonPitfalls?: string[];
|
|
55
|
+
validation?: string;
|
|
56
|
+
}
|
|
57
|
+
export interface StrategySummary {
|
|
58
|
+
name: string;
|
|
59
|
+
description: string;
|
|
60
|
+
toolSequence?: string[];
|
|
61
|
+
}
|
|
36
62
|
/**
|
|
37
63
|
* 에이전트 시스템 프롬프트를 생성.
|
|
38
64
|
* @param options 프롬프트 빌드 옵션
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAqB;AACrB,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iBAAiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,eAAe;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAqB;AACrB,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iBAAiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,eAAe;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,2DAA2D;IAC3D,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sDAAsD;IACtD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,YAAY;AACZ,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;AAClF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAErH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA8EtE"}
|