opencode-ultra 0.9.0 → 0.9.1
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/config.d.ts +2 -0
- package/dist/index.js +19 -9
- package/package.json +1 -1
package/dist/config.d.ts
CHANGED
|
@@ -79,6 +79,8 @@ declare const PluginConfigSchema: z.ZodObject<{
|
|
|
79
79
|
totalTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
80
80
|
skipReview: z.ZodOptional<z.ZodBoolean>;
|
|
81
81
|
skipTests: z.ZodOptional<z.ZodBoolean>;
|
|
82
|
+
implementAgent: z.ZodOptional<z.ZodString>;
|
|
83
|
+
reviewAgent: z.ZodOptional<z.ZodString>;
|
|
82
84
|
}, z.core.$strip>>;
|
|
83
85
|
}, z.core.$loose>;
|
|
84
86
|
export type PluginConfig = z.infer<typeof PluginConfigSchema>;
|
package/dist/index.js
CHANGED
|
@@ -14700,7 +14700,9 @@ var PluginConfigSchema = exports_external.object({
|
|
|
14700
14700
|
iterationTimeoutMs: exports_external.number().min(1e4).optional(),
|
|
14701
14701
|
totalTimeoutMs: exports_external.number().min(60000).optional(),
|
|
14702
14702
|
skipReview: exports_external.boolean().optional(),
|
|
14703
|
-
skipTests: exports_external.boolean().optional()
|
|
14703
|
+
skipTests: exports_external.boolean().optional(),
|
|
14704
|
+
implementAgent: exports_external.string().optional(),
|
|
14705
|
+
reviewAgent: exports_external.string().optional()
|
|
14704
14706
|
}).optional()
|
|
14705
14707
|
}).passthrough();
|
|
14706
14708
|
function parsePluginConfig(raw) {
|
|
@@ -14814,7 +14816,7 @@ var BUILTIN_AGENTS = {
|
|
|
14814
14816
|
}
|
|
14815
14817
|
},
|
|
14816
14818
|
oracle: {
|
|
14817
|
-
model: "openai/gpt-5.
|
|
14819
|
+
model: "openai-codex/gpt-5.3-codex",
|
|
14818
14820
|
description: "Design architect and debugger \u2014 conventional problem solving, architecture review",
|
|
14819
14821
|
prompt: "You are Oracle, a design architect and debugging specialist. Focus on architecture decisions, debugging complex issues, and providing well-reasoned technical solutions.",
|
|
14820
14822
|
mode: "subagent",
|
|
@@ -14864,7 +14866,7 @@ var BUILTIN_AGENTS = {
|
|
|
14864
14866
|
maxTokens: 32000
|
|
14865
14867
|
},
|
|
14866
14868
|
hephaestus: {
|
|
14867
|
-
model: "openai/gpt-5.
|
|
14869
|
+
model: "openai-codex/gpt-5.3-codex",
|
|
14868
14870
|
description: "Deep autonomous worker \u2014 handles complex implementation tasks independently",
|
|
14869
14871
|
prompt: "You are Hephaestus, an autonomous implementation specialist. Handle complex coding tasks independently with high precision. Write clean, well-tested code that follows existing patterns.",
|
|
14870
14872
|
mode: "subagent",
|
|
@@ -29575,9 +29577,11 @@ function createEvolveExeTool(ctx, internalSessions, deps = {}) {
|
|
|
29575
29577
|
const totalTimeoutMs = deps.evolveExeConfig?.totalTimeoutMs ?? DEFAULT_TOTAL_TIMEOUT_MS;
|
|
29576
29578
|
const configSkipReview = deps.evolveExeConfig?.skipReview ?? false;
|
|
29577
29579
|
const configSkipTests = deps.evolveExeConfig?.skipTests ?? false;
|
|
29580
|
+
const implementAgent = deps.evolveExeConfig?.implementAgent ?? "hephaestus";
|
|
29581
|
+
const reviewAgent = deps.evolveExeConfig?.reviewAgent ?? "momus";
|
|
29578
29582
|
return tool({
|
|
29579
29583
|
description: `Execute evolve proposals autonomously. For each proposal:
|
|
29580
|
-
GIT BRANCH \u2192 IMPLEMENT (
|
|
29584
|
+
GIT BRANCH \u2192 IMPLEMENT (${implementAgent}) \u2192 TEST \u2192 BUILD \u2192 REVIEW (${reviewAgent}) \u2192 MERGE/ROLLBACK.
|
|
29581
29585
|
|
|
29582
29586
|
Proposals are identified by their JSONL line number (1-based) from .opencode/evolve-proposals.jsonl.
|
|
29583
29587
|
Use evolve_scan first to see numbered proposals.
|
|
@@ -29665,6 +29669,8 @@ Failed to determine current git branch. Is this a git repository?`;
|
|
|
29665
29669
|
maxIterations,
|
|
29666
29670
|
iterationTimeoutMs,
|
|
29667
29671
|
totalTimeoutMs,
|
|
29672
|
+
implementAgent,
|
|
29673
|
+
reviewAgent,
|
|
29668
29674
|
progressLabel: `[${i + 1}/${selected.length}]`
|
|
29669
29675
|
});
|
|
29670
29676
|
results.push(result);
|
|
@@ -29710,6 +29716,8 @@ async function executeProposal(args) {
|
|
|
29710
29716
|
maxIterations,
|
|
29711
29717
|
iterationTimeoutMs,
|
|
29712
29718
|
totalTimeoutMs,
|
|
29719
|
+
implementAgent,
|
|
29720
|
+
reviewAgent,
|
|
29713
29721
|
progressLabel
|
|
29714
29722
|
} = args;
|
|
29715
29723
|
const slug = slugify2(proposal.title);
|
|
@@ -29738,6 +29746,7 @@ async function executeProposal(args) {
|
|
|
29738
29746
|
maxIterations,
|
|
29739
29747
|
iterationTimeoutMs,
|
|
29740
29748
|
totalTimeoutMs,
|
|
29749
|
+
implementAgent,
|
|
29741
29750
|
toolCtx,
|
|
29742
29751
|
progressLabel
|
|
29743
29752
|
});
|
|
@@ -29775,7 +29784,8 @@ async function executeProposal(args) {
|
|
|
29775
29784
|
proposal,
|
|
29776
29785
|
diff: diff.stdout,
|
|
29777
29786
|
testOutput: result.testOutput ?? "(tests skipped)",
|
|
29778
|
-
iterationTimeoutMs
|
|
29787
|
+
iterationTimeoutMs,
|
|
29788
|
+
reviewAgent
|
|
29779
29789
|
});
|
|
29780
29790
|
result.reviewOutput = reviewResult.output;
|
|
29781
29791
|
if (reviewResult.blocked) {
|
|
@@ -29807,7 +29817,7 @@ async function rollback(cwd, originalBranch, branchName) {
|
|
|
29807
29817
|
log(`evolve_exe: rolled back branch ${branchName}`);
|
|
29808
29818
|
}
|
|
29809
29819
|
async function runImplementation(args) {
|
|
29810
|
-
const { ctx, internalSessions, proposal, projectInfo, maxIterations, iterationTimeoutMs, totalTimeoutMs, toolCtx, progressLabel } = args;
|
|
29820
|
+
const { ctx, internalSessions, proposal, projectInfo, maxIterations, iterationTimeoutMs, totalTimeoutMs, implementAgent, toolCtx, progressLabel } = args;
|
|
29811
29821
|
const pipelineStart = Date.now();
|
|
29812
29822
|
const sessionResp = await ctx.client.session.create({
|
|
29813
29823
|
body: {},
|
|
@@ -29838,7 +29848,7 @@ async function runImplementation(args) {
|
|
|
29838
29848
|
path: { id: sessionID },
|
|
29839
29849
|
body: {
|
|
29840
29850
|
parts: [{ type: "text", text: prompt }],
|
|
29841
|
-
agent:
|
|
29851
|
+
agent: implementAgent
|
|
29842
29852
|
},
|
|
29843
29853
|
query: { directory: ctx.directory }
|
|
29844
29854
|
}), effectiveTimeout, `evolve_exe implementation iteration ${i + 1}`);
|
|
@@ -29892,7 +29902,7 @@ async function runImplementation(args) {
|
|
|
29892
29902
|
}
|
|
29893
29903
|
}
|
|
29894
29904
|
async function runReview(args) {
|
|
29895
|
-
const { ctx, internalSessions, proposal, diff, testOutput, iterationTimeoutMs } = args;
|
|
29905
|
+
const { ctx, internalSessions, proposal, diff, testOutput, iterationTimeoutMs, reviewAgent } = args;
|
|
29896
29906
|
const sessionResp = await ctx.client.session.create({
|
|
29897
29907
|
body: {},
|
|
29898
29908
|
query: { directory: ctx.directory }
|
|
@@ -29907,7 +29917,7 @@ async function runReview(args) {
|
|
|
29907
29917
|
path: { id: sessionID },
|
|
29908
29918
|
body: {
|
|
29909
29919
|
parts: [{ type: "text", text: prompt }],
|
|
29910
|
-
agent:
|
|
29920
|
+
agent: reviewAgent
|
|
29911
29921
|
},
|
|
29912
29922
|
query: { directory: ctx.directory }
|
|
29913
29923
|
}), iterationTimeoutMs, "evolve_exe review");
|