@cesarandreslopez/occ 0.12.0 → 0.13.1
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 +20 -5
- package/dist/src/code/command.js +134 -3
- package/dist/src/code/command.js.map +1 -1
- package/dist/src/code/diff.d.ts +2 -2
- package/dist/src/code/hash.d.ts +19 -0
- package/dist/src/code/hash.js +85 -0
- package/dist/src/code/hash.js.map +1 -0
- package/dist/src/code/output.d.ts +4 -1
- package/dist/src/code/output.js +67 -0
- package/dist/src/code/output.js.map +1 -1
- package/dist/src/code/query.d.ts +6 -0
- package/dist/src/code/query.js +0 -0
- package/dist/src/code/query.js.map +1 -1
- package/dist/src/code/seams.d.ts +39 -0
- package/dist/src/code/seams.js +154 -0
- package/dist/src/code/seams.js.map +1 -0
- package/dist/src/code/session.d.ts +5 -1
- package/dist/src/code/session.js +11 -0
- package/dist/src/code/session.js.map +1 -1
- package/dist/src/code/source.d.ts +10 -11
- package/dist/src/code/source.js +8 -2
- package/dist/src/code/source.js.map +1 -1
- package/dist/src/code/types.d.ts +311 -0
- package/dist/src/code/types.js +101 -0
- package/dist/src/code/types.js.map +1 -1
- package/dist/src/git/api.d.ts +9 -0
- package/dist/src/git/api.js +13 -3
- package/dist/src/git/api.js.map +1 -1
- package/dist/src/git/client.d.ts +6 -0
- package/dist/src/git/client.js +12 -0
- package/dist/src/git/client.js.map +1 -1
- package/dist/src/git/command.js +20 -0
- package/dist/src/git/command.js.map +1 -1
- package/dist/src/git/types.d.ts +15 -0
- package/dist/src/git/types.js +1 -0
- package/dist/src/git/types.js.map +1 -1
- package/dist/src/health.js +3 -0
- package/dist/src/health.js.map +1 -1
- package/dist/src/index.d.ts +8 -2
- package/dist/src/index.js +6 -1
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/occ/SKILL.md +5 -1
- package/skills/occ/reference/code.md +52 -0
- package/skills/occ/reference/commands.md +4 -0
- package/skills/occ/reference/git.md +12 -6
package/README.md
CHANGED
|
@@ -73,6 +73,8 @@ After install the skill lands at `<skills-dir>/occ/SKILL.md` and your agent surf
|
|
|
73
73
|
- **Repository map / pack via `occ code map` / `occ code pack`** — token-budgeted, PageRank-ranked repo map (top symbol signatures per file) or content pack, with a pluggable heuristic or BPE (`o200k_base` / `cl100k_base`) tokenizer for exact budgets, and opt-in query/path focus (`--query`, `--focus-path`, `--focus-depth`) to bias the map toward a specific task
|
|
74
74
|
- **Workspace analysis via `occ workspace`** — fast directory description plus combined code, document, and structure analysis with versioned JSON contracts, per-document summaries, and cross-reference detection
|
|
75
75
|
- **Directory tree via `occ code dirtree`** — bounded, ignore-aware trees from the built code index with focus drill-in and map-mode symbol annotations
|
|
76
|
+
- **Symbol body hashing via `occ code symbol-hash`** — stable, line-independent symbol keys plus a frozen sha256 body-hash contract, so a persisted hash can be re-checked later to detect drift in exactly that symbol (batch queries, explicit ambiguity, `spanExact` span quality)
|
|
77
|
+
- **Seam enumeration via `occ code seams`** — cross-module import/call relationships with durable order-independent `seamKey`s, optional git co-change weighting (`--since`), lift/importance ranking, and `--resolve` freshness checks where a missing key is surfaced as drift
|
|
76
78
|
- **Git context via `occ git`** — changed files, diff summaries and token-bounded patches, commit/file history, churn hotspots, and file-level co-change over a typed, shell-injection-safe git client; plus git-aware code (`occ code diff`, `occ code history`, `occ code map --changed-from`) that maps a diff to the code symbols it touches
|
|
77
79
|
- **Multiple output modes** — grouped by type, per-file breakdown, or JSON
|
|
78
80
|
- **CI-friendly** — ASCII-only, no-color mode for pipelines
|
|
@@ -295,6 +297,14 @@ occ code source bootstrap --path . --file src/main.ts --type function
|
|
|
295
297
|
# Check syntax without a language server (exits nonzero only when invalid)
|
|
296
298
|
occ code check src/main.ts --path .
|
|
297
299
|
|
|
300
|
+
# Hash a symbol body by stable line-independent key; re-check it later for drift
|
|
301
|
+
occ code symbol-hash --path . --file src/main.ts --name bootstrap --format json
|
|
302
|
+
occ code symbol-hash --path . --queries-json queries.json --format json
|
|
303
|
+
|
|
304
|
+
# Enumerate cross-module seams, weight by co-change, and re-check a persisted key
|
|
305
|
+
occ code seams --path . --since "90 days ago" --limit 20 --format json
|
|
306
|
+
occ code seams --path . --resolve "seam:src::src/code" --format json
|
|
307
|
+
|
|
298
308
|
# Outgoing and incoming call analysis
|
|
299
309
|
occ code analyze calls bootstrap --path test/fixtures/code-explore
|
|
300
310
|
occ code analyze callers createUser --path test/fixtures/code-explore
|
|
@@ -338,6 +348,8 @@ Highlights of the current code exploration behavior:
|
|
|
338
348
|
- **Code-context projection** via `buildCodeContext` / `session.projectContext` (`createOcc().code.context`) — project a full or slim index down to per-file exported symbols, a deduplicated local import graph, and external dependency roots
|
|
339
349
|
- **Symbol→node linkage** — index `files[].symbols[]` entries (and the slim format, `occ code map` / `find` / `index` JSON) carry a `nodeId`, so a file symbol addresses its graph node directly without scanning `nodes`
|
|
340
350
|
- **Single-symbol source reads** via `occ code source` — read one symbol body by stable `nodeId` (from `occ code map` / `find` / `index` JSON) or a disambiguated name, reading file content on demand and refusing paths that escape the repo root
|
|
351
|
+
- **Symbol body hashing** via `occ code symbol-hash` / `hashCodeSymbols` / `session.hashSymbols` — batch-hash symbol bodies by stable `{relativePath, name, kind?, containerName?}` keys; the `bodyHash` contract (full 64-hex sha256 of the exact source span) is frozen so persisted hashes remain valid comparison baselines across releases
|
|
352
|
+
- **Seam enumeration** via `occ code seams` / `listCodeSeams` / `resolveCodeSeams` — derive cross-module import/call seams at query time (no new index node/edge types), optionally join a `getGitCochange` summary for lift-weighted ranking, and re-check persisted `seamKey`s where `missing` means drift
|
|
341
353
|
- **Language-server-free syntax checks** via `occ code check` — TS/JS, Vue SFC, Python, and the vendored tree-sitter languages; exits nonzero only when `valid` is false
|
|
342
354
|
- **Call analysis** with explicit `resolved`, `ambiguous`, and `unresolved` states
|
|
343
355
|
- **Receiver-aware method resolution** for `this`, `super`, `self`, and `cls`
|
|
@@ -416,7 +428,7 @@ const doc = await occ.doc.inspect('report.docx', {});
|
|
|
416
428
|
const status = await occ.health(); // version, capability flags, and a `features` map for probing
|
|
417
429
|
```
|
|
418
430
|
|
|
419
|
-
The facade also exposes the code helpers directly: `occ.code.searchSymbols(index, query, options)` (fuzzy symbol search), `occ.code.context(index)` (per-file exports + local import graph), `occ.code.mapChanged(index, { changed, ...RepoMapOptions })` (the programmatic form of `occ code map --changed-from`), `occ.code.directoryTree(index, options)` / `session.getDirectoryTree(options)`, and `occ.git.cochange(options)`. Hosts that must support multiple OCC versions can feature-detect with `status.features?.['code.directoryTree'] === true`, `status.features?.['git.cochange'] === true`, or `status.features?.['
|
|
431
|
+
The facade also exposes the code helpers directly: `occ.code.searchSymbols(index, query, options)` (fuzzy symbol search), `occ.code.context(index)` (per-file exports + local import graph), `occ.code.mapChanged(index, { changed, ...RepoMapOptions })` (the programmatic form of `occ code map --changed-from`), `occ.code.directoryTree(index, options)` / `session.getDirectoryTree(options)`, `occ.code.symbolHash(index, queries)` / `session.hashSymbols(queries)` (stable-key symbol body hashing with a frozen sha256 contract), `occ.code.seams(index, options)` / `occ.code.resolveSeams(index, seamKeys)` / `session.seams(options)` / `session.resolveSeams(keys)` (cross-module seam enumeration and freshness checks; `seamKeyFor(moduleA, moduleB)` builds keys), and `occ.git.cochange(options)`. Hosts that must support multiple OCC versions can feature-detect with `status.features?.['code.directoryTree'] === true`, `status.features?.['git.cochange'] === true`, `status.features?.['code.symbol.bodyHash'] === true`, or `status.features?.['code.seams'] === true` — the map only ever gains keys, so a missing key means the feature is unavailable.
|
|
420
432
|
|
|
421
433
|
For large or untrusted repositories, preview the size first, then build the index in an isolated subprocess with a budget. Pair with the slim variant when the consumer only needs the graph (no source content):
|
|
422
434
|
|
|
@@ -706,7 +718,7 @@ const context = await prepareWorkspaceContext(
|
|
|
706
718
|
|
|
707
719
|
## Git Context
|
|
708
720
|
|
|
709
|
-
`occ git` inspects git changes, history, and churn over a typed, shell-injection-safe git client (it shells out to `git` with argument arrays, validates refs, and classifies failures like missing-git / not-a-repo / bad-ref). All `occ git` commands share `--path <repo-root>` (default: current directory), `--base <ref>`, `--head <ref>`, `--staged`, `--format tabular|json`, and `-o, --output <file>`. The diff range resolves from `--base`/`--head`/`--staged`, defaulting to the working-tree changes when unspecified.
|
|
721
|
+
`occ git` inspects git changes, history, and churn over a typed, shell-injection-safe git client (it shells out to `git` with argument arrays, validates refs, and classifies failures like missing-git / not-a-repo / bad-ref). All `occ git` commands share `--path <repo-root>` (default: current directory), `--base <ref>`, `--head <ref>`, `--staged`, `--format tabular|json`, and `-o, --output <file>`. The diff range resolves from `--base`/`--head`/`--staged`, defaulting to the working-tree changes when unspecified. The history-flavored commands (`history`, `churn`, `cochange`) additionally accept `--scope range|history`: the default diff range is empty on a clean tree sitting exactly on its base branch, and `--scope history` aggregates over full HEAD history instead (pair it with `--since` to bound the window).
|
|
710
722
|
|
|
711
723
|
```bash
|
|
712
724
|
# List the files changed in the resolved diff range
|
|
@@ -725,15 +737,18 @@ occ git history src/cli.ts --line-start 10 --line-end 50
|
|
|
725
737
|
# Rank changed files by churn to find hotspots
|
|
726
738
|
occ git churn --sort churn --limit 20 --format json
|
|
727
739
|
occ git cochange --target src/cli.ts --limit 20 --format json
|
|
740
|
+
|
|
741
|
+
# Aggregate over full HEAD history instead of the diff range
|
|
742
|
+
occ git churn --scope history --since "90 days ago" --format json
|
|
728
743
|
```
|
|
729
744
|
|
|
730
745
|
Current git context highlights:
|
|
731
746
|
|
|
732
747
|
- **`occ git changed`** — changed files for the resolved range with status, rename/copy metadata, and binary flags
|
|
733
748
|
- **`occ git diff`** — per-file churn summary, or the raw unified patch with `--patch`, token-bounded via `--map-tokens` / `--tokenizer` (degrades gracefully, reporting `filesOmitted`, when the diff exceeds the git buffer)
|
|
734
|
-
- **`occ git history`** — commit history for a range, or per-file history with `--follow`, `--since`, `--limit`, and line-scoped `git log -L` via `--line-start` / `--line-end`
|
|
735
|
-
- **`occ git churn`** — files ranked by `--sort churn|commits|added|deleted|net` (default `churn`) with commit, addition, deletion, net, and last-touched metrics
|
|
736
|
-
- **`occ git cochange`** — file pairs ranked by historical co-change count and lift, with `--target` for one-file impact context and `--max-commit-files` to ignore sweeping commits
|
|
749
|
+
- **`occ git history`** — commit history for a range (or full HEAD history with `--scope history`; JSON reports the resolved `range`), or per-file history with `--follow`, `--since`, `--limit`, and line-scoped `git log -L` via `--line-start` / `--line-end`
|
|
750
|
+
- **`occ git churn`** — files ranked by `--sort churn|commits|added|deleted|net` (default `churn`) with commit, addition, deletion, net, and last-touched metrics; `--scope history` ranks hotspots over full HEAD history
|
|
751
|
+
- **`occ git cochange`** — file pairs ranked by historical co-change count and lift, with `--scope history` for a real history window, `--target` for one-file impact context, and `--max-commit-files` to ignore sweeping commits
|
|
737
752
|
- **Symbol-level changes** — pair with `occ code diff` to see which _symbols_ (not just files and lines) a diff touched
|
|
738
753
|
|
|
739
754
|
## Documentation
|
package/dist/src/code/command.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { writeFile } from 'node:fs/promises';
|
|
1
|
+
import { readFile, realpath, writeFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { Option } from 'commander';
|
|
4
4
|
import { z } from 'zod';
|
|
@@ -7,13 +7,17 @@ import { DEFAULT_EXCLUDE_DIRS, writeStream } from '../utils.js';
|
|
|
7
7
|
import { parsePositiveInt } from '../cli-validation.js';
|
|
8
8
|
import { checkCodeSyntax } from './check.js';
|
|
9
9
|
import { analyzeCallChain, analyzeCallers, analyzeCalls, analyzeDeps, analyzeModuleCoupling, analyzeTree, createPayload, findByName, findByPattern, findByType, findContent, fusedSearch, } from './query.js';
|
|
10
|
-
import { formatCodeDiff, formatCodeDiffJson, formatChains, formatClassTree, formatContentResults, formatDirectoryTree, formatDirectoryTreeJson, formatDependencies, formatFusedResults, formatModuleCoupling, formatPayloadJson, formatRelationResults, formatSearchResults, renderRepoMap, } from './output.js';
|
|
10
|
+
import { formatCodeDiff, formatCodeDiffJson, formatChains, formatClassTree, formatContentResults, formatDirectoryTree, formatDirectoryTreeJson, formatDependencies, formatFusedResults, formatModuleCoupling, formatPayloadJson, formatRelationResults, formatCodeSeams, formatSearchResults, formatSeamResolutions, formatSymbolHashes, renderRepoMap, } from './output.js';
|
|
11
11
|
import { computeCodeDiff } from './diff.js';
|
|
12
12
|
import { buildDirectoryTree } from './tree.js';
|
|
13
13
|
import { buildRepoMap, stampRepoMapChanges, toRepoMapChangeContext, } from './map.js';
|
|
14
14
|
import { readCodeSource } from './source.js';
|
|
15
|
+
import { hashCodeSymbols } from './hash.js';
|
|
16
|
+
import { listCodeSeams, rebaseCochangeToIndexRoot, resolveCodeSeams } from './seams.js';
|
|
17
|
+
import { normalizePath } from './languages.js';
|
|
15
18
|
import { createTokenizer, resolveTokenizerName } from '../tokens.js';
|
|
16
|
-
import { getGitDiffSummary, getGitFileHistory } from '../git/api.js';
|
|
19
|
+
import { getGitCochange, getGitDiffSummary, getGitFileHistory } from '../git/api.js';
|
|
20
|
+
import { resolveGitToplevel } from '../git/client.js';
|
|
17
21
|
const CodeCommandOptionsSchema = z
|
|
18
22
|
.object({
|
|
19
23
|
path: z.string().optional(),
|
|
@@ -49,6 +53,13 @@ const CodeCommandOptionsSchema = z
|
|
|
49
53
|
changedFrom: z.string().optional(),
|
|
50
54
|
changedTo: z.string().optional(),
|
|
51
55
|
nodeId: z.string().optional(),
|
|
56
|
+
name: z.string().optional(),
|
|
57
|
+
kind: z.string().optional(),
|
|
58
|
+
container: z.string().optional(),
|
|
59
|
+
queriesJson: z.string().optional(),
|
|
60
|
+
minLift: z.string().optional(),
|
|
61
|
+
since: z.string().optional(),
|
|
62
|
+
resolve: z.array(z.string()).optional(),
|
|
52
63
|
})
|
|
53
64
|
.passthrough();
|
|
54
65
|
function getOptions(command) {
|
|
@@ -104,6 +115,16 @@ function parseType(value) {
|
|
|
104
115
|
}
|
|
105
116
|
return result.data;
|
|
106
117
|
}
|
|
118
|
+
/** Parse a CLI string option as a non-negative float, or undefined when absent. */
|
|
119
|
+
function parseNonNegativeFloat(value, label) {
|
|
120
|
+
if (!value)
|
|
121
|
+
return undefined;
|
|
122
|
+
const parsed = Number.parseFloat(value);
|
|
123
|
+
if (!Number.isFinite(parsed) || parsed < 0) {
|
|
124
|
+
throw new Error(`Invalid ${label}: "${value}"`);
|
|
125
|
+
}
|
|
126
|
+
return parsed;
|
|
127
|
+
}
|
|
107
128
|
/** Parse a CLI string option as a non-negative integer, returning fallback if undefined. */
|
|
108
129
|
function parseNonNegativeInt(value, fallback, label) {
|
|
109
130
|
if (!value)
|
|
@@ -146,6 +167,49 @@ function formatCheckResult(result) {
|
|
|
146
167
|
}),
|
|
147
168
|
].join('\n');
|
|
148
169
|
}
|
|
170
|
+
async function readStdinText() {
|
|
171
|
+
const chunks = [];
|
|
172
|
+
for await (const chunk of process.stdin) {
|
|
173
|
+
chunks.push(chunk);
|
|
174
|
+
}
|
|
175
|
+
return Buffer.concat(chunks).toString('utf8');
|
|
176
|
+
}
|
|
177
|
+
/** Kinds that resolve to hashable source nodes (files/modules are not hashable). */
|
|
178
|
+
const HASHABLE_KINDS = ['function', 'class', 'interface', 'type-alias', 'enum', 'variable'];
|
|
179
|
+
const SymbolHashQueriesSchema = z.array(z.unknown());
|
|
180
|
+
async function resolveSymbolHashQueries(options) {
|
|
181
|
+
if (options.queriesJson) {
|
|
182
|
+
if (options.name || options.file || options.kind || options.container) {
|
|
183
|
+
throw new Error('Use either --queries-json or the single-query flags (--file/--name/--kind/--container), not both.');
|
|
184
|
+
}
|
|
185
|
+
const raw = options.queriesJson === '-' ? await readStdinText() : await readFile(options.queriesJson, 'utf8');
|
|
186
|
+
let parsed;
|
|
187
|
+
try {
|
|
188
|
+
parsed = JSON.parse(raw);
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
throw new Error(`--queries-json is not valid JSON: ${error.message}`);
|
|
192
|
+
}
|
|
193
|
+
const queries = SymbolHashQueriesSchema.safeParse(parsed);
|
|
194
|
+
if (!queries.success) {
|
|
195
|
+
throw new Error('--queries-json must contain a JSON array of symbol key queries.');
|
|
196
|
+
}
|
|
197
|
+
// Entry shapes are validated per query by hashCodeSymbols (bad entries
|
|
198
|
+
// become per-query `error` results instead of failing the batch).
|
|
199
|
+
return queries.data;
|
|
200
|
+
}
|
|
201
|
+
if (!options.file || !options.name) {
|
|
202
|
+
throw new Error('Provide --file <relativePath> and --name <name>, or --queries-json <path|->.');
|
|
203
|
+
}
|
|
204
|
+
return [
|
|
205
|
+
{
|
|
206
|
+
relativePath: options.file,
|
|
207
|
+
name: options.name,
|
|
208
|
+
kind: options.kind,
|
|
209
|
+
containerName: options.container,
|
|
210
|
+
},
|
|
211
|
+
];
|
|
212
|
+
}
|
|
149
213
|
function resolveContentMode(value, fallback) {
|
|
150
214
|
if (!value)
|
|
151
215
|
return fallback;
|
|
@@ -364,6 +428,73 @@ export function registerCodeCommands(program) {
|
|
|
364
428
|
const output = options.format === 'json' ? JSON.stringify(result, null, 2) : formatCheckResult(result);
|
|
365
429
|
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
366
430
|
}));
|
|
431
|
+
const symbolHashCmd = code
|
|
432
|
+
.command('symbol-hash')
|
|
433
|
+
.description('Hash symbol bodies by stable, line-independent key (sha256 of the exact source span)');
|
|
434
|
+
addSharedOptions(symbolHashCmd, { includeFile: true });
|
|
435
|
+
symbolHashCmd.option('--name <name>', 'symbol name for a single query');
|
|
436
|
+
symbolHashCmd.addOption(new Option('--kind <kind>', 'symbol kind to disambiguate').choices([...HASHABLE_KINDS]));
|
|
437
|
+
symbolHashCmd.option('--container <name>', 'container name to disambiguate (e.g. the class of a method)');
|
|
438
|
+
symbolHashCmd.option('--queries-json <path>', 'batch mode: JSON array of {relativePath, name, kind?, containerName?} (use - for stdin)');
|
|
439
|
+
symbolHashCmd.action(runAction(async (_options, command) => {
|
|
440
|
+
const options = getOptions(command);
|
|
441
|
+
const queries = await resolveSymbolHashQueries(options);
|
|
442
|
+
const index = await withIndex(options, 'none');
|
|
443
|
+
const results = await hashCodeSymbols(index, queries);
|
|
444
|
+
// Mirror `code source`: non-resolved outcomes signal failure to scripts.
|
|
445
|
+
if (results.some(result => result.status !== 'resolved')) {
|
|
446
|
+
process.exitCode = 1;
|
|
447
|
+
}
|
|
448
|
+
const output = options.format === 'json' ? JSON.stringify(results, null, 2) : formatSymbolHashes(results, options.ci);
|
|
449
|
+
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
450
|
+
}));
|
|
451
|
+
const seamsCmd = code
|
|
452
|
+
.command('seams')
|
|
453
|
+
.description('Enumerate cross-module seams (import/call edges between directory modules)');
|
|
454
|
+
addSharedOptions(seamsCmd, { includeLimit: true });
|
|
455
|
+
seamsCmd.option('--min-lift <n>', 'keep only seams with co-change lift >= n (needs --since)');
|
|
456
|
+
seamsCmd.option('--since <window>', 'join git co-change over this history window (e.g. "90 days ago")');
|
|
457
|
+
seamsCmd.option('--resolve <seamKeys...>', 'resolve seam keys for freshness instead of enumerating');
|
|
458
|
+
seamsCmd.action(runAction(async (_options, command) => {
|
|
459
|
+
const options = getOptions(command);
|
|
460
|
+
if (options.minLift != null && !options.since) {
|
|
461
|
+
throw new Error('--min-lift needs --since: co-change lift is only computed over a history window.');
|
|
462
|
+
}
|
|
463
|
+
const index = await withIndex(options, 'excerpt');
|
|
464
|
+
let cochange;
|
|
465
|
+
if (options.since) {
|
|
466
|
+
// scope 'history': --since is a history window, not a diff range — a
|
|
467
|
+
// clean tree sitting on its base branch must still join co-change.
|
|
468
|
+
cochange = await getGitCochange({ repoRoot: index.repoRoot, since: options.since, scope: 'history' });
|
|
469
|
+
// git reports toplevel-relative paths; rebase them onto the index root
|
|
470
|
+
// so the module join still matches when --path sits below the toplevel.
|
|
471
|
+
const toplevel = await resolveGitToplevel(index.repoRoot);
|
|
472
|
+
if (toplevel) {
|
|
473
|
+
const indexRoot = await realpath(index.repoRoot).catch(() => index.repoRoot);
|
|
474
|
+
const prefix = normalizePath(path.relative(toplevel, indexRoot));
|
|
475
|
+
if (prefix && !prefix.startsWith('..')) {
|
|
476
|
+
cochange = rebaseCochangeToIndexRoot(cochange, prefix);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
if (options.resolve && options.resolve.length > 0) {
|
|
481
|
+
const results = resolveCodeSeams(index, options.resolve, { cochange });
|
|
482
|
+
// Missing seams are drift: signal failure to scripts/agents.
|
|
483
|
+
if (results.some(result => result.status === 'missing')) {
|
|
484
|
+
process.exitCode = 1;
|
|
485
|
+
}
|
|
486
|
+
const output = options.format === 'json' ? JSON.stringify(results, null, 2) : formatSeamResolutions(results, options.ci);
|
|
487
|
+
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
const seams = listCodeSeams(index, {
|
|
491
|
+
cochange,
|
|
492
|
+
minLift: parseNonNegativeFloat(options.minLift, 'min lift'),
|
|
493
|
+
limit: parsePositiveInt(options.limit, 50, 'limit'),
|
|
494
|
+
});
|
|
495
|
+
const output = options.format === 'json' ? JSON.stringify(seams, null, 2) : formatCodeSeams(seams, options.ci);
|
|
496
|
+
await emit(output.endsWith('\n') ? output : `${output}\n`, options);
|
|
497
|
+
}));
|
|
367
498
|
const analyzeCallsCmd = analyze.command('calls <functionName>').description('Show what a function calls');
|
|
368
499
|
addSharedOptions(analyzeCallsCmd, { includeFile: true });
|
|
369
500
|
analyzeCallsCmd.action(runAction(async (functionName, _options, command) => {
|
|
@@ -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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"}
|
package/dist/src/code/diff.d.ts
CHANGED
|
@@ -25,9 +25,9 @@ export declare const ChangedSymbolSchema: z.ZodObject<{
|
|
|
25
25
|
endLine: z.ZodOptional<z.ZodNumber>;
|
|
26
26
|
endLineApprox: z.ZodOptional<z.ZodBoolean>;
|
|
27
27
|
changeKind: z.ZodEnum<{
|
|
28
|
-
signature: "signature";
|
|
29
28
|
added: "added";
|
|
30
29
|
modified: "modified";
|
|
30
|
+
signature: "signature";
|
|
31
31
|
removed: "removed";
|
|
32
32
|
}>;
|
|
33
33
|
churn: z.ZodObject<{
|
|
@@ -155,9 +155,9 @@ export declare const CodeDiffResultSchema: z.ZodObject<{
|
|
|
155
155
|
endLine: z.ZodOptional<z.ZodNumber>;
|
|
156
156
|
endLineApprox: z.ZodOptional<z.ZodBoolean>;
|
|
157
157
|
changeKind: z.ZodEnum<{
|
|
158
|
-
signature: "signature";
|
|
159
158
|
added: "added";
|
|
160
159
|
modified: "modified";
|
|
160
|
+
signature: "signature";
|
|
161
161
|
removed: "removed";
|
|
162
162
|
}>;
|
|
163
163
|
churn: z.ZodObject<{
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type CodebaseIndex, type HashCodeSymbolsResult, type SymbolKeyQuery } from './types.js';
|
|
2
|
+
export interface HashCodeSymbolsOptions {
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Batch body-hash primitive behind the `code.symbol.bodyHash` feature key.
|
|
6
|
+
*
|
|
7
|
+
* Resolution reuses the `readCodeSource` candidate matcher (`selectByQuery`),
|
|
8
|
+
* narrowed by `containerName` when the query provides one. Each query is
|
|
9
|
+
* independent: a bad query yields one `error`/`not_found` entry in the result
|
|
10
|
+
* array (positionally aligned with `queries`), never a thrown batch.
|
|
11
|
+
*
|
|
12
|
+
* Frozen hash contract: `bodyHash` is the full 64-char lowercase hex sha256
|
|
13
|
+
* over the UTF-8 bytes of the exact `source` string `readCodeSource` returns
|
|
14
|
+
* for the resolved node (the `lines.slice(line - 1, endLine)` join). No
|
|
15
|
+
* truncation. Algorithm and normalization are part of the public contract;
|
|
16
|
+
* changing either is a breaking change requiring a new feature key.
|
|
17
|
+
*/
|
|
18
|
+
export declare function hashCodeSymbols(index: CodebaseIndex, queries: SymbolKeyQuery[], _options?: HashCodeSymbolsOptions): Promise<HashCodeSymbolsResult[]>;
|
|
19
|
+
export declare function computeBodyHash(source: string): string;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { candidateFromNode, readCodeSource, selectByQuery } from './source.js';
|
|
3
|
+
import { SymbolKeyQuerySchema, } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Batch body-hash primitive behind the `code.symbol.bodyHash` feature key.
|
|
6
|
+
*
|
|
7
|
+
* Resolution reuses the `readCodeSource` candidate matcher (`selectByQuery`),
|
|
8
|
+
* narrowed by `containerName` when the query provides one. Each query is
|
|
9
|
+
* independent: a bad query yields one `error`/`not_found` entry in the result
|
|
10
|
+
* array (positionally aligned with `queries`), never a thrown batch.
|
|
11
|
+
*
|
|
12
|
+
* Frozen hash contract: `bodyHash` is the full 64-char lowercase hex sha256
|
|
13
|
+
* over the UTF-8 bytes of the exact `source` string `readCodeSource` returns
|
|
14
|
+
* for the resolved node (the `lines.slice(line - 1, endLine)` join). No
|
|
15
|
+
* truncation. Algorithm and normalization are part of the public contract;
|
|
16
|
+
* changing either is a breaking change requiring a new feature key.
|
|
17
|
+
*/
|
|
18
|
+
export async function hashCodeSymbols(index, queries, _options = {}) {
|
|
19
|
+
const results = [];
|
|
20
|
+
for (const query of queries) {
|
|
21
|
+
results.push(await hashOneSymbol(index, query));
|
|
22
|
+
}
|
|
23
|
+
return results;
|
|
24
|
+
}
|
|
25
|
+
export function computeBodyHash(source) {
|
|
26
|
+
return createHash('sha256').update(source, 'utf8').digest('hex');
|
|
27
|
+
}
|
|
28
|
+
async function hashOneSymbol(index, rawQuery) {
|
|
29
|
+
const parsed = SymbolKeyQuerySchema.safeParse(rawQuery);
|
|
30
|
+
if (!parsed.success) {
|
|
31
|
+
return { status: 'error', message: `Invalid symbol key query: ${parsed.error.message}` };
|
|
32
|
+
}
|
|
33
|
+
const query = parsed.data;
|
|
34
|
+
try {
|
|
35
|
+
const selected = selectByQuery(index, { name: query.name, file: query.relativePath, type: query.kind });
|
|
36
|
+
if (typeof selected === 'string') {
|
|
37
|
+
return { status: 'error', query, message: selected };
|
|
38
|
+
}
|
|
39
|
+
const candidates = query.containerName != null ? selected.filter(node => node.containerName === query.containerName) : selected;
|
|
40
|
+
if (candidates.length === 0) {
|
|
41
|
+
return { status: 'not_found', query, candidates: [], message: 'No matching source node was found.' };
|
|
42
|
+
}
|
|
43
|
+
if (candidates.length > 1) {
|
|
44
|
+
// Overloads/redeclarations where all key fields match stay explicit —
|
|
45
|
+
// never a silent first pick.
|
|
46
|
+
return {
|
|
47
|
+
status: 'ambiguous',
|
|
48
|
+
query,
|
|
49
|
+
candidates: candidates.map(candidateFromNode),
|
|
50
|
+
message: `Found ${candidates.length} matching source nodes.`,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const node = candidates[0];
|
|
54
|
+
const source = await readCodeSource(index, { nodeId: node.id });
|
|
55
|
+
if (source.status !== 'resolved') {
|
|
56
|
+
const message = 'message' in source ? source.message : `Could not read source for node "${node.id}".`;
|
|
57
|
+
return { status: 'error', query, message };
|
|
58
|
+
}
|
|
59
|
+
return { status: 'resolved', query, symbol: hashedSymbolFromSource(query, node, source.source, source) };
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return { status: 'error', query, message: error.message };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function hashedSymbolFromSource(query, node, source, span) {
|
|
66
|
+
return {
|
|
67
|
+
key: {
|
|
68
|
+
relativePath: span.relativePath ?? node.relativePath ?? query.relativePath,
|
|
69
|
+
kind: node.type,
|
|
70
|
+
name: node.name,
|
|
71
|
+
containerName: node.containerName,
|
|
72
|
+
},
|
|
73
|
+
nodeId: node.id,
|
|
74
|
+
line: span.line,
|
|
75
|
+
endLine: span.endLine,
|
|
76
|
+
signature: node.signature,
|
|
77
|
+
bodyHash: computeBodyHash(source),
|
|
78
|
+
// Regex-fallback parsers report no real span (endLine === line); the hash
|
|
79
|
+
// then covers only the declaration line. Genuine one-line declarations are
|
|
80
|
+
// conservatively reported as inexact too — consumers fall back to
|
|
81
|
+
// file-level hashing either way.
|
|
82
|
+
spanExact: span.endLine > span.line,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/code/hash.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CallChain, ClassTreeAnalysis, CodeCommandPayload, DirectoryTreeResult, CodeSearchResult, ContentMatch, DependencyAnalysis, RelationMatch } from './types.js';
|
|
1
|
+
import type { CallChain, ClassTreeAnalysis, CodeCommandPayload, DirectoryTreeResult, CodeSearchResult, ContentMatch, CodeSeam, DependencyAnalysis, HashCodeSymbolsResult, RelationMatch, ResolveCodeSeamsResult } from './types.js';
|
|
2
2
|
import type { FusedSearchResult, ModuleCoupling } from './query.js';
|
|
3
3
|
import { type RepoMapResult } from './map.js';
|
|
4
4
|
import { type CodeDiffResult } from './diff.js';
|
|
@@ -15,6 +15,9 @@ export declare function formatClassTree(result: ClassTreeAnalysis | null, ci?: b
|
|
|
15
15
|
export declare function formatChains(chains: CallChain[], ci?: boolean): string;
|
|
16
16
|
export declare function formatFusedResults(results: FusedSearchResult[], ci?: boolean): string;
|
|
17
17
|
export declare function formatModuleCoupling(result: ModuleCoupling, ci?: boolean): string;
|
|
18
|
+
export declare function formatSymbolHashes(results: HashCodeSymbolsResult[], ci?: boolean): string;
|
|
19
|
+
export declare function formatCodeSeams(seams: CodeSeam[], ci?: boolean): string;
|
|
20
|
+
export declare function formatSeamResolutions(results: ResolveCodeSeamsResult[], ci?: boolean): string;
|
|
18
21
|
export declare function formatRepoMapMarkdown(result: RepoMapResult): string;
|
|
19
22
|
export declare function formatRepoMapPlain(result: RepoMapResult): string;
|
|
20
23
|
export declare function formatRepoMapXml(result: RepoMapResult): string;
|