@maadb/core 0.12.1 → 0.12.3

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.
Files changed (58) hide show
  1. package/dist/auth/resolve.js +2 -2
  2. package/dist/auth/resolve.js.map +1 -1
  3. package/dist/auth/token-store.d.ts +50 -4
  4. package/dist/auth/token-store.d.ts.map +1 -1
  5. package/dist/auth/token-store.js +80 -10
  6. package/dist/auth/token-store.js.map +1 -1
  7. package/dist/auth/types.d.ts +1 -1
  8. package/dist/auth/types.js +2 -2
  9. package/dist/auth/types.js.map +1 -1
  10. package/dist/backend/sqlite/index.js +1 -1
  11. package/dist/backend/sqlite/index.js.map +1 -1
  12. package/dist/backend/sqlite/schema.d.ts +1 -1
  13. package/dist/backend/sqlite/schema.d.ts.map +1 -1
  14. package/dist/backend/sqlite/schema.js +1 -1
  15. package/dist/cli/index.js +1 -1
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/engine/docid-safe.js +0 -0
  18. package/dist/engine/docid-safe.js.map +1 -1
  19. package/dist/engine/index.d.ts +1 -1
  20. package/dist/engine/index.js +2 -2
  21. package/dist/engine/index.js.map +1 -1
  22. package/dist/engine/indexing.js +1 -1
  23. package/dist/engine/indexing.js.map +1 -1
  24. package/dist/engine/types.d.ts +3 -3
  25. package/dist/engine/writes.js +3 -3
  26. package/dist/engine/writes.js.map +1 -1
  27. package/dist/git/commit.d.ts +3 -3
  28. package/dist/git/commit.js +4 -4
  29. package/dist/git/commit.js.map +1 -1
  30. package/dist/git/index.js +2 -2
  31. package/dist/git/index.js.map +1 -1
  32. package/dist/instance/pool.d.ts +2 -2
  33. package/dist/mcp/bulk-cap.js +1 -1
  34. package/dist/mcp/bulk-cap.js.map +1 -1
  35. package/dist/mcp/notifications.js +1 -1
  36. package/dist/mcp/notifications.js.map +1 -1
  37. package/dist/mcp/query-depth.js +1 -1
  38. package/dist/mcp/query-depth.js.map +1 -1
  39. package/dist/mcp/server.d.ts +1 -1
  40. package/dist/mcp/server.js +3 -3
  41. package/dist/mcp/server.js.map +1 -1
  42. package/dist/mcp/tools/discover.d.ts +34 -0
  43. package/dist/mcp/tools/discover.d.ts.map +1 -1
  44. package/dist/mcp/tools/discover.js +52 -15
  45. package/dist/mcp/tools/discover.js.map +1 -1
  46. package/dist/mcp/tools/read.js +1 -1
  47. package/dist/mcp/tools/read.js.map +1 -1
  48. package/dist/mcp/transport/auth.js +2 -2
  49. package/dist/mcp/transport/auth.js.map +1 -1
  50. package/dist/mcp/transport/http.d.ts +1 -1
  51. package/dist/mcp/transport/http.js +1 -1
  52. package/dist/mcp/transport/http.js.map +1 -1
  53. package/dist/mcp/transport/telemetry.d.ts +1 -1
  54. package/dist/mcp/transport/telemetry.d.ts.map +1 -1
  55. package/dist/schema/loader.js +1 -1
  56. package/dist/schema/loader.js.map +1 -1
  57. package/dist/types.d.ts +1 -1
  58. package/package.json +1 -1
@@ -5,14 +5,14 @@
5
5
  // (HTTP + registry mode) and bypassed entirely in stdio/synthetic mode
6
6
  // (which has no token channel and uses the two-cap model from 0.4.0).
7
7
  //
8
- // THREE-CAP RULE (dec-maadb-069 lock #7):
8
+ // THREE-CAP RULE:
9
9
  // effectiveRole(project) = min(
10
10
  // instance.projects[project].role, // Cap 1: project ceiling
11
11
  // token.cap-for-project, // Cap 2: token allowlist role
12
12
  // requestedRole // Cap 3: voluntary downgrade
13
13
  // )
14
14
  //
15
- // CAP 2 RESOLUTION (dec-maadb-069 lock #4):
15
+ // CAP 2 RESOLUTION:
16
16
  // 1. Explicit entry for the project name wins, regardless of list order.
17
17
  // 2. Wildcard '*' entry applies if no explicit entry matches.
18
18
  // 3. Otherwise the project is forbidden → TOKEN_PROJECT_FORBIDDEN.
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/auth/resolve.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,sEAAsE;AACtE,EAAE;AACF,0CAA0C;AAC1C,kCAAkC;AAClC,mEAAmE;AACnE,yEAAyE;AACzE,wEAAwE;AACxE,MAAM;AACN,EAAE;AACF,4CAA4C;AAC5C,2EAA2E;AAC3E,gEAAgE;AAChE,qEAAqE;AACrE,0EAA0E;AAC1E,2EAA2E;AAC3E,uEAAuE;AACvE,+EAA+E;AAG/E,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOzD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,WAAmB;IACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAClE,IAAI,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAE3E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAC1D,IAAI,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAE3E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,MAAM,CAAC,KAAiB,EAAE,eAAqB;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC;IAChD,gEAAgE;IAChE,OAAO,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAMD;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAiB,EACjB,KAAkB,EAClB,WAAmB,EACnB,SAAgB;IAEhB,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,iCAAiC,WAAW,GAAG;SACzD,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAEhE,6DAA6D;IAC7D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,kBAAkB,SAAS,+BAA+B,OAAO,EAAE;SAC7E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/auth/resolve.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,sEAAsE;AACtE,EAAE;AACF,kBAAkB;AAClB,kCAAkC;AAClC,mEAAmE;AACnE,yEAAyE;AACzE,wEAAwE;AACxE,MAAM;AACN,EAAE;AACF,oBAAoB;AACpB,2EAA2E;AAC3E,gEAAgE;AAChE,qEAAqE;AACrE,0EAA0E;AAC1E,2EAA2E;AAC3E,uEAAuE;AACvE,+EAA+E;AAG/E,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOzD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,WAAmB;IACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAClE,IAAI,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAE3E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAC1D,IAAI,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAE3E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,MAAM,CAAC,KAAiB,EAAE,eAAqB;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC;IAChD,gEAAgE;IAChE,OAAO,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAMD;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAiB,EACjB,KAAkB,EAClB,WAAmB,EACnB,SAAgB;IAEhB,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,iCAAiC,WAAW,GAAG;SACzD,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAEhE,6DAA6D;IAC7D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,kBAAkB,SAAS,+BAA+B,OAAO,EAAE;SAC7E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;AACzD,CAAC"}
@@ -16,7 +16,29 @@ export declare class TokenStore {
16
16
  private byHash;
17
17
  private byId;
18
18
  private records;
19
+ /**
20
+ * Tail of the mutation chain. issue/revoke/rotate/reload serialize against
21
+ * this so a mutation always builds on the previous one's committed state.
22
+ *
23
+ * Without it, two interleaved mutations can each snapshot `records`, and
24
+ * whichever renames last wins — silently dropping the other's record from
25
+ * disk while it stays live in the in-memory indexes until restart. A unique
26
+ * temp path alone does not close that; the serialization does.
27
+ *
28
+ * In-process only. Two processes mutating the same tokens.yaml can still
29
+ * clobber each other — the multi-process lease is not built yet, so the
30
+ * supported contract remains a single control-plane writer.
31
+ */
32
+ private mutations;
19
33
  private constructor();
34
+ /**
35
+ * Queue `fn` behind any in-flight mutation. Rejections do not break the chain.
36
+ *
37
+ * `fn` is invoked with no arguments on purpose — passing `fn` directly as the
38
+ * `then` handler would hand it the previous mutation's resolution value, which
39
+ * is a trap for any future callee that accepts a parameter.
40
+ */
41
+ private runExclusive;
20
42
  /**
21
43
  * Load tokens.yaml from `<instanceRoot>/_auth/tokens.yaml`. Returns an empty
22
44
  * store if the file is absent — caller decides whether HTTP mode can boot
@@ -35,11 +57,21 @@ export declare class TokenStore {
35
57
  * transport doesn't need a getter). Parse errors leave the existing
36
58
  * in-memory state untouched. Called by the SIGHUP handler alongside
37
59
  * instance reload.
60
+ *
61
+ * Serialized against issue/revoke/rotate. Reload replaces the same three
62
+ * indexes those mutations write, so an unserialized reload can interleave
63
+ * with an in-flight issue: the mutation pushes its record and snapshots it
64
+ * into the pending write, reload re-reads the still-old file and repopulates
65
+ * without it, and the write then lands. The token ends up on disk but absent
66
+ * from `byHash` — `issue` has already returned ok with a bearer that will not
67
+ * authenticate until the next reload or restart.
38
68
  */
39
69
  reload(): Promise<Result<{
40
70
  total: number;
41
71
  active: number;
42
72
  }>>;
73
+ /** Unlocked body of `reload`. Callers must already hold the mutation chain. */
74
+ private reloadInner;
43
75
  /** Optional human label recorded at the top of tokens.yaml. */
44
76
  name(): string | undefined;
45
77
  /** Total records including revoked. */
@@ -58,24 +90,38 @@ export declare class TokenStore {
58
90
  * plaintext is never recoverable after this call.
59
91
  */
60
92
  issue(spec: IssueSpec): Promise<Result<IssuedToken>>;
93
+ /** Unlocked body of `issue`. Callers must already hold the mutation chain. */
94
+ private issueInner;
61
95
  /**
62
96
  * Mark a token as revoked. Sets revokedAt; the record stays in the registry
63
97
  * so audit queries can resolve historic token IDs. Idempotent — revoking
64
98
  * an already-revoked record is a no-op and returns the existing record.
65
99
  */
66
100
  revoke(id: TokenId): Promise<Result<TokenRecord>>;
101
+ /** Unlocked body of `revoke`. Callers must already hold the mutation chain. */
102
+ private revokeInner;
67
103
  /**
68
104
  * Rotate a token: issue a new token with the SAME capabilities (role,
69
105
  * projects, agentId, userId, expiresAt, name) and revoke the old one.
70
- * Immediate cutover — no grace window (deferred per dec-maadb-069 lock #10).
106
+ * Immediate cutover — no grace window (deferred by design).
71
107
  * Returns the new record + plaintext; old record retains its id with
72
108
  * revokedAt set.
73
109
  */
74
110
  rotate(id: TokenId): Promise<Result<IssuedToken>>;
75
111
  /**
76
- * Atomic write via `<path>.tmp` + rename. Creates `_auth/` if missing.
77
- * Errors don't leak partial state because writeFile+rename is atomic on
78
- * both POSIX and Windows.
112
+ * Unlocked body of `rotate`. Calls issueInner directly — going through the
113
+ * public `issue` would queue behind the chain entry rotate itself holds.
114
+ */
115
+ private rotateInner;
116
+ /**
117
+ * Atomic write via a unique temp file + rename. Creates `_auth/` if missing.
118
+ *
119
+ * The temp name carries a random suffix: a fixed `<path>.tmp` is shared
120
+ * state, so two overlapping persists write the same file and the second
121
+ * rename fails ENOENT once the first has moved it away. Rename gives
122
+ * atomic *visibility* — a reader sees the old or new file, never a partial
123
+ * one — but not crash durability; there is no fsync of the file or its
124
+ * directory yet, so a power loss just after rename can still lose the write.
79
125
  */
80
126
  private persist;
81
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAGjB,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,oBAAoB,QAAoC,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAE1D;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAItD;AAMD,qBAAa,UAAU;IAMnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IANtB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO;IAKP;;;;;;;;OAQG;WACU,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAmCpE,yCAAyC;IACzC,IAAI,IAAI,MAAM;IAEd;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA0ClE,+DAA+D;IAC/D,IAAI,IAAI,MAAM,GAAG,SAAS;IAE1B,uCAAuC;IACvC,IAAI,IAAI,MAAM;IAEd,8DAA8D;IAC9D,WAAW,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM;IAM3C,kEAAkE;IAClE,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAItD,2DAA2D;IAC3D,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS;IAIhD,+DAA+D;IAC/D,IAAI,IAAI,WAAW,EAAE;IAErB;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAsC1D;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAcvD;;;;;;OAMG;IACG,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAiCvD;;;;OAIG;YACW,OAAO;CA4BtB"}
1
+ {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAGjB,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,oBAAoB,QAAoC,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAE1D;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAItD;AAMD,qBAAa,UAAU;IAqBnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IArBtB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,OAAO,CAAqB;IAEpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,SAAS,CAAuC;IAExD,OAAO;IAKP;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;;;;;OAQG;WACU,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAmCpE,yCAAyC;IACzC,IAAI,IAAI,MAAM;IAEd;;;;;;;;;;;;;;OAcG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIlE,+EAA+E;YACjE,WAAW;IA0CzB,+DAA+D;IAC/D,IAAI,IAAI,MAAM,GAAG,SAAS;IAE1B,uCAAuC;IACvC,IAAI,IAAI,MAAM;IAEd,8DAA8D;IAC9D,WAAW,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM;IAM3C,kEAAkE;IAClE,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAItD,2DAA2D;IAC3D,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS;IAIhD,+DAA+D;IAC/D,IAAI,IAAI,WAAW,EAAE;IAErB;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAI1D,8EAA8E;YAChE,UAAU;IA4CxB;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAIvD,+EAA+E;YACjE,WAAW;IAczB;;;;;;OAMG;IACG,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAIvD;;;OAGG;YACW,WAAW;IAiCzB;;;;;;;;;OASG;YACW,OAAO;CA+BtB"}
@@ -1,6 +1,5 @@
1
1
  // ============================================================================
2
- // TokenStore — 0.7.0 Scoped Auth registry primitive (dec-maadb-069 +
3
- // dec-maadb-071)
2
+ // TokenStore — 0.7.0 Scoped Auth registry primitive
4
3
  //
5
4
  // Loads and mutates `<instance-root>/_auth/tokens.yaml`. In-memory indexes
6
5
  // by hash (lookup key) and by id (CLI / admin tools). Writes are atomic via
@@ -18,7 +17,7 @@
18
17
  // - CLI + admin MCP tools that call issue/revoke/rotate — P3
19
18
  // ============================================================================
20
19
  import { existsSync } from 'node:fs';
21
- import { readFile, writeFile, rename, mkdir } from 'node:fs/promises';
20
+ import { readFile, writeFile, rename, mkdir, unlink } from 'node:fs/promises';
22
21
  import path from 'node:path';
23
22
  import { createHash, randomBytes } from 'node:crypto';
24
23
  import yaml from 'js-yaml';
@@ -56,10 +55,36 @@ export class TokenStore {
56
55
  byHash = new Map();
57
56
  byId = new Map();
58
57
  records = [];
58
+ /**
59
+ * Tail of the mutation chain. issue/revoke/rotate/reload serialize against
60
+ * this so a mutation always builds on the previous one's committed state.
61
+ *
62
+ * Without it, two interleaved mutations can each snapshot `records`, and
63
+ * whichever renames last wins — silently dropping the other's record from
64
+ * disk while it stays live in the in-memory indexes until restart. A unique
65
+ * temp path alone does not close that; the serialization does.
66
+ *
67
+ * In-process only. Two processes mutating the same tokens.yaml can still
68
+ * clobber each other — the multi-process lease is not built yet, so the
69
+ * supported contract remains a single control-plane writer.
70
+ */
71
+ mutations = Promise.resolve();
59
72
  constructor(filePath, registryName) {
60
73
  this.filePath = filePath;
61
74
  this.registryName = registryName;
62
75
  }
76
+ /**
77
+ * Queue `fn` behind any in-flight mutation. Rejections do not break the chain.
78
+ *
79
+ * `fn` is invoked with no arguments on purpose — passing `fn` directly as the
80
+ * `then` handler would hand it the previous mutation's resolution value, which
81
+ * is a trap for any future callee that accepts a parameter.
82
+ */
83
+ runExclusive(fn) {
84
+ const run = this.mutations.then(() => fn(), () => fn());
85
+ this.mutations = run.then(() => undefined, () => undefined);
86
+ return run;
87
+ }
63
88
  /**
64
89
  * Load tokens.yaml from `<instanceRoot>/_auth/tokens.yaml`. Returns an empty
65
90
  * store if the file is absent — caller decides whether HTTP mode can boot
@@ -108,8 +133,20 @@ export class TokenStore {
108
133
  * transport doesn't need a getter). Parse errors leave the existing
109
134
  * in-memory state untouched. Called by the SIGHUP handler alongside
110
135
  * instance reload.
136
+ *
137
+ * Serialized against issue/revoke/rotate. Reload replaces the same three
138
+ * indexes those mutations write, so an unserialized reload can interleave
139
+ * with an in-flight issue: the mutation pushes its record and snapshots it
140
+ * into the pending write, reload re-reads the still-old file and repopulates
141
+ * without it, and the write then lands. The token ends up on disk but absent
142
+ * from `byHash` — `issue` has already returned ok with a bearer that will not
143
+ * authenticate until the next reload or restart.
111
144
  */
112
145
  async reload() {
146
+ return this.runExclusive(() => this.reloadInner());
147
+ }
148
+ /** Unlocked body of `reload`. Callers must already hold the mutation chain. */
149
+ async reloadInner() {
113
150
  if (!existsSync(this.filePath)) {
114
151
  // File was removed — empty the store. Same boot semantics as an
115
152
  // absent file (HTTP transport keeps running; next lookup misses).
@@ -178,6 +215,10 @@ export class TokenStore {
178
215
  * plaintext is never recoverable after this call.
179
216
  */
180
217
  async issue(spec) {
218
+ return this.runExclusive(() => this.issueInner(spec));
219
+ }
220
+ /** Unlocked body of `issue`. Callers must already hold the mutation chain. */
221
+ async issueInner(spec) {
181
222
  const plaintext = generatePlaintext();
182
223
  const hash = hashPlaintext(plaintext);
183
224
  // Defensive: SHA-256 collisions are astronomically unlikely but we still
@@ -206,7 +247,14 @@ export class TokenStore {
206
247
  const persisted = await this.persist();
207
248
  if (!persisted.ok) {
208
249
  // Roll back in-memory state so the store stays consistent with disk.
209
- this.records.pop();
250
+ // Remove by identity, not by position: `pop()` drops whatever landed
251
+ // last, which under concurrent issuance is another caller's committed
252
+ // record. That evicted record would stay in byHash/byId (still
253
+ // authenticating) while vanishing from the next serialization of
254
+ // `records` — a token erased from disk but live in memory until restart.
255
+ const at = this.records.indexOf(record);
256
+ if (at !== -1)
257
+ this.records.splice(at, 1);
210
258
  this.byHash.delete(record.hash);
211
259
  this.byId.delete(record.id);
212
260
  return persisted;
@@ -219,6 +267,10 @@ export class TokenStore {
219
267
  * an already-revoked record is a no-op and returns the existing record.
220
268
  */
221
269
  async revoke(id) {
270
+ return this.runExclusive(() => this.revokeInner(id));
271
+ }
272
+ /** Unlocked body of `revoke`. Callers must already hold the mutation chain. */
273
+ async revokeInner(id) {
222
274
  const record = this.byId.get(id);
223
275
  if (!record)
224
276
  return singleErr('TOKEN_NOT_FOUND', `No token with id ${id}`);
@@ -235,11 +287,18 @@ export class TokenStore {
235
287
  /**
236
288
  * Rotate a token: issue a new token with the SAME capabilities (role,
237
289
  * projects, agentId, userId, expiresAt, name) and revoke the old one.
238
- * Immediate cutover — no grace window (deferred per dec-maadb-069 lock #10).
290
+ * Immediate cutover — no grace window (deferred by design).
239
291
  * Returns the new record + plaintext; old record retains its id with
240
292
  * revokedAt set.
241
293
  */
242
294
  async rotate(id) {
295
+ return this.runExclusive(() => this.rotateInner(id));
296
+ }
297
+ /**
298
+ * Unlocked body of `rotate`. Calls issueInner directly — going through the
299
+ * public `issue` would queue behind the chain entry rotate itself holds.
300
+ */
301
+ async rotateInner(id) {
243
302
  const existing = this.byId.get(id);
244
303
  if (!existing)
245
304
  return singleErr('TOKEN_NOT_FOUND', `No token with id ${id}`);
@@ -260,7 +319,7 @@ export class TokenStore {
260
319
  spec.userId = existing.userId;
261
320
  if (existing.expiresAt !== undefined)
262
321
  spec.expiresAt = existing.expiresAt;
263
- const issued = await this.issue(spec);
322
+ const issued = await this.issueInner(spec);
264
323
  if (!issued.ok)
265
324
  return issued;
266
325
  // Mark the old record revoked after the new one persists so a crash mid-rotate
@@ -274,9 +333,14 @@ export class TokenStore {
274
333
  return issued;
275
334
  }
276
335
  /**
277
- * Atomic write via `<path>.tmp` + rename. Creates `_auth/` if missing.
278
- * Errors don't leak partial state because writeFile+rename is atomic on
279
- * both POSIX and Windows.
336
+ * Atomic write via a unique temp file + rename. Creates `_auth/` if missing.
337
+ *
338
+ * The temp name carries a random suffix: a fixed `<path>.tmp` is shared
339
+ * state, so two overlapping persists write the same file and the second
340
+ * rename fails ENOENT once the first has moved it away. Rename gives
341
+ * atomic *visibility* — a reader sees the old or new file, never a partial
342
+ * one — but not crash durability; there is no fsync of the file or its
343
+ * directory yet, so a power loss just after rename can still lose the write.
280
344
  */
281
345
  async persist() {
282
346
  // Serialized shape uses snake_case keys for on-disk yaml; the in-memory
@@ -294,12 +358,18 @@ export class TokenStore {
294
358
  catch (e) {
295
359
  return singleErr('TOKENS_FILE_INVALID', `Failed to create ${dir}: ${e instanceof Error ? e.message : String(e)}`);
296
360
  }
297
- const tmp = `${this.filePath}.tmp`;
361
+ const tmp = `${this.filePath}.${randomBytes(6).toString('hex')}.tmp`;
298
362
  try {
299
363
  await writeFile(tmp, yamlText, { encoding: 'utf8', mode: 0o600 });
300
364
  await rename(tmp, this.filePath);
301
365
  }
302
366
  catch (e) {
367
+ // Best-effort sweep so a failed persist doesn't strand a temp file
368
+ // holding token material next to the registry.
369
+ try {
370
+ await unlink(tmp);
371
+ }
372
+ catch { /* already gone or never created */ }
303
373
  return singleErr('TOKENS_FILE_INVALID', `Failed to persist tokens.yaml at ${this.filePath}: ${e instanceof Error ? e.message : String(e)}`);
304
374
  }
305
375
  return ok(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export interface ProjectCap {
28
28
  * Full token record as persisted in tokens.yaml. Plaintext is NOT stored
29
29
  * anywhere — only the SHA-256 hash of plaintext. revokedAt is the only
30
30
  * field that can transition on an existing record; everything else is
31
- * immutable (per dec-maadb-069 lock #8).
31
+ * immutable by design.
32
32
  */
33
33
  export interface TokenRecord {
34
34
  id: TokenId;
@@ -1,5 +1,5 @@
1
1
  // ============================================================================
2
- // Auth types — 0.7.0 Scoped Auth & Identity (dec-maadb-069 + dec-maadb-071)
2
+ // Auth types — 0.7.0 Scoped Auth & Identity
3
3
  //
4
4
  // Token registry lives at <instance-root>/_auth/tokens.yaml. Plaintext tokens
5
5
  // use format `maad_pat_<32hex>` — 128-bit random + shell-safe + prefix
@@ -8,7 +8,7 @@
8
8
  //
9
9
  // Records are IMMUTABLE except `revokedAt`. Three operations: issue, rotate,
10
10
  // revoke. Any capability change (role / identity / projects) requires revoke
11
- // + reissue. Rationale in dec-maadb-069 lock #8.
11
+ // + reissue.
12
12
  // ============================================================================
13
13
  export function tokenId(s) { return s; }
14
14
  export function tokenHash(s) { return s; }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,uEAAuE;AACvE,6EAA6E;AAC7E,uDAAuD;AACvD,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,iDAAiD;AACjD,+EAA+E;AAc/E,MAAM,UAAU,OAAO,CAAC,CAAS,IAAa,OAAO,CAAY,CAAC,CAAC,CAAC;AACpE,MAAM,UAAU,SAAS,CAAC,CAAS,IAAe,OAAO,CAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4CAA4C;AAC5C,EAAE;AACF,8EAA8E;AAC9E,uEAAuE;AACvE,6EAA6E;AAC7E,uDAAuD;AACvD,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,aAAa;AACb,+EAA+E;AAc/E,MAAM,UAAU,OAAO,CAAC,CAAS,IAAa,OAAO,CAAY,CAAC,CAAC,CAAC;AACpE,MAAM,UAAU,SAAS,CAAC,CAAS,IAAe,OAAO,CAAc,CAAC,CAAC,CAAC"}
@@ -684,7 +684,7 @@ export class SqliteBackend {
684
684
  const rows = this.db.prepare('SELECT * FROM documents WHERE deleted = 1 AND updated_at < ? ORDER BY updated_at ASC, doc_id ASC LIMIT ?').all(olderThanIso, limit);
685
685
  return rows.map(rowToDocument);
686
686
  }
687
- // 0.7.4 (fup-2026-093) — engine_meta key/value access. Used by indexAll for
687
+ // 0.7.4 — engine_meta key/value access. Used by indexAll for
688
688
  // per-type schema-index fingerprints; namespace keys with `<topic>:<id>`.
689
689
  getMeta(key) {
690
690
  const row = this.db.prepare('SELECT value FROM engine_meta WHERE key = ?').get(key);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backend/sqlite/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backend/sqlite/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const SCHEMA_SQL = "\n-- Documents table: one row per markdown file\nCREATE TABLE IF NOT EXISTS documents (\n doc_id TEXT PRIMARY KEY,\n doc_type TEXT NOT NULL,\n schema_ref TEXT NOT NULL,\n file_path TEXT NOT NULL UNIQUE,\n file_hash TEXT NOT NULL,\n version INTEGER NOT NULL DEFAULT 1,\n deleted INTEGER NOT NULL DEFAULT 0,\n indexed_at TEXT NOT NULL,\n updated_at TEXT NOT NULL DEFAULT '',\n -- 0.7.12 \u2014 engine-stamped creation time. Existing dbs pick it up via\n -- ALTER TABLE in the migration block below; pre-existing rows backfill\n -- to updated_at as the best-available approximation.\n created_at TEXT NOT NULL DEFAULT '',\n -- 0.7.17 \u2014 structural validity at index time (1 = valid, 0 = invalid). Lets\n -- summary() COUNT invalid records instead of re-reading and re-validating\n -- every file per call. Existing rows pick it up via ALTER (default 1) and\n -- self-correct on next reindex.\n valid INTEGER NOT NULL DEFAULT 1,\n -- 0.8.1 \u2014 index row does not fully reflect the on-disk file (1 = partial):\n -- annotation extraction hit the per-doc cap, or the file grew past\n -- MAAD_MAX_DOC_BYTES and the row serves the last indexed content. Existing\n -- rows pick it up via ALTER (default 0) and self-correct on next reindex.\n partial INTEGER NOT NULL DEFAULT 0\n);\nCREATE INDEX IF NOT EXISTS idx_documents_type ON documents(doc_type);\nCREATE INDEX IF NOT EXISTS idx_documents_path ON documents(file_path);\nCREATE INDEX IF NOT EXISTS idx_documents_deleted ON documents(deleted);\n-- 0.7.17 \u2014 composite for the findDocuments driving scan. Without it the planner\n-- picks the low-selectivity idx_documents_deleted (deleted=0 matches every live\n-- row) and full-scans documents before sorting. Leading deleted keeps the\n-- live-rows predicate sargable; doc_type narrows; doc_id covers the tie-breaker.\nCREATE INDEX IF NOT EXISTS idx_documents_del_type_id ON documents(deleted, doc_type, doc_id);\n-- NB: the idx_documents_valid index lives in the init() migration block, not\n-- here. It references the valid column, which existing databases only gain via\n-- ALTER after this SCHEMA_SQL runs, so creating it here would fail on\n-- pre-0.7.17 databases with a no-such-column error.\n\n-- Extracted objects table: inline annotations and indexed fields\nCREATE TABLE IF NOT EXISTS objects (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n primitive TEXT NOT NULL,\n subtype TEXT NOT NULL,\n value TEXT NOT NULL,\n normalized_value TEXT,\n label TEXT NOT NULL,\n role TEXT,\n doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n source_line INTEGER NOT NULL,\n block_id TEXT\n);\nCREATE INDEX IF NOT EXISTS idx_objects_primitive ON objects(primitive);\nCREATE INDEX IF NOT EXISTS idx_objects_subtype ON objects(subtype);\nCREATE INDEX IF NOT EXISTS idx_objects_value ON objects(value);\nCREATE INDEX IF NOT EXISTS idx_objects_doc_id ON objects(doc_id);\nCREATE INDEX IF NOT EXISTS idx_objects_normalized ON objects(normalized_value);\n\n-- Relationships table: edges between documents\nCREATE TABLE IF NOT EXISTS relationships (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n source_doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n target_doc_id TEXT NOT NULL,\n field TEXT NOT NULL,\n relation_type TEXT NOT NULL CHECK(relation_type IN ('ref', 'mention'))\n);\nCREATE INDEX IF NOT EXISTS idx_rel_source ON relationships(source_doc_id);\nCREATE INDEX IF NOT EXISTS idx_rel_target ON relationships(target_doc_id);\nCREATE INDEX IF NOT EXISTS idx_rel_type ON relationships(relation_type);\n\n-- Blocks table: heading-delimited sections\nCREATE TABLE IF NOT EXISTS blocks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n block_id TEXT,\n heading TEXT NOT NULL,\n level INTEGER NOT NULL,\n start_line INTEGER NOT NULL,\n end_line INTEGER NOT NULL\n);\nCREATE INDEX IF NOT EXISTS idx_blocks_doc_id ON blocks(doc_id);\nCREATE INDEX IF NOT EXISTS idx_blocks_block_id ON blocks(block_id);\n\n-- Field index: denormalized frontmatter fields for fast filtering\nCREATE TABLE IF NOT EXISTS field_index (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n field_name TEXT NOT NULL,\n field_value TEXT,\n numeric_value REAL,\n field_type TEXT NOT NULL\n);\nCREATE INDEX IF NOT EXISTS idx_field_doc ON field_index(doc_id);\nCREATE INDEX IF NOT EXISTS idx_field_name_value ON field_index(field_name, field_value);\nCREATE INDEX IF NOT EXISTS idx_field_name_numeric ON field_index(field_name, numeric_value);\n-- 0.7.17 \u2014 covering indexes for the sort-index-driven query path. The first two\n-- let the engine walk a scalar sort field (text/date -> field_value,\n-- number/amount -> numeric_value) in index order with doc_id covered, so a\n-- sorted+limited query terminates early instead of materializing + temp-b-tree\n-- sorting the whole matched set. The third covers the per-doc EXISTS filter\n-- probes (one 4-col index subsumes both text and numeric by-doc lookups, vs two\n-- 3-col indexes \u2014 half the write amplification).\nCREATE INDEX IF NOT EXISTS idx_field_name_value_doc ON field_index(field_name, field_value, doc_id);\nCREATE INDEX IF NOT EXISTS idx_field_name_numeric_doc ON field_index(field_name, numeric_value, doc_id);\nCREATE INDEX IF NOT EXISTS idx_field_doc_name_value ON field_index(doc_id, field_name, field_value, numeric_value);\n\n-- Engine meta key/value store (0.7.4, fup-2026-093). Holds per-type schema\n-- index fingerprints so indexAll can detect \"indexed-field set changed since\n-- last run\" and force-rebuild affected types regardless of file-hash skip.\n-- Keys are namespaced (e.g. schema_index_fp:<doc_type>).\nCREATE TABLE IF NOT EXISTS engine_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n";
1
+ export declare const SCHEMA_SQL = "\n-- Documents table: one row per markdown file\nCREATE TABLE IF NOT EXISTS documents (\n doc_id TEXT PRIMARY KEY,\n doc_type TEXT NOT NULL,\n schema_ref TEXT NOT NULL,\n file_path TEXT NOT NULL UNIQUE,\n file_hash TEXT NOT NULL,\n version INTEGER NOT NULL DEFAULT 1,\n deleted INTEGER NOT NULL DEFAULT 0,\n indexed_at TEXT NOT NULL,\n updated_at TEXT NOT NULL DEFAULT '',\n -- 0.7.12 \u2014 engine-stamped creation time. Existing dbs pick it up via\n -- ALTER TABLE in the migration block below; pre-existing rows backfill\n -- to updated_at as the best-available approximation.\n created_at TEXT NOT NULL DEFAULT '',\n -- 0.7.17 \u2014 structural validity at index time (1 = valid, 0 = invalid). Lets\n -- summary() COUNT invalid records instead of re-reading and re-validating\n -- every file per call. Existing rows pick it up via ALTER (default 1) and\n -- self-correct on next reindex.\n valid INTEGER NOT NULL DEFAULT 1,\n -- 0.8.1 \u2014 index row does not fully reflect the on-disk file (1 = partial):\n -- annotation extraction hit the per-doc cap, or the file grew past\n -- MAAD_MAX_DOC_BYTES and the row serves the last indexed content. Existing\n -- rows pick it up via ALTER (default 0) and self-correct on next reindex.\n partial INTEGER NOT NULL DEFAULT 0\n);\nCREATE INDEX IF NOT EXISTS idx_documents_type ON documents(doc_type);\nCREATE INDEX IF NOT EXISTS idx_documents_path ON documents(file_path);\nCREATE INDEX IF NOT EXISTS idx_documents_deleted ON documents(deleted);\n-- 0.7.17 \u2014 composite for the findDocuments driving scan. Without it the planner\n-- picks the low-selectivity idx_documents_deleted (deleted=0 matches every live\n-- row) and full-scans documents before sorting. Leading deleted keeps the\n-- live-rows predicate sargable; doc_type narrows; doc_id covers the tie-breaker.\nCREATE INDEX IF NOT EXISTS idx_documents_del_type_id ON documents(deleted, doc_type, doc_id);\n-- NB: the idx_documents_valid index lives in the init() migration block, not\n-- here. It references the valid column, which existing databases only gain via\n-- ALTER after this SCHEMA_SQL runs, so creating it here would fail on\n-- pre-0.7.17 databases with a no-such-column error.\n\n-- Extracted objects table: inline annotations and indexed fields\nCREATE TABLE IF NOT EXISTS objects (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n primitive TEXT NOT NULL,\n subtype TEXT NOT NULL,\n value TEXT NOT NULL,\n normalized_value TEXT,\n label TEXT NOT NULL,\n role TEXT,\n doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n source_line INTEGER NOT NULL,\n block_id TEXT\n);\nCREATE INDEX IF NOT EXISTS idx_objects_primitive ON objects(primitive);\nCREATE INDEX IF NOT EXISTS idx_objects_subtype ON objects(subtype);\nCREATE INDEX IF NOT EXISTS idx_objects_value ON objects(value);\nCREATE INDEX IF NOT EXISTS idx_objects_doc_id ON objects(doc_id);\nCREATE INDEX IF NOT EXISTS idx_objects_normalized ON objects(normalized_value);\n\n-- Relationships table: edges between documents\nCREATE TABLE IF NOT EXISTS relationships (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n source_doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n target_doc_id TEXT NOT NULL,\n field TEXT NOT NULL,\n relation_type TEXT NOT NULL CHECK(relation_type IN ('ref', 'mention'))\n);\nCREATE INDEX IF NOT EXISTS idx_rel_source ON relationships(source_doc_id);\nCREATE INDEX IF NOT EXISTS idx_rel_target ON relationships(target_doc_id);\nCREATE INDEX IF NOT EXISTS idx_rel_type ON relationships(relation_type);\n\n-- Blocks table: heading-delimited sections\nCREATE TABLE IF NOT EXISTS blocks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n block_id TEXT,\n heading TEXT NOT NULL,\n level INTEGER NOT NULL,\n start_line INTEGER NOT NULL,\n end_line INTEGER NOT NULL\n);\nCREATE INDEX IF NOT EXISTS idx_blocks_doc_id ON blocks(doc_id);\nCREATE INDEX IF NOT EXISTS idx_blocks_block_id ON blocks(block_id);\n\n-- Field index: denormalized frontmatter fields for fast filtering\nCREATE TABLE IF NOT EXISTS field_index (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n doc_id TEXT NOT NULL REFERENCES documents(doc_id) ON DELETE CASCADE,\n field_name TEXT NOT NULL,\n field_value TEXT,\n numeric_value REAL,\n field_type TEXT NOT NULL\n);\nCREATE INDEX IF NOT EXISTS idx_field_doc ON field_index(doc_id);\nCREATE INDEX IF NOT EXISTS idx_field_name_value ON field_index(field_name, field_value);\nCREATE INDEX IF NOT EXISTS idx_field_name_numeric ON field_index(field_name, numeric_value);\n-- 0.7.17 \u2014 covering indexes for the sort-index-driven query path. The first two\n-- let the engine walk a scalar sort field (text/date -> field_value,\n-- number/amount -> numeric_value) in index order with doc_id covered, so a\n-- sorted+limited query terminates early instead of materializing + temp-b-tree\n-- sorting the whole matched set. The third covers the per-doc EXISTS filter\n-- probes (one 4-col index subsumes both text and numeric by-doc lookups, vs two\n-- 3-col indexes \u2014 half the write amplification).\nCREATE INDEX IF NOT EXISTS idx_field_name_value_doc ON field_index(field_name, field_value, doc_id);\nCREATE INDEX IF NOT EXISTS idx_field_name_numeric_doc ON field_index(field_name, numeric_value, doc_id);\nCREATE INDEX IF NOT EXISTS idx_field_doc_name_value ON field_index(doc_id, field_name, field_value, numeric_value);\n\n-- Engine meta key/value store (0.7.4). Holds per-type schema\n-- index fingerprints so indexAll can detect \"indexed-field set changed since\n-- last run\" and force-rebuild affected types regardless of file-hash skip.\n-- Keys are namespaced (e.g. schema_index_fp:<doc_type>).\nCREATE TABLE IF NOT EXISTS engine_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n";
2
2
  //# sourceMappingURL=schema.d.ts.map