opencara 0.22.8 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +53 -13
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -165,7 +165,7 @@ function parseTimeout(value) {
|
|
|
165
165
|
if (!match)
|
|
166
166
|
return "10m";
|
|
167
167
|
const minutes = parseInt(match[1], 10);
|
|
168
|
-
if (minutes < 1
|
|
168
|
+
if (minutes < 1)
|
|
169
169
|
return "10m";
|
|
170
170
|
return value;
|
|
171
171
|
}
|
|
@@ -4011,16 +4011,56 @@ async function executeImplementTask(client, agentId, task, deps, timeoutSeconds,
|
|
|
4011
4011
|
runTool
|
|
4012
4012
|
);
|
|
4013
4013
|
logger.log(` AI completed (${aiResult.tokensUsed.toLocaleString()} tokens)`);
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4014
|
+
let filesChanged = 0;
|
|
4015
|
+
let uncommitted = 0;
|
|
4016
|
+
try {
|
|
4017
|
+
uncommitted = countChangedFiles(worktreePath);
|
|
4018
|
+
} catch {
|
|
4019
|
+
uncommitted = 1;
|
|
4020
|
+
}
|
|
4021
|
+
if (uncommitted > 0) {
|
|
4022
|
+
logger.log(" Committing and pushing changes...");
|
|
4023
|
+
filesChanged = gitOps.commitAndPush(worktreePath, issueNumber, issueTitle);
|
|
4024
|
+
logger.log(` Pushed ${filesChanged} file(s) to ${branchName}`);
|
|
4025
|
+
} else {
|
|
4026
|
+
logger.log(" No uncommitted changes \u2014 AI agent handled commit/push");
|
|
4027
|
+
}
|
|
4028
|
+
let prNumber = 0;
|
|
4029
|
+
let prUrl = "";
|
|
4030
|
+
try {
|
|
4031
|
+
logger.log(" Creating pull request...");
|
|
4032
|
+
const pr = gitOps.createPR(
|
|
4033
|
+
worktreePath,
|
|
4034
|
+
issueNumber,
|
|
4035
|
+
issueTitle,
|
|
4036
|
+
aiResult.output.summary,
|
|
4037
|
+
branchName
|
|
4038
|
+
);
|
|
4039
|
+
prNumber = pr.prNumber;
|
|
4040
|
+
prUrl = pr.prUrl;
|
|
4041
|
+
logger.log(` PR #${prNumber} created: ${prUrl}`);
|
|
4042
|
+
} catch (prErr) {
|
|
4043
|
+
try {
|
|
4044
|
+
const existing = ghExec(
|
|
4045
|
+
["pr", "list", "--head", branchName, "--json", "number,url", "--limit", "1"],
|
|
4046
|
+
worktreePath
|
|
4047
|
+
);
|
|
4048
|
+
const parsed = JSON.parse(existing);
|
|
4049
|
+
if (parsed.length > 0) {
|
|
4050
|
+
prNumber = parsed[0].number;
|
|
4051
|
+
prUrl = parsed[0].url;
|
|
4052
|
+
logger.log(` PR #${prNumber} already exists: ${prUrl}`);
|
|
4053
|
+
} else {
|
|
4054
|
+
throw prErr;
|
|
4055
|
+
}
|
|
4056
|
+
} catch {
|
|
4057
|
+
throw prErr;
|
|
4058
|
+
}
|
|
4059
|
+
}
|
|
4020
4060
|
const report = {
|
|
4021
4061
|
branch: branchName,
|
|
4022
|
-
pr_number:
|
|
4023
|
-
pr_url:
|
|
4062
|
+
pr_number: prNumber,
|
|
4063
|
+
pr_url: prUrl,
|
|
4024
4064
|
files_changed: filesChanged,
|
|
4025
4065
|
summary: aiResult.output.summary
|
|
4026
4066
|
};
|
|
@@ -5531,7 +5571,7 @@ function sleep2(ms, signal) {
|
|
|
5531
5571
|
async function startAgent(agentId, platformUrl, agentInfo, reviewDeps, consumptionDeps, options) {
|
|
5532
5572
|
const client = new ApiClient(platformUrl, {
|
|
5533
5573
|
authToken: options?.authToken,
|
|
5534
|
-
cliVersion: "0.
|
|
5574
|
+
cliVersion: "0.23.0",
|
|
5535
5575
|
versionOverride: options?.versionOverride,
|
|
5536
5576
|
onTokenRefresh: options?.onTokenRefresh
|
|
5537
5577
|
});
|
|
@@ -5817,7 +5857,7 @@ async function startBatchAgents(config, agents, pollIntervalMs, oauthToken, opti
|
|
|
5817
5857
|
const { versionOverride, verbose, instancesOverride, agentOwner, userOrgs } = options;
|
|
5818
5858
|
const client = new ApiClient(config.platformUrl, {
|
|
5819
5859
|
authToken: oauthToken,
|
|
5820
|
-
cliVersion: "0.
|
|
5860
|
+
cliVersion: "0.23.0",
|
|
5821
5861
|
versionOverride,
|
|
5822
5862
|
onTokenRefresh: () => getValidToken(config.platformUrl, { configPath: config.authFile })
|
|
5823
5863
|
});
|
|
@@ -6160,7 +6200,7 @@ agentCommand.command("start").description("Start agents in polling mode").option
|
|
|
6160
6200
|
}
|
|
6161
6201
|
config = loadConfig();
|
|
6162
6202
|
}
|
|
6163
|
-
console.log(formatVersionBanner("0.
|
|
6203
|
+
console.log(formatVersionBanner("0.23.0", "6cd5f00"));
|
|
6164
6204
|
if (config.agents && config.agents.length > 0) {
|
|
6165
6205
|
const toolEntries = config.agents.map((a) => ({
|
|
6166
6206
|
tool: a.tool,
|
|
@@ -6983,7 +7023,7 @@ var statusCommand = new Command4("status").description("Show agent config, conne
|
|
|
6983
7023
|
});
|
|
6984
7024
|
|
|
6985
7025
|
// src/index.ts
|
|
6986
|
-
var program = new Command5().name("opencara").description("OpenCara \u2014 distributed AI code review agent").version(`${"0.
|
|
7026
|
+
var program = new Command5().name("opencara").description("OpenCara \u2014 distributed AI code review agent").version(`${"0.23.0"} (${"6cd5f00"})`);
|
|
6987
7027
|
program.addCommand(agentCommand);
|
|
6988
7028
|
program.addCommand(authCommand());
|
|
6989
7029
|
program.addCommand(dedupCommand());
|