@litert-lm/core 0.17.0 → 0.18.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.
Files changed (39) hide show
  1. package/dist/conversation_config.d.ts +14 -10
  2. package/dist/conversation_config.d.ts.map +1 -1
  3. package/dist/conversation_config.js +26 -1
  4. package/dist/conversation_config.js.map +1 -1
  5. package/dist/embedding_engine.d.ts +51 -0
  6. package/dist/embedding_engine.d.ts.map +1 -0
  7. package/dist/embedding_engine.js +191 -0
  8. package/dist/embedding_engine.js.map +1 -0
  9. package/dist/embedding_engine_settings.d.ts +62 -0
  10. package/dist/embedding_engine_settings.d.ts.map +1 -0
  11. package/dist/embedding_engine_settings.js +43 -0
  12. package/dist/embedding_engine_settings.js.map +1 -0
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/litertlm_web.js +1 -1
  18. package/dist/readable_stream_data_stream_wrapper.d.ts +18 -10
  19. package/dist/readable_stream_data_stream_wrapper.d.ts.map +1 -1
  20. package/dist/readable_stream_data_stream_wrapper.js.map +1 -1
  21. package/dist/stream_utils.d.ts +20 -0
  22. package/dist/stream_utils.d.ts.map +1 -0
  23. package/dist/stream_utils.js +35 -0
  24. package/dist/stream_utils.js.map +1 -0
  25. package/dist/testing/fakes.js +1 -1
  26. package/dist/testing/fakes.js.map +1 -1
  27. package/dist/wasm_binding_types.d.ts +93 -0
  28. package/dist/wasm_binding_types.d.ts.map +1 -1
  29. package/dist/wasm_binding_types.js +8 -0
  30. package/dist/wasm_binding_types.js.map +1 -1
  31. package/package.json +1 -1
  32. package/wasm/litertlm_wasm_asyncify_internal.js +370 -405
  33. package/wasm/litertlm_wasm_asyncify_internal.wasm +0 -0
  34. package/wasm/litertlm_wasm_compat_asyncify_internal.js +371 -406
  35. package/wasm/litertlm_wasm_compat_asyncify_internal.wasm +0 -0
  36. package/wasm/litertlm_wasm_compat_internal.js +52 -88
  37. package/wasm/litertlm_wasm_compat_internal.wasm +0 -0
  38. package/wasm/litertlm_wasm_internal.js +52 -88
  39. package/wasm/litertlm_wasm_internal.wasm +0 -0
@@ -56,28 +56,32 @@ export type ContentPart = TextContentPart | ImageContentPart | AudioContentPart
56
56
  /**
57
57
  * Text content part of a message.
58
58
  */
59
- export interface TextContentPart {
59
+ export declare interface TextContentPart {
60
60
  type: 'text';
61
61
  text: string;
62
62
  [key: string]: JsonValue | undefined;
63
63
  }
64
+ /**
65
+ * Supported MIME types for image input.
66
+ */
67
+ export declare const SUPPORTED_IMAGE_MIME_TYPES: ReadonlySet<string>;
68
+ /**
69
+ * Supported MIME types for audio input.
70
+ */
71
+ export declare const SUPPORTED_AUDIO_MIME_TYPES: ReadonlySet<string>;
64
72
  /**
65
73
  * Image content part of a message.
66
- *
67
- * This is a placeholder. Images are not supported in JS yet.
68
74
  */
69
- export interface ImageContentPart {
75
+ export declare interface ImageContentPart {
70
76
  type: 'image';
71
- [key: string]: JsonValue | undefined;
77
+ data: Uint8Array | ArrayBuffer | string | Blob;
72
78
  }
73
79
  /**
74
80
  * Audio content part of a message.
75
- *
76
- * This is a placeholder. Audio is not supported in JS yet.
77
81
  */
78
- export interface AudioContentPart {
82
+ export declare interface AudioContentPart {
79
83
  type: 'audio';
80
- [key: string]: JsonValue | undefined;
84
+ data: Uint8Array | ArrayBuffer | string | Blob;
81
85
  }
82
86
  /**
83
87
  * Video content part of a message.
@@ -123,7 +127,7 @@ export declare interface Message {
123
127
  content?: string | ContentPart[];
124
128
  channels?: Record<string, string>;
125
129
  tool_calls?: ToolCall[];
126
- [key: string]: JsonValue | undefined;
130
+ [key: string]: JsonValue | ContentPart[] | undefined;
127
131
  }
128
132
  /**
129
133
  * Types that can be used as a Message in the conversation.
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_config.d.ts","sourceRoot":"","sources":["../src/conversation_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation_config.d.ts","sourceRoot":"","sources":["../src/conversation_config.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,30 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export {};
16
+ /**
17
+ * Supported MIME types for image input.
18
+ */
19
+ export const SUPPORTED_IMAGE_MIME_TYPES = new Set([
20
+ 'image/jpeg',
21
+ 'image/png',
22
+ 'image/bmp',
23
+ 'image/gif',
24
+ 'image/x-tga',
25
+ 'image/vnd.adobe.photoshop',
26
+ 'image/vnd.radiance',
27
+ 'image/x-portable-pixmap',
28
+ 'image/x-portable-graymap',
29
+ ]);
30
+ /**
31
+ * Supported MIME types for audio input.
32
+ */
33
+ export const SUPPORTED_AUDIO_MIME_TYPES = new Set([
34
+ 'audio/wav',
35
+ 'audio/x-wav',
36
+ 'audio/wave',
37
+ 'audio/mp3',
38
+ 'audio/mpeg',
39
+ 'audio/flac',
40
+ 'audio/x-flac',
41
+ ]);
17
42
  //# sourceMappingURL=conversation_config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_config.js","sourceRoot":"","sources":["../src/conversation_config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"conversation_config.js","sourceRoot":"","sources":["../src/conversation_config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0DH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IACrE,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,aAAa;IACb,2BAA2B;IAC3B,oBAAoB;IACpB,yBAAyB;IACzB,0BAA0B;CAC3B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IACrE,WAAW;IACX,aAAa;IACb,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,cAAc;CACf,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ContentPart, SUPPORTED_AUDIO_MIME_TYPES, SUPPORTED_IMAGE_MIME_TYPES } from './conversation_config.js';
17
+ import { EmbeddingEngineSettings } from './embedding_engine_settings.js';
18
+ import { Deletable, EmbeddingOptions, InputOverflowStrategy } from './wasm_binding_types.js';
19
+ export { type EmbeddingOptions, InputOverflowStrategy, SUPPORTED_AUDIO_MIME_TYPES, SUPPORTED_IMAGE_MIME_TYPES, };
20
+ /**
21
+ * A single input part to the embedding engine.
22
+ */
23
+ export type SingleEmbeddingInput = string | ContentPart | Blob;
24
+ /**
25
+ * An input or sequence of inputs to compute an embedding for.
26
+ */
27
+ export type EmbeddingInput = SingleEmbeddingInput | SingleEmbeddingInput[];
28
+ /**
29
+ * Result of an embedding computation.
30
+ */
31
+ export interface EmbeddingResponse {
32
+ embedding: number[];
33
+ inputLength: number;
34
+ truncatedLength?: number;
35
+ numChunks: number;
36
+ }
37
+ /**
38
+ * LiteRT-LM Embedding Engine
39
+ */
40
+ export declare class EmbeddingEngine implements Deletable {
41
+ private readonly engine;
42
+ private readonly deleteCallback;
43
+ readonly settings: EmbeddingEngineSettings;
44
+ private readonly mutex;
45
+ private constructor();
46
+ static create(settings: EmbeddingEngineSettings): Promise<EmbeddingEngine>;
47
+ computeEmbedding(input: EmbeddingInput, options?: EmbeddingOptions): Promise<EmbeddingResponse>;
48
+ computeEmbeddingBatch(inputs: EmbeddingInput[], options?: EmbeddingOptions): Promise<EmbeddingResponse[]>;
49
+ delete(): Promise<void>;
50
+ }
51
+ //# sourceMappingURL=embedding_engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding_engine.d.ts","sourceRoot":"","sources":["../src/embedding_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAC,WAAW,EAAE,0BAA0B,EAAE,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AAC7G,OAAO,EAAC,uBAAuB,EAA6D,MAAM,gCAAgC,CAAC;AAKnI,OAAO,EAAU,SAAS,EAA0C,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAG5I,OAAO,EACL,KAAK,gBAAgB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,GAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,EAAE,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AA6DD;;GAEG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAK3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IANnC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAErC,OAAO;WAQM,MAAM,CAAC,QAAQ,EAAE,uBAAuB,GACjD,OAAO,CAAC,eAAe,CAAC;IAqEtB,gBAAgB,CAClB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAevB,qBAAqB,CACvB,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA0BzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9B"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Cleanup } from './cleanup.js';
17
+ import { SUPPORTED_AUDIO_MIME_TYPES, SUPPORTED_IMAGE_MIME_TYPES } from './conversation_config.js';
18
+ import { fillWasmEmbeddingEngineSettingsFromEmbeddingEngineSettings } from './embedding_engine_settings.js';
19
+ import { getOrLoadGlobalLiteRtLm } from './load_litertlm.js';
20
+ import { Mutex } from './mutex.js';
21
+ import { ReadableStreamDataStreamWrapper } from './readable_stream_data_stream_wrapper.js';
22
+ import { modelToStream } from './stream_utils.js';
23
+ import { Backend, InputOverflowStrategy } from './wasm_binding_types.js';
24
+ import { consumeEmscriptenVectorToArray } from './wasm_utils.js';
25
+ export { InputOverflowStrategy, SUPPORTED_AUDIO_MIME_TYPES, SUPPORTED_IMAGE_MIME_TYPES, };
26
+ function toWasmEmbeddingOptions(options) {
27
+ return {
28
+ normalize: options?.normalize ?? true,
29
+ insertSpecialTokens: options?.insertSpecialTokens ?? true,
30
+ inputOverflowStrategy: options?.inputOverflowStrategy ?? InputOverflowStrategy.ERROR,
31
+ visionTokensPerImage: options?.visionTokensPerImage,
32
+ outputSize: options?.outputSize,
33
+ };
34
+ }
35
+ async function normalizeInputPart(part) {
36
+ if (typeof part === 'string') {
37
+ return { type: 'text', text: part };
38
+ }
39
+ if (part instanceof Blob) {
40
+ const mimeType = part.type.toLowerCase().split(';')[0].trim();
41
+ if (SUPPORTED_IMAGE_MIME_TYPES.has(mimeType)) {
42
+ const arrayBuffer = await part.arrayBuffer();
43
+ return { type: 'image', data: arrayBuffer };
44
+ }
45
+ if (SUPPORTED_AUDIO_MIME_TYPES.has(mimeType)) {
46
+ const arrayBuffer = await part.arrayBuffer();
47
+ return { type: 'audio', data: arrayBuffer };
48
+ }
49
+ throw new Error(`Unsupported Blob mime type: "${part.type}". Supported image types: ` +
50
+ `${[...SUPPORTED_IMAGE_MIME_TYPES].join(', ')}. Supported audio types: ` +
51
+ `${[...SUPPORTED_AUDIO_MIME_TYPES].join(', ')}.`);
52
+ }
53
+ if (typeof part === 'object' && part !== null) {
54
+ if (part.type === 'image') {
55
+ if (part.data instanceof Blob) {
56
+ const arrayBuffer = await part.data.arrayBuffer();
57
+ return { type: 'image', data: arrayBuffer };
58
+ }
59
+ return part;
60
+ }
61
+ if (part.type === 'audio') {
62
+ if (part.data instanceof Blob) {
63
+ const arrayBuffer = await part.data.arrayBuffer();
64
+ return { type: 'audio', data: arrayBuffer };
65
+ }
66
+ return part;
67
+ }
68
+ return part;
69
+ }
70
+ throw new Error(`Unsupported input part: ${JSON.stringify(part)}`);
71
+ }
72
+ async function normalizeInput(input) {
73
+ if (Array.isArray(input)) {
74
+ return Promise.all(input.map((p) => normalizeInputPart(p)));
75
+ }
76
+ return normalizeInputPart(input);
77
+ }
78
+ /**
79
+ * LiteRT-LM Embedding Engine
80
+ */
81
+ export class EmbeddingEngine {
82
+ engine;
83
+ deleteCallback;
84
+ settings;
85
+ mutex = new Mutex();
86
+ constructor(engine, settings, deleteCallback) {
87
+ this.engine = engine;
88
+ this.deleteCallback = deleteCallback;
89
+ this.settings = settings;
90
+ }
91
+ static async create(settings) {
92
+ const litertlm = await getOrLoadGlobalLiteRtLm();
93
+ const wasm = litertlm.liteRtLmWasm;
94
+ const backend = settings.backend ?? Backend.GPU;
95
+ settings = { ...settings, backend };
96
+ if (backend === Backend.GPU || backend === Backend.GPU_ARTISAN) {
97
+ await litertlm.setupDefaultWebGpuDevice();
98
+ }
99
+ const cleanup = new Cleanup();
100
+ const modelStream = await modelToStream(settings.model);
101
+ let engine;
102
+ try {
103
+ const streamWrapper = new ReadableStreamDataStreamWrapper(modelStream, () => wasm.HEAPU8);
104
+ const dataStream = wasm.ReadableStreamDataStream.create(streamWrapper);
105
+ cleanup.add(() => {
106
+ dataStream.delete();
107
+ });
108
+ const modelAssets = wasm.ModelAssets.createStreaming(dataStream);
109
+ const cleanupModelAssets = cleanup.add(() => {
110
+ modelAssets.delete();
111
+ });
112
+ const wasmSettings = wasm.EmbeddingEngineSettings.createDefaultMultimodal(modelAssets, { value: backend }, settings.visionBackend !== undefined ?
113
+ { value: settings.visionBackend } :
114
+ undefined, // Skip vision backend if not set.
115
+ settings.audioBackend !== undefined ?
116
+ { value: settings.audioBackend } :
117
+ undefined); // Skip audio backend if not set.
118
+ cleanupModelAssets();
119
+ const cleanupWasmSettings = cleanup.add(() => {
120
+ wasmSettings.delete();
121
+ });
122
+ const resolvedBackend = wasmSettings.getMutableMainExecutorSettings().getBackend().value;
123
+ fillWasmEmbeddingEngineSettingsFromEmbeddingEngineSettings(wasmSettings, settings, resolvedBackend);
124
+ try {
125
+ engine = await wasm.EmbeddingEngine.createEngine(wasmSettings);
126
+ }
127
+ finally {
128
+ if (resolvedBackend === Backend.GPU) {
129
+ try {
130
+ await wasm.clearStoredWeightsStreams();
131
+ }
132
+ catch (cleanupError) {
133
+ console.error('Error during cleanup:', cleanupError);
134
+ }
135
+ }
136
+ }
137
+ cleanupWasmSettings();
138
+ cleanup.add(() => {
139
+ engine.delete();
140
+ });
141
+ return new EmbeddingEngine(engine, settings, () => cleanup.run());
142
+ }
143
+ catch (e) {
144
+ cleanup.run();
145
+ throw e;
146
+ }
147
+ }
148
+ async computeEmbedding(input, options = {}) {
149
+ const normalized = await normalizeInput(input);
150
+ return this.mutex.acquireAndRun(async () => {
151
+ const wasmResponse = await this.engine.computeEmbedding(normalized, toWasmEmbeddingOptions(options));
152
+ const embedding = consumeEmscriptenVectorToArray(wasmResponse.embedding);
153
+ return {
154
+ embedding,
155
+ inputLength: wasmResponse.inputLength,
156
+ truncatedLength: wasmResponse.truncatedLength,
157
+ numChunks: wasmResponse.numChunks,
158
+ };
159
+ });
160
+ }
161
+ async computeEmbeddingBatch(inputs, options = {}) {
162
+ const normalizedBatch = await Promise.all(inputs.map(normalizeInput));
163
+ return this.mutex.acquireAndRun(async () => {
164
+ const wasmResponses = await this.engine.computeEmbeddingBatch(normalizedBatch, toWasmEmbeddingOptions(options));
165
+ try {
166
+ const responses = [];
167
+ const count = wasmResponses.size();
168
+ for (let i = 0; i < count; i++) {
169
+ const wasmResp = wasmResponses.get(i);
170
+ const embedding = consumeEmscriptenVectorToArray(wasmResp.embedding);
171
+ responses.push({
172
+ embedding,
173
+ inputLength: wasmResp.inputLength,
174
+ truncatedLength: wasmResp.truncatedLength,
175
+ numChunks: wasmResp.numChunks,
176
+ });
177
+ }
178
+ return responses;
179
+ }
180
+ finally {
181
+ wasmResponses.delete();
182
+ }
183
+ });
184
+ }
185
+ async delete() {
186
+ await this.mutex.acquireAndRun(() => {
187
+ this.deleteCallback();
188
+ });
189
+ }
190
+ }
191
+ //# sourceMappingURL=embedding_engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding_engine.js","sourceRoot":"","sources":["../src/embedding_engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Backend, EmbeddingEngineSettings as WasmEmbeddingEngineSettings } from './wasm_binding_types.js';
17
+ /**
18
+ * LiteRT-LM EmbeddingExecutorSettings
19
+ */
20
+ export interface EmbeddingExecutorSettings {
21
+ numThreads?: number;
22
+ }
23
+ /**
24
+ * LiteRT-LM EmbeddingEngineSettings
25
+ */
26
+ export interface EmbeddingEngineSettings {
27
+ model: string | Blob | ReadableStream<Uint8Array>;
28
+ /** Backend for the text encoder and embedder. Defaults to `Backend.GPU`. */
29
+ backend?: Backend;
30
+ /**
31
+ * Backend for the vision encoder.
32
+ * Can be set to `Backend.CPU` or `Backend.GPU`. If unset, vision is disabled.
33
+ */
34
+ visionBackend?: Backend;
35
+ /**
36
+ * Backend for the audio encoder.
37
+ * Can be set to `Backend.CPU` or `Backend.GPU`. If unset, audio is disabled.
38
+ */
39
+ audioBackend?: Backend;
40
+ /**
41
+ * Longest input, in tokens, that the engine must accept. Defaults to 1024.
42
+ *
43
+ * The engine prepares every text encoder signature between `minInputLength`
44
+ * and this value, and rejects the model if no signature is long enough.
45
+ */
46
+ maxInputLength?: number;
47
+ /**
48
+ * Shortest input, in tokens, to prepare a signature for. Defaults to
49
+ * `maxInputLength`, which prepares exactly one signature.
50
+ *
51
+ * Lowering this prepares additional shorter signatures, so that short inputs
52
+ * run on a tighter graph instead of being padded up to `maxInputLength`.
53
+ */
54
+ minInputLength?: number;
55
+ visionTokensPerImage?: number;
56
+ mainExecutorSettings?: EmbeddingExecutorSettings;
57
+ }
58
+ /**
59
+ * Fills a WasmEmbeddingEngineSettings with the values from an EmbeddingEngineSettings.
60
+ */
61
+ export declare function fillWasmEmbeddingEngineSettingsFromEmbeddingEngineSettings(wasmSettings: WasmEmbeddingEngineSettings, settings: EmbeddingEngineSettings, backend: Backend): void;
62
+ //# sourceMappingURL=embedding_engine_settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding_engine_settings.d.ts","sourceRoot":"","sources":["../src/embedding_engine_settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,OAAO,EAAE,uBAAuB,IAAI,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AAExG;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAClD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;CAClD;AAWD;;GAEG;AACH,wBAAgB,0DAA0D,CACtE,YAAY,EAAE,2BAA2B,EACzC,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,OAAO,GACjB,IAAI,CAiBN"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * Longest input the engine accepts when the caller does not say.
18
+ *
19
+ * Together with defaulting `minInputLength` to `maxInputLength` this prepares
20
+ * a single signature, which keeps a default-configured engine inside the 4GB
21
+ * wasm32 address space.
22
+ */
23
+ const DEFAULT_MAX_INPUT_LENGTH = 1024;
24
+ /**
25
+ * Fills a WasmEmbeddingEngineSettings with the values from an EmbeddingEngineSettings.
26
+ */
27
+ export function fillWasmEmbeddingEngineSettingsFromEmbeddingEngineSettings(wasmSettings, settings, backend) {
28
+ const wasmExecutorSettings = wasmSettings.getMutableMainExecutorSettings();
29
+ wasmExecutorSettings.setCacheDir(':nocache');
30
+ const maxInputLength = settings.maxInputLength ?? DEFAULT_MAX_INPUT_LENGTH;
31
+ wasmSettings.setMaxInputLength(maxInputLength);
32
+ wasmSettings.setMinInputLength(settings.minInputLength ?? maxInputLength);
33
+ if (settings.visionTokensPerImage !== undefined) {
34
+ wasmSettings.setVisionTokensPerImage(settings.visionTokensPerImage);
35
+ }
36
+ if (settings.mainExecutorSettings) {
37
+ const mainExecutorSettings = settings.mainExecutorSettings;
38
+ if (mainExecutorSettings.numThreads !== undefined) {
39
+ wasmExecutorSettings.setNumThreads(mainExecutorSettings.numThreads);
40
+ }
41
+ }
42
+ }
43
+ //# sourceMappingURL=embedding_engine_settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding_engine_settings.js","sourceRoot":"","sources":["../src/embedding_engine_settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+CH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,0DAA0D,CACtE,YAAyC,EACzC,QAAiC,EACjC,OAAgB;IAElB,MAAM,oBAAoB,GAAG,YAAY,CAAC,8BAA8B,EAAE,CAAC;IAC3E,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAC3E,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC/C,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAChD,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;QAC3D,IAAI,oBAAoB,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClD,oBAAoB,CAAC,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -26,6 +26,8 @@ export * from './session.js';
26
26
  export * from './conversation.js';
27
27
  export * from './session_config.js';
28
28
  export * from './conversation_config.js';
29
+ export * from './embedding_engine_settings.js';
30
+ export * from './embedding_engine.js';
29
31
  export * as Wasm from './wasm_binding_types.js';
30
32
  export * from './types.js';
31
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAC;AAChD,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAC;AAChD,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -26,6 +26,8 @@ export * from './session.js';
26
26
  export * from './conversation.js';
27
27
  export * from './session_config.js';
28
28
  export * from './conversation_config.js';
29
+ export * from './embedding_engine_settings.js';
30
+ export * from './embedding_engine.js';
29
31
  export * as Wasm from './wasm_binding_types.js';
30
32
  export * from './types.js';
31
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAC;AAChD,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAC;AAChD,cAAc,YAAY,CAAC"}
@@ -26,7 +26,7 @@ export async function setupDefaultWebGpuDevice() {
26
26
  */
27
27
  export class LiteRtLm {
28
28
  liteRtLmWasm;
29
- static DEFAULT_WASM_PATH = 'https://cdn.jsdelivr.net/npm/@litert-lm/core@0.17.0/wasm';
29
+ static DEFAULT_WASM_PATH = 'https://cdn.jsdelivr.net/npm/@litert-lm/core@0.18.0/wasm';
30
30
  constructor(wasmModule) {
31
31
  this.liteRtLmWasm = wasmModule;
32
32
  this.liteRtLmWasm.setupLogging();
@@ -13,10 +13,24 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ /**
17
+ * Result returned by ReadableStreamDataStreamWrapper methods to C++ Emval.
18
+ */
19
+ export declare interface ReadableStreamDataStreamResult {
20
+ error?: Error;
21
+ }
22
+ /**
23
+ * Extern interface for ReadableStreamDataStreamWrapper methods invoked by C++.
24
+ */
25
+ export declare interface ReadableStreamDataStreamWrapperInterface {
26
+ readAndDiscard(destAddress: number, offset: number | bigint, count: number | bigint): Promise<ReadableStreamDataStreamResult>;
27
+ readAndPreserve(destAddress: number, offset: number | bigint, count: number | bigint): Promise<ReadableStreamDataStreamResult>;
28
+ discard(offset: number | bigint, count: number | bigint): ReadableStreamDataStreamResult;
29
+ }
16
30
  /**
17
31
  * Wraps a ReadableStream for use in LiteRT LM C++ streamed model loading.
18
32
  */
19
- export declare class ReadableStreamDataStreamWrapper {
33
+ export declare class ReadableStreamDataStreamWrapper implements ReadableStreamDataStreamWrapperInterface {
20
34
  private readonly stream;
21
35
  private readonly getWasmHeap;
22
36
  readonly bytesPerSlice: number;
@@ -31,14 +45,8 @@ export declare class ReadableStreamDataStreamWrapper {
31
45
  private readInternal;
32
46
  private fillBufferFromStream;
33
47
  private doDiscard;
34
- readAndDiscard(destAddress: number, offset: number | bigint, count: number | bigint): Promise<{
35
- error?: Error;
36
- }>;
37
- readAndPreserve(destAddress: number, offset: number | bigint, count: number | bigint): Promise<{
38
- error?: Error;
39
- }>;
40
- discard(offset: number | bigint, count: number | bigint): {
41
- error?: Error;
42
- };
48
+ readAndDiscard(destAddress: number, offset: number | bigint, count: number | bigint): Promise<ReadableStreamDataStreamResult>;
49
+ readAndPreserve(destAddress: number, offset: number | bigint, count: number | bigint): Promise<ReadableStreamDataStreamResult>;
50
+ discard(offset: number | bigint, count: number | bigint): ReadableStreamDataStreamResult;
43
51
  }
44
52
  //# sourceMappingURL=readable_stream_data_stream_wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readable_stream_data_stream_wrapper.d.ts","sourceRoot":"","sources":["../src/readable_stream_data_stream_wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiEH;;GAEG;AACH,qBAAa,+BAA+B;IActC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,QAAQ,CAAC,aAAa;IAhB1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,MAAM,CAIR;IACN,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,SAAS,CAAS;gBAGL,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAElC,WAAW,EAAE,MAAM,UAAU,EACrC,aAAa,SAAa;IAQvC,OAAO,CAAG,QAAQ;YAoFJ,YAAY;YAoDZ,oBAAoB;IA8ElC,OAAO,CAAC,SAAS;IAMX,cAAc,CAChB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAC,MAAM,EAC1C,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAC,CAAC;IAU7C,eAAe,CACjB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAC,MAAM,EAC1C,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAC,CAAC;IAUnD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAC;CAQtE"}
1
+ {"version":3,"file":"readable_stream_data_stream_wrapper.d.ts","sourceRoot":"","sources":["../src/readable_stream_data_stream_wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiEH;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,8BAA8B;IACrD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,wCAAwC;IAC/D,cAAc,CACV,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAC,MAAM,EAC1C,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACnE,eAAe,CACX,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAC,MAAM,EAC1C,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACnE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAC,MAAM,GAC/C,8BAA8B,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,+BAAgC,YACzC,wCAAwC;IActC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,QAAQ,CAAC,aAAa;IAhB1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,MAAM,CAIR;IACN,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,SAAS,CAAS;gBAGL,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAElC,WAAW,EAAE,MAAM,UAAU,EACrC,aAAa,SAAa;IAQvC,OAAO,CAAG,QAAQ;YAoFJ,YAAY;YAoDZ,oBAAoB;IA8ElC,OAAO,CAAC,SAAS;IAMX,cAAc,CAChB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAC,MAAM,EAC1C,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAU5D,eAAe,CACjB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAC,MAAM,EAC1C,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAUlE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAC,MAAM,GAC/C,8BAA8B;CAQnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readable_stream_data_stream_wrapper.js","sourceRoot":"","sources":["../src/readable_stream_data_stream_wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readable_stream_data_stream_wrapper.js","sourceRoot":"","sources":["../src/readable_stream_data_stream_wrapper.ts"],"names":[],"mappings":"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"}