@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,8 +1,7 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { dirname, isAbsolute, resolve } from 'node:path';
4
2
  import { closeDb, openDb } from '../db/client.js';
5
3
  import { logger } from '../observability/logger.js';
4
+ import { resolveCliDbPath } from '../paths.js';
6
5
  export function importCommand(options) {
7
6
  if (!existsSync(options.inFile)) {
8
7
  throw new Error(`input file does not exist: ${options.inFile}`);
@@ -12,7 +11,7 @@ export function importCommand(options) {
12
11
  if (data.scope && data.scope !== options.scope) {
13
12
  logger.warn({ fileScope: data.scope, requestedScope: options.scope }, 'import file scope does not match requested scope');
14
13
  }
15
- const dbPath = resolveDbPath(options, options.scope);
14
+ const dbPath = resolveCliDbPath(options, options.scope);
16
15
  const bundle = openDb(dbPath);
17
16
  try {
18
17
  const result = { scope: options.scope, nodes: 0, edges: 0, chunks: 0 };
@@ -20,7 +19,7 @@ export function importCommand(options) {
20
19
  try {
21
20
  // Import nodes
22
21
  if (data.nodes?.length) {
23
- const insertNode = bundle.writer.prepare(`INSERT OR REPLACE INTO kg_nodes
22
+ const insertNode = bundle.writer.prepare(`INSERT OR REPLACE INTO pinakes_nodes
24
23
  (id, scope, source_uri, section_path, kind, title, content, source_sha, token_count, confidence, created_at, updated_at, last_accessed_at)
25
24
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
26
25
  for (const n of data.nodes) {
@@ -30,7 +29,7 @@ export function importCommand(options) {
30
29
  }
31
30
  // Import edges
32
31
  if (data.edges?.length) {
33
- const insertEdge = bundle.writer.prepare(`INSERT OR REPLACE INTO kg_edges (src_id, dst_id, edge_kind)
32
+ const insertEdge = bundle.writer.prepare(`INSERT OR REPLACE INTO pinakes_edges (src_id, dst_id, edge_kind)
34
33
  VALUES (?, ?, ?)`);
35
34
  for (const e of data.edges) {
36
35
  try {
@@ -45,7 +44,7 @@ export function importCommand(options) {
45
44
  }
46
45
  // Import chunks
47
46
  if (data.chunks?.length) {
48
- const insertChunk = bundle.writer.prepare(`INSERT OR REPLACE INTO kg_chunks
47
+ const insertChunk = bundle.writer.prepare(`INSERT OR REPLACE INTO pinakes_chunks
49
48
  (id, node_id, chunk_index, text, chunk_sha, token_count, created_at)
50
49
  VALUES (?, ?, ?, ?, ?, ?, ?)`);
51
50
  for (const c of data.chunks) {
@@ -73,24 +72,4 @@ export function importCommand(options) {
73
72
  export function renderImport(result) {
74
73
  return `${result.scope}: imported ${result.nodes} nodes, ${result.edges} edges, ${result.chunks} chunks`;
75
74
  }
76
- // ----------------------------------------------------------------------------
77
- // Path helpers
78
- // ----------------------------------------------------------------------------
79
- function resolveDbPath(options, scope) {
80
- if (scope === 'personal') {
81
- if (options.profileDbPath)
82
- return resolveAbs(options.profileDbPath);
83
- const env = process.env.KG_PROFILE_PATH;
84
- const profileDir = env ? resolveAbs(env) : resolve(homedir(), '.pharos/profile');
85
- return resolve(profileDir, 'kg.db');
86
- }
87
- if (options.dbPath)
88
- return resolveAbs(options.dbPath);
89
- if (options.wikiPath)
90
- return resolve(dirname(resolveAbs(options.wikiPath)), '.pinakes', 'pinakes.db');
91
- return resolve(process.cwd(), '.pinakes', 'pinakes.db');
92
- }
93
- function resolveAbs(p) {
94
- return isAbsolute(p) ? p : resolve(process.cwd(), p);
95
- }
96
75
  //# sourceMappingURL=import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { auditCommand, renderAudit } from './audit.js';
3
+ import { contradictionScanCommand } from './contradiction-cli.js';
3
4
  import { exportCommand, renderExport } from './export.js';
4
5
  import { importCommand, renderImport } from './import.js';
5
6
  import { purgeCommand, renderPurge } from './purge.js';
@@ -51,7 +52,8 @@ async function main() {
51
52
  switch (subcommand) {
52
53
  case 'serve': {
53
54
  await serveCommand({
54
- wikiPath: getRequiredString(flags, 'wiki-path'),
55
+ projectRoot: getString(flags, 'project-root'),
56
+ wikiPath: getString(flags, 'wiki-path'),
55
57
  dbPath: getString(flags, 'db-path'),
56
58
  profilePath: getString(flags, 'profile-path'),
57
59
  profileDbPath: getString(flags, 'profile-db-path'),
@@ -61,7 +63,8 @@ async function main() {
61
63
  case 'rebuild': {
62
64
  const scope = getString(flags, 'scope');
63
65
  const summaries = await rebuildCommand({
64
- wikiPath: getRequiredString(flags, 'wiki-path'),
66
+ projectRoot: getString(flags, 'project-root'),
67
+ wikiPath: getString(flags, 'wiki-path'),
65
68
  dbPath: getString(flags, 'db-path'),
66
69
  profilePath: getString(flags, 'profile-path'),
67
70
  profileDbPath: getString(flags, 'profile-db-path'),
@@ -143,21 +146,46 @@ async function main() {
143
146
  console.log(renderImport(result));
144
147
  break;
145
148
  }
149
+ case 'contradiction-scan': {
150
+ const scope = (getString(flags, 'scope') ?? 'project');
151
+ const result = await contradictionScanCommand({
152
+ scope,
153
+ wikiPath: getString(flags, 'wiki-path'),
154
+ dbPath: getString(flags, 'db-path'),
155
+ });
156
+ if (result.rate_limited) {
157
+ // eslint-disable-next-line no-console
158
+ console.log('Rate limited — last scan was less than 1 hour ago.');
159
+ }
160
+ else {
161
+ // eslint-disable-next-line no-console
162
+ console.log(`Scanned ${result.scanned_pairs} pairs, found ${result.contradictions.length} contradictions.`);
163
+ if (result.contradictions.length > 0) {
164
+ // eslint-disable-next-line no-console
165
+ console.log('Wrote contradictions.md to wiki root.');
166
+ }
167
+ }
168
+ break;
169
+ }
146
170
  case undefined:
147
171
  case 'help':
148
172
  case '-h':
149
173
  case '--help': {
150
174
  // eslint-disable-next-line no-console
151
- console.log(`kgKG-MCP CLI
175
+ console.log(`pinakesPinakes CLI
176
+
177
+ All project data is stored under ~/.pinakes/projects/<mangled-project-root>/.
178
+ Personal data is stored under ~/.pinakes/. Set PINAKES_ROOT to override.
152
179
 
153
180
  Usage:
154
- kg serve --wiki-path <dir> [--db-path <path>] [--profile-path <dir>] [--profile-db-path <path>]
155
- kg rebuild --wiki-path <dir> [--db-path <path>] [--scope project|personal|both]
156
- kg status [--db-path <path>] [--wiki-path <dir>] [--profile-db-path <path>]
157
- kg audit [--tail] [--n <count>] [--scope project|personal] [--db-path <path>]
158
- kg purge --scope <project|personal> --confirm [--db-path <path>]
159
- kg export --scope <project|personal> [--out file.json] [--db-path <path>]
160
- kg import --scope <project|personal> --in file.json [--db-path <path>]`);
181
+ pinakes serve [--project-root <dir>] [--wiki-path <dir>] [--db-path <path>] [--profile-path <dir>] [--profile-db-path <path>]
182
+ pinakes rebuild [--project-root <dir>] [--wiki-path <dir>] [--db-path <path>] [--scope project|personal|both]
183
+ pinakes status [--project-root <dir>] [--db-path <path>] [--profile-db-path <path>]
184
+ pinakes audit [--n <count>] [--scope project|personal] [--project-root <dir>] [--db-path <path>]
185
+ pinakes purge --scope <project|personal> --confirm [--project-root <dir>] [--db-path <path>]
186
+ pinakes export --scope <project|personal> [--out file.json] [--project-root <dir>] [--db-path <path>]
187
+ pinakes import --scope <project|personal> --in file.json [--project-root <dir>] [--db-path <path>]
188
+ pinakes contradiction-scan [--scope project|personal] [--project-root <dir>] [--wiki-path <dir>] [--db-path <path>]`);
161
189
  break;
162
190
  }
163
191
  default:
@@ -165,7 +193,7 @@ Usage:
165
193
  }
166
194
  }
167
195
  main().catch((err) => {
168
- logger.error({ err }, 'kg cli failed');
196
+ logger.error({ err }, 'pinakes cli failed');
169
197
  console.error(err instanceof Error ? err.message : err);
170
198
  process.exit(1);
171
199
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * `kg purge --scope <s> [--confirm]` — delete a scope's SQLite DB file.
2
+ * `pinakes purge --scope <s> [--confirm]` — delete a scope's SQLite DB file.
3
3
  *
4
4
  * This is the nuclear option: wipes the DB entirely. The user can rebuild
5
- * from markdown afterwards (`kg rebuild`). Requires `--confirm` flag to
5
+ * from markdown afterwards (`pinakes rebuild`). Requires `--confirm` flag to
6
6
  * prevent accidental deletion.
7
7
  */
8
8
  export interface PurgeOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../src/cli/purge.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CA6B/D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAKvD"}
1
+ {"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../src/cli/purge.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CA6B/D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAKvD"}
package/dist/cli/purge.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { existsSync, unlinkSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { dirname, isAbsolute, resolve } from 'node:path';
2
+ import { resolveCliDbPath } from '../paths.js';
4
3
  export function purgeCommand(options) {
5
- const dbPath = resolveDbPath(options, options.scope);
4
+ const dbPath = resolveCliDbPath(options, options.scope);
6
5
  if (!options.confirm) {
7
6
  return {
8
7
  scope: options.scope,
@@ -34,24 +33,4 @@ export function renderPurge(result) {
34
33
  }
35
34
  return `${result.scope} DB NOT deleted: ${result.reason} (${result.dbPath})`;
36
35
  }
37
- // ----------------------------------------------------------------------------
38
- // Path helpers
39
- // ----------------------------------------------------------------------------
40
- function resolveDbPath(options, scope) {
41
- if (scope === 'personal') {
42
- if (options.profileDbPath)
43
- return resolveAbs(options.profileDbPath);
44
- const env = process.env.KG_PROFILE_PATH;
45
- const profileDir = env ? resolveAbs(env) : resolve(homedir(), '.pharos/profile');
46
- return resolve(profileDir, 'kg.db');
47
- }
48
- if (options.dbPath)
49
- return resolveAbs(options.dbPath);
50
- if (options.wikiPath)
51
- return resolve(dirname(resolveAbs(options.wikiPath)), '.pinakes', 'pinakes.db');
52
- return resolve(process.cwd(), '.pinakes', 'pinakes.db');
53
- }
54
- function resolveAbs(p) {
55
- return isAbsolute(p) ? p : resolve(process.cwd(), p);
56
- }
57
36
  //# sourceMappingURL=purge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/cli/purge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzD,MAAM,UAAU,YAAY,CAAC,OAAqB;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAErD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gDAAgD;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B;SACvC,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;QAChC,IAAI,UAAU,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,UAAU,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,KAAK,oBAAoB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC;AAC/E,CAAC;AAED,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,SAAS,aAAa,CAAC,OAAqB,EAAE,KAA6B;IACzE,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QACxC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACtG,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/cli/purge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAyB/C,MAAM,UAAU,YAAY,CAAC,OAAqB;IAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAExD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gDAAgD;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B;SACvC,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;QAChC,IAAI,UAAU,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,UAAU,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,KAAK,oBAAoB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC;AAC/E,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Embedder } from '../retrieval/embedder.js';
2
2
  /**
3
- * `kg rebuild` — full-rebuild-from-markdown CLI subcommand for KG-MCP Phase 2.
3
+ * `pinakes rebuild` — full-rebuild-from-markdown CLI subcommand for Pinakes Phase 2.
4
4
  *
5
5
  * Walks the wiki directory, calls `IngesterService.ingestFile` for every
6
6
  * markdown file, prints a summary. Default behavior: ingest both project and
@@ -19,13 +19,15 @@ import { type Embedder } from '../retrieval/embedder.js';
19
19
  * cold; warm chunks via per-chunk SHA skip drop this to ~5ms).
20
20
  */
21
21
  export interface RebuildOptions {
22
- /** Project wiki directory (required) */
23
- wikiPath: string;
24
- /** Project DB path (default: `<wikiPath>/../kg.db`) */
22
+ /** Project root directory (default: cwd). Used to derive the mirrored data dir under ~/.pinakes/projects/. */
23
+ projectRoot?: string;
24
+ /** Project wiki directory (default: `~/.pinakes/projects/<mangled-root>/wiki`) */
25
+ wikiPath?: string;
26
+ /** Project DB path (default: `~/.pinakes/projects/<mangled-root>/pinakes.db`) */
25
27
  dbPath?: string;
26
- /** Personal wiki directory (default: `~/.pharos/profile/wiki`) */
28
+ /** Personal wiki directory (default: `~/.pinakes/wiki`) */
27
29
  profilePath?: string;
28
- /** Personal DB path (default: `<profilePath>/../kg.db`) */
30
+ /** Personal DB path (default: `~/.pinakes/pinakes.db`) */
29
31
  profileDbPath?: string;
30
32
  /** Which scopes to rebuild: 'project' | 'personal' | 'both' (default: 'both', falls back to 'project' if profile dir missing) */
31
33
  scope?: 'project' | 'personal' | 'both';
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../src/cli/rebuild.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iIAAiI;IACjI,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA4CvF"}
1
+ {"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../src/cli/rebuild.ts"],"names":[],"mappings":"AAaA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,cAAc;IAC7B,8GAA8G;IAC9G,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iIAAiI;IACjI,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA2CvF"}
@@ -1,10 +1,9 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { dirname, isAbsolute, resolve } from 'node:path';
4
2
  import { closeDb, openDb } from '../db/client.js';
5
3
  import { IngesterService } from '../ingest/ingester.js';
6
4
  import { listMarkdownFiles } from '../ingest/manifest.js';
7
5
  import { logger } from '../observability/logger.js';
6
+ import { resolveAbs, projectWikiPath as defaultProjectWikiPath, projectDbPath as defaultProjectDbPath, personalWikiPath as defaultPersonalWikiPath, personalDbPath as defaultPersonalDbPath, } from '../paths.js';
8
7
  import { TransformersEmbedder } from '../retrieval/embedder.js';
9
8
  /**
10
9
  * Run a full-rebuild against one or both scopes. Returns a list of summaries
@@ -14,13 +13,14 @@ import { TransformersEmbedder } from '../retrieval/embedder.js';
14
13
  */
15
14
  export async function rebuildCommand(options) {
16
15
  const summaries = [];
17
- const projectWiki = resolveAbs(options.wikiPath);
16
+ const projectRoot = resolveAbs(options.projectRoot ?? process.cwd());
17
+ const projectWiki = resolveAbs(options.wikiPath ?? defaultProjectWikiPath(projectRoot));
18
18
  if (!existsSync(projectWiki)) {
19
19
  throw new Error(`wiki path does not exist: ${projectWiki}`);
20
20
  }
21
- const projectDbPath = resolveAbs(options.dbPath ?? defaultDbPathFor(projectWiki));
22
- const profileWiki = resolveAbs(options.profilePath ?? defaultProfileWikiPath());
23
- const profileDbPath = resolveAbs(options.profileDbPath ?? defaultDbPathFor(profileWiki));
21
+ const projectDbPath = resolveAbs(options.dbPath ?? defaultProjectDbPath(projectRoot));
22
+ const profileWiki = resolveAbs(options.profilePath ?? defaultPersonalWikiPath());
23
+ const profileDbPath = resolveAbs(options.profileDbPath ?? defaultPersonalDbPath());
24
24
  const scope = options.scope ?? 'both';
25
25
  const includeProject = scope === 'project' || scope === 'both';
26
26
  const includePersonal = (scope === 'personal' || scope === 'both') && existsSync(profileWiki);
@@ -56,12 +56,12 @@ async function rebuildOneScope(args) {
56
56
  if (scope === 'project') {
57
57
  try {
58
58
  const orphaned = bundle.writer
59
- .prepare("SELECT COUNT(*) AS cnt FROM kg_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'")
59
+ .prepare("SELECT COUNT(*) AS cnt FROM pinakes_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'")
60
60
  .get();
61
61
  if (orphaned.cnt > 0) {
62
62
  logger.info({ count: orphaned.cnt }, 'rebuild: deleting legacy absolute-path rows');
63
- bundle.writer.exec("DELETE FROM kg_chunks_vec WHERE rowid IN (SELECT c.rowid FROM kg_chunks c JOIN kg_nodes n ON c.node_id = n.id WHERE n.scope = 'project' AND n.source_uri LIKE 'file://%')");
64
- bundle.writer.exec("DELETE FROM kg_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'");
63
+ bundle.writer.exec("DELETE FROM pinakes_chunks_vec WHERE rowid IN (SELECT c.rowid FROM pinakes_chunks c JOIN pinakes_nodes n ON c.node_id = n.id WHERE n.scope = 'project' AND n.source_uri LIKE 'file://%')");
64
+ bundle.writer.exec("DELETE FROM pinakes_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'");
65
65
  }
66
66
  }
67
67
  catch (err) {
@@ -102,26 +102,4 @@ async function rebuildOneScope(args) {
102
102
  closeDb(bundle);
103
103
  }
104
104
  }
105
- // ----------------------------------------------------------------------------
106
- // Path defaults
107
- // ----------------------------------------------------------------------------
108
- function resolveAbs(p) {
109
- return isAbsolute(p) ? p : resolve(process.cwd(), p);
110
- }
111
- /**
112
- * Default DB path for a given wiki directory: `<wikiDir>/../.pinakes/pinakes.db`.
113
- */
114
- function defaultDbPathFor(wikiDir) {
115
- return resolve(dirname(wikiDir), '.pinakes', 'pinakes.db');
116
- }
117
- /**
118
- * Default personal wiki path. Honors `KG_PROFILE_PATH` env var, else
119
- * `~/.pharos/profile/wiki`.
120
- */
121
- function defaultProfileWikiPath() {
122
- const env = process.env.KG_PROFILE_PATH;
123
- if (env)
124
- return resolve(env, 'wiki');
125
- return resolve(homedir(), '.pharos/profile/wiki');
126
- }
127
105
  //# sourceMappingURL=rebuild.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../src/cli/rebuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../src/cli/rebuild.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  /**
4
- * `kg serve` — stdio MCP server for KG-MCP Phase 2.
4
+ * `pinakes serve` — stdio MCP server for Pinakes Phase 2.
5
5
  *
6
6
  * Replaces Phase 1's `src/spike.ts` with the production wiring:
7
7
  * 1. Open project + (optional) personal SQLite DBs (one writer + 2 readers each)
8
8
  * 2. Warm the embedder singleton
9
9
  * 3. Run startup consistency check against the manifest → re-ingest stale files
10
10
  * 4. Start chokidar watchers for both scopes (with 2s debounce, drop-oldest)
11
- * 5. Build the McpServer + register `kg_search` and `kg_execute`
11
+ * 5. Build the McpServer + register `search` and `execute`
12
12
  * 6. Connect to StdioServerTransport and listen
13
13
  *
14
14
  * Graceful shutdown on SIGTERM/SIGINT closes the watchers, drains in-flight
@@ -21,13 +21,15 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
21
21
  * from it until the 15-test privacy adversarial suite lands in Phase 5.
22
22
  */
23
23
  export interface ServeOptions {
24
- /** Project wiki directory (required) */
25
- wikiPath: string;
26
- /** Project DB path (default: `<wikiPath>/../.pinakes/pinakes.db`) */
24
+ /** Project root directory (default: cwd). Used to derive the mirrored data dir under ~/.pinakes/projects/. */
25
+ projectRoot?: string;
26
+ /** Project wiki directory (default: `~/.pinakes/projects/<mangled-root>/wiki`) */
27
+ wikiPath?: string;
28
+ /** Project DB path (default: `~/.pinakes/projects/<mangled-root>/pinakes.db`) */
27
29
  dbPath?: string;
28
- /** Personal wiki directory (default: `~/.pharos/profile/wiki` if it exists, else skip personal) */
30
+ /** Personal wiki directory (default: `~/.pinakes/wiki`) */
29
31
  profilePath?: string;
30
- /** Personal DB path (default: `<profilePath>/../.kg/kg.db`) */
32
+ /** Personal DB path (default: `~/.pinakes/pinakes.db`) */
31
33
  profileDbPath?: string;
32
34
  }
33
35
  interface ServerHandle {
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBpE;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA+J9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvE"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BpE;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,YAAY;IAC3B,8GAA8G;IAC9G,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA+K9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvE"}