codesearch-mcp 0.0.15-alpha → 0.0.17-alpha

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 (39) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +74 -33
  3. package/dist/app.d.ts +1 -1
  4. package/dist/app.js +67 -16
  5. package/dist/src/commands/BackfillCommand.js +15 -5
  6. package/dist/src/commands/ConfigCommand.d.ts +12 -0
  7. package/dist/src/commands/ConfigCommand.js +98 -0
  8. package/dist/src/commands/IndexCommand.js +1 -1
  9. package/dist/src/config-store.d.ts +53 -0
  10. package/dist/src/config-store.js +197 -0
  11. package/dist/src/config.d.ts +22 -8
  12. package/dist/src/config.js +103 -58
  13. package/dist/src/container.d.ts +1 -1
  14. package/dist/src/container.js +8 -7
  15. package/dist/src/db/index.d.ts +2 -3
  16. package/dist/src/db/index.js +6 -7
  17. package/dist/src/db/schema.d.ts +577 -0
  18. package/dist/src/db/schema.js +47 -0
  19. package/dist/src/help.js +28 -12
  20. package/dist/src/interfaces/IAstParser.d.ts +19 -0
  21. package/dist/src/interfaces/IEmbedder.d.ts +1 -0
  22. package/dist/src/project-selector.d.ts +14 -5
  23. package/dist/src/project-selector.js +74 -60
  24. package/dist/src/services/AstParserService.d.ts +7 -0
  25. package/dist/src/services/AstParserService.js +191 -28
  26. package/dist/src/services/DatabaseService.d.ts +11 -4
  27. package/dist/src/services/DatabaseService.js +107 -48
  28. package/dist/src/services/IndexerService.d.ts +9 -0
  29. package/dist/src/services/IndexerService.js +224 -60
  30. package/dist/src/services/LoggerService.d.ts +5 -1
  31. package/dist/src/services/LoggerService.js +8 -5
  32. package/dist/src/services/McpServer.d.ts +1 -0
  33. package/dist/src/services/McpServer.js +74 -4
  34. package/dist/src/services/OllamaEmbedder.d.ts +2 -0
  35. package/dist/src/services/OllamaEmbedder.js +29 -0
  36. package/dist/src/services/SearcherService.d.ts +13 -0
  37. package/dist/src/services/SearcherService.js +118 -22
  38. package/dist/src/setup.js +57 -62
  39. package/package.json +4 -5
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ALL_KEYS = exports.CONFIG_FILE = exports.CONFIG_DIR = void 0;
37
+ exports.readConfigJson = readConfigJson;
38
+ exports.writeConfigJson = writeConfigJson;
39
+ exports.getNestedValue = getNestedValue;
40
+ exports.setNestedValue = setNestedValue;
41
+ exports.deleteNestedValue = deleteNestedValue;
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const os = __importStar(require("os"));
45
+ const zod_1 = require("zod");
46
+ exports.CONFIG_DIR = path.join(os.homedir(), '.config', 'codesearch-mcp');
47
+ exports.CONFIG_FILE = path.join(exports.CONFIG_DIR, 'config.json');
48
+ // All fields optional — defaults live in config.ts. The file stays minimal.
49
+ const jsonSchema = zod_1.z.object({
50
+ db: zod_1.z.object({
51
+ host: zod_1.z.string().optional(),
52
+ port: zod_1.z.number().optional(),
53
+ user: zod_1.z.string().optional(),
54
+ password: zod_1.z.string().optional(),
55
+ name: zod_1.z.string().optional(),
56
+ }).optional(),
57
+ ollama: zod_1.z.object({
58
+ host: zod_1.z.string().optional(),
59
+ model: zod_1.z.string().optional(),
60
+ }).optional(),
61
+ indexing: zod_1.z.object({
62
+ chunkSize: zod_1.z.number().optional(),
63
+ chunkOverlap: zod_1.z.number().optional(),
64
+ embedBatchSize: zod_1.z.number().optional(),
65
+ astBatchSize: zod_1.z.number().optional(),
66
+ }).optional(),
67
+ search: zod_1.z.object({
68
+ similarityThreshold: zod_1.z.number().optional(),
69
+ defaultLimit: zod_1.z.number().optional(),
70
+ maxLimit: zod_1.z.number().optional(),
71
+ autoTranslate: zod_1.z.boolean().optional(),
72
+ translateModel: zod_1.z.string().optional(),
73
+ }).optional(),
74
+ reranker: zod_1.z.object({
75
+ enabled: zod_1.z.boolean().optional(),
76
+ model: zod_1.z.string().optional(),
77
+ url: zod_1.z.string().optional(),
78
+ overfetch: zod_1.z.number().int().min(1).max(20).optional(),
79
+ }).optional(),
80
+ logging: zod_1.z.object({
81
+ level: zod_1.z.enum(['debug', 'info', 'warn', 'error']).optional(),
82
+ dir: zod_1.z.string().optional(),
83
+ }).optional(),
84
+ workspaceRoot: zod_1.z.string().optional(),
85
+ });
86
+ const FIELD_TYPES = {
87
+ 'db.host': 'string',
88
+ 'db.port': 'number',
89
+ 'db.user': 'string',
90
+ 'db.password': 'string',
91
+ 'db.name': 'string',
92
+ 'ollama.host': 'string',
93
+ 'ollama.model': 'string',
94
+ 'indexing.chunkSize': 'number',
95
+ 'indexing.chunkOverlap': 'number',
96
+ 'indexing.embedBatchSize': 'number',
97
+ 'indexing.astBatchSize': 'number',
98
+ 'search.similarityThreshold': 'number',
99
+ 'search.defaultLimit': 'number',
100
+ 'search.maxLimit': 'number',
101
+ 'search.autoTranslate': 'boolean',
102
+ 'search.translateModel': 'string',
103
+ 'reranker.enabled': 'boolean',
104
+ 'reranker.model': 'string',
105
+ 'reranker.url': 'string',
106
+ 'reranker.overfetch': 'number',
107
+ 'logging.level': 'string',
108
+ 'logging.dir': 'string',
109
+ 'workspaceRoot': 'string',
110
+ };
111
+ exports.ALL_KEYS = Object.keys(FIELD_TYPES);
112
+ function readConfigJson() {
113
+ if (!fs.existsSync(exports.CONFIG_FILE))
114
+ return null;
115
+ let raw;
116
+ try {
117
+ raw = fs.readFileSync(exports.CONFIG_FILE, 'utf-8');
118
+ }
119
+ catch (e) {
120
+ throw new Error(`Cannot read ${exports.CONFIG_FILE}: ${e.message}`);
121
+ }
122
+ let parsed;
123
+ try {
124
+ parsed = JSON.parse(raw);
125
+ }
126
+ catch (e) {
127
+ throw new Error(`Invalid JSON in ${exports.CONFIG_FILE}: ${e.message}\n` +
128
+ `Fix the file manually or delete it and run: rag-setup`);
129
+ }
130
+ const result = jsonSchema.safeParse(parsed);
131
+ if (!result.success) {
132
+ const issues = result.error.issues.map(i => ` ${i.path.join('.')}: ${i.message}`).join('\n');
133
+ throw new Error(`Invalid config in ${exports.CONFIG_FILE}:\n${issues}\n` +
134
+ `Fix with: rag-config set <key> <value>`);
135
+ }
136
+ return result.data;
137
+ }
138
+ function writeConfigJson(data) {
139
+ fs.mkdirSync(exports.CONFIG_DIR, { recursive: true });
140
+ fs.writeFileSync(exports.CONFIG_FILE, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
141
+ }
142
+ function getNestedValue(cfg, key) {
143
+ const parts = key.split('.');
144
+ let cur = cfg;
145
+ for (const p of parts) {
146
+ if (cur == null || typeof cur !== 'object')
147
+ return undefined;
148
+ cur = cur[p];
149
+ }
150
+ return cur;
151
+ }
152
+ function coerceValue(key, raw) {
153
+ const type = FIELD_TYPES[key];
154
+ if (type === 'number') {
155
+ const n = Number(raw);
156
+ if (raw.trim() === '' || isNaN(n))
157
+ throw new Error(`${key} must be a number, got: ${raw}`);
158
+ return n;
159
+ }
160
+ if (type === 'boolean') {
161
+ if (raw !== 'true' && raw !== 'false')
162
+ throw new Error(`${key} must be "true" or "false", got: ${raw}`);
163
+ return raw === 'true';
164
+ }
165
+ return raw;
166
+ }
167
+ function setNestedValue(cfg, key, raw) {
168
+ if (!FIELD_TYPES[key])
169
+ throw new Error(`Unknown config key: ${key}\nValid keys: ${exports.ALL_KEYS.join(', ')}`);
170
+ const value = coerceValue(key, raw);
171
+ const parts = key.split('.');
172
+ const clone = JSON.parse(JSON.stringify(cfg));
173
+ if (parts.length === 1) {
174
+ clone[parts[0]] = value;
175
+ }
176
+ else {
177
+ if (typeof clone[parts[0]] !== 'object' || !clone[parts[0]])
178
+ clone[parts[0]] = {};
179
+ clone[parts[0]][parts[1]] = value;
180
+ }
181
+ return clone;
182
+ }
183
+ function deleteNestedValue(cfg, key) {
184
+ if (!FIELD_TYPES[key])
185
+ throw new Error(`Unknown config key: ${key}`);
186
+ const parts = key.split('.');
187
+ const clone = JSON.parse(JSON.stringify(cfg));
188
+ if (parts.length === 1) {
189
+ delete clone[parts[0]];
190
+ }
191
+ else if (clone[parts[0]] && typeof clone[parts[0]] === 'object') {
192
+ delete clone[parts[0]][parts[1]];
193
+ if (Object.keys(clone[parts[0]]).length === 0)
194
+ delete clone[parts[0]];
195
+ }
196
+ return clone;
197
+ }
@@ -1,27 +1,41 @@
1
- export declare const config: {
2
- db: {
1
+ export declare class ConfigError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ export declare class Config {
5
+ private readonly data;
6
+ get db(): {
3
7
  host: string;
4
8
  port: number;
5
9
  username: string;
6
10
  password: string;
7
11
  database: string;
8
12
  };
9
- ollama: {
13
+ get ollama(): {
10
14
  host: string;
11
15
  model: string;
16
+ rerankerModel: string;
17
+ rerankerUrl: string;
12
18
  };
13
- indexer: {
19
+ get indexer(): {
14
20
  chunkSize: number;
15
21
  chunkOverlap: number;
16
22
  batchSize: number;
23
+ astBatchSize: number;
17
24
  };
18
- search: {
25
+ get search(): {
19
26
  similarityThreshold: number;
20
27
  defaultLimit: number;
21
28
  maxLimit: number;
22
29
  autoTranslate: boolean;
23
30
  translateModel: string;
31
+ rerankerEnabled: boolean;
32
+ rerankerOverfetch: number;
24
33
  };
25
- workspaceRoot: string;
26
- };
27
- export type Config = typeof config;
34
+ get logging(): {
35
+ level: "error" | "debug" | "info" | "warn";
36
+ dir?: string | undefined;
37
+ };
38
+ get workspaceRoot(): string;
39
+ constructor();
40
+ private deriveDbName;
41
+ }
@@ -33,68 +33,113 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.config = void 0;
36
+ exports.Config = exports.ConfigError = void 0;
37
37
  const os = __importStar(require("os"));
38
38
  const zod_1 = require("zod");
39
+ const config_store_1 = require("./config-store");
39
40
  const constants_1 = require("./constants");
40
- function deriveDbName() {
41
- const username = os.userInfo().username;
42
- const sanitized = username.toLowerCase().replace(/[^a-z0-9_]/g, '_');
43
- return 'rag_' + (sanitized || 'user');
41
+ class ConfigError extends Error {
42
+ constructor(message) {
43
+ super(message);
44
+ this.name = 'ConfigError';
45
+ }
44
46
  }
45
- const schema = zod_1.z.object({
46
- // required — no defaults, process exits if missing
47
- DB_HOST: zod_1.z.string(),
48
- DB_PORT: zod_1.z.coerce.number().default(5433),
49
- DB_USER: zod_1.z.string(),
50
- DB_PASS: zod_1.z.string(),
51
- DB_NAME: zod_1.z.string().optional(),
52
- // optional with defaults
53
- OLLAMA_HOST: zod_1.z.string().url().default('http://localhost:11434'),
54
- OLLAMA_MODEL: zod_1.z.string().default(constants_1.DEFAULT_EMBED_MODEL),
55
- CHUNK_SIZE: zod_1.z.coerce.number().default(1500),
56
- CHUNK_OVERLAP: zod_1.z.coerce.number().default(200),
57
- EMBED_BATCH_SIZE: zod_1.z.coerce.number().default(5),
58
- SIMILARITY_THRESHOLD: zod_1.z.coerce.number().default(0.6),
59
- SEARCH_DEFAULT_LIMIT: zod_1.z.coerce.number().default(5),
60
- SEARCH_MAX_LIMIT: zod_1.z.coerce.number().default(20),
61
- // auto-translate non-English queries to English before embedding
62
- AUTO_TRANSLATE: zod_1.z.string().default('false').transform(v => v === 'true'),
63
- TRANSLATE_MODEL: zod_1.z.string().default('llama3.2'),
64
- WORKSPACE_ROOT: zod_1.z.string().optional(),
47
+ exports.ConfigError = ConfigError;
48
+ const resolvedSchema = zod_1.z.object({
49
+ db: zod_1.z.object({
50
+ host: zod_1.z.string().min(1, 'required — run rag-setup'),
51
+ port: zod_1.z.number().int().positive().default(5433),
52
+ username: zod_1.z.string().min(1, 'required — run rag-setup'),
53
+ password: zod_1.z.string().min(1, 'required — run rag-setup'),
54
+ database: zod_1.z.string().min(1),
55
+ }),
56
+ ollama: zod_1.z.object({
57
+ host: zod_1.z.string().min(1).default('http://localhost:11434'),
58
+ model: zod_1.z.string().min(1).default(constants_1.DEFAULT_EMBED_MODEL),
59
+ rerankerModel: zod_1.z.string().default(''),
60
+ rerankerUrl: zod_1.z.string().min(1),
61
+ }),
62
+ indexer: zod_1.z.object({
63
+ chunkSize: zod_1.z.number().int().positive().default(1500),
64
+ chunkOverlap: zod_1.z.number().int().min(0).default(200),
65
+ batchSize: zod_1.z.number().int().positive().default(5),
66
+ astBatchSize: zod_1.z.number().int().positive().default(3000),
67
+ }),
68
+ search: zod_1.z.object({
69
+ similarityThreshold: zod_1.z.number().min(0).max(1).default(0.6),
70
+ defaultLimit: zod_1.z.number().int().positive().default(5),
71
+ maxLimit: zod_1.z.number().int().positive().default(20),
72
+ autoTranslate: zod_1.z.boolean().default(false),
73
+ translateModel: zod_1.z.string().default('llama3.2'),
74
+ rerankerEnabled: zod_1.z.boolean().default(false),
75
+ rerankerOverfetch: zod_1.z.number().int().min(1).max(20).default(3),
76
+ }),
77
+ logging: zod_1.z.object({
78
+ level: zod_1.z.enum(['debug', 'info', 'warn', 'error']).default('error'),
79
+ dir: zod_1.z.string().optional(),
80
+ }),
81
+ workspaceRoot: zod_1.z.string().default(''),
65
82
  });
66
- const parsed = schema.safeParse(process.env);
67
- if (!parsed.success) {
68
- console.error('Invalid or missing config:');
69
- for (const [key, errors] of Object.entries(parsed.error.flatten().fieldErrors)) {
70
- console.error(` ${key}: ${errors.join(', ')}`);
83
+ class Config {
84
+ data;
85
+ get db() { return this.data.db; }
86
+ get ollama() { return this.data.ollama; }
87
+ get indexer() { return this.data.indexer; }
88
+ get search() { return this.data.search; }
89
+ get logging() { return this.data.logging; }
90
+ get workspaceRoot() { return this.data.workspaceRoot; }
91
+ constructor() {
92
+ const raw = (0, config_store_1.readConfigJson)();
93
+ if (!raw)
94
+ throw new ConfigError('Config not found. Run rag-setup.');
95
+ const ollamaHost = raw.ollama?.host ?? 'http://localhost:11434';
96
+ const result = resolvedSchema.safeParse({
97
+ db: {
98
+ host: raw.db?.host,
99
+ port: raw.db?.port,
100
+ username: raw.db?.user,
101
+ password: raw.db?.password,
102
+ database: raw.db?.name ?? this.deriveDbName(),
103
+ },
104
+ ollama: {
105
+ host: raw.ollama?.host,
106
+ model: raw.ollama?.model,
107
+ rerankerModel: raw.reranker?.model,
108
+ rerankerUrl: raw.reranker?.url ?? `${ollamaHost}/api/rerank`,
109
+ },
110
+ indexer: {
111
+ chunkSize: raw.indexing?.chunkSize,
112
+ chunkOverlap: raw.indexing?.chunkOverlap,
113
+ batchSize: raw.indexing?.embedBatchSize,
114
+ astBatchSize: raw.indexing?.astBatchSize,
115
+ },
116
+ search: {
117
+ similarityThreshold: raw.search?.similarityThreshold,
118
+ defaultLimit: raw.search?.defaultLimit,
119
+ maxLimit: raw.search?.maxLimit,
120
+ autoTranslate: raw.search?.autoTranslate,
121
+ translateModel: raw.search?.translateModel,
122
+ rerankerEnabled: raw.reranker?.enabled,
123
+ rerankerOverfetch: raw.reranker?.overfetch,
124
+ },
125
+ logging: {
126
+ level: raw.logging?.level,
127
+ dir: raw.logging?.dir,
128
+ },
129
+ workspaceRoot: raw.workspaceRoot,
130
+ });
131
+ if (!result.success) {
132
+ const issues = result.error.issues
133
+ .map(i => ` ${i.path.join('.')}: ${i.message}`)
134
+ .join('\n');
135
+ throw new ConfigError(`Invalid config:\n${issues}\nRun rag-setup or: rag-config set <key> <value>`);
136
+ }
137
+ this.data = result.data;
138
+ }
139
+ deriveDbName() {
140
+ const username = os.userInfo().username;
141
+ const sanitized = username.toLowerCase().replace(/[^a-z0-9_]/g, '_');
142
+ return 'rag_' + (sanitized || 'user');
71
143
  }
72
- process.exit(1);
73
144
  }
74
- const env = parsed.data;
75
- exports.config = {
76
- db: {
77
- host: env.DB_HOST,
78
- port: env.DB_PORT,
79
- username: env.DB_USER,
80
- password: env.DB_PASS,
81
- database: env.DB_NAME ?? deriveDbName(),
82
- },
83
- ollama: {
84
- host: env.OLLAMA_HOST,
85
- model: env.OLLAMA_MODEL,
86
- },
87
- indexer: {
88
- chunkSize: env.CHUNK_SIZE,
89
- chunkOverlap: env.CHUNK_OVERLAP,
90
- batchSize: env.EMBED_BATCH_SIZE,
91
- },
92
- search: {
93
- similarityThreshold: env.SIMILARITY_THRESHOLD,
94
- defaultLimit: env.SEARCH_DEFAULT_LIMIT,
95
- maxLimit: env.SEARCH_MAX_LIMIT,
96
- autoTranslate: env.AUTO_TRANSLATE,
97
- translateModel: env.TRANSLATE_MODEL,
98
- },
99
- workspaceRoot: env.WORKSPACE_ROOT ?? '',
100
- };
145
+ exports.Config = Config;
@@ -1,4 +1,4 @@
1
- import { type Config } from './config';
1
+ import { Config } from './config';
2
2
  import { DatabaseService } from './services/DatabaseService';
3
3
  import { IndexerService } from './services/IndexerService';
4
4
  import { SearcherService } from './services/SearcherService';
@@ -10,12 +10,13 @@ const SearcherService_1 = require("./services/SearcherService");
10
10
  const McpServer_1 = require("./services/McpServer");
11
11
  const LoggerService_1 = require("./services/LoggerService");
12
12
  function createContainer(loggerName) {
13
- const logger = LoggerService_1.LoggerService.fromEnv(loggerName);
14
- const db = new DatabaseService_1.DatabaseService(config_1.config);
15
- const embedder = new OllamaEmbedder_1.OllamaEmbedder(config_1.config);
13
+ const config = new config_1.Config();
14
+ const logger = LoggerService_1.LoggerService.fromConfig(config.logging, loggerName);
15
+ const db = new DatabaseService_1.DatabaseService(config);
16
+ const embedder = new OllamaEmbedder_1.OllamaEmbedder(config);
16
17
  const ast = new AstParserService_1.AstParserService(logger);
17
- const indexer = new IndexerService_1.IndexerService(db, embedder, ast, config_1.config, logger);
18
- const searcher = new SearcherService_1.SearcherService(db, embedder, config_1.config, logger);
19
- const mcp = new McpServer_1.McpServer(searcher, config_1.config, logger);
20
- return { config: config_1.config, db, indexer, searcher, mcp, logger };
18
+ const indexer = new IndexerService_1.IndexerService(db, embedder, ast, config, logger);
19
+ const searcher = new SearcherService_1.SearcherService(db, embedder, config, logger);
20
+ const mcp = new McpServer_1.McpServer(searcher, config, logger);
21
+ return { config, db, indexer, searcher, mcp, logger };
21
22
  }
@@ -1,3 +1,2 @@
1
- export { CodeChunk } from './entities/code-chunk.entity';
2
- export { CodeDependency } from './entities/code-dependency.entity';
3
- export { CodeSymbol } from './entities/code-symbol.entity';
1
+ export { codeChunk, codeDependency, codeSymbol, codeCall } from './schema';
2
+ export type { CodeChunkInsert } from './schema';
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CodeSymbol = exports.CodeDependency = exports.CodeChunk = void 0;
4
- var code_chunk_entity_1 = require("./entities/code-chunk.entity");
5
- Object.defineProperty(exports, "CodeChunk", { enumerable: true, get: function () { return code_chunk_entity_1.CodeChunk; } });
6
- var code_dependency_entity_1 = require("./entities/code-dependency.entity");
7
- Object.defineProperty(exports, "CodeDependency", { enumerable: true, get: function () { return code_dependency_entity_1.CodeDependency; } });
8
- var code_symbol_entity_1 = require("./entities/code-symbol.entity");
9
- Object.defineProperty(exports, "CodeSymbol", { enumerable: true, get: function () { return code_symbol_entity_1.CodeSymbol; } });
3
+ exports.codeCall = exports.codeSymbol = exports.codeDependency = exports.codeChunk = void 0;
4
+ var schema_1 = require("./schema");
5
+ Object.defineProperty(exports, "codeChunk", { enumerable: true, get: function () { return schema_1.codeChunk; } });
6
+ Object.defineProperty(exports, "codeDependency", { enumerable: true, get: function () { return schema_1.codeDependency; } });
7
+ Object.defineProperty(exports, "codeSymbol", { enumerable: true, get: function () { return schema_1.codeSymbol; } });
8
+ Object.defineProperty(exports, "codeCall", { enumerable: true, get: function () { return schema_1.codeCall; } });