@cesarandreslopez/occ 0.9.2 → 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 (69) hide show
  1. package/README.md +62 -47
  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/isolated-chunk-runner.d.ts +5 -0
  8. package/dist/src/code/isolated-chunk-runner.js +96 -0
  9. package/dist/src/code/isolated-chunk-runner.js.map +1 -0
  10. package/dist/src/code/isolated.d.ts +30 -2
  11. package/dist/src/code/isolated.js +110 -2
  12. package/dist/src/code/isolated.js.map +1 -1
  13. package/dist/src/code/languages.d.ts +13 -0
  14. package/dist/src/code/languages.js +115 -2
  15. package/dist/src/code/languages.js.map +1 -1
  16. package/dist/src/code/map.d.ts +9 -0
  17. package/dist/src/code/map.js +6 -0
  18. package/dist/src/code/map.js.map +1 -1
  19. package/dist/src/code/parsers.js +262 -0
  20. package/dist/src/code/parsers.js.map +1 -1
  21. package/dist/src/code/session.d.ts +2 -0
  22. package/dist/src/code/session.js +4 -0
  23. package/dist/src/code/session.js.map +1 -1
  24. package/dist/src/code/source.d.ts +44 -0
  25. package/dist/src/code/source.js +102 -0
  26. package/dist/src/code/source.js.map +1 -0
  27. package/dist/src/code/store.d.ts +10 -0
  28. package/dist/src/code/store.js +11 -0
  29. package/dist/src/code/store.js.map +1 -1
  30. package/dist/src/code/tree-sitter.d.ts +20 -0
  31. package/dist/src/code/tree-sitter.js +127 -0
  32. package/dist/src/code/tree-sitter.js.map +1 -0
  33. package/dist/src/index.d.ts +11 -4
  34. package/dist/src/index.js +7 -2
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/progress-event.d.ts +8 -0
  37. package/dist/src/workspace/bundle-io.d.ts +9 -1
  38. package/dist/src/workspace/bundle-io.js +59 -18
  39. package/dist/src/workspace/bundle-io.js.map +1 -1
  40. package/dist/src/workspace/bundle.js +55 -1
  41. package/dist/src/workspace/bundle.js.map +1 -1
  42. package/package.json +18 -2
  43. package/skills/occ/SKILL.md +16 -5
  44. package/skills/occ/reference/code.md +35 -2
  45. package/skills/occ/reference/commands.md +3 -1
  46. package/vendor/tree-sitter/c/grammar.wasm +0 -0
  47. package/vendor/tree-sitter/c/tags.scm +4 -0
  48. package/vendor/tree-sitter/c-sharp/grammar.wasm +0 -0
  49. package/vendor/tree-sitter/c-sharp/tags.scm +6 -0
  50. package/vendor/tree-sitter/cpp/grammar.wasm +0 -0
  51. package/vendor/tree-sitter/cpp/tags.scm +5 -0
  52. package/vendor/tree-sitter/go/grammar.wasm +0 -0
  53. package/vendor/tree-sitter/go/tags.scm +4 -0
  54. package/vendor/tree-sitter/java/grammar.wasm +0 -0
  55. package/vendor/tree-sitter/java/tags.scm +7 -0
  56. package/vendor/tree-sitter/kotlin/grammar.wasm +0 -0
  57. package/vendor/tree-sitter/kotlin/tags.scm +4 -0
  58. package/vendor/tree-sitter/php/grammar.wasm +0 -0
  59. package/vendor/tree-sitter/php/tags.scm +8 -0
  60. package/vendor/tree-sitter/python/grammar.wasm +0 -0
  61. package/vendor/tree-sitter/python/tags.scm +3 -0
  62. package/vendor/tree-sitter/ruby/grammar.wasm +0 -0
  63. package/vendor/tree-sitter/ruby/tags.scm +5 -0
  64. package/vendor/tree-sitter/rust/grammar.wasm +0 -0
  65. package/vendor/tree-sitter/rust/tags.scm +5 -0
  66. package/vendor/tree-sitter/scala/grammar.wasm +0 -0
  67. package/vendor/tree-sitter/scala/tags.scm +5 -0
  68. package/vendor/tree-sitter/swift/grammar.wasm +0 -0
  69. package/vendor/tree-sitter/swift/tags.scm +4 -0
@@ -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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"}
@@ -1,6 +1,8 @@
1
1
  import { type BudgetExceededBehavior } from './build.js';
2
2
  import { type CodeQuerySession } from './session.js';
3
+ import type { CodeChunk, CodeChunkOptions } from './chunk.js';
3
4
  import type { CodebaseIndex, ContentMode } from './types.js';
5
+ import type { TokenizerName } from '../tokens.js';
4
6
  import type { OnProgress } from '../progress-event.js';
5
7
  import { type CooperativeOption } from '../utils.js';
6
8
  export type StoreStrategy = 'prefer-cache' | 'ensure-fresh' | 'rebuild';
@@ -26,6 +28,13 @@ export interface StoreSessionOptions {
26
28
  onProgress?: OnProgress;
27
29
  cooperative?: CooperativeOption;
28
30
  }
31
+ export interface StoreChunkIsolatedOptions extends Omit<CodeChunkOptions, 'countTokens'> {
32
+ strategy?: StoreStrategy;
33
+ signal?: AbortSignal;
34
+ onProgress?: OnProgress;
35
+ cooperative?: CooperativeOption;
36
+ tokenizer?: TokenizerName;
37
+ }
29
38
  type StoreOperationOptions = Omit<StoreSessionOptions, 'strategy'>;
30
39
  export interface StoreMetadata {
31
40
  schemaVersion: number;
@@ -56,6 +65,7 @@ export interface CodeIndexStore {
56
65
  */
57
66
  update(changedFiles?: string[], options?: StoreOperationOptions): Promise<CodeQuerySession>;
58
67
  exportIndex(options?: StoreSessionOptions): Promise<CodebaseIndex>;
68
+ chunkIsolated(options?: StoreChunkIsolatedOptions): Promise<CodeChunk[]>;
59
69
  /**
60
70
  * Synchronously drops the in-memory session, metadata, and manifest. Does
61
71
  * not serialize against or interrupt in-flight operations — a concurrent
@@ -5,6 +5,7 @@ import { fileURLToPath } from 'node:url';
5
5
  import { assembleCodebaseIndexCooperative, assembleCodebaseIndex, buildCodebaseIndex, CodeIndexBudgetExceededError, parseCodeFiles, } from './build.js';
6
6
  import { classifyChangedFiles, computeManifestDiff, findResolutionImpactedFiles, spliceIndexInputs, } from './incremental.js';
7
7
  import { readSectionedCodeIndex, writeSectionedCodeIndex } from './index-io.js';
8
+ import { chunkFromStoreIsolated } from './isolated.js';
8
9
  import { normalizePath } from './languages.js';
9
10
  import { createCodeQuerySessionFromIndex } from './session.js';
10
11
  import { abortIfNeeded, createYielder, isCooperative } from '../utils.js';
@@ -498,6 +499,16 @@ export function openCodeIndexStore(options) {
498
499
  const session = await this.getSession(opts);
499
500
  return session.getIndex();
500
501
  },
502
+ async chunkIsolated(opts) {
503
+ const { strategy, signal, onProgress, cooperative, ...chunkOptions } = opts ?? {};
504
+ return chunkFromStoreIsolated({
505
+ ...options,
506
+ strategy,
507
+ signal,
508
+ cooperative,
509
+ chunk: Object.keys(chunkOptions).length > 0 ? chunkOptions : undefined,
510
+ }, onProgress);
511
+ },
501
512
  dispose() {
502
513
  currentSession = null;
503
514
  currentMeta = null;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/code/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/code/store.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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"}
@@ -4,10 +4,12 @@ import { openChunkCodeIndexStore, openCodeIndexStore } from './code/store.js';
4
4
  import { chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromIndexStreaming } from './code/chunk.js';
5
5
  import { discoverCodeFiles } from './code/discover.js';
6
6
  import { previewCodebaseSize } from './code/preview.js';
7
- import { buildCodebaseIndexIsolated } from './code/isolated.js';
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';
@@ -26,14 +28,16 @@ import { health } from './health.js';
26
28
  export type { CodebaseIndex, CodeNode, CodeEdge, CodeNodeType, CodeEdgeType, IndexTruncation, NormalizedSymbolKind, } from './code/types.js';
27
29
  export type { ManifestDiff, ManifestEntry, ChangedFileStat } from './code/incremental.js';
28
30
  export type { CodeQuerySession, CodeSessionChunkOptions } from './code/session.js';
29
- export type { CodeIndexStore, CodeIndexStoreOptions, StoreStrategy, StoreMetadata, StoreSessionOptions, } from './code/store.js';
31
+ export type { CodeIndexStore, CodeIndexStoreOptions, StoreStrategy, StoreMetadata, StoreSessionOptions, StoreChunkIsolatedOptions, } from './code/store.js';
30
32
  export type { CodeChunk, CodeChunkOptions, CodeChunkStreamingOptions } from './code/chunk.js';
31
33
  export type { BuildCodebaseOptions, CodeIndexBudget, BudgetExceededBehavior, ParseCodeFilesOptions, ParseCodeFilesResult, AssembleCodebaseIndexInput, } from './code/build.js';
32
- export type { BuildCodebaseIndexIsolatedOptions } from './code/isolated.js';
34
+ export type { BuildCodebaseIndexIsolatedOptions, ChunkFromStoreIsolatedOptions, SerializableCodeChunkOptions, } from './code/isolated.js';
33
35
  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, 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';
@@ -75,8 +79,11 @@ export interface OccCodeNamespace {
75
79
  chunkFromIndex: typeof chunkFromIndex;
76
80
  chunkFromIndexCooperative: typeof chunkFromIndexCooperative;
77
81
  chunkFromIndexStreaming: typeof chunkFromIndexStreaming;
82
+ chunkFromStoreIsolated: typeof chunkFromStoreIsolated;
78
83
  summarizeModule: typeof summarizeModule;
79
84
  toMermaid: typeof toMermaid;
85
+ source: typeof readCodeSource;
86
+ check: typeof checkCodeSyntax;
80
87
  map: typeof buildRepoMap;
81
88
  diff: typeof computeCodeDiff;
82
89
  rank: typeof rankNodes;
package/dist/src/index.js CHANGED
@@ -4,10 +4,12 @@ import { openChunkCodeIndexStore, openCodeIndexStore } from './code/store.js';
4
4
  import { chunkCodebase, chunkFromIndex, chunkFromIndexCooperative, chunkFromIndexStreaming } from './code/chunk.js';
5
5
  import { discoverCodeFiles } from './code/discover.js';
6
6
  import { previewCodebaseSize } from './code/preview.js';
7
- import { buildCodebaseIndexIsolated } from './code/isolated.js';
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, 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';
@@ -51,8 +53,11 @@ export function createOcc() {
51
53
  chunkFromIndex: chunkFromIndex,
52
54
  chunkFromIndexCooperative,
53
55
  chunkFromIndexStreaming,
56
+ chunkFromStoreIsolated,
54
57
  summarizeModule,
55
58
  toMermaid,
59
+ source: readCodeSource,
60
+ check: checkCodeSyntax,
56
61
  map: buildRepoMap,
57
62
  diff: computeCodeDiff,
58
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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"}