@barissozen/csns 0.8.0 → 0.8.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.
@@ -13,4 +13,5 @@ export { RuntimeTracer } from './tracer/index.js';
13
13
  export { ReverseEngineer } from './tracer/index.js';
14
14
  export { SecurityScanner } from './tracer/index.js';
15
15
  export { ASTAnalyzer } from './tracer/index.js';
16
+ export { CrossFileChecker } from './tracer/index.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -11,4 +11,5 @@ export { RuntimeTracer } from './tracer/index.js';
11
11
  export { ReverseEngineer } from './tracer/index.js';
12
12
  export { SecurityScanner } from './tracer/index.js';
13
13
  export { ASTAnalyzer } from './tracer/index.js';
14
+ export { CrossFileChecker } from './tracer/index.js';
14
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Cross-File Value Checker — Detect Mismatches Across Files
3
+ *
4
+ * Finds values that should be consistent but aren't:
5
+ * - Token TTL vs Cookie maxAge
6
+ * - Port numbers vs service URLs
7
+ * - Env vars used but not in .env.example
8
+ * - Schema field names vs DB column names
9
+ * - Rate limit values vs Redis TTL
10
+ * - Duplicated constants with different values
11
+ *
12
+ * This is the thing no other tool does well — CSNS's differentiator.
13
+ */
14
+ export interface ValueMismatch {
15
+ id: string;
16
+ category: 'ttl-mismatch' | 'port-url-mismatch' | 'env-undefined' | 'duplicate-constant' | 'schema-mismatch';
17
+ severity: 'high' | 'medium' | 'low';
18
+ description: string;
19
+ locations: Array<{
20
+ file: string;
21
+ line: number;
22
+ value: string;
23
+ }>;
24
+ fix: string;
25
+ }
26
+ export interface CrossFileReport {
27
+ mismatches: ValueMismatch[];
28
+ envUsage: {
29
+ defined: string[];
30
+ used: string[];
31
+ missing: string[];
32
+ unused: string[];
33
+ };
34
+ summary: {
35
+ total: number;
36
+ high: number;
37
+ medium: number;
38
+ low: number;
39
+ };
40
+ duration: number;
41
+ }
42
+ export declare class CrossFileChecker {
43
+ private projectRoot;
44
+ constructor(projectRoot: string);
45
+ check(): Promise<CrossFileReport>;
46
+ private analyzeEnvVars;
47
+ private getLineNumber;
48
+ private collectFiles;
49
+ private walk;
50
+ }
51
+ //# sourceMappingURL=cross-file-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-file-checker.d.ts","sourceRoot":"","sources":["../../../src/agent/tracer/cross-file-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,cAAc,GAAG,mBAAmB,GAAG,eAAe,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;IAC5G,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACrF,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2CD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAIzB,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;YA0GzB,cAAc;IA8C5B,OAAO,CAAC,aAAa;YAUP,YAAY;YAMZ,IAAI;CAgBnB"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Cross-File Value Checker — Detect Mismatches Across Files
3
+ *
4
+ * Finds values that should be consistent but aren't:
5
+ * - Token TTL vs Cookie maxAge
6
+ * - Port numbers vs service URLs
7
+ * - Env vars used but not in .env.example
8
+ * - Schema field names vs DB column names
9
+ * - Rate limit values vs Redis TTL
10
+ * - Duplicated constants with different values
11
+ *
12
+ * This is the thing no other tool does well — CSNS's differentiator.
13
+ */
14
+ import { readFile, readdir } from 'node:fs/promises';
15
+ import { join, relative, extname } from 'node:path';
16
+ const EXTRACT_PATTERNS = [
17
+ // TTL / expiry / maxAge values
18
+ { category: 'ttl', pattern: /(?:TTL|ttl|expir(?:es?|y|ation)|maxAge|max_age|timeout|TIMEOUT)\s*[:=]\s*['"]?(\w+)['"]?\s*.*?(\d+[\s*]*(?:\*[\s*]*\d+)*|'\d+[smhd]')/gi, keyGroup: 0, valueGroup: 2 },
19
+ // Port numbers
20
+ { category: 'port', pattern: /(?:PORT|port)\s*[:=]\s*['"]?(\d{4,5})['"]?/g, keyGroup: 0, valueGroup: 1 },
21
+ // Service URLs with ports
22
+ { category: 'url', pattern: /(?:URL|url|endpoint|host|HOST)\s*[:=]\s*['"`]?(https?:\/\/[^'"`\s,;]+)['"`]?/g, keyGroup: 0, valueGroup: 1 },
23
+ // Rate limits
24
+ { category: 'rate-limit', pattern: /(?:RATE_LIMIT|rateLimit|limit|MAX_REQUESTS|maxRequests)\s*[:=]\s*(\d+)/gi, keyGroup: 0, valueGroup: 1 },
25
+ // Secret/key names (for consistency check)
26
+ { category: 'secret-name', pattern: /process\.env\[?['"]?(\w+(?:SECRET|KEY|TOKEN|PASSWORD)\w*)['"]?\]?/g, keyGroup: 0, valueGroup: 1 },
27
+ ];
28
+ const SOURCE_EXTS = new Set(['.ts', '.tsx', '.js', '.jsx', '.mjs', '.env', '.env.example', '.env.local']);
29
+ const SKIP_DIRS = new Set(['node_modules', '.git', 'dist', 'build', 'coverage', '.next', '.turbo']);
30
+ // ═══════════════════════════════════════════════════════════
31
+ // Checker
32
+ // ═══════════════════════════════════════════════════════════
33
+ export class CrossFileChecker {
34
+ projectRoot;
35
+ constructor(projectRoot) {
36
+ this.projectRoot = projectRoot;
37
+ }
38
+ async check() {
39
+ const start = Date.now();
40
+ const files = await this.collectFiles();
41
+ const mismatches = [];
42
+ let mismatchCounter = 0;
43
+ // 1. Extract all values
44
+ const allValues = [];
45
+ for (const file of files) {
46
+ let content;
47
+ try {
48
+ content = await readFile(join(this.projectRoot, file), 'utf-8');
49
+ }
50
+ catch {
51
+ continue;
52
+ }
53
+ for (const pattern of EXTRACT_PATTERNS) {
54
+ const regex = new RegExp(pattern.pattern.source, pattern.pattern.flags);
55
+ let match;
56
+ while ((match = regex.exec(content)) !== null) {
57
+ const lineNum = this.getLineNumber(content, match.index);
58
+ allValues.push({
59
+ file,
60
+ line: lineNum,
61
+ key: match[pattern.keyGroup] ?? match[0] ?? '',
62
+ value: match[pattern.valueGroup] ?? '',
63
+ category: pattern.category,
64
+ });
65
+ }
66
+ }
67
+ }
68
+ // 2. Env var analysis
69
+ const envUsage = await this.analyzeEnvVars(files);
70
+ for (const missing of envUsage.missing) {
71
+ mismatches.push({
72
+ id: `XVAL-${++mismatchCounter}`,
73
+ category: 'env-undefined',
74
+ severity: 'medium',
75
+ description: `Environment variable '${missing}' is used in code but not defined in .env.example`,
76
+ locations: allValues
77
+ .filter(v => v.category === 'secret-name' && v.value === missing)
78
+ .map(v => ({ file: v.file, line: v.line, value: `process.env.${missing}` })),
79
+ fix: `Add ${missing}= to .env.example with a placeholder value`,
80
+ });
81
+ }
82
+ // 3. Port/URL consistency
83
+ const ports = allValues.filter(v => v.category === 'port');
84
+ const urls = allValues.filter(v => v.category === 'url');
85
+ for (const port of ports) {
86
+ const portNum = port.value;
87
+ const matchingUrls = urls.filter(u => u.value.includes(`:${portNum}`));
88
+ const nonMatchingUrls = urls.filter(u => u.value.includes('localhost') &&
89
+ !u.value.includes(`:${portNum}`) &&
90
+ u.file !== port.file);
91
+ if (matchingUrls.length > 0 && nonMatchingUrls.length > 0) {
92
+ mismatches.push({
93
+ id: `XVAL-${++mismatchCounter}`,
94
+ category: 'port-url-mismatch',
95
+ severity: 'medium',
96
+ description: `Port ${portNum} defined in ${port.file} but some URLs point to different ports`,
97
+ locations: [
98
+ { file: port.file, line: port.line, value: `PORT=${portNum}` },
99
+ ...nonMatchingUrls.map(u => ({ file: u.file, line: u.line, value: u.value })),
100
+ ],
101
+ fix: 'Ensure all service URLs use the correct port, or centralize port config',
102
+ });
103
+ }
104
+ }
105
+ // 4. Duplicate constants with different values
106
+ const constants = allValues.filter(v => v.category === 'ttl' || v.category === 'rate-limit');
107
+ const byKey = new Map();
108
+ for (const c of constants) {
109
+ const normalizedKey = c.key.toLowerCase().replace(/[_\s-]/g, '');
110
+ if (!byKey.has(normalizedKey))
111
+ byKey.set(normalizedKey, []);
112
+ byKey.get(normalizedKey).push(c);
113
+ }
114
+ for (const [key, values] of byKey) {
115
+ if (values.length < 2)
116
+ continue;
117
+ const uniqueValues = new Set(values.map(v => v.value));
118
+ if (uniqueValues.size > 1) {
119
+ mismatches.push({
120
+ id: `XVAL-${++mismatchCounter}`,
121
+ category: 'duplicate-constant',
122
+ severity: 'low',
123
+ description: `Constant '${key}' has different values across files: ${[...uniqueValues].join(' vs ')}`,
124
+ locations: values.map(v => ({ file: v.file, line: v.line, value: v.value })),
125
+ fix: 'Extract to a shared constants file to ensure consistency',
126
+ });
127
+ }
128
+ }
129
+ const summary = {
130
+ total: mismatches.length,
131
+ high: mismatches.filter(m => m.severity === 'high').length,
132
+ medium: mismatches.filter(m => m.severity === 'medium').length,
133
+ low: mismatches.filter(m => m.severity === 'low').length,
134
+ };
135
+ return { mismatches, envUsage, summary, duration: Date.now() - start };
136
+ }
137
+ // ═══════════════════════════════════════════════════════════
138
+ // Env Var Analysis
139
+ // ═══════════════════════════════════════════════════════════
140
+ async analyzeEnvVars(files) {
141
+ // Collect used env vars from code
142
+ const used = new Set();
143
+ for (const file of files) {
144
+ if (file.endsWith('.env') || file.endsWith('.env.example'))
145
+ continue;
146
+ let content;
147
+ try {
148
+ content = await readFile(join(this.projectRoot, file), 'utf-8');
149
+ }
150
+ catch {
151
+ continue;
152
+ }
153
+ const regex = /process\.env\[?['"]?(\w+)['"]?\]?/g;
154
+ let match;
155
+ while ((match = regex.exec(content)) !== null) {
156
+ if (match[1])
157
+ used.add(match[1]);
158
+ }
159
+ }
160
+ // Collect defined env vars from .env.example
161
+ const defined = new Set();
162
+ const envFiles = ['.env.example', '.env.local', '.env'];
163
+ for (const ef of envFiles) {
164
+ try {
165
+ const content = await readFile(join(this.projectRoot, ef), 'utf-8');
166
+ for (const line of content.split('\n')) {
167
+ const match = line.match(/^(\w+)\s*=/);
168
+ if (match?.[1] && !match[1].startsWith('#'))
169
+ defined.add(match[1]);
170
+ }
171
+ }
172
+ catch { /* file not found */ }
173
+ }
174
+ // Common Node.js env vars — don't flag these
175
+ const builtins = new Set(['NODE_ENV', 'PORT', 'HOME', 'PATH', 'USER', 'SHELL', 'PWD', 'TERM', 'LANG', 'TZ']);
176
+ const missing = [...used].filter(v => !defined.has(v) && !builtins.has(v));
177
+ const unused = [...defined].filter(v => !used.has(v) && !builtins.has(v));
178
+ return {
179
+ defined: [...defined],
180
+ used: [...used],
181
+ missing,
182
+ unused,
183
+ };
184
+ }
185
+ // ═══════════════════════════════════════════════════════════
186
+ // Helpers
187
+ // ═══════════════════════════════════════════════════════════
188
+ getLineNumber(content, charIndex) {
189
+ let count = 0;
190
+ const lines = content.split('\n');
191
+ for (let i = 0; i < lines.length; i++) {
192
+ count += lines[i].length + 1;
193
+ if (count > charIndex)
194
+ return i + 1;
195
+ }
196
+ return lines.length;
197
+ }
198
+ async collectFiles() {
199
+ const files = [];
200
+ await this.walk(this.projectRoot, files);
201
+ return files;
202
+ }
203
+ async walk(dir, files) {
204
+ let entries;
205
+ try {
206
+ entries = await readdir(dir, { withFileTypes: true });
207
+ }
208
+ catch {
209
+ return;
210
+ }
211
+ for (const entry of entries) {
212
+ if (entry.isDirectory()) {
213
+ if (SKIP_DIRS.has(entry.name) || entry.name.startsWith('.'))
214
+ continue;
215
+ await this.walk(join(dir, entry.name), files);
216
+ }
217
+ else if (entry.isFile()) {
218
+ const ext = extname(entry.name).toLowerCase();
219
+ const name = entry.name;
220
+ if (SOURCE_EXTS.has(ext) || name === '.env.example' || name === '.env' || name === '.env.local') {
221
+ files.push(relative(this.projectRoot, join(dir, entry.name)).replace(/\\/g, '/'));
222
+ }
223
+ }
224
+ }
225
+ }
226
+ }
227
+ //# sourceMappingURL=cross-file-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-file-checker.js","sourceRoot":"","sources":["../../../src/agent/tracer/cross-file-checker.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,6 @@ export { SecurityScanner } from './security-scanner.js';
9
9
  export type { SecurityReport, SecurityFinding } from './security-scanner.js';
10
10
  export { ASTAnalyzer } from './ast-analyzer.js';
11
11
  export type { ASTGraph, FunctionNode, CallEdge } from './ast-analyzer.js';
12
+ export { CrossFileChecker } from './cross-file-checker.js';
13
+ export type { CrossFileReport, ValueMismatch } from './cross-file-checker.js';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/tracer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/tracer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
@@ -5,4 +5,5 @@ export { RuntimeTracer } from './runtime-tracer.js';
5
5
  export { ReverseEngineer } from './reverse-engineer.js';
6
6
  export { SecurityScanner } from './security-scanner.js';
7
7
  export { ASTAnalyzer } from './ast-analyzer.js';
8
+ export { CrossFileChecker } from './cross-file-checker.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/tracer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AASxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/tracer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AASxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barissozen/csns",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "CSNS — Code-aware Self-correcting Never-forgetting System",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",