Add WASM fallbacks for tree-sitter and SQLite, fix installer
Replace native tree-sitter with web-tree-sitter + tree-sitter-wasms for universal cross-platform support. Add node-sqlite3-wasm as a fallback when better-sqlite3 native bindings aren't available. Move better-sqlite3 and sqlite-vss to optionalDependencies so installs never fail. Fix installer to use npx fallback when global npm install fails, so MCP config, hooks, and quick-start instructions all work without the bare codegraph command in PATH. Fix tests: update schema version expectation, fix db test paths and method names, extract MAX_OUTPUT_LENGTH as module constant, normalize Windows path separators in import resolver.
This commit is contained in:
+6
-8
@@ -12,6 +12,9 @@ import { clamp } from '../utils';
|
||||
import { tmpdir } from 'os';
|
||||
import { join } from 'path';
|
||||
|
||||
/** Maximum output length to prevent context bloat (characters) */
|
||||
const MAX_OUTPUT_LENGTH = 15000;
|
||||
|
||||
/**
|
||||
* Mark a Claude session as having consulted MCP tools.
|
||||
* This enables Grep/Glob/Bash commands that would otherwise be blocked.
|
||||
@@ -820,19 +823,14 @@ export class ToolHandler {
|
||||
return { node: results[0]!.node, note: '' };
|
||||
}
|
||||
|
||||
/**
|
||||
* Maximum output length to prevent context bloat (characters)
|
||||
*/
|
||||
private readonly MAX_OUTPUT_LENGTH = 15000;
|
||||
|
||||
/**
|
||||
* Truncate output if it exceeds the maximum length
|
||||
*/
|
||||
private truncateOutput(text: string): string {
|
||||
if (text.length <= this.MAX_OUTPUT_LENGTH) return text;
|
||||
const truncated = text.slice(0, this.MAX_OUTPUT_LENGTH);
|
||||
if (text.length <= MAX_OUTPUT_LENGTH) return text;
|
||||
const truncated = text.slice(0, MAX_OUTPUT_LENGTH);
|
||||
const lastNewline = truncated.lastIndexOf('\n');
|
||||
const cutPoint = lastNewline > this.MAX_OUTPUT_LENGTH * 0.8 ? lastNewline : this.MAX_OUTPUT_LENGTH;
|
||||
const cutPoint = lastNewline > MAX_OUTPUT_LENGTH * 0.8 ? lastNewline : MAX_OUTPUT_LENGTH;
|
||||
return truncated.slice(0, cutPoint) + '\n\n... (output truncated)';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user