feat: Domain 2 Phase 3-4 — wiki article tool, DCP compress toggle, Go sidecar deprecation
Phase 3: get_wiki_article tool wraps codesight_get_wiki_article MCP (cached, persistent codebase wiki). DCP compress toggle on get_codebase_overview (compress=true for large projects >50 files). Phase 4: Deprecation markers on Go codecontext sidecar. Warning log in callCodecontext(), deprecation comments in factory.ts and docker-compose.yml. Sidecar remains functional — removal deferred.
This commit is contained in:
@@ -2,6 +2,12 @@ import { z } from 'zod';
|
||||
import type { ToolDef } from '../types.js';
|
||||
import { callCodecontext, type CodecontextResponse } from '../../codecontext_client.js';
|
||||
|
||||
// DEPRECATED (Phase 4, Domain 2, v2.8.14): This factory builds ToolDefs that
|
||||
// route through the Go codecontext sidecar via callCodecontext(). Superseded
|
||||
// by direct boocontext MCP tool wrappers. Keep functional for backward
|
||||
// compatibility — old codecontext tools still use HTTP. New tools should use
|
||||
// the boocontext MCP server instead of adding entries here.
|
||||
//
|
||||
// Shared factory for the 12 codecontext shim ToolDefs.
|
||||
// Each shim provides name/schema/description/jsonParameters/mapArgs; the
|
||||
// factory builds the ToolDef and returns both the ToolDef and the standalone
|
||||
|
||||
@@ -3,6 +3,7 @@ import { makeCodecontextTool } from './factory.js';
|
||||
|
||||
export const GetCodebaseOverviewInput = z.object({
|
||||
include_stats: z.boolean().optional(),
|
||||
compress: z.boolean().optional().describe('Apply DCP compression for large projects (>50 files)'),
|
||||
});
|
||||
export type GetCodebaseOverviewInputT = z.infer<typeof GetCodebaseOverviewInput>;
|
||||
|
||||
@@ -24,10 +25,18 @@ const { toolDef: getCodebaseOverview, execute: executeGetCodebaseOverview } =
|
||||
type: 'boolean',
|
||||
description: 'Include file count, symbol count, language stats. Defaults to true.',
|
||||
},
|
||||
compress: {
|
||||
type: 'boolean',
|
||||
description: 'Apply DCP compression for large projects (>50 files)',
|
||||
},
|
||||
},
|
||||
additionalProperties: false,
|
||||
},
|
||||
mapArgs: (input) => ({ include_stats: input.include_stats ?? true }),
|
||||
mapArgs: (input) => {
|
||||
const args: Record<string, unknown> = { include_stats: input.include_stats ?? true };
|
||||
if (input.compress) args['compress'] = true;
|
||||
return args;
|
||||
},
|
||||
});
|
||||
|
||||
export { getCodebaseOverview, executeGetCodebaseOverview };
|
||||
|
||||
@@ -18,3 +18,4 @@ export { getCodeHealth } from './get_code_health.js';
|
||||
export { getCodeImpact } from './get_code_impact.js';
|
||||
export { getTypeInfo } from './get_type_info.js';
|
||||
export { getCodeMap } from './get_code_map.js';
|
||||
export { getWikiArticle } from './get_wiki_article.js';
|
||||
|
||||
Reference in New Issue
Block a user