@gitsense/gscb-git-tools 0.6.0 → 0.8.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.
Files changed (34) hide show
  1. package/dist/cjs/common/logger.js +39 -14
  2. package/dist/cjs/common/logger.js.map +1 -1
  3. package/dist/cjs/importer/chat-manager/chat-manager.js +7 -7
  4. package/dist/cjs/importer/chat-manager/chat-manager.js.map +1 -1
  5. package/dist/cjs/importer/chat-manager/hierarchy-manager.js +10 -7
  6. package/dist/cjs/importer/chat-manager/hierarchy-manager.js.map +1 -1
  7. package/dist/cjs/importer/core/directory-processor.js +16 -9
  8. package/dist/cjs/importer/core/directory-processor.js.map +1 -1
  9. package/dist/cjs/importer/core/import-processor.js +70 -6
  10. package/dist/cjs/importer/core/import-processor.js.map +1 -1
  11. package/dist/cjs/importer/core/importer.js +26 -7
  12. package/dist/cjs/importer/core/importer.js.map +1 -1
  13. package/dist/cjs/importer/file-processor.js +72 -40
  14. package/dist/cjs/importer/file-processor.js.map +1 -1
  15. package/dist/cjs/importer/tree-processor.js +35 -8
  16. package/dist/cjs/importer/tree-processor.js.map +1 -1
  17. package/dist/esm/common/logger.js +39 -14
  18. package/dist/esm/common/logger.js.map +1 -1
  19. package/dist/esm/importer/chat-manager/chat-manager.js +7 -7
  20. package/dist/esm/importer/chat-manager/chat-manager.js.map +1 -1
  21. package/dist/esm/importer/chat-manager/hierarchy-manager.js +10 -7
  22. package/dist/esm/importer/chat-manager/hierarchy-manager.js.map +1 -1
  23. package/dist/esm/importer/core/directory-processor.js +16 -9
  24. package/dist/esm/importer/core/directory-processor.js.map +1 -1
  25. package/dist/esm/importer/core/import-processor.js +70 -6
  26. package/dist/esm/importer/core/import-processor.js.map +1 -1
  27. package/dist/esm/importer/core/importer.js +26 -7
  28. package/dist/esm/importer/core/importer.js.map +1 -1
  29. package/dist/esm/importer/file-processor.js +72 -40
  30. package/dist/esm/importer/file-processor.js.map +1 -1
  31. package/dist/esm/importer/tree-processor.js +35 -8
  32. package/dist/esm/importer/tree-processor.js.map +1 -1
  33. package/dist/index.d.ts +48 -26
  34. package/package.json +2 -2
@@ -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
 
@@ -1 +1 @@
1
- {"version":3,"file":"file-processor.js","sources":["../../../src/importer/file-processor.ts"],"sourcesContent":[null],"names":["path","detectLanguage","getHighlightSyntax","FSUtils"],"mappings":"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"}
1
+ {"version":3,"file":"file-processor.js","sources":["../../../src/importer/file-processor.ts"],"sourcesContent":[null],"names":["FSUtils","path","detectLanguage","getHighlightSyntax"],"mappings":"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"}
@@ -10,13 +10,14 @@ var path__default = /*#__PURE__*/_interopDefault(path);
10
10
 
11
11
  /**
12
12
  * Component: Tree Processor
13
- * Block-UUID: 830a8b57-2a77-4378-b53f-6b34ee4ac3d7
14
- * Parent-UUID: 8dae0f9e-6bbf-4dc9-876a-9f5398f26624
15
- * Version: 4.2.0
16
- * Description: Add support for handling deleted files and directories
13
+ * Block-UUID: a3b2c07c-a9c7-446e-978e-fba599e6e584
14
+ * Parent-UUID: f14f5d7f-deb7-4610-bfc7-b7f99120de05
15
+ * Version: 4.4.0
16
+ * Description: Make countFiles public so it can be called by DirectoryProcessor
17
17
  * Language: TypeScript
18
18
  * Created-at: 2025-09-18T21:48:15.228Z
19
- * Authors: Claude 3.5 Sonnet (v3.0.0), Bard, Claude 3.5 Sonnet (v3.1.0), together.ai - DeepSeek v3 (v3.3.0), Claude 3.7 Sonnet (v3.4.0), together.ai - DeepSeek v3 (v4.0.0), Qwen 3 Coder 480B - Cerebras (v4.1.0), Claude 4.0 Sonnet (v4.2.0)
19
+ * Updated-at: 2026-05-13T15:45:00.000Z
20
+ * Authors: Claude 3.5 Sonnet (v3.0.0), Bard, Claude 3.5 Sonnet (v3.1.0), together.ai - DeepSeek v3 (v3.3.0), Claude 3.7 Sonnet (v3.4.0), together.ai - DeepSeek v3 (v4.0.0), Qwen 3 Coder 480B - Cerebras (v4.1.0), Claude 4.0 Sonnet (v4.2.0), GLM-4.7 (v4.3.0), GLM-4.7 (v4.4.0)
20
21
  */
21
22
  class TreeProcessor {
22
23
  gitRepo;
@@ -42,6 +43,12 @@ class TreeProcessor {
42
43
  */
43
44
  async processFiles(rootChatId) {
44
45
  try {
46
+ // Pre-scan to get the total file count for the progress bar
47
+ const totalFiles = await this.countFiles('');
48
+ this.logger.emit('scan_complete', {
49
+ total_files: totalFiles,
50
+ mode: 'full'
51
+ });
45
52
  // Start processing from the root directory. Empty string is root.
46
53
  await this.processDirectory('', rootChatId);
47
54
  }
@@ -49,6 +56,27 @@ class TreeProcessor {
49
56
  throw new Error(`Failed to process files: ${error instanceof Error ? error.message : String(error)}`);
50
57
  }
51
58
  }
59
+ /**
60
+ * Recursively counts files that will be processed (not skipped).
61
+ * Made public to allow DirectoryProcessor to call it.
62
+ */
63
+ async countFiles(dirPath) {
64
+ const entries = await this.gitRepo.listDirectory(dirPath);
65
+ let count = 0;
66
+ for (const entry of entries) {
67
+ if (entry.type === 'tree') {
68
+ count += await this.countFiles(dirPath + (dirPath === '' ? '' : '/') + entry.path);
69
+ }
70
+ else {
71
+ // Check if we would skip this file
72
+ const fullPath = dirPath + (dirPath === '' ? '' : '/') + entry.path;
73
+ if (!(await this.fileProcessor.getSkipReason(fullPath))) {
74
+ count++;
75
+ }
76
+ }
77
+ }
78
+ return count;
79
+ }
52
80
  /**
53
81
  * Recursively processes a directory and its contents.
54
82
  * Returns the latest GitCommitInfo for the directory.
@@ -80,12 +108,11 @@ class TreeProcessor {
80
108
  }
81
109
  for (const file of files) {
82
110
  const { path } = file;
83
- if (await this.fileProcessor.shouldSkipFile(path))
84
- continue;
85
- orderWeight += 10;
111
+ // FileProcessor now handles skip checks internally and returns null if skipped
86
112
  const fileCommit = await this.fileProcessor.processFile(dirPath + (dirPath === "" ? "" : "/") + path, dirChatId, orderWeight);
87
113
  if (fileCommit)
88
114
  childCommits.push(fileCommit);
115
+ orderWeight += 10;
89
116
  }
90
117
  // Determine the latest commit for the directory
91
118
  const latestCommit = utils.Utils.getLatestCommit(childCommits);
@@ -1 +1 @@
1
- {"version":3,"file":"tree-processor.js","sources":["../../../src/importer/tree-processor.ts"],"sourcesContent":[null],"names":["Utils","PathUtils","path"],"mappings":"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"}
1
+ {"version":3,"file":"tree-processor.js","sources":["../../../src/importer/tree-processor.ts"],"sourcesContent":[null],"names":["Utils","PathUtils","path"],"mappings":"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"}
@@ -1,22 +1,42 @@
1
1
  /**
2
2
  * Component: Logger
3
- * Block-UUID: 68b41f13-71ad-4b4e-a488-460e234ed5b1
4
- * Parent-UUID: N/A
5
- * Version: 1.0.0
6
- * Purpose: Centralized logging utility for the application.
3
+ * Block-UUID: 7c6851c4-f157-4955-a840-11b6e8b9b513
4
+ * Parent-UUID: 7c3b5d3f-96bd-4626-b408-a3322720c1d3
5
+ * Version: 2.1.0
6
+ * Purpose: Ensure error messages always go to stderr, even in structured mode
7
7
  * Language: TypeScript
8
8
  * Created-at: 2025-03-12T18:06:11.373Z
9
- * Authors: OpenRouter - Gemini Flash 2.0 (v1.0.0)
9
+ * Updated-at: 2026-05-13T15:10:00.000Z
10
+ * Authors: OpenRouter - Gemini Flash 2.0 (v1.0.0), GLM-4.7 (v2.0.0), GLM-4.7 (v2.1.0)
10
11
  */
11
12
  class Logger {
12
13
  verbose;
13
- constructor(verbose = false) {
14
+ structuredOutput;
15
+ constructor(verbose = false, structuredOutput = false) {
14
16
  this.verbose = verbose;
17
+ this.structuredOutput = structuredOutput;
18
+ }
19
+ /**
20
+ * Emits a structured event to stdout.
21
+ * Only writes if structuredOutput is enabled.
22
+ */
23
+ emit(type, data = {}) {
24
+ if (!this.structuredOutput)
25
+ return;
26
+ const event = {
27
+ type: type,
28
+ timestamp: new Date().toISOString(),
29
+ data
30
+ };
31
+ process.stdout.write(JSON.stringify(event) + '\n');
15
32
  }
16
33
  /**
17
34
  * Logs messages to the console if verbose mode is enabled.
35
+ * Suppressed in structured mode to avoid polluting the NDJSON stream.
18
36
  */
19
37
  log(message, details, isError = false) {
38
+ if (this.structuredOutput)
39
+ return;
20
40
  if (this.verbose || isError) {
21
41
  const timestamp = new Date().toISOString();
22
42
  const logLevel = isError ? 'ERROR' : 'INFO';
@@ -38,10 +58,11 @@ class Logger {
38
58
  }
39
59
  /**
40
60
  * Logs a debug message.
41
- * @param message - The message to log.
42
- * @param details - Optional details to include in the log.
61
+ * Suppressed in structured mode.
43
62
  */
44
63
  debug(message, details) {
64
+ if (this.structuredOutput)
65
+ return;
45
66
  if (this.verbose) {
46
67
  const timestamp = new Date().toISOString();
47
68
  const fullMessage = `${timestamp} [DEBUG] ${message} ${details instanceof Error ? details.message : String(details)}`;
@@ -50,30 +71,34 @@ class Logger {
50
71
  }
51
72
  /**
52
73
  * Logs an info message.
53
- * @param message - The message to log.
54
- * @param details - Optional details to include in the log.
74
+ * Suppressed in structured mode.
55
75
  */
56
76
  info(message, details) {
77
+ if (this.structuredOutput)
78
+ return;
57
79
  const timestamp = new Date().toISOString();
58
80
  const fullMessage = `${timestamp} [INFO] ${message} ${details instanceof Error ? details.message : String(details)}`;
59
81
  console.log(fullMessage);
60
82
  }
61
83
  /**
62
84
  * Logs a warning message.
63
- * @param message - The message to log.
64
- * @param details - Optional details to include in the log.
85
+ * Suppressed in structured mode.
65
86
  */
66
87
  warn(message, details) {
88
+ if (this.structuredOutput)
89
+ return;
67
90
  const timestamp = new Date().toISOString();
68
91
  const fullMessage = `${timestamp} [WARN] ${message} ${details instanceof Error ? details.message : String(details)}`;
69
92
  console.warn(fullMessage);
70
93
  }
71
94
  /**
72
95
  * Logs an error message.
73
- * @param message - The message to log.
74
- * @param error - Optional error object to include in the log.
96
+ * IMPORTANT: Always writes to stderr, even in structured mode.
97
+ * This ensures non-fatal errors (e.g., rollback failures) are visible for debugging.
75
98
  */
76
99
  error(message, error) {
100
+ // Note: We do NOT check this.structuredOutput here.
101
+ // Errors should always go to stderr to ensure visibility.
77
102
  const timestamp = new Date().toISOString();
78
103
  let fullMessage = `${timestamp} [ERROR] ${message}`;
79
104
  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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"}
@@ -6,14 +6,14 @@ import { HierarchyManager } from './hierarchy-manager.js';
6
6
 
7
7
  /*
8
8
  * Component: Chat Manager
9
- * Block-UUID: 7c963098-b2d2-439e-acf1-2682fe76ad1b
10
- * Parent-UUID: 7f9a0b1c-2d3e-4f5a-8b9c-0d1e2f3a4b5c
11
- * Version: 2.2.0
12
- * Description: Core class for managing chats, groups, and messages, with proxy methods for other managers
9
+ * Block-UUID: a403c00f-e9bb-484e-9fe7-5949891dcaea
10
+ * Parent-UUID: 7c963098-b2d2-439e-acf1-2682fe76ad1b
11
+ * Version: 2.3.0
12
+ * Description: Pass ChatManagerOptions to HierarchyManager to support displayRepoPath
13
13
  * Language: TypeScript
14
14
  * Created-at: 2025-03-15T02:19:00.075Z
15
- * Updated-at: 2025-09-30T17:05:00.000Z
16
- * Authors: together.ai - DeepSeek v3 (v1.0.0), OpenRouter - Gemini Flash 2.0 (v1.1.0), together.ai - DeepSeek v3 (v2.0.0), Qwen 3 Coder 480B - Cerebras (v2.1.0), Qwen 3 Coder 480B - Cerebras (v2.2.0)
15
+ * Updated-at: 2026-05-13T20:00:00.000Z
16
+ * Authors: together.ai - DeepSeek v3 (v1.0.0), OpenRouter - Gemini Flash 2.0 (v1.1.0), together.ai - DeepSeek v3 (v2.0.0), Qwen 3 Coder 480B - Cerebras (v2.1.0), Qwen 3 Coder 480B - Cerebras (v2.2.0), GLM-4.7 (v2.3.0)
17
17
  */
18
18
  class ChatManager {
19
19
  dbClient;
@@ -42,7 +42,7 @@ class ChatManager {
42
42
  this.groupManager = new GroupManager(dbClient, gitRepo, logger);
43
43
  this.metadataManager = new MetadataManager(dbClient, logger, gitRepo, this);
44
44
  this.chatCreator = new ChatCreator(dbClient, this.messageManager, logger);
45
- this.hierarchyManager = new HierarchyManager(dbClient, gitRepo, this.chatCreator, this.groupManager, logger);
45
+ this.hierarchyManager = new HierarchyManager(dbClient, gitRepo, this.chatCreator, this.groupManager, logger, this.options);
46
46
  }
47
47
  /**
48
48
  * Sets up the chat hierarchy for the repository.
@@ -1 +1 @@
1
- {"version":3,"file":"chat-manager.js","sources":["../../../../src/importer/chat-manager/chat-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-manager.js","sources":["../../../../src/importer/chat-manager/chat-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -2,13 +2,14 @@ import { GROUP_TYPE_GIT_REPOS, GROUP_TYPE_GIT_REPO_OWNER, GROUP_TYPE_GIT_REPO, C
2
2
 
3
3
  /**
4
4
  * Component: Hierarchy Manager
5
- * Block-UUID: 86f92ea3-236f-4496-ba2a-da9e860bf9ea
6
- * Parent-UUID: N/A
7
- * Version: 1.0.0
8
- * Purpose: Handles chat hierarchy setup and management
5
+ * Block-UUID: 55b9ea97-d125-476d-bae9-2863d950677a
6
+ * Parent-UUID: 86f92ea3-236f-4496-ba2a-da9e860bf9ea
7
+ * Version: 1.1.0
8
+ * Purpose: Handles chat hierarchy setup and management, supports displayRepoPath override
9
9
  * Language: TypeScript
10
10
  * Created-at: 2025-03-15T02:12:20.075Z
11
- * Authors: together.ai - DeepSeek v3 (v1.0.0)
11
+ * Updated-at: 2026-05-13T19:58:00.000Z
12
+ * Authors: together.ai - DeepSeek v3 (v1.0.0), GLM-4.7 (v1.1.0)
12
13
  */
13
14
  class HierarchyManager {
14
15
  dbClient;
@@ -16,12 +17,14 @@ class HierarchyManager {
16
17
  chatCreator;
17
18
  groupManager;
18
19
  logger;
19
- constructor(dbClient, gitRepo, chatCreator, groupManager, logger) {
20
+ options;
21
+ constructor(dbClient, gitRepo, chatCreator, groupManager, logger, options = {}) {
20
22
  this.dbClient = dbClient;
21
23
  this.gitRepo = gitRepo;
22
24
  this.chatCreator = chatCreator;
23
25
  this.groupManager = groupManager;
24
26
  this.logger = logger;
27
+ this.options = options;
25
28
  }
26
29
  /**
27
30
  * Sets up the chat hierarchy for the repository.
@@ -84,7 +87,7 @@ class HierarchyManager {
84
87
  type: CHAT_TYPE_GIT_REPO,
85
88
  owner: repoOwner,
86
89
  name: repoName,
87
- path: repo.path
90
+ path: this.options.displayRepoPath || repo.path
88
91
  };
89
92
  if (existingChat) {
90
93
  return existingChat.id;
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchy-manager.js","sources":["../../../../src/importer/chat-manager/hierarchy-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hierarchy-manager.js","sources":["../../../../src/importer/chat-manager/hierarchy-manager.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;;;;;;AAUG;MAsBU,gBAAgB,CAAA;AAEJ,IAAA,QAAA;AACA,IAAA,OAAA;AACA,IAAA,WAAA;AACA,IAAA,YAAA;AACA,IAAA,MAAA;AACA,IAAA,OAAA;IANrB,WACqB,CAAA,QAAwB,EACxB,OAAmB,EACnB,WAAwB,EACxB,YAA0B,EAC1B,MAAc,EACd,OAAA,GAA8B,EAAE,EAAA;QALhC,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAO,CAAA,OAAA,GAAP,OAAO;;AAG5B;;;;AAIG;IACH,MAAM,kBAAkB,CAAC,SAAiB,EAAE,QAAgB,EAAE,GAAW,EAAE,OAAgB,EAAA;AACvF,QAAA,IAAI;;AAEA,YAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;AAC5G,YAAA,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,SAAS,CAAC;AAC1G,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,CAAG,EAAA,SAAS,IAAI,QAAQ,CAAA,CAAE,CAAC;;YAGhH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC;AACpE,YAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,gBAAgB,EAAE,SAAS,CAAC;AACxG,YAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;AACvG,YAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC;AAEzF,YAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE;;QACnC,OAAO,KAAK,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,CAAA,gCAAA,EAAmC,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CAAC;;;AAIpH;;AAEG;IACH,MAAM,uBAAuB,CAAC,OAAe,EAAA;AACzC,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,OAAO,CAAC;QAEhH,IAAI,YAAY,EAAE;YACd,OAAO,YAAY,CAAC,EAAG;;AAG3B,QAAA,MAAM,IAAI,GAAG;AACT,YAAA,IAAI,EAAE;SACT;AAED,QAAA,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC;;AAGxG;;AAEG;AACH,IAAA,MAAM,2BAA2B,CAAC,QAAgB,EAAE,OAAe,EAAE,SAAiB,EAAA;AAClF,QAAA,MAAM,QAAQ,GAAG,wBAAwB,CAAC,SAAS,CAAC;AACpD,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,QAAQ,EAAE,OAAO,CAAC;AAE1G,QAAA,MAAM,IAAI,GAAG;AACT,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,KAAK,EAAE;SACV;QAED,IAAI,YAAY,EAAE;YACd,OAAO,YAAY,CAAC,EAAG;;QAG3B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,wBAAwB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;;AAGjH;;AAEG;IACH,MAAM,sBAAsB,CAAC,QAAgB,EAAE,OAAe,EAAE,SAAiB,EAAE,QAAgB,EAAA;QAC/F,MAAM,QAAQ,GAAG,QAAQ;AACzB,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAEzC,QAAA,MAAM,IAAI,GAAiB;AACvB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;SAC9C;QAED,IAAI,YAAY,EAAE;YACd,OAAO,YAAY,CAAC,EAAG;;AAG3B,QAAA,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;;AAGnG;;AAEG;IACH,MAAM,qBAAqB,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAY,EAAE,IAAa,EAAA;AACtF,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,iBAAiB,GAAG,IAAI;QAE7E,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAA,CAAE,CAAC;;QAGpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAU,CAAC;AAC9C,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;QAE1F,IAAI,YAAY,EAAE;YACd,OAAO,YAAY,CAAC,EAAG;;AAG3B,QAAA,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,IAAI,EAAE;AACvC,QAAA,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;;AAE5F;;;;"}
@@ -3,17 +3,17 @@ import { Utils } from './utils.js';
3
3
 
4
4
  /**
5
5
  * Component: Directory Processor
6
- * Block-UUID: 237b8cc5-5d1b-4285-82c4-0e1f49459f2c
7
- * Parent-UUID: 31839e44-58af-43ea-baab-96674d745ad0
8
- * Version: 8.0.0
9
- * Purpose: Add hash comparison and token estimation for directories
6
+ * Block-UUID: 5b8e0c49-f2f2-404f-ab76-ce812e2e3496
7
+ * Parent-UUID: 8a9f5d7f-deb7-4610-bfc7-b7f99120de05
8
+ * Version: 8.2.0
9
+ * Purpose: Emit scan_complete event and remove redundant skip guard
10
10
  * Language: TypeScript
11
11
  * Created-at: 2025-03-15T05:58:33.811Z
12
- * Updated-at: 2025-03-24T00:50:00.000Z
12
+ * Updated-at: 2026-05-13T15:48:00.000Z
13
13
  * Authors: Claude 3.5 Sonnet (v5.0.1), Bard, Claude 3.5 Sonnet (v6.0.0), Claude 3.7 Sonnet (v6.3.0),
14
14
  * OpenRouter - Gemini Flash 2.0 (v6.4.0), OpenRouter - Gemini Flash 2.0 (v6.5.0),
15
15
  * together.ai - DeepSeek v3 (v6.6.0), Claude 3.7 Sonnet (v6.7.0), together.ai - DeepSeek v3 (v6.8.0),
16
- * together.ai - DeepSeek v3 (v7.0.0), together.ai - DeepSeek v3 (v8.0.0)
16
+ * 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)
17
17
  */
18
18
  class DirectoryProcessor {
19
19
  dbClient;
@@ -44,6 +44,12 @@ class DirectoryProcessor {
44
44
  */
45
45
  async processFiles(rootChatId) {
46
46
  try {
47
+ // Pre-scan to get the total file count for the progress bar
48
+ const totalFiles = await this.treeProcessor.countFiles('');
49
+ this.logger.emit('scan_complete', {
50
+ total_files: totalFiles,
51
+ mode: 'full'
52
+ });
47
53
  // Start processing from the root directory. Empty string is root.
48
54
  return await this.processDirectory('', rootChatId);
49
55
  }
@@ -64,7 +70,7 @@ class DirectoryProcessor {
64
70
  const normalizedPath = this.normalizePath(entry.path);
65
71
  // Skip files that match skip patterns if they're being added or modified
66
72
  if (entry.entryType === 'file' && entry.changeType !== 'delete' &&
67
- await this.fileProcessor.shouldSkipFile(normalizedPath)) {
73
+ await this.fileProcessor.getSkipReason(normalizedPath)) {
68
74
  this.logger.log(`Skipping file: ${normalizedPath}`);
69
75
  continue;
70
76
  }
@@ -148,8 +154,9 @@ class DirectoryProcessor {
148
154
  }
149
155
  for (const file of files) {
150
156
  const { path } = file;
151
- if (await this.fileProcessor.shouldSkipFile(path))
152
- continue;
157
+ // Skip check removed: FileProcessor.processFile handles this and emits file_skip events.
158
+ // if (await this.fileProcessor.getSkipReason(path))
159
+ // continue;
153
160
  orderWeight += 10;
154
161
  const fileCommit = await this.fileProcessor.processFile(dirPath + (dirPath === '' ? '' : '/') + path, dirChatId, orderWeight);
155
162
  if (fileCommit)