Consolidates the two-step architecture (prepare → run) into a single step to eliminate file-based and output-based communication. Changes: - Add base-action/src/lib.ts with exports for main action import - Modify run-claude-sdk.ts to accept prompt string directly and return result - Add generatePromptContent() that returns prompt without file I/O - Update mode prepare() to return promptContent in result - Create src/entrypoints/run.ts as unified entry point - Update action.yml to use single Run Claude Code step - Update output references from steps.prepare to steps.claude-code Benefits: - No file I/O for prompt - data stays in memory - No step output parsing - direct function returns - Simpler debugging - single entry point - Faster execution - no subprocess overhead - Type safety - TypeScript across the boundary 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
27 lines
670 B
TypeScript
27 lines
670 B
TypeScript
import type { GitHubContext } from "../github/context";
|
|
import type { Octokits } from "../github/api/client";
|
|
import type { Mode } from "../modes/types";
|
|
|
|
export type PrepareResult = {
|
|
commentId?: number;
|
|
branchInfo: {
|
|
baseBranch: string;
|
|
claudeBranch?: string;
|
|
currentBranch: string;
|
|
};
|
|
mcpConfig: string;
|
|
/** Generated prompt content for Claude */
|
|
promptContent?: string;
|
|
/** Comma-separated list of allowed tools */
|
|
allowedTools?: string;
|
|
/** Comma-separated list of disallowed tools */
|
|
disallowedTools?: string;
|
|
};
|
|
|
|
export type PrepareOptions = {
|
|
context: GitHubContext;
|
|
octokit: Octokits;
|
|
mode: Mode;
|
|
githubToken: string;
|
|
};
|