agentmap 0.7.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.
- package/dist/cli.js +20 -10
- package/dist/cli.js.map +1 -1
- package/dist/extract/git-status.d.ts +4 -2
- package/dist/extract/git-status.d.ts.map +1 -1
- package/dist/extract/git-status.js +13 -2
- package/dist/extract/git-status.js.map +1 -1
- package/dist/extract/markdown.d.ts.map +1 -1
- package/dist/extract/markdown.js +1 -25
- package/dist/extract/markdown.js.map +1 -1
- package/dist/extract/marker.d.ts +6 -1
- package/dist/extract/marker.d.ts.map +1 -1
- package/dist/extract/marker.js +22 -26
- package/dist/extract/marker.js.map +1 -1
- package/dist/extract/submodules.d.ts +12 -0
- package/dist/extract/submodules.d.ts.map +1 -0
- package/dist/extract/submodules.js +234 -0
- package/dist/extract/submodules.js.map +1 -0
- package/dist/extract/submodules.test.d.ts +2 -0
- package/dist/extract/submodules.test.d.ts.map +1 -0
- package/dist/extract/submodules.test.js +84 -0
- package/dist/extract/submodules.test.js.map +1 -0
- package/dist/extract/utils.d.ts +6 -0
- package/dist/extract/utils.d.ts.map +1 -0
- package/dist/extract/utils.js +28 -0
- package/dist/extract/utils.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -6
- package/dist/index.js.map +1 -1
- package/dist/map/builder.d.ts +3 -3
- package/dist/map/builder.d.ts.map +1 -1
- package/dist/map/builder.js +41 -2
- package/dist/map/builder.js.map +1 -1
- package/dist/map/truncate.d.ts +12 -0
- package/dist/map/truncate.d.ts.map +1 -0
- package/dist/map/truncate.js +89 -0
- package/dist/map/truncate.js.map +1 -0
- package/dist/map/yaml.d.ts +1 -0
- package/dist/map/yaml.d.ts.map +1 -1
- package/dist/map/yaml.js +24 -6
- package/dist/map/yaml.js.map +1 -1
- package/dist/scanner.d.ts +9 -2
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +53 -27
- package/dist/scanner.js.map +1 -1
- package/dist/types.d.ts +30 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Truncate definitions in map to limit context size.
|
|
2
|
+
const DEFAULT_MAX_DEFS = 25;
|
|
3
|
+
/**
|
|
4
|
+
* Check if a def value indicates exported or extern
|
|
5
|
+
*/
|
|
6
|
+
function isExportedDef(value) {
|
|
7
|
+
return value.includes('exported') || value.includes('extern');
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Check if a value is a FileEntry (has description or defs)
|
|
11
|
+
*/
|
|
12
|
+
function isFileEntry(value) {
|
|
13
|
+
if (!value || typeof value !== 'object')
|
|
14
|
+
return false;
|
|
15
|
+
const obj = value;
|
|
16
|
+
return 'description' in obj || 'defs' in obj;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if a value is a SubmoduleEntry (has submodule key)
|
|
20
|
+
*/
|
|
21
|
+
function isSubmoduleEntry(value) {
|
|
22
|
+
if (!value || typeof value !== 'object')
|
|
23
|
+
return false;
|
|
24
|
+
return 'submodule' in value;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Truncate definitions in a file entry to maxDefs
|
|
28
|
+
* If file has exported symbols, shows only exports field instead
|
|
29
|
+
* Otherwise uses current truncation behavior
|
|
30
|
+
*/
|
|
31
|
+
export function truncateDefs(entry, maxDefs = DEFAULT_MAX_DEFS) {
|
|
32
|
+
if (!entry.defs)
|
|
33
|
+
return entry;
|
|
34
|
+
const defNames = Object.keys(entry.defs);
|
|
35
|
+
if (defNames.length <= maxDefs)
|
|
36
|
+
return entry;
|
|
37
|
+
// Filter to only exported/extern definitions
|
|
38
|
+
const exportedNames = defNames.filter(name => isExportedDef(entry.defs[name]));
|
|
39
|
+
// If we have exports, use exports field instead of defs
|
|
40
|
+
if (exportedNames.length > 0) {
|
|
41
|
+
const exports = {};
|
|
42
|
+
const maxExports = Math.min(exportedNames.length, maxDefs);
|
|
43
|
+
for (let i = 0; i < maxExports; i++) {
|
|
44
|
+
const name = exportedNames[i];
|
|
45
|
+
exports[name] = entry.defs[name];
|
|
46
|
+
}
|
|
47
|
+
// Add marker if exports were also truncated
|
|
48
|
+
if (exportedNames.length > maxDefs) {
|
|
49
|
+
const remaining = exportedNames.length - maxDefs;
|
|
50
|
+
exports[`__more_${remaining}__`] = `${remaining} more exports`;
|
|
51
|
+
}
|
|
52
|
+
// Return with exports instead of defs
|
|
53
|
+
const { defs, ...rest } = entry;
|
|
54
|
+
return { ...rest, exports };
|
|
55
|
+
}
|
|
56
|
+
// No exports found - use current truncation behavior
|
|
57
|
+
const truncated = {};
|
|
58
|
+
for (let i = 0; i < maxDefs; i++) {
|
|
59
|
+
const name = defNames[i];
|
|
60
|
+
truncated[name] = entry.defs[name];
|
|
61
|
+
}
|
|
62
|
+
const remaining = defNames.length - maxDefs;
|
|
63
|
+
// Add marker that will be converted to comment
|
|
64
|
+
truncated[`__more_${remaining}__`] = `${remaining} more definitions`;
|
|
65
|
+
return { ...entry, defs: truncated };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Recursively truncate defs in all files in the map
|
|
69
|
+
*/
|
|
70
|
+
export function truncateMap(node, maxDefs = DEFAULT_MAX_DEFS) {
|
|
71
|
+
const result = {};
|
|
72
|
+
for (const [key, value] of Object.entries(node)) {
|
|
73
|
+
if (isFileEntry(value)) {
|
|
74
|
+
result[key] = truncateDefs(value, maxDefs);
|
|
75
|
+
}
|
|
76
|
+
else if (isSubmoduleEntry(value)) {
|
|
77
|
+
// Submodule entries pass through unchanged (no defs to truncate)
|
|
78
|
+
result[key] = value;
|
|
79
|
+
}
|
|
80
|
+
else if (value && typeof value === 'object') {
|
|
81
|
+
result[key] = truncateMap(value, maxDefs);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
result[key] = value;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=truncate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/map/truncate.ts"],"names":[],"mappings":"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"}
|
package/dist/map/yaml.d.ts
CHANGED
package/dist/map/yaml.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/map/yaml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/map/yaml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAgD1C;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAU3C"}
|
package/dist/map/yaml.js
CHANGED
|
@@ -8,7 +8,7 @@ function isReadme(key) {
|
|
|
8
8
|
return lower === 'readme.md' || lower === 'readme';
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Custom key sorter: description first, then diff, then defs, then README files, then alphabetical
|
|
11
|
+
* Custom key sorter: description first, then submodule/dirty, then diff, then defs/exports, then README files, then alphabetical
|
|
12
12
|
*/
|
|
13
13
|
function sortKeys(a, b) {
|
|
14
14
|
// description always first
|
|
@@ -16,15 +16,25 @@ function sortKeys(a, b) {
|
|
|
16
16
|
return -1;
|
|
17
17
|
if (b === 'description')
|
|
18
18
|
return 1;
|
|
19
|
-
//
|
|
19
|
+
// submodule second (for submodule entries)
|
|
20
|
+
if (a === 'submodule')
|
|
21
|
+
return -1;
|
|
22
|
+
if (b === 'submodule')
|
|
23
|
+
return 1;
|
|
24
|
+
// dirty third (for submodule entries)
|
|
25
|
+
if (a === 'dirty')
|
|
26
|
+
return -1;
|
|
27
|
+
if (b === 'dirty')
|
|
28
|
+
return 1;
|
|
29
|
+
// diff fourth
|
|
20
30
|
if (a === 'diff')
|
|
21
31
|
return -1;
|
|
22
32
|
if (b === 'diff')
|
|
23
33
|
return 1;
|
|
24
|
-
// defs
|
|
25
|
-
if (a === 'defs')
|
|
34
|
+
// defs/exports fifth
|
|
35
|
+
if (a === 'defs' || a === 'exports')
|
|
26
36
|
return -1;
|
|
27
|
-
if (b === 'defs')
|
|
37
|
+
if (b === 'defs' || b === 'exports')
|
|
28
38
|
return 1;
|
|
29
39
|
// README files come before other files
|
|
30
40
|
const aIsReadme = isReadme(a);
|
|
@@ -36,11 +46,18 @@ function sortKeys(a, b) {
|
|
|
36
46
|
// alphabetical for everything else
|
|
37
47
|
return a.localeCompare(b);
|
|
38
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Convert __more_N__ markers to YAML comments
|
|
51
|
+
*/
|
|
52
|
+
function markersToComments(yamlStr) {
|
|
53
|
+
return yamlStr.replace(/^(\s*)__more_(\d+)__: (\d+ more (?:definitions|exports))$/gm, '$1# ... $3');
|
|
54
|
+
}
|
|
39
55
|
/**
|
|
40
56
|
* Convert map object to YAML string
|
|
57
|
+
* Automatically converts truncation markers to comments
|
|
41
58
|
*/
|
|
42
59
|
export function toYaml(map) {
|
|
43
|
-
|
|
60
|
+
const yamlStr = yaml.dump(map, {
|
|
44
61
|
indent: 2,
|
|
45
62
|
lineWidth: -1, // Don't wrap lines
|
|
46
63
|
noRefs: true, // Don't use YAML references
|
|
@@ -48,5 +65,6 @@ export function toYaml(map) {
|
|
|
48
65
|
quotingType: '"',
|
|
49
66
|
forceQuotes: false,
|
|
50
67
|
});
|
|
68
|
+
return markersToComments(yamlStr);
|
|
51
69
|
}
|
|
52
70
|
//# sourceMappingURL=yaml.js.map
|
package/dist/map/yaml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/map/yaml.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,IAAI,MAAM,SAAS,CAAA;AAG1B;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAC/B,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,CAAA;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,2BAA2B;IAC3B,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,CAAC,CAAA;IACjC,cAAc;IACd,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAA;IAC1B,
|
|
1
|
+
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/map/yaml.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,IAAI,MAAM,SAAS,CAAA;AAG1B;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAC/B,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,CAAA;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,2BAA2B;IAC3B,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,CAAC,CAAA;IACjC,2CAA2C;IAC3C,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,CAAC,CAAA;IAC/B,sCAAsC;IACtC,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC,CAAA;IAC5B,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,CAAC,CAAA;IAC3B,cAAc;IACd,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAA;IAC1B,qBAAqB;IACrB,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAA;IAC7C,uCAAuC;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,SAAS,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC,CAAA;IACtC,IAAI,SAAS,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,CAAA;IACrC,mCAAmC;IACnC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO,CAAC,OAAO,CACpB,6DAA6D,EAC7D,YAAY,CACb,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,GAAY;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QAC7B,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC,CAAC,EAAG,mBAAmB;QACnC,MAAM,EAAE,IAAI,EAAI,4BAA4B;QAC5C,QAAQ,EAAQ,qCAAqC;QACrD,WAAW,EAAE,GAAG;QAChB,WAAW,EAAE,KAAK;KACnB,CAAC,CAAA;IACF,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
|
package/dist/scanner.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import type { FileResult, GenerateOptions } from './types.js';
|
|
1
|
+
import type { FileResult, GenerateOptions, SubmoduleInfo } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Result of scanning a directory, including both file results and submodule info
|
|
4
|
+
*/
|
|
5
|
+
export interface ScanResult {
|
|
6
|
+
files: FileResult[];
|
|
7
|
+
submodules: SubmoduleInfo[];
|
|
8
|
+
}
|
|
2
9
|
/**
|
|
3
10
|
* Scan directory and process files with header comments
|
|
4
11
|
*/
|
|
5
|
-
export declare function scanDirectory(options?: GenerateOptions): Promise<
|
|
12
|
+
export declare function scanDirectory(options?: GenerateOptions): Promise<ScanResult>;
|
|
6
13
|
//# sourceMappingURL=scanner.d.ts.map
|
package/dist/scanner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAA2B,aAAa,EAAE,MAAM,YAAY,CAAA;AAuDrG;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,UAAU,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+FtF"}
|
package/dist/scanner.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
// Scan directory for files with header comments/docstrings.
|
|
2
2
|
import { execSync } from 'child_process';
|
|
3
|
+
import pLimit from 'p-limit';
|
|
3
4
|
import picomatch from 'picomatch';
|
|
4
5
|
import { readFile } from 'fs/promises';
|
|
5
6
|
import { join, normalize } from 'path';
|
|
6
|
-
import {
|
|
7
|
+
import { extractMarkerFromCode, extractMarkdownDescription } from './extract/marker.js';
|
|
7
8
|
import { extractDefinitions } from './extract/definitions.js';
|
|
8
9
|
import { getAllDiffData, applyDiffToDefinitions } from './extract/git-status.js';
|
|
10
|
+
import { getSubmodules, getSubmodulePaths } from './extract/submodules.js';
|
|
9
11
|
import { parseCode, detectLanguage, LANGUAGE_EXTENSIONS } from './parser/index.js';
|
|
10
12
|
/**
|
|
11
13
|
* Maximum number of files to process (safety limit)
|
|
@@ -62,8 +64,28 @@ export async function scanDirectory(options = {}) {
|
|
|
62
64
|
const ignorePatterns = (options.ignore ?? []).filter((p) => !!p);
|
|
63
65
|
const filterPatterns = (options.filter ?? []).filter((p) => !!p);
|
|
64
66
|
const includeDiff = options.diff ?? false;
|
|
67
|
+
const includeSubmodules = options.submodules !== false; // default true
|
|
68
|
+
// Detect submodules first (needed for both map entries and diff filtering)
|
|
69
|
+
let submodules = [];
|
|
70
|
+
let submodulePathSet = new Set();
|
|
71
|
+
if (includeSubmodules) {
|
|
72
|
+
submodules = getSubmodules(dir);
|
|
73
|
+
submodulePathSet = new Set(submodules.map(s => s.path));
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// Even when not showing submodules, detect paths for diff filtering
|
|
77
|
+
submodulePathSet = getSubmodulePaths(dir);
|
|
78
|
+
}
|
|
79
|
+
// Build a normalized set for filtering (handles Windows backslash paths)
|
|
80
|
+
const normalizedSubmodulePaths = new Set();
|
|
81
|
+
for (const p of submodulePathSet) {
|
|
82
|
+
normalizedSubmodulePaths.add(normalize(p));
|
|
83
|
+
}
|
|
65
84
|
// Get file list from git (caller should ensure we're in a git repo)
|
|
66
85
|
let files = getGitFiles(dir);
|
|
86
|
+
// Filter out submodule gitlink entries (they appear as paths in ls-files)
|
|
87
|
+
// Use normalized paths to handle Windows backslash vs forward slash differences
|
|
88
|
+
files = files.filter(f => !normalizedSubmodulePaths.has(f));
|
|
67
89
|
// Filter by supported extensions or README files
|
|
68
90
|
files = files.filter(f => isSupportedFile(f) || isReadmeFile(f));
|
|
69
91
|
// Filter by filter patterns (only include matching files)
|
|
@@ -79,14 +101,14 @@ export async function scanDirectory(options = {}) {
|
|
|
79
101
|
// Safety check: bail if too many files to avoid scanning huge directories
|
|
80
102
|
if (files.length > MAX_FILES) {
|
|
81
103
|
console.error(`Warning: Too many files (${files.length} > ${MAX_FILES}), skipping scan`);
|
|
82
|
-
return [];
|
|
104
|
+
return { files: [], submodules };
|
|
83
105
|
}
|
|
84
106
|
// Get git diff data if needed (isolated from main processing)
|
|
85
107
|
let fileStats = null;
|
|
86
108
|
let fileDiffs = null;
|
|
87
109
|
if (includeDiff) {
|
|
88
110
|
try {
|
|
89
|
-
const diffData = getAllDiffData(dir);
|
|
111
|
+
const diffData = getAllDiffData(dir, submodulePathSet);
|
|
90
112
|
fileStats = diffData.fileStats;
|
|
91
113
|
fileDiffs = diffData.fileDiffs;
|
|
92
114
|
}
|
|
@@ -96,26 +118,30 @@ export async function scanDirectory(options = {}) {
|
|
|
96
118
|
fileDiffs = null;
|
|
97
119
|
}
|
|
98
120
|
}
|
|
99
|
-
// Process
|
|
100
|
-
const
|
|
101
|
-
|
|
121
|
+
// Process files in parallel with concurrency limit
|
|
122
|
+
const limit = pLimit(20);
|
|
123
|
+
const resultPromises = files.map(relativePath => {
|
|
102
124
|
const fullPath = join(dir, relativePath);
|
|
103
125
|
// Normalize path for lookup (handle Windows backslashes)
|
|
104
126
|
const normalizedPath = relativePath.replace(/\\/g, '/');
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
results.push(result);
|
|
127
|
+
const fileDiff = fileDiffs?.get(normalizedPath);
|
|
128
|
+
const stats = fileStats?.get(normalizedPath);
|
|
129
|
+
return limit(async () => {
|
|
130
|
+
try {
|
|
131
|
+
return await processFile(fullPath, relativePath, fileDiff, stats);
|
|
111
132
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
133
|
+
catch (err) {
|
|
134
|
+
// Skip files that fail to process
|
|
135
|
+
console.error(`Warning: Failed to process ${relativePath}:`, err);
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
const results = await Promise.all(resultPromises);
|
|
141
|
+
return {
|
|
142
|
+
files: results.filter((r) => r !== null),
|
|
143
|
+
submodules,
|
|
144
|
+
};
|
|
119
145
|
}
|
|
120
146
|
/**
|
|
121
147
|
* Process a single file - check for marker and extract definitions
|
|
@@ -134,19 +160,19 @@ async function processFile(fullPath, relativePath, fileDiff, fileStats) {
|
|
|
134
160
|
diff: fileStats,
|
|
135
161
|
};
|
|
136
162
|
}
|
|
137
|
-
//
|
|
138
|
-
const marker = await extractMarker(fullPath);
|
|
139
|
-
if (!marker.found) {
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
|
-
// Detect language
|
|
163
|
+
// Detect language first
|
|
143
164
|
const language = detectLanguage(relativePath);
|
|
144
165
|
if (!language) {
|
|
145
166
|
return null;
|
|
146
167
|
}
|
|
147
|
-
// Read
|
|
168
|
+
// Read file once for both marker extraction and definition parsing
|
|
148
169
|
const code = await readFile(fullPath, 'utf8');
|
|
149
|
-
//
|
|
170
|
+
// Check for marker using the code we already read
|
|
171
|
+
const marker = await extractMarkerFromCode(code, language);
|
|
172
|
+
if (!marker.found) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
// Parse and extract definitions using the same code
|
|
150
176
|
const tree = await parseCode(code, language);
|
|
151
177
|
let definitions = extractDefinitions(tree.rootNode, language);
|
|
152
178
|
// Apply diff info if available (for definition-level stats)
|
package/dist/scanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -26,10 +26,34 @@ export interface FileEntry {
|
|
|
26
26
|
exports?: DefEntry;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* A submodule entry in the map
|
|
30
|
+
*/
|
|
31
|
+
export interface SubmoduleEntry {
|
|
32
|
+
submodule: string;
|
|
33
|
+
dirty?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Info about a git submodule discovered in the repo
|
|
37
|
+
*/
|
|
38
|
+
export interface SubmoduleInfo {
|
|
39
|
+
/** Relative path of the submodule in the parent repo */
|
|
40
|
+
path: string;
|
|
41
|
+
/** Current HEAD commit SHA (short) */
|
|
42
|
+
commit: string;
|
|
43
|
+
/** Checked-out branch name, or undefined if detached HEAD */
|
|
44
|
+
branch?: string;
|
|
45
|
+
/** Remote URL from .gitmodules */
|
|
46
|
+
url?: string;
|
|
47
|
+
/** Whether the submodule has uncommitted changes */
|
|
48
|
+
dirty?: boolean;
|
|
49
|
+
/** Whether the submodule is initialized */
|
|
50
|
+
initialized: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Recursive map node - either a directory (with children), a file entry, or a submodule entry
|
|
30
54
|
*/
|
|
31
55
|
export interface MapNode {
|
|
32
|
-
[name: string]: MapNode | FileEntry;
|
|
56
|
+
[name: string]: MapNode | FileEntry | SubmoduleEntry;
|
|
33
57
|
}
|
|
34
58
|
/**
|
|
35
59
|
* Result of extracting marker and description from a file
|
|
@@ -89,6 +113,10 @@ export interface GenerateOptions {
|
|
|
89
113
|
diff?: boolean;
|
|
90
114
|
/** Git ref to diff against (default: HEAD for unstaged, --cached for staged) */
|
|
91
115
|
diffBase?: string;
|
|
116
|
+
/** Max definitions per file before truncation (default: 25) */
|
|
117
|
+
maxDefs?: number;
|
|
118
|
+
/** Include submodule info in the map (default: true) */
|
|
119
|
+
submodules?: boolean;
|
|
92
120
|
}
|
|
93
121
|
/**
|
|
94
122
|
* A hunk from git diff output
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,KAAK,GACL,KAAK,CAAA;AAET;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentmap",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Generate a YAML map of your codebase for AI agent context",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"cac": "^6.7.14",
|
|
39
39
|
"js-yaml": "^4.1.0",
|
|
40
40
|
"marked": "^17.0.1",
|
|
41
|
+
"p-limit": "^7.2.0",
|
|
41
42
|
"picomatch": "^4.0.2",
|
|
42
43
|
"tree-sitter-cpp": "^0.23.4",
|
|
43
44
|
"tree-sitter-go": "^0.23.4",
|