tryassay 0.14.0 → 0.15.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.
@@ -1270,7 +1270,7 @@ export interface AppDescription {
1270
1270
  }
1271
1271
  export interface TechStackConfig {
1272
1272
  readonly language: 'typescript' | 'python';
1273
- readonly framework: 'next.js' | 'express' | 'sveltekit';
1273
+ readonly framework: 'next.js' | 'express' | 'sveltekit' | 'electron';
1274
1274
  readonly database: 'supabase' | 'postgresql' | 'sqlite';
1275
1275
  readonly styling?: string;
1276
1276
  readonly deployment?: string;
@@ -1285,6 +1285,7 @@ export interface ArchitecturePlan {
1285
1285
  readonly apiRoutes: readonly ApiRouteSpec[];
1286
1286
  readonly pages: readonly PageSpec[];
1287
1287
  readonly features: readonly FeaturePlan[];
1288
+ readonly ipcChannels?: readonly IpcChannel[];
1288
1289
  readonly dependencyOrder: readonly string[];
1289
1290
  readonly authPlan?: {
1290
1291
  readonly provider: string;
@@ -1325,6 +1326,14 @@ export interface ApiRouteSpec {
1325
1326
  readonly responseType?: string;
1326
1327
  readonly featureId?: string;
1327
1328
  }
1329
+ export interface IpcChannel {
1330
+ readonly channel: string;
1331
+ readonly direction: 'renderer-to-main' | 'main-to-renderer' | 'bidirectional';
1332
+ readonly description: string;
1333
+ readonly requestType?: string;
1334
+ readonly responseType?: string;
1335
+ readonly featureId?: string;
1336
+ }
1328
1337
  export interface PageSpec {
1329
1338
  readonly path: string;
1330
1339
  readonly component: string;
@@ -1339,6 +1348,7 @@ export interface FeaturePlan {
1339
1348
  readonly schemaEntities: readonly string[];
1340
1349
  readonly apiRoutes: readonly string[];
1341
1350
  readonly pages: readonly string[];
1351
+ readonly ipcChannels?: readonly string[];
1342
1352
  readonly complexityEstimate: 'trivial' | 'small' | 'medium' | 'large';
1343
1353
  }
1344
1354
  export type AppCreatePhase = {
@@ -1359,6 +1369,15 @@ export type AppCreatePhase = {
1359
1369
  readonly waveIndex: number;
1360
1370
  readonly totalWaves: number;
1361
1371
  readonly featureIds: readonly string[];
1372
+ } | {
1373
+ readonly phase: 'build_verifying';
1374
+ readonly attempt: number;
1375
+ readonly maxAttempts: number;
1376
+ } | {
1377
+ readonly phase: 'build_repairing';
1378
+ readonly attempt: number;
1379
+ readonly maxAttempts: number;
1380
+ readonly errorCount: number;
1362
1381
  } | {
1363
1382
  readonly phase: 'cross_verifying';
1364
1383
  } | {
@@ -1382,6 +1401,7 @@ export interface AppCreateResult {
1382
1401
  readonly projectPath: string;
1383
1402
  readonly plan: ArchitecturePlan | null;
1384
1403
  readonly featureResults: readonly FeatureBuildResult[];
1404
+ readonly buildVerification: BuildVerificationResult | null;
1385
1405
  readonly crossVerification: CrossFeatureVerification | null;
1386
1406
  readonly totalDurationMs: number;
1387
1407
  readonly auditTrail: readonly AuditEntry[];
@@ -1406,11 +1426,45 @@ export interface CrossFeatureVerification {
1406
1426
  readonly verdict: 'PASS' | 'FAIL' | 'PARTIAL';
1407
1427
  }
1408
1428
  export interface CrossFeatureCheck {
1409
- readonly type: 'api_route_exists' | 'page_references_valid' | 'schema_entity_exists' | 'dependency_consistency';
1429
+ readonly type: 'api_route_exists' | 'page_references_valid' | 'schema_entity_exists' | 'dependency_consistency' | 'ipc_channel_exists';
1410
1430
  readonly description: string;
1411
1431
  readonly verdict: 'PASS' | 'FAIL';
1412
1432
  readonly evidence: string;
1413
1433
  }
1434
+ export type BuildStepStatus = 'pass' | 'fail' | 'skip' | 'timeout';
1435
+ export interface BuildStepResult {
1436
+ readonly step: 'install' | 'build' | 'start' | 'health_check';
1437
+ readonly status: BuildStepStatus;
1438
+ readonly command: string;
1439
+ readonly stdout: string;
1440
+ readonly stderr: string;
1441
+ readonly durationMs: number;
1442
+ readonly exitCode: number | null;
1443
+ }
1444
+ export type BuildErrorCategory = 'type_error' | 'module_not_found' | 'syntax_error' | 'runtime_error' | 'dependency_error' | 'other';
1445
+ export interface BuildError {
1446
+ readonly file: string;
1447
+ readonly line: number | null;
1448
+ readonly message: string;
1449
+ readonly category: BuildErrorCategory;
1450
+ }
1451
+ export interface BuildRepairAttempt {
1452
+ readonly attempt: number;
1453
+ readonly errors: readonly BuildError[];
1454
+ readonly filesModified: readonly string[];
1455
+ readonly repairSucceeded: boolean;
1456
+ readonly durationMs: number;
1457
+ }
1458
+ export interface BuildVerificationResult {
1459
+ readonly status: 'pass' | 'fail' | 'repaired' | 'skipped';
1460
+ readonly install: BuildStepResult | null;
1461
+ readonly build: BuildStepResult | null;
1462
+ readonly start: BuildStepResult | null;
1463
+ readonly healthCheck: BuildStepResult | null;
1464
+ readonly repairAttempts: readonly BuildRepairAttempt[];
1465
+ readonly finalErrors: readonly BuildError[];
1466
+ readonly totalDurationMs: number;
1467
+ }
1414
1468
  export interface AppCreateOptions {
1415
1469
  readonly outputPath: string;
1416
1470
  readonly models?: Partial<Record<AgentSpecialization, string>>;
@@ -1420,4 +1474,6 @@ export interface AppCreateOptions {
1420
1474
  readonly sequential?: boolean;
1421
1475
  readonly noDirectMode?: boolean;
1422
1476
  readonly fullVerification?: boolean;
1477
+ readonly maxBuildRepairAttempts?: number;
1478
+ readonly skipBuildVerification?: boolean;
1423
1479
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tryassay",
3
- "version": "0.14.0",
3
+ "version": "0.15.1",
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",