@dunnewold-labs/mr-manager 0.4.24 → 0.4.26

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.
Files changed (2) hide show
  1. package/dist/index.mjs +20 -15
  2. 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.24",
188
+ version: "0.4.26",
189
189
  description: "Mr. Manager - Task and project management CLI",
190
190
  bin: {
191
191
  mr: "./dist/index.mjs"
@@ -3014,14 +3014,19 @@ var watchCommand = new Command8("watch").description(
3014
3014
  await postTaskUpdate(task.id, `Agent finished \u2014 no ${prLabel} found for branch ${branchName}`, "system");
3015
3015
  }
3016
3016
  }
3017
- await api.patch(`/api/tasks/${task.id}`, {
3018
- status: "review",
3019
- claudeSessionId: activeEntry.currentAgent === "claude" ? void 0 : null,
3020
- ...prUrl ? { link: prUrl } : {}
3021
- });
3022
- logSuccess(prefix, `"${paint("bold", task.title)}" marked ready for review`);
3023
- if (noMrRequested) {
3024
- await postTaskUpdate(task.id, `No ${prLabel} required: ${noMrDescription}`, "system");
3017
+ const currentTask = await api.get(`/api/tasks/${task.id}`);
3018
+ if (currentTask.status === "completed" || currentTask.status === "review") {
3019
+ logWarn(prefix, `Task already in "${currentTask.status}" state \u2014 skipping status update`);
3020
+ } else {
3021
+ await api.patch(`/api/tasks/${task.id}`, {
3022
+ status: "review",
3023
+ claudeSessionId: activeEntry.currentAgent === "claude" ? void 0 : null,
3024
+ ...prUrl ? { link: prUrl } : {}
3025
+ });
3026
+ logSuccess(prefix, `"${paint("bold", task.title)}" marked ready for review`);
3027
+ if (noMrRequested) {
3028
+ await postTaskUpdate(task.id, `No ${prLabel} required: ${noMrDescription}`, "system");
3029
+ }
3025
3030
  }
3026
3031
  } catch (err) {
3027
3032
  if (isLikelyNetworkError(err)) {
@@ -3748,6 +3753,7 @@ ${divider}`);
3748
3753
  if (taskId.startsWith("proto-") || taskId.startsWith("repo-") || taskId.startsWith("scan-")) continue;
3749
3754
  if (!activeTaskIds.has(taskId)) {
3750
3755
  logWarn(watchTag(), `Task ${paint("yellow", taskId.slice(0, 8))} no longer active, terminating\u2026`);
3756
+ entry.terminatedForError = true;
3751
3757
  entry.process.kill("SIGTERM");
3752
3758
  active.delete(taskId);
3753
3759
  queued.delete(taskId);
@@ -4129,16 +4135,15 @@ ${divider}`);
4129
4135
  const status = await checkPrStatus(task.link, repoDir, vcs);
4130
4136
  if (!status) continue;
4131
4137
  if (status.merged) {
4132
- logSuccess(prefix, `${prLabel} merged \u2014 auto-completing "${paint("bold", task.title)}"`);
4138
+ if (task.autoMergedAt) continue;
4139
+ logSuccess(prefix, `${prLabel} merged \u2014 marking for acknowledgment "${paint("bold", task.title)}"`);
4133
4140
  try {
4134
4141
  await api.patch(`/api/tasks/${task.id}`, {
4135
- status: "completed",
4136
- completedAt: (/* @__PURE__ */ new Date()).toISOString(),
4137
- inProgressSince: null
4142
+ autoMergedAt: (/* @__PURE__ */ new Date()).toISOString()
4138
4143
  });
4139
- await postTaskUpdate(task.id, `${prLabel} merged \u2014 task automatically completed`, "system");
4144
+ await postTaskUpdate(task.id, `${prLabel} merged \u2014 waiting for your acknowledgment to complete the task`, "system");
4140
4145
  } catch (err) {
4141
- logError(prefix, `Failed to auto-complete task: ${err.message}`);
4146
+ logError(prefix, `Failed to mark task as auto-merged: ${err.message}`);
4142
4147
  }
4143
4148
  continue;
4144
4149
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dunnewold-labs/mr-manager",
3
- "version": "0.4.24",
3
+ "version": "0.4.26",
4
4
  "description": "Mr. Manager - Task and project management CLI",
5
5
  "bin": {
6
6
  "mr": "./dist/index.mjs"