@dunnewold-labs/mr-manager 0.4.9 → 0.4.12
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.mjs +15 -8
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -185,7 +185,7 @@ import { fileURLToPath } from "url";
|
|
|
185
185
|
// cli/package.json
|
|
186
186
|
var package_default = {
|
|
187
187
|
name: "@dunnewold-labs/mr-manager",
|
|
188
|
-
version: "0.4.
|
|
188
|
+
version: "0.4.12",
|
|
189
189
|
description: "Mr. Manager - Task and project management CLI",
|
|
190
190
|
bin: {
|
|
191
191
|
mr: "./dist/index.mjs"
|
|
@@ -2193,7 +2193,7 @@ function buildIdeaPrompt(idea, repoDir) {
|
|
|
2193
2193
|
`- Do NOT exit until both files have been written and verified`
|
|
2194
2194
|
].join("\n");
|
|
2195
2195
|
}
|
|
2196
|
-
function buildAgentArgs(agent, prompt2, mode, sessionId, name, resumeSession = false, systemPrompt) {
|
|
2196
|
+
function buildAgentArgs(agent, prompt2, mode, sessionId, name, resumeSession = false, systemPrompt, maxTurns) {
|
|
2197
2197
|
if (agent === "codex") {
|
|
2198
2198
|
const args = [];
|
|
2199
2199
|
if (mode === "execute") {
|
|
@@ -2222,10 +2222,11 @@ ${systemPrompt}` : prompt2;
|
|
|
2222
2222
|
const sessionArgs = sessionId ? resumeSession ? ["--resume", sessionId] : ["--session-id", sessionId] : [];
|
|
2223
2223
|
const nameArgs = name ? ["--name", name] : [];
|
|
2224
2224
|
const systemArgs = systemPrompt ? ["--append-system-prompt", systemPrompt] : [];
|
|
2225
|
+
const turnsArgs = maxTurns ? ["--max-turns", String(maxTurns)] : [];
|
|
2225
2226
|
if (mode === "plan") {
|
|
2226
|
-
return { bin: "claude", args: [...sessionArgs, ...nameArgs, ...systemArgs, "--permission-mode", "plan", "-p", prompt2] };
|
|
2227
|
+
return { bin: "claude", args: [...sessionArgs, ...nameArgs, ...systemArgs, ...turnsArgs, "--permission-mode", "plan", "-p", prompt2] };
|
|
2227
2228
|
}
|
|
2228
|
-
return { bin: "claude", args: [...sessionArgs, ...nameArgs, ...systemArgs, "-p", "--dangerously-skip-permissions", prompt2] };
|
|
2229
|
+
return { bin: "claude", args: [...sessionArgs, ...nameArgs, ...systemArgs, ...turnsArgs, "-p", "--dangerously-skip-permissions", prompt2] };
|
|
2229
2230
|
}
|
|
2230
2231
|
function commandExists(cmd) {
|
|
2231
2232
|
return new Promise((resolve8) => {
|
|
@@ -2280,10 +2281,10 @@ function askYesNo(question) {
|
|
|
2280
2281
|
});
|
|
2281
2282
|
});
|
|
2282
2283
|
}
|
|
2283
|
-
function spawnAgent(agent, repoDir, prompt2, prefix, onActivity, sessionId, name, resumeSession = false, onSpawnError, systemPrompt) {
|
|
2284
|
+
function spawnAgent(agent, repoDir, prompt2, prefix, onActivity, sessionId, name, resumeSession = false, onSpawnError, systemPrompt, maxTurns) {
|
|
2284
2285
|
const jobLabel = name ?? "unknown";
|
|
2285
2286
|
console.log(`${timestamp()} ${prefix} ${paint("dim", tokenLogLine("agent", jobLabel, prompt2, systemPrompt))}`);
|
|
2286
|
-
const { bin, args } = buildAgentArgs(agent, prompt2, "execute", sessionId, name, resumeSession, systemPrompt);
|
|
2287
|
+
const { bin, args } = buildAgentArgs(agent, prompt2, "execute", sessionId, name, resumeSession, systemPrompt, maxTurns);
|
|
2287
2288
|
const child = spawn4(bin, args, { cwd: repoDir, stdio: ["ignore", "pipe", "pipe"] });
|
|
2288
2289
|
child.on("error", (err) => {
|
|
2289
2290
|
logError(prefix, `Failed to spawn ${agent}: ${err.message}`);
|
|
@@ -2949,7 +2950,10 @@ var watchCommand = new Command8("watch").description(
|
|
|
2949
2950
|
false,
|
|
2950
2951
|
(err) => {
|
|
2951
2952
|
spawnFailureReason = err.message;
|
|
2952
|
-
}
|
|
2953
|
+
},
|
|
2954
|
+
void 0,
|
|
2955
|
+
25
|
|
2956
|
+
// max turns — prevent the agent from looping internally
|
|
2953
2957
|
);
|
|
2954
2958
|
activeEntry.process = child;
|
|
2955
2959
|
activeEntry.currentAgent = attemptAgent;
|
|
@@ -2975,11 +2979,14 @@ var watchCommand = new Command8("watch").description(
|
|
|
2975
2979
|
logSuccess(prefix, `"${paint("bold", project.name)}" repo creation complete`);
|
|
2976
2980
|
try {
|
|
2977
2981
|
await api.patch(`/api/projects/${project.id}`, { repoCreationStatus: "created" });
|
|
2978
|
-
} catch {
|
|
2982
|
+
} catch (err) {
|
|
2983
|
+
logError(prefix, `Failed to mark repo as created: ${err.message}`);
|
|
2984
|
+
failed.set(key, "status update failed after successful creation");
|
|
2979
2985
|
}
|
|
2980
2986
|
} else {
|
|
2981
2987
|
const failureDetail = spawnFailureReason ?? `exit code ${code}`;
|
|
2982
2988
|
logError(prefix, `"${paint("bold", project.name)}" repo creation failed via ${attemptAgent} (${failureDetail})`);
|
|
2989
|
+
failed.set(key, failureDetail);
|
|
2983
2990
|
try {
|
|
2984
2991
|
await api.patch(`/api/projects/${project.id}`, { repoCreationStatus: "failed" });
|
|
2985
2992
|
} catch {
|