@cesarandreslopez/occ 0.9.3 → 0.10.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 (54) hide show
  1. package/README.md +18 -3
  2. package/dist/src/code/check.d.ts +39 -0
  3. package/dist/src/code/check.js +242 -0
  4. package/dist/src/code/check.js.map +1 -0
  5. package/dist/src/code/command.js +64 -0
  6. package/dist/src/code/command.js.map +1 -1
  7. package/dist/src/code/languages.d.ts +13 -0
  8. package/dist/src/code/languages.js +115 -2
  9. package/dist/src/code/languages.js.map +1 -1
  10. package/dist/src/code/map.d.ts +9 -0
  11. package/dist/src/code/map.js +6 -0
  12. package/dist/src/code/map.js.map +1 -1
  13. package/dist/src/code/parsers.js +262 -0
  14. package/dist/src/code/parsers.js.map +1 -1
  15. package/dist/src/code/session.d.ts +2 -0
  16. package/dist/src/code/session.js +4 -0
  17. package/dist/src/code/session.js.map +1 -1
  18. package/dist/src/code/source.d.ts +44 -0
  19. package/dist/src/code/source.js +102 -0
  20. package/dist/src/code/source.js.map +1 -0
  21. package/dist/src/code/tree-sitter.d.ts +20 -0
  22. package/dist/src/code/tree-sitter.js +127 -0
  23. package/dist/src/code/tree-sitter.js.map +1 -0
  24. package/dist/src/index.d.ts +7 -1
  25. package/dist/src/index.js +5 -1
  26. package/dist/src/index.js.map +1 -1
  27. package/package.json +18 -2
  28. package/skills/occ/SKILL.md +16 -5
  29. package/skills/occ/reference/code.md +35 -2
  30. package/skills/occ/reference/commands.md +3 -1
  31. package/vendor/tree-sitter/c/grammar.wasm +0 -0
  32. package/vendor/tree-sitter/c/tags.scm +4 -0
  33. package/vendor/tree-sitter/c-sharp/grammar.wasm +0 -0
  34. package/vendor/tree-sitter/c-sharp/tags.scm +6 -0
  35. package/vendor/tree-sitter/cpp/grammar.wasm +0 -0
  36. package/vendor/tree-sitter/cpp/tags.scm +5 -0
  37. package/vendor/tree-sitter/go/grammar.wasm +0 -0
  38. package/vendor/tree-sitter/go/tags.scm +4 -0
  39. package/vendor/tree-sitter/java/grammar.wasm +0 -0
  40. package/vendor/tree-sitter/java/tags.scm +7 -0
  41. package/vendor/tree-sitter/kotlin/grammar.wasm +0 -0
  42. package/vendor/tree-sitter/kotlin/tags.scm +4 -0
  43. package/vendor/tree-sitter/php/grammar.wasm +0 -0
  44. package/vendor/tree-sitter/php/tags.scm +8 -0
  45. package/vendor/tree-sitter/python/grammar.wasm +0 -0
  46. package/vendor/tree-sitter/python/tags.scm +3 -0
  47. package/vendor/tree-sitter/ruby/grammar.wasm +0 -0
  48. package/vendor/tree-sitter/ruby/tags.scm +5 -0
  49. package/vendor/tree-sitter/rust/grammar.wasm +0 -0
  50. package/vendor/tree-sitter/rust/tags.scm +5 -0
  51. package/vendor/tree-sitter/scala/grammar.wasm +0 -0
  52. package/vendor/tree-sitter/scala/tags.scm +5 -0
  53. package/vendor/tree-sitter/swift/grammar.wasm +0 -0
  54. package/vendor/tree-sitter/swift/tags.scm +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/code/parsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/code/parsers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { fusedSearch, type FusedSearchOptions, type MermaidKind, type MermaidOptions, type ModuleCoupling, type ModuleSummary, type ModuleSummaryOptions } from './query.js';
2
2
  import { type BuildCodebaseOptions } from './build.js';
3
3
  import { type CodeChunk, type CodeChunkOptions } from './chunk.js';
4
+ import { type ReadCodeSourceOptions, type ReadCodeSourceQuery, type ReadCodeSourceResult } from './source.js';
4
5
  import type { CallChain, ClassTreeAnalysis, CodeNodeType, CodeSearchResult, CodebaseIndex, ContentMatch, DependencyAnalysis, RelationMatch } from './types.js';
5
6
  import type { OnProgress } from '../progress-event.js';
6
7
  import { type CooperativeOption } from '../utils.js';
@@ -13,6 +14,7 @@ export interface CodeQuerySession {
13
14
  findByPattern(pattern: string, type?: CodeNodeType, limit?: number): CodeSearchResult[];
14
15
  findByType(type: CodeNodeType, limit?: number): CodeSearchResult[];
15
16
  findContent(text: string, limit?: number): ContentMatch[];
17
+ readSource(query: ReadCodeSourceQuery, options?: ReadCodeSourceOptions): Promise<ReadCodeSourceResult>;
16
18
  fusedSearch(query: string, options?: FusedSearchOptions): ReturnType<typeof fusedSearch>;
17
19
  analyzeCalls(functionName: string, file?: string): RelationMatch[];
18
20
  analyzeCallers(functionName: string, file?: string): RelationMatch[];
@@ -1,6 +1,7 @@
1
1
  import { analyzeCallChain, analyzeCallers, analyzeCalls, analyzeDeps, analyzeModuleCoupling, analyzeTree, findByName, findByPattern, findByType, findContent, fusedSearch, summarizeModule, toMermaid, } from './query.js';
2
2
  import { buildCodebaseIndex } from './build.js';
3
3
  import { chunkFromIndex, chunkFromIndexCooperative } from './chunk.js';
4
+ import { readCodeSource, } from './source.js';
4
5
  import { createYielder } from '../utils.js';
5
6
  class InMemoryCodeQuerySession {
6
7
  buildOptions;
@@ -28,6 +29,9 @@ class InMemoryCodeQuerySession {
28
29
  findContent(text, limit = 50) {
29
30
  return findContent(this.index, text, limit);
30
31
  }
32
+ readSource(query, options) {
33
+ return readCodeSource(this.index, query, options);
34
+ }
31
35
  fusedSearch(query, options) {
32
36
  return fusedSearch(this.index, query, options);
33
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/code/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/code/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { CodebaseIndex, CodeNodeType } from './types.js';
2
+ export type ReadCodeSourceQuery = {
3
+ nodeId: string;
4
+ } | {
5
+ name: string;
6
+ file?: string;
7
+ type?: CodeNodeType;
8
+ };
9
+ export interface ReadCodeSourceOptions {
10
+ }
11
+ export interface CodeSourceCandidate {
12
+ nodeId: string;
13
+ name: string;
14
+ type: CodeNodeType;
15
+ path: string;
16
+ relativePath?: string;
17
+ line?: number;
18
+ endLine?: number;
19
+ containerName?: string;
20
+ }
21
+ export type ReadCodeSourceResult = {
22
+ status: 'resolved';
23
+ nodeId: string;
24
+ name: string;
25
+ type: CodeNodeType;
26
+ path: string;
27
+ relativePath?: string;
28
+ line: number;
29
+ endLine: number;
30
+ containerName?: string;
31
+ source: string;
32
+ } | {
33
+ status: 'not_found';
34
+ candidates: CodeSourceCandidate[];
35
+ message: string;
36
+ } | {
37
+ status: 'ambiguous';
38
+ candidates: CodeSourceCandidate[];
39
+ message: string;
40
+ } | {
41
+ status: 'error';
42
+ message: string;
43
+ };
44
+ export declare function readCodeSource(index: CodebaseIndex, query: ReadCodeSourceQuery, _options?: ReadCodeSourceOptions): Promise<ReadCodeSourceResult>;
@@ -0,0 +1,102 @@
1
+ import path from 'node:path';
2
+ import { readFile } from 'node:fs/promises';
3
+ function isSourceNode(node) {
4
+ return node.type !== 'file' && node.type !== 'module' && node.external !== true;
5
+ }
6
+ function candidateFromNode(node) {
7
+ return {
8
+ nodeId: node.id,
9
+ name: node.name,
10
+ type: node.type,
11
+ path: node.path,
12
+ relativePath: node.relativePath,
13
+ line: node.line,
14
+ endLine: node.endLine,
15
+ containerName: node.containerName,
16
+ };
17
+ }
18
+ function resolveWithinRepo(repoRoot, targetPath) {
19
+ const root = path.resolve(repoRoot);
20
+ const resolved = path.isAbsolute(targetPath) ? path.resolve(targetPath) : path.resolve(root, targetPath);
21
+ const relativePath = path.relative(root, resolved);
22
+ if (relativePath === '' || relativePath.startsWith('..') || path.isAbsolute(relativePath)) {
23
+ return `Resolved path "${targetPath}" is outside repo root "${root}".`;
24
+ }
25
+ return {
26
+ path: resolved,
27
+ relativePath: relativePath.split(path.sep).join('/'),
28
+ };
29
+ }
30
+ function findParsedFile(index, node) {
31
+ const resolvedNodePath = path.resolve(node.path);
32
+ return index.files.find(file => path.resolve(file.path) === resolvedNodePath);
33
+ }
34
+ async function readFileLines(file, filePath) {
35
+ if (file?.lines)
36
+ return file.lines;
37
+ if (file?.content != null)
38
+ return file.content.split(/\r?\n/);
39
+ return (await readFile(filePath, 'utf8')).split(/\r?\n/);
40
+ }
41
+ function selectByQuery(index, query) {
42
+ if ('nodeId' in query) {
43
+ return index.nodes.filter(node => node.id === query.nodeId && isSourceNode(node));
44
+ }
45
+ let resolvedFile;
46
+ if (query.file) {
47
+ const resolved = resolveWithinRepo(index.repoRoot, query.file);
48
+ if (typeof resolved === 'string')
49
+ return resolved;
50
+ resolvedFile = resolved.path;
51
+ }
52
+ return index.nodes.filter(node => {
53
+ if (!isSourceNode(node))
54
+ return false;
55
+ if (node.name !== query.name)
56
+ return false;
57
+ if (query.type && node.type !== query.type)
58
+ return false;
59
+ return !resolvedFile || path.resolve(node.path) === resolvedFile;
60
+ });
61
+ }
62
+ export async function readCodeSource(index, query, _options = {}) {
63
+ const selected = selectByQuery(index, query);
64
+ if (typeof selected === 'string') {
65
+ return { status: 'error', message: selected };
66
+ }
67
+ if (selected.length === 0) {
68
+ return { status: 'not_found', candidates: [], message: 'No matching source node was found.' };
69
+ }
70
+ if (selected.length > 1) {
71
+ return {
72
+ status: 'ambiguous',
73
+ candidates: selected.map(candidateFromNode),
74
+ message: `Found ${selected.length} matching source nodes.`,
75
+ };
76
+ }
77
+ const node = selected[0];
78
+ if (node.line == null) {
79
+ return { status: 'error', message: `Node "${node.id}" does not have a source line.` };
80
+ }
81
+ const resolved = resolveWithinRepo(index.repoRoot, node.path);
82
+ if (typeof resolved === 'string') {
83
+ return { status: 'error', message: resolved };
84
+ }
85
+ const endLine = node.endLine ?? node.line;
86
+ const file = findParsedFile(index, node);
87
+ const lines = await readFileLines(file, resolved.path);
88
+ const source = lines.slice(node.line - 1, endLine).join('\n');
89
+ return {
90
+ status: 'resolved',
91
+ nodeId: node.id,
92
+ name: node.name,
93
+ type: node.type,
94
+ path: resolved.path,
95
+ relativePath: node.relativePath ?? resolved.relativePath,
96
+ line: node.line,
97
+ endLine,
98
+ containerName: node.containerName,
99
+ source,
100
+ };
101
+ }
102
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/code/source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export type TreeSitterModule = typeof import('web-tree-sitter');
2
+ export type TreeSitterLanguage = import('web-tree-sitter').Language;
3
+ export type TreeSitterQuery = import('web-tree-sitter').Query;
4
+ export type TreeSitterNode = import('web-tree-sitter').Node;
5
+ export type TreeSitterTree = import('web-tree-sitter').Tree;
6
+ export interface TreeSitterErrorNode {
7
+ type: string;
8
+ text: string;
9
+ line: number;
10
+ column: number;
11
+ }
12
+ export interface TreeSitterTagCapture {
13
+ name: string;
14
+ node: TreeSitterNode;
15
+ }
16
+ export declare function resolveTreeSitterAsset(grammar: string, fileName: string): string | null;
17
+ export declare function loadTreeSitterLanguage(grammar: string): Promise<TreeSitterLanguage | null>;
18
+ export declare function parseTreeSitterContent(grammar: string, content: string): Promise<TreeSitterTree | null>;
19
+ export declare function collectTreeSitterTagCaptures(grammar: string, root: TreeSitterNode): Promise<TreeSitterTagCapture[] | null>;
20
+ export declare function collectTreeSitterErrorNodes(root: TreeSitterNode): TreeSitterErrorNode[];
@@ -0,0 +1,127 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { readFile } from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ let treeSitterModulePromise;
6
+ const languageCache = new Map();
7
+ const queryCache = new Map();
8
+ async function loadTreeSitterModule() {
9
+ if (!treeSitterModulePromise) {
10
+ treeSitterModulePromise = import('web-tree-sitter')
11
+ .then(async (module) => {
12
+ await module.Parser.init();
13
+ return module;
14
+ })
15
+ .catch((error) => {
16
+ treeSitterModulePromise = undefined;
17
+ const detail = error instanceof Error ? ` ${error.message}` : '';
18
+ throw new Error(`Failed to load the bundled "web-tree-sitter" dependency.${detail}`);
19
+ });
20
+ }
21
+ return treeSitterModulePromise;
22
+ }
23
+ export function resolveTreeSitterAsset(grammar, fileName) {
24
+ const here = path.dirname(fileURLToPath(import.meta.url));
25
+ const candidates = [
26
+ path.resolve(here, '../../vendor/tree-sitter', grammar, fileName),
27
+ path.resolve(here, '../../../vendor/tree-sitter', grammar, fileName),
28
+ path.resolve(process.cwd(), 'vendor/tree-sitter', grammar, fileName),
29
+ ];
30
+ return candidates.find(candidate => existsSync(candidate)) ?? null;
31
+ }
32
+ export async function loadTreeSitterLanguage(grammar) {
33
+ const cached = languageCache.get(grammar);
34
+ if (cached)
35
+ return cached;
36
+ const promise = (async () => {
37
+ const wasmPath = resolveTreeSitterAsset(grammar, 'grammar.wasm');
38
+ if (!wasmPath)
39
+ return null;
40
+ const module = await loadTreeSitterModule();
41
+ try {
42
+ return await module.Language.load(wasmPath);
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ })();
48
+ languageCache.set(grammar, promise);
49
+ return promise;
50
+ }
51
+ async function loadTreeSitterTagsQuery(grammar) {
52
+ const cached = queryCache.get(grammar);
53
+ if (cached)
54
+ return cached;
55
+ const promise = (async () => {
56
+ const queryPath = resolveTreeSitterAsset(grammar, 'tags.scm');
57
+ if (!queryPath)
58
+ return null;
59
+ const [module, language, source] = await Promise.all([
60
+ loadTreeSitterModule(),
61
+ loadTreeSitterLanguage(grammar),
62
+ readFile(queryPath, 'utf8'),
63
+ ]);
64
+ if (!language || source.trim().length === 0)
65
+ return null;
66
+ try {
67
+ return new module.Query(language, source);
68
+ }
69
+ catch {
70
+ return null;
71
+ }
72
+ })();
73
+ queryCache.set(grammar, promise);
74
+ return promise;
75
+ }
76
+ export async function parseTreeSitterContent(grammar, content) {
77
+ const language = await loadTreeSitterLanguage(grammar);
78
+ if (!language)
79
+ return null;
80
+ const module = await loadTreeSitterModule();
81
+ const parser = new module.Parser();
82
+ parser.setLanguage(language);
83
+ // web-tree-sitter Parser/Tree are Emscripten handles that JS GC never frees. The
84
+ // returned tree outlives the parser, so free the parser here; the caller owns the
85
+ // tree and must call tree.delete() once it has copied out the node data it needs.
86
+ try {
87
+ return parser.parse(content);
88
+ }
89
+ finally {
90
+ parser.delete();
91
+ }
92
+ }
93
+ export async function collectTreeSitterTagCaptures(grammar, root) {
94
+ const query = await loadTreeSitterTagsQuery(grammar);
95
+ if (!query)
96
+ return null;
97
+ try {
98
+ return query.captures(root).map(capture => ({
99
+ name: capture.name,
100
+ node: capture.node,
101
+ }));
102
+ }
103
+ catch {
104
+ return null;
105
+ }
106
+ }
107
+ export function collectTreeSitterErrorNodes(root) {
108
+ const errors = [];
109
+ const visit = (node) => {
110
+ if (node.type === 'ERROR' || node.isMissing) {
111
+ errors.push({
112
+ type: node.type,
113
+ text: node.text,
114
+ line: node.startPosition.row + 1,
115
+ column: node.startPosition.column + 1,
116
+ });
117
+ }
118
+ for (let index = 0; index < node.childCount; index++) {
119
+ const child = node.child(index);
120
+ if (child)
121
+ visit(child);
122
+ }
123
+ };
124
+ visit(root);
125
+ return errors;
126
+ }
127
+ //# sourceMappingURL=tree-sitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-sitter.js","sourceRoot":"","sources":["../../../src/code/tree-sitter.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@ import { chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromInde
5
5
  import { discoverCodeFiles } from './code/discover.js';
6
6
  import { previewCodebaseSize } from './code/preview.js';
7
7
  import { buildCodebaseIndexIsolated, chunkFromStoreIsolated } from './code/isolated.js';
8
+ import { checkCodeSyntax } from './code/check.js';
8
9
  import { parseSlimIndex, slimifyIndex, slimifyIndexCooperative, tryParseSlimIndex, validateSlimIndex } from './code/slim.js';
9
10
  import { summarizeModule, toMermaid } from './code/query.js';
10
11
  import { buildRepoMap } from './code/map.js';
12
+ import { readCodeSource } from './code/source.js';
11
13
  import { rankNodes, rankNodesCached } from './code/rank.js';
12
14
  import { computeCodeDiff } from './code/diff.js';
13
15
  import { getGitChangedFiles, getGitChurnSummary, getGitCommitHistory, getGitDiffFunctionContext, getGitDiffHunks, getGitDiffPatch, getGitDiffSummary, getGitFileHistory, resolveGitRange } from './git/api.js';
@@ -34,6 +36,8 @@ export type { CodebaseIndexSlim, SlimParsedFile } from './code/slim.js';
34
36
  export type { CodebaseSizePreview, PreviewCodebaseSizeOptions } from './code/preview.js';
35
37
  export type { ModuleSummary, ModuleSummaryOptions, MermaidKind, MermaidOptions } from './code/query.js';
36
38
  export type { RepoMapOptions, RepoMapResult, RepoMapEntry, RepoMapSymbol, RepoMapFormat, RepoMapMode, RepoMapFocus, RepoMapFocusResult, } from './code/map.js';
39
+ export type { CodeSourceCandidate, ReadCodeSourceOptions, ReadCodeSourceQuery, ReadCodeSourceResult, } from './code/source.js';
40
+ export type { CheckCodeSyntaxOptions, CheckCodeSyntaxResult, CodeSyntaxDiagnostic } from './code/check.js';
37
41
  export type { RankOptions, RankResult, RankedNode, RankedFile, RankEdgeWeights } from './code/rank.js';
38
42
  export type { ChangedSymbol, CodeDiffOptions, CodeDiffResult, FileChange } from './code/diff.js';
39
43
  export type { GitChangedFile, GitChurnEntry, GitChurnSummary, GitCommit, GitCommitHistory, GitDiffHunk, GitDiffHunks, GitDiffPatch, GitDiffSummary, GitFileHistory, GitFileHistoryEntry, GitFileHunks, GitFileStatus, GitNumstat, GitRange, GitRangeKind, GitRepoInfo, } from './git/types.js';
@@ -49,7 +53,7 @@ export type { InspectWorkspaceDocumentSetOptions } from './workspace/documents.j
49
53
  export type { WorkspaceBundle, WorkspaceBundleOptions, WorkspaceOutlineNode, WorkspaceCodeDocumentReference, WorkspaceCorpusChunk, } from './workspace/bundle.js';
50
54
  export type { WorkspaceDescription, WorkspaceRecommendedCall } from './workspace/types.js';
51
55
  export type { OccHealth } from './health.js';
52
- export { buildCodebaseIndex, buildCodebaseIndexIsolated, buildRepoMap, computeCodeDiff, rankNodes, rankNodesCached, parseCodeFiles, assembleCodebaseIndex, assembleCodebaseIndexCooperative, DEFAULT_PARSE_CONCURRENCY, chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromIndexStreaming, chunkFromStoreIsolated, createCodeQuerySession, createCodeQuerySessionFromIndex, discoverCodeFiles, openChunkCodeIndexStore, openChunkCodeIndexStore as openChunkStore, openCodeIndexStore, parseSlimIndex, previewCodebaseSize, slimifyIndex, slimifyIndexCooperative, summarizeModule, toMermaid, tryParseSlimIndex, validateSlimIndex, };
56
+ export { buildCodebaseIndex, buildCodebaseIndexIsolated, buildRepoMap, computeCodeDiff, readCodeSource, rankNodes, rankNodesCached, parseCodeFiles, assembleCodebaseIndex, assembleCodebaseIndexCooperative, DEFAULT_PARSE_CONCURRENCY, chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromIndexStreaming, chunkFromStoreIsolated, checkCodeSyntax, createCodeQuerySession, createCodeQuerySessionFromIndex, discoverCodeFiles, openChunkCodeIndexStore, openChunkCodeIndexStore as openChunkStore, openCodeIndexStore, parseSlimIndex, previewCodebaseSize, slimifyIndex, slimifyIndexCooperative, summarizeModule, toMermaid, tryParseSlimIndex, validateSlimIndex, };
53
57
  export { CodeIndexBudgetExceededError } from './code/build.js';
54
58
  export { joinHunksToSymbols } from './code/diff.js';
55
59
  export { OccAbortError, OCC_ABORTED, isOccAbortError } from './errors.js';
@@ -78,6 +82,8 @@ export interface OccCodeNamespace {
78
82
  chunkFromStoreIsolated: typeof chunkFromStoreIsolated;
79
83
  summarizeModule: typeof summarizeModule;
80
84
  toMermaid: typeof toMermaid;
85
+ source: typeof readCodeSource;
86
+ check: typeof checkCodeSyntax;
81
87
  map: typeof buildRepoMap;
82
88
  diff: typeof computeCodeDiff;
83
89
  rank: typeof rankNodes;
package/dist/src/index.js CHANGED
@@ -5,9 +5,11 @@ import { chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromInde
5
5
  import { discoverCodeFiles } from './code/discover.js';
6
6
  import { previewCodebaseSize } from './code/preview.js';
7
7
  import { buildCodebaseIndexIsolated, chunkFromStoreIsolated } from './code/isolated.js';
8
+ import { checkCodeSyntax } from './code/check.js';
8
9
  import { parseSlimIndex, slimifyIndex, slimifyIndexCooperative, tryParseSlimIndex, validateSlimIndex, } from './code/slim.js';
9
10
  import { summarizeModule, toMermaid } from './code/query.js';
10
11
  import { buildRepoMap } from './code/map.js';
12
+ import { readCodeSource } from './code/source.js';
11
13
  import { rankNodes, rankNodesCached } from './code/rank.js';
12
14
  import { computeCodeDiff } from './code/diff.js';
13
15
  import { getGitChangedFiles, getGitChurnSummary, getGitCommitHistory, getGitDiffFunctionContext, getGitDiffHunks, getGitDiffPatch, getGitDiffSummary, getGitFileHistory, resolveGitRange, } from './git/api.js';
@@ -23,7 +25,7 @@ import { inspectWorkspaceDocumentSet } from './workspace/documents.js';
23
25
  import { prepareWorkspaceContext } from './workspace/prepare.js';
24
26
  import { bundleWorkspace, bundleWorkspaceIsolated } from './workspace/bundle.js';
25
27
  import { health } from './health.js';
26
- export { buildCodebaseIndex, buildCodebaseIndexIsolated, buildRepoMap, computeCodeDiff, rankNodes, rankNodesCached, parseCodeFiles, assembleCodebaseIndex, assembleCodebaseIndexCooperative, DEFAULT_PARSE_CONCURRENCY, chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromIndexStreaming, chunkFromStoreIsolated, createCodeQuerySession, createCodeQuerySessionFromIndex, discoverCodeFiles, openChunkCodeIndexStore, openChunkCodeIndexStore as openChunkStore, openCodeIndexStore, parseSlimIndex, previewCodebaseSize, slimifyIndex, slimifyIndexCooperative, summarizeModule, toMermaid, tryParseSlimIndex, validateSlimIndex, };
28
+ export { buildCodebaseIndex, buildCodebaseIndexIsolated, buildRepoMap, computeCodeDiff, readCodeSource, rankNodes, rankNodesCached, parseCodeFiles, assembleCodebaseIndex, assembleCodebaseIndexCooperative, DEFAULT_PARSE_CONCURRENCY, chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromIndexStreaming, chunkFromStoreIsolated, checkCodeSyntax, createCodeQuerySession, createCodeQuerySessionFromIndex, discoverCodeFiles, openChunkCodeIndexStore, openChunkCodeIndexStore as openChunkStore, openCodeIndexStore, parseSlimIndex, previewCodebaseSize, slimifyIndex, slimifyIndexCooperative, summarizeModule, toMermaid, tryParseSlimIndex, validateSlimIndex, };
27
29
  export { CodeIndexBudgetExceededError } from './code/build.js';
28
30
  export { joinHunksToSymbols } from './code/diff.js';
29
31
  export { OccAbortError, OCC_ABORTED, isOccAbortError } from './errors.js';
@@ -54,6 +56,8 @@ export function createOcc() {
54
56
  chunkFromStoreIsolated,
55
57
  summarizeModule,
56
58
  toMermaid,
59
+ source: readCodeSource,
60
+ check: checkCodeSyntax,
57
61
  map: buildRepoMap,
58
62
  diff: computeCodeDiff,
59
63
  rank: rankNodes,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}