From d24561da517e67a38f93ce2182bbdc5f4fd556aa Mon Sep 17 00:00:00 2001 From: km-anthropic Date: Wed, 13 Aug 2025 09:54:57 -0700 Subject: [PATCH] Format code with prettier --- src/mcp/install-mcp-server.ts | 10 +++++++--- src/modes/agent/index.ts | 21 +++++++++++---------- src/modes/agent/parse-tools.ts | 16 ++++++++-------- test/modes/parse-tools.test.ts | 8 +++++--- 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/mcp/install-mcp-server.ts b/src/mcp/install-mcp-server.ts index f533525..97db44c 100644 --- a/src/mcp/install-mcp-server.ts +++ b/src/mcp/install-mcp-server.ts @@ -68,7 +68,7 @@ export async function prepareMcpConfig( const hasGitHubMcpTools = allowedToolsList.some((tool) => tool.startsWith("mcp__github__"), ); - + const hasInlineCommentTools = allowedToolsList.some((tool) => tool.startsWith("mcp__github_inline_comment__"), ); @@ -115,9 +115,13 @@ export async function prepareMcpConfig( }, }; } - + // Include inline comment server for PRs when requested via allowed tools - if (isEntityContext(context) && context.isPR && (hasGitHubMcpTools || hasInlineCommentTools)) { + if ( + isEntityContext(context) && + context.isPR && + (hasGitHubMcpTools || hasInlineCommentTools) + ) { baseMcpConfig.mcpServers.github_inline_comment = { command: "bun", args: [ diff --git a/src/modes/agent/index.ts b/src/modes/agent/index.ts index 771d8ed..11b2ae2 100644 --- a/src/modes/agent/index.ts +++ b/src/modes/agent/index.ts @@ -46,11 +46,12 @@ export const agentMode: Mode = { await mkdir(`${process.env.RUNNER_TEMP}/claude-prompts`, { recursive: true, }); - + // Write the prompt file - use the user's prompt directly - const promptContent = context.inputs.prompt || + const promptContent = + context.inputs.prompt || `Repository: ${context.repository.owner}/${context.repository.repo}`; - + await writeFile( `${process.env.RUNNER_TEMP}/claude-prompts/claude-prompt.txt`, promptContent, @@ -59,12 +60,11 @@ export const agentMode: Mode = { // Parse allowed tools from user's claude_args const userClaudeArgs = process.env.CLAUDE_ARGS || ""; const allowedTools = parseAllowedTools(userClaudeArgs); - + // Detect current branch from GitHub environment - const currentBranch = process.env.GITHUB_HEAD_REF || - process.env.GITHUB_REF_NAME || - "main"; - + const currentBranch = + process.env.GITHUB_HEAD_REF || process.env.GITHUB_REF_NAME || "main"; + // Get MCP configuration with GitHub servers when requested const additionalMcpConfig = process.env.MCP_CONFIG || ""; const mcpConfig = await prepareMcpConfig({ @@ -81,8 +81,9 @@ export const agentMode: Mode = { // Build final claude_args const escapedMcpConfig = mcpConfig.replace(/'/g, "'\\''"); - const claudeArgs = `--mcp-config '${escapedMcpConfig}' ${userClaudeArgs}`.trim(); - + const claudeArgs = + `--mcp-config '${escapedMcpConfig}' ${userClaudeArgs}`.trim(); + core.setOutput("claude_args", claudeArgs); return { diff --git a/src/modes/agent/parse-tools.ts b/src/modes/agent/parse-tools.ts index 57cad49..b0b844e 100644 --- a/src/modes/agent/parse-tools.ts +++ b/src/modes/agent/parse-tools.ts @@ -2,21 +2,21 @@ export function parseAllowedTools(claudeArgs: string): string[] { // Match --allowedTools followed by the value // Handle both quoted and unquoted values const patterns = [ - /--allowedTools\s+"([^"]+)"/, // Double quoted - /--allowedTools\s+'([^']+)'/, // Single quoted - /--allowedTools\s+([^\s]+)/, // Unquoted + /--allowedTools\s+"([^"]+)"/, // Double quoted + /--allowedTools\s+'([^']+)'/, // Single quoted + /--allowedTools\s+([^\s]+)/, // Unquoted ]; - + for (const pattern of patterns) { const match = claudeArgs.match(pattern); if (match && match[1]) { // Don't return if the value starts with -- (another flag) - if (match[1].startsWith('--')) { + if (match[1].startsWith("--")) { return []; } - return match[1].split(',').map(t => t.trim()); + return match[1].split(",").map((t) => t.trim()); } } - + return []; -} \ No newline at end of file +} diff --git a/test/modes/parse-tools.test.ts b/test/modes/parse-tools.test.ts index c1c73ff..f32281a 100644 --- a/test/modes/parse-tools.test.ts +++ b/test/modes/parse-tools.test.ts @@ -47,7 +47,8 @@ describe("parseAllowedTools", () => { }); test("handles multiple flags with allowedTools in middle", () => { - const args = '--flag1 value1 --allowedTools "mcp__github__*" --flag2 value2'; + const args = + '--flag1 value1 --allowedTools "mcp__github__*" --flag2 value2'; expect(parseAllowedTools(args)).toEqual(["mcp__github__*"]); }); @@ -60,10 +61,11 @@ describe("parseAllowedTools", () => { }); test("handles tools with special characters", () => { - const args = '--allowedTools "mcp__github__create_issue,mcp__github_comment__update"'; + const args = + '--allowedTools "mcp__github__create_issue,mcp__github_comment__update"'; expect(parseAllowedTools(args)).toEqual([ "mcp__github__create_issue", "mcp__github_comment__update", ]); }); -}); \ No newline at end of file +});