arggon-harness 0.1.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/README.md +229 -0
- package/config/default-opencode.json +21 -0
- package/dist/init.d.ts +3 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +406 -0
- package/dist/init.js.map +1 -0
- package/dist/plugin/engine/artifact-graph.d.ts +38 -0
- package/dist/plugin/engine/artifact-graph.d.ts.map +1 -0
- package/dist/plugin/engine/artifact-graph.js +137 -0
- package/dist/plugin/engine/artifact-graph.js.map +1 -0
- package/dist/plugin/engine/config.d.ts +21 -0
- package/dist/plugin/engine/config.d.ts.map +1 -0
- package/dist/plugin/engine/config.js +146 -0
- package/dist/plugin/engine/config.js.map +1 -0
- package/dist/plugin/engine/delta-apply.d.ts +23 -0
- package/dist/plugin/engine/delta-apply.d.ts.map +1 -0
- package/dist/plugin/engine/delta-apply.js +153 -0
- package/dist/plugin/engine/delta-apply.js.map +1 -0
- package/dist/plugin/engine/git.d.ts +32 -0
- package/dist/plugin/engine/git.d.ts.map +1 -0
- package/dist/plugin/engine/git.js +61 -0
- package/dist/plugin/engine/git.js.map +1 -0
- package/dist/plugin/engine/integrity.d.ts +45 -0
- package/dist/plugin/engine/integrity.d.ts.map +1 -0
- package/dist/plugin/engine/integrity.js +98 -0
- package/dist/plugin/engine/integrity.js.map +1 -0
- package/dist/plugin/engine/registry.d.ts +39 -0
- package/dist/plugin/engine/registry.d.ts.map +1 -0
- package/dist/plugin/engine/registry.js +191 -0
- package/dist/plugin/engine/registry.js.map +1 -0
- package/dist/plugin/engine/state.d.ts +31 -0
- package/dist/plugin/engine/state.d.ts.map +1 -0
- package/dist/plugin/engine/state.js +116 -0
- package/dist/plugin/engine/state.js.map +1 -0
- package/dist/plugin/engine/task-tracker.d.ts +66 -0
- package/dist/plugin/engine/task-tracker.d.ts.map +1 -0
- package/dist/plugin/engine/task-tracker.js +124 -0
- package/dist/plugin/engine/task-tracker.js.map +1 -0
- package/dist/plugin/engine/types.d.ts +349 -0
- package/dist/plugin/engine/types.d.ts.map +1 -0
- package/dist/plugin/engine/types.js +3 -0
- package/dist/plugin/engine/types.js.map +1 -0
- package/dist/plugin/engine/validator.d.ts +52 -0
- package/dist/plugin/engine/validator.d.ts.map +1 -0
- package/dist/plugin/engine/validator.js +457 -0
- package/dist/plugin/engine/validator.js.map +1 -0
- package/dist/plugin/engine/verifier.d.ts +61 -0
- package/dist/plugin/engine/verifier.d.ts.map +1 -0
- package/dist/plugin/engine/verifier.js +441 -0
- package/dist/plugin/engine/verifier.js.map +1 -0
- package/dist/plugin/hooks/context-injection.d.ts +11 -0
- package/dist/plugin/hooks/context-injection.d.ts.map +1 -0
- package/dist/plugin/hooks/context-injection.js +88 -0
- package/dist/plugin/hooks/context-injection.js.map +1 -0
- package/dist/plugin/hooks/event-handlers.d.ts +9 -0
- package/dist/plugin/hooks/event-handlers.d.ts.map +1 -0
- package/dist/plugin/hooks/event-handlers.js +10 -0
- package/dist/plugin/hooks/event-handlers.js.map +1 -0
- package/dist/plugin/hooks/workflow-gate.d.ts +24 -0
- package/dist/plugin/hooks/workflow-gate.d.ts.map +1 -0
- package/dist/plugin/hooks/workflow-gate.js +78 -0
- package/dist/plugin/hooks/workflow-gate.js.map +1 -0
- package/dist/plugin/index.d.ts +423 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +253 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/tools/spec-artifact-instr.d.ts +7 -0
- package/dist/plugin/tools/spec-artifact-instr.d.ts.map +1 -0
- package/dist/plugin/tools/spec-artifact-instr.js +73 -0
- package/dist/plugin/tools/spec-artifact-instr.js.map +1 -0
- package/dist/plugin/tools/spec-change-archive.d.ts +6 -0
- package/dist/plugin/tools/spec-change-archive.d.ts.map +1 -0
- package/dist/plugin/tools/spec-change-archive.js +62 -0
- package/dist/plugin/tools/spec-change-archive.js.map +1 -0
- package/dist/plugin/tools/spec-change-list.d.ts +3 -0
- package/dist/plugin/tools/spec-change-list.d.ts.map +1 -0
- package/dist/plugin/tools/spec-change-list.js +38 -0
- package/dist/plugin/tools/spec-change-list.js.map +1 -0
- package/dist/plugin/tools/spec-change-new.d.ts +7 -0
- package/dist/plugin/tools/spec-change-new.d.ts.map +1 -0
- package/dist/plugin/tools/spec-change-new.js +47 -0
- package/dist/plugin/tools/spec-change-new.js.map +1 -0
- package/dist/plugin/tools/spec-change-status.d.ts +6 -0
- package/dist/plugin/tools/spec-change-status.d.ts.map +1 -0
- package/dist/plugin/tools/spec-change-status.js +43 -0
- package/dist/plugin/tools/spec-change-status.js.map +1 -0
- package/dist/plugin/tools/spec-design-critique.d.ts +20 -0
- package/dist/plugin/tools/spec-design-critique.d.ts.map +1 -0
- package/dist/plugin/tools/spec-design-critique.js +412 -0
- package/dist/plugin/tools/spec-design-critique.js.map +1 -0
- package/dist/plugin/tools/spec-design-hifi.d.ts +119 -0
- package/dist/plugin/tools/spec-design-hifi.d.ts.map +1 -0
- package/dist/plugin/tools/spec-design-hifi.js +653 -0
- package/dist/plugin/tools/spec-design-hifi.js.map +1 -0
- package/dist/plugin/tools/spec-design-wireframe.d.ts +91 -0
- package/dist/plugin/tools/spec-design-wireframe.d.ts.map +1 -0
- package/dist/plugin/tools/spec-design-wireframe.js +357 -0
- package/dist/plugin/tools/spec-design-wireframe.js.map +1 -0
- package/dist/plugin/tools/spec-init.d.ts +9 -0
- package/dist/plugin/tools/spec-init.d.ts.map +1 -0
- package/dist/plugin/tools/spec-init.js +58 -0
- package/dist/plugin/tools/spec-init.js.map +1 -0
- package/dist/plugin/tools/spec-integrity-check.d.ts +6 -0
- package/dist/plugin/tools/spec-integrity-check.d.ts.map +1 -0
- package/dist/plugin/tools/spec-integrity-check.js +19 -0
- package/dist/plugin/tools/spec-integrity-check.js.map +1 -0
- package/dist/plugin/tools/spec-registry-update.d.ts +3 -0
- package/dist/plugin/tools/spec-registry-update.d.ts.map +1 -0
- package/dist/plugin/tools/spec-registry-update.js +34 -0
- package/dist/plugin/tools/spec-registry-update.js.map +1 -0
- package/dist/plugin/tools/spec-schema-list.d.ts +3 -0
- package/dist/plugin/tools/spec-schema-list.d.ts.map +1 -0
- package/dist/plugin/tools/spec-schema-list.js +28 -0
- package/dist/plugin/tools/spec-schema-list.js.map +1 -0
- package/dist/plugin/tools/spec-specs-apply.d.ts +7 -0
- package/dist/plugin/tools/spec-specs-apply.d.ts.map +1 -0
- package/dist/plugin/tools/spec-specs-apply.js +49 -0
- package/dist/plugin/tools/spec-specs-apply.js.map +1 -0
- package/dist/plugin/tools/spec-task-progress.d.ts +8 -0
- package/dist/plugin/tools/spec-task-progress.d.ts.map +1 -0
- package/dist/plugin/tools/spec-task-progress.js +96 -0
- package/dist/plugin/tools/spec-task-progress.js.map +1 -0
- package/dist/plugin/tools/spec-validate.d.ts +21 -0
- package/dist/plugin/tools/spec-validate.d.ts.map +1 -0
- package/dist/plugin/tools/spec-validate.js +182 -0
- package/dist/plugin/tools/spec-validate.js.map +1 -0
- package/dist/plugin/tools/spec-verify.d.ts +7 -0
- package/dist/plugin/tools/spec-verify.d.ts.map +1 -0
- package/dist/plugin/tools/spec-verify.js +50 -0
- package/dist/plugin/tools/spec-verify.js.map +1 -0
- package/dist/plugin/tools/util.d.ts +25 -0
- package/dist/plugin/tools/util.d.ts.map +1 -0
- package/dist/plugin/tools/util.js +33 -0
- package/dist/plugin/tools/util.js.map +1 -0
- package/package.json +61 -0
- package/src/agents/orchestrator.md +158 -0
- package/src/agents/spec-apply.md +114 -0
- package/src/agents/spec-archive.md +103 -0
- package/src/agents/spec-propose.md +120 -0
- package/src/agents/spec-verify.md +103 -0
- package/src/commands/spec-init.md +6 -0
- package/src/commands/spec-onboard.md +6 -0
- package/src/commands/spec-status.md +6 -0
- package/src/commands/spec-sync.md +6 -0
- package/src/schemas/hybrid.yaml +144 -0
- package/src/schemas/spec-driven.yaml +155 -0
- package/src/schemas/tdd.yaml +203 -0
- package/src/skills/playwright-cli/SKILL.md +388 -0
- package/src/skills/playwright-cli/references/element-attributes.md +23 -0
- package/src/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/src/skills/playwright-cli/references/request-mocking.md +87 -0
- package/src/skills/playwright-cli/references/running-code.md +241 -0
- package/src/skills/playwright-cli/references/session-management.md +225 -0
- package/src/skills/playwright-cli/references/spec-driven-testing.md +305 -0
- package/src/skills/playwright-cli/references/storage-state.md +275 -0
- package/src/skills/playwright-cli/references/test-generation.md +134 -0
- package/src/skills/playwright-cli/references/tracing.md +139 -0
- package/src/skills/playwright-cli/references/video-recording.md +143 -0
- package/src/skills/spec-init/SKILL.md +61 -0
- package/src/skills/spec-onboard/SKILL.md +178 -0
- package/src/skills/spec-status/SKILL.md +72 -0
- package/src/skills/spec-sync/SKILL.md +63 -0
- package/src/templates/config.yaml +14 -0
- package/src/templates/design-hifi.yaml +580 -0
- package/src/templates/design-tech.yaml +42 -0
- package/src/templates/design-wireframe.yaml +114 -0
- package/src/templates/proposal.yaml +43 -0
- package/src/templates/registry.yaml +3 -0
- package/src/templates/spec.yaml +56 -0
- package/src/templates/tasks.yaml +58 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Tasks, TaskStatus } from './types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Parses tasks and returns progress summary.
|
|
4
|
+
* @param tasks - The tasks artifact
|
|
5
|
+
* @returns Object with total, done, and pending counts
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseTasks(tasks: Tasks): {
|
|
8
|
+
total: number;
|
|
9
|
+
done: number;
|
|
10
|
+
pending: number;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Updates the status of a specific task.
|
|
14
|
+
* @param tasks - The tasks artifact
|
|
15
|
+
* @param taskId - ID of the task to update
|
|
16
|
+
* @param status - New status for the task
|
|
17
|
+
* @returns Updated tasks artifact
|
|
18
|
+
* @throws Error if task ID not found
|
|
19
|
+
*/
|
|
20
|
+
export declare function updateTaskStatus(tasks: Tasks, taskId: string, status: TaskStatus): Tasks;
|
|
21
|
+
/**
|
|
22
|
+
* Gets task progress as percentage and remaining count.
|
|
23
|
+
* @param tasks - The tasks artifact
|
|
24
|
+
* @returns Object with percentage and remaining count
|
|
25
|
+
*/
|
|
26
|
+
export declare function getTaskProgress(tasks: Tasks): {
|
|
27
|
+
percentage: number;
|
|
28
|
+
remaining: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Gets tasks grouped by their group field.
|
|
32
|
+
* @param tasks - The tasks artifact
|
|
33
|
+
* @returns Map of group names to task arrays
|
|
34
|
+
*/
|
|
35
|
+
export declare function getTasksByGroup(tasks: Tasks): Map<string, typeof tasks.tasks>;
|
|
36
|
+
/**
|
|
37
|
+
* Gets the next tasks that can be started (all dependencies satisfied).
|
|
38
|
+
* @param tasks - The tasks artifact
|
|
39
|
+
* @returns Array of tasks ready to be started
|
|
40
|
+
*/
|
|
41
|
+
export declare function getReadyTasks(tasks: Tasks): typeof tasks.tasks;
|
|
42
|
+
/**
|
|
43
|
+
* Gets tasks filtered by status.
|
|
44
|
+
* @param tasks - The tasks artifact
|
|
45
|
+
* @param status - Status to filter by
|
|
46
|
+
* @returns Array of tasks with the given status
|
|
47
|
+
*/
|
|
48
|
+
export declare function getTasksByStatus(tasks: Tasks, status: TaskStatus): typeof tasks.tasks;
|
|
49
|
+
/**
|
|
50
|
+
* Computes total estimated time for remaining tasks.
|
|
51
|
+
* @param tasks - The tasks artifact
|
|
52
|
+
* @returns Total estimated minutes for non-done tasks
|
|
53
|
+
*/
|
|
54
|
+
export declare function getRemainingEstimate(tasks: Tasks): number;
|
|
55
|
+
/**
|
|
56
|
+
* Computes progress metadata from task data.
|
|
57
|
+
* @param tasks - The tasks artifact
|
|
58
|
+
* @returns Object with total_tasks, completed_tasks, and percentage
|
|
59
|
+
*/
|
|
60
|
+
export declare function computeMetaProgress(tasks: Tasks): {
|
|
61
|
+
total_tasks: number;
|
|
62
|
+
completed_tasks: number;
|
|
63
|
+
percentage: number;
|
|
64
|
+
};
|
|
65
|
+
export declare function hasNoDependencyCycles(tasks: Tasks): boolean;
|
|
66
|
+
//# sourceMappingURL=task-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-tracker.d.ts","sourceRoot":"","sources":["../../../src/plugin/engine/task-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,KAAK,CAYxF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMvF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAU7E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,CAO9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,KAAK,CAAC,KAAK,CAErF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAItH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CA4B3D"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses tasks and returns progress summary.
|
|
3
|
+
* @param tasks - The tasks artifact
|
|
4
|
+
* @returns Object with total, done, and pending counts
|
|
5
|
+
*/
|
|
6
|
+
export function parseTasks(tasks) {
|
|
7
|
+
const total = tasks.tasks.length;
|
|
8
|
+
const done = tasks.tasks.filter(t => t.status === 'done').length;
|
|
9
|
+
const pending = total - done;
|
|
10
|
+
return { total, done, pending };
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Updates the status of a specific task.
|
|
14
|
+
* @param tasks - The tasks artifact
|
|
15
|
+
* @param taskId - ID of the task to update
|
|
16
|
+
* @param status - New status for the task
|
|
17
|
+
* @returns Updated tasks artifact
|
|
18
|
+
* @throws Error if task ID not found
|
|
19
|
+
*/
|
|
20
|
+
export function updateTaskStatus(tasks, taskId, status) {
|
|
21
|
+
const taskIndex = tasks.tasks.findIndex(t => t.id === taskId);
|
|
22
|
+
if (taskIndex === -1) {
|
|
23
|
+
throw new Error(`Task not found: ${taskId}`);
|
|
24
|
+
}
|
|
25
|
+
const updatedTasks = { ...tasks };
|
|
26
|
+
updatedTasks.tasks = [...tasks.tasks];
|
|
27
|
+
updatedTasks.tasks[taskIndex] = { ...updatedTasks.tasks[taskIndex], status };
|
|
28
|
+
return updatedTasks;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Gets task progress as percentage and remaining count.
|
|
32
|
+
* @param tasks - The tasks artifact
|
|
33
|
+
* @returns Object with percentage and remaining count
|
|
34
|
+
*/
|
|
35
|
+
export function getTaskProgress(tasks) {
|
|
36
|
+
const { total, done } = parseTasks(tasks);
|
|
37
|
+
const percentage = total > 0 ? Math.round((done / total) * 100) : 0;
|
|
38
|
+
const remaining = total - done;
|
|
39
|
+
return { percentage, remaining };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Gets tasks grouped by their group field.
|
|
43
|
+
* @param tasks - The tasks artifact
|
|
44
|
+
* @returns Map of group names to task arrays
|
|
45
|
+
*/
|
|
46
|
+
export function getTasksByGroup(tasks) {
|
|
47
|
+
const groups = new Map();
|
|
48
|
+
for (const task of tasks.tasks) {
|
|
49
|
+
const existing = groups.get(task.group) || [];
|
|
50
|
+
existing.push(task);
|
|
51
|
+
groups.set(task.group, existing);
|
|
52
|
+
}
|
|
53
|
+
return groups;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Gets the next tasks that can be started (all dependencies satisfied).
|
|
57
|
+
* @param tasks - The tasks artifact
|
|
58
|
+
* @returns Array of tasks ready to be started
|
|
59
|
+
*/
|
|
60
|
+
export function getReadyTasks(tasks) {
|
|
61
|
+
const doneIds = new Set(tasks.tasks.filter(t => t.status === 'done').map(t => t.id));
|
|
62
|
+
return tasks.tasks.filter(task => {
|
|
63
|
+
if (task.status !== 'pending')
|
|
64
|
+
return false;
|
|
65
|
+
return task.depends_on.every(dep => doneIds.has(dep));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Gets tasks filtered by status.
|
|
70
|
+
* @param tasks - The tasks artifact
|
|
71
|
+
* @param status - Status to filter by
|
|
72
|
+
* @returns Array of tasks with the given status
|
|
73
|
+
*/
|
|
74
|
+
export function getTasksByStatus(tasks, status) {
|
|
75
|
+
return tasks.tasks.filter(t => t.status === status);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Computes total estimated time for remaining tasks.
|
|
79
|
+
* @param tasks - The tasks artifact
|
|
80
|
+
* @returns Total estimated minutes for non-done tasks
|
|
81
|
+
*/
|
|
82
|
+
export function getRemainingEstimate(tasks) {
|
|
83
|
+
return tasks.tasks
|
|
84
|
+
.filter(t => t.status !== 'done')
|
|
85
|
+
.reduce((sum, t) => sum + t.estimated_minutes, 0);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Computes progress metadata from task data.
|
|
89
|
+
* @param tasks - The tasks artifact
|
|
90
|
+
* @returns Object with total_tasks, completed_tasks, and percentage
|
|
91
|
+
*/
|
|
92
|
+
export function computeMetaProgress(tasks) {
|
|
93
|
+
const { total, done } = parseTasks(tasks);
|
|
94
|
+
const percentage = total > 0 ? Math.round((done / total) * 100) : 0;
|
|
95
|
+
return { total_tasks: total, completed_tasks: done, percentage };
|
|
96
|
+
}
|
|
97
|
+
export function hasNoDependencyCycles(tasks) {
|
|
98
|
+
const taskMap = new Map(tasks.tasks.map(t => [t.id, t]));
|
|
99
|
+
const visited = new Set();
|
|
100
|
+
const inStack = new Set();
|
|
101
|
+
function dfs(taskId) {
|
|
102
|
+
if (inStack.has(taskId))
|
|
103
|
+
return false;
|
|
104
|
+
if (visited.has(taskId))
|
|
105
|
+
return true;
|
|
106
|
+
visited.add(taskId);
|
|
107
|
+
inStack.add(taskId);
|
|
108
|
+
const task = taskMap.get(taskId);
|
|
109
|
+
if (task) {
|
|
110
|
+
for (const dep of task.depends_on) {
|
|
111
|
+
if (!dfs(dep))
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
inStack.delete(taskId);
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
for (const task of tasks.tasks) {
|
|
119
|
+
if (!dfs(task.id))
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=task-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-tracker.js","sourceRoot":"","sources":["../../../src/plugin/engine/task-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
export type ArtifactId = 'proposal' | 'specs' | 'design-tech' | 'design-wireframe' | 'design-hifi' | 'tasks';
|
|
2
|
+
export type ChangeStatus = 'active' | 'archived';
|
|
3
|
+
export type TaskStatus = 'pending' | 'in_progress' | 'done';
|
|
4
|
+
export type DeltaOp = 'add' | 'modify' | 'remove' | 'rename';
|
|
5
|
+
export type VerifyType = 'command' | 'assertion' | 'invariant' | 'snapshot';
|
|
6
|
+
export interface Schema {
|
|
7
|
+
name: string;
|
|
8
|
+
version: number;
|
|
9
|
+
description?: string;
|
|
10
|
+
artifacts: ArtifactDef[];
|
|
11
|
+
apply: ApplyDef;
|
|
12
|
+
}
|
|
13
|
+
export interface ArtifactDef {
|
|
14
|
+
id: ArtifactId;
|
|
15
|
+
generates: string;
|
|
16
|
+
description: string;
|
|
17
|
+
template: string;
|
|
18
|
+
instruction?: string;
|
|
19
|
+
requires: ArtifactId[];
|
|
20
|
+
optional?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface ApplyDef {
|
|
23
|
+
requires: ArtifactId[];
|
|
24
|
+
tracks?: string;
|
|
25
|
+
instruction?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface Proposal {
|
|
28
|
+
id: string;
|
|
29
|
+
schema: string;
|
|
30
|
+
created: string;
|
|
31
|
+
status: ChangeStatus;
|
|
32
|
+
agent: AgentContext;
|
|
33
|
+
body: {
|
|
34
|
+
why: string;
|
|
35
|
+
what_changes: string[];
|
|
36
|
+
capabilities: {
|
|
37
|
+
new: {
|
|
38
|
+
id: string;
|
|
39
|
+
description: string;
|
|
40
|
+
}[];
|
|
41
|
+
modified: {
|
|
42
|
+
id: string;
|
|
43
|
+
description: string;
|
|
44
|
+
}[];
|
|
45
|
+
};
|
|
46
|
+
impact: {
|
|
47
|
+
path: string;
|
|
48
|
+
change: string;
|
|
49
|
+
}[];
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface DeltaSpec {
|
|
53
|
+
capability: string;
|
|
54
|
+
version: number;
|
|
55
|
+
agent: AgentContext;
|
|
56
|
+
operations: DeltaOperation[];
|
|
57
|
+
}
|
|
58
|
+
export interface DeltaOperation {
|
|
59
|
+
op: DeltaOp;
|
|
60
|
+
requirement?: Requirement;
|
|
61
|
+
from?: string;
|
|
62
|
+
to?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface Requirement {
|
|
65
|
+
id: string;
|
|
66
|
+
description: string;
|
|
67
|
+
scenarios: Scenario[];
|
|
68
|
+
}
|
|
69
|
+
export interface Scenario {
|
|
70
|
+
id: string;
|
|
71
|
+
given: string[];
|
|
72
|
+
when: string[];
|
|
73
|
+
then: string[];
|
|
74
|
+
verify?: VerifyBlock[];
|
|
75
|
+
}
|
|
76
|
+
export interface VerifyBlock {
|
|
77
|
+
type: VerifyType;
|
|
78
|
+
run?: string;
|
|
79
|
+
code?: string;
|
|
80
|
+
rule?: string;
|
|
81
|
+
expect?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface Design {
|
|
84
|
+
id: string;
|
|
85
|
+
schema: string;
|
|
86
|
+
agent: AgentContext;
|
|
87
|
+
body: {
|
|
88
|
+
context: string;
|
|
89
|
+
goals: string[];
|
|
90
|
+
non_goals: string[];
|
|
91
|
+
decisions: {
|
|
92
|
+
title: string;
|
|
93
|
+
approach: string;
|
|
94
|
+
alternatives?: string;
|
|
95
|
+
}[];
|
|
96
|
+
risks: string[];
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export interface WireframeArtifact {
|
|
100
|
+
id: string;
|
|
101
|
+
schema: string;
|
|
102
|
+
agent: AgentContext;
|
|
103
|
+
body: {
|
|
104
|
+
pages: WireframePage[];
|
|
105
|
+
flows: WireframeFlow[];
|
|
106
|
+
annotations: WireframeAnnotation[];
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export interface WireframePage {
|
|
110
|
+
id: string;
|
|
111
|
+
name: string;
|
|
112
|
+
description?: string;
|
|
113
|
+
layout: WireframeLayoutRegion[];
|
|
114
|
+
components: WireframeComponent[];
|
|
115
|
+
}
|
|
116
|
+
export interface WireframeLayoutRegion {
|
|
117
|
+
region: string;
|
|
118
|
+
order: number;
|
|
119
|
+
style?: string;
|
|
120
|
+
}
|
|
121
|
+
export interface WireframeComponent {
|
|
122
|
+
id: string;
|
|
123
|
+
type: string;
|
|
124
|
+
region: string;
|
|
125
|
+
position: {
|
|
126
|
+
x: number;
|
|
127
|
+
y: number;
|
|
128
|
+
};
|
|
129
|
+
size: {
|
|
130
|
+
width: number;
|
|
131
|
+
height: number;
|
|
132
|
+
};
|
|
133
|
+
properties?: Record<string, any>;
|
|
134
|
+
}
|
|
135
|
+
export interface WireframeFlow {
|
|
136
|
+
id: string;
|
|
137
|
+
name: string;
|
|
138
|
+
description?: string;
|
|
139
|
+
steps: WireframeFlowStep[];
|
|
140
|
+
}
|
|
141
|
+
export interface WireframeFlowStep {
|
|
142
|
+
id: string;
|
|
143
|
+
from_page: string;
|
|
144
|
+
to_page: string;
|
|
145
|
+
trigger: string;
|
|
146
|
+
description?: string;
|
|
147
|
+
}
|
|
148
|
+
export interface WireframeAnnotation {
|
|
149
|
+
id: string;
|
|
150
|
+
page_id?: string;
|
|
151
|
+
note: string;
|
|
152
|
+
category?: string;
|
|
153
|
+
}
|
|
154
|
+
export interface HiFiArtifact {
|
|
155
|
+
id: string;
|
|
156
|
+
schema: string;
|
|
157
|
+
agent: AgentContext;
|
|
158
|
+
body: {
|
|
159
|
+
color_palette: ColorPalette;
|
|
160
|
+
typography: TypographySpec;
|
|
161
|
+
spacing: SpacingSpec;
|
|
162
|
+
component_library: ComponentLibrary;
|
|
163
|
+
breakpoints: Breakpoint[];
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
export interface ColorPalette {
|
|
167
|
+
primary: ColorGroup;
|
|
168
|
+
secondary: ColorGroup;
|
|
169
|
+
accent: ColorGroup;
|
|
170
|
+
neutral: ColorGroup;
|
|
171
|
+
semantic: SemanticColors;
|
|
172
|
+
surfaces: SurfaceColors;
|
|
173
|
+
}
|
|
174
|
+
export interface ColorGroup {
|
|
175
|
+
base: string;
|
|
176
|
+
hover?: string;
|
|
177
|
+
active?: string;
|
|
178
|
+
disabled?: string;
|
|
179
|
+
contrast?: string;
|
|
180
|
+
}
|
|
181
|
+
export interface SemanticColors {
|
|
182
|
+
success: string;
|
|
183
|
+
warning: string;
|
|
184
|
+
error: string;
|
|
185
|
+
info: string;
|
|
186
|
+
}
|
|
187
|
+
export interface SurfaceColors {
|
|
188
|
+
background: string;
|
|
189
|
+
foreground: string;
|
|
190
|
+
card: string;
|
|
191
|
+
border: string;
|
|
192
|
+
muted: string;
|
|
193
|
+
}
|
|
194
|
+
export interface TypographySpec {
|
|
195
|
+
families: FontFamily[];
|
|
196
|
+
scale: TypeScale[];
|
|
197
|
+
}
|
|
198
|
+
export interface FontFamily {
|
|
199
|
+
name: string;
|
|
200
|
+
stack: string;
|
|
201
|
+
role: string;
|
|
202
|
+
}
|
|
203
|
+
export interface TypeScale {
|
|
204
|
+
name: string;
|
|
205
|
+
size: string;
|
|
206
|
+
weight: number;
|
|
207
|
+
line_height: number;
|
|
208
|
+
letter_spacing?: string;
|
|
209
|
+
role: string;
|
|
210
|
+
}
|
|
211
|
+
export interface SpacingSpec {
|
|
212
|
+
base_unit: number;
|
|
213
|
+
scale: number[];
|
|
214
|
+
}
|
|
215
|
+
export interface ComponentLibrary {
|
|
216
|
+
button: ComponentVariant[];
|
|
217
|
+
card: ComponentVariant[];
|
|
218
|
+
input: ComponentVariant[];
|
|
219
|
+
navigation: ComponentVariant[];
|
|
220
|
+
}
|
|
221
|
+
export interface ComponentVariant {
|
|
222
|
+
name: string;
|
|
223
|
+
description?: string;
|
|
224
|
+
properties?: Record<string, any>;
|
|
225
|
+
states?: ComponentState[];
|
|
226
|
+
}
|
|
227
|
+
export interface ComponentState {
|
|
228
|
+
name: string;
|
|
229
|
+
properties: Record<string, any>;
|
|
230
|
+
}
|
|
231
|
+
export interface Breakpoint {
|
|
232
|
+
name: string;
|
|
233
|
+
min_width: number;
|
|
234
|
+
columns: number;
|
|
235
|
+
rules?: string[];
|
|
236
|
+
}
|
|
237
|
+
export interface Tasks {
|
|
238
|
+
workflow: string;
|
|
239
|
+
agent: AgentContext;
|
|
240
|
+
tasks: Task[];
|
|
241
|
+
}
|
|
242
|
+
export interface Task {
|
|
243
|
+
id: string;
|
|
244
|
+
group: string;
|
|
245
|
+
description: string;
|
|
246
|
+
depends_on: string[];
|
|
247
|
+
complexity: 'low' | 'medium' | 'high';
|
|
248
|
+
estimated_minutes: number;
|
|
249
|
+
spec_refs: string[];
|
|
250
|
+
affected_files: string[];
|
|
251
|
+
acceptance: string[];
|
|
252
|
+
status: TaskStatus;
|
|
253
|
+
tdd_phase?: 'red' | 'green' | 'refactor';
|
|
254
|
+
}
|
|
255
|
+
export interface Meta {
|
|
256
|
+
id: string;
|
|
257
|
+
schema: string;
|
|
258
|
+
created: string;
|
|
259
|
+
status: ChangeStatus;
|
|
260
|
+
progress: {
|
|
261
|
+
total_tasks: number;
|
|
262
|
+
completed_tasks: number;
|
|
263
|
+
percentage: number;
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
export interface AgentContext {
|
|
267
|
+
priority?: 'low' | 'medium' | 'high';
|
|
268
|
+
context_files?: string[];
|
|
269
|
+
affected_paths?: string[];
|
|
270
|
+
hints?: string[];
|
|
271
|
+
related_specs?: string[];
|
|
272
|
+
critical_path?: string[];
|
|
273
|
+
total_estimated_minutes?: number;
|
|
274
|
+
}
|
|
275
|
+
export interface ChangeInfo {
|
|
276
|
+
name: string;
|
|
277
|
+
schema: string;
|
|
278
|
+
status: ChangeStatus;
|
|
279
|
+
created: string;
|
|
280
|
+
progress: number;
|
|
281
|
+
artifacts: {
|
|
282
|
+
[key in ArtifactId]?: boolean;
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
export interface ValidationResult {
|
|
286
|
+
valid: boolean;
|
|
287
|
+
errors: string[];
|
|
288
|
+
warnings: string[];
|
|
289
|
+
}
|
|
290
|
+
export interface IntegrityResult {
|
|
291
|
+
valid: boolean;
|
|
292
|
+
mismatches: {
|
|
293
|
+
path: string;
|
|
294
|
+
expected: string;
|
|
295
|
+
actual: string;
|
|
296
|
+
}[];
|
|
297
|
+
missing: string[];
|
|
298
|
+
}
|
|
299
|
+
export interface VerificationReport {
|
|
300
|
+
dimensions: {
|
|
301
|
+
integrity: {
|
|
302
|
+
valid: boolean;
|
|
303
|
+
issues: string[];
|
|
304
|
+
};
|
|
305
|
+
compliance: {
|
|
306
|
+
coverage: number;
|
|
307
|
+
uncovered: string[];
|
|
308
|
+
mapped: string[];
|
|
309
|
+
};
|
|
310
|
+
tasks: {
|
|
311
|
+
total: number;
|
|
312
|
+
done: number;
|
|
313
|
+
verified: number;
|
|
314
|
+
orphans: string[];
|
|
315
|
+
};
|
|
316
|
+
coherence: {
|
|
317
|
+
followed: number;
|
|
318
|
+
contradicted: string[];
|
|
319
|
+
};
|
|
320
|
+
regression: {
|
|
321
|
+
safe: boolean;
|
|
322
|
+
risks: string[];
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
summary: {
|
|
326
|
+
score: number;
|
|
327
|
+
critical: number;
|
|
328
|
+
warnings: number;
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
export type CompletedSet = Set<ArtifactId>;
|
|
332
|
+
export interface ArtifactGraph {
|
|
333
|
+
nodes: ArtifactId[];
|
|
334
|
+
edges: Map<ArtifactId, ArtifactId[]>;
|
|
335
|
+
reverseEdges: Map<ArtifactId, ArtifactId[]>;
|
|
336
|
+
}
|
|
337
|
+
export interface ProjectConfig {
|
|
338
|
+
schema: string;
|
|
339
|
+
context?: string;
|
|
340
|
+
rules?: {
|
|
341
|
+
[artifactId: string]: string[];
|
|
342
|
+
};
|
|
343
|
+
auto_commit?: boolean;
|
|
344
|
+
}
|
|
345
|
+
export interface Registry {
|
|
346
|
+
changes: ChangeInfo[];
|
|
347
|
+
last_updated: string;
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/engine/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugin/engine/types.ts"],"names":[],"mappings":"AAAA,mCAAmC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ValidationResult } from './types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Validates a proposal artifact.
|
|
4
|
+
* @param data - The proposal data to validate
|
|
5
|
+
* @returns Validation result with errors and warnings
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateProposal(data: any): ValidationResult;
|
|
8
|
+
/**
|
|
9
|
+
* Validates a delta spec artifact.
|
|
10
|
+
* @param data - The delta spec data to validate
|
|
11
|
+
* @returns Validation result with errors and warnings
|
|
12
|
+
*/
|
|
13
|
+
export declare function validateDeltaSpec(data: any): ValidationResult;
|
|
14
|
+
/**
|
|
15
|
+
* Validates a specs artifact (a directory of delta spec YAML files).
|
|
16
|
+
* Accepts a Record mapping filenames to their parsed YAML content, validates
|
|
17
|
+
* each entry using validateDeltaSpec, and aggregates results with filename prefixes.
|
|
18
|
+
* @param specs - Record of filename → parsed YAML data for each spec file
|
|
19
|
+
* @returns Validation result with aggregated errors and warnings
|
|
20
|
+
*/
|
|
21
|
+
export declare function validateSpecs(specs: Record<string, any>): ValidationResult;
|
|
22
|
+
/**
|
|
23
|
+
* Validates a design-tech artifact.
|
|
24
|
+
* @param data - The design-tech data to validate
|
|
25
|
+
* @returns Validation result with errors and warnings
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateDesignTech(data: any): ValidationResult;
|
|
28
|
+
/**
|
|
29
|
+
* Validates a tasks artifact.
|
|
30
|
+
* @param data - The tasks data to validate
|
|
31
|
+
* @returns Validation result with errors and warnings
|
|
32
|
+
*/
|
|
33
|
+
export declare function validateTasks(data: any): ValidationResult;
|
|
34
|
+
/**
|
|
35
|
+
* Validates a meta artifact.
|
|
36
|
+
* @param data - The meta data to validate
|
|
37
|
+
* @returns Validation result with errors and warnings
|
|
38
|
+
*/
|
|
39
|
+
export declare function validateMeta(data: any): ValidationResult;
|
|
40
|
+
/**
|
|
41
|
+
* Validates a wireframe design artifact.
|
|
42
|
+
* @param data - The wireframe data to validate
|
|
43
|
+
* @returns Validation result with errors and warnings
|
|
44
|
+
*/
|
|
45
|
+
export declare function validateDesignWireframe(data: any): ValidationResult;
|
|
46
|
+
/**
|
|
47
|
+
* Validates a high-fidelity design artifact.
|
|
48
|
+
* @param data - The hi-fi design data to validate
|
|
49
|
+
* @returns Validation result with errors and warnings
|
|
50
|
+
*/
|
|
51
|
+
export declare function validateDesignHiFi(data: any): ValidationResult;
|
|
52
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/plugin/engine/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAoD5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAkD7D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAqB1E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAmD9D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CA6DzD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAuCxD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CA0EnE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAgH9D"}
|