@guided-context-ledger/core 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { Workspace, WorkspaceError } from "./workspace.js";
2
+ export { EventLog, EventError, EVENT_TYPES, CLAIM_STATUSES, DEFAULT_LEASE_MS, TASK_STATUSES, SUCCESSION_RELATIONS, TASK_CONDITIONS, DECLARABLE_CONDITIONS, CONDITION_STATES, TASK_AUTHORIZATIONS, TASK_PULL_POLICIES, DEFAULT_TASK_PULL_POLICY, } from "./events.js";
3
+ export type { AgentEvent, EventType, ThreadOverview, OpenForMeItem, CausalResponse, ClaimStatus, ClaimState, AppendOptions, TaskStatus, SuccessionRelation, TaskCondition, ConditionFlag, DeclarableCondition, ConditionState, DeclaredCondition, TaskAuthorization, TaskPullPolicy, TaskScope, TaskTruth, StaleReason, TaskEligibility, TaskProjection, TerminalAttempt, TaskRow, TaskPoolOptions, StalenessAssessment, } from "./events.js";
4
+ export { GclLedger, LedgerError, sha256Text, canonicalizePrincipal, versionGte, STAMPED_FROM } from "./ledger.js";
5
+ export type { RevisionArtifact, RevisionEnvelope, RevisionRecord, ActionProvenance, PrincipalSource } from "./ledger.js";
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { Workspace, WorkspaceError } from "./workspace.js";
2
+ export { EventLog, EventError, EVENT_TYPES, CLAIM_STATUSES, DEFAULT_LEASE_MS, TASK_STATUSES, SUCCESSION_RELATIONS, TASK_CONDITIONS, DECLARABLE_CONDITIONS, CONDITION_STATES, TASK_AUTHORIZATIONS, TASK_PULL_POLICIES, DEFAULT_TASK_PULL_POLICY, } from "./events.js";
3
+ export { GclLedger, LedgerError, sha256Text, canonicalizePrincipal, versionGte, STAMPED_FROM } from "./ledger.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AA6BrB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,111 @@
1
+ export declare class LedgerError extends Error {
2
+ readonly code: "CONFLICT" | "BAD_PATH" | "IO";
3
+ readonly detail?: Record<string, unknown> | undefined;
4
+ constructor(message: string, code: "CONFLICT" | "BAD_PATH" | "IO", detail?: Record<string, unknown> | undefined);
5
+ }
6
+ export interface RevisionArtifact {
7
+ path: string;
8
+ lane: string;
9
+ hash: string;
10
+ }
11
+ /** Ledger schema version at which a revision first carries a stamped action-provenance envelope and
12
+ * the recipe folds it into the revision_id hash. Revisions below this use the legacy recipe and have
13
+ * no provenance block — see revisionId(). Kept in sync with readback's PROVENANCE_STAMPED_FROM. */
14
+ export declare const STAMPED_FROM = "0.2.0";
15
+ export type PrincipalSource = "self_report" | "connector_session" | "org_verified";
16
+ /** Action-provenance envelope (schema 0.2.0+). Stamped DECLARATIONS of who acted, for whom, under
17
+ * what authority, and where the content came from. Every field here is IN the revision_id hash
18
+ * (tamper-evident): mutating any of them changes the id. Three identity roles are kept distinct —
19
+ * `principal_*` (accountable human), `actor_identity` (executing agent), `authority_*` (per-action
20
+ * authorizer) — all the same person at n=1, separable at org scale. Engine-DERIVED assessments
21
+ * (lane_crossing, authority_status, evidence_fidelity, ...) are NOT here: they are recomputable
22
+ * projections and are never hashed. */
23
+ export interface ActionProvenance {
24
+ /** Accountable human who drove the work (architect / credit / accountability). */
25
+ principal_id: string;
26
+ /** Trust tier of how principal_id was established. */
27
+ principal_source: PrincipalSource;
28
+ /** Executing agent identity (distinct from the principal human). */
29
+ actor_identity?: string | null;
30
+ originated_by?: string | null;
31
+ /** Ordered relay chain. SEMANTIC order — preserved as-authored, NOT sorted (unlike artifacts/lanes). */
32
+ relayed_through?: string[];
33
+ posted_by?: string | null;
34
+ origin_ref?: string | null;
35
+ origin_excerpt?: string | null;
36
+ evidence_kind?: string | null;
37
+ /** Per-action authorizer (distinct from principal and actor). */
38
+ authority_source?: string | null;
39
+ authority_scope?: string | null;
40
+ declared_lane?: string | null;
41
+ acted_lane?: string | null;
42
+ }
43
+ export interface RevisionEnvelope {
44
+ parent_revision: string;
45
+ commit_id: string;
46
+ actor: string;
47
+ session: string;
48
+ timestamp: string;
49
+ artifacts: RevisionArtifact[];
50
+ lanes: string[];
51
+ spaces_contract_version: string | null;
52
+ schema_version: string | null;
53
+ /** Stamped action provenance (schema >= STAMPED_FROM). Absent on legacy 0.1.x revisions. */
54
+ provenance?: ActionProvenance | null;
55
+ }
56
+ /** Dotted numeric version compare ("0.1.1" >= "0.2.0"). A missing/non-numeric version sorts below
57
+ * everything (legacy). Mirrors readback.versionGte — duplicated deliberately so the hash recipe has
58
+ * no cross-module dependency that could drift its determinism. */
59
+ export declare function versionGte(a: string | null | undefined, b: string): boolean;
60
+ /** Canonicalize a principal id to ONE deterministic form before it enters the hash, so two clients
61
+ * cannot fork the revision_id for the same human over a trivial formatting difference (Codex
62
+ * determinism caveat, seq 125/126). Trim, lowercase, collapse internal whitespace. This is a
63
+ * byte-level normalization only; mapping distinct identifiers for the same person (e.g. a display
64
+ * name vs an email) to one canonical id is the connector's job (it stamps principal_source=
65
+ * connector_session from one session identity), not the engine's. */
66
+ export declare function canonicalizePrincipal(id: string): string;
67
+ export interface RevisionRecord extends RevisionEnvelope {
68
+ revision_id: string;
69
+ }
70
+ export declare class GclLedger {
71
+ readonly root: string;
72
+ constructor(root: string);
73
+ private resolveInside;
74
+ private acquireLock;
75
+ private releaseLock;
76
+ private headPath;
77
+ private ledgerPath;
78
+ getHead(): Promise<string>;
79
+ stableStringify(value: unknown): string;
80
+ /** Content-addressed revision id, VERSIONED on schema_version so the recipe can evolve without
81
+ * rewriting history:
82
+ * - legacy (< STAMPED_FROM): the original recipe over the 9 base fields. Provenance is excluded
83
+ * entirely, so every pre-0.2.0 id is byte-for-byte unchanged (the migration-safety regression
84
+ * gates exactly this).
85
+ * - stamped (>= STAMPED_FROM): the same base PLUS the canonical action-provenance envelope.
86
+ * artifacts/lanes are sorted in both paths; relayed_through is NEVER sorted (semantic order);
87
+ * principal_id is canonicalized before hashing (Codex determinism caveat). */
88
+ revisionId(envelope: RevisionEnvelope): string;
89
+ /** Canonical provenance for hashing: principal_id normalized to one deterministic form;
90
+ * undefined-valued keys dropped (so present-as-undefined and absent hash identically — an explicit
91
+ * null stays distinct as "explicitly none"); relayed_through left as an ordered list. */
92
+ private canonicalProvenance;
93
+ /** Raw append-only ledger contents, in file order. Includes entries that a crash between the
94
+ * ledger append and the HEAD write may have left unreachable from HEAD — callers that need
95
+ * authoritative state must use readReachableRevisions(), not this (Inv 16). */
96
+ readRevisions(): Promise<RevisionRecord[]>;
97
+ /** The canonical revision chain: reconstructed by walking parent links backward from HEAD,
98
+ * returned oldest→newest (genesis→HEAD). Entries not on this chain are pending/unreachable
99
+ * (e.g. a crash that appended the ledger but never advanced HEAD) and are NOT valid state
100
+ * until recovery resolves them (Inv 16). Never throws on a broken chain — a HEAD pointing at a
101
+ * missing revision degrades to an empty authoritative set rather than crashing (Inv 17). */
102
+ readReachableRevisions(): Promise<RevisionRecord[]>;
103
+ /** Ledger entries not reachable from HEAD — recovery candidates, not authoritative state.
104
+ * These are what a crash between the ledger append and the HEAD advance leaves behind. The
105
+ * reserved genesis record is excluded: it is the chain ROOT (every walk terminates at it), not an
106
+ * unreachable orphan — counting it as a recovery candidate is both a miscount and, once such
107
+ * candidates are summarized inline, a crash (genesis has no artifacts/lanes arrays). */
108
+ readUnreachableRevisions(): Promise<RevisionRecord[]>;
109
+ finalizeRevision(expectedRevision: string, envelope: RevisionEnvelope): Promise<RevisionRecord>;
110
+ }
111
+ export declare function sha256Text(content: string): string;
package/dist/ledger.js ADDED
@@ -0,0 +1,239 @@
1
+ import { promises as fs } from "node:fs";
2
+ import path from "node:path";
3
+ import { createHash } from "node:crypto";
4
+ const LOCK_TIMEOUT_MS = 5_000;
5
+ const LOCK_STALE_MS = 4_000;
6
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
7
+ export class LedgerError extends Error {
8
+ code;
9
+ detail;
10
+ constructor(message, code, detail) {
11
+ super(message);
12
+ this.code = code;
13
+ this.detail = detail;
14
+ this.name = "LedgerError";
15
+ }
16
+ }
17
+ /** Ledger schema version at which a revision first carries a stamped action-provenance envelope and
18
+ * the recipe folds it into the revision_id hash. Revisions below this use the legacy recipe and have
19
+ * no provenance block — see revisionId(). Kept in sync with readback's PROVENANCE_STAMPED_FROM. */
20
+ export const STAMPED_FROM = "0.2.0";
21
+ /** Dotted numeric version compare ("0.1.1" >= "0.2.0"). A missing/non-numeric version sorts below
22
+ * everything (legacy). Mirrors readback.versionGte — duplicated deliberately so the hash recipe has
23
+ * no cross-module dependency that could drift its determinism. */
24
+ export function versionGte(a, b) {
25
+ if (!a)
26
+ return false;
27
+ const pa = a.split(".").map((n) => parseInt(n, 10));
28
+ const pb = b.split(".").map((n) => parseInt(n, 10));
29
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
30
+ const x = pa[i] ?? 0;
31
+ const y = pb[i] ?? 0;
32
+ if (Number.isNaN(x))
33
+ return false;
34
+ if (x !== y)
35
+ return x > y;
36
+ }
37
+ return true;
38
+ }
39
+ /** Canonicalize a principal id to ONE deterministic form before it enters the hash, so two clients
40
+ * cannot fork the revision_id for the same human over a trivial formatting difference (Codex
41
+ * determinism caveat, seq 125/126). Trim, lowercase, collapse internal whitespace. This is a
42
+ * byte-level normalization only; mapping distinct identifiers for the same person (e.g. a display
43
+ * name vs an email) to one canonical id is the connector's job (it stamps principal_source=
44
+ * connector_session from one session identity), not the engine's. */
45
+ export function canonicalizePrincipal(id) {
46
+ return id.trim().replace(/\s+/g, " ").toLowerCase();
47
+ }
48
+ export class GclLedger {
49
+ root;
50
+ constructor(root) {
51
+ this.root = path.resolve(root);
52
+ }
53
+ resolveInside(relPath) {
54
+ const full = path.resolve(this.root, relPath);
55
+ const rel = path.relative(this.root, full);
56
+ if (rel.startsWith("..") || path.isAbsolute(rel)) {
57
+ throw new LedgerError(`Path escapes the workspace: ${relPath}`, "BAD_PATH");
58
+ }
59
+ return full;
60
+ }
61
+ async acquireLock(lock) {
62
+ const start = Date.now();
63
+ for (;;) {
64
+ try {
65
+ const fd = await fs.open(lock, "wx");
66
+ await fd.writeFile(`${process.pid}:${Date.now()}`);
67
+ await fd.close();
68
+ return;
69
+ }
70
+ catch (e) {
71
+ const lockBusy = e.code === "EEXIST" || e.code === "EPERM" || e.code === "EACCES";
72
+ if (!lockBusy)
73
+ throw e;
74
+ try {
75
+ const st = await fs.stat(lock);
76
+ if (Date.now() - st.mtimeMs > LOCK_STALE_MS) {
77
+ await fs.unlink(lock).catch(() => { });
78
+ continue;
79
+ }
80
+ }
81
+ catch {
82
+ if (e.code === "EEXIST")
83
+ continue;
84
+ }
85
+ if (Date.now() - start > LOCK_TIMEOUT_MS) {
86
+ throw new LedgerError("Could not acquire ledger lock.", "CONFLICT", { reason: "lock_timeout" });
87
+ }
88
+ await sleep(2 + Math.floor(Math.random() * 8));
89
+ }
90
+ }
91
+ }
92
+ async releaseLock(lock) {
93
+ await fs.unlink(lock).catch(() => { });
94
+ }
95
+ headPath() {
96
+ return this.resolveInside(".gcl/HEAD");
97
+ }
98
+ ledgerPath() {
99
+ return this.resolveInside(".gcl/ledger/revisions.jsonl");
100
+ }
101
+ async getHead() {
102
+ try {
103
+ const content = await fs.readFile(this.headPath(), "utf8");
104
+ return content.trim() || "rev_genesis";
105
+ }
106
+ catch (e) {
107
+ if (e.code === "ENOENT")
108
+ return "rev_genesis";
109
+ throw e;
110
+ }
111
+ }
112
+ stableStringify(value) {
113
+ if (value === null || typeof value !== "object")
114
+ return JSON.stringify(value);
115
+ if (Array.isArray(value))
116
+ return `[${value.map((v) => this.stableStringify(v)).join(",")}]`;
117
+ const obj = value;
118
+ return `{${Object.keys(obj)
119
+ .sort()
120
+ .map((k) => `${JSON.stringify(k)}:${this.stableStringify(obj[k])}`)
121
+ .join(",")}}`;
122
+ }
123
+ /** Content-addressed revision id, VERSIONED on schema_version so the recipe can evolve without
124
+ * rewriting history:
125
+ * - legacy (< STAMPED_FROM): the original recipe over the 9 base fields. Provenance is excluded
126
+ * entirely, so every pre-0.2.0 id is byte-for-byte unchanged (the migration-safety regression
127
+ * gates exactly this).
128
+ * - stamped (>= STAMPED_FROM): the same base PLUS the canonical action-provenance envelope.
129
+ * artifacts/lanes are sorted in both paths; relayed_through is NEVER sorted (semantic order);
130
+ * principal_id is canonicalized before hashing (Codex determinism caveat). */
131
+ revisionId(envelope) {
132
+ const base = {
133
+ parent_revision: envelope.parent_revision,
134
+ commit_id: envelope.commit_id,
135
+ actor: envelope.actor,
136
+ session: envelope.session,
137
+ timestamp: envelope.timestamp,
138
+ artifacts: [...envelope.artifacts].sort((a, b) => `${a.lane}:${a.path}`.localeCompare(`${b.lane}:${b.path}`)),
139
+ lanes: [...envelope.lanes].sort(),
140
+ spaces_contract_version: envelope.spaces_contract_version,
141
+ schema_version: envelope.schema_version,
142
+ };
143
+ if (versionGte(envelope.schema_version, STAMPED_FROM)) {
144
+ base.provenance = envelope.provenance ? this.canonicalProvenance(envelope.provenance) : null;
145
+ }
146
+ return `rev_${createHash("sha256").update(this.stableStringify(base), "utf8").digest("hex").slice(0, 24)}`;
147
+ }
148
+ /** Canonical provenance for hashing: principal_id normalized to one deterministic form;
149
+ * undefined-valued keys dropped (so present-as-undefined and absent hash identically — an explicit
150
+ * null stays distinct as "explicitly none"); relayed_through left as an ordered list. */
151
+ canonicalProvenance(p) {
152
+ const out = {};
153
+ for (const [k, v] of Object.entries(p)) {
154
+ if (v !== undefined)
155
+ out[k] = v;
156
+ }
157
+ out.principal_id = canonicalizePrincipal(p.principal_id);
158
+ return out;
159
+ }
160
+ /** Raw append-only ledger contents, in file order. Includes entries that a crash between the
161
+ * ledger append and the HEAD write may have left unreachable from HEAD — callers that need
162
+ * authoritative state must use readReachableRevisions(), not this (Inv 16). */
163
+ async readRevisions() {
164
+ try {
165
+ const content = await fs.readFile(this.ledgerPath(), "utf8");
166
+ return content
167
+ .split("\n")
168
+ .filter((line) => line.trim().length > 0)
169
+ .map((line) => JSON.parse(line));
170
+ }
171
+ catch (e) {
172
+ if (e.code === "ENOENT")
173
+ return [];
174
+ throw e;
175
+ }
176
+ }
177
+ /** The canonical revision chain: reconstructed by walking parent links backward from HEAD,
178
+ * returned oldest→newest (genesis→HEAD). Entries not on this chain are pending/unreachable
179
+ * (e.g. a crash that appended the ledger but never advanced HEAD) and are NOT valid state
180
+ * until recovery resolves them (Inv 16). Never throws on a broken chain — a HEAD pointing at a
181
+ * missing revision degrades to an empty authoritative set rather than crashing (Inv 17). */
182
+ async readReachableRevisions() {
183
+ const head = await this.getHead();
184
+ if (head === "rev_genesis")
185
+ return [];
186
+ const byId = new Map((await this.readRevisions()).map((r) => [r.revision_id, r]));
187
+ const chain = [];
188
+ const seen = new Set();
189
+ let cursor = head;
190
+ while (cursor && cursor !== "rev_genesis") {
191
+ if (seen.has(cursor))
192
+ break; // cycle guard — malformed parent links
193
+ seen.add(cursor);
194
+ const record = byId.get(cursor);
195
+ if (!record)
196
+ break; // HEAD (or an ancestor) references a revision absent from the ledger
197
+ chain.push(record);
198
+ cursor = record.parent_revision;
199
+ }
200
+ return chain.reverse();
201
+ }
202
+ /** Ledger entries not reachable from HEAD — recovery candidates, not authoritative state.
203
+ * These are what a crash between the ledger append and the HEAD advance leaves behind. The
204
+ * reserved genesis record is excluded: it is the chain ROOT (every walk terminates at it), not an
205
+ * unreachable orphan — counting it as a recovery candidate is both a miscount and, once such
206
+ * candidates are summarized inline, a crash (genesis has no artifacts/lanes arrays). */
207
+ async readUnreachableRevisions() {
208
+ const reachable = new Set((await this.readReachableRevisions()).map((r) => r.revision_id));
209
+ return (await this.readRevisions()).filter((r) => !reachable.has(r.revision_id) && r.revision_id !== "rev_genesis" && !r.genesis);
210
+ }
211
+ async finalizeRevision(expectedRevision, envelope) {
212
+ const head = this.headPath();
213
+ const lock = `${head}.lock`;
214
+ await fs.mkdir(path.dirname(head), { recursive: true });
215
+ await this.acquireLock(lock);
216
+ try {
217
+ const current = await this.getHead();
218
+ if (current !== expectedRevision) {
219
+ throw new LedgerError("HEAD changed before commit could advance.", "CONFLICT", {
220
+ expected_revision: expectedRevision,
221
+ actual_revision: current,
222
+ });
223
+ }
224
+ const record = { ...envelope, revision_id: this.revisionId(envelope) };
225
+ const ledger = this.ledgerPath();
226
+ await fs.mkdir(path.dirname(ledger), { recursive: true });
227
+ await fs.appendFile(ledger, JSON.stringify(record) + "\n", "utf8");
228
+ await fs.writeFile(head, `${record.revision_id}\n`, "utf8");
229
+ return record;
230
+ }
231
+ finally {
232
+ await this.releaseLock(lock);
233
+ }
234
+ }
235
+ }
236
+ export function sha256Text(content) {
237
+ return createHash("sha256").update(content, "utf8").digest("hex");
238
+ }
239
+ //# sourceMappingURL=ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../src/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,OAAO,WAAY,SAAQ,KAAK;IACE;IAA+C;IAArF,YAAY,OAAe,EAAW,IAAoC,EAAW,MAAgC;QACnH,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,SAAI,GAAJ,IAAI,CAAgC;QAAW,WAAM,GAAN,MAAM,CAA0B;QAEnH,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAQD;;oGAEoG;AACpG,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AA8CpC;;mEAEmE;AACnE,MAAM,UAAU,UAAU,CAAC,CAA4B,EAAE,CAAS;IAChE,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;sEAKsE;AACtE,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAMD,MAAM,OAAO,SAAS;IACX,IAAI,CAAS;IAEtB,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,aAAa,CAAC,OAAe;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,WAAW,CAAC,+BAA+B,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAClF,IAAI,CAAC,QAAQ;oBAAE,MAAM,CAAC,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;wBAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACtC,SAAS;oBACX,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;wBAAE,SAAS;gBACpC,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,eAAe,EAAE,CAAC;oBACzC,MAAM,IAAI,WAAW,CAAC,gCAAgC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gBAClG,CAAC;gBACD,MAAM,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3D,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC;QACzC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,aAAa,CAAC;YAC9C,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,eAAe,CAAC,KAAc;QAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5F,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aACxB,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;;;;;mFAO+E;IAC/E,UAAU,CAAC,QAA0B;QACnC,MAAM,IAAI,GAA4B;YACpC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7G,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;YACjC,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;YACzD,cAAc,EAAE,QAAQ,CAAC,cAAc;SACxC,CAAC;QACF,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/F,CAAC;QACD,OAAO,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7G,CAAC;IAED;;8FAE0F;IAClF,mBAAmB,CAAC,CAAmB;QAC7C,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,SAAS;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,GAAG,CAAC,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;oFAEgF;IAChF,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO,OAAO;iBACX,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;iBACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;iGAI6F;IAC7F,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,aAAa;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,OAAO,MAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,MAAM,CAAC,uCAAuC;YACpE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,qEAAqE;YACzF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;;6FAIyF;IACzF,KAAK,CAAC,wBAAwB;QAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,aAAa,IAAI,CAAE,CAA2B,CAAC,OAAO,CACjH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,gBAAwB,EAAE,QAA0B;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC;QAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACjC,MAAM,IAAI,WAAW,CAAC,2CAA2C,EAAE,UAAU,EAAE;oBAC7E,iBAAiB,EAAE,gBAAgB;oBACnC,eAAe,EAAE,OAAO;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAmB,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YACnE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Raised when the workspace root itself is unusable (missing or not a directory).
3
+ * Distinct from a missing note: we never silently create the workspace root — the
4
+ * user points us at an existing folder (locked decision: no auto-created default).
5
+ */
6
+ export declare class WorkspaceError extends Error {
7
+ readonly code: "WORKSPACE_MISSING" | "WORKSPACE_NOT_DIR" | "CONFLICT";
8
+ readonly detail?: Record<string, unknown> | undefined;
9
+ constructor(message: string, code: "WORKSPACE_MISSING" | "WORKSPACE_NOT_DIR" | "CONFLICT", detail?: Record<string, unknown> | undefined);
10
+ }
11
+ /**
12
+ * Workspace: all read/write operations against a single markdown workspace directory.
13
+ *
14
+ * Design rule (locked decision): the markdown files ARE the source of truth.
15
+ * Nothing here hides data in a database. Every operation is a plain file op,
16
+ * confined to the workspace root so an agent can never read or write outside it.
17
+ */
18
+ export declare class Workspace {
19
+ readonly root: string;
20
+ constructor(root: string);
21
+ /** Resolve a workspace-relative path and guarantee it stays inside the workspace. */
22
+ private resolveInside;
23
+ /** Does the workspace root exist, and is it a directory? Never throws. */
24
+ rootStatus(): Promise<{
25
+ exists: boolean;
26
+ isDirectory: boolean;
27
+ }>;
28
+ /**
29
+ * Guarantee the workspace root is usable before a write. We create notes and
30
+ * sub-folders inside the workspace on demand, but never conjure the root itself —
31
+ * a missing root means a misconfigured workspace folder, which must be signaled,
32
+ * not silently created somewhere unexpected.
33
+ */
34
+ private assertRootUsable;
35
+ private acquireLock;
36
+ private releaseLock;
37
+ /** List every markdown note, optionally under a sub-folder. Returns workspace-relative paths. */
38
+ list(subfolder?: string): Promise<string[]>;
39
+ /** Read a single note's full contents. */
40
+ read(relPath: string): Promise<string>;
41
+ /** sha256 (hex) of a note's bytes, or "" if it does not exist. The CAS token. */
42
+ hashOf(relPath: string): Promise<string>;
43
+ /** Full-text search across all notes. Returns matches with line numbers and context. */
44
+ search(query: string, limit?: number): Promise<{
45
+ path: string;
46
+ line: number;
47
+ text: string;
48
+ }[]>;
49
+ /** Create or overwrite a note. Parent folders are created as needed. */
50
+ write(relPath: string, content: string, expectedHash?: string): Promise<{
51
+ hash: string;
52
+ }>;
53
+ /** Append to a note (creating it if absent). */
54
+ append(relPath: string, content: string): Promise<void>;
55
+ }