From 11757cf08cf226f7d6be9e0e415da04a18f30b93 Mon Sep 17 00:00:00 2001 From: prosdev Date: Tue, 25 Nov 2025 03:04:52 -0800 Subject: [PATCH] fix: replace dynamic import with static import for GitHubIndexer The dynamic import was causing 'GitHubIndexerClass is not a constructor' error in the MCP dev_gh tool. Changed to static import to match the pattern used in status-adapter.ts. Fixes the error: MCP error -32001: GitHubIndexerClass is not a constructor Changes: - Changed from 'import type' to named import for GitHubIndexer class - Removed dynamic import() call - Now uses direct instantiation with 'new GitHubIndexer()' - Consistent with status-adapter.ts implementation --- .../src/adapters/built-in/github-adapter.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/mcp-server/src/adapters/built-in/github-adapter.ts b/packages/mcp-server/src/adapters/built-in/github-adapter.ts index 58e63a7..cb010c8 100644 --- a/packages/mcp-server/src/adapters/built-in/github-adapter.ts +++ b/packages/mcp-server/src/adapters/built-in/github-adapter.ts @@ -3,11 +3,11 @@ * Exposes GitHub context and search capabilities via MCP (dev_gh tool) */ -import type { - GitHubDocument, +import { + type GitHubDocument, GitHubIndexer, - GitHubSearchOptions, - GitHubSearchResult, + type GitHubSearchOptions, + type GitHubSearchResult, } from '@lytics/dev-agent-subagents'; import { estimateTokensForText } from '../../formatters/utils'; import { ToolAdapter } from '../tool-adapter'; @@ -84,8 +84,6 @@ export class GitHubAdapter extends ToolAdapter { } // Lazy initialization - const { GitHubIndexer: GitHubIndexerClass } = await import('@lytics/dev-agent-subagents'); - // Try to load repository from state file to avoid gh CLI call let repository: string | undefined; try { @@ -98,7 +96,7 @@ export class GitHubAdapter extends ToolAdapter { // GitHubIndexer will try gh CLI as fallback } - this.githubIndexer = new GitHubIndexerClass( + this.githubIndexer = new GitHubIndexer( { vectorStorePath: this.vectorStorePath, statePath: this.statePath,