@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
package/dist/index.d.ts CHANGED
@@ -3,16 +3,17 @@ import { Repository, GitCommitInfo } from '@gitsense/gscb-git';
3
3
 
4
4
  /**
5
5
  * Component: Shared Types
6
- * Block-UUID: a4699409-238b-4360-9ac0-ca441128fe55
7
- * Parent-UUID: 3b1e5a1f-0e3a-4b0d-8e1a-7f8b9c0d1e2f
8
- * Version: 5.4.0
9
- * Description: Add branch context to GitBlobMeta for efficient branch lookups
6
+ * Block-UUID: 91ba4c76-8e03-4a47-9668-9d36d091ff92
7
+ * Parent-UUID: 63f9f2ef-c6b2-47d4-87d4-d39946090fa1
8
+ * Version: 6.1.0
9
+ * Description: Add displayRepoPath option to support shadow repositories
10
10
  * Language: TypeScript
11
11
  * Created-at: 2025-02-28T12:00:00.000Z
12
- * Updated-at: 2025-10-09T03:50:09.655Z
12
+ * Updated-at: 2026-05-13T19:57:00.000Z
13
13
  * Authors: OpenRouter - DeepSeek v3 (v1.0.0), Claude 3.5 Sonnet (v2.0.0), Bard, together.ai - DeepSeek v3 (v3.2.0),
14
14
  * DeepSeek v3 (v4.0.0), together.ai - DeepSeek v3 (v5.0.0), Qwen 3 Coder 480B - Cerebras (v5.1.0),
15
- * Qwen 3 Coder 480B - Cerebras (v5.2.0), Qwen 3 Coder 480B - Cerebras (v5.3.0), Claude 4.0 Sonnet (v5.4.0)
15
+ * Qwen 3 Coder 480B - Cerebras (v5.2.0), Qwen 3 Coder 480B - Cerebras (v5.3.0), Claude 4.0 Sonnet (v5.4.0),
16
+ * GLM-4.7 (v6.0.0), GLM-4.7 (v6.1.0)
16
17
  */
17
18
 
18
19
  /**
@@ -26,6 +27,8 @@ interface ImportOptions {
26
27
  promptName?: string;
27
28
  skipBinaryFiles?: boolean;
28
29
  verbose?: boolean;
30
+ structuredOutput?: boolean;
31
+ displayRepoPath?: string;
29
32
  }
30
33
  /**
31
34
  * Allowed group types
@@ -46,17 +49,31 @@ interface ChatManagerOptions {
46
49
  verbose?: boolean;
47
50
  skipPatterns?: RegExp[];
48
51
  includePatterns?: RegExp[];
52
+ displayRepoPath?: string;
53
+ }
54
+ /**
55
+ * Event types for structured output
56
+ */
57
+ type ImportEventType = 'init' | 'resume_detected' | 'scan_complete' | 'plan' | 'file_start' | 'file_done' | 'file_skip' | 'complete' | 'error';
58
+ /**
59
+ * Event payload for structured output
60
+ */
61
+ interface ImportEvent {
62
+ type: ImportEventType;
63
+ timestamp: string;
64
+ data: Record<string, unknown>;
49
65
  }
50
66
 
51
67
  /**
52
68
  * Component: Git Repository Importer (Core)
53
- * Block-UUID: 90d78242-374a-4a78-9ce6-e502bf172d87
54
- * Parent-UUID: 31839e44-58af-43ea-baab-96674d745ad0
55
- * Version: 6.6.0
56
- * Purpose: Core implementation of GitImporter class
69
+ * Block-UUID: 23dda2c0-82ba-4d2e-bf83-c26bc2d394da
70
+ * Parent-UUID: 90d78242-374a-4a78-9ce6-e502bf172d87
71
+ * Version: 6.7.0
72
+ * Purpose: Add structured output event emission (init, complete, error)
57
73
  * Language: TypeScript
58
74
  * Created-at: 2025-03-15T05:57:33.811Z
59
- * 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)
75
+ * Updated-at: 2026-05-13T14:46:00.000Z
76
+ * 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)
60
77
  */
61
78
 
62
79
  declare class GitImporter {
@@ -95,43 +112,48 @@ declare class GitImporter {
95
112
 
96
113
  /**
97
114
  * Component: Logger
98
- * Block-UUID: 68b41f13-71ad-4b4e-a488-460e234ed5b1
99
- * Parent-UUID: N/A
100
- * Version: 1.0.0
101
- * Purpose: Centralized logging utility for the application.
115
+ * Block-UUID: 7c6851c4-f157-4955-a840-11b6e8b9b513
116
+ * Parent-UUID: 7c3b5d3f-96bd-4626-b408-a3322720c1d3
117
+ * Version: 2.1.0
118
+ * Purpose: Ensure error messages always go to stderr, even in structured mode
102
119
  * Language: TypeScript
103
120
  * Created-at: 2025-03-12T18:06:11.373Z
104
- * Authors: OpenRouter - Gemini Flash 2.0 (v1.0.0)
121
+ * Updated-at: 2026-05-13T15:10:00.000Z
122
+ * Authors: OpenRouter - Gemini Flash 2.0 (v1.0.0), GLM-4.7 (v2.0.0), GLM-4.7 (v2.1.0)
105
123
  */
106
124
  declare class Logger {
107
125
  private readonly verbose;
108
- constructor(verbose?: boolean);
126
+ private readonly structuredOutput;
127
+ constructor(verbose?: boolean, structuredOutput?: boolean);
128
+ /**
129
+ * Emits a structured event to stdout.
130
+ * Only writes if structuredOutput is enabled.
131
+ */
132
+ emit(type: string, data?: Record<string, unknown>): void;
109
133
  /**
110
134
  * Logs messages to the console if verbose mode is enabled.
135
+ * Suppressed in structured mode to avoid polluting the NDJSON stream.
111
136
  */
112
137
  log(message: string, details?: unknown, isError?: boolean): void;
113
138
  /**
114
139
  * Logs a debug message.
115
- * @param message - The message to log.
116
- * @param details - Optional details to include in the log.
140
+ * Suppressed in structured mode.
117
141
  */
118
142
  debug(message: string, details?: unknown): void;
119
143
  /**
120
144
  * Logs an info message.
121
- * @param message - The message to log.
122
- * @param details - Optional details to include in the log.
145
+ * Suppressed in structured mode.
123
146
  */
124
147
  info(message: string, details?: unknown): void;
125
148
  /**
126
149
  * Logs a warning message.
127
- * @param message - The message to log.
128
- * @param details - Optional details to include in the log.
150
+ * Suppressed in structured mode.
129
151
  */
130
152
  warn(message: string, details?: unknown): void;
131
153
  /**
132
154
  * Logs an error message.
133
- * @param message - The message to log.
134
- * @param error - Optional error object to include in the log.
155
+ * IMPORTANT: Always writes to stderr, even in structured mode.
156
+ * This ensures non-fatal errors (e.g., rollback failures) are visible for debugging.
135
157
  */
136
158
  error(message: string, error?: unknown): void;
137
159
  }
@@ -214,4 +236,4 @@ declare class ChatManager {
214
236
  getChatById(chatId: number): Promise<Chat>;
215
237
  }
216
238
 
217
- export { ChatManager, GitImporter, type ImportOptions, Logger };
239
+ export { ChatManager, GitImporter, type ImportEvent, type ImportEventType, type ImportOptions, Logger };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitsense/gscb-git-tools",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Git repository tools for the GitSense Chat Bridge (GSCB)",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "events": "^3.3.0",
27
- "@gitsense/gscb-db": "^0.5.0",
27
+ "@gitsense/gscb-db": "^0.7.0",
28
28
  "@gitsense/gscb-git": "^0.2.0",
29
29
  "@gitsense/gscb-utils": "^0.1.0"
30
30
  },