@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.
@@ -2,23 +2,43 @@
2
2
 
3
3
  /**
4
4
  * Component: Logger
5
- * Block-UUID: 68b41f13-71ad-4b4e-a488-460e234ed5b1
6
- * Parent-UUID: N/A
7
- * Version: 1.0.0
8
- * Purpose: Centralized logging utility for the application.
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
- * Authors: OpenRouter - Gemini Flash 2.0 (v1.0.0)
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
- constructor(verbose = false) {
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
- * @param message - The message to log.
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
- * @param message - The message to log.
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
- * @param message - The message to log.
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
- * @param message - The message to log.
76
- * @param error - Optional error object to include in the log.
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":"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"}
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: 237b8cc5-5d1b-4285-82c4-0e1f49459f2c
13
- * Parent-UUID: 31839e44-58af-43ea-baab-96674d745ad0
14
- * Version: 8.0.0
15
- * Purpose: Add hash comparison and token estimation for directories
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: 2025-03-24T00:50:00.000Z
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.shouldSkipFile(normalizedPath)) {
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
- if (await this.fileProcessor.shouldSkipFile(path))
158
- continue;
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: ad2cbf42-6028-422b-959c-97100cefc2d5
13
- * Parent-UUID: 5cc5dcf8-63d7-415a-aa21-ffa85e3b8dd9
14
- * Version: 6.10.0
15
- * Description: Handles the import process logic for GitImporter with optimized metadata updates
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: 2025-09-30T17:00: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)
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":"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"}
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: 90d78242-374a-4a78-9ce6-e502bf172d87
13
- * Parent-UUID: 31839e44-58af-43ea-baab-96674d745ad0
14
- * Version: 6.6.0
15
- * Purpose: Core implementation of GitImporter class
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
- * 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)
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
- return await this.importProcessor.setupImport();
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":"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"}
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: 53463268-374b-4d55-a62a-bd6f62fa0eca
14
- * Parent-UUID: 4aafe5b6-dd58-4d15-9528-c5465ad07eb8
15
- * Version: 5.3.0
16
- * Description: Processes Git repository files for import, handling file creation, updates, and filtering
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
- * 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)
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
- return await this.updateExistingFile(existingFileChat.id, filePath);
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
- return await this.createNewFile(filePath, parentChatId, orderWeight);
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
- return commitInfo;
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