@mclean-capital/neura 2.4.1 → 3.0.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/core/server.bundled.mjs +79962 -57877
- package/core/server.bundled.mjs.map +4 -4
- package/core/version.txt +1 -1
- package/dist/commands/backup.js +2 -2
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +42 -14
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +24 -15
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/open.js +1 -1
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/restart.js +1 -1
- package/dist/commands/restart.js.map +1 -1
- package/dist/commands/start.js +1 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/version.js +1 -1
- package/dist/commands/version.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -16
- package/dist/config.js.map +1 -1
- package/package.json +1 -1
- package/stores/index.js +44 -13
- package/stores/index.js.map +2 -2
- package/stores/memory-queries.d.ts.map +1 -1
- package/stores/memory-queries.js +3 -4
- package/stores/memory-queries.js.map +1 -1
- package/stores/migrations.d.ts +1 -1
- package/stores/migrations.d.ts.map +1 -1
- package/stores/migrations.js +55 -8
- package/stores/migrations.js.map +1 -1
- package/stores/pglite-store.d.ts +1 -1
- package/stores/pglite-store.d.ts.map +1 -1
- package/stores/pglite-store.js +2 -2
- package/stores/pglite-store.js.map +1 -1
package/core/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.0.0
|
package/dist/commands/backup.js
CHANGED
|
@@ -7,7 +7,7 @@ function authHeaders(token) {
|
|
|
7
7
|
}
|
|
8
8
|
export async function backupCommand() {
|
|
9
9
|
const config = loadConfig();
|
|
10
|
-
const health = await checkHealth(config.port);
|
|
10
|
+
const health = await checkHealth(config.port ?? 0);
|
|
11
11
|
if (!health) {
|
|
12
12
|
console.log(chalk.red('Core is not running. Start it with: neura start'));
|
|
13
13
|
process.exit(1);
|
|
@@ -33,7 +33,7 @@ export async function backupCommand() {
|
|
|
33
33
|
}
|
|
34
34
|
export async function restoreCommand(options) {
|
|
35
35
|
const config = loadConfig();
|
|
36
|
-
const health = await checkHealth(config.port);
|
|
36
|
+
const health = await checkHealth(config.port ?? 0);
|
|
37
37
|
if (!health) {
|
|
38
38
|
console.log(chalk.red('Core is not running. Start it with: neura start'));
|
|
39
39
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAyBA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAWlD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAoBjE;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CA4CxC;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
package/dist/commands/config.js
CHANGED
|
@@ -2,7 +2,11 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { existsSync, readdirSync } from 'fs';
|
|
3
3
|
import { join } from 'path';
|
|
4
4
|
import { loadConfig, getConfigValue, setConfigValue, getNeuraHome } from '../config.js';
|
|
5
|
-
|
|
5
|
+
/** Keys that should be redacted when displayed */
|
|
6
|
+
function isRedactedKey(key) {
|
|
7
|
+
// Redact any providers.*.apiKey and authToken
|
|
8
|
+
return /^providers\.\w+\.apiKey$/.test(key) || key === 'authToken';
|
|
9
|
+
}
|
|
6
10
|
/** List available wake-word classifier names from ~/.neura/models/ */
|
|
7
11
|
function getAvailableWakeWords() {
|
|
8
12
|
const modelsDir = join(getNeuraHome(), 'models');
|
|
@@ -23,7 +27,7 @@ export function configGetCommand(key) {
|
|
|
23
27
|
console.log(chalk.red(`Key not found: ${key}`));
|
|
24
28
|
process.exit(1);
|
|
25
29
|
}
|
|
26
|
-
if (
|
|
30
|
+
if (isRedactedKey(key)) {
|
|
27
31
|
console.log(value.slice(0, 8) + '...');
|
|
28
32
|
}
|
|
29
33
|
else {
|
|
@@ -31,12 +35,8 @@ export function configGetCommand(key) {
|
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
37
|
export function configSetCommand(key, value) {
|
|
34
|
-
// Block setting
|
|
35
|
-
|
|
36
|
-
// disables and the user only discovers the breakage next time
|
|
37
|
-
// they go to passive mode. Failing fast with the list of valid
|
|
38
|
-
// options is far better UX.
|
|
39
|
-
if (key === 'assistantName') {
|
|
38
|
+
// Block setting wakeWord to a name without a matching .onnx classifier
|
|
39
|
+
if (key === 'wakeWord' || key === 'assistantName') {
|
|
40
40
|
const classifierPath = join(getNeuraHome(), 'models', `${value}.onnx`);
|
|
41
41
|
if (!existsSync(classifierPath)) {
|
|
42
42
|
const available = getAvailableWakeWords();
|
|
@@ -59,12 +59,40 @@ export function configListCommand() {
|
|
|
59
59
|
const config = loadConfig();
|
|
60
60
|
console.log();
|
|
61
61
|
console.log(chalk.bold(' Configuration'));
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
// Providers
|
|
63
|
+
const providerIds = Object.keys(config.providers);
|
|
64
|
+
if (providerIds.length > 0) {
|
|
65
|
+
console.log(chalk.bold(' Providers:'));
|
|
66
|
+
for (const id of providerIds) {
|
|
67
|
+
const key = config.providers[id].apiKey;
|
|
68
|
+
const display = key ? key.slice(0, 8) + '...' : chalk.dim('(not set)');
|
|
69
|
+
console.log(` ${id}: ${display}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.log(` providers: ${chalk.dim('(none configured)')}`);
|
|
74
|
+
}
|
|
75
|
+
// Routing
|
|
76
|
+
console.log(chalk.bold(' Routing:'));
|
|
77
|
+
const r = config.routing;
|
|
78
|
+
const fmtRoute = (route) => route ? `${route.provider}/${route.model}` : chalk.dim('(not configured)');
|
|
79
|
+
if (r.voice) {
|
|
80
|
+
console.log(` voice: ${r.voice.mode === 'realtime' ? `${r.voice.provider}/${r.voice.model}` : 'pipeline'}`);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
console.log(` voice: ${chalk.dim('(not configured)')}`);
|
|
84
|
+
}
|
|
85
|
+
console.log(` vision: ${r.vision ? `${fmtRoute(r.vision)} (${r.vision.mode})` : chalk.dim('(not configured)')}`);
|
|
86
|
+
console.log(` text: ${fmtRoute(r.text)}`);
|
|
87
|
+
console.log(` embedding: ${r.embedding ? `${fmtRoute(r.embedding)} (${r.embedding.dimensions}d)` : chalk.dim('(not configured)')}`);
|
|
88
|
+
console.log(` worker: ${fmtRoute(r.worker)}`);
|
|
89
|
+
// Other settings
|
|
90
|
+
if (config.port != null)
|
|
91
|
+
console.log(` port: ${config.port}`);
|
|
92
|
+
if (config.wakeWord)
|
|
93
|
+
console.log(` wakeWord: ${config.wakeWord}`);
|
|
94
|
+
if (config.assistantName)
|
|
95
|
+
console.log(` assistantName: ${config.assistantName}`);
|
|
68
96
|
console.log();
|
|
69
97
|
}
|
|
70
98
|
export function configPathCommand() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAExF,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;GAaG;AACH,iBAAS,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBzD;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;GAaG;AACH,iBAAS,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBzD;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuP7E;AAGD,eAAO,MAAM,QAAQ;;CAEpB,CAAC"}
|
package/dist/commands/install.js
CHANGED
|
@@ -58,7 +58,7 @@ export async function installCommand(opts = {}) {
|
|
|
58
58
|
console.log();
|
|
59
59
|
// Check if already installed (skip if port not yet assigned)
|
|
60
60
|
const currentConfig = loadConfig();
|
|
61
|
-
const existing = currentConfig.port > 0 ? await checkHealth(currentConfig.port) : null;
|
|
61
|
+
const existing = (currentConfig.port ?? 0) > 0 ? await checkHealth(currentConfig.port ?? 0) : null;
|
|
62
62
|
if (existing) {
|
|
63
63
|
console.log(chalk.green(' Core is already running on port ' + existing.port));
|
|
64
64
|
if (!nonInteractive) {
|
|
@@ -108,26 +108,26 @@ export async function installCommand(opts = {}) {
|
|
|
108
108
|
// API keys — in --yes mode, reuse whatever is already in config.json.
|
|
109
109
|
// The user already entered these on a previous install; the update
|
|
110
110
|
// flow should not re-prompt for them.
|
|
111
|
-
let xaiKey = config.
|
|
112
|
-
let googleKey = config.
|
|
111
|
+
let xaiKey = config.providers?.xai?.apiKey ?? '';
|
|
112
|
+
let googleKey = config.providers?.google?.apiKey ?? '';
|
|
113
113
|
if (!nonInteractive) {
|
|
114
114
|
console.log(chalk.dim(' API Keys'));
|
|
115
115
|
xaiKey =
|
|
116
116
|
(await password({
|
|
117
|
-
message: `XAI_API_KEY${
|
|
117
|
+
message: `XAI_API_KEY${xaiKey ? ' (press Enter to keep existing)' : ''}:`,
|
|
118
118
|
mask: '*',
|
|
119
|
-
})) ||
|
|
119
|
+
})) || xaiKey;
|
|
120
120
|
googleKey =
|
|
121
121
|
(await password({
|
|
122
|
-
message: `GOOGLE_API_KEY${
|
|
122
|
+
message: `GOOGLE_API_KEY${googleKey ? ' (press Enter to keep existing)' : ''}:`,
|
|
123
123
|
mask: '*',
|
|
124
|
-
})) ||
|
|
124
|
+
})) || googleKey;
|
|
125
125
|
}
|
|
126
126
|
// Port — auto-assign unless user already has one configured
|
|
127
127
|
console.log();
|
|
128
128
|
console.log(chalk.dim(' Port'));
|
|
129
129
|
let port;
|
|
130
|
-
if (config.port > 0) {
|
|
130
|
+
if ((config.port ?? 0) > 0) {
|
|
131
131
|
// User has a previously configured port — keep it
|
|
132
132
|
port = config.port;
|
|
133
133
|
console.log(` Using configured port: ${port}`);
|
|
@@ -157,21 +157,30 @@ export async function installCommand(opts = {}) {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
// Voice
|
|
160
|
+
const currentVoice = config.routing?.voice?.mode === 'realtime'
|
|
161
|
+
? (config.routing.voice.voice ?? 'eve')
|
|
162
|
+
: 'eve';
|
|
160
163
|
const voice = nonInteractive
|
|
161
|
-
?
|
|
164
|
+
? currentVoice
|
|
162
165
|
: await input({
|
|
163
166
|
message: 'Voice:',
|
|
164
|
-
default:
|
|
167
|
+
default: currentVoice,
|
|
165
168
|
});
|
|
166
169
|
// Generate auth token if not already set
|
|
167
170
|
if (!config.authToken) {
|
|
168
171
|
config.authToken = generateAuthToken();
|
|
169
172
|
}
|
|
170
|
-
// Save config
|
|
171
|
-
config.
|
|
172
|
-
|
|
173
|
+
// Save config in v3 format
|
|
174
|
+
if (!config.providers)
|
|
175
|
+
config.providers = {};
|
|
176
|
+
if (xaiKey)
|
|
177
|
+
config.providers.xai = { apiKey: xaiKey };
|
|
178
|
+
if (googleKey)
|
|
179
|
+
config.providers.google = { apiKey: googleKey };
|
|
173
180
|
config.port = port;
|
|
174
|
-
config.voice
|
|
181
|
+
if (config.routing?.voice?.mode === 'realtime') {
|
|
182
|
+
config.routing.voice.voice = voice;
|
|
183
|
+
}
|
|
175
184
|
saveConfig(config);
|
|
176
185
|
console.log();
|
|
177
186
|
console.log(chalk.dim(' Config saved to ' + home + '/config.json'));
|
|
@@ -238,7 +247,7 @@ export async function installCommand(opts = {}) {
|
|
|
238
247
|
// Wait for health (only if service was started)
|
|
239
248
|
if (serviceRegistered) {
|
|
240
249
|
console.log(chalk.dim(' Starting core...'));
|
|
241
|
-
const health = await waitForHealthy(config.port);
|
|
250
|
+
const health = await waitForHealthy(config.port ?? 0);
|
|
242
251
|
if (health) {
|
|
243
252
|
console.log(chalk.green(` ✓ Core running on ws://localhost:${health.port}`));
|
|
244
253
|
console.log(chalk.green(' ✓ Health check: ok'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,CAAC,oCAAoC;IAErE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,UAAU,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,2BAA2B;YAC/D,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB,EAAE;IAC5D,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAClC,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAE5B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,6DAA6D;IAC7D,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IACnC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/open.js
CHANGED
|
@@ -5,7 +5,7 @@ import { loadConfig } from '../config.js';
|
|
|
5
5
|
import { checkHealth } from '../health.js';
|
|
6
6
|
export async function openCommand() {
|
|
7
7
|
const config = loadConfig();
|
|
8
|
-
const health = await checkHealth(config.port);
|
|
8
|
+
const health = await checkHealth(config.port ?? 3002);
|
|
9
9
|
if (!health) {
|
|
10
10
|
console.log(chalk.red('Core is not running. Start it with: neura start'));
|
|
11
11
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAEtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;IAC/B,MAAM,GAAG,GAAG,KAAK;QACf,CAAC,CAAC,oBAAoB,MAAM,CAAC,IAAI,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE;QACtE,CAAC,CAAC,oBAAoB,MAAM,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE/C,4DAA4D;IAC5D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3E,MAAM,IAAI,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/commands/restart.js
CHANGED
|
@@ -11,7 +11,7 @@ export async function restartCommand() {
|
|
|
11
11
|
}
|
|
12
12
|
console.log('Restarting core...');
|
|
13
13
|
svc.restart();
|
|
14
|
-
const health = await waitForHealthy(config.port);
|
|
14
|
+
const health = await waitForHealthy(config.port ?? 0);
|
|
15
15
|
if (health) {
|
|
16
16
|
console.log(chalk.green(`Core running on port ${health.port}`));
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../src/commands/restart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,GAAG,CAAC,OAAO,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../src/commands/restart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,GAAG,CAAC,OAAO,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACtD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
|
package/dist/commands/start.js
CHANGED
|
@@ -16,7 +16,7 @@ export async function startCommand() {
|
|
|
16
16
|
}
|
|
17
17
|
console.log('Starting core...');
|
|
18
18
|
svc.start();
|
|
19
|
-
const health = await waitForHealthy(config.port);
|
|
19
|
+
const health = await waitForHealthy(config.port ?? 0);
|
|
20
20
|
if (health) {
|
|
21
21
|
console.log(chalk.green(`Core running on port ${health.port}`));
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,GAAG,CAAC,KAAK,EAAE,CAAC;IAEZ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,GAAG,CAAC,KAAK,EAAE,CAAC;IAEZ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACtD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,0BAA0B,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/commands/status.js
CHANGED
|
@@ -15,7 +15,7 @@ function formatUptime(seconds) {
|
|
|
15
15
|
}
|
|
16
16
|
export async function statusCommand() {
|
|
17
17
|
const config = loadConfig();
|
|
18
|
-
const health = await checkHealth(config.port);
|
|
18
|
+
const health = await checkHealth(config.port ?? 0);
|
|
19
19
|
const svc = await getServiceManager();
|
|
20
20
|
console.log();
|
|
21
21
|
console.log(chalk.bold(' Neura Core'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC;IACvD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC;IACvD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAEtC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAExC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CACT,gBAAgB,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CACtF,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,0BAA0B,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/commands/version.js
CHANGED
|
@@ -5,7 +5,7 @@ import { checkHealth } from '../health.js';
|
|
|
5
5
|
import { hasCoreBinary, getInstalledCoreVersion } from '../download.js';
|
|
6
6
|
export async function versionCommand() {
|
|
7
7
|
const config = loadConfig();
|
|
8
|
-
const health = await checkHealth(config.port);
|
|
8
|
+
const health = await checkHealth(config.port ?? 3002);
|
|
9
9
|
const installedVersion = getInstalledCoreVersion();
|
|
10
10
|
console.log(`neura-cli ${CLI_VERSION}`);
|
|
11
11
|
if (health) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IAEnD,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IAEzC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,IAAI,SAAS,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,mBAAmB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,gBAAgB,IAAI,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;SAAM,IAAI,aAAa,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,YAAY,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,YAAY,EAAE,eAAe,EAAE,CAAC;AAiBhC,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAWtC;AAED,wBAAgB,UAAU,IAAI,eAAe,CAqB5C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CASxD;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU9D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAyB/D"}
|
package/dist/config.js
CHANGED
|
@@ -3,10 +3,18 @@ import { randomBytes } from 'crypto';
|
|
|
3
3
|
import { join } from 'path';
|
|
4
4
|
import { homedir, platform } from 'os';
|
|
5
5
|
const DEFAULT_CONFIG = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
providers: {},
|
|
7
|
+
routing: {
|
|
8
|
+
voice: { mode: 'realtime', provider: 'xai', model: 'grok-realtime' },
|
|
9
|
+
vision: { mode: 'streaming', provider: 'google', model: 'gemini-2.5-flash' },
|
|
10
|
+
text: { provider: 'google', model: 'gemini-2.5-flash' },
|
|
11
|
+
embedding: {
|
|
12
|
+
provider: 'google',
|
|
13
|
+
model: 'gemini-embedding-2-preview',
|
|
14
|
+
dimensions: 3072,
|
|
15
|
+
},
|
|
16
|
+
worker: { provider: 'xai', model: 'grok-4-fast' },
|
|
17
|
+
},
|
|
10
18
|
};
|
|
11
19
|
export function getNeuraHome() {
|
|
12
20
|
return process.env.NEURA_HOME ?? join(homedir(), '.neura');
|
|
@@ -29,27 +37,24 @@ export function ensureNeuraHome() {
|
|
|
29
37
|
export function loadConfig() {
|
|
30
38
|
const configPath = getConfigPath();
|
|
31
39
|
if (!existsSync(configPath))
|
|
32
|
-
return
|
|
40
|
+
return structuredClone(DEFAULT_CONFIG);
|
|
33
41
|
try {
|
|
34
42
|
const raw = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
35
43
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
},
|
|
42
|
-
service: {
|
|
43
|
-
autoStart: raw.service?.autoStart ?? true,
|
|
44
|
-
logLevel: raw.service?.logLevel ?? 'info',
|
|
45
|
-
},
|
|
44
|
+
providers: raw.providers ?? DEFAULT_CONFIG.providers,
|
|
45
|
+
routing: raw.routing ?? DEFAULT_CONFIG.routing,
|
|
46
|
+
assistantName: raw.assistantName,
|
|
47
|
+
wakeWord: raw.wakeWord,
|
|
48
|
+
port: raw.port,
|
|
46
49
|
pgDataPath: raw.pgDataPath,
|
|
47
50
|
autoUpdate: raw.autoUpdate,
|
|
48
51
|
authToken: process.env.NEURA_AUTH_TOKEN ?? raw.authToken,
|
|
52
|
+
retrievalStrategy: raw.retrievalStrategy,
|
|
53
|
+
memoryTiers: raw.memoryTiers,
|
|
49
54
|
};
|
|
50
55
|
}
|
|
51
56
|
catch {
|
|
52
|
-
return
|
|
57
|
+
return structuredClone(DEFAULT_CONFIG);
|
|
53
58
|
}
|
|
54
59
|
}
|
|
55
60
|
export function saveConfig(config) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAKvC,MAAM,cAAc,GAAoB;IACtC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/stores/index.js
CHANGED
|
@@ -4385,8 +4385,14 @@ var Logger = class _Logger {
|
|
|
4385
4385
|
|
|
4386
4386
|
// src/stores/migrations.ts
|
|
4387
4387
|
var log = new Logger("store");
|
|
4388
|
-
async function runMigrations(db) {
|
|
4388
|
+
async function runMigrations(db, embeddingDimensions = 3072) {
|
|
4389
4389
|
await db.exec("CREATE EXTENSION IF NOT EXISTS vector;");
|
|
4390
|
+
await db.exec(`
|
|
4391
|
+
CREATE TABLE IF NOT EXISTS _meta (
|
|
4392
|
+
key TEXT PRIMARY KEY,
|
|
4393
|
+
value TEXT NOT NULL
|
|
4394
|
+
)
|
|
4395
|
+
`);
|
|
4390
4396
|
await db.exec(`
|
|
4391
4397
|
CREATE TABLE IF NOT EXISTS sessions (
|
|
4392
4398
|
id TEXT PRIMARY KEY,
|
|
@@ -4437,7 +4443,7 @@ async function runMigrations(db) {
|
|
|
4437
4443
|
content TEXT NOT NULL,
|
|
4438
4444
|
category TEXT NOT NULL DEFAULT 'general',
|
|
4439
4445
|
tags JSONB NOT NULL DEFAULT '[]',
|
|
4440
|
-
embedding vector(
|
|
4446
|
+
embedding vector(${embeddingDimensions}),
|
|
4441
4447
|
source_session_id TEXT,
|
|
4442
4448
|
confidence REAL NOT NULL DEFAULT 0.8,
|
|
4443
4449
|
access_count INTEGER NOT NULL DEFAULT 0,
|
|
@@ -4452,10 +4458,13 @@ async function runMigrations(db) {
|
|
|
4452
4458
|
`SELECT format_type(atttypid, atttypmod) AS col_type FROM pg_attribute
|
|
4453
4459
|
WHERE attrelid = 'facts'::regclass AND attname = 'embedding'`
|
|
4454
4460
|
);
|
|
4455
|
-
if (typeCheck.rows.length > 0 && typeCheck.rows[0].col_type !==
|
|
4461
|
+
if (typeCheck.rows.length > 0 && typeCheck.rows[0].col_type !== `vector(${embeddingDimensions})`) {
|
|
4456
4462
|
await db.exec("ALTER TABLE facts DROP COLUMN embedding");
|
|
4457
|
-
await db.exec(
|
|
4458
|
-
log.info("migrated facts.embedding
|
|
4463
|
+
await db.exec(`ALTER TABLE facts ADD COLUMN embedding vector(${embeddingDimensions})`);
|
|
4464
|
+
log.info("migrated facts.embedding", {
|
|
4465
|
+
was: typeCheck.rows[0].col_type,
|
|
4466
|
+
now: `vector(${embeddingDimensions})`
|
|
4467
|
+
});
|
|
4459
4468
|
}
|
|
4460
4469
|
await db.exec(
|
|
4461
4470
|
"CREATE UNIQUE INDEX IF NOT EXISTS idx_facts_content_category ON facts(content, category)"
|
|
@@ -4540,7 +4549,9 @@ async function runMigrations(db) {
|
|
|
4540
4549
|
content || ' ' || COALESCE((SELECT string_agg(value, ' ') FROM jsonb_array_elements_text(tags)), '')
|
|
4541
4550
|
) WHERE tsv IS NULL
|
|
4542
4551
|
`);
|
|
4543
|
-
await db.exec(
|
|
4552
|
+
await db.exec(
|
|
4553
|
+
`ALTER TABLE transcripts ADD COLUMN IF NOT EXISTS embedding vector(${embeddingDimensions})`
|
|
4554
|
+
);
|
|
4544
4555
|
await db.exec(`
|
|
4545
4556
|
CREATE TABLE IF NOT EXISTS entities (
|
|
4546
4557
|
id TEXT PRIMARY KEY,
|
|
@@ -4583,7 +4594,7 @@ async function runMigrations(db) {
|
|
|
4583
4594
|
id TEXT PRIMARY KEY,
|
|
4584
4595
|
session_id TEXT NOT NULL REFERENCES sessions(id),
|
|
4585
4596
|
chunk_text TEXT NOT NULL,
|
|
4586
|
-
embedding vector(
|
|
4597
|
+
embedding vector(${embeddingDimensions}),
|
|
4587
4598
|
start_transcript_id INTEGER NOT NULL,
|
|
4588
4599
|
end_transcript_id INTEGER NOT NULL,
|
|
4589
4600
|
created_at TIMESTAMP NOT NULL DEFAULT NOW()
|
|
@@ -4621,6 +4632,29 @@ async function runMigrations(db) {
|
|
|
4621
4632
|
use_count INTEGER NOT NULL DEFAULT 0
|
|
4622
4633
|
)
|
|
4623
4634
|
`);
|
|
4635
|
+
const storedDims = await db.query(
|
|
4636
|
+
`SELECT value FROM _meta WHERE key = 'embedding_dimensions'`
|
|
4637
|
+
);
|
|
4638
|
+
if (storedDims.rows.length === 0) {
|
|
4639
|
+
await db.query(`INSERT INTO _meta (key, value) VALUES ('embedding_dimensions', $1)`, [
|
|
4640
|
+
String(embeddingDimensions)
|
|
4641
|
+
]);
|
|
4642
|
+
} else if (storedDims.rows[0].value !== String(embeddingDimensions)) {
|
|
4643
|
+
log.warn("embedding dimensions changed", {
|
|
4644
|
+
was: storedDims.rows[0].value,
|
|
4645
|
+
now: embeddingDimensions
|
|
4646
|
+
});
|
|
4647
|
+
await db.query(`UPDATE _meta SET value = $1 WHERE key = 'embedding_dimensions'`, [
|
|
4648
|
+
String(embeddingDimensions)
|
|
4649
|
+
]);
|
|
4650
|
+
for (const table of ["facts", "transcripts", "transcript_chunks"]) {
|
|
4651
|
+
await db.exec(`ALTER TABLE ${table} DROP COLUMN IF EXISTS embedding`);
|
|
4652
|
+
await db.exec(`ALTER TABLE ${table} ADD COLUMN embedding vector(${embeddingDimensions})`);
|
|
4653
|
+
}
|
|
4654
|
+
log.info("embedding columns recreated with new dimensions", {
|
|
4655
|
+
dimensions: embeddingDimensions
|
|
4656
|
+
});
|
|
4657
|
+
}
|
|
4624
4658
|
const identityCount = await db.query(
|
|
4625
4659
|
"SELECT COUNT(*)::TEXT as count FROM identity"
|
|
4626
4660
|
);
|
|
@@ -4833,7 +4867,7 @@ async function getFacts(db, options = {}) {
|
|
|
4833
4867
|
return result.rows.map((r) => mapFact(r));
|
|
4834
4868
|
}
|
|
4835
4869
|
async function searchFacts(db, query, embedding, limit = 10) {
|
|
4836
|
-
if (embedding
|
|
4870
|
+
if (embedding && embedding.length > 0) {
|
|
4837
4871
|
const vecStr = `[${embedding.join(",")}]`;
|
|
4838
4872
|
const result2 = await db.query(
|
|
4839
4873
|
`SELECT * FROM facts
|
|
@@ -4858,9 +4892,6 @@ async function searchFacts(db, query, embedding, limit = 10) {
|
|
|
4858
4892
|
return result.rows.map((r) => mapFact(r));
|
|
4859
4893
|
}
|
|
4860
4894
|
async function upsertFact(db, content, category, tags, sourceSessionId, confidence = 0.8, embedding, tagPath) {
|
|
4861
|
-
if (embedding && embedding.length !== 3072) {
|
|
4862
|
-
throw new Error(`Embedding must be 3072-dimensional, got ${embedding.length}`);
|
|
4863
|
-
}
|
|
4864
4895
|
const id = crypto3.randomUUID();
|
|
4865
4896
|
const embeddingStr = embedding ? `[${embedding.join(",")}]` : null;
|
|
4866
4897
|
const resolvedTagPath = tagPath ?? category;
|
|
@@ -5754,12 +5785,12 @@ var PgliteStore = class _PgliteStore {
|
|
|
5754
5785
|
* Create a PgliteStore backed by a directory on disk (WAL-persisted).
|
|
5755
5786
|
* If no dataDir is provided, creates an in-memory instance (useful for tests).
|
|
5756
5787
|
*/
|
|
5757
|
-
static async create(dataDir) {
|
|
5788
|
+
static async create(dataDir, embeddingDimensions) {
|
|
5758
5789
|
const db = await PGlite.create(dataDir ?? "memory://", {
|
|
5759
5790
|
extensions: { vector }
|
|
5760
5791
|
});
|
|
5761
5792
|
const store = new _PgliteStore(db);
|
|
5762
|
-
await runMigrations(db);
|
|
5793
|
+
await runMigrations(db, embeddingDimensions);
|
|
5763
5794
|
return store;
|
|
5764
5795
|
}
|
|
5765
5796
|
// --- Session methods ---
|