claude-ex 1.2.0 → 1.4.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.
@@ -32,175 +32,190 @@ async function runMcpServer() {
32
32
  catch (err) {
33
33
  process.stderr.write(`[codex-mcp] Watcher failed to start: ${err}\n`);
34
34
  }
35
+ // Pre-warm statement cache + SQLite page cache
36
+ try {
37
+ (0, engine_1.getStats)(db);
38
+ (0, engine_1.search)(db, 'a', 1);
39
+ }
40
+ catch { /* warm-up, ignore errors */ }
35
41
  const server = new index_js_1.Server({ name: 'claude-ex', version: '1.0.0' }, { capabilities: { tools: {} } });
36
- // Register tools
37
- server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
38
- tools: [
39
- {
40
- name: 'search_code',
41
- description: 'Search codebase for symbols by name, description, or content. Results ranked by structural importance (PageRank). Faster and more precise than grep for finding the right code.',
42
- inputSchema: {
43
- type: 'object',
44
- properties: {
45
- query: { type: 'string', description: 'Search query (natural language or symbol name)' },
46
- limit: { type: 'number', description: 'Max results (default 15)' },
47
- },
48
- required: ['query'],
42
+ // Memoized tool list (allocated once, not per request)
43
+ const TOOL_LIST = [
44
+ {
45
+ name: 'search_code',
46
+ description: 'Search codebase for symbols by name, description, or content. Results ranked by structural importance (PageRank). Faster and more precise than grep for finding the right code.',
47
+ inputSchema: {
48
+ type: 'object',
49
+ properties: {
50
+ query: { type: 'string', description: 'Search query (natural language or symbol name)' },
51
+ limit: { type: 'number', description: 'Max results (default 15)' },
49
52
  },
53
+ required: ['query'],
50
54
  },
51
- {
52
- name: 'get_symbol',
53
- description: 'Get complete context for a symbol: its code, what it depends on, what depends on it, co-located symbols. Use before modifying any symbol.',
54
- inputSchema: {
55
- type: 'object',
56
- properties: {
57
- name: { type: 'string', description: 'Symbol name or qualified name (e.g., processPayment or PaymentService.processPayment)' },
58
- },
59
- required: ['name'],
55
+ },
56
+ {
57
+ name: 'get_symbol',
58
+ description: 'Get complete context for a symbol: its code, what it depends on, what depends on it, co-located symbols. Use before modifying any symbol.',
59
+ inputSchema: {
60
+ type: 'object',
61
+ properties: {
62
+ name: { type: 'string', description: 'Symbol name or qualified name (e.g., processPayment or PaymentService.processPayment)' },
60
63
  },
64
+ required: ['name'],
61
65
  },
62
- {
63
- name: 'get_callers',
64
- description: 'Find all callers of a function or method. Use before renaming, changing signatures, or removing functions.',
65
- inputSchema: {
66
- type: 'object',
67
- properties: {
68
- name: { type: 'string', description: 'Function or method name' },
69
- },
70
- required: ['name'],
66
+ },
67
+ {
68
+ name: 'get_callers',
69
+ description: 'Find all callers of a function or method. Use before renaming, changing signatures, or removing functions.',
70
+ inputSchema: {
71
+ type: 'object',
72
+ properties: {
73
+ name: { type: 'string', description: 'Function or method name' },
71
74
  },
75
+ required: ['name'],
72
76
  },
73
- {
74
- name: 'get_dependents',
75
- description: 'Find all files transitively affected if a file changes. Use before refactors that change exports or file structure.',
76
- inputSchema: {
77
- type: 'object',
78
- properties: {
79
- file: { type: 'string', description: 'File path relative to project root' },
80
- maxDepth: { type: 'number', description: 'Max traversal depth (default 10)' },
81
- },
82
- required: ['file'],
77
+ },
78
+ {
79
+ name: 'get_dependents',
80
+ description: 'Find all files transitively affected if a file changes. Use before refactors that change exports or file structure.',
81
+ inputSchema: {
82
+ type: 'object',
83
+ properties: {
84
+ file: { type: 'string', description: 'File path relative to project root' },
85
+ maxDepth: { type: 'number', description: 'Max traversal depth (default 10)' },
83
86
  },
87
+ required: ['file'],
84
88
  },
85
- {
86
- name: 'get_dependencies',
87
- description: 'Find what a symbol depends on (imports, inherited classes, referenced types).',
88
- inputSchema: {
89
- type: 'object',
90
- properties: {
91
- name: { type: 'string', description: 'Symbol name' },
92
- },
93
- required: ['name'],
89
+ },
90
+ {
91
+ name: 'get_dependencies',
92
+ description: 'Find what a symbol depends on (imports, inherited classes, referenced types).',
93
+ inputSchema: {
94
+ type: 'object',
95
+ properties: {
96
+ name: { type: 'string', description: 'Symbol name' },
94
97
  },
98
+ required: ['name'],
95
99
  },
96
- {
97
- name: 'get_architecture',
98
- description: 'Get project architecture overview: top symbols by importance, module dependency map, language breakdown.',
99
- inputSchema: {
100
- type: 'object',
101
- properties: {
102
- top: { type: 'number', description: 'Number of top symbols to include (default 20)' },
103
- },
100
+ },
101
+ {
102
+ name: 'get_architecture',
103
+ description: 'Get project architecture overview: top symbols by importance, module dependency map, language breakdown.',
104
+ inputSchema: {
105
+ type: 'object',
106
+ properties: {
107
+ top: { type: 'number', description: 'Number of top symbols to include (default 20)' },
104
108
  },
105
109
  },
106
- {
107
- name: 'get_file_map',
108
- description: 'Get a map of every file in the project with its exported symbols. Use to understand where things live without searching. Returns file paths with their key exports.',
109
- inputSchema: {
110
- type: 'object',
111
- properties: {},
110
+ },
111
+ {
112
+ name: 'get_file_map',
113
+ description: 'Get a map of every file in the project with its exported symbols. Use to understand where things live without searching. Returns file paths with their key exports.',
114
+ inputSchema: {
115
+ type: 'object',
116
+ properties: {},
117
+ },
118
+ },
119
+ {
120
+ name: 'find_files',
121
+ description: 'Find files by path pattern using glob syntax (e.g. "**/*.test.ts", "src/components/*", "*.json"). Faster than shell find/ls commands. Searches indexed files only.',
122
+ inputSchema: {
123
+ type: 'object',
124
+ properties: {
125
+ pattern: { type: 'string', description: 'Glob pattern to match file paths (e.g. "**/*.ts", "src/**/*.test.*", "*.json")' },
126
+ limit: { type: 'number', description: 'Max results (default 50)' },
112
127
  },
128
+ required: ['pattern'],
113
129
  },
114
- {
115
- name: 'find_files',
116
- description: 'Find files by path pattern using glob syntax (e.g. "**/*.test.ts", "src/components/*", "*.json"). Faster than shell find/ls commands. Searches indexed files only.',
117
- inputSchema: {
118
- type: 'object',
119
- properties: {
120
- pattern: { type: 'string', description: 'Glob pattern to match file paths (e.g. "**/*.ts", "src/**/*.test.*", "*.json")' },
121
- limit: { type: 'number', description: 'Max results (default 50)' },
122
- },
123
- required: ['pattern'],
130
+ },
131
+ {
132
+ name: 'get_file_symbols',
133
+ description: 'Get all symbols (functions, classes, variables, etc.) in a specific file. Shows every definition with its kind, line range, signature, and parameters.',
134
+ inputSchema: {
135
+ type: 'object',
136
+ properties: {
137
+ file: { type: 'string', description: 'File path relative to project root' },
124
138
  },
139
+ required: ['file'],
125
140
  },
126
- {
127
- name: 'get_file_symbols',
128
- description: 'Get all symbols (functions, classes, variables, etc.) in a specific file. Shows every definition with its kind, line range, signature, and parameters.',
129
- inputSchema: {
130
- type: 'object',
131
- properties: {
132
- file: { type: 'string', description: 'File path relative to project root' },
133
- },
134
- required: ['file'],
141
+ },
142
+ {
143
+ name: 'find_by_kind',
144
+ description: 'Find all symbols of a specific kind (class, function, interface, type, enum, method, variable). Ranked by structural importance.',
145
+ inputSchema: {
146
+ type: 'object',
147
+ properties: {
148
+ kind: { type: 'string', description: 'Symbol kind: class, function, interface, type, enum, method, variable, reexport' },
149
+ limit: { type: 'number', description: 'Max results (default 50)' },
135
150
  },
151
+ required: ['kind'],
136
152
  },
137
- {
138
- name: 'find_by_kind',
139
- description: 'Find all symbols of a specific kind (class, function, interface, type, enum, method, variable). Ranked by structural importance.',
140
- inputSchema: {
141
- type: 'object',
142
- properties: {
143
- kind: { type: 'string', description: 'Symbol kind: class, function, interface, type, enum, method, variable, reexport' },
144
- limit: { type: 'number', description: 'Max results (default 50)' },
145
- },
146
- required: ['kind'],
153
+ },
154
+ {
155
+ name: 'get_type_hierarchy',
156
+ description: 'Find all classes that extend or implement a given class/interface. Use before changing a base class or interface to find all affected subclasses/implementors.',
157
+ inputSchema: {
158
+ type: 'object',
159
+ properties: {
160
+ name: { type: 'string', description: 'Class or interface name to find subclasses/implementors of' },
147
161
  },
162
+ required: ['name'],
148
163
  },
149
- {
150
- name: 'get_type_hierarchy',
151
- description: 'Find all classes that extend or implement a given class/interface. Use before changing a base class or interface to find all affected subclasses/implementors.',
152
- inputSchema: {
153
- type: 'object',
154
- properties: {
155
- name: { type: 'string', description: 'Class or interface name to find subclasses/implementors of' },
156
- },
157
- required: ['name'],
164
+ },
165
+ {
166
+ name: 'find_dead_exports',
167
+ description: 'Find exported symbols that nothing imports or references. Useful for dead code detection and cleanup.',
168
+ inputSchema: {
169
+ type: 'object',
170
+ properties: {
171
+ limit: { type: 'number', description: 'Max results (default 50)' },
158
172
  },
159
173
  },
160
- {
161
- name: 'find_dead_exports',
162
- description: 'Find exported symbols that nothing imports or references. Useful for dead code detection and cleanup.',
163
- inputSchema: {
164
- type: 'object',
165
- properties: {
166
- limit: { type: 'number', description: 'Max results (default 50)' },
167
- },
174
+ },
175
+ {
176
+ name: 'get_pkg_usages',
177
+ description: 'Find all files that import from a given npm/pip/cargo package. Use before swapping a library to find every usage point. Example: "react", "lodash", "express".',
178
+ inputSchema: {
179
+ type: 'object',
180
+ properties: {
181
+ package: { type: 'string', description: 'Package name (e.g., "react", "lodash", "express")' },
168
182
  },
183
+ required: ['package'],
169
184
  },
170
- {
171
- name: 'get_pkg_usages',
172
- description: 'Find all files that import from a given npm/pip/cargo package. Use before swapping a library to find every usage point. Example: "react", "lodash", "express".',
173
- inputSchema: {
174
- type: 'object',
175
- properties: {
176
- package: { type: 'string', description: 'Package name (e.g., "react", "lodash", "express")' },
177
- },
178
- required: ['package'],
185
+ },
186
+ {
187
+ name: 'reindex_file',
188
+ description: 'Re-index a single file immediately.',
189
+ inputSchema: {
190
+ type: 'object',
191
+ properties: {
192
+ file: { type: 'string', description: 'File path relative to project root' },
179
193
  },
194
+ required: ['file'],
180
195
  },
181
- {
182
- name: 'reindex_file',
183
- description: 'Re-index a single file immediately.',
184
- inputSchema: {
185
- type: 'object',
186
- properties: {
187
- file: { type: 'string', description: 'File path relative to project root' },
188
- },
189
- required: ['file'],
196
+ },
197
+ {
198
+ name: 'review_diff',
199
+ description: 'Gather graph-aware review context for a git diff. Parses the diff, maps changed lines to symbols, finds callers/dependents of changed code, computes cross-file impact, and flags risks. Returns structured context for writing a codebase-aware code review.',
200
+ inputSchema: {
201
+ type: 'object',
202
+ properties: {
203
+ target: { type: 'string', description: 'What to review: "last_commit" (default), "staged", "branch" (diff vs main/master), or a commit SHA' },
190
204
  },
191
205
  },
192
- {
193
- name: 'review_diff',
194
- description: 'Gather graph-aware review context for a git diff. Parses the diff, maps changed lines to symbols, finds callers/dependents of changed code, computes cross-file impact, and flags risks. Returns structured context for writing a codebase-aware code review.',
195
- inputSchema: {
196
- type: 'object',
197
- properties: {
198
- target: { type: 'string', description: 'What to review: "last_commit" (default), "staged", "branch" (diff vs main/master), or a commit SHA' },
199
- },
206
+ },
207
+ {
208
+ name: 'transparent_review',
209
+ description: 'Zero-black-box code review. Shows EXACT before/after code for every changed symbol, plain-English explanation of what each change does (parameter changes, new branches, error handling, async changes), who calls the changed code and how they are affected, full blast radius grouped by depth, and risk assessment. Returns a readable narrative — not raw JSON. Use this when you want to truly understand a diff, not just see metadata about it.',
210
+ inputSchema: {
211
+ type: 'object',
212
+ properties: {
213
+ target: { type: 'string', description: 'What to review: "last_commit" (default), "staged", "branch" (diff vs main/master), or a commit SHA' },
200
214
  },
201
215
  },
202
- ],
203
- }));
216
+ },
217
+ ];
218
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({ tools: TOOL_LIST }));
204
219
  // Handle tool calls
205
220
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
206
221
  const { name, arguments: args } = request.params;
@@ -263,6 +278,14 @@ async function runMcpServer() {
263
278
  case 'review_diff':
264
279
  result = (0, engine_1.reviewDiff)(db, rootDir, args?.target || 'last_commit');
265
280
  break;
281
+ case 'transparent_review': {
282
+ const narrative = (0, engine_1.transparentReview)(db, rootDir, args?.target || 'last_commit');
283
+ const elapsed2 = (performance.now() - callStart).toFixed(1);
284
+ process.stderr.write(`[codex-mcp] transparent_review completed in ${elapsed2}ms\n`);
285
+ return {
286
+ content: [{ type: 'text', text: narrative }],
287
+ };
288
+ }
266
289
  default:
267
290
  return {
268
291
  content: [{ type: 'text', text: `Unknown tool: ${name}` }],
@@ -274,7 +297,7 @@ async function runMcpServer() {
274
297
  return {
275
298
  content: [{
276
299
  type: 'text',
277
- text: JSON.stringify(result, null, 2),
300
+ text: JSON.stringify(result),
278
301
  }],
279
302
  };
280
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/claude/mcp.ts"],"names":[],"mappings":";;AAiBA,oCAgTC;AAjUD,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,yCAA4C;AAC5C,oCAA2C;AAC3C,8CAAiD;AACjD,4CAKyB;AACzB,wCAAyC;AAElC,KAAK,UAAU,YAAY;IAC9B,MAAM,OAAO,GAAG,IAAA,uBAAe,GAAE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE7E,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,0CAA0C;IAC1C,IAAI,EAAmC,CAAC;IACxC,IAAI,CAAC;QACD,EAAE,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAY,CAAC;IACjB,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,iBAAM,CACrB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EACvC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAClC,CAAC;IAEF,iBAAiB;IACjB,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1D,KAAK,EAAE;YACH;gBACI,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,iLAAiL;gBAC9L,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;wBACxF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;qBACrE;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACtB;aACJ;YACD;gBACI,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,2IAA2I;gBACxJ,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uFAAuF,EAAE;qBACjI;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,4GAA4G;gBACzH,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;qBACnE;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,qHAAqH;gBAClI,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;wBAC3E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;qBAChF;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,+EAA+E;gBAC5F,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;qBACvD;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,0GAA0G;gBACvH,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;qBACxF;iBACJ;aACJ;YACD;gBACI,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,qKAAqK;gBAClL,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE,EAAE;iBACjB;aACJ;YACD;gBACI,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,oKAAoK;gBACjL,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gFAAgF,EAAE;wBAC1H,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;qBACrE;oBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;iBACxB;aACJ;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,wJAAwJ;gBACrK,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;qBAC9E;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,kIAAkI;gBAC/I,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iFAAiF,EAAE;wBACxH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;qBACrE;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,gKAAgK;gBAC7K,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;qBACtG;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,uGAAuG;gBACpH,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;qBACrE;iBACJ;aACJ;YACD;gBACI,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,gKAAgK;gBAC7K,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;qBAChG;oBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;iBACxB;aACJ;YACD;gBACI,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,qCAAqC;gBAClD,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;qBAC9E;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACrB;aACJ;YACD;gBACI,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,+PAA+P;gBAC5Q,WAAW,EAAE;oBACT,IAAI,EAAE,QAAiB;oBACvB,UAAU,EAAE;wBACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oGAAoG,EAAE;qBAChJ;iBACJ;aACJ;SACJ;KACJ,CAAC,CAAC,CAAC;IAEJ,oBAAoB;IACpB,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACD,IAAI,MAAW,CAAC;YAEhB,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,aAAa;oBACd,MAAM,GAAG,IAAA,eAAM,EAAC,EAAE,EAAG,IAAY,CAAC,KAAK,EAAG,IAAY,CAAC,KAAK,CAAC,CAAC;oBAC9D,MAAM;gBACV,KAAK,YAAY;oBACb,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,EAAG,IAAY,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAY,IAAY,CAAC,IAAI,uBAAuB,EAAE,CAAC,EAAE,CAAC;oBAChH,CAAC;oBACD,MAAM;gBACV,KAAK,aAAa;oBACd,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,EAAG,IAAY,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM;gBACV,KAAK,gBAAgB;oBACjB,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,EAAG,IAAY,CAAC,IAAI,EAAG,IAAY,CAAC,QAAQ,CAAC,CAAC;oBACnE,MAAM;gBACV,KAAK,kBAAkB;oBACnB,MAAM,GAAG,IAAA,gBAAO,EAAC,EAAE,EAAG,IAAY,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM;gBACV,KAAK,kBAAkB;oBACnB,MAAM,GAAG;wBACL,KAAK,EAAE,IAAA,iBAAQ,EAAC,EAAE,CAAC;wBACnB,UAAU,EAAE,IAAA,gBAAO,EAAC,EAAE,EAAG,IAAY,EAAE,GAAG,IAAI,EAAE,CAAC;wBACjD,OAAO,EAAE,IAAA,mBAAU,EAAC,EAAE,CAAC;qBAC1B,CAAC;oBACF,MAAM;gBACV,KAAK,cAAc;oBACf,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,CAAC,CAAC;oBACxB,MAAM;gBACV,KAAK,YAAY;oBACb,MAAM,GAAG,IAAA,kBAAS,EAAC,EAAE,EAAG,IAAY,CAAC,OAAO,EAAG,IAAY,CAAC,KAAK,CAAC,CAAC;oBACnE,MAAM;gBACV,KAAK,kBAAkB;oBACnB,MAAM,GAAG,IAAA,uBAAc,EAAC,EAAE,EAAG,IAAY,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM;gBACV,KAAK,cAAc;oBACf,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,EAAG,IAAY,CAAC,IAAI,EAAG,IAAY,CAAC,KAAK,CAAC,CAAC;oBACjE,MAAM;gBACV,KAAK,oBAAoB;oBACrB,MAAM,GAAG,IAAA,yBAAgB,EAAC,EAAE,EAAG,IAAY,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM;gBACV,KAAK,mBAAmB;oBACpB,MAAM,GAAG,IAAA,wBAAe,EAAC,EAAE,EAAG,IAAY,EAAE,KAAK,CAAC,CAAC;oBACnD,MAAM;gBACV,KAAK,gBAAgB;oBACjB,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,EAAG,IAAY,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM;gBACV,KAAK,cAAc,CAAC,CAAC,CAAC;oBAClB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBACpC,IAAA,qBAAW,EAAC,OAAO,EAAG,IAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC7C,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,MAAM;gBACV,CAAC;gBACD,KAAK,aAAa;oBACd,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,EAAE,OAAO,EAAG,IAAY,EAAE,MAAM,IAAI,aAAa,CAAC,CAAC;oBACzE,MAAM;gBACV;oBACI,OAAO;wBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;wBACnE,OAAO,EAAE,IAAI;qBAChB,CAAC;YACV,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,iBAAiB,OAAO,MAAM,CAAC,CAAC;YAExE,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACxC,CAAC;aACL,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,aAAa,OAAO,KAAK,CAAC,CAAC;IAExF,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,oBAAoB;IACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACvD,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/claude/mcp.ts"],"names":[],"mappings":"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"}
package/dist/db/schema.js CHANGED
@@ -48,6 +48,7 @@ exports.removeStaleFiles = removeStaleFiles;
48
48
  exports.removeFile = removeFile;
49
49
  const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
50
50
  const path = __importStar(require("path"));
51
+ const fs = __importStar(require("fs"));
51
52
  const utils_1 = require("../utils");
52
53
  const SCHEMA_SQL = `
53
54
  CREATE TABLE IF NOT EXISTS files (
@@ -116,18 +117,31 @@ const FTS_SQL = `
116
117
  CREATE VIRTUAL TABLE IF NOT EXISTS symbols_fts USING fts5(
117
118
  name, qualified_name, signature, docstring, content,
118
119
  content='symbols', content_rowid='id',
119
- tokenize='porter unicode61'
120
+ tokenize='porter unicode61',
121
+ prefix='2 4'
122
+ );
123
+ `;
124
+ const TRIGRAM_SQL = `
125
+ CREATE VIRTUAL TABLE IF NOT EXISTS symbols_trigram USING fts5(
126
+ name, qualified_name, signature,
127
+ content='symbols', content_rowid='id',
128
+ tokenize='trigram',
129
+ detail='none'
120
130
  );
121
131
  `;
122
132
  const TRIGGERS_SQL = `
123
133
  CREATE TRIGGER IF NOT EXISTS symbols_ai AFTER INSERT ON symbols BEGIN
124
134
  INSERT INTO symbols_fts(rowid, name, qualified_name, signature, docstring, content)
125
135
  VALUES (new.id, new.name, new.qualified_name, new.signature, new.docstring, new.content);
136
+ INSERT INTO symbols_trigram(rowid, name, qualified_name, signature)
137
+ VALUES (new.id, new.name, new.qualified_name, new.signature);
126
138
  END;
127
139
 
128
140
  CREATE TRIGGER IF NOT EXISTS symbols_ad AFTER DELETE ON symbols BEGIN
129
141
  INSERT INTO symbols_fts(symbols_fts, rowid, name, qualified_name, signature, docstring, content)
130
142
  VALUES('delete', old.id, old.name, old.qualified_name, old.signature, old.docstring, old.content);
143
+ INSERT INTO symbols_trigram(symbols_trigram, rowid, name, qualified_name, signature)
144
+ VALUES('delete', old.id, old.name, old.qualified_name, old.signature);
131
145
  END;
132
146
 
133
147
  CREATE TRIGGER IF NOT EXISTS symbols_au AFTER UPDATE ON symbols BEGIN
@@ -135,6 +149,10 @@ CREATE TRIGGER IF NOT EXISTS symbols_au AFTER UPDATE ON symbols BEGIN
135
149
  VALUES('delete', old.id, old.name, old.qualified_name, old.signature, old.docstring, old.content);
136
150
  INSERT INTO symbols_fts(rowid, name, qualified_name, signature, docstring, content)
137
151
  VALUES (new.id, new.name, new.qualified_name, new.signature, new.docstring, new.content);
152
+ INSERT INTO symbols_trigram(symbols_trigram, rowid, name, qualified_name, signature)
153
+ VALUES('delete', old.id, old.name, old.qualified_name, old.signature);
154
+ INSERT INTO symbols_trigram(rowid, name, qualified_name, signature)
155
+ VALUES (new.id, new.name, new.qualified_name, new.signature);
138
156
  END;
139
157
  `;
140
158
  const INDEXES_SQL = `
@@ -152,6 +170,11 @@ CREATE INDEX IF NOT EXISTS idx_pkg_deps_package ON pkg_deps(package);
152
170
  CREATE INDEX IF NOT EXISTS idx_pkg_deps_file ON pkg_deps(file_id);
153
171
  CREATE INDEX IF NOT EXISTS idx_type_relations_parent ON type_relations(parent_name);
154
172
  CREATE INDEX IF NOT EXISTS idx_type_relations_child ON type_relations(child_id);
173
+ CREATE INDEX IF NOT EXISTS idx_files_path ON files(path);
174
+ CREATE INDEX IF NOT EXISTS idx_symbols_file_line ON symbols(file_id, line_start);
175
+ CREATE INDEX IF NOT EXISTS idx_file_deps_to_from ON file_deps(to_file, from_file);
176
+ CREATE INDEX IF NOT EXISTS idx_symbols_exported_kind ON symbols(exported, kind);
177
+ CREATE INDEX IF NOT EXISTS idx_rankings_pagerank ON rankings(pagerank DESC);
155
178
  `;
156
179
  const PRAGMAS = [
157
180
  'PRAGMA journal_mode = WAL',
@@ -164,17 +187,55 @@ const PRAGMAS = [
164
187
  function openDatabase(projectRoot, work) {
165
188
  const codexDir = work !== undefined ? (0, utils_1.ensureCodexDir)(projectRoot, work) : (0, utils_1.ensureCodexDir)(projectRoot);
166
189
  const dbPath = path.join(codexDir, 'index.db');
167
- const db = new better_sqlite3_1.default(dbPath);
168
- for (const pragma of PRAGMAS) {
169
- db.pragma(pragma.replace('PRAGMA ', ''));
190
+ function initDb() {
191
+ const db = new better_sqlite3_1.default(dbPath);
192
+ for (const pragma of PRAGMAS) {
193
+ db.pragma(pragma.replace('PRAGMA ', ''));
194
+ }
195
+ db.exec(SCHEMA_SQL);
196
+ db.exec(FTS_SQL);
197
+ db.exec(INDEXES_SQL);
198
+ // Trigram table — may fail on older SQLite without trigram tokenizer
199
+ try {
200
+ db.exec(TRIGRAM_SQL);
201
+ }
202
+ catch { /* trigram tokenizer not available */ }
203
+ // Recreate triggers to include trigram sync (DROP + CREATE is safe)
204
+ db.exec(`
205
+ DROP TRIGGER IF EXISTS symbols_ai;
206
+ DROP TRIGGER IF EXISTS symbols_ad;
207
+ DROP TRIGGER IF EXISTS symbols_au;
208
+ `);
209
+ db.exec(TRIGGERS_SQL);
210
+ // Migrations for existing databases
211
+ migrateSchema(db);
212
+ return db;
213
+ }
214
+ try {
215
+ return initDb();
216
+ }
217
+ catch (err) {
218
+ const code = err.code ?? '';
219
+ if (code.startsWith('SQLITE_CORRUPT')) {
220
+ // Database is corrupted — delete and recreate from scratch
221
+ try {
222
+ fs.unlinkSync(dbPath);
223
+ }
224
+ catch { /* already gone */ }
225
+ // Also remove WAL/SHM sidecar files
226
+ try {
227
+ fs.unlinkSync(dbPath + '-wal');
228
+ }
229
+ catch { /* ok */ }
230
+ try {
231
+ fs.unlinkSync(dbPath + '-shm');
232
+ }
233
+ catch { /* ok */ }
234
+ process.stderr.write(`Warning: corrupted index database deleted, rebuilding...\n`);
235
+ return initDb();
236
+ }
237
+ throw err;
170
238
  }
171
- db.exec(SCHEMA_SQL);
172
- db.exec(FTS_SQL);
173
- db.exec(TRIGGERS_SQL);
174
- db.exec(INDEXES_SQL);
175
- // Migrations for existing databases
176
- migrateSchema(db);
177
- return db;
178
239
  }
179
240
  function migrateSchema(db) {
180
241
  // Add columns that may not exist in older databases
@@ -215,31 +276,49 @@ function getOrCreateFile(db, filePath, hash, language, lineCount, lastModified)
215
276
  const result = insert.run(filePath, hash, language, lineCount, lastModified || Date.now(), Date.now());
216
277
  return { id: Number(result.lastInsertRowid), changed: true };
217
278
  }
279
+ const clearStmts = new WeakMap();
218
280
  function clearFileData(db, fileId) {
219
- db.prepare('DELETE FROM rankings WHERE symbol_id IN (SELECT id FROM symbols WHERE file_id = ?)').run(fileId);
220
- db.prepare('DELETE FROM type_relations WHERE child_id IN (SELECT id FROM symbols WHERE file_id = ?)').run(fileId);
221
- db.prepare('DELETE FROM edges WHERE from_id IN (SELECT id FROM symbols WHERE file_id = ?) OR to_id IN (SELECT id FROM symbols WHERE file_id = ?)').run(fileId, fileId);
222
- db.prepare('DELETE FROM symbols WHERE file_id = ?').run(fileId);
223
- db.prepare('DELETE FROM file_deps WHERE from_file = ?').run(fileId);
224
- db.prepare('DELETE FROM pkg_deps WHERE file_id = ?').run(fileId);
281
+ let stmts = clearStmts.get(db);
282
+ if (!stmts) {
283
+ stmts = [
284
+ db.prepare('DELETE FROM rankings WHERE symbol_id IN (SELECT id FROM symbols WHERE file_id = ?)'),
285
+ db.prepare('DELETE FROM type_relations WHERE child_id IN (SELECT id FROM symbols WHERE file_id = ?)'),
286
+ db.prepare('DELETE FROM edges WHERE from_id IN (SELECT id FROM symbols WHERE file_id = ?) OR to_id IN (SELECT id FROM symbols WHERE file_id = ?)'),
287
+ db.prepare('DELETE FROM symbols WHERE file_id = ?'),
288
+ db.prepare('DELETE FROM file_deps WHERE from_file = ?'),
289
+ db.prepare('DELETE FROM pkg_deps WHERE file_id = ?'),
290
+ ];
291
+ clearStmts.set(db, stmts);
292
+ }
293
+ stmts[0].run(fileId);
294
+ stmts[1].run(fileId);
295
+ stmts[2].run(fileId, fileId);
296
+ stmts[3].run(fileId);
297
+ stmts[4].run(fileId);
298
+ stmts[5].run(fileId);
225
299
  }
300
+ const insertSymbolStmt = new WeakMap();
226
301
  function insertSymbol(db, fileId, sym) {
227
- const stmt = db.prepare(`INSERT INTO symbols (name, qualified_name, kind, file_id, line_start, line_end, signature, docstring, content, content_hash, exported, parameters)
302
+ const stmt = getOrPrepare(insertSymbolStmt, db, `INSERT INTO symbols (name, qualified_name, kind, file_id, line_start, line_end, signature, docstring, content, content_hash, exported, parameters)
228
303
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
229
304
  const result = stmt.run(sym.name, sym.qualifiedName || null, sym.kind, fileId, sym.lineStart, sym.lineEnd, sym.signature || null, sym.docstring || null, sym.content || null, sym.contentHash || null, sym.exported ? 1 : 0, sym.parameters || null);
230
305
  return Number(result.lastInsertRowid);
231
306
  }
307
+ const insertEdgeStmt = new WeakMap();
232
308
  function insertEdge(db, fromId, toId, kind, line) {
233
- db.prepare('INSERT OR IGNORE INTO edges (from_id, to_id, kind, line) VALUES (?, ?, ?, ?)').run(fromId, toId, kind, line || null);
309
+ getOrPrepare(insertEdgeStmt, db, 'INSERT OR IGNORE INTO edges (from_id, to_id, kind, line) VALUES (?, ?, ?, ?)').run(fromId, toId, kind, line || null);
234
310
  }
311
+ const insertPkgDepStmt = new WeakMap();
235
312
  function insertPkgDep(db, fileId, packageName, importedNames) {
236
- db.prepare('INSERT OR IGNORE INTO pkg_deps (file_id, package, imported_names) VALUES (?, ?, ?)').run(fileId, packageName, importedNames);
313
+ getOrPrepare(insertPkgDepStmt, db, 'INSERT OR IGNORE INTO pkg_deps (file_id, package, imported_names) VALUES (?, ?, ?)').run(fileId, packageName, importedNames);
237
314
  }
315
+ const insertTypeRelationStmt = new WeakMap();
238
316
  function insertTypeRelation(db, childId, parentName, kind) {
239
- db.prepare('INSERT OR IGNORE INTO type_relations (child_id, parent_name, kind) VALUES (?, ?, ?)').run(childId, parentName, kind);
317
+ getOrPrepare(insertTypeRelationStmt, db, 'INSERT OR IGNORE INTO type_relations (child_id, parent_name, kind) VALUES (?, ?, ?)').run(childId, parentName, kind);
240
318
  }
319
+ const insertFileDepStmt = new WeakMap();
241
320
  function insertFileDep(db, fromFile, toFile, kind, importName) {
242
- db.prepare('INSERT OR IGNORE INTO file_deps (from_file, to_file, kind, import_name) VALUES (?, ?, ?, ?)').run(fromFile, toFile, kind, importName);
321
+ getOrPrepare(insertFileDepStmt, db, 'INSERT OR IGNORE INTO file_deps (from_file, to_file, kind, import_name) VALUES (?, ?, ?, ?)').run(fromFile, toFile, kind, importName);
243
322
  }
244
323
  function removeStaleFiles(db, validPaths) {
245
324
  const allFiles = db.prepare('SELECT id, path FROM files').all();
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiJA,oCA+CC;AAmCD,0CAgCC;AAID,sCAmBC;AAkBD,oCAoBC;AAID,gCAEC;AAID,oCAEC;AAID,gDAEC;AAID,sCAQC;AAED,4CAWC;AAED,gCAMC;AAnXD,oEAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AACzB,oCAAuD;AAEvD,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DlB,CAAC;AAEF,MAAM,OAAO,GAAG;;;;;;;CAOf,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;CAOnB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBpB,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;CAoBnB,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,2BAA2B;IAC3B,6BAA6B;IAC7B,4BAA4B;IAC5B,0BAA0B;IAC1B,4BAA4B;IAC5B,8BAA8B;CACjC,CAAC;AAEF,SAAgB,YAAY,CAAC,WAAmB,EAAE,IAAc;IAC5D,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE/C,SAAS,MAAM;QACX,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,MAAM,CAAC,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAErB,qEAAqE;QACrE,IAAI,CAAC;YAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;QAE7E,oEAAoE;QACpE,EAAE,CAAC,IAAI,CAAC;;;;SAIP,CAAC,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtB,oCAAoC;QACpC,aAAa,CAAC,EAAE,CAAC,CAAC;QAElB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACD,OAAO,MAAM,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpB,MAAM,IAAI,GAAI,GAAyB,CAAC,IAAI,IAAI,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,2DAA2D;YAC3D,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC3D,oCAAoC;YACpC,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACnF,OAAO,MAAM,EAAE,CAAC;QACpB,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,EAAqB;IACxC,oDAAoD;IACpD,MAAM,UAAU,GAAG;QACf,gDAAgD;QAChD,2CAA2C;KAC9C,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC;AAOD,MAAM,WAAW,GAAG,IAAI,OAAO,EAAyC,CAAC;AACzE,MAAM,cAAc,GAAG,IAAI,OAAO,EAAyC,CAAC;AAC5E,MAAM,cAAc,GAAG,IAAI,OAAO,EAAyC,CAAC;AAE5E,SAAS,YAAY,CACjB,GAAkC,EAClC,EAAqB,EACrB,GAAW;IAEX,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAM,CAAC;QAC5B,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAC3B,EAAqB,EACrB,QAAgB,EAChB,IAAY,EACZ,QAAuB,EACvB,SAAiB,EACjB,YAAqB;IAErB,MAAM,GAAG,GAAG,YAAY,CACpB,WAAW,EAAE,EAAE,EACf,mDAAmD,CACtD,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAqD,CAAC;IAEvF,IAAI,QAAQ,EAAE,CAAC;QACX,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/C,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CACvB,cAAc,EAAE,EAAE,EAClB,mHAAmH,CACtH,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CACvB,cAAc,EAAE,EAAE,EAClB,qHAAqH,CACxH,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvG,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,OAAO,EAA2C,CAAC;AAE1E,SAAgB,aAAa,CAAC,EAAqB,EAAE,MAAc;IAC/D,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG;YACJ,EAAE,CAAC,OAAO,CAAC,oFAAoF,CAAC;YAChG,EAAE,CAAC,OAAO,CAAC,yFAAyF,CAAC;YACrG,EAAE,CAAC,OAAO,CAAC,sIAAsI,CAAC;YAClJ,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC;YACnD,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC;YACvD,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC;SACvD,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAgBD,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAyC,CAAC;AAE9E,SAAgB,YAAY,CAAC,EAAqB,EAAE,MAAc,EAAE,GAAe;IAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,EAAE,EAAE,EAC1C;qDAC6C,CAChD,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,aAAa,IAAI,IAAI,EACzB,GAAG,CAAC,IAAI,EACR,MAAM,EACN,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,SAAS,IAAI,IAAI,EACrB,GAAG,CAAC,SAAS,IAAI,IAAI,EACrB,GAAG,CAAC,OAAO,IAAI,IAAI,EACnB,GAAG,CAAC,WAAW,IAAI,IAAI,EACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpB,GAAG,CAAC,UAAU,IAAI,IAAI,CACzB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,OAAO,EAAyC,CAAC;AAE5E,SAAgB,UAAU,CAAC,EAAqB,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,IAAa;IACvG,YAAY,CAAC,cAAc,EAAE,EAAE,EAAE,8EAA8E,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;AAC3J,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAyC,CAAC;AAE9E,SAAgB,YAAY,CAAC,EAAqB,EAAE,MAAc,EAAE,WAAmB,EAAE,aAAqB;IAC1G,YAAY,CAAC,gBAAgB,EAAE,EAAE,EAAE,oFAAoF,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AACrK,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAyC,CAAC;AAEpF,SAAgB,kBAAkB,CAAC,EAAqB,EAAE,OAAe,EAAE,UAAkB,EAAE,IAAY;IACvG,YAAY,CAAC,sBAAsB,EAAE,EAAE,EAAE,qFAAqF,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACnK,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAyC,CAAC;AAE/E,SAAgB,aAAa,CACzB,EAAqB,EACrB,QAAgB,EAChB,MAAc,EACd,IAAY,EACZ,UAAkB;IAElB,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,6FAA6F,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC/K,CAAC;AAED,SAAgB,gBAAgB,CAAC,EAAqB,EAAE,UAAuB;IAC3E,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAAoC,CAAC;IAClG,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAgB,UAAU,CAAC,EAAqB,EAAE,QAAgB;IAC9D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAA+B,CAAC;IAC3G,IAAI,IAAI,EAAE,CAAC;QACP,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC"}