@know-graph/core 0.4.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 (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -0
  3. package/dist/connectors/cache.d.ts +25 -0
  4. package/dist/connectors/cache.d.ts.map +1 -0
  5. package/dist/connectors/cache.js +73 -0
  6. package/dist/connectors/cache.js.map +1 -0
  7. package/dist/connectors/index.d.ts +12 -0
  8. package/dist/connectors/index.d.ts.map +1 -0
  9. package/dist/connectors/index.js +7 -0
  10. package/dist/connectors/index.js.map +1 -0
  11. package/dist/connectors/jira-connector.d.ts +26 -0
  12. package/dist/connectors/jira-connector.d.ts.map +1 -0
  13. package/dist/connectors/jira-connector.js +234 -0
  14. package/dist/connectors/jira-connector.js.map +1 -0
  15. package/dist/connectors/notion-connector.d.ts +24 -0
  16. package/dist/connectors/notion-connector.d.ts.map +1 -0
  17. package/dist/connectors/notion-connector.js +246 -0
  18. package/dist/connectors/notion-connector.js.map +1 -0
  19. package/dist/connectors/rate-limiter.d.ts +23 -0
  20. package/dist/connectors/rate-limiter.d.ts.map +1 -0
  21. package/dist/connectors/rate-limiter.js +54 -0
  22. package/dist/connectors/rate-limiter.js.map +1 -0
  23. package/dist/connectors/registry.d.ts +15 -0
  24. package/dist/connectors/registry.d.ts.map +1 -0
  25. package/dist/connectors/registry.js +72 -0
  26. package/dist/connectors/registry.js.map +1 -0
  27. package/dist/connectors/types.d.ts +142 -0
  28. package/dist/connectors/types.d.ts.map +1 -0
  29. package/dist/connectors/types.js +35 -0
  30. package/dist/connectors/types.js.map +1 -0
  31. package/dist/coverage/__tests__/fixtures/mixed-project/annotated.d.ts +9 -0
  32. package/dist/coverage/__tests__/fixtures/mixed-project/annotated.d.ts.map +1 -0
  33. package/dist/coverage/__tests__/fixtures/mixed-project/annotated.js +11 -0
  34. package/dist/coverage/__tests__/fixtures/mixed-project/annotated.js.map +1 -0
  35. package/dist/coverage/__tests__/fixtures/mixed-project/unannotated.d.ts +2 -0
  36. package/dist/coverage/__tests__/fixtures/mixed-project/unannotated.d.ts.map +1 -0
  37. package/dist/coverage/__tests__/fixtures/mixed-project/unannotated.js +4 -0
  38. package/dist/coverage/__tests__/fixtures/mixed-project/unannotated.js.map +1 -0
  39. package/dist/coverage/coverage-calculator.d.ts +3 -0
  40. package/dist/coverage/coverage-calculator.d.ts.map +1 -0
  41. package/dist/coverage/coverage-calculator.js +204 -0
  42. package/dist/coverage/coverage-calculator.js.map +1 -0
  43. package/dist/coverage/index.d.ts +3 -0
  44. package/dist/coverage/index.d.ts.map +1 -0
  45. package/dist/coverage/index.js +2 -0
  46. package/dist/coverage/index.js.map +1 -0
  47. package/dist/coverage/types.d.ts +38 -0
  48. package/dist/coverage/types.d.ts.map +1 -0
  49. package/dist/coverage/types.js +13 -0
  50. package/dist/coverage/types.js.map +1 -0
  51. package/dist/index.d.ts +17 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +16 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/indexer/database.d.ts +32 -0
  56. package/dist/indexer/database.d.ts.map +1 -0
  57. package/dist/indexer/database.js +242 -0
  58. package/dist/indexer/database.js.map +1 -0
  59. package/dist/indexer/index.d.ts +7 -0
  60. package/dist/indexer/index.d.ts.map +1 -0
  61. package/dist/indexer/index.js +4 -0
  62. package/dist/indexer/index.js.map +1 -0
  63. package/dist/indexer/indexer.d.ts +12 -0
  64. package/dist/indexer/indexer.d.ts.map +1 -0
  65. package/dist/indexer/indexer.js +145 -0
  66. package/dist/indexer/indexer.js.map +1 -0
  67. package/dist/indexer/schema.d.ts +21 -0
  68. package/dist/indexer/schema.d.ts.map +1 -0
  69. package/dist/indexer/schema.js +122 -0
  70. package/dist/indexer/schema.js.map +1 -0
  71. package/dist/indexer/types.d.ts +85 -0
  72. package/dist/indexer/types.d.ts.map +1 -0
  73. package/dist/indexer/types.js +2 -0
  74. package/dist/indexer/types.js.map +1 -0
  75. package/dist/parsers/generic-parser.d.ts +3 -0
  76. package/dist/parsers/generic-parser.d.ts.map +1 -0
  77. package/dist/parsers/generic-parser.js +150 -0
  78. package/dist/parsers/generic-parser.js.map +1 -0
  79. package/dist/parsers/go-parser.d.ts +3 -0
  80. package/dist/parsers/go-parser.d.ts.map +1 -0
  81. package/dist/parsers/go-parser.js +437 -0
  82. package/dist/parsers/go-parser.js.map +1 -0
  83. package/dist/parsers/index.d.ts +10 -0
  84. package/dist/parsers/index.d.ts.map +1 -0
  85. package/dist/parsers/index.js +8 -0
  86. package/dist/parsers/index.js.map +1 -0
  87. package/dist/parsers/java-parser.d.ts +3 -0
  88. package/dist/parsers/java-parser.d.ts.map +1 -0
  89. package/dist/parsers/java-parser.js +321 -0
  90. package/dist/parsers/java-parser.js.map +1 -0
  91. package/dist/parsers/metadata-extractor.d.ts +25 -0
  92. package/dist/parsers/metadata-extractor.d.ts.map +1 -0
  93. package/dist/parsers/metadata-extractor.js +137 -0
  94. package/dist/parsers/metadata-extractor.js.map +1 -0
  95. package/dist/parsers/python-parser.d.ts +3 -0
  96. package/dist/parsers/python-parser.d.ts.map +1 -0
  97. package/dist/parsers/python-parser.js +226 -0
  98. package/dist/parsers/python-parser.js.map +1 -0
  99. package/dist/parsers/registry.d.ts +3 -0
  100. package/dist/parsers/registry.d.ts.map +1 -0
  101. package/dist/parsers/registry.js +41 -0
  102. package/dist/parsers/registry.js.map +1 -0
  103. package/dist/parsers/types.d.ts +23 -0
  104. package/dist/parsers/types.d.ts.map +1 -0
  105. package/dist/parsers/types.js +2 -0
  106. package/dist/parsers/types.js.map +1 -0
  107. package/dist/parsers/typescript-parser.d.ts +3 -0
  108. package/dist/parsers/typescript-parser.d.ts.map +1 -0
  109. package/dist/parsers/typescript-parser.js +321 -0
  110. package/dist/parsers/typescript-parser.js.map +1 -0
  111. package/dist/query/index.d.ts +3 -0
  112. package/dist/query/index.d.ts.map +1 -0
  113. package/dist/query/index.js +2 -0
  114. package/dist/query/index.js.map +1 -0
  115. package/dist/query/query-engine.d.ts +40 -0
  116. package/dist/query/query-engine.d.ts.map +1 -0
  117. package/dist/query/query-engine.js +126 -0
  118. package/dist/query/query-engine.js.map +1 -0
  119. package/dist/suggest/index.d.ts +3 -0
  120. package/dist/suggest/index.d.ts.map +1 -0
  121. package/dist/suggest/index.js +2 -0
  122. package/dist/suggest/index.js.map +1 -0
  123. package/dist/suggest/suggestion-engine.d.ts +7 -0
  124. package/dist/suggest/suggestion-engine.d.ts.map +1 -0
  125. package/dist/suggest/suggestion-engine.js +239 -0
  126. package/dist/suggest/suggestion-engine.js.map +1 -0
  127. package/dist/suggest/types.d.ts +29 -0
  128. package/dist/suggest/types.d.ts.map +1 -0
  129. package/dist/suggest/types.js +13 -0
  130. package/dist/suggest/types.js.map +1 -0
  131. package/dist/types/entity.d.ts +336 -0
  132. package/dist/types/entity.d.ts.map +1 -0
  133. package/dist/types/entity.js +99 -0
  134. package/dist/types/entity.js.map +1 -0
  135. package/dist/types/index.d.ts +6 -0
  136. package/dist/types/index.d.ts.map +1 -0
  137. package/dist/types/index.js +3 -0
  138. package/dist/types/index.js.map +1 -0
  139. package/dist/types/manifest.d.ts +488 -0
  140. package/dist/types/manifest.d.ts.map +1 -0
  141. package/dist/types/manifest.js +66 -0
  142. package/dist/types/manifest.js.map +1 -0
  143. package/dist/types/parse-result.d.ts +25 -0
  144. package/dist/types/parse-result.d.ts.map +1 -0
  145. package/dist/types/parse-result.js +2 -0
  146. package/dist/types/parse-result.js.map +1 -0
  147. package/dist/validation/index.d.ts +5 -0
  148. package/dist/validation/index.d.ts.map +1 -0
  149. package/dist/validation/index.js +3 -0
  150. package/dist/validation/index.js.map +1 -0
  151. package/dist/validation/rules.d.ts +9 -0
  152. package/dist/validation/rules.d.ts.map +1 -0
  153. package/dist/validation/rules.js +119 -0
  154. package/dist/validation/rules.js.map +1 -0
  155. package/dist/validation/types.d.ts +34 -0
  156. package/dist/validation/types.d.ts.map +1 -0
  157. package/dist/validation/types.js +2 -0
  158. package/dist/validation/types.js.map +1 -0
  159. package/dist/validation/validator.d.ts +10 -0
  160. package/dist/validation/validator.d.ts.map +1 -0
  161. package/dist/validation/validator.js +111 -0
  162. package/dist/validation/validator.js.map +1 -0
  163. package/package.json +58 -0
@@ -0,0 +1,437 @@
1
+ import { extractMetadata } from './metadata-extractor.js';
2
+ const GO_EXTENSIONS = ['.go'];
3
+ /**
4
+ * Regex to match Go block comments: /* ... * /
5
+ */
6
+ const BLOCK_COMMENT_REGEX = /\/\*[\s\S]*?\*\//g;
7
+ /**
8
+ * Regex to match Go function declarations, including methods with receivers.
9
+ * Groups: (1) receiver name, (2) receiver type, (3) function name,
10
+ * (4) parameters, (5) return type(s)
11
+ */
12
+ const GO_FUNC_REGEX = /^func\s+(?:\((\w+)\s+\*?(\w+)\)\s+)?(\w+)\s*\((.*?)\)(?:\s+([^{]+?))?(?:\s*\{|$)/;
13
+ /**
14
+ * Regex to match Go struct type declarations.
15
+ */
16
+ const GO_STRUCT_REGEX = /^type\s+(\w+)\s+struct\s*\{/;
17
+ /**
18
+ * Regex to match Go interface type declarations.
19
+ */
20
+ const GO_INTERFACE_REGEX = /^type\s+(\w+)\s+interface\s*\{/;
21
+ /**
22
+ * Regex to match Go single const declarations.
23
+ */
24
+ const GO_CONST_REGEX = /^const\s+(\w+)/;
25
+ /**
26
+ * Regex to match Go const group opening.
27
+ */
28
+ const GO_CONST_GROUP_REGEX = /^const\s*\(/;
29
+ /**
30
+ * Regex to match Go single var declarations.
31
+ */
32
+ const GO_VAR_REGEX = /^var\s+(\w+)/;
33
+ /**
34
+ * Regex to match Go var group opening.
35
+ */
36
+ const GO_VAR_GROUP_REGEX = /^var\s*\(/;
37
+ /**
38
+ * Regex to match Go package declarations.
39
+ */
40
+ const GO_PACKAGE_REGEX = /^package\s+(\w+)/;
41
+ function getLineNumber(source, charIndex) {
42
+ let line = 1;
43
+ for (let i = 0; i < charIndex && i < source.length; i++) {
44
+ if (source[i] === '\n') {
45
+ line++;
46
+ }
47
+ }
48
+ return line;
49
+ }
50
+ /**
51
+ * Strip block comment delimiters and leading asterisks from a Go block comment.
52
+ */
53
+ function stripBlockComment(raw) {
54
+ // Remove /* and */
55
+ const inner = raw.slice(2, -2);
56
+ // Remove leading * on each line (similar to JSDoc)
57
+ const lines = inner.split('\n').map((line) => line.replace(/^\s*\*\s?/, ''));
58
+ return lines.join('\n').trim();
59
+ }
60
+ /**
61
+ * Strip // prefix and optional space from a line comment.
62
+ */
63
+ function stripLineCommentPrefix(line) {
64
+ return line.replace(/^\s*\/\/\s?/, '');
65
+ }
66
+ /**
67
+ * Find all block comments in the source content.
68
+ */
69
+ function findBlockComments(content) {
70
+ const results = [];
71
+ let match;
72
+ const regex = new RegExp(BLOCK_COMMENT_REGEX.source, 'g');
73
+ while ((match = regex.exec(content)) !== null) {
74
+ const startLine = getLineNumber(content, match.index);
75
+ const endIndex = match.index + match[0].length;
76
+ const endLine = getLineNumber(content, endIndex - 1);
77
+ results.push({
78
+ content: stripBlockComment(match[0]),
79
+ startLine,
80
+ endLine,
81
+ endIndex,
82
+ });
83
+ }
84
+ return results;
85
+ }
86
+ /**
87
+ * Find all groups of consecutive // line comments in the source content.
88
+ * A group is a set of consecutive lines where each line (trimmed) starts with //.
89
+ */
90
+ function findLineCommentGroups(content) {
91
+ const lines = content.split('\n');
92
+ const results = [];
93
+ let groupStartLine = -1;
94
+ let groupLines = [];
95
+ for (let i = 0; i < lines.length; i++) {
96
+ const line = lines[i];
97
+ if (line === undefined)
98
+ continue;
99
+ const trimmed = line.trim();
100
+ if (trimmed.startsWith('//')) {
101
+ if (groupStartLine === -1) {
102
+ groupStartLine = i + 1; // 1-based
103
+ }
104
+ groupLines.push(stripLineCommentPrefix(line));
105
+ }
106
+ else {
107
+ if (groupLines.length > 0) {
108
+ const strippedContent = groupLines.join('\n').trim();
109
+ const endLine = groupStartLine + groupLines.length - 1;
110
+ // Calculate the character index after the last line of the group
111
+ const endIndex = computeEndIndex(content, endLine);
112
+ results.push({
113
+ content: strippedContent,
114
+ startLine: groupStartLine,
115
+ endLine,
116
+ endIndex,
117
+ });
118
+ }
119
+ groupStartLine = -1;
120
+ groupLines = [];
121
+ }
122
+ }
123
+ // Handle trailing group at end of file
124
+ if (groupLines.length > 0) {
125
+ const strippedContent = groupLines.join('\n').trim();
126
+ const endLine = groupStartLine + groupLines.length - 1;
127
+ const endIndex = computeEndIndex(content, endLine);
128
+ results.push({
129
+ content: strippedContent,
130
+ startLine: groupStartLine,
131
+ endLine,
132
+ endIndex,
133
+ });
134
+ }
135
+ return results;
136
+ }
137
+ /**
138
+ * Compute the character index pointing to just after the end of a given line number (1-based).
139
+ */
140
+ function computeEndIndex(content, lineNumber) {
141
+ const lines = content.split('\n');
142
+ let index = 0;
143
+ for (let i = 0; i < lineNumber && i < lines.length; i++) {
144
+ index += (lines[i]?.length ?? 0) + 1; // +1 for newline
145
+ }
146
+ return index;
147
+ }
148
+ /**
149
+ * Get the next non-empty line (trimmed) after a character index.
150
+ */
151
+ function getNextNonEmptyLine(content, afterIndex) {
152
+ const rest = content.slice(afterIndex);
153
+ const lines = rest.split('\n');
154
+ for (const line of lines) {
155
+ const trimmed = line.trim();
156
+ if (trimmed !== '') {
157
+ return trimmed;
158
+ }
159
+ }
160
+ return '';
161
+ }
162
+ /**
163
+ * Get the line number of the next non-empty line after a character index.
164
+ */
165
+ function getNextNonEmptyLineNumber(content, afterIndex) {
166
+ const baseLine = getLineNumber(content, afterIndex);
167
+ const rest = content.slice(afterIndex);
168
+ const lines = rest.split('\n');
169
+ for (let i = 0; i < lines.length; i++) {
170
+ if (lines[i]?.trim() !== '') {
171
+ return baseLine + i;
172
+ }
173
+ }
174
+ return baseLine;
175
+ }
176
+ /**
177
+ * Check if a comment block is at the top of the file (module-level).
178
+ * Only blank lines and comments are allowed before it.
179
+ */
180
+ function isModuleLevelComment(content, startLine) {
181
+ const lines = content.split('\n');
182
+ for (let i = 0; i < startLine - 1; i++) {
183
+ const line = lines[i]?.trim() ?? '';
184
+ if (line === '' ||
185
+ line.startsWith('//') ||
186
+ line.startsWith('/*') ||
187
+ line.startsWith('*')) {
188
+ continue;
189
+ }
190
+ return false;
191
+ }
192
+ return true;
193
+ }
194
+ /**
195
+ * Extract module name from file path by removing the .go extension.
196
+ */
197
+ function getModuleName(filePath) {
198
+ const parts = filePath.split('/');
199
+ const fileName = parts[parts.length - 1] ?? '';
200
+ return fileName.replace(/\.go$/, '');
201
+ }
202
+ /**
203
+ * Extract the first identifier name from lines following a group opening (const/var block).
204
+ * Looks at lines after the given character index for the first word character sequence.
205
+ */
206
+ function extractFirstGroupIdentifier(content, afterIndex) {
207
+ const rest = content.slice(afterIndex);
208
+ const lines = rest.split('\n');
209
+ for (const line of lines) {
210
+ const trimmed = line.trim();
211
+ if (trimmed === '' || trimmed === '(' || trimmed === ')') {
212
+ continue;
213
+ }
214
+ const identMatch = trimmed.match(/^(\w+)/);
215
+ if (identMatch) {
216
+ return identMatch[1];
217
+ }
218
+ }
219
+ return undefined;
220
+ }
221
+ /**
222
+ * Get the character index of the end of a specific non-empty line after a given position.
223
+ * Used to advance past the group opening line (e.g., `const (`) to find
224
+ * the line number of the first identifier inside the block.
225
+ */
226
+ function getEndIndexOfNextNonEmptyLine(content, afterIndex) {
227
+ const rest = content.slice(afterIndex);
228
+ const lines = rest.split('\n');
229
+ let offset = afterIndex;
230
+ for (const line of lines) {
231
+ offset += line.length + 1; // +1 for newline
232
+ if (line.trim() !== '') {
233
+ return offset;
234
+ }
235
+ }
236
+ return offset;
237
+ }
238
+ /**
239
+ * Build a function/method signature string from regex match groups.
240
+ */
241
+ function buildFuncSignature(receiverName, receiverType, funcName, params, returnType) {
242
+ const parts = ['func '];
243
+ if (receiverName && receiverType) {
244
+ parts.push(`(${receiverName} ${receiverType}) `);
245
+ }
246
+ parts.push(`${funcName}(${params})`);
247
+ if (returnType) {
248
+ parts.push(` ${returnType}`);
249
+ }
250
+ return parts.join('');
251
+ }
252
+ export function createGoParser() {
253
+ return {
254
+ name: 'go',
255
+ supportedExtensions: GO_EXTENSIONS,
256
+ parse(content, filePath) {
257
+ const blockComments = findBlockComments(content);
258
+ const lineCommentGroups = findLineCommentGroups(content);
259
+ // Merge all comment blocks and sort by start line
260
+ const allComments = [...blockComments, ...lineCommentGroups].sort((a, b) => a.startLine - b.startLine);
261
+ const results = [];
262
+ for (const comment of allComments) {
263
+ const extraction = extractMetadata(comment.content, comment.startLine);
264
+ if (!extraction.metadata) {
265
+ continue;
266
+ }
267
+ const metadata = extraction.metadata;
268
+ const nextLine = getNextNonEmptyLine(content, comment.endIndex);
269
+ const nextLineNumber = getNextNonEmptyLineNumber(content, comment.endIndex);
270
+ // Try to match function or method declaration
271
+ const funcMatch = nextLine.match(GO_FUNC_REGEX);
272
+ if (funcMatch) {
273
+ const receiverName = funcMatch[1];
274
+ const receiverType = funcMatch[2];
275
+ const funcName = funcMatch[3];
276
+ const params = funcMatch[4] ?? '';
277
+ const returnType = funcMatch[5]?.trim();
278
+ const isMethod = receiverName !== undefined && receiverType !== undefined;
279
+ const signature = buildFuncSignature(receiverName, receiverType, funcName, params, returnType);
280
+ results.push({
281
+ name: funcName,
282
+ filePath,
283
+ line: nextLineNumber,
284
+ column: 1,
285
+ language: 'go',
286
+ entityType: metadata.type,
287
+ metadata,
288
+ rawDocstring: comment.content,
289
+ signature,
290
+ parent: isMethod ? receiverType : undefined,
291
+ });
292
+ continue;
293
+ }
294
+ // Try to match struct declaration
295
+ const structMatch = nextLine.match(GO_STRUCT_REGEX);
296
+ if (structMatch) {
297
+ results.push({
298
+ name: structMatch[1],
299
+ filePath,
300
+ line: nextLineNumber,
301
+ column: 1,
302
+ language: 'go',
303
+ entityType: metadata.type,
304
+ metadata,
305
+ rawDocstring: comment.content,
306
+ });
307
+ continue;
308
+ }
309
+ // Try to match interface declaration
310
+ const interfaceMatch = nextLine.match(GO_INTERFACE_REGEX);
311
+ if (interfaceMatch) {
312
+ results.push({
313
+ name: interfaceMatch[1],
314
+ filePath,
315
+ line: nextLineNumber,
316
+ column: 1,
317
+ language: 'go',
318
+ entityType: metadata.type,
319
+ metadata,
320
+ rawDocstring: comment.content,
321
+ });
322
+ continue;
323
+ }
324
+ // Try to match const declaration (single or group)
325
+ const constMatch = nextLine.match(GO_CONST_REGEX);
326
+ if (constMatch) {
327
+ results.push({
328
+ name: constMatch[1],
329
+ filePath,
330
+ line: nextLineNumber,
331
+ column: 1,
332
+ language: 'go',
333
+ entityType: metadata.type,
334
+ metadata,
335
+ rawDocstring: comment.content,
336
+ });
337
+ continue;
338
+ }
339
+ const constGroupMatch = nextLine.match(GO_CONST_GROUP_REGEX);
340
+ if (constGroupMatch) {
341
+ const afterGroupLine = getEndIndexOfNextNonEmptyLine(content, comment.endIndex);
342
+ const groupIdent = extractFirstGroupIdentifier(content, afterGroupLine);
343
+ if (groupIdent) {
344
+ const groupLineNumber = getNextNonEmptyLineNumber(content, afterGroupLine);
345
+ results.push({
346
+ name: groupIdent,
347
+ filePath,
348
+ line: groupLineNumber,
349
+ column: 1,
350
+ language: 'go',
351
+ entityType: metadata.type,
352
+ metadata,
353
+ rawDocstring: comment.content,
354
+ });
355
+ continue;
356
+ }
357
+ }
358
+ // Try to match var declaration (single or group)
359
+ const varMatch = nextLine.match(GO_VAR_REGEX);
360
+ if (varMatch) {
361
+ results.push({
362
+ name: varMatch[1],
363
+ filePath,
364
+ line: nextLineNumber,
365
+ column: 1,
366
+ language: 'go',
367
+ entityType: metadata.type,
368
+ metadata,
369
+ rawDocstring: comment.content,
370
+ });
371
+ continue;
372
+ }
373
+ const varGroupMatch = nextLine.match(GO_VAR_GROUP_REGEX);
374
+ if (varGroupMatch) {
375
+ const afterGroupLine = getEndIndexOfNextNonEmptyLine(content, comment.endIndex);
376
+ const groupIdent = extractFirstGroupIdentifier(content, afterGroupLine);
377
+ if (groupIdent) {
378
+ const groupLineNumber = getNextNonEmptyLineNumber(content, afterGroupLine);
379
+ results.push({
380
+ name: groupIdent,
381
+ filePath,
382
+ line: groupLineNumber,
383
+ column: 1,
384
+ language: 'go',
385
+ entityType: metadata.type,
386
+ metadata,
387
+ rawDocstring: comment.content,
388
+ });
389
+ continue;
390
+ }
391
+ }
392
+ // Try to match package declaration (module-level)
393
+ const packageMatch = nextLine.match(GO_PACKAGE_REGEX);
394
+ if (packageMatch && isModuleLevelComment(content, comment.startLine)) {
395
+ results.push({
396
+ name: packageMatch[1],
397
+ filePath,
398
+ line: nextLineNumber,
399
+ column: 1,
400
+ language: 'go',
401
+ entityType: metadata.type,
402
+ metadata,
403
+ rawDocstring: comment.content,
404
+ });
405
+ continue;
406
+ }
407
+ // Module-level or unrecognized target
408
+ if (isModuleLevelComment(content, comment.startLine)) {
409
+ results.push({
410
+ name: getModuleName(filePath),
411
+ filePath,
412
+ line: comment.startLine,
413
+ column: 1,
414
+ language: 'go',
415
+ entityType: metadata.type,
416
+ metadata,
417
+ rawDocstring: comment.content,
418
+ });
419
+ }
420
+ else {
421
+ results.push({
422
+ name: 'unknown',
423
+ filePath,
424
+ line: comment.startLine,
425
+ column: 1,
426
+ language: 'go',
427
+ entityType: metadata.type,
428
+ metadata,
429
+ rawDocstring: comment.content,
430
+ });
431
+ }
432
+ }
433
+ return results;
434
+ },
435
+ };
436
+ }
437
+ //# sourceMappingURL=go-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go-parser.js","sourceRoot":"","sources":["../../src/parsers/go-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type { Parser, ParserRegistry } from './types.js';
2
+ export { extractKnowgraphYaml, parseAndValidateMetadata, extractMetadata, } from './metadata-extractor.js';
3
+ export type { ExtractionError, ExtractionResult, } from './metadata-extractor.js';
4
+ export { createPythonParser } from './python-parser.js';
5
+ export { createTypescriptParser } from './typescript-parser.js';
6
+ export { createGenericParser } from './generic-parser.js';
7
+ export { createGoParser } from './go-parser.js';
8
+ export { createJavaParser } from './java-parser.js';
9
+ export { createDefaultRegistry } from './registry.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { extractKnowgraphYaml, parseAndValidateMetadata, extractMetadata, } from './metadata-extractor.js';
2
+ export { createPythonParser } from './python-parser.js';
3
+ export { createTypescriptParser } from './typescript-parser.js';
4
+ export { createGenericParser } from './generic-parser.js';
5
+ export { createGoParser } from './go-parser.js';
6
+ export { createJavaParser } from './java-parser.js';
7
+ export { createDefaultRegistry } from './registry.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Parser } from './types.js';
2
+ export declare function createJavaParser(): Parser;
3
+ //# sourceMappingURL=java-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/java-parser.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA0OzC,wBAAgB,gBAAgB,IAAI,MAAM,CA4IzC"}