coder-config 0.41.16 → 0.41.19
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/lib/constants.js +1 -1
- package/lib/loops.js +18 -7
- package/package.json +1 -1
- package/ui/dist/assets/{index-BE-agbWm.js → index-BtHQh9qm.js} +138 -138
- package/ui/dist/index.html +1 -1
- package/ui/routes/loops.js +47 -143
package/lib/constants.js
CHANGED
package/lib/loops.js
CHANGED
|
@@ -128,7 +128,8 @@ function getDefaultConfig() {
|
|
|
128
128
|
maxIterations: 50,
|
|
129
129
|
maxCost: 10.00,
|
|
130
130
|
autoApprovePlan: false,
|
|
131
|
-
maxClarifyIterations: 5
|
|
131
|
+
maxClarifyIterations: 5,
|
|
132
|
+
completionPromise: 'DONE' // For ralph-loop plugin integration
|
|
132
133
|
};
|
|
133
134
|
}
|
|
134
135
|
|
|
@@ -144,6 +145,8 @@ function generateLoopId() {
|
|
|
144
145
|
*/
|
|
145
146
|
function createLoopState(name, task, options = {}) {
|
|
146
147
|
const config = options.config || getDefaultConfig();
|
|
148
|
+
const maxIterations = options.maxIterations || config.maxIterations;
|
|
149
|
+
const completionPromise = options.completionPromise || config.completionPromise || 'DONE';
|
|
147
150
|
|
|
148
151
|
return {
|
|
149
152
|
id: generateLoopId(),
|
|
@@ -159,14 +162,15 @@ function createLoopState(name, task, options = {}) {
|
|
|
159
162
|
},
|
|
160
163
|
iterations: {
|
|
161
164
|
current: 0,
|
|
162
|
-
max:
|
|
165
|
+
max: maxIterations,
|
|
163
166
|
history: []
|
|
164
167
|
},
|
|
165
168
|
budget: {
|
|
166
|
-
maxIterations:
|
|
169
|
+
maxIterations: maxIterations,
|
|
167
170
|
maxCost: config.maxCost,
|
|
168
171
|
currentCost: 0
|
|
169
172
|
},
|
|
173
|
+
completionPromise: completionPromise, // For ralph-loop plugin
|
|
170
174
|
taskComplete: false,
|
|
171
175
|
createdAt: new Date().toISOString(),
|
|
172
176
|
updatedAt: new Date().toISOString(),
|
|
@@ -257,6 +261,8 @@ function loopCreate(installDir, taskOrName, options = {}) {
|
|
|
257
261
|
|
|
258
262
|
console.log(`✓ Created loop: ${state.name}`);
|
|
259
263
|
console.log(` ID: ${state.id}`);
|
|
264
|
+
console.log(` Max Iterations: ${state.iterations.max}`);
|
|
265
|
+
console.log(` Completion Promise: ${state.completionPromise}`);
|
|
260
266
|
console.log(` Start with: coder-config loop start ${state.id}`);
|
|
261
267
|
|
|
262
268
|
return state;
|
|
@@ -395,10 +401,11 @@ function loopStart(installDir, idOrName) {
|
|
|
395
401
|
console.log(` Phase: ${state.phase}`);
|
|
396
402
|
console.log(` Iteration: ${state.iterations.current}/${state.iterations.max}`);
|
|
397
403
|
|
|
398
|
-
// Output
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
console.log(
|
|
404
|
+
// Output run instructions (using official ralph-loop plugin)
|
|
405
|
+
const task = state.task.original.replace(/"/g, '\\"');
|
|
406
|
+
const completionPromise = state.completionPromise || 'DONE';
|
|
407
|
+
console.log('\nTo run this loop with Claude Code (uses official ralph-loop plugin):');
|
|
408
|
+
console.log(` claude --dangerously-skip-permissions "/ralph-loop ${task} --max-iterations ${state.iterations.max} --completion-promise '${completionPromise}'"`);
|
|
402
409
|
|
|
403
410
|
return state;
|
|
404
411
|
}
|
|
@@ -618,6 +625,7 @@ function loopConfig(installDir, updates = null) {
|
|
|
618
625
|
console.log(` Max Cost: $${data.config.maxCost.toFixed(2)}`);
|
|
619
626
|
console.log(` Auto-approve Plan: ${data.config.autoApprovePlan}`);
|
|
620
627
|
console.log(` Max Clarify Iterations: ${data.config.maxClarifyIterations}`);
|
|
628
|
+
console.log(` Completion Promise: ${data.config.completionPromise || 'DONE'}`);
|
|
621
629
|
console.log('');
|
|
622
630
|
return data.config;
|
|
623
631
|
}
|
|
@@ -635,6 +643,9 @@ function loopConfig(installDir, updates = null) {
|
|
|
635
643
|
if (updates.maxClarifyIterations !== undefined) {
|
|
636
644
|
data.config.maxClarifyIterations = parseInt(updates.maxClarifyIterations, 10);
|
|
637
645
|
}
|
|
646
|
+
if (updates.completionPromise !== undefined) {
|
|
647
|
+
data.config.completionPromise = updates.completionPromise;
|
|
648
|
+
}
|
|
638
649
|
|
|
639
650
|
saveLoops(installDir, data);
|
|
640
651
|
console.log('✓ Configuration updated');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "coder-config",
|
|
3
|
-
"version": "0.41.
|
|
3
|
+
"version": "0.41.19",
|
|
4
4
|
"description": "Configuration manager for AI coding tools - Claude Code, Gemini CLI, Codex CLI, Antigravity. Manage MCPs, rules, permissions, memory, and workstreams.",
|
|
5
5
|
"author": "regression.io",
|
|
6
6
|
"main": "config-loader.js",
|