@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.
- package/README.md +20 -20
- package/dist/cli/audit.d.ts +5 -3
- package/dist/cli/audit.d.ts.map +1 -1
- package/dist/cli/audit.js +3 -24
- package/dist/cli/audit.js.map +1 -1
- package/dist/cli/contradiction-cli.d.ts +12 -0
- package/dist/cli/contradiction-cli.d.ts.map +1 -0
- package/dist/cli/contradiction-cli.js +35 -0
- package/dist/cli/contradiction-cli.js.map +1 -0
- package/dist/cli/contradiction.d.ts +59 -0
- package/dist/cli/contradiction.d.ts.map +1 -0
- package/dist/cli/contradiction.js +172 -0
- package/dist/cli/contradiction.js.map +1 -0
- package/dist/cli/export.d.ts +1 -1
- package/dist/cli/export.d.ts.map +1 -1
- package/dist/cli/export.js +7 -28
- package/dist/cli/export.js.map +1 -1
- package/dist/cli/import.d.ts +2 -2
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +5 -26
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/index.js +39 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/purge.d.ts +2 -2
- package/dist/cli/purge.d.ts.map +1 -1
- package/dist/cli/purge.js +2 -23
- package/dist/cli/purge.js.map +1 -1
- package/dist/cli/rebuild.d.ts +8 -6
- package/dist/cli/rebuild.d.ts.map +1 -1
- package/dist/cli/rebuild.js +9 -31
- package/dist/cli/rebuild.js.map +1 -1
- package/dist/cli/serve.d.ts +9 -7
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +71 -41
- package/dist/cli/serve.js.map +1 -1
- package/dist/cli/status.d.ts +7 -5
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +10 -29
- package/dist/cli/status.js.map +1 -1
- package/dist/db/client.d.ts +4 -4
- package/dist/db/client.js +3 -3
- package/dist/db/client.js.map +1 -1
- package/dist/db/migrations/migrations/0002_rename_kg_to_pinakes.sql +49 -0
- package/dist/db/migrations/migrations/meta/0002_snapshot.json +504 -0
- package/dist/db/migrations/migrations/meta/_journal.json +7 -0
- package/dist/db/repository.js +5 -5
- package/dist/db/repository.js.map +1 -1
- package/dist/db/schema.d.ts +84 -84
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +49 -49
- package/dist/db/schema.js.map +1 -1
- package/dist/db/types.d.ts +2 -2
- package/dist/db/types.js +1 -1
- package/dist/gaps/detector.d.ts +5 -5
- package/dist/gaps/detector.js +15 -15
- package/dist/gaps/detector.js.map +1 -1
- package/dist/ingest/chokidar.js +1 -1
- package/dist/ingest/ingester.d.ts +9 -4
- package/dist/ingest/ingester.d.ts.map +1 -1
- package/dist/ingest/ingester.js +82 -17
- package/dist/ingest/ingester.js.map +1 -1
- package/dist/ingest/manifest.d.ts +5 -3
- package/dist/ingest/manifest.d.ts.map +1 -1
- package/dist/ingest/manifest.js +23 -14
- package/dist/ingest/manifest.js.map +1 -1
- package/dist/ingest/parse/chunk.js +1 -1
- package/dist/ingest/parse/markdown.d.ts +2 -2
- package/dist/ingest/queue.d.ts +1 -1
- package/dist/ingest/queue.js +1 -1
- package/dist/ingest/source.d.ts +2 -2
- package/dist/ingest/source.d.ts.map +1 -1
- package/dist/ingest/source.js +1 -1
- package/dist/llm/provider.d.ts +70 -0
- package/dist/llm/provider.d.ts.map +1 -0
- package/dist/llm/provider.js +235 -0
- package/dist/llm/provider.js.map +1 -0
- package/dist/mcp/envelope.d.ts +1 -1
- package/dist/mcp/tools/execute.d.ts +7 -7
- package/dist/mcp/tools/execute.d.ts.map +1 -1
- package/dist/mcp/tools/execute.js +41 -59
- package/dist/mcp/tools/execute.js.map +1 -1
- package/dist/mcp/tools/search.d.ts +13 -8
- package/dist/mcp/tools/search.d.ts.map +1 -1
- package/dist/mcp/tools/search.js +53 -28
- package/dist/mcp/tools/search.js.map +1 -1
- package/dist/observability/audit.d.ts +2 -2
- package/dist/observability/audit.js +3 -3
- package/dist/observability/audit.js.map +1 -1
- package/dist/observability/logger.js +4 -4
- package/dist/observability/logger.js.map +1 -1
- package/dist/observability/metrics.js +1 -1
- package/dist/observability/metrics.js.map +1 -1
- package/dist/paths.d.ts +61 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +106 -0
- package/dist/paths.js.map +1 -0
- package/dist/retrieval/dedup.d.ts +25 -0
- package/dist/retrieval/dedup.d.ts.map +1 -0
- package/dist/retrieval/dedup.js +97 -0
- package/dist/retrieval/dedup.js.map +1 -0
- package/dist/retrieval/embedder.d.ts +9 -9
- package/dist/retrieval/embedder.d.ts.map +1 -1
- package/dist/retrieval/embedder.js +17 -17
- package/dist/retrieval/embedder.js.map +1 -1
- package/dist/retrieval/expand.d.ts +18 -0
- package/dist/retrieval/expand.d.ts.map +1 -0
- package/dist/retrieval/expand.js +89 -0
- package/dist/retrieval/expand.js.map +1 -0
- package/dist/retrieval/fts.d.ts +3 -3
- package/dist/retrieval/fts.js +8 -8
- package/dist/retrieval/graph.d.ts +47 -0
- package/dist/retrieval/graph.d.ts.map +1 -0
- package/dist/retrieval/graph.js +144 -0
- package/dist/retrieval/graph.js.map +1 -0
- package/dist/retrieval/hybrid.d.ts +10 -0
- package/dist/retrieval/hybrid.d.ts.map +1 -1
- package/dist/retrieval/hybrid.js +57 -2
- package/dist/retrieval/hybrid.js.map +1 -1
- package/dist/retrieval/vec.d.ts +2 -2
- package/dist/retrieval/vec.js +3 -3
- package/dist/sandbox/bindings/install.d.ts +5 -5
- package/dist/sandbox/bindings/install.d.ts.map +1 -1
- package/dist/sandbox/bindings/install.js +3 -3
- package/dist/sandbox/bindings/install.js.map +1 -1
- package/dist/sandbox/bindings/kg.d.ts.map +1 -1
- package/dist/sandbox/bindings/kg.js +10 -0
- package/dist/sandbox/bindings/kg.js.map +1 -1
- package/dist/sandbox/bindings/pinakes.d.ts +29 -0
- package/dist/sandbox/bindings/pinakes.d.ts.map +1 -0
- package/dist/sandbox/bindings/pinakes.js +333 -0
- package/dist/sandbox/bindings/pinakes.js.map +1 -0
- package/dist/sandbox/bindings/write.d.ts +1 -1
- package/dist/sandbox/bindings/write.d.ts.map +1 -1
- package/dist/sandbox/bindings/write.js +9 -9
- package/dist/sandbox/bindings/write.js.map +1 -1
- package/dist/sandbox/executor.d.ts +3 -3
- package/dist/sandbox/executor.js +6 -6
- package/dist/sandbox/executor.js.map +1 -1
- package/dist/sandbox/helpers.d.ts +1 -1
- package/dist/sandbox/helpers.d.ts.map +1 -1
- package/dist/sandbox/helpers.js +2 -2
- package/dist/sandbox/vendored-codemode.d.ts +1 -1
- package/dist/sandbox/vendored-codemode.js +1 -1
- package/dist/server.js +15 -6
- package/dist/server.js.map +1 -1
- package/package.json +22 -27
package/dist/cli/serve.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
|
-
import { existsSync, mkdirSync, renameSync } from 'node:fs';
|
|
4
|
-
import {
|
|
5
|
-
import { dirname, isAbsolute, resolve } from 'node:path';
|
|
3
|
+
import { existsSync, mkdirSync, renameSync, readdirSync, cpSync } from 'node:fs';
|
|
4
|
+
import { dirname, resolve } from 'node:path';
|
|
6
5
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
6
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
7
|
import { closeDb, openDb } from '../db/client.js';
|
|
@@ -10,8 +9,9 @@ import { Repository } from '../db/repository.js';
|
|
|
10
9
|
import { ChokidarWatcher } from '../ingest/chokidar.js';
|
|
11
10
|
import { IngesterService } from '../ingest/ingester.js';
|
|
12
11
|
import { checkConsistency, listMarkdownFiles } from '../ingest/manifest.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
12
|
+
import { executeToolConfig, makeExecuteHandler } from '../mcp/tools/execute.js';
|
|
13
|
+
import { searchToolConfig, makeSearchHandler } from '../mcp/tools/search.js';
|
|
14
|
+
import { resolveAbs, projectWikiPath as defaultProjectWikiPath, projectDbPath as defaultProjectDbPath, projectAuditJsonlPath, personalWikiPath as defaultPersonalWikiPath, personalDbPath as defaultPersonalDbPath, personalAuditJsonlPath, projectDataDir, } from '../paths.js';
|
|
15
15
|
import { writeAuditRow } from '../observability/audit.js';
|
|
16
16
|
import { child, logger } from '../observability/logger.js';
|
|
17
17
|
import { installSighupHandler, metrics } from '../observability/metrics.js';
|
|
@@ -23,18 +23,19 @@ import { QuickJSExecutor } from '../sandbox/executor.js';
|
|
|
23
23
|
* through the CLI argv path.
|
|
24
24
|
*/
|
|
25
25
|
export async function buildServer(options) {
|
|
26
|
-
const
|
|
26
|
+
const projectRoot = resolveAbs(options.projectRoot ?? process.cwd());
|
|
27
|
+
const projectWiki = resolveAbs(options.wikiPath ?? defaultProjectWikiPath(projectRoot));
|
|
27
28
|
if (!existsSync(projectWiki)) {
|
|
28
29
|
mkdirSync(projectWiki, { recursive: true });
|
|
29
30
|
logger.info({ path: projectWiki }, 'created wiki directory');
|
|
30
31
|
}
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
const profileWiki = resolveAbs(options.profilePath ??
|
|
34
|
-
const profileDbPath = resolveAbs(options.profileDbPath ??
|
|
32
|
+
const projectDb = resolveAbs(options.dbPath ?? defaultProjectDbPath(projectRoot));
|
|
33
|
+
migrateLegacyInProject(projectRoot, projectDb);
|
|
34
|
+
const profileWiki = resolveAbs(options.profilePath ?? defaultPersonalWikiPath());
|
|
35
|
+
const profileDbPath = resolveAbs(options.profileDbPath ?? defaultPersonalDbPath());
|
|
35
36
|
const enablePersonal = existsSync(profileWiki);
|
|
36
37
|
// Step 1: open DBs
|
|
37
|
-
const projectBundle = openDb(
|
|
38
|
+
const projectBundle = openDb(projectDb);
|
|
38
39
|
const personalBundle = enablePersonal ? openDb(profileDbPath) : null;
|
|
39
40
|
// Step 2: warm embedder
|
|
40
41
|
const embedder = createEmbedder();
|
|
@@ -66,20 +67,34 @@ export async function buildServer(options) {
|
|
|
66
67
|
const executor = new QuickJSExecutor();
|
|
67
68
|
await executor.warmup();
|
|
68
69
|
// Audit JSONL paths (CLAUDE.md §Security #7: scope-split)
|
|
69
|
-
const projectAuditJsonl =
|
|
70
|
-
const personalAuditJsonl =
|
|
70
|
+
const projectAuditJsonl = projectAuditJsonlPath(projectRoot);
|
|
71
|
+
const personalAuditJsonl = personalAuditJsonlPath();
|
|
71
72
|
const auditCtx = {
|
|
72
73
|
projectBundle,
|
|
73
74
|
personalBundle: personalBundle ?? undefined,
|
|
74
75
|
projectAuditJsonl,
|
|
75
76
|
personalAuditJsonl,
|
|
76
77
|
};
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
// Tool & server naming — configurable via env for eval variants,
|
|
79
|
+
// defaults to the winning configuration from eval run (80% selection rate).
|
|
80
|
+
const searchToolName = process.env.PINAKES_TOOL_SEARCH_NAME ?? 'knowledge_search';
|
|
81
|
+
const executeToolName = process.env.PINAKES_TOOL_EXECUTE_NAME ?? 'knowledge_query';
|
|
82
|
+
const serverName = process.env.PINAKES_SERVER_NAME ?? 'project-docs';
|
|
83
|
+
const instructions = 'IMPORTANT: This project has a curated knowledge base indexed by Pinakes. ' +
|
|
84
|
+
`ALWAYS use \`${searchToolName}\` as your FIRST action when you need to understand anything about ` +
|
|
85
|
+
'this project — architecture, conventions, decisions, requirements, data models, ' +
|
|
86
|
+
'deployment, testing strategy, security, performance constraints, or how subsystems relate. ' +
|
|
87
|
+
'The knowledge base contains distilled, high-quality documentation that is faster to query ' +
|
|
88
|
+
'and more token-efficient than reading raw source files with Grep or Read. ' +
|
|
89
|
+
'Only fall back to Grep/Read/Glob after checking the knowledge base, or when you need ' +
|
|
90
|
+
'to find exact symbols, read specific source files, or make code changes. ' +
|
|
91
|
+
`Use \`${executeToolName}\` for advanced operations: graph traversal, gap detection, writing new knowledge.`;
|
|
92
|
+
const mcp = new McpServer({ name: serverName, version: '0.3.0' }, { capabilities: { tools: {} }, instructions });
|
|
93
|
+
mcp.registerTool(searchToolName, searchToolConfig, instrumentHandler(searchToolName, makeSearchHandler({
|
|
79
94
|
repository, embedder, bundle: projectBundle,
|
|
80
95
|
personalBundle: personalBundle ?? undefined,
|
|
81
96
|
}), auditCtx));
|
|
82
|
-
mcp.registerTool(
|
|
97
|
+
mcp.registerTool(executeToolName, executeToolConfig, instrumentHandler(executeToolName, makeExecuteHandler({
|
|
83
98
|
repository, executor, bundle: projectBundle, embedder,
|
|
84
99
|
wikiRoot: projectWiki,
|
|
85
100
|
personalBundle: personalBundle ?? undefined,
|
|
@@ -104,7 +119,7 @@ export async function buildServer(options) {
|
|
|
104
119
|
try {
|
|
105
120
|
const diskFiles = listMarkdownFiles(projectWiki);
|
|
106
121
|
const dbCount = projectBundle.writer
|
|
107
|
-
.prepare('SELECT COUNT(DISTINCT source_uri) AS cnt FROM
|
|
122
|
+
.prepare('SELECT COUNT(DISTINCT source_uri) AS cnt FROM pinakes_nodes WHERE scope = ?')
|
|
108
123
|
.get('project')?.cnt ?? 0;
|
|
109
124
|
if (diskFiles.length !== dbCount) {
|
|
110
125
|
logger.info({ diskFiles: diskFiles.length, dbIndexed: dbCount, scope: 'project' }, 'health check: index drift detected — running consistency check');
|
|
@@ -113,7 +128,7 @@ export async function buildServer(options) {
|
|
|
113
128
|
if (personalIngester && personalBundle) {
|
|
114
129
|
const personalDiskFiles = listMarkdownFiles(profileWiki);
|
|
115
130
|
const personalDbCount = personalBundle.writer
|
|
116
|
-
.prepare('SELECT COUNT(DISTINCT source_uri) AS cnt FROM
|
|
131
|
+
.prepare('SELECT COUNT(DISTINCT source_uri) AS cnt FROM pinakes_nodes WHERE scope = ?')
|
|
117
132
|
.get('personal')?.cnt ?? 0;
|
|
118
133
|
if (personalDiskFiles.length !== personalDbCount) {
|
|
119
134
|
logger.info({ diskFiles: personalDiskFiles.length, dbIndexed: personalDbCount, scope: 'personal' }, 'health check: index drift detected — running consistency check');
|
|
@@ -133,7 +148,7 @@ export async function buildServer(options) {
|
|
|
133
148
|
if (shuttingDown)
|
|
134
149
|
return;
|
|
135
150
|
shuttingDown = true;
|
|
136
|
-
logger.info({ signal }, '
|
|
151
|
+
logger.info({ signal }, 'pinakes shutting down');
|
|
137
152
|
try {
|
|
138
153
|
clearInterval(healthCheckTimer);
|
|
139
154
|
await projectWatcher.stop();
|
|
@@ -157,7 +172,7 @@ export async function buildServer(options) {
|
|
|
157
172
|
* handlers, listen forever.
|
|
158
173
|
*/
|
|
159
174
|
export async function serveCommand(options) {
|
|
160
|
-
logger.info({
|
|
175
|
+
logger.info({ projectRoot: options.projectRoot ?? process.cwd() }, 'pinakes starting');
|
|
161
176
|
installSighupHandler();
|
|
162
177
|
const { server, shutdown } = await buildServer(options);
|
|
163
178
|
const transport = new StdioServerTransport();
|
|
@@ -168,7 +183,7 @@ export async function serveCommand(options) {
|
|
|
168
183
|
void shutdown('SIGINT').then(() => process.exit(0));
|
|
169
184
|
});
|
|
170
185
|
await server.connect(transport);
|
|
171
|
-
logger.info('
|
|
186
|
+
logger.info('pinakes listening on stdio');
|
|
172
187
|
}
|
|
173
188
|
// ----------------------------------------------------------------------------
|
|
174
189
|
// Internals
|
|
@@ -190,12 +205,12 @@ async function runStartupConsistency(ingester, wikiDir, scope, writer) {
|
|
|
190
205
|
if (scope === 'project' && writer) {
|
|
191
206
|
try {
|
|
192
207
|
const orphaned = writer
|
|
193
|
-
.prepare("SELECT COUNT(*) AS cnt FROM
|
|
208
|
+
.prepare("SELECT COUNT(*) AS cnt FROM pinakes_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'")
|
|
194
209
|
.get();
|
|
195
210
|
if (orphaned.cnt > 0) {
|
|
196
211
|
logger.info({ count: orphaned.cnt }, 'migrating legacy absolute-path rows — deleting orphans before re-ingest');
|
|
197
|
-
writer.exec("DELETE FROM
|
|
198
|
-
writer.exec("DELETE FROM
|
|
212
|
+
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://%')");
|
|
213
|
+
writer.exec("DELETE FROM pinakes_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'");
|
|
199
214
|
}
|
|
200
215
|
}
|
|
201
216
|
catch (err) {
|
|
@@ -219,22 +234,22 @@ async function runStartupConsistency(ingester, wikiDir, scope, writer) {
|
|
|
219
234
|
}
|
|
220
235
|
}
|
|
221
236
|
}
|
|
222
|
-
function resolveAbs(p) {
|
|
223
|
-
return isAbsolute(p) ? p : resolve(process.cwd(), p);
|
|
224
|
-
}
|
|
225
|
-
function defaultDbPathFor(wikiDir) {
|
|
226
|
-
return resolve(dirname(wikiDir), '.pinakes', 'pinakes.db');
|
|
227
|
-
}
|
|
228
237
|
/**
|
|
229
|
-
* Migrate legacy
|
|
238
|
+
* Migrate legacy data from in-project `.pinakes/` (or `kg.db`) to the new
|
|
239
|
+
* centralized `~/.pinakes/projects/<mangled>/` layout.
|
|
240
|
+
*
|
|
241
|
+
* Handles three legacy layouts:
|
|
242
|
+
* 1. `<projectRoot>/kg.db` — Phase 1 flat layout
|
|
243
|
+
* 2. `<projectRoot>/.pinakes/` — Phase 2 in-project layout
|
|
244
|
+
* 3. `~/.pharos/profile/` — legacy personal wiki location
|
|
230
245
|
*/
|
|
231
|
-
function
|
|
232
|
-
const
|
|
233
|
-
|
|
246
|
+
function migrateLegacyInProject(projectRoot, newDbPath) {
|
|
247
|
+
const targetDir = projectDataDir(projectRoot);
|
|
248
|
+
// 1. Legacy kg.db in project root
|
|
249
|
+
const legacyDb = resolve(projectRoot, 'kg.db');
|
|
234
250
|
if (existsSync(legacyDb) && !existsSync(newDbPath)) {
|
|
235
251
|
mkdirSync(dirname(newDbPath), { recursive: true });
|
|
236
252
|
renameSync(legacyDb, newDbPath);
|
|
237
|
-
// Move WAL and SHM files if they exist
|
|
238
253
|
for (const suffix of ['-wal', '-shm']) {
|
|
239
254
|
const old = legacyDb + suffix;
|
|
240
255
|
if (existsSync(old))
|
|
@@ -242,12 +257,27 @@ function migrateLegacyDb(wikiPath, newDbPath) {
|
|
|
242
257
|
}
|
|
243
258
|
logger.info({ from: legacyDb, to: newDbPath }, 'migrated legacy kg.db');
|
|
244
259
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
260
|
+
// 2. Legacy in-project .pinakes/ directory
|
|
261
|
+
const legacyPinakesDir = resolve(projectRoot, '.pinakes');
|
|
262
|
+
if (existsSync(legacyPinakesDir) && legacyPinakesDir !== targetDir) {
|
|
263
|
+
mkdirSync(targetDir, { recursive: true });
|
|
264
|
+
// Copy contents (DB, audit.jsonl, manifest.json, wiki/) to new location
|
|
265
|
+
// Only migrate files that don't already exist at the target
|
|
266
|
+
try {
|
|
267
|
+
const entries = readdirSync(legacyPinakesDir, { withFileTypes: true });
|
|
268
|
+
for (const entry of entries) {
|
|
269
|
+
const src = resolve(legacyPinakesDir, entry.name);
|
|
270
|
+
const dst = resolve(targetDir, entry.name);
|
|
271
|
+
if (!existsSync(dst)) {
|
|
272
|
+
cpSync(src, dst, { recursive: true });
|
|
273
|
+
logger.info({ from: src, to: dst }, 'migrated legacy .pinakes entry');
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch (err) {
|
|
278
|
+
logger.warn({ err, from: legacyPinakesDir, to: targetDir }, 'legacy .pinakes/ migration failed — continuing');
|
|
279
|
+
}
|
|
280
|
+
}
|
|
251
281
|
}
|
|
252
282
|
/**
|
|
253
283
|
* Wrap a tool handler with:
|
package/dist/cli/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/status.d.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `pinakes status` — health check for Pinakes Phase 2.
|
|
3
3
|
*
|
|
4
4
|
* Opens the project + personal DBs (if they exist), reports row counts per
|
|
5
5
|
* table, schema version, last full rebuild timestamp, and SQLite version.
|
|
6
6
|
*
|
|
7
|
-
* No DB writes — strictly read-only. Safe to run while a `
|
|
7
|
+
* No DB writes — strictly read-only. Safe to run while a `pinakes serve` instance
|
|
8
8
|
* is also running on the same DB (WAL mode + read connection makes this fine).
|
|
9
9
|
*/
|
|
10
10
|
export interface StatusOptions {
|
|
11
|
-
/**
|
|
11
|
+
/** Project root directory (default: cwd) */
|
|
12
|
+
projectRoot?: string;
|
|
13
|
+
/** Path to project DB override */
|
|
12
14
|
dbPath?: string;
|
|
13
|
-
/** Path to project wiki dir
|
|
15
|
+
/** Path to project wiki dir (unused in new layout, kept for backwards compat) */
|
|
14
16
|
wikiPath?: string;
|
|
15
|
-
/** Path to personal DB (default: `~/.
|
|
17
|
+
/** Path to personal DB (default: `~/.pinakes/pinakes.db`) */
|
|
16
18
|
profileDbPath?: string;
|
|
17
19
|
}
|
|
18
20
|
export interface ScopeStatus {
|
package/dist/cli/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,WAAW,EAAE,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAqB5D"}
|
package/dist/cli/status.js
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
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
|
-
import {
|
|
3
|
+
import { PINAKES_TABLES, PINAKES_VIRTUAL_TABLES } from '../db/schema.js';
|
|
4
|
+
import { resolveCliDbPath } from '../paths.js';
|
|
6
5
|
/**
|
|
7
6
|
* Build a status report for both scopes. The result is a structured object
|
|
8
7
|
* suitable for both human-readable rendering and JSON output (e.g.
|
|
9
8
|
* `kg status --json`).
|
|
10
9
|
*/
|
|
11
10
|
export function statusCommand(options = {}) {
|
|
12
|
-
const
|
|
13
|
-
const
|
|
11
|
+
const projectDb = resolveCliDbPath(options, 'project');
|
|
12
|
+
const profileDb = resolveCliDbPath(options, 'personal');
|
|
14
13
|
return [
|
|
15
|
-
inspectScope('project',
|
|
16
|
-
inspectScope('personal',
|
|
14
|
+
inspectScope('project', projectDb),
|
|
15
|
+
inspectScope('personal', profileDb),
|
|
17
16
|
];
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
@@ -33,7 +32,7 @@ export function renderStatus(statuses) {
|
|
|
33
32
|
lines.push(` sqlite_version: ${s.sqliteVersion ?? '<unknown>'}`);
|
|
34
33
|
lines.push(` schema_version: ${s.schemaVersion ?? '<absent>'}`);
|
|
35
34
|
lines.push(` last_full_rebuild: ${s.lastFullRebuild ? new Date(s.lastFullRebuild).toISOString() : '<never>'}`);
|
|
36
|
-
for (const table of [...
|
|
35
|
+
for (const table of [...PINAKES_TABLES, ...PINAKES_VIRTUAL_TABLES]) {
|
|
37
36
|
const count = s.rowCounts[table] ?? 0;
|
|
38
37
|
lines.push(` ${table.padEnd(20)} ${count}`);
|
|
39
38
|
}
|
|
@@ -63,14 +62,14 @@ function inspectScope(scope, dbPath) {
|
|
|
63
62
|
try {
|
|
64
63
|
status.sqliteVersion = bundle.writer.prepare('SELECT sqlite_version() AS v').get().v;
|
|
65
64
|
const schemaRow = bundle.writer
|
|
66
|
-
.prepare("SELECT value FROM
|
|
65
|
+
.prepare("SELECT value FROM pinakes_meta WHERE key = 'schema_version'")
|
|
67
66
|
.get();
|
|
68
67
|
status.schemaVersion = schemaRow?.value ?? null;
|
|
69
68
|
const rebuildRow = bundle.writer
|
|
70
|
-
.prepare("SELECT value FROM
|
|
69
|
+
.prepare("SELECT value FROM pinakes_meta WHERE key = 'last_full_rebuild'")
|
|
71
70
|
.get();
|
|
72
71
|
status.lastFullRebuild = rebuildRow ? parseInt(rebuildRow.value, 10) : null;
|
|
73
|
-
for (const table of [...
|
|
72
|
+
for (const table of [...PINAKES_TABLES, ...PINAKES_VIRTUAL_TABLES]) {
|
|
74
73
|
try {
|
|
75
74
|
const row = bundle.writer.prepare(`SELECT count(*) AS c FROM ${table}`).get();
|
|
76
75
|
status.rowCounts[table] = row.c;
|
|
@@ -86,22 +85,4 @@ function inspectScope(scope, dbPath) {
|
|
|
86
85
|
}
|
|
87
86
|
return status;
|
|
88
87
|
}
|
|
89
|
-
function resolveProjectDb(options) {
|
|
90
|
-
if (options.dbPath)
|
|
91
|
-
return resolveAbs(options.dbPath);
|
|
92
|
-
if (options.wikiPath) {
|
|
93
|
-
return resolve(dirname(resolveAbs(options.wikiPath)), '.pinakes', 'pinakes.db');
|
|
94
|
-
}
|
|
95
|
-
return resolve(process.cwd(), '.pinakes', 'pinakes.db');
|
|
96
|
-
}
|
|
97
|
-
function resolveProfileDb(options) {
|
|
98
|
-
if (options.profileDbPath)
|
|
99
|
-
return resolveAbs(options.profileDbPath);
|
|
100
|
-
const env = process.env.KG_PROFILE_PATH;
|
|
101
|
-
const profileDir = env ? resolveAbs(env) : resolve(homedir(), '.pharos/profile');
|
|
102
|
-
return resolve(profileDir, 'kg.db');
|
|
103
|
-
}
|
|
104
|
-
function resolveAbs(p) {
|
|
105
|
-
return isAbsolute(p) ? p : resolve(process.cwd(), p);
|
|
106
|
-
}
|
|
107
88
|
//# sourceMappingURL=status.js.map
|
package/dist/cli/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
|
package/dist/db/client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type Database as BetterSqliteDatabase } from 'better-sqlite3';
|
|
|
2
2
|
import { type BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
|
|
3
3
|
import * as schema from './schema.js';
|
|
4
4
|
/**
|
|
5
|
-
* SQLite connection management for
|
|
5
|
+
* SQLite connection management for Pinakes.
|
|
6
6
|
*
|
|
7
7
|
* **Single-writer + read-pool-of-2** invariant (CLAUDE.md §Architecture #3,
|
|
8
8
|
* §Database Rules #1):
|
|
@@ -22,7 +22,7 @@ import * as schema from './schema.js';
|
|
|
22
22
|
*
|
|
23
23
|
* **sqlite-vec extension** is loaded on every connection so that the vec0
|
|
24
24
|
* virtual table is queryable from any reader and writable by the writer.
|
|
25
|
-
* The migration that creates `
|
|
25
|
+
* The migration that creates `pinakes_chunks_vec` requires the extension to be
|
|
26
26
|
* loaded BEFORE drizzle's `migrate()` runs — this file orders things so
|
|
27
27
|
* that load happens first.
|
|
28
28
|
*
|
|
@@ -64,7 +64,7 @@ declare function isAllowedSqliteVersion(version: string): boolean;
|
|
|
64
64
|
declare function applyPragmas(db: BetterSqliteDatabase): void;
|
|
65
65
|
/**
|
|
66
66
|
* Load the sqlite-vec extension on a connection. Must be called BEFORE any
|
|
67
|
-
* query that touches `
|
|
67
|
+
* query that touches `pinakes_chunks_vec`, including the migration that creates
|
|
68
68
|
* the virtual table.
|
|
69
69
|
*
|
|
70
70
|
* better-sqlite3 disables loadExtension() by default; we re-enable it on
|
|
@@ -80,7 +80,7 @@ declare function loadSqliteVec(db: BetterSqliteDatabase): void;
|
|
|
80
80
|
* 4. Load sqlite-vec on each connection
|
|
81
81
|
* 5. Verify SQLite version (3.50.4 or ≥3.51.3, never 3.51.0)
|
|
82
82
|
* 6. Run drizzle migrations on the writer
|
|
83
|
-
* 7. Stamp `
|
|
83
|
+
* 7. Stamp `pinakes_meta.schema_version='1'` if not yet set
|
|
84
84
|
*
|
|
85
85
|
* Returns a `DbBundle` ready for repository / ingester use.
|
|
86
86
|
*
|
package/dist/db/client.js
CHANGED
|
@@ -65,7 +65,7 @@ function applyPragmas(db) {
|
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Load the sqlite-vec extension on a connection. Must be called BEFORE any
|
|
68
|
-
* query that touches `
|
|
68
|
+
* query that touches `pinakes_chunks_vec`, including the migration that creates
|
|
69
69
|
* the virtual table.
|
|
70
70
|
*
|
|
71
71
|
* better-sqlite3 disables loadExtension() by default; we re-enable it on
|
|
@@ -107,7 +107,7 @@ export function openDb(path, options = {}) {
|
|
|
107
107
|
if (!isAllowedSqliteVersion(versionRow.v)) {
|
|
108
108
|
// Clean up before throwing so we don't leak file handles.
|
|
109
109
|
closeDb({ path: absPath, writer, readers, drizzleWriter: drizzle(writer, { schema }) });
|
|
110
|
-
throw new Error(`SQLite version ${versionRow.v} is not allowed for
|
|
110
|
+
throw new Error(`SQLite version ${versionRow.v} is not allowed for Pinakes — requires 3.50.4 or >=3.51.3 (presearch D18). ` +
|
|
111
111
|
`better-sqlite3@12.8.0 bundles 3.51.3; if you see this, your better-sqlite3 was compiled against the system sqlite.`);
|
|
112
112
|
}
|
|
113
113
|
// Build the drizzle wrapper before step 6 so migrate() can use it.
|
|
@@ -120,7 +120,7 @@ export function openDb(path, options = {}) {
|
|
|
120
120
|
// Step 7: stamp schema_version=1 if absent. Subsequent phases bump this.
|
|
121
121
|
if (runMigrations) {
|
|
122
122
|
writer
|
|
123
|
-
.prepare('INSERT OR IGNORE INTO
|
|
123
|
+
.prepare('INSERT OR IGNORE INTO pinakes_meta (key, value) VALUES (?, ?)')
|
|
124
124
|
.run('schema_version', '2');
|
|
125
125
|
}
|
|
126
126
|
logger.info({ path: absPath, sqliteVersion: versionRow.v }, 'opened SQLite db');
|
package/dist/db/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
-- Rename all kg_* tables to pinakes_* (clean break for v0.2.0 → v0.3.0)
|
|
2
|
+
-- Regular tables use ALTER TABLE RENAME. Virtual tables need special handling.
|
|
3
|
+
|
|
4
|
+
-- Step 1: Rename regular tables
|
|
5
|
+
ALTER TABLE `kg_audit` RENAME TO `pinakes_audit`;--> statement-breakpoint
|
|
6
|
+
ALTER TABLE `kg_chunks` RENAME TO `pinakes_chunks`;--> statement-breakpoint
|
|
7
|
+
ALTER TABLE `kg_edges` RENAME TO `pinakes_edges`;--> statement-breakpoint
|
|
8
|
+
ALTER TABLE `kg_gaps` RENAME TO `pinakes_gaps`;--> statement-breakpoint
|
|
9
|
+
ALTER TABLE `kg_log` RENAME TO `pinakes_log`;--> statement-breakpoint
|
|
10
|
+
ALTER TABLE `kg_meta` RENAME TO `pinakes_meta`;--> statement-breakpoint
|
|
11
|
+
ALTER TABLE `kg_nodes` RENAME TO `pinakes_nodes`;--> statement-breakpoint
|
|
12
|
+
|
|
13
|
+
-- Step 2: Drop old FTS5 triggers (they reference the old table names)
|
|
14
|
+
DROP TRIGGER IF EXISTS `kg_chunks_fts_ai`;--> statement-breakpoint
|
|
15
|
+
DROP TRIGGER IF EXISTS `kg_chunks_fts_ad`;--> statement-breakpoint
|
|
16
|
+
DROP TRIGGER IF EXISTS `kg_chunks_fts_au`;--> statement-breakpoint
|
|
17
|
+
|
|
18
|
+
-- Step 3: Drop and recreate FTS5 virtual table with new content table name
|
|
19
|
+
DROP TABLE IF EXISTS `kg_chunks_fts`;--> statement-breakpoint
|
|
20
|
+
|
|
21
|
+
CREATE VIRTUAL TABLE `pinakes_chunks_fts` USING fts5(
|
|
22
|
+
text,
|
|
23
|
+
content='pinakes_chunks',
|
|
24
|
+
content_rowid='rowid',
|
|
25
|
+
tokenize='unicode61 remove_diacritics 2'
|
|
26
|
+
);--> statement-breakpoint
|
|
27
|
+
|
|
28
|
+
-- Step 4: Recreate FTS5 sync triggers with new names
|
|
29
|
+
CREATE TRIGGER `pinakes_chunks_fts_ai` AFTER INSERT ON `pinakes_chunks` BEGIN
|
|
30
|
+
INSERT INTO `pinakes_chunks_fts`(`rowid`, `text`) VALUES (new.`rowid`, new.`text`);
|
|
31
|
+
END;--> statement-breakpoint
|
|
32
|
+
|
|
33
|
+
CREATE TRIGGER `pinakes_chunks_fts_ad` AFTER DELETE ON `pinakes_chunks` BEGIN
|
|
34
|
+
INSERT INTO `pinakes_chunks_fts`(`pinakes_chunks_fts`, `rowid`, `text`) VALUES('delete', old.`rowid`, old.`text`);
|
|
35
|
+
END;--> statement-breakpoint
|
|
36
|
+
|
|
37
|
+
CREATE TRIGGER `pinakes_chunks_fts_au` AFTER UPDATE ON `pinakes_chunks` BEGIN
|
|
38
|
+
INSERT INTO `pinakes_chunks_fts`(`pinakes_chunks_fts`, `rowid`, `text`) VALUES('delete', old.`rowid`, old.`text`);
|
|
39
|
+
INSERT INTO `pinakes_chunks_fts`(`rowid`, `text`) VALUES (new.`rowid`, new.`text`);
|
|
40
|
+
END;--> statement-breakpoint
|
|
41
|
+
|
|
42
|
+
-- Step 5: Recreate sqlite-vec virtual table (ALTER TABLE RENAME doesn't
|
|
43
|
+
-- rename vec0's internal shadow tables, so we must drop+create+copy)
|
|
44
|
+
CREATE VIRTUAL TABLE `pinakes_chunks_vec` USING vec0(embedding FLOAT[384]);--> statement-breakpoint
|
|
45
|
+
INSERT INTO `pinakes_chunks_vec`(`rowid`, `embedding`) SELECT `rowid`, `embedding` FROM `kg_chunks_vec`;--> statement-breakpoint
|
|
46
|
+
DROP TABLE IF EXISTS `kg_chunks_vec`;--> statement-breakpoint
|
|
47
|
+
|
|
48
|
+
-- Step 6: Repopulate FTS5 index from renamed chunks table
|
|
49
|
+
INSERT INTO `pinakes_chunks_fts`(`rowid`, `text`) SELECT `rowid`, `text` FROM `pinakes_chunks`;
|