@litert-lm/core 0.16.0 → 0.17.1

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 (118) hide show
  1. package/README.md +164 -0
  2. package/dist/cleanup.d.ts +25 -0
  3. package/dist/cleanup.d.ts.map +1 -0
  4. package/dist/cleanup.js +36 -0
  5. package/dist/cleanup.js.map +1 -0
  6. package/dist/conversation.d.ts +51 -0
  7. package/dist/conversation.d.ts.map +1 -0
  8. package/dist/conversation.js +171 -0
  9. package/dist/conversation.js.map +1 -0
  10. package/dist/conversation_config.d.ts +157 -0
  11. package/dist/conversation_config.d.ts.map +1 -0
  12. package/dist/conversation_config.js +42 -0
  13. package/dist/conversation_config.js.map +1 -0
  14. package/dist/embedding_engine.d.ts +51 -0
  15. package/dist/embedding_engine.d.ts.map +1 -0
  16. package/dist/embedding_engine.js +198 -0
  17. package/dist/embedding_engine.js.map +1 -0
  18. package/dist/embedding_engine_settings.d.ts +39 -0
  19. package/dist/embedding_engine_settings.d.ts.map +1 -0
  20. package/dist/embedding_engine_settings.js +35 -0
  21. package/dist/embedding_engine_settings.js.map +1 -0
  22. package/dist/engine.d.ts +37 -0
  23. package/dist/engine.d.ts.map +1 -0
  24. package/dist/engine.js +203 -0
  25. package/dist/engine.js.map +1 -0
  26. package/dist/engine_settings.d.ts +57 -0
  27. package/dist/engine_settings.d.ts.map +1 -0
  28. package/dist/engine_settings.js +114 -0
  29. package/dist/engine_settings.js.map +1 -0
  30. package/dist/global_litertlm.d.ts +66 -0
  31. package/dist/global_litertlm.d.ts.map +1 -0
  32. package/dist/global_litertlm.js +85 -0
  33. package/dist/global_litertlm.js.map +1 -0
  34. package/dist/index.d.ts +33 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +33 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/litertlm_web.d.ts +32 -0
  39. package/dist/litertlm_web.d.ts.map +1 -0
  40. package/dist/litertlm_web.js +75 -0
  41. package/dist/litertlm_web.js.map +1 -0
  42. package/dist/load.d.ts +28 -0
  43. package/dist/load.d.ts.map +1 -0
  44. package/dist/load.js +50 -0
  45. package/dist/load.js.map +1 -0
  46. package/dist/load_litertlm.d.ts +58 -0
  47. package/dist/load_litertlm.d.ts.map +1 -0
  48. package/dist/load_litertlm.js +87 -0
  49. package/dist/load_litertlm.js.map +1 -0
  50. package/dist/mutex.d.ts +45 -0
  51. package/dist/mutex.d.ts.map +1 -0
  52. package/dist/mutex.js +62 -0
  53. package/dist/mutex.js.map +1 -0
  54. package/dist/orchestration/auto_tool_chat.d.ts +82 -0
  55. package/dist/orchestration/auto_tool_chat.d.ts.map +1 -0
  56. package/dist/orchestration/auto_tool_chat.js +304 -0
  57. package/dist/orchestration/auto_tool_chat.js.map +1 -0
  58. package/dist/orchestration/chat_interface.d.ts +30 -0
  59. package/dist/orchestration/chat_interface.d.ts.map +1 -0
  60. package/dist/orchestration/chat_interface.js +17 -0
  61. package/dist/orchestration/chat_interface.js.map +1 -0
  62. package/dist/orchestration/webmcp_tool.d.ts +41 -0
  63. package/dist/orchestration/webmcp_tool.d.ts.map +1 -0
  64. package/dist/orchestration/webmcp_tool.js +32 -0
  65. package/dist/orchestration/webmcp_tool.js.map +1 -0
  66. package/dist/readable_stream_data_stream_wrapper.d.ts +44 -0
  67. package/dist/readable_stream_data_stream_wrapper.d.ts.map +1 -0
  68. package/dist/readable_stream_data_stream_wrapper.js +315 -0
  69. package/dist/readable_stream_data_stream_wrapper.js.map +1 -0
  70. package/dist/session.d.ts +51 -0
  71. package/dist/session.d.ts.map +1 -0
  72. package/dist/session.js +107 -0
  73. package/dist/session.js.map +1 -0
  74. package/dist/session_config.d.ts +60 -0
  75. package/dist/session_config.d.ts.map +1 -0
  76. package/dist/session_config.js +109 -0
  77. package/dist/session_config.js.map +1 -0
  78. package/dist/stream_utils.d.ts +25 -0
  79. package/dist/stream_utils.d.ts.map +1 -0
  80. package/dist/stream_utils.js +95 -0
  81. package/dist/stream_utils.js.map +1 -0
  82. package/dist/testing/fakes.d.ts +67 -0
  83. package/dist/testing/fakes.d.ts.map +1 -0
  84. package/dist/testing/fakes.js +125 -0
  85. package/dist/testing/fakes.js.map +1 -0
  86. package/dist/testing/index.d.ts +17 -0
  87. package/dist/testing/index.d.ts.map +1 -0
  88. package/dist/testing/index.js +17 -0
  89. package/dist/testing/index.js.map +1 -0
  90. package/dist/types.d.ts +42 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +17 -0
  93. package/dist/types.js.map +1 -0
  94. package/dist/url_path_utils.d.ts +28 -0
  95. package/dist/url_path_utils.d.ts.map +1 -0
  96. package/dist/url_path_utils.js +34 -0
  97. package/dist/url_path_utils.js.map +1 -0
  98. package/dist/wasm_binding_types.d.ts +473 -0
  99. package/dist/wasm_binding_types.d.ts.map +1 -0
  100. package/dist/wasm_binding_types.js +47 -0
  101. package/dist/wasm_binding_types.js.map +1 -0
  102. package/dist/wasm_feature_detect.d.ts +45 -0
  103. package/dist/wasm_feature_detect.d.ts.map +1 -0
  104. package/dist/wasm_feature_detect.js +139 -0
  105. package/dist/wasm_feature_detect.js.map +1 -0
  106. package/dist/wasm_utils.d.ts +30 -0
  107. package/dist/wasm_utils.d.ts.map +1 -0
  108. package/dist/wasm_utils.js +41 -0
  109. package/dist/wasm_utils.js.map +1 -0
  110. package/package.json +3 -2
  111. package/wasm/litertlm_wasm_asyncify_internal.js +8749 -0
  112. package/wasm/litertlm_wasm_asyncify_internal.wasm +0 -0
  113. package/wasm/litertlm_wasm_compat_asyncify_internal.js +8758 -0
  114. package/wasm/litertlm_wasm_compat_asyncify_internal.wasm +0 -0
  115. package/wasm/litertlm_wasm_compat_internal.js +8543 -0
  116. package/wasm/litertlm_wasm_compat_internal.wasm +0 -0
  117. package/wasm/litertlm_wasm_internal.js +8532 -0
  118. package/wasm/litertlm_wasm_internal.wasm +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto_tool_chat.js","sourceRoot":"","sources":["../../src/orchestration/auto_tool_chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright 2026 The ODML Authors.
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 { Message, MessageLike } from '../conversation_config.js';
17
+ import { BenchmarkInfo } from '../wasm_binding_types.js';
18
+ /**
19
+ * Interface representing standard chat interaction methods.
20
+ */
21
+ export interface ChatInterface {
22
+ sendMessage(message: MessageLike | MessageLike[]): Promise<Message>;
23
+ sendMessageStreaming(message: MessageLike | MessageLike[]): ReadableStream<Message>;
24
+ cancel(): void;
25
+ getHistory(): Message[] | Promise<Message[]>;
26
+ getTokenCount(): Promise<number>;
27
+ getBenchmarkInfo(): Promise<BenchmarkInfo>;
28
+ delete(): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=chat_interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat_interface.d.ts","sourceRoot":"","sources":["../../src/orchestration/chat_interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,OAAO,EAAE,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,OAAO,EAAE,WAAW,GAAC,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAC,WAAW,EAAE,GACnD,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,IAAI,CAAC;IACf,UAAU,IAAI,OAAO,EAAE,GAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2026 The ODML Authors.
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
+ export {};
17
+ //# sourceMappingURL=chat_interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat_interface.js","sourceRoot":"","sources":["../../src/orchestration/chat_interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Copyright 2026 The ODML Authors.
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 { FunctionTool, Tool } from '../conversation_config.js';
17
+ import { JsonValue } from '../types.js';
18
+ /**
19
+ * A WebMCP tool declaration.
20
+ */
21
+ export interface WebMcpTool {
22
+ name: string;
23
+ description?: string;
24
+ inputSchema?: {
25
+ type?: string;
26
+ properties?: Record<string, JsonValue>;
27
+ required?: string[];
28
+ [key: string]: JsonValue | undefined;
29
+ };
30
+ execute?: (args: Record<string, JsonValue>) => JsonValue | Promise<JsonValue>;
31
+ [key: string]: unknown;
32
+ }
33
+ /**
34
+ * Type guard to check if a tool is a WebMcpTool.
35
+ */
36
+ export declare function isWebMcpTool(tool: Tool | WebMcpTool): tool is WebMcpTool;
37
+ /**
38
+ * Converts a WebMcpTool to a FunctionTool compatible with the C++ engine.
39
+ */
40
+ export declare function toTool(tool: WebMcpTool): FunctionTool;
41
+ //# sourceMappingURL=webmcp_tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webmcp_tool.d.ts","sourceRoot":"","sources":["../../src/orchestration/webmcp_tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAU,IAAI,EAAC,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;KAC3D,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAC,UAAU,GAAG,IAAI,IAAI,UAAU,CAEtE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAMrD"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright 2026 The ODML Authors.
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
+ * Type guard to check if a tool is a WebMcpTool.
18
+ */
19
+ export function isWebMcpTool(tool) {
20
+ return 'inputSchema' in tool;
21
+ }
22
+ /**
23
+ * Converts a WebMcpTool to a FunctionTool compatible with the C++ engine.
24
+ */
25
+ export function toTool(tool) {
26
+ const { inputSchema, execute, ...rest } = tool;
27
+ return {
28
+ type: 'function',
29
+ function: { ...rest, parameters: inputSchema }
30
+ };
31
+ }
32
+ //# sourceMappingURL=webmcp_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webmcp_tool.js","sourceRoot":"","sources":["../../src/orchestration/webmcp_tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoBH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAqB;IAChD,OAAO,aAAa,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,IAAgB;IACrC,MAAM,EAAC,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAC,GAAG,IAAI,EAAE,UAAU,EAAE,WAAqB,EAAC;KACvD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Copyright 2026 The ODML Authors.
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
+ * Wraps a ReadableStream for use in LiteRT LM C++ streamed model loading.
18
+ */
19
+ export declare class ReadableStreamDataStreamWrapper {
20
+ private readonly stream;
21
+ private readonly getWasmHeap;
22
+ readonly bytesPerSlice: number;
23
+ private slices;
24
+ private streamDone;
25
+ private globalPosition;
26
+ private reader;
27
+ private leftoverData?;
28
+ private isReading;
29
+ constructor(stream: ReadableStream<Uint8Array>, getWasmHeap: () => Uint8Array, bytesPerSlice?: number);
30
+ private getViews;
31
+ private readInternal;
32
+ private fillBufferFromStream;
33
+ 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
+ };
43
+ }
44
+ //# sourceMappingURL=readable_stream_data_stream_wrapper.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,315 @@
1
+ /**
2
+ * Copyright 2026 The ODML Authors.
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
+ class Slice {
17
+ size;
18
+ data;
19
+ fullyDiscarded = false;
20
+ discardedRegions = [];
21
+ constructor(size) {
22
+ this.size = size;
23
+ }
24
+ discard(start, end) {
25
+ if (this.fullyDiscarded)
26
+ return;
27
+ if (this.discardedRegions.length === 0) {
28
+ // No discarded regions yet, so add this one.
29
+ this.discardedRegions.push([start, end]);
30
+ this.checkFullyDiscarded();
31
+ return;
32
+ }
33
+ this.discardedRegions.push([start, end]);
34
+ this.discardedRegions.sort((a, b) => a[0] - b[0]);
35
+ // Merge overlapping regions.
36
+ const mergedRegions = [];
37
+ for (const region of this.discardedRegions) {
38
+ const lastRegion = mergedRegions[mergedRegions.length - 1];
39
+ if (!lastRegion || lastRegion[1] < region[0]) {
40
+ mergedRegions.push(region);
41
+ }
42
+ else {
43
+ lastRegion[1] = Math.max(lastRegion[1], region[1]);
44
+ }
45
+ }
46
+ this.discardedRegions = mergedRegions;
47
+ this.checkFullyDiscarded();
48
+ }
49
+ getDiscardedRegions(start = 0, end = this.size) {
50
+ const result = [];
51
+ for (const [rStart, rEnd] of this.discardedRegions) {
52
+ // If the region starts after the end of the requested range,
53
+ // no further regions will overlap.
54
+ if (rStart >= end) {
55
+ break;
56
+ }
57
+ // If the region ends before or at the start of the requested range, skip
58
+ // it.
59
+ if (rEnd <= start) {
60
+ continue;
61
+ }
62
+ result.push([rStart, rEnd]);
63
+ }
64
+ return result;
65
+ }
66
+ checkFullyDiscarded() {
67
+ if (this.discardedRegions.length === 1 &&
68
+ this.discardedRegions[0][0] === 0 &&
69
+ this.discardedRegions[0][1] === this.size) {
70
+ this.fullyDiscarded = true;
71
+ this.data = undefined;
72
+ }
73
+ }
74
+ }
75
+ /**
76
+ * Wraps a ReadableStream for use in LiteRT LM C++ streamed model loading.
77
+ */
78
+ export class ReadableStreamDataStreamWrapper {
79
+ stream;
80
+ getWasmHeap;
81
+ bytesPerSlice;
82
+ slices = [];
83
+ streamDone = false;
84
+ globalPosition = 0;
85
+ reader;
86
+ leftoverData;
87
+ isReading = false;
88
+ constructor(stream,
89
+ // Heap is detached whenever it's resized, so we get it each time.
90
+ getWasmHeap, bytesPerSlice = 10_000_000) {
91
+ this.stream = stream;
92
+ this.getWasmHeap = getWasmHeap;
93
+ this.bytesPerSlice = bytesPerSlice;
94
+ try {
95
+ this.reader = { byobReader: this.stream.getReader({ mode: 'byob' }) };
96
+ }
97
+ catch (e) {
98
+ this.reader = { defaultReader: this.stream.getReader() };
99
+ }
100
+ }
101
+ *getViews(start, end) {
102
+ if (start >= end) {
103
+ return;
104
+ }
105
+ // A scratch buffer for creating new slices if needed.
106
+ // If the slice is fully discarded, we'll reuse this buffer instead of
107
+ // creating a new one.
108
+ let scratchBuffer;
109
+ let previousSlice;
110
+ let position = start;
111
+ while (position < end) {
112
+ const sliceIndex = Math.floor(position / this.bytesPerSlice);
113
+ const slicePosition = position % this.bytesPerSlice;
114
+ const sliceStartGlobalPosition = sliceIndex * this.bytesPerSlice;
115
+ let slice = this.slices[sliceIndex];
116
+ if (!slice) {
117
+ if (!previousSlice || !previousSlice.fullyDiscarded) {
118
+ // Make a new scratch buffer since the old one was assigned to the
119
+ // previous slice (or there is no previous slice).
120
+ scratchBuffer = new Uint8Array(this.bytesPerSlice);
121
+ }
122
+ slice = new Slice(this.bytesPerSlice);
123
+ slice.data = scratchBuffer;
124
+ this.slices[sliceIndex] = slice;
125
+ }
126
+ const viewEnd = Math.min(this.bytesPerSlice, end - sliceStartGlobalPosition);
127
+ const discardView = () => {
128
+ slice.discard(slicePosition, viewEnd);
129
+ };
130
+ const viewLength = viewEnd - slicePosition;
131
+ const setView = (view) => {
132
+ // Necessary when a BYOB reader invalidates the buffer.
133
+ slice.data = new Uint8Array(view.buffer, 0, view.buffer.byteLength);
134
+ scratchBuffer = slice.data;
135
+ };
136
+ const checkReadable = () => {
137
+ const discardedRegions = slice.getDiscardedRegions(slicePosition, viewEnd);
138
+ if (discardedRegions.length > 0) {
139
+ const globalDiscardedRegions = discardedRegions.map(([start, end]) => `[${start + sliceStartGlobalPosition}, ${end + sliceStartGlobalPosition}]`);
140
+ throw new Error(`Slice ${sliceIndex} for data at ${position} overlaps discarded regions: [${globalDiscardedRegions.join(', ')}]`);
141
+ }
142
+ if (!slice.data) {
143
+ throw new Error(`No ArrayBuffer for slice ${sliceIndex} at position ${position}`);
144
+ }
145
+ };
146
+ const getView = () => {
147
+ checkReadable();
148
+ return new Uint8Array(slice.data.buffer, slice.data.byteOffset + slicePosition, slice.data.byteOffset + viewLength);
149
+ };
150
+ yield {
151
+ getView,
152
+ discardView,
153
+ setView,
154
+ checkReadable,
155
+ };
156
+ previousSlice = slice;
157
+ position += viewLength;
158
+ }
159
+ }
160
+ async readInternal(destAddress, offset, count, discard) {
161
+ if (this.isReading) {
162
+ throw new Error('Concurrent reads are not supported');
163
+ }
164
+ this.isReading = true;
165
+ try {
166
+ // 1. Read and cache all unfetched data before the requested region.
167
+ for (const { getView, setView, checkReadable } of this.getViews(this.globalPosition, offset)) {
168
+ checkReadable();
169
+ // We do not discard or change destAddress here as this is before the
170
+ // requested region.
171
+ const newView = await this.fillBufferFromStream(getView());
172
+ setView(newView);
173
+ if (newView.length === 0) {
174
+ break; // Hit EOF early
175
+ }
176
+ }
177
+ // 2. Copy cached data from existing slices. This may be a no-op if none
178
+ // of the requested region is cached.
179
+ const endOfCachedRead = Math.min(this.globalPosition, offset + count);
180
+ for (const { getView, discardView } of this.getViews(offset, endOfCachedRead)) {
181
+ const view = getView();
182
+ this.getWasmHeap().set(view, destAddress);
183
+ if (discard)
184
+ discardView();
185
+ destAddress += view.length;
186
+ }
187
+ // 3. Read and optionally cache remaining unfetched data and copy it to
188
+ // the destination.
189
+ const startOfUncachedRead = Math.max(endOfCachedRead, offset);
190
+ for (const { getView, setView, discardView } of this.getViews(startOfUncachedRead, offset + count)) {
191
+ // If we are already at EOF (e.g. from step 1 or a previous iteration
192
+ // here), stop reading
193
+ if (this.streamDone && this.globalPosition <= startOfUncachedRead)
194
+ break;
195
+ const newView = await this.fillBufferFromStream(getView());
196
+ setView(newView);
197
+ this.getWasmHeap().set(newView, destAddress);
198
+ if (discard)
199
+ discardView();
200
+ destAddress += newView.length;
201
+ }
202
+ }
203
+ finally {
204
+ this.isReading = false;
205
+ }
206
+ }
207
+ async fillBufferFromStream(buffer) {
208
+ // Must read byteLength now as buffer will be invalidated.
209
+ const byteLength = buffer.byteLength;
210
+ if (byteLength === 0) {
211
+ return buffer;
212
+ }
213
+ const byteOffset = buffer.byteOffset;
214
+ let bytesRead = 0;
215
+ let arrayBuffer = buffer.buffer;
216
+ while (bytesRead < byteLength) {
217
+ if (this.streamDone &&
218
+ (!this.leftoverData || this.leftoverData.length === 0)) {
219
+ throw new Error(`Read from stream returned early EOF at position ${this.globalPosition}. Expected ${byteLength - bytesRead} more bytes.`);
220
+ }
221
+ if (this.reader.byobReader) {
222
+ // Create a view of the remaining region to be written to. We have to
223
+ // do this each time since the BYOB reader will detach the view and
224
+ // its underlying ArrayBuffer.
225
+ const view = new Uint8Array(arrayBuffer, byteOffset + bytesRead, byteLength - bytesRead);
226
+ const result = await this.reader.byobReader.read(view);
227
+ if (result.done) {
228
+ this.streamDone = true;
229
+ }
230
+ if (!result.value) {
231
+ throw new Error('Read from stream returned null value');
232
+ }
233
+ this.globalPosition += result.value.byteLength;
234
+ bytesRead += result.value.byteLength;
235
+ arrayBuffer = result.value.buffer;
236
+ }
237
+ else {
238
+ let chunk;
239
+ if (this.leftoverData && this.leftoverData.length > 0) {
240
+ chunk = this.leftoverData;
241
+ this.leftoverData = undefined;
242
+ }
243
+ else {
244
+ const result = await this.reader.defaultReader.read();
245
+ if (result.done) {
246
+ this.streamDone = true;
247
+ if (!result.value) {
248
+ continue;
249
+ }
250
+ }
251
+ if (!result.value) {
252
+ throw new Error('Read from stream returned null value');
253
+ }
254
+ chunk = result.value;
255
+ }
256
+ const bytesNeeded = byteLength - bytesRead;
257
+ const bytesToCopy = Math.min(chunk.length, bytesNeeded);
258
+ const destView = new Uint8Array(arrayBuffer, byteOffset + bytesRead, bytesToCopy);
259
+ destView.set(chunk.subarray(0, bytesToCopy));
260
+ if (chunk.length > bytesToCopy) {
261
+ this.leftoverData = chunk.subarray(bytesToCopy);
262
+ }
263
+ this.globalPosition += bytesToCopy;
264
+ bytesRead += bytesToCopy;
265
+ }
266
+ }
267
+ const result = new Uint8Array(arrayBuffer, byteOffset, bytesRead);
268
+ if (result.length !== byteLength) {
269
+ throw new Error(`Read from stream returned ${result.length} bytes, expected ${byteLength}`);
270
+ }
271
+ return result;
272
+ }
273
+ doDiscard(offset, count) {
274
+ for (const { discardView } of this.getViews(offset, offset + count)) {
275
+ discardView();
276
+ }
277
+ }
278
+ async readAndDiscard(destAddress, offset, count) {
279
+ try {
280
+ await this.readInternal(destAddress >>> 0, toNumber(offset), toNumber(count), true);
281
+ return {};
282
+ }
283
+ catch (e) {
284
+ return { error: e };
285
+ }
286
+ }
287
+ async readAndPreserve(destAddress, offset, count) {
288
+ try {
289
+ await this.readInternal(destAddress >>> 0, toNumber(offset), toNumber(count), false);
290
+ return {};
291
+ }
292
+ catch (e) {
293
+ return { error: e };
294
+ }
295
+ }
296
+ discard(offset, count) {
297
+ try {
298
+ this.doDiscard(toNumber(offset), toNumber(count));
299
+ return {};
300
+ }
301
+ catch (e) {
302
+ return { error: e };
303
+ }
304
+ }
305
+ }
306
+ function toNumber(val) {
307
+ if (typeof val === 'number') {
308
+ return val;
309
+ }
310
+ if (val > Number.MAX_SAFE_INTEGER) {
311
+ throw new Error(`BigInt value ${val} too large to be represented as a number`);
312
+ }
313
+ return Number(val);
314
+ }
315
+ //# sourceMappingURL=readable_stream_data_stream_wrapper.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright 2026 The ODML Authors.
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 { Mutex } from './mutex.js';
17
+ import { SessionConfig } from './session_config.js';
18
+ import { RecursiveRequired } from './types.js';
19
+ import { Responses as WasmResponses, Session as WasmSession } from './wasm_binding_types.js';
20
+ /**
21
+ * LiteRT-LM Session
22
+ */
23
+ export declare class Session {
24
+ private readonly session;
25
+ private readonly mutexes;
26
+ readonly config: RecursiveRequired<SessionConfig>;
27
+ private isBusy;
28
+ constructor(session: WasmSession, mutexes: {
29
+ executor: Mutex;
30
+ });
31
+ runPrefill(inputs: string[]): Promise<void>;
32
+ runDecode(): Promise<Responses>;
33
+ /**
34
+ * Sends a signal to cancel any current generation.
35
+ */
36
+ cancel(): void;
37
+ /**
38
+ * Clones the session. The cloned session will have all the settings and
39
+ * context of the original session up to the point that clone is called.
40
+ */
41
+ clone(): Promise<Session>;
42
+ delete(): Promise<void>;
43
+ }
44
+ declare class Responses {
45
+ private readonly responses;
46
+ constructor(responses: WasmResponses);
47
+ getTexts(): string[];
48
+ delete(): void;
49
+ }
50
+ export {};
51
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,aAAa,EAAmC,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAC,SAAS,IAAI,aAAa,EAAE,OAAO,IAAI,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAK3F;;GAEG;AACH,qBAAa,OAAO;IAIN,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAe,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH3E,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,CAAS;gBAEM,OAAO,EAAE,WAAW,EAAmB,OAAO,EAAE;QAC3E,QAAQ,EAAE,KAAK,CAAC;KACjB;IAMK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3C,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAerC;;OAEG;IACH,MAAM;IAIN;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAezB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9B;AAED,cAAM,SAAS;IACD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAErD,QAAQ,IAAI,MAAM,EAAE;IAKpB,MAAM;CAGP"}