@agent-plan/core 0.2.19-next.9 → 0.2.19
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 +152 -28
- package/dist/plan-store.d.ts.map +1 -1
- package/dist/plan-store.js +749 -134
- 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 +684 -145
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +50 -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;
|
|
@@ -100,22 +152,47 @@ export declare class PlanStore {
|
|
|
100
152
|
private codebasePath;
|
|
101
153
|
private resumePath;
|
|
102
154
|
private activityPath;
|
|
155
|
+
private localRoot;
|
|
156
|
+
private timestampPath;
|
|
157
|
+
private backupsDir;
|
|
158
|
+
private tmpDir;
|
|
159
|
+
private handoffArchiveDir;
|
|
160
|
+
/** One-time migration for plans created before .planner/.local/ existed.
|
|
161
|
+
* Moves a legacy root-level file into .local/ if the legacy file exists and
|
|
162
|
+
* the .local/ counterpart does not. Safe to call on every load. */
|
|
163
|
+
private migrateLegacyLocalFile;
|
|
164
|
+
private migrateLegacyGeneratedDir;
|
|
165
|
+
private migrateLegacyHandoffArchive;
|
|
103
166
|
init(projectName: string): Promise<void>;
|
|
167
|
+
/** Idempotently ensure `.planner/.gitignore` ignores `.local/` (and the
|
|
168
|
+
* canonical transient/derived patterns). Projects initialized before the
|
|
169
|
+
* `.local/` move either have no `.planner/.gitignore` or one with stale
|
|
170
|
+
* root-level patterns. This upgrades them safely on load and on repair.
|
|
171
|
+
* Returns true if the file was (re)written. Safe to call on every load. */
|
|
172
|
+
ensureGitignore(): Promise<boolean>;
|
|
104
173
|
exists(): Promise<boolean>;
|
|
174
|
+
/** Read-only manifest load. Upgrading legacy `.local` state is explicit
|
|
175
|
+
* maintenance (`repair`), never an incidental side effect of opening a plan. */
|
|
105
176
|
loadManifest(): Promise<Manifest>;
|
|
106
177
|
loadProject(): Promise<Project>;
|
|
107
178
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
179
|
+
* Reserve immutable human identifiers without touching tracked `project.json`.
|
|
180
|
+
* Worktrees in the same clone share `.git/agent-plan/allocations`, guarded by
|
|
181
|
+
* the same cross-process lock used for atomic writes. The registry reserves
|
|
182
|
+
* numbers/short IDs before an entity file is written, so parallel branches
|
|
183
|
+
* cannot allocate the same F/P/T or shortId. Existing entities are never
|
|
184
|
+
* rewritten; cross-clone coordination requires a shared allocator service.
|
|
114
185
|
*/
|
|
186
|
+
allocateEntityIdentity(kind: AllocationKind, entityId: string): Promise<{
|
|
187
|
+
number: number;
|
|
188
|
+
shortId: string;
|
|
189
|
+
}>;
|
|
190
|
+
/** Compatibility helpers. New callers should allocate the number and shortId
|
|
191
|
+
* together with allocateEntityIdentity so reservation cannot be split. */
|
|
115
192
|
allocFeatureNumber(): Promise<number>;
|
|
116
193
|
allocPhaseNumber(): Promise<number>;
|
|
117
194
|
allocTaskNumber(): Promise<number>;
|
|
118
|
-
private
|
|
195
|
+
private allocateLegacyNumber;
|
|
119
196
|
loadPhase(phaseId: string): Promise<Phase>;
|
|
120
197
|
/** Read raw feature files WITHOUT the derived `status` field. Used
|
|
121
198
|
* internally so loadFeatures/loadAll can derive status from phases without
|
|
@@ -142,7 +219,23 @@ export declare class PlanStore {
|
|
|
142
219
|
/** Derive an up-to-date resume focus from the current workspace state. */
|
|
143
220
|
refreshResume(notes?: string, lastSessionSummary?: string): Promise<ResumeFocus>;
|
|
144
221
|
loadRequirements(): Promise<RequirementsDocument>;
|
|
222
|
+
linkedRequirementsForPhase(phaseId: string): Promise<Requirement[]>;
|
|
223
|
+
/** Requirements linked to any phase belonging to a feature, deduplicated by ID. */
|
|
224
|
+
linkedRequirementsForFeature(featureId: string): Promise<Requirement[]>;
|
|
225
|
+
loadPhaseWithRequirements(phaseId: string): Promise<Phase & {
|
|
226
|
+
linkedRequirements: Requirement[];
|
|
227
|
+
}>;
|
|
228
|
+
loadAllPhasesWithRequirements(): Promise<Array<Phase & {
|
|
229
|
+
linkedRequirements: Requirement[];
|
|
230
|
+
}>>;
|
|
145
231
|
loadAllPhases(): Promise<Phase[]>;
|
|
232
|
+
/** Derive the parent display snapshot for a phase from its tasks' canonical
|
|
233
|
+
* statuses. Pure, non-persisting. */
|
|
234
|
+
loadPhaseDisplay(phaseId: string): Promise<ParentDisplay>;
|
|
235
|
+
/** Derive the parent display snapshot for a feature from its phases' DERIVED
|
|
236
|
+
* canonical statuses (each phase status is derived from its tasks at read
|
|
237
|
+
* time, then mapped via fromCanonicalStatus). Pure, non-persisting. */
|
|
238
|
+
loadFeatureDisplay(featureId: string): Promise<ParentDisplay>;
|
|
146
239
|
loadAll(): Promise<PlanWorkspace>;
|
|
147
240
|
/** Migrate legacy non-feature-scoped phase ids to feature-scoped ids and repair
|
|
148
241
|
* dangling feature.phaseIds references. Idempotent. */
|
|
@@ -193,27 +286,38 @@ export declare class PlanStore {
|
|
|
193
286
|
tasks: number;
|
|
194
287
|
orphan: number;
|
|
195
288
|
};
|
|
289
|
+
handoffs: {
|
|
290
|
+
archived: number;
|
|
291
|
+
};
|
|
196
292
|
integrity: {
|
|
197
293
|
duplicatePhaseIds: string[];
|
|
198
294
|
danglingPhaseIds: string[];
|
|
199
295
|
duplicateShortIds: string[];
|
|
200
296
|
};
|
|
201
297
|
}>;
|
|
298
|
+
private repairPhaseFeatureRefs;
|
|
202
299
|
/** Validate plan integrity: globally unique phase ids and resolvable feature.phaseIds. */
|
|
203
300
|
validateIntegrity(): Promise<{
|
|
204
301
|
duplicatePhaseIds: string[];
|
|
205
302
|
danglingPhaseIds: string[];
|
|
206
303
|
duplicateShortIds: string[];
|
|
207
304
|
}>;
|
|
305
|
+
/** A handoff remains active while any task needs work. Its automatic end-of-
|
|
306
|
+
* phase lifecycle is deliberately narrower than canonical display status:
|
|
307
|
+
* every task must be done or canceled (not merely derived "rejected"). */
|
|
308
|
+
private hasCompletedHandoffLifecycle;
|
|
208
309
|
private derivePhaseStatus;
|
|
209
310
|
private deriveFeatureStatus;
|
|
210
311
|
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. */
|
|
312
|
+
/** Auto-clear a phase's handoff only when every task is terminal as done or
|
|
313
|
+
* canceled. This covers an all-canceled phase too, whose legacy canonical
|
|
314
|
+
* derived status is "rejected". Returns the composite ref when cleared. */
|
|
215
315
|
syncTaskStatusRollup(phaseId: string): Promise<string | null>;
|
|
216
316
|
updateProject(updater: (p: Project) => Project): Promise<Project>;
|
|
317
|
+
/** Persist an explicitly approved work deviation without coupling it to a harness. */
|
|
318
|
+
addWorkDeviation(deviation: WorkDeviation): Promise<Project>;
|
|
319
|
+
/** Mark an approved/active deviation as resolved or canceled while retaining its audit record. */
|
|
320
|
+
setWorkDeviationState(id: string, state: "active" | "resolved" | "canceled", timestamp?: string): Promise<Project>;
|
|
217
321
|
updateFeatures(updater: (f: FeaturesDocument) => FeaturesDocument): Promise<FeaturesDocument>;
|
|
218
322
|
updateRequirements(updater: (r: RequirementsDocument) => RequirementsDocument): Promise<RequirementsDocument>;
|
|
219
323
|
saveProject(project: Project): Promise<void>;
|
|
@@ -230,16 +334,12 @@ export declare class PlanStore {
|
|
|
230
334
|
updatePhase(phaseId: string, updater: (phase: Phase) => Phase): Promise<Phase>;
|
|
231
335
|
/** Get the handoff text for a phase ("" if none). Throws if phase missing. */
|
|
232
336
|
getPhaseHandoff(phaseId: string): Promise<string>;
|
|
233
|
-
/** Set the handoff text for a phase + stamp handoffUpdatedAt.
|
|
234
|
-
*
|
|
337
|
+
/** Set the handoff text for a phase + stamp handoffUpdatedAt. A completed or
|
|
338
|
+
* canceled phase cannot receive a new operational handoff. Replacing an
|
|
339
|
+
* existing handoff archives the previous content as `superseded` first. */
|
|
235
340
|
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
341
|
/** 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. */
|
|
342
|
+
* Does NOT clear it: read/load/show are non-mutating resume operations. */
|
|
243
343
|
markHandoffRead(phaseId: string): Promise<void>;
|
|
244
344
|
/** One-time import of a legacy .planner/HANDOFF.md file (file-based handoff
|
|
245
345
|
* from before F004) into the entity-scoped phase.handoff. Idempotent: if the
|
|
@@ -257,17 +357,41 @@ export declare class PlanStore {
|
|
|
257
357
|
* metadata entry { file, clearedAt, reason } is prepended to handoffHistory
|
|
258
358
|
* (capped at 5; oldest file is deleted when trimmed). handoffUpdatedAt is
|
|
259
359
|
* left unchanged as an audit trail. If the handoff is empty, this is a no-op.
|
|
260
|
-
* reason: "
|
|
360
|
+
* reason: "phase-done" | "manual" | "superseded" | "imported". */
|
|
261
361
|
clearPhaseHandoff(phaseId: string, reason?: string): Promise<void>;
|
|
262
|
-
/**
|
|
263
|
-
*
|
|
362
|
+
/** Archive stale handoffs only after every task in their phase is done or
|
|
363
|
+
* canceled. Idempotent: only non-empty phase.handoff values are moved. */
|
|
364
|
+
private archiveStaleHandoffs;
|
|
365
|
+
/** Public maintenance operation for retroactively archiving stale handoffs. */
|
|
366
|
+
cleanupStaleHandoffs(): Promise<number>;
|
|
367
|
+
/** List only active/pending phase handoffs, newest first. Handoffs from
|
|
368
|
+
* phases where every task is done/canceled are archived before returning. */
|
|
264
369
|
listHandoffs(): Promise<PhaseHandoffSummary[]>;
|
|
370
|
+
/** List recoverable archived handoffs from phase.handoffHistory. Archived
|
|
371
|
+
* entries are never returned by listHandoffs() and are safe to show on a
|
|
372
|
+
* dedicated history page. */
|
|
373
|
+
listArchivedHandoffs(): Promise<ArchivedPhaseHandoffSummary[]>;
|
|
374
|
+
listOrphanPhases(): Promise<OrphanPhaseSummary[]>;
|
|
375
|
+
cleanupOrphanPhases(): Promise<{
|
|
376
|
+
found: OrphanPhaseSummary[];
|
|
377
|
+
removed: OrphanPhaseSummary[];
|
|
378
|
+
}>;
|
|
265
379
|
deletePhase(phaseId: string): Promise<void>;
|
|
380
|
+
/** Remove a phase file AND its inline .bak backup. atomicUpdateJson (used by
|
|
381
|
+
* updatePhase without root) writes the backup inline at phases/<id>.json.bak,
|
|
382
|
+
* and readJson falls back to `${path}.bak` on a missing main file — so a
|
|
383
|
+
* delete that leaves the .bak behind would RESURRECT the deleted phase on
|
|
384
|
+
* the next read. Feature backups (written with root) live under
|
|
385
|
+
* .local/backups/ and are never read by readJson, so only the inline .bak
|
|
386
|
+
* needs removing here. */
|
|
387
|
+
private unlinkPhaseFiles;
|
|
266
388
|
/** Load the full workspace (manifest + phases + project + requirements + features) */
|
|
267
389
|
loadWorkspace(): Promise<PlanWorkspace>;
|
|
268
|
-
/** Load all data, render markdown, and write into generated/.
|
|
390
|
+
/** Load all data, render markdown, and write into generated/. Skips files
|
|
391
|
+
* whose content is unchanged to avoid unnecessary backup churn. */
|
|
269
392
|
writeGenerated(): Promise<string[]>;
|
|
270
|
-
/** Update
|
|
271
|
-
private
|
|
393
|
+
/** Update .local/timestamp.json to reflect a change. */
|
|
394
|
+
private touchTimestamp;
|
|
272
395
|
}
|
|
396
|
+
export {};
|
|
273
397
|
//# 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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"}
|