@agent-plan/core 0.2.19-next.9 → 0.2.20
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/checklist.d.ts +16 -0
- package/dist/checklist.d.ts.map +1 -0
- package/dist/checklist.js +52 -0
- package/dist/display-status.d.ts +99 -0
- package/dist/display-status.d.ts.map +1 -0
- package/dist/display-status.js +176 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/naming.d.ts +21 -3
- package/dist/naming.d.ts.map +1 -1
- package/dist/naming.js +45 -3
- package/dist/plan-store.d.ts +156 -28
- package/dist/plan-store.d.ts.map +1 -1
- package/dist/plan-store.js +802 -140
- package/dist/recap.d.ts.map +1 -1
- package/dist/recap.js +18 -4
- package/dist/refs.d.ts.map +1 -1
- package/dist/refs.js +23 -8
- package/dist/schema.d.ts +736 -145
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +56 -9
- package/dist/task-context.d.ts +16 -0
- package/dist/task-context.d.ts.map +1 -0
- package/dist/task-context.js +65 -0
- package/dist/task-selection.d.ts +34 -0
- package/dist/task-selection.d.ts.map +1 -0
- package/dist/task-selection.js +95 -0
- package/package.json +4 -1
package/dist/plan-store.d.ts
CHANGED
|
@@ -1,12 +1,38 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
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";
|
|
3
|
+
import { type ParentDisplay } from "./display-status.js";
|
|
4
|
+
export interface PlanStoreErrorDetails {
|
|
5
|
+
path?: string;
|
|
6
|
+
operation?: string;
|
|
7
|
+
backupTried?: boolean;
|
|
8
|
+
backupFailed?: boolean;
|
|
9
|
+
jsonParseError?: {
|
|
10
|
+
message: string;
|
|
11
|
+
line?: number;
|
|
12
|
+
column?: number;
|
|
13
|
+
};
|
|
14
|
+
validationErrors?: {
|
|
15
|
+
path: string;
|
|
16
|
+
message: string;
|
|
17
|
+
}[];
|
|
18
|
+
rawPreview?: string;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
2
21
|
export declare class PlanStoreError extends Error {
|
|
3
22
|
readonly cause?: unknown | undefined;
|
|
4
|
-
|
|
23
|
+
readonly details?: PlanStoreErrorDetails | undefined;
|
|
24
|
+
constructor(message: string, cause?: unknown | undefined, details?: PlanStoreErrorDetails | undefined);
|
|
5
25
|
}
|
|
6
26
|
export declare function setWriteBusyHook(hook: ((busy: boolean) => void) | undefined): void;
|
|
7
27
|
export declare function setWriteNotifyHook(hook: (() => void) | undefined): void;
|
|
28
|
+
/** Allocation registry is deliberately outside the versioned plan. Git worktrees
|
|
29
|
+
* share their common git dir, so reservations are serialized across branches
|
|
30
|
+
* without rewriting project.json or unrelated planner entities. */
|
|
31
|
+
declare const AllocationKindSchema: z.ZodEnum<["feature", "phase", "task"]>;
|
|
32
|
+
type AllocationKind = z.infer<typeof AllocationKindSchema>;
|
|
8
33
|
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
|
|
34
|
+
/** Summary of a phase that has a non-empty pending handoff, for the
|
|
35
|
+
* listHandoffs() API. Completed/canceled phases are never returned here. */
|
|
10
36
|
export interface PhaseHandoffSummary {
|
|
11
37
|
phaseId: string;
|
|
12
38
|
/** Owning feature id (for deep-linking to the phase-detail route). */
|
|
@@ -21,6 +47,31 @@ export interface PhaseHandoffSummary {
|
|
|
21
47
|
* inline without a per-phase fetch. */
|
|
22
48
|
content: string;
|
|
23
49
|
}
|
|
50
|
+
/** Summary of an archived handoff. The content remains recoverable under
|
|
51
|
+
* `.planner/.local/handoff-archive/` but is not part of the active handoff
|
|
52
|
+
* list. */
|
|
53
|
+
export interface ArchivedPhaseHandoffSummary {
|
|
54
|
+
phaseId: string;
|
|
55
|
+
featureId?: string | undefined;
|
|
56
|
+
compositeRef: string;
|
|
57
|
+
file: string;
|
|
58
|
+
archivedAt: string;
|
|
59
|
+
reason: string;
|
|
60
|
+
firstLine: string;
|
|
61
|
+
content: string;
|
|
62
|
+
}
|
|
63
|
+
/** Summary of a phase file that exists on disk but no longer resolves to a
|
|
64
|
+
* valid owning feature. Missing back-links alone do NOT make a phase orphan:
|
|
65
|
+
* if `phase.featureId` still resolves to a known feature, repair can relink
|
|
66
|
+
* it. */
|
|
67
|
+
export interface OrphanPhaseSummary {
|
|
68
|
+
phaseId: string;
|
|
69
|
+
featureId?: string | undefined;
|
|
70
|
+
shortId?: string | undefined;
|
|
71
|
+
compositeRef: string;
|
|
72
|
+
title: string;
|
|
73
|
+
reason: string;
|
|
74
|
+
}
|
|
24
75
|
export declare function migrateToUuids(store: PlanStore): Promise<void>;
|
|
25
76
|
/**
|
|
26
77
|
* One-time idempotent migration to GLOBAL F/P/T numbering.
|
|
@@ -43,6 +94,7 @@ export declare function migrateToGlobalSequence(store: PlanStore): Promise<{
|
|
|
43
94
|
features: number;
|
|
44
95
|
}>;
|
|
45
96
|
export declare class PlanStore {
|
|
97
|
+
#private;
|
|
46
98
|
readonly root: string;
|
|
47
99
|
private autoSync;
|
|
48
100
|
private syncGuard;
|
|
@@ -65,6 +117,10 @@ export declare class PlanStore {
|
|
|
65
117
|
runBatch<T>(fn: () => Promise<T>): Promise<T>;
|
|
66
118
|
private maybeAutoSync;
|
|
67
119
|
private normalizeTasks;
|
|
120
|
+
/** Stamp description edits independently from generic entity mutations.
|
|
121
|
+
* Legacy entities cannot reveal their historical description-edit time, so
|
|
122
|
+
* their creation time is the earliest truthful fallback. */
|
|
123
|
+
private stampDescriptionUpdatedAt;
|
|
68
124
|
private normalizeFeaturesDocument;
|
|
69
125
|
private normalizePhaseDocument;
|
|
70
126
|
private normalizeStructureSnapshot;
|
|
@@ -100,22 +156,47 @@ export declare class PlanStore {
|
|
|
100
156
|
private codebasePath;
|
|
101
157
|
private resumePath;
|
|
102
158
|
private activityPath;
|
|
159
|
+
private localRoot;
|
|
160
|
+
private timestampPath;
|
|
161
|
+
private backupsDir;
|
|
162
|
+
private tmpDir;
|
|
163
|
+
private handoffArchiveDir;
|
|
164
|
+
/** One-time migration for plans created before .planner/.local/ existed.
|
|
165
|
+
* Moves a legacy root-level file into .local/ if the legacy file exists and
|
|
166
|
+
* the .local/ counterpart does not. Safe to call on every load. */
|
|
167
|
+
private migrateLegacyLocalFile;
|
|
168
|
+
private migrateLegacyGeneratedDir;
|
|
169
|
+
private migrateLegacyHandoffArchive;
|
|
103
170
|
init(projectName: string): Promise<void>;
|
|
171
|
+
/** Idempotently ensure `.planner/.gitignore` ignores `.local/` (and the
|
|
172
|
+
* canonical transient/derived patterns). Projects initialized before the
|
|
173
|
+
* `.local/` move either have no `.planner/.gitignore` or one with stale
|
|
174
|
+
* root-level patterns. This upgrades them safely on load and on repair.
|
|
175
|
+
* Returns true if the file was (re)written. Safe to call on every load. */
|
|
176
|
+
ensureGitignore(): Promise<boolean>;
|
|
104
177
|
exists(): Promise<boolean>;
|
|
178
|
+
/** Read-only manifest load. Upgrading legacy `.local` state is explicit
|
|
179
|
+
* maintenance (`repair`), never an incidental side effect of opening a plan. */
|
|
105
180
|
loadManifest(): Promise<Manifest>;
|
|
106
181
|
loadProject(): Promise<Project>;
|
|
107
182
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
183
|
+
* Reserve immutable human identifiers without touching tracked `project.json`.
|
|
184
|
+
* Worktrees in the same clone share `.git/agent-plan/allocations`, guarded by
|
|
185
|
+
* the same cross-process lock used for atomic writes. The registry reserves
|
|
186
|
+
* numbers/short IDs before an entity file is written, so parallel branches
|
|
187
|
+
* cannot allocate the same F/P/T or shortId. Existing entities are never
|
|
188
|
+
* rewritten; cross-clone coordination requires a shared allocator service.
|
|
114
189
|
*/
|
|
190
|
+
allocateEntityIdentity(kind: AllocationKind, entityId: string): Promise<{
|
|
191
|
+
number: number;
|
|
192
|
+
shortId: string;
|
|
193
|
+
}>;
|
|
194
|
+
/** Compatibility helpers. New callers should allocate the number and shortId
|
|
195
|
+
* together with allocateEntityIdentity so reservation cannot be split. */
|
|
115
196
|
allocFeatureNumber(): Promise<number>;
|
|
116
197
|
allocPhaseNumber(): Promise<number>;
|
|
117
198
|
allocTaskNumber(): Promise<number>;
|
|
118
|
-
private
|
|
199
|
+
private allocateLegacyNumber;
|
|
119
200
|
loadPhase(phaseId: string): Promise<Phase>;
|
|
120
201
|
/** Read raw feature files WITHOUT the derived `status` field. Used
|
|
121
202
|
* internally so loadFeatures/loadAll can derive status from phases without
|
|
@@ -142,7 +223,23 @@ export declare class PlanStore {
|
|
|
142
223
|
/** Derive an up-to-date resume focus from the current workspace state. */
|
|
143
224
|
refreshResume(notes?: string, lastSessionSummary?: string): Promise<ResumeFocus>;
|
|
144
225
|
loadRequirements(): Promise<RequirementsDocument>;
|
|
226
|
+
linkedRequirementsForPhase(phaseId: string): Promise<Requirement[]>;
|
|
227
|
+
/** Requirements linked to any phase belonging to a feature, deduplicated by ID. */
|
|
228
|
+
linkedRequirementsForFeature(featureId: string): Promise<Requirement[]>;
|
|
229
|
+
loadPhaseWithRequirements(phaseId: string): Promise<Phase & {
|
|
230
|
+
linkedRequirements: Requirement[];
|
|
231
|
+
}>;
|
|
232
|
+
loadAllPhasesWithRequirements(): Promise<Array<Phase & {
|
|
233
|
+
linkedRequirements: Requirement[];
|
|
234
|
+
}>>;
|
|
145
235
|
loadAllPhases(): Promise<Phase[]>;
|
|
236
|
+
/** Derive the parent display snapshot for a phase from its tasks' canonical
|
|
237
|
+
* statuses. Pure, non-persisting. */
|
|
238
|
+
loadPhaseDisplay(phaseId: string): Promise<ParentDisplay>;
|
|
239
|
+
/** Derive the parent display snapshot for a feature from its phases' DERIVED
|
|
240
|
+
* canonical statuses (each phase status is derived from its tasks at read
|
|
241
|
+
* time, then mapped via fromCanonicalStatus). Pure, non-persisting. */
|
|
242
|
+
loadFeatureDisplay(featureId: string): Promise<ParentDisplay>;
|
|
146
243
|
loadAll(): Promise<PlanWorkspace>;
|
|
147
244
|
/** Migrate legacy non-feature-scoped phase ids to feature-scoped ids and repair
|
|
148
245
|
* dangling feature.phaseIds references. Idempotent. */
|
|
@@ -193,27 +290,38 @@ export declare class PlanStore {
|
|
|
193
290
|
tasks: number;
|
|
194
291
|
orphan: number;
|
|
195
292
|
};
|
|
293
|
+
handoffs: {
|
|
294
|
+
archived: number;
|
|
295
|
+
};
|
|
196
296
|
integrity: {
|
|
197
297
|
duplicatePhaseIds: string[];
|
|
198
298
|
danglingPhaseIds: string[];
|
|
199
299
|
duplicateShortIds: string[];
|
|
200
300
|
};
|
|
201
301
|
}>;
|
|
302
|
+
private repairPhaseFeatureRefs;
|
|
202
303
|
/** Validate plan integrity: globally unique phase ids and resolvable feature.phaseIds. */
|
|
203
304
|
validateIntegrity(): Promise<{
|
|
204
305
|
duplicatePhaseIds: string[];
|
|
205
306
|
danglingPhaseIds: string[];
|
|
206
307
|
duplicateShortIds: string[];
|
|
207
308
|
}>;
|
|
309
|
+
/** A handoff remains active while any task needs work. Its automatic end-of-
|
|
310
|
+
* phase lifecycle is deliberately narrower than canonical display status:
|
|
311
|
+
* every task must be done or canceled (not merely derived "rejected"). */
|
|
312
|
+
private hasCompletedHandoffLifecycle;
|
|
208
313
|
private derivePhaseStatus;
|
|
209
314
|
private deriveFeatureStatus;
|
|
210
315
|
syncStatuses(): Promise<string[]>;
|
|
211
|
-
/** Auto-clear a phase's handoff when
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
* Returns the composite ref of the phase if its handoff was cleared, else null. */
|
|
316
|
+
/** Auto-clear a phase's handoff only when every task is terminal as done or
|
|
317
|
+
* canceled. This covers an all-canceled phase too, whose legacy canonical
|
|
318
|
+
* derived status is "rejected". Returns the composite ref when cleared. */
|
|
215
319
|
syncTaskStatusRollup(phaseId: string): Promise<string | null>;
|
|
216
320
|
updateProject(updater: (p: Project) => Project): Promise<Project>;
|
|
321
|
+
/** Persist an explicitly approved work deviation without coupling it to a harness. */
|
|
322
|
+
addWorkDeviation(deviation: WorkDeviation): Promise<Project>;
|
|
323
|
+
/** Mark an approved/active deviation as resolved or canceled while retaining its audit record. */
|
|
324
|
+
setWorkDeviationState(id: string, state: "active" | "resolved" | "canceled", timestamp?: string): Promise<Project>;
|
|
217
325
|
updateFeatures(updater: (f: FeaturesDocument) => FeaturesDocument): Promise<FeaturesDocument>;
|
|
218
326
|
updateRequirements(updater: (r: RequirementsDocument) => RequirementsDocument): Promise<RequirementsDocument>;
|
|
219
327
|
saveProject(project: Project): Promise<void>;
|
|
@@ -230,16 +338,12 @@ export declare class PlanStore {
|
|
|
230
338
|
updatePhase(phaseId: string, updater: (phase: Phase) => Phase): Promise<Phase>;
|
|
231
339
|
/** Get the handoff text for a phase ("" if none). Throws if phase missing. */
|
|
232
340
|
getPhaseHandoff(phaseId: string): Promise<string>;
|
|
233
|
-
/** Set the handoff text for a phase + stamp handoffUpdatedAt.
|
|
234
|
-
*
|
|
341
|
+
/** Set the handoff text for a phase + stamp handoffUpdatedAt. A completed or
|
|
342
|
+
* canceled phase cannot receive a new operational handoff. Replacing an
|
|
343
|
+
* existing handoff archives the previous content as `superseded` first. */
|
|
235
344
|
setPhaseHandoff(phaseId: string, text: string): Promise<void>;
|
|
236
|
-
/** Directory where cleared handoff content is archived as .md files
|
|
237
|
-
* (gitignored). Keeps the phase JSON lean while making past handoffs
|
|
238
|
-
* recoverable + human-readable. */
|
|
239
|
-
private handoffArchiveDir;
|
|
240
345
|
/** Mark the phase handoff as read/acknowledged on recap (sets handoffReadAt).
|
|
241
|
-
* Does NOT clear
|
|
242
|
-
* phase completes, so a restart between read and resume does not lose it. */
|
|
346
|
+
* Does NOT clear it: read/load/show are non-mutating resume operations. */
|
|
243
347
|
markHandoffRead(phaseId: string): Promise<void>;
|
|
244
348
|
/** One-time import of a legacy .planner/HANDOFF.md file (file-based handoff
|
|
245
349
|
* from before F004) into the entity-scoped phase.handoff. Idempotent: if the
|
|
@@ -257,17 +361,41 @@ export declare class PlanStore {
|
|
|
257
361
|
* metadata entry { file, clearedAt, reason } is prepended to handoffHistory
|
|
258
362
|
* (capped at 5; oldest file is deleted when trimmed). handoffUpdatedAt is
|
|
259
363
|
* left unchanged as an audit trail. If the handoff is empty, this is a no-op.
|
|
260
|
-
* reason: "
|
|
364
|
+
* reason: "phase-done" | "manual" | "superseded" | "imported". */
|
|
261
365
|
clearPhaseHandoff(phaseId: string, reason?: string): Promise<void>;
|
|
262
|
-
/**
|
|
263
|
-
*
|
|
366
|
+
/** Archive stale handoffs only after every task in their phase is done or
|
|
367
|
+
* canceled. Idempotent: only non-empty phase.handoff values are moved. */
|
|
368
|
+
private archiveStaleHandoffs;
|
|
369
|
+
/** Public maintenance operation for retroactively archiving stale handoffs. */
|
|
370
|
+
cleanupStaleHandoffs(): Promise<number>;
|
|
371
|
+
/** List only active/pending phase handoffs, newest first. Handoffs from
|
|
372
|
+
* phases where every task is done/canceled are archived before returning. */
|
|
264
373
|
listHandoffs(): Promise<PhaseHandoffSummary[]>;
|
|
374
|
+
/** List recoverable archived handoffs from phase.handoffHistory. Archived
|
|
375
|
+
* entries are never returned by listHandoffs() and are safe to show on a
|
|
376
|
+
* dedicated history page. */
|
|
377
|
+
listArchivedHandoffs(): Promise<ArchivedPhaseHandoffSummary[]>;
|
|
378
|
+
listOrphanPhases(): Promise<OrphanPhaseSummary[]>;
|
|
379
|
+
cleanupOrphanPhases(): Promise<{
|
|
380
|
+
found: OrphanPhaseSummary[];
|
|
381
|
+
removed: OrphanPhaseSummary[];
|
|
382
|
+
}>;
|
|
265
383
|
deletePhase(phaseId: string): Promise<void>;
|
|
384
|
+
/** Remove a phase file AND its inline .bak backup. atomicUpdateJson (used by
|
|
385
|
+
* updatePhase without root) writes the backup inline at phases/<id>.json.bak,
|
|
386
|
+
* and readJson falls back to `${path}.bak` on a missing main file — so a
|
|
387
|
+
* delete that leaves the .bak behind would RESURRECT the deleted phase on
|
|
388
|
+
* the next read. Feature backups (written with root) live under
|
|
389
|
+
* .local/backups/ and are never read by readJson, so only the inline .bak
|
|
390
|
+
* needs removing here. */
|
|
391
|
+
private unlinkPhaseFiles;
|
|
266
392
|
/** Load the full workspace (manifest + phases + project + requirements + features) */
|
|
267
393
|
loadWorkspace(): Promise<PlanWorkspace>;
|
|
268
|
-
/** Load all data, render markdown, and write into generated/.
|
|
394
|
+
/** Load all data, render markdown, and write into generated/. Skips files
|
|
395
|
+
* whose content is unchanged to avoid unnecessary backup churn. */
|
|
269
396
|
writeGenerated(): Promise<string[]>;
|
|
270
|
-
/** Update
|
|
271
|
-
private
|
|
397
|
+
/** Update .local/timestamp.json to reflect a change. */
|
|
398
|
+
private touchTimestamp;
|
|
272
399
|
}
|
|
400
|
+
export {};
|
|
273
401
|
//# sourceMappingURL=plan-store.d.ts.map
|
package/dist/plan-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"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"}
|