frontend-harness 0.1.0 → 0.2.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/AGENTS.md +9 -5
- package/CLAUDE.md +9 -5
- package/README.md +56 -11
- package/dist/cli/index.js +33 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/runtime/clean.js +6 -1
- package/dist/runtime/clean.js.map +1 -1
- package/dist/runtime/command-taxonomy.js +4 -1
- package/dist/runtime/command-taxonomy.js.map +1 -1
- package/dist/runtime/common/naming.d.ts +2 -0
- package/dist/runtime/common/naming.js +13 -0
- package/dist/runtime/common/naming.js.map +1 -0
- package/dist/runtime/common/parsing.d.ts +11 -0
- package/dist/runtime/common/parsing.js +30 -0
- package/dist/runtime/common/parsing.js.map +1 -0
- package/dist/runtime/context.js +3 -2
- package/dist/runtime/context.js.map +1 -1
- package/dist/runtime/knowledge.js +16 -12
- package/dist/runtime/knowledge.js.map +1 -1
- package/dist/runtime/plan/component-resolver.d.ts +8 -0
- package/dist/runtime/plan/component-resolver.js +344 -0
- package/dist/runtime/plan/component-resolver.js.map +1 -0
- package/dist/runtime/plan/guidance.d.ts +3 -0
- package/dist/runtime/plan/guidance.js +119 -0
- package/dist/runtime/plan/guidance.js.map +1 -0
- package/dist/runtime/plan/proposal.d.ts +2 -0
- package/dist/runtime/plan/proposal.js +251 -0
- package/dist/runtime/plan/proposal.js.map +1 -0
- package/dist/runtime/plan/workflow.d.ts +8 -0
- package/dist/runtime/plan/workflow.js +228 -0
- package/dist/runtime/plan/workflow.js.map +1 -0
- package/dist/runtime/plan.d.ts +4 -3
- package/dist/runtime/plan.js +123 -448
- package/dist/runtime/plan.js.map +1 -1
- package/dist/runtime/policy-provenance.js +30 -17
- package/dist/runtime/policy-provenance.js.map +1 -1
- package/dist/runtime/project-discovery.js +12 -3
- package/dist/runtime/project-discovery.js.map +1 -1
- package/dist/runtime/project-paths.js +3 -0
- package/dist/runtime/project-paths.js.map +1 -1
- package/dist/runtime/protocol-init.js +7 -4
- package/dist/runtime/protocol-init.js.map +1 -1
- package/dist/runtime/repair-decision.js +14 -27
- package/dist/runtime/repair-decision.js.map +1 -1
- package/dist/runtime/repair-packet.js +8 -1
- package/dist/runtime/repair-packet.js.map +1 -1
- package/dist/runtime/scaffold/vue-template.d.ts +7 -0
- package/dist/runtime/scaffold/vue-template.js +167 -0
- package/dist/runtime/scaffold/vue-template.js.map +1 -0
- package/dist/runtime/scaffold.d.ts +21 -0
- package/dist/runtime/scaffold.js +80 -0
- package/dist/runtime/scaffold.js.map +1 -0
- package/dist/runtime/skills.js +3 -3
- package/dist/runtime/skills.js.map +1 -1
- package/dist/runtime/state.js +32 -16
- package/dist/runtime/state.js.map +1 -1
- package/dist/runtime/units.js +36 -1
- package/dist/runtime/units.js.map +1 -1
- package/dist/runtime/verification-commands.js +8 -4
- package/dist/runtime/verification-commands.js.map +1 -1
- package/dist/runtime/verify.js +76 -17
- package/dist/runtime/verify.js.map +1 -1
- package/dist/schemas/types.d.ts +64 -6
- package/dist/schemas/validation.js +4 -0
- package/dist/schemas/validation.js.map +1 -1
- package/dist/storage/json.js +6 -1
- package/dist/storage/json.js.map +1 -1
- package/package.json +3 -4
|
@@ -184,16 +184,17 @@ function parseKnowledgeFrontmatter(content) {
|
|
|
184
184
|
sourcePaths: [],
|
|
185
185
|
related: []
|
|
186
186
|
};
|
|
187
|
-
if (!content.startsWith("---\n")) {
|
|
187
|
+
if (!content.startsWith("---\n") && !content.startsWith("---\r\n")) {
|
|
188
188
|
return { hasFrontmatter: false, metadata };
|
|
189
189
|
}
|
|
190
|
-
const endIndex = content.
|
|
190
|
+
const endIndex = content.search(/\r?\n---(?:\r?\n|$)/);
|
|
191
191
|
if (endIndex < 0) {
|
|
192
192
|
return { hasFrontmatter: false, metadata };
|
|
193
193
|
}
|
|
194
194
|
const listKeys = new Set(["scope", "tags", "source_paths", "related"]);
|
|
195
195
|
let currentList = null;
|
|
196
|
-
|
|
196
|
+
const startIndex = content.startsWith("---\r\n") ? 5 : 4;
|
|
197
|
+
for (const line of content.slice(startIndex, endIndex).split(/\r?\n/)) {
|
|
197
198
|
const trimmed = line.trim();
|
|
198
199
|
if (!trimmed || trimmed.startsWith("#")) {
|
|
199
200
|
continue;
|
|
@@ -261,15 +262,15 @@ function validateKnowledgeMetadata(relativePath, metadata) {
|
|
|
261
262
|
function renderKnowledge(input) {
|
|
262
263
|
const summary = firstBodyLine(input.body) ?? input.title;
|
|
263
264
|
return `---
|
|
264
|
-
id: ${input.id}
|
|
265
|
-
type: ${input.type}
|
|
266
|
-
title: ${input.title}
|
|
267
|
-
summary: ${summary}
|
|
265
|
+
id: ${yamlScalar(input.id)}
|
|
266
|
+
type: ${yamlScalar(input.type)}
|
|
267
|
+
title: ${yamlScalar(input.title)}
|
|
268
|
+
summary: ${yamlScalar(summary)}
|
|
268
269
|
scope:
|
|
269
270
|
${renderList(input.scope)}
|
|
270
|
-
status: ${input.status}
|
|
271
|
-
stability: ${input.stability}
|
|
272
|
-
updated_at: ${input.createdAt}
|
|
271
|
+
status: ${yamlScalar(input.status)}
|
|
272
|
+
stability: ${yamlScalar(input.stability)}
|
|
273
|
+
updated_at: ${yamlScalar(input.createdAt)}
|
|
273
274
|
source_paths:
|
|
274
275
|
${renderList(input.sourcePaths)}
|
|
275
276
|
related: []
|
|
@@ -281,7 +282,7 @@ ${input.body}
|
|
|
281
282
|
`;
|
|
282
283
|
}
|
|
283
284
|
function renderList(items) {
|
|
284
|
-
return items.length ? items.map((item) => ` - ${item}`).join("\n") : " []";
|
|
285
|
+
return items.length ? items.map((item) => ` - ${yamlScalar(item)}`).join("\n") : " []";
|
|
285
286
|
}
|
|
286
287
|
function firstBodyLine(body) {
|
|
287
288
|
return body
|
|
@@ -338,7 +339,10 @@ function slugify(value) {
|
|
|
338
339
|
function formatKnowledgeStamp(createdAt) {
|
|
339
340
|
return createdAt
|
|
340
341
|
.replace(/[-:]/g, "")
|
|
341
|
-
.replace(
|
|
342
|
+
.replace(/\.(\d{3})Z$/, "$1Z");
|
|
343
|
+
}
|
|
344
|
+
function yamlScalar(value) {
|
|
345
|
+
return JSON.stringify(value);
|
|
342
346
|
}
|
|
343
347
|
function safeRead(filePath) {
|
|
344
348
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/runtime/knowledge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/runtime/knowledge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AgentDecisionComponentHint, ComponentItem, PlanComponentHintTrace, TaskUnderstanding } from "../../schemas/types.js";
|
|
2
|
+
export interface ComponentResolution {
|
|
3
|
+
components: ComponentItem[];
|
|
4
|
+
trace: PlanComponentHintTrace;
|
|
5
|
+
}
|
|
6
|
+
export declare function inferPlanComponents(projectRoot: string, task: TaskUnderstanding, evidenceTargets?: string[]): ComponentItem[];
|
|
7
|
+
export declare function resolvePlanComponents(projectRoot: string, systemComponents: ComponentItem[], hints: AgentDecisionComponentHint[] | undefined, task: TaskUnderstanding, warnings: string[]): ComponentResolution;
|
|
8
|
+
export declare function resolveComponentSource(trace: PlanComponentHintTrace): "system" | "agent" | "merged";
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { toPascalCase } from "../common/naming.js";
|
|
3
|
+
import { resolveComponentPlacement } from "../project-discovery.js";
|
|
4
|
+
const COMPONENT_HINT_POLICY = {
|
|
5
|
+
expandMinWeight: 0.7,
|
|
6
|
+
mergeMinConfidence: 0.6
|
|
7
|
+
};
|
|
8
|
+
export function inferPlanComponents(projectRoot, task, evidenceTargets = []) {
|
|
9
|
+
const workflowKind = task.frontendWorkflow?.kind;
|
|
10
|
+
if (evidenceTargets.length && acceptsEvidenceTargets(workflowKind)) {
|
|
11
|
+
return evidenceTargets.map((target, index) => targetComponent(target, index, workflowKind));
|
|
12
|
+
}
|
|
13
|
+
switch (workflowKind) {
|
|
14
|
+
case "ui_implementation":
|
|
15
|
+
return inferUiComponents(projectRoot, task);
|
|
16
|
+
case "frontend_review":
|
|
17
|
+
return [componentBoundary("ProjectReview", "src", "project review target", "existing")];
|
|
18
|
+
case "documentation":
|
|
19
|
+
return [componentBoundary("Documentation", inferDocumentationTarget(task), "documentation update boundary", "existing")];
|
|
20
|
+
case "maintenance":
|
|
21
|
+
return [componentBoundary("ProjectMaintenance", "project", "project maintenance boundary", "existing")];
|
|
22
|
+
case "bug_fix":
|
|
23
|
+
return [componentBoundary("BugFix", "project", "bug fix investigation boundary", "existing")];
|
|
24
|
+
case "prd_knowledge":
|
|
25
|
+
return [componentBoundary("PrdKnowledge", "project", "PRD knowledge boundary", "existing")];
|
|
26
|
+
case "api_integration":
|
|
27
|
+
return [componentBoundary("ApiIntegration", "project", "API integration boundary", "existing")];
|
|
28
|
+
case "frontend_test":
|
|
29
|
+
return [componentBoundary("FrontendTest", "project", "frontend test boundary", "existing")];
|
|
30
|
+
case "requirement_change":
|
|
31
|
+
return [componentBoundary("RequirementChange", "project", "requirement change boundary", "existing")];
|
|
32
|
+
default:
|
|
33
|
+
return [componentBoundary("ProjectTask", "project", "project task boundary", "existing")];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function resolvePlanComponents(projectRoot, systemComponents, hints, task, warnings) {
|
|
37
|
+
if (!hints?.length) {
|
|
38
|
+
return {
|
|
39
|
+
components: systemComponents,
|
|
40
|
+
trace: componentHintTrace(false, "none", 1, 0, 0, [{ type: "preserve_system_boundary" }])
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const normalizedHints = normalizeComponentHints(hints);
|
|
44
|
+
switch (task.frontendWorkflow?.kind) {
|
|
45
|
+
case "ui_implementation":
|
|
46
|
+
return resolveComponentConstraints(projectRoot, systemComponents, buildUiComponentConstraints(systemComponents, normalizedHints, warnings), task);
|
|
47
|
+
case "documentation":
|
|
48
|
+
case "maintenance":
|
|
49
|
+
case "bug_fix":
|
|
50
|
+
case "prd_knowledge":
|
|
51
|
+
case "api_integration":
|
|
52
|
+
case "frontend_test":
|
|
53
|
+
case "frontend_review":
|
|
54
|
+
case "requirement_change":
|
|
55
|
+
default:
|
|
56
|
+
warnings.push(`agent componentHints ignored for ${task.frontendWorkflow?.kind ?? "unknown"} workflow`);
|
|
57
|
+
return {
|
|
58
|
+
components: systemComponents,
|
|
59
|
+
trace: componentHintTrace(false, "ignore", 0, 0, normalizedHints.length, [
|
|
60
|
+
{ type: "preserve_system_boundary" },
|
|
61
|
+
...normalizedHints.map((hint, index) => ({
|
|
62
|
+
type: "reject_hint",
|
|
63
|
+
index,
|
|
64
|
+
hint,
|
|
65
|
+
reason: `componentHints are not structural inputs for ${task.frontendWorkflow?.kind ?? "unknown"} workflow`,
|
|
66
|
+
confidence: 0
|
|
67
|
+
}))
|
|
68
|
+
])
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export function resolveComponentSource(trace) {
|
|
73
|
+
if (trace.strategy === "expand") {
|
|
74
|
+
return "agent";
|
|
75
|
+
}
|
|
76
|
+
if (trace.strategy === "merge") {
|
|
77
|
+
return "merged";
|
|
78
|
+
}
|
|
79
|
+
return "system";
|
|
80
|
+
}
|
|
81
|
+
function inferUiComponents(projectRoot, task) {
|
|
82
|
+
const baseName = toPascalCase(task.scope) || "PlannedComponent";
|
|
83
|
+
const placement = resolveComponentPlacement(projectRoot, task.scope);
|
|
84
|
+
const componentKinds = inferComponentKinds(task.scope);
|
|
85
|
+
return componentKinds.map((kind) => {
|
|
86
|
+
const name = componentName(baseName, kind.suffix);
|
|
87
|
+
return {
|
|
88
|
+
name,
|
|
89
|
+
file: `${placement.sourceRoot}/${name}${placement.extension}`,
|
|
90
|
+
responsibility: task.intent === "fix_bug" ? "bug fix target" : kind.responsibility,
|
|
91
|
+
status: "unknown"
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function acceptsEvidenceTargets(kind) {
|
|
96
|
+
switch (kind) {
|
|
97
|
+
case "documentation":
|
|
98
|
+
case "maintenance":
|
|
99
|
+
case "bug_fix":
|
|
100
|
+
case "prd_knowledge":
|
|
101
|
+
case "api_integration":
|
|
102
|
+
case "frontend_test":
|
|
103
|
+
case "frontend_review":
|
|
104
|
+
case "requirement_change":
|
|
105
|
+
return true;
|
|
106
|
+
case "ui_implementation":
|
|
107
|
+
default:
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function targetComponent(target, index, kind) {
|
|
112
|
+
return {
|
|
113
|
+
name: targetComponentName(target, index),
|
|
114
|
+
file: target,
|
|
115
|
+
responsibility: `${kind ?? "project"} target boundary`,
|
|
116
|
+
status: "unknown"
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function componentBoundary(name, file, responsibility, status) {
|
|
120
|
+
return { name, file, responsibility, status };
|
|
121
|
+
}
|
|
122
|
+
function targetComponentName(target, index) {
|
|
123
|
+
const base = path.basename(target).replace(/\.[^.]+$/, "");
|
|
124
|
+
return toPascalCase(base) || `ProposalTarget${index + 1}`;
|
|
125
|
+
}
|
|
126
|
+
function inferDocumentationTarget(task) {
|
|
127
|
+
const normalized = task.scope.toLowerCase();
|
|
128
|
+
if (/\breadme\b/.test(normalized)) {
|
|
129
|
+
return "README.md";
|
|
130
|
+
}
|
|
131
|
+
if (/\bagents\.md\b/.test(normalized)) {
|
|
132
|
+
return "AGENTS.md";
|
|
133
|
+
}
|
|
134
|
+
if (/\bclaude\.md\b/.test(normalized)) {
|
|
135
|
+
return "CLAUDE.md";
|
|
136
|
+
}
|
|
137
|
+
return "docs";
|
|
138
|
+
}
|
|
139
|
+
function buildUiComponentConstraints(systemComponents, hints, warnings) {
|
|
140
|
+
if (systemComponents.length === 1 && hints.length > 1 && hints.every((hint) => hint.weight >= COMPONENT_HINT_POLICY.expandMinWeight)) {
|
|
141
|
+
return [
|
|
142
|
+
{ type: "preserve_system_boundary" },
|
|
143
|
+
{ type: "allow_agent_expand", hints, confidence: averageConfidence(hints.map((hint) => hint.weight)) }
|
|
144
|
+
];
|
|
145
|
+
}
|
|
146
|
+
const constraints = [{ type: "preserve_system_boundary" }];
|
|
147
|
+
hints.forEach((hint, index) => {
|
|
148
|
+
const component = systemComponents[index];
|
|
149
|
+
if (!component) {
|
|
150
|
+
constraints.push({ type: "reject_hint", index, hint, reason: "no matching system boundary", confidence: 0 });
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const confidence = computeHintConfidence(hint, component);
|
|
154
|
+
if (confidence < COMPONENT_HINT_POLICY.mergeMinConfidence) {
|
|
155
|
+
warnings.push(`low-confidence componentHint ignored: ${hint.name}`);
|
|
156
|
+
constraints.push({ type: "reject_hint", index, hint, reason: "low confidence", confidence });
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
constraints.push({ type: "prefer_component", index, hint, confidence });
|
|
160
|
+
});
|
|
161
|
+
return constraints;
|
|
162
|
+
}
|
|
163
|
+
function buildConstraintTrace(constraints) {
|
|
164
|
+
return constraints.map((constraint) => {
|
|
165
|
+
if (constraint.type === "preserve_system_boundary") {
|
|
166
|
+
return { type: constraint.type, outcome: "preserved" };
|
|
167
|
+
}
|
|
168
|
+
if (constraint.type === "reject_hint") {
|
|
169
|
+
return {
|
|
170
|
+
type: constraint.type,
|
|
171
|
+
outcome: "rejected",
|
|
172
|
+
reason: constraint.reason,
|
|
173
|
+
confidence: constraint.confidence
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
return {
|
|
177
|
+
type: constraint.type,
|
|
178
|
+
outcome: "accepted",
|
|
179
|
+
confidence: constraint.confidence
|
|
180
|
+
};
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
function resolveComponentConstraints(projectRoot, systemComponents, constraints, task) {
|
|
184
|
+
const expandConstraint = constraints.find((constraint) => {
|
|
185
|
+
return constraint.type === "allow_agent_expand";
|
|
186
|
+
});
|
|
187
|
+
if (expandConstraint) {
|
|
188
|
+
const placement = resolveComponentPlacement(projectRoot, task.scope);
|
|
189
|
+
const baseFile = systemComponents[0]?.file ?? `${placement.sourceRoot}/PlannedComponent${placement.extension}`;
|
|
190
|
+
return {
|
|
191
|
+
components: expandConstraint.hints.map((hint) => componentFromHint(baseFile, hint)),
|
|
192
|
+
trace: componentHintTrace(true, "expand", expandConstraint.confidence, expandConstraint.hints.length, rejectedConstraintCount(constraints), constraints)
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
const preferConstraints = constraints.filter((constraint) => {
|
|
196
|
+
return constraint.type === "prefer_component";
|
|
197
|
+
});
|
|
198
|
+
const rejectedHints = rejectedConstraintCount(constraints);
|
|
199
|
+
if (!preferConstraints.length) {
|
|
200
|
+
return {
|
|
201
|
+
components: systemComponents,
|
|
202
|
+
trace: componentHintTrace(false, rejectedHints > 0 ? "ignore" : "none", averageConfidence(rejectedConfidenceScores(constraints)), 0, rejectedHints, constraints)
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
const components = systemComponents.map((component, index) => {
|
|
206
|
+
const constraint = preferConstraints.find((item) => item.index === index);
|
|
207
|
+
return constraint ? applyPreferredComponent(component, constraint.hint) : component;
|
|
208
|
+
});
|
|
209
|
+
return {
|
|
210
|
+
components,
|
|
211
|
+
trace: componentHintTrace(true, "merge", averageConfidence(preferConstraints.map((constraint) => constraint.confidence)), preferConstraints.length, rejectedHints, constraints)
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function componentFromHint(baseFile, hint) {
|
|
215
|
+
return {
|
|
216
|
+
name: hint.name,
|
|
217
|
+
file: deriveFileFromBase(baseFile, hint.name),
|
|
218
|
+
responsibility: hint.responsibility,
|
|
219
|
+
status: "unknown"
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
function applyPreferredComponent(component, hint) {
|
|
223
|
+
return {
|
|
224
|
+
...component,
|
|
225
|
+
name: hint.name,
|
|
226
|
+
file: deriveFileFromBase(component.file, hint.name),
|
|
227
|
+
responsibility: hint.responsibility
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function rejectedConstraintCount(constraints) {
|
|
231
|
+
return constraints.filter((constraint) => constraint.type === "reject_hint").length;
|
|
232
|
+
}
|
|
233
|
+
function rejectedConfidenceScores(constraints) {
|
|
234
|
+
return constraints
|
|
235
|
+
.filter((constraint) => {
|
|
236
|
+
return constraint.type === "reject_hint";
|
|
237
|
+
})
|
|
238
|
+
.map((constraint) => constraint.confidence);
|
|
239
|
+
}
|
|
240
|
+
function normalizeComponentHints(hints) {
|
|
241
|
+
return hints.map((hint, index) => ({
|
|
242
|
+
name: sanitizeComponentName(hint.name, index),
|
|
243
|
+
responsibility: hint.responsibility?.trim() || "agent-suggested component",
|
|
244
|
+
weight: computeHintWeight(hint)
|
|
245
|
+
}));
|
|
246
|
+
}
|
|
247
|
+
function computeHintWeight(hint) {
|
|
248
|
+
let score = 0.5;
|
|
249
|
+
const name = hint.name?.trim() ?? "";
|
|
250
|
+
const responsibility = hint.responsibility?.trim() ?? "";
|
|
251
|
+
if (name.length >= 3) {
|
|
252
|
+
score += 0.15;
|
|
253
|
+
}
|
|
254
|
+
if (responsibility.length >= 12) {
|
|
255
|
+
score += 0.2;
|
|
256
|
+
}
|
|
257
|
+
if (/[A-Z]/.test(name[0] ?? "")) {
|
|
258
|
+
score += 0.1;
|
|
259
|
+
}
|
|
260
|
+
if (/\b(page|table|form|filter|modal|drawer|dashboard|view)\b/i.test(name)) {
|
|
261
|
+
score += 0.1;
|
|
262
|
+
}
|
|
263
|
+
return clampConfidence(score);
|
|
264
|
+
}
|
|
265
|
+
function computeHintConfidence(hint, system) {
|
|
266
|
+
let score = hint.weight;
|
|
267
|
+
const hintName = hint.name.toLowerCase();
|
|
268
|
+
const systemName = system.name.toLowerCase();
|
|
269
|
+
if (systemName.includes(hintName) || hintName.includes(systemName)) {
|
|
270
|
+
score += 0.15;
|
|
271
|
+
}
|
|
272
|
+
if (path.dirname(system.file) !== ".") {
|
|
273
|
+
score += 0.05;
|
|
274
|
+
}
|
|
275
|
+
return clampConfidence(score);
|
|
276
|
+
}
|
|
277
|
+
function componentHintTrace(used, strategy, confidence, acceptedHints, rejectedHints, constraints) {
|
|
278
|
+
return {
|
|
279
|
+
used,
|
|
280
|
+
strategy,
|
|
281
|
+
confidence: clampConfidence(confidence),
|
|
282
|
+
acceptedHints,
|
|
283
|
+
rejectedHints,
|
|
284
|
+
policy: {
|
|
285
|
+
expandMinWeight: COMPONENT_HINT_POLICY.expandMinWeight,
|
|
286
|
+
mergeMinConfidence: COMPONENT_HINT_POLICY.mergeMinConfidence
|
|
287
|
+
},
|
|
288
|
+
constraints: buildConstraintTrace(constraints)
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
function averageConfidence(values) {
|
|
292
|
+
if (!values.length) {
|
|
293
|
+
return 0;
|
|
294
|
+
}
|
|
295
|
+
return values.reduce((sum, value) => sum + value, 0) / values.length;
|
|
296
|
+
}
|
|
297
|
+
function clampConfidence(value) {
|
|
298
|
+
return Math.min(1, Math.max(0, Number(value.toFixed(2))));
|
|
299
|
+
}
|
|
300
|
+
function sanitizeComponentName(value, index) {
|
|
301
|
+
return toPascalCase(value ?? `AgentComponent${index + 1}`) || `AgentComponent${index + 1}`;
|
|
302
|
+
}
|
|
303
|
+
function deriveFileFromBase(baseFile, name) {
|
|
304
|
+
const slash = baseFile.lastIndexOf("/");
|
|
305
|
+
const dot = baseFile.lastIndexOf(".");
|
|
306
|
+
const dir = slash >= 0 ? baseFile.slice(0, slash) : "src";
|
|
307
|
+
const ext = dot > slash ? baseFile.slice(dot) : ".ts";
|
|
308
|
+
return `${dir}/${name}${ext}`;
|
|
309
|
+
}
|
|
310
|
+
function inferComponentKinds(scope) {
|
|
311
|
+
const normalized = scope.toLowerCase();
|
|
312
|
+
const asksForTable = /\b(table|grid|list)\b/.test(normalized);
|
|
313
|
+
const asksForForm = /\b(form|create|edit|filter|search)\b/.test(normalized);
|
|
314
|
+
const asksForPage = /\b(page|screen|dashboard|view)\b/.test(normalized);
|
|
315
|
+
if (asksForPage && asksForTable && asksForForm) {
|
|
316
|
+
return [
|
|
317
|
+
{
|
|
318
|
+
suffix: "Page",
|
|
319
|
+
responsibility: "page composition and data-flow boundary"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
suffix: "Table",
|
|
323
|
+
responsibility: "tabular list rendering"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
suffix: "Form",
|
|
327
|
+
responsibility: "form or filter interaction"
|
|
328
|
+
}
|
|
329
|
+
];
|
|
330
|
+
}
|
|
331
|
+
return [
|
|
332
|
+
{
|
|
333
|
+
suffix: "",
|
|
334
|
+
responsibility: "planned UI/component implementation"
|
|
335
|
+
}
|
|
336
|
+
];
|
|
337
|
+
}
|
|
338
|
+
function componentName(baseName, suffix) {
|
|
339
|
+
if (!suffix || baseName.endsWith(suffix)) {
|
|
340
|
+
return baseName;
|
|
341
|
+
}
|
|
342
|
+
return `${baseName}${suffix}`;
|
|
343
|
+
}
|
|
344
|
+
//# sourceMappingURL=component-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-resolver.js","sourceRoot":"","sources":["../../../src/runtime/plan/component-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ComponentItem, ExecutionGuidanceStep, ExecutionUnit, PlanMeta, TaskUnderstanding } from "../../schemas/types.js";
|
|
2
|
+
export declare function buildExecutionGuidance(): ExecutionGuidanceStep[];
|
|
3
|
+
export declare function renderGuidance(task: TaskUnderstanding, components: ComponentItem[], units: ExecutionUnit[], executionGuidance: ExecutionGuidanceStep[], meta: PlanMeta): string;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { relativeHarnessPath } from "../../storage/paths.js";
|
|
2
|
+
export function buildExecutionGuidance() {
|
|
3
|
+
return [
|
|
4
|
+
{
|
|
5
|
+
order: 1,
|
|
6
|
+
action: "inspect_plan",
|
|
7
|
+
description: `Read ${relativeHarnessPath("plans", "latest.json")} and ${relativeHarnessPath("execution-units", "latest.json")} before editing.`,
|
|
8
|
+
command: null,
|
|
9
|
+
condition: null
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
order: 2,
|
|
13
|
+
action: "edit_files",
|
|
14
|
+
description: "Edit only the project files required by the planned execution units.",
|
|
15
|
+
command: null,
|
|
16
|
+
condition: null
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
order: 3,
|
|
20
|
+
action: "record_changes",
|
|
21
|
+
description: "Record each changed project file so the harness state reflects the execution boundary.",
|
|
22
|
+
command: "frontend-harness state record-change <file>",
|
|
23
|
+
condition: "after editing"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
order: 4,
|
|
27
|
+
action: "verify",
|
|
28
|
+
description: "Run the configured verification commands and inspect the JSON result.",
|
|
29
|
+
command: "frontend-harness verify --json",
|
|
30
|
+
condition: "after recording changes"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
order: 5,
|
|
34
|
+
action: "fix_failed_verification",
|
|
35
|
+
description: `If verification fails, generate and inspect ${relativeHarnessPath("repair", "latest.json")} before patching the relevant project files, recording new changes, and rerunning verification.`,
|
|
36
|
+
command: "frontend-harness repair packet --json",
|
|
37
|
+
condition: "when verification status is failed or error"
|
|
38
|
+
}
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
export function renderGuidance(task, components, units, executionGuidance, meta) {
|
|
42
|
+
return `# Agent Execution Guidance
|
|
43
|
+
|
|
44
|
+
## Task
|
|
45
|
+
|
|
46
|
+
- Intent: ${task.intent}
|
|
47
|
+
- Scope: ${task.scope}
|
|
48
|
+
|
|
49
|
+
## Frontend Workflow Policy
|
|
50
|
+
|
|
51
|
+
- Kind: ${task.frontendWorkflow?.kind ?? "unknown"}
|
|
52
|
+
- Summary: ${task.frontendWorkflow?.summary ?? "No workflow policy inferred."}
|
|
53
|
+
- Knowledge: ${(task.frontendWorkflow?.requiredKnowledgeActions ?? []).join(" ")}
|
|
54
|
+
- Verification focus: ${(task.frontendWorkflow?.verificationFocus ?? []).join(", ")}
|
|
55
|
+
|
|
56
|
+
## Decision Trace
|
|
57
|
+
|
|
58
|
+
- Workflow: ${meta.decisionTrace.workflow.source}; ${meta.decisionTrace.workflow.reason}
|
|
59
|
+
- Targets: ${meta.decisionTrace.targets.source}; ${meta.decisionTrace.targets.reason}
|
|
60
|
+
- Components: ${meta.decisionTrace.components.source}; ${meta.decisionTrace.components.reason}
|
|
61
|
+
- Warnings: ${meta.warnings.length ? meta.warnings.join(" ") : "none"}
|
|
62
|
+
|
|
63
|
+
## Project References
|
|
64
|
+
|
|
65
|
+
${renderProjectReferences(task)}
|
|
66
|
+
|
|
67
|
+
## Loop
|
|
68
|
+
|
|
69
|
+
${executionGuidance.map(renderExecutionGuidanceStep).join("\n")}
|
|
70
|
+
|
|
71
|
+
## Components
|
|
72
|
+
|
|
73
|
+
${components.map((component) => `- ${component.name}: ${component.file} (${component.responsibility})`).join("\n")}
|
|
74
|
+
|
|
75
|
+
## Units
|
|
76
|
+
|
|
77
|
+
${units.map(renderUnitGuidance).join("\n")}
|
|
78
|
+
`;
|
|
79
|
+
}
|
|
80
|
+
function renderProjectReferences(task) {
|
|
81
|
+
const provenance = task.policyProvenance;
|
|
82
|
+
if (!provenance) {
|
|
83
|
+
return "- No project-local skills or knowledge selected.";
|
|
84
|
+
}
|
|
85
|
+
const lines = [];
|
|
86
|
+
if (provenance.skillRoutes.length) {
|
|
87
|
+
lines.push("Selected skills:");
|
|
88
|
+
for (const route of provenance.skillRoutes) {
|
|
89
|
+
lines.push(`- ${route.name}: ${route.path}; source: ${route.source}; score: ${route.score}; reasons: ${route.reasons.join(", ")}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
lines.push("Selected skills: none.");
|
|
94
|
+
}
|
|
95
|
+
if (provenance.knowledgeReferences.length) {
|
|
96
|
+
lines.push("Selected knowledge:");
|
|
97
|
+
for (const knowledgePath of provenance.knowledgeReferences) {
|
|
98
|
+
const sha256 = provenance.knowledgeSha256[knowledgePath];
|
|
99
|
+
lines.push(`- ${knowledgePath}${sha256 ? `; sha256: ${sha256}` : ""}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
lines.push("Selected knowledge: none.");
|
|
104
|
+
}
|
|
105
|
+
lines.push(`Selection reason: ${provenance.selectionReason}`);
|
|
106
|
+
return lines.join("\n");
|
|
107
|
+
}
|
|
108
|
+
function renderExecutionGuidanceStep(step) {
|
|
109
|
+
const command = step.command ? ` Command: \`${step.command}\`.` : "";
|
|
110
|
+
const condition = step.condition ? ` Condition: ${step.condition}.` : "";
|
|
111
|
+
return `${step.order}. ${step.description}${command}${condition}`;
|
|
112
|
+
}
|
|
113
|
+
function renderUnitGuidance(unit) {
|
|
114
|
+
const dependencies = JSON.stringify(unit.dependsOn);
|
|
115
|
+
const parallelGroup = JSON.stringify(unit.parallelGroup);
|
|
116
|
+
const independent = unit.dependsOn.length === 0;
|
|
117
|
+
return `- ${unit.id}: ${unit.task}; file ${unit.file}; independent: ${independent}; dependsOn: ${dependencies}; parallelGroup: ${parallelGroup}; verification focus: ${unit.verification.join(", ")}`;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../../src/runtime/plan/guidance.ts"],"names":[],"mappings":"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"}
|