Update
This commit is contained in:
committed by
pullfrog[bot]
parent
071e885d63
commit
f77fecc2a0
@@ -135594,9 +135594,14 @@ import { join } from "node:path";
|
||||
// utils/log.ts
|
||||
var core = __toESM(require_core(), 1);
|
||||
var import_table = __toESM(require_src(), 1);
|
||||
|
||||
// utils/globals.ts
|
||||
import { existsSync } from "node:fs";
|
||||
var isCloudflareSandbox = !!process.env.CLOUDFLARE_APPLICATION_ID && !!process.env.SANDBOX_VERSION;
|
||||
var isGitHubActions = !!process.env.GITHUB_ACTIONS;
|
||||
var isInsideDocker = existsSync("/.dockerenv");
|
||||
|
||||
// utils/log.ts
|
||||
var isDebugEnabled = () => process.env.LOG_LEVEL === "debug" || process.env.ACTIONS_STEP_DEBUG === "true" || process.env.RUNNER_DEBUG === "1" || core.isDebug();
|
||||
function formatArgs(args3) {
|
||||
return args3.map((arg) => {
|
||||
@@ -141996,14 +142001,31 @@ import assert2 from "node:assert/strict";
|
||||
var githubInstallationToken;
|
||||
async function resolveInstallationToken() {
|
||||
assert2(!githubInstallationToken, "GitHub installation token is already set.");
|
||||
const acquiredToken = await acquireNewToken();
|
||||
core3.setSecret(acquiredToken);
|
||||
githubInstallationToken = acquiredToken;
|
||||
const originalToken = process.env.GITHUB_TOKEN;
|
||||
if (originalToken) {
|
||||
process.env.ORIGINAL_GITHUB_TOKEN = originalToken;
|
||||
}
|
||||
const externalToken = process.env.GH_TOKEN;
|
||||
const token = externalToken || await acquireNewToken();
|
||||
process.env.GITHUB_TOKEN = token;
|
||||
githubInstallationToken = token;
|
||||
if (isGitHubActions) {
|
||||
core3.setSecret(token);
|
||||
}
|
||||
return {
|
||||
token: acquiredToken,
|
||||
[Symbol.asyncDispose]() {
|
||||
token,
|
||||
originalToken,
|
||||
async [Symbol.asyncDispose]() {
|
||||
githubInstallationToken = void 0;
|
||||
return revokeGitHubInstallationToken(acquiredToken);
|
||||
if (originalToken) {
|
||||
process.env.GITHUB_TOKEN = originalToken;
|
||||
} else {
|
||||
delete process.env.GITHUB_TOKEN;
|
||||
}
|
||||
if (externalToken) {
|
||||
return;
|
||||
}
|
||||
return revokeGitHubInstallationToken(token);
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -159965,7 +159987,7 @@ function query({
|
||||
// package.json
|
||||
var package_default = {
|
||||
name: "@pullfrog/pullfrog",
|
||||
version: "0.0.159",
|
||||
version: "0.0.161",
|
||||
type: "module",
|
||||
files: [
|
||||
"index.js",
|
||||
@@ -159992,7 +160014,6 @@ var package_default = {
|
||||
},
|
||||
dependencies: {
|
||||
"@actions/core": "^1.11.1",
|
||||
"@actions/github": "^6.0.1",
|
||||
"@anthropic-ai/claude-agent-sdk": "0.2.7",
|
||||
"@ark/fs": "0.53.0",
|
||||
"@ark/util": "0.53.0",
|
||||
@@ -162604,101 +162625,108 @@ async function resolveRun(params) {
|
||||
|
||||
// main.ts
|
||||
async function main() {
|
||||
normalizeEnv();
|
||||
process.env.ORIGINAL_GITHUB_TOKEN = process.env.GITHUB_TOKEN;
|
||||
const timer = new Timer();
|
||||
const tokenRef = await resolveInstallationToken();
|
||||
process.env.GITHUB_TOKEN = tokenRef.token;
|
||||
const octokit = createOctokit(tokenRef.token);
|
||||
const runInfo = await resolveRun({ octokit });
|
||||
const toolState = initToolState({ runInfo });
|
||||
setupExitHandler(toolState);
|
||||
var _stack2 = [];
|
||||
try {
|
||||
var _stack = [];
|
||||
normalizeEnv();
|
||||
const timer = new Timer();
|
||||
const tokenRef = __using(_stack2, await resolveInstallationToken(), true);
|
||||
process.env.GITHUB_TOKEN = tokenRef.token;
|
||||
const octokit = createOctokit(tokenRef.token);
|
||||
const runInfo = await resolveRun({ octokit });
|
||||
const toolState = initToolState({ runInfo });
|
||||
setupExitHandler(toolState);
|
||||
try {
|
||||
const runContext = await resolveRunContextData({ octokit, token: tokenRef.token });
|
||||
timer.checkpoint("runContextData");
|
||||
const payload = resolvePayload(runContext.repoSettings);
|
||||
if (payload.cwd && process.cwd() !== payload.cwd) {
|
||||
process.chdir(payload.cwd);
|
||||
}
|
||||
const originalBody = payload.event.body;
|
||||
const resolvedBody = await resolveBody({
|
||||
event: payload.event,
|
||||
octokit,
|
||||
repo: runContext.repo
|
||||
});
|
||||
if (resolvedBody !== originalBody) {
|
||||
payload.event.body = resolvedBody;
|
||||
if (originalBody && payload.prompt.includes(originalBody)) {
|
||||
payload.prompt = payload.prompt.replace(originalBody, resolvedBody ?? "");
|
||||
var _stack = [];
|
||||
try {
|
||||
const runContext = await resolveRunContextData({ octokit, token: tokenRef.token });
|
||||
timer.checkpoint("runContextData");
|
||||
const payload = resolvePayload(runContext.repoSettings);
|
||||
if (payload.cwd && process.cwd() !== payload.cwd) {
|
||||
process.chdir(payload.cwd);
|
||||
}
|
||||
const originalBody = payload.event.body;
|
||||
const resolvedBody = await resolveBody({
|
||||
event: payload.event,
|
||||
octokit,
|
||||
repo: runContext.repo
|
||||
});
|
||||
if (resolvedBody !== originalBody) {
|
||||
payload.event.body = resolvedBody;
|
||||
if (originalBody && payload.prompt.includes(originalBody)) {
|
||||
payload.prompt = payload.prompt.replace(originalBody, resolvedBody ?? "");
|
||||
}
|
||||
}
|
||||
const tmpdir3 = createTempDirectory();
|
||||
const agent2 = resolveAgent({ payload, repoSettings: runContext.repoSettings });
|
||||
validateAgentApiKey({
|
||||
agent: agent2,
|
||||
owner: runContext.repo.owner,
|
||||
name: runContext.repo.name
|
||||
});
|
||||
await setupGit({
|
||||
token: tokenRef.token,
|
||||
originalToken: tokenRef.originalToken,
|
||||
bashPermission: payload.bash,
|
||||
owner: runContext.repo.owner,
|
||||
name: runContext.repo.name,
|
||||
event: payload.event,
|
||||
octokit,
|
||||
toolState
|
||||
});
|
||||
timer.checkpoint("git");
|
||||
const modes2 = [...computeModes(), ...runContext.repoSettings.modes];
|
||||
const mcpHttpServer = __using(_stack, await startMcpHttpServer({
|
||||
repo: runContext.repo,
|
||||
payload,
|
||||
octokit,
|
||||
githubInstallationToken: tokenRef.token,
|
||||
apiToken: runContext.apiToken,
|
||||
agent: agent2,
|
||||
modes: modes2,
|
||||
toolState,
|
||||
runId: runInfo.runId,
|
||||
jobId: runInfo.jobId
|
||||
}), true);
|
||||
log.info(`\xBB MCP server started at ${mcpHttpServer.url}`);
|
||||
timer.checkpoint("mcpServer");
|
||||
const instructions = resolveInstructions({
|
||||
payload,
|
||||
repo: runContext.repo,
|
||||
modes: modes2
|
||||
});
|
||||
const result = await agent2.run({
|
||||
payload,
|
||||
mcpServerUrl: mcpHttpServer.url,
|
||||
tmpdir: tmpdir3,
|
||||
instructions
|
||||
});
|
||||
if (toolState.lastProgressBody) {
|
||||
await writeSummary(toolState.lastProgressBody);
|
||||
}
|
||||
return handleAgentResult(result);
|
||||
} catch (_) {
|
||||
var _error = _, _hasError = true;
|
||||
} finally {
|
||||
var _promise2 = __callDispose(_stack, _error, _hasError);
|
||||
_promise2 && await _promise2;
|
||||
}
|
||||
const tmpdir3 = createTempDirectory();
|
||||
const agent2 = resolveAgent({ payload, repoSettings: runContext.repoSettings });
|
||||
validateAgentApiKey({
|
||||
agent: agent2,
|
||||
owner: runContext.repo.owner,
|
||||
name: runContext.repo.name
|
||||
});
|
||||
await setupGit({
|
||||
token: tokenRef.token,
|
||||
originalToken: process.env.ORIGINAL_GITHUB_TOKEN,
|
||||
bashPermission: payload.bash,
|
||||
owner: runContext.repo.owner,
|
||||
name: runContext.repo.name,
|
||||
event: payload.event,
|
||||
octokit,
|
||||
toolState
|
||||
});
|
||||
timer.checkpoint("git");
|
||||
const modes2 = [...computeModes(), ...runContext.repoSettings.modes];
|
||||
const mcpHttpServer = __using(_stack, await startMcpHttpServer({
|
||||
repo: runContext.repo,
|
||||
payload,
|
||||
octokit,
|
||||
githubInstallationToken: tokenRef.token,
|
||||
apiToken: runContext.apiToken,
|
||||
agent: agent2,
|
||||
modes: modes2,
|
||||
toolState,
|
||||
runId: runInfo.runId,
|
||||
jobId: runInfo.jobId
|
||||
}), true);
|
||||
log.info(`\xBB MCP server started at ${mcpHttpServer.url}`);
|
||||
timer.checkpoint("mcpServer");
|
||||
const instructions = resolveInstructions({
|
||||
payload,
|
||||
repo: runContext.repo,
|
||||
modes: modes2
|
||||
});
|
||||
const result = await agent2.run({
|
||||
payload,
|
||||
mcpServerUrl: mcpHttpServer.url,
|
||||
tmpdir: tmpdir3,
|
||||
instructions
|
||||
});
|
||||
if (toolState.lastProgressBody) {
|
||||
await writeSummary(toolState.lastProgressBody);
|
||||
} catch (error50) {
|
||||
const errorMessage = error50 instanceof Error ? error50.message : "Unknown error occurred";
|
||||
log.error(errorMessage);
|
||||
try {
|
||||
await reportErrorToComment({ toolState, error: errorMessage });
|
||||
} catch {
|
||||
}
|
||||
return handleAgentResult(result);
|
||||
} catch (_) {
|
||||
var _error = _, _hasError = true;
|
||||
} finally {
|
||||
var _promise2 = __callDispose(_stack, _error, _hasError);
|
||||
_promise2 && await _promise2;
|
||||
return {
|
||||
success: false,
|
||||
error: errorMessage
|
||||
};
|
||||
}
|
||||
} catch (error50) {
|
||||
const errorMessage = error50 instanceof Error ? error50.message : "Unknown error occurred";
|
||||
log.error(errorMessage);
|
||||
try {
|
||||
await reportErrorToComment({ toolState, error: errorMessage });
|
||||
} catch {
|
||||
}
|
||||
return {
|
||||
success: false,
|
||||
error: errorMessage
|
||||
};
|
||||
} catch (_2) {
|
||||
var _error2 = _2, _hasError2 = true;
|
||||
} finally {
|
||||
var _promise3 = __callDispose(_stack2, _error2, _hasError2);
|
||||
_promise3 && await _promise3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user