github TypeScript analyzed 7f4dbd3

hungson1002/RelayCode

github

AI coding agent for VS Code with Chat, Agent, Plan, multi-provider routing, MCP tools, and safe, reviewable workspace changes.

maintainer
hungson1002
license
MIT
first seen
2026-08-26
last seen
2026-08-26
releases · 30d
7
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 32 tools
transport streamable-http · http counts 32 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • apply_patch
  • apply_workspace_patch
  • create_directory
  • delete_file
  • delete_workspace_file
  • generate_image
  • get_git_diff
  • get_workspace_diagnostics
  • git_commit
  • git_diff
  • git_push
  • git_status
  • list_directory
  • list_files
  • list_models
  • list_pending_changes
  • list_workspace_files
  • move_file
  • read_file
  • read_skill_file
  • read_webpage
  • read_workspace_file
  • run_command
  • run_tests
  • run_workspace_command
  • search_text
  • search_workspace
  • stat_path
  • sync_chat_session
  • workspace_status
  • write_file
  • write_workspace_file
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 7f4dbd3 · analyzer v33 · 1w ago

danger signals2

code evidence vv2.0.7 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 106

filesystem 20

  • fs (weak) hungson1002-RelayCode-7f4dbd3/scripts/publish.mjs :2 import { readFileSync } from 'node:fs';
  • fs (weak) hungson1002-RelayCode-7f4dbd3/scripts/split-chat-controller.mjs :1 import { readFile, readdir, unlink, writeFile } from 'node:fs/promises';
  • fs hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :701 const raw = await vscode.workspace.fs.readFile(vscode.Uri.file(resolve(this.workspaceRoot, directory, 'package.json')));
  • fs hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :5 import { existsSync, realpathSync } from 'node:fs';
  • fs hungson1002-RelayCode-7f4dbd3/src/chatGptTunnelSetup.ts :4 import { access, mkdir, readdir, writeFile } from 'node:fs/promises';
  • fs hungson1002-RelayCode-7f4dbd3/src/chatViewProvider.ts :1388 await vscode.workspace.fs.writeFile(uri, Buffer.from(JSON.stringify(payload, null, 2)));
  • fs hungson1002-RelayCode-7f4dbd3/src/gitCheckpoint.ts :41 const bytes = await vscode.workspace.fs.readFile(vscode.Uri.file(resolve(root, path)));
  • fs hungson1002-RelayCode-7f4dbd3/src/gitReviewManager.ts :134 const bytes = await vscode.workspace.fs.readFile(vscode.Uri.file(absolute));
  • fs hungson1002-RelayCode-7f4dbd3/src/hookManager.ts :31 bytes = await vscode.workspace.fs.readFile(uri);
  • fs hungson1002-RelayCode-7f4dbd3/src/projectInstructions.ts :1 import { readFile } from 'node:fs/promises';
  • fs hungson1002-RelayCode-7f4dbd3/src/routerProcessManager.ts :3 import { closeSync, existsSync, mkdirSync, openSync } from 'node:fs';
  • fs hungson1002-RelayCode-7f4dbd3/src/skillRegistry.ts :1 import { readdir, readFile, stat } from 'node:fs/promises';
  • fs hungson1002-RelayCode-7f4dbd3/src/workspaceSandbox.ts :1 import { existsSync, realpathSync } from 'node:fs';
  • fs (weak) hungson1002-RelayCode-7f4dbd3/test/agentRuntime.test.ts :444 expect(vi.mocked((await import('vscode')).workspace.fs.writeFile)).toHaveBeenCalledWith(
  • fs (weak) hungson1002-RelayCode-7f4dbd3/test/chatControllerModules.test.ts :2 import { readFileSync } from 'node:fs';
  • fs (weak) hungson1002-RelayCode-7f4dbd3/test/chatGptTunnelSetup.test.ts :1 import { readFileSync } from 'node:fs';
  • fs (weak) hungson1002-RelayCode-7f4dbd3/test/chatViewAssets.test.ts :2 import { readFileSync } from 'node:fs';
  • fs (weak) hungson1002-RelayCode-7f4dbd3/test/mcpSchema.test.ts :1 import { readFileSync } from 'node:fs';
  • fs (weak) hungson1002-RelayCode-7f4dbd3/test/routerLifecycle.test.ts :1 import { readFileSync } from 'node:fs';
  • fs (weak) hungson1002-RelayCode-7f4dbd3/test/slashCommands.test.ts :1 import { readFileSync } from 'node:fs';

shell / exec 10

  • shell (weak) hungson1002-RelayCode-7f4dbd3/scripts/publish.mjs :1 import { spawnSync } from 'node:child_process';
  • shell hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :1 import { execFile } from 'node:child_process';
  • shell hungson1002-RelayCode-7f4dbd3/src/chatGptTunnelSetup.ts :2 import { execFile, spawn, type ChildProcessWithoutNullStreams } from 'node:child_process';
  • shell hungson1002-RelayCode-7f4dbd3/src/chatViewProvider.ts :3764 const { execFile } = await import('node:child_process');
  • shell hungson1002-RelayCode-7f4dbd3/src/commandRuntime.ts :1 import { spawn, type ChildProcess } from 'node:child_process';
  • shell hungson1002-RelayCode-7f4dbd3/src/gitCheckpoint.ts :1 import { execFile } from 'node:child_process';
  • shell hungson1002-RelayCode-7f4dbd3/src/gitReviewManager.ts :1 import { execFile } from 'node:child_process';
  • shell hungson1002-RelayCode-7f4dbd3/src/localRuntimeManager.ts :1 import { execFile, spawn } from 'node:child_process';
  • shell hungson1002-RelayCode-7f4dbd3/src/routerProcessManager.ts :1 import { execFile, spawn, type ChildProcess } from 'node:child_process';
  • shell (weak) hungson1002-RelayCode-7f4dbd3/test/chatGptTunnelSetup.test.ts :23 expect(source).toContain("spawn(binary, ['run', '--profile', PROFILE]");

network 12

  • net hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :223 const response = await fetch(url, { redirect: 'follow', signal: controller.signal, headers: { accept: 'text/html,text/plain,application/json,application/xml;q=0.9,*/*;q=0.1', 'user-agent': 'RelayCode/
  • net hungson1002-RelayCode-7f4dbd3/src/anthropicClient.ts :27 const response = await fetch(`${normalizeEndpoint(this.config.endpoint)}/models?limit=1000`, {
  • net hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :2 import * as http from 'node:http';
  • net hungson1002-RelayCode-7f4dbd3/src/chatGptTunnelSetup.ts :178 const releaseResponse = await fetch(RELEASE_API, { headers: { accept: 'application/vnd.github+json', 'user-agent': 'RelayCode' } });
  • net hungson1002-RelayCode-7f4dbd3/src/localRuntimeManager.ts :26 const response = await fetch(`${normalizeEndpoint(endpoint)}/models`, { signal: AbortSignal.timeout(3_000) });
  • net hungson1002-RelayCode-7f4dbd3/src/mcpManager.ts :2 import * as http from 'node:http';
  • net hungson1002-RelayCode-7f4dbd3/src/nineRouterQuota.ts :162 const response = await fetch(`${origin}/api/auth/login`, {
  • net hungson1002-RelayCode-7f4dbd3/src/routerClient.ts :107 const response = await fetch(`${normalizeEndpoint(this.config.endpoint)}/models`, {
  • net hungson1002-RelayCode-7f4dbd3/src/routerProcessManager.ts :6 import { connect } from 'node:net';
  • net hungson1002-RelayCode-7f4dbd3/src/webSearch.ts :192 const response = await fetch(url, {
  • net (weak) hungson1002-RelayCode-7f4dbd3/test/providerCompatibility.e2e.test.ts :1 import { createServer, type Server } from 'node:http';
  • net (weak) hungson1002-RelayCode-7f4dbd3/test/routerExternal.e2e.test.ts :1 import { createServer, type Server } from 'node:http';

tool registrations 32

  • read_file hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :19
  • stat_path hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :20
  • list_directory hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :21
  • read_skill_file hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :22
  • list_files hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :26
  • search_text hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :27
  • read_webpage hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :28
  • list_models hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :32
  • generate_image hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :33
  • write_file hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :39
  • apply_patch hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :40
  • create_directory hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :41
  • delete_file hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :42
  • move_file hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :43
  • git_status hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :44
  • git_diff hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :45
  • git_commit hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :46
  • git_push hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :50
  • run_command hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :54
  • run_tests hungson1002-RelayCode-7f4dbd3/src/agentRuntime.ts :59
  • sync_chat_session hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :245
  • workspace_status hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :266
  • list_workspace_files hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :279
  • read_workspace_file hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :292
  • search_workspace hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :309
  • get_workspace_diagnostics hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :334
  • get_git_diff hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :344
  • list_pending_changes hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :356
  • write_workspace_file hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :366
  • apply_workspace_patch hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :385
  • delete_workspace_file hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :405
  • run_workspace_command hungson1002-RelayCode-7f4dbd3/src/chatGptBridge.ts :423

declared dependencies 14

  • @modelcontextprotocol/sdk@^1.29.0
  • @lobehub/icons-static-svg@^1.94.0
  • @phosphor-icons/core@^2.1.1
  • ajv@^8.20.0
  • simple-icons@^16.27.1
  • zod@^4.4.3
  • @types/node@^24.0.0
  • @types/vscode@^1.100.0
  • @vscode/vsce@^3.6.0
  • esbuild@^0.25.0
  • ovsx@^1.0.2
  • sharp@^0.35.3
  • typescript@^5.8.0
  • vitest@^3.2.0