Created
November 28, 2025 02:24
-
-
Save johnlindquist/bbc2964490cecfe27700ff7edcb4bbfe to your computer and use it in GitHub Desktop.
Cached Codemap: lootbox-bun - MCP tool server with AI agents, Chrome DevTools, and multi-model support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "version": 1, | |
| "repoPath": "/Users/johnlindquist/dev/lootbox-bun", | |
| "repoName": "lootbox-bun", | |
| "createdAt": "2025-11-27T16:26:55.301Z", | |
| "lastValidatedAt": "2025-11-27T16:26:55.301Z", | |
| "gitCommitHash": "cac0dbbfa099f833bcf620d3e8b00d60e731ab45", | |
| "codemap": "<prompt>\n <files>\n <file path=\"ui/tsconfig.node.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/index.html\" type=\"html\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/tailwind.config.js\" type=\"javascript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/package.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/components.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/tsconfig.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/vite.config.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/postcss.config.js\" type=\"javascript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/App.tsx\" type=\"typescript\" format=\"codemap\">\nfunction App() {\n </file>\n <file path=\"ui/src/main.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/index.css\" type=\"css\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/tabs.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/card.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/scroll-area.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/label.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/alert.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/dialog.tsx\" type=\"typescript\" format=\"codemap\">\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n </file>\n <file path=\"ui/src/components/ui/badge.tsx\" type=\"typescript\" format=\"codemap\">\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n </file>\n <file path=\"ui/src/components/ui/table.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/separator.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/button.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/toast.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/dropdown-menu.tsx\" type=\"typescript\" format=\"codemap\">\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n </file>\n <file path=\"ui/src/components/ui/select.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/components/ui/input.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/lib/api-client.ts\" type=\"typescript\" format=\"codemap\">\nexport interface HealthResponse {\nexport const apiClient = {\n </file>\n <file path=\"ui/src/lib/utils.ts\" type=\"typescript\" format=\"codemap\">\nexport function cn(...inputs: ClassValue[]) {\n </file>\n <file path=\"ui/src/lib/query-provider.tsx\" type=\"typescript\" format=\"codemap\">\nexport const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 1000 * 60 * 5, // 5 minutes refetchOnWindowFocus: false,\ninterface QueryProviderProps {\n </file>\n <file path=\"ui/src/lib/hooks.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"ui/src/lib/websocket-client.ts\" type=\"typescript\" format=\"codemap\">\nexport interface FunctionsUpdatedMessage {\nexport interface WelcomeMessage {\nexport class WebSocketClient {\nexport const wsClient = new WebSocketClient();\ninterface PendingCall {\n </file>\n <file path=\"ui/src/pages/Dashboard.tsx\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"LLM_QUICK_START.md\" type=\"markdown\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"create_test_data.ts\" type=\"typescript\" format=\"codemap\">\nconst rpc = (method: string, args: any) => {\n </file>\n <file path=\"test/test_tools.ts\" type=\"typescript\" format=\"codemap\">\nconst createResult = await tools.memory.createEntities({ entities: [{ name: \"test-entity\", type: \"demo\", properties: { message: \"Hello World\" },\nconst getEntity = await tools.memory.getEntity({ name: \"test-entity\" });\n </file>\n <file path=\"test/test_parallel.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"test/test_fetch.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"test/test_stdin.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"test/test_kv.ts\" type=\"typescript\" format=\"codemap\">\nconst value = await tools.kv.get({ key: \"greeting\" });\nconst keys = await tools.kv.list({ prefix: \"greet\" });\n </file>\n <file path=\"test/test_stdin_methods.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"cpu-spike-expert-bundle.md\" type=\"markdown\" format=\"codemap\">\ninterface CallMessage {\ninterface ShutdownMessage {\ntype WorkerMessage = CallMessage | ShutdownMessage;\ntype ProgressCallback = (callId: string, message: string) => void;\ninterface WorkerState {\ninterface IdentifyMessage {\ninterface ReadyMessage {\ninterface ResultMessage {\ninterface ErrorMessage {\ninterface CrashMessage {\ninterface ProgressMessage {\ntype WorkerIncomingMessage =\nexport class WorkerManager {\nexport class FileWatcherManager {\ninterface HealthMetrics {\ninterface HealthStatus {\nexport class HealthMonitor {\nexport function getHealthMonitor(): HealthMonitor {\nexport class WebSocketRpcServer {\ninterface WebSocketContext {\nexport interface WebSocketHandler {\nexport class ConnectionManager {\ninterface RpcMessage {\ninterface ScriptMessage {\nexport interface RpcResponse {\nexport class MessageRouter {\nexport class RpcCacheManager {\n </file>\n <file path=\"mcp-bridge.ts\" type=\"typescript\" format=\"codemap\">\ninterface RpcFunction {\ninterface ToolSchema {\ninterface ServerStatus {\nasync function checkServerHealth(): Promise<ServerStatus> {\nasync function fetchFunctions(): Promise<RpcFunction[]> {\nasync function main() {\n </file>\n <file path=\"install.sh\" type=\"bash\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".mcp.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"bunfig.toml\" type=\"toml\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"README.md\" type=\"markdown\" format=\"codemap\">\nexport interface CreateArgs {\nexport interface CreateResult {\nexport function wrongSignature(x: number, y: string) {}\n </file>\n <file path=\".gitignore\" type=\"text\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"package.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"scripts/bump-version.ts\" type=\"typescript\" format=\"codemap\">\nasync function bumpVersion(type: \"major\" | \"minor\" | \"patch\"): Promise<string> {\n </file>\n <file path=\"test-codemap.ts\" type=\"typescript\" format=\"codemap\">\nasync function test() {\n </file>\n <file path=\"tsconfig.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/article.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function verify(args: { article: string; research?: boolean; timeout_seconds?: number; }): Promise<VerificationResult> {\nexport async function generate(args: { topic: string; title?: string; style?: ArticleStyle; research_context?: string;\nexport async function list_styles(): Promise<{\nexport async function get_style_guide(): Promise<{\nexport async function revise(args: { article: string; feedback: string; verify?: boolean; output_path?: string;\ninterface CodeSnippet {\ninterface VerificationIssue {\ninterface VerificationResult {\ninterface ArticleResult {\nfunction sendProgress(message: string): void {\nconst EXAMPLE_EXCERPTS = {\nfunction parseClaudeOutput(rawOutput: string): string {\nfunction parseGeminiOutput(rawOutput: string): string {\nfunction extractCodeSnippets(article: string): CodeSnippet[] {\nasync function verifyTypeScriptSyntax(code: string): Promise<{ valid: boolean; error?: string }> {\nasync function verifyBashCommand(code: string): Promise<{ valid: boolean; error?: string; warnings?: string[] }> {\nfunction buildArticlePrompt(opts: { topic: string; title?: string; style: ArticleStyle; exampleExcerpt: string;\nfunction extractTitle(article: string): string {\n </file>\n <file path=\".lootbox/tools/mcp_spy.ts\" type=\"typescript\" format=\"codemap\">\nexport async function record_request(args: { server: string; method: string; tool_name?: string; params?: unknown;\nexport async function record_response(args: { server: string; request_id?: string | number; result?: unknown; error?: string;\nexport async function get_traffic(args: { server?: string; tool_name?: string; method?: string; direction?: \"request\" | \"response\";\nexport async function get_message(args: { message_id: string; }): Promise<{ success: boolean; message?: McpMessage; error?: string }> {\nexport async function get_request_pair(args: { server: string; request_id: string | number; }): Promise<{\nexport async function get_latency_stats(args: { server?: string; tool_name?: string; }): Promise<{\nexport async function get_server_summary(args: Record<string, never> = {}): Promise<{\nexport async function clear_traffic(args: { clear_files?: boolean; server?: string; }): Promise<{ success: boolean; cleared_count?: number; error?: string }> {\nexport async function load_traffic(args: { server?: string; }): Promise<{ success: boolean; loaded_count?: number; error?: string }> {\nexport async function export_traffic(args: { output_path: string; server?: string; format?: \"json\" | \"jsonl\"; }): Promise<{ success: boolean; exported_count?: number; error?: string }> {\nexport async function get_replay_request(args: { message_id: string; }): Promise<{\nexport async function find_failed_requests(args: { server?: string; limit?: number; }): Promise<{\ninterface McpMessage {\nfunction ensureTrafficDir(): void {\nfunction generateId(): string {\n </file>\n <file path=\".lootbox/tools/deep_research.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function deep_research(args: { topic: string; depth?: \"quick\" | \"standard\" | \"thorough\"; focus?: string; include_gaps?: boolean;\nexport async function quick_research(args: { topic: string; focus?: string; }): Promise<{\nexport async function explore_subtopic(args: { main_topic: string; subtopic: string; context?: string; }): Promise<{\nexport async function compare_topics(args: { items: string[]; criteria?: string[]; context?: string; }): Promise<{\nexport async function research_timeline(args: { topic: string; time_range?: string; }): Promise<{\nexport async function gather_expert_opinions(args: { topic: string; perspective?: \"academic\" | \"industry\" | \"policy\" | \"all\"; }): Promise<{\nexport async function generate_report(args: { research: DeepResearchResult; format?: \"markdown\" | \"outline\" | \"executive_summary\"; include_methodology?: boolean; }): Promise<{\ninterface SearchResult {\ninterface AgentAnalysis {\ninterface ExpandedQueries {\ninterface DeepResearchResult {\nfunction sendProgress(message: string): void {\n </file>\n <file path=\".lootbox/tools/deepwiki.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/deepwiki.ts\" type=\"typescript\" format=\"codemap\">\nexport async function read_wiki_structure(args: { repo_name: string; }): Promise<{ success: boolean; structure?: string; error?: string }> {\nexport async function read_wiki_contents(args: { repo_name: string; }): Promise<{ success: boolean; contents?: string; error?: string }> {\nexport async function ask_question(args: { repo_name: string; question: string; }): Promise<{ success: boolean; answer?: string; error?: string }> {\nfunction parseSSEResponse(text: string): { result?: unknown; error?: { message: string } } {\nasync function initializeSession(): Promise<{ success: boolean; sessionId?: string; error?: string }> {\nasync function getSession(): Promise<{ success: boolean; sessionId?: string; error?: string }> {\n </file>\n <file path=\".lootbox/tools/deep_think.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function deep_think(args: { problem: string; depth?: \"quick\" | \"standard\" | \"thorough\"; frameworks?: FrameworkKey[]; context?: string;\nexport async function quick_think(args: { question: string; approach?: \"first_principles\" | \"systematic\" | \"critical\" | \"creative\"; }): Promise<{\nexport async function challenge_idea(args: { idea: string; context?: string; intensity?: \"gentle\" | \"moderate\" | \"aggressive\"; }): Promise<{\nexport async function evaluate_options(args: { question: string; options: string[]; criteria?: string[]; context?: string;\nexport async function identify_assumptions(args: { statement: string; domain?: string; }): Promise<{\nexport async function explore_consequences(args: { action: string; timeframes?: (\"immediate\" | \"short_term\" | \"long_term\")[];\nexport async function build_mental_model(args: { concept: string; purpose?: string; }): Promise<{\nexport async function list_frameworks(): Promise<{\ninterface AgentConfig {\ninterface AgentThought {\ninterface DeepThinkResult {\nfunction sendProgress(message: string): void {\nconst REASONING_FRAMEWORKS = {\nconst AGENTS: Record<string, AgentConfig> = {\nfunction parseCodexJsonl(rawOutput: string): string {\n </file>\n <file path=\".lootbox/tools/basic_memory.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/claude_bundle.ts\" type=\"typescript\" format=\"codemap\">\nexport async function bundle_claude_md(args: { source_path?: string; include_skills?: boolean; }): Promise<{ success: boolean; bundle?: string; file_count?: number; error?: string }> {\nexport async function create_claude_gist(args: { source_path?: string; public?: boolean; description?: string; include_skills?: boolean;\nexport async function list_claude_imports(args: { source_path?: string; include_skills?: boolean; }): Promise<{ success: boolean; files?: string[]; error?: string }> {\nfunction resolvePath(filepath: string, baseDir: string): string {\nfunction parseImports(content: string): string[] {\nfunction discoverSkillFiles(skillsDir: string = SKILLS_DIR): string[] {\nfunction createBundle(files: { path: string; content: string }[]): string {\n </file>\n <file path=\".lootbox/tools/stuck.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function unstuck(args: StuckInput): Promise<StuckResult> {\nexport async function quick_unstuck(args: { problem: string; error_message?: string; library?: string; }): Promise<StuckResult> {\nexport async function code_unstuck(args: { problem: string; file_paths: string[]; error_message?: string; }): Promise<StuckResult> {\nexport async function library_unstuck(args: { problem: string; library: string; repo?: string; error_message?: string;\ninterface StuckInput {\ninterface AnalysisResult {\ninterface StuckResult {\nfunction sendProgress(message: string): void {\nfunction setupChildProgress() {\nfunction inferRepo(library: string): string | null {\n </file>\n <file path=\".lootbox/tools/shared/response_history.ts\" type=\"typescript\" format=\"codemap\">\nexport interface ResponseMetadata {\nexport interface SavedResponse {\nexport interface HistoryEntry {\nexport function getHistoryDir(): string {\nexport async function listRecent(limit = 20): Promise<HistoryEntry[]> {\nexport async function searchResponses(opts: { tool?: string; tags?: string[]; query?: string; limit?: number;\nexport async function rebuildIndex(): Promise<{ entries: number; file: string }> {\nexport async function saveToolResponse(opts: { tool: string; topic: string; content: string; query?: string;\nfunction serializeYaml(obj: Record<string, unknown>, indent = 0): string {\nfunction getNextSequence(dirPath: string): string {\nfunction slugify(text: string): string {\nfunction getSortedDirs(dirPath: string): string[] {\nasync function parseFileMetadata(filepath: string): Promise<HistoryEntry | null> {\n </file>\n <file path=\".lootbox/tools/shared/types.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/shared/mcp-session.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/shared/logging.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/shared/test-utils.ts\" type=\"typescript\" format=\"codemap\">\nexport function createMcpResultResponse(result: unknown, sessionId?: string): Response {\nexport function createMcpErrorResponse(message: string, sessionId?: string): Response {\nexport function createMcpTextContent(text: string): unknown {\nexport function createTempDir(): string {\nexport function mockFetchSequence(responses: Response[]): void {\nexport function saveFetch(): void {\nexport function restoreFetch(): void {\n </file>\n <file path=\".lootbox/tools/shared/types.ts\" type=\"typescript\" format=\"codemap\">\nexport type ToolResult<T = unknown> = {\nexport interface TimeoutOptions {\nexport interface PaginationOptions {\nexport function ok<T>(data: T): ToolResult<T> {\nexport function err<T = unknown>(error: string): ToolResult<T> {\nexport function extractErrorMessage(error: unknown): string {\n </file>\n <file path=\".lootbox/tools/shared/mcp-session.ts\" type=\"typescript\" format=\"codemap\">\nexport interface McpSession {\nexport interface McpSessionConfig {\nexport function parseSSEResponse(text: string): { result?: unknown; error?: { message: string } } {\nexport function extractMcpTextContent(result: unknown): string {\nexport function createRequestManager(timeout: number = 30000) {\nconst DEFAULT_CONFIG: Required<McpSessionConfig> = {\n </file>\n <file path=\".lootbox/tools/shared/index.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/shared/codemap-cache.ts\" type=\"typescript\" format=\"codemap\">\nexport async function invalidateCodeMapCache(repoPath?: string): Promise<void> {\nexport async function getCodeMapMetadata(repoPath?: string): Promise<CodeMapMetadata | null> {\nexport async function withCodeMapContext(prompt: string, repoPath?: string): Promise<string> {\nexport function listCachedCodeMaps(): Array<{ file: string; repoName: string; modifiedAt: Date }> {\nexport function clearAllCodeMapCaches(): number {\ninterface CodeMapCache {\ninterface CodeMapMetadata {\nasync function getGitHead(repoPath: string): Promise<string | null> {\nasync function getGitRoot(startPath: string): Promise<string | null> {\nasync function getRepoName(repoPath: string): Promise<string> {\nasync function countCommitsSince(repoPath: string, sinceCommit: string): Promise<number> {\nfunction getCacheFilePath(repoPath: string, repoName: string): string {\nfunction getLockFilePath(cacheFilePath: string): string {\nfunction ensureCacheDir(): void {\nfunction acquireLock(lockFile: string): boolean {\nfunction releaseLock(lockFile: string): void {\nfunction readCache(cacheFile: string): CodeMapCache | null {\nfunction writeCache(cacheFile: string, cache: CodeMapCache): void {\nfunction touchCache(cacheFile: string, cache: CodeMapCache): void {\nasync function generateCodeMap(repoPath: string): Promise<string> {\n </file>\n <file path=\".lootbox/tools/shared/logging.ts\" type=\"typescript\" format=\"codemap\">\nexport const DEFAULT_LOG_DIR = join(process.env.HOME || \"/tmp\", \".lootbox-logs\");\nexport function createLogger(toolName: string, logDir: string = DEFAULT_LOG_DIR) {\n </file>\n <file path=\".lootbox/tools/basic_memory.ts\" type=\"typescript\" format=\"codemap\">\nexport async function write_memory(args: { title: string; content: string; folder?: string; tags?: string;\nexport async function read_memory(args: { permalink: string; }): Promise<{ success: boolean; content?: string; error?: string }> {\nexport async function search_memories(args: { query: string; page_size?: number; }): Promise<{ success: boolean; results?: string; error?: string }> {\nexport async function list_memories(args: { page_size?: number; }): Promise<{ success: boolean; memories?: string; error?: string }> {\nexport async function build_context(args: { topic: string; }): Promise<{ success: boolean; context?: string; error?: string }> {\n </file>\n <file path=\".lootbox/tools/chrome_devtools.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/gemini.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function research(args: { prompt: string; context?: string; }): Promise<{ success: boolean; result?: string; error?: string }> {\nexport async function summarize(args: { file_path?: string; content?: string; focus?: string; }): Promise<{ success: boolean; summary?: string; error?: string }> {\nexport async function analyze_code(args: { file_path?: string; code?: string; question: string; }): Promise<{ success: boolean; analysis?: string; error?: string }> {\nexport async function compare(args: { items: Array<{ label: string; content: string }>; comparison_prompt: string; }): Promise<{ success: boolean; comparison?: string; error?: string }> {\nexport async function think(args: { problem: string; constraints?: string; }): Promise<{ success: boolean; reasoning?: string; error?: string }> {\nexport async function extract(args: { content: string; extract_what: string; output_format?: string; }): Promise<{ success: boolean; extracted?: string; error?: string }> {\nexport async function ask(args: { question: string; }): Promise<{ success: boolean; answer?: string; error?: string }> {\nexport async function web_search(args: { query: string; focus?: string; }): Promise<{ success: boolean; results?: string; error?: string }> {\nexport async function get_news(args: { topic: string; timeframe?: string; }): Promise<{ success: boolean; news?: string; error?: string }> {\nexport async function lookup(args: { query: string; }): Promise<{ success: boolean; info?: string; error?: string }> {\nexport async function analyze_project(args: { file_paths: string[]; question: string; focus?: string; }): Promise<{ success: boolean; analysis?: string; files_read?: number; error?: string }> {\nexport async function evaluate_options(args: { problem: string; options: string[]; file_paths?: string[]; criteria?: string[];\nexport async function plan_implementation(args: { goal: string; file_paths: string[]; constraints?: string[]; style?: \"detailed\" | \"high-level\";\nexport async function review_code(args: { file_paths: string[]; focus?: \"security\" | \"performance\" | \"maintainability\" | \"all\"; severity_threshold?: \"critical\" | \"warning\" | \"info\"; }): Promise<{\nexport async function reason_through(args: { problem: string; file_paths?: string[]; constraints?: string[]; output_format?: \"reasoning\" | \"decision\" | \"both\";\nexport async function trace_flow(args: { starting_point: string; file_paths: string[]; trace_type?: \"data\" | \"execution\" | \"dependencies\"; question?: string;\nfunction sendProgress(message: string): void {\n </file>\n <file path=\".lootbox/tools/gemini_image.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function analyze_image(args: { image_path: string; instructions?: string; }): Promise<{ success: boolean; analysis?: string; error?: string }> {\nexport async function extract_text(args: { image_path: string; format?: \"plain\" | \"structured\" | \"json\"; }): Promise<{ success: boolean; text?: string; error?: string }> {\nexport async function identify_elements(args: { image_path: string; focus?: \"objects\" | \"people\" | \"text\" | \"logos\" | \"all\"; }): Promise<{ success: boolean; elements?: string; error?: string }> {\nexport async function compare_images(args: { image_path_1: string; image_path_2: string; comparison_type?: \"differences\" | \"similarities\" | \"both\"; }): Promise<{ success: boolean; comparison?: string;...\nexport async function ask_about_image(args: { image_path: string; question: string; }): Promise<{ success: boolean; answer?: string; error?: string }> {\nfunction sendProgress(message: string): void {\nfunction isUrl(path: string): boolean {\nfunction prepareLocalFile(filePath: string): string {\n </file>\n <file path=\".lootbox/tools/brainstorm.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function generate(args: { topic: string; mode?: BrainstormMode; constraints?: ConstraintPreset | string; agents?: AgentName[];\nexport async function synthesize(args: { ideas: Idea[] | string[]; topic: string; synthesis_type?: \"combine\" | \"rank\" | \"categorize\" | \"refine\"; timeout_seconds?: number;\nexport async function quick(args: { topic: string; mode?: BrainstormMode; constraints?: ConstraintPreset | string; auto_synthesize?: boolean;\nexport async function list_modes(): Promise<{\nexport async function expand(args: { idea: string; topic: string; expansion_type?: \"detail\" | \"implementation\" | \"variations\" | \"critique\"; timeout_seconds?: number;\nexport async function cross_pollinate(args: { topic: string; rounds?: number; timeout_seconds?: number; }): Promise<{\ninterface Idea {\ninterface BrainstormResult {\nfunction sendProgress(message: string): void {\nconst AGENTS = {\nconst BRAINSTORM_MODES = {\nconst CONSTRAINT_PRESETS = {\n </file>\n <file path=\".lootbox/tools/tmux.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function create_session(args: { session_name: string; window_name?: string; start_command?: string; working_dir?: string;\nexport async function list_sessions(args: { socket_path?: string; filter?: string; }): Promise<{\nexport async function attach_session(args: { session_name: string; socket_path?: string; }): Promise<{ success: boolean; monitor_command?: string; error?: string }> {\nexport async function kill_session(args: { session_name: string; socket_path?: string; }): Promise<{ success: boolean; error?: string }> {\nexport async function kill_all_sessions(args: { socket_path?: string; }): Promise<{ success: boolean; killed_count?: number; error?: string }> {\nexport async function send_keys(args: { session_name: string; keys: string; literal?: boolean; enter?: boolean;\nexport async function send_control_key(args: { session_name: string; control_key: string; target?: string; socket_path?: string;\nexport async function capture_output(args: { session_name: string; lines?: number; target?: string; socket_path?: string;\nexport async function wait_for_text(args: { session_name: string; pattern: string; timeout_seconds?: number; poll_interval?: number;\nexport async function create_window(args: { session_name: string; window_name: string; start_command?: string; socket_path?: string;\nexport async function split_pane(args: { session_name: string; direction: \"horizontal\" | \"vertical\"; target?: string; start_command?: string;\nexport async function list_panes(args: { session_name: string; socket_path?: string; }): Promise<{\nexport async function get_info(args: { socket_path?: string; }): Promise<{\nexport async function run_and_wait(args: { session_name: string; command: string; completion_pattern?: string; timeout_seconds?: number;\nfunction sendProgress(message: string): void {\nfunction ensureSocketDir(): void {\nfunction validateSocketPath(socketPath: string): { valid: boolean; error?: string } {\nasync function openTerminalWindow(command: string): Promise<{ success: boolean; error?: string }> {\n </file>\n <file path=\".lootbox/tools/repo_prompt.ts\" type=\"typescript\" format=\"codemap\">\nexport async function pack_repo(args: { path?: string; files?: string[]; glob?: string; format?: \"xml\" | \"markdown\";\nexport async function generate_codemap(args: { path?: string; files?: string[]; glob?: string; format?: \"xml\" | \"markdown\";\nexport async function get_repo_structure(args: { path?: string; max_files?: number; ignore?: string[]; }): Promise<{\nexport async function estimate_tokens(args: { content?: string; files?: string[]; path?: string; }): Promise<{\nexport async function list_files(args: { path?: string; glob?: string; max_files?: number; ignore?: string[];\nexport async function score_files(args: { path?: string; query?: string; seed_files?: string[]; max_files?: number;\nexport async function expand_dependencies(args: { path?: string; seed_files: string[]; depth?: number; }): Promise<{\nexport async function compress_content(args: { content?: string; file?: string; path?: string; keep_docstrings?: boolean;\nexport async function analyze_repo(args: { path?: string; }): Promise<{\nexport async function smart_pack(args: { path?: string; budget_tokens?: number; query?: string; seed_files?: string[];\nexport async function get_provider_preset(args: { provider: \"anthropic\" | \"openai\" | \"gemini\"; }): Promise<{\nconst LANGUAGE_MAP: Record<string, string> = {\nconst SIGNATURE_PATTERNS: Record<string, RegExp[]> = {\nfunction getLanguage(filePath: string): string {\nfunction loadGitignore(dir: string): string[] {\nfunction estimateTokens(content: string): number {\nfunction extractSignatures(content: string, language: string): string {\nfunction generateTree(files: string[], basePath: string): string {\nconst PROVIDER_PRESETS: Record<string, {\nconst FILE_IMPORTANCE: Record<string, number> = {\n </file>\n <file path=\".lootbox/tools/mcp_cli.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/promptfoo.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function init_eval(args: { name: string; directory?: string; prompts?: string[]; }): Promise<{\nexport async function run_eval(args: { config_path: string; output_path?: string; filter?: string; verbose?: boolean;\nexport async function view_results(args: { results_path?: string; port?: number; }): Promise<{ success: boolean; url?: string; error?: string }> {\nexport async function add_test(args: { config_path: string; prompt?: string; expected_contains?: string; expected_not_contains?: string;\nexport async function get_results_summary(args: { results_path: string; }): Promise<{\nexport async function list_evals(args: { directory?: string; }): Promise<{\nfunction sendProgress(message: string): void {\nfunction ensureEvalDir(dir: string = DEFAULT_EVAL_DIR): void {\nfunction getClaudeCodeProviderScript(): string {\nasync function runClaudeCode(prompt, options = {}) {\nfunction generateSampleConfig(name: string, prompts: string[]): object {\n </file>\n <file path=\".lootbox/tools/chrome_devtools.ts\" type=\"typescript\" format=\"codemap\">\nexport async function set_profile(args: { email: string; }): Promise<{ success: boolean; result?: string; error?: string }> {\nexport async function connect_browser(args: { url: string; }): Promise<{ success: boolean; result?: string; error?: string }> {\nexport async function launch_browser(args: { port?: number; restart?: boolean; }): Promise<{ success: boolean; result?: string; error?: string }> {\nexport async function clear_profile(args: Record<string, never> = {}): Promise<{\nexport async function get_profile(args: Record<string, never> = {}): Promise<{\nexport async function list_profiles(args: Record<string, never> = {}): Promise<{\nexport async function navigate_page(args: { url: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function new_page(args: { url?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function close_page(args: { pageId: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function list_pages(args: Record<string, never> = {}): Promise<{\nexport async function select_page(args: { pageId: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function wait_for(args: { condition: string; timeout?: number; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function click(args: { selector: string; button?: string; clickCount?: number; pageId?: string;\nexport async function fill(args: { selector: string; value: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function fill_form(args: { fields: Record<string, string>; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function press_key(args: { key: string; modifiers?: string[]; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function hover(args: { selector: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function drag(args: { sourceSelector: string; targetSelector: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function upload_file(args: { selector: string; filePath: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function handle_dialog(args: { action: string; promptText?: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function list_console_messages(args: { pageId?: string; types?: string[]; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function get_console_message(args: { messageId: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function list_network_requests(args: { pageId?: string; filter?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function get_network_request(args: { requestId: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function evaluate_script(args: { script?: string; function?: string; args?: Array<{ uid: string }>; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function take_screenshot(args: { pageId?: string; fullPage?: boolean; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function take_snapshot(args: { pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function emulate(args: { device: string; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function resize_page(args: { width: number; height: number; pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function performance_start_trace(args: { pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function performance_stop_trace(args: { pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nexport async function performance_analyze_insight(args: { pageId?: string; }): Promise<{ success: boolean; result?: unknown; error?: string }> {\nasync function checkChromeDebugPort(port: number = DEFAULT_DEBUG_PORT): Promise<boolean> {\nfunction getChromeExecutable(): string {\nfunction getChromeUserDataDir(): string {\nfunction findProfileByEmail(email: string): string | null {\nasync function isChromeRunning(): Promise<boolean> {\nasync function killChrome(): Promise<void> {\nasync function stopMcpServer(): Promise<void> {\nasync function ensureMcpServer(): Promise<boolean> {\nfunction processResponseBuffer() {\nasync function sendRequest(request: object): Promise<void> {\n </file>\n <file path=\".lootbox/tools/design_system.ts\" type=\"typescript\" format=\"codemap\">\nexport async function init_design_system(args: { project_path: string; name: string; description?: string; }): Promise<{\nexport async function get_design_status(args: { project_path: string; }): Promise<{\nexport async function define_colors(args: { project_path: string; colors: Record<string, { value: string; description?: string; category?: \"primitive\" | \"semantic\" | \"component\" }>; notes?: string; })...\nexport async function define_typography(args: { project_path: string; typography: Record< string, {\nexport async function define_spacing(args: { project_path: string; spacing: Record<string, { value: string; description?: string }>; notes?: string; }): Promise<{\nexport async function define_foundation_tokens(args: { project_path: string; category: \"borders\" | \"shadows\" | \"animation\"; tokens: Record<string, string>; notes?: string;\nexport async function add_component(args: { project_path: string; layer: \"primitives\" | \"components\" | \"patterns\"; name: string; component: {\nexport async function finalize_layer(args: { project_path: string; layer: Layer; notes?: string; }): Promise<{\nexport async function generate_output(args: { project_path: string; formats?: (\"css\" | \"tailwind\" | \"json\")[];\nexport async function generate_preview(args: { project_path: string; }): Promise<{\nexport async function validate_tokens(args: { project_path: string; }): Promise<{\nexport async function get_iterations(args: { project_path: string; limit?: number; }): Promise<{\nexport async function update_design_progress(args: { project_path: string; session_number: number; work_done: string[]; decisions?: string[];\ninterface ColorToken {\ninterface TypographyToken {\ninterface SpacingToken {\ninterface ComponentToken {\ninterface DesignIteration {\ninterface DesignTokens {\n </file>\n <file path=\".lootbox/tools/mcp_cli.ts\" type=\"typescript\" format=\"codemap\">\nexport async function call_tool_sse(args: { endpoint: string; tool_name: string; tool_args?: Record<string, unknown>; }): Promise<{ success: boolean; result?: string; error?: string }> {\nexport async function call_tool_http(args: { endpoint: string; tool_name: string; tool_args?: Record<string, unknown>; }): Promise<{ success: boolean; result?: string; error?: string }> {\nexport async function read_resource_sse(args: { endpoint: string; resource_uri: string; }): Promise<{ success: boolean; result?: string; error?: string }> {\nexport async function get_prompt_sse(args: { endpoint: string; prompt_name: string; prompt_args?: Record<string, unknown>; }): Promise<{ success: boolean; result?: string; error?: string }> {\n </file>\n <file path=\".lootbox/tools/gemini.test.ts\" type=\"typescript\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\".lootbox/tools/council.ts\" type=\"typescript\" format=\"codemap\">\nexport function setProgressCallback(callback: ProgressCallback | null): void {\nexport async function ask(args: { question: string; agents?: AgentName[]; timeout_seconds?: number; include_summary?: boolean;\nexport async function compare(args: { question: string; agents?: AgentName[]; timeout_seconds?: number; }): Promise<{\nexport async function list_agents(): Promise<{\nexport async function query_single(args: { agent: AgentName; question: string; timeout_seconds?: number; }): Promise<AgentResponse & { success: boolean; error?: string }> {\nexport async function debate(args: { question: string; agents?: AgentName[]; rounds?: number; timeout_seconds?: number;\nexport async function consensus(args: { question: string; agents?: AgentName[]; timeout_seconds?: number; }): Promise<ConsensusResult> {\nexport async function devils_advocate(args: { question: string; contrarian?: AgentName; agents?: AgentName[]; timeout_seconds?: number;\nexport async function list_role_presets(): Promise<{\ninterface AgentResponse {\ninterface CouncilResult {\ninterface ConsensusResult {\ninterface DebateResult {\nfunction sendProgress(message: string): void {\nconst AGENTS = {\nconst ROLE_PRESETS = {\nfunction parseClaudeStreamJson(rawOutput: string): string {\nfunction parseCodexJsonl(rawOutput: string): string {\nfunction parseGeminiStreamJson(rawOutput: string): string {\nfunction parseAgentOutput(rawOutput: string, parseType: ParseOutputType): string {\nfunction getPresetDescription(preset: RolePreset): string {\n </file>\n <file path=\".lootbox/tools/long_agent.ts\" type=\"typescript\" format=\"codemap\">\nexport async function init_project(args: { project_path: string; project_name: string; description: string; features?: string[];\nexport async function get_bearings(args: { project_path: string; }): Promise<{\nexport async function read_progress(args: { project_path: string; }): Promise<{\nexport async function update_progress(args: { project_path: string; session_number: number; work_done: string[]; issues?: string[];\nexport async function get_features(args: { project_path: string; filter?: \"all\" | \"passing\" | \"failing\"; }): Promise<{\nexport async function add_feature(args: { project_path: string; description: string; category?: \"functional\" | \"ui\" | \"performance\" | \"security\" | \"accessibility\"; steps?: string[];\nexport async function mark_feature(args: { project_path: string; feature_id: string; passes: boolean; }): Promise<{\nexport async function get_next_feature(args: { project_path: string; }): Promise<{\nexport async function commit_progress(args: { project_path: string; message: string; files?: string[]; }): Promise<{\nexport async function session_summary(args: { project_path: string; }): Promise<{\nexport async function run_init(args: { project_path: string; }): Promise<{\nexport async function expand_feature(args: { project_path: string; feature_description: string; sub_features: Array<{ description: string;\ninterface Feature {\ninterface FeatureList {\n </file>\n <file path=\".vscode/settings.json\" type=\"json\" format=\"codemap\">\n// No signatures extracted\n </file>\n <file path=\"src/lib/ui_server.ts\" type=\"typescript\" format=\"codemap\">\nexport function setupUIRoutes(app: OpenAPIHono) {\n </file>\n <file path=\"src/lib/client_cache.ts\" type=\"typescript\" format=\"codemap\">\nexport const clientCache = ClientCache.getInstance();\nexport const set_client = (code: string) => clientCache.set_client(code);\nexport const get_client = () => clientCache.get_client();\ninterface ClientData {\nclass ClientCache {\n </file>\n <file path=\"src/lib/get_config.ts\" type=\"typescript\" format=\"codemap\">\nexport function setArgsOverride(args: string[]): void {\nexport function clearArgsOverride(): void {\nexport const get_config = async (): Promise<ResolvedConfig> => {\ninterface ResolvedConfig {\nasync function loadConfig(): Promise<Config> {\n </file>\n <file path=\"src/lib/execute_llm_script.ts\" type=\"typescript\" format=\"codemap\">\nexport const execute_llm_script = async (args: { script: string; sessionId?: string }) => {\n </file>\n <file path=\"src/lib/workflow_log.ts\" type=\"typescript\" format=\"codemap\">\nexport interface WorkflowEvent {\nexport function generateSessionId(): string {\nexport async function logWorkflowEvent(event: Omit<WorkflowEvent, \"id\">): Promise<void> {\nexport async function getRecentEvents(limit = 50): Promise<WorkflowEvent[]> {\nexport async function getEventsForWorkflow(workflowFile: string, limit = 100): Promise<WorkflowEvent[]> {\nexport async function getEventsForSession(sessionId: string): Promise<WorkflowEvent[]> {\nexport const closeDb = closeDatabase;\ninterface WorkflowEventRow {\n </file>\n <file path=\"src/lib/external-mcps/mcp_config.ts\" type=\"typescript\" format=\"codemap\">\nexport interface McpServerConfig {\nexport interface McpConfigFile {\nexport async function loadMcpConfig(path: string): Promise<McpConfigFile> {\nexport function validateMcpConfig(config: unknown): McpConfigFile {\nfunction sanitizeServerName(name: string): string {\n </file>\n <file path=\"src/lib/external-mcps/mcp_schema_fetcher.ts\" type=\"typescript\" format=\"codemap\">\nexport interface McpToolSchema {\nexport interface McpResourceSchema {\nexport interface McpServerSchemas {\nexport class McpSchemaFetcher {\n </file>\n <file path=\"src/lib/external-mcps/create_rpc_client_section.ts\" type=\"typescript\" format=\"codemap\">\nexport function generateMcpCallHelper(): string {\nfunction createMcpCall(serverName: string, operationName: string, operationType: \"tool\" | \"resource\") {\n </file>\n <file path=\"src/lib/external-mcps/parse_mcp_schemas.ts\" type=\"typescript\" format=\"codemap\">\nfunction jsonSchemaToTsType(schema: Record<string, unknown>): string {\nfunction generateMcpResultInterfaces(): InterfaceDefinition[] {\nfunction sanitizeIdentifier(str: string): string {\nfunction capitalizeFirst(str: string): string {\n </file>\n <file path=\"src/lib/external-mcps/mcp_client_manager.ts\" type=\"typescript\" format=\"codemap\">\nexport class McpClientManager {\n </file>\n <file path=\"src/lib/paths.ts\" type=\"typescript\" format=\"codemap\">\nexport function getUserLootboxToolsDir(): string {\nexport function getUserLootboxWorkflowsDir(): string {\nexport function getUserLootboxScriptsDir(): string {\nfunction getHomeDir(): string {\n </file>\n <file path=\"src/lib/rpc/load_rpc_files.ts\" type=\"typescript\" format=\"codemap\">\nexport interface RpcFile {\nexport const discover_rpc_files = async (): Promise<RpcFile[]> => {\nexport const generate_types = async (): Promise<string> => {\n </file>\n <file path=\"src/lib/rpc/managers/file_watcher_manager.ts\" type=\"typescript\" format=\"codemap\">\nexport class FileWatcherManager {\n </file>\n <file path=\"src/lib/rpc/managers/route_handler.ts\" type=\"typescript\" format=\"codemap\">\nexport class RouteHandler {\n </file>\n <file path=\"src/lib/rpc/managers/message_router.ts\" type=\"typescript\" format=\"codemap\">\nexport interface RpcResponse {\nexport class MessageRouter {\ninterface RpcMessage {\ninterface ScriptMessage {\n </file>\n </files>\n</prompt>" | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment