fix: issue-triage quick wins (extraction, MCP probes, gitignore, CJK, impact) (#654)
Batch of small, localized fixes from an open-issue triage: - .codegraph/.gitignore now ignores everything but itself, so the database, daemon.pid, sockets, and logs stop showing up in git status (#492, #484) - MCP server answers resources/list and prompts/list with empty lists instead of -32601, clearing scary log lines in opencode/Codex (#621) - index SAP HANA .xsjs/.xsjslib as JavaScript (#556) and TS .mts/.cts (#366) - visit anonymous AMD/CommonJS/IIFE wrapper bodies so their inner functions and calls are indexed instead of coming up empty (#528) - batch the changed-file lookup so a huge first sync no longer hits "too many SQL variables" (#540) - list files with `git ls-files -z` so non-ASCII/CJK paths survive core.quotepath and are no longer silently skipped (#541) - attach Go methods on generic receivers (*T[P]) to their type (#583, RC1) - impact no longer climbs the structural `contains` edge, so a leaf symbol stops dragging in its sibling methods (#536) - README: explicit `codegraph install` step, run in a new shell (#631) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
2a22f9f55a
commit
ddb1a8f72d
@@ -230,6 +230,14 @@ export async function runLocalHandshakeProxy(deps: LocalHandshakeDeps): Promise<
|
||||
routeToDaemon(line); // prime the daemon so it resolves the project (its reply is suppressed below)
|
||||
} else if (msg.method === 'tools/list') {
|
||||
writeClient({ jsonrpc: '2.0', id: msg.id, result: { tools: getStaticTools() } });
|
||||
} else if (msg.method === 'resources/list') {
|
||||
// No resources exposed — answer the probe locally so it never reaches
|
||||
// the daemon as an unhandled method and logs `-32601`. (#621)
|
||||
writeClient({ jsonrpc: '2.0', id: msg.id, result: { resources: [] } });
|
||||
} else if (msg.method === 'resources/templates/list') {
|
||||
writeClient({ jsonrpc: '2.0', id: msg.id, result: { resourceTemplates: [] } });
|
||||
} else if (msg.method === 'prompts/list') {
|
||||
writeClient({ jsonrpc: '2.0', id: msg.id, result: { prompts: [] } });
|
||||
} else {
|
||||
routeToDaemon(line);
|
||||
}
|
||||
|
||||
@@ -132,6 +132,19 @@ export class MCPSession {
|
||||
case 'ping':
|
||||
if (isRequest) this.transport.sendResult((message as JsonRpcRequest).id, {});
|
||||
break;
|
||||
case 'resources/list':
|
||||
// We expose no MCP resources, but some clients (opencode, Codex) probe
|
||||
// for them on connect; reply with an empty list instead of a
|
||||
// MethodNotFound error that surfaces as a scary `-32601` log line. (#621)
|
||||
if (isRequest) this.transport.sendResult((message as JsonRpcRequest).id, { resources: [] });
|
||||
break;
|
||||
case 'resources/templates/list':
|
||||
if (isRequest) this.transport.sendResult((message as JsonRpcRequest).id, { resourceTemplates: [] });
|
||||
break;
|
||||
case 'prompts/list':
|
||||
// Likewise — no prompts exposed, but answer the probe cleanly. (#621)
|
||||
if (isRequest) this.transport.sendResult((message as JsonRpcRequest).id, { prompts: [] });
|
||||
break;
|
||||
default:
|
||||
if (isRequest) {
|
||||
this.transport.sendError(
|
||||
|
||||
Reference in New Issue
Block a user