@veedubin/neuralgentics 0.9.5 → 0.11.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 +52 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +71 -4
- package/dist/cli.js.map +1 -1
- package/dist/neuralgentics/go-backend-client.d.ts +42 -0
- package/dist/neuralgentics/go-backend-client.d.ts.map +1 -1
- package/dist/neuralgentics/go-backend-client.js +111 -3
- package/dist/neuralgentics/go-backend-client.js.map +1 -1
- package/dist/neuralgentics/init.d.ts +7 -0
- package/dist/neuralgentics/init.d.ts.map +1 -1
- package/dist/neuralgentics/init.js +135 -1
- package/dist/neuralgentics/init.js.map +1 -1
- package/dist/neuralgentics/migrate.d.ts +49 -0
- package/dist/neuralgentics/migrate.d.ts.map +1 -0
- package/dist/neuralgentics/migrate.js +82 -0
- package/dist/neuralgentics/migrate.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,6 +31,57 @@ npx @veedubin/neuralgentics --init
|
|
|
31
31
|
- If `.env` is missing, copies `compose.example.env` and stops (lets you edit credentials before starting).
|
|
32
32
|
5. Prints DB connection info after successful setup.
|
|
33
33
|
|
|
34
|
+
## CLI Flags
|
|
35
|
+
|
|
36
|
+
The `init` command accepts these flags:
|
|
37
|
+
|
|
38
|
+
| Flag | Default | Description |
|
|
39
|
+
|------|---------|-------------|
|
|
40
|
+
| `--embed-model {bge-m3|bge-large|all-MiniLM-L6-v2}` | bge-m3 | Embedding model. bge-m3 is multilingual 8K, bge-large is English 512, MiniLM is fast 384. |
|
|
41
|
+
| `--quantize {fp32|fp16|int8}` | auto | Embedding model precision. Auto = fp16 on GPU, int8 on CPU. |
|
|
42
|
+
| `--no-lazy-load` | false | Eager-load model at startup. Skip for default lazy mode. |
|
|
43
|
+
| `--idle-min N` | 5 | Minutes of inactivity before sidecar unloads model. |
|
|
44
|
+
| `--status-port N` | 50052 | HTTP port for sidecar /status endpoint. |
|
|
45
|
+
| `--device {cpu|cuda}` | auto | Embedding model device. |
|
|
46
|
+
| `--with-backend` | false | Set up local database containers. |
|
|
47
|
+
| `--target DIR` | `.` | Directory to bootstrap. |
|
|
48
|
+
| `--yes`, `-y` | false | Skip all confirmation prompts. |
|
|
49
|
+
| `--dry-run` | false | Preview actions without writing. |
|
|
50
|
+
| `--force` | false | Overwrite existing files. |
|
|
51
|
+
|
|
52
|
+
### Examples
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Default — lazy load, int8 on CPU, no GPU detection
|
|
56
|
+
npx @veedubin/neuralgentics --init
|
|
57
|
+
|
|
58
|
+
# GPU machine — use fp16, eager load
|
|
59
|
+
npx @veedubin/neuralgentics --init --quantize fp16 --no-lazy-load
|
|
60
|
+
|
|
61
|
+
# Long-idle tolerance — don't unload for 30 min
|
|
62
|
+
npx @veedubin/neuralgentics --init --idle-min 30
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Migrate Embeddings
|
|
66
|
+
|
|
67
|
+
If you're upgrading from a previous version that used BGE-Large, your existing memories need to be re-embedded with the new model (the vector geometry is different).
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Preview what will be migrated
|
|
71
|
+
npx @veedubin/neuralgentics migrate-embeddings --dry-run
|
|
72
|
+
|
|
73
|
+
# Run the migration (safe — old vectors backed up automatically)
|
|
74
|
+
npx @veedubin/neuralgentics migrate-embeddings --from bge-large --to bge-m3
|
|
75
|
+
|
|
76
|
+
# Options
|
|
77
|
+
# --from MODEL Only migrate memories currently using this model (default: all)
|
|
78
|
+
# --to MODEL Target model (default: bge-m3)
|
|
79
|
+
# --batch N Memories per batch (default: 10)
|
|
80
|
+
# --no-backup Don't preserve old vectors in embedding_legacy column
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The migration is safe to interrupt. Old vectors are preserved in `embedding_legacy` and `embedding_model_legacy` columns until you drop them manually.
|
|
84
|
+
|
|
34
85
|
## Manual Install
|
|
35
86
|
|
|
36
87
|
If you prefer not to use `--init`, add the plugin to your `.opencode/opencode.json`:
|
|
@@ -59,7 +110,7 @@ npm install @veedubin/neuralgentics
|
|
|
59
110
|
|
|
60
111
|
The memory backend runs as 3 containers:
|
|
61
112
|
|
|
62
|
-
- `neuralgentics-postgres`: PostgreSQL 18 + pgvector + TimescaleDB (port
|
|
113
|
+
- `neuralgentics-postgres`: PostgreSQL 18 + pgvector + TimescaleDB (port 6200)
|
|
63
114
|
- `neuralgentics-sidecar`: Python gRPC embedding service (BGE-Large, port 50051)
|
|
64
115
|
- `neuralgentics-backend`: Go JSON-RPC memory server (trust engine, knowledge graph, thought chains)
|
|
65
116
|
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAwKH,iBAAe,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4FnD;AAwBD,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Uses Node.js `util.parseArgs` for argv parsing (Node 20+ built-in).
|
|
10
10
|
*/
|
|
11
11
|
import { parseArgs } from "node:util";
|
|
12
|
-
import { CLI_VERSION, runInit, NeuralgenticsError } from "./neuralgentics/init.js";
|
|
12
|
+
import { CLI_VERSION, runInit, NeuralgenticsError, } from "./neuralgentics/init.js";
|
|
13
13
|
/** Sentinel for `--version` with no argument (distinguishes bare vs. with-arg). */
|
|
14
14
|
const CLI_VERSION_SENTINEL = "__cli__";
|
|
15
15
|
function parseArgv(argv) {
|
|
@@ -25,6 +25,19 @@ function parseArgv(argv) {
|
|
|
25
25
|
repo: { type: "string", default: "Veedubin/neuralgentics" },
|
|
26
26
|
offline: { type: "boolean", default: false },
|
|
27
27
|
"with-backend": { type: "boolean", default: false },
|
|
28
|
+
// Lazy-load + quantize (v0.9.6+).
|
|
29
|
+
quantize: { type: "string", default: "auto" },
|
|
30
|
+
"embed-dtype": { type: "string" }, // alias for --quantize (undocumented)
|
|
31
|
+
device: { type: "string" }, // "cpu" | "cuda"; undefined => env fallback
|
|
32
|
+
"no-lazy-load": { type: "boolean", default: false },
|
|
33
|
+
"idle-min": { type: "string", default: "5" }, // numeric, parsed below
|
|
34
|
+
"status-port": { type: "string", default: "50052" }, // numeric
|
|
35
|
+
"embed-model": { type: "string" },
|
|
36
|
+
// migrate-embeddings subcommand flags
|
|
37
|
+
from: { type: "string" },
|
|
38
|
+
to: { type: "string" },
|
|
39
|
+
batch: { type: "string" }, // numeric, parsed below
|
|
40
|
+
"no-backup": { type: "boolean", default: false },
|
|
28
41
|
},
|
|
29
42
|
allowPositionals: true,
|
|
30
43
|
});
|
|
@@ -36,9 +49,14 @@ function parseArgv(argv) {
|
|
|
36
49
|
const positionals = [];
|
|
37
50
|
const knownFlags = new Set([
|
|
38
51
|
"--init", "--force", "--dry-run", "--yes", "-y", "--offline",
|
|
39
|
-
"--with-backend", "-h", "--help",
|
|
52
|
+
"--with-backend", "--no-lazy-load", "-h", "--help",
|
|
53
|
+
]);
|
|
54
|
+
const valueFlags = new Set([
|
|
55
|
+
"--version", "--target", "-t", "--repo",
|
|
56
|
+
"--quantize", "--embed-dtype", "--device", "--idle-min", "--status-port",
|
|
57
|
+
"--embed-model",
|
|
58
|
+
"--from", "--to", "--batch",
|
|
40
59
|
]);
|
|
41
|
-
const valueFlags = new Set(["--version", "--target", "-t", "--repo"]);
|
|
42
60
|
for (let i = 0; i < argv.length; i++) {
|
|
43
61
|
const a = argv[i];
|
|
44
62
|
if (a.startsWith("--") && a.includes("="))
|
|
@@ -65,6 +83,17 @@ function parseArgv(argv) {
|
|
|
65
83
|
version,
|
|
66
84
|
offline: values.offline === true,
|
|
67
85
|
withBackend: values["with-backend"] === true,
|
|
86
|
+
quantize: (values["embed-dtype"] ?? values.quantize ?? "auto"),
|
|
87
|
+
device: values.device,
|
|
88
|
+
noLazyLoad: values["no-lazy-load"] === true,
|
|
89
|
+
idleMin: parseInt(values["idle-min"] ?? "5", 10),
|
|
90
|
+
statusPort: parseInt(values["status-port"] ?? "50052", 10),
|
|
91
|
+
embedModel: values["embed-model"] ?? "bge-m3",
|
|
92
|
+
from: values.from,
|
|
93
|
+
to: values.to ?? "bge-m3",
|
|
94
|
+
batch: parseInt(values.batch ?? "10", 10),
|
|
95
|
+
backup: !(values["no-backup"] === true),
|
|
96
|
+
dryRunMigrate: values["dry-run"] === true,
|
|
68
97
|
command,
|
|
69
98
|
};
|
|
70
99
|
}
|
|
@@ -83,6 +112,25 @@ function printHelp() {
|
|
|
83
112
|
` --repo REPO GitHub repository to download from (default: Veedubin/neuralgentics).\n` +
|
|
84
113
|
` --offline Use a bundled tarball instead of downloading (not yet available).\n` +
|
|
85
114
|
` --with-backend Set up database containers (podman-compose / docker).\n` +
|
|
115
|
+
`\n` +
|
|
116
|
+
`Lazy-load + quantize options (opt-in, v0.9.6+):\n` +
|
|
117
|
+
` --quantize DTYPE Embedding dtype: auto|fp32|fp16|int8 (default: auto).\n` +
|
|
118
|
+
` auto => fp16 on cuda, int8 on cpu (or per NEURALGENTICS_EMBED_DEVICE).\n` +
|
|
119
|
+
` --device DEVICE Embedding device override: cpu|cuda. Overrides NEURALGENTICS_EMBED_DEVICE.\n` +
|
|
120
|
+
` --no-lazy-load Eagerly load the model at sidecar start (default: lazy-load on first embed).\n` +
|
|
121
|
+
` --idle-min MIN Minutes of idleness before the lazy sidecar unloads the model (default: 5).\n` +
|
|
122
|
+
` --status-port PORT Sidecar HTTP /status port (default: 50052).\n` +
|
|
123
|
+
`\n` +
|
|
124
|
+
` --embed-model MODEL Embedding model: bge-m3 (default, multilingual 8K), bge-large (English 512), or all-MiniLM-L6-v2 (fast 384). Env: NEURALGENTICS_EMBED_MODEL.\n` +
|
|
125
|
+
`\n` +
|
|
126
|
+
`Migrate embeddings:\n` +
|
|
127
|
+
` neuralgentics migrate-embeddings [options]\n` +
|
|
128
|
+
` --from MODEL Only migrate memories currently using this model (default: all)\n` +
|
|
129
|
+
` --to MODEL Target embedding model (default: bge-m3)\n` +
|
|
130
|
+
` --batch N Memories per batch (default: 10)\n` +
|
|
131
|
+
` --dry-run Preview what would be done without making changes\n` +
|
|
132
|
+
` --no-backup Don't preserve old vectors in embedding_legacy column\n` +
|
|
133
|
+
`\n` +
|
|
86
134
|
` -h, --help Show this help and exit.\n` +
|
|
87
135
|
`\n` +
|
|
88
136
|
`Positional alias: \`neuralgentics init\` is equivalent to \`--init\`.\n`);
|
|
@@ -125,10 +173,23 @@ async function main(argv) {
|
|
|
125
173
|
}
|
|
126
174
|
// init requested via --init or the positional `init` alias.
|
|
127
175
|
const initRequested = parsed.init || parsed.command === "init";
|
|
128
|
-
|
|
176
|
+
const migrateRequested = parsed.command === "migrate-embeddings";
|
|
177
|
+
if (!initRequested && !migrateRequested) {
|
|
129
178
|
printHelp();
|
|
130
179
|
return 0;
|
|
131
180
|
}
|
|
181
|
+
// migrate-embeddings is a parallel command, not a subcommand of init.
|
|
182
|
+
if (migrateRequested) {
|
|
183
|
+
const { runMigrateEmbeddings } = await import("./neuralgentics/migrate.js");
|
|
184
|
+
const migrateOpts = {
|
|
185
|
+
from: parsed.from,
|
|
186
|
+
to: parsed.to,
|
|
187
|
+
batch: parsed.batch,
|
|
188
|
+
dryRun: parsed.dryRunMigrate,
|
|
189
|
+
backup: parsed.backup,
|
|
190
|
+
};
|
|
191
|
+
return await runMigrateEmbeddings(migrateOpts);
|
|
192
|
+
}
|
|
132
193
|
const opts = {
|
|
133
194
|
init: true,
|
|
134
195
|
target: parsed.target,
|
|
@@ -139,6 +200,12 @@ async function main(argv) {
|
|
|
139
200
|
version: parsed.version,
|
|
140
201
|
offline: parsed.offline,
|
|
141
202
|
withBackend: parsed.withBackend,
|
|
203
|
+
quantize: parsed.quantize,
|
|
204
|
+
device: parsed.device,
|
|
205
|
+
noLazyLoad: parsed.noLazyLoad,
|
|
206
|
+
idleMin: parsed.idleMin,
|
|
207
|
+
statusPort: parsed.statusPort,
|
|
208
|
+
embedModel: parsed.embedModel,
|
|
142
209
|
};
|
|
143
210
|
try {
|
|
144
211
|
return await runInit(opts);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,34 @@
|
|
|
8
8
|
* This replaces the previous HTTP transport to the Python memini-core server,
|
|
9
9
|
* achieving sub-millisecond latency on the same machine with zero port management.
|
|
10
10
|
*/
|
|
11
|
+
/** Shape of the sidecar `/status` JSON response. */
|
|
12
|
+
export interface SidecarStatus {
|
|
13
|
+
loaded: boolean;
|
|
14
|
+
models: string[];
|
|
15
|
+
dtype: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Probe the sidecar's HTTP `/status` endpoint.
|
|
19
|
+
*
|
|
20
|
+
* Returns `{ loaded: false, models: [], dtype: "unknown" }` if the endpoint
|
|
21
|
+
* is unreachable (sidecar not running, no HTTP status server, network down).
|
|
22
|
+
* Never throws — a failed probe just means the embed call will trigger a
|
|
23
|
+
* load (and the 60s timeout covers it).
|
|
24
|
+
*/
|
|
25
|
+
export declare function checkSidecarStatus(): Promise<SidecarStatus>;
|
|
26
|
+
/**
|
|
27
|
+
* Pre-embed hook: probe sidecar status, emit a one-time "warming up" message
|
|
28
|
+
* if the model isn't loaded yet, and bump the call timeout for cold loads.
|
|
29
|
+
*
|
|
30
|
+
* Caches the loaded state so the warming-up message is shown at most once
|
|
31
|
+
* per process lifetime (no user spam on every embed call).
|
|
32
|
+
*
|
|
33
|
+
* @returns The gRPC timeout to use for the subsequent embed call
|
|
34
|
+
* (60s if cold load possible, normal default otherwise).
|
|
35
|
+
*/
|
|
36
|
+
export declare function prepareEmbedCall(): Promise<number>;
|
|
37
|
+
/** Reset the cached sidecar loaded state (for tests / reconnection). */
|
|
38
|
+
export declare function resetSidecarLoadCache(): void;
|
|
11
39
|
/**
|
|
12
40
|
* JSON-RPC 2.0 client that talks to the Go backend over stdio.
|
|
13
41
|
*
|
|
@@ -56,6 +84,20 @@ export declare class GoBackendClient {
|
|
|
56
84
|
call(method: string, params?: Record<string, unknown>, timeoutMs?: number): Promise<unknown>;
|
|
57
85
|
/** Shutdown the backend process gracefully. */
|
|
58
86
|
shutdown(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Embed a text via the Go backend, with sidecar cold-load awareness.
|
|
89
|
+
*
|
|
90
|
+
* Before the gRPC call, probes the sidecar's HTTP `/status` endpoint
|
|
91
|
+
* (if configured). If the model isn't loaded yet, emits a one-time
|
|
92
|
+
* "warming up" message and uses a 60s timeout (vs. the default 30s)
|
|
93
|
+
* to allow for cold model load (BGE-Large fp16/int8 can take 5-15s on
|
|
94
|
+
* first use).
|
|
95
|
+
*
|
|
96
|
+
* @param text - The text to embed.
|
|
97
|
+
* @param method - JSON-RPC method (default "memory.embed").
|
|
98
|
+
* @returns The embedding vector (array of numbers) from the backend.
|
|
99
|
+
*/
|
|
100
|
+
embed(text: string, method?: string): Promise<number[]>;
|
|
59
101
|
/**
|
|
60
102
|
* Handle a single line from the Go backend's stdout.
|
|
61
103
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go-backend-client.d.ts","sourceRoot":"","sources":["../../src/neuralgentics/go-backend-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"go-backend-client.d.ts","sourceRoot":"","sources":["../../src/neuralgentics/go-backend-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqCH,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAoBD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,CAgBjE;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAqBxD;AAED,wEAAwE;AACxE,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AASD;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,WAAW,CAAwB;IAE3C;;;;;OAKG;gBACS,UAAU,EAAE,MAAM;IAsC9B;;;;;;;;;OASG;IACG,YAAY,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrD;;;;;;;OAOG;IACG,IAAI,CACR,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,SAAS,GACjB,OAAO,CAAC,OAAO,CAAC;IAgCnB,+CAA+C;IACzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B;;;;;;;;;;;;OAYG;IACG,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,MAAM,SAAiB,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC;IAapB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAqClB,sDAAsD;IACtD,OAAO,CAAC,WAAW;IAInB,qDAAqD;IACrD,OAAO,CAAC,SAAS;CAOlB"}
|
|
@@ -16,18 +16,103 @@ import { createInterface } from "node:readline";
|
|
|
16
16
|
* IMPORTANT: lib/pq (the Go postgres driver) defaults `sslmode` to `require`
|
|
17
17
|
* when no `sslmode` is specified in the connection string. That works against
|
|
18
18
|
* databases with `ssl = on` but fails against databases with `ssl = off`
|
|
19
|
-
* (e.g. the user's prod timescale-pg18 on 5434). The dev test DB on
|
|
19
|
+
* (e.g. the user's prod timescale-pg18 on 5434). The dev test DB on 6200
|
|
20
20
|
* has SSL enabled, so `?sslmode=require` matches the server's capability
|
|
21
21
|
* and lets the migrator + queries succeed without any CA verification.
|
|
22
22
|
*
|
|
23
23
|
* Override at spawn time by setting `NEURALGENTICS_DB_URL` in the parent
|
|
24
24
|
* process's environment before OpenCode launches the plugin.
|
|
25
25
|
*/
|
|
26
|
-
const DEFAULT_DB_URL = "postgresql://postgres:testpassword@localhost:
|
|
26
|
+
const DEFAULT_DB_URL = "postgresql://postgres:testpassword@localhost:6200/neuralgentics_test?sslmode=require";
|
|
27
27
|
/** Resolve the DB URL — explicit env override wins, otherwise the dev DB. */
|
|
28
28
|
function resolveDbUrl() {
|
|
29
29
|
return process.env.NEURALGENTICS_DB_URL ?? DEFAULT_DB_URL;
|
|
30
30
|
}
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// Sidecar status check + lazy-load support (v0.9.6+)
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
/**
|
|
35
|
+
* gRPC timeout for embed calls — bumped to 60s to allow for cold model load
|
|
36
|
+
* (BGE-Large fp16/int8 on first use can take 5-15s on CPU, longer on a cold
|
|
37
|
+
* HuggingFace cache download).
|
|
38
|
+
*/
|
|
39
|
+
const SIDECAR_EMBED_TIMEOUT_MS = 60_000;
|
|
40
|
+
/**
|
|
41
|
+
* Cache the "model loaded" state per session so the warming-up message is
|
|
42
|
+
* only emitted ONCE (on the first cold-load detection). Subsequent calls
|
|
43
|
+
* skip the status probe entirely once we've seen `loaded: true`.
|
|
44
|
+
*/
|
|
45
|
+
let sidecarModelLoaded = false;
|
|
46
|
+
let warmingUpMessageShown = false;
|
|
47
|
+
/** Resolve the sidecar HTTP /status URL from env vars (sensible defaults). */
|
|
48
|
+
function resolveStatusURL() {
|
|
49
|
+
if (process.env.NEURALGENTICS_SIDECAR_STATUS_URL) {
|
|
50
|
+
return process.env.NEURALGENTICS_SIDECAR_STATUS_URL;
|
|
51
|
+
}
|
|
52
|
+
const host = process.env.NEURALGENTICS_SIDECAR_HOST ?? "localhost";
|
|
53
|
+
const port = process.env.NEURALGENTICS_SIDECAR_STATUS_PORT ?? "50052";
|
|
54
|
+
return `http://${host}:${port}/status`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Probe the sidecar's HTTP `/status` endpoint.
|
|
58
|
+
*
|
|
59
|
+
* Returns `{ loaded: false, models: [], dtype: "unknown" }` if the endpoint
|
|
60
|
+
* is unreachable (sidecar not running, no HTTP status server, network down).
|
|
61
|
+
* Never throws — a failed probe just means the embed call will trigger a
|
|
62
|
+
* load (and the 60s timeout covers it).
|
|
63
|
+
*/
|
|
64
|
+
export async function checkSidecarStatus() {
|
|
65
|
+
const statusURL = resolveStatusURL();
|
|
66
|
+
try {
|
|
67
|
+
const resp = await fetch(statusURL, { signal: AbortSignal.timeout(2000) });
|
|
68
|
+
if (resp.ok) {
|
|
69
|
+
const body = (await resp.json());
|
|
70
|
+
return {
|
|
71
|
+
loaded: body.loaded === true,
|
|
72
|
+
models: Array.isArray(body.models) ? body.models : [],
|
|
73
|
+
dtype: typeof body.dtype === "string" ? body.dtype : "unknown",
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// Fall through — sidecar unreachable or /status not implemented.
|
|
79
|
+
}
|
|
80
|
+
return { loaded: false, models: [], dtype: "unknown" };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Pre-embed hook: probe sidecar status, emit a one-time "warming up" message
|
|
84
|
+
* if the model isn't loaded yet, and bump the call timeout for cold loads.
|
|
85
|
+
*
|
|
86
|
+
* Caches the loaded state so the warming-up message is shown at most once
|
|
87
|
+
* per process lifetime (no user spam on every embed call).
|
|
88
|
+
*
|
|
89
|
+
* @returns The gRPC timeout to use for the subsequent embed call
|
|
90
|
+
* (60s if cold load possible, normal default otherwise).
|
|
91
|
+
*/
|
|
92
|
+
export async function prepareEmbedCall() {
|
|
93
|
+
// Once we've confirmed the model is loaded, skip the probe entirely.
|
|
94
|
+
if (sidecarModelLoaded)
|
|
95
|
+
return SIDECAR_EMBED_TIMEOUT_MS;
|
|
96
|
+
const status = await checkSidecarStatus();
|
|
97
|
+
if (status.loaded) {
|
|
98
|
+
sidecarModelLoaded = true;
|
|
99
|
+
return SIDECAR_EMBED_TIMEOUT_MS;
|
|
100
|
+
}
|
|
101
|
+
// Cold load: show the warming-up message ONCE.
|
|
102
|
+
if (!warmingUpMessageShown) {
|
|
103
|
+
warmingUpMessageShown = true;
|
|
104
|
+
const dtypeLabel = status.dtype !== "unknown" ? status.dtype : "auto";
|
|
105
|
+
process.stderr.write(`[neuralgentics] Sidecar model not loaded. Warming up BGE-Large (${dtypeLabel})... ` +
|
|
106
|
+
`this may take 5-15 seconds on first use.\n`);
|
|
107
|
+
}
|
|
108
|
+
// Cold-load path: use the full 60s timeout.
|
|
109
|
+
return SIDECAR_EMBED_TIMEOUT_MS;
|
|
110
|
+
}
|
|
111
|
+
/** Reset the cached sidecar loaded state (for tests / reconnection). */
|
|
112
|
+
export function resetSidecarLoadCache() {
|
|
113
|
+
sidecarModelLoaded = false;
|
|
114
|
+
warmingUpMessageShown = false;
|
|
115
|
+
}
|
|
31
116
|
/**
|
|
32
117
|
* JSON-RPC 2.0 client that talks to the Go backend over stdio.
|
|
33
118
|
*
|
|
@@ -57,7 +142,7 @@ export class GoBackendClient {
|
|
|
57
142
|
// Set NEURALGENTICS_DB_URL so the backend doesn't fall back to its
|
|
58
143
|
// 5434 default (which has no SSL and breaks lib/pq's implicit
|
|
59
144
|
// sslmode=require). Override the env var before launch to point at
|
|
60
|
-
// any database; default is the dev/test DB on
|
|
145
|
+
// any database; default is the dev/test DB on 6200 with SSL.
|
|
61
146
|
const childEnv = {
|
|
62
147
|
...process.env,
|
|
63
148
|
NEURALGENTICS_DB_URL: resolveDbUrl(),
|
|
@@ -145,6 +230,29 @@ export class GoBackendClient {
|
|
|
145
230
|
}
|
|
146
231
|
this.process.kill();
|
|
147
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Embed a text via the Go backend, with sidecar cold-load awareness.
|
|
235
|
+
*
|
|
236
|
+
* Before the gRPC call, probes the sidecar's HTTP `/status` endpoint
|
|
237
|
+
* (if configured). If the model isn't loaded yet, emits a one-time
|
|
238
|
+
* "warming up" message and uses a 60s timeout (vs. the default 30s)
|
|
239
|
+
* to allow for cold model load (BGE-Large fp16/int8 can take 5-15s on
|
|
240
|
+
* first use).
|
|
241
|
+
*
|
|
242
|
+
* @param text - The text to embed.
|
|
243
|
+
* @param method - JSON-RPC method (default "memory.embed").
|
|
244
|
+
* @returns The embedding vector (array of numbers) from the backend.
|
|
245
|
+
*/
|
|
246
|
+
async embed(text, method = "memory.embed") {
|
|
247
|
+
const timeoutMs = await prepareEmbedCall();
|
|
248
|
+
const result = await this.call(method, { text }, timeoutMs);
|
|
249
|
+
if (!Array.isArray(result)) {
|
|
250
|
+
throw new Error(`embed: expected array result from ${method}, got ${typeof result}`);
|
|
251
|
+
}
|
|
252
|
+
// Mark the model as loaded after a successful embed (idempotent).
|
|
253
|
+
sidecarModelLoaded = true;
|
|
254
|
+
return result;
|
|
255
|
+
}
|
|
148
256
|
/**
|
|
149
257
|
* Handle a single line from the Go backend's stdout.
|
|
150
258
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go-backend-client.js","sourceRoot":"","sources":["../../src/neuralgentics/go-backend-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"go-backend-client.js","sourceRoot":"","sources":["../../src/neuralgentics/go-backend-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,9 +77,16 @@ export interface InitOptions {
|
|
|
77
77
|
version: string;
|
|
78
78
|
offline: boolean;
|
|
79
79
|
withBackend?: boolean;
|
|
80
|
+
quantize?: string;
|
|
81
|
+
device?: string;
|
|
82
|
+
noLazyLoad?: boolean;
|
|
83
|
+
idleMin?: number;
|
|
84
|
+
statusPort?: number;
|
|
85
|
+
embedModel?: string;
|
|
80
86
|
}
|
|
81
87
|
/**
|
|
82
88
|
* Entry point for `neuralgentics init`. Returns the process exit code.
|
|
83
89
|
*/
|
|
84
90
|
export declare function runInit(args: InitOptions): Promise<number>;
|
|
91
|
+
export { runMigrateEmbeddings, type MigrateEmbeddingsOptions, type MigrateEmbeddingsResult, } from "./migrate.js";
|
|
85
92
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/neuralgentics/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,EAML,kBAAkB,IAAI,0BAA0B,EAKjD,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,0BAA0B;CAAG;AAQrE,+EAA+E;AAC/E,eAAO,MAAM,WAAW,UAAU,CAAC;AA2DnC,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,QAAQ,CAAC,QAAQ,KAAK;IACtB,QAAQ,CAAC,WAAW,qFACgE;gBACxE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,QAAQ,KAAK;IACtB,QAAQ,CAAC,WAAW,4FACuE;gBAC/E,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,WAAW,yFACoE;gBAC5E,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,WAAW,4EAA4E;gBACpF,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,WAAW,uEAAuE;gBAC/E,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,WAAW,iEAAiE;gBACzE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,WAAW,+DAA+D;gBACvE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,WAAW,yEAAyE;gBACjF,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,WAAW,yEAAyE;gBACjF,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAIlD;AAMD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/neuralgentics/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,6 +149,130 @@ export class ComposeUpFailed extends NeuralgenticsError {
|
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
// ---------------------------------------------------------------------------
|
|
152
|
+
// Quantize + lazy-load resolution (v0.9.6+)
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
const VALID_DTYPES = new Set(["fp32", "fp16", "int8", "auto"]);
|
|
155
|
+
/**
|
|
156
|
+
* Resolve the embedding dtype from CLI args + env, per the user's spec:
|
|
157
|
+
* - Explicit `--quantize` wins (must be fp32|fp16|int8; "auto" falls through).
|
|
158
|
+
* - `--device cuda` → fp16, `--device cpu` → int8.
|
|
159
|
+
* - NEURALGENTICS_EMBED_DEVICE env var (cuda → fp16, cpu → int8).
|
|
160
|
+
* - Default: int8 (CPU).
|
|
161
|
+
*/
|
|
162
|
+
function resolveQuantize(args) {
|
|
163
|
+
const explicit = args.quantize ?? "auto";
|
|
164
|
+
if (!VALID_DTYPES.has(explicit)) {
|
|
165
|
+
throw new NeuralgenticsError(`Invalid --quantize value: ${JSON.stringify(explicit)}. Expected fp32|fp16|int8|auto.`, "Re-run with --quantize=fp32, --quantize=fp16, --quantize=int8, or --quantize=auto.");
|
|
166
|
+
}
|
|
167
|
+
if (explicit !== "auto")
|
|
168
|
+
return explicit;
|
|
169
|
+
const device = args.device ?? process.env.NEURALGENTICS_EMBED_DEVICE;
|
|
170
|
+
if (device === "cuda")
|
|
171
|
+
return "fp16";
|
|
172
|
+
return "int8"; // cpu or unset → int8
|
|
173
|
+
}
|
|
174
|
+
/** Resolve the embedding device (for .env), CLI --device wins, then env, then "cpu". */
|
|
175
|
+
function resolveDevice(args) {
|
|
176
|
+
if (args.device)
|
|
177
|
+
return args.device;
|
|
178
|
+
return process.env.NEURALGENTICS_EMBED_DEVICE ?? "cpu";
|
|
179
|
+
}
|
|
180
|
+
function resolveQuantizeEnvVars(args) {
|
|
181
|
+
return {
|
|
182
|
+
dtype: resolveQuantize(args),
|
|
183
|
+
device: resolveDevice(args),
|
|
184
|
+
eager: args.noLazyLoad === true ? "true" : "false",
|
|
185
|
+
idleMin: String(args.idleMin ?? 5),
|
|
186
|
+
statusPort: String(args.statusPort ?? 50052),
|
|
187
|
+
embedModel: args.embedModel ?? "bge-m3",
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Update or create the `.env` file with the quantize + lazy-load vars.
|
|
192
|
+
*
|
|
193
|
+
* Non-destructive: if `.env` already exists, only the 5 quantize vars are
|
|
194
|
+
* updated (all other lines preserved). If `.env` doesn't exist, a minimal
|
|
195
|
+
* `.env` is created with just the quantize vars + a pointer to
|
|
196
|
+
* compose.example.env for the full set.
|
|
197
|
+
*
|
|
198
|
+
* Called AFTER `bringUpBackend` so the existing `.env`-from-template flow
|
|
199
|
+
* is not disturbed.
|
|
200
|
+
*/
|
|
201
|
+
async function writeEnvQuantizeVars(target, args) {
|
|
202
|
+
const vars = resolveQuantizeEnvVars(args);
|
|
203
|
+
const envPath = path.join(target, ".env");
|
|
204
|
+
const lines = [
|
|
205
|
+
`NEURALGENTICS_EMBED_DTYPE=${vars.dtype}`,
|
|
206
|
+
`NEURALGENTICS_EMBED_DEVICE=${vars.device}`,
|
|
207
|
+
`EAGER=${vars.eager}`,
|
|
208
|
+
`IDLE_MIN=${vars.idleMin}`,
|
|
209
|
+
`NEURALGENTICS_SIDECAR_STATUS_PORT=${vars.statusPort}`,
|
|
210
|
+
`NEURALGENTICS_EMBED_MODEL=${vars.embedModel}`,
|
|
211
|
+
];
|
|
212
|
+
if (!existsSync(envPath)) {
|
|
213
|
+
// Create a minimal .env. The user can merge compose.example.env later.
|
|
214
|
+
const header = "# .env — generated by `neuralgentics init` (quantize + lazy-load vars).\n" +
|
|
215
|
+
"# For the full set of compose vars, see compose.example.env.\n\n";
|
|
216
|
+
await fs.writeFile(envPath, header + lines.join("\n") + "\n", "utf-8");
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
// Update existing .env: replace the 5 quantize vars, preserve everything else.
|
|
220
|
+
const existing = (await fs.readFile(envPath, "utf-8")).split("\n");
|
|
221
|
+
const varKeys = new Set([
|
|
222
|
+
"NEURALGENTICS_EMBED_DTYPE",
|
|
223
|
+
"NEURALGENTICS_EMBED_DEVICE",
|
|
224
|
+
"EAGER",
|
|
225
|
+
"IDLE_MIN",
|
|
226
|
+
"NEURALGENTICS_SIDECAR_STATUS_PORT",
|
|
227
|
+
"NEURALGENTICS_EMBED_MODEL",
|
|
228
|
+
]);
|
|
229
|
+
const updated = new Set();
|
|
230
|
+
const result = [];
|
|
231
|
+
for (const line of existing) {
|
|
232
|
+
const trimmed = line.trim();
|
|
233
|
+
if (trimmed.startsWith("#") || trimmed === "") {
|
|
234
|
+
result.push(line);
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
const eqIdx = trimmed.indexOf("=");
|
|
238
|
+
const key = eqIdx > 0 ? trimmed.slice(0, eqIdx).trim() : "";
|
|
239
|
+
if (varKeys.has(key)) {
|
|
240
|
+
// Replace with the resolved value.
|
|
241
|
+
switch (key) {
|
|
242
|
+
case "NEURALGENTICS_EMBED_DTYPE":
|
|
243
|
+
result.push(`NEURALGENTICS_EMBED_DTYPE=${vars.dtype}`);
|
|
244
|
+
break;
|
|
245
|
+
case "NEURALGENTICS_EMBED_DEVICE":
|
|
246
|
+
result.push(`NEURALGENTICS_EMBED_DEVICE=${vars.device}`);
|
|
247
|
+
break;
|
|
248
|
+
case "EAGER":
|
|
249
|
+
result.push(`EAGER=${vars.eager}`);
|
|
250
|
+
break;
|
|
251
|
+
case "IDLE_MIN":
|
|
252
|
+
result.push(`IDLE_MIN=${vars.idleMin}`);
|
|
253
|
+
break;
|
|
254
|
+
case "NEURALGENTICS_SIDECAR_STATUS_PORT":
|
|
255
|
+
result.push(`NEURALGENTICS_SIDECAR_STATUS_PORT=${vars.statusPort}`);
|
|
256
|
+
break;
|
|
257
|
+
case "NEURALGENTICS_EMBED_MODEL":
|
|
258
|
+
result.push(`NEURALGENTICS_EMBED_MODEL=${vars.embedModel}`);
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
updated.add(key);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
result.push(line);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// Append any vars that weren't already in the file.
|
|
268
|
+
for (const line of lines) {
|
|
269
|
+
const key = line.slice(0, line.indexOf("="));
|
|
270
|
+
if (!updated.has(key))
|
|
271
|
+
result.push(line);
|
|
272
|
+
}
|
|
273
|
+
await fs.writeFile(envPath, result.join("\n"), "utf-8");
|
|
274
|
+
}
|
|
275
|
+
// ---------------------------------------------------------------------------
|
|
152
276
|
// Public entry point
|
|
153
277
|
// ---------------------------------------------------------------------------
|
|
154
278
|
/**
|
|
@@ -200,6 +324,12 @@ export async function runInit(args) {
|
|
|
200
324
|
else if (!args.yes) {
|
|
201
325
|
await promptForBackend(target);
|
|
202
326
|
}
|
|
327
|
+
// 10b. Write quantize + lazy-load vars to .env (non-destructive).
|
|
328
|
+
// Runs even in --dry-run-safe flows because .env is a plain file,
|
|
329
|
+
// but skip in dry-run to keep the dry-run truly non-writing.
|
|
330
|
+
if (!dryRun) {
|
|
331
|
+
await writeEnvQuantizeVars(target, args);
|
|
332
|
+
}
|
|
203
333
|
// 11. Write state file.
|
|
204
334
|
await writeState(target, version, manifest, args.repo, backupPathStr);
|
|
205
335
|
// 12. Print summary.
|
|
@@ -750,7 +880,7 @@ async function bringUpBackend(target, _yes) {
|
|
|
750
880
|
const cmd = composeUpCommand(tool);
|
|
751
881
|
execSync(cmd, { cwd: target, stdio: "pipe", timeout: 120_000 });
|
|
752
882
|
process.stdout.write(`\nContainers started via \`${cmd}\`.\n` +
|
|
753
|
-
`Database available at localhost:
|
|
883
|
+
`Database available at localhost:6200 (user/pass from .env file).\n`);
|
|
754
884
|
}
|
|
755
885
|
catch (exc) {
|
|
756
886
|
throw new ComposeUpFailed(`compose up -d failed: ${exc instanceof Error ? exc.message : String(exc)}`);
|
|
@@ -765,4 +895,8 @@ function askQuestion(prompt) {
|
|
|
765
895
|
});
|
|
766
896
|
});
|
|
767
897
|
}
|
|
898
|
+
// ---------------------------------------------------------------------------
|
|
899
|
+
// Re-exports from sibling modules (single import surface for cli.ts)
|
|
900
|
+
// ---------------------------------------------------------------------------
|
|
901
|
+
export { runMigrateEmbeddings, } from "./migrate.js";
|
|
768
902
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/neuralgentics/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/neuralgentics/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* migrate-embeddings — re-embed all memories with a new model.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* neuralgentics migrate-embeddings [--from MODEL] [--to bge-m3] [--batch N] [--dry-run] [--no-backup]
|
|
6
|
+
*
|
|
7
|
+
* Thin wrapper that calls the Go backend's `memory.migrate_embeddings`
|
|
8
|
+
* JSON-RPC method via `GoBackendClient`. The backend does all the heavy
|
|
9
|
+
* lifting (batch reads, re-embed via sidecar, update DB, preserve old
|
|
10
|
+
* vectors). This module just:
|
|
11
|
+
* 1. Spawns the backend and waits for ready.
|
|
12
|
+
* 2. Calls `memory.migrate_embeddings` with the parsed CLI options.
|
|
13
|
+
* 3. Prints a human-readable summary.
|
|
14
|
+
* 4. Returns 0 on success (no errors), 1 if any errors occurred.
|
|
15
|
+
*
|
|
16
|
+
* The migration is safe to interrupt (the Go backend handles per-row
|
|
17
|
+
* commits) and supports `--dry-run` for a preview without writes.
|
|
18
|
+
*/
|
|
19
|
+
export interface MigrateEmbeddingsOptions {
|
|
20
|
+
from?: string;
|
|
21
|
+
to: string;
|
|
22
|
+
batch: number;
|
|
23
|
+
dryRun: boolean;
|
|
24
|
+
backup: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Shape of the Go backend's `memory.migrate_embeddings` result.
|
|
28
|
+
*
|
|
29
|
+
* All fields are returned by the backend; the TS side just casts and
|
|
30
|
+
* pretty-prints them.
|
|
31
|
+
*/
|
|
32
|
+
export interface MigrateEmbeddingsResult {
|
|
33
|
+
totalMemories: number;
|
|
34
|
+
migratedCount: number;
|
|
35
|
+
skippedCount: number;
|
|
36
|
+
errorCount: number;
|
|
37
|
+
fromModel: string;
|
|
38
|
+
toModel: string;
|
|
39
|
+
elapsedSeconds: number;
|
|
40
|
+
errors: string[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Run the embedding migration.
|
|
44
|
+
*
|
|
45
|
+
* @param opts - Parsed CLI options.
|
|
46
|
+
* @returns Process exit code: 0 on success (no errors), 1 if errors occurred.
|
|
47
|
+
*/
|
|
48
|
+
export declare function runMigrateEmbeddings(opts: MigrateEmbeddingsOptions): Promise<number>;
|
|
49
|
+
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/neuralgentics/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAeD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,MAAM,CAAC,CA+DjB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* migrate-embeddings — re-embed all memories with a new model.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* neuralgentics migrate-embeddings [--from MODEL] [--to bge-m3] [--batch N] [--dry-run] [--no-backup]
|
|
6
|
+
*
|
|
7
|
+
* Thin wrapper that calls the Go backend's `memory.migrate_embeddings`
|
|
8
|
+
* JSON-RPC method via `GoBackendClient`. The backend does all the heavy
|
|
9
|
+
* lifting (batch reads, re-embed via sidecar, update DB, preserve old
|
|
10
|
+
* vectors). This module just:
|
|
11
|
+
* 1. Spawns the backend and waits for ready.
|
|
12
|
+
* 2. Calls `memory.migrate_embeddings` with the parsed CLI options.
|
|
13
|
+
* 3. Prints a human-readable summary.
|
|
14
|
+
* 4. Returns 0 on success (no errors), 1 if any errors occurred.
|
|
15
|
+
*
|
|
16
|
+
* The migration is safe to interrupt (the Go backend handles per-row
|
|
17
|
+
* commits) and supports `--dry-run` for a preview without writes.
|
|
18
|
+
*/
|
|
19
|
+
import { GoBackendClient } from "./go-backend-client.js";
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Backend binary path resolution
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
/** Resolve the Go backend binary path — same logic as `memory-client.ts`. */
|
|
24
|
+
function resolveBinaryPath() {
|
|
25
|
+
return process.env.NEURALGENTICS_BACKEND_PATH ?? "neuralgentics-backend";
|
|
26
|
+
}
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Entry point
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
/**
|
|
31
|
+
* Run the embedding migration.
|
|
32
|
+
*
|
|
33
|
+
* @param opts - Parsed CLI options.
|
|
34
|
+
* @returns Process exit code: 0 on success (no errors), 1 if errors occurred.
|
|
35
|
+
*/
|
|
36
|
+
export async function runMigrateEmbeddings(opts) {
|
|
37
|
+
const binaryPath = resolveBinaryPath();
|
|
38
|
+
const client = new GoBackendClient(binaryPath);
|
|
39
|
+
try {
|
|
40
|
+
await client.waitForReady();
|
|
41
|
+
// Show progress context (Go backend doesn't stream progress, but this
|
|
42
|
+
// sets expectations so the user doesn't think it hung).
|
|
43
|
+
process.stdout.write(`Migrating memories: ${opts.from ? `from ${opts.from}` : "all"} -> ${opts.to}\n` +
|
|
44
|
+
`Backup: ${opts.backup ? "yes" : "no"}, Batch: ${opts.batch}, Dry-run: ${opts.dryRun}\n` +
|
|
45
|
+
`This may take 1-2 minutes for ~80 memories (cold model load + per-memory embed).\n\n`);
|
|
46
|
+
const result = (await client.call("memory.migrate_embeddings", {
|
|
47
|
+
from_model: opts.from,
|
|
48
|
+
to_model: opts.to,
|
|
49
|
+
batch_size: opts.batch,
|
|
50
|
+
dry_run: opts.dryRun,
|
|
51
|
+
backup: opts.backup,
|
|
52
|
+
}, 300_000));
|
|
53
|
+
process.stdout.write(`\n${opts.dryRun ? "[DRY-RUN] " : ""}Migration ${opts.dryRun ? "preview" : "complete"}:\n` +
|
|
54
|
+
` Total memories: ${result.totalMemories}\n` +
|
|
55
|
+
` Migrated: ${result.migratedCount}\n` +
|
|
56
|
+
` Skipped: ${result.skippedCount}\n` +
|
|
57
|
+
` Errors: ${result.errorCount}\n` +
|
|
58
|
+
` From -> To: ${result.fromModel} -> ${result.toModel}\n` +
|
|
59
|
+
` Elapsed: ${result.elapsedSeconds.toFixed(1)}s\n`);
|
|
60
|
+
if (result.errors && result.errors.length > 0) {
|
|
61
|
+
const preview = result.errors.slice(0, 10);
|
|
62
|
+
process.stdout.write(`\nFirst ${preview.length} of ${result.errors.length} errors:\n` +
|
|
63
|
+
preview.map((e) => ` - ${e}`).join("\n") +
|
|
64
|
+
"\n");
|
|
65
|
+
}
|
|
66
|
+
if (opts.backup && result.migratedCount > 0 && !opts.dryRun) {
|
|
67
|
+
process.stdout.write(`\nOld vectors preserved in 'embedding_legacy' column. To rollback:\n` +
|
|
68
|
+
` UPDATE memories SET embedding = embedding_legacy, embedding_model = embedding_model_legacy WHERE embedding_legacy IS NOT NULL;\n` +
|
|
69
|
+
`\nTo drop the backup columns after verifying the migration:\n` +
|
|
70
|
+
` ALTER TABLE memories DROP COLUMN embedding_legacy, DROP COLUMN embedding_model_legacy;\n`);
|
|
71
|
+
}
|
|
72
|
+
return result.errorCount > 0 ? 1 : 0;
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
process.stderr.write(`[ERROR] Migration failed: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
76
|
+
return 1;
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
await client.shutdown();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/neuralgentics/migrate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED