@pella-labs/pinakes 0.1.10 → 0.3.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.
Files changed (146) hide show
  1. package/README.md +20 -20
  2. package/dist/cli/audit.d.ts +5 -3
  3. package/dist/cli/audit.d.ts.map +1 -1
  4. package/dist/cli/audit.js +3 -24
  5. package/dist/cli/audit.js.map +1 -1
  6. package/dist/cli/contradiction-cli.d.ts +12 -0
  7. package/dist/cli/contradiction-cli.d.ts.map +1 -0
  8. package/dist/cli/contradiction-cli.js +35 -0
  9. package/dist/cli/contradiction-cli.js.map +1 -0
  10. package/dist/cli/contradiction.d.ts +59 -0
  11. package/dist/cli/contradiction.d.ts.map +1 -0
  12. package/dist/cli/contradiction.js +172 -0
  13. package/dist/cli/contradiction.js.map +1 -0
  14. package/dist/cli/export.d.ts +1 -1
  15. package/dist/cli/export.d.ts.map +1 -1
  16. package/dist/cli/export.js +7 -28
  17. package/dist/cli/export.js.map +1 -1
  18. package/dist/cli/import.d.ts +2 -2
  19. package/dist/cli/import.d.ts.map +1 -1
  20. package/dist/cli/import.js +5 -26
  21. package/dist/cli/import.js.map +1 -1
  22. package/dist/cli/index.js +39 -11
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/purge.d.ts +2 -2
  25. package/dist/cli/purge.d.ts.map +1 -1
  26. package/dist/cli/purge.js +2 -23
  27. package/dist/cli/purge.js.map +1 -1
  28. package/dist/cli/rebuild.d.ts +8 -6
  29. package/dist/cli/rebuild.d.ts.map +1 -1
  30. package/dist/cli/rebuild.js +9 -31
  31. package/dist/cli/rebuild.js.map +1 -1
  32. package/dist/cli/serve.d.ts +9 -7
  33. package/dist/cli/serve.d.ts.map +1 -1
  34. package/dist/cli/serve.js +71 -41
  35. package/dist/cli/serve.js.map +1 -1
  36. package/dist/cli/status.d.ts +7 -5
  37. package/dist/cli/status.d.ts.map +1 -1
  38. package/dist/cli/status.js +10 -29
  39. package/dist/cli/status.js.map +1 -1
  40. package/dist/db/client.d.ts +4 -4
  41. package/dist/db/client.js +3 -3
  42. package/dist/db/client.js.map +1 -1
  43. package/dist/db/migrations/migrations/0002_rename_kg_to_pinakes.sql +49 -0
  44. package/dist/db/migrations/migrations/meta/0002_snapshot.json +504 -0
  45. package/dist/db/migrations/migrations/meta/_journal.json +7 -0
  46. package/dist/db/repository.js +5 -5
  47. package/dist/db/repository.js.map +1 -1
  48. package/dist/db/schema.d.ts +84 -84
  49. package/dist/db/schema.d.ts.map +1 -1
  50. package/dist/db/schema.js +49 -49
  51. package/dist/db/schema.js.map +1 -1
  52. package/dist/db/types.d.ts +2 -2
  53. package/dist/db/types.js +1 -1
  54. package/dist/gaps/detector.d.ts +5 -5
  55. package/dist/gaps/detector.js +15 -15
  56. package/dist/gaps/detector.js.map +1 -1
  57. package/dist/ingest/chokidar.js +1 -1
  58. package/dist/ingest/ingester.d.ts +9 -4
  59. package/dist/ingest/ingester.d.ts.map +1 -1
  60. package/dist/ingest/ingester.js +82 -17
  61. package/dist/ingest/ingester.js.map +1 -1
  62. package/dist/ingest/manifest.d.ts +5 -3
  63. package/dist/ingest/manifest.d.ts.map +1 -1
  64. package/dist/ingest/manifest.js +23 -14
  65. package/dist/ingest/manifest.js.map +1 -1
  66. package/dist/ingest/parse/chunk.js +1 -1
  67. package/dist/ingest/parse/markdown.d.ts +2 -2
  68. package/dist/ingest/queue.d.ts +1 -1
  69. package/dist/ingest/queue.js +1 -1
  70. package/dist/ingest/source.d.ts +2 -2
  71. package/dist/ingest/source.d.ts.map +1 -1
  72. package/dist/ingest/source.js +1 -1
  73. package/dist/llm/provider.d.ts +70 -0
  74. package/dist/llm/provider.d.ts.map +1 -0
  75. package/dist/llm/provider.js +235 -0
  76. package/dist/llm/provider.js.map +1 -0
  77. package/dist/mcp/envelope.d.ts +1 -1
  78. package/dist/mcp/tools/execute.d.ts +7 -7
  79. package/dist/mcp/tools/execute.d.ts.map +1 -1
  80. package/dist/mcp/tools/execute.js +41 -59
  81. package/dist/mcp/tools/execute.js.map +1 -1
  82. package/dist/mcp/tools/search.d.ts +13 -8
  83. package/dist/mcp/tools/search.d.ts.map +1 -1
  84. package/dist/mcp/tools/search.js +53 -28
  85. package/dist/mcp/tools/search.js.map +1 -1
  86. package/dist/observability/audit.d.ts +2 -2
  87. package/dist/observability/audit.js +3 -3
  88. package/dist/observability/audit.js.map +1 -1
  89. package/dist/observability/logger.js +4 -4
  90. package/dist/observability/logger.js.map +1 -1
  91. package/dist/observability/metrics.js +1 -1
  92. package/dist/observability/metrics.js.map +1 -1
  93. package/dist/paths.d.ts +61 -0
  94. package/dist/paths.d.ts.map +1 -0
  95. package/dist/paths.js +106 -0
  96. package/dist/paths.js.map +1 -0
  97. package/dist/retrieval/dedup.d.ts +25 -0
  98. package/dist/retrieval/dedup.d.ts.map +1 -0
  99. package/dist/retrieval/dedup.js +97 -0
  100. package/dist/retrieval/dedup.js.map +1 -0
  101. package/dist/retrieval/embedder.d.ts +9 -9
  102. package/dist/retrieval/embedder.d.ts.map +1 -1
  103. package/dist/retrieval/embedder.js +17 -17
  104. package/dist/retrieval/embedder.js.map +1 -1
  105. package/dist/retrieval/expand.d.ts +18 -0
  106. package/dist/retrieval/expand.d.ts.map +1 -0
  107. package/dist/retrieval/expand.js +89 -0
  108. package/dist/retrieval/expand.js.map +1 -0
  109. package/dist/retrieval/fts.d.ts +3 -3
  110. package/dist/retrieval/fts.js +8 -8
  111. package/dist/retrieval/graph.d.ts +47 -0
  112. package/dist/retrieval/graph.d.ts.map +1 -0
  113. package/dist/retrieval/graph.js +144 -0
  114. package/dist/retrieval/graph.js.map +1 -0
  115. package/dist/retrieval/hybrid.d.ts +10 -0
  116. package/dist/retrieval/hybrid.d.ts.map +1 -1
  117. package/dist/retrieval/hybrid.js +57 -2
  118. package/dist/retrieval/hybrid.js.map +1 -1
  119. package/dist/retrieval/vec.d.ts +2 -2
  120. package/dist/retrieval/vec.js +3 -3
  121. package/dist/sandbox/bindings/install.d.ts +5 -5
  122. package/dist/sandbox/bindings/install.d.ts.map +1 -1
  123. package/dist/sandbox/bindings/install.js +3 -3
  124. package/dist/sandbox/bindings/install.js.map +1 -1
  125. package/dist/sandbox/bindings/kg.d.ts.map +1 -1
  126. package/dist/sandbox/bindings/kg.js +10 -0
  127. package/dist/sandbox/bindings/kg.js.map +1 -1
  128. package/dist/sandbox/bindings/pinakes.d.ts +29 -0
  129. package/dist/sandbox/bindings/pinakes.d.ts.map +1 -0
  130. package/dist/sandbox/bindings/pinakes.js +333 -0
  131. package/dist/sandbox/bindings/pinakes.js.map +1 -0
  132. package/dist/sandbox/bindings/write.d.ts +1 -1
  133. package/dist/sandbox/bindings/write.d.ts.map +1 -1
  134. package/dist/sandbox/bindings/write.js +9 -9
  135. package/dist/sandbox/bindings/write.js.map +1 -1
  136. package/dist/sandbox/executor.d.ts +3 -3
  137. package/dist/sandbox/executor.js +6 -6
  138. package/dist/sandbox/executor.js.map +1 -1
  139. package/dist/sandbox/helpers.d.ts +1 -1
  140. package/dist/sandbox/helpers.d.ts.map +1 -1
  141. package/dist/sandbox/helpers.js +2 -2
  142. package/dist/sandbox/vendored-codemode.d.ts +1 -1
  143. package/dist/sandbox/vendored-codemode.js +1 -1
  144. package/dist/server.js +15 -6
  145. package/dist/server.js.map +1 -1
  146. package/package.json +22 -27
@@ -1,21 +1,21 @@
1
1
  /**
2
- * KG-MCP Drizzle schema (presearch.md §2.3, CLAUDE.md §Database Rules).
2
+ * Pinakes Drizzle schema (presearch.md §2.3, CLAUDE.md §Database Rules).
3
3
  *
4
- * 8 logical tables + `kg_meta` for schema versioning. Two of the eight are
5
- * virtual tables (`kg_chunks_fts`, `kg_chunks_vec`) that drizzle-kit can't
4
+ * 8 logical tables + `pinakes_meta` for schema versioning. Two of the eight are
5
+ * virtual tables (`pinakes_chunks_fts`, `pinakes_chunks_vec`) that drizzle-kit can't
6
6
  * model — they're created via raw SQL appended to the initial migration in
7
7
  * src/db/migrations. The drizzle code below covers the 7 regular tables
8
- * plus kg_meta.
8
+ * plus pinakes_meta.
9
9
  *
10
10
  * Invariants this schema MUST preserve:
11
11
  *
12
- * - `kg_nodes.id` is `sha1(scope + ':' + source_uri + ':' + section_path)`,
12
+ * - `pinakes_nodes.id` is `sha1(scope + ':' + source_uri + ':' + section_path)`,
13
13
  * set by the ingester (NOT auto-generated). Re-ingesting the same
14
14
  * markdown produces identical ids — Phase 2's idempotent upsert relies
15
15
  * on this. The DB never sees the hashing logic; it just stores the value
16
16
  * and enforces uniqueness via the PK.
17
17
  *
18
- * - `kg_chunks.id` is `sha1(node_id + ':' + chunk_index)`, same idea.
18
+ * - `pinakes_chunks.id` is `sha1(node_id + ':' + chunk_index)`, same idea.
19
19
  *
20
20
  * - `chunk_sha = sha1(chunk_text)` is the LOAD-BEARING field for the
21
21
  * per-chunk skip-unchanged optimization (CLAUDE.md §Database Rules #3,
@@ -25,10 +25,10 @@
25
25
  * ~50ms = 3s of blocking work that competes with the active coding LLM
26
26
  * for Ollama. Do not remove this column.
27
27
  *
28
- * - `last_accessed_at` on `kg_nodes` exists for the Phase 5 personal-KG
28
+ * - `last_accessed_at` on `pinakes_nodes` exists for the Phase 5 personal-KG
29
29
  * LRU eviction (Loop 6.5 A2). Phase 2 just stamps it on insert/update.
30
30
  *
31
- * - `source_sha` on `kg_nodes` is the file-level hash; staleness detection
31
+ * - `source_sha` on `pinakes_nodes` is the file-level hash; staleness detection
32
32
  * on the query path compares this against the current on-disk hash.
33
33
  *
34
34
  * - All FK relationships use `ON DELETE CASCADE` so deleting a node cleans
@@ -45,13 +45,13 @@
45
45
  * (in the worst case for sqlite-vec breaking changes) drop + rebuild the
46
46
  * vec virtual table from markdown.
47
47
  */
48
- export declare const kgMeta: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
49
- name: "kg_meta";
48
+ export declare const pinakesMeta: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
49
+ name: "pinakes_meta";
50
50
  schema: undefined;
51
51
  columns: {
52
52
  key: import("drizzle-orm/sqlite-core").SQLiteColumn<{
53
53
  name: "key";
54
- tableName: "kg_meta";
54
+ tableName: "pinakes_meta";
55
55
  dataType: "string";
56
56
  columnType: "SQLiteText";
57
57
  data: string;
@@ -70,7 +70,7 @@ export declare const kgMeta: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
70
70
  }>;
71
71
  value: import("drizzle-orm/sqlite-core").SQLiteColumn<{
72
72
  name: "value";
73
- tableName: "kg_meta";
73
+ tableName: "pinakes_meta";
74
74
  dataType: "string";
75
75
  columnType: "SQLiteText";
76
76
  data: string;
@@ -103,17 +103,17 @@ export declare const kgMeta: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
103
103
  * Empty string for top-of-file content above any heading.
104
104
  *
105
105
  * `content` stores the full section markdown (heading + body). Chunks are
106
- * derived from this and stored separately in kg_chunks. We keep both because
107
- * `kg_execute` callers may want the whole section (`kg.get(node_id)`) instead
106
+ * derived from this and stored separately in pinakes_chunks. We keep both because
107
+ * `pinakes_execute` callers may want the whole section (`pinakes.get(node_id)`) instead
108
108
  * of paragraph-sized chunks.
109
109
  */
110
- export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
111
- name: "kg_nodes";
110
+ export declare const pinakesNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
111
+ name: "pinakes_nodes";
112
112
  schema: undefined;
113
113
  columns: {
114
114
  id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
115
115
  name: "id";
116
- tableName: "kg_nodes";
116
+ tableName: "pinakes_nodes";
117
117
  dataType: "string";
118
118
  columnType: "SQLiteText";
119
119
  data: string;
@@ -132,7 +132,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
132
132
  }>;
133
133
  scope: import("drizzle-orm/sqlite-core").SQLiteColumn<{
134
134
  name: "scope";
135
- tableName: "kg_nodes";
135
+ tableName: "pinakes_nodes";
136
136
  dataType: "string";
137
137
  columnType: "SQLiteText";
138
138
  data: string;
@@ -151,7 +151,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
151
151
  }>;
152
152
  sourceUri: import("drizzle-orm/sqlite-core").SQLiteColumn<{
153
153
  name: "source_uri";
154
- tableName: "kg_nodes";
154
+ tableName: "pinakes_nodes";
155
155
  dataType: "string";
156
156
  columnType: "SQLiteText";
157
157
  data: string;
@@ -170,7 +170,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
170
170
  }>;
171
171
  sectionPath: import("drizzle-orm/sqlite-core").SQLiteColumn<{
172
172
  name: "section_path";
173
- tableName: "kg_nodes";
173
+ tableName: "pinakes_nodes";
174
174
  dataType: "string";
175
175
  columnType: "SQLiteText";
176
176
  data: string;
@@ -189,7 +189,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
189
189
  }>;
190
190
  kind: import("drizzle-orm/sqlite-core").SQLiteColumn<{
191
191
  name: "kind";
192
- tableName: "kg_nodes";
192
+ tableName: "pinakes_nodes";
193
193
  dataType: "string";
194
194
  columnType: "SQLiteText";
195
195
  data: string;
@@ -208,7 +208,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
208
208
  }>;
209
209
  title: import("drizzle-orm/sqlite-core").SQLiteColumn<{
210
210
  name: "title";
211
- tableName: "kg_nodes";
211
+ tableName: "pinakes_nodes";
212
212
  dataType: "string";
213
213
  columnType: "SQLiteText";
214
214
  data: string;
@@ -227,7 +227,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
227
227
  }>;
228
228
  content: import("drizzle-orm/sqlite-core").SQLiteColumn<{
229
229
  name: "content";
230
- tableName: "kg_nodes";
230
+ tableName: "pinakes_nodes";
231
231
  dataType: "string";
232
232
  columnType: "SQLiteText";
233
233
  data: string;
@@ -246,7 +246,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
246
246
  }>;
247
247
  sourceSha: import("drizzle-orm/sqlite-core").SQLiteColumn<{
248
248
  name: "source_sha";
249
- tableName: "kg_nodes";
249
+ tableName: "pinakes_nodes";
250
250
  dataType: "string";
251
251
  columnType: "SQLiteText";
252
252
  data: string;
@@ -265,7 +265,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
265
265
  }>;
266
266
  tokenCount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
267
267
  name: "token_count";
268
- tableName: "kg_nodes";
268
+ tableName: "pinakes_nodes";
269
269
  dataType: "number";
270
270
  columnType: "SQLiteInteger";
271
271
  data: number;
@@ -282,7 +282,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
282
282
  }, {}, {}>;
283
283
  confidence: import("drizzle-orm/sqlite-core").SQLiteColumn<{
284
284
  name: "confidence";
285
- tableName: "kg_nodes";
285
+ tableName: "pinakes_nodes";
286
286
  dataType: "string";
287
287
  columnType: "SQLiteText";
288
288
  data: string;
@@ -301,7 +301,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
301
301
  }>;
302
302
  createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
303
303
  name: "created_at";
304
- tableName: "kg_nodes";
304
+ tableName: "pinakes_nodes";
305
305
  dataType: "number";
306
306
  columnType: "SQLiteInteger";
307
307
  data: number;
@@ -318,7 +318,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
318
318
  }, {}, {}>;
319
319
  updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
320
320
  name: "updated_at";
321
- tableName: "kg_nodes";
321
+ tableName: "pinakes_nodes";
322
322
  dataType: "number";
323
323
  columnType: "SQLiteInteger";
324
324
  data: number;
@@ -335,7 +335,7 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
335
335
  }, {}, {}>;
336
336
  lastAccessedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
337
337
  name: "last_accessed_at";
338
- tableName: "kg_nodes";
338
+ tableName: "pinakes_nodes";
339
339
  dataType: "number";
340
340
  columnType: "SQLiteInteger";
341
341
  data: number;
@@ -362,13 +362,13 @@ export declare const kgNodes: import("drizzle-orm/sqlite-core").SQLiteTableWithC
362
362
  * markdown parsing. The table exists now so the migration is complete and
363
363
  * Phase 4 doesn't have to add it as a separate migration.
364
364
  */
365
- export declare const kgEdges: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
366
- name: "kg_edges";
365
+ export declare const pinakesEdges: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
366
+ name: "pinakes_edges";
367
367
  schema: undefined;
368
368
  columns: {
369
369
  srcId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
370
370
  name: "src_id";
371
- tableName: "kg_edges";
371
+ tableName: "pinakes_edges";
372
372
  dataType: "string";
373
373
  columnType: "SQLiteText";
374
374
  data: string;
@@ -387,7 +387,7 @@ export declare const kgEdges: import("drizzle-orm/sqlite-core").SQLiteTableWithC
387
387
  }>;
388
388
  dstId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
389
389
  name: "dst_id";
390
- tableName: "kg_edges";
390
+ tableName: "pinakes_edges";
391
391
  dataType: "string";
392
392
  columnType: "SQLiteText";
393
393
  data: string;
@@ -406,7 +406,7 @@ export declare const kgEdges: import("drizzle-orm/sqlite-core").SQLiteTableWithC
406
406
  }>;
407
407
  edgeKind: import("drizzle-orm/sqlite-core").SQLiteColumn<{
408
408
  name: "edge_kind";
409
- tableName: "kg_edges";
409
+ tableName: "pinakes_edges";
410
410
  dataType: "string";
411
411
  columnType: "SQLiteText";
412
412
  data: string;
@@ -433,8 +433,8 @@ export declare const kgEdges: import("drizzle-orm/sqlite-core").SQLiteTableWithC
433
433
  *
434
434
  * The implicit SQLite `rowid` (auto-assigned for tables without
435
435
  * INTEGER PRIMARY KEY) is what FTS5 and sqlite-vec join on:
436
- * - `kg_chunks_fts` is `content='kg_chunks', content_rowid='rowid'`
437
- * - `kg_chunks_vec.rowid` matches `kg_chunks.rowid`
436
+ * - `pinakes_chunks_fts` is `content='pinakes_chunks', content_rowid='rowid'`
437
+ * - `pinakes_chunks_vec.rowid` matches `pinakes_chunks.rowid`
438
438
  *
439
439
  * `chunk_sha = sha1(text)` is the per-chunk skip-unchanged key. On a
440
440
  * file rewrite, the ingester compares each new chunk's chunk_sha against
@@ -443,13 +443,13 @@ export declare const kgEdges: import("drizzle-orm/sqlite-core").SQLiteTableWithC
443
443
  * re-embedded. This is the load-bearing optimization for Pharos's
444
444
  * whole-file-rewrite-per-turn pattern (CLAUDE.md §Database Rules #3).
445
445
  */
446
- export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
447
- name: "kg_chunks";
446
+ export declare const pinakesChunks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
447
+ name: "pinakes_chunks";
448
448
  schema: undefined;
449
449
  columns: {
450
450
  id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
451
451
  name: "id";
452
- tableName: "kg_chunks";
452
+ tableName: "pinakes_chunks";
453
453
  dataType: "string";
454
454
  columnType: "SQLiteText";
455
455
  data: string;
@@ -468,7 +468,7 @@ export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWith
468
468
  }>;
469
469
  nodeId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
470
470
  name: "node_id";
471
- tableName: "kg_chunks";
471
+ tableName: "pinakes_chunks";
472
472
  dataType: "string";
473
473
  columnType: "SQLiteText";
474
474
  data: string;
@@ -487,7 +487,7 @@ export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWith
487
487
  }>;
488
488
  chunkIndex: import("drizzle-orm/sqlite-core").SQLiteColumn<{
489
489
  name: "chunk_index";
490
- tableName: "kg_chunks";
490
+ tableName: "pinakes_chunks";
491
491
  dataType: "number";
492
492
  columnType: "SQLiteInteger";
493
493
  data: number;
@@ -504,7 +504,7 @@ export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWith
504
504
  }, {}, {}>;
505
505
  text: import("drizzle-orm/sqlite-core").SQLiteColumn<{
506
506
  name: "text";
507
- tableName: "kg_chunks";
507
+ tableName: "pinakes_chunks";
508
508
  dataType: "string";
509
509
  columnType: "SQLiteText";
510
510
  data: string;
@@ -523,7 +523,7 @@ export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWith
523
523
  }>;
524
524
  chunkSha: import("drizzle-orm/sqlite-core").SQLiteColumn<{
525
525
  name: "chunk_sha";
526
- tableName: "kg_chunks";
526
+ tableName: "pinakes_chunks";
527
527
  dataType: "string";
528
528
  columnType: "SQLiteText";
529
529
  data: string;
@@ -542,7 +542,7 @@ export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWith
542
542
  }>;
543
543
  tokenCount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
544
544
  name: "token_count";
545
- tableName: "kg_chunks";
545
+ tableName: "pinakes_chunks";
546
546
  dataType: "number";
547
547
  columnType: "SQLiteInteger";
548
548
  data: number;
@@ -559,7 +559,7 @@ export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWith
559
559
  }, {}, {}>;
560
560
  createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
561
561
  name: "created_at";
562
- tableName: "kg_chunks";
562
+ tableName: "pinakes_chunks";
563
563
  dataType: "number";
564
564
  columnType: "SQLiteInteger";
565
565
  data: number;
@@ -584,15 +584,15 @@ export declare const kgChunks: import("drizzle-orm/sqlite-core").SQLiteTableWith
584
584
  * - `'rebuild:start' | 'rebuild:done'` — full-rebuild markers
585
585
  *
586
586
  * `payload` is opaque JSON shaped per `kind`. The reader is the LLM via
587
- * `kg.log.recent(n, opts)` in Phase 4+; Phase 2 just appends.
587
+ * `pinakes.log.recent(n, opts)` in Phase 4+; Phase 2 just appends.
588
588
  */
589
- export declare const kgLog: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
590
- name: "kg_log";
589
+ export declare const pinakesLog: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
590
+ name: "pinakes_log";
591
591
  schema: undefined;
592
592
  columns: {
593
593
  id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
594
594
  name: "id";
595
- tableName: "kg_log";
595
+ tableName: "pinakes_log";
596
596
  dataType: "number";
597
597
  columnType: "SQLiteInteger";
598
598
  data: number;
@@ -609,7 +609,7 @@ export declare const kgLog: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
609
609
  }, {}, {}>;
610
610
  ts: import("drizzle-orm/sqlite-core").SQLiteColumn<{
611
611
  name: "ts";
612
- tableName: "kg_log";
612
+ tableName: "pinakes_log";
613
613
  dataType: "number";
614
614
  columnType: "SQLiteInteger";
615
615
  data: number;
@@ -626,7 +626,7 @@ export declare const kgLog: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
626
626
  }, {}, {}>;
627
627
  scope: import("drizzle-orm/sqlite-core").SQLiteColumn<{
628
628
  name: "scope";
629
- tableName: "kg_log";
629
+ tableName: "pinakes_log";
630
630
  dataType: "string";
631
631
  columnType: "SQLiteText";
632
632
  data: string;
@@ -645,7 +645,7 @@ export declare const kgLog: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
645
645
  }>;
646
646
  kind: import("drizzle-orm/sqlite-core").SQLiteColumn<{
647
647
  name: "kind";
648
- tableName: "kg_log";
648
+ tableName: "pinakes_log";
649
649
  dataType: "string";
650
650
  columnType: "SQLiteText";
651
651
  data: string;
@@ -664,7 +664,7 @@ export declare const kgLog: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
664
664
  }>;
665
665
  sourceUri: import("drizzle-orm/sqlite-core").SQLiteColumn<{
666
666
  name: "source_uri";
667
- tableName: "kg_log";
667
+ tableName: "pinakes_log";
668
668
  dataType: "string";
669
669
  columnType: "SQLiteText";
670
670
  data: string;
@@ -683,7 +683,7 @@ export declare const kgLog: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
683
683
  }>;
684
684
  payload: import("drizzle-orm/sqlite-core").SQLiteColumn<{
685
685
  name: "payload";
686
- tableName: "kg_log";
686
+ tableName: "pinakes_log";
687
687
  dataType: "string";
688
688
  columnType: "SQLiteText";
689
689
  data: string;
@@ -711,13 +711,13 @@ export declare const kgLog: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
711
711
  * multiple turns. `resolved_at` is set when a gap is closed (either by
712
712
  * the LLM writing about the topic or by a manual dismissal).
713
713
  */
714
- export declare const kgGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
715
- name: "kg_gaps";
714
+ export declare const pinakesGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
715
+ name: "pinakes_gaps";
716
716
  schema: undefined;
717
717
  columns: {
718
718
  id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
719
719
  name: "id";
720
- tableName: "kg_gaps";
720
+ tableName: "pinakes_gaps";
721
721
  dataType: "number";
722
722
  columnType: "SQLiteInteger";
723
723
  data: number;
@@ -734,7 +734,7 @@ export declare const kgGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
734
734
  }, {}, {}>;
735
735
  scope: import("drizzle-orm/sqlite-core").SQLiteColumn<{
736
736
  name: "scope";
737
- tableName: "kg_gaps";
737
+ tableName: "pinakes_gaps";
738
738
  dataType: "string";
739
739
  columnType: "SQLiteText";
740
740
  data: string;
@@ -753,7 +753,7 @@ export declare const kgGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
753
753
  }>;
754
754
  topic: import("drizzle-orm/sqlite-core").SQLiteColumn<{
755
755
  name: "topic";
756
- tableName: "kg_gaps";
756
+ tableName: "pinakes_gaps";
757
757
  dataType: "string";
758
758
  columnType: "SQLiteText";
759
759
  data: string;
@@ -772,7 +772,7 @@ export declare const kgGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
772
772
  }>;
773
773
  firstSeenAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
774
774
  name: "first_seen_at";
775
- tableName: "kg_gaps";
775
+ tableName: "pinakes_gaps";
776
776
  dataType: "number";
777
777
  columnType: "SQLiteInteger";
778
778
  data: number;
@@ -789,7 +789,7 @@ export declare const kgGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
789
789
  }, {}, {}>;
790
790
  mentionsCount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
791
791
  name: "mentions_count";
792
- tableName: "kg_gaps";
792
+ tableName: "pinakes_gaps";
793
793
  dataType: "number";
794
794
  columnType: "SQLiteInteger";
795
795
  data: number;
@@ -806,7 +806,7 @@ export declare const kgGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
806
806
  }, {}, {}>;
807
807
  resolvedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
808
808
  name: "resolved_at";
809
- tableName: "kg_gaps";
809
+ tableName: "pinakes_gaps";
810
810
  dataType: "number";
811
811
  columnType: "SQLiteInteger";
812
812
  data: number;
@@ -830,18 +830,18 @@ export declare const kgGaps: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
830
830
  * (CLAUDE.md §Security #7). Phase 2 creates the table.
831
831
  *
832
832
  * NB: per CLAUDE.md §Security #7, the JSONL mirror path differs by scope —
833
- * project rows mirror to `.pharos/kg-audit.jsonl` (in the repo, safe for
834
- * `git add .`), personal/both rows mirror to `~/.pharos/profile/kg-audit.jsonl`.
835
- * Personal-scope audit rows go to a separate kg_audit table in the personal
833
+ * project rows mirror to `~/.pinakes/projects/<mangled>/audit.jsonl`,
834
+ * personal/both rows mirror to `~/.pinakes/audit.jsonl`.
835
+ * Personal-scope audit rows go to a separate pinakes_audit table in the personal
836
836
  * DB, never the project DB. This split is enforced at the app layer.
837
837
  */
838
- export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
839
- name: "kg_audit";
838
+ export declare const pinakesAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
839
+ name: "pinakes_audit";
840
840
  schema: undefined;
841
841
  columns: {
842
842
  id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
843
843
  name: "id";
844
- tableName: "kg_audit";
844
+ tableName: "pinakes_audit";
845
845
  dataType: "number";
846
846
  columnType: "SQLiteInteger";
847
847
  data: number;
@@ -858,7 +858,7 @@ export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithC
858
858
  }, {}, {}>;
859
859
  ts: import("drizzle-orm/sqlite-core").SQLiteColumn<{
860
860
  name: "ts";
861
- tableName: "kg_audit";
861
+ tableName: "pinakes_audit";
862
862
  dataType: "number";
863
863
  columnType: "SQLiteInteger";
864
864
  data: number;
@@ -875,7 +875,7 @@ export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithC
875
875
  }, {}, {}>;
876
876
  toolName: import("drizzle-orm/sqlite-core").SQLiteColumn<{
877
877
  name: "tool_name";
878
- tableName: "kg_audit";
878
+ tableName: "pinakes_audit";
879
879
  dataType: "string";
880
880
  columnType: "SQLiteText";
881
881
  data: string;
@@ -894,7 +894,7 @@ export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithC
894
894
  }>;
895
895
  scopeRequested: import("drizzle-orm/sqlite-core").SQLiteColumn<{
896
896
  name: "scope_requested";
897
- tableName: "kg_audit";
897
+ tableName: "pinakes_audit";
898
898
  dataType: "string";
899
899
  columnType: "SQLiteText";
900
900
  data: string;
@@ -913,7 +913,7 @@ export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithC
913
913
  }>;
914
914
  callerCtx: import("drizzle-orm/sqlite-core").SQLiteColumn<{
915
915
  name: "caller_ctx";
916
- tableName: "kg_audit";
916
+ tableName: "pinakes_audit";
917
917
  dataType: "string";
918
918
  columnType: "SQLiteText";
919
919
  data: string;
@@ -932,7 +932,7 @@ export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithC
932
932
  }>;
933
933
  responseTokens: import("drizzle-orm/sqlite-core").SQLiteColumn<{
934
934
  name: "response_tokens";
935
- tableName: "kg_audit";
935
+ tableName: "pinakes_audit";
936
936
  dataType: "number";
937
937
  columnType: "SQLiteInteger";
938
938
  data: number;
@@ -949,7 +949,7 @@ export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithC
949
949
  }, {}, {}>;
950
950
  error: import("drizzle-orm/sqlite-core").SQLiteColumn<{
951
951
  name: "error";
952
- tableName: "kg_audit";
952
+ tableName: "pinakes_audit";
953
953
  dataType: "string";
954
954
  columnType: "SQLiteText";
955
955
  data: string;
@@ -969,22 +969,22 @@ export declare const kgAudit: import("drizzle-orm/sqlite-core").SQLiteTableWithC
969
969
  };
970
970
  dialect: "sqlite";
971
971
  }>;
972
- export type KgNode = typeof kgNodes.$inferSelect;
973
- export type NewKgNode = typeof kgNodes.$inferInsert;
974
- export type KgChunk = typeof kgChunks.$inferSelect;
975
- export type NewKgChunk = typeof kgChunks.$inferInsert;
976
- export type KgEdge = typeof kgEdges.$inferSelect;
977
- export type NewKgEdge = typeof kgEdges.$inferInsert;
978
- export type KgLogRow = typeof kgLog.$inferSelect;
979
- export type NewKgLogRow = typeof kgLog.$inferInsert;
972
+ export type PinakesNode = typeof pinakesNodes.$inferSelect;
973
+ export type NewPinakesNode = typeof pinakesNodes.$inferInsert;
974
+ export type PinakesChunk = typeof pinakesChunks.$inferSelect;
975
+ export type NewPinakesChunk = typeof pinakesChunks.$inferInsert;
976
+ export type PinakesEdge = typeof pinakesEdges.$inferSelect;
977
+ export type NewPinakesEdge = typeof pinakesEdges.$inferInsert;
978
+ export type PinakesLogRow = typeof pinakesLog.$inferSelect;
979
+ export type NewPinakesLogRow = typeof pinakesLog.$inferInsert;
980
980
  /**
981
981
  * The list of all schema-managed tables, useful for the schema test that
982
982
  * verifies the migration creates every expected table.
983
983
  */
984
- export declare const KG_TABLES: readonly ["kg_meta", "kg_nodes", "kg_edges", "kg_chunks", "kg_log", "kg_gaps", "kg_audit"];
984
+ export declare const PINAKES_TABLES: readonly ["pinakes_meta", "pinakes_nodes", "pinakes_edges", "pinakes_chunks", "pinakes_log", "pinakes_gaps", "pinakes_audit"];
985
985
  /**
986
986
  * The two virtual tables created via raw SQL in the migration (drizzle-kit
987
987
  * doesn't emit virtual table DDL). Schema test verifies they exist.
988
988
  */
989
- export declare const KG_VIRTUAL_TABLES: readonly ["kg_chunks_fts", "kg_chunks_vec"];
989
+ export declare const PINAKES_VIRTUAL_TABLES: readonly ["pinakes_chunks_fts", "pinakes_chunks_vec"];
990
990
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAMH;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjB,CAAC;AAOH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCnB,CAAC;AAOF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBnB,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBpB,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBjB,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOjB,CAAC;AAMH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlB,CAAC;AAMH,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC;AACpD,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,YAAY,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,YAAY,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,SAAS,4FAQZ,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB,6CAA8C,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAMH;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAC;AAOH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCxB,CAAC;AAOF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBxB,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBzB,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBtB,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOtB,CAAC;AAMH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAMH,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,cAAc,+HAQjB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,uDAAwD,CAAC"}