tryassay 0.31.0 → 0.32.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 @@
1
+ export {};
@@ -0,0 +1,55 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { classifyChange, mapExperimentCategory } from '../change-classifier.js';
3
+ describe('classifyChange', () => {
4
+ it('classifies single-quoted string change', () => {
5
+ expect(classifyChange(`"What's on your mind..."`, `"Type your message here..."`, 'src/components/ChatInput.tsx')).toBe('string_literal');
6
+ });
7
+ it('classifies double-quoted string change', () => {
8
+ expect(classifyChange(`return 'just now';`, `return 'moments ago';`, 'src/utils/time.ts')).toBe('string_literal');
9
+ });
10
+ it('classifies template literal with interpolation as logic', () => {
11
+ expect(classifyChange('`Hello ${name}`', '`Welcome ${name}, your score is ${score}`', 'src/utils/greet.ts')).toBe('logic');
12
+ });
13
+ it('classifies comment addition', () => {
14
+ expect(classifyChange('function foo() {', '// Added a comment\nfunction foo() {', 'src/utils/foo.ts')).toBe('comment');
15
+ });
16
+ it('classifies CSS property change', () => {
17
+ expect(classifyChange('minHeight: "60px"', 'minHeight: "80px"', 'src/components/ChatInput.tsx')).toBe('css_style');
18
+ });
19
+ it('classifies numeric constant change', () => {
20
+ expect(classifyChange('Math.min(e.target.scrollHeight, 400)', 'Math.min(e.target.scrollHeight, 300)', 'src/components/ChatInput.tsx')).toBe('numeric_constant');
21
+ });
22
+ it('classifies pagination limit change as numeric', () => {
23
+ expect(classifyChange('const LIMIT = 10;', 'const LIMIT = 20;', 'src/stores/conversations.ts')).toBe('numeric_constant');
24
+ });
25
+ it('classifies import addition', () => {
26
+ expect(classifyChange('', `import { NonExistent } from './non-existent';`, 'src/components/WelcomeView.tsx')).toBe('import_export');
27
+ });
28
+ it('classifies export removal', () => {
29
+ expect(classifyChange('export function useApi() {', 'function useApi() {', 'src/components/ApiContext.tsx')).toBe('import_export');
30
+ });
31
+ it('classifies type change', () => {
32
+ expect(classifyChange('role: MessageRole', 'role: number', 'src/types/conversation.ts')).toBe('type_definition');
33
+ });
34
+ it('classifies interface field deletion', () => {
35
+ expect(classifyChange(' name: string;\n created: number;', ' created: number;', 'src/types/conversation.ts')).toBe('type_definition');
36
+ });
37
+ it('classifies console.log addition as logic', () => {
38
+ expect(classifyChange('export function setDocumentTitle(title?: string) {\n document.title', "export function setDocumentTitle(title?: string) {\n console.log('called');\n document.title", 'src/utils/title.ts')).toBe('logic');
39
+ });
40
+ it('classifies mixed string + import as import_export', () => {
41
+ expect(classifyChange(`import { foo } from './foo';\nconst msg = "hello";`, `import { foo, bar } from './foo';\nconst msg = "world";`, 'src/app.ts')).toBe('import_export');
42
+ });
43
+ it('returns unknown for empty diff', () => {
44
+ expect(classifyChange('', '', 'src/foo.ts')).toBe('unknown');
45
+ });
46
+ });
47
+ describe('mapExperimentCategory', () => {
48
+ it('maps string_constant to string_literal', () => { expect(mapExperimentCategory('string_constant')).toBe('string_literal'); });
49
+ it('maps css_styling to css_style', () => { expect(mapExperimentCategory('css_styling')).toBe('css_style'); });
50
+ it('maps console_log to logic', () => { expect(mapExperimentCategory('console_log')).toBe('logic'); });
51
+ it('maps missing_module to import_export', () => { expect(mapExperimentCategory('missing_module')).toBe('import_export'); });
52
+ it('maps type_deletion to type_definition', () => { expect(mapExperimentCategory('type_deletion')).toBe('type_definition'); });
53
+ it('returns unknown for unmapped categories', () => { expect(mapExperimentCategory('something_new')).toBe('unknown'); });
54
+ });
55
+ //# sourceMappingURL=change-classifier.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-classifier.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/change-classifier.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type ChangeCategory = 'string_literal' | 'comment' | 'css_style' | 'numeric_constant' | 'import_export' | 'type_definition' | 'logic' | 'unknown';
2
+ export declare function classifyChange(oldText: string, newText: string, filePath: string): ChangeCategory;
3
+ export declare function mapExperimentCategory(experimentCategory: string): ChangeCategory;
@@ -0,0 +1,97 @@
1
+ const PRIORITY = {
2
+ string_literal: 0, comment: 1, css_style: 2, numeric_constant: 3,
3
+ logic: 4, type_definition: 5, import_export: 6, unknown: 4,
4
+ };
5
+ export function classifyChange(oldText, newText, filePath) {
6
+ if (!oldText && !newText)
7
+ return 'unknown';
8
+ // Diff-level check: if texts are structurally identical except for values, classify by content type
9
+ const oldNormalized = oldText.replace(/\d+/g, 'NUM');
10
+ const newNormalized = newText.replace(/\d+/g, 'NUM');
11
+ const onlyNumericDiff = oldNormalized === newNormalized && oldText !== newText;
12
+ const oldStrNorm = oldText.replace(/"[^"]*"/g, '"STR"').replace(/'[^']*'/g, "'STR'");
13
+ const newStrNorm = newText.replace(/"[^"]*"/g, '"STR"').replace(/'[^']*'/g, "'STR'");
14
+ const onlyStringDiff = oldStrNorm === newStrNorm && oldText !== newText;
15
+ if (onlyNumericDiff || onlyStringDiff) {
16
+ // Check if context is CSS before returning generic category
17
+ const isCssContext = /\b(Height|Width|Margin|Padding|Size|Color|Border|Font|Display|Position|style|className)\b/i.test(oldText) ||
18
+ /\d+(px|em|rem|%|vh|vw)/.test(oldText) || /\d+(px|em|rem|%|vh|vw)/.test(newText);
19
+ if (isCssContext)
20
+ return 'css_style';
21
+ if (onlyNumericDiff)
22
+ return 'numeric_constant';
23
+ return 'string_literal';
24
+ }
25
+ const oldLines = oldText.split('\n');
26
+ const newLines = newText.split('\n');
27
+ const addedLines = newLines.filter(l => !oldLines.includes(l));
28
+ const removedLines = oldLines.filter(l => !newLines.includes(l));
29
+ const changedContent = [...addedLines, ...removedLines].join('\n');
30
+ if (!changedContent.trim())
31
+ return 'unknown';
32
+ const categories = new Set();
33
+ for (const line of [...addedLines, ...removedLines]) {
34
+ const trimmed = line.trim();
35
+ if (!trimmed)
36
+ continue;
37
+ categories.add(classifyLine(trimmed, filePath));
38
+ }
39
+ if (categories.size === 0)
40
+ return 'unknown';
41
+ let highest = 'string_literal';
42
+ let highestPriority = -1;
43
+ for (const cat of categories) {
44
+ if (PRIORITY[cat] > highestPriority) {
45
+ highest = cat;
46
+ highestPriority = PRIORITY[cat];
47
+ }
48
+ }
49
+ return highest;
50
+ }
51
+ function classifyLine(line, filePath) {
52
+ if (/^\s*(import\s|export\s|from\s)/.test(line))
53
+ return 'import_export';
54
+ if (/^\s*export\s+(default\s+)?/.test(line))
55
+ return 'import_export';
56
+ if (/^\s*(type|interface)\s+\w+/.test(line))
57
+ return 'type_definition';
58
+ if (/:\s*(string|number|boolean|null|undefined|void|never|any)\s*[;,}]?\s*$/.test(line) && !line.includes('=') && !line.includes('('))
59
+ return 'type_definition';
60
+ if (/^\s*(\/\/|\/\*|\*\/|\*)/.test(line))
61
+ return 'comment';
62
+ if (/^\s*\w*(Height|Width|Margin|Padding|Size|Color|Border|Font|Display|Position)\s*[:=]/.test(line) ||
63
+ /^\s*(min|max)?(Height|Width)\s*[:=]/.test(line) ||
64
+ /^\s*style\s*[:=]/.test(line) ||
65
+ /^\s*className\s*[:=]/.test(line))
66
+ return 'css_style';
67
+ if (/^\s*['"]?\w+['"]?\s*:\s*['"]?\d+(px|em|rem|%|vh|vw)['"]?\s*[,;}]?$/.test(line))
68
+ return 'css_style';
69
+ if (/`[^`]*\$\{/.test(line))
70
+ return 'logic';
71
+ if (/^\s*"[^"]*"\s*[;,]?\s*$/.test(line) || /^\s*'[^']*'\s*[;,]?\s*$/.test(line))
72
+ return 'string_literal';
73
+ if (/^\s*(return\s+)?"[^"]*"\s*;?\s*$/.test(line) || /^\s*(return\s+)?'[^']*'\s*;?\s*$/.test(line))
74
+ return 'string_literal';
75
+ if (/^\s*(const|let|var)?\s*\w+\s*=\s*"[^"]*"\s*;?\s*$/.test(line) || /^\s*(const|let|var)?\s*\w+\s*=\s*'[^']*'\s*;?\s*$/.test(line))
76
+ return 'string_literal';
77
+ if (/^\s*(const|let|var)?\s*\w+\s*=\s*\d+/.test(line))
78
+ return 'numeric_constant';
79
+ if (/\b\d+\b/.test(line) && !/[a-zA-Z_]\w*\s*\(/.test(line) && !line.includes('import') && !line.includes('export')) {
80
+ const stripped = line.replace(/\d+/g, 'NUM');
81
+ if (/^\s*(return\s+)?.*NUM.*$/.test(stripped))
82
+ return 'numeric_constant';
83
+ }
84
+ if (/console\.(log|warn|error|info|debug)/.test(line))
85
+ return 'logic';
86
+ return 'logic';
87
+ }
88
+ export function mapExperimentCategory(experimentCategory) {
89
+ const mapping = {
90
+ string_constant: 'string_literal', css_styling: 'css_style', console_log: 'logic',
91
+ numeric_constant: 'numeric_constant', comment: 'comment',
92
+ missing_module: 'import_export', renamed_export: 'import_export', removed_export: 'import_export',
93
+ type_deletion: 'type_definition', type_incompatible: 'type_definition', generic_constraint: 'type_definition',
94
+ };
95
+ return mapping[experimentCategory] ?? 'unknown';
96
+ }
97
+ //# sourceMappingURL=change-classifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-classifier.js","sourceRoot":"","sources":["../../src/lib/change-classifier.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ScanSession } from '../lib/learned-rules/index.js';
2
- import type { CodeClaim, ClaimVerification, FormalStats, VerificationResult } from './types.js';
2
+ import type { CodeClaim, ClaimVerification, FormalStats, ForwardVerifyOptions, VerificationResult } from './types.js';
3
3
  export declare function extractCodeClaims(code: string, language: string, context?: string): Promise<{
4
4
  claims: CodeClaim[];
5
5
  inputTokens: number;
@@ -15,7 +15,7 @@ export declare function applyFormalVerification(code: string, language: string,
15
15
  formalStats: FormalStats;
16
16
  };
17
17
  export { ScanSession, type ScanSessionStats } from '../lib/learned-rules/index.js';
18
- export declare function forwardVerify(code: string, language: string, context?: string, session?: ScanSession): Promise<{
18
+ export declare function forwardVerify(code: string, language: string, context?: string, session?: ScanSession, options?: ForwardVerifyOptions): Promise<{
19
19
  result: VerificationResult;
20
20
  inputTokens: number;
21
21
  outputTokens: number;
@@ -249,7 +249,7 @@ function apiResponseToResult(resp) {
249
249
  // ── Orchestrator ─────────────────────────────────────────────
250
250
  // Re-export ScanSession so SDK callers can create one across multiple verify calls
251
251
  export { ScanSession } from '../lib/learned-rules/index.js';
252
- export async function forwardVerify(code, language, context, session) {
252
+ export async function forwardVerify(code, language, context, session, options) {
253
253
  // API-first path: if ASSAY_API_KEY is set, use the Assay API
254
254
  // which runs the full rule catalog server-side.
255
255
  if (process.env.ASSAY_API_KEY) {
@@ -265,6 +265,35 @@ export async function forwardVerify(code, language, context, session) {
265
265
  // API failed — fall through to local pipeline
266
266
  console.warn('[forward-verify] Assay API unavailable, falling back to local pipeline');
267
267
  }
268
+ // Build-failure early exit: if caller provides build output and build failed,
269
+ // return a formal FAIL immediately — no LLM needed.
270
+ if (options?.buildOutput && !options.buildOutput.passed) {
271
+ const buildClaim = {
272
+ id: 'BUILD-001',
273
+ category: 'correctness',
274
+ severity: 'critical',
275
+ description: 'Code compiles successfully',
276
+ assertion: 'tsc --noEmit exits 0',
277
+ };
278
+ const buildVerification = {
279
+ claimId: 'BUILD-001',
280
+ verdict: 'FAIL',
281
+ reasoning: options.buildOutput.errors ?? 'Build failed',
282
+ method: 'formal',
283
+ };
284
+ const result = {
285
+ claims: [buildClaim],
286
+ verifications: [buildVerification],
287
+ formalStats: { formallyVerified: 1, llmVerified: 0, disagreements: 0, formalOverrides: 0 },
288
+ formalCoverage: { formalClaimsVerified: 1, llmClaimsVerified: 0, totalClaims: 1, formalPercent: 100 },
289
+ passed: 0,
290
+ failed: 1,
291
+ partial: 0,
292
+ total: 1,
293
+ allPassed: false,
294
+ };
295
+ return { result, inputTokens: 0, outputTokens: 0 };
296
+ }
268
297
  let totalIn = 0;
269
298
  let totalOut = 0;
270
299
  // Phase 1: Extract claims
@@ -1 +1 @@
1
- {"version":3,"file":"forward-verify.js","sourceRoot":"","sources":["../../src/sdk/forward-verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forward-verify.js","sourceRoot":"","sources":["../../src/sdk/forward-verify.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,14 @@ export interface VerifyOptions {
21
21
  language: string;
22
22
  context?: string;
23
23
  }
24
+ /** Options for forward-verify pipeline. */
25
+ export interface ForwardVerifyOptions {
26
+ /** Build output from tsc or equivalent. When passed and failed, skips LLM entirely. */
27
+ buildOutput?: {
28
+ passed: boolean;
29
+ errors?: string;
30
+ };
31
+ }
24
32
  export interface CodeClaim {
25
33
  id: string;
26
34
  category: 'correctness' | 'security' | 'error-handling' | 'edge-case' | 'type-safety' | 'performance';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tryassay",
3
- "version": "0.31.0",
3
+ "version": "0.32.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",