refactor: codebase audit cleanup — dead code, dedup, module splits

Multi-agent audit + aggressive cleanup across server/web/coder/booterm,
delivered behind a DEFER discipline so none of the in-flight files were
touched. Removes dead code/deps/columns, dedups server + coder helpers,
and splits the oversized modules (tools.ts, opencode-server.ts,
sentinel-summaries, turn.ts, TerminalPane.tsx) behind stable contracts.
Adds 78 parity/unit tests (server 587, coder 323); fixes two latent bugs
(ChatPane queue keys, FileViewerOverlay blank-line parity).

Intended tag: v2.7.12-audit-cleanup.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-02 21:10:06 +00:00
parent e5ce01ae72
commit 8c200216eb
143 changed files with 6729 additions and 6087 deletions

View File

@@ -1,8 +1,5 @@
// v1.12 Track B.2: codecontext wrapper — get_symbol_info.
import { z } from 'zod';
import type { ToolDef } from '../../tools.js';
import { callCodecontext, type CodecontextResponse } from '../../codecontext_client.js';
import { makeCodecontextTool } from './factory.js';
export const GetSymbolInfoInput = z.object({
symbol_name: z.string().min(1),
@@ -16,48 +13,36 @@ const DESCRIPTION =
'Tree-sitter coverage: full for JS/Python/Java/Go/Rust/C++. TypeScript symbols are approximate (uses JS grammar). ' +
'PHP and SQL are not supported — fall back to grep for those.';
export async function executeGetSymbolInfo(
input: GetSymbolInfoInputT,
projectPath: string,
fetcher: typeof fetch = fetch,
): Promise<CodecontextResponse> {
const args: Record<string, unknown> = { symbol_name: input.symbol_name };
if (input.file_path) args['file_path'] = input.file_path;
if (input.framework_type) args['framework_type'] = input.framework_type;
return callCodecontext({ toolName: 'get_symbol_info', args, projectPath }, fetcher);
}
export const getSymbolInfo: ToolDef<GetSymbolInfoInputT> = {
name: 'get_symbol_info',
description: DESCRIPTION,
inputSchema: GetSymbolInfoInput,
jsonSchema: {
type: 'function',
function: {
name: 'get_symbol_info',
description: DESCRIPTION,
parameters: {
type: 'object',
properties: {
symbol_name: {
type: 'string',
description: 'The symbol name to look up (case-sensitive).',
},
file_path: {
type: 'string',
description: 'Narrow to a specific file when the symbol name is ambiguous.',
},
framework_type: {
type: 'string',
description: 'Hint for framework-specific extraction (react|vue|svelte|django|fastapi|express|nest|…).',
},
const { toolDef: getSymbolInfo, execute: executeGetSymbolInfo } =
makeCodecontextTool<GetSymbolInfoInputT>({
name: 'get_symbol_info',
schema: GetSymbolInfoInput,
description: DESCRIPTION,
jsonParameters: {
type: 'object',
properties: {
symbol_name: {
type: 'string',
description: 'The symbol name to look up (case-sensitive).',
},
file_path: {
type: 'string',
description: 'Narrow to a specific file when the symbol name is ambiguous.',
},
framework_type: {
type: 'string',
description: 'Hint for framework-specific extraction (react|vue|svelte|django|fastapi|express|nest|…).',
},
required: ['symbol_name'],
additionalProperties: false,
},
required: ['symbol_name'],
additionalProperties: false,
},
},
async execute(input, projectRoot) {
return await executeGetSymbolInfo(input, projectRoot);
},
};
mapArgs: (input) => {
const args: Record<string, unknown> = { symbol_name: input.symbol_name };
if (input.file_path) args['file_path'] = input.file_path;
if (input.framework_type) args['framework_type'] = input.framework_type;
return args;
},
});
export { getSymbolInfo, executeGetSymbolInfo };