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.
Files changed (170) hide show
  1. package/README.md +229 -0
  2. package/config/default-opencode.json +21 -0
  3. package/dist/init.d.ts +3 -0
  4. package/dist/init.d.ts.map +1 -0
  5. package/dist/init.js +406 -0
  6. package/dist/init.js.map +1 -0
  7. package/dist/plugin/engine/artifact-graph.d.ts +38 -0
  8. package/dist/plugin/engine/artifact-graph.d.ts.map +1 -0
  9. package/dist/plugin/engine/artifact-graph.js +137 -0
  10. package/dist/plugin/engine/artifact-graph.js.map +1 -0
  11. package/dist/plugin/engine/config.d.ts +21 -0
  12. package/dist/plugin/engine/config.d.ts.map +1 -0
  13. package/dist/plugin/engine/config.js +146 -0
  14. package/dist/plugin/engine/config.js.map +1 -0
  15. package/dist/plugin/engine/delta-apply.d.ts +23 -0
  16. package/dist/plugin/engine/delta-apply.d.ts.map +1 -0
  17. package/dist/plugin/engine/delta-apply.js +153 -0
  18. package/dist/plugin/engine/delta-apply.js.map +1 -0
  19. package/dist/plugin/engine/git.d.ts +32 -0
  20. package/dist/plugin/engine/git.d.ts.map +1 -0
  21. package/dist/plugin/engine/git.js +61 -0
  22. package/dist/plugin/engine/git.js.map +1 -0
  23. package/dist/plugin/engine/integrity.d.ts +45 -0
  24. package/dist/plugin/engine/integrity.d.ts.map +1 -0
  25. package/dist/plugin/engine/integrity.js +98 -0
  26. package/dist/plugin/engine/integrity.js.map +1 -0
  27. package/dist/plugin/engine/registry.d.ts +39 -0
  28. package/dist/plugin/engine/registry.d.ts.map +1 -0
  29. package/dist/plugin/engine/registry.js +191 -0
  30. package/dist/plugin/engine/registry.js.map +1 -0
  31. package/dist/plugin/engine/state.d.ts +31 -0
  32. package/dist/plugin/engine/state.d.ts.map +1 -0
  33. package/dist/plugin/engine/state.js +116 -0
  34. package/dist/plugin/engine/state.js.map +1 -0
  35. package/dist/plugin/engine/task-tracker.d.ts +66 -0
  36. package/dist/plugin/engine/task-tracker.d.ts.map +1 -0
  37. package/dist/plugin/engine/task-tracker.js +124 -0
  38. package/dist/plugin/engine/task-tracker.js.map +1 -0
  39. package/dist/plugin/engine/types.d.ts +349 -0
  40. package/dist/plugin/engine/types.d.ts.map +1 -0
  41. package/dist/plugin/engine/types.js +3 -0
  42. package/dist/plugin/engine/types.js.map +1 -0
  43. package/dist/plugin/engine/validator.d.ts +52 -0
  44. package/dist/plugin/engine/validator.d.ts.map +1 -0
  45. package/dist/plugin/engine/validator.js +457 -0
  46. package/dist/plugin/engine/validator.js.map +1 -0
  47. package/dist/plugin/engine/verifier.d.ts +61 -0
  48. package/dist/plugin/engine/verifier.d.ts.map +1 -0
  49. package/dist/plugin/engine/verifier.js +441 -0
  50. package/dist/plugin/engine/verifier.js.map +1 -0
  51. package/dist/plugin/hooks/context-injection.d.ts +11 -0
  52. package/dist/plugin/hooks/context-injection.d.ts.map +1 -0
  53. package/dist/plugin/hooks/context-injection.js +88 -0
  54. package/dist/plugin/hooks/context-injection.js.map +1 -0
  55. package/dist/plugin/hooks/event-handlers.d.ts +9 -0
  56. package/dist/plugin/hooks/event-handlers.d.ts.map +1 -0
  57. package/dist/plugin/hooks/event-handlers.js +10 -0
  58. package/dist/plugin/hooks/event-handlers.js.map +1 -0
  59. package/dist/plugin/hooks/workflow-gate.d.ts +24 -0
  60. package/dist/plugin/hooks/workflow-gate.d.ts.map +1 -0
  61. package/dist/plugin/hooks/workflow-gate.js +78 -0
  62. package/dist/plugin/hooks/workflow-gate.js.map +1 -0
  63. package/dist/plugin/index.d.ts +423 -0
  64. package/dist/plugin/index.d.ts.map +1 -0
  65. package/dist/plugin/index.js +253 -0
  66. package/dist/plugin/index.js.map +1 -0
  67. package/dist/plugin/tools/spec-artifact-instr.d.ts +7 -0
  68. package/dist/plugin/tools/spec-artifact-instr.d.ts.map +1 -0
  69. package/dist/plugin/tools/spec-artifact-instr.js +73 -0
  70. package/dist/plugin/tools/spec-artifact-instr.js.map +1 -0
  71. package/dist/plugin/tools/spec-change-archive.d.ts +6 -0
  72. package/dist/plugin/tools/spec-change-archive.d.ts.map +1 -0
  73. package/dist/plugin/tools/spec-change-archive.js +62 -0
  74. package/dist/plugin/tools/spec-change-archive.js.map +1 -0
  75. package/dist/plugin/tools/spec-change-list.d.ts +3 -0
  76. package/dist/plugin/tools/spec-change-list.d.ts.map +1 -0
  77. package/dist/plugin/tools/spec-change-list.js +38 -0
  78. package/dist/plugin/tools/spec-change-list.js.map +1 -0
  79. package/dist/plugin/tools/spec-change-new.d.ts +7 -0
  80. package/dist/plugin/tools/spec-change-new.d.ts.map +1 -0
  81. package/dist/plugin/tools/spec-change-new.js +47 -0
  82. package/dist/plugin/tools/spec-change-new.js.map +1 -0
  83. package/dist/plugin/tools/spec-change-status.d.ts +6 -0
  84. package/dist/plugin/tools/spec-change-status.d.ts.map +1 -0
  85. package/dist/plugin/tools/spec-change-status.js +43 -0
  86. package/dist/plugin/tools/spec-change-status.js.map +1 -0
  87. package/dist/plugin/tools/spec-design-critique.d.ts +20 -0
  88. package/dist/plugin/tools/spec-design-critique.d.ts.map +1 -0
  89. package/dist/plugin/tools/spec-design-critique.js +412 -0
  90. package/dist/plugin/tools/spec-design-critique.js.map +1 -0
  91. package/dist/plugin/tools/spec-design-hifi.d.ts +119 -0
  92. package/dist/plugin/tools/spec-design-hifi.d.ts.map +1 -0
  93. package/dist/plugin/tools/spec-design-hifi.js +653 -0
  94. package/dist/plugin/tools/spec-design-hifi.js.map +1 -0
  95. package/dist/plugin/tools/spec-design-wireframe.d.ts +91 -0
  96. package/dist/plugin/tools/spec-design-wireframe.d.ts.map +1 -0
  97. package/dist/plugin/tools/spec-design-wireframe.js +357 -0
  98. package/dist/plugin/tools/spec-design-wireframe.js.map +1 -0
  99. package/dist/plugin/tools/spec-init.d.ts +9 -0
  100. package/dist/plugin/tools/spec-init.d.ts.map +1 -0
  101. package/dist/plugin/tools/spec-init.js +58 -0
  102. package/dist/plugin/tools/spec-init.js.map +1 -0
  103. package/dist/plugin/tools/spec-integrity-check.d.ts +6 -0
  104. package/dist/plugin/tools/spec-integrity-check.d.ts.map +1 -0
  105. package/dist/plugin/tools/spec-integrity-check.js +19 -0
  106. package/dist/plugin/tools/spec-integrity-check.js.map +1 -0
  107. package/dist/plugin/tools/spec-registry-update.d.ts +3 -0
  108. package/dist/plugin/tools/spec-registry-update.d.ts.map +1 -0
  109. package/dist/plugin/tools/spec-registry-update.js +34 -0
  110. package/dist/plugin/tools/spec-registry-update.js.map +1 -0
  111. package/dist/plugin/tools/spec-schema-list.d.ts +3 -0
  112. package/dist/plugin/tools/spec-schema-list.d.ts.map +1 -0
  113. package/dist/plugin/tools/spec-schema-list.js +28 -0
  114. package/dist/plugin/tools/spec-schema-list.js.map +1 -0
  115. package/dist/plugin/tools/spec-specs-apply.d.ts +7 -0
  116. package/dist/plugin/tools/spec-specs-apply.d.ts.map +1 -0
  117. package/dist/plugin/tools/spec-specs-apply.js +49 -0
  118. package/dist/plugin/tools/spec-specs-apply.js.map +1 -0
  119. package/dist/plugin/tools/spec-task-progress.d.ts +8 -0
  120. package/dist/plugin/tools/spec-task-progress.d.ts.map +1 -0
  121. package/dist/plugin/tools/spec-task-progress.js +96 -0
  122. package/dist/plugin/tools/spec-task-progress.js.map +1 -0
  123. package/dist/plugin/tools/spec-validate.d.ts +21 -0
  124. package/dist/plugin/tools/spec-validate.d.ts.map +1 -0
  125. package/dist/plugin/tools/spec-validate.js +182 -0
  126. package/dist/plugin/tools/spec-validate.js.map +1 -0
  127. package/dist/plugin/tools/spec-verify.d.ts +7 -0
  128. package/dist/plugin/tools/spec-verify.d.ts.map +1 -0
  129. package/dist/plugin/tools/spec-verify.js +50 -0
  130. package/dist/plugin/tools/spec-verify.js.map +1 -0
  131. package/dist/plugin/tools/util.d.ts +25 -0
  132. package/dist/plugin/tools/util.d.ts.map +1 -0
  133. package/dist/plugin/tools/util.js +33 -0
  134. package/dist/plugin/tools/util.js.map +1 -0
  135. package/package.json +61 -0
  136. package/src/agents/orchestrator.md +158 -0
  137. package/src/agents/spec-apply.md +114 -0
  138. package/src/agents/spec-archive.md +103 -0
  139. package/src/agents/spec-propose.md +120 -0
  140. package/src/agents/spec-verify.md +103 -0
  141. package/src/commands/spec-init.md +6 -0
  142. package/src/commands/spec-onboard.md +6 -0
  143. package/src/commands/spec-status.md +6 -0
  144. package/src/commands/spec-sync.md +6 -0
  145. package/src/schemas/hybrid.yaml +144 -0
  146. package/src/schemas/spec-driven.yaml +155 -0
  147. package/src/schemas/tdd.yaml +203 -0
  148. package/src/skills/playwright-cli/SKILL.md +388 -0
  149. package/src/skills/playwright-cli/references/element-attributes.md +23 -0
  150. package/src/skills/playwright-cli/references/playwright-tests.md +39 -0
  151. package/src/skills/playwright-cli/references/request-mocking.md +87 -0
  152. package/src/skills/playwright-cli/references/running-code.md +241 -0
  153. package/src/skills/playwright-cli/references/session-management.md +225 -0
  154. package/src/skills/playwright-cli/references/spec-driven-testing.md +305 -0
  155. package/src/skills/playwright-cli/references/storage-state.md +275 -0
  156. package/src/skills/playwright-cli/references/test-generation.md +134 -0
  157. package/src/skills/playwright-cli/references/tracing.md +139 -0
  158. package/src/skills/playwright-cli/references/video-recording.md +143 -0
  159. package/src/skills/spec-init/SKILL.md +61 -0
  160. package/src/skills/spec-onboard/SKILL.md +178 -0
  161. package/src/skills/spec-status/SKILL.md +72 -0
  162. package/src/skills/spec-sync/SKILL.md +63 -0
  163. package/src/templates/config.yaml +14 -0
  164. package/src/templates/design-hifi.yaml +580 -0
  165. package/src/templates/design-tech.yaml +42 -0
  166. package/src/templates/design-wireframe.yaml +114 -0
  167. package/src/templates/proposal.yaml +43 -0
  168. package/src/templates/registry.yaml +3 -0
  169. package/src/templates/spec.yaml +56 -0
  170. 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,3 @@
1
+ // All types used across the engine
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -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"}