@boundaryml/baml-bridge-web 0.0.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -14
- package/dist/index.js.map +1 -1
- package/dist/native.d.ts +50 -14
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +327 -70
- package/dist/native.js.map +1 -1
- package/dist/platform.d.ts +4 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +5 -0
- package/dist/platform.js.map +1 -0
- package/dist/shared/call_context.d.ts +7 -0
- package/dist/shared/call_context.d.ts.map +1 -0
- package/dist/shared/call_context.js +11 -0
- package/dist/shared/call_context.js.map +1 -0
- package/dist/shared/define_function.d.ts.map +1 -1
- package/dist/shared/define_function.js +13 -24
- package/dist/shared/define_function.js.map +1 -1
- package/dist/shared/errors.d.ts +4 -4
- package/dist/shared/errors.d.ts.map +1 -1
- package/dist/shared/errors.js +16 -10
- package/dist/shared/errors.js.map +1 -1
- package/dist/shared/host_value_registry.d.ts +5 -3
- package/dist/shared/host_value_registry.d.ts.map +1 -1
- package/dist/shared/host_value_registry.js +10 -6
- package/dist/shared/host_value_registry.js.map +1 -1
- package/dist/shared/platform.d.ts +4 -0
- package/dist/shared/platform.d.ts.map +1 -0
- package/dist/shared/platform.js +5 -0
- package/dist/shared/platform.js.map +1 -0
- package/dist/shared/proto/baml_cffi.d.ts +35 -8
- package/dist/shared/proto/baml_cffi.js +138 -25
- package/dist/shared/proto.d.ts +9 -5
- package/dist/shared/proto.d.ts.map +1 -1
- package/dist/shared/proto.js +197 -104
- package/dist/shared/proto.js.map +1 -1
- package/dist/shared/stream.d.ts +3 -2
- package/dist/shared/stream.d.ts.map +1 -1
- package/dist/shared/stream.js +22 -15
- package/dist/shared/stream.js.map +1 -1
- package/dist/wasm/bridge_web_core.d.ts +99 -68
- package/dist/wasm/bridge_web_core.js +519 -492
- package/dist/wasm/bridge_web_core_bg.wasm +0 -0
- package/dist/wasm/bridge_web_core_bg.wasm.d.ts +41 -27
- package/dist/wasm/package.json +1 -1
- package/dist/workerd/index.d.ts +3 -3
- package/dist/workerd/index.d.ts.map +1 -1
- package/dist/workerd/index.js +21 -14
- package/dist/workerd/index.js.map +1 -1
- package/dist/workerd/native.d.ts +50 -14
- package/dist/workerd/native.d.ts.map +1 -1
- package/dist/workerd/native.js +327 -70
- package/dist/workerd/shared/call_context.d.ts +7 -0
- package/dist/workerd/shared/call_context.d.ts.map +1 -0
- package/dist/workerd/shared/call_context.js +11 -0
- package/dist/workerd/shared/call_context.js.map +1 -0
- package/dist/workerd/shared/define_function.d.ts.map +1 -1
- package/dist/workerd/shared/define_function.js +13 -24
- package/dist/workerd/shared/define_function.js.map +1 -1
- package/dist/workerd/shared/errors.d.ts +4 -4
- package/dist/workerd/shared/errors.d.ts.map +1 -1
- package/dist/workerd/shared/errors.js +16 -10
- package/dist/workerd/shared/errors.js.map +1 -1
- package/dist/workerd/shared/host_value_registry.d.ts +5 -3
- package/dist/workerd/shared/host_value_registry.d.ts.map +1 -1
- package/dist/workerd/shared/host_value_registry.js +10 -6
- package/dist/workerd/shared/host_value_registry.js.map +1 -1
- package/dist/workerd/shared/platform.d.ts +4 -0
- package/dist/workerd/shared/platform.d.ts.map +1 -0
- package/dist/workerd/shared/platform.js +5 -0
- package/dist/workerd/shared/platform.js.map +1 -0
- package/dist/workerd/shared/proto/baml_cffi.d.ts +35 -8
- package/dist/workerd/shared/proto/baml_cffi.js +140 -25
- package/dist/workerd/shared/proto.d.ts +9 -5
- package/dist/workerd/shared/proto.d.ts.map +1 -1
- package/dist/workerd/shared/proto.js +197 -104
- package/dist/workerd/shared/proto.js.map +1 -1
- package/dist/workerd/shared/stream.d.ts +3 -2
- package/dist/workerd/shared/stream.d.ts.map +1 -1
- package/dist/workerd/shared/stream.js +22 -15
- package/dist/workerd/shared/stream.js.map +1 -1
- package/dist/workerd-wasm/bridge_web_core.d.ts +62 -45
- package/dist/workerd-wasm/bridge_web_core.js +3 -5
- package/dist/workerd-wasm/bridge_web_core_bg.js +519 -493
- package/dist/workerd-wasm/bridge_web_core_bg.wasm +0 -0
- package/dist/workerd-wasm/bridge_web_core_bg.wasm.d.ts +41 -27
- package/dist/workerd-wasm/package.json +1 -1
- package/package.json +22 -5
package/dist/native.js
CHANGED
|
@@ -1,88 +1,309 @@
|
|
|
1
|
-
import initWasm, { callFunction as callWasmFunction, callFunctionSync as callWasmFunctionSync, cancelFunctionCall as cancelWasmFunctionCall, completeWebHostCall, mintWebHostValueKey, newFunctionCall as newWasmFunctionCall, registerWebHostCallable, registerWebHostValueReleaseCallback, releaseWebHostCallable, stageRuntimeBytecode, } from "./wasm/bridge_web_core.js";
|
|
1
|
+
import initWasm, { callFunction as callWasmFunction, callFunctionSync as callWasmFunctionSync, cancelFunctionCall as cancelWasmFunctionCall, cloneHandle as cloneWasmHandle, completeWebHostCall, configureWebSysops, flushEvents as flushWasmEvents, getBridgeRuntimeVersion as getWasmBridgeRuntimeVersion, getToolchainVersion as getWasmToolchainVersion, getVersion as getWasmVersion, mediaBase64 as mediaWasmBase64, mediaFile as mediaWasmFile, mediaFromBase64 as mediaWasmFromBase64, mediaFromFile as mediaWasmFromFile, mediaFromUrl as mediaWasmFromUrl, mediaMimeType as mediaWasmMimeType, mediaUrl as mediaWasmUrl, mintWebHostValueKey, newFunctionCall as newWasmFunctionCall, registerWebHostCallable, registerWebHostValueReleaseCallback, releaseHandle as releaseWasmHandle, releaseWebHostCallable, seedFunctionRefHandle as seedWasmFunctionRefHandle, seedGenericMediaHandle as seedWasmGenericMediaHandle, stageRuntimeBytecode, stageRuntimeSources, } from "./wasm/bridge_web_core.js";
|
|
2
|
+
import { BamlClientError, wrapNativeError } from "./shared/errors.js";
|
|
2
3
|
await initWasm();
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
let readFileSyncImpl;
|
|
5
|
+
let hostCallableDispatchFactory;
|
|
6
|
+
let webSysopKeys;
|
|
7
|
+
export function installReadFileSync(impl) {
|
|
8
|
+
readFileSyncImpl = impl;
|
|
9
|
+
}
|
|
10
|
+
export function installHostCallableDispatchFactory(factory) {
|
|
11
|
+
hostCallableDispatchFactory = factory;
|
|
12
|
+
}
|
|
13
|
+
function errorMessage(error) {
|
|
14
|
+
return error instanceof Error ? error.message : String(error);
|
|
15
|
+
}
|
|
16
|
+
function parseFetchCall(value) {
|
|
17
|
+
if (value === null || typeof value !== "object")
|
|
18
|
+
throw new TypeError("fetch call must be an object");
|
|
19
|
+
const call = value;
|
|
20
|
+
if (typeof call.method !== "string")
|
|
21
|
+
throw new TypeError("fetch method must be a string");
|
|
22
|
+
if (typeof call.url !== "string")
|
|
23
|
+
throw new TypeError("fetch URL must be a string");
|
|
24
|
+
if (!(call.body instanceof Uint8Array))
|
|
25
|
+
throw new TypeError("fetch body must be bytes");
|
|
26
|
+
if (typeof call.timeoutNanos !== "bigint" || call.timeoutNanos < 0n)
|
|
27
|
+
throw new TypeError("fetch timeoutNanos must be a non-negative bigint");
|
|
28
|
+
if (!Array.isArray(call.headers) || !call.headers.every((pair) => Array.isArray(pair) && pair.length === 2 && typeof pair[0] === "string" && typeof pair[1] === "string")) {
|
|
29
|
+
throw new TypeError("fetch headers must be string pairs");
|
|
30
|
+
}
|
|
31
|
+
return call;
|
|
32
|
+
}
|
|
33
|
+
async function webFetch(value) {
|
|
34
|
+
let call;
|
|
35
|
+
try {
|
|
36
|
+
call = parseFetchCall(value);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return { kind: "io", message: errorMessage(error) };
|
|
40
|
+
}
|
|
41
|
+
const controller = new AbortController();
|
|
42
|
+
let timedOut = false;
|
|
43
|
+
let timer;
|
|
44
|
+
if (call.timeoutNanos > 0n) {
|
|
45
|
+
const timeoutMillis = (call.timeoutNanos + 999999n) / 1000000n;
|
|
46
|
+
const maximumTimerMillis = 2147483647n;
|
|
47
|
+
timer = setTimeout(() => {
|
|
48
|
+
timedOut = true;
|
|
49
|
+
controller.abort();
|
|
50
|
+
}, Number(timeoutMillis > maximumTimerMillis ? maximumTimerMillis : timeoutMillis));
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
const method = call.method.toUpperCase();
|
|
54
|
+
const requestBody = method === "GET" || method === "HEAD" || call.body.length === 0 ? undefined : new Uint8Array(call.body);
|
|
55
|
+
const response = await globalThis.fetch(call.url, {
|
|
56
|
+
method,
|
|
57
|
+
headers: new Headers(call.headers),
|
|
58
|
+
body: requestBody,
|
|
59
|
+
signal: controller.signal,
|
|
60
|
+
});
|
|
61
|
+
const body = new Uint8Array(await response.arrayBuffer());
|
|
62
|
+
return {
|
|
63
|
+
kind: "ok",
|
|
64
|
+
statusCode: response.status,
|
|
65
|
+
url: response.url || call.url,
|
|
66
|
+
headers: Array.from(response.headers.entries()),
|
|
67
|
+
body,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return timedOut
|
|
72
|
+
? { kind: "timeout", message: `HTTP request timed out: ${errorMessage(error)}` }
|
|
73
|
+
: { kind: "io", message: `HTTP request failed: ${errorMessage(error)}` };
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
if (timer !== undefined)
|
|
77
|
+
clearTimeout(timer);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function webReadFileSync(path) {
|
|
81
|
+
if (typeof path !== "string")
|
|
82
|
+
return { kind: "io", message: "readFileSync path must be a string" };
|
|
83
|
+
if (!readFileSyncImpl)
|
|
84
|
+
return { kind: "unavailable", message: "fs.readFileSync is not available in this JavaScript runtime" };
|
|
85
|
+
try {
|
|
86
|
+
const value = readFileSyncImpl(path);
|
|
87
|
+
const bytes = new Uint8Array(value.byteLength);
|
|
88
|
+
bytes.set(new Uint8Array(value.buffer, value.byteOffset, value.byteLength));
|
|
89
|
+
return { kind: "ok", bytes };
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return { kind: "io", message: `readFileSync failed for ${path}: ${errorMessage(error)}` };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function ensureWebSysopsConfigured() {
|
|
96
|
+
if (!hostCallableDispatchFactory)
|
|
97
|
+
throw new Error("Web HOST_VALUE_CALLABLE dispatch is not installed");
|
|
98
|
+
if (!webSysopKeys) {
|
|
99
|
+
webSysopKeys = {
|
|
100
|
+
fetch: registerWebHostCallable(hostCallableDispatchFactory(webFetch)),
|
|
101
|
+
readFileSync: registerWebHostCallable(hostCallableDispatchFactory(webReadFileSync)),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
configureWebSysops(webSysopKeys.fetch, webSysopKeys.readFileSync);
|
|
105
|
+
}
|
|
106
|
+
function keyToBigint(key) {
|
|
107
|
+
if (!Number.isInteger(key.low) || !Number.isInteger(key.high)) {
|
|
108
|
+
throw new TypeError("BamlHandle key halves must be 32-bit integers");
|
|
109
|
+
}
|
|
110
|
+
return (BigInt(key.high >>> 0) << 32n) | BigInt(key.low >>> 0);
|
|
111
|
+
}
|
|
112
|
+
function keyFromBigint(value) {
|
|
113
|
+
const normalized = BigInt.asUintN(64, value);
|
|
12
114
|
return {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
url: response.url,
|
|
16
|
-
bodyPromise: response.text(),
|
|
115
|
+
low: Number(BigInt.asIntN(32, normalized)),
|
|
116
|
+
high: Number(BigInt.asIntN(32, normalized >> 32n)),
|
|
17
117
|
};
|
|
18
118
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function keyFromBigint(value) {
|
|
35
|
-
return { low: Number(BigInt.asIntN(32, value)), high: Number(BigInt.asIntN(32, value >> 32n)) };
|
|
119
|
+
// Keep in sync with baml_handle.proto and baml_outbound.proto.
|
|
120
|
+
const HANDLE_FUNCTION_REF = 5;
|
|
121
|
+
const HANDLE_MEDIA_IMAGE = 6;
|
|
122
|
+
const HANDLE_MEDIA_AUDIO = 7;
|
|
123
|
+
const HANDLE_MEDIA_VIDEO = 8;
|
|
124
|
+
const HANDLE_MEDIA_PDF = 9;
|
|
125
|
+
const HANDLE_MEDIA_GENERIC = 10;
|
|
126
|
+
const HANDLE_HOST_VALUE_CALLABLE = 15;
|
|
127
|
+
const HANDLE_HOST_VALUE_OPAQUE = 16;
|
|
128
|
+
const MEDIA_IMAGE = 1;
|
|
129
|
+
const MEDIA_AUDIO = 2;
|
|
130
|
+
const MEDIA_PDF = 3;
|
|
131
|
+
const MEDIA_VIDEO = 4;
|
|
132
|
+
function isHostValueHandleType(handleType) {
|
|
133
|
+
return handleType === HANDLE_HOST_VALUE_CALLABLE || handleType === HANDLE_HOST_VALUE_OPAQUE;
|
|
36
134
|
}
|
|
135
|
+
const ordinaryHandleFinalizer = new FinalizationRegistry((key) => {
|
|
136
|
+
try {
|
|
137
|
+
releaseWasmHandle(key);
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
// Finalizers may run during isolate teardown. Eventual cleanup is best-effort.
|
|
141
|
+
}
|
|
142
|
+
});
|
|
37
143
|
export class BamlHandle {
|
|
38
|
-
key;
|
|
39
144
|
handleType;
|
|
145
|
+
rawKey;
|
|
146
|
+
finalizerToken;
|
|
147
|
+
released = false;
|
|
40
148
|
constructor(key, handleType) {
|
|
41
|
-
this.key = key;
|
|
42
149
|
this.handleType = handleType;
|
|
150
|
+
this.rawKey = keyToBigint(key);
|
|
151
|
+
if (isHostValueHandleType(handleType)) {
|
|
152
|
+
this.finalizerToken = undefined;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
this.finalizerToken = {};
|
|
156
|
+
ordinaryHandleFinalizer.register(this, this.rawKey, this.finalizerToken);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
get key() {
|
|
160
|
+
this.assertLive();
|
|
161
|
+
return keyFromBigint(this.rawKey);
|
|
162
|
+
}
|
|
163
|
+
assertLive() {
|
|
164
|
+
if (this.released)
|
|
165
|
+
throw new Error("BamlHandle has been released");
|
|
166
|
+
}
|
|
167
|
+
_keyForBridge() {
|
|
168
|
+
this.assertLive();
|
|
169
|
+
return this.rawKey;
|
|
170
|
+
}
|
|
171
|
+
clone() {
|
|
172
|
+
this.assertLive();
|
|
173
|
+
if (isHostValueHandleType(this.handleType))
|
|
174
|
+
return new BamlHandle(this.key, this.handleType);
|
|
175
|
+
return new BamlHandle(keyFromBigint(cloneWasmHandle(this.rawKey)), this.handleType);
|
|
176
|
+
}
|
|
177
|
+
_cloneKeyForWire() {
|
|
178
|
+
this.assertLive();
|
|
179
|
+
if (isHostValueHandleType(this.handleType))
|
|
180
|
+
return keyFromBigint(this.rawKey);
|
|
181
|
+
return keyFromBigint(cloneWasmHandle(this.rawKey));
|
|
182
|
+
}
|
|
183
|
+
_releaseForTest() {
|
|
184
|
+
if (isHostValueHandleType(this.handleType) || this.released)
|
|
185
|
+
return false;
|
|
186
|
+
this.released = true;
|
|
187
|
+
if (this.finalizerToken)
|
|
188
|
+
ordinaryHandleFinalizer.unregister(this.finalizerToken);
|
|
189
|
+
return releaseWasmHandle(this.rawKey);
|
|
43
190
|
}
|
|
44
|
-
clone() { return new BamlHandle(this.key, this.handleType); }
|
|
45
|
-
_cloneKeyForWire() { return this.key; }
|
|
46
191
|
}
|
|
47
192
|
class BamlMedia {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
193
|
+
rawKey;
|
|
194
|
+
handleType;
|
|
195
|
+
finalizerToken = {};
|
|
196
|
+
released = false;
|
|
197
|
+
constructor(rawKey, handleType) {
|
|
198
|
+
this.rawKey = rawKey;
|
|
199
|
+
this.handleType = handleType;
|
|
200
|
+
ordinaryHandleFinalizer.register(this, rawKey, this.finalizerToken);
|
|
201
|
+
}
|
|
202
|
+
static cloneKeyFromHandle(handle, expectedHandleType, className) {
|
|
203
|
+
if (handle.handleType !== expectedHandleType) {
|
|
204
|
+
throw new TypeError(`${className} requires handle type ${expectedHandleType}, got ${handle.handleType}`);
|
|
205
|
+
}
|
|
206
|
+
return cloneWasmHandle(handle._keyForBridge());
|
|
207
|
+
}
|
|
208
|
+
assertLive() {
|
|
209
|
+
if (this.released)
|
|
210
|
+
throw new Error(`${this.constructor.name} has been released`);
|
|
211
|
+
}
|
|
212
|
+
_toHandle() {
|
|
213
|
+
this.assertLive();
|
|
214
|
+
return new BamlHandle(keyFromBigint(cloneWasmHandle(this.rawKey)), this.handleType);
|
|
215
|
+
}
|
|
216
|
+
url() {
|
|
217
|
+
this.assertLive();
|
|
218
|
+
return mediaWasmUrl(this.rawKey, this.handleType) ?? null;
|
|
219
|
+
}
|
|
220
|
+
file() {
|
|
221
|
+
this.assertLive();
|
|
222
|
+
return mediaWasmFile(this.rawKey, this.handleType) ?? null;
|
|
223
|
+
}
|
|
224
|
+
base64() {
|
|
225
|
+
this.assertLive();
|
|
226
|
+
return mediaWasmBase64(this.rawKey, this.handleType);
|
|
227
|
+
}
|
|
228
|
+
mimeType() {
|
|
229
|
+
this.assertLive();
|
|
230
|
+
return mediaWasmMimeType(this.rawKey, this.handleType) ?? null;
|
|
231
|
+
}
|
|
232
|
+
_releaseForTest() {
|
|
233
|
+
if (this.released)
|
|
234
|
+
return false;
|
|
235
|
+
this.released = true;
|
|
236
|
+
ordinaryHandleFinalizer.unregister(this.finalizerToken);
|
|
237
|
+
return releaseWasmHandle(this.rawKey);
|
|
238
|
+
}
|
|
61
239
|
}
|
|
62
240
|
export class BamlImage extends BamlMedia {
|
|
241
|
+
constructor(rawKey) { super(rawKey, HANDLE_MEDIA_IMAGE); }
|
|
242
|
+
static fromUrl(url, mimeType) { return new BamlImage(mediaWasmFromUrl(MEDIA_IMAGE, url, mimeType ?? undefined)); }
|
|
243
|
+
static fromFile(file, mimeType) { return new BamlImage(mediaWasmFromFile(MEDIA_IMAGE, file, mimeType ?? undefined)); }
|
|
244
|
+
static fromBase64(base64, mimeType) { return new BamlImage(mediaWasmFromBase64(MEDIA_IMAGE, base64, mimeType ?? undefined)); }
|
|
245
|
+
static _fromHandle(handle) { return new BamlImage(this.cloneKeyFromHandle(handle, HANDLE_MEDIA_IMAGE, "BamlImage")); }
|
|
63
246
|
}
|
|
64
247
|
export class BamlAudio extends BamlMedia {
|
|
248
|
+
constructor(rawKey) { super(rawKey, HANDLE_MEDIA_AUDIO); }
|
|
249
|
+
static fromUrl(url, mimeType) { return new BamlAudio(mediaWasmFromUrl(MEDIA_AUDIO, url, mimeType ?? undefined)); }
|
|
250
|
+
static fromFile(file, mimeType) { return new BamlAudio(mediaWasmFromFile(MEDIA_AUDIO, file, mimeType ?? undefined)); }
|
|
251
|
+
static fromBase64(base64, mimeType) { return new BamlAudio(mediaWasmFromBase64(MEDIA_AUDIO, base64, mimeType ?? undefined)); }
|
|
252
|
+
static _fromHandle(handle) { return new BamlAudio(this.cloneKeyFromHandle(handle, HANDLE_MEDIA_AUDIO, "BamlAudio")); }
|
|
65
253
|
}
|
|
66
254
|
export class BamlVideo extends BamlMedia {
|
|
255
|
+
constructor(rawKey) { super(rawKey, HANDLE_MEDIA_VIDEO); }
|
|
256
|
+
static fromUrl(url, mimeType) { return new BamlVideo(mediaWasmFromUrl(MEDIA_VIDEO, url, mimeType ?? undefined)); }
|
|
257
|
+
static fromFile(file, mimeType) { return new BamlVideo(mediaWasmFromFile(MEDIA_VIDEO, file, mimeType ?? undefined)); }
|
|
258
|
+
static fromBase64(base64, mimeType) { return new BamlVideo(mediaWasmFromBase64(MEDIA_VIDEO, base64, mimeType ?? undefined)); }
|
|
259
|
+
static _fromHandle(handle) { return new BamlVideo(this.cloneKeyFromHandle(handle, HANDLE_MEDIA_VIDEO, "BamlVideo")); }
|
|
67
260
|
}
|
|
68
261
|
export class BamlPdf extends BamlMedia {
|
|
262
|
+
constructor(rawKey) { super(rawKey, HANDLE_MEDIA_PDF); }
|
|
263
|
+
static fromUrl(url, mimeType) { return new BamlPdf(mediaWasmFromUrl(MEDIA_PDF, url, mimeType ?? undefined)); }
|
|
264
|
+
static fromFile(file, mimeType) { return new BamlPdf(mediaWasmFromFile(MEDIA_PDF, file, mimeType ?? undefined)); }
|
|
265
|
+
static fromBase64(base64, mimeType) { return new BamlPdf(mediaWasmFromBase64(MEDIA_PDF, base64, mimeType ?? undefined)); }
|
|
266
|
+
static _fromHandle(handle) { return new BamlPdf(this.cloneKeyFromHandle(handle, HANDLE_MEDIA_PDF, "BamlPdf")); }
|
|
267
|
+
}
|
|
268
|
+
const MAX_UINT64 = (1n << 64n) - 1n;
|
|
269
|
+
const DECIMAL_UINT64 = /^\+?[0-9]+$/;
|
|
270
|
+
let callCancellationObserver;
|
|
271
|
+
function parseCallId(callId) {
|
|
272
|
+
if (typeof callId !== "string" || !DECIMAL_UINT64.test(callId)) {
|
|
273
|
+
throw new TypeError("callId must be a decimal uint64 string");
|
|
274
|
+
}
|
|
275
|
+
const parsed = BigInt(callId);
|
|
276
|
+
if (parsed > MAX_UINT64)
|
|
277
|
+
throw new TypeError("callId must be a decimal uint64 string");
|
|
278
|
+
return parsed;
|
|
279
|
+
}
|
|
280
|
+
function cancelCallId(callId) {
|
|
281
|
+
callCancellationObserver?.(callId);
|
|
282
|
+
return cancelWasmFunctionCall(callId);
|
|
283
|
+
}
|
|
284
|
+
export function _setCallCancellationObserverForTest(observer) {
|
|
285
|
+
callCancellationObserver = observer;
|
|
69
286
|
}
|
|
70
287
|
export class BamlCallContext {
|
|
71
|
-
|
|
288
|
+
activeCallIds = new Set();
|
|
72
289
|
isAborted = false;
|
|
73
290
|
abort() {
|
|
291
|
+
if (this.isAborted)
|
|
292
|
+
return;
|
|
74
293
|
this.isAborted = true;
|
|
75
|
-
for (const callId of this.
|
|
76
|
-
|
|
294
|
+
for (const callId of [...this.activeCallIds])
|
|
295
|
+
cancelCallId(callId);
|
|
77
296
|
}
|
|
78
297
|
get aborted() { return this.isAborted; }
|
|
79
298
|
_attachCallId(callId) {
|
|
80
|
-
const id =
|
|
81
|
-
this.
|
|
82
|
-
|
|
83
|
-
|
|
299
|
+
const id = parseCallId(callId);
|
|
300
|
+
const alreadyAttached = this.activeCallIds.has(id);
|
|
301
|
+
this.activeCallIds.add(id);
|
|
302
|
+
if (this.isAborted && !alreadyAttached)
|
|
303
|
+
cancelCallId(id);
|
|
84
304
|
}
|
|
85
|
-
_detachCallId(callId) { this.
|
|
305
|
+
_detachCallId(callId) { this.activeCallIds.delete(parseCallId(callId)); }
|
|
306
|
+
_activeCallIdsForTest() { return [...this.activeCallIds]; }
|
|
86
307
|
}
|
|
87
308
|
export class HostSpanManager {
|
|
88
309
|
enter(_name, _args) { }
|
|
@@ -105,32 +326,64 @@ export class Collector {
|
|
|
105
326
|
constructor(_name) { }
|
|
106
327
|
}
|
|
107
328
|
export class BamlRuntime {
|
|
108
|
-
static initializeRuntimeFromBytecode(bytecode) {
|
|
109
|
-
|
|
329
|
+
static initializeRuntimeFromBytecode(bytecode, embeddedBamlToml) {
|
|
330
|
+
ensureWebSysopsConfigured();
|
|
331
|
+
try {
|
|
332
|
+
stageRuntimeBytecode(bytecode, embeddedBamlToml);
|
|
333
|
+
}
|
|
334
|
+
catch (error) {
|
|
335
|
+
throw wrapNativeError(error);
|
|
336
|
+
}
|
|
110
337
|
runtime = new BamlRuntime();
|
|
111
338
|
return runtime;
|
|
112
339
|
}
|
|
113
|
-
static initializeRuntime(
|
|
114
|
-
|
|
340
|
+
static initializeRuntime(rootPath, files) {
|
|
341
|
+
ensureWebSysopsConfigured();
|
|
342
|
+
try {
|
|
343
|
+
stageRuntimeSources(rootPath, files);
|
|
344
|
+
}
|
|
345
|
+
catch (error) {
|
|
346
|
+
throw wrapNativeError(error);
|
|
347
|
+
}
|
|
348
|
+
runtime = new BamlRuntime();
|
|
349
|
+
return runtime;
|
|
115
350
|
}
|
|
116
|
-
callFunctionSync(
|
|
117
|
-
|
|
351
|
+
callFunctionSync(encodedArgs, _ctx, _collectors) {
|
|
352
|
+
try {
|
|
353
|
+
return callWasmFunctionSync(encodedArgs);
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
throw wrapNativeError(error);
|
|
357
|
+
}
|
|
118
358
|
}
|
|
119
|
-
callFunction(
|
|
120
|
-
|
|
359
|
+
async callFunction(encodedArgs, _ctx, _collectors) {
|
|
360
|
+
try {
|
|
361
|
+
return await callWasmFunction(encodedArgs);
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
throw wrapNativeError(error);
|
|
365
|
+
}
|
|
121
366
|
}
|
|
122
367
|
}
|
|
123
368
|
let runtime;
|
|
124
369
|
let hostRelease;
|
|
125
370
|
export function getRuntime() {
|
|
126
371
|
if (!runtime)
|
|
127
|
-
throw new
|
|
372
|
+
throw new BamlClientError("BAML runtime has not been initialized");
|
|
128
373
|
return runtime;
|
|
129
374
|
}
|
|
130
375
|
export function newFunctionCall() { return newWasmFunctionCall(); }
|
|
131
|
-
export function cancelFunctionCall(callId) {
|
|
132
|
-
|
|
133
|
-
|
|
376
|
+
export function cancelFunctionCall(callId) {
|
|
377
|
+
const parsed = typeof callId === "bigint" ? callId : parseCallId(callId);
|
|
378
|
+
if (parsed < 0n || parsed > MAX_UINT64) {
|
|
379
|
+
throw new TypeError("callId must be a decimal uint64 string");
|
|
380
|
+
}
|
|
381
|
+
return cancelCallId(parsed);
|
|
382
|
+
}
|
|
383
|
+
export function flushEvents() { flushWasmEvents(); }
|
|
384
|
+
export function getVersion() { return getWasmVersion(); }
|
|
385
|
+
export function getToolchainVersion() { return getWasmToolchainVersion(); }
|
|
386
|
+
export function getBridgeRuntimeVersion() { return getWasmBridgeRuntimeVersion(); }
|
|
134
387
|
export function mintHostValueKey() { return keyFromBigint(mintWebHostValueKey()); }
|
|
135
388
|
export function registerHostValueReleaseCallback(callback) {
|
|
136
389
|
hostRelease = callback;
|
|
@@ -143,6 +396,10 @@ export function releaseHostCallable(key) {
|
|
|
143
396
|
hostRelease?.(key);
|
|
144
397
|
}
|
|
145
398
|
export function completeHostCall(callId, isError, content) { completeWebHostCall(callId, isError, content); }
|
|
146
|
-
export function _seedFunctionRefHandle(
|
|
147
|
-
|
|
399
|
+
export function _seedFunctionRefHandle(globalIndex) {
|
|
400
|
+
return [keyFromBigint(seedWasmFunctionRefHandle(globalIndex)), HANDLE_FUNCTION_REF];
|
|
401
|
+
}
|
|
402
|
+
export function _seedGenericMediaHandle() {
|
|
403
|
+
return [keyFromBigint(seedWasmGenericMediaHandle()), HANDLE_MEDIA_GENERIC];
|
|
404
|
+
}
|
|
148
405
|
//# sourceMappingURL=native.js.map
|
package/dist/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../typescript_src/native.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../typescript_src/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../typescript_src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,GAAG,KAAK,CAE9E"}
|
package/dist/platform.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../typescript_src/platform.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,aAAwB;IACrE,MAAM,aAAa,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BamlCallContext } from '../native.js';
|
|
2
|
+
export interface CallContextBinding {
|
|
3
|
+
detach(): void;
|
|
4
|
+
}
|
|
5
|
+
/** Attach one outer call ID and return its absent-safe lifecycle owner. */
|
|
6
|
+
export declare function attachCallContext(ctx: BamlCallContext | undefined, callId: bigint): CallContextBinding;
|
|
7
|
+
//# sourceMappingURL=call_context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call_context.d.ts","sourceRoot":"","sources":["../../typescript_src/shared/call_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IAC/B,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,GACf,kBAAkB,CAQpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Attach one outer call ID and return its absent-safe lifecycle owner. */
|
|
2
|
+
export function attachCallContext(ctx, callId) {
|
|
3
|
+
const serialized = callId.toString();
|
|
4
|
+
ctx?._attachCallId(serialized);
|
|
5
|
+
return {
|
|
6
|
+
detach() {
|
|
7
|
+
ctx?._detachCallId(serialized);
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=call_context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call_context.js","sourceRoot":"","sources":["../../typescript_src/shared/call_context.ts"],"names":[],"mappings":"AAMA,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAC7B,GAAgC,EAChC,MAAc;IAEd,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO;QACH,MAAM;YACF,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_function.d.ts","sourceRoot":"","sources":["../../typescript_src/shared/define_function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define_function.d.ts","sourceRoot":"","sources":["../../typescript_src/shared/define_function.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpC,8EAA8E;AAC9E,eAAO,MAAM,KAAK,EAAE,OAAO,MAA6B,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAuKD;;;;GAIG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAClD,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,GACrC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CA4CjC;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAClD,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,GACrC;IAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;CAAE,CAyD1D"}
|