@ruvector/ruvllm 3.0.0 → 4.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/GPU-LOOP.md +229 -0
- package/LICENSE +201 -0
- package/NOTICE +9 -0
- package/README.md +157 -362
- package/examples/gpu-loop.example.json +26 -0
- package/package.json +50 -121
- package/src/adapters-cli.mjs +23 -0
- package/src/adapters.mjs +91 -0
- package/src/cli.mjs +30 -0
- package/src/engine.mjs +238 -0
- package/src/fixture.mjs +38 -0
- package/src/gpu-host.mjs +47 -0
- package/src/gpu-loop-cli.mjs +67 -0
- package/src/gpu-loop.mjs +184 -0
- package/src/gpu-spool-adapter.mjs +80 -0
- package/src/vast-host-adapter.mjs +274 -0
- package/bin/cli.js +0 -1040
- package/dist/cjs/benchmarks/embedding-benchmark.d.ts +0 -102
- package/dist/cjs/benchmarks/embedding-benchmark.d.ts.map +0 -1
- package/dist/cjs/benchmarks/embedding-benchmark.js +0 -436
- package/dist/cjs/benchmarks/index.d.ts +0 -34
- package/dist/cjs/benchmarks/index.d.ts.map +0 -1
- package/dist/cjs/benchmarks/index.js +0 -132
- package/dist/cjs/benchmarks/model-comparison.d.ts +0 -71
- package/dist/cjs/benchmarks/model-comparison.d.ts.map +0 -1
- package/dist/cjs/benchmarks/model-comparison.js +0 -476
- package/dist/cjs/benchmarks/routing-benchmark.d.ts +0 -70
- package/dist/cjs/benchmarks/routing-benchmark.d.ts.map +0 -1
- package/dist/cjs/benchmarks/routing-benchmark.js +0 -289
- package/dist/cjs/contrastive.d.ts +0 -229
- package/dist/cjs/contrastive.d.ts.map +0 -1
- package/dist/cjs/contrastive.js +0 -589
- package/dist/cjs/engine.d.ts +0 -160
- package/dist/cjs/engine.d.ts.map +0 -1
- package/dist/cjs/engine.js +0 -552
- package/dist/cjs/export.d.ts +0 -182
- package/dist/cjs/export.d.ts.map +0 -1
- package/dist/cjs/export.js +0 -422
- package/dist/cjs/federated.d.ts +0 -233
- package/dist/cjs/federated.d.ts.map +0 -1
- package/dist/cjs/federated.js +0 -525
- package/dist/cjs/index.d.ts +0 -68
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -104
- package/dist/cjs/intelligence.d.ts +0 -136
- package/dist/cjs/intelligence.d.ts.map +0 -1
- package/dist/cjs/intelligence.js +0 -226
- package/dist/cjs/lora.d.ts +0 -251
- package/dist/cjs/lora.d.ts.map +0 -1
- package/dist/cjs/lora.js +0 -509
- package/dist/cjs/models.d.ts +0 -129
- package/dist/cjs/models.d.ts.map +0 -1
- package/dist/cjs/models.js +0 -323
- package/dist/cjs/native.d.ts +0 -140
- package/dist/cjs/native.d.ts.map +0 -1
- package/dist/cjs/native.js +0 -98
- package/dist/cjs/session.d.ts +0 -80
- package/dist/cjs/session.d.ts.map +0 -1
- package/dist/cjs/session.js +0 -203
- package/dist/cjs/simd.d.ts +0 -90
- package/dist/cjs/simd.d.ts.map +0 -1
- package/dist/cjs/simd.js +0 -209
- package/dist/cjs/sona.d.ts +0 -223
- package/dist/cjs/sona.d.ts.map +0 -1
- package/dist/cjs/sona.js +0 -562
- package/dist/cjs/streaming.d.ts +0 -55
- package/dist/cjs/streaming.d.ts.map +0 -1
- package/dist/cjs/streaming.js +0 -131
- package/dist/cjs/training.d.ts +0 -312
- package/dist/cjs/training.d.ts.map +0 -1
- package/dist/cjs/training.js +0 -610
- package/dist/cjs/types.d.ts +0 -696
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -6
- package/dist/esm/benchmarks/embedding-benchmark.d.ts +0 -102
- package/dist/esm/benchmarks/embedding-benchmark.d.ts.map +0 -1
- package/dist/esm/benchmarks/embedding-benchmark.js +0 -427
- package/dist/esm/benchmarks/index.d.ts +0 -34
- package/dist/esm/benchmarks/index.d.ts.map +0 -1
- package/dist/esm/benchmarks/index.js +0 -110
- package/dist/esm/benchmarks/model-comparison.d.ts +0 -71
- package/dist/esm/benchmarks/model-comparison.d.ts.map +0 -1
- package/dist/esm/benchmarks/model-comparison.js +0 -434
- package/dist/esm/benchmarks/routing-benchmark.d.ts +0 -70
- package/dist/esm/benchmarks/routing-benchmark.d.ts.map +0 -1
- package/dist/esm/benchmarks/routing-benchmark.js +0 -283
- package/dist/esm/contrastive.d.ts +0 -229
- package/dist/esm/contrastive.d.ts.map +0 -1
- package/dist/esm/contrastive.js +0 -578
- package/dist/esm/engine.d.ts +0 -160
- package/dist/esm/engine.d.ts.map +0 -1
- package/dist/esm/engine.js +0 -548
- package/dist/esm/export.d.ts +0 -182
- package/dist/esm/export.d.ts.map +0 -1
- package/dist/esm/export.js +0 -414
- package/dist/esm/federated.d.ts +0 -233
- package/dist/esm/federated.d.ts.map +0 -1
- package/dist/esm/federated.js +0 -520
- package/dist/esm/index.d.ts +0 -68
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -84
- package/dist/esm/intelligence.d.ts +0 -136
- package/dist/esm/intelligence.d.ts.map +0 -1
- package/dist/esm/intelligence.js +0 -188
- package/dist/esm/lora.d.ts +0 -251
- package/dist/esm/lora.d.ts.map +0 -1
- package/dist/esm/lora.js +0 -504
- package/dist/esm/models.d.ts +0 -129
- package/dist/esm/models.d.ts.map +0 -1
- package/dist/esm/models.js +0 -282
- package/dist/esm/native.d.ts +0 -140
- package/dist/esm/native.d.ts.map +0 -1
- package/dist/esm/native.js +0 -93
- package/dist/esm/session.d.ts +0 -80
- package/dist/esm/session.d.ts.map +0 -1
- package/dist/esm/session.js +0 -199
- package/dist/esm/simd.d.ts +0 -90
- package/dist/esm/simd.d.ts.map +0 -1
- package/dist/esm/simd.js +0 -205
- package/dist/esm/sona.d.ts +0 -223
- package/dist/esm/sona.d.ts.map +0 -1
- package/dist/esm/sona.js +0 -556
- package/dist/esm/streaming.d.ts +0 -55
- package/dist/esm/streaming.d.ts.map +0 -1
- package/dist/esm/streaming.js +0 -126
- package/dist/esm/training.d.ts +0 -312
- package/dist/esm/training.d.ts.map +0 -1
- package/dist/esm/training.js +0 -603
- package/dist/esm/types.d.ts +0 -696
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/types.js +0 -5
- package/scripts/ensemble-model-compare.js +0 -287
- package/scripts/fix-esm-extensions.mjs +0 -181
- package/scripts/huggingface/README.md +0 -537
- package/scripts/huggingface/publish.sh +0 -112
- package/scripts/hybrid-model-compare.js +0 -373
- package/scripts/improved-model-compare.js +0 -288
- package/scripts/optimized-model-compare.js +0 -364
- package/scripts/real-model-compare.js +0 -280
- package/scripts/smoke-esm.mjs +0 -82
- package/scripts/training/agentic-flow-capabilities.json +0 -329
- package/scripts/training/claude-code-synth.js +0 -505
- package/scripts/training/claude-flow-capabilities.json +0 -1322
- package/scripts/training/claude-hard-negatives.js +0 -222
- package/scripts/training/contrastive-finetune.js +0 -517
- package/scripts/training/ecosystem-triplets.jsonl +0 -1467
- package/scripts/training/generate-ecosystem-triplets.js +0 -1324
- package/scripts/training/routing-dataset.js +0 -634
- package/scripts/training/ruvector-capabilities.json +0 -798
- package/scripts/training/validate-ecosystem.js +0 -381
- package/scripts/training/validation-results.json +0 -23
package/dist/esm/native.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Native bindings loader for RuvLLM
|
|
3
|
-
*
|
|
4
|
-
* Automatically loads the correct native binary for the current platform.
|
|
5
|
-
*/
|
|
6
|
-
import { join, resolve } from 'path';
|
|
7
|
-
// Try to load the native module
|
|
8
|
-
let nativeModule = null;
|
|
9
|
-
// Platform-specific package names
|
|
10
|
-
const PLATFORM_PACKAGES = {
|
|
11
|
-
'darwin-x64': '@ruvector/ruvllm-darwin-x64',
|
|
12
|
-
'darwin-arm64': '@ruvector/ruvllm-darwin-arm64',
|
|
13
|
-
'linux-x64': '@ruvector/ruvllm-linux-x64-gnu',
|
|
14
|
-
'linux-arm64': '@ruvector/ruvllm-linux-arm64-gnu',
|
|
15
|
-
'win32-x64': '@ruvector/ruvllm-win32-x64-msvc',
|
|
16
|
-
};
|
|
17
|
-
function getPlatformKey() {
|
|
18
|
-
const platform = process.platform;
|
|
19
|
-
const arch = process.arch;
|
|
20
|
-
return `${platform}-${arch}`;
|
|
21
|
-
}
|
|
22
|
-
function loadNativeModule() {
|
|
23
|
-
if (nativeModule) {
|
|
24
|
-
return nativeModule;
|
|
25
|
-
}
|
|
26
|
-
// An explicit binary (e.g. one built locally with `npm run build:native`)
|
|
27
|
-
// wins over the installed platform package. Failing to load it is an
|
|
28
|
-
// error, not a silent fallback to a different binary.
|
|
29
|
-
const override = process.env.RUVLLM_NATIVE_PATH;
|
|
30
|
-
if (override) {
|
|
31
|
-
try {
|
|
32
|
-
// resolve(): a relative path means relative to the working directory,
|
|
33
|
-
// not to this file.
|
|
34
|
-
nativeModule = normalize(require(resolve(override)));
|
|
35
|
-
return nativeModule;
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
throw new Error(`RUVLLM_NATIVE_PATH=${override} could not be loaded: ${e.message}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
const platformKey = getPlatformKey();
|
|
42
|
-
const packageName = PLATFORM_PACKAGES[platformKey];
|
|
43
|
-
if (!packageName) {
|
|
44
|
-
// Silently fail - JS fallback will be used
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
// `napi build --platform` names its output ruvllm.<platform>.node
|
|
48
|
-
const platformFile = `ruvllm.${packageName.replace('@ruvector/ruvllm-', '')}.node`;
|
|
49
|
-
// Try loading from optional dependencies
|
|
50
|
-
const attempts = [
|
|
51
|
-
// Try the platform-specific package
|
|
52
|
-
() => require(packageName),
|
|
53
|
-
// Try loading from local .node file (CJS build)
|
|
54
|
-
() => require(join(__dirname, '..', '..', 'ruvllm.node')),
|
|
55
|
-
// Try loading from local .node file (root)
|
|
56
|
-
() => require(join(__dirname, '..', 'ruvllm.node')),
|
|
57
|
-
// Output of `npm run build:native` in the package root
|
|
58
|
-
() => require(join(__dirname, '..', '..', platformFile)),
|
|
59
|
-
];
|
|
60
|
-
for (const attempt of attempts) {
|
|
61
|
-
try {
|
|
62
|
-
nativeModule = normalize(attempt());
|
|
63
|
-
return nativeModule;
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
// Continue to next attempt
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Silently fall back to JS implementation
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
// Normalize: native exports RuvLlmEngine, we expose as RuvLLMEngine
|
|
73
|
-
function normalize(raw) {
|
|
74
|
-
return {
|
|
75
|
-
RuvLLMEngine: raw.RuvLLMEngine ?? raw.RuvLlmEngine,
|
|
76
|
-
SimdOperations: raw.SimdOperations,
|
|
77
|
-
version: raw.version,
|
|
78
|
-
hasSimdSupport: raw.hasSimdSupport,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
// Export functions to get native bindings
|
|
82
|
-
export function getNativeModule() {
|
|
83
|
-
return loadNativeModule();
|
|
84
|
-
}
|
|
85
|
-
export function version() {
|
|
86
|
-
const mod = loadNativeModule();
|
|
87
|
-
return mod?.version() ?? '0.1.0-js';
|
|
88
|
-
}
|
|
89
|
-
export function hasSimdSupport() {
|
|
90
|
-
const mod = loadNativeModule();
|
|
91
|
-
return mod?.hasSimdSupport() ?? false;
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25hdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsZ0NBQWdDO0FBQ2hDLElBQUksWUFBWSxHQUF3QixJQUFJLENBQUM7QUFrSzdDLGtDQUFrQztBQUNsQyxNQUFNLGlCQUFpQixHQUEyQjtJQUNoRCxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDLGNBQWMsRUFBRSwrQkFBK0I7SUFDL0MsV0FBVyxFQUFFLGdDQUFnQztJQUM3QyxhQUFhLEVBQUUsa0NBQWtDO0lBQ2pELFdBQVcsRUFBRSxpQ0FBaUM7Q0FDL0MsQ0FBQztBQUVGLFNBQVMsY0FBYztJQUNyQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDMUIsT0FBTyxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBRUQsU0FBUyxnQkFBZ0I7SUFDdkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsMEVBQTBFO0lBQzFFLHFFQUFxRTtJQUNyRSxzREFBc0Q7SUFDdEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztJQUNoRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDO1lBQ0gsc0VBQXNFO1lBQ3RFLG9CQUFvQjtZQUNwQixZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQW9CLENBQUMsQ0FBQztZQUN4RSxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0JBQXNCLFFBQVEseUJBQTBCLENBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FDOUUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUM7SUFDckMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLDJDQUEyQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxrRUFBa0U7SUFDbEUsTUFBTSxZQUFZLEdBQUcsVUFBVSxXQUFXLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFFbkYseUNBQXlDO0lBQ3pDLE1BQU0sUUFBUSxHQUFHO1FBQ2Ysb0NBQW9DO1FBQ3BDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDMUIsZ0RBQWdEO1FBQ2hELEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekQsMkNBQTJDO1FBQzNDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRCx1REFBdUQ7UUFDdkQsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztLQUN6RCxDQUFDO0lBRUYsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUM7WUFDSCxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBcUIsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCwyQkFBMkI7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsb0VBQW9FO0FBQ3BFLFNBQVMsU0FBUyxDQUFDLEdBQW9CO0lBQ3JDLE9BQU87UUFDTCxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsWUFBYTtRQUNuRCxjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7UUFDbEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1FBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztLQUNuQyxDQUFDO0FBQ0osQ0FBQztBQUVELDBDQUEwQztBQUMxQyxNQUFNLFVBQVUsZUFBZTtJQUM3QixPQUFPLGdCQUFnQixFQUFFLENBQUM7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDL0IsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksVUFBVSxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYztJQUM1QixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxJQUFJLEtBQUssQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOYXRpdmUgYmluZGluZ3MgbG9hZGVyIGZvciBSdXZMTE1cbiAqXG4gKiBBdXRvbWF0aWNhbGx5IGxvYWRzIHRoZSBjb3JyZWN0IG5hdGl2ZSBiaW5hcnkgZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtLlxuICovXG5cbmltcG9ydCB7IGpvaW4sIHJlc29sdmUgfSBmcm9tICdwYXRoJztcblxuLy8gVHJ5IHRvIGxvYWQgdGhlIG5hdGl2ZSBtb2R1bGVcbmxldCBuYXRpdmVNb2R1bGU6IE5hdGl2ZVJ1dkxMTSB8IG51bGwgPSBudWxsO1xuXG5pbnRlcmZhY2UgTmF0aXZlUnV2TExNIHtcbiAgLy8gTmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lIChjYW1lbENhc2UpLCB3ZSBub3JtYWxpemUgdG8gUnV2TExNRW5naW5lXG4gIFJ1dkxMTUVuZ2luZTogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG4vLyBSYXcgbmF0aXZlIG1vZHVsZSBpbnRlcmZhY2UgKGFjdHVhbCBleHBvcnQgbmFtZXMpXG5pbnRlcmZhY2UgUmF3TmF0aXZlTW9kdWxlIHtcbiAgUnV2TGxtRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgUnV2TExNRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlQ29uZmlnIHtcbiAgZW1iZWRkaW5nX2RpbT86IG51bWJlcjtcbiAgcm91dGVyX2hpZGRlbl9kaW0/OiBudW1iZXI7XG4gIGhuc3dfbT86IG51bWJlcjtcbiAgaG5zd19lZl9jb25zdHJ1Y3Rpb24/OiBudW1iZXI7XG4gIGhuc3dfZWZfc2VhcmNoPzogbnVtYmVyO1xuICBsZWFybmluZ19lbmFibGVkPzogYm9vbGVhbjtcbiAgcXVhbGl0eV90aHJlc2hvbGQ/OiBudW1iZXI7XG4gIGV3Y19sYW1iZGE/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVFbmdpbmUge1xuICBxdWVyeSh0ZXh0OiBzdHJpbmcsIGNvbmZpZz86IE5hdGl2ZUdlbkNvbmZpZyk6IE5hdGl2ZVF1ZXJ5UmVzcG9uc2U7XG4gIC8qKlxuICAgKiBCdWlsZHMgd2l0aCBgbG9hZE1vZGVsYCByZXR1cm4gYSBnZW5lcmF0aW9uIHJlc3VsdCBhbmQgdGhyb3cgd2hpbGUgbm9cbiAgICogbW9kZWwgaXMgbG9hZGVkOyBvbGRlciBidWlsZHMgKHRoZSAyLjAueCBwbGF0Zm9ybSBwYWNrYWdlcykgcmV0dXJuIGFcbiAgICogc3RyaW5nIHRoYXQgaXMgbm90IG1vZGVsIG91dHB1dCwgc28gdGhlIHdyYXBwZXIgbmV2ZXIgY2FsbHMgdGhlbS5cbiAgICovXG4gIGdlbmVyYXRlKHByb21wdDogc3RyaW5nLCBjb25maWc/OiBOYXRpdmVHZW5Db25maWcpOiBOYXRpdmVHZW5lcmF0aW9uUmVzdWx0IHwgc3RyaW5nO1xuICAvKipcbiAgICogUHJlc2VudCBvbiBidWlsZHMgc2luY2UgbW9kZWwgbG9hZGluZyB3YXMgYWRkZWQuIFRob3NlIGJ1aWx0IHdpdGhvdXQgdGhlXG4gICAqIGBjYW5kbGVgIGZlYXR1cmUgdGhyb3cgYFJVVkxMTV9OT19JTkZFUkVOQ0VfQkFDS0VORGA7IHNlZVxuICAgKiBgc3VwcG9ydHNNb2RlbExvYWRpbmdgLlxuICAgKi9cbiAgbG9hZE1vZGVsPyhwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBOYXRpdmVMb2FkTW9kZWxPcHRpb25zKTogTmF0aXZlTW9kZWxJbmZvO1xuICAvKiogV2hldGhlciB0aGUgYmluYXJ5IHdhcyBidWlsdCB3aXRoIHRoZSBgY2FuZGxlYCBmZWF0dXJlIChhYnNlbnQgb24gb2xkZXIgYnVpbGRzKS4gKi9cbiAgc3VwcG9ydHNNb2RlbExvYWRpbmc/KCk6IGJvb2xlYW47XG4gIHVubG9hZE1vZGVsPygpOiB2b2lkO1xuICBpc01vZGVsTG9hZGVkPygpOiBib29sZWFuO1xuICBtb2RlbEluZm8/KCk6IE5hdGl2ZU1vZGVsSW5mbyB8IG51bGw7XG4gIGNoYXQ/KG1lc3NhZ2VzOiBOYXRpdmVDaGF0TWVzc2FnZVtdLCBjb25maWc/OiBOYXRpdmVHZW5Db25maWcpOiBOYXRpdmVHZW5lcmF0aW9uUmVzdWx0O1xuICByb3V0ZSh0ZXh0OiBzdHJpbmcpOiBOYXRpdmVSb3V0aW5nRGVjaXNpb247XG4gIHNlYXJjaE1lbW9yeSh0ZXh0OiBzdHJpbmcsIGs/OiBudW1iZXIpOiBOYXRpdmVNZW1vcnlSZXN1bHRbXTtcbiAgLyoqIEN1cnJlbnQgbmF0aXZlIGJ1aWxkcyByZXR1cm4gYSBVVUlEIHN0cmluZzsgb2xkZXIgb25lcyByZXR1cm5lZCBhIG51bWJlci4gKi9cbiAgYWRkTWVtb3J5KGNvbnRlbnQ6IHN0cmluZywgbWV0YWRhdGE/OiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXI7XG4gIGZlZWRiYWNrKHJlcXVlc3RJZDogc3RyaW5nLCByYXRpbmc6IG51bWJlciwgY29ycmVjdGlvbj86IHN0cmluZyk6IGJvb2xlYW47XG4gIHN0YXRzKCk6IE5hdGl2ZVN0YXRzO1xuICBmb3JjZUxlYXJuKCk6IHN0cmluZztcbiAgZW1iZWQodGV4dDogc3RyaW5nKTogbnVtYmVyW107XG4gIHNpbWlsYXJpdHkodGV4dDE6IHN0cmluZywgdGV4dDI6IHN0cmluZyk6IG51bWJlcjtcbiAgaGFzU2ltZCgpOiBib29sZWFuO1xuICBzaW1kQ2FwYWJpbGl0aWVzKCk6IHN0cmluZ1tdO1xufVxuXG4vLyBuYXBpLXJzIHJlYWRzIGAjW25hcGkob2JqZWN0KV1gIGZpZWxkcyBieSB0aGVpciBjYW1lbENhc2UgbmFtZXM7IHNuYWtlX2Nhc2Vcbi8vIGtleXMgYXJlIHNpbGVudGx5IGlnbm9yZWQgKHdoaWNoIGlzIGhvdyBgbWF4VG9rZW5zYCB1c2VkIHRvIGJlIGRyb3BwZWQpLlxuaW50ZXJmYWNlIE5hdGl2ZUdlbkNvbmZpZyB7XG4gIG1heFRva2Vucz86IG51bWJlcjtcbiAgdGVtcGVyYXR1cmU/OiBudW1iZXI7XG4gIHRvcFA/OiBudW1iZXI7XG4gIHRvcEs/OiBudW1iZXI7XG4gIHJlcGV0aXRpb25QZW5hbHR5PzogbnVtYmVyO1xuICBzdG9wU2VxdWVuY2VzPzogc3RyaW5nW107XG4gIHNlZWQ/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVMb2FkTW9kZWxPcHRpb25zIHtcbiAgbWF4Q29udGV4dD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZUNoYXRNZXNzYWdlIHtcbiAgcm9sZTogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBOYXRpdmVHZW5lcmF0aW9uUmVzdWx0IHtcbiAgdGV4dDogc3RyaW5nO1xuICBwcm9tcHRUb2tlbnM6IG51bWJlcjtcbiAgY29tcGxldGlvblRva2VuczogbnVtYmVyO1xuICBmaW5pc2hSZWFzb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZU1vZGVsSW5mbyB7XG4gIG5hbWU6IHN0cmluZztcbiAgYXJjaGl0ZWN0dXJlOiBzdHJpbmc7XG4gIG51bVBhcmFtZXRlcnM6IG51bWJlcjtcbiAgdm9jYWJTaXplOiBudW1iZXI7XG4gIGhpZGRlblNpemU6IG51bWJlcjtcbiAgbnVtTGF5ZXJzOiBudW1iZXI7XG4gIG1heENvbnRleHRMZW5ndGg6IG51bWJlcjtcbiAgcXVhbnRpemF0aW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgbWVtb3J5VXNhZ2VCeXRlczogbnVtYmVyO1xuICBjaGF0VGVtcGxhdGU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4vLyBuYXBpLXJzIGNhbWVsQ2FzZXMgUnVzdCBzdHJ1Y3QgZmllbGRzIHdoZW4gaXQgYnVpbGRzIHRoZSBKUyBvYmplY3QsIHNvIHRoZVxuLy8gcmVhbCBuYXRpdmUgc2hhcGUgaXMgY2FtZWxDYXNlLiBUaGVzZSBpbnRlcmZhY2VzIHByZXZpb3VzbHkgZGVjbGFyZWQgb25seVxuLy8gc25ha2VfY2FzZSwgd2hpY2ggaXMgd2h5IHRoZSB3cmFwcGVyJ3Mgc25ha2VfY2FzZSByZWFkcyB0eXBlY2hlY2tlZCB3aGlsZVxuLy8gc2lsZW50bHkgeWllbGRpbmcgdW5kZWZpbmVkIGF0IHJ1bnRpbWUuIEJvdGggc3BlbGxpbmdzIGFyZSBkZWNsYXJlZCDigJRcbi8vIGNhbWVsQ2FzZSByZXF1aXJlZCwgc25ha2VfY2FzZSBvcHRpb25hbCDigJQgc28gb2xkZXIgbmF0aXZlIGJ1aWxkcyBzdGlsbCBmaXQuXG5pbnRlcmZhY2UgTmF0aXZlUXVlcnlSZXNwb25zZSB7XG4gIHRleHQ6IHN0cmluZztcbiAgY29uZmlkZW5jZTogbnVtYmVyO1xuICBtb2RlbDogc3RyaW5nO1xuICBjb250ZXh0U2l6ZTogbnVtYmVyO1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIC8qKiBCdWlsZHMgd2l0aCBgbG9hZE1vZGVsYCBhbHNvIHJlcG9ydCB0b2tlbiB1c2FnZS4gKi9cbiAgcHJvbXB0VG9rZW5zPzogbnVtYmVyO1xuICBjb21wbGV0aW9uVG9rZW5zPzogbnVtYmVyO1xuICBmaW5pc2hSZWFzb24/OiBzdHJpbmc7XG4gIGNvbnRleHRfc2l6ZT86IG51bWJlcjtcbiAgbGF0ZW5jeV9tcz86IG51bWJlcjtcbiAgcmVxdWVzdF9pZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZVJvdXRpbmdEZWNpc2lvbiB7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIGNvbnRleHRTaXplOiBudW1iZXI7XG4gIHRlbXBlcmF0dXJlOiBudW1iZXI7XG4gIHRvcF9wPzogbnVtYmVyO1xuICB0b3BQOiBudW1iZXI7XG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbiAgY29udGV4dF9zaXplPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlTWVtb3J5UmVzdWx0IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqIERpc3RhbmNlIChzbWFsbGVyIGlzIGNsb3NlcikgYXMgcmVwb3J0ZWQgYnkgdGhlIGN1cnJlbnQgbmF0aXZlIGJ1aWxkLiAqL1xuICBkaXN0YW5jZT86IG51bWJlcjtcbiAgLyoqIFNpbWlsYXJpdHksIGVtaXR0ZWQgYnkgb2xkZXIgbmF0aXZlIGJ1aWxkcy4gKi9cbiAgc2NvcmU/OiBudW1iZXI7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgbWV0YWRhdGE6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZVN0YXRzIHtcbiAgdG90YWxfcXVlcmllczogbnVtYmVyO1xuICBtZW1vcnlfbm9kZXM6IG51bWJlcjtcbiAgcGF0dGVybnNfbGVhcm5lZDogbnVtYmVyO1xuICBhdmdfbGF0ZW5jeV9tczogbnVtYmVyO1xuICBjYWNoZV9oaXRfcmF0ZTogbnVtYmVyO1xuICByb3V0ZXJfYWNjdXJhY3k6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZVNpbWRPcHMge1xuICBkb3RQcm9kdWN0KGE6IG51bWJlcltdLCBiOiBudW1iZXJbXSk6IG51bWJlcjtcbiAgY29zaW5lU2ltaWxhcml0eShhOiBudW1iZXJbXSwgYjogbnVtYmVyW10pOiBudW1iZXI7XG4gIGwyRGlzdGFuY2UoYTogbnVtYmVyW10sIGI6IG51bWJlcltdKTogbnVtYmVyO1xuICBtYXR2ZWMobWF0cml4OiBudW1iZXJbXVtdLCB2ZWN0b3I6IG51bWJlcltdKTogbnVtYmVyW107XG4gIHNvZnRtYXgoaW5wdXQ6IG51bWJlcltdKTogbnVtYmVyW107XG59XG5cbi8vIFBsYXRmb3JtLXNwZWNpZmljIHBhY2thZ2UgbmFtZXNcbmNvbnN0IFBMQVRGT1JNX1BBQ0tBR0VTOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnZGFyd2luLXg2NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLWRhcndpbi14NjQnLFxuICAnZGFyd2luLWFybTY0JzogJ0BydXZlY3Rvci9ydXZsbG0tZGFyd2luLWFybTY0JyxcbiAgJ2xpbnV4LXg2NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLWxpbnV4LXg2NC1nbnUnLFxuICAnbGludXgtYXJtNjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS1saW51eC1hcm02NC1nbnUnLFxuICAnd2luMzIteDY0JzogJ0BydXZlY3Rvci9ydXZsbG0td2luMzIteDY0LW1zdmMnLFxufTtcblxuZnVuY3Rpb24gZ2V0UGxhdGZvcm1LZXkoKTogc3RyaW5nIHtcbiAgY29uc3QgcGxhdGZvcm0gPSBwcm9jZXNzLnBsYXRmb3JtO1xuICBjb25zdCBhcmNoID0gcHJvY2Vzcy5hcmNoO1xuICByZXR1cm4gYCR7cGxhdGZvcm19LSR7YXJjaH1gO1xufVxuXG5mdW5jdGlvbiBsb2FkTmF0aXZlTW9kdWxlKCk6IE5hdGl2ZVJ1dkxMTSB8IG51bGwge1xuICBpZiAobmF0aXZlTW9kdWxlKSB7XG4gICAgcmV0dXJuIG5hdGl2ZU1vZHVsZTtcbiAgfVxuXG4gIC8vIEFuIGV4cGxpY2l0IGJpbmFyeSAoZS5nLiBvbmUgYnVpbHQgbG9jYWxseSB3aXRoIGBucG0gcnVuIGJ1aWxkOm5hdGl2ZWApXG4gIC8vIHdpbnMgb3ZlciB0aGUgaW5zdGFsbGVkIHBsYXRmb3JtIHBhY2thZ2UuIEZhaWxpbmcgdG8gbG9hZCBpdCBpcyBhblxuICAvLyBlcnJvciwgbm90IGEgc2lsZW50IGZhbGxiYWNrIHRvIGEgZGlmZmVyZW50IGJpbmFyeS5cbiAgY29uc3Qgb3ZlcnJpZGUgPSBwcm9jZXNzLmVudi5SVVZMTE1fTkFUSVZFX1BBVEg7XG4gIGlmIChvdmVycmlkZSkge1xuICAgIHRyeSB7XG4gICAgICAvLyByZXNvbHZlKCk6IGEgcmVsYXRpdmUgcGF0aCBtZWFucyByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnksXG4gICAgICAvLyBub3QgdG8gdGhpcyBmaWxlLlxuICAgICAgbmF0aXZlTW9kdWxlID0gbm9ybWFsaXplKHJlcXVpcmUocmVzb2x2ZShvdmVycmlkZSkpIGFzIFJhd05hdGl2ZU1vZHVsZSk7XG4gICAgICByZXR1cm4gbmF0aXZlTW9kdWxlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFJVVkxMTV9OQVRJVkVfUEFUSD0ke292ZXJyaWRlfSBjb3VsZCBub3QgYmUgbG9hZGVkOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBsYXRmb3JtS2V5ID0gZ2V0UGxhdGZvcm1LZXkoKTtcbiAgY29uc3QgcGFja2FnZU5hbWUgPSBQTEFURk9STV9QQUNLQUdFU1twbGF0Zm9ybUtleV07XG5cbiAgaWYgKCFwYWNrYWdlTmFtZSkge1xuICAgIC8vIFNpbGVudGx5IGZhaWwgLSBKUyBmYWxsYmFjayB3aWxsIGJlIHVzZWRcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBgbmFwaSBidWlsZCAtLXBsYXRmb3JtYCBuYW1lcyBpdHMgb3V0cHV0IHJ1dmxsbS48cGxhdGZvcm0+Lm5vZGVcbiAgY29uc3QgcGxhdGZvcm1GaWxlID0gYHJ1dmxsbS4ke3BhY2thZ2VOYW1lLnJlcGxhY2UoJ0BydXZlY3Rvci9ydXZsbG0tJywgJycpfS5ub2RlYDtcblxuICAvLyBUcnkgbG9hZGluZyBmcm9tIG9wdGlvbmFsIGRlcGVuZGVuY2llc1xuICBjb25zdCBhdHRlbXB0cyA9IFtcbiAgICAvLyBUcnkgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHBhY2thZ2VcbiAgICAoKSA9PiByZXF1aXJlKHBhY2thZ2VOYW1lKSxcbiAgICAvLyBUcnkgbG9hZGluZyBmcm9tIGxvY2FsIC5ub2RlIGZpbGUgKENKUyBidWlsZClcbiAgICAoKSA9PiByZXF1aXJlKGpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAncnV2bGxtLm5vZGUnKSksXG4gICAgLy8gVHJ5IGxvYWRpbmcgZnJvbSBsb2NhbCAubm9kZSBmaWxlIChyb290KVxuICAgICgpID0+IHJlcXVpcmUoam9pbihfX2Rpcm5hbWUsICcuLicsICdydXZsbG0ubm9kZScpKSxcbiAgICAvLyBPdXRwdXQgb2YgYG5wbSBydW4gYnVpbGQ6bmF0aXZlYCBpbiB0aGUgcGFja2FnZSByb290XG4gICAgKCkgPT4gcmVxdWlyZShqb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgcGxhdGZvcm1GaWxlKSksXG4gIF07XG5cbiAgZm9yIChjb25zdCBhdHRlbXB0IG9mIGF0dGVtcHRzKSB7XG4gICAgdHJ5IHtcbiAgICAgIG5hdGl2ZU1vZHVsZSA9IG5vcm1hbGl6ZShhdHRlbXB0KCkgYXMgUmF3TmF0aXZlTW9kdWxlKTtcbiAgICAgIHJldHVybiBuYXRpdmVNb2R1bGU7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBDb250aW51ZSB0byBuZXh0IGF0dGVtcHRcbiAgICB9XG4gIH1cblxuICAvLyBTaWxlbnRseSBmYWxsIGJhY2sgdG8gSlMgaW1wbGVtZW50YXRpb25cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIE5vcm1hbGl6ZTogbmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lLCB3ZSBleHBvc2UgYXMgUnV2TExNRW5naW5lXG5mdW5jdGlvbiBub3JtYWxpemUocmF3OiBSYXdOYXRpdmVNb2R1bGUpOiBOYXRpdmVSdXZMTE0ge1xuICByZXR1cm4ge1xuICAgIFJ1dkxMTUVuZ2luZTogcmF3LlJ1dkxMTUVuZ2luZSA/PyByYXcuUnV2TGxtRW5naW5lISxcbiAgICBTaW1kT3BlcmF0aW9uczogcmF3LlNpbWRPcGVyYXRpb25zLFxuICAgIHZlcnNpb246IHJhdy52ZXJzaW9uLFxuICAgIGhhc1NpbWRTdXBwb3J0OiByYXcuaGFzU2ltZFN1cHBvcnQsXG4gIH07XG59XG5cbi8vIEV4cG9ydCBmdW5jdGlvbnMgdG8gZ2V0IG5hdGl2ZSBiaW5kaW5nc1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5hdGl2ZU1vZHVsZSgpOiBOYXRpdmVSdXZMTE0gfCBudWxsIHtcbiAgcmV0dXJuIGxvYWROYXRpdmVNb2R1bGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnNpb24oKTogc3RyaW5nIHtcbiAgY29uc3QgbW9kID0gbG9hZE5hdGl2ZU1vZHVsZSgpO1xuICByZXR1cm4gbW9kPy52ZXJzaW9uKCkgPz8gJzAuMS4wLWpzJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1NpbWRTdXBwb3J0KCk6IGJvb2xlYW4ge1xuICBjb25zdCBtb2QgPSBsb2FkTmF0aXZlTW9kdWxlKCk7XG4gIHJldHVybiBtb2Q/Lmhhc1NpbWRTdXBwb3J0KCkgPz8gZmFsc2U7XG59XG5cbi8vIEV4cG9ydCB0eXBlcyBmb3IgaW50ZXJuYWwgdXNlXG5leHBvcnQgdHlwZSB7XG4gIE5hdGl2ZVJ1dkxMTSxcbiAgTmF0aXZlQ29uZmlnLFxuICBOYXRpdmVFbmdpbmUsXG4gIE5hdGl2ZUdlbkNvbmZpZyxcbiAgTmF0aXZlTG9hZE1vZGVsT3B0aW9ucyxcbiAgTmF0aXZlQ2hhdE1lc3NhZ2UsXG4gIE5hdGl2ZUdlbmVyYXRpb25SZXN1bHQsXG4gIE5hdGl2ZU1vZGVsSW5mbyxcbiAgTmF0aXZlUXVlcnlSZXNwb25zZSxcbiAgTmF0aXZlUm91dGluZ0RlY2lzaW9uLFxuICBOYXRpdmVNZW1vcnlSZXN1bHQsXG4gIE5hdGl2ZVN0YXRzLFxuICBOYXRpdmVTaW1kT3BzLFxufTtcbiJdfQ==
|
package/dist/esm/session.d.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session Management for multi-turn conversations
|
|
3
|
-
*/
|
|
4
|
-
import { ConversationSession, ConversationMessage, QueryResponse, GenerationConfig } from './types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Session Manager for multi-turn conversations
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* import { RuvLLM, SessionManager } from '@ruvector/ruvllm';
|
|
11
|
-
*
|
|
12
|
-
* const llm = new RuvLLM();
|
|
13
|
-
* const sessions = new SessionManager(llm);
|
|
14
|
-
*
|
|
15
|
-
* // Create a new session
|
|
16
|
-
* const session = sessions.create();
|
|
17
|
-
*
|
|
18
|
-
* // Chat with context
|
|
19
|
-
* const response1 = sessions.chat(session.id, 'What is Python?');
|
|
20
|
-
* const response2 = sessions.chat(session.id, 'How do I install it?');
|
|
21
|
-
* // Second query automatically has context from first
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
export declare class SessionManager {
|
|
25
|
-
private sessions;
|
|
26
|
-
private llm;
|
|
27
|
-
constructor(llm: {
|
|
28
|
-
query: (text: string, config?: GenerationConfig) => QueryResponse;
|
|
29
|
-
addMemory: (content: string, metadata?: Record<string, unknown>) => number;
|
|
30
|
-
});
|
|
31
|
-
/**
|
|
32
|
-
* Create a new conversation session
|
|
33
|
-
*/
|
|
34
|
-
create(metadata?: Record<string, unknown>): ConversationSession;
|
|
35
|
-
/**
|
|
36
|
-
* Get session by ID
|
|
37
|
-
*/
|
|
38
|
-
get(sessionId: string): ConversationSession | undefined;
|
|
39
|
-
/**
|
|
40
|
-
* Chat within a session (maintains context)
|
|
41
|
-
*/
|
|
42
|
-
chat(sessionId: string, message: string, config?: GenerationConfig): QueryResponse;
|
|
43
|
-
/**
|
|
44
|
-
* Add system message to session
|
|
45
|
-
*/
|
|
46
|
-
addSystemMessage(sessionId: string, content: string): void;
|
|
47
|
-
/**
|
|
48
|
-
* Add context to session (persisted to memory)
|
|
49
|
-
*/
|
|
50
|
-
addContext(sessionId: string, context: string): number;
|
|
51
|
-
/**
|
|
52
|
-
* Get conversation history
|
|
53
|
-
*/
|
|
54
|
-
getHistory(sessionId: string, limit?: number): ConversationMessage[];
|
|
55
|
-
/**
|
|
56
|
-
* Clear session history (keep session active)
|
|
57
|
-
*/
|
|
58
|
-
clearHistory(sessionId: string): void;
|
|
59
|
-
/**
|
|
60
|
-
* End and delete session
|
|
61
|
-
*/
|
|
62
|
-
end(sessionId: string): boolean;
|
|
63
|
-
/**
|
|
64
|
-
* List all active sessions
|
|
65
|
-
*/
|
|
66
|
-
list(): ConversationSession[];
|
|
67
|
-
/**
|
|
68
|
-
* Export session as JSON
|
|
69
|
-
*/
|
|
70
|
-
export(sessionId: string): string | null;
|
|
71
|
-
/**
|
|
72
|
-
* Import session from JSON
|
|
73
|
-
*/
|
|
74
|
-
import(json: string): ConversationSession;
|
|
75
|
-
/**
|
|
76
|
-
* Build context string from recent messages
|
|
77
|
-
*/
|
|
78
|
-
private buildContext;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,GAAG,CAAoJ;gBAEnJ,GAAG,EAAE;QAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,aAAa,CAAC;QAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;KAAE;IAIlK;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB;IAe/D;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIvD;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,aAAa;IAiClF;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAc1D;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBtD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAUpE;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASrC;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,IAAI,IAAI,mBAAmB,EAAE;IAI7B;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASxC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAezC;;OAEG;IACH,OAAO,CAAC,YAAY;CA2BrB"}
|
package/dist/esm/session.js
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session Management for multi-turn conversations
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Session Manager for multi-turn conversations
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { RuvLLM, SessionManager } from '@ruvector/ruvllm';
|
|
10
|
-
*
|
|
11
|
-
* const llm = new RuvLLM();
|
|
12
|
-
* const sessions = new SessionManager(llm);
|
|
13
|
-
*
|
|
14
|
-
* // Create a new session
|
|
15
|
-
* const session = sessions.create();
|
|
16
|
-
*
|
|
17
|
-
* // Chat with context
|
|
18
|
-
* const response1 = sessions.chat(session.id, 'What is Python?');
|
|
19
|
-
* const response2 = sessions.chat(session.id, 'How do I install it?');
|
|
20
|
-
* // Second query automatically has context from first
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export class SessionManager {
|
|
24
|
-
constructor(llm) {
|
|
25
|
-
this.sessions = new Map();
|
|
26
|
-
this.llm = llm;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Create a new conversation session
|
|
30
|
-
*/
|
|
31
|
-
create(metadata) {
|
|
32
|
-
const id = `session-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
33
|
-
const session = {
|
|
34
|
-
id,
|
|
35
|
-
createdAt: new Date(),
|
|
36
|
-
messageCount: 0,
|
|
37
|
-
messages: [],
|
|
38
|
-
context: [],
|
|
39
|
-
activeMemoryIds: [],
|
|
40
|
-
metadata: metadata ?? {},
|
|
41
|
-
};
|
|
42
|
-
this.sessions.set(id, session);
|
|
43
|
-
return session;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get session by ID
|
|
47
|
-
*/
|
|
48
|
-
get(sessionId) {
|
|
49
|
-
return this.sessions.get(sessionId);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Chat within a session (maintains context)
|
|
53
|
-
*/
|
|
54
|
-
chat(sessionId, message, config) {
|
|
55
|
-
const session = this.sessions.get(sessionId);
|
|
56
|
-
if (!session) {
|
|
57
|
-
throw new Error(`Session not found: ${sessionId}`);
|
|
58
|
-
}
|
|
59
|
-
// Add user message
|
|
60
|
-
session.messages.push({
|
|
61
|
-
role: 'user',
|
|
62
|
-
content: message,
|
|
63
|
-
timestamp: new Date(),
|
|
64
|
-
});
|
|
65
|
-
// Build context from recent messages
|
|
66
|
-
const contextWindow = this.buildContext(session);
|
|
67
|
-
// Query with context
|
|
68
|
-
const prompt = contextWindow ? `${contextWindow}\n\nUser: ${message}` : message;
|
|
69
|
-
const response = this.llm.query(prompt, config);
|
|
70
|
-
// Add assistant response
|
|
71
|
-
session.messages.push({
|
|
72
|
-
role: 'assistant',
|
|
73
|
-
content: response.text,
|
|
74
|
-
timestamp: new Date(),
|
|
75
|
-
requestId: response.requestId,
|
|
76
|
-
});
|
|
77
|
-
session.messageCount = session.messages.length;
|
|
78
|
-
return response;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Add system message to session
|
|
82
|
-
*/
|
|
83
|
-
addSystemMessage(sessionId, content) {
|
|
84
|
-
const session = this.sessions.get(sessionId);
|
|
85
|
-
if (!session) {
|
|
86
|
-
throw new Error(`Session not found: ${sessionId}`);
|
|
87
|
-
}
|
|
88
|
-
session.messages.push({
|
|
89
|
-
role: 'system',
|
|
90
|
-
content,
|
|
91
|
-
timestamp: new Date(),
|
|
92
|
-
});
|
|
93
|
-
session.messageCount = session.messages.length;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Add context to session (persisted to memory)
|
|
97
|
-
*/
|
|
98
|
-
addContext(sessionId, context) {
|
|
99
|
-
const session = this.sessions.get(sessionId);
|
|
100
|
-
if (!session) {
|
|
101
|
-
throw new Error(`Session not found: ${sessionId}`);
|
|
102
|
-
}
|
|
103
|
-
session.context.push(context);
|
|
104
|
-
// Also store in memory for retrieval
|
|
105
|
-
const memoryId = this.llm.addMemory(context, {
|
|
106
|
-
sessionId,
|
|
107
|
-
type: 'context',
|
|
108
|
-
timestamp: new Date().toISOString(),
|
|
109
|
-
});
|
|
110
|
-
session.activeMemoryIds.push(memoryId);
|
|
111
|
-
return memoryId;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Get conversation history
|
|
115
|
-
*/
|
|
116
|
-
getHistory(sessionId, limit) {
|
|
117
|
-
const session = this.sessions.get(sessionId);
|
|
118
|
-
if (!session) {
|
|
119
|
-
return [];
|
|
120
|
-
}
|
|
121
|
-
const messages = session.messages;
|
|
122
|
-
return limit ? messages.slice(-limit) : messages;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Clear session history (keep session active)
|
|
126
|
-
*/
|
|
127
|
-
clearHistory(sessionId) {
|
|
128
|
-
const session = this.sessions.get(sessionId);
|
|
129
|
-
if (session) {
|
|
130
|
-
session.messages = [];
|
|
131
|
-
session.context = [];
|
|
132
|
-
session.messageCount = 0;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* End and delete session
|
|
137
|
-
*/
|
|
138
|
-
end(sessionId) {
|
|
139
|
-
return this.sessions.delete(sessionId);
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* List all active sessions
|
|
143
|
-
*/
|
|
144
|
-
list() {
|
|
145
|
-
return Array.from(this.sessions.values());
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Export session as JSON
|
|
149
|
-
*/
|
|
150
|
-
export(sessionId) {
|
|
151
|
-
const session = this.sessions.get(sessionId);
|
|
152
|
-
if (!session) {
|
|
153
|
-
return null;
|
|
154
|
-
}
|
|
155
|
-
return JSON.stringify(session, null, 2);
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Import session from JSON
|
|
159
|
-
*/
|
|
160
|
-
import(json) {
|
|
161
|
-
const data = JSON.parse(json);
|
|
162
|
-
const session = {
|
|
163
|
-
...data,
|
|
164
|
-
createdAt: new Date(data.createdAt),
|
|
165
|
-
messages: data.messages.map((m) => ({
|
|
166
|
-
...m,
|
|
167
|
-
timestamp: new Date(m.timestamp),
|
|
168
|
-
})),
|
|
169
|
-
};
|
|
170
|
-
this.sessions.set(session.id, session);
|
|
171
|
-
return session;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Build context string from recent messages
|
|
175
|
-
*/
|
|
176
|
-
buildContext(session, maxMessages = 10) {
|
|
177
|
-
const recent = session.messages.slice(-maxMessages);
|
|
178
|
-
if (recent.length === 0) {
|
|
179
|
-
return '';
|
|
180
|
-
}
|
|
181
|
-
const contextParts = [];
|
|
182
|
-
// Add persistent context
|
|
183
|
-
if (session.context.length > 0) {
|
|
184
|
-
contextParts.push('Context:\n' + session.context.join('\n'));
|
|
185
|
-
}
|
|
186
|
-
// Add conversation history
|
|
187
|
-
const history = recent
|
|
188
|
-
.map(m => {
|
|
189
|
-
const role = m.role === 'user' ? 'User' : m.role === 'assistant' ? 'Assistant' : 'System';
|
|
190
|
-
return `${role}: ${m.content}`;
|
|
191
|
-
})
|
|
192
|
-
.join('\n');
|
|
193
|
-
if (history) {
|
|
194
|
-
contextParts.push('Conversation:\n' + history);
|
|
195
|
-
}
|
|
196
|
-
return contextParts.join('\n\n');
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBU0g7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQVksR0FBc0o7UUFIMUosYUFBUSxHQUFxQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBSTdELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFrQztRQUN2QyxNQUFNLEVBQUUsR0FBRyxXQUFXLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3RSxNQUFNLE9BQU8sR0FBd0I7WUFDbkMsRUFBRTtZQUNGLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNyQixZQUFZLEVBQUUsQ0FBQztZQUNmLFFBQVEsRUFBRSxFQUFFO1lBQ1osT0FBTyxFQUFFLEVBQUU7WUFDWCxlQUFlLEVBQUUsRUFBRTtZQUNuQixRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUU7U0FDekIsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsU0FBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsU0FBaUIsRUFBRSxPQUFlLEVBQUUsTUFBeUI7UUFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFD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QUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQzFGLE9BQU8sR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVkLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZXNzaW9uIE1hbmFnZW1lbnQgZm9yIG11bHRpLXR1cm4gY29udmVyc2F0aW9uc1xuICovXG5cbmltcG9ydCB7XG4gIENvbnZlcnNhdGlvblNlc3Npb24sXG4gIENvbnZlcnNhdGlvbk1lc3NhZ2UsXG4gIFF1ZXJ5UmVzcG9uc2UsXG4gIEdlbmVyYXRpb25Db25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFNlc3Npb24gTWFuYWdlciBmb3IgbXVsdGktdHVybiBjb252ZXJzYXRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IFJ1dkxMTSwgU2Vzc2lvbk1hbmFnZXIgfSBmcm9tICdAcnV2ZWN0b3IvcnV2bGxtJztcbiAqXG4gKiBjb25zdCBsbG0gPSBuZXcgUnV2TExNKCk7XG4gKiBjb25zdCBzZXNzaW9ucyA9IG5ldyBTZXNzaW9uTWFuYWdlcihsbG0pO1xuICpcbiAqIC8vIENyZWF0ZSBhIG5ldyBzZXNzaW9uXG4gKiBjb25zdCBzZXNzaW9uID0gc2Vzc2lvbnMuY3JlYXRlKCk7XG4gKlxuICogLy8gQ2hhdCB3aXRoIGNvbnRleHRcbiAqIGNvbnN0IHJlc3BvbnNlMSA9IHNlc3Npb25zLmNoYXQoc2Vzc2lvbi5pZCwgJ1doYXQgaXMgUHl0aG9uPycpO1xuICogY29uc3QgcmVzcG9uc2UyID0gc2Vzc2lvbnMuY2hhdChzZXNzaW9uLmlkLCAnSG93IGRvIEkgaW5zdGFsbCBpdD8nKTtcbiAqIC8vIFNlY29uZCBxdWVyeSBhdXRvbWF0aWNhbGx5IGhhcyBjb250ZXh0IGZyb20gZmlyc3RcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU2Vzc2lvbk1hbmFnZXIge1xuICBwcml2YXRlIHNlc3Npb25zOiBNYXA8c3RyaW5nLCBDb252ZXJzYXRpb25TZXNzaW9uPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBsbG06IHsgcXVlcnk6ICh0ZXh0OiBzdHJpbmcsIGNvbmZpZz86IEdlbmVyYXRpb25Db25maWcpID0+IFF1ZXJ5UmVzcG9uc2U7IGFkZE1lbW9yeTogKGNvbnRlbnQ6IHN0cmluZywgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gbnVtYmVyIH07XG5cbiAgY29uc3RydWN0b3IobGxtOiB7IHF1ZXJ5OiAodGV4dDogc3RyaW5nLCBjb25maWc/OiBHZW5lcmF0aW9uQ29uZmlnKSA9PiBRdWVyeVJlc3BvbnNlOyBhZGRNZW1vcnk6IChjb250ZW50OiBzdHJpbmcsIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IG51bWJlciB9KSB7XG4gICAgdGhpcy5sbG0gPSBsbG07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGNvbnZlcnNhdGlvbiBzZXNzaW9uXG4gICAqL1xuICBjcmVhdGUobWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IENvbnZlcnNhdGlvblNlc3Npb24ge1xuICAgIGNvbnN0IGlkID0gYHNlc3Npb24tJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDgpfWA7XG4gICAgY29uc3Qgc2Vzc2lvbjogQ29udmVyc2F0aW9uU2Vzc2lvbiA9IHtcbiAgICAgIGlkLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgICAgbWVzc2FnZUNvdW50OiAwLFxuICAgICAgbWVzc2FnZXM6IFtdLFxuICAgICAgY29udGV4dDogW10sXG4gICAgICBhY3RpdmVNZW1vcnlJZHM6IFtdLFxuICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhID8/IHt9LFxuICAgIH07XG4gICAgdGhpcy5zZXNzaW9ucy5zZXQoaWQsIHNlc3Npb24pO1xuICAgIHJldHVybiBzZXNzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzZXNzaW9uIGJ5IElEXG4gICAqL1xuICBnZXQoc2Vzc2lvbklkOiBzdHJpbmcpOiBDb252ZXJzYXRpb25TZXNzaW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9ucy5nZXQoc2Vzc2lvbklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGF0IHdpdGhpbiBhIHNlc3Npb24gKG1haW50YWlucyBjb250ZXh0KVxuICAgKi9cbiAgY2hhdChzZXNzaW9uSWQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBHZW5lcmF0aW9uQ29uZmlnKTogUXVlcnlSZXNwb25zZSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZ2V0KHNlc3Npb25JZCk7XG4gICAgaWYgKCFzZXNzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFNlc3Npb24gbm90IGZvdW5kOiAke3Nlc3Npb25JZH1gKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdXNlciBtZXNzYWdlXG4gICAgc2Vzc2lvbi5tZXNzYWdlcy5wdXNoKHtcbiAgICAgIHJvbGU6ICd1c2VyJyxcbiAgICAgIGNvbnRlbnQ6IG1lc3NhZ2UsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gICAgfSk7XG5cbiAgICAvLyBCdWlsZCBjb250ZXh0IGZyb20gcmVjZW50IG1lc3NhZ2VzXG4gICAgY29uc3QgY29udGV4dFdpbmRvdyA9IHRoaXMuYnVpbGRDb250ZXh0KHNlc3Npb24pO1xuXG4gICAgLy8gUXVlcnkgd2l0aCBjb250ZXh0XG4gICAgY29uc3QgcHJvbXB0ID0gY29udGV4dFdpbmRvdyA/IGAke2NvbnRleHRXaW5kb3d9XFxuXFxuVXNlcjogJHttZXNzYWdlfWAgOiBtZXNzYWdlO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5sbG0ucXVlcnkocHJvbXB0LCBjb25maWcpO1xuXG4gICAgLy8gQWRkIGFzc2lzdGFudCByZXNwb25zZVxuICAgIHNlc3Npb24ubWVzc2FnZXMucHVzaCh7XG4gICAgICByb2xlOiAnYXNzaXN0YW50JyxcbiAgICAgIGNvbnRlbnQ6IHJlc3BvbnNlLnRleHQsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gICAgICByZXF1ZXN0SWQ6IHJlc3BvbnNlLnJlcXVlc3RJZCxcbiAgICB9KTtcblxuICAgIHNlc3Npb24ubWVzc2FnZUNvdW50ID0gc2Vzc2lvbi5tZXNzYWdlcy5sZW5ndGg7XG5cbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHN5c3RlbSBtZXNzYWdlIHRvIHNlc3Npb25cbiAgICovXG4gIGFkZFN5c3RlbU1lc3NhZ2Uoc2Vzc2lvbklkOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLnNlc3Npb25zLmdldChzZXNzaW9uSWQpO1xuICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTZXNzaW9uIG5vdCBmb3VuZDogJHtzZXNzaW9uSWR9YCk7XG4gICAgfVxuXG4gICAgc2Vzc2lvbi5tZXNzYWdlcy5wdXNoKHtcbiAgICAgIHJvbGU6ICdzeXN0ZW0nLFxuICAgICAgY29udGVudCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICB9KTtcbiAgICBzZXNzaW9uLm1lc3NhZ2VDb3VudCA9IHNlc3Npb24ubWVzc2FnZXMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBjb250ZXh0IHRvIHNlc3Npb24gKHBlcnNpc3RlZCB0byBtZW1vcnkpXG4gICAqL1xuICBhZGRDb250ZXh0KHNlc3Npb25JZDogc3RyaW5nLCBjb250ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLnNlc3Npb25zLmdldChzZXNzaW9uSWQpO1xuICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTZXNzaW9uIG5vdCBmb3VuZDogJHtzZXNzaW9uSWR9YCk7XG4gICAgfVxuXG4gICAgc2Vzc2lvbi5jb250ZXh0LnB1c2goY29udGV4dCk7XG5cbiAgICAvLyBBbHNvIHN0b3JlIGluIG1lbW9yeSBmb3IgcmV0cmlldmFsXG4gICAgY29uc3QgbWVtb3J5SWQgPSB0aGlzLmxsbS5hZGRNZW1vcnkoY29udGV4dCwge1xuICAgICAgc2Vzc2lvbklkLFxuICAgICAgdHlwZTogJ2NvbnRleHQnLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgfSk7XG5cbiAgICBzZXNzaW9uLmFjdGl2ZU1lbW9yeUlkcy5wdXNoKG1lbW9yeUlkKTtcbiAgICByZXR1cm4gbWVtb3J5SWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbnZlcnNhdGlvbiBoaXN0b3J5XG4gICAqL1xuICBnZXRIaXN0b3J5KHNlc3Npb25JZDogc3RyaW5nLCBsaW1pdD86IG51bWJlcik6IENvbnZlcnNhdGlvbk1lc3NhZ2VbXSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZ2V0KHNlc3Npb25JZCk7XG4gICAgaWYgKCFzZXNzaW9uKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbWVzc2FnZXMgPSBzZXNzaW9uLm1lc3NhZ2VzO1xuICAgIHJldHVybiBsaW1pdCA/IG1lc3NhZ2VzLnNsaWNlKC1saW1pdCkgOiBtZXNzYWdlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBzZXNzaW9uIGhpc3RvcnkgKGtlZXAgc2Vzc2lvbiBhY3RpdmUpXG4gICAqL1xuICBjbGVhckhpc3Rvcnkoc2Vzc2lvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5nZXQoc2Vzc2lvbklkKTtcbiAgICBpZiAoc2Vzc2lvbikge1xuICAgICAgc2Vzc2lvbi5tZXNzYWdlcyA9IFtdO1xuICAgICAgc2Vzc2lvbi5jb250ZXh0ID0gW107XG4gICAgICBzZXNzaW9uLm1lc3NhZ2VDb3VudCA9IDA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVuZCBhbmQgZGVsZXRlIHNlc3Npb25cbiAgICovXG4gIGVuZChzZXNzaW9uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25zLmRlbGV0ZShzZXNzaW9uSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgYWxsIGFjdGl2ZSBzZXNzaW9uc1xuICAgKi9cbiAgbGlzdCgpOiBDb252ZXJzYXRpb25TZXNzaW9uW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuc2Vzc2lvbnMudmFsdWVzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCBzZXNzaW9uIGFzIEpTT05cbiAgICovXG4gIGV4cG9ydChzZXNzaW9uSWQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLnNlc3Npb25zLmdldChzZXNzaW9uSWQpO1xuICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHNlc3Npb24sIG51bGwsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBzZXNzaW9uIGZyb20gSlNPTlxuICAgKi9cbiAgaW1wb3J0KGpzb246IHN0cmluZyk6IENvbnZlcnNhdGlvblNlc3Npb24ge1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGpzb24pO1xuICAgIGNvbnN0IHNlc3Npb246IENvbnZlcnNhdGlvblNlc3Npb24gPSB7XG4gICAgICAuLi5kYXRhLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShkYXRhLmNyZWF0ZWRBdCksXG4gICAgICBtZXNzYWdlczogZGF0YS5tZXNzYWdlcy5tYXAoKG06IENvbnZlcnNhdGlvbk1lc3NhZ2UpID0+ICh7XG4gICAgICAgIC4uLm0sXG4gICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUobS50aW1lc3RhbXApLFxuICAgICAgfSkpLFxuICAgIH07XG5cbiAgICB0aGlzLnNlc3Npb25zLnNldChzZXNzaW9uLmlkLCBzZXNzaW9uKTtcbiAgICByZXR1cm4gc2Vzc2lvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBjb250ZXh0IHN0cmluZyBmcm9tIHJlY2VudCBtZXNzYWdlc1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZENvbnRleHQoc2Vzc2lvbjogQ29udmVyc2F0aW9uU2Vzc2lvbiwgbWF4TWVzc2FnZXMgPSAxMCk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVjZW50ID0gc2Vzc2lvbi5tZXNzYWdlcy5zbGljZSgtbWF4TWVzc2FnZXMpO1xuICAgIGlmIChyZWNlbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dFBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLy8gQWRkIHBlcnNpc3RlbnQgY29udGV4dFxuICAgIGlmIChzZXNzaW9uLmNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgY29udGV4dFBhcnRzLnB1c2goJ0NvbnRleHQ6XFxuJyArIHNlc3Npb24uY29udGV4dC5qb2luKCdcXG4nKSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGNvbnZlcnNhdGlvbiBoaXN0b3J5XG4gICAgY29uc3QgaGlzdG9yeSA9IHJlY2VudFxuICAgICAgLm1hcChtID0+IHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IG0ucm9sZSA9PT0gJ3VzZXInID8gJ1VzZXInIDogbS5yb2xlID09PSAnYXNzaXN0YW50JyA/ICdBc3Npc3RhbnQnIDogJ1N5c3RlbSc7XG4gICAgICAgIHJldHVybiBgJHtyb2xlfTogJHttLmNvbnRlbnR9YDtcbiAgICAgIH0pXG4gICAgICAuam9pbignXFxuJyk7XG5cbiAgICBpZiAoaGlzdG9yeSkge1xuICAgICAgY29udGV4dFBhcnRzLnB1c2goJ0NvbnZlcnNhdGlvbjpcXG4nICsgaGlzdG9yeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRleHRQYXJ0cy5qb2luKCdcXG5cXG4nKTtcbiAgfVxufVxuIl19
|
package/dist/esm/simd.d.ts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SIMD Operations for vector computations
|
|
3
|
-
*
|
|
4
|
-
* Uses native SIMD instructions (AVX2/AVX512/SSE4.1/NEON) when available,
|
|
5
|
-
* falls back to JavaScript implementations otherwise.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* SIMD Operations class
|
|
9
|
-
*
|
|
10
|
-
* Provides hardware-accelerated vector operations when native module is available.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* import { SimdOps } from '@ruvector/ruvllm';
|
|
15
|
-
*
|
|
16
|
-
* const simd = new SimdOps();
|
|
17
|
-
*
|
|
18
|
-
* // Compute dot product
|
|
19
|
-
* const result = simd.dotProduct([1, 2, 3], [4, 5, 6]);
|
|
20
|
-
* console.log(result); // 32
|
|
21
|
-
*
|
|
22
|
-
* // Check capabilities
|
|
23
|
-
* console.log(simd.capabilities()); // ['AVX2', 'FMA']
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export declare class SimdOps {
|
|
27
|
-
private native;
|
|
28
|
-
constructor();
|
|
29
|
-
/**
|
|
30
|
-
* Compute dot product of two vectors
|
|
31
|
-
*/
|
|
32
|
-
dotProduct(a: number[], b: number[]): number;
|
|
33
|
-
/**
|
|
34
|
-
* Compute cosine similarity between two vectors
|
|
35
|
-
*/
|
|
36
|
-
cosineSimilarity(a: number[], b: number[]): number;
|
|
37
|
-
/**
|
|
38
|
-
* Compute L2 (Euclidean) distance between two vectors
|
|
39
|
-
*/
|
|
40
|
-
l2Distance(a: number[], b: number[]): number;
|
|
41
|
-
/**
|
|
42
|
-
* Matrix-vector multiplication
|
|
43
|
-
*/
|
|
44
|
-
matvec(matrix: number[][], vector: number[]): number[];
|
|
45
|
-
/**
|
|
46
|
-
* Softmax activation function
|
|
47
|
-
*/
|
|
48
|
-
softmax(input: number[]): number[];
|
|
49
|
-
/**
|
|
50
|
-
* Element-wise addition
|
|
51
|
-
*/
|
|
52
|
-
add(a: number[], b: number[]): number[];
|
|
53
|
-
/**
|
|
54
|
-
* Element-wise multiplication
|
|
55
|
-
*/
|
|
56
|
-
mul(a: number[], b: number[]): number[];
|
|
57
|
-
/**
|
|
58
|
-
* Scale vector by scalar
|
|
59
|
-
*/
|
|
60
|
-
scale(a: number[], scalar: number): number[];
|
|
61
|
-
/**
|
|
62
|
-
* Normalize vector to unit length
|
|
63
|
-
*/
|
|
64
|
-
normalize(a: number[]): number[];
|
|
65
|
-
/**
|
|
66
|
-
* ReLU activation
|
|
67
|
-
*/
|
|
68
|
-
relu(input: number[]): number[];
|
|
69
|
-
/**
|
|
70
|
-
* GELU activation (approximate)
|
|
71
|
-
*/
|
|
72
|
-
gelu(input: number[]): number[];
|
|
73
|
-
/**
|
|
74
|
-
* Sigmoid activation
|
|
75
|
-
*/
|
|
76
|
-
sigmoid(input: number[]): number[];
|
|
77
|
-
/**
|
|
78
|
-
* Layer normalization
|
|
79
|
-
*/
|
|
80
|
-
layerNorm(input: number[], eps?: number): number[];
|
|
81
|
-
/**
|
|
82
|
-
* Check if native SIMD is available
|
|
83
|
-
*/
|
|
84
|
-
isNative(): boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Get available SIMD capabilities
|
|
87
|
-
*/
|
|
88
|
-
capabilities(): string[];
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=simd.d.ts.map
|
package/dist/esm/simd.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simd.d.ts","sourceRoot":"","sources":["../../src/simd.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAA8B;;IAa5C;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAc5C;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAqBlD;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAe5C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAStD;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAYlC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IASvC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IASvC;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAI5C;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAKhC;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAI/B;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAM/B;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAIlC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,SAAO,GAAG,MAAM,EAAE;IAOhD;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;CAkBzB"}
|