tryassay 0.20.2 → 0.21.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.
@@ -0,0 +1,160 @@
1
+ // ============================================================
2
+ // Plan Refiner — Requirements refinement + plan validation
3
+ // Generates human-readable summaries, validates architecture plans,
4
+ // and applies modifications before code generation begins.
5
+ // ============================================================
6
+ export class PlanRefiner {
7
+ description;
8
+ constructor(description) {
9
+ this.description = description;
10
+ }
11
+ /** Generate a human-readable summary of the architecture plan. */
12
+ generateSummary(plan) {
13
+ const warnings = [];
14
+ // Check for features with empty descriptions
15
+ for (const feature of plan.features) {
16
+ if (!feature.name || feature.name.trim().length === 0) {
17
+ warnings.push(`Feature "${feature.id}" has no name`);
18
+ }
19
+ }
20
+ // Check for orphaned schema entities (not referenced by any feature)
21
+ for (const entity of plan.schema) {
22
+ const referenced = plan.features.some(f => f.schemaEntities.includes(entity.name));
23
+ if (!referenced) {
24
+ warnings.push(`Schema entity "${entity.name}" is not referenced by any feature`);
25
+ }
26
+ }
27
+ // Check for features with no routes and no pages
28
+ for (const feature of plan.features) {
29
+ const hasRoutes = plan.apiRoutes.some(r => r.featureId === feature.id);
30
+ const hasPages = plan.pages.some(p => p.featureId === feature.id);
31
+ const hasIpc = (plan.ipcChannels ?? []).some(ch => ch.featureId === feature.id);
32
+ if (!hasRoutes && !hasPages && !hasIpc) {
33
+ warnings.push(`Feature "${feature.name}" has no routes, pages, or IPC channels`);
34
+ }
35
+ }
36
+ // Check feature count heuristic
37
+ if (plan.features.length > 8) {
38
+ warnings.push(`High feature count (${plan.features.length}) — consider consolidating related features`);
39
+ }
40
+ if (plan.features.length === 0) {
41
+ warnings.push('Plan has no features');
42
+ }
43
+ const features = plan.features.map(f => ({
44
+ id: f.id,
45
+ name: f.name,
46
+ complexity: f.complexityEstimate,
47
+ dependsOn: f.dependsOn,
48
+ routeCount: plan.apiRoutes.filter(r => r.featureId === f.id).length
49
+ + (plan.ipcChannels ?? []).filter(ch => ch.featureId === f.id).length,
50
+ pageCount: plan.pages.filter(p => p.featureId === f.id).length,
51
+ }));
52
+ const totalRoutes = plan.apiRoutes.length + (plan.ipcChannels ?? []).length;
53
+ const totalPages = plan.pages.length;
54
+ const complexity = plan.features.length <= 2 && totalRoutes <= 5 ? 'small'
55
+ : plan.features.length <= 5 && totalRoutes <= 15 ? 'medium'
56
+ : 'large';
57
+ return {
58
+ appName: this.description.name,
59
+ description: this.description.description,
60
+ techStack: `${this.description.techStack.framework} + ${this.description.techStack.database}`,
61
+ featureCount: plan.features.length,
62
+ features,
63
+ schemaEntities: plan.schema.length,
64
+ apiRouteCount: totalRoutes,
65
+ pageCount: totalPages,
66
+ estimatedComplexity: complexity,
67
+ warnings,
68
+ };
69
+ }
70
+ /** Validate plan against heuristics. Returns warnings that should block auto-approval. */
71
+ validatePlan(plan) {
72
+ const warnings = [];
73
+ // Every feature must have at least one route, page, or IPC channel
74
+ for (const feature of plan.features) {
75
+ const hasRoutes = plan.apiRoutes.some(r => r.featureId === feature.id);
76
+ const hasPages = plan.pages.some(p => p.featureId === feature.id);
77
+ const hasIpc = (plan.ipcChannels ?? []).some(ch => ch.featureId === feature.id);
78
+ if (!hasRoutes && !hasPages && !hasIpc) {
79
+ warnings.push(`Feature "${feature.name}" has no routes, pages, or IPC channels — may produce no output`);
80
+ }
81
+ }
82
+ // No orphaned schema entities
83
+ for (const entity of plan.schema) {
84
+ const referenced = plan.features.some(f => f.schemaEntities.includes(entity.name));
85
+ if (!referenced) {
86
+ warnings.push(`Schema entity "${entity.name}" is orphaned — no feature references it`);
87
+ }
88
+ }
89
+ // Feature count within reasonable range
90
+ if (plan.features.length > 10) {
91
+ warnings.push(`Too many features (${plan.features.length}) — consider consolidating`);
92
+ }
93
+ // Feature descriptions non-empty
94
+ for (const feature of plan.features) {
95
+ if (!feature.name || feature.name.trim().length === 0) {
96
+ warnings.push(`Feature "${feature.id}" has empty name`);
97
+ }
98
+ }
99
+ // All dependency order entries refer to existing features
100
+ for (const id of plan.dependencyOrder) {
101
+ if (!plan.features.find(f => f.id === id)) {
102
+ warnings.push(`Dependency order references unknown feature "${id}"`);
103
+ }
104
+ }
105
+ return {
106
+ valid: warnings.length === 0,
107
+ warnings,
108
+ };
109
+ }
110
+ /** Apply modifications to a plan (e.g., remove features). Returns a new plan object. */
111
+ applyModifications(plan, modifications) {
112
+ // Work with mutable copies
113
+ let features = [...plan.features];
114
+ let apiRoutes = [...plan.apiRoutes];
115
+ let pages = [...plan.pages];
116
+ let ipcChannels = plan.ipcChannels ? [...plan.ipcChannels] : undefined;
117
+ let dependencyOrder = [...plan.dependencyOrder];
118
+ let schema = [...plan.schema];
119
+ for (const mod of modifications) {
120
+ if (mod.type === 'remove_feature') {
121
+ const featureId = mod.featureId;
122
+ // Remove the feature itself
123
+ features = features.filter(f => f.id !== featureId);
124
+ // Remove associated routes, pages, IPC channels
125
+ apiRoutes = apiRoutes.filter(r => r.featureId !== featureId);
126
+ pages = pages.filter(p => p.featureId !== featureId);
127
+ if (ipcChannels) {
128
+ ipcChannels = ipcChannels.filter(ch => ch.featureId !== featureId);
129
+ }
130
+ // Remove from dependency order
131
+ dependencyOrder = dependencyOrder.filter(id => id !== featureId);
132
+ // Clean up dependsOn references in remaining features
133
+ features = features.map(f => {
134
+ if (f.dependsOn.includes(featureId)) {
135
+ return {
136
+ ...f,
137
+ dependsOn: f.dependsOn.filter(dep => dep !== featureId),
138
+ };
139
+ }
140
+ return f;
141
+ });
142
+ // Remove orphaned schema entities (only if no remaining feature references them)
143
+ schema = schema.filter(entity => {
144
+ return features.some(f => f.schemaEntities.includes(entity.name));
145
+ });
146
+ }
147
+ // add_feature and modify_feature can be implemented later
148
+ }
149
+ return {
150
+ ...plan,
151
+ features,
152
+ apiRoutes,
153
+ pages,
154
+ ipcChannels,
155
+ dependencyOrder,
156
+ schema,
157
+ };
158
+ }
159
+ }
160
+ //# sourceMappingURL=plan-refiner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-refiner.js","sourceRoot":"","sources":["../../src/runtime/plan-refiner.ts"],"names":[],"mappings":"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"}
@@ -240,6 +240,10 @@ export class ExperienceStore {
240
240
  return [];
241
241
  const contextLower = context.toLowerCase();
242
242
  const keywords = contextLower.split(/\s+/).filter(w => w.length > 2);
243
+ // If no keywords, return most recent experiences
244
+ if (keywords.length === 0) {
245
+ return all.slice(-limit);
246
+ }
243
247
  // Score each experience by keyword overlap across searchable fields
244
248
  const scored = all.map(exp => {
245
249
  const searchable = [
@@ -1 +1 @@
1
- {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../../src/runtime/reflector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../../src/runtime/reflector.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,qDAAqD;AACrD,6DAA6D;AAC7D,gEAAgE;AAChE,+DAA+D;AAE/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,iEAAiE;AAEjE,MAAM,OAAO,SAAS;IACpB;;;;OAIG;IACH,OAAO,CACL,WAAwB,EACxB,QAAkB,EAClB,IAAgB,EAChB,YAA8B,EAC9B,SAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnE,OAAO;YACL,EAAE,EAAE,UAAU,EAAE;YAChB,WAAW;YACX,QAAQ;YACR,IAAI;YACJ,YAAY;YACZ,SAAS;YACT,OAAO;YACP,KAAK;YACL,OAAO;YACP,MAAM;YACN,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,gBAAgB,CACtB,IAAgB,EAChB,SAAwB;QAExB,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,SAAS,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;QACjD,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE;gBAAE,SAAS;YAElB,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YAEtC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtC,eAAe,EAAE,CAAC;gBAClB,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5B,aAAa,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,4CAA4C;YAC5C,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxC,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,wDAAwD;YACxD,OAAO,wBAAwB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,GAAG,eAAe,CAAC;QAE9C,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAgB,EAAE,SAAwB;QAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CACR,GAAG,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,cAAc,OAAO,IAAI,CAAC,UAAU,yBAAyB,CAC7F,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;QACjD,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,oBAAoB,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CACR,SAAS,IAAI,CAAC,WAAW,aAAa,EAAE,CAAC,KAAK,IAAI,eAAe,EAAE,CACpE,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,eAAe,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,2DAA2D,CAAC;QACrE,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,IAAgB,EAChB,YAA8B,EAC9B,SAAwB,EACxB,OAA0B;QAE1B,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,oCAAoC;QACpC,IAAI,YAAY,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CACV,uBAAuB,YAAY,CAAC,YAAY,mCAAmC,CACpF,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,+DAA+D,CACnG,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,IAAI,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CACV,GAAG,YAAY,CAAC,cAAc,CAAC,MAAM,8BAA8B,CACpE,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CACjD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAC9B,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;gBACtD,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,MAAM,CAAC;gBAC5C,OAAO,CAAC,IAAI,CACV,SAAS,IAAI,4BAA4B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CACV,mCAAmC,SAAS,CAAC,eAAe,IAAI,CACjE,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,+BAA+B,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,UAAU,kBAAkB,CAClG,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,WAAwB,EAAE,QAAkB;QAC9D,sDAAsD;QACtD,0DAA0D;QAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAEnD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,UAAU,CAAC;QACpF,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC9E,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QACnF,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9E,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,UAAU,CAAC;QACrH,IAAI,MAAM,KAAK,YAAY;YAAE,OAAO,YAAY,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,WAAW,CAAC;QAE9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,WAAwB,EACxB,QAAkB,EAClB,IAAgB,EAChB,OAA0B;QAE1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,IAAI,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QAE/B,0CAA0C;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aACvD,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;;YAC9D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAWD,gEAAgE;AAEhE;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IACT,QAAQ,CAAS;IAElC,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,UAAsB;QAC/B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QAC/C,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAC1B,OAAe,EACf,QAAgB,CAAC;QAEjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErE,iDAAiD;QACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,oEAAoE;QACpE,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,UAAU,GAAG;gBACjB,GAAG,CAAC,MAAM;gBACV,GAAG,CAAC,KAAK;gBACT,GAAG,GAAG,CAAC,OAAO;gBACd,GAAG,GAAG,CAAC,IAAI;gBACX,GAAG,CAAC,QAAQ,CAAC,SAAS;gBACtB,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;gBACvD,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;aAC1C;iBACE,IAAI,CAAC,GAAG,CAAC;iBACT,WAAW,EAAE,CAAC;YAEjB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;aACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAmB,EAAE,CAAC;QAEpC,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;YACjC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YAC1E,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,iFAAiF;YACjF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBACxC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;gBAC1C,CAAC,CAAC,YAAY,CAAC,YAAY,KAAK,CAAC,CACvC,CAAC,MAAM,CAAC;YACT,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,+DAA+D;YAC/D,MAAM,cAAc,GAAG,WAAW;iBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC;iBACpC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAE1D,gEAAgE;YAChE,MAAM,cAAc,GAAG,WAAW;iBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,iBAAiB,CAAC;iBACvE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,kBAAkB,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAE9D,mCAAmC;YACnC,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACjD,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,gBAAgB,EAAE,KAAK;gBACvB,WAAW;gBACX,aAAa;gBACb,cAAc;gBACd,kBAAkB;gBAClB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF;AAED,gEAAgE;AAEhE,SAAS,wBAAwB,CAAC,MAAuB;IACvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAAe,EAAE,KAAa;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -1357,6 +1357,11 @@ export type AppCreatePhase = {
1357
1357
  readonly phase: 'planning';
1358
1358
  } | {
1359
1359
  readonly phase: 'verifying_plan';
1360
+ } | {
1361
+ readonly phase: 'requirements_refining';
1362
+ } | {
1363
+ readonly phase: 'awaiting_approval';
1364
+ readonly planSummary: PlanSummary;
1360
1365
  } | {
1361
1366
  readonly phase: 'scaffolding';
1362
1367
  } | {
@@ -1380,6 +1385,15 @@ export type AppCreatePhase = {
1380
1385
  readonly errorCount: number;
1381
1386
  } | {
1382
1387
  readonly phase: 'integration_verifying';
1388
+ } | {
1389
+ readonly phase: 'functional_testing';
1390
+ readonly attempt: number;
1391
+ readonly maxAttempts: number;
1392
+ } | {
1393
+ readonly phase: 'functional_repairing';
1394
+ readonly attempt: number;
1395
+ readonly maxAttempts: number;
1396
+ readonly failureCount: number;
1383
1397
  } | {
1384
1398
  readonly phase: 'cross_verifying';
1385
1399
  } | {
@@ -1406,6 +1420,7 @@ export interface AppCreateResult {
1406
1420
  readonly buildVerification: BuildVerificationResult | null;
1407
1421
  readonly integrationVerification: IntegrationVerificationResult | null;
1408
1422
  readonly crossVerification: CrossFeatureVerification | null;
1423
+ readonly functionalTestResult: FunctionalTestResult | null;
1409
1424
  readonly totalDurationMs: number;
1410
1425
  readonly auditTrail: readonly AuditEntry[];
1411
1426
  }
@@ -1495,6 +1510,77 @@ export interface AppCreateOptions {
1495
1510
  readonly fullVerification?: boolean;
1496
1511
  readonly maxBuildRepairAttempts?: number;
1497
1512
  readonly skipBuildVerification?: boolean;
1513
+ readonly autoApprove?: boolean;
1514
+ readonly skipFunctionalTesting?: boolean;
1515
+ }
1516
+ export interface PlanSummary {
1517
+ readonly appName: string;
1518
+ readonly description: string;
1519
+ readonly techStack: string;
1520
+ readonly featureCount: number;
1521
+ readonly features: readonly PlanSummaryFeature[];
1522
+ readonly schemaEntities: number;
1523
+ readonly apiRouteCount: number;
1524
+ readonly pageCount: number;
1525
+ readonly estimatedComplexity: 'small' | 'medium' | 'large';
1526
+ readonly warnings: readonly string[];
1527
+ }
1528
+ export interface PlanSummaryFeature {
1529
+ readonly id: string;
1530
+ readonly name: string;
1531
+ readonly complexity: string;
1532
+ readonly dependsOn: readonly string[];
1533
+ readonly routeCount: number;
1534
+ readonly pageCount: number;
1535
+ }
1536
+ export type PlanApprovalResult = {
1537
+ readonly decision: 'approved';
1538
+ } | {
1539
+ readonly decision: 'approved_with_modifications';
1540
+ readonly modifications: readonly PlanModification[];
1541
+ } | {
1542
+ readonly decision: 'rejected';
1543
+ readonly reason: string;
1544
+ };
1545
+ export interface PlanModification {
1546
+ readonly type: 'remove_feature' | 'add_feature' | 'modify_feature';
1547
+ readonly featureId: string;
1548
+ readonly details?: string;
1549
+ }
1550
+ export interface FunctionalTest {
1551
+ readonly id: string;
1552
+ readonly type: 'api_route' | 'page_load' | 'auth_flow';
1553
+ readonly name: string;
1554
+ readonly method?: string;
1555
+ readonly path: string;
1556
+ readonly body?: unknown;
1557
+ readonly expectedStatusRange: [number, number];
1558
+ readonly errorPatterns: readonly string[];
1559
+ readonly featureId?: string;
1560
+ }
1561
+ export interface FunctionalTestExecution {
1562
+ readonly test: FunctionalTest;
1563
+ readonly status: 'pass' | 'fail' | 'error' | 'timeout';
1564
+ readonly statusCode: number | null;
1565
+ readonly responseBody: string;
1566
+ readonly errorMatch?: string;
1567
+ readonly durationMs: number;
1568
+ }
1569
+ export interface FunctionalTestRepairAttempt {
1570
+ readonly attempt: number;
1571
+ readonly failures: readonly FunctionalTestExecution[];
1572
+ readonly filesModified: readonly string[];
1573
+ readonly repairSucceeded: boolean;
1574
+ readonly durationMs: number;
1575
+ }
1576
+ export interface FunctionalTestResult {
1577
+ readonly status: 'pass' | 'fail' | 'repaired' | 'skipped';
1578
+ readonly tests: readonly FunctionalTestExecution[];
1579
+ readonly passedCount: number;
1580
+ readonly failedCount: number;
1581
+ readonly repairAttempts: readonly FunctionalTestRepairAttempt[];
1582
+ readonly serverPort: number | null;
1583
+ readonly totalDurationMs: number;
1498
1584
  }
1499
1585
  export type CheckStrategyType = 'pattern_presence' | 'pattern_absence' | 'cross_reference' | 'import_reachability' | 'response_shape' | 'conditional_presence' | 'file_reference' | 'ordering';
1500
1586
  export interface PatternPresenceStrategy {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tryassay",
3
- "version": "0.20.2",
3
+ "version": "0.21.0",
4
4
  "description": "AI code verification CLI — find bugs that tests miss, linters ignore, and code review overlooks",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",