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:
@@ -1,10 +1,5 @@
|
||||
// v1.12 Track B.2: codecontext wrapper — get_codebase_overview.
|
||||
// Pattern mirrors services/web_search.ts: pure executor + ToolDef wrapper.
|
||||
// target_dir is supplied by callCodecontext from the resolved project root.
|
||||
|
||||
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 GetCodebaseOverviewInput = z.object({
|
||||
include_stats: z.boolean().optional(),
|
||||
@@ -17,43 +12,22 @@ 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 view_file/grep for those.';
|
||||
|
||||
export async function executeGetCodebaseOverview(
|
||||
input: GetCodebaseOverviewInputT,
|
||||
projectPath: string,
|
||||
fetcher: typeof fetch = fetch,
|
||||
): Promise<CodecontextResponse> {
|
||||
return callCodecontext(
|
||||
{
|
||||
toolName: 'get_codebase_overview',
|
||||
args: { include_stats: input.include_stats ?? true },
|
||||
projectPath,
|
||||
},
|
||||
fetcher,
|
||||
);
|
||||
}
|
||||
|
||||
export const getCodebaseOverview: ToolDef<GetCodebaseOverviewInputT> = {
|
||||
name: 'get_codebase_overview',
|
||||
description: DESCRIPTION,
|
||||
inputSchema: GetCodebaseOverviewInput,
|
||||
jsonSchema: {
|
||||
type: 'function',
|
||||
function: {
|
||||
name: 'get_codebase_overview',
|
||||
description: DESCRIPTION,
|
||||
parameters: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
include_stats: {
|
||||
type: 'boolean',
|
||||
description: 'Include file count, symbol count, language stats. Defaults to true.',
|
||||
},
|
||||
const { toolDef: getCodebaseOverview, execute: executeGetCodebaseOverview } =
|
||||
makeCodecontextTool<GetCodebaseOverviewInputT>({
|
||||
name: 'get_codebase_overview',
|
||||
schema: GetCodebaseOverviewInput,
|
||||
description: DESCRIPTION,
|
||||
jsonParameters: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
include_stats: {
|
||||
type: 'boolean',
|
||||
description: 'Include file count, symbol count, language stats. Defaults to true.',
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
},
|
||||
async execute(input, projectRoot) {
|
||||
return await executeGetCodebaseOverview(input, projectRoot);
|
||||
},
|
||||
};
|
||||
mapArgs: (input) => ({ include_stats: input.include_stats ?? true }),
|
||||
});
|
||||
|
||||
export { getCodebaseOverview, executeGetCodebaseOverview };
|
||||
|
||||
Reference in New Issue
Block a user