@agent-plan/core 0.2.19-next.2 → 0.2.19-next.21

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.
@@ -1,23 +1,94 @@
1
- import { type Feature, type FeaturesDocument, type Manifest, type Phase, type PlanWorkspace, type Project, type RequirementsDocument, type ActivityEntry, type ActivityLog, type CodebaseProfile, type ResumeFocus } from "./schema.js";
1
+ import { type Feature, type FeaturesDocument, type Manifest, type Phase, type PlanWorkspace, type Project, type RequirementsDocument, type Requirement, type ActivityEntry, type ActivityLog, type CodebaseProfile, type ResumeFocus, type WorkDeviation } from "./schema.js";
2
+ import { type ParentDisplay } from "./display-status.js";
3
+ export interface PlanStoreErrorDetails {
4
+ path?: string;
5
+ operation?: string;
6
+ backupTried?: boolean;
7
+ backupFailed?: boolean;
8
+ jsonParseError?: {
9
+ message: string;
10
+ line?: number;
11
+ column?: number;
12
+ };
13
+ validationErrors?: {
14
+ path: string;
15
+ message: string;
16
+ }[];
17
+ rawPreview?: string;
18
+ [key: string]: unknown;
19
+ }
2
20
  export declare class PlanStoreError extends Error {
3
21
  readonly cause?: unknown | undefined;
4
- constructor(message: string, cause?: unknown | undefined);
22
+ readonly details?: PlanStoreErrorDetails | undefined;
23
+ constructor(message: string, cause?: unknown | undefined, details?: PlanStoreErrorDetails | undefined);
5
24
  }
6
25
  export declare function setWriteBusyHook(hook: ((busy: boolean) => void) | undefined): void;
7
26
  export declare function setWriteNotifyHook(hook: (() => void) | undefined): void;
8
27
  export declare function withFeatureLock<T>(featureId: string, fn: () => Promise<T>): Promise<T>;
9
- /** Summary of a phase that has a non-empty handoff, for the listHandoffs() API. */
28
+ /** Summary of a phase that has a non-empty pending handoff, for the
29
+ * listHandoffs() API. Completed/canceled phases are never returned here. */
10
30
  export interface PhaseHandoffSummary {
11
31
  phaseId: string;
32
+ /** Owning feature id (for deep-linking to the phase-detail route). */
33
+ featureId?: string | undefined;
12
34
  /** Human-readable composite ref, e.g. `P003` or `P003(F002)`. */
13
35
  compositeRef: string;
14
36
  /** handoffUpdatedAt (falls back to phase.updatedAt if unset). */
15
37
  updatedAt: string;
16
38
  /** First non-empty line of the handoff, leading markdown headers stripped, ~80 chars. */
17
39
  firstLine: string;
40
+ /** Full handoff content (phase.handoff) — lets the /handoff viewer render
41
+ * inline without a per-phase fetch. */
42
+ content: string;
43
+ }
44
+ /** Summary of an archived handoff. The content remains recoverable under
45
+ * `.planner/.local/handoff-archive/` but is not part of the active handoff
46
+ * list. */
47
+ export interface ArchivedPhaseHandoffSummary {
48
+ phaseId: string;
49
+ featureId?: string | undefined;
50
+ compositeRef: string;
51
+ file: string;
52
+ archivedAt: string;
53
+ reason: string;
54
+ firstLine: string;
55
+ content: string;
56
+ }
57
+ /** Summary of a phase file that exists on disk but no longer resolves to a
58
+ * valid owning feature. Missing back-links alone do NOT make a phase orphan:
59
+ * if `phase.featureId` still resolves to a known feature, repair can relink
60
+ * it. */
61
+ export interface OrphanPhaseSummary {
62
+ phaseId: string;
63
+ featureId?: string | undefined;
64
+ shortId?: string | undefined;
65
+ compositeRef: string;
66
+ title: string;
67
+ reason: string;
18
68
  }
19
69
  export declare function migrateToUuids(store: PlanStore): Promise<void>;
70
+ /**
71
+ * One-time idempotent migration to GLOBAL F/P/T numbering.
72
+ *
73
+ * Legacy plans assign Phase.number per-feature and Task.number per-phase, so
74
+ * every feature has a P001 and every phase has a T001 (ambiguous in chat/handoffs).
75
+ * This renumbers ALL features/phases/tasks by `createdAt` asc (stable tiebreak by
76
+ * id) into a single project-wide 1..N sequence and sets the monotonic project
77
+ * counters (nextFeatureNumber/nextPhaseNumber/nextTaskNumber).
78
+ *
79
+ * Idempotent: if no duplicate phase/task/feature numbers exist across the
80
+ * project, the plan is already global → no renumber writes happen (only the
81
+ * counters are ensured, in case project.json predates them). MUST run before
82
+ * ensureStructureOrdering (which no longer renumbers — numbers are stable).
83
+ */
84
+ export declare function migrateToGlobalSequence(store: PlanStore): Promise<{
85
+ migrated: boolean;
86
+ phases: number;
87
+ tasks: number;
88
+ features: number;
89
+ }>;
20
90
  export declare class PlanStore {
91
+ #private;
21
92
  readonly root: string;
22
93
  private autoSync;
23
94
  private syncGuard;
@@ -46,6 +117,18 @@ export declare class PlanStore {
46
117
  ensureStructureOrdering(): Promise<{
47
118
  changed: boolean;
48
119
  }>;
120
+ /** Rebuild each phase's `tasks` + `taskIds` from the task's OWN `phaseId`
121
+ * (source of truth). Heals plans where tasks got filed into the wrong phase
122
+ * file (e.g. the migrateToGlobalSequence index-mismatch bug, @agent-plan/core
123
+ * <0.2.19-next.7). Deterministic, lossless, idempotent: groups every task by
124
+ * its phaseId, preserves each phase's existing taskIds order, appends orphan
125
+ * tasks (whose phaseId dangles or is empty) by number. Writes a phase file
126
+ * only when its task set actually changed. */
127
+ rebuildContainment(): Promise<{
128
+ changed: number;
129
+ tasks: number;
130
+ orphan: number;
131
+ }>;
49
132
  private manifestPath;
50
133
  private projectPath;
51
134
  private requirementsPath;
@@ -63,11 +146,45 @@ export declare class PlanStore {
63
146
  private codebasePath;
64
147
  private resumePath;
65
148
  private activityPath;
66
- private handoffPath;
149
+ private localRoot;
150
+ private timestampPath;
151
+ private backupsDir;
152
+ private tmpDir;
153
+ private handoffArchiveDir;
154
+ /** One-time migration for plans created before .planner/.local/ existed.
155
+ * Moves a legacy root-level file into .local/ if the legacy file exists and
156
+ * the .local/ counterpart does not. Safe to call on every load. */
157
+ private migrateLegacyLocalFile;
158
+ private migrateLegacyGeneratedDir;
159
+ private migrateLegacyHandoffArchive;
67
160
  init(projectName: string): Promise<void>;
161
+ /** Idempotently ensure `.planner/.gitignore` ignores `.local/` (and the
162
+ * canonical transient/derived patterns). Projects initialized before the
163
+ * `.local/` move either have no `.planner/.gitignore` or one with stale
164
+ * root-level patterns. This upgrades them safely on load and on repair.
165
+ * Returns true if the file was (re)written. Safe to call on every load. */
166
+ ensureGitignore(): Promise<boolean>;
68
167
  exists(): Promise<boolean>;
69
168
  loadManifest(): Promise<Manifest>;
70
169
  loadProject(): Promise<Project>;
170
+ /**
171
+ * Allocate the next global sequence number for a feature/phase/task.
172
+ * Reads the monotonic counter from project.json, increments it, persists,
173
+ * and returns the allocated number. MUST be called within withFeatureLock
174
+ * (adapters create entities inside a lock) so the counter is race-free.
175
+ * The counter never reuses a number — deletions leave gaps (by design:
176
+ * stable references survive deletion).
177
+ */
178
+ allocFeatureNumber(): Promise<number>;
179
+ allocPhaseNumber(): Promise<number>;
180
+ allocTaskNumber(): Promise<number>;
181
+ /** Allocate a globally-unique sequence number. `atomicUpdateJson` already
182
+ * serializes concurrent calls via `withWriteLock` on the project file, so
183
+ * the read-modify-write is race-free in-process. The collision guard
184
+ * additionally skips any candidate that already exists in the data (safety
185
+ * net for cross-process races or manual edits) and persists the corrected
186
+ * counter. */
187
+ private allocSeqNumber;
71
188
  loadPhase(phaseId: string): Promise<Phase>;
72
189
  /** Read raw feature files WITHOUT the derived `status` field. Used
73
190
  * internally so loadFeatures/loadAll can derive status from phases without
@@ -90,19 +207,27 @@ export declare class PlanStore {
90
207
  /** True when a guard bypass is currently active (not expired). */
91
208
  isGuardBypassed(): Promise<boolean>;
92
209
  loadActivityLog(): Promise<ActivityLog>;
93
- handoffExists(): Promise<boolean>;
94
- loadHandoff(): Promise<{
95
- content: string;
96
- createdAt: string;
97
- updatedAt: string;
98
- } | null>;
99
- saveHandoff(content: string): Promise<void>;
100
- deleteHandoff(): Promise<void>;
101
210
  appendActivity(type: string, ref: string, summary: string): Promise<ActivityEntry>;
102
211
  /** Derive an up-to-date resume focus from the current workspace state. */
103
212
  refreshResume(notes?: string, lastSessionSummary?: string): Promise<ResumeFocus>;
104
213
  loadRequirements(): Promise<RequirementsDocument>;
214
+ linkedRequirementsForPhase(phaseId: string): Promise<Requirement[]>;
215
+ /** Requirements linked to any phase belonging to a feature, deduplicated by ID. */
216
+ linkedRequirementsForFeature(featureId: string): Promise<Requirement[]>;
217
+ loadPhaseWithRequirements(phaseId: string): Promise<Phase & {
218
+ linkedRequirements: Requirement[];
219
+ }>;
220
+ loadAllPhasesWithRequirements(): Promise<Array<Phase & {
221
+ linkedRequirements: Requirement[];
222
+ }>>;
105
223
  loadAllPhases(): Promise<Phase[]>;
224
+ /** Derive the parent display snapshot for a phase from its tasks' canonical
225
+ * statuses. Pure, non-persisting. */
226
+ loadPhaseDisplay(phaseId: string): Promise<ParentDisplay>;
227
+ /** Derive the parent display snapshot for a feature from its phases' DERIVED
228
+ * canonical statuses (each phase status is derived from its tasks at read
229
+ * time, then mapped via fromCanonicalStatus). Pure, non-persisting. */
230
+ loadFeatureDisplay(featureId: string): Promise<ParentDisplay>;
106
231
  loadAll(): Promise<PlanWorkspace>;
107
232
  /** Migrate legacy non-feature-scoped phase ids to feature-scoped ids and repair
108
233
  * dangling feature.phaseIds references. Idempotent. */
@@ -148,12 +273,21 @@ export declare class PlanStore {
148
273
  prioritiesAssigned: number;
149
274
  duplicateShortIds: string[];
150
275
  };
276
+ containment: {
277
+ changed: number;
278
+ tasks: number;
279
+ orphan: number;
280
+ };
281
+ handoffs: {
282
+ archived: number;
283
+ };
151
284
  integrity: {
152
285
  duplicatePhaseIds: string[];
153
286
  danglingPhaseIds: string[];
154
287
  duplicateShortIds: string[];
155
288
  };
156
289
  }>;
290
+ private repairPhaseFeatureRefs;
157
291
  /** Validate plan integrity: globally unique phase ids and resolvable feature.phaseIds. */
158
292
  validateIntegrity(): Promise<{
159
293
  duplicatePhaseIds: string[];
@@ -169,6 +303,10 @@ export declare class PlanStore {
169
303
  * Returns the composite ref of the phase if its handoff was cleared, else null. */
170
304
  syncTaskStatusRollup(phaseId: string): Promise<string | null>;
171
305
  updateProject(updater: (p: Project) => Project): Promise<Project>;
306
+ /** Persist an explicitly approved work deviation without coupling it to a harness. */
307
+ addWorkDeviation(deviation: WorkDeviation): Promise<Project>;
308
+ /** Mark an approved/active deviation as resolved or canceled while retaining its audit record. */
309
+ setWorkDeviationState(id: string, state: "active" | "resolved" | "canceled", timestamp?: string): Promise<Project>;
172
310
  updateFeatures(updater: (f: FeaturesDocument) => FeaturesDocument): Promise<FeaturesDocument>;
173
311
  updateRequirements(updater: (r: RequirementsDocument) => RequirementsDocument): Promise<RequirementsDocument>;
174
312
  saveProject(project: Project): Promise<void>;
@@ -185,21 +323,66 @@ export declare class PlanStore {
185
323
  updatePhase(phaseId: string, updater: (phase: Phase) => Phase): Promise<Phase>;
186
324
  /** Get the handoff text for a phase ("" if none). Throws if phase missing. */
187
325
  getPhaseHandoff(phaseId: string): Promise<string>;
188
- /** Set the handoff text for a phase + stamp handoffUpdatedAt. Atomic per-file
189
- * update via updatePhase (so the web UI refreshes via maybeAutoSync). */
326
+ /** Set the handoff text for a phase + stamp handoffUpdatedAt. A completed or
327
+ * canceled phase cannot receive a new operational handoff. Replacing an
328
+ * existing handoff archives the previous content as `superseded` first. */
190
329
  setPhaseHandoff(phaseId: string, text: string): Promise<void>;
191
- /** Clear the handoff text for a phase (handoff=""). handoffUpdatedAt is left
192
- * unchanged as an audit trail (when a handoff last existed). */
193
- clearPhaseHandoff(phaseId: string): Promise<void>;
194
- /** List all phases that have a non-empty handoff, newest first, with a
195
- * human-readable composite ref (P00x or P00x(F00x)) and a first-line excerpt. */
330
+ /** Mark the phase handoff as read/acknowledged on recap (sets handoffReadAt).
331
+ * Does NOT clear the handoff content is kept until a task starts or the
332
+ * phase completes, so a restart between read and resume does not lose it. */
333
+ markHandoffRead(phaseId: string): Promise<void>;
334
+ /** One-time import of a legacy .planner/HANDOFF.md file (file-based handoff
335
+ * from before F004) into the entity-scoped phase.handoff. Idempotent: if the
336
+ * file is absent or empty, no-op. If it exists + non-empty + the target phase
337
+ * has no handoff, writes the content onto the current in-progress phase (or
338
+ * the first phase if none in-progress) with an "imported" handoffHistory entry,
339
+ * then renames the file to HANDOFF.md.bak so it won't re-import. If the target
340
+ * already has a handoff, the entity-scoped one wins and the file is just .bak'd. */
341
+ importLegacyHandoffFile(): Promise<{
342
+ imported: boolean;
343
+ phaseRef?: string;
344
+ }>;
345
+ /** Clear the handoff for a phase, archiving its content first. The handoff
346
+ * markdown is written to .planner/handoff-archive/<phaseId>-<ISO>.md and a
347
+ * metadata entry { file, clearedAt, reason } is prepended to handoffHistory
348
+ * (capped at 5; oldest file is deleted when trimmed). handoffUpdatedAt is
349
+ * left unchanged as an audit trail. If the handoff is empty, this is a no-op.
350
+ * reason: "task-started" | "phase-done" | "manual" | "superseded" | "imported". */
351
+ clearPhaseHandoff(phaseId: string, reason?: string): Promise<void>;
352
+ /** Archive stale handoffs left on phases that are already completed/canceled.
353
+ * Idempotent: only non-empty phase.handoff values are moved. */
354
+ private archiveStaleHandoffs;
355
+ /** Public maintenance operation for retroactively archiving stale handoffs. */
356
+ cleanupStaleHandoffs(): Promise<number>;
357
+ /** List only active/pending phase handoffs, newest first. Completed,
358
+ * canceled, and orphaned phases are intentionally excluded. Any legacy stale
359
+ * handoff found on a completed/canceled phase is archived before returning,
360
+ * so callers (including /handoff) also repair old plans automatically. */
196
361
  listHandoffs(): Promise<PhaseHandoffSummary[]>;
362
+ /** List recoverable archived handoffs from phase.handoffHistory. Archived
363
+ * entries are never returned by listHandoffs() and are safe to show on a
364
+ * dedicated history page. */
365
+ listArchivedHandoffs(): Promise<ArchivedPhaseHandoffSummary[]>;
366
+ listOrphanPhases(): Promise<OrphanPhaseSummary[]>;
367
+ cleanupOrphanPhases(): Promise<{
368
+ found: OrphanPhaseSummary[];
369
+ removed: OrphanPhaseSummary[];
370
+ }>;
197
371
  deletePhase(phaseId: string): Promise<void>;
372
+ /** Remove a phase file AND its inline .bak backup. atomicUpdateJson (used by
373
+ * updatePhase without root) writes the backup inline at phases/<id>.json.bak,
374
+ * and readJson falls back to `${path}.bak` on a missing main file — so a
375
+ * delete that leaves the .bak behind would RESURRECT the deleted phase on
376
+ * the next read. Feature backups (written with root) live under
377
+ * .local/backups/ and are never read by readJson, so only the inline .bak
378
+ * needs removing here. */
379
+ private unlinkPhaseFiles;
198
380
  /** Load the full workspace (manifest + phases + project + requirements + features) */
199
381
  loadWorkspace(): Promise<PlanWorkspace>;
200
- /** Load all data, render markdown, and write into generated/. */
382
+ /** Load all data, render markdown, and write into generated/. Skips files
383
+ * whose content is unchanged to avoid unnecessary backup churn. */
201
384
  writeGenerated(): Promise<string[]>;
202
- /** Update manifest.updatedAt to reflect a change. */
203
- private touchManifest;
385
+ /** Update .local/timestamp.json to reflect a change. */
386
+ private touchTimestamp;
204
387
  }
205
388
  //# sourceMappingURL=plan-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"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"}