refactor action to use INPUTS_JSON object
This commit is contained in:
@@ -2,49 +2,26 @@
|
||||
|
||||
/**
|
||||
* Entry point for GitHub Action
|
||||
* This file is bundled to entry.cjs and called directly by GitHub Actions
|
||||
*/
|
||||
|
||||
import * as core from "@actions/core";
|
||||
import { type ExecutionInputs, type MainParams, main } from "./main.ts";
|
||||
import { type } from "arktype";
|
||||
import { main, Inputs } from "./main.ts";
|
||||
import packageJson from "./package.json" with { type: "json" };
|
||||
import { setupGitHubInstallationToken } from "./utils/github.ts";
|
||||
|
||||
async function run(): Promise<void> {
|
||||
try {
|
||||
console.log(`🐸 Running pullfrog/action@${packageJson.version}...`);
|
||||
const prompt = core.getInput("prompt", { required: true });
|
||||
const anthropic_api_key = core.getInput("anthropic_api_key");
|
||||
|
||||
if (!prompt) {
|
||||
throw new Error("prompt is required");
|
||||
const inputsJson = process.env.INPUTS_JSON;
|
||||
if (!inputsJson) {
|
||||
throw new Error("INPUTS_JSON environment variable not found");
|
||||
}
|
||||
|
||||
const inputs: ExecutionInputs = {
|
||||
prompt,
|
||||
anthropic_api_key,
|
||||
};
|
||||
const parsed = type("string.json.parse").assert(inputsJson);
|
||||
const inputs = Inputs.assert(parsed);
|
||||
|
||||
const githubToken = core.getInput("github_token") || process.env.GITHUB_TOKEN;
|
||||
if (githubToken) {
|
||||
inputs.github_token = githubToken;
|
||||
}
|
||||
|
||||
const githubInstallationToken =
|
||||
core.getInput("github_installation_token") || process.env.GITHUB_INSTALLATION_TOKEN;
|
||||
if (githubInstallationToken) {
|
||||
inputs.github_installation_token = githubInstallationToken;
|
||||
} else {
|
||||
await setupGitHubInstallationToken();
|
||||
}
|
||||
|
||||
const params: MainParams = {
|
||||
inputs,
|
||||
env: {},
|
||||
cwd: process.cwd(),
|
||||
};
|
||||
|
||||
const result = await main(params);
|
||||
const result = await main(inputs);
|
||||
|
||||
if (!result.success) {
|
||||
throw new Error(result.error || "Agent execution failed");
|
||||
@@ -55,7 +32,4 @@ async function run(): Promise<void> {
|
||||
}
|
||||
}
|
||||
|
||||
run().catch((error) => {
|
||||
console.error("Action failed:", error);
|
||||
process.exit(1);
|
||||
});
|
||||
await run();
|
||||
|
||||
Reference in New Issue
Block a user