@martintrojer/mu 0.4.0 → 0.4.1
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/AGENTS.md +19 -14
- package/README.md +28 -14
- package/dist/cli.js +1428 -728
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +193 -85
- package/dist/index.js +987 -554
- package/dist/index.js.map +1 -1
- package/docs/ARCHITECTURE.md +12 -9
- package/docs/ROADMAP.md +81 -2
- package/docs/USAGE_GUIDE.md +109 -89
- package/docs/VOCABULARY.md +21 -3
- package/package.json +3 -9
- package/skills/mu/SKILL.md +8 -3
package/dist/index.d.ts
CHANGED
|
@@ -62,13 +62,13 @@ declare class SchemaTooOldError extends Error implements HasNextSteps {
|
|
|
62
62
|
constructor(detectedVersion: number, requiredVersion: number);
|
|
63
63
|
errorNextSteps(): NextStep[];
|
|
64
64
|
}
|
|
65
|
-
/** The schema version a fresh DB starts at.
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* v5 — pre-v5 DBs throw `SchemaTooOldError`; v5
|
|
70
|
-
*
|
|
71
|
-
declare const CURRENT_SCHEMA_VERSION =
|
|
65
|
+
/** The schema version a fresh DB starts at. v8 adds the
|
|
66
|
+
* machine_identity and workstream_sync sync substrate on top of v7
|
|
67
|
+
* (which dropped the approvals table), v6 (which added 5 archive_*
|
|
68
|
+
* tables), and v5's surrogate-PK substrate. The refusal floor is
|
|
69
|
+
* v5 — pre-v5 DBs throw `SchemaTooOldError`; v5+ DBs are
|
|
70
|
+
* forward-bumped in place by `applySchema`. */
|
|
71
|
+
declare const CURRENT_SCHEMA_VERSION = 8;
|
|
72
72
|
/** Tables a healthy DB must contain. Single source of truth so
|
|
73
73
|
* `mu doctor` and any other consumer don't drift. Adding a new table
|
|
74
74
|
* = one new entry here AND a CREATE TABLE in CURRENT_SCHEMA. (Schema
|
|
@@ -1636,6 +1636,26 @@ interface SearchArchivesOptions {
|
|
|
1636
1636
|
/** LIKE-search archived task titles AND archived note content. */
|
|
1637
1637
|
declare function searchArchives(db: Db, opts: SearchArchivesOptions): ArchiveSearchHit[];
|
|
1638
1638
|
|
|
1639
|
+
declare class ArchiveSourceAmbiguousError extends Error implements HasNextSteps {
|
|
1640
|
+
readonly label: string;
|
|
1641
|
+
readonly sources: readonly string[];
|
|
1642
|
+
readonly name = "ArchiveSourceAmbiguousError";
|
|
1643
|
+
constructor(label: string, sources: readonly string[]);
|
|
1644
|
+
errorNextSteps(): NextStep[];
|
|
1645
|
+
}
|
|
1646
|
+
interface RestoreArchiveOptions {
|
|
1647
|
+
sourceWorkstream?: string;
|
|
1648
|
+
}
|
|
1649
|
+
interface RestoreArchiveResult {
|
|
1650
|
+
archiveLabel: string;
|
|
1651
|
+
sourceWorkstream: string;
|
|
1652
|
+
workstreamName: string;
|
|
1653
|
+
restoredTasks: number;
|
|
1654
|
+
restoredEdges: number;
|
|
1655
|
+
restoredNotes: number;
|
|
1656
|
+
}
|
|
1657
|
+
declare function restoreArchive(db: Db, label: string, asWorkstream: string, opts?: RestoreArchiveOptions): RestoreArchiveResult;
|
|
1658
|
+
|
|
1639
1659
|
type TaskStatus = "OPEN" | "IN_PROGRESS" | "CLOSED" | "REJECTED" | "DEFERRED";
|
|
1640
1660
|
/** Every legal task status, in canonical order (matches the schema
|
|
1641
1661
|
* CHECK clause). Exported so CLI surfaces (`--status` validators,
|
|
@@ -2860,6 +2880,164 @@ declare function loadFullDag(db: Db, workstream: string, opts?: LoadFullDagOptio
|
|
|
2860
2880
|
declare function renderForest(roots: readonly TaskRow[], edges: ReadonlyMap<string, readonly string[]>, statusFn: TaskStatusLabelFn, tasksByName?: ReadonlyMap<string, TaskRow>, opts?: RenderTreeOptions): string;
|
|
2861
2881
|
declare function renderTaskTree(db: Db, workstream: string, root: TaskRow, direction: "blockers" | "dependents", statusFn: TaskStatusLabelFn, opts?: RenderTreeOptions): string;
|
|
2862
2882
|
|
|
2883
|
+
declare class DbReplayWorkstreamMissingError extends Error implements HasNextSteps {
|
|
2884
|
+
readonly workstream: string;
|
|
2885
|
+
readonly name = "DbReplayWorkstreamMissingError";
|
|
2886
|
+
constructor(workstream: string);
|
|
2887
|
+
errorNextSteps(): NextStep[];
|
|
2888
|
+
}
|
|
2889
|
+
interface DbReplayTaskConflict {
|
|
2890
|
+
localId: string;
|
|
2891
|
+
local: {
|
|
2892
|
+
title: string;
|
|
2893
|
+
status: string;
|
|
2894
|
+
};
|
|
2895
|
+
sidecar: {
|
|
2896
|
+
title: string;
|
|
2897
|
+
status: string;
|
|
2898
|
+
};
|
|
2899
|
+
}
|
|
2900
|
+
declare class DbReplayLocalIdConflictError extends Error implements HasNextSteps {
|
|
2901
|
+
readonly workstream: string;
|
|
2902
|
+
readonly conflicts: readonly DbReplayTaskConflict[];
|
|
2903
|
+
readonly name = "DbReplayLocalIdConflictError";
|
|
2904
|
+
constructor(workstream: string, conflicts: readonly DbReplayTaskConflict[]);
|
|
2905
|
+
errorNextSteps(): NextStep[];
|
|
2906
|
+
}
|
|
2907
|
+
interface ReplayDbOptions {
|
|
2908
|
+
apply?: boolean;
|
|
2909
|
+
tasks?: readonly string[];
|
|
2910
|
+
notes?: readonly string[];
|
|
2911
|
+
all?: boolean;
|
|
2912
|
+
}
|
|
2913
|
+
interface DbReplayTaskItem {
|
|
2914
|
+
localId: string;
|
|
2915
|
+
title: string;
|
|
2916
|
+
status: string;
|
|
2917
|
+
impact: number;
|
|
2918
|
+
effortDays: number;
|
|
2919
|
+
createdAt: string;
|
|
2920
|
+
updatedAt: string;
|
|
2921
|
+
}
|
|
2922
|
+
interface DbReplayNoteItem {
|
|
2923
|
+
taskLocalId: string;
|
|
2924
|
+
author: string | null;
|
|
2925
|
+
content: string;
|
|
2926
|
+
createdAt: string;
|
|
2927
|
+
hash: string;
|
|
2928
|
+
}
|
|
2929
|
+
interface DbReplayEdgeItem {
|
|
2930
|
+
fromLocalId: string;
|
|
2931
|
+
toLocalId: string;
|
|
2932
|
+
createdAt: string;
|
|
2933
|
+
}
|
|
2934
|
+
interface DbReplayPlan {
|
|
2935
|
+
sourceFile: string;
|
|
2936
|
+
workstream: string;
|
|
2937
|
+
tasks: DbReplayTaskItem[];
|
|
2938
|
+
notes: DbReplayNoteItem[];
|
|
2939
|
+
edges: DbReplayEdgeItem[];
|
|
2940
|
+
conflicts: DbReplayTaskConflict[];
|
|
2941
|
+
}
|
|
2942
|
+
interface DbReplayResult extends DbReplayPlan {
|
|
2943
|
+
dryRun: boolean;
|
|
2944
|
+
applied: boolean;
|
|
2945
|
+
snapshotId?: number;
|
|
2946
|
+
added: {
|
|
2947
|
+
tasks: number;
|
|
2948
|
+
notes: number;
|
|
2949
|
+
edges: number;
|
|
2950
|
+
};
|
|
2951
|
+
warnings: string[];
|
|
2952
|
+
}
|
|
2953
|
+
declare function replayDb(db: Db, file: string, opts?: ReplayDbOptions): DbReplayResult;
|
|
2954
|
+
declare function buildReplayPlan(localDb: Db, sidecarDb: Db, sourceFile: string): DbReplayPlan;
|
|
2955
|
+
|
|
2956
|
+
interface DbExportManifestWorkstream {
|
|
2957
|
+
name: string;
|
|
2958
|
+
tasks: number;
|
|
2959
|
+
edges: number;
|
|
2960
|
+
notes: number;
|
|
2961
|
+
latestSeq: number;
|
|
2962
|
+
}
|
|
2963
|
+
interface DbExportManifest {
|
|
2964
|
+
muVersion: string;
|
|
2965
|
+
schemaVersion: number;
|
|
2966
|
+
machineId: string;
|
|
2967
|
+
hostname: string | null;
|
|
2968
|
+
exportedAt: string;
|
|
2969
|
+
workstreams: DbExportManifestWorkstream[];
|
|
2970
|
+
}
|
|
2971
|
+
interface ExportDbOptions {
|
|
2972
|
+
force?: boolean;
|
|
2973
|
+
}
|
|
2974
|
+
interface ExportDbResult {
|
|
2975
|
+
file: string;
|
|
2976
|
+
manifestPath: string;
|
|
2977
|
+
manifest: DbExportManifest;
|
|
2978
|
+
overwritten: boolean;
|
|
2979
|
+
}
|
|
2980
|
+
declare class DbExportTargetExistsError extends Error implements HasNextSteps {
|
|
2981
|
+
readonly file: string;
|
|
2982
|
+
readonly name = "DbExportTargetExistsError";
|
|
2983
|
+
constructor(file: string);
|
|
2984
|
+
errorNextSteps(): NextStep[];
|
|
2985
|
+
}
|
|
2986
|
+
declare class DbImportManifestMissingError extends Error implements HasNextSteps {
|
|
2987
|
+
readonly manifestPath: string;
|
|
2988
|
+
readonly name = "DbImportManifestMissingError";
|
|
2989
|
+
constructor(manifestPath: string);
|
|
2990
|
+
errorNextSteps(): NextStep[];
|
|
2991
|
+
}
|
|
2992
|
+
declare class DbImportSchemaTooOldError extends Error implements HasNextSteps {
|
|
2993
|
+
readonly sourceVersion: number;
|
|
2994
|
+
readonly name = "DbImportSchemaTooOldError";
|
|
2995
|
+
constructor(sourceVersion: number);
|
|
2996
|
+
errorNextSteps(): NextStep[];
|
|
2997
|
+
}
|
|
2998
|
+
declare class DbImportSchemaTooNewError extends Error implements HasNextSteps {
|
|
2999
|
+
readonly sourceVersion: number;
|
|
3000
|
+
readonly name = "DbImportSchemaTooNewError";
|
|
3001
|
+
constructor(sourceVersion: number);
|
|
3002
|
+
errorNextSteps(): NextStep[];
|
|
3003
|
+
}
|
|
3004
|
+
declare class DbImportSourceStaleError extends Error implements HasNextSteps {
|
|
3005
|
+
readonly workstreams: readonly string[];
|
|
3006
|
+
readonly name = "DbImportSourceStaleError";
|
|
3007
|
+
constructor(workstreams: readonly string[]);
|
|
3008
|
+
errorNextSteps(): NextStep[];
|
|
3009
|
+
}
|
|
3010
|
+
declare class DbImportConflictError extends Error implements HasNextSteps {
|
|
3011
|
+
readonly workstreams: readonly string[];
|
|
3012
|
+
readonly name = "DbImportConflictError";
|
|
3013
|
+
constructor(workstreams: readonly string[]);
|
|
3014
|
+
errorNextSteps(): NextStep[];
|
|
3015
|
+
}
|
|
3016
|
+
type DbImportDecision = "IDENTICAL" | "FAST_FORWARD" | "LOCAL_AHEAD" | "CONFLICT" | "IMPORT" | "LEAVE_ALONE";
|
|
3017
|
+
interface DbImportSummaryItem {
|
|
3018
|
+
workstream: string;
|
|
3019
|
+
decision: DbImportDecision;
|
|
3020
|
+
delta: Record<string, unknown>;
|
|
3021
|
+
needs?: string;
|
|
3022
|
+
parkPath?: string;
|
|
3023
|
+
}
|
|
3024
|
+
interface ImportDbOptions {
|
|
3025
|
+
apply?: boolean;
|
|
3026
|
+
forceSource?: boolean;
|
|
3027
|
+
onlyWorkstreams?: readonly string[];
|
|
3028
|
+
}
|
|
3029
|
+
interface ImportDbResult {
|
|
3030
|
+
machineId: string;
|
|
3031
|
+
sourceFile: string;
|
|
3032
|
+
dryRun: boolean;
|
|
3033
|
+
applied: boolean;
|
|
3034
|
+
snapshotId?: number;
|
|
3035
|
+
summary: DbImportSummaryItem[];
|
|
3036
|
+
}
|
|
3037
|
+
declare function exportDb(db: Db, file: string, opts?: ExportDbOptions): ExportDbResult;
|
|
3038
|
+
declare function importDb(db: Db, file: string, opts?: ImportDbOptions): ImportDbResult;
|
|
3039
|
+
declare function buildImportPlan(localDb: Db, manifest: DbExportManifest, sourceFile: string, onlyWorkstreams?: readonly string[]): DbImportSummaryItem[];
|
|
3040
|
+
|
|
2863
3041
|
interface Track {
|
|
2864
3042
|
/** Goal tasks (no outgoing edges) belonging to this track. */
|
|
2865
3043
|
roots: TaskRow[];
|
|
@@ -3011,6 +3189,12 @@ declare function exportArchive(db: Db, opts: ExportArchiveOptions): ExportArchiv
|
|
|
3011
3189
|
declare function isValidWorkstreamName(name: string): boolean;
|
|
3012
3190
|
/** Thrown by `ensureWorkstream` and `mu workstream init` when the name
|
|
3013
3191
|
* doesn't match the rules. */
|
|
3192
|
+
declare class WorkstreamExistsError extends Error implements HasNextSteps {
|
|
3193
|
+
readonly workstream: string;
|
|
3194
|
+
readonly name: string;
|
|
3195
|
+
constructor(workstream: string);
|
|
3196
|
+
errorNextSteps(): NextStep[];
|
|
3197
|
+
}
|
|
3014
3198
|
declare class WorkstreamNameInvalidError extends Error implements HasNextSteps {
|
|
3015
3199
|
readonly attempted: string;
|
|
3016
3200
|
readonly name = "WorkstreamNameInvalidError";
|
|
@@ -3168,82 +3352,6 @@ interface ExportResult {
|
|
|
3168
3352
|
*/
|
|
3169
3353
|
declare function exportWorkstream(db: Db, opts: ExportWorkstreamOptions): ExportResult;
|
|
3170
3354
|
|
|
3171
|
-
declare class ImportBucketInvalidError extends Error implements HasNextSteps {
|
|
3172
|
-
readonly bucketDir: string;
|
|
3173
|
-
readonly reason: string;
|
|
3174
|
-
readonly name = "ImportBucketInvalidError";
|
|
3175
|
-
constructor(bucketDir: string, reason: string);
|
|
3176
|
-
errorNextSteps(): NextStep[];
|
|
3177
|
-
}
|
|
3178
|
-
declare class WorkstreamAlreadyExistsError extends Error implements HasNextSteps {
|
|
3179
|
-
readonly workstream: string;
|
|
3180
|
-
readonly name = "WorkstreamAlreadyExistsError";
|
|
3181
|
-
constructor(workstream: string);
|
|
3182
|
-
errorNextSteps(): NextStep[];
|
|
3183
|
-
}
|
|
3184
|
-
declare class ImportFrontmatterParseError extends Error implements HasNextSteps {
|
|
3185
|
-
readonly path: string;
|
|
3186
|
-
readonly line: number;
|
|
3187
|
-
readonly raw: string;
|
|
3188
|
-
readonly name = "ImportFrontmatterParseError";
|
|
3189
|
-
constructor(path: string, line: number, raw: string);
|
|
3190
|
-
errorNextSteps(): NextStep[];
|
|
3191
|
-
}
|
|
3192
|
-
declare class ImportEdgeRefMissingError extends Error implements HasNextSteps {
|
|
3193
|
-
readonly fromTask: string;
|
|
3194
|
-
readonly toTask: string;
|
|
3195
|
-
readonly direction: "blocked_by" | "blocks";
|
|
3196
|
-
readonly name = "ImportEdgeRefMissingError";
|
|
3197
|
-
constructor(fromTask: string, toTask: string, direction: "blocked_by" | "blocks");
|
|
3198
|
-
errorNextSteps(): NextStep[];
|
|
3199
|
-
}
|
|
3200
|
-
interface ImportBucketOptions {
|
|
3201
|
-
bucketDir: string;
|
|
3202
|
-
/** Rename the (single) source workstream on import. Only valid when
|
|
3203
|
-
* the bucket has exactly one source-ws subdir (after applying any
|
|
3204
|
-
* `sourceWs` filter); otherwise rejected with an
|
|
3205
|
-
* ImportBucketInvalidError. */
|
|
3206
|
-
workstreamOverride?: string;
|
|
3207
|
-
/** Restrict the import to a subset of source-ws subdirs (by name).
|
|
3208
|
-
* Each name must be a key in the bucket manifest's `sources` map;
|
|
3209
|
-
* otherwise ImportSourceNotInBucketError is raised. Mutually
|
|
3210
|
-
* exclusive with the per-source-ws-subdir invocation form (Form 1):
|
|
3211
|
-
* passing this flag against a Form 1 path raises
|
|
3212
|
-
* ImportBucketInvalidError. Empty array is treated as "no filter";
|
|
3213
|
-
* the CLI rejects an explicitly-empty `--source-ws ,,`. */
|
|
3214
|
-
sourceWs?: string[];
|
|
3215
|
-
/** Walk + parse but write nothing to the DB. */
|
|
3216
|
-
dryRun?: boolean;
|
|
3217
|
-
}
|
|
3218
|
-
interface ImportSourceResult {
|
|
3219
|
-
workstreamName: string;
|
|
3220
|
-
tasksImported: number;
|
|
3221
|
-
edgesImported: number;
|
|
3222
|
-
notesImported: number;
|
|
3223
|
-
tombstonesSkipped: number;
|
|
3224
|
-
/** Per-source-ws errors that did NOT roll back this source. Empty
|
|
3225
|
-
* on success. (Sibling failures live in their own entry.) */
|
|
3226
|
-
errors: string[];
|
|
3227
|
-
}
|
|
3228
|
-
interface ImportBucketResult {
|
|
3229
|
-
bucketLabel: string | null;
|
|
3230
|
-
bucketVersion: number;
|
|
3231
|
-
sources: ImportSourceResult[];
|
|
3232
|
-
}
|
|
3233
|
-
/**
|
|
3234
|
-
* Import a v0.3 bucket directory back into the DB. One source-ws
|
|
3235
|
-
* subdirectory becomes one workstream + N tasks + M edges + K notes.
|
|
3236
|
-
* Per source-ws transactional: a failure in source A rolls back A
|
|
3237
|
-
* but leaves source B's import committed.
|
|
3238
|
-
*
|
|
3239
|
-
* Throws on unrecoverable bucket-level errors (no manifest,
|
|
3240
|
-
* --workstream override against multi-source). Per-source
|
|
3241
|
-
* errors (frontmatter parse, edge ref, target name collision) leave
|
|
3242
|
-
* the failing source's `errors` array populated and that source's
|
|
3243
|
-
* counts at zero; siblings still attempt their own import.
|
|
3244
|
-
*/
|
|
3245
|
-
declare function importBucket(db: Db, opts: ImportBucketOptions): ImportBucketResult;
|
|
3246
|
-
|
|
3247
3355
|
type LogKind = "message" | "event" | "broadcast" | string;
|
|
3248
3356
|
interface LogRow {
|
|
3249
3357
|
/** Monotonic AUTOINCREMENT id. Use as the cursor for `--since`. */
|
|
@@ -3300,7 +3408,7 @@ declare function listLogs(db: Db, opts?: ListLogsOptions): LogRow[];
|
|
|
3300
3408
|
* by `mu log --tail` to start the cursor at "now" so the subscriber
|
|
3301
3409
|
* only sees NEW entries unless they explicitly pass `--since 0`.
|
|
3302
3410
|
*/
|
|
3303
|
-
declare function latestSeq(db: Db): number;
|
|
3411
|
+
declare function latestSeq(db: Db, workstreamId?: number): number;
|
|
3304
3412
|
/**
|
|
3305
3413
|
* One-line helper for state-changing SDK functions to auto-emit a
|
|
3306
3414
|
* `kind='event'` log entry. Called AFTER the mutation succeeds, only
|
|
@@ -3619,4 +3727,4 @@ declare function deleteSnapshot(db: Db, snapshotId: number): DeleteSnapshotResul
|
|
|
3619
3727
|
|
|
3620
3728
|
declare function restoreSnapshot(db: Db, snapshotId: number): RestoreSnapshotResult;
|
|
3621
3729
|
|
|
3622
|
-
export { type AddNoteOptions, type AddTaskOptions, type AddToArchiveResult, type AdoptAgentOptions, type AdoptAgentResult, AgentDiedOnSpawnError, AgentExistsError, AgentNotFoundError, AgentNotInWorkstreamError, type AgentRow, AgentSpawnCliNotFoundError, AgentSpawnStartupError, type AgentStatus, type AppendLogOptions, type Archive, ArchiveAlreadyExistsError, ArchiveLabelInvalidError, ArchiveNotFoundError, type ArchiveSearchHit, type ArchiveSourceSummary, type ArchiveSummary, type ArchivedTaskRow, type BlockEdgeResult, CURRENT_SCHEMA_VERSION, type CaptureOptions, type CaptureSnapshotResult, type ClaimResult, type ClaimTaskOptions, ClaimerNotRegisteredError, type ClassifiedEvent, type CloseAgentOptions, type CloseAgentResult, type CommandResolutionResult, type CommandResolver, CrossWorkstreamEdgeError, CycleError, type Db, type DeleteSnapshotResult, type DeleteTaskResult, type DestroyResult, type DetectedStatus, type DoctorCheck, type DoctorStatus, type DoctorSummary, EVENT_VERB_PREFIXES, EXPECTED_TABLES, type EvidenceOption, type ExportArchiveOptions, type ExportArchiveResult, type ExportManifest, type ExportResult, type ExportSource, type ExportSourceManifest, type ExportTaskEntry, type ExportWorkstreamOptions, type FreeAgentResult, type FullDag, HomeDirAsProjectRootError, type IdFromTitleResult,
|
|
3730
|
+
export { type AddNoteOptions, type AddTaskOptions, type AddToArchiveResult, type AdoptAgentOptions, type AdoptAgentResult, AgentDiedOnSpawnError, AgentExistsError, AgentNotFoundError, AgentNotInWorkstreamError, type AgentRow, AgentSpawnCliNotFoundError, AgentSpawnStartupError, type AgentStatus, type AppendLogOptions, type Archive, ArchiveAlreadyExistsError, ArchiveLabelInvalidError, ArchiveNotFoundError, type ArchiveSearchHit, ArchiveSourceAmbiguousError, type ArchiveSourceSummary, type ArchiveSummary, type ArchivedTaskRow, type BlockEdgeResult, CURRENT_SCHEMA_VERSION, type CaptureOptions, type CaptureSnapshotResult, type ClaimResult, type ClaimTaskOptions, ClaimerNotRegisteredError, type ClassifiedEvent, type CloseAgentOptions, type CloseAgentResult, type CommandResolutionResult, type CommandResolver, CrossWorkstreamEdgeError, CycleError, type Db, type DbExportManifest, type DbExportManifestWorkstream, DbExportTargetExistsError, DbImportConflictError, type DbImportDecision, DbImportManifestMissingError, DbImportSchemaTooNewError, DbImportSchemaTooOldError, DbImportSourceStaleError, type DbImportSummaryItem, type DbReplayEdgeItem, DbReplayLocalIdConflictError, type DbReplayNoteItem, type DbReplayPlan, type DbReplayResult, type DbReplayTaskConflict, type DbReplayTaskItem, DbReplayWorkstreamMissingError, type DeleteSnapshotResult, type DeleteTaskResult, type DestroyResult, type DetectedStatus, type DoctorCheck, type DoctorStatus, type DoctorSummary, EVENT_VERB_PREFIXES, EXPECTED_TABLES, type EvidenceOption, type ExportArchiveOptions, type ExportArchiveResult, type ExportDbOptions, type ExportDbResult, type ExportManifest, type ExportResult, type ExportSource, type ExportSourceManifest, type ExportTaskEntry, type ExportWorkstreamOptions, type FreeAgentResult, type FullDag, HomeDirAsProjectRootError, type IdFromTitleResult, type ImportDbOptions, type ImportDbResult, type InsertAgentInput, type KickAgentOptions, type KickAgentResult, type KickProcessExecutor, type KickSignal, type ListArchivedTasksOptions, type ListLiveAgentsOptions, type ListLogsOptions, type ListNotesOptions, type ListReadyOptions, type ListSnapshotsOptions, type ListTasksOptions, type LiveAgentsView, type LoadFullDagOptions, type LoadWorkstreamSnapshotOptions, type LogKind, type LogRow, type NewSessionOptions, type NewWindowOptions, NoForegroundProcessError, type OpenDbOptions, type OwnedTasksSummary, PANE_ID_RE, PaneNotFoundError, type PruneMode, type PruneOptions, PruneOptionsInvalidError, type PruneResult, type ReconcileMode, type ReconcileOptions, type ReconcileReport, type RejectDeferOptions, type RejectDeferResult, type ReleaseResult, type ReleaseTaskOptions, type RemoveBlockEdgeResult, type RemoveFromArchiveResult, type RenderBucketInput, type RenderBucketResult, type ReparentTaskResult, type ReplayDbOptions, type RestoreArchiveOptions, type RestoreArchiveResult, type RestoreSnapshotResult, type RoiBucket, STATUSES_TERMINAL_OR_PARKED, STATUS_EMOJI, SchemaTooOldError, type SearchArchivesOptions, type SearchTasksOptions, type SendOptions, type SetStatusResult, type SlugifyResult, SnapshotFileMissingError, SnapshotNotFoundError, type SnapshotRow, SnapshotVersionMismatchError, type SpawnAgentOptions, type SplitWindowOptions, type StrandedWorkspaceOrphan, TASK_STATUSES, TASK_STATUS_LIST, TaskAlreadyOwnedError, type TaskEdgeWithStatus, type TaskEdges, type TaskEdgesWithStatus, TaskExistsError, TaskHasOpenDependentsError, TaskNotFoundError, TaskNotInWorkstreamError, type TaskNoteRow, type TaskRow, type TaskStatus, type TaskWaitOptions, type TaskWaitRef, type TaskWaitResult, type TaskWaitTaskState, TmuxError, type TmuxExecResult, type TmuxExecutor, type TmuxPane, type TmuxSession, type TmuxWindow, type Track, type UpdateTaskOptions, type UpdateTaskResult, type VcsBackend, type VcsBackendName, type CreateWorkspaceOptions$1 as VcsCreateWorkspaceOptions, type CreateWorkspaceResult as VcsCreateWorkspaceResult, type FreeWorkspaceOptions$1 as VcsFreeWorkspaceOptions, type FreeWorkspaceResult$1 as VcsFreeWorkspaceResult, WORKSPACE_STALE_THRESHOLD, type CreateWorkspaceOptions as WorkspaceCreateOptions, WorkspaceExistsError, type WorkspaceFailure, type FreeWorkspaceOptions as WorkspaceFreeOptions, type FreeWorkspaceResult as WorkspaceFreeResult, WorkspaceNotFoundError, type WorkspaceOrphan, WorkspacePathNotEmptyError, WorkspacePreservedError, type RecreateWorkspaceOptions as WorkspaceRecreateOptions, type RecreateWorkspaceResult as WorkspaceRecreateResult, type WorkspaceRow, type WorkspaceStaleness, WorkstreamExistsError, WorkstreamNameInvalidError, type WorkstreamOptions, type WorkstreamSnapshot, type WorkstreamSnapshotSlowFields, type WorkstreamSummary, addBlockEdge, addNote, addTask, addToArchive, adoptAgent, agentStatusHistogram, appendLog, assertValidPaneId, backendByName, buildImportPlan, buildReplayPlan, capturePane, captureSnapshot, checkCommandResolvable, claimTask, classifyEventVerb, closeAgent, closeTask, composeAgentTitle, countProblems, createArchive, createWorkspace, currentAgentName, currentPaneTitle, decorateWithDirty, decorateWithStaleness, defaultDbPath, defaultSendDelayMs, defaultSpawnLivenessMs, defaultStateDir, deferTask, deleteAgent, deleteArchive, deleteSnapshot, deleteTask, destroyWorkstream, detectBackend, detectPiStatus, emitEvent, ensureWorkstream, envVarNameForCli, exportArchive, exportDb, exportSourceForWorkstream, exportSourcesForArchive, exportWorkstream, extractTail, foregroundPgid, freeAgent, freeWorkspace, gcMaxAgeDays, gcMaxCount, gcSnapshots, getAgent, getAgentByPane, getArchive, getParallelTracks, getPrerequisites, getTask, getTaskEdges, getTaskEdgesWithStatus, getWaitPollCount, getWorkspaceForAgent, getWorkspaceStaleness, gitBackend, idFromTitle, idFromTitleVerbose, importDb, insertAgent, isKickSignal, isStaleVersion, isTaskStatus, isValidAgentName, isValidArchiveLabel, isValidPaneId, isValidTaskId, isValidWorkstreamName, isWorkspaceStale, jjBackend, kickAgent, killPane, killSession, latestSeq, listAgents, listAllOrphanWorkspaces, listArchivedTasks, listArchives, listBlocked, listGoals, listInProgress, listLiveAgents, listLogs, listNotes, listPanes, listPanesInSession, listReady, listRecentClosed, listSessions, listSnapshots, listTasks, listTasksByOwner, listWindows, listWorkspaceOrphans, listWorkspaces, listWorkstreams, loadDoctorChecks, loadDoctorSummary, loadFullDag, loadWorkstreamSnapshot, loadWorkstreamSnapshotFast, loadWorkstreamSnapshotSlow, mergeSnapshotFastSlow, newSession, newSessionWithPane, newWindow, noneBackend, openDb, openTask, paneExists, paneTTY, parseAgentNameFromTitle, parsePsTtyOutput, pruneSnapshots, readAgent, reconcile, recreateWorkspace, refreshAgentTitle, rejectTask, releaseTask, remediationParagraph, removeBlockEdge, removeFromArchive, renderForest, renderTaskTree, renderToBucket, reparentTask, replayDb, resetCommandResolverForTests, resetKickProcessExecutor, resetSleep, resetTmuxExecutor, resetWaitPollCount, resolveActorIdentity, resolveCliCommand, resolveCliCommandWithSource, restoreArchive, restoreSnapshot, roiBucket, searchArchives, searchTasks, selectLayout, sendToAgent, sendToPane, sessionExists, setCommandResolverForTests, setKickProcessExecutor, setPaneTitle, setSleepForTests, setTaskStatus, setTmuxExecutor, setWaitSleepForTests, setWaitStuckWarnForTests, slBackend, sleep, slugifyTitle, slugifyTitleVerbose, snapshotFileSize, snapshotsDir, spawnAgent, splitWindow, summarizeOwnedTasks, summarizeWorkstream, tmux$1 as tmux, updateAgentStatus, updateTask, waitForTasks, workspacePath, workspacesRoot, yankCommandForCheck };
|