@veewo/claw-core 0.1.53 → 0.1.56

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 (41) hide show
  1. package/README.md +16 -16
  2. package/dist/src/context.js +30 -55
  3. package/dist/src/context.js.map +1 -1
  4. package/dist/src/effective-config.d.ts +2 -0
  5. package/dist/src/effective-config.js +10 -0
  6. package/dist/src/effective-config.js.map +1 -0
  7. package/dist/src/errors.d.ts +1 -1
  8. package/dist/src/errors.js.map +1 -1
  9. package/dist/src/index.d.ts +1 -0
  10. package/dist/src/index.js +1 -0
  11. package/dist/src/index.js.map +1 -1
  12. package/dist/src/init.d.ts +1 -0
  13. package/dist/src/init.js +22 -2
  14. package/dist/src/init.js.map +1 -1
  15. package/dist/src/memory.js +28 -17
  16. package/dist/src/memory.js.map +1 -1
  17. package/dist/src/paths.d.ts +1 -0
  18. package/dist/src/paths.js +25 -1
  19. package/dist/src/paths.js.map +1 -1
  20. package/dist/src/plan-templates.d.ts +28 -2
  21. package/dist/src/plan-templates.js +619 -11
  22. package/dist/src/plan-templates.js.map +1 -1
  23. package/dist/src/plan.js +140 -40
  24. package/dist/src/plan.js.map +1 -1
  25. package/dist/src/project-check.js +29 -80
  26. package/dist/src/project-check.js.map +1 -1
  27. package/dist/src/templates/plans/default.d.ts +44 -14
  28. package/dist/src/templates/plans/default.js +44 -10
  29. package/dist/src/templates/plans/default.js.map +1 -1
  30. package/dist/src/types.d.ts +16 -7
  31. package/dist/src/workflow-guidance.config.json +373 -369
  32. package/dist/src/workflow-guidance.d.ts +2 -1
  33. package/dist/src/workflow-guidance.js +163 -15
  34. package/dist/src/workflow-guidance.js.map +1 -1
  35. package/package.json +44 -44
  36. package/dist/src/embedding-config.d.ts +0 -9
  37. package/dist/src/embedding-config.js +0 -21
  38. package/dist/src/embedding-config.js.map +0 -1
  39. package/dist/src/project-config-defaults.d.ts +0 -6
  40. package/dist/src/project-config-defaults.js +0 -5
  41. package/dist/src/project-config-defaults.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plan-templates.js","sourceRoot":"","sources":["../../src/plan-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAyB,MAAM,8BAA8B,CAAC;AAE1F,MAAM,cAAc,GAAuB,CAAC,mBAAmB,CAAC,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CAAC,YAA4B;IAClE,MAAM,UAAU,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7C,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CACjH,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,SAAS,CAAC,wBAAwB,EAAE,0BAA0B,YAAY,IAAI,EAAE;YACxF,YAAY;YACZ,kBAAkB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC7F,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,IAEC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"plan-templates.js","sourceRoot":"","sources":["../../src/plan-templates.ts"],"names":[],"mappings":"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"}
package/dist/src/plan.js CHANGED
@@ -2,12 +2,13 @@ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { buildCompletionHooks } from "./completion-hooks.js";
4
4
  import { ensureTaskMeta, resolveProjectContext, resolveTaskContext, resolveTaskName, saveTaskMeta } from "./context.js";
5
+ import { resolvePlanEffectiveConfig } from "./effective-config.js";
5
6
  import { ClawError } from "./errors.js";
6
7
  import { readJsonFile, withFileLock, writeJsonFile } from "./io.js";
7
8
  import { buildPlanEvent } from "./plan-events.js";
8
9
  import { isProcessStatus, } from "./requirements-gate.js";
9
10
  import { buildPlanViewModel } from "./plan-view.js";
10
- import { renderSeedTemplateText, resolveSeedPlanTemplate } from "./plan-templates.js";
11
+ import { getTemplateTaskDoneChoices, renderSeedTemplateText, resolveSeedPlanTemplate } from "./plan-templates.js";
11
12
  import { ensureInsideDir, normalizePlanFile, slugFromFilePath } from "./paths.js";
12
13
  import { buildGoalModeObjective, buildPlanWorkflowGuidance } from "./workflow-guidance.js";
13
14
  const PLAN_STATUSES = [
@@ -42,7 +43,7 @@ export async function writePlan(input) {
42
43
  const existing = createdPlan ? undefined : readJsonFile(planPath);
43
44
  const existingStatus = existing ? normalizePlanDocument(existing).status : undefined;
44
45
  const effectiveStatus = normalizePlanStatus(input.planStatus) ?? input.content?.status ?? existingStatus ?? "prepare.requirements";
45
- let plan = normalizePlanDocument(input.content ?? createSeedPlan(project.projectConfig, input.templateName, taskName, input.title, input.goalText, effectiveStatus, input.forcePlanning, input.host), effectiveStatus);
46
+ let plan = normalizePlanDocument(input.content ?? await createSeedPlan(project.projectRoot, project.projectConfig, input.templateName, taskName, input.title, input.goalText, effectiveStatus, input.forcePlanning, input.host), effectiveStatus);
46
47
  let parentPlanPath;
47
48
  if (input.parentTaskId !== undefined) {
48
49
  const subplanContext = resolveSubplanContext(task, input.parentTaskId, input.parentPlanFile);
@@ -98,12 +99,13 @@ export async function writePlan(input) {
98
99
  eventType,
99
100
  ...(plan.parentPlan ? { parentPlan: plan.parentPlan } : {}),
100
101
  ...(plan.parentTaskId !== undefined ? { parentTaskId: plan.parentTaskId } : {}),
101
- workflowGuidance: buildPlanWorkflowGuidance({
102
+ workflowGuidance: await buildPlanWorkflowGuidance({
102
103
  taskName,
103
104
  planFile,
104
105
  plan,
105
106
  commandSource: input.parentTaskId !== undefined ? "subplan.create" : "plan.create",
106
- projectConfig: project.projectConfig,
107
+ projectRoot: project.projectRoot,
108
+ projectConfig: resolvePlanEffectiveConfig(project.projectConfig, plan),
107
109
  host: input.host,
108
110
  }),
109
111
  plan,
@@ -129,6 +131,7 @@ export async function editPlan(input) {
129
131
  const previousStatus = previous.status;
130
132
  const events = [];
131
133
  const changedTaskIds = [];
134
+ const appendedTaskIds = [];
132
135
  const completedTaskIds = [];
133
136
  const next = structuredClone(previous);
134
137
  const requestedStatus = input.planStatus ? normalizePlanStatus(input.planStatus) : undefined;
@@ -155,6 +158,7 @@ export async function editPlan(input) {
155
158
  validatePlanTask(taskItem);
156
159
  next.tasks.push(taskItem);
157
160
  currentIds.add(taskItem.id);
161
+ appendedTaskIds.push(taskItem.id);
158
162
  }
159
163
  }
160
164
  if (input.taskId !== undefined || input.taskStatus !== undefined) {
@@ -174,6 +178,12 @@ export async function editPlan(input) {
174
178
  validatePlanTaskStatus(input.taskStatus);
175
179
  const previousTaskStatus = planTask.status;
176
180
  planTask.status = input.taskStatus;
181
+ if (input.taskChoiceId !== undefined) {
182
+ planTask.choiceId = input.taskChoiceId;
183
+ }
184
+ else if (input.taskStatus !== "done") {
185
+ delete planTask.choiceId;
186
+ }
177
187
  changedTaskIds.push(planTask.id);
178
188
  if (previousTaskStatus !== "done" && input.taskStatus === "done") {
179
189
  completedTaskIds.push(planTask.id);
@@ -186,11 +196,25 @@ export async function editPlan(input) {
186
196
  }));
187
197
  }
188
198
  }
199
+ await validateDoneTransitions({
200
+ projectRoot: task.project.projectRoot,
201
+ previousPlan: previous,
202
+ nextPlan: next,
203
+ });
189
204
  validatePlanDocument(next);
190
205
  if (next.status === "end.completed" && !next.retrospective?.summary?.trim()) {
191
206
  throw new ClawError("RETROSPECTIVE_REQUIRED", "end.completed requires retrospective.summary before the plan can be completed.");
192
207
  }
193
208
  withFileLock(planPath, () => {
209
+ const current = normalizePlanDocument(readJsonFile(planPath));
210
+ if (!plansMatch(current, previous)) {
211
+ throw new ClawError("PLAN_STALE_EDIT", `Plan "${planFile}" changed after this edit command read it. Re-run the edit after inspecting the latest plan state.`, {
212
+ taskName: task.taskName,
213
+ planFile,
214
+ planPath,
215
+ suggestedCommand: `claw plan show --task ${task.taskName}${planFile === "plan.json" ? "" : ` --plan ${planFile}`}`,
216
+ });
217
+ }
194
218
  writeJsonFile(planPath, next);
195
219
  });
196
220
  task.meta.activePlan = planFile;
@@ -250,13 +274,15 @@ export async function editPlan(input) {
250
274
  previousPlanStatus: previousStatus,
251
275
  emittedEvents: events.map((event) => event.type),
252
276
  changedTaskIds,
277
+ appendedTaskIds,
253
278
  ...(completionHooks ? { completionHooks } : {}),
254
- workflowGuidance: buildPlanWorkflowGuidance({
279
+ workflowGuidance: await buildPlanWorkflowGuidance({
255
280
  taskName: task.taskName,
256
281
  planFile: resultPlanFile,
257
282
  plan: resultPlan,
258
283
  commandSource: "plan.edit",
259
- projectConfig: task.project.projectConfig,
284
+ projectRoot: task.project.projectRoot,
285
+ projectConfig: resolvePlanEffectiveConfig(task.project.projectConfig, resultPlan),
260
286
  host: input.host,
261
287
  ...(completionHooks?.subplanClosureCandidate
262
288
  ? {}
@@ -357,6 +383,9 @@ function normalizePlanRequirements(requirements) {
357
383
  acceptanceCriteria: Array.isArray(requirements?.acceptanceCriteria) ? requirements.acceptanceCriteria : [],
358
384
  };
359
385
  }
386
+ function plansMatch(left, right) {
387
+ return JSON.stringify(left) === JSON.stringify(right);
388
+ }
360
389
  function normalizePlanTasks(tasks, startId = 1) {
361
390
  const explicitIds = tasks
362
391
  .map((task) => task.id)
@@ -387,6 +416,7 @@ function normalizePlanTask(task, fallbackId) {
387
416
  const normalizedTask = {
388
417
  ...task,
389
418
  id: Number.isInteger(task.id) ? task.id : fallbackId ?? task.id,
419
+ status: task.status ?? "pending",
390
420
  };
391
421
  validatePlanTask(normalizedTask);
392
422
  return normalizedTask;
@@ -416,6 +446,14 @@ function validatePlanTask(task) {
416
446
  throw new ClawError("PROJECT_CONFIG_INVALID", `Plan task ${task.id} is missing title.`);
417
447
  }
418
448
  validatePlanTaskStatus(task.status);
449
+ if (task.choiceId !== undefined) {
450
+ if (typeof task.choiceId !== "string" || !task.choiceId.trim()) {
451
+ throw new ClawError("PROJECT_CONFIG_INVALID", `Plan task ${task.id} has an invalid choiceId.`);
452
+ }
453
+ if (task.status !== "done") {
454
+ throw new ClawError("PROJECT_CONFIG_INVALID", `Plan task ${task.id} can only use choiceId when status is done.`);
455
+ }
456
+ }
419
457
  }
420
458
  function validatePlanTaskStatus(status) {
421
459
  if (!PLAN_TASK_STATUSES.includes(status)) {
@@ -470,14 +508,23 @@ function applyPlanPatch(target, patch) {
470
508
  target.status = normalized;
471
509
  }
472
510
  }
473
- function createSeedPlan(projectConfig, templateName, taskName, title, goalText, status = "prepare.requirements", forcePlanning = false, host) {
474
- const template = resolveSeedPlanTemplate(templateName);
475
- const planningEnabled = forcePlanning || projectConfig?.planning !== false;
476
- const planningSkill = projectConfig?.externalPlanningSkill?.trim() || "the built-in planning skill";
511
+ async function createSeedPlan(projectRoot, projectConfig, templateName, taskName, title, goalText, status = "prepare.requirements", forcePlanning = false, host) {
512
+ const effectiveTemplateName = templateName?.trim() || projectConfig?.defaultPlanTemplate?.trim() || defaultPlanTemplateName();
513
+ const template = await resolveSeedPlanTemplate({
514
+ projectRoot,
515
+ templateName: effectiveTemplateName,
516
+ });
517
+ const effectiveConfig = resolvePlanEffectiveConfig(projectConfig, {
518
+ configOverride: template.configOverride,
519
+ });
520
+ const planningEnabled = forcePlanning || effectiveConfig?.planning !== false;
521
+ const planningSkill = effectiveConfig?.externalPlanningSkill?.trim() || "the built-in planning skill";
477
522
  if (!planningEnabled) {
478
523
  return {
479
524
  title: title ?? taskName,
480
- status: template.planningDisabledStatus,
525
+ templateId: template.id,
526
+ ...(template.configOverride ? { configOverride: template.configOverride } : {}),
527
+ status: "process.active",
481
528
  goal: {
482
529
  text: goalText ?? title ?? taskName,
483
530
  },
@@ -501,47 +548,87 @@ function createSeedPlan(projectConfig, templateName, taskName, title, goalText,
501
548
  },
502
549
  };
503
550
  }
504
- const effectiveGoalText = goalText ?? title ?? taskName;
505
- const activationDetail = buildActivationTaskDetail({
506
- baseDetail: template.activationTask.detail,
507
- goalModeDetail: template.activationTask.goalModeDetail,
508
- host,
509
- goalModeEnabled: projectConfig?.goalMode !== false,
510
- planGoal: effectiveGoalText,
511
- });
551
+ const effectiveTitle = title ?? template.title ?? taskName;
552
+ const effectiveGoalText = goalText ?? (template.goal?.text?.trim() || effectiveTitle);
553
+ const compiledTasks = template.tasks.map((taskItem) => ({
554
+ id: taskItem.id,
555
+ title: taskItem.title,
556
+ ...(taskItem.detail || taskItem.goalModeDetail
557
+ ? {
558
+ detail: buildCompiledTaskDetail({
559
+ baseDetail: taskItem.detail,
560
+ goalModeDetail: taskItem.goalModeDetail,
561
+ host,
562
+ goalModeEnabled: effectiveConfig?.goalMode !== false,
563
+ planGoal: effectiveGoalText,
564
+ planningSkill,
565
+ }),
566
+ }
567
+ : {}),
568
+ status: taskItem.status,
569
+ ...(taskItem.execution ? { execution: taskItem.execution } : {}),
570
+ ...(taskItem.sessionKey ? { sessionKey: taskItem.sessionKey } : {}),
571
+ }));
512
572
  return {
513
- title: title ?? taskName,
514
- status: template.planningEnabledStatus ?? status,
573
+ title: effectiveTitle,
574
+ templateId: template.id,
575
+ ...(template.configOverride ? { configOverride: template.configOverride } : {}),
576
+ status: template.status ?? status,
515
577
  goal: {
516
578
  text: effectiveGoalText,
517
579
  },
518
- requirements: {
580
+ requirements: template.requirements ?? {
519
581
  summary: "",
520
582
  openQuestions: [],
521
583
  acceptanceCriteria: [],
522
584
  },
523
- tasks: [
524
- {
525
- id: 1,
526
- title: template.planningTask.title,
527
- detail: renderSeedTemplateText(template.planningTask.detail, { planningSkill }),
528
- status: "pending",
529
- },
530
- {
531
- id: 2,
532
- title: template.activationTask.title,
533
- detail: activationDetail,
534
- status: "pending",
535
- },
536
- ],
537
- references: [],
538
- rules: [],
539
- keyDecisions: [],
540
- retrospective: {
585
+ tasks: compiledTasks,
586
+ references: template.references ?? [],
587
+ rules: template.rules ?? [],
588
+ keyDecisions: template.keyDecisions ?? [],
589
+ retrospective: template.retrospective ?? {
541
590
  summary: "",
542
591
  },
543
592
  };
544
593
  }
594
+ async function validateDoneTransitions(params) {
595
+ const { projectRoot, previousPlan, nextPlan } = params;
596
+ if (!nextPlan.templateId?.trim()) {
597
+ return;
598
+ }
599
+ const template = await resolveSeedPlanTemplate({
600
+ projectRoot,
601
+ templateName: nextPlan.templateId,
602
+ });
603
+ const previousTasks = new Map(previousPlan.tasks.map((task) => [task.id, task]));
604
+ for (const task of nextPlan.tasks) {
605
+ const previousTask = previousTasks.get(task.id);
606
+ const choices = getTemplateTaskDoneChoices(template, task.id);
607
+ const availableChoices = choices ? Object.keys(choices) : [];
608
+ const isDoneTransition = previousTask?.status !== "done" && task.status === "done";
609
+ if (isDoneTransition && choices && !task.choiceId) {
610
+ throw new ClawError("PROJECT_CONFIG_INVALID", `Task ${task.id} requires choiceId because this template defines onDone choices. Provide one of: ${availableChoices.join(", ")}.`, {
611
+ taskId: task.id,
612
+ availableChoices,
613
+ });
614
+ }
615
+ if (task.choiceId && !choices) {
616
+ throw new ClawError("PROJECT_CONFIG_INVALID", `Task ${task.id} does not define onDone choices, so choiceId is not allowed.`, {
617
+ taskId: task.id,
618
+ });
619
+ }
620
+ if (task.choiceId && choices && !Object.prototype.hasOwnProperty.call(choices, task.choiceId)) {
621
+ throw new ClawError("PROJECT_CONFIG_INVALID", `Task ${task.id} has an invalid choiceId "${task.choiceId}". Expected one of: ${availableChoices.join(", ")}.`, {
622
+ taskId: task.id,
623
+ choiceId: task.choiceId,
624
+ availableChoices,
625
+ });
626
+ }
627
+ }
628
+ }
629
+ function defaultPlanTemplateName() {
630
+ return "default";
631
+ }
545
632
  function buildActivationTaskDetail(params) {
546
633
  const { baseDetail, goalModeDetail, host, goalModeEnabled, planGoal } = params;
547
634
  if (!goalModeEnabled) {
@@ -555,6 +642,19 @@ function buildActivationTaskDetail(params) {
555
642
  : goalModeDetail;
556
643
  return `${baseDetail} ${normalizedGoalModeDetail} and use \`${buildGoalModeObjective(planGoal)}\` as the goal objective.`;
557
644
  }
645
+ function buildCompiledTaskDetail(params) {
646
+ const renderedBase = params.baseDetail ? renderSeedTemplateText(params.baseDetail, { planningSkill: params.planningSkill }) : "";
647
+ if (!params.goalModeDetail) {
648
+ return renderedBase || undefined;
649
+ }
650
+ return buildActivationTaskDetail({
651
+ baseDetail: renderedBase,
652
+ goalModeDetail: params.goalModeDetail,
653
+ host: params.host,
654
+ goalModeEnabled: params.goalModeEnabled,
655
+ planGoal: params.planGoal,
656
+ });
657
+ }
558
658
  function deriveTaskName(input) {
559
659
  if (input.taskName?.trim()) {
560
660
  return resolveTaskName(input.taskName);
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/plan.ts"],"names":[],"mappings":"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"}