@knowzai/local-store 0.1.0 → 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/dist/.tsbuildinfo +1 -1
- package/dist/graph-json.d.ts +7 -0
- package/dist/graph-json.d.ts.map +1 -0
- package/dist/graph-json.js +174 -0
- package/dist/graph-json.js.map +1 -0
- package/dist/graph-scope.d.ts +2 -0
- package/dist/graph-scope.d.ts.map +1 -0
- package/dist/graph-scope.js +6 -0
- package/dist/graph-scope.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local-only.d.ts +8 -0
- package/dist/local-only.d.ts.map +1 -0
- package/dist/local-only.js +8 -0
- package/dist/local-only.js.map +1 -0
- package/dist/open.d.ts.map +1 -1
- package/dist/open.js +4 -2
- package/dist/open.js.map +1 -1
- package/dist/pg-provision.d.ts +47 -0
- package/dist/pg-provision.d.ts.map +1 -1
- package/dist/pg-provision.js +121 -8
- package/dist/pg-provision.js.map +1 -1
- package/dist/postgres-store.d.ts +24 -1
- package/dist/postgres-store.d.ts.map +1 -1
- package/dist/postgres-store.js +424 -16
- package/dist/postgres-store.js.map +1 -1
- package/dist/sqlite-store.d.ts +24 -1
- package/dist/sqlite-store.d.ts.map +1 -1
- package/dist/sqlite-store.js +467 -39
- package/dist/sqlite-store.js.map +1 -1
- package/dist/sync-engine.d.ts +12 -0
- package/dist/sync-engine.d.ts.map +1 -1
- package/dist/sync-engine.js +57 -13
- package/dist/sync-engine.js.map +1 -1
- package/dist/types.d.ts +111 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -6
package/dist/open.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { homedir } from 'node:os';
|
|
2
|
-
import { join } from 'node:path';
|
|
2
|
+
import { join, parse } from 'node:path';
|
|
3
3
|
import { DEFAULT_DIM } from './types.js';
|
|
4
4
|
import { SqliteStore } from './sqlite-store.js';
|
|
5
5
|
import { PostgresStore } from './postgres-store.js';
|
|
@@ -8,7 +8,9 @@ export function defaultDbPath(profile = 'dev') {
|
|
|
8
8
|
}
|
|
9
9
|
/** Sidecar path for the code graph that pairs with a profile's local db. */
|
|
10
10
|
export function graphPath(profile = 'dev', dbOverride) {
|
|
11
|
-
|
|
11
|
+
const dbPath = dbOverride ?? defaultDbPath(profile);
|
|
12
|
+
const parsed = parse(dbPath);
|
|
13
|
+
return join(parsed.dir, `${parsed.name}.graph.json`);
|
|
12
14
|
}
|
|
13
15
|
/** Open + init a local store. SQLite (default) or Postgres (dsn/KNOWZ_PG_DSN). */
|
|
14
16
|
export async function openLocalStore(opts = {}) {
|
package/dist/open.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../src/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../src/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAA0C,WAAW,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,KAAK;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;AACnG,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,KAAK,EAAE,UAAmB;IAC5D,MAAM,MAAM,GAAG,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;AACvD,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAyB,EAAE;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,KAAK,GACT,MAAM,KAAK,UAAU;QACnB,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC;QACnC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/pg-provision.d.ts
CHANGED
|
@@ -18,12 +18,43 @@ export interface PgStatus {
|
|
|
18
18
|
port: number;
|
|
19
19
|
initialized: boolean;
|
|
20
20
|
dsn: string;
|
|
21
|
+
/** H8 — false for a legacy cluster still on host `trust`. */
|
|
22
|
+
passwordAuth: boolean;
|
|
23
|
+
/** Human-readable host auth posture for `knowz pg status`. */
|
|
24
|
+
hostAuthMethod: string;
|
|
21
25
|
}
|
|
22
26
|
export declare class PgProvisionError extends Error {
|
|
23
27
|
constructor(message: string);
|
|
24
28
|
}
|
|
25
29
|
/** Validate a Postgres identifier (database/user name); return it unchanged or throw. */
|
|
26
30
|
export declare function assertValidPgIdentifier(name: string, kind: 'database' | 'user'): string;
|
|
31
|
+
/**
|
|
32
|
+
* CLI_SecurityReleaseReadiness H8 — the provisioned cluster used `initdb
|
|
33
|
+
* with host trust authentication, so ANY local process running as ANY user could connect to
|
|
34
|
+
* 127.0.0.1:5433 as the `knowz` superuser and read the entire local knowledge
|
|
35
|
+
* store — including content that Model-3 CMEK decrypts on the way in, which is
|
|
36
|
+
* precisely the plaintext CMEK exists to keep off shared infrastructure.
|
|
37
|
+
*
|
|
38
|
+
* The cluster now authenticates with SCRAM-SHA-256 against a per-cluster random
|
|
39
|
+
* password. `scram-sha-256` (not `md5`) because the password never travels the
|
|
40
|
+
* wire and Postgres 16 stores no reversible verifier.
|
|
41
|
+
*/
|
|
42
|
+
export declare const PG_HOST_AUTH_METHOD = "scram-sha-256";
|
|
43
|
+
/** Generate a cluster password with no characters that need DSN/URL escaping. */
|
|
44
|
+
export declare function generatePgPassword(): string;
|
|
45
|
+
/** Build a password-bearing DSN. Exported so tests can assert the shape. */
|
|
46
|
+
export declare function buildPgDsn(opts: {
|
|
47
|
+
user: string;
|
|
48
|
+
password?: string;
|
|
49
|
+
port: number;
|
|
50
|
+
database: string;
|
|
51
|
+
host?: string;
|
|
52
|
+
}): string;
|
|
53
|
+
/**
|
|
54
|
+
* A DSN safe to print. The generated cluster password is a real credential; it
|
|
55
|
+
* must not land in a terminal scrollback, a CI log, or a support paste.
|
|
56
|
+
*/
|
|
57
|
+
export declare function redactPgDsn(dsn: string): string;
|
|
27
58
|
/** Search PATH + well-known locations for a dir containing initdb/pg_ctl/postgres. */
|
|
28
59
|
export declare function locateServerBin(): string | undefined;
|
|
29
60
|
export declare class PostgresProvisioner {
|
|
@@ -36,7 +67,23 @@ export declare class PostgresProvisioner {
|
|
|
36
67
|
private readonly runAs?;
|
|
37
68
|
private bin?;
|
|
38
69
|
constructor(opts?: PgProvisionOptions);
|
|
70
|
+
/** Where the generated cluster password lives (0600, beside the data dir). */
|
|
71
|
+
get passwordFile(): string;
|
|
72
|
+
/**
|
|
73
|
+
* The cluster password, read from disk. `undefined` for a cluster provisioned
|
|
74
|
+
* before H8 (host `trust`) — those keep working until the user re-provisions,
|
|
75
|
+
* and `status()` reports the weaker posture rather than pretending otherwise.
|
|
76
|
+
*/
|
|
77
|
+
get password(): string | undefined;
|
|
39
78
|
get dsn(): string;
|
|
79
|
+
/** True when this cluster authenticates with a password (H8), not host trust. */
|
|
80
|
+
get usesPasswordAuth(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Mint and persist the cluster password if it does not exist yet. Written 0600
|
|
83
|
+
* and, when the server runs as a delegated OS user, chowned to that user —
|
|
84
|
+
* `initdb --pwfile` is read by the server process, not by us.
|
|
85
|
+
*/
|
|
86
|
+
private ensurePassword;
|
|
40
87
|
private get currentUser();
|
|
41
88
|
private delegate;
|
|
42
89
|
private run;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-provision.d.ts","sourceRoot":"","sources":["../src/pg-provision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pg-provision.d.ts","sourceRoot":"","sources":["../src/pg-provision.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AASD,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAevF;AAcD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAInD,iFAAiF;AACjF,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAMT;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,sFAAsF;AACtF,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAuBpD;AAED,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,GAAG,CAAC,CAAS;gBAET,IAAI,GAAE,kBAAuB;IAqBzC,8EAA8E;IAC9E,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAOjC;IAED,IAAI,GAAG,IAAI,MAAM,CAOhB;IAED,iFAAiF;IACjF,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,OAAO;IAKf,8EAA8E;IAC9E,eAAe,IAAI,MAAM;IAQzB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,uBAAuB;IAe/B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,SAAS,IAAI,OAAO;IAKpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,MAAM;IAyBd,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,oBAAoB;IAiB5B,8FAA8F;IAC9F,EAAE,IAAI,UAAU;IAahB,IAAI,IAAI,IAAI;IAOZ,OAAO,IAAI,IAAI;IAKf,MAAM,IAAI,QAAQ;CAyBnB"}
|
package/dist/pg-provision.js
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { homedir, userInfo, platform } from 'node:os';
|
|
14
14
|
import { join, dirname } from 'node:path';
|
|
15
|
-
import { existsSync, mkdirSync, rmSync, readdirSync } from 'node:fs';
|
|
15
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, readdirSync, writeFileSync, } from 'node:fs';
|
|
16
|
+
import { randomBytes } from 'node:crypto';
|
|
16
17
|
import { spawnSync } from 'node:child_process';
|
|
17
18
|
export class PgProvisionError extends Error {
|
|
18
19
|
constructor(message) {
|
|
@@ -48,6 +49,39 @@ function quotePgLiteral(value) {
|
|
|
48
49
|
return `'${value.replace(/'/g, "''")}'`;
|
|
49
50
|
}
|
|
50
51
|
const isRoot = () => typeof process.getuid === 'function' && process.getuid() === 0;
|
|
52
|
+
/**
|
|
53
|
+
* CLI_SecurityReleaseReadiness H8 — the provisioned cluster used `initdb
|
|
54
|
+
* with host trust authentication, so ANY local process running as ANY user could connect to
|
|
55
|
+
* 127.0.0.1:5433 as the `knowz` superuser and read the entire local knowledge
|
|
56
|
+
* store — including content that Model-3 CMEK decrypts on the way in, which is
|
|
57
|
+
* precisely the plaintext CMEK exists to keep off shared infrastructure.
|
|
58
|
+
*
|
|
59
|
+
* The cluster now authenticates with SCRAM-SHA-256 against a per-cluster random
|
|
60
|
+
* password. `scram-sha-256` (not `md5`) because the password never travels the
|
|
61
|
+
* wire and Postgres 16 stores no reversible verifier.
|
|
62
|
+
*/
|
|
63
|
+
export const PG_HOST_AUTH_METHOD = 'scram-sha-256';
|
|
64
|
+
/** 192 bits of entropy, base64url — no shell-quoting or DSN-escaping hazards. */
|
|
65
|
+
const PG_PASSWORD_BYTES = 24;
|
|
66
|
+
/** Generate a cluster password with no characters that need DSN/URL escaping. */
|
|
67
|
+
export function generatePgPassword() {
|
|
68
|
+
return randomBytes(PG_PASSWORD_BYTES).toString('base64url');
|
|
69
|
+
}
|
|
70
|
+
/** Build a password-bearing DSN. Exported so tests can assert the shape. */
|
|
71
|
+
export function buildPgDsn(opts) {
|
|
72
|
+
const host = opts.host ?? '127.0.0.1';
|
|
73
|
+
const credential = opts.password
|
|
74
|
+
? `${encodeURIComponent(opts.user)}:${encodeURIComponent(opts.password)}`
|
|
75
|
+
: encodeURIComponent(opts.user);
|
|
76
|
+
return `postgresql://${credential}@${host}:${opts.port}/${opts.database}`;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A DSN safe to print. The generated cluster password is a real credential; it
|
|
80
|
+
* must not land in a terminal scrollback, a CI log, or a support paste.
|
|
81
|
+
*/
|
|
82
|
+
export function redactPgDsn(dsn) {
|
|
83
|
+
return dsn.replace(/^(\w+:\/\/[^:@/]+):[^@]*@/, '$1:***@');
|
|
84
|
+
}
|
|
51
85
|
/** Search PATH + well-known locations for a dir containing initdb/pg_ctl/postgres. */
|
|
52
86
|
export function locateServerBin() {
|
|
53
87
|
const which = spawnSync('which', ['pg_ctl'], { encoding: 'utf8' });
|
|
@@ -104,8 +138,53 @@ export class PostgresProvisioner {
|
|
|
104
138
|
this.dataDir = opts.dataDir ?? join(base, 'data');
|
|
105
139
|
this.socketDir = base;
|
|
106
140
|
}
|
|
141
|
+
/** Where the generated cluster password lives (0600, beside the data dir). */
|
|
142
|
+
get passwordFile() {
|
|
143
|
+
return join(this.socketDir, 'password');
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* The cluster password, read from disk. `undefined` for a cluster provisioned
|
|
147
|
+
* before H8 (host `trust`) — those keep working until the user re-provisions,
|
|
148
|
+
* and `status()` reports the weaker posture rather than pretending otherwise.
|
|
149
|
+
*/
|
|
150
|
+
get password() {
|
|
151
|
+
try {
|
|
152
|
+
const value = readFileSync(this.passwordFile, 'utf8').trim();
|
|
153
|
+
return value.length ? value : undefined;
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
107
159
|
get dsn() {
|
|
108
|
-
return
|
|
160
|
+
return buildPgDsn({
|
|
161
|
+
user: this.dbUser,
|
|
162
|
+
password: this.password,
|
|
163
|
+
port: this.port,
|
|
164
|
+
database: this.dbName,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/** True when this cluster authenticates with a password (H8), not host trust. */
|
|
168
|
+
get usesPasswordAuth() {
|
|
169
|
+
return this.password !== undefined;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Mint and persist the cluster password if it does not exist yet. Written 0600
|
|
173
|
+
* and, when the server runs as a delegated OS user, chowned to that user —
|
|
174
|
+
* `initdb --pwfile` is read by the server process, not by us.
|
|
175
|
+
*/
|
|
176
|
+
ensurePassword() {
|
|
177
|
+
const existing = this.password;
|
|
178
|
+
if (existing)
|
|
179
|
+
return existing;
|
|
180
|
+
mkdirSync(this.socketDir, { recursive: true, mode: 0o700 });
|
|
181
|
+
const password = generatePgPassword();
|
|
182
|
+
writeFileSync(this.passwordFile, `${password}\n`, { mode: 0o600 });
|
|
183
|
+
chmodSync(this.passwordFile, 0o600);
|
|
184
|
+
if (this.runAs && this.runAs !== this.currentUser) {
|
|
185
|
+
spawnSync('chown', [this.runAs, this.passwordFile], { encoding: 'utf8' });
|
|
186
|
+
}
|
|
187
|
+
return password;
|
|
109
188
|
}
|
|
110
189
|
get currentUser() {
|
|
111
190
|
return userInfo().username;
|
|
@@ -199,11 +278,23 @@ export class PostgresProvisioner {
|
|
|
199
278
|
mkdirSync(this.dataDir, { recursive: true });
|
|
200
279
|
if (this.runAs && this.runAs !== this.currentUser)
|
|
201
280
|
spawnSync('chown', ['-R', this.runAs, this.dataDir]);
|
|
281
|
+
// H8 — SCRAM over the loopback TCP listener the CLI actually connects on.
|
|
282
|
+
// `--auth-local` (the unix socket, reachable only via the 0700 socket dir)
|
|
283
|
+
// stays `peer`, which is the OS-user identity check, not `trust`.
|
|
284
|
+
const password = this.ensurePassword();
|
|
202
285
|
const r = this.run(this.binPath('initdb'), [
|
|
203
|
-
'-D', this.dataDir,
|
|
286
|
+
'-D', this.dataDir,
|
|
287
|
+
'-U', this.dbUser,
|
|
288
|
+
'--auth-local=peer',
|
|
289
|
+
`--auth-host=${PG_HOST_AUTH_METHOD}`,
|
|
290
|
+
`--pwfile=${this.passwordFile}`,
|
|
291
|
+
'--encoding=UTF8',
|
|
204
292
|
]);
|
|
205
|
-
if (r.status !== 0)
|
|
206
|
-
|
|
293
|
+
if (r.status !== 0) {
|
|
294
|
+
// Never echo the generated password into an error message.
|
|
295
|
+
const detail = (r.stderr || r.stdout || '').split(password).join('***').slice(-400);
|
|
296
|
+
throw new PgProvisionError(`initdb failed: ${detail}`);
|
|
297
|
+
}
|
|
207
298
|
}
|
|
208
299
|
startServer() {
|
|
209
300
|
const opts = `-p ${this.port} -k ${this.socketDir} -c listen_addresses=127.0.0.1`;
|
|
@@ -214,9 +305,13 @@ export class PostgresProvisioner {
|
|
|
214
305
|
}
|
|
215
306
|
}
|
|
216
307
|
psql(db, sql) {
|
|
217
|
-
//
|
|
218
|
-
|
|
308
|
+
// H8 — the loopback listener now requires SCRAM, so the admin client
|
|
309
|
+
// authenticates too. The password goes via PGPASSWORD (an env var visible
|
|
310
|
+
// only to this child) rather than into the DSN argv, which `ps` exposes.
|
|
311
|
+
const password = this.password;
|
|
312
|
+
return spawnSync(this.binPath('psql'), [buildPgDsn({ user: this.dbUser, port: this.port, database: db }), '-tAc', sql], {
|
|
219
313
|
encoding: 'utf8',
|
|
314
|
+
env: password ? { ...process.env, PGPASSWORD: password } : process.env,
|
|
220
315
|
});
|
|
221
316
|
}
|
|
222
317
|
ensureDbAndExtension() {
|
|
@@ -237,6 +332,9 @@ export class PostgresProvisioner {
|
|
|
237
332
|
/** Full provision: ensure binaries+pgvector, initdb if needed, start, create db+extension. */
|
|
238
333
|
up() {
|
|
239
334
|
this.ensureInstalled();
|
|
335
|
+
if (this.initialized && !this.usesPasswordAuth) {
|
|
336
|
+
throw new PgProvisionError('This legacy Knowz Postgres cluster uses insecure host trust authentication. Run `knowz pg destroy --yes` and then `knowz pg up` to recreate it with SCRAM.');
|
|
337
|
+
}
|
|
240
338
|
if (!this.initialized)
|
|
241
339
|
this.initdb();
|
|
242
340
|
if (!this.isRunning())
|
|
@@ -258,12 +356,27 @@ export class PostgresProvisioner {
|
|
|
258
356
|
status() {
|
|
259
357
|
if (!this.bin)
|
|
260
358
|
this.bin = locateServerBin();
|
|
359
|
+
const initialized = this.initialized;
|
|
261
360
|
return {
|
|
262
361
|
running: this.isRunning(),
|
|
263
362
|
dataDir: this.dataDir,
|
|
264
363
|
port: this.port,
|
|
265
|
-
initialized
|
|
364
|
+
initialized,
|
|
266
365
|
dsn: this.dsn,
|
|
366
|
+
// H8 — reported honestly, and "honestly" has THREE postures, not two.
|
|
367
|
+
//
|
|
368
|
+
// A cluster that was never created has no PG_VERSION and no password
|
|
369
|
+
// file, so `usesPasswordAuth` is false for the same reason a legacy
|
|
370
|
+
// cluster's is — but the meanings are opposite. Collapsing them told a
|
|
371
|
+
// brand-new user their nonexistent cluster used insecure host trust and
|
|
372
|
+
// pointed them at `knowz pg destroy`, which is both alarming and useless.
|
|
373
|
+
// Only an INITIALIZED cluster can be legacy.
|
|
374
|
+
passwordAuth: initialized && this.usesPasswordAuth,
|
|
375
|
+
hostAuthMethod: !initialized
|
|
376
|
+
? 'not initialized (run `knowz pg up` to create the cluster with SCRAM)'
|
|
377
|
+
: this.usesPasswordAuth
|
|
378
|
+
? PG_HOST_AUTH_METHOD
|
|
379
|
+
: 'trust (legacy cluster — re-run `knowz pg destroy` then `knowz pg up` to upgrade)',
|
|
267
380
|
};
|
|
268
381
|
}
|
|
269
382
|
}
|
package/dist/pg-provision.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-provision.js","sourceRoot":"","sources":["../src/pg-provision.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pg-provision.js","sourceRoot":"","sources":["../src/pg-provision.ts"],"names":[],"mappings":"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"}
|
package/dist/postgres-store.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* integration test that skips unless KNOWZ_PG_DSN is set. `pg` is a dynamic
|
|
5
5
|
* import so the package loads even when the optional dep is absent.
|
|
6
6
|
*/
|
|
7
|
-
import { type LocalStore, type LocalItem, type Chunk, type FileState, type KnnHit, type SyncState } from './types.js';
|
|
7
|
+
import { type LocalStore, type LocalItem, type Chunk, type FileState, type KnnHit, type SyncState, type LocalGraphNode, type LocalGraphEdge, type GraphFileState, type GraphQuery, type GraphQueryResult, type GraphAdjacencyResult, type GraphStats, type GraphJsonV1, type PendingScopeMigration, type StoreScopeInventory } from './types.js';
|
|
8
8
|
export declare class PostgresStore implements LocalStore {
|
|
9
9
|
private readonly dsn;
|
|
10
10
|
private readonly dim;
|
|
@@ -29,6 +29,29 @@ export declare class PostgresStore implements LocalStore {
|
|
|
29
29
|
setFileState(s: FileState): Promise<void>;
|
|
30
30
|
getFileState(path: string): Promise<FileState | undefined>;
|
|
31
31
|
listFileStates(): Promise<FileState[]>;
|
|
32
|
+
private graphNode;
|
|
33
|
+
private graphEdge;
|
|
34
|
+
private insertGraphRows;
|
|
35
|
+
private resolveVaultGraphRows;
|
|
36
|
+
replaceFileGraph(vaultId: string, file: string, nodes: LocalGraphNode[], outgoingEdges: LocalGraphEdge[], state?: Omit<GraphFileState, 'vaultId' | 'file'>): Promise<void>;
|
|
37
|
+
deleteFileGraph(vaultId: string, file: string): Promise<void>;
|
|
38
|
+
replaceVaultGraph(vaultId: string, nodes: LocalGraphNode[], edges: LocalGraphEdge[], states?: GraphFileState[]): Promise<void>;
|
|
39
|
+
resolveVaultGraph(vaultId: string): Promise<void>;
|
|
40
|
+
graphStats(vaultId: string): Promise<GraphStats>;
|
|
41
|
+
queryGraph(vaultId: string, query: GraphQuery): Promise<GraphQueryResult>;
|
|
42
|
+
queryGraphAdjacency(vaultId: string, nodeId: string, query: {
|
|
43
|
+
limit?: number;
|
|
44
|
+
offset?: number;
|
|
45
|
+
}): Promise<GraphAdjacencyResult>;
|
|
46
|
+
scopeInventory(): Promise<StoreScopeInventory>;
|
|
47
|
+
getGraphFileState(vaultId: string, file: string): Promise<GraphFileState | undefined>;
|
|
48
|
+
listGraphFileStates(vaultId: string): Promise<GraphFileState[]>;
|
|
49
|
+
importGraphJson(vaultId: string, records: unknown, sidecarSha256: string): Promise<void>;
|
|
50
|
+
markGraphRebuildComplete(vaultId: string, sidecarSha256: string): Promise<void>;
|
|
51
|
+
exportGraphJson(vaultId: string): Promise<GraphJsonV1>;
|
|
52
|
+
beginScopeMigration(oldVaultId: string, newVaultId: string, pendingBindingJson: string): Promise<void>;
|
|
53
|
+
getPendingScopeMigration(): Promise<PendingScopeMigration | undefined>;
|
|
54
|
+
clearScopeMigration(): Promise<void>;
|
|
32
55
|
meta(): Promise<{
|
|
33
56
|
schemaVersion: number;
|
|
34
57
|
dim: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-store.d.ts","sourceRoot":"","sources":["../src/postgres-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"postgres-store.d.ts","sourceRoot":"","sources":["../src/postgres-store.ts"],"names":[],"mappings":"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"}
|