@backendkit-labs/curator-codex-agent 0.2.0 → 1.0.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.
- package/dist/analyzer.d.ts +1 -17
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +80 -163
- package/dist/analyzer.js.map +1 -1
- package/dist/audit.d.ts +27 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +43 -0
- package/dist/audit.js.map +1 -0
- package/dist/checksum.d.ts +0 -22
- package/dist/checksum.d.ts.map +1 -1
- package/dist/checksum.js +14 -103
- package/dist/checksum.js.map +1 -1
- package/dist/documentation-curator.d.ts +1 -1
- package/dist/documentation-curator.d.ts.map +1 -1
- package/dist/documentation-curator.js +79 -95
- package/dist/documentation-curator.js.map +1 -1
- package/dist/index.d.ts +19 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -22
- package/dist/index.js.map +1 -1
- package/dist/knowledge/embedder-worker.d.ts +2 -0
- package/dist/knowledge/embedder-worker.d.ts.map +1 -0
- package/dist/knowledge/embedder-worker.js +55 -0
- package/dist/knowledge/embedder-worker.js.map +1 -0
- package/dist/knowledge/engine.d.ts +10 -56
- package/dist/knowledge/engine.d.ts.map +1 -1
- package/dist/knowledge/engine.js +42 -153
- package/dist/knowledge/engine.js.map +1 -1
- package/dist/knowledge/rag-provider.d.ts +14 -56
- package/dist/knowledge/rag-provider.d.ts.map +1 -1
- package/dist/knowledge/rag-provider.js +63 -154
- package/dist/knowledge/rag-provider.js.map +1 -1
- package/dist/knowledge/synthesis.d.ts +0 -10
- package/dist/knowledge/synthesis.d.ts.map +1 -1
- package/dist/knowledge/synthesis.js +32 -77
- package/dist/knowledge/synthesis.js.map +1 -1
- package/dist/knowledge/transformers-embedder.d.ts +61 -0
- package/dist/knowledge/transformers-embedder.d.ts.map +1 -0
- package/dist/knowledge/transformers-embedder.js +222 -0
- package/dist/knowledge/transformers-embedder.js.map +1 -0
- package/dist/pdf-reader.d.ts +11 -0
- package/dist/pdf-reader.d.ts.map +1 -0
- package/dist/pdf-reader.js +21 -0
- package/dist/pdf-reader.js.map +1 -0
- package/dist/project.d.ts +28 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +88 -0
- package/dist/project.js.map +1 -0
- package/dist/providers/anthropic-adapter.d.ts +2 -2
- package/dist/providers/anthropic-adapter.d.ts.map +1 -1
- package/dist/providers/anthropic-adapter.js +7 -13
- package/dist/providers/anthropic-adapter.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +13 -20
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai-adapter.d.ts +2 -2
- package/dist/providers/openai-adapter.d.ts.map +1 -1
- package/dist/providers/openai-adapter.js +7 -13
- package/dist/providers/openai-adapter.js.map +1 -1
- package/dist/providers/types.d.ts +8 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -3
- package/dist/types.js.map +1 -1
- package/dist/vault-dedup.d.ts +35 -0
- package/dist/vault-dedup.d.ts.map +1 -0
- package/dist/vault-dedup.js +130 -0
- package/dist/vault-dedup.js.map +1 -0
- package/package.json +43 -56
- package/AGENT.md +0 -187
- package/README.md +0 -475
- package/dist/api/config.d.ts +0 -57
- package/dist/api/config.d.ts.map +0 -1
- package/dist/api/config.js +0 -183
- package/dist/api/config.js.map +0 -1
- package/dist/api/http-server.d.ts +0 -24
- package/dist/api/http-server.d.ts.map +0 -1
- package/dist/api/http-server.js +0 -108
- package/dist/api/http-server.js.map +0 -1
- package/dist/api/routes.d.ts +0 -8
- package/dist/api/routes.d.ts.map +0 -1
- package/dist/api/routes.js +0 -382
- package/dist/api/routes.js.map +0 -1
- package/dist/api/security.d.ts +0 -107
- package/dist/api/security.d.ts.map +0 -1
- package/dist/api/security.js +0 -200
- package/dist/api/security.js.map +0 -1
- package/dist/http-server-main.d.ts +0 -28
- package/dist/http-server-main.d.ts.map +0 -1
- package/dist/http-server-main.js +0 -69
- package/dist/http-server-main.js.map +0 -1
- package/dist/server.d.ts +0 -33
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -640
- package/dist/server.js.map +0 -1
- package/dist/watcher.d.ts +0 -26
- package/dist/watcher.d.ts.map +0 -1
- package/dist/watcher.js +0 -168
- package/dist/watcher.js.map +0 -1
package/dist/analyzer.d.ts
CHANGED
|
@@ -11,32 +11,16 @@ export declare class CodeAnalyzer {
|
|
|
11
11
|
private readonly maxInputChars;
|
|
12
12
|
private readonly docCurator;
|
|
13
13
|
constructor(opts: CodeAnalyzerOptions);
|
|
14
|
-
/**
|
|
15
|
-
* Find documentation files associated with a code file
|
|
16
|
-
*/
|
|
17
14
|
findAssociatedDocs(filePath: string, allFiles: Array<{
|
|
18
15
|
fullPath: string;
|
|
19
16
|
relativePath: string;
|
|
20
17
|
}>): Promise<AssociatedDocs>;
|
|
21
|
-
/**
|
|
22
|
-
* Analyze a file (code or documentation) with unified dispatcher
|
|
23
|
-
*/
|
|
24
18
|
analyzeFile(filePath: string, relativePath: string, allFiles?: Array<{
|
|
25
19
|
fullPath: string;
|
|
26
20
|
relativePath: string;
|
|
27
21
|
}>): Promise<CodeAnalysisResult>;
|
|
28
|
-
/**
|
|
29
|
-
* Analyze a code file with optional associated documentation
|
|
30
|
-
*/
|
|
31
|
-
private analyzeCode;
|
|
32
|
-
/**
|
|
33
|
-
* Analyze a documentation file (.md, .txt)
|
|
34
|
-
*/
|
|
35
|
-
private analyzeDocumentation;
|
|
36
|
-
/**
|
|
37
|
-
* Check if file is a documentation file
|
|
38
|
-
*/
|
|
39
22
|
private isDocFile;
|
|
23
|
+
private analyzeCode;
|
|
40
24
|
private getSourcesCombined;
|
|
41
25
|
private callLLM;
|
|
42
26
|
private writeNote;
|
package/dist/analyzer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAoB,kBAAkB,EAAuB,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAoB,kBAAkB,EAAuB,cAAc,EAAE,MAAM,YAAY,CAAC;AA4H5G,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,IAAI,EAAE,mBAAmB;IAO/B,kBAAkB,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5D,OAAO,CAAC,cAAc,CAAC;IA0BpB,WAAW,CACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;IAO9B,OAAO,CAAC,SAAS;YAIH,WAAW;IAkFzB,OAAO,CAAC,kBAAkB;YAoBZ,OAAO;YA8BP,SAAS;CAwB1B"}
|
package/dist/analyzer.js
CHANGED
|
@@ -1,100 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { DocumentationCurator } from './documentation-curator.js';
|
|
5
|
+
import { removeNotesForSource, normalizeSourcePath } from './vault-dedup.js';
|
|
6
|
+
const CodeAnalysisNoteSchema = z.object({
|
|
7
|
+
type: z.enum(['componente', 'api', 'patron', 'utilidad', 'arquitectura', 'integracion']),
|
|
8
|
+
area: z.enum(['general', 'backend', 'frontend', 'devops', 'infraestructura']),
|
|
9
|
+
title: z.string().max(120),
|
|
10
|
+
resumen: z.string().max(500),
|
|
11
|
+
content: z.string(),
|
|
12
|
+
tags: z.array(z.string()),
|
|
13
|
+
vigente_desde: z.string().optional(),
|
|
14
|
+
version: z.number().optional(),
|
|
15
|
+
expires_at: z.string().optional(),
|
|
16
|
+
depends_on: z.array(z.string()).optional(),
|
|
17
|
+
exports: z.array(z.string()).optional(),
|
|
18
|
+
language: z.string().optional(),
|
|
19
|
+
files: z.array(z.string()).optional(),
|
|
17
20
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.CodeAnalyzer = void 0;
|
|
37
|
-
const fs = __importStar(require("node:fs/promises"));
|
|
38
|
-
const path = __importStar(require("node:path"));
|
|
39
|
-
const zod_1 = require("zod");
|
|
40
|
-
const documentation_curator_js_1 = require("./documentation-curator.js");
|
|
41
|
-
// Zod schema for code analysis response
|
|
42
|
-
const CodeAnalysisNoteSchema = zod_1.z.object({
|
|
43
|
-
type: zod_1.z.enum(['componente', 'api', 'patron', 'utilidad', 'arquitectura', 'integracion']),
|
|
44
|
-
area: zod_1.z.enum(['general', 'backend', 'frontend', 'devops', 'infraestructura']),
|
|
45
|
-
title: zod_1.z.string().max(120),
|
|
46
|
-
resumen: zod_1.z.string().max(500),
|
|
47
|
-
content: zod_1.z.string(),
|
|
48
|
-
tags: zod_1.z.array(zod_1.z.string()),
|
|
49
|
-
vigente_desde: zod_1.z.string().optional(),
|
|
50
|
-
version: zod_1.z.number().optional(),
|
|
51
|
-
expires_at: zod_1.z.string().optional(),
|
|
52
|
-
depends_on: zod_1.z.array(zod_1.z.string()).optional(),
|
|
53
|
-
exports: zod_1.z.array(zod_1.z.string()).optional(),
|
|
54
|
-
language: zod_1.z.string().optional(),
|
|
55
|
-
files: zod_1.z.array(zod_1.z.string()).optional(),
|
|
21
|
+
const CodeAnalysisResponseSchema = z.object({
|
|
22
|
+
notes: z.array(CodeAnalysisNoteSchema),
|
|
56
23
|
});
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
- Include
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
- "content" must use ## headings. Include usage examples from comments or docs.
|
|
93
|
-
- "exports" lists public functions, classes, interfaces.
|
|
94
|
-
- "depends_on" lists external libraries or internal modules this depends on.
|
|
95
|
-
- If code has associated documentation (.md file), integrate it into the analysis.
|
|
24
|
+
const SYSTEM_PROMPT = `\
|
|
25
|
+
You are a Code Knowledge Extractor for enterprise vaults.
|
|
26
|
+
Your task: analyze source code files WITH associated documentation and extract structured knowledge.
|
|
27
|
+
|
|
28
|
+
IMPORTANT: Return ONLY a valid JSON object — no markdown, no prose, no code fences.
|
|
29
|
+
|
|
30
|
+
Schema (return exactly this shape):
|
|
31
|
+
{
|
|
32
|
+
"notes": [
|
|
33
|
+
{
|
|
34
|
+
"type": "componente" | "api" | "patron" | "utilidad" | "arquitectura" | "integracion",
|
|
35
|
+
"area": "general" | "backend" | "frontend" | "devops" | "infraestructura",
|
|
36
|
+
"title": string,
|
|
37
|
+
"resumen": string,
|
|
38
|
+
"content": string,
|
|
39
|
+
"tags": string[],
|
|
40
|
+
"language": string,
|
|
41
|
+
"files": string[],
|
|
42
|
+
"depends_on": string[],
|
|
43
|
+
"exports": string[],
|
|
44
|
+
"version": number
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
Rules:
|
|
50
|
+
- Extract PUBLIC APIs only (not private/internal implementation).
|
|
51
|
+
- Include TypeScript interfaces, type definitions, main classes.
|
|
52
|
+
- Focus on WHAT the code does, HOW to use it, what it exports.
|
|
53
|
+
- Each note must be self-contained — a reader should not need the original code.
|
|
54
|
+
- "resumen" must contain searchable terms: function names, types, patterns.
|
|
55
|
+
- "content" must use ## headings. Include usage examples from comments or docs.
|
|
56
|
+
- "exports" lists public functions, classes, interfaces.
|
|
57
|
+
- "depends_on" lists external libraries or internal modules this depends on.
|
|
58
|
+
- If code has associated documentation (.md file), integrate it into the analysis.
|
|
96
59
|
- If no enterprise relevance, return { "notes": [] }.`;
|
|
97
|
-
// Supported code extensions
|
|
98
60
|
const CODE_EXTENSIONS = [
|
|
99
61
|
'.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs', '.java', '.c', '.cpp', '.kt', '.swift',
|
|
100
62
|
];
|
|
@@ -103,14 +65,9 @@ function getLanguage(filePath) {
|
|
|
103
65
|
const langMap = {
|
|
104
66
|
'.ts': 'typescript', '.tsx': 'typescript',
|
|
105
67
|
'.js': 'javascript', '.jsx': 'javascript',
|
|
106
|
-
'.py': 'python',
|
|
107
|
-
'.
|
|
108
|
-
'.
|
|
109
|
-
'.java': 'java',
|
|
110
|
-
'.c': 'c',
|
|
111
|
-
'.cpp': 'cpp',
|
|
112
|
-
'.kt': 'kotlin',
|
|
113
|
-
'.swift': 'swift',
|
|
68
|
+
'.py': 'python', '.go': 'go', '.rs': 'rust',
|
|
69
|
+
'.java': 'java', '.c': 'c', '.cpp': 'cpp',
|
|
70
|
+
'.kt': 'kotlin', '.swift': 'swift',
|
|
114
71
|
};
|
|
115
72
|
return langMap[ext] || ext.slice(1);
|
|
116
73
|
}
|
|
@@ -124,7 +81,7 @@ function slugify(title) {
|
|
|
124
81
|
.replace(/\s+/g, '-')
|
|
125
82
|
.slice(0, 60);
|
|
126
83
|
}
|
|
127
|
-
function buildFrontmatter(note, source, date, sourcesCombined) {
|
|
84
|
+
function buildFrontmatter(note, source, date, sourcePath, sourcesCombined) {
|
|
128
85
|
const tagsLine = `[${note.tags.map(t => `"${t}"`).join(', ')}]`;
|
|
129
86
|
const lines = [
|
|
130
87
|
'---',
|
|
@@ -136,11 +93,11 @@ function buildFrontmatter(note, source, date, sourcesCombined) {
|
|
|
136
93
|
`author: "agent/codex"`,
|
|
137
94
|
`date: ${date}`,
|
|
138
95
|
`source_ref: "${source}"`,
|
|
96
|
+
`source_path: "${normalizeSourcePath(sourcePath)}"`,
|
|
139
97
|
`tags: ${tagsLine}`,
|
|
140
98
|
];
|
|
141
|
-
if (sourcesCombined
|
|
142
|
-
|
|
143
|
-
lines.push(`sources_combined: [${sources}]`);
|
|
99
|
+
if (sourcesCombined?.length) {
|
|
100
|
+
lines.push(`sources_combined: [${sourcesCombined.map(s => `"${s}"`).join(', ')}]`);
|
|
144
101
|
}
|
|
145
102
|
if (note.version)
|
|
146
103
|
lines.push(`version: ${note.version}`);
|
|
@@ -156,7 +113,7 @@ function buildFrontmatter(note, source, date, sourcesCombined) {
|
|
|
156
113
|
lines.push('---', '', note.content);
|
|
157
114
|
return lines.join('\n');
|
|
158
115
|
}
|
|
159
|
-
class CodeAnalyzer {
|
|
116
|
+
export class CodeAnalyzer {
|
|
160
117
|
provider;
|
|
161
118
|
vaultPath;
|
|
162
119
|
maxInputChars;
|
|
@@ -165,33 +122,23 @@ class CodeAnalyzer {
|
|
|
165
122
|
this.provider = opts.provider;
|
|
166
123
|
this.vaultPath = opts.vaultPath;
|
|
167
124
|
this.maxInputChars = opts.maxInputChars ?? 20_000;
|
|
168
|
-
this.docCurator = new
|
|
169
|
-
provider: opts.provider,
|
|
170
|
-
vaultPath: opts.vaultPath,
|
|
171
|
-
});
|
|
125
|
+
this.docCurator = new DocumentationCurator({ provider: opts.provider, vaultPath: opts.vaultPath });
|
|
172
126
|
}
|
|
173
|
-
/**
|
|
174
|
-
* Find documentation files associated with a code file
|
|
175
|
-
*/
|
|
176
127
|
async findAssociatedDocs(filePath, allFiles) {
|
|
177
128
|
const basename = path.basename(filePath, path.extname(filePath));
|
|
178
129
|
const dirname = path.dirname(filePath);
|
|
179
130
|
const result = { codeFile: filePath };
|
|
180
|
-
// 1. Search for .md with same name
|
|
181
131
|
const mdFile = allFiles.find(f => f.fullPath === path.join(dirname, `${basename}.md`));
|
|
182
132
|
if (mdFile)
|
|
183
133
|
result.docFile = mdFile.fullPath;
|
|
184
|
-
// 2. Search for README.md in same directory
|
|
185
134
|
const readmeFile = allFiles.find(f => f.fullPath === path.join(dirname, 'README.md'));
|
|
186
135
|
if (readmeFile)
|
|
187
136
|
result.readmeFile = readmeFile.fullPath;
|
|
188
|
-
// 3. Search in docs/ folder with similar name
|
|
189
137
|
if (!result.docFile) {
|
|
190
138
|
const docsFile = allFiles.find(f => f.relativePath.includes('docs/') && f.relativePath.includes(basename) && f.relativePath.endsWith('.md'));
|
|
191
139
|
if (docsFile)
|
|
192
140
|
result.docFile = docsFile.fullPath;
|
|
193
141
|
}
|
|
194
|
-
// 4. Search for root README.md
|
|
195
142
|
if (!result.contextFile) {
|
|
196
143
|
const globalReadme = allFiles.find(f => f.relativePath === 'README.md');
|
|
197
144
|
if (globalReadme)
|
|
@@ -199,21 +146,15 @@ class CodeAnalyzer {
|
|
|
199
146
|
}
|
|
200
147
|
return result;
|
|
201
148
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Analyze a file (code or documentation) with unified dispatcher
|
|
204
|
-
*/
|
|
205
149
|
async analyzeFile(filePath, relativePath, allFiles) {
|
|
206
|
-
// Detect file type and route accordingly
|
|
207
150
|
if (this.isDocFile(filePath)) {
|
|
208
|
-
return await this.
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
return await this.analyzeCode(filePath, relativePath, allFiles);
|
|
151
|
+
return await this.docCurator.curateFile(filePath);
|
|
212
152
|
}
|
|
153
|
+
return await this.analyzeCode(filePath, relativePath, allFiles);
|
|
154
|
+
}
|
|
155
|
+
isDocFile(filePath) {
|
|
156
|
+
return ['.md', '.txt', '.pdf'].some(ext => filePath.toLowerCase().endsWith(ext));
|
|
213
157
|
}
|
|
214
|
-
/**
|
|
215
|
-
* Analyze a code file with optional associated documentation
|
|
216
|
-
*/
|
|
217
158
|
async analyzeCode(filePath, relativePath, allFiles) {
|
|
218
159
|
const start = Date.now();
|
|
219
160
|
const result = {
|
|
@@ -223,7 +164,6 @@ class CodeAnalyzer {
|
|
|
223
164
|
durationMs: 0,
|
|
224
165
|
filesAnalyzed: [relativePath],
|
|
225
166
|
};
|
|
226
|
-
// Read code file
|
|
227
167
|
let code;
|
|
228
168
|
try {
|
|
229
169
|
code = await fs.readFile(filePath, 'utf-8');
|
|
@@ -233,7 +173,6 @@ class CodeAnalyzer {
|
|
|
233
173
|
result.durationMs = Date.now() - start;
|
|
234
174
|
return result;
|
|
235
175
|
}
|
|
236
|
-
// Find associated documentation
|
|
237
176
|
let context = {
|
|
238
177
|
fullPath: filePath,
|
|
239
178
|
relativePath,
|
|
@@ -246,28 +185,21 @@ class CodeAnalyzer {
|
|
|
246
185
|
try {
|
|
247
186
|
context.docContent = await fs.readFile(associated.docFile, 'utf-8');
|
|
248
187
|
}
|
|
249
|
-
catch {
|
|
250
|
-
// ignore if can't read doc file
|
|
251
|
-
}
|
|
188
|
+
catch { /* ignore */ }
|
|
252
189
|
}
|
|
253
190
|
if (associated.contextFile) {
|
|
254
191
|
try {
|
|
255
192
|
context.contextContent = await fs.readFile(associated.contextFile, 'utf-8');
|
|
256
193
|
}
|
|
257
|
-
catch {
|
|
258
|
-
// ignore if can't read context file
|
|
259
|
-
}
|
|
194
|
+
catch { /* ignore */ }
|
|
260
195
|
}
|
|
261
196
|
if (associated.readmeFile) {
|
|
262
197
|
try {
|
|
263
198
|
context.readmeContent = await fs.readFile(associated.readmeFile, 'utf-8');
|
|
264
199
|
}
|
|
265
|
-
catch {
|
|
266
|
-
// ignore if can't read readme
|
|
267
|
-
}
|
|
200
|
+
catch { /* ignore */ }
|
|
268
201
|
}
|
|
269
202
|
}
|
|
270
|
-
// Analyze with LLM
|
|
271
203
|
let parsed;
|
|
272
204
|
try {
|
|
273
205
|
parsed = await this.callLLM(context);
|
|
@@ -282,12 +214,14 @@ class CodeAnalyzer {
|
|
|
282
214
|
result.durationMs = Date.now() - start;
|
|
283
215
|
return result;
|
|
284
216
|
}
|
|
285
|
-
// Write notes to vault
|
|
286
217
|
const date = new Date().toISOString().slice(0, 10);
|
|
287
218
|
const sourcesCombined = allFiles ? this.getSourcesCombined(filePath, allFiles) : [relativePath];
|
|
219
|
+
// Borra las notas previas generadas desde este mismo archivo para no acumular
|
|
220
|
+
// duplicados cuando el LLM produce un título distinto en cada corrida.
|
|
221
|
+
await removeNotesForSource(this.vaultPath, filePath);
|
|
288
222
|
for (const note of parsed.notes) {
|
|
289
223
|
try {
|
|
290
|
-
const written = await this.writeNote(note, path.basename(filePath), date, sourcesCombined);
|
|
224
|
+
const written = await this.writeNote(note, path.basename(filePath), date, filePath, sourcesCombined);
|
|
291
225
|
if (written === null) {
|
|
292
226
|
result.notesSkipped.push(note.title);
|
|
293
227
|
}
|
|
@@ -302,32 +236,16 @@ class CodeAnalyzer {
|
|
|
302
236
|
result.durationMs = Date.now() - start;
|
|
303
237
|
return result;
|
|
304
238
|
}
|
|
305
|
-
/**
|
|
306
|
-
* Analyze a documentation file (.md, .txt)
|
|
307
|
-
*/
|
|
308
|
-
async analyzeDocumentation(filePath, relativePath) {
|
|
309
|
-
return await this.docCurator.curateFile(filePath);
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Check if file is a documentation file
|
|
313
|
-
*/
|
|
314
|
-
isDocFile(filePath) {
|
|
315
|
-
return ['.md', '.txt'].some(ext => filePath.toLowerCase().endsWith(ext));
|
|
316
|
-
}
|
|
317
|
-
// ── Private ────────────────────────────────────────────────────────────────
|
|
318
239
|
getSourcesCombined(filePath, allFiles) {
|
|
319
240
|
const basename = path.basename(filePath, path.extname(filePath));
|
|
320
241
|
const dirname = path.dirname(filePath);
|
|
321
242
|
const sources = [];
|
|
322
|
-
// Add the main file
|
|
323
243
|
const mainFile = allFiles.find(f => f.fullPath === filePath);
|
|
324
244
|
if (mainFile)
|
|
325
245
|
sources.push(mainFile.relativePath);
|
|
326
|
-
// Add associated doc
|
|
327
246
|
const docFile = allFiles.find(f => f.fullPath === path.join(dirname, `${basename}.md`));
|
|
328
247
|
if (docFile)
|
|
329
248
|
sources.push(docFile.relativePath);
|
|
330
|
-
// Add README if in same dir
|
|
331
249
|
const readmeFile = allFiles.find(f => f.fullPath === path.join(dirname, 'README.md'));
|
|
332
250
|
if (readmeFile)
|
|
333
251
|
sources.push(readmeFile.relativePath);
|
|
@@ -337,7 +255,7 @@ class CodeAnalyzer {
|
|
|
337
255
|
const truncated = context.codeContent.slice(0, this.maxInputChars);
|
|
338
256
|
let userMsg = `File: ${context.relativePath}\nLanguage: ${context.language}\n\nCODE:\n\`\`\`\n${truncated}\n\`\`\``;
|
|
339
257
|
if (context.docContent) {
|
|
340
|
-
userMsg += `\n\
|
|
258
|
+
userMsg += `\n\nAssociated Documentation:\n${context.docContent.slice(0, 5000)}`;
|
|
341
259
|
}
|
|
342
260
|
if (context.readmeContent) {
|
|
343
261
|
userMsg += `\n\nProject Context (README):\n${context.readmeContent.slice(0, 3000)}`;
|
|
@@ -359,7 +277,7 @@ class CodeAnalyzer {
|
|
|
359
277
|
}
|
|
360
278
|
return CodeAnalysisResponseSchema.parse(parsed);
|
|
361
279
|
}
|
|
362
|
-
async writeNote(note, source, date, sourcesCombined) {
|
|
280
|
+
async writeNote(note, source, date, sourcePath, sourcesCombined) {
|
|
363
281
|
const dir = path.join(this.vaultPath, note.area);
|
|
364
282
|
const slug = slugify(note.title);
|
|
365
283
|
const filename = `${date}-${slug}.md`;
|
|
@@ -372,10 +290,9 @@ class CodeAnalyzer {
|
|
|
372
290
|
// doesn't exist — proceed
|
|
373
291
|
}
|
|
374
292
|
await fs.mkdir(dir, { recursive: true });
|
|
375
|
-
const content = buildFrontmatter(note, source, date, sourcesCombined);
|
|
293
|
+
const content = buildFrontmatter(note, source, date, sourcePath, sourcesCombined);
|
|
376
294
|
await fs.writeFile(filePath, content, 'utf-8');
|
|
377
295
|
return filePath;
|
|
378
296
|
}
|
|
379
297
|
}
|
|
380
|
-
exports.CodeAnalyzer = CodeAnalyzer;
|
|
381
298
|
//# sourceMappingURL=analyzer.js.map
|
package/dist/analyzer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,gDAAkC;AAClC,6BAAwB;AAGxB,yEAAkE;AAElE,wCAAwC;AACxC,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACxF,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC7E,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CACzC,CAAC,CAAC;AAIH,kCAAkC;AAClC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAmCgC,CAAC;AAEvD,4BAA4B;AAC5B,MAAM,eAAe,GAAG;IACpB,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ;CAC5F,CAAC;AAEF,SAAS,WAAW,CAAC,QAAgB;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,OAAO,GAA2B;QACpC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;QACzC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;QACzC,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,OAAO;KACpB,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC1B,OAAO,KAAK;SACP,WAAW,EAAE;SACb,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAsB,EAAE,MAAc,EAAE,IAAY,EAAE,eAA0B;IACtG,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAChE,MAAM,KAAK,GAAG;QACV,KAAK;QACL,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;QAC7C,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,aAAa,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;QACzC,aAAa,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;QACjD,uBAAuB;QACvB,SAAS,IAAI,EAAE;QACf,gBAAgB,MAAM,GAAG;QACzB,SAAS,QAAQ,EAAE;KACtB,CAAC;IAEF,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAUD,MAAa,YAAY;IACJ,QAAQ,CAAqB;IAC7B,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,UAAU,CAAuB;IAElD,YAAY,IAAyB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,+CAAoB,CAAC;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACpB,QAAgB,EAChB,QAA2D;QAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAEtD,mCAAmC;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC7B,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CACtD,CAAC;QACF,IAAI,MAAM;YAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE7C,4CAA4C;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CACjD,CAAC;QACF,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;QAExD,8CAA8C;QAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1G,CAAC;YACF,IAAI,QAAQ;gBAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACrD,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC,CAAC,YAAY,KAAK,WAAW,CACjC,CAAC;YACF,IAAI,YAAY;gBAAE,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;QACjE,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACb,QAAgB,EAChB,YAAoB,EACpB,QAA4D;QAE5D,yCAAyC;QACzC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACrB,QAAgB,EAChB,YAAoB,EACpB,QAA4D;QAE5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAuB;YAC/B,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC,YAAY,CAAC;SAChC,CAAC;QAEF,iBAAiB;QACjB,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACvC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,GAAwB;YAC/B,QAAQ,EAAE,QAAQ;YAClB,YAAY;YACZ,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE,IAAI;SACpB,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACD,OAAO,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxE,CAAC;gBAAC,MAAM,CAAC;oBACL,gCAAgC;gBACpC,CAAC;YACL,CAAC;YACD,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACD,OAAO,CAAC,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAChF,CAAC;gBAAC,MAAM,CAAC;oBACL,oCAAoC;gBACxC,CAAC;YACL,CAAC;YACD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACD,OAAO,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC9E,CAAC;gBAAC,MAAM,CAAC;oBACL,8BAA8B;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,IAAI,MAA4B,CAAC;QACjC,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAqB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACvC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YACtF,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACvC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAEhG,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;gBAC3F,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;QACL,CAAC;QAED,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,QAAgB,EAAE,YAAoB;QACrE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,QAAgB;QAC9B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,8EAA8E;IAEtE,kBAAkB,CACtB,QAAgB,EAChB,QAA2D;QAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,oBAAoB;QACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC7D,IAAI,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAElD,qBAAqB;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CACtD,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhD,4BAA4B;QAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CACjD,CAAC;QACF,IAAI,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEtD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAA4B;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,OAAO,GAAG,SAAS,OAAO,CAAC,YAAY,eAAe,OAAO,CAAC,QAAQ,sBAAsB,SAAS,UAAU,CAAC;QAEpH,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,kCAAkC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,IAAI,kCAAkC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACxF,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAChE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpD,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;oBAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,SAAS,CACnB,IAAsB,EACtB,MAAc,EACd,IAAY,EACZ,eAA0B;QAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE1C,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAC,yBAAyB;QAC1C,CAAC;QAAC,MAAM,CAAC;YACL,0BAA0B;QAC9B,CAAC;QAED,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA9QD,oCA8QC"}
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/audit.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type CodexEvent = 'curate.file.done' | 'curate.file.skipped' | 'curate.file.failed' | 'curate.dir.start' | 'curate.dir.done' | 'curate.dir.failed' | 'curate.git.start' | 'curate.git.done' | 'curate.git.failed' | 'curate.http.done' | 'curate.http.failed' | 'vault.search' | 'note.read' | 'note.read.failed' | 'vault.clone.done' | 'vault.reindex' | 'vault.reset' | 'vault.prune_orphans' | 'embedder.init';
|
|
2
|
+
export interface CodexAuditEntry {
|
|
3
|
+
ts: string;
|
|
4
|
+
event: CodexEvent;
|
|
5
|
+
project: string;
|
|
6
|
+
path?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
query?: string;
|
|
9
|
+
status?: string;
|
|
10
|
+
durationMs?: number;
|
|
11
|
+
error?: string;
|
|
12
|
+
extra?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export declare class CodexAuditLogger {
|
|
15
|
+
private readonly logPath;
|
|
16
|
+
private readonly project;
|
|
17
|
+
private ensured;
|
|
18
|
+
constructor(logPath: string, project: string);
|
|
19
|
+
log(entry: Omit<CodexAuditEntry, 'ts' | 'project'>): Promise<void>;
|
|
20
|
+
/** Fire-and-forget — no bloquea la ejecución de la tool. */
|
|
21
|
+
write(entry: Omit<CodexAuditEntry, 'ts' | 'project'>): void;
|
|
22
|
+
/** Lee todas las entradas del log. */
|
|
23
|
+
readAll(): Promise<CodexAuditEntry[]>;
|
|
24
|
+
get path(): string;
|
|
25
|
+
}
|
|
26
|
+
export declare function buildCodexAuditPath(project: string, custom?: string): string;
|
|
27
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAEhB,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,GAEnB,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GAEpB,cAAc,GACd,WAAW,GACX,kBAAkB,GAElB,kBAAkB,GAClB,eAAe,GACf,aAAa,GACb,qBAAqB,GAErB,eAAe,CAAC;AAEtB,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAW,MAAM,CAAC;IACpB,KAAK,EAAQ,UAAU,CAAC;IACxB,OAAO,EAAM,MAAM,CAAC;IACpB,IAAI,CAAC,EAAQ,MAAM,CAAC;IACpB,GAAG,CAAC,EAAS,MAAM,CAAC;IACpB,KAAK,CAAC,EAAO,MAAM,CAAC;IACpB,MAAM,CAAC,EAAM,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAO,MAAM,CAAC;IACpB,KAAK,CAAC,EAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAID,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ5B,OAAO,CAAC,OAAO,CAA8B;gBAGxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM;IAG9B,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE,4DAA4D;IAC5D,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI;IAM3D,sCAAsC;IAChC,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAO3C,IAAI,IAAI,IAAI,MAAM,CAAyB;CAC9C;AAID,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5E"}
|
package/dist/audit.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import * as os from 'node:os';
|
|
4
|
+
// ── Logger ────────────────────────────────────────────────────────────────────
|
|
5
|
+
export class CodexAuditLogger {
|
|
6
|
+
logPath;
|
|
7
|
+
project;
|
|
8
|
+
ensured = null;
|
|
9
|
+
constructor(logPath, project) {
|
|
10
|
+
this.logPath = logPath;
|
|
11
|
+
this.project = project;
|
|
12
|
+
}
|
|
13
|
+
async log(entry) {
|
|
14
|
+
if (!this.ensured) {
|
|
15
|
+
this.ensured = fs.mkdir(path.dirname(this.logPath), { recursive: true }).then(() => undefined);
|
|
16
|
+
}
|
|
17
|
+
await this.ensured;
|
|
18
|
+
const full = { ts: new Date().toISOString(), project: this.project, ...entry };
|
|
19
|
+
await fs.appendFile(this.logPath, JSON.stringify(full) + '\n', 'utf-8');
|
|
20
|
+
}
|
|
21
|
+
/** Fire-and-forget — no bloquea la ejecución de la tool. */
|
|
22
|
+
write(entry) {
|
|
23
|
+
this.log(entry).catch(err => process.stderr.write(`[codex-audit] error: ${err.message}\n`));
|
|
24
|
+
}
|
|
25
|
+
/** Lee todas las entradas del log. */
|
|
26
|
+
async readAll() {
|
|
27
|
+
try {
|
|
28
|
+
const raw = await fs.readFile(this.logPath, 'utf-8');
|
|
29
|
+
return raw.split('\n').filter(l => l.trim()).map(l => JSON.parse(l));
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
get path() { return this.logPath; }
|
|
36
|
+
}
|
|
37
|
+
// ── Factory ───────────────────────────────────────────────────────────────────
|
|
38
|
+
export function buildCodexAuditPath(project, custom) {
|
|
39
|
+
return custom
|
|
40
|
+
? path.resolve(custom)
|
|
41
|
+
: path.join(os.homedir(), '.backendkit', 'audit', `codex-${project}.ndjson`);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAQ,kBAAkB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAQ,SAAS,CAAC;AA2ChC,iFAAiF;AAEjF,MAAM,OAAO,gBAAgB;IAIJ;IACA;IAJb,OAAO,GAAyB,IAAI,CAAC;IAE7C,YACqB,OAAe,EACf,OAAe;QADf,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAQ;IACjC,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,KAA8C;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC;QACnB,MAAM,IAAI,GAAoB,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QAChG,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,KAA8C;QAChD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAyB,GAAa,CAAC,OAAO,IAAI,CAAC,CAC3E,CAAC;IACN,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,OAAO;QACT,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAoB,CAAC,CAAC;QAC5F,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED,iFAAiF;AAEjF,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,MAAe;IAChE,OAAO,MAAM;QACT,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,OAAO,SAAS,CAAC,CAAC;AACrF,CAAC"}
|
package/dist/checksum.d.ts
CHANGED
|
@@ -19,29 +19,11 @@ export interface CodexManifest {
|
|
|
19
19
|
status: 'success' | 'failed' | 'skipped';
|
|
20
20
|
}>;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Calculate SHA256 hash of a file
|
|
24
|
-
*/
|
|
25
22
|
export declare function calculateFileHash(filePath: string): Promise<string>;
|
|
26
|
-
/**
|
|
27
|
-
* Load manifest from INPUT_PATH
|
|
28
|
-
*/
|
|
29
23
|
export declare function loadManifest(inputPath: string): Promise<CodexManifest | null>;
|
|
30
|
-
/**
|
|
31
|
-
* Save manifest to INPUT_PATH
|
|
32
|
-
*/
|
|
33
24
|
export declare function saveManifest(inputPath: string, manifest: CodexManifest): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Check if file changed since last analysis
|
|
36
|
-
*/
|
|
37
25
|
export declare function hasFileChanged(filePath: string, relativePath: string, manifest: CodexManifest | null): Promise<boolean>;
|
|
38
|
-
/**
|
|
39
|
-
* Create initial manifest
|
|
40
|
-
*/
|
|
41
26
|
export declare function createManifest(inputPath: string, outputPath: string): CodexManifest;
|
|
42
|
-
/**
|
|
43
|
-
* Update manifest with file analysis result
|
|
44
|
-
*/
|
|
45
27
|
export declare function updateManifestEntry(manifest: CodexManifest, filePath: string, relativePath: string, status: 'success' | 'failed' | 'skipped'): Promise<void>;
|
|
46
28
|
export declare function isCodeFile(filePath: string): boolean;
|
|
47
29
|
export declare function isDocFile(filePath: string): boolean;
|
|
@@ -49,8 +31,4 @@ export declare function findAllFiles(dirPath: string, relativePath?: string): Pr
|
|
|
49
31
|
fullPath: string;
|
|
50
32
|
relativePath: string;
|
|
51
33
|
}>>;
|
|
52
|
-
/**
|
|
53
|
-
* Generate analysis report
|
|
54
|
-
*/
|
|
55
|
-
export declare function generateReport(manifest: CodexManifest): string;
|
|
56
34
|
//# sourceMappingURL=checksum.d.ts.map
|
package/dist/checksum.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../src/checksum.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;KAC5C,CAAC,CAAC;CACN;AAED
|
|
1
|
+
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../src/checksum.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;KAC5C,CAAC,CAAC;CACN;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzE;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAQnF;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5F;AAED,wBAAsB,cAAc,CAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC/B,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CASnF;AAED,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GACzC,OAAO,CAAC,IAAI,CAAC,CAWf;AAQD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAsB,YAAY,CAC9B,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAW,GAC1B,OAAO,CAAC,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmC5D"}
|