@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,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunAnywhere Web SDK - Vision Language Model Extension
|
|
3
|
+
*
|
|
4
|
+
* Adds VLM capabilities for image understanding + text generation.
|
|
5
|
+
* Uses the RACommons rac_vlm_component_* C API (llama.cpp mtmd backend).
|
|
6
|
+
*
|
|
7
|
+
* Mirrors: sdk/runanywhere-swift/Sources/RunAnywhere/Public/Extensions/VLM/
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* import { VLM } from '@runanywhere/web';
|
|
11
|
+
*
|
|
12
|
+
* await VLM.loadModel('/models/qwen2-vl.gguf', '/models/qwen2-vl-mmproj.gguf', 'qwen2-vl');
|
|
13
|
+
* const result = await VLM.process(imageData, 'Describe this image');
|
|
14
|
+
* console.log(result.text);
|
|
15
|
+
*/
|
|
16
|
+
import { RunAnywhere, SDKError, SDKErrorCode, SDKLogger, EventBus, SDKEventType } from '@runanywhere/web';
|
|
17
|
+
import { LlamaCppBridge } from '../Foundation/LlamaCppBridge';
|
|
18
|
+
import { Offsets } from '../Foundation/LlamaCppOffsets';
|
|
19
|
+
import { VLMImageFormat, VLMModelFamily } from './VLMTypes';
|
|
20
|
+
const logger = new SDKLogger('VLM');
|
|
21
|
+
export { VLMModelFamily } from './VLMTypes';
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// VLM Extension
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
class VLMImpl {
|
|
26
|
+
extensionName = 'VLM';
|
|
27
|
+
_vlmComponentHandle = 0;
|
|
28
|
+
_vlmBackendRegistered = false;
|
|
29
|
+
requireBridge() {
|
|
30
|
+
if (!RunAnywhere.isInitialized)
|
|
31
|
+
throw SDKError.notInitialized();
|
|
32
|
+
return LlamaCppBridge.shared;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Ensure the llama.cpp VLM backend is registered with the service registry.
|
|
36
|
+
* Must be called before creating the VLM component so it can find a provider.
|
|
37
|
+
*/
|
|
38
|
+
ensureVLMBackendRegistered() {
|
|
39
|
+
if (this._vlmBackendRegistered)
|
|
40
|
+
return;
|
|
41
|
+
const bridge = this.requireBridge();
|
|
42
|
+
const m = bridge.module;
|
|
43
|
+
// Check if the backend registration function exists (only when built with --vlm)
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
+
const fn = m['_rac_backend_llamacpp_vlm_register'];
|
|
46
|
+
if (!fn) {
|
|
47
|
+
throw new SDKError(SDKErrorCode.BackendNotAvailable, 'VLM backend not available. Rebuild WASM with --vlm flag.');
|
|
48
|
+
}
|
|
49
|
+
const result = m.ccall('rac_backend_llamacpp_vlm_register', 'number', [], []);
|
|
50
|
+
if (result !== 0) {
|
|
51
|
+
bridge.checkResult(result, 'rac_backend_llamacpp_vlm_register');
|
|
52
|
+
}
|
|
53
|
+
this._vlmBackendRegistered = true;
|
|
54
|
+
logger.info('VLM backend (llama.cpp mtmd) registered');
|
|
55
|
+
}
|
|
56
|
+
ensureVLMComponent() {
|
|
57
|
+
if (this._vlmComponentHandle !== 0)
|
|
58
|
+
return this._vlmComponentHandle;
|
|
59
|
+
// Register the VLM backend first
|
|
60
|
+
this.ensureVLMBackendRegistered();
|
|
61
|
+
const bridge = this.requireBridge();
|
|
62
|
+
const m = bridge.module;
|
|
63
|
+
const handlePtr = m._malloc(4);
|
|
64
|
+
const result = m.ccall('rac_vlm_component_create', 'number', ['number'], [handlePtr]);
|
|
65
|
+
if (result !== 0) {
|
|
66
|
+
m._free(handlePtr);
|
|
67
|
+
bridge.checkResult(result, 'rac_vlm_component_create');
|
|
68
|
+
}
|
|
69
|
+
this._vlmComponentHandle = m.getValue(handlePtr, 'i32');
|
|
70
|
+
m._free(handlePtr);
|
|
71
|
+
logger.debug('VLM component created');
|
|
72
|
+
return this._vlmComponentHandle;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Load a VLM model (GGUF model + multimodal projector).
|
|
76
|
+
*
|
|
77
|
+
* @param modelPath - Path to the GGUF model file in WASM FS
|
|
78
|
+
* @param mmprojPath - Path to the mmproj file in WASM FS
|
|
79
|
+
* @param modelId - Unique model identifier
|
|
80
|
+
* @param modelName - Display name (optional)
|
|
81
|
+
*/
|
|
82
|
+
async loadModel(modelPath, mmprojPath, modelId, modelName) {
|
|
83
|
+
const bridge = this.requireBridge();
|
|
84
|
+
const m = bridge.module;
|
|
85
|
+
const handle = this.ensureVLMComponent();
|
|
86
|
+
logger.info(`Loading VLM model: ${modelId}`);
|
|
87
|
+
EventBus.shared.emit('model.loadStarted', SDKEventType.Model, { modelId, component: 'vlm' });
|
|
88
|
+
const pathPtr = bridge.allocString(modelPath);
|
|
89
|
+
const projPtr = bridge.allocString(mmprojPath);
|
|
90
|
+
const idPtr = bridge.allocString(modelId);
|
|
91
|
+
const namePtr = bridge.allocString(modelName ?? modelId);
|
|
92
|
+
try {
|
|
93
|
+
const result = m.ccall('rac_vlm_component_load_model', 'number', ['number', 'number', 'number', 'number', 'number'], [handle, pathPtr, projPtr, idPtr, namePtr]);
|
|
94
|
+
bridge.checkResult(result, 'rac_vlm_component_load_model');
|
|
95
|
+
logger.info(`VLM model loaded: ${modelId}`);
|
|
96
|
+
EventBus.shared.emit('model.loadCompleted', SDKEventType.Model, { modelId, component: 'vlm' });
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
bridge.free(pathPtr);
|
|
100
|
+
bridge.free(projPtr);
|
|
101
|
+
bridge.free(idPtr);
|
|
102
|
+
bridge.free(namePtr);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** Unload the VLM model. */
|
|
106
|
+
async unloadModel() {
|
|
107
|
+
if (this._vlmComponentHandle === 0)
|
|
108
|
+
return;
|
|
109
|
+
const bridge = this.requireBridge();
|
|
110
|
+
const result = bridge.module.ccall('rac_vlm_component_unload', 'number', ['number'], [this._vlmComponentHandle]);
|
|
111
|
+
bridge.checkResult(result, 'rac_vlm_component_unload');
|
|
112
|
+
logger.info('VLM model unloaded');
|
|
113
|
+
}
|
|
114
|
+
/** Check if a VLM model is loaded. */
|
|
115
|
+
get isModelLoaded() {
|
|
116
|
+
if (this._vlmComponentHandle === 0)
|
|
117
|
+
return false;
|
|
118
|
+
try {
|
|
119
|
+
return LlamaCppBridge.shared.module.ccall('rac_vlm_component_is_loaded', 'number', ['number'], [this._vlmComponentHandle]) === 1;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Process an image with a text prompt.
|
|
127
|
+
*
|
|
128
|
+
* @param image - Image input (file path, pixel data, or base64)
|
|
129
|
+
* @param prompt - Text prompt describing what to do with the image
|
|
130
|
+
* @param options - Generation options
|
|
131
|
+
* @returns VLM generation result
|
|
132
|
+
*/
|
|
133
|
+
async process(image, prompt, options = {}) {
|
|
134
|
+
const bridge = this.requireBridge();
|
|
135
|
+
const m = bridge.module;
|
|
136
|
+
const handle = this.ensureVLMComponent();
|
|
137
|
+
if (!this.isModelLoaded) {
|
|
138
|
+
throw new SDKError(SDKErrorCode.ModelNotLoaded, 'No VLM model loaded. Call loadModel() first.');
|
|
139
|
+
}
|
|
140
|
+
logger.debug(`VLM process: "${prompt.substring(0, 50)}..."`);
|
|
141
|
+
// Build rac_vlm_image_t struct
|
|
142
|
+
const imageSize = m._rac_wasm_sizeof_vlm_image();
|
|
143
|
+
const imagePtr = m._malloc(imageSize);
|
|
144
|
+
for (let i = 0; i < imageSize; i++)
|
|
145
|
+
m.setValue(imagePtr + i, 0, 'i8');
|
|
146
|
+
let filePathPtr = 0;
|
|
147
|
+
let base64Ptr = 0;
|
|
148
|
+
let pixelPtr = 0;
|
|
149
|
+
const vi = Offsets.vlmImage;
|
|
150
|
+
m.setValue(imagePtr + vi.format, image.format, 'i32');
|
|
151
|
+
if (image.format === VLMImageFormat.FilePath && image.filePath) {
|
|
152
|
+
filePathPtr = bridge.allocString(image.filePath);
|
|
153
|
+
m.setValue(imagePtr + vi.filePath, filePathPtr, '*');
|
|
154
|
+
}
|
|
155
|
+
else if (image.format === VLMImageFormat.Base64 && image.base64Data) {
|
|
156
|
+
base64Ptr = bridge.allocString(image.base64Data);
|
|
157
|
+
m.setValue(imagePtr + vi.base64Data, base64Ptr, '*');
|
|
158
|
+
}
|
|
159
|
+
else if (image.format === VLMImageFormat.RGBPixels && image.pixelData) {
|
|
160
|
+
pixelPtr = m._malloc(image.pixelData.length);
|
|
161
|
+
bridge.writeBytes(image.pixelData, pixelPtr);
|
|
162
|
+
m.setValue(imagePtr + vi.pixelData, pixelPtr, '*');
|
|
163
|
+
}
|
|
164
|
+
m.setValue(imagePtr + vi.width, image.width ?? 0, 'i32');
|
|
165
|
+
m.setValue(imagePtr + vi.height, image.height ?? 0, 'i32');
|
|
166
|
+
// data_size: use pixel data length for RGB, base64 string length for base64
|
|
167
|
+
const dataSize = image.pixelData?.length ?? image.base64Data?.length ?? 0;
|
|
168
|
+
m.setValue(imagePtr + vi.dataSize, dataSize, 'i32');
|
|
169
|
+
// Build rac_vlm_options_t
|
|
170
|
+
const optSize = m._rac_wasm_sizeof_vlm_options();
|
|
171
|
+
const optPtr = m._malloc(optSize);
|
|
172
|
+
for (let i = 0; i < optSize; i++)
|
|
173
|
+
m.setValue(optPtr + i, 0, 'i8');
|
|
174
|
+
const vo = Offsets.vlmOptions;
|
|
175
|
+
m.setValue(optPtr + vo.maxTokens, options.maxTokens ?? 512, 'i32');
|
|
176
|
+
m.setValue(optPtr + vo.temperature, options.temperature ?? 0.7, 'float');
|
|
177
|
+
m.setValue(optPtr + vo.topP, options.topP ?? 0.9, 'float');
|
|
178
|
+
m.setValue(optPtr + vo.streamingEnabled, options.streaming ? 1 : 0, 'i32');
|
|
179
|
+
let sysPtr = 0;
|
|
180
|
+
if (options.systemPrompt) {
|
|
181
|
+
sysPtr = bridge.allocString(options.systemPrompt);
|
|
182
|
+
m.setValue(optPtr + vo.systemPrompt, sysPtr, '*');
|
|
183
|
+
}
|
|
184
|
+
m.setValue(optPtr + vo.modelFamily, options.modelFamily ?? VLMModelFamily.Auto, 'i32');
|
|
185
|
+
const promptPtr = bridge.allocString(prompt);
|
|
186
|
+
// Result struct
|
|
187
|
+
const resSize = m._rac_wasm_sizeof_vlm_result();
|
|
188
|
+
const resPtr = m._malloc(resSize);
|
|
189
|
+
try {
|
|
190
|
+
const r = m.ccall('rac_vlm_component_process', 'number', ['number', 'number', 'number', 'number', 'number'], [handle, imagePtr, promptPtr, optPtr, resPtr]);
|
|
191
|
+
bridge.checkResult(r, 'rac_vlm_component_process');
|
|
192
|
+
// Read rac_vlm_result_t (offsets from compiler via StructOffsets)
|
|
193
|
+
const vr = Offsets.vlmResult;
|
|
194
|
+
const textPtr = m.getValue(resPtr + vr.text, '*');
|
|
195
|
+
const vlmResult = {
|
|
196
|
+
text: bridge.readString(textPtr),
|
|
197
|
+
promptTokens: m.getValue(resPtr + vr.promptTokens, 'i32'),
|
|
198
|
+
imageTokens: m.getValue(resPtr + vr.imageTokens, 'i32'),
|
|
199
|
+
completionTokens: m.getValue(resPtr + vr.completionTokens, 'i32'),
|
|
200
|
+
totalTokens: m.getValue(resPtr + vr.totalTokens, 'i32'),
|
|
201
|
+
timeToFirstTokenMs: m.getValue(resPtr + vr.timeToFirstTokenMs, 'i32'),
|
|
202
|
+
imageEncodeTimeMs: m.getValue(resPtr + vr.imageEncodeTimeMs, 'i32'),
|
|
203
|
+
totalTimeMs: m.getValue(resPtr + vr.totalTimeMs, 'i32'),
|
|
204
|
+
tokensPerSecond: m.getValue(resPtr + vr.tokensPerSecond, 'float'),
|
|
205
|
+
hardwareUsed: bridge.accelerationMode,
|
|
206
|
+
};
|
|
207
|
+
m.ccall('rac_vlm_result_free', null, ['number'], [resPtr]);
|
|
208
|
+
EventBus.shared.emit('vlm.processed', SDKEventType.Generation, {
|
|
209
|
+
tokensPerSecond: vlmResult.tokensPerSecond,
|
|
210
|
+
totalTokens: vlmResult.totalTokens,
|
|
211
|
+
hardwareUsed: vlmResult.hardwareUsed,
|
|
212
|
+
});
|
|
213
|
+
return vlmResult;
|
|
214
|
+
}
|
|
215
|
+
finally {
|
|
216
|
+
bridge.free(promptPtr);
|
|
217
|
+
m._free(imagePtr);
|
|
218
|
+
m._free(optPtr);
|
|
219
|
+
if (filePathPtr)
|
|
220
|
+
bridge.free(filePathPtr);
|
|
221
|
+
if (base64Ptr)
|
|
222
|
+
bridge.free(base64Ptr);
|
|
223
|
+
if (pixelPtr)
|
|
224
|
+
m._free(pixelPtr);
|
|
225
|
+
if (sysPtr)
|
|
226
|
+
bridge.free(sysPtr);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/** Cancel in-progress VLM generation. */
|
|
230
|
+
cancel() {
|
|
231
|
+
if (this._vlmComponentHandle === 0)
|
|
232
|
+
return;
|
|
233
|
+
LlamaCppBridge.shared.module.ccall('rac_vlm_component_cancel', 'number', ['number'], [this._vlmComponentHandle]);
|
|
234
|
+
}
|
|
235
|
+
/** Clean up the VLM component and unregister backend. */
|
|
236
|
+
cleanup() {
|
|
237
|
+
if (this._vlmComponentHandle !== 0) {
|
|
238
|
+
try {
|
|
239
|
+
LlamaCppBridge.shared.module.ccall('rac_vlm_component_destroy', null, ['number'], [this._vlmComponentHandle]);
|
|
240
|
+
}
|
|
241
|
+
catch { /* ignore */ }
|
|
242
|
+
this._vlmComponentHandle = 0;
|
|
243
|
+
}
|
|
244
|
+
if (this._vlmBackendRegistered) {
|
|
245
|
+
try {
|
|
246
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
247
|
+
const fn = LlamaCppBridge.shared.module['_rac_backend_llamacpp_vlm_unregister'];
|
|
248
|
+
if (fn) {
|
|
249
|
+
LlamaCppBridge.shared.module.ccall('rac_backend_llamacpp_vlm_unregister', 'number', [], []);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
catch { /* ignore */ }
|
|
253
|
+
this._vlmBackendRegistered = false;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
export const VLM = new VLMImpl();
|
|
258
|
+
//# sourceMappingURL=RunAnywhere+VLM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunAnywhere+VLM.js","sourceRoot":"","sources":["../../src/Extensions/RunAnywhere+VLM.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/** RunAnywhere Web SDK - Tool Calling Types */
|
|
2
|
+
/** Type-safe JSON value for tool arguments and results. */
|
|
3
|
+
export type ToolValue = {
|
|
4
|
+
type: 'string';
|
|
5
|
+
value: string;
|
|
6
|
+
} | {
|
|
7
|
+
type: 'number';
|
|
8
|
+
value: number;
|
|
9
|
+
} | {
|
|
10
|
+
type: 'boolean';
|
|
11
|
+
value: boolean;
|
|
12
|
+
} | {
|
|
13
|
+
type: 'array';
|
|
14
|
+
value: ToolValue[];
|
|
15
|
+
} | {
|
|
16
|
+
type: 'object';
|
|
17
|
+
value: Record<string, ToolValue>;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'null';
|
|
20
|
+
};
|
|
21
|
+
/** Parameter types for tool arguments. */
|
|
22
|
+
export type ToolParameterType = 'string' | 'number' | 'boolean' | 'object' | 'array';
|
|
23
|
+
/** A single parameter definition for a tool. */
|
|
24
|
+
export interface ToolParameter {
|
|
25
|
+
name: string;
|
|
26
|
+
type: ToolParameterType;
|
|
27
|
+
description: string;
|
|
28
|
+
required?: boolean;
|
|
29
|
+
enumValues?: string[];
|
|
30
|
+
}
|
|
31
|
+
/** Definition of a tool that the LLM can use. */
|
|
32
|
+
export interface ToolDefinition {
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
parameters: ToolParameter[];
|
|
36
|
+
category?: string;
|
|
37
|
+
}
|
|
38
|
+
/** A request from the LLM to execute a tool. */
|
|
39
|
+
export interface ToolCall {
|
|
40
|
+
toolName: string;
|
|
41
|
+
arguments: Record<string, ToolValue>;
|
|
42
|
+
callId?: string;
|
|
43
|
+
}
|
|
44
|
+
/** Result of executing a tool. */
|
|
45
|
+
export interface ToolResult {
|
|
46
|
+
toolName: string;
|
|
47
|
+
success: boolean;
|
|
48
|
+
result?: Record<string, ToolValue>;
|
|
49
|
+
error?: string;
|
|
50
|
+
callId?: string;
|
|
51
|
+
}
|
|
52
|
+
/** Tool calling format names. */
|
|
53
|
+
export declare enum ToolCallFormat {
|
|
54
|
+
Default = "default",
|
|
55
|
+
LFM2 = "lfm2"
|
|
56
|
+
}
|
|
57
|
+
/** Options for tool-enabled generation. */
|
|
58
|
+
export interface ToolCallingOptions {
|
|
59
|
+
tools?: ToolDefinition[];
|
|
60
|
+
maxToolCalls?: number;
|
|
61
|
+
autoExecute?: boolean;
|
|
62
|
+
temperature?: number;
|
|
63
|
+
maxTokens?: number;
|
|
64
|
+
systemPrompt?: string;
|
|
65
|
+
replaceSystemPrompt?: boolean;
|
|
66
|
+
keepToolsAvailable?: boolean;
|
|
67
|
+
format?: ToolCallFormat;
|
|
68
|
+
}
|
|
69
|
+
/** Result of a generation that may include tool calls. */
|
|
70
|
+
export interface ToolCallingResult {
|
|
71
|
+
text: string;
|
|
72
|
+
toolCalls: ToolCall[];
|
|
73
|
+
toolResults: ToolResult[];
|
|
74
|
+
isComplete: boolean;
|
|
75
|
+
}
|
|
76
|
+
/** Executor function for a tool. Takes arguments, returns result data. */
|
|
77
|
+
export type ToolExecutor = (args: Record<string, ToolValue>) => Promise<Record<string, ToolValue>>;
|
|
78
|
+
//# sourceMappingURL=ToolCallingTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCallingTypes.d.ts","sourceRoot":"","sources":["../../src/Extensions/ToolCallingTypes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,2DAA2D;AAC3D,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErF,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gDAAgD;AAChD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iCAAiC;AACjC,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** RunAnywhere Web SDK - Tool Calling Types */
|
|
2
|
+
/** Tool calling format names. */
|
|
3
|
+
export var ToolCallFormat;
|
|
4
|
+
(function (ToolCallFormat) {
|
|
5
|
+
ToolCallFormat["Default"] = "default";
|
|
6
|
+
ToolCallFormat["LFM2"] = "lfm2";
|
|
7
|
+
})(ToolCallFormat || (ToolCallFormat = {}));
|
|
8
|
+
//# sourceMappingURL=ToolCallingTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCallingTypes.js","sourceRoot":"","sources":["../../src/Extensions/ToolCallingTypes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AA+C/C,iCAAiC;AACjC,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunAnywhere Web SDK - VLM Types (LlamaCpp Backend)
|
|
3
|
+
*
|
|
4
|
+
* Re-exports generic VLM types from core and adds backend-specific
|
|
5
|
+
* model family enum for llama.cpp architectures.
|
|
6
|
+
*/
|
|
7
|
+
export { VLMImageFormat, type VLMImage, type VLMGenerationOptions, type VLMGenerationResult, type VLMStreamingResult, } from '@runanywhere/web';
|
|
8
|
+
/** llama.cpp-specific VLM model architecture families. */
|
|
9
|
+
export declare enum VLMModelFamily {
|
|
10
|
+
Auto = 0,
|
|
11
|
+
Qwen2VL = 1,
|
|
12
|
+
SmolVLM = 2,
|
|
13
|
+
LLaVA = 3,
|
|
14
|
+
Custom = 99
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=VLMTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VLMTypes.d.ts","sourceRoot":"","sources":["../../src/Extensions/VLMTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,0DAA0D;AAC1D,oBAAY,cAAc;IACxB,IAAI,IAAI;IACR,OAAO,IAAI;IACX,OAAO,IAAI;IACX,KAAK,IAAI;IACT,MAAM,KAAK;CACZ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunAnywhere Web SDK - VLM Types (LlamaCpp Backend)
|
|
3
|
+
*
|
|
4
|
+
* Re-exports generic VLM types from core and adds backend-specific
|
|
5
|
+
* model family enum for llama.cpp architectures.
|
|
6
|
+
*/
|
|
7
|
+
// Re-export all generic VLM types from core
|
|
8
|
+
export { VLMImageFormat, } from '@runanywhere/web';
|
|
9
|
+
/** llama.cpp-specific VLM model architecture families. */
|
|
10
|
+
export var VLMModelFamily;
|
|
11
|
+
(function (VLMModelFamily) {
|
|
12
|
+
VLMModelFamily[VLMModelFamily["Auto"] = 0] = "Auto";
|
|
13
|
+
VLMModelFamily[VLMModelFamily["Qwen2VL"] = 1] = "Qwen2VL";
|
|
14
|
+
VLMModelFamily[VLMModelFamily["SmolVLM"] = 2] = "SmolVLM";
|
|
15
|
+
VLMModelFamily[VLMModelFamily["LLaVA"] = 3] = "LLaVA";
|
|
16
|
+
VLMModelFamily[VLMModelFamily["Custom"] = 99] = "Custom";
|
|
17
|
+
})(VLMModelFamily || (VLMModelFamily = {}));
|
|
18
|
+
//# sourceMappingURL=VLMTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VLMTypes.js","sourceRoot":"","sources":["../../src/Extensions/VLMTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,OAAO,EACL,cAAc,GAKf,MAAM,kBAAkB,CAAC;AAE1B,0DAA0D;AAC1D,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mDAAQ,CAAA;IACR,yDAAW,CAAA;IACX,yDAAW,CAAA;IACX,qDAAS,CAAA;IACT,wDAAW,CAAA;AACb,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AnalyticsEventsBridge.ts
|
|
3
|
+
*
|
|
4
|
+
* Bridges C++ analytics events (rac_analytics_events_set_callback) to the
|
|
5
|
+
* TypeScript EventBus. Mirrors the role of TelemetryBridge.cpp in React Native.
|
|
6
|
+
*
|
|
7
|
+
* Responsibilities:
|
|
8
|
+
* 1. Register a JS function pointer via module.addFunction() using Emscripten's
|
|
9
|
+
* dynamic function table — signature 'viii' (void, i32 type, ptr data, ptr userData)
|
|
10
|
+
* 2. Call _rac_analytics_events_set_callback(callbackPtr, 0) to wire up WASM
|
|
11
|
+
* 3. On each callback: read event_type + union fields from WASM memory
|
|
12
|
+
* 4. Emit typed events to TypeScript EventBus
|
|
13
|
+
* 5. Forward raw event+data to TelemetryService for batching
|
|
14
|
+
*/
|
|
15
|
+
import type { LlamaCppModule } from './LlamaCppBridge';
|
|
16
|
+
export type AnalyticsEventCallback = (eventType: number, dataPtr: number) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Registers the analytics callback with the WASM module and translates
|
|
19
|
+
* C++ analytics events into TypeScript EventBus emissions.
|
|
20
|
+
*/
|
|
21
|
+
export declare class AnalyticsEventsBridge {
|
|
22
|
+
private _module;
|
|
23
|
+
private _callbackPtr;
|
|
24
|
+
private _telemetryCallback;
|
|
25
|
+
/**
|
|
26
|
+
* Register this bridge with the WASM module.
|
|
27
|
+
* Must be called after the module is loaded.
|
|
28
|
+
*/
|
|
29
|
+
register(module: LlamaCppModule, telemetryCallback?: AnalyticsEventCallback): void;
|
|
30
|
+
/**
|
|
31
|
+
* Unregister and free the function pointer.
|
|
32
|
+
*/
|
|
33
|
+
cleanup(): void;
|
|
34
|
+
private handleEvent;
|
|
35
|
+
private emitToEventBus;
|
|
36
|
+
private readStringAt;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=AnalyticsEventsBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsEventsBridge.d.ts","sourceRoot":"","sources":["../../src/Foundation/AnalyticsEventsBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuGvD,MAAM,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAMlF;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,kBAAkB,CAAuC;IAEjE;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,iBAAiB,CAAC,EAAE,sBAAsB,GAAG,IAAI;IA+BlF;;OAEG;IACH,OAAO,IAAI,IAAI;IAqBf,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,cAAc;IA6OtB,OAAO,CAAC,YAAY;CAKrB"}
|