@cesarandreslopez/occ 0.8.11 → 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.
- package/README.md +167 -77
- package/dist/src/cli-validation.js +3 -11
- package/dist/src/cli-validation.js.map +1 -1
- package/dist/src/cli.js +23 -11
- package/dist/src/cli.js.map +1 -1
- package/dist/src/code/build.js +28 -22
- package/dist/src/code/build.js.map +1 -1
- package/dist/src/code/cache.js +3 -1
- package/dist/src/code/cache.js.map +1 -1
- package/dist/src/code/chunk.js +4 -4
- package/dist/src/code/chunk.js.map +1 -1
- package/dist/src/code/command.js +147 -37
- package/dist/src/code/command.js.map +1 -1
- package/dist/src/code/diff.d.ts +264 -0
- package/dist/src/code/diff.js +504 -0
- package/dist/src/code/diff.js.map +1 -0
- package/dist/src/code/discover.js +5 -5
- package/dist/src/code/discover.js.map +1 -1
- package/dist/src/code/focus.js +5 -5
- package/dist/src/code/focus.js.map +1 -1
- package/dist/src/code/incremental.js +11 -9
- package/dist/src/code/incremental.js.map +1 -1
- package/dist/src/code/index-io.js.map +1 -1
- package/dist/src/code/isolated-runner.js.map +1 -1
- package/dist/src/code/isolated.js +2 -2
- package/dist/src/code/isolated.js.map +1 -1
- package/dist/src/code/languages.js +2 -2
- package/dist/src/code/languages.js.map +1 -1
- package/dist/src/code/map.d.ts +12 -0
- package/dist/src/code/map.js +22 -9
- package/dist/src/code/map.js.map +1 -1
- package/dist/src/code/output.d.ts +3 -0
- package/dist/src/code/output.js +39 -22
- package/dist/src/code/output.js.map +1 -1
- package/dist/src/code/parsers.js +87 -26
- package/dist/src/code/parsers.js.map +1 -1
- package/dist/src/code/query.js +44 -38
- package/dist/src/code/query.js.map +1 -1
- package/dist/src/code/rank.js +30 -17
- package/dist/src/code/rank.js.map +1 -1
- package/dist/src/code/session.js.map +1 -1
- package/dist/src/code/slim.js.map +1 -1
- package/dist/src/code/store.js +35 -23
- package/dist/src/code/store.js.map +1 -1
- package/dist/src/code/types.js +15 -3
- package/dist/src/code/types.js.map +1 -1
- package/dist/src/doc/batch.js +6 -2
- package/dist/src/doc/batch.js.map +1 -1
- package/dist/src/doc/chunk.js +9 -5
- package/dist/src/doc/chunk.js.map +1 -1
- package/dist/src/doc/command.js +18 -9
- package/dist/src/doc/command.js.map +1 -1
- package/dist/src/doc/discover.d.ts +1 -1
- package/dist/src/doc/discover.js.map +1 -1
- package/dist/src/doc/entities.js +90 -10
- package/dist/src/doc/entities.js.map +1 -1
- package/dist/src/doc/inspect-docx.js +5 -4
- package/dist/src/doc/inspect-docx.js.map +1 -1
- package/dist/src/doc/inspect-odt.js.map +1 -1
- package/dist/src/doc/inspect-pdf.js +1 -1
- package/dist/src/doc/inspect-pdf.js.map +1 -1
- package/dist/src/doc/inspect.js +4 -4
- package/dist/src/doc/inspect.js.map +1 -1
- package/dist/src/doc/output.js +11 -8
- package/dist/src/doc/output.js.map +1 -1
- package/dist/src/doc/references.js +4 -4
- package/dist/src/doc/references.js.map +1 -1
- package/dist/src/errors.js +2 -4
- package/dist/src/errors.js.map +1 -1
- package/dist/src/git/api.d.ts +34 -0
- package/dist/src/git/api.js +247 -0
- package/dist/src/git/api.js.map +1 -0
- package/dist/src/git/client.d.ts +48 -0
- package/dist/src/git/client.js +336 -0
- package/dist/src/git/client.js.map +1 -0
- package/dist/src/git/command.d.ts +2 -0
- package/dist/src/git/command.js +173 -0
- package/dist/src/git/command.js.map +1 -0
- package/dist/src/git/index.d.ts +5 -0
- package/dist/src/git/index.js +6 -0
- package/dist/src/git/index.js.map +1 -0
- package/dist/src/git/output.d.ts +8 -0
- package/dist/src/git/output.js +38 -0
- package/dist/src/git/output.js.map +1 -0
- package/dist/src/git/parse.d.ts +19 -0
- package/dist/src/git/parse.js +354 -0
- package/dist/src/git/parse.js.map +1 -0
- package/dist/src/git/types.d.ts +334 -0
- package/dist/src/git/types.js +135 -0
- package/dist/src/git/types.js.map +1 -0
- package/dist/src/index.d.ts +29 -7
- package/dist/src/index.js +20 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/inspect/shared.js.map +1 -1
- package/dist/src/markdown/convert.js +17 -11
- package/dist/src/markdown/convert.js.map +1 -1
- package/dist/src/output/tabular.js +25 -17
- package/dist/src/output/tabular.js.map +1 -1
- package/dist/src/output/tree.js +7 -7
- package/dist/src/output/tree.js.map +1 -1
- package/dist/src/parsers/docx.js +1 -1
- package/dist/src/parsers/docx.js.map +1 -1
- package/dist/src/parsers/index.js +9 -7
- package/dist/src/parsers/index.js.map +1 -1
- package/dist/src/parsers/pdf.js +1 -1
- package/dist/src/parsers/pdf.js.map +1 -1
- package/dist/src/parsers/pptx.js.map +1 -1
- package/dist/src/parsers/xlsx.js +5 -3
- package/dist/src/parsers/xlsx.js.map +1 -1
- package/dist/src/progress-event.d.ts +1 -1
- package/dist/src/progress-event.js +1 -0
- package/dist/src/progress-event.js.map +1 -1
- package/dist/src/scc.js +9 -5
- package/dist/src/scc.js.map +1 -1
- package/dist/src/sheet/command.js +11 -7
- package/dist/src/sheet/command.js.map +1 -1
- package/dist/src/sheet/inspect.js +14 -14
- package/dist/src/sheet/inspect.js.map +1 -1
- package/dist/src/sheet/output.js +10 -15
- package/dist/src/sheet/output.js.map +1 -1
- package/dist/src/skills/command.d.ts +2 -0
- package/dist/src/skills/command.js +188 -0
- package/dist/src/skills/command.js.map +1 -0
- package/dist/src/slide/command.js +8 -6
- package/dist/src/slide/command.js.map +1 -1
- package/dist/src/slide/inspect-odp.js.map +1 -1
- package/dist/src/slide/inspect-pptx.js +5 -2
- package/dist/src/slide/inspect-pptx.js.map +1 -1
- package/dist/src/slide/inspect.js +4 -2
- package/dist/src/slide/inspect.js.map +1 -1
- package/dist/src/slide/output.js +10 -15
- package/dist/src/slide/output.js.map +1 -1
- package/dist/src/slide/types.js.map +1 -1
- package/dist/src/stats.js +31 -3
- package/dist/src/stats.js.map +1 -1
- package/dist/src/table/command.js +8 -6
- package/dist/src/table/command.js.map +1 -1
- package/dist/src/table/inspect-docx.js +1 -1
- package/dist/src/table/inspect-docx.js.map +1 -1
- package/dist/src/table/inspect-odt.js.map +1 -1
- package/dist/src/table/inspect-pptx.js +5 -2
- package/dist/src/table/inspect-pptx.js.map +1 -1
- package/dist/src/table/inspect-xlsx.js +1 -1
- package/dist/src/table/inspect-xlsx.js.map +1 -1
- package/dist/src/table/inspect.js +3 -1
- package/dist/src/table/inspect.js.map +1 -1
- package/dist/src/table/output.js +7 -11
- package/dist/src/table/output.js.map +1 -1
- package/dist/src/table/types.js.map +1 -1
- package/dist/src/tokens.js +1 -1
- package/dist/src/tokens.js.map +1 -1
- package/dist/src/utils.js +6 -11
- package/dist/src/utils.js.map +1 -1
- package/dist/src/walker.js +2 -4
- package/dist/src/walker.js.map +1 -1
- package/dist/src/workspace/analyze.js +4 -4
- package/dist/src/workspace/analyze.js.map +1 -1
- package/dist/src/workspace/bundle.d.ts +27 -0
- package/dist/src/workspace/bundle.js +157 -54
- package/dist/src/workspace/bundle.js.map +1 -1
- package/dist/src/workspace/command.js +31 -16
- package/dist/src/workspace/command.js.map +1 -1
- package/dist/src/workspace/describe-output.js +10 -9
- package/dist/src/workspace/describe-output.js.map +1 -1
- package/dist/src/workspace/describe.js +54 -47
- package/dist/src/workspace/describe.js.map +1 -1
- package/dist/src/workspace/documents.js +28 -8
- package/dist/src/workspace/documents.js.map +1 -1
- package/dist/src/workspace/prepare-runner.js.map +1 -1
- package/dist/src/workspace/prepare-types.js.map +1 -1
- package/dist/src/workspace/prepare.js +38 -19
- package/dist/src/workspace/prepare.js.map +1 -1
- package/dist/src/workspace/types.js +4 -2
- package/dist/src/workspace/types.js.map +1 -1
- package/package.json +57 -4
- package/scripts/postinstall.js +13 -9
- package/skills/occ/SKILL.md +77 -0
- package/skills/occ/reference/code.md +69 -0
- package/skills/occ/reference/commands.md +66 -0
- package/skills/occ/reference/documents.md +65 -0
- package/skills/occ/reference/git.md +55 -0
- package/skills/occ/reference/workspace.md +65 -0
package/dist/src/code/command.js
CHANGED
|
@@ -6,10 +6,13 @@ import { buildCodebaseIndex } from './build.js';
|
|
|
6
6
|
import { writeStream } from '../utils.js';
|
|
7
7
|
import { parsePositiveInt } from '../cli-validation.js';
|
|
8
8
|
import { analyzeCallChain, analyzeCallers, analyzeCalls, analyzeDeps, analyzeModuleCoupling, analyzeTree, createPayload, findByName, findByPattern, findByType, findContent, fusedSearch, } from './query.js';
|
|
9
|
-
import { formatChains, formatClassTree, formatContentResults, formatDependencies, formatFusedResults, formatModuleCoupling, formatPayloadJson, formatRelationResults, formatSearchResults, renderRepoMap, } from './output.js';
|
|
9
|
+
import { formatCodeDiff, formatCodeDiffJson, formatChains, formatClassTree, formatContentResults, formatDependencies, formatFusedResults, formatModuleCoupling, formatPayloadJson, formatRelationResults, formatSearchResults, renderRepoMap, } from './output.js';
|
|
10
|
+
import { computeCodeDiff } from './diff.js';
|
|
10
11
|
import { buildRepoMap } from './map.js';
|
|
11
12
|
import { createTokenizer, resolveTokenizerName } from '../tokens.js';
|
|
12
|
-
|
|
13
|
+
import { getGitDiffSummary, getGitFileHistory } from '../git/api.js';
|
|
14
|
+
const CodeCommandOptionsSchema = z
|
|
15
|
+
.object({
|
|
13
16
|
path: z.string().optional(),
|
|
14
17
|
format: z.string().optional(),
|
|
15
18
|
output: z.string().optional(),
|
|
@@ -36,12 +39,36 @@ const CodeCommandOptionsSchema = z.object({
|
|
|
36
39
|
query: z.string().optional(),
|
|
37
40
|
focusPath: z.array(z.string()).optional(),
|
|
38
41
|
focusDepth: z.string().optional(),
|
|
39
|
-
|
|
42
|
+
base: z.string().optional(),
|
|
43
|
+
head: z.string().optional(),
|
|
44
|
+
staged: z.boolean().optional(),
|
|
45
|
+
changedFrom: z.string().optional(),
|
|
46
|
+
changedTo: z.string().optional(),
|
|
47
|
+
})
|
|
48
|
+
.passthrough();
|
|
40
49
|
function getOptions(command) {
|
|
41
50
|
return CodeCommandOptionsSchema.parse(command.optsWithGlobals());
|
|
42
51
|
}
|
|
43
|
-
const FINDABLE_TYPES = [
|
|
44
|
-
|
|
52
|
+
const FINDABLE_TYPES = [
|
|
53
|
+
'file',
|
|
54
|
+
'module',
|
|
55
|
+
'function',
|
|
56
|
+
'class',
|
|
57
|
+
'interface',
|
|
58
|
+
'type-alias',
|
|
59
|
+
'enum',
|
|
60
|
+
'variable',
|
|
61
|
+
];
|
|
62
|
+
const FindableTypeSchema = z.enum([
|
|
63
|
+
'file',
|
|
64
|
+
'module',
|
|
65
|
+
'function',
|
|
66
|
+
'class',
|
|
67
|
+
'interface',
|
|
68
|
+
'type-alias',
|
|
69
|
+
'enum',
|
|
70
|
+
'variable',
|
|
71
|
+
]);
|
|
45
72
|
const ContentModeSchema = z.enum(['none', 'excerpt', 'full']);
|
|
46
73
|
function collectOption(value, previous = []) {
|
|
47
74
|
return [...previous, value];
|
|
@@ -71,11 +98,16 @@ function buildIndexOptions(options, fallbackContentMode) {
|
|
|
71
98
|
const repoRoot = path.resolve(options.path ?? process.cwd());
|
|
72
99
|
return {
|
|
73
100
|
repoRoot,
|
|
74
|
-
excludeDir: options.excludeDir
|
|
101
|
+
excludeDir: options.excludeDir
|
|
102
|
+
?.split(',')
|
|
103
|
+
.map(value => value.trim())
|
|
104
|
+
.filter(Boolean),
|
|
75
105
|
noGitignore: options.gitignore === false,
|
|
76
106
|
ignorePatterns: options.ignorePattern,
|
|
77
107
|
contentMode: resolveContentMode(options.contentMode, fallbackContentMode),
|
|
78
|
-
maxFileSizeBytes: options.maxFileSizeBytes
|
|
108
|
+
maxFileSizeBytes: options.maxFileSizeBytes
|
|
109
|
+
? parsePositiveInt(options.maxFileSizeBytes, 2_097_152, 'max file size')
|
|
110
|
+
: undefined,
|
|
79
111
|
maxLines: options.maxLines ? parsePositiveInt(options.maxLines, 25_000, 'max line count') : undefined,
|
|
80
112
|
skipMinified: options.skipMinified,
|
|
81
113
|
};
|
|
@@ -113,12 +145,63 @@ export function registerCodeCommands(program) {
|
|
|
113
145
|
const code = program.command('code').description('Explore code structure with first-class JS/TS and Python support');
|
|
114
146
|
const find = code.command('find').description('Find symbols and source content');
|
|
115
147
|
const analyze = code.command('analyze').description('Analyze relationships between code elements');
|
|
148
|
+
const diffCmd = code.command('diff').description('Show changed symbols for a git diff range');
|
|
149
|
+
addSharedOptions(diffCmd);
|
|
150
|
+
diffCmd.option('--base <ref>', 'base ref for the diff range');
|
|
151
|
+
diffCmd.option('--head <ref>', 'head ref for the diff range');
|
|
152
|
+
diffCmd.option('--staged', 'inspect staged changes');
|
|
153
|
+
diffCmd.option('--map-tokens <n>', 'token budget for changed symbols', '4096');
|
|
154
|
+
diffCmd.addOption(new Option('--tokenizer <name>', 'token counter for --map-tokens').choices([
|
|
155
|
+
'heuristic',
|
|
156
|
+
'o200k_base',
|
|
157
|
+
'cl100k_base',
|
|
158
|
+
]));
|
|
159
|
+
diffCmd.action(async (_options, command) => {
|
|
160
|
+
const options = getOptions(command);
|
|
161
|
+
const tokenizerName = resolveTokenizerName(options.tokenizer);
|
|
162
|
+
const tokenizer = await createTokenizer(tokenizerName);
|
|
163
|
+
const index = await withIndex(options, 'excerpt');
|
|
164
|
+
const result = await computeCodeDiff(index, {
|
|
165
|
+
base: options.base,
|
|
166
|
+
head: options.head,
|
|
167
|
+
staged: options.staged,
|
|
168
|
+
mapTokens: parsePositiveInt(options.mapTokens ?? options.tokenBudget, 4096, 'map tokens'),
|
|
169
|
+
tokenizer: tokenizerName,
|
|
170
|
+
countTokens: text => tokenizer.count(text),
|
|
171
|
+
});
|
|
172
|
+
const output = options.format === 'json' ? formatCodeDiffJson(result) : formatCodeDiff(result, options.ci);
|
|
173
|
+
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
174
|
+
});
|
|
175
|
+
const historyCmd = code.command('history <symbol>').description('Show git line history for a symbol');
|
|
176
|
+
addSharedOptions(historyCmd, { includeFile: true, includeLimit: true, includeType: true });
|
|
177
|
+
historyCmd.action(async (symbol, _options, command) => {
|
|
178
|
+
const options = getOptions(command);
|
|
179
|
+
const index = await withIndex(options, 'excerpt');
|
|
180
|
+
const matches = findByName(index, symbol, parseType(options.type), options.file, 1);
|
|
181
|
+
const match = matches[0]?.node;
|
|
182
|
+
if (!match || match.line == null) {
|
|
183
|
+
throw new Error(`Symbol "${symbol}" was not found with a line range.`);
|
|
184
|
+
}
|
|
185
|
+
const relativePath = match.relativePath ?? path.relative(index.repoRoot, match.path).split(path.sep).join('/');
|
|
186
|
+
const result = await getGitFileHistory({
|
|
187
|
+
repoRoot: index.repoRoot,
|
|
188
|
+
path: relativePath,
|
|
189
|
+
lineRange: { start: match.line, end: match.endLine ?? match.line },
|
|
190
|
+
limit: parsePositiveInt(options.limit, 50, 'limit'),
|
|
191
|
+
});
|
|
192
|
+
const output = options.format === 'json'
|
|
193
|
+
? JSON.stringify(result, null, 2)
|
|
194
|
+
: result.entries.map(entry => `${entry.shortHash} ${entry.authorDate} ${entry.subject}`).join('\n') + '\n';
|
|
195
|
+
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
196
|
+
});
|
|
116
197
|
// occ code index — build and emit the full codebase index
|
|
117
|
-
const indexCmd = code
|
|
198
|
+
const indexCmd = code
|
|
199
|
+
.command('index')
|
|
200
|
+
.description('Build the full codebase index (files, symbols, edges, capabilities)');
|
|
118
201
|
addSharedOptions(indexCmd);
|
|
119
202
|
indexCmd.action(async (_options, command) => {
|
|
120
203
|
const options = getOptions(command);
|
|
121
|
-
const index = await buildCodebaseIndex(buildIndexOptions(options, 'full'),
|
|
204
|
+
const index = await buildCodebaseIndex(buildIndexOptions(options, 'full'), event => {
|
|
122
205
|
if (options.format !== 'json') {
|
|
123
206
|
process.stderr.write(`\r${event.phase}: ${event.completed}/${event.total}${event.detail ? ` ${event.detail}` : ''} `);
|
|
124
207
|
}
|
|
@@ -174,9 +257,7 @@ export function registerCodeCommands(program) {
|
|
|
174
257
|
const index = await withIndex(options, 'full');
|
|
175
258
|
const results = findContent(index, text, parsePositiveInt(options.limit, 50, 'limit'));
|
|
176
259
|
const payload = createPayload(index, { command: 'code.find.content', value: text }, results);
|
|
177
|
-
const output = options.format === 'json'
|
|
178
|
-
? formatPayloadJson(payload)
|
|
179
|
-
: formatContentResults(results, options.ci);
|
|
260
|
+
const output = options.format === 'json' ? formatPayloadJson(payload) : formatContentResults(results, options.ci);
|
|
180
261
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
181
262
|
});
|
|
182
263
|
const analyzeCallsCmd = analyze.command('calls <functionName>').description('Show what a function calls');
|
|
@@ -203,16 +284,16 @@ export function registerCodeCommands(program) {
|
|
|
203
284
|
: formatRelationResults(`Incoming Calls: ${functionName}`, 'Caller', results, options.ci, 'from');
|
|
204
285
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
205
286
|
});
|
|
206
|
-
const analyzeChainCmd = analyze
|
|
287
|
+
const analyzeChainCmd = analyze
|
|
288
|
+
.command('chain <fromFunction> <toFunction>')
|
|
289
|
+
.description('Find call paths between two functions');
|
|
207
290
|
addSharedOptions(analyzeChainCmd, { includeDepth: true });
|
|
208
291
|
analyzeChainCmd.action(async (fromFunction, toFunction, _options, command) => {
|
|
209
292
|
const options = getOptions(command);
|
|
210
293
|
const index = await withIndex(options, 'excerpt');
|
|
211
294
|
const results = analyzeCallChain(index, fromFunction, toFunction, parsePositiveInt(options.depth, 5, 'depth'));
|
|
212
295
|
const payload = createPayload(index, { command: 'code.analyze.chain', from: fromFunction, to: toFunction, depth: options.depth }, results);
|
|
213
|
-
const output = options.format === 'json'
|
|
214
|
-
? formatPayloadJson(payload)
|
|
215
|
-
: formatChains(results, options.ci);
|
|
296
|
+
const output = options.format === 'json' ? formatPayloadJson(payload) : formatChains(results, options.ci);
|
|
216
297
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
217
298
|
});
|
|
218
299
|
const analyzeDepsCmd = analyze.command('deps <target>').description('Show module/file import relationships');
|
|
@@ -222,9 +303,7 @@ export function registerCodeCommands(program) {
|
|
|
222
303
|
const index = await withIndex(options, 'excerpt');
|
|
223
304
|
const results = analyzeDeps(index, target);
|
|
224
305
|
const payload = createPayload(index, { command: 'code.analyze.deps', value: target }, results);
|
|
225
|
-
const output = options.format === 'json'
|
|
226
|
-
? formatPayloadJson(payload)
|
|
227
|
-
: formatDependencies(results, options.ci);
|
|
306
|
+
const output = options.format === 'json' ? formatPayloadJson(payload) : formatDependencies(results, options.ci);
|
|
228
307
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
229
308
|
});
|
|
230
309
|
const analyzeCouplingCmd = analyze.command('coupling <target>').description('Show module-level coupling metrics');
|
|
@@ -234,24 +313,24 @@ export function registerCodeCommands(program) {
|
|
|
234
313
|
const index = await withIndex(options, 'excerpt');
|
|
235
314
|
const results = analyzeModuleCoupling(index, target);
|
|
236
315
|
const payload = createPayload(index, { command: 'code.analyze.coupling', value: target }, results);
|
|
237
|
-
const output = options.format === 'json'
|
|
238
|
-
? formatPayloadJson(payload)
|
|
239
|
-
: formatModuleCoupling(results, options.ci);
|
|
316
|
+
const output = options.format === 'json' ? formatPayloadJson(payload) : formatModuleCoupling(results, options.ci);
|
|
240
317
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
241
318
|
});
|
|
242
|
-
const analyzeTreeCmd = analyze
|
|
319
|
+
const analyzeTreeCmd = analyze
|
|
320
|
+
.command('tree <className>')
|
|
321
|
+
.description('Show class/interface inheritance relationships');
|
|
243
322
|
addSharedOptions(analyzeTreeCmd, { includeFile: true });
|
|
244
323
|
analyzeTreeCmd.action(async (className, _options, command) => {
|
|
245
324
|
const options = getOptions(command);
|
|
246
325
|
const index = await withIndex(options, 'excerpt');
|
|
247
326
|
const results = analyzeTree(index, className, options.file);
|
|
248
327
|
const payload = createPayload(index, { command: 'code.analyze.tree', value: className, file: options.file }, results);
|
|
249
|
-
const output = options.format === 'json'
|
|
250
|
-
? formatPayloadJson(payload)
|
|
251
|
-
: formatClassTree(results, options.ci);
|
|
328
|
+
const output = options.format === 'json' ? formatPayloadJson(payload) : formatClassTree(results, options.ci);
|
|
252
329
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
253
330
|
});
|
|
254
|
-
const findFusedCmd = find
|
|
331
|
+
const findFusedCmd = find
|
|
332
|
+
.command('fused <query>')
|
|
333
|
+
.description('Fused search: combines name, pattern, and content search with rank fusion');
|
|
255
334
|
addSharedOptions(findFusedCmd, { includeLimit: true });
|
|
256
335
|
findFusedCmd.option('--weights <spec>', 'weights as name:N,pattern:N,content:N', 'name:3,pattern:2,content:1');
|
|
257
336
|
findFusedCmd.action(async (query, _options, command) => {
|
|
@@ -269,9 +348,7 @@ export function registerCodeCommands(program) {
|
|
|
269
348
|
limit: parsePositiveInt(options.limit, 50, 'limit'),
|
|
270
349
|
});
|
|
271
350
|
const payload = createPayload(index, { command: 'code.find.fused', value: query, weights }, results);
|
|
272
|
-
const output = options.format === 'json'
|
|
273
|
-
? formatPayloadJson(payload)
|
|
274
|
-
: formatFusedResults(results, options.ci);
|
|
351
|
+
const output = options.format === 'json' ? formatPayloadJson(payload) : formatFusedResults(results, options.ci);
|
|
275
352
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
276
353
|
});
|
|
277
354
|
registerRepoMapCommand(code, 'map', 'map', 'Token-budgeted, importance-ranked repo map (top symbol signatures per file)');
|
|
@@ -292,25 +369,51 @@ function registerRepoMapCommand(code, name, defaultMode, description) {
|
|
|
292
369
|
cmd.option('--query <text>', 'focus: boost files/symbols matching this text');
|
|
293
370
|
cmd.option('--focus-path <path>', 'focus: boost this file/dir and its graph neighbors (repeatable)', collectOption, []);
|
|
294
371
|
cmd.option('--focus-depth <n>', 'focus: graph-neighbor depth for --focus-path (default 1)');
|
|
372
|
+
cmd.option('--changed-from <ref>', 'focus: boost files changed from this base ref');
|
|
373
|
+
cmd.option('--changed-to <ref>', 'focus: compare changed files to this head ref');
|
|
374
|
+
cmd.option('--staged', 'focus: use staged changes for --changed-from/--changed-to');
|
|
295
375
|
cmd.action(async (_options, command) => {
|
|
296
376
|
const options = getOptions(command);
|
|
297
377
|
const mode = options.mode ?? defaultMode;
|
|
298
|
-
const format = options.mapFormat
|
|
299
|
-
?? (options.format === 'json' ? 'json' : 'markdown');
|
|
378
|
+
const format = options.mapFormat ?? (options.format === 'json' ? 'json' : 'markdown');
|
|
300
379
|
const budget = parsePositiveInt(options.mapTokens ?? options.tokenBudget, 4096, 'map tokens');
|
|
301
380
|
const maxSymbols = options.maxSymbols ? parsePositiveInt(options.maxSymbols, 0, 'max symbols') : undefined;
|
|
302
381
|
const tokenizerName = resolveTokenizerName(options.tokenizer);
|
|
303
382
|
const tokenizer = await createTokenizer(tokenizerName);
|
|
383
|
+
const index = await withIndex(options, mode === 'pack' ? 'full' : 'excerpt');
|
|
304
384
|
const focusQuery = options.query?.trim();
|
|
305
|
-
const focusPaths = (options.focusPath ?? []).map(
|
|
306
|
-
const
|
|
385
|
+
const focusPaths = (options.focusPath ?? []).map(value => value.trim()).filter(Boolean);
|
|
386
|
+
const changedByPath = new Map();
|
|
387
|
+
const changedFocusPaths = [];
|
|
388
|
+
if (options.changedFrom || options.changedTo || options.staged) {
|
|
389
|
+
const summary = await getGitDiffSummary({
|
|
390
|
+
repoRoot: index.repoRoot,
|
|
391
|
+
base: options.changedFrom,
|
|
392
|
+
head: options.changedTo,
|
|
393
|
+
staged: options.staged,
|
|
394
|
+
});
|
|
395
|
+
const numstatByPath = new Map(summary.numstat.map(entry => [entry.path, entry]));
|
|
396
|
+
for (const file of summary.files) {
|
|
397
|
+
if (file.status === 'deleted')
|
|
398
|
+
continue;
|
|
399
|
+
const absolutePath = path.resolve(index.repoRoot, file.path);
|
|
400
|
+
const numstat = numstatByPath.get(file.path);
|
|
401
|
+
changedFocusPaths.push(absolutePath);
|
|
402
|
+
changedByPath.set(absolutePath, {
|
|
403
|
+
added: numstat?.added ?? 0,
|
|
404
|
+
deleted: numstat?.deleted ?? 0,
|
|
405
|
+
binary: file.binary === true || numstat?.binary === true,
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
const allFocusPaths = [...new Set([...focusPaths, ...changedFocusPaths])];
|
|
410
|
+
const focus = focusQuery || allFocusPaths.length > 0
|
|
307
411
|
? {
|
|
308
412
|
query: focusQuery || undefined,
|
|
309
|
-
paths:
|
|
413
|
+
paths: allFocusPaths,
|
|
310
414
|
graphDepth: options.focusDepth ? parsePositiveInt(options.focusDepth, 1, 'focus depth') : undefined,
|
|
311
415
|
}
|
|
312
416
|
: undefined;
|
|
313
|
-
const index = await withIndex(options, mode === 'pack' ? 'full' : 'excerpt');
|
|
314
417
|
const result = buildRepoMap(index, {
|
|
315
418
|
tokenBudget: budget,
|
|
316
419
|
mode,
|
|
@@ -318,10 +421,17 @@ function registerRepoMapCommand(code, name, defaultMode, description) {
|
|
|
318
421
|
compress: options.compress,
|
|
319
422
|
maxSymbolsPerFile: maxSymbols,
|
|
320
423
|
rank: { biasExports: options.biasExports },
|
|
321
|
-
countTokens:
|
|
424
|
+
countTokens: text => tokenizer.count(text),
|
|
322
425
|
focus,
|
|
323
426
|
});
|
|
324
427
|
result.tokenizer = tokenizerName;
|
|
428
|
+
for (const entry of result.entries) {
|
|
429
|
+
const churn = changedByPath.get(entry.path);
|
|
430
|
+
if (!churn)
|
|
431
|
+
continue;
|
|
432
|
+
entry.changed = true;
|
|
433
|
+
entry.churn = churn;
|
|
434
|
+
}
|
|
325
435
|
const output = renderRepoMap(result);
|
|
326
436
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
327
437
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/code/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/code/command.ts"],"names":[],"mappings":"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"}
|