@mclean-capital/neura 2.1.7 → 2.2.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/version.txt +1 -1
- package/dist/commands/install.d.ts +19 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +56 -1
- package/dist/commands/install.js.map +1 -1
- package/dist/download.d.ts +26 -0
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +31 -0
- package/dist/download.js.map +1 -1
- package/models/embedding_model.onnx +0 -0
- package/models/jarvis.onnx +0 -0
- package/models/melspectrogram.onnx +0 -0
- package/models/neura.onnx +0 -0
- package/package.json +2 -1
package/core/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.2.0
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copy any ONNX wake-word models shipped inside the CLI package into
|
|
3
|
+
* `$NEURA_HOME/models/`, but NEVER overwrite files that already exist.
|
|
4
|
+
*
|
|
5
|
+
* Why "never overwrite": users who train their own classifiers with
|
|
6
|
+
* `tools/wake-word/scripts/train.sh` deploy them to the same directory
|
|
7
|
+
* via `deploy.sh`. Overwriting on every `neura install` would clobber
|
|
8
|
+
* their trained models on each upgrade. First-write-wins means the
|
|
9
|
+
* bundled defaults only fill in gaps — once a user has their own
|
|
10
|
+
* `jarvis.onnx` in place, the bundled one stops being used.
|
|
11
|
+
*
|
|
12
|
+
* Returns the list of files actually copied so the caller can print a
|
|
13
|
+
* one-line summary to the user.
|
|
14
|
+
*/
|
|
15
|
+
declare function installBundledModels(neuraHome: string): string[];
|
|
1
16
|
export interface InstallOptions {
|
|
2
17
|
/**
|
|
3
18
|
* Skip all prompts and reuse existing config.
|
|
@@ -11,4 +26,8 @@ export interface InstallOptions {
|
|
|
11
26
|
yes?: boolean;
|
|
12
27
|
}
|
|
13
28
|
export declare function installCommand(opts?: InstallOptions): Promise<void>;
|
|
29
|
+
export declare const __test__: {
|
|
30
|
+
installBundledModels: typeof installBundledModels;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
14
33
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
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,CAoN7E;AAGD,eAAO,MAAM,QAAQ;;CAEpB,CAAC"}
|
package/dist/commands/install.js
CHANGED
|
@@ -1,11 +1,52 @@
|
|
|
1
1
|
import { input, password, confirm } from '@inquirer/prompts';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
+
import { copyFileSync, existsSync, mkdirSync, readdirSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
3
5
|
import { ensureNeuraHome, loadConfig, saveConfig, getNeuraHome, generateAuthToken, } from '../config.js';
|
|
4
6
|
import { getServiceManager } from '../service/manager.js';
|
|
5
7
|
import { getPlatformLabel } from '../service/detect.js';
|
|
6
8
|
import { checkHealth, waitForHealthy } from '../health.js';
|
|
7
|
-
import { hasCoreBinary } from '../download.js';
|
|
9
|
+
import { hasCoreBinary, getBundledModelsDir } from '../download.js';
|
|
8
10
|
import { findFreePort } from '../port.js';
|
|
11
|
+
/**
|
|
12
|
+
* Copy any ONNX wake-word models shipped inside the CLI package into
|
|
13
|
+
* `$NEURA_HOME/models/`, but NEVER overwrite files that already exist.
|
|
14
|
+
*
|
|
15
|
+
* Why "never overwrite": users who train their own classifiers with
|
|
16
|
+
* `tools/wake-word/scripts/train.sh` deploy them to the same directory
|
|
17
|
+
* via `deploy.sh`. Overwriting on every `neura install` would clobber
|
|
18
|
+
* their trained models on each upgrade. First-write-wins means the
|
|
19
|
+
* bundled defaults only fill in gaps — once a user has their own
|
|
20
|
+
* `jarvis.onnx` in place, the bundled one stops being used.
|
|
21
|
+
*
|
|
22
|
+
* Returns the list of files actually copied so the caller can print a
|
|
23
|
+
* one-line summary to the user.
|
|
24
|
+
*/
|
|
25
|
+
function installBundledModels(neuraHome) {
|
|
26
|
+
const src = getBundledModelsDir();
|
|
27
|
+
if (!existsSync(src))
|
|
28
|
+
return []; // Running from dev / unusual layout
|
|
29
|
+
const dest = join(neuraHome, 'models');
|
|
30
|
+
mkdirSync(dest, { recursive: true });
|
|
31
|
+
const copied = [];
|
|
32
|
+
try {
|
|
33
|
+
for (const entry of readdirSync(src)) {
|
|
34
|
+
if (!entry.endsWith('.onnx'))
|
|
35
|
+
continue;
|
|
36
|
+
const destPath = join(dest, entry);
|
|
37
|
+
if (existsSync(destPath))
|
|
38
|
+
continue; // Keep user-trained models
|
|
39
|
+
copyFileSync(join(src, entry), destPath);
|
|
40
|
+
copied.push(entry);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// Non-fatal: failing to seed the bundled models shouldn't block the
|
|
45
|
+
// whole install. The core will print a clear warning at connection
|
|
46
|
+
// time if models are missing, and the user can copy them manually.
|
|
47
|
+
}
|
|
48
|
+
return copied;
|
|
49
|
+
}
|
|
9
50
|
export async function installCommand(opts = {}) {
|
|
10
51
|
const nonInteractive = !!opts.yes;
|
|
11
52
|
const home = getNeuraHome();
|
|
@@ -33,6 +74,16 @@ export async function installCommand(opts = {}) {
|
|
|
33
74
|
// Ensure directory structure
|
|
34
75
|
ensureNeuraHome();
|
|
35
76
|
const config = loadConfig();
|
|
77
|
+
// Seed the wake-word models if they aren't already installed. This
|
|
78
|
+
// runs every `neura install` but is a no-op after the first one —
|
|
79
|
+
// existing files are never overwritten, so user-trained classifiers
|
|
80
|
+
// take priority. Prints a one-line summary if anything was copied.
|
|
81
|
+
const seededModels = installBundledModels(home);
|
|
82
|
+
if (seededModels.length > 0) {
|
|
83
|
+
console.log();
|
|
84
|
+
console.log(chalk.dim(' Wake word models'));
|
|
85
|
+
console.log(chalk.green(` ✓ Installed ${seededModels.length} model(s) to ${home}/models/`));
|
|
86
|
+
}
|
|
36
87
|
// API keys — in --yes mode, reuse whatever is already in config.json.
|
|
37
88
|
// The user already entered these on a previous install; the update
|
|
38
89
|
// flow should not re-prompt for them.
|
|
@@ -190,4 +241,8 @@ export async function installCommand(opts = {}) {
|
|
|
190
241
|
}
|
|
191
242
|
console.log();
|
|
192
243
|
}
|
|
244
|
+
// Exported for tests only.
|
|
245
|
+
export const __test__ = {
|
|
246
|
+
installBundledModels,
|
|
247
|
+
};
|
|
193
248
|
//# sourceMappingURL=install.js.map
|
|
@@ -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,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,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/download.d.ts
CHANGED
|
@@ -31,4 +31,30 @@ export declare function hasCoreBinary(): boolean;
|
|
|
31
31
|
* Returns null if the marker is missing.
|
|
32
32
|
*/
|
|
33
33
|
export declare function getInstalledCoreVersion(): string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Absolute path to the directory of ONNX wake-word models shipped
|
|
36
|
+
* inside the CLI npm package.
|
|
37
|
+
*
|
|
38
|
+
* Layout:
|
|
39
|
+
*
|
|
40
|
+
* $NPM_GLOBAL/lib/node_modules/@mclean-capital/neura/models/
|
|
41
|
+
* melspectrogram.onnx ← shared mel spectrogram encoder (~1 MB)
|
|
42
|
+
* embedding_model.onnx ← shared speech embedding model (~1.3 MB)
|
|
43
|
+
* jarvis.onnx ← "hey jarvis" classifier (~170 KB)
|
|
44
|
+
* neura.onnx ← "hey neura" classifier (~170 KB)
|
|
45
|
+
*
|
|
46
|
+
* The two infrastructure models (mel + embedding) come from the
|
|
47
|
+
* livekit-wakeword project (Apache 2.0). The two classifiers were
|
|
48
|
+
* trained from `tools/wake-word/` using the livekit-wakeword training
|
|
49
|
+
* pipeline. Total ~2.7 MB — small enough to ship committed so fresh
|
|
50
|
+
* `npm install -g @mclean-capital/neura` users get a working wake
|
|
51
|
+
* word detector out of the box without running a 45-minute Python
|
|
52
|
+
* training pipeline.
|
|
53
|
+
*
|
|
54
|
+
* `neura install` copies any missing files from here into
|
|
55
|
+
* `$NEURA_HOME/models/` on first install. Existing files in
|
|
56
|
+
* `$NEURA_HOME/models/` are never overwritten — users who train their
|
|
57
|
+
* own classifiers can drop them into place and they'll take priority.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getBundledModelsDir(): string;
|
|
34
60
|
//# sourceMappingURL=download.d.ts.map
|
package/dist/download.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6DAA6D;AAC7D,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED,oEAAoE;AACpE,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAIvD"}
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6DAA6D;AAC7D,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED,oEAAoE;AACpE,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAIvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAK5C"}
|
package/dist/download.js
CHANGED
|
@@ -49,4 +49,35 @@ export function getInstalledCoreVersion() {
|
|
|
49
49
|
return null;
|
|
50
50
|
return readFileSync(versionFile, 'utf-8').trim();
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Absolute path to the directory of ONNX wake-word models shipped
|
|
54
|
+
* inside the CLI npm package.
|
|
55
|
+
*
|
|
56
|
+
* Layout:
|
|
57
|
+
*
|
|
58
|
+
* $NPM_GLOBAL/lib/node_modules/@mclean-capital/neura/models/
|
|
59
|
+
* melspectrogram.onnx ← shared mel spectrogram encoder (~1 MB)
|
|
60
|
+
* embedding_model.onnx ← shared speech embedding model (~1.3 MB)
|
|
61
|
+
* jarvis.onnx ← "hey jarvis" classifier (~170 KB)
|
|
62
|
+
* neura.onnx ← "hey neura" classifier (~170 KB)
|
|
63
|
+
*
|
|
64
|
+
* The two infrastructure models (mel + embedding) come from the
|
|
65
|
+
* livekit-wakeword project (Apache 2.0). The two classifiers were
|
|
66
|
+
* trained from `tools/wake-word/` using the livekit-wakeword training
|
|
67
|
+
* pipeline. Total ~2.7 MB — small enough to ship committed so fresh
|
|
68
|
+
* `npm install -g @mclean-capital/neura` users get a working wake
|
|
69
|
+
* word detector out of the box without running a 45-minute Python
|
|
70
|
+
* training pipeline.
|
|
71
|
+
*
|
|
72
|
+
* `neura install` copies any missing files from here into
|
|
73
|
+
* `$NEURA_HOME/models/` on first install. Existing files in
|
|
74
|
+
* `$NEURA_HOME/models/` are never overwritten — users who train their
|
|
75
|
+
* own classifiers can drop them into place and they'll take priority.
|
|
76
|
+
*/
|
|
77
|
+
export function getBundledModelsDir() {
|
|
78
|
+
const thisFile = fileURLToPath(import.meta.url);
|
|
79
|
+
const thisDir = dirname(thisFile);
|
|
80
|
+
const pkgRoot = resolve(thisDir, '..');
|
|
81
|
+
return join(pkgRoot, 'models');
|
|
82
|
+
}
|
|
52
83
|
//# sourceMappingURL=download.js.map
|
package/dist/download.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB;IAC/B,oEAAoE;IACpE,sEAAsE;IACtE,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB;IAC/B,oEAAoE;IACpE,sEAAsE;IACtE,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mclean-capital/neura",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Neura — CLI for installing and managing the Neura AI assistant core service. Includes text chat and voice listen clients.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"neura",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"dist",
|
|
34
34
|
"core",
|
|
35
35
|
"stores",
|
|
36
|
+
"models",
|
|
36
37
|
"README.md",
|
|
37
38
|
"LICENSE"
|
|
38
39
|
],
|