opencode-magi 0.0.0-dev-20260522220355 → 0.0.0-dev-20260522221334
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/orchestrator/ci.js
CHANGED
|
@@ -367,18 +367,20 @@ async function classifyChecks(input) {
|
|
|
367
367
|
const rawPath = input.outputDir
|
|
368
368
|
? join(input.outputDir, `${reviewer.key}.ci-classification.raw.txt`)
|
|
369
369
|
: undefined;
|
|
370
|
-
const
|
|
370
|
+
const checks = result.value.checks.map((check) => ({
|
|
371
|
+
classification: check.classification,
|
|
372
|
+
name: check.name,
|
|
373
|
+
reason: check.reason,
|
|
374
|
+
}));
|
|
371
375
|
if (rawPath)
|
|
372
376
|
await writeFile(rawPath, result.raw);
|
|
373
|
-
run.
|
|
377
|
+
run.checks = checks;
|
|
374
378
|
run.rawPath = rawPath;
|
|
375
|
-
run.reason = check?.reason;
|
|
376
379
|
run.sessionId = result.sessionId;
|
|
377
380
|
run.status = "completed";
|
|
378
381
|
await input.onClassifierProgress?.({
|
|
379
|
-
|
|
382
|
+
checks,
|
|
380
383
|
rawPath,
|
|
381
|
-
reason: check?.reason ?? "No classification reason was provided.",
|
|
382
384
|
reviewer: reviewer.key,
|
|
383
385
|
sessionId: result.sessionId,
|
|
384
386
|
type: "classifier_completed",
|
|
@@ -53,7 +53,7 @@ async function withReviewerFailureProgress(input) {
|
|
|
53
53
|
async function runEditor(input, worktreePath, cycle, reviewFindings, unresolvedThreads) {
|
|
54
54
|
const editor = input.repository.agents.editor;
|
|
55
55
|
if (!editor)
|
|
56
|
-
throw new Error("
|
|
56
|
+
throw new Error("merge.editor is required for magi_merge");
|
|
57
57
|
throwIfAborted(input.signal);
|
|
58
58
|
await configureGitIdentity(input.exec, worktreePath, {
|
|
59
59
|
email: editor.author?.email,
|
|
@@ -587,7 +587,7 @@ export async function runMerge(input) {
|
|
|
587
587
|
const abortableInput = { ...input, exec };
|
|
588
588
|
const editor = input.repository.agents.editor;
|
|
589
589
|
if (!editor)
|
|
590
|
-
throw new Error("
|
|
590
|
+
throw new Error("merge.editor is required for magi_merge");
|
|
591
591
|
throwIfAborted(input.signal);
|
|
592
592
|
const artifactDir = outputDir(input);
|
|
593
593
|
await mkdir(artifactDir, { recursive: true });
|
|
@@ -151,6 +151,12 @@ function ciReportText(input) {
|
|
|
151
151
|
const scopeInside = input.report.scopeInside.length;
|
|
152
152
|
return `CI report for ${input.pr}: ${failed} failed, ${scopeInside} scope-in, ${rerun} rerun, ${recovered} recovered, ${unresolved} unresolved.`;
|
|
153
153
|
}
|
|
154
|
+
function ciClassifierCompletedText(input) {
|
|
155
|
+
const summary = input.checks
|
|
156
|
+
.map((check) => `${check.name}: ${check.classification} - ${check.reason}`)
|
|
157
|
+
.join("; ");
|
|
158
|
+
return `**CI classifier ${input.reviewer}** completed for ${input.pr}: ${summary}`;
|
|
159
|
+
}
|
|
154
160
|
function closeReconsiderationText(input) {
|
|
155
161
|
if (input.to === "MERGE") {
|
|
156
162
|
return `**Reviewer ${input.reviewer}** changed their close request to approval for ${input.pr}.`;
|
|
@@ -1704,9 +1710,8 @@ export class MagiRunManager {
|
|
|
1704
1710
|
if (progress.type === "ci_classifier_completed") {
|
|
1705
1711
|
const classifier = state.ciClassifiers?.[progress.reviewer];
|
|
1706
1712
|
if (classifier) {
|
|
1707
|
-
classifier.
|
|
1713
|
+
classifier.checks = progress.checks;
|
|
1708
1714
|
classifier.rawPath = progress.rawPath;
|
|
1709
|
-
classifier.reason = progress.reason;
|
|
1710
1715
|
classifier.sessionId = progress.sessionId;
|
|
1711
1716
|
classifier.status = "completed";
|
|
1712
1717
|
classifier.lastUpdate = now();
|
|
@@ -1814,7 +1819,11 @@ export class MagiRunManager {
|
|
|
1814
1819
|
await this.notify(state, `**CI classifier ${progress.reviewer}** started JSON regeneration for ${prMarkdownLink(state)}.`);
|
|
1815
1820
|
}
|
|
1816
1821
|
if (progress.type === "ci_classifier_completed") {
|
|
1817
|
-
await this.notify(state,
|
|
1822
|
+
await this.notify(state, ciClassifierCompletedText({
|
|
1823
|
+
checks: progress.checks,
|
|
1824
|
+
pr: prMarkdownLink(state),
|
|
1825
|
+
reviewer: progress.reviewer,
|
|
1826
|
+
}));
|
|
1818
1827
|
}
|
|
1819
1828
|
if (progress.type === "ci_classifier_failed") {
|
|
1820
1829
|
await this.notify(state, `**CI classifier ${progress.reviewer}** failed for ${prMarkdownLink(state)}: ${redactSecrets(progress.error)}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-magi",
|
|
3
|
-
"version": "0.0.0-dev-
|
|
3
|
+
"version": "0.0.0-dev-20260522221334",
|
|
4
4
|
"description": "Multi-agent PR review and merge orchestration plugin for OpenCode.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Hirotomo Yamada <hirotomo.yamada@avap.co.jp>",
|