tryassay 0.20.3 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/server.d.ts +4 -0
- package/dist/api/server.js +247 -5
- package/dist/api/server.js.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/create.d.ts +2 -0
- package/dist/commands/create.js +74 -0
- package/dist/commands/create.js.map +1 -1
- package/dist/runtime/__tests__/check-loop.test.js +2 -2
- package/dist/runtime/__tests__/cross-verification-checks.test.d.ts +8 -0
- package/dist/runtime/__tests__/cross-verification-checks.test.js +365 -0
- package/dist/runtime/__tests__/cross-verification-checks.test.js.map +1 -0
- package/dist/runtime/agents/planner-agent.d.ts +18 -1
- package/dist/runtime/agents/planner-agent.js +162 -0
- package/dist/runtime/agents/planner-agent.js.map +1 -1
- package/dist/runtime/app-create-orchestrator.d.ts +46 -1
- package/dist/runtime/app-create-orchestrator.js +691 -7
- package/dist/runtime/app-create-orchestrator.js.map +1 -1
- package/dist/runtime/check-catalog.js +53 -0
- package/dist/runtime/check-catalog.js.map +1 -1
- package/dist/runtime/fs-helpers.d.ts +2 -0
- package/dist/runtime/fs-helpers.js +14 -0
- package/dist/runtime/fs-helpers.js.map +1 -1
- package/dist/runtime/functional-tester.d.ts +47 -0
- package/dist/runtime/functional-tester.js +775 -0
- package/dist/runtime/functional-tester.js.map +1 -0
- package/dist/runtime/plan-refiner.d.ts +14 -0
- package/dist/runtime/plan-refiner.js +160 -0
- package/dist/runtime/plan-refiner.js.map +1 -0
- package/dist/runtime/types.d.ts +126 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functional-tester.js","sourceRoot":"","sources":["../../src/runtime/functional-tester.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AppDescription, ArchitecturePlan, PlanSummary, PlanModification } from './types.js';
|
|
2
|
+
export declare class PlanRefiner {
|
|
3
|
+
private description;
|
|
4
|
+
constructor(description: AppDescription);
|
|
5
|
+
/** Generate a human-readable summary of the architecture plan. */
|
|
6
|
+
generateSummary(plan: ArchitecturePlan): PlanSummary;
|
|
7
|
+
/** Validate plan against heuristics. Returns warnings that should block auto-approval. */
|
|
8
|
+
validatePlan(plan: ArchitecturePlan): {
|
|
9
|
+
valid: boolean;
|
|
10
|
+
warnings: string[];
|
|
11
|
+
};
|
|
12
|
+
/** Apply modifications to a plan (e.g., remove features). Returns a new plan object. */
|
|
13
|
+
applyModifications(plan: ArchitecturePlan, modifications: readonly PlanModification[]): ArchitecturePlan;
|
|
14
|
+
}
|
|
@@ -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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"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -1357,6 +1357,19 @@ 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: 'plan_questioning';
|
|
1364
|
+
readonly questions: PlanQuestion[];
|
|
1365
|
+
readonly round: number;
|
|
1366
|
+
readonly confidence: number;
|
|
1367
|
+
} | {
|
|
1368
|
+
readonly phase: 'plan_refining';
|
|
1369
|
+
readonly round: number;
|
|
1370
|
+
} | {
|
|
1371
|
+
readonly phase: 'awaiting_approval';
|
|
1372
|
+
readonly planSummary: PlanSummary;
|
|
1360
1373
|
} | {
|
|
1361
1374
|
readonly phase: 'scaffolding';
|
|
1362
1375
|
} | {
|
|
@@ -1380,6 +1393,15 @@ export type AppCreatePhase = {
|
|
|
1380
1393
|
readonly errorCount: number;
|
|
1381
1394
|
} | {
|
|
1382
1395
|
readonly phase: 'integration_verifying';
|
|
1396
|
+
} | {
|
|
1397
|
+
readonly phase: 'functional_testing';
|
|
1398
|
+
readonly attempt: number;
|
|
1399
|
+
readonly maxAttempts: number;
|
|
1400
|
+
} | {
|
|
1401
|
+
readonly phase: 'functional_repairing';
|
|
1402
|
+
readonly attempt: number;
|
|
1403
|
+
readonly maxAttempts: number;
|
|
1404
|
+
readonly failureCount: number;
|
|
1383
1405
|
} | {
|
|
1384
1406
|
readonly phase: 'cross_verifying';
|
|
1385
1407
|
} | {
|
|
@@ -1406,6 +1428,7 @@ export interface AppCreateResult {
|
|
|
1406
1428
|
readonly buildVerification: BuildVerificationResult | null;
|
|
1407
1429
|
readonly integrationVerification: IntegrationVerificationResult | null;
|
|
1408
1430
|
readonly crossVerification: CrossFeatureVerification | null;
|
|
1431
|
+
readonly functionalTestResult: FunctionalTestResult | null;
|
|
1409
1432
|
readonly totalDurationMs: number;
|
|
1410
1433
|
readonly auditTrail: readonly AuditEntry[];
|
|
1411
1434
|
}
|
|
@@ -1429,7 +1452,7 @@ export interface CrossFeatureVerification {
|
|
|
1429
1452
|
readonly verdict: 'PASS' | 'FAIL' | 'PARTIAL';
|
|
1430
1453
|
}
|
|
1431
1454
|
export interface CrossFeatureCheck {
|
|
1432
|
-
readonly type: 'api_route_exists' | 'page_references_valid' | 'schema_entity_exists' | 'dependency_consistency' | 'ipc_channel_exists';
|
|
1455
|
+
readonly type: 'api_route_exists' | 'page_references_valid' | 'schema_entity_exists' | 'dependency_consistency' | 'ipc_channel_exists' | 'link_integrity' | 'import_path_valid' | 'package_deps_complete' | 'no_self_fetch' | 'typescript_compiles' | 'env_vars_complete' | 'asset_refs_valid';
|
|
1433
1456
|
readonly description: string;
|
|
1434
1457
|
readonly verdict: 'PASS' | 'FAIL';
|
|
1435
1458
|
readonly evidence: string;
|
|
@@ -1495,6 +1518,108 @@ export interface AppCreateOptions {
|
|
|
1495
1518
|
readonly fullVerification?: boolean;
|
|
1496
1519
|
readonly maxBuildRepairAttempts?: number;
|
|
1497
1520
|
readonly skipBuildVerification?: boolean;
|
|
1521
|
+
readonly autoApprove?: boolean;
|
|
1522
|
+
readonly skipFunctionalTesting?: boolean;
|
|
1523
|
+
readonly skipPlanQuestions?: boolean;
|
|
1524
|
+
}
|
|
1525
|
+
export interface PlanQuestionOption {
|
|
1526
|
+
label: string;
|
|
1527
|
+
description: string;
|
|
1528
|
+
}
|
|
1529
|
+
export interface PlanQuestion {
|
|
1530
|
+
id: string;
|
|
1531
|
+
question: string;
|
|
1532
|
+
header: string;
|
|
1533
|
+
options: PlanQuestionOption[];
|
|
1534
|
+
multiSelect: boolean;
|
|
1535
|
+
}
|
|
1536
|
+
export interface PlanAnswer {
|
|
1537
|
+
questionId: string;
|
|
1538
|
+
selectedOptions: string[];
|
|
1539
|
+
customText?: string;
|
|
1540
|
+
}
|
|
1541
|
+
export interface PlanRefinementRound {
|
|
1542
|
+
round: number;
|
|
1543
|
+
questions: PlanQuestion[];
|
|
1544
|
+
answers: PlanAnswer[];
|
|
1545
|
+
confidence: number;
|
|
1546
|
+
}
|
|
1547
|
+
export interface PlanModeState {
|
|
1548
|
+
rounds: PlanRefinementRound[];
|
|
1549
|
+
currentConfidence: number;
|
|
1550
|
+
maxRounds: number;
|
|
1551
|
+
status: 'asking' | 'refining' | 'confident' | 'approved';
|
|
1552
|
+
}
|
|
1553
|
+
export interface PlanSummary {
|
|
1554
|
+
readonly appName: string;
|
|
1555
|
+
readonly description: string;
|
|
1556
|
+
readonly techStack: string;
|
|
1557
|
+
readonly featureCount: number;
|
|
1558
|
+
readonly features: readonly PlanSummaryFeature[];
|
|
1559
|
+
readonly schemaEntities: number;
|
|
1560
|
+
readonly apiRouteCount: number;
|
|
1561
|
+
readonly pageCount: number;
|
|
1562
|
+
readonly estimatedComplexity: 'small' | 'medium' | 'large';
|
|
1563
|
+
readonly warnings: readonly string[];
|
|
1564
|
+
}
|
|
1565
|
+
export interface PlanSummaryFeature {
|
|
1566
|
+
readonly id: string;
|
|
1567
|
+
readonly name: string;
|
|
1568
|
+
readonly complexity: string;
|
|
1569
|
+
readonly dependsOn: readonly string[];
|
|
1570
|
+
readonly routeCount: number;
|
|
1571
|
+
readonly pageCount: number;
|
|
1572
|
+
}
|
|
1573
|
+
export type PlanApprovalResult = {
|
|
1574
|
+
readonly decision: 'approved';
|
|
1575
|
+
} | {
|
|
1576
|
+
readonly decision: 'approved_with_modifications';
|
|
1577
|
+
readonly modifications: readonly PlanModification[];
|
|
1578
|
+
} | {
|
|
1579
|
+
readonly decision: 'rejected';
|
|
1580
|
+
readonly reason: string;
|
|
1581
|
+
};
|
|
1582
|
+
export interface PlanModification {
|
|
1583
|
+
readonly type: 'remove_feature' | 'add_feature' | 'modify_feature';
|
|
1584
|
+
readonly featureId: string;
|
|
1585
|
+
readonly details?: string;
|
|
1586
|
+
}
|
|
1587
|
+
export interface FunctionalTest {
|
|
1588
|
+
readonly id: string;
|
|
1589
|
+
readonly type: 'api_route' | 'page_load' | 'auth_flow' | 'data_persistence';
|
|
1590
|
+
readonly name: string;
|
|
1591
|
+
readonly method?: string;
|
|
1592
|
+
readonly path: string;
|
|
1593
|
+
readonly body?: unknown;
|
|
1594
|
+
readonly expectedStatusRange: [number, number];
|
|
1595
|
+
readonly errorPatterns: readonly string[];
|
|
1596
|
+
readonly featureId?: string;
|
|
1597
|
+
readonly verifyPath?: string;
|
|
1598
|
+
readonly idField?: string;
|
|
1599
|
+
}
|
|
1600
|
+
export interface FunctionalTestExecution {
|
|
1601
|
+
readonly test: FunctionalTest;
|
|
1602
|
+
readonly status: 'pass' | 'fail' | 'error' | 'timeout';
|
|
1603
|
+
readonly statusCode: number | null;
|
|
1604
|
+
readonly responseBody: string;
|
|
1605
|
+
readonly errorMatch?: string;
|
|
1606
|
+
readonly durationMs: number;
|
|
1607
|
+
}
|
|
1608
|
+
export interface FunctionalTestRepairAttempt {
|
|
1609
|
+
readonly attempt: number;
|
|
1610
|
+
readonly failures: readonly FunctionalTestExecution[];
|
|
1611
|
+
readonly filesModified: readonly string[];
|
|
1612
|
+
readonly repairSucceeded: boolean;
|
|
1613
|
+
readonly durationMs: number;
|
|
1614
|
+
}
|
|
1615
|
+
export interface FunctionalTestResult {
|
|
1616
|
+
readonly status: 'pass' | 'fail' | 'repaired' | 'skipped';
|
|
1617
|
+
readonly tests: readonly FunctionalTestExecution[];
|
|
1618
|
+
readonly passedCount: number;
|
|
1619
|
+
readonly failedCount: number;
|
|
1620
|
+
readonly repairAttempts: readonly FunctionalTestRepairAttempt[];
|
|
1621
|
+
readonly serverPort: number | null;
|
|
1622
|
+
readonly totalDurationMs: number;
|
|
1498
1623
|
}
|
|
1499
1624
|
export type CheckStrategyType = 'pattern_presence' | 'pattern_absence' | 'cross_reference' | 'import_reachability' | 'response_shape' | 'conditional_presence' | 'file_reference' | 'ordering';
|
|
1500
1625
|
export interface PatternPresenceStrategy {
|