@runanywhere/web-llamacpp 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -0
- package/dist/Extensions/DiffusionTypes.d.ts +64 -0
- package/dist/Extensions/DiffusionTypes.d.ts.map +1 -0
- package/dist/Extensions/DiffusionTypes.js +28 -0
- package/dist/Extensions/DiffusionTypes.js.map +1 -0
- package/dist/Extensions/EmbeddingsTypes.d.ts +33 -0
- package/dist/Extensions/EmbeddingsTypes.d.ts.map +1 -0
- package/dist/Extensions/EmbeddingsTypes.js +13 -0
- package/dist/Extensions/EmbeddingsTypes.js.map +1 -0
- package/dist/Extensions/RunAnywhere+Diffusion.d.ts +44 -0
- package/dist/Extensions/RunAnywhere+Diffusion.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+Diffusion.js +185 -0
- package/dist/Extensions/RunAnywhere+Diffusion.js.map +1 -0
- package/dist/Extensions/RunAnywhere+Embeddings.d.ts +56 -0
- package/dist/Extensions/RunAnywhere+Embeddings.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+Embeddings.js +236 -0
- package/dist/Extensions/RunAnywhere+Embeddings.js.map +1 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.d.ts +69 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.js +194 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.js.map +1 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.d.ts +87 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.js +525 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.js.map +1 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.d.ts +82 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.js +574 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.js.map +1 -0
- package/dist/Extensions/RunAnywhere+VLM.d.ts +57 -0
- package/dist/Extensions/RunAnywhere+VLM.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+VLM.js +258 -0
- package/dist/Extensions/RunAnywhere+VLM.js.map +1 -0
- package/dist/Extensions/ToolCallingTypes.d.ts +78 -0
- package/dist/Extensions/ToolCallingTypes.d.ts.map +1 -0
- package/dist/Extensions/ToolCallingTypes.js +8 -0
- package/dist/Extensions/ToolCallingTypes.js.map +1 -0
- package/dist/Extensions/VLMTypes.d.ts +16 -0
- package/dist/Extensions/VLMTypes.d.ts.map +1 -0
- package/dist/Extensions/VLMTypes.js +18 -0
- package/dist/Extensions/VLMTypes.js.map +1 -0
- package/dist/Foundation/AnalyticsEventsBridge.d.ts +38 -0
- package/dist/Foundation/AnalyticsEventsBridge.d.ts.map +1 -0
- package/dist/Foundation/AnalyticsEventsBridge.js +394 -0
- package/dist/Foundation/AnalyticsEventsBridge.js.map +1 -0
- package/dist/Foundation/LlamaCppBridge.d.ts +182 -0
- package/dist/Foundation/LlamaCppBridge.d.ts.map +1 -0
- package/dist/Foundation/LlamaCppBridge.js +483 -0
- package/dist/Foundation/LlamaCppBridge.js.map +1 -0
- package/dist/Foundation/LlamaCppOffsets.d.ts +32 -0
- package/dist/Foundation/LlamaCppOffsets.d.ts.map +1 -0
- package/dist/Foundation/LlamaCppOffsets.js +191 -0
- package/dist/Foundation/LlamaCppOffsets.js.map +1 -0
- package/dist/Foundation/PlatformAdapter.d.ts +109 -0
- package/dist/Foundation/PlatformAdapter.d.ts.map +1 -0
- package/dist/Foundation/PlatformAdapter.js +417 -0
- package/dist/Foundation/PlatformAdapter.js.map +1 -0
- package/dist/Foundation/TelemetryService.d.ts +96 -0
- package/dist/Foundation/TelemetryService.d.ts.map +1 -0
- package/dist/Foundation/TelemetryService.js +345 -0
- package/dist/Foundation/TelemetryService.js.map +1 -0
- package/dist/Foundation/WASMAnalyticsEmitter.d.ts +29 -0
- package/dist/Foundation/WASMAnalyticsEmitter.d.ts.map +1 -0
- package/dist/Foundation/WASMAnalyticsEmitter.js +70 -0
- package/dist/Foundation/WASMAnalyticsEmitter.js.map +1 -0
- package/dist/Infrastructure/VLMWorkerBridge.d.ts +219 -0
- package/dist/Infrastructure/VLMWorkerBridge.d.ts.map +1 -0
- package/dist/Infrastructure/VLMWorkerBridge.js +288 -0
- package/dist/Infrastructure/VLMWorkerBridge.js.map +1 -0
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts +38 -0
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts.map +1 -0
- package/dist/Infrastructure/VLMWorkerRuntime.js +620 -0
- package/dist/Infrastructure/VLMWorkerRuntime.js.map +1 -0
- package/dist/LlamaCPP.d.ts +49 -0
- package/dist/LlamaCPP.d.ts.map +1 -0
- package/dist/LlamaCPP.js +63 -0
- package/dist/LlamaCPP.js.map +1 -0
- package/dist/LlamaCppProvider.d.ts +32 -0
- package/dist/LlamaCppProvider.d.ts.map +1 -0
- package/dist/LlamaCppProvider.js +106 -0
- package/dist/LlamaCppProvider.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/workers/vlm-worker.d.ts +9 -0
- package/dist/workers/vlm-worker.d.ts.map +1 -0
- package/dist/workers/vlm-worker.js +10 -0
- package/dist/workers/vlm-worker.js.map +1 -0
- package/package.json +69 -0
- package/wasm/racommons-llamacpp-webgpu.js +159 -0
- package/wasm/racommons-llamacpp-webgpu.wasm +0 -0
- package/wasm/racommons-llamacpp.js +129 -0
- package/wasm/racommons-llamacpp.wasm +0 -0
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LlamaCppBridge - Independent WASM module bridge for the llama.cpp backend
|
|
3
|
+
*
|
|
4
|
+
* Loads racommons-llamacpp.wasm (which contains rac_commons + llama.cpp)
|
|
5
|
+
* as a fully independent WASM module with its own Emscripten runtime,
|
|
6
|
+
* linear memory, and virtual filesystem.
|
|
7
|
+
*
|
|
8
|
+
* Follows the same pattern as SherpaONNXBridge in @runanywhere/web-onnx:
|
|
9
|
+
* - Singleton with lazy loading
|
|
10
|
+
* - Dynamic import of glue JS + fetch of .wasm binary
|
|
11
|
+
* - Async WebAssembly.instantiate
|
|
12
|
+
* - Own MEMFS for model files
|
|
13
|
+
* - Platform adapter registration
|
|
14
|
+
* - rac_init() + backend registration
|
|
15
|
+
*
|
|
16
|
+
* This module is completely independent from any core WASM — the core
|
|
17
|
+
* package (@runanywhere/web) is pure TypeScript.
|
|
18
|
+
*/
|
|
19
|
+
import { SDKError, SDKErrorCode, SDKLogger, EventBus, SDKEventType, SDKEnvironment, RunAnywhere } from '@runanywhere/web';
|
|
20
|
+
import { getDeviceInfo } from '@runanywhere/web';
|
|
21
|
+
import { PlatformAdapter } from './PlatformAdapter';
|
|
22
|
+
import { AnalyticsEventsBridge } from './AnalyticsEventsBridge';
|
|
23
|
+
import { TelemetryService } from './TelemetryService';
|
|
24
|
+
const logger = new SDKLogger('LlamaCppBridge');
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// LlamaCppBridge
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
export class LlamaCppBridge {
|
|
29
|
+
static _instance = null;
|
|
30
|
+
static _nextMountId = 0;
|
|
31
|
+
_module = null;
|
|
32
|
+
_loaded = false;
|
|
33
|
+
_loading = null;
|
|
34
|
+
_accelerationMode = 'cpu';
|
|
35
|
+
_platformAdapter = null;
|
|
36
|
+
_analyticsEventsBridge = null;
|
|
37
|
+
_telemetryService = null;
|
|
38
|
+
/** Override the default URL to the racommons-llamacpp.js glue file. */
|
|
39
|
+
wasmUrl = null;
|
|
40
|
+
/** Override the URL for the WebGPU variant. */
|
|
41
|
+
webgpuWasmUrl = null;
|
|
42
|
+
static get shared() {
|
|
43
|
+
if (!LlamaCppBridge._instance) {
|
|
44
|
+
LlamaCppBridge._instance = new LlamaCppBridge();
|
|
45
|
+
}
|
|
46
|
+
return LlamaCppBridge._instance;
|
|
47
|
+
}
|
|
48
|
+
get isLoaded() {
|
|
49
|
+
return this._loaded && this._module !== null;
|
|
50
|
+
}
|
|
51
|
+
get module() {
|
|
52
|
+
if (!this._module) {
|
|
53
|
+
throw new SDKError(SDKErrorCode.WASMNotLoaded, 'LlamaCpp WASM not loaded. Call LlamaCPP.register() first.');
|
|
54
|
+
}
|
|
55
|
+
return this._module;
|
|
56
|
+
}
|
|
57
|
+
get accelerationMode() {
|
|
58
|
+
return this._accelerationMode;
|
|
59
|
+
}
|
|
60
|
+
// -----------------------------------------------------------------------
|
|
61
|
+
// Loading
|
|
62
|
+
// -----------------------------------------------------------------------
|
|
63
|
+
async ensureLoaded(acceleration = 'auto') {
|
|
64
|
+
if (this._loaded)
|
|
65
|
+
return;
|
|
66
|
+
if (this._loading) {
|
|
67
|
+
await this._loading;
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this._loading = this._doLoad(acceleration);
|
|
71
|
+
try {
|
|
72
|
+
await this._loading;
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
this._loading = null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async _doLoad(acceleration) {
|
|
79
|
+
logger.info('Loading LlamaCpp WASM module...');
|
|
80
|
+
try {
|
|
81
|
+
// Determine acceleration mode
|
|
82
|
+
const useWebGPU = acceleration === 'webgpu' ||
|
|
83
|
+
(acceleration === 'auto' && await this.detectWebGPUWithJSPI());
|
|
84
|
+
this._accelerationMode = useWebGPU ? 'webgpu' : 'cpu';
|
|
85
|
+
// Select module URL
|
|
86
|
+
const moduleUrl = useWebGPU
|
|
87
|
+
? (this.webgpuWasmUrl ?? new URL('../../wasm/racommons-llamacpp-webgpu.js', import.meta.url).href)
|
|
88
|
+
: (this.wasmUrl ?? new URL('../../wasm/racommons-llamacpp.js', import.meta.url).href);
|
|
89
|
+
logger.info(`Loading ${useWebGPU ? 'WebGPU' : 'CPU'} variant: ${moduleUrl}`);
|
|
90
|
+
// Persist the resolved URL so VLMWorkerBridge (and others) can read it
|
|
91
|
+
if (useWebGPU) {
|
|
92
|
+
this.webgpuWasmUrl = moduleUrl;
|
|
93
|
+
}
|
|
94
|
+
this.wasmUrl = moduleUrl;
|
|
95
|
+
// Dynamic import of Emscripten glue JS
|
|
96
|
+
const { default: createModule } = await import(/* @vite-ignore */ moduleUrl);
|
|
97
|
+
// Derive the base URL so the Emscripten glue resolves the companion
|
|
98
|
+
// .wasm binary from the same directory, regardless of bundler output.
|
|
99
|
+
const baseUrl = moduleUrl.substring(0, moduleUrl.lastIndexOf('/') + 1);
|
|
100
|
+
// Instantiate the WASM module
|
|
101
|
+
this._module = await createModule({
|
|
102
|
+
print: (text) => logger.info(text),
|
|
103
|
+
printErr: (text) => logger.error(text),
|
|
104
|
+
locateFile: (path) => baseUrl + path,
|
|
105
|
+
});
|
|
106
|
+
// Verify module loaded
|
|
107
|
+
const pingResult = this._module._rac_wasm_ping();
|
|
108
|
+
const ping = typeof pingResult === 'object' && pingResult !== null && 'then' in pingResult
|
|
109
|
+
? await pingResult
|
|
110
|
+
: pingResult;
|
|
111
|
+
if (ping !== 42) {
|
|
112
|
+
throw new Error(`WASM ping failed: expected 42, got ${ping}`);
|
|
113
|
+
}
|
|
114
|
+
// Register platform adapter (browser callbacks for logging, file ops, etc.)
|
|
115
|
+
this._platformAdapter = new PlatformAdapter();
|
|
116
|
+
this._platformAdapter.register();
|
|
117
|
+
// Initialize RACommons core within this WASM module
|
|
118
|
+
await this.initRACommons(this._platformAdapter.getAdapterPtr());
|
|
119
|
+
// Register the llama.cpp backend
|
|
120
|
+
await this.registerBackend();
|
|
121
|
+
// Initialize analytics events bridge (subscribe to C++ events → TypeScript EventBus)
|
|
122
|
+
this._analyticsEventsBridge = new AnalyticsEventsBridge();
|
|
123
|
+
// Initialize telemetry service (C++ telemetry manager → browser fetch)
|
|
124
|
+
this._telemetryService = TelemetryService.shared;
|
|
125
|
+
const deviceInfo = await getDeviceInfo();
|
|
126
|
+
const environment = RunAnywhere.environment ?? SDKEnvironment.Production;
|
|
127
|
+
await this._telemetryService.initialize(this._module, environment, deviceInfo);
|
|
128
|
+
// Wire analytics bridge: forwards C++ events to EventBus + TelemetryService
|
|
129
|
+
this._analyticsEventsBridge.register(this._module, (eventType, dataPtr) => this._telemetryService?.trackAnalyticsEvent(eventType, dataPtr));
|
|
130
|
+
this._loaded = true;
|
|
131
|
+
logger.info(`LlamaCpp WASM module loaded successfully (${this._accelerationMode})`);
|
|
132
|
+
EventBus.shared.emit('llamacpp.wasmLoaded', SDKEventType.Initialization, {
|
|
133
|
+
accelerationMode: this._accelerationMode,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
// WebGPU fallback to CPU
|
|
138
|
+
if (this._accelerationMode === 'webgpu' && acceleration === 'auto') {
|
|
139
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
140
|
+
logger.warning(`WebGPU WASM failed (${reason}), falling back to CPU`);
|
|
141
|
+
this._module = null;
|
|
142
|
+
this._loaded = false;
|
|
143
|
+
this._accelerationMode = 'cpu';
|
|
144
|
+
return this._doLoad('cpu');
|
|
145
|
+
}
|
|
146
|
+
this._module = null;
|
|
147
|
+
this._loaded = false;
|
|
148
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
149
|
+
logger.error(`Failed to load LlamaCpp WASM: ${message}`);
|
|
150
|
+
throw new SDKError(SDKErrorCode.WASMLoadFailed, `Failed to load LlamaCpp WASM module: ${message}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async initRACommons(adapterPtr) {
|
|
154
|
+
const m = this._module;
|
|
155
|
+
// Create rac_config_t
|
|
156
|
+
const configSize = m._rac_wasm_sizeof_config();
|
|
157
|
+
const configPtr = m._malloc(configSize);
|
|
158
|
+
for (let i = 0; i < configSize; i++) {
|
|
159
|
+
m.setValue(configPtr + i, 0, 'i8');
|
|
160
|
+
}
|
|
161
|
+
// Set platform_adapter pointer (offset 0)
|
|
162
|
+
m.setValue(configPtr, adapterPtr, '*');
|
|
163
|
+
// Set log_level (offset queried at runtime)
|
|
164
|
+
const logLevelOffset = this.wasmOffsetOf('config_log_level');
|
|
165
|
+
m.setValue(configPtr + logLevelOffset, 2, 'i32'); // INFO level
|
|
166
|
+
const result = await m.ccall('rac_init', 'number', ['number'], [configPtr], { async: true });
|
|
167
|
+
m._free(configPtr);
|
|
168
|
+
if (result !== 0) {
|
|
169
|
+
const errMsg = this.readString(m._rac_error_message(result));
|
|
170
|
+
throw new Error(`rac_init failed in LlamaCpp module: ${errMsg}`);
|
|
171
|
+
}
|
|
172
|
+
logger.info('RACommons initialized within LlamaCpp WASM module');
|
|
173
|
+
}
|
|
174
|
+
async registerBackend() {
|
|
175
|
+
const m = this._module;
|
|
176
|
+
if (typeof m._rac_backend_llamacpp_register === 'function') {
|
|
177
|
+
const result = await m.ccall('rac_backend_llamacpp_register', 'number', [], [], { async: true });
|
|
178
|
+
if (result === 0) {
|
|
179
|
+
logger.info('llama.cpp C++ backend registered');
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
logger.warning(`llama.cpp backend registration returned: ${result}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (typeof m._rac_backend_llamacpp_vlm_register === 'function') {
|
|
186
|
+
const result = await m.ccall('rac_backend_llamacpp_vlm_register', 'number', [], [], { async: true });
|
|
187
|
+
if (result === 0) {
|
|
188
|
+
logger.info('llama.cpp VLM backend registered');
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// -----------------------------------------------------------------------
|
|
193
|
+
// Filesystem (model files written to this module's MEMFS)
|
|
194
|
+
// -----------------------------------------------------------------------
|
|
195
|
+
/**
|
|
196
|
+
* Write a model file to this WASM module's Emscripten virtual filesystem.
|
|
197
|
+
*/
|
|
198
|
+
writeFile(path, data) {
|
|
199
|
+
const m = this.module;
|
|
200
|
+
const dir = path.substring(0, path.lastIndexOf('/'));
|
|
201
|
+
if (dir && typeof m.FS_createPath === 'function') {
|
|
202
|
+
m.FS_createPath('/', dir.replace(/^\//, ''), true, true);
|
|
203
|
+
}
|
|
204
|
+
if (typeof m.FS_createDataFile === 'function') {
|
|
205
|
+
const parentDir = dir || '/';
|
|
206
|
+
const filename = path.substring(path.lastIndexOf('/') + 1);
|
|
207
|
+
try {
|
|
208
|
+
m.FS_unlink?.(path);
|
|
209
|
+
}
|
|
210
|
+
catch { /* doesn't exist */ }
|
|
211
|
+
m.FS_createDataFile(parentDir, filename, data, true, true, true);
|
|
212
|
+
logger.debug(`Wrote ${data.length} bytes to LlamaCpp FS: ${path}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Write a model from a ReadableStream to this WASM module's Emscripten virtual filesystem.
|
|
217
|
+
* Useful for loading models without buffering the entire file in JS memory.
|
|
218
|
+
*/
|
|
219
|
+
async writeFileStream(path, stream) {
|
|
220
|
+
const m = this.module;
|
|
221
|
+
const FS = m.FS;
|
|
222
|
+
if (!FS)
|
|
223
|
+
throw new Error('Emscripten FS not available on module');
|
|
224
|
+
const dir = path.substring(0, path.lastIndexOf('/'));
|
|
225
|
+
if (dir && typeof m.FS_createPath === 'function') {
|
|
226
|
+
m.FS_createPath('/', dir.replace(/^\//, ''), true, true);
|
|
227
|
+
}
|
|
228
|
+
try {
|
|
229
|
+
FS.unlink(path);
|
|
230
|
+
}
|
|
231
|
+
catch { /* ignore */ }
|
|
232
|
+
logger.debug(`Streaming to LlamaCpp FS: ${path}...`);
|
|
233
|
+
const fileStream = FS.open(path, 'w+');
|
|
234
|
+
try {
|
|
235
|
+
const reader = stream.getReader();
|
|
236
|
+
let totalBytes = 0;
|
|
237
|
+
try {
|
|
238
|
+
while (true) {
|
|
239
|
+
const { done, value } = await reader.read();
|
|
240
|
+
if (done)
|
|
241
|
+
break;
|
|
242
|
+
FS.write(fileStream, value, 0, value.length, undefined);
|
|
243
|
+
totalBytes += value.length;
|
|
244
|
+
}
|
|
245
|
+
logger.debug(`Finished streaming ${totalBytes} bytes to LlamaCpp FS: ${path}`);
|
|
246
|
+
}
|
|
247
|
+
finally {
|
|
248
|
+
reader.releaseLock();
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
finally {
|
|
252
|
+
FS.close(fileStream);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Remove a file from this WASM module's filesystem.
|
|
257
|
+
*/
|
|
258
|
+
unlinkFile(path) {
|
|
259
|
+
try {
|
|
260
|
+
this.module.FS_unlink?.(path);
|
|
261
|
+
}
|
|
262
|
+
catch { /* doesn't exist */ }
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Mount a File object into the WASM filesystem (if WORKERFS is available).
|
|
266
|
+
* Returns the path to the mounted file, or null if mounting failed/unsupported.
|
|
267
|
+
*
|
|
268
|
+
* @param file - The browser File object
|
|
269
|
+
* @returns The absolute path to the file in WASM FS (e.g. /mnt-123/model.gguf) or null
|
|
270
|
+
*/
|
|
271
|
+
mountFile(file) {
|
|
272
|
+
const m = this.module;
|
|
273
|
+
if (!m.FS_mount || !m.WORKERFS)
|
|
274
|
+
return null;
|
|
275
|
+
let createdMountDir = false;
|
|
276
|
+
let mountDir = '';
|
|
277
|
+
try {
|
|
278
|
+
// Create a unique mount point directory
|
|
279
|
+
const mountId = LlamaCppBridge._nextMountId++;
|
|
280
|
+
mountDir = `/mnt-${mountId}`;
|
|
281
|
+
if (m.FS_mkdir) {
|
|
282
|
+
m.FS_mkdir(mountDir);
|
|
283
|
+
createdMountDir = true;
|
|
284
|
+
}
|
|
285
|
+
// Mount the file. WORKERFS expects { files: [File, ...] } or { files: [{name, data: File}] }
|
|
286
|
+
// We assume the standard Emscripten WORKERFS behavior where `files` array mounts them by name.
|
|
287
|
+
m.FS_mount(m.WORKERFS, { files: [file] }, mountDir);
|
|
288
|
+
logger.debug(`Mounted ${file.name} to ${mountDir}`);
|
|
289
|
+
return `${mountDir}/${file.name}`;
|
|
290
|
+
}
|
|
291
|
+
catch (err) {
|
|
292
|
+
if (createdMountDir && m.FS_rmdir) {
|
|
293
|
+
try {
|
|
294
|
+
m.FS_rmdir(mountDir);
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
logger.warning(`Failed to clean up mount dir ${mountDir}`);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
301
|
+
logger.warning(`Failed to mount file (WORKERFS): ${msg}`);
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Unmount a directory (and remove it).
|
|
307
|
+
* @param mountDir - The directory path (e.g. /mnt-123)
|
|
308
|
+
*/
|
|
309
|
+
unmount(mountPath) {
|
|
310
|
+
if (!mountPath.startsWith('/mnt-'))
|
|
311
|
+
return; // Safety check
|
|
312
|
+
// Strip filename if present
|
|
313
|
+
const parts = mountPath.split('/');
|
|
314
|
+
// formatted like ["", "mnt-123", "filename"]
|
|
315
|
+
let dir = mountPath;
|
|
316
|
+
if (parts.length >= 3) {
|
|
317
|
+
dir = `/${parts[1]}`;
|
|
318
|
+
}
|
|
319
|
+
try {
|
|
320
|
+
const m = this.module;
|
|
321
|
+
if (m.FS_unmount)
|
|
322
|
+
m.FS_unmount(dir);
|
|
323
|
+
if (m.FS_rmdir)
|
|
324
|
+
m.FS_rmdir(dir);
|
|
325
|
+
logger.debug(`Unmounted ${dir}`);
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
/* ignore cleanup errors */
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// -----------------------------------------------------------------------
|
|
332
|
+
// WebGPU Detection
|
|
333
|
+
// -----------------------------------------------------------------------
|
|
334
|
+
async detectWebGPUWithJSPI() {
|
|
335
|
+
if (typeof navigator === 'undefined' || !('gpu' in navigator))
|
|
336
|
+
return false;
|
|
337
|
+
try {
|
|
338
|
+
const gpu = navigator.gpu;
|
|
339
|
+
const adapter = await gpu?.requestAdapter();
|
|
340
|
+
if (!adapter)
|
|
341
|
+
return false;
|
|
342
|
+
// Also need JSPI
|
|
343
|
+
return typeof WebAssembly !== 'undefined' &&
|
|
344
|
+
'promising' in WebAssembly &&
|
|
345
|
+
'Suspending' in WebAssembly;
|
|
346
|
+
}
|
|
347
|
+
catch {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
// -----------------------------------------------------------------------
|
|
352
|
+
// String / Memory Helpers (same as WASMBridge)
|
|
353
|
+
// -----------------------------------------------------------------------
|
|
354
|
+
allocString(str) {
|
|
355
|
+
const m = this.module;
|
|
356
|
+
const len = m.lengthBytesUTF8(str) + 1;
|
|
357
|
+
const ptr = m._malloc(len);
|
|
358
|
+
m.stringToUTF8(str, ptr, len);
|
|
359
|
+
return ptr;
|
|
360
|
+
}
|
|
361
|
+
readString(ptr) {
|
|
362
|
+
if (ptr === 0)
|
|
363
|
+
return '';
|
|
364
|
+
return this.module.UTF8ToString(ptr);
|
|
365
|
+
}
|
|
366
|
+
free(ptr) {
|
|
367
|
+
if (ptr !== 0)
|
|
368
|
+
this.module._free(ptr);
|
|
369
|
+
}
|
|
370
|
+
writeBytes(src, destPtr) {
|
|
371
|
+
const m = this.module;
|
|
372
|
+
if (m.HEAPU8) {
|
|
373
|
+
m.HEAPU8.set(src, destPtr);
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
for (let i = 0; i < src.length; i++)
|
|
377
|
+
m.setValue(destPtr + i, src[i], 'i8');
|
|
378
|
+
}
|
|
379
|
+
readBytes(srcPtr, length) {
|
|
380
|
+
const m = this.module;
|
|
381
|
+
if (m.HEAPU8)
|
|
382
|
+
return m.HEAPU8.slice(srcPtr, srcPtr + length);
|
|
383
|
+
const result = new Uint8Array(length);
|
|
384
|
+
for (let i = 0; i < length; i++)
|
|
385
|
+
result[i] = m.getValue(srcPtr + i, 'i8') & 0xFF;
|
|
386
|
+
return result;
|
|
387
|
+
}
|
|
388
|
+
readFloat32Array(srcPtr, count) {
|
|
389
|
+
const m = this.module;
|
|
390
|
+
if (m.HEAPF32)
|
|
391
|
+
return m.HEAPF32.slice(srcPtr >> 2, (srcPtr >> 2) + count);
|
|
392
|
+
const result = new Float32Array(count);
|
|
393
|
+
for (let i = 0; i < count; i++)
|
|
394
|
+
result[i] = m.getValue(srcPtr + i * 4, 'float');
|
|
395
|
+
return result;
|
|
396
|
+
}
|
|
397
|
+
writeFloat32Array(src, destPtr) {
|
|
398
|
+
const m = this.module;
|
|
399
|
+
if (m.HEAPF32) {
|
|
400
|
+
m.HEAPF32.set(src, destPtr >> 2);
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
for (let i = 0; i < src.length; i++)
|
|
404
|
+
m.setValue(destPtr + i * 4, src[i], 'float');
|
|
405
|
+
}
|
|
406
|
+
readFloat32(ptr) {
|
|
407
|
+
const m = this.module;
|
|
408
|
+
if (m.HEAPF32)
|
|
409
|
+
return m.HEAPF32[ptr >> 2];
|
|
410
|
+
return m.getValue(ptr, 'float');
|
|
411
|
+
}
|
|
412
|
+
checkResult(result, operation) {
|
|
413
|
+
if (result !== 0) {
|
|
414
|
+
const errMsgPtr = this.module._rac_error_message(result);
|
|
415
|
+
const errMsg = this.readString(errMsgPtr);
|
|
416
|
+
throw new SDKError(SDKErrorCode.BackendError, `${operation}: ${errMsg}`);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
getErrorMessage(resultCode) {
|
|
420
|
+
return this.readString(this.module._rac_error_message(resultCode));
|
|
421
|
+
}
|
|
422
|
+
callFunction(funcName, returnType, argTypes, args, opts) {
|
|
423
|
+
if (!this._module)
|
|
424
|
+
throw new SDKError(SDKErrorCode.WASMNotLoaded, 'LlamaCpp WASM not loaded');
|
|
425
|
+
return this._module.ccall(funcName, returnType, argTypes, args, opts);
|
|
426
|
+
}
|
|
427
|
+
// -----------------------------------------------------------------------
|
|
428
|
+
// Offset Helpers
|
|
429
|
+
// -----------------------------------------------------------------------
|
|
430
|
+
wasmOffsetOf(name) {
|
|
431
|
+
const fn = this.module[`_rac_wasm_offsetof_${name}`];
|
|
432
|
+
return typeof fn === 'function' ? fn() : 0;
|
|
433
|
+
}
|
|
434
|
+
wasmSizeOf(name) {
|
|
435
|
+
const fn = this.module[`_rac_wasm_sizeof_${name}`];
|
|
436
|
+
return typeof fn === 'function' ? fn() : 0;
|
|
437
|
+
}
|
|
438
|
+
// -----------------------------------------------------------------------
|
|
439
|
+
// Cleanup
|
|
440
|
+
// -----------------------------------------------------------------------
|
|
441
|
+
shutdown() {
|
|
442
|
+
// Flush and teardown telemetry before shutting down WASM
|
|
443
|
+
if (this._analyticsEventsBridge) {
|
|
444
|
+
try {
|
|
445
|
+
this._analyticsEventsBridge.cleanup();
|
|
446
|
+
}
|
|
447
|
+
catch { /* ignore */ }
|
|
448
|
+
this._analyticsEventsBridge = null;
|
|
449
|
+
}
|
|
450
|
+
if (this._telemetryService) {
|
|
451
|
+
try {
|
|
452
|
+
this._telemetryService.shutdown();
|
|
453
|
+
}
|
|
454
|
+
catch { /* ignore */ }
|
|
455
|
+
this._telemetryService = null;
|
|
456
|
+
}
|
|
457
|
+
if (this._module && this._loaded) {
|
|
458
|
+
try {
|
|
459
|
+
this._module._rac_shutdown();
|
|
460
|
+
}
|
|
461
|
+
catch (err) {
|
|
462
|
+
logger.debug(`LlamaCpp module shutdown failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
// Clean up platform adapter
|
|
466
|
+
if (this._platformAdapter) {
|
|
467
|
+
try {
|
|
468
|
+
this._platformAdapter.cleanup();
|
|
469
|
+
}
|
|
470
|
+
catch (err) {
|
|
471
|
+
logger.debug(`Platform adapter cleanup failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
472
|
+
}
|
|
473
|
+
this._platformAdapter = null;
|
|
474
|
+
}
|
|
475
|
+
this._module = null;
|
|
476
|
+
this._loaded = false;
|
|
477
|
+
this._loading = null;
|
|
478
|
+
this._accelerationMode = 'cpu';
|
|
479
|
+
LlamaCppBridge._instance = null;
|
|
480
|
+
logger.info('LlamaCpp bridge shut down');
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
//# sourceMappingURL=LlamaCppBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlamaCppBridge.js","sourceRoot":"","sources":["../../src/Foundation/LlamaCppBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LlamaCppOffsets - Cached struct offset access for the llama.cpp WASM module
|
|
3
|
+
*
|
|
4
|
+
* Provides the same `Offsets.llmOptions.temperature` access pattern that the
|
|
5
|
+
* old core WASMBridge had, but backed by LlamaCppBridge.shared.wasmOffsetOf().
|
|
6
|
+
*
|
|
7
|
+
* Offsets are loaded lazily on first access and cached thereafter.
|
|
8
|
+
*/
|
|
9
|
+
import type { AllOffsets } from '@runanywhere/web';
|
|
10
|
+
/**
|
|
11
|
+
* Load all struct offsets from the LlamaCppBridge WASM module.
|
|
12
|
+
* Results are cached after the first call.
|
|
13
|
+
*
|
|
14
|
+
* Must be called after LlamaCppBridge.shared.ensureLoaded().
|
|
15
|
+
*/
|
|
16
|
+
export declare function loadOffsets(): AllOffsets;
|
|
17
|
+
/**
|
|
18
|
+
* Get the cached offsets. Throws if loadOffsets() hasn't been called yet.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getOffsets(): AllOffsets;
|
|
21
|
+
/**
|
|
22
|
+
* Convenience alias: `Offsets` provides the same access pattern as the old
|
|
23
|
+
* core `Offsets` global, e.g. `Offsets.llmOptions.temperature`.
|
|
24
|
+
*
|
|
25
|
+
* Lazily loads offsets on first property access.
|
|
26
|
+
*/
|
|
27
|
+
export declare const Offsets: AllOffsets;
|
|
28
|
+
/**
|
|
29
|
+
* Reset the cached offsets (for testing or when the bridge is reloaded).
|
|
30
|
+
*/
|
|
31
|
+
export declare function resetOffsets(): void;
|
|
32
|
+
//# sourceMappingURL=LlamaCppOffsets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlamaCppOffsets.d.ts","sourceRoot":"","sources":["../../src/Foundation/LlamaCppOffsets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,UAAU,EAcX,MAAM,kBAAkB,CAAC;AAkJ1B;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAoBxC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,UAAU,CASvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,UAIpB,CAAC;AAEH;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|