@gitsense/gscb-git-tools 0.6.0 → 0.7.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/cjs/common/logger.js +39 -14
- package/dist/cjs/common/logger.js.map +1 -1
- package/dist/cjs/importer/core/directory-processor.js +16 -9
- package/dist/cjs/importer/core/directory-processor.js.map +1 -1
- package/dist/cjs/importer/core/import-processor.js +70 -6
- package/dist/cjs/importer/core/import-processor.js.map +1 -1
- package/dist/cjs/importer/core/importer.js +26 -7
- package/dist/cjs/importer/core/importer.js.map +1 -1
- package/dist/cjs/importer/file-processor.js +72 -40
- package/dist/cjs/importer/file-processor.js.map +1 -1
- package/dist/cjs/importer/tree-processor.js +35 -8
- package/dist/cjs/importer/tree-processor.js.map +1 -1
- package/dist/esm/common/logger.js +39 -14
- package/dist/esm/common/logger.js.map +1 -1
- package/dist/esm/importer/core/directory-processor.js +16 -9
- package/dist/esm/importer/core/directory-processor.js.map +1 -1
- package/dist/esm/importer/core/import-processor.js +70 -6
- package/dist/esm/importer/core/import-processor.js.map +1 -1
- package/dist/esm/importer/core/importer.js +26 -7
- package/dist/esm/importer/core/importer.js.map +1 -1
- package/dist/esm/importer/file-processor.js +72 -40
- package/dist/esm/importer/file-processor.js.map +1 -1
- package/dist/esm/importer/tree-processor.js +35 -8
- package/dist/esm/importer/tree-processor.js.map +1 -1
- package/dist/index.d.ts +46 -26
- package/package.json +2 -2
|
@@ -2,23 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Component: Logger
|
|
5
|
-
* Block-UUID:
|
|
6
|
-
* Parent-UUID:
|
|
7
|
-
* Version: 1.0
|
|
8
|
-
* Purpose:
|
|
5
|
+
* Block-UUID: 7c6851c4-f157-4955-a840-11b6e8b9b513
|
|
6
|
+
* Parent-UUID: 7c3b5d3f-96bd-4626-b408-a3322720c1d3
|
|
7
|
+
* Version: 2.1.0
|
|
8
|
+
* Purpose: Ensure error messages always go to stderr, even in structured mode
|
|
9
9
|
* Language: TypeScript
|
|
10
10
|
* Created-at: 2025-03-12T18:06:11.373Z
|
|
11
|
-
*
|
|
11
|
+
* Updated-at: 2026-05-13T15:10:00.000Z
|
|
12
|
+
* Authors: OpenRouter - Gemini Flash 2.0 (v1.0.0), GLM-4.7 (v2.0.0), GLM-4.7 (v2.1.0)
|
|
12
13
|
*/
|
|
13
14
|
class Logger {
|
|
14
15
|
verbose;
|
|
15
|
-
|
|
16
|
+
structuredOutput;
|
|
17
|
+
constructor(verbose = false, structuredOutput = false) {
|
|
16
18
|
this.verbose = verbose;
|
|
19
|
+
this.structuredOutput = structuredOutput;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Emits a structured event to stdout.
|
|
23
|
+
* Only writes if structuredOutput is enabled.
|
|
24
|
+
*/
|
|
25
|
+
emit(type, data = {}) {
|
|
26
|
+
if (!this.structuredOutput)
|
|
27
|
+
return;
|
|
28
|
+
const event = {
|
|
29
|
+
type: type,
|
|
30
|
+
timestamp: new Date().toISOString(),
|
|
31
|
+
data
|
|
32
|
+
};
|
|
33
|
+
process.stdout.write(JSON.stringify(event) + '\n');
|
|
17
34
|
}
|
|
18
35
|
/**
|
|
19
36
|
* Logs messages to the console if verbose mode is enabled.
|
|
37
|
+
* Suppressed in structured mode to avoid polluting the NDJSON stream.
|
|
20
38
|
*/
|
|
21
39
|
log(message, details, isError = false) {
|
|
40
|
+
if (this.structuredOutput)
|
|
41
|
+
return;
|
|
22
42
|
if (this.verbose || isError) {
|
|
23
43
|
const timestamp = new Date().toISOString();
|
|
24
44
|
const logLevel = isError ? 'ERROR' : 'INFO';
|
|
@@ -40,10 +60,11 @@ class Logger {
|
|
|
40
60
|
}
|
|
41
61
|
/**
|
|
42
62
|
* Logs a debug message.
|
|
43
|
-
*
|
|
44
|
-
* @param details - Optional details to include in the log.
|
|
63
|
+
* Suppressed in structured mode.
|
|
45
64
|
*/
|
|
46
65
|
debug(message, details) {
|
|
66
|
+
if (this.structuredOutput)
|
|
67
|
+
return;
|
|
47
68
|
if (this.verbose) {
|
|
48
69
|
const timestamp = new Date().toISOString();
|
|
49
70
|
const fullMessage = `${timestamp} [DEBUG] ${message} ${details instanceof Error ? details.message : String(details)}`;
|
|
@@ -52,30 +73,34 @@ class Logger {
|
|
|
52
73
|
}
|
|
53
74
|
/**
|
|
54
75
|
* Logs an info message.
|
|
55
|
-
*
|
|
56
|
-
* @param details - Optional details to include in the log.
|
|
76
|
+
* Suppressed in structured mode.
|
|
57
77
|
*/
|
|
58
78
|
info(message, details) {
|
|
79
|
+
if (this.structuredOutput)
|
|
80
|
+
return;
|
|
59
81
|
const timestamp = new Date().toISOString();
|
|
60
82
|
const fullMessage = `${timestamp} [INFO] ${message} ${details instanceof Error ? details.message : String(details)}`;
|
|
61
83
|
console.log(fullMessage);
|
|
62
84
|
}
|
|
63
85
|
/**
|
|
64
86
|
* Logs a warning message.
|
|
65
|
-
*
|
|
66
|
-
* @param details - Optional details to include in the log.
|
|
87
|
+
* Suppressed in structured mode.
|
|
67
88
|
*/
|
|
68
89
|
warn(message, details) {
|
|
90
|
+
if (this.structuredOutput)
|
|
91
|
+
return;
|
|
69
92
|
const timestamp = new Date().toISOString();
|
|
70
93
|
const fullMessage = `${timestamp} [WARN] ${message} ${details instanceof Error ? details.message : String(details)}`;
|
|
71
94
|
console.warn(fullMessage);
|
|
72
95
|
}
|
|
73
96
|
/**
|
|
74
97
|
* Logs an error message.
|
|
75
|
-
*
|
|
76
|
-
*
|
|
98
|
+
* IMPORTANT: Always writes to stderr, even in structured mode.
|
|
99
|
+
* This ensures non-fatal errors (e.g., rollback failures) are visible for debugging.
|
|
77
100
|
*/
|
|
78
101
|
error(message, error) {
|
|
102
|
+
// Note: We do NOT check this.structuredOutput here.
|
|
103
|
+
// Errors should always go to stderr to ensure visibility.
|
|
79
104
|
const timestamp = new Date().toISOString();
|
|
80
105
|
let fullMessage = `${timestamp} [ERROR] ${message}`;
|
|
81
106
|
if (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sources":["../../../src/common/logger.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../../../src/common/logger.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -9,17 +9,17 @@ var path__default = /*#__PURE__*/_interopDefault(path);
|
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Component: Directory Processor
|
|
12
|
-
* Block-UUID:
|
|
13
|
-
* Parent-UUID:
|
|
14
|
-
* Version: 8.
|
|
15
|
-
* Purpose:
|
|
12
|
+
* Block-UUID: 5b8e0c49-f2f2-404f-ab76-ce812e2e3496
|
|
13
|
+
* Parent-UUID: 8a9f5d7f-deb7-4610-bfc7-b7f99120de05
|
|
14
|
+
* Version: 8.2.0
|
|
15
|
+
* Purpose: Emit scan_complete event and remove redundant skip guard
|
|
16
16
|
* Language: TypeScript
|
|
17
17
|
* Created-at: 2025-03-15T05:58:33.811Z
|
|
18
|
-
* Updated-at:
|
|
18
|
+
* Updated-at: 2026-05-13T15:48:00.000Z
|
|
19
19
|
* Authors: Claude 3.5 Sonnet (v5.0.1), Bard, Claude 3.5 Sonnet (v6.0.0), Claude 3.7 Sonnet (v6.3.0),
|
|
20
20
|
* OpenRouter - Gemini Flash 2.0 (v6.4.0), OpenRouter - Gemini Flash 2.0 (v6.5.0),
|
|
21
21
|
* together.ai - DeepSeek v3 (v6.6.0), Claude 3.7 Sonnet (v6.7.0), together.ai - DeepSeek v3 (v6.8.0),
|
|
22
|
-
* together.ai - DeepSeek v3 (v7.0.0), together.ai - DeepSeek v3 (v8.0.0)
|
|
22
|
+
* together.ai - DeepSeek v3 (v7.0.0), together.ai - DeepSeek v3 (v8.0.0), GLM-4.7 (v8.1.0), GLM-4.7 (v8.2.0)
|
|
23
23
|
*/
|
|
24
24
|
class DirectoryProcessor {
|
|
25
25
|
dbClient;
|
|
@@ -50,6 +50,12 @@ class DirectoryProcessor {
|
|
|
50
50
|
*/
|
|
51
51
|
async processFiles(rootChatId) {
|
|
52
52
|
try {
|
|
53
|
+
// Pre-scan to get the total file count for the progress bar
|
|
54
|
+
const totalFiles = await this.treeProcessor.countFiles('');
|
|
55
|
+
this.logger.emit('scan_complete', {
|
|
56
|
+
total_files: totalFiles,
|
|
57
|
+
mode: 'full'
|
|
58
|
+
});
|
|
53
59
|
// Start processing from the root directory. Empty string is root.
|
|
54
60
|
return await this.processDirectory('', rootChatId);
|
|
55
61
|
}
|
|
@@ -70,7 +76,7 @@ class DirectoryProcessor {
|
|
|
70
76
|
const normalizedPath = this.normalizePath(entry.path);
|
|
71
77
|
// Skip files that match skip patterns if they're being added or modified
|
|
72
78
|
if (entry.entryType === 'file' && entry.changeType !== 'delete' &&
|
|
73
|
-
await this.fileProcessor.
|
|
79
|
+
await this.fileProcessor.getSkipReason(normalizedPath)) {
|
|
74
80
|
this.logger.log(`Skipping file: ${normalizedPath}`);
|
|
75
81
|
continue;
|
|
76
82
|
}
|
|
@@ -154,8 +160,9 @@ class DirectoryProcessor {
|
|
|
154
160
|
}
|
|
155
161
|
for (const file of files) {
|
|
156
162
|
const { path } = file;
|
|
157
|
-
|
|
158
|
-
|
|
163
|
+
// Skip check removed: FileProcessor.processFile handles this and emits file_skip events.
|
|
164
|
+
// if (await this.fileProcessor.getSkipReason(path))
|
|
165
|
+
// continue;
|
|
159
166
|
orderWeight += 10;
|
|
160
167
|
const fileCommit = await this.fileProcessor.processFile(dirPath + (dirPath === '' ? '' : '/') + path, dirChatId, orderWeight);
|
|
161
168
|
if (fileCommit)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-processor.js","sources":["../../../../src/importer/core/directory-processor.ts"],"sourcesContent":[null],"names":["path","Utils"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directory-processor.js","sources":["../../../../src/importer/core/directory-processor.ts"],"sourcesContent":[null],"names":["path","Utils"],"mappings":"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"}
|
|
@@ -9,14 +9,14 @@ var metadataManager = require('../../common/metadata-manager.js');
|
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Component: Import Processor
|
|
12
|
-
* Block-UUID:
|
|
13
|
-
* Parent-UUID:
|
|
14
|
-
* Version: 6.
|
|
15
|
-
* Description:
|
|
12
|
+
* Block-UUID: f9e799d2-4fa8-4f9d-a1b3-a1df2e8ad76c
|
|
13
|
+
* Parent-UUID: 3ca2d722-ccad-49ea-b26f-ddb97b245213
|
|
14
|
+
* Version: 6.13.0
|
|
15
|
+
* Description: Implement recursive countImportedBlobs for accurate resume_detected event
|
|
16
16
|
* Language: TypeScript
|
|
17
17
|
* Created-at: 2025-03-17T04:14:43.902Z
|
|
18
|
-
* Updated-at:
|
|
19
|
-
* Authors: Claude 3.5 Sonnet (v5.0.1), Bard, Claude 3.5 Sonnet (v6.0.0), Claude 3.7 Sonnet (v6.3.0), OpenRouter - Gemini Flash 2.0 (v6.4.0), OpenRouter - Gemini Flash 2.0 (v6.5.0), together.ai - DeepSeek v3 (v6.6.0), Claude 3.7 Sonnet (v6.7.0), together.ai - DeepSeek v3 (v6.8.0), Qwen 3 Coder 480B - Cerebras (v6.9.0), Claude 4.0 Sonnet (v6.10.0)
|
|
18
|
+
* Updated-at: 2026-05-13T15:05:00.000Z
|
|
19
|
+
* Authors: Claude 3.5 Sonnet (v5.0.1), Bard, Claude 3.5 Sonnet (v6.0.0), Claude 3.7 Sonnet (v6.3.0), OpenRouter - Gemini Flash 2.0 (v6.4.0), OpenRouter - Gemini Flash 2.0 (v6.5.0), together.ai - DeepSeek v3 (v6.6.0), Claude 3.7 Sonnet (v6.7.0), together.ai - DeepSeek v3 (v6.8.0), Qwen 3 Coder 480B - Cerebras (v6.9.0), Claude 4.0 Sonnet (v6.10.0), GLM-4.7 (v6.11.0), GLM-4.7 (v6.12.0), GLM-4.7 (v6.13.0)
|
|
20
20
|
*/
|
|
21
21
|
class ImportProcessor {
|
|
22
22
|
dbClient;
|
|
@@ -60,6 +60,10 @@ class ImportProcessor {
|
|
|
60
60
|
if (meta && meta.import?.status === 'imported' && meta.commit) {
|
|
61
61
|
await this.processExistingImport(meta, currentCommit, refChatId, repoGroupId);
|
|
62
62
|
}
|
|
63
|
+
else if (meta && meta.import?.status === 'importing' && meta.commit) {
|
|
64
|
+
// Handle interrupted import
|
|
65
|
+
await this.processResumeImport(meta, currentCommit, refChatId, repoGroupId);
|
|
66
|
+
}
|
|
63
67
|
else {
|
|
64
68
|
await this.processNewImport(refChatId, repoGroupId);
|
|
65
69
|
}
|
|
@@ -69,6 +73,35 @@ class ImportProcessor {
|
|
|
69
73
|
throw error;
|
|
70
74
|
}
|
|
71
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Processes an interrupted import by verifying commit hash and resuming.
|
|
78
|
+
*/
|
|
79
|
+
async processResumeImport(meta, currentCommit, refChatId, repoGroupId) {
|
|
80
|
+
if (!meta.commit)
|
|
81
|
+
throw new Error("No ref commit meta or hash found");
|
|
82
|
+
// Verify the commit hash matches (user didn't switch branches mid-import)
|
|
83
|
+
if (meta.commit.hash !== currentCommit) {
|
|
84
|
+
throw new Error(`Interrupted import detected for ref '${meta.name || 'unknown'}' (commit: ${meta.commit.hash}), ` +
|
|
85
|
+
`but current ref is '${this.ref}' (commit: ${currentCommit}). ` +
|
|
86
|
+
`Please remove the existing import or reset the ref to the previous commit.`);
|
|
87
|
+
}
|
|
88
|
+
const metadataManager = this.getMetadataManager();
|
|
89
|
+
// Count already imported files for the resume event
|
|
90
|
+
const alreadyDone = await this.countImportedBlobs(refChatId);
|
|
91
|
+
this.logger.emit('resume_detected', {
|
|
92
|
+
already_imported: alreadyDone
|
|
93
|
+
});
|
|
94
|
+
// Mark the start of the import and update parent repo metadata
|
|
95
|
+
await metadataManager.markImportStarted(refChatId, this.ref);
|
|
96
|
+
await metadataManager.updateParentRepoImportMetadata(refChatId, this.ref, 'start');
|
|
97
|
+
// Reuse the full import logic; FileProcessor will skip existing files
|
|
98
|
+
const directoryProcessor$1 = new directoryProcessor.DirectoryProcessor(this.dbClient, this.gitRepo, this.getFileProcessor(refChatId, repoGroupId), this.getTreeProcessor(refChatId, repoGroupId), this.getMetadataManager(), this.chatManager, this.logger);
|
|
99
|
+
await directoryProcessor$1.processFiles(refChatId);
|
|
100
|
+
// Mark the import as finished and update parent repo metadata
|
|
101
|
+
await metadataManager.markImportFinished(refChatId);
|
|
102
|
+
await metadataManager.updateParentRepoImportMetadata(refChatId, this.ref, 'finish', 'imported');
|
|
103
|
+
this.logger.log('Resume import completed successfully');
|
|
104
|
+
}
|
|
72
105
|
/**
|
|
73
106
|
* Processes an existing import by checking for changes and performing an incremental import if necessary.
|
|
74
107
|
*/
|
|
@@ -87,6 +120,19 @@ class ImportProcessor {
|
|
|
87
120
|
await metadataManager.updateParentRepoImportMetadata(refChatId, this.ref, 'start');
|
|
88
121
|
// Get the list of changed entries with their change types
|
|
89
122
|
const changedEntries = await this.gitRepo.getChangedEntriesBetweenCommits(meta.commit?.hash || '', currentCommit, { includeFiles: true, includeDirectories: true });
|
|
123
|
+
// Emit plan event with counts
|
|
124
|
+
const addedFiles = changedEntries.filter(e => e.entryType === 'file' && e.changeType === 'add');
|
|
125
|
+
const modifiedFiles = changedEntries.filter(e => e.entryType === 'file' && e.changeType === 'modify');
|
|
126
|
+
const deletedFiles = changedEntries.filter(e => e.entryType === 'file' && e.changeType === 'delete');
|
|
127
|
+
const changedDirs = changedEntries.filter(e => e.entryType === 'directory');
|
|
128
|
+
this.logger.emit('plan', {
|
|
129
|
+
mode: 'incremental',
|
|
130
|
+
total_files: addedFiles.length + modifiedFiles.length + deletedFiles.length,
|
|
131
|
+
added: addedFiles.length,
|
|
132
|
+
modified: modifiedFiles.length,
|
|
133
|
+
deleted: deletedFiles.length,
|
|
134
|
+
dirs_changed: changedDirs.length
|
|
135
|
+
});
|
|
90
136
|
if (changedEntries.length > 0) {
|
|
91
137
|
this.logger.log(`Found ${changedEntries.length} changed entries to process`);
|
|
92
138
|
// Process the changed entries
|
|
@@ -126,6 +172,24 @@ class ImportProcessor {
|
|
|
126
172
|
await metadataManager.updateParentRepoImportMetadata(refChatId, this.ref, 'finish', 'imported');
|
|
127
173
|
this.logger.log('Full import completed successfully');
|
|
128
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Recursively counts all git-blob chats under a specific ref chat.
|
|
177
|
+
* This is used to provide an accurate count for the resume_detected event.
|
|
178
|
+
*/
|
|
179
|
+
async countImportedBlobs(refChatId) {
|
|
180
|
+
let count = 0;
|
|
181
|
+
const children = await this.dbClient.getChatsByParentId(refChatId);
|
|
182
|
+
for (const child of children) {
|
|
183
|
+
if (child.type === 'git-blob') {
|
|
184
|
+
count++;
|
|
185
|
+
}
|
|
186
|
+
else if (child.type === 'git-tree') {
|
|
187
|
+
// Recursively count blobs in subdirectories
|
|
188
|
+
count += await this.countImportedBlobs(child.id);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return count;
|
|
192
|
+
}
|
|
129
193
|
/**
|
|
130
194
|
* Gets the chat hierarchy from git-repos down to git-ref
|
|
131
195
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-processor.js","sources":["../../../../src/importer/core/import-processor.ts"],"sourcesContent":[null],"names":["ChatManager","MessageManager","directoryProcessor","DirectoryProcessor","MetadataManager","FileProcessor","TreeProcessor"],"mappings":";;;;;;;;;AAAA;;;;;;;;;;AAUG;MAeU,eAAe,CAAA;AASH,IAAA,QAAA;AACA,IAAA,OAAA;AACA,IAAA,SAAA;AACA,IAAA,QAAA;AACA,IAAA,GAAA;AACA,IAAA,OAAA;AACA,IAAA,OAAA;AACA,IAAA,MAAA;AAfJ,IAAA,WAAW;AACX,IAAA,cAAc;IACvB,gBAAgB,GAA2B,IAAI;IAC/C,cAAc,GAAyB,IAAI;IAC3C,cAAc,GAAyB,IAAI;IAC3C,UAAU,GAAkB,IAAI;AAExC,IAAA,WAAA,CACqB,QAAwB,EACxB,OAAmB,EACnB,SAAiB,EACjB,QAAgB,EAChB,GAAW,EACX,OAAgB,EAChB,OAAsB,EACtB,MAAc,EAAA;QAPd,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAG,CAAA,GAAA,GAAH,GAAG;QACH,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAM,CAAA,MAAA,GAAN,MAAM;QAEvB,IAAI,CAAC,WAAW,GAAG,IAAIA,uBAAW,CAC9B,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,EACH,OAAO,EACP,OAAO,EACP,MAAM,CACT;QAED,IAAI,CAAC,cAAc,GAAG,IAAIC,6BAAc,CAAC,QAAQ,EAAE,MAAM,CAAC;;AAG9D;;AAEG;AACH,IAAA,MAAM,WAAW,GAAA;AACb,QAAA,IAAI;;AAEA,YAAA,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;AAC9E,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;AAG3B,YAAA,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC;AAC7D,YAAA,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,EAAE;AAEhC,YAAA,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;AAC3D,gBAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC;;
|
|
1
|
+
{"version":3,"file":"import-processor.js","sources":["../../../../src/importer/core/import-processor.ts"],"sourcesContent":[null],"names":["ChatManager","MessageManager","directoryProcessor","DirectoryProcessor","MetadataManager","FileProcessor","TreeProcessor"],"mappings":"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"}
|
|
@@ -9,13 +9,14 @@ var errorHandler = require('./error-handler.js');
|
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Component: Git Repository Importer (Core)
|
|
12
|
-
* Block-UUID:
|
|
13
|
-
* Parent-UUID:
|
|
14
|
-
* Version: 6.
|
|
15
|
-
* Purpose:
|
|
12
|
+
* Block-UUID: 23dda2c0-82ba-4d2e-bf83-c26bc2d394da
|
|
13
|
+
* Parent-UUID: 90d78242-374a-4a78-9ce6-e502bf172d87
|
|
14
|
+
* Version: 6.7.0
|
|
15
|
+
* Purpose: Add structured output event emission (init, complete, error)
|
|
16
16
|
* Language: TypeScript
|
|
17
17
|
* Created-at: 2025-03-15T05:57:33.811Z
|
|
18
|
-
*
|
|
18
|
+
* Updated-at: 2026-05-13T14:46:00.000Z
|
|
19
|
+
* Authors: Claude 3.5 Sonnet (v5.0.1), Bard, Claude 3.5 Sonnet (v6.0.0), Claude 3.7 Sonnet (v6.3.0), OpenRouter - Gemini Flash 2.0 (v6.4.0), OpenRouter - Gemini Flash 2.0 (v6.5.0), together.ai - DeepSeek v3 (v6.6.0), GLM-4.7 (v6.7.0)
|
|
19
20
|
*/
|
|
20
21
|
class GitImporter {
|
|
21
22
|
repoPath;
|
|
@@ -67,7 +68,7 @@ class GitImporter {
|
|
|
67
68
|
path: dbPath
|
|
68
69
|
};
|
|
69
70
|
this.dbClient = new gscbDb.DatabaseClient(dbConfig);
|
|
70
|
-
this.logger = new logger.Logger(this.options.verbose || false);
|
|
71
|
+
this.logger = new logger.Logger(this.options.verbose || false, this.options.structuredOutput || false);
|
|
71
72
|
// Initialize modules
|
|
72
73
|
this.importProcessor = new importProcessor.ImportProcessor(this.dbClient, this.gitRepo, this.repoOwner, this.repoName, this.ref, this.refType, this.options, this.logger);
|
|
73
74
|
this.errorHandler = new errorHandler.ErrorHandler(this.logger);
|
|
@@ -98,11 +99,29 @@ class GitImporter {
|
|
|
98
99
|
* @throws {Error} If initialization fails or chat hierarchy setup fails
|
|
99
100
|
*/
|
|
100
101
|
async import() {
|
|
102
|
+
const startTime = Date.now();
|
|
101
103
|
try {
|
|
102
104
|
await this.initialize();
|
|
103
|
-
|
|
105
|
+
// Emit init event with repo context
|
|
106
|
+
this.logger.emit('init', {
|
|
107
|
+
owner: this.repoOwner,
|
|
108
|
+
repo: this.repoName,
|
|
109
|
+
ref: this.ref,
|
|
110
|
+
refType: this.refType
|
|
111
|
+
});
|
|
112
|
+
const result = await this.importProcessor.setupImport();
|
|
113
|
+
// Emit complete event
|
|
114
|
+
this.logger.emit('complete', {
|
|
115
|
+
ref_chat_id: result.refChatId,
|
|
116
|
+
duration_ms: Date.now() - startTime
|
|
117
|
+
});
|
|
118
|
+
return result;
|
|
104
119
|
}
|
|
105
120
|
catch (error) {
|
|
121
|
+
// Emit error event
|
|
122
|
+
this.logger.emit('error', {
|
|
123
|
+
message: error instanceof Error ? error.message : String(error)
|
|
124
|
+
});
|
|
106
125
|
await this.errorHandler.handleError(error);
|
|
107
126
|
// This line is needed to satisfy TypeScript, though it will never be reached
|
|
108
127
|
// because handleError always throws
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer.js","sources":["../../../../src/importer/core/importer.ts"],"sourcesContent":[null],"names":["DEFAULT_OPTIONS","Repository","DatabaseClient","Logger","ImportProcessor","ErrorHandler"],"mappings":";;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"importer.js","sources":["../../../../src/importer/core/importer.ts"],"sourcesContent":[null],"names":["DEFAULT_OPTIONS","Repository","DatabaseClient","Logger","ImportProcessor","ErrorHandler"],"mappings":"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"}
|
|
@@ -10,13 +10,14 @@ var path__default = /*#__PURE__*/_interopDefault(path);
|
|
|
10
10
|
|
|
11
11
|
/*
|
|
12
12
|
* Component: File Processor
|
|
13
|
-
* Block-UUID:
|
|
14
|
-
* Parent-UUID:
|
|
15
|
-
* Version: 5.
|
|
16
|
-
* Description:
|
|
13
|
+
* Block-UUID: e6936ca9-9ce1-429c-b1c8-080f62c654f9
|
|
14
|
+
* Parent-UUID: b4e137b5-4954-4a9f-b3ef-c87d0a75efc9
|
|
15
|
+
* Version: 5.5.0
|
|
16
|
+
* Description: Fix double file read by returning token count from create/update methods
|
|
17
17
|
* Language: TypeScript
|
|
18
18
|
* Created-at: 2025-09-18T21:48:15.228Z
|
|
19
|
-
*
|
|
19
|
+
* Updated-at: 2026-05-13T15:00:00.000Z
|
|
20
|
+
* Authors: Claude 3.5 Sonnet (v3.0.0), Bard, together.ai - DeepSeek v3 (v3.3.0), together.ai - DeepSeek v3 (v4.0.0), together.ai - DeepSeek v3 (v5.0.0), Claude 3.7 Sonnet (v5.1.0), Qwen 3 Coder 480B - Cerebras (v5.2.0), Claude 4.0 Sonnet (v5.3.0), GLM-4.7 (v5.4.0), GLM-4.7 (v5.5.0)
|
|
20
21
|
*/
|
|
21
22
|
class FileProcessor {
|
|
22
23
|
dbClient;
|
|
@@ -46,26 +47,84 @@ class FileProcessor {
|
|
|
46
47
|
const wordCount = text.split(/\s+/).filter(Boolean).length;
|
|
47
48
|
return Math.ceil(wordCount * 1.33);
|
|
48
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Determines if a file should be skipped and returns the reason.
|
|
52
|
+
*/
|
|
53
|
+
async getSkipReason(filePath) {
|
|
54
|
+
const { skipPatterns, includePatterns, skipBinaryFiles, maxFileSize } = this.options;
|
|
55
|
+
// Check against skip patterns first (fastest check)
|
|
56
|
+
if (skipPatterns?.some(pattern => pattern.test(filePath))) {
|
|
57
|
+
return 'pattern';
|
|
58
|
+
}
|
|
59
|
+
// Check if file is binary (if skipBinaryFiles is enabled)
|
|
60
|
+
if (skipBinaryFiles) {
|
|
61
|
+
try {
|
|
62
|
+
const isBinary = await gscbUtils.FSUtils.isBinaryFile(filePath);
|
|
63
|
+
if (isBinary) {
|
|
64
|
+
return 'binary';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
this.logger.log(`Error checking if file '${filePath}' is binary: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Check against include patterns if specified
|
|
72
|
+
if (includePatterns?.length && !includePatterns.some(pattern => pattern.test(filePath))) {
|
|
73
|
+
return 'include_pattern';
|
|
74
|
+
}
|
|
75
|
+
// Check file size
|
|
76
|
+
if (maxFileSize) {
|
|
77
|
+
try {
|
|
78
|
+
const fileInfo = await this.gitRepo.getFileInfo(filePath);
|
|
79
|
+
if (fileInfo.size > maxFileSize) {
|
|
80
|
+
return 'max_size';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
// If we can't get file info, we probably can't process it anyway, so skip
|
|
85
|
+
return 'file_info_error';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
49
90
|
/**
|
|
50
91
|
* Processes a file and returns its GitCommitInfo.
|
|
51
92
|
* If the file already exists in the database, it will update the existing chat.
|
|
93
|
+
* Returns null if the file was skipped.
|
|
52
94
|
*/
|
|
53
95
|
async processFile(filePath, parentChatId, orderWeight) {
|
|
54
96
|
try {
|
|
97
|
+
// Check if we should skip this file
|
|
98
|
+
const skipReason = await this.getSkipReason(filePath);
|
|
99
|
+
if (skipReason) {
|
|
100
|
+
this.logger.emit('file_skip', { path: filePath, reason: skipReason });
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
// Emit file start event
|
|
104
|
+
this.logger.emit('file_start', { path: filePath });
|
|
55
105
|
// Check if a chat for this file already exists
|
|
56
106
|
const fileName = path__default.default.basename(filePath);
|
|
57
107
|
const childChats = await this.dbClient.getChatsByParentId(parentChatId);
|
|
58
108
|
const existingFileChat = childChats.find(chat => chat.type === 'git-blob' &&
|
|
59
109
|
chat.name === fileName &&
|
|
60
110
|
chat.meta?.path === filePath);
|
|
111
|
+
let commitInfo;
|
|
112
|
+
let fileTokens;
|
|
61
113
|
if (existingFileChat) {
|
|
62
114
|
// Update existing file chat
|
|
63
|
-
|
|
115
|
+
const result = await this.updateExistingFile(existingFileChat.id, filePath);
|
|
116
|
+
commitInfo = result.commitInfo;
|
|
117
|
+
fileTokens = result.tokens;
|
|
64
118
|
}
|
|
65
119
|
else {
|
|
66
120
|
// Create new file chat
|
|
67
|
-
|
|
121
|
+
const result = await this.createNewFile(filePath, parentChatId, orderWeight);
|
|
122
|
+
commitInfo = result.commitInfo;
|
|
123
|
+
fileTokens = result.tokens;
|
|
68
124
|
}
|
|
125
|
+
// Emit file done event with the token count we already calculated
|
|
126
|
+
this.logger.emit('file_done', { path: filePath, tokens: fileTokens });
|
|
127
|
+
return commitInfo;
|
|
69
128
|
}
|
|
70
129
|
catch (error) {
|
|
71
130
|
throw new Error(`Failed to process file '${filePath}': ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -73,6 +132,7 @@ class FileProcessor {
|
|
|
73
132
|
}
|
|
74
133
|
/**
|
|
75
134
|
* Creates a new file chat.
|
|
135
|
+
* Returns both the commit info and the calculated token count.
|
|
76
136
|
*/
|
|
77
137
|
async createNewFile(filePath, parentChatId, orderWeight) {
|
|
78
138
|
const fileInfo = await this.gitRepo.getFileInfo(filePath);
|
|
@@ -118,10 +178,11 @@ class FileProcessor {
|
|
|
118
178
|
}
|
|
119
179
|
};
|
|
120
180
|
await this.chatManager.createChat(type, path__default.default.basename(filePath), parentChatId, this.repoGroupId, meta, content.toString(), orderWeight);
|
|
121
|
-
return commitInfo;
|
|
181
|
+
return { commitInfo, tokens: contentTokens };
|
|
122
182
|
}
|
|
123
183
|
/**
|
|
124
184
|
* Updates an existing file chat.
|
|
185
|
+
* Returns both the commit info and the calculated token count.
|
|
125
186
|
*/
|
|
126
187
|
async updateExistingFile(chatId, filePath) {
|
|
127
188
|
// Get the current file information
|
|
@@ -136,7 +197,8 @@ class FileProcessor {
|
|
|
136
197
|
// Skip update if the commit hash hasn't changed
|
|
137
198
|
if (oldMeta.commit?.hash === commitInfo.hash) {
|
|
138
199
|
this.logger.log(`Skipping update for file '${filePath}' (commit hash unchanged)`);
|
|
139
|
-
|
|
200
|
+
// Return 0 tokens since we didn't actually process the content
|
|
201
|
+
return { commitInfo, tokens: 0 };
|
|
140
202
|
}
|
|
141
203
|
// Estimate tokens for content and metadata
|
|
142
204
|
const contentTokens = this.estimateTokens(content.toString());
|
|
@@ -179,37 +241,7 @@ class FileProcessor {
|
|
|
179
241
|
await this.chatManager.updateMessage(mainMessage.id, {
|
|
180
242
|
message: gitBlobMessage
|
|
181
243
|
});
|
|
182
|
-
return commitInfo;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Determines whether a file should be skipped based on the provided patterns.
|
|
186
|
-
*/
|
|
187
|
-
async shouldSkipFile(filePath) {
|
|
188
|
-
const { skipPatterns, includePatterns, skipBinaryFiles } = this.options;
|
|
189
|
-
// Check against skip patterns first (fastest check)
|
|
190
|
-
if (skipPatterns?.some(pattern => pattern.test(filePath))) {
|
|
191
|
-
this.logger.log(`Skipping file '${filePath}' (matched skip pattern)`);
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
// Check if file is binary (if skipBinaryFiles is enabled)
|
|
195
|
-
if (skipBinaryFiles) {
|
|
196
|
-
try {
|
|
197
|
-
const isBinary = await gscbUtils.FSUtils.isBinaryFile(filePath);
|
|
198
|
-
if (isBinary) {
|
|
199
|
-
this.logger.log(`Skipping binary file '${filePath}'`);
|
|
200
|
-
return true;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
catch (error) {
|
|
204
|
-
this.logger.log(`Error checking if file '${filePath}' is binary: ${error instanceof Error ? error.message : String(error)}`);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
// Check against include patterns if specified
|
|
208
|
-
if (includePatterns?.length && !includePatterns.some(pattern => pattern.test(filePath))) {
|
|
209
|
-
this.logger.log(`Skipping file '${filePath}' (did not match include pattern)`);
|
|
210
|
-
return true;
|
|
211
|
-
}
|
|
212
|
-
return false;
|
|
244
|
+
return { commitInfo, tokens: contentTokens };
|
|
213
245
|
}
|
|
214
246
|
}
|
|
215
247
|
|