agentmap 0.7.1 → 0.9.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 (96) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +24 -0
  3. package/dist/cli.js +44 -12
  4. package/dist/cli.js.map +1 -1
  5. package/dist/extract/definitions.js +12 -12
  6. package/dist/extract/definitions.js.map +1 -1
  7. package/dist/extract/definitions.test.js +30 -259
  8. package/dist/extract/definitions.test.js.map +1 -1
  9. package/dist/extract/git-status.d.ts +11 -4
  10. package/dist/extract/git-status.d.ts.map +1 -1
  11. package/dist/extract/git-status.js +21 -16
  12. package/dist/extract/git-status.js.map +1 -1
  13. package/dist/extract/markdown.js +1 -1
  14. package/dist/extract/markdown.test.js +3 -3
  15. package/dist/extract/markdown.test.js.map +1 -1
  16. package/dist/extract/marker.js +1 -1
  17. package/dist/extract/marker.test.js +4 -4
  18. package/dist/extract/marker.test.js.map +1 -1
  19. package/dist/extract/submodules.d.ts +12 -0
  20. package/dist/extract/submodules.d.ts.map +1 -0
  21. package/dist/extract/submodules.js +234 -0
  22. package/dist/extract/submodules.js.map +1 -0
  23. package/dist/extract/submodules.test.d.ts +2 -0
  24. package/dist/extract/submodules.test.d.ts.map +1 -0
  25. package/dist/extract/submodules.test.js +84 -0
  26. package/dist/extract/submodules.test.js.map +1 -0
  27. package/dist/index.d.ts +4 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +10 -9
  30. package/dist/index.js.map +1 -1
  31. package/dist/logger.d.ts +10 -0
  32. package/dist/logger.d.ts.map +1 -0
  33. package/dist/logger.js +41 -0
  34. package/dist/logger.js.map +1 -0
  35. package/dist/map/builder.d.ts +3 -3
  36. package/dist/map/builder.d.ts.map +1 -1
  37. package/dist/map/builder.js +59 -9
  38. package/dist/map/builder.js.map +1 -1
  39. package/dist/map/builder.test.d.ts +2 -0
  40. package/dist/map/builder.test.d.ts.map +1 -0
  41. package/dist/map/builder.test.js +66 -0
  42. package/dist/map/builder.test.js.map +1 -0
  43. package/dist/map/truncate.d.ts +7 -3
  44. package/dist/map/truncate.d.ts.map +1 -1
  45. package/dist/map/truncate.js +90 -9
  46. package/dist/map/truncate.js.map +1 -1
  47. package/dist/map/yaml.d.ts.map +1 -1
  48. package/dist/map/yaml.js +13 -3
  49. package/dist/map/yaml.js.map +1 -1
  50. package/dist/scanner.d.ts +9 -2
  51. package/dist/scanner.d.ts.map +1 -1
  52. package/dist/scanner.js +172 -49
  53. package/dist/scanner.js.map +1 -1
  54. package/dist/scanner.test.d.ts +2 -0
  55. package/dist/scanner.test.d.ts.map +1 -0
  56. package/dist/scanner.test.js +84 -0
  57. package/dist/scanner.test.js.map +1 -0
  58. package/dist/test-helpers/git-test-helpers.d.ts +13 -0
  59. package/dist/test-helpers/git-test-helpers.d.ts.map +1 -0
  60. package/dist/test-helpers/git-test-helpers.js +48 -0
  61. package/dist/test-helpers/git-test-helpers.js.map +1 -0
  62. package/dist/types.d.ts +42 -2
  63. package/dist/types.d.ts.map +1 -1
  64. package/package.json +15 -3
  65. package/src/cli.ts +164 -0
  66. package/src/extract/definitions.test.ts +2040 -0
  67. package/src/extract/definitions.ts +379 -0
  68. package/src/extract/git-status.test.ts +507 -0
  69. package/src/extract/git-status.ts +359 -0
  70. package/src/extract/markdown.test.ts +159 -0
  71. package/src/extract/markdown.ts +202 -0
  72. package/src/extract/marker.test.ts +566 -0
  73. package/src/extract/marker.ts +398 -0
  74. package/src/extract/submodules.test.ts +95 -0
  75. package/src/extract/submodules.ts +269 -0
  76. package/src/extract/utils.ts +27 -0
  77. package/src/index.ts +106 -0
  78. package/src/languages/cpp.ts +129 -0
  79. package/src/languages/go.ts +72 -0
  80. package/src/languages/index.ts +231 -0
  81. package/src/languages/javascript.ts +33 -0
  82. package/src/languages/python.ts +41 -0
  83. package/src/languages/rust.ts +72 -0
  84. package/src/languages/typescript.ts +74 -0
  85. package/src/languages/zig.ts +106 -0
  86. package/src/logger.ts +55 -0
  87. package/src/map/builder.test.ts +72 -0
  88. package/src/map/builder.ts +175 -0
  89. package/src/map/truncate.ts +188 -0
  90. package/src/map/yaml.ts +66 -0
  91. package/src/parser/index.ts +53 -0
  92. package/src/parser/languages.ts +64 -0
  93. package/src/scanner.test.ts +95 -0
  94. package/src/scanner.ts +364 -0
  95. package/src/test-helpers/git-test-helpers.ts +62 -0
  96. package/src/types.ts +191 -0
@@ -1,6 +1,7 @@
1
1
  // Parse git diff output and calculate definition-level diff stats.
2
2
  // Uses defensive git options for cross-platform reliability.
3
3
  import { execSync } from 'child_process';
4
+ import { createConsoleLogger } from '../logger.js';
4
5
  /**
5
6
  * Defensive git options to ensure consistent output across platforms/configs
6
7
  */
@@ -28,7 +29,7 @@ function normalizePath(path) {
28
29
  /**
29
30
  * Safely execute a git command, returning empty string on any error
30
31
  */
31
- function safeExec(cmd, dir) {
32
+ function safeExec(cmd, dir, logger) {
32
33
  try {
33
34
  return execSync(cmd, {
34
35
  cwd: dir,
@@ -38,9 +39,8 @@ function safeExec(cmd, dir) {
38
39
  });
39
40
  }
40
41
  catch (err) {
41
- // Log error so user knows something happened
42
42
  const message = err instanceof Error ? err.message : String(err);
43
- console.error(`Warning: git diff failed: ${message}`);
43
+ logger.warn(`Warning: git diff failed: ${message}`);
44
44
  return '';
45
45
  }
46
46
  }
@@ -154,44 +154,49 @@ export function parseDiff(diffOutput) {
154
154
  /**
155
155
  * Get file-level diff stats using --numstat (most reliable)
156
156
  */
157
- export function getFileStats(dir) {
157
+ export function getFileStats(dir, logger = createConsoleLogger()) {
158
158
  const cmd = `git diff ${GIT_DIFF_OPTIONS} --numstat HEAD`;
159
- const output = safeExec(cmd, dir);
159
+ const output = safeExec(cmd, dir, logger);
160
160
  return parseNumstat(output);
161
161
  }
162
162
  /**
163
163
  * Get hunk-level diff for definition analysis
164
164
  */
165
- export function getHunkDiff(dir) {
165
+ export function getHunkDiff(dir, logger = createConsoleLogger()) {
166
166
  const cmd = `git diff ${GIT_DIFF_OPTIONS} --unified=0 HEAD`;
167
- const output = safeExec(cmd, dir);
167
+ const output = safeExec(cmd, dir, logger);
168
168
  return parseDiff(output);
169
169
  }
170
- /**
171
- * Combined function to get all diff data needed
172
- * Returns both file stats and hunk data, with error isolation
173
- */
174
- export function getAllDiffData(dir) {
170
+ export function getAllDiffData(dir, submodulePaths, logger = createConsoleLogger()) {
175
171
  // Get file stats (for file-level +N-M display)
176
172
  let fileStats;
177
173
  try {
178
- fileStats = getFileStats(dir);
174
+ fileStats = getFileStats(dir, logger);
179
175
  }
180
176
  catch (err) {
181
177
  const message = err instanceof Error ? err.message : String(err);
182
- console.error(`Warning: failed to get file stats: ${message}`);
178
+ logger.warn(`Warning: failed to get file stats: ${message}`);
183
179
  fileStats = new Map();
184
180
  }
185
181
  // Get hunk data (for definition-level analysis)
186
182
  let fileDiffs;
187
183
  try {
188
- fileDiffs = getHunkDiff(dir);
184
+ fileDiffs = getHunkDiff(dir, logger);
189
185
  }
190
186
  catch (err) {
191
187
  const message = err instanceof Error ? err.message : String(err);
192
- console.error(`Warning: failed to get hunk diff: ${message}`);
188
+ logger.warn(`Warning: failed to get hunk diff: ${message}`);
193
189
  fileDiffs = new Map();
194
190
  }
191
+ // Filter out submodule paths - their diff output is misleading:
192
+ // - numstat shows 1/1 for pointer changes (not real line counts)
193
+ // - unified diff shows "Subproject commit" pseudo-patches
194
+ if (submodulePaths && submodulePaths.size > 0) {
195
+ for (const subPath of submodulePaths) {
196
+ fileStats.delete(subPath);
197
+ fileDiffs.delete(subPath);
198
+ }
199
+ }
195
200
  return { fileStats, fileDiffs };
196
201
  }
197
202
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"git-status.js","sourceRoot":"","sources":["../../src/extract/git-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-status.js","sourceRoot":"","sources":["../../src/extract/git-status.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import { Lexer } from 'marked';
3
3
  import { readFirstLines } from './utils.js';
4
4
  const MAX_LINES = 50;
5
- const MAX_DESC_LINES = 25;
5
+ const MAX_DESC_LINES = 20;
6
6
  /**
7
7
  * Truncate lines to MAX_DESC_LINES, adding indicator if truncated
8
8
  */
@@ -101,9 +101,9 @@ with multiple lines"
101
101
  const lines = Array.from({ length: 40 }, (_, i) => `- Item ${i + 1}`).join('\n');
102
102
  const desc = await testMarkdown(`# Title\n\n${lines}`);
103
103
  const descLines = desc?.split('\n') ?? [];
104
- // 25 content lines + 1 truncation indicator
105
- expect(descLines.length).toBe(26);
106
- expect(descLines[25]).toBe('... and 16 more lines');
104
+ // 20 content lines + 1 truncation indicator (Title + 19 items, then indicator)
105
+ expect(descLines.length).toBe(21);
106
+ expect(descLines[20]).toBe('... and 21 more lines');
107
107
  });
108
108
  test('returns null for empty markdown', async () => {
109
109
  const desc = await testMarkdown(``);
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.test.js","sourceRoot":"","sources":["../../src/extract/markdown.test.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE1D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAA;AAEzD,KAAK,UAAU,YAAY,CAAC,OAAe;IACzC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC5C,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;;CAInC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;CAItC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;;CAInC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;;;;CAMnC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;;;CAKnC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;;CAKtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;;;;;CAOnC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;;;CAMtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;;CAInC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;CAItC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,kFAAkF;QAClF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;QACtD,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACzC,4CAA4C;QAC5C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;CAGnC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;CAenC,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;CAStC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"markdown.test.js","sourceRoot":"","sources":["../../src/extract/markdown.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { parseCode, detectLanguage } from '../parser/index.js';
5
5
  import { readFirstLines } from './utils.js';
6
6
  export { extractMarkdownDescription } from './markdown.js';
7
7
  const MAX_LINES = 50;
8
- const MAX_DESC_LINES = 25;
8
+ const MAX_DESC_LINES = 20;
9
9
  /**
10
10
  * Patterns that strongly indicate a license/copyright comment.
11
11
  * These are checked against comment text.
@@ -495,13 +495,13 @@ describe('Edge cases', () => {
495
495
  `);
496
496
  expect(desc).toBeUndefined();
497
497
  });
498
- test('description limited to 25 lines with truncation indicator', async () => {
498
+ test('description limited to 20 lines with truncation indicator', async () => {
499
499
  const lines = Array.from({ length: 30 }, (_, i) => `// Line ${i + 1}`).join('\n');
500
500
  const desc = await testFile('test.ts', lines + '\n\nexport function foo() {}');
501
501
  const descLines = desc?.split('\n') ?? [];
502
- // 25 content lines + 1 truncation indicator
503
- expect(descLines.length).toBe(26);
504
- expect(descLines[25]).toBe('... and 5 more lines');
502
+ // 20 content lines + 1 truncation indicator
503
+ expect(descLines.length).toBe(21);
504
+ expect(descLines[20]).toBe('... and 10 more lines');
505
505
  });
506
506
  test('empty comment returns undefined (no meaningful description)', async () => {
507
507
  const desc = await testFile('test.ts', `//
@@ -1 +1 @@
1
- {"version":3,"file":"marker.test.js","sourceRoot":"","sources":["../../src/extract/marker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marker.test.js","sourceRoot":"","sources":["../../src/extract/marker.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,UAAU,EAAE,CAAA;AACpB,CAAC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAA;AAEvD,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,OAAe;IACvD,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzC,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;CAG1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,6BAA6B,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;CAK1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;CAItC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;CAG1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;CAM1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;CAM1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;CAC1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;CAG1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;;;CAG3C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;;;CAG3C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,+BAA+B,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;CAO1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;CAO1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;CAI1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;CAK1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;CAK1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;KAGlC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;;;CAG3C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;CAI1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;CAI1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;CAG1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,KAAK;AACL,+EAA+E;AAE/E,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;CAM1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;CAM1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;CAK1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;;;;;CAK3C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;CAI1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;CAI1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,wCAAwC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;CAG1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;CAO1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;CAM1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;CAItC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;CAI1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;KAGlC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;;;;;CAK3C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;KAGlC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;;;;;CAW1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;;;;;;CAY1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,mCAAmC,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;CAM1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;;CAQ1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,iCAAiC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;;;;CAU1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;CAM1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,iCAAiC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;;CAQ1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;;;;CAO1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;;CAI1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;CAGtC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;CAG1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;CAC3C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,8BAA8B,CAAC,CAAA;QAC9E,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACzC,4CAA4C;QAC5C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE;;;CAG1C,CAAC,CAAA;QACE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { SubmoduleInfo } from '../types.js';
2
+ /**
3
+ * Get all submodule info for a repository.
4
+ * Combines detection, status, branches, URLs, and dirty state.
5
+ */
6
+ export declare function getSubmodules(dir: string): SubmoduleInfo[];
7
+ /**
8
+ * Get the set of submodule paths for filtering from diff output.
9
+ * Lightweight version that only detects paths without full info.
10
+ */
11
+ export declare function getSubmodulePaths(dir: string): Set<string>;
12
+ //# sourceMappingURL=submodules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submodules.d.ts","sourceRoot":"","sources":["../../src/extract/submodules.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AA0NhD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAgC1D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAE1D"}
@@ -0,0 +1,234 @@
1
+ // Detect git submodules, their branches, and dirty state.
2
+ // Uses multiple git commands with safeExec for cross-platform reliability.
3
+ import { execSync } from 'child_process';
4
+ import { existsSync } from 'fs';
5
+ import { join } from 'path';
6
+ /**
7
+ * Safely execute a git command, returning empty string on any error
8
+ */
9
+ function safeExec(cmd, dir) {
10
+ try {
11
+ return execSync(cmd, {
12
+ cwd: dir,
13
+ encoding: 'utf8',
14
+ maxBuffer: 1024 * 1024 * 10, // 10MB
15
+ stdio: ['pipe', 'pipe', 'pipe'],
16
+ });
17
+ }
18
+ catch {
19
+ return '';
20
+ }
21
+ }
22
+ /**
23
+ * Detect submodule paths by looking for gitlink entries (mode 160000) in git ls-files --stage.
24
+ * This is the most reliable method - works even if submodules are not initialized.
25
+ */
26
+ function detectSubmodulePaths(dir) {
27
+ const output = safeExec('git ls-files --stage', dir);
28
+ const paths = new Set();
29
+ if (!output.trim())
30
+ return paths;
31
+ for (const line of output.split('\n')) {
32
+ if (!line.trim())
33
+ continue;
34
+ // Format: <mode> <hash> <stage>\t<path>
35
+ // Submodules have mode 160000
36
+ if (line.startsWith('160000 ')) {
37
+ const tabIdx = line.indexOf('\t');
38
+ if (tabIdx !== -1) {
39
+ paths.add(line.slice(tabIdx + 1).trim());
40
+ }
41
+ }
42
+ }
43
+ return paths;
44
+ }
45
+ /**
46
+ * Parse `git submodule status --recursive` output.
47
+ * Format: " <sha> <path> (<describe>)" or "-<sha> <path>" (uninitialized) or "+<sha> <path> (<describe>)" (out of sync)
48
+ */
49
+ function parseSubmoduleStatus(dir) {
50
+ const output = safeExec('git submodule status --recursive', dir);
51
+ const result = new Map();
52
+ if (!output.trim())
53
+ return result;
54
+ for (const line of output.split('\n')) {
55
+ if (!line.trim())
56
+ continue;
57
+ // First char: ' ' = OK, '-' = uninitialized, '+' = out of sync, 'U' = merge conflict
58
+ const prefix = line[0];
59
+ const initialized = prefix !== '-';
60
+ // Rest: <sha> <path> [(<describe>)]
61
+ const rest = line.slice(1).trim();
62
+ const spaceIdx = rest.indexOf(' ');
63
+ if (spaceIdx === -1)
64
+ continue;
65
+ const commit = rest.slice(0, spaceIdx);
66
+ let path = rest.slice(spaceIdx + 1);
67
+ // Remove optional describe suffix: " (v1.2.3)" or " (heads/main)"
68
+ const parenIdx = path.lastIndexOf(' (');
69
+ if (parenIdx !== -1) {
70
+ path = path.slice(0, parenIdx);
71
+ }
72
+ result.set(path.trim(), {
73
+ commit: commit.slice(0, 7), // short SHA
74
+ initialized,
75
+ });
76
+ }
77
+ return result;
78
+ }
79
+ /**
80
+ * Get the checked-out branch for each initialized submodule.
81
+ * Returns a map of submodule path -> branch name (or undefined for detached HEAD).
82
+ */
83
+ function getSubmoduleBranches(dir) {
84
+ // Use foreach to run git symbolic-ref in each submodule
85
+ const output = safeExec('git submodule foreach --quiet --recursive \'echo "$sm_path|$(git symbolic-ref --short -q HEAD 2>/dev/null || echo __detached__)"\'', dir);
86
+ const result = new Map();
87
+ if (!output.trim())
88
+ return result;
89
+ for (const line of output.split('\n')) {
90
+ if (!line.trim())
91
+ continue;
92
+ const pipeIdx = line.indexOf('|');
93
+ if (pipeIdx === -1)
94
+ continue;
95
+ const path = line.slice(0, pipeIdx).trim();
96
+ const branch = line.slice(pipeIdx + 1).trim();
97
+ result.set(path, branch === '__detached__' || branch === '' ? undefined : branch);
98
+ }
99
+ return result;
100
+ }
101
+ /**
102
+ * Get submodule URLs from .gitmodules config.
103
+ * Returns a map of submodule path -> URL.
104
+ */
105
+ function getSubmoduleUrls(dir) {
106
+ // Check if .gitmodules exists first
107
+ if (!existsSync(join(dir, '.gitmodules'))) {
108
+ return new Map();
109
+ }
110
+ const output = safeExec('git config -f .gitmodules --get-regexp "^submodule\\..*\\.url$"', dir);
111
+ const pathOutput = safeExec('git config -f .gitmodules --get-regexp "^submodule\\..*\\.path$"', dir);
112
+ // Build name -> url map
113
+ const nameToUrl = new Map();
114
+ for (const line of output.split('\n')) {
115
+ if (!line.trim())
116
+ continue;
117
+ // Format: submodule.<name>.url <url>
118
+ const match = line.match(/^submodule\.(.+)\.url\s+(.+)$/);
119
+ if (match) {
120
+ nameToUrl.set(match[1], match[2].trim());
121
+ }
122
+ }
123
+ // Build path -> url map via name -> path mapping
124
+ const result = new Map();
125
+ for (const line of pathOutput.split('\n')) {
126
+ if (!line.trim())
127
+ continue;
128
+ // Format: submodule.<name>.path <path>
129
+ const match = line.match(/^submodule\.(.+)\.path\s+(.+)$/);
130
+ if (match) {
131
+ const name = match[1];
132
+ const path = match[2].trim();
133
+ const url = nameToUrl.get(name);
134
+ if (url) {
135
+ result.set(path, url);
136
+ }
137
+ }
138
+ }
139
+ return result;
140
+ }
141
+ /**
142
+ * Check which submodules have dirty working trees.
143
+ * Uses git status --porcelain=2 to detect modified submodule content.
144
+ *
145
+ * Porcelain v2 "changed entry" format (type 1):
146
+ * 1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>
147
+ * Fields are space-separated but the path (field 9) may contain spaces,
148
+ * so we split on the first 8 spaces and take the remainder as the path.
149
+ */
150
+ function getDirtySubmodules(dir, submodulePaths) {
151
+ if (submodulePaths.size === 0)
152
+ return new Set();
153
+ const output = safeExec('git status --porcelain=2', dir);
154
+ const dirty = new Set();
155
+ if (!output.trim())
156
+ return dirty;
157
+ for (const line of output.split('\n')) {
158
+ if (!line.trim())
159
+ continue;
160
+ if (line.startsWith('1 ') || line.startsWith('2 ')) {
161
+ // Split only the first 8 spaces to preserve path with spaces
162
+ const fields = splitNFields(line, 9);
163
+ if (fields.length < 9)
164
+ continue;
165
+ // fields[2] is the sub field (N... for non-submodule, S... for submodule)
166
+ const subField = fields[2];
167
+ // fields[8] is the full path (may contain spaces)
168
+ const path = fields[8];
169
+ if (subField && subField.startsWith('S') && subField !== 'S...' && submodulePaths.has(path)) {
170
+ dirty.add(path);
171
+ }
172
+ }
173
+ }
174
+ return dirty;
175
+ }
176
+ /**
177
+ * Split a string into exactly N fields by spaces.
178
+ * The last field gets the remainder (preserving spaces in paths).
179
+ */
180
+ function splitNFields(str, n) {
181
+ const fields = [];
182
+ let pos = 0;
183
+ for (let i = 0; i < n - 1 && pos < str.length; i++) {
184
+ const spaceIdx = str.indexOf(' ', pos);
185
+ if (spaceIdx === -1)
186
+ break;
187
+ fields.push(str.slice(pos, spaceIdx));
188
+ pos = spaceIdx + 1;
189
+ }
190
+ if (pos < str.length) {
191
+ fields.push(str.slice(pos));
192
+ }
193
+ return fields;
194
+ }
195
+ /**
196
+ * Get all submodule info for a repository.
197
+ * Combines detection, status, branches, URLs, and dirty state.
198
+ */
199
+ export function getSubmodules(dir) {
200
+ // Step 1: Detect all submodule paths (works even if uninitialized)
201
+ const submodulePaths = detectSubmodulePaths(dir);
202
+ if (submodulePaths.size === 0)
203
+ return [];
204
+ // Step 2: Get status (commit SHAs and initialized state)
205
+ const statusMap = parseSubmoduleStatus(dir);
206
+ // Step 3: Get branches for initialized submodules
207
+ const branchMap = getSubmoduleBranches(dir);
208
+ // Step 4: Get URLs from .gitmodules
209
+ const urlMap = getSubmoduleUrls(dir);
210
+ // Step 5: Check dirty state
211
+ const dirtySet = getDirtySubmodules(dir, submodulePaths);
212
+ // Combine all info
213
+ const submodules = [];
214
+ for (const path of submodulePaths) {
215
+ const status = statusMap.get(path);
216
+ submodules.push({
217
+ path,
218
+ commit: status?.commit ?? 'unknown',
219
+ branch: branchMap.get(path),
220
+ url: urlMap.get(path),
221
+ dirty: dirtySet.has(path),
222
+ initialized: status?.initialized ?? false,
223
+ });
224
+ }
225
+ return submodules;
226
+ }
227
+ /**
228
+ * Get the set of submodule paths for filtering from diff output.
229
+ * Lightweight version that only detects paths without full info.
230
+ */
231
+ export function getSubmodulePaths(dir) {
232
+ return detectSubmodulePaths(dir);
233
+ }
234
+ //# sourceMappingURL=submodules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submodules.js","sourceRoot":"","sources":["../../src/extract/submodules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=submodules.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submodules.test.d.ts","sourceRoot":"","sources":["../../src/extract/submodules.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ // Tests for submodule detection and parsing logic.
2
+ import { describe, expect, test } from 'bun:test';
3
+ import { getSubmodules, getSubmodulePaths } from './submodules.js';
4
+ import { getAllDiffData, parseNumstat, parseDiff } from './git-status.js';
5
+ // ============================================================================
6
+ // Integration: submodule detection in current repo (no submodules expected)
7
+ // ============================================================================
8
+ describe('getSubmodules', () => {
9
+ test('returns empty array when repo has no submodules', () => {
10
+ const result = getSubmodules(process.cwd());
11
+ expect(result).toMatchInlineSnapshot(`[]`);
12
+ });
13
+ });
14
+ describe('getSubmodulePaths', () => {
15
+ test('returns empty set when repo has no submodules', () => {
16
+ const result = getSubmodulePaths(process.cwd());
17
+ expect(result.size).toBe(0);
18
+ });
19
+ });
20
+ // ============================================================================
21
+ // Diff filtering: submodule paths should be removed from diff output
22
+ // ============================================================================
23
+ describe('diff submodule filtering', () => {
24
+ test('parseNumstat includes submodule pointer changes as 1/1', () => {
25
+ // Simulates what git diff --numstat outputs for a submodule pointer change
26
+ const output = `1\t1\tvendor/some-lib
27
+ 10\t5\tsrc/main.ts`;
28
+ const result = parseNumstat(output);
29
+ // Without filtering, the submodule shows as 1 added / 1 deleted
30
+ expect(result.size).toBe(2);
31
+ expect(result.get('vendor/some-lib')).toMatchInlineSnapshot(`
32
+ {
33
+ "added": 1,
34
+ "deleted": 1,
35
+ }
36
+ `);
37
+ });
38
+ test('getAllDiffData filters out submodule paths', () => {
39
+ const submodulePaths = new Set(['vendor/some-lib', 'external/utils']);
40
+ // This tests the filtering logic with real git commands on the current repo.
41
+ // Since this repo has no submodules, the filter set won't match anything,
42
+ // but we verify the function accepts the parameter without error.
43
+ const result = getAllDiffData(process.cwd(), submodulePaths);
44
+ expect(result.fileStats).toBeDefined();
45
+ expect(result.fileDiffs).toBeDefined();
46
+ // Verify submodule paths are not in the results
47
+ expect(result.fileStats.has('vendor/some-lib')).toBe(false);
48
+ expect(result.fileDiffs.has('vendor/some-lib')).toBe(false);
49
+ });
50
+ test('parseDiff handles submodule pseudo-diff gracefully', () => {
51
+ // Git produces this pseudo-diff for submodule pointer changes
52
+ const diffOutput = `diff --git a/vendor/lib b/vendor/lib
53
+ index abc1234..def5678 160000
54
+ --- a/vendor/lib
55
+ +++ b/vendor/lib
56
+ @@ -1 +1 @@
57
+ -Subproject commit abc1234567890abcdef1234567890abcdef123456
58
+ +Subproject commit def5678901234567890abcdef1234567890abcdef`;
59
+ const result = parseDiff(diffOutput);
60
+ // Parser will extract a hunk but it's meaningless for submodules.
61
+ // The important thing is it doesn't crash.
62
+ expect(result.has('vendor/lib')).toBe(true);
63
+ // In practice, getAllDiffData filters this out via submodulePaths
64
+ });
65
+ });
66
+ // ============================================================================
67
+ // Builder: submodule entry formatting (tested via types)
68
+ // ============================================================================
69
+ describe('SubmoduleEntry format', () => {
70
+ test('formats initialized submodule with branch', () => {
71
+ // This tests the format that builder.ts produces
72
+ const label = 'main @ a1b2c3d';
73
+ expect(label).toMatchInlineSnapshot(`"main @ a1b2c3d"`);
74
+ });
75
+ test('formats detached HEAD submodule', () => {
76
+ const label = 'detached @ f4e5d6c';
77
+ expect(label).toMatchInlineSnapshot(`"detached @ f4e5d6c"`);
78
+ });
79
+ test('formats uninitialized submodule', () => {
80
+ const label = 'uninitialized @ abc1234';
81
+ expect(label).toMatchInlineSnapshot(`"uninitialized @ abc1234"`);
82
+ });
83
+ });
84
+ //# sourceMappingURL=submodules.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submodules.test.js","sourceRoot":"","sources":["../../src/extract/submodules.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import type { GenerateOptions, MapNode } from './types.js';
2
2
  export { toYaml } from './map/yaml.js';
3
3
  export { truncateMap, truncateDefs } from './map/truncate.js';
4
- export type { DefEntry, Definition, DefinitionDiff, DefinitionStatus, DiffHunk, FileDiffStats, FileEntry, FileDiff, FileResult, GenerateOptions, Language, MapNode, MarkerResult, } from './types.js';
4
+ export type { TruncateOptions } from './map/truncate.js';
5
+ export { createConsoleLogger, createNoopLogger, formatLogMessage } from './logger.js';
6
+ export type { Logger } from './logger.js';
7
+ export type { DefEntry, Definition, DefinitionDiff, DefinitionStatus, DiffHunk, FileDiffStats, FileEntry, FileDiff, FileResult, GenerateOptions, Language, MapNode, MarkerResult, SubmoduleEntry, SubmoduleInfo, SubmoduleNode, } from './types.js';
5
8
  /**
6
9
  * Check if directory is inside a git repository
7
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE7D,YAAY,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,SAAS,EACT,QAAQ,EACR,UAAU,EACV,eAAe,EACf,QAAQ,EACR,OAAO,EACP,YAAY,GACb,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIpD;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAejF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBpF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACrF,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,YAAY,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,SAAS,EACT,QAAQ,EACR,UAAU,EACV,eAAe,EACf,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIpD;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAejF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBpF"}