Updates
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
# QVAC integration pin
|
||||
|
||||
Pinned against the live QVAC documentation for SDK release **v0.19.0** on
|
||||
Pinned against the live QVAC documentation for SDK series **v0.19.x** on
|
||||
2026-09-11. Source of truth: <https://docs.qvac.tether.io/reference/api/> and
|
||||
<https://docs.qvac.tether.io/reference/release-notes/>.
|
||||
|
||||
## Rules for Jarvis
|
||||
|
||||
- Use the function-centric `@qvac/sdk` API at version `0.19.0`.
|
||||
- Use the function-centric `@qvac/sdk` API in the `0.19.x` series. The current
|
||||
repository package pin is `0.19.1`; verify the installed package before use.
|
||||
- Do not use removed `startQVACProvider`, `delegate`, or `no_mmap` APIs.
|
||||
- Use `load_mode` for the replacement load behavior described by the release notes.
|
||||
- Use `completion()` for streamed LLM work; its canonical surfaces are `events`
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { Agent } from './qvac-master.js';
|
||||
import { Agent, assertSdkVersion } from './qvac-master.js';
|
||||
|
||||
try {
|
||||
const sdkVersion = assertSdkVersion();
|
||||
const resources = await Agent.engine.resources();
|
||||
const hasGpu = Array.isArray(resources.gpus) && resources.gpus.length > 0;
|
||||
console.log(JSON.stringify({
|
||||
@@ -9,6 +10,7 @@ try {
|
||||
backendHints: resources.drivers || {},
|
||||
gpus: resources.gpus || [],
|
||||
vramBytes: resources.vramBytes || 0,
|
||||
sdkVersion,
|
||||
}, null, 2));
|
||||
if (!hasGpu) {
|
||||
console.error('gpu-doctor: QVAC did not observe a usable GPU; Jarvis will refuse CPU inference');
|
||||
|
||||
+4
-3
@@ -3,6 +3,7 @@ import { HarnessBridge } from './harness-bridge.js';
|
||||
import { ComputerUseSession } from '../computer-use/session.js';
|
||||
import { VoiceStateMachine } from './voice-state.js';
|
||||
import { QvacScheduler } from './qvac-scheduler.js';
|
||||
import { cancelQvac, resumeQvac, suspendQvac } from './qvac-master.js';
|
||||
|
||||
export class JarvisDaemon extends EventEmitter {
|
||||
constructor() {
|
||||
@@ -17,8 +18,8 @@ export class JarvisDaemon extends EventEmitter {
|
||||
}
|
||||
|
||||
setState(state) { this.state = state; this.emit('StateChanged', state); }
|
||||
arm() { this.voice.wake(); this.setState('LISTENING'); }
|
||||
sleep() { this.voice.sleep(); this.setState('SLEEPING'); }
|
||||
async arm() { await resumeQvac().catch(() => {}); this.voice.wake(); this.setState('LISTENING'); }
|
||||
async sleep() { this.voice.sleep(); this.setState('SLEEPING'); await suspendQvac().catch((error) => this.emit('Error', 'QVAC_SUSPEND', error.message)); }
|
||||
say(text) { this.emit('Reply', String(text)); }
|
||||
async ask(text) {
|
||||
this.voice.utterance(); this.setState('THINKING');
|
||||
@@ -29,7 +30,7 @@ export class JarvisDaemon extends EventEmitter {
|
||||
this.emit('Error', 'QVAC', error.message); this.voice.cancel(); this.setState('ARMED'); throw error;
|
||||
}
|
||||
}
|
||||
cancel() { this.harness.cancel(); this.scheduler.cancelQueued((job) => job.lane === 'voice'); this.computer.revoke(); this.voice.cancel(); this.setState('ARMED'); }
|
||||
cancel() { this.harness.cancel(); this.scheduler.cancelQueued((job) => job.lane === 'voice'); this.computer.revoke(); this.voice.cancel(); this.setState('ARMED'); cancelQvac().catch((error) => this.emit('Error', 'QVAC_CANCEL', error.message)); }
|
||||
computerGrant(persist = false) { const result = this.computer.grant({ persist }); this.emit('ComputerStep', JSON.stringify({ action: 'grant', ...result })); return result; }
|
||||
computerRevoke() { this.computer.revoke(); this.emit('ComputerStep', JSON.stringify({ action: 'revoke' })); }
|
||||
async close() { this.computerRevoke(); await this.harness.close(); }
|
||||
|
||||
@@ -16,9 +16,18 @@ export const QVAC_MASTER = Object.freeze({
|
||||
gpuLayers: 99,
|
||||
});
|
||||
|
||||
export function assertSdkVersion() {
|
||||
const sdkPackage = require(path.join(harnessPath, 'node_modules/@qvac/sdk/package.json'));
|
||||
if (!/^0\.19\./.test(sdkPackage.version)) {
|
||||
throw new Error(`Jarvis requires vendored @qvac/sdk in the 0.19.x series; found ${sdkPackage.version}`);
|
||||
}
|
||||
return sdkPackage.version;
|
||||
}
|
||||
|
||||
export async function acquireQvac() {
|
||||
ownerCount += 1;
|
||||
if (!loadPromise) {
|
||||
assertSdkVersion();
|
||||
const resources = await Agent.engine.resources();
|
||||
const gpuVisible = (resources.gpus?.length || 0) > 0 ||
|
||||
Boolean(resources.drivers?.vulkan || resources.drivers?.cuda || resources.drivers?.opencl || resources.gpu);
|
||||
@@ -54,6 +63,28 @@ export async function closeQvac() {
|
||||
await Agent.engine.close();
|
||||
}
|
||||
|
||||
export async function cancelQvac() {
|
||||
await Agent.engine.cancel();
|
||||
}
|
||||
|
||||
export async function suspendQvac() {
|
||||
const sdk = await Agent.engine.ensureInit();
|
||||
if (typeof sdk.suspend !== 'function') throw new Error('QVAC runtime does not expose suspend()');
|
||||
await sdk.suspend();
|
||||
}
|
||||
|
||||
export async function resumeQvac() {
|
||||
const sdk = await Agent.engine.ensureInit();
|
||||
if (typeof sdk.resume !== 'function') throw new Error('QVAC runtime does not expose resume()');
|
||||
await sdk.resume();
|
||||
}
|
||||
|
||||
export async function qvacRuntimeState() {
|
||||
const sdk = await Agent.engine.ensureInit();
|
||||
if (typeof sdk.state !== 'function') return 'unknown';
|
||||
return sdk.state();
|
||||
}
|
||||
|
||||
export function qvacStatus() {
|
||||
return { ...QVAC_MASTER, owners: ownerCount, loaded: Agent.engine.getLoaded() };
|
||||
}
|
||||
|
||||
+9
-2
@@ -49,7 +49,10 @@ cognitive loop and is wrapped rather than rewritten.
|
||||
single model alias.
|
||||
- [x] Add the initial daemon, computer-use, GNOME extension, D-Bus, and
|
||||
control-center boundaries.
|
||||
- [ ] Install and lock dependencies with a successful `npm install`.
|
||||
- [x] Install and lock dependencies with a successful `npm install`.
|
||||
- [~] Review runtime dependency audit: `npm audit --omit=dev` reports 10
|
||||
transitive findings through `dbus-next` (3 critical, 1 high, 6 moderate;
|
||||
upstream reports no available fixes).
|
||||
- [ ] Add repository CI for syntax, unit, schema, and extension checks.
|
||||
|
||||
Exit gate: a clean checkout can identify the harness, load one root config,
|
||||
@@ -62,6 +65,7 @@ and run tests without importing dlinux.
|
||||
- [x] Request `device: "gpu"`, `gpu_layers: 99`, and GPU multimodal projection.
|
||||
- [x] Reject a CPU result instead of accepting QVAC's internal fallback.
|
||||
- [x] Preflight QVAC GPU visibility before downloading or loading a model.
|
||||
- [x] Enforce the vendored `@qvac/sdk` 0.19.x version at master startup.
|
||||
- [x] Add owner counting and a single close path.
|
||||
- [x] Set `QVAC_CONFIG_PATH`, `JARVIS_QVAC_MODEL`, and GPU policy in the user
|
||||
service.
|
||||
@@ -106,10 +110,13 @@ GPU-owned worker.
|
||||
and state queries.
|
||||
- [~] Implement token, transcript, reply, audio-level, chip, job, computer
|
||||
step, and error signals.
|
||||
- [~] Add the Node D-Bus service implementation. Live bus smoke testing remains
|
||||
pending on a normal user session because this sandbox cannot bind a D-Bus
|
||||
session socket.
|
||||
- [ ] Keep payloads small; stream PCM and screenshots through a Unix socket or
|
||||
tmpfs paths.
|
||||
- [ ] Add lock-screen handling: mute, hide UI, revoke computer use.
|
||||
- [ ] Add idle sleep using QVAC `suspend()` and resume on wake.
|
||||
- [~] Add idle sleep using QVAC `suspend()` and resume on wake.
|
||||
- [ ] Add structured JSON logging with no prompt/audio/image contents by default.
|
||||
|
||||
Exit gate: a D-Bus client can ask a typed question, receive streamed events,
|
||||
|
||||
Generated
+6388
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -16,8 +16,8 @@
|
||||
"qvac:status": "node -e \"import('./daemon/qvac-master.js').then(({qvacStatus})=>console.log(JSON.stringify(qvacStatus(), null, 2)))\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@qvac/cli": "0.19.0",
|
||||
"@qvac/sdk": "0.19.0",
|
||||
"@qvac/cli": "0.13.0",
|
||||
"@qvac/sdk": "0.19.1",
|
||||
"dbus-next": "^0.10.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { createRuntimeTools } from '../skills/runtime-tools.js';
|
||||
import { assertSdkVersion } from '../daemon/qvac-master.js';
|
||||
|
||||
test('runtime tools expose local QVAC and computer-use status', () => {
|
||||
const computer = { status: () => ({ active: true, steps_used: 2, backend: 'portal-ei' }) };
|
||||
@@ -10,3 +11,7 @@ test('runtime tools expose local QVAC and computer-use status', () => {
|
||||
assert.equal(status.computer_use.active, true);
|
||||
assert.equal(tools.find((tool) => tool.name === 'cu_status').execute({}).backend, 'portal-ei');
|
||||
});
|
||||
|
||||
test('the copied harness uses the pinned QVAC 0.19.x SDK', () => {
|
||||
assert.match(assertSdkVersion(), /^0\.19\./);
|
||||
});
|
||||
|
||||
+268
-167
@@ -9,7 +9,7 @@
|
||||
"version": "0.1.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@qvac/sdk": "^0.18.0",
|
||||
"@qvac/sdk": "0.19.1",
|
||||
"hyperdispatch": "^1.6.0"
|
||||
},
|
||||
"bin": {
|
||||
@@ -61,6 +61,65 @@
|
||||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/audiogen-ggml": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/audiogen-ggml/-/audiogen-ggml-0.3.3.tgz",
|
||||
"integrity": "sha512-S3WIBFl++cl8d6++Evruhti0Ug6CWUnYLg8GJUyEPvjYcSVFJkLNufS1q1+jpS1nhiSNOU0i+Hu9HNAWVeYNwA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.1",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-ffmpeg": "^1.4.0",
|
||||
"bare-fs": "^4.5.6",
|
||||
"bare-os": "^3.8.0",
|
||||
"bare-path": "^3.0.0",
|
||||
"bare-process": "^4.2.2"
|
||||
},
|
||||
"bin": {
|
||||
"qvac-audiogen-download-models": "scripts/download-audiogen-ggml-models.js"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/bci-whispercpp": {
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/bci-whispercpp/-/bci-whispercpp-0.8.2.tgz",
|
||||
"integrity": "sha512-vCgsFsICaK+U/MUsBYA0Tga2lN+MnQ3Rmi/bWoWjWhv/J9i1SnmhvdKb4RGYAb7AZREbDMoxO+7IzN7uKMFcDQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.0",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/classification-ggml": {
|
||||
"version": "0.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/classification-ggml/-/classification-ggml-0.23.0.tgz",
|
||||
"integrity": "sha512-TxQmvpeYWK5ewmNB9uy8yMnpA+ylVpdTClXJeEHIqQ9Dv91+svgslnJgduEWbEVF+gXOpjxNCZiGE4YYRf/RwQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/fabric": "^0.10.0",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-env": "^3.0.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-os": "^3.6.2",
|
||||
"bare-path": "^3.0.0",
|
||||
"bare-process": "^4.2.2",
|
||||
"bare-url": "^2.1.6",
|
||||
"brittle": "^3.16.5"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/diagnostics": {
|
||||
"version": "0.1.2",
|
||||
"license": "Apache-2.0",
|
||||
@@ -70,6 +129,35 @@
|
||||
"which-runtime": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/diffusion-cpp": {
|
||||
"version": "0.21.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/diffusion-cpp/-/diffusion-cpp-0.21.0.tgz",
|
||||
"integrity": "sha512-R6JdLb5gE1toP76nOLUx6mg98IRpbziXKVSgVoCqAV/rg2wHErGHxtAyW0wp+WfLewRNG2eTrhIicPYOX6fHBA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/embed-llamacpp": {
|
||||
"version": "0.37.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/embed-llamacpp/-/embed-llamacpp-0.37.0.tgz",
|
||||
"integrity": "sha512-9+Fer7etGkgDvXLLsFU97uSE9Z5Ll8DAkI0VEm1FOqfCyI5QUnexKZlU2m1Dd6yDlTN09Az8q9e04YPryVJqnQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/error": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/error/-/error-0.1.1.tgz",
|
||||
@@ -77,7 +165,9 @@
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@qvac/fabric": {
|
||||
"version": "0.6.0",
|
||||
"version": "0.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/fabric/-/fabric-0.10.0.tgz",
|
||||
"integrity": "sha512-eKozdnDEXZCimqkIZp49d8ZjXfOp9jQa0fXLWico5JkB/ZlywVo9hVCCOtZrUMUvjBJ7xbg2QeVYp+yin1uKCg==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
@@ -91,6 +181,100 @@
|
||||
"bare-os": "^3.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/inference": {
|
||||
"version": "0.19.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/inference/-/inference-0.19.1.tgz",
|
||||
"integrity": "sha512-Ee2GFTLvXkKSH9MSoSRLkhNv0N7JC+2pPxWSZpNyC3pRtUxCqWeomOjnBLzflQRhAA0kic3ulvpTRFqcCbq4Gg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.1",
|
||||
"@qvac/logging": "^0.1.1",
|
||||
"@qvac/rag": "^0.8.1",
|
||||
"@qvac/registry-client": "^0.6.1",
|
||||
"bare-abort-controller": "^1.1.2",
|
||||
"bare-buffer": "^3.6.2",
|
||||
"bare-cpu-info": "0.1.1",
|
||||
"bare-crypto": "^1.15.3",
|
||||
"bare-env": "^3.0.1",
|
||||
"bare-fs": "^4.7.4",
|
||||
"bare-gpu-info": "0.1.1",
|
||||
"bare-http1": "^4.5.9",
|
||||
"bare-https": "^3.0.0",
|
||||
"bare-os": "^3.9.3",
|
||||
"bare-path": "^3.1.1",
|
||||
"bare-rpc": "^1.3.8",
|
||||
"bare-stream": "^2.13.3",
|
||||
"bare-url": "^2.4.5",
|
||||
"bare-zlib": "^1.4.0",
|
||||
"compact-encoding": "^3.3.0",
|
||||
"corestore": "^7.11.0",
|
||||
"fast-safe-stringify": "2.1.1",
|
||||
"hyperdrive": "^13.3.3",
|
||||
"hyperswarm": "^4.17.0",
|
||||
"semver": "^7.8.5",
|
||||
"tar-stream": "^3.2.0",
|
||||
"zod": "^4.4.3"
|
||||
},
|
||||
"engines": {
|
||||
"bare": "^1.30.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@qvac/asr-ggml": "^0.3.1",
|
||||
"@qvac/audiogen-ggml": "^0.3.2",
|
||||
"@qvac/bci-whispercpp": "^0.8.0",
|
||||
"@qvac/classification-ggml": "^0.23.0",
|
||||
"@qvac/decoder-audio": "^0.5.0",
|
||||
"@qvac/diffusion-cpp": "^0.21.0",
|
||||
"@qvac/embed-llamacpp": "^0.37.0",
|
||||
"@qvac/langdetect-text": "^0.1.2",
|
||||
"@qvac/llm-llamacpp": "^0.49.1",
|
||||
"@qvac/ocr-ggml": "^0.21.0",
|
||||
"@qvac/translation-nmtcpp": "^0.13.0",
|
||||
"@qvac/tts-ggml": "^0.8.0",
|
||||
"@qvac/vla-ggml": "^0.24.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@qvac/asr-ggml": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/audiogen-ggml": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/bci-whispercpp": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/classification-ggml": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/decoder-audio": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/diffusion-cpp": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/embed-llamacpp": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/langdetect-text": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/llm-llamacpp": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/ocr-ggml": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/translation-nmtcpp": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/tts-ggml": {
|
||||
"optional": true
|
||||
},
|
||||
"@qvac/vla-ggml": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/langdetect-text": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/langdetect-text/-/langdetect-text-0.1.2.tgz",
|
||||
@@ -100,6 +284,21 @@
|
||||
"tinyld": "1.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/llm-llamacpp": {
|
||||
"version": "0.49.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/llm-llamacpp/-/llm-llamacpp-0.49.1.tgz",
|
||||
"integrity": "sha512-GWSrMKYkwgJYwZK1rBwgy62e7HjU3ksrcQWbdgPRdIOTNNplQCufHDBHuV29hK5ghUrShcJ/PbzJeJdFLBwO7A==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/logging": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/logging/-/logging-0.1.1.tgz",
|
||||
@@ -109,6 +308,47 @@
|
||||
"bare-env": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/ocr-ggml": {
|
||||
"version": "0.21.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/ocr-ggml/-/ocr-ggml-0.21.0.tgz",
|
||||
"integrity": "sha512-McdRkgcVqY4RIZ9nzB2XcKILWKv0u051mh0VTTfbuE0oG4O681cBb1MahWvdvTu9fyN+XSI6+D78GeZ7jGoggw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.0",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fetch": "^3.0.1",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-os": "^3.6.2",
|
||||
"bare-path": "^3.0.0",
|
||||
"bare-process": "^4.2.2",
|
||||
"bare-url": "^2.1.6",
|
||||
"brittle": "^3.4.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/rag": {
|
||||
"version": "0.8.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/rag/-/rag-0.8.1.tgz",
|
||||
"integrity": "sha512-Le7irUg030ujUPgTDRs7VZea5rqtQKgaNut3X0VPUinxWlaw0reCiwp8oUfLZ48kDLXx+swy7fSZCUEamG9QAw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.1",
|
||||
"@qvac/logging": "^0.1.1",
|
||||
"bare-crypto": "^1.13.4",
|
||||
"bare-fetch": "^3.0.1",
|
||||
"bare-fs": "^4.7.0",
|
||||
"bare-path": "^3.0.0",
|
||||
"hyperdb": "^6.7.0",
|
||||
"hyperdht": "^6.23.0",
|
||||
"hyperschema": "^1.13.0",
|
||||
"llm-splitter": "^0.2.0",
|
||||
"ready-resource": "^1.1.2",
|
||||
"zod": "^4.1.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/registry-client": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/registry-client/-/registry-client-0.6.1.tgz",
|
||||
@@ -147,31 +387,32 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk": {
|
||||
"version": "0.18.2",
|
||||
"version": "0.19.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/sdk/-/sdk-0.19.1.tgz",
|
||||
"integrity": "sha512-lcJ0N0Q5dbuQdAfEGgpi+c3yiKKiljNsfiT5YlaWAQk6VGV56ujf6Q3PQx/gp8H4xgT2BhX4oPHE/MwF11B1AA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/asr-ggml": "^0.3.0",
|
||||
"@qvac/audiogen-ggml": "^0.2.1",
|
||||
"@qvac/bci-whispercpp": "^0.7.1",
|
||||
"@qvac/classification-ggml": "^0.20.0",
|
||||
"@qvac/asr-ggml": "^0.3.1",
|
||||
"@qvac/audiogen-ggml": "^0.3.2",
|
||||
"@qvac/bci-whispercpp": "^0.8.0",
|
||||
"@qvac/classification-ggml": "^0.23.0",
|
||||
"@qvac/decoder-audio": "^0.5.0",
|
||||
"@qvac/diffusion-cpp": "^0.18.0",
|
||||
"@qvac/embed-llamacpp": "^0.34.0",
|
||||
"@qvac/diffusion-cpp": "^0.21.0",
|
||||
"@qvac/embed-llamacpp": "^0.37.0",
|
||||
"@qvac/error": "^0.1.1",
|
||||
"@qvac/inference": "^0.19.1",
|
||||
"@qvac/langdetect-text": "^0.1.2",
|
||||
"@qvac/llm-llamacpp": "^0.45.0",
|
||||
"@qvac/llm-llamacpp": "^0.49.1",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"@qvac/ocr-ggml": "^0.18.0",
|
||||
"@qvac/rag": "^0.6.4",
|
||||
"@qvac/ocr-ggml": "^0.21.0",
|
||||
"@qvac/registry-client": "^0.6.1",
|
||||
"@qvac/translation-nmtcpp": "^0.10.0",
|
||||
"@qvac/tts-ggml": "^0.7.4",
|
||||
"@qvac/vla-ggml": "^0.21.1",
|
||||
"@qvac/translation-nmtcpp": "^0.13.0",
|
||||
"@qvac/tts-ggml": "^0.8.0",
|
||||
"@qvac/vla-ggml": "^0.24.0",
|
||||
"bare-abort-controller": "^1.0.0",
|
||||
"bare-cpu-info": "0.1.1",
|
||||
"bare-crypto": "^1.15.0",
|
||||
"bare-env": "^3.0.0",
|
||||
"bare-fetch": "^3.0.1",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-gpu-info": "0.1.1",
|
||||
"bare-net": "^2.3.2",
|
||||
@@ -248,65 +489,6 @@
|
||||
"bare": ">=1.20.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/audiogen-ggml": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/audiogen-ggml/-/audiogen-ggml-0.2.4.tgz",
|
||||
"integrity": "sha512-OTnWLz/ul8KZHk+ch/6FLdrd2ViehakTbpV9ukoCMqwp5gMALc7bUXBDv/FWzgHmi0u6uCaQORUhDu6JSEsYfA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.1",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-ffmpeg": "^1.4.0",
|
||||
"bare-fs": "^4.5.6",
|
||||
"bare-os": "^3.8.0",
|
||||
"bare-path": "^3.0.0",
|
||||
"bare-process": "^4.2.2"
|
||||
},
|
||||
"bin": {
|
||||
"qvac-audiogen-download-models": "scripts/download-audiogen-ggml-models.js"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/bci-whispercpp": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/bci-whispercpp/-/bci-whispercpp-0.7.2.tgz",
|
||||
"integrity": "sha512-9hI1wiHHz2Tp2q5dO3AI1xkLAuiganYimPzSEiK7sLp6k644aEkPXuinQDAIycazTnRR22nMZzOtPboucBjyow==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.0",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/classification-ggml": {
|
||||
"version": "0.20.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/classification-ggml/-/classification-ggml-0.20.0.tgz",
|
||||
"integrity": "sha512-6eJoVnXqqFC+BFQ1Sdh5BA+Ii+DRdWOn32MIVpK+YYdbewpiVJBFDS0QXsd+NpDxMm8oLXyar7qFRKPXPPoeqw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/fabric": "^0.6.0",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-env": "^3.0.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-os": "^3.6.2",
|
||||
"bare-path": "^3.0.0",
|
||||
"bare-process": "^4.2.2",
|
||||
"bare-url": "^2.1.6",
|
||||
"brittle": "^3.16.5"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/decoder-audio": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/decoder-audio/-/decoder-audio-0.5.0.tgz",
|
||||
@@ -335,92 +517,10 @@
|
||||
"@qvac/diagnostics": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/diffusion-cpp": {
|
||||
"version": "0.18.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/diffusion-cpp/-/diffusion-cpp-0.18.0.tgz",
|
||||
"integrity": "sha512-5gTdA+NH9LA2DxcAIjFHogEZUEQFxRbU6dkEovcOV6t2lPA+hLTfvgLJCy4g0XDw557navpK+QVa1orOiBycKQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/embed-llamacpp": {
|
||||
"version": "0.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/embed-llamacpp/-/embed-llamacpp-0.34.0.tgz",
|
||||
"integrity": "sha512-TLwkb/ogAyrxKvQ7LUW6igyhTXMlh69lpBF3F3i9auoOlanIDHstqkdkcukO0lDS9W2HYgrylki4ljt6zkfT4Q==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/llm-llamacpp": {
|
||||
"version": "0.45.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/llm-llamacpp/-/llm-llamacpp-0.45.0.tgz",
|
||||
"integrity": "sha512-Nk/asAYt39SVq1k0aqMBqpmeOCu0QE8qtKSJAYBNpbBFzWa5zBvK+b5BAeTAl3XX+PXu0Wf/s9wyuEDf0SwQQA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-path": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.24.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/ocr-ggml": {
|
||||
"version": "0.18.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/ocr-ggml/-/ocr-ggml-0.18.0.tgz",
|
||||
"integrity": "sha512-5qsTDsHRbmjm57PzO96ulqljn8Qzz6lB3xbhNOvB6LpcXtJXkUqMTWo8n0pZbA1uuAcJclgZomw6qSc2ltpHYQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.0",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fetch": "^3.0.1",
|
||||
"bare-fs": "^4.5.1",
|
||||
"bare-os": "^3.6.2",
|
||||
"bare-path": "^3.0.0",
|
||||
"bare-process": "^4.2.2",
|
||||
"bare-url": "^2.1.6",
|
||||
"brittle": "^3.4.0"
|
||||
},
|
||||
"engines": {
|
||||
"bare": ">=1.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/rag": {
|
||||
"version": "0.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/rag/-/rag-0.6.4.tgz",
|
||||
"integrity": "sha512-mkvuR8GNg/Jxjj43AxcK6pv5zHIR2hepZYtF/Sxa6rVUpmma00v7jZayee6aLYCEvKmZv/E2SopUYv4bh/TY6g==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.1",
|
||||
"bare-crypto": "^1.13.4",
|
||||
"bare-fetch": "^3.0.1",
|
||||
"hyperdb": "^6.7.0",
|
||||
"hyperdht": "^6.23.0",
|
||||
"hyperschema": "^1.13.0",
|
||||
"llm-splitter": "^0.2.0",
|
||||
"ready-resource": "^1.1.2",
|
||||
"zod": "^4.1.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/sdk/node_modules/@qvac/translation-nmtcpp": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/translation-nmtcpp/-/translation-nmtcpp-0.10.1.tgz",
|
||||
"integrity": "sha512-m4mdXjtj3SL92I+DO9zzyTtSrGnxRwK/0yplfWcBwVy2zXPEVTmJlhjg0sgdo7LyPsQyiysx9sIHXFHlizZSqg==",
|
||||
"node_modules/@qvac/translation-nmtcpp": {
|
||||
"version": "0.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/translation-nmtcpp/-/translation-nmtcpp-0.13.0.tgz",
|
||||
"integrity": "sha512-0rx69vIWZhyLIRupAT2Sgpok/WRFp1XzVKyW1oZyhYXWvVDMJh15K7XOtxUAjSzrGwWu0b/VwYKBsii2URPb3Q==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.0",
|
||||
@@ -446,9 +546,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/tts-ggml": {
|
||||
"version": "0.7.5",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/tts-ggml/-/tts-ggml-0.7.5.tgz",
|
||||
"integrity": "sha512-X0nYW4+OJq3avGrmorB+OqQlY7TNxpioPPWBpV8T/teUCD/JFP0F9Dp4Mw+rZMKMgYVBxtKfZcQ2A/oF49zEjg==",
|
||||
"version": "0.8.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/tts-ggml/-/tts-ggml-0.8.1.tgz",
|
||||
"integrity": "sha512-7FS2ZHDUSeZkUBeWUAzVJ9r5Pvol8gW9YlNTjYMCdjnA8oNB5+tTWLjURsARmlLTJqAAGRfEVY9frGIgqQrm5w==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.0",
|
||||
@@ -470,12 +570,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@qvac/vla-ggml": {
|
||||
"version": "0.21.1",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/vla-ggml/-/vla-ggml-0.21.1.tgz",
|
||||
"integrity": "sha512-4yQ0lJr55Z1/VXxfBdNvY53QsNi+Yaj05wJZk0kRZsRVkqP7oz3CUBwqYlWIiICu39SQvnD+OxGFuu1QPIr7Tw==",
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@qvac/vla-ggml/-/vla-ggml-0.24.0.tgz",
|
||||
"integrity": "sha512-0uGdR66YWhUJGaX2GhA0141n9og3XT4/CaHBRgEQPPxUglk+Dt3pcQ4AEIPYSsdgzD9hyOqE+uUjv51yMP7KBQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@qvac/error": "^0.1.0",
|
||||
"@qvac/fabric": "^0.10.0",
|
||||
"@qvac/infer-base": "^0.6.2",
|
||||
"@qvac/logging": "^0.1.0",
|
||||
"bare-fs": "^4.5.1",
|
||||
|
||||
Vendored
+1
-1
@@ -17,7 +17,7 @@
|
||||
"chat": "node bin/cli.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@qvac/sdk": "^0.18.0",
|
||||
"@qvac/sdk": "0.19.1",
|
||||
"hyperdispatch": "^1.6.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user