@veewo/claw-core 0.2.3 → 0.2.4

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/src/io.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export declare function readJsonFile<T>(filePath: string): T;
2
2
  export declare function writeJsonFile(filePath: string, value: unknown): void;
3
+ export declare function serializeJsonFile(value: unknown): string;
4
+ export declare function writeJsonFileAtomic(filePath: string, value: unknown): void;
3
5
  export declare function readTextFile(filePath: string): string;
4
6
  export declare function writeTextFile(filePath: string, content: string): void;
5
7
  export declare function stripBom(content: string): string;
@@ -8,3 +10,7 @@ export declare function withSerializedAccess<T>(targetPath: string, action: () =
8
10
  pollMs?: number;
9
11
  timeoutMs?: number;
10
12
  }): Promise<T>;
13
+ export declare function withSerializedQueue<T>(queuePath: string, action: () => Promise<T>, options?: {
14
+ pollMs?: number;
15
+ timeoutMs?: number;
16
+ }): Promise<T>;
package/dist/src/io.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
+ import { randomUUID } from "node:crypto";
3
4
  import { setTimeout as delay } from "node:timers/promises";
4
5
  import { ClawError } from "./errors.js";
5
6
  export function readJsonFile(filePath) {
@@ -9,6 +10,30 @@ export function writeJsonFile(filePath, value) {
9
10
  fs.mkdirSync(path.dirname(filePath), { recursive: true });
10
11
  fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, "utf-8");
11
12
  }
13
+ export function serializeJsonFile(value) {
14
+ return `${JSON.stringify(value, null, 2)}\n`;
15
+ }
16
+ export function writeJsonFileAtomic(filePath, value) {
17
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
18
+ const temporaryPath = path.join(path.dirname(filePath), `.${path.basename(filePath)}.${process.pid}.${randomUUID()}.tmp`);
19
+ let descriptor;
20
+ try {
21
+ descriptor = fs.openSync(temporaryPath, "wx");
22
+ fs.writeFileSync(descriptor, serializeJsonFile(value), "utf-8");
23
+ fs.fsyncSync(descriptor);
24
+ fs.closeSync(descriptor);
25
+ descriptor = undefined;
26
+ fs.renameSync(temporaryPath, filePath);
27
+ }
28
+ finally {
29
+ if (descriptor !== undefined) {
30
+ fs.closeSync(descriptor);
31
+ }
32
+ if (fs.existsSync(temporaryPath)) {
33
+ fs.unlinkSync(temporaryPath);
34
+ }
35
+ }
36
+ }
12
37
  export function readTextFile(filePath) {
13
38
  return stripBom(fs.readFileSync(filePath, "utf-8"));
14
39
  }
@@ -67,38 +92,21 @@ async function withFileLockRetry(targetPath, action, options) {
67
92
  }
68
93
  }
69
94
  }
70
- function readSerializedAccessState(queuePath) {
71
- if (!fs.existsSync(queuePath)) {
72
- return { nextTicket: 1, serving: 1 };
73
- }
74
- return JSON.parse(stripBom(fs.readFileSync(queuePath, "utf-8")));
75
- }
76
- function writeSerializedAccessState(queuePath, state) {
77
- fs.mkdirSync(path.dirname(queuePath), { recursive: true });
78
- fs.writeFileSync(queuePath, `${JSON.stringify(state, null, 2)}\n`, "utf-8");
79
- }
80
95
  export async function withSerializedAccess(targetPath, action, options) {
81
- const queuePath = `${targetPath}.queue.json`;
96
+ return withSerializedQueue(`${targetPath}.queue.json`, action, options);
97
+ }
98
+ export async function withSerializedQueue(queuePath, action, options) {
82
99
  const pollMs = Math.max(10, options?.pollMs ?? 25);
83
100
  const timeoutMs = Math.max(pollMs, options?.timeoutMs ?? 30000);
84
- const ticket = await withFileLockRetry(queuePath, () => {
85
- const state = readSerializedAccessState(queuePath);
86
- const assignedTicket = state.nextTicket;
87
- state.nextTicket += 1;
88
- writeSerializedAccessState(queuePath, state);
89
- return assignedTicket;
90
- }, { pollMs, timeoutMs });
101
+ const token = randomUUID();
91
102
  const deadline = Date.now() + timeoutMs;
92
103
  while (true) {
93
- const state = readSerializedAccessState(queuePath);
94
- if (state.serving === ticket) {
104
+ if (tryAcquireSerializedQueue(queuePath, token)) {
95
105
  break;
96
106
  }
97
107
  if (Date.now() >= deadline) {
98
- throw new ClawError("PLAN_WRITE_CONFLICT", `Timed out waiting to serialize access for "${targetPath}".`, {
99
- targetPath,
108
+ throw new ClawError("PLAN_WRITE_CONFLICT", `Timed out waiting to serialize access for queue "${queuePath}".`, {
100
109
  queuePath,
101
- ticket,
102
110
  timeoutMs,
103
111
  });
104
112
  }
@@ -108,17 +116,109 @@ export async function withSerializedAccess(targetPath, action, options) {
108
116
  return await action();
109
117
  }
110
118
  finally {
111
- await withFileLockRetry(queuePath, () => {
112
- const state = readSerializedAccessState(queuePath);
113
- state.serving = Math.max(state.serving, ticket + 1);
114
- if (state.serving >= state.nextTicket) {
115
- if (fs.existsSync(queuePath)) {
116
- fs.unlinkSync(queuePath);
117
- }
118
- return;
119
+ releaseSerializedQueue(queuePath, token);
120
+ }
121
+ }
122
+ function tryAcquireSerializedQueue(queuePath, token) {
123
+ fs.mkdirSync(path.dirname(queuePath), { recursive: true });
124
+ let descriptor;
125
+ try {
126
+ descriptor = fs.openSync(queuePath, "wx");
127
+ const owner = {
128
+ schemaVersion: 1,
129
+ token,
130
+ pid: process.pid,
131
+ acquiredAt: new Date().toISOString(),
132
+ };
133
+ fs.writeFileSync(descriptor, serializeJsonFile(owner), "utf-8");
134
+ fs.fsyncSync(descriptor);
135
+ fs.closeSync(descriptor);
136
+ descriptor = undefined;
137
+ return true;
138
+ }
139
+ catch (error) {
140
+ if (descriptor !== undefined) {
141
+ fs.closeSync(descriptor);
142
+ }
143
+ const code = error && typeof error === "object" && "code" in error
144
+ ? String(error.code)
145
+ : "";
146
+ if (code !== "EEXIST") {
147
+ throw error;
148
+ }
149
+ }
150
+ const owner = readSerializedQueueOwner(queuePath);
151
+ if (!owner) {
152
+ // Another process may still be flushing the newly-created owner record.
153
+ // Only treat an unreadable record as abandoned after a short grace period.
154
+ try {
155
+ if (Date.now() - fs.statSync(queuePath).mtimeMs < 1000) {
156
+ return false;
119
157
  }
120
- writeSerializedAccessState(queuePath, state);
121
- }, { pollMs, timeoutMs });
158
+ }
159
+ catch {
160
+ return false;
161
+ }
162
+ }
163
+ else if (isProcessAlive(owner.pid)) {
164
+ return false;
165
+ }
166
+ const stalePath = `${queuePath}.stale.${owner?.token ?? "invalid"}.${randomUUID()}`;
167
+ try {
168
+ const current = readSerializedQueueOwner(queuePath);
169
+ if (owner && current?.token !== owner.token) {
170
+ return false;
171
+ }
172
+ fs.renameSync(queuePath, stalePath);
173
+ fs.unlinkSync(stalePath);
174
+ }
175
+ catch (error) {
176
+ const code = error && typeof error === "object" && "code" in error
177
+ ? String(error.code)
178
+ : "";
179
+ if (code !== "ENOENT" && code !== "EACCES" && code !== "EPERM") {
180
+ throw error;
181
+ }
182
+ }
183
+ return false;
184
+ }
185
+ function releaseSerializedQueue(queuePath, token) {
186
+ try {
187
+ const owner = readSerializedQueueOwner(queuePath);
188
+ if (owner?.token === token) {
189
+ fs.unlinkSync(queuePath);
190
+ }
191
+ }
192
+ catch {
193
+ // A recovered or externally removed queue is already released.
194
+ }
195
+ }
196
+ function readSerializedQueueOwner(queuePath) {
197
+ try {
198
+ const owner = readJsonFile(queuePath);
199
+ return owner.schemaVersion === 1
200
+ && typeof owner.token === "string"
201
+ && typeof owner.pid === "number"
202
+ && typeof owner.acquiredAt === "string"
203
+ ? owner
204
+ : null;
205
+ }
206
+ catch {
207
+ return null;
208
+ }
209
+ }
210
+ function isProcessAlive(pid) {
211
+ if (!Number.isInteger(pid) || pid <= 0)
212
+ return false;
213
+ try {
214
+ process.kill(pid, 0);
215
+ return true;
216
+ }
217
+ catch (error) {
218
+ const code = error && typeof error === "object" && "code" in error
219
+ ? String(error.code)
220
+ : "";
221
+ return code === "EPERM";
122
222
  }
123
223
  }
124
224
  //# sourceMappingURL=io.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"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"}
@@ -167,7 +167,10 @@ export declare function doneKnowledgeFinalizationJob(input: {
167
167
  job: KnowledgeFinalizationJob;
168
168
  alreadyDone: boolean;
169
169
  };
170
- export declare function listRetryableKnowledgeFinalizationJobs(project: ProjectContext): string[];
170
+ export declare function listRetryableKnowledgeFinalizationJobs(project: ProjectContext, options?: {
171
+ excludeHosts?: KnowledgeFinalizationHost[];
172
+ }): string[];
173
+ export declare function listKnowledgeFinalizationJobs(project: ProjectContext): string[];
171
174
  /** Remove obsolete legacy runtime records left by releases before task-local jobs. */
172
175
  export declare function pruneLegacyKnowledgeRuntime(project: ProjectContext): {
173
176
  jobsRemoved: number;
@@ -292,24 +292,30 @@ export function doneKnowledgeFinalizationJob(input) {
292
292
  return { job: terminal, alreadyDone: false };
293
293
  });
294
294
  }
295
- export function listRetryableKnowledgeFinalizationJobs(project) {
296
- const taskJobs = listTaskDirectories(project)
297
- .flatMap((task) => listKnowledgeJobs(path.join(task.taskDir, ".runtime", "knowledge-finalization")));
298
- const archivedTaskJobs = listTaskDirectories({ tasksDir: path.join(project.clawDir, "archive", "tasks") })
299
- .flatMap((task) => listKnowledgeJobs(path.join(task.taskDir, ".runtime", "knowledge-finalization")));
300
- // Read legacy central jobs so an upgrade does not strand retryable work. New jobs are never written there.
301
- const legacyJobs = listKnowledgeJobs(path.join(project.clawDir, "runtime", "knowledge-finalization", "jobs"));
302
- return [...taskJobs, ...archivedTaskJobs, ...legacyJobs]
295
+ export function listRetryableKnowledgeFinalizationJobs(project, options = {}) {
296
+ const excludedHosts = new Set(options.excludeHosts ?? []);
297
+ return listKnowledgeFinalizationJobs(project)
303
298
  .filter((jobPath) => {
304
299
  try {
305
300
  const job = readKnowledgeFinalizationJob(jobPath);
306
- return (job.status === "queued" || job.status === "failed") && job.attempts < 3;
301
+ return (job.status === "queued" || job.status === "failed")
302
+ && job.attempts < 3
303
+ && !excludedHosts.has(job.host);
307
304
  }
308
305
  catch {
309
306
  return false;
310
307
  }
311
308
  });
312
309
  }
310
+ export function listKnowledgeFinalizationJobs(project) {
311
+ const taskJobs = listTaskDirectories(project)
312
+ .flatMap((task) => listKnowledgeJobs(path.join(task.taskDir, ".runtime", "knowledge-finalization")));
313
+ const archivedTaskJobs = listTaskDirectories({ tasksDir: path.join(project.clawDir, "archive", "tasks") })
314
+ .flatMap((task) => listKnowledgeJobs(path.join(task.taskDir, ".runtime", "knowledge-finalization")));
315
+ // Read legacy central jobs so an upgrade does not strand retryable work. New jobs are never written there.
316
+ const legacyJobs = listKnowledgeJobs(path.join(project.clawDir, "runtime", "knowledge-finalization", "jobs"));
317
+ return [...taskJobs, ...archivedTaskJobs, ...legacyJobs];
318
+ }
313
319
  /** Remove obsolete legacy runtime records left by releases before task-local jobs. */
314
320
  export function pruneLegacyKnowledgeRuntime(project) {
315
321
  const legacyJobsDir = path.join(project.clawDir, "runtime", "knowledge-finalization", "jobs");
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-sidecar.js","sourceRoot":"","sources":["../../src/knowledge-sidecar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-sidecar.js","sourceRoot":"","sources":["../../src/knowledge-sidecar.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { PlanDocument, PlanViewModel } from "./types.js";
1
+ import type { PlanDocument, PlanViewModel, SimplePlanView } from "./types.js";
2
+ export declare function buildSimplePlanView(plan: PlanDocument): SimplePlanView;
2
3
  export declare function buildPlanViewModel(input: {
3
4
  taskName: string;
4
5
  planFile: string;
@@ -1,3 +1,15 @@
1
+ export function buildSimplePlanView(plan) {
2
+ return {
3
+ status: plan.status,
4
+ goal: {
5
+ text: plan.goal.text,
6
+ },
7
+ tasks: plan.tasks.map((task) => ({
8
+ title: task.title,
9
+ })),
10
+ rules: plan.rules ?? [],
11
+ };
12
+ }
1
13
  export function buildPlanViewModel(input) {
2
14
  const { taskName, planFile, plan } = input;
3
15
  const total = plan.tasks.length;
@@ -1 +1 @@
1
- {"version":3,"file":"plan-view.js","sourceRoot":"","sources":["../../src/plan-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-view.js","sourceRoot":"","sources":["../../src/plan-view.ts"],"names":[],"mappings":"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"}
@@ -11,3 +11,6 @@ export declare function createSubplan(input: SubplanWriteInput): Promise<PlanWri
11
11
  events: PlanEvent[];
12
12
  }>;
13
13
  export declare function normalizePlanStatus(status: unknown): PlanStatus | null;
14
+ export declare function isFocusLeave(status: PlanStatus): boolean;
15
+ export declare function isEndTerminal(status: PlanStatus): boolean;
16
+ export declare function isCompletionTerminal(status: PlanStatus): boolean;
package/dist/src/plan.js CHANGED
@@ -9,7 +9,7 @@ import { readJsonFile, withFileLock, withSerializedAccess, writeJsonFile } from
9
9
  import { tryEndKnowledgePlan, tryRegisterKnowledgePlan } from "./knowledge-sidecar.js";
10
10
  import { buildPlanEvent } from "./plan-events.js";
11
11
  import { isProcessStatus, } from "./requirements-gate.js";
12
- import { buildPlanViewModel } from "./plan-view.js";
12
+ import { buildPlanViewModel, buildSimplePlanView } from "./plan-view.js";
13
13
  import { getTemplateTaskDoneChoices, getTemplateTaskPlanStartGuidance, renderSeedTemplateText, resolveSeedPlanTemplate } from "./plan-templates.js";
14
14
  import { ensureInsideDir, findProjectRoot, normalizePlanFile, slugFromFilePath } from "./paths.js";
15
15
  import { bindSessionToPlan, unbindSession } from "./session-bindings.js";
@@ -89,19 +89,21 @@ export async function writePlan(input) {
89
89
  rules: mergeStringLists(subplanContext.parentPlan.rules, plan.rules),
90
90
  references: mergeReferences(subplanContext.parentPlan.references, plan.references),
91
91
  });
92
- subplanContext.parentTask.execution = {
93
- ...subplanContext.parentTask.execution,
94
- type: "subplan",
95
- subplan: planFile,
96
- planPath: planFile,
97
- };
98
- if (subplanContext.parentTask.status === "pending") {
99
- subplanContext.parentTask.status = "in_progress";
92
+ if (!input.deferParentMutation) {
93
+ subplanContext.parentTask.execution = {
94
+ ...subplanContext.parentTask.execution,
95
+ type: "subplan",
96
+ subplan: planFile,
97
+ planPath: planFile,
98
+ };
99
+ if (subplanContext.parentTask.status === "pending") {
100
+ subplanContext.parentTask.status = "in_progress";
101
+ }
102
+ subplanContext.parentPlan.updatedAt = new Date().toISOString();
103
+ withFileLock(subplanContext.parentPlanPath, () => {
104
+ writeJsonFile(subplanContext.parentPlanPath, subplanContext.parentPlan);
105
+ });
100
106
  }
101
- subplanContext.parentPlan.updatedAt = new Date().toISOString();
102
- withFileLock(subplanContext.parentPlanPath, () => {
103
- writeJsonFile(subplanContext.parentPlanPath, subplanContext.parentPlan);
104
- });
105
107
  }
106
108
  plan.updatedAt = new Date().toISOString();
107
109
  fs.mkdirSync(path.dirname(planPath), { recursive: true });
@@ -231,15 +233,12 @@ export async function editPlan(input) {
231
233
  if (input.updates) {
232
234
  applyPlanFieldUpdates(next, input.updates);
233
235
  }
234
- if (previousStatus !== "end.completed" && next.status === "end.completed") {
235
- next.completedAt = new Date().toISOString();
236
- }
237
- else if (previousStatus === "end.completed" && next.status !== "end.completed") {
238
- delete next.completedAt;
239
- }
236
+ applyPlanStatusMetadata(next, previousStatus, next.status);
240
237
  if (input.appendTasks?.length) {
241
238
  if (isEnd(previous.status) && !requestedStatus) {
239
+ const currentStatus = next.status;
242
240
  next.status = "prepare.requirements";
241
+ applyPlanStatusMetadata(next, currentStatus, next.status);
243
242
  }
244
243
  const currentIds = new Set(next.tasks.map((taskItem) => taskItem.id));
245
244
  const appendedTasks = normalizePlanTasks(input.appendTasks, nextAvailableTaskId(next.tasks));
@@ -403,8 +402,8 @@ export async function editPlan(input) {
403
402
  ...(changedTaskIds.length > 0 ? { affectedPlanTaskIds: changedTaskIds } : {}),
404
403
  }));
405
404
  }
406
- const enteredEndState = !previousStatus.startsWith("end.") && next.status.startsWith("end.");
407
- const endedAt = enteredEndState ? next.completedAt ?? new Date().toISOString() : undefined;
405
+ const enteredEndTerminal = !isEndTerminal(previousStatus) && isEndTerminal(next.status);
406
+ const endedAt = enteredEndTerminal ? next.completedAt ?? new Date().toISOString() : undefined;
408
407
  const completionHooks = previousStatus !== "end.completed" && next.status === "end.completed"
409
408
  ? buildCompletionHooks({ task, planPath, plan: next })
410
409
  : undefined;
@@ -421,7 +420,7 @@ export async function editPlan(input) {
421
420
  let resultPlanFile = planFile;
422
421
  let resultPlanPath = planPath;
423
422
  let resultPlan = next;
424
- if (completionHooks?.subplanClosureCandidate) {
423
+ if (completionHooks?.subplanClosureCandidate && !input.deferSubplanClosure) {
425
424
  const resumedParent = completeSubplanAndResumeParent({
426
425
  task,
427
426
  closure: completionHooks.subplanClosureCandidate,
@@ -437,7 +436,7 @@ export async function editPlan(input) {
437
436
  bindSessionToPlan(task.project, input.ownerSessionKey, resultPlanPath);
438
437
  }
439
438
  let knowledgeFinalizeId;
440
- if (enteredEndState && endedAt && task.project.scope === "project") {
439
+ if (enteredEndTerminal && endedAt && task.project.scope === "project") {
441
440
  const effectiveConfig = resolvePlanEffectiveConfig(task.project.projectConfig, next);
442
441
  const knowledgeEnd = tryEndKnowledgePlan({
443
442
  project: task.project,
@@ -515,6 +514,7 @@ export function showPlan(input) {
515
514
  planFile: resolved.planFile,
516
515
  plan,
517
516
  }),
517
+ simplePlanView: buildSimplePlanView(plan),
518
518
  };
519
519
  }
520
520
  export async function createSubplan(input) {
@@ -546,6 +546,7 @@ export async function createSubplan(input) {
546
546
  forcePlanning: true,
547
547
  parentTaskId: input.parentTaskId,
548
548
  parentPlanFile,
549
+ deferParentMutation: input.deferParentMutation,
549
550
  ownerSessionKey: input.ownerSessionKey,
550
551
  scope: parentTask.project.scope,
551
552
  host: input.host,
@@ -685,18 +686,13 @@ async function applyPlanMutationOperations(input) {
685
686
  throw new ClawError(validation.code, validation.error);
686
687
  }
687
688
  candidate.status = status;
688
- if (current.status !== "end.completed" && status === "end.completed") {
689
- candidate.completedAt = new Date().toISOString();
690
- }
691
- else if (current.status === "end.completed" && status !== "end.completed") {
692
- delete candidate.completedAt;
693
- }
689
+ applyPlanStatusMetadata(candidate, current.status, status);
694
690
  break;
695
691
  }
696
692
  case "task.add": {
697
693
  if (isEnd(current.status)) {
698
694
  candidate.status = "prepare.requirements";
699
- delete candidate.completedAt;
695
+ applyPlanStatusMetadata(candidate, current.status, candidate.status);
700
696
  }
701
697
  const [task] = normalizePlanTasks([{
702
698
  title: operation.title,
@@ -1151,6 +1147,9 @@ function canSetPlanStatus(from, to) {
1151
1147
  if (isEnd(from) && to === "prepare.requirements") {
1152
1148
  return { ok: true };
1153
1149
  }
1150
+ if (from === "end.leave" && to === "process.active") {
1151
+ return { ok: true };
1152
+ }
1154
1153
  if (isEnd(from) && isProcess(to)) {
1155
1154
  return {
1156
1155
  ok: false,
@@ -1172,6 +1171,31 @@ function isProcess(status) {
1172
1171
  function isEnd(status) {
1173
1172
  return status.startsWith("end.");
1174
1173
  }
1174
+ export function isFocusLeave(status) {
1175
+ return status === "end.leave";
1176
+ }
1177
+ export function isEndTerminal(status) {
1178
+ return status.startsWith("end.");
1179
+ }
1180
+ export function isCompletionTerminal(status) {
1181
+ return status === "end.completed" || status === "end.closed";
1182
+ }
1183
+ function applyPlanStatusMetadata(target, previousStatus, nextStatus) {
1184
+ if (previousStatus !== "end.completed" && nextStatus === "end.completed") {
1185
+ target.completedAt = new Date().toISOString();
1186
+ }
1187
+ else if (previousStatus === "end.completed" && nextStatus !== "end.completed") {
1188
+ delete target.completedAt;
1189
+ }
1190
+ if (nextStatus === "end.leave") {
1191
+ delete target.completedAt;
1192
+ target.leaveReason ??= "manual_leave";
1193
+ return;
1194
+ }
1195
+ if (nextStatus === "process.active" || isCompletionTerminal(nextStatus) || isPrepare(nextStatus)) {
1196
+ delete target.leaveReason;
1197
+ }
1198
+ }
1175
1199
  function taskMetaStatusForPlanStatus(status) {
1176
1200
  if (status === "end.completed") {
1177
1201
  return "completed";