@openruntime/bridge 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-store.js","sourceRoot":"","sources":["../src/runtime-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { BridgeServer, CreateBridgeServerOptions } from "./types.js";
2
+ export declare function createBridgeServer(options?: CreateBridgeServerOptions): BridgeServer;
3
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAuB,YAAY,EAAuB,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEpH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,YAAY,CAExF"}
package/dist/server.js ADDED
@@ -0,0 +1,496 @@
1
+ import { createServer } from "node:http";
2
+ import { OPEN_RUNTIME_BRIDGE_DEFAULT_PORT, OPEN_RUNTIME_SESSION_QUERY_PARAM, matchesRuntimeCondition } from "@openruntime/core";
3
+ import { BridgeHttpError, getPathSegments, readJson, writeCorsHeaders, writeError, writeJson } from "./http-utils.js";
4
+ import { getCommandFromResource, parseRuntimeQuery } from "./query.js";
5
+ import { RuntimeConnectionStore } from "./runtime-store.js";
6
+ export function createBridgeServer(options = {}) {
7
+ return new NodeBridgeServer(options);
8
+ }
9
+ class NodeBridgeServer {
10
+ #store;
11
+ #server;
12
+ #address;
13
+ constructor(options) {
14
+ this.#store = new RuntimeConnectionStore(options);
15
+ this.#server = createServer((request, response) => {
16
+ void this.#handleRequest(request, response);
17
+ });
18
+ }
19
+ listen(options = {}) {
20
+ const hostname = options.hostname ?? "localhost";
21
+ const port = options.port ?? OPEN_RUNTIME_BRIDGE_DEFAULT_PORT;
22
+ return new Promise((resolve, reject) => {
23
+ const onError = (error) => {
24
+ this.#server.off("listening", onListening);
25
+ reject(error);
26
+ };
27
+ const onListening = () => {
28
+ this.#server.off("error", onError);
29
+ const address = this.#server.address();
30
+ if (address === null || typeof address === "string") {
31
+ reject(new Error("Bridge server did not expose a TCP address."));
32
+ return;
33
+ }
34
+ this.#address = {
35
+ hostname,
36
+ port: address.port,
37
+ url: `http://${hostname}:${address.port}`
38
+ };
39
+ resolve(this.#address);
40
+ };
41
+ this.#server.once("error", onError);
42
+ this.#server.once("listening", onListening);
43
+ this.#server.listen(port, hostname);
44
+ });
45
+ }
46
+ close() {
47
+ this.#store.disconnectAll();
48
+ return new Promise((resolve, reject) => {
49
+ this.#server.close((error) => {
50
+ if (error !== undefined) {
51
+ reject(error);
52
+ return;
53
+ }
54
+ this.#address = undefined;
55
+ resolve();
56
+ });
57
+ });
58
+ }
59
+ address() {
60
+ return this.#address;
61
+ }
62
+ async #handleRequest(request, response) {
63
+ writeCorsHeaders(response);
64
+ if (request.method === "OPTIONS") {
65
+ response.writeHead(204);
66
+ response.end();
67
+ return;
68
+ }
69
+ try {
70
+ const url = new URL(request.url ?? "/", "http://localhost");
71
+ const segments = getPathSegments(url);
72
+ if (request.method === "GET" && segments.length === 1 && segments[0] === "connect") {
73
+ this.#handleRuntimeConnect(url, request, response);
74
+ return;
75
+ }
76
+ if (request.method === "POST" && segments.length === 1 && segments[0] === "server-runtimes") {
77
+ await this.#handleServerRuntimeSync(request, response);
78
+ return;
79
+ }
80
+ if (request.method === "GET" && segments.length === 1 && segments[0] === "runtimes") {
81
+ writeJson(response, 200, {
82
+ runtimes: this.#store.list()
83
+ });
84
+ return;
85
+ }
86
+ if (request.method === "POST" &&
87
+ segments.length === 4 &&
88
+ segments[0] === "runtimes" &&
89
+ segments[2] === "responses") {
90
+ await this.#handleRuntimeResponse(segments[1] ?? "", segments[3] ?? "", request, response);
91
+ return;
92
+ }
93
+ if (request.method === "GET" && segments.length === 3 && segments[0] === "runtimes") {
94
+ await this.#handleRuntimeRead(segments[1] ?? "", segments[2] ?? "", url, response);
95
+ return;
96
+ }
97
+ if (request.method === "GET" &&
98
+ segments.length === 5 &&
99
+ segments[0] === "runtimes" &&
100
+ segments[2] === "actions" &&
101
+ segments[4] === "options") {
102
+ await this.#handleInputOptions(segments[1] ?? "", segments[3] ?? "", url, response);
103
+ return;
104
+ }
105
+ if (request.method === "POST" &&
106
+ segments.length === 5 &&
107
+ segments[0] === "runtimes" &&
108
+ segments[2] === "actions" &&
109
+ segments[4] === "run") {
110
+ await this.#handleRunAction(segments[1] ?? "", segments[3] ?? "", request, response);
111
+ return;
112
+ }
113
+ if (request.method === "POST" &&
114
+ segments.length === 3 &&
115
+ segments[0] === "runtimes" &&
116
+ segments[2] === "wait-for") {
117
+ await this.#handleWaitFor(segments[1] ?? "", request, response);
118
+ return;
119
+ }
120
+ throw new BridgeHttpError(404, "not_found", "Bridge route was not found.");
121
+ }
122
+ catch (error) {
123
+ writeError(response, error);
124
+ }
125
+ }
126
+ #handleRuntimeConnect(url, request, response) {
127
+ const runtimeUrl = url.searchParams.get("url");
128
+ if (runtimeUrl === null || runtimeUrl.length === 0) {
129
+ throw new BridgeHttpError(400, "missing_runtime_url", "Runtime connection must include a url query.");
130
+ }
131
+ const pageInstanceId = normalizeOptionalQuery(url.searchParams.get("pageInstanceId"));
132
+ const runtimeId = normalizeOptionalQuery(url.searchParams.get("runtimeId"));
133
+ const sessionId = normalizeOptionalQuery(url.searchParams.get("sessionId")) ?? getOpenRuntimeSessionIdFromUrl(runtimeUrl);
134
+ const renderId = normalizeOptionalQuery(url.searchParams.get("renderId"));
135
+ response.writeHead(200, {
136
+ "content-type": "text/event-stream; charset=utf-8",
137
+ "cache-control": "no-cache, no-transform",
138
+ connection: "keep-alive",
139
+ "x-accel-buffering": "no",
140
+ "access-control-allow-origin": "*"
141
+ });
142
+ const stream = new ServerSentEventStream(response);
143
+ const runtime = this.#store.connect(runtimeUrl, stream, {
144
+ ...(pageInstanceId === undefined ? {} : { pageInstanceId }),
145
+ ...(runtimeId === undefined ? {} : { runtimeId }),
146
+ ...(sessionId === undefined ? {} : { sessionId }),
147
+ ...(renderId === undefined ? {} : { renderId })
148
+ });
149
+ stream.send("connected", {
150
+ runtimeId: runtime.runtimeId
151
+ });
152
+ request.on("close", () => {
153
+ this.#store.disconnect(runtime.runtimeId, stream);
154
+ });
155
+ }
156
+ async #handleServerRuntimeSync(request, response) {
157
+ const body = await readJson(request);
158
+ if (!isServerRuntimeSyncPayload(body)) {
159
+ throw new BridgeHttpError(400, "invalid_server_runtime_sync", "Server runtime sync body is invalid.");
160
+ }
161
+ const runtime = this.#store.syncServerRuntime(body);
162
+ writeJson(response, 200, {
163
+ runtimeId: runtime.runtimeId,
164
+ ...(runtime.renderId === undefined ? {} : { renderId: runtime.renderId }),
165
+ accepted: true
166
+ });
167
+ }
168
+ async #handleRuntimeResponse(runtimeId, requestId, request, response) {
169
+ const body = await readJson(request);
170
+ if (!isBridgeRuntimeResponse(body)) {
171
+ throw new BridgeHttpError(400, "invalid_runtime_response", "Runtime response body is invalid.");
172
+ }
173
+ const accepted = this.#store.resolve(runtimeId, requestId, body);
174
+ if (!accepted) {
175
+ throw new BridgeHttpError(404, "request_not_found", "Runtime request was not found.");
176
+ }
177
+ writeJson(response, 200, {
178
+ accepted: true
179
+ });
180
+ }
181
+ async #handleRuntimeRead(runtimeId, resource, url, response) {
182
+ const method = getCommandFromResource(resource);
183
+ if (method === undefined) {
184
+ throw new BridgeHttpError(404, "resource_not_found", "Runtime resource was not found.");
185
+ }
186
+ const runtime = this.#store.get(runtimeId);
187
+ if (runtime === undefined) {
188
+ throw new BridgeHttpError(404, "runtime_not_found", "Runtime was not found.");
189
+ }
190
+ const query = parseRuntimeQuery(method, url.searchParams);
191
+ if (runtime.status === "disconnected") {
192
+ const cached = this.#getCachedRuntimeResult(runtimeId, method, query);
193
+ if (cached !== undefined) {
194
+ writeJson(response, 200, cached);
195
+ return;
196
+ }
197
+ throw new BridgeHttpError(409, "runtime_disconnected", "Runtime is disconnected.");
198
+ }
199
+ if (runtime.status === "server") {
200
+ const cached = this.#getCachedRuntimeResult(runtimeId, method, query);
201
+ if (cached !== undefined) {
202
+ writeJson(response, 200, cached);
203
+ return;
204
+ }
205
+ throw new BridgeHttpError(409, "runtime_server_only", "Runtime has not connected from a browser yet.");
206
+ }
207
+ const result = await this.#store.request(runtimeId, method, query === undefined ? {} : { query });
208
+ this.#store.cacheResult(runtimeId, method, result);
209
+ writeJson(response, 200, this.#getCachedRuntimeResult(runtimeId, method, query) ?? result);
210
+ }
211
+ async #handleInputOptions(runtimeId, actionName, url, response) {
212
+ const inputName = url.searchParams.get("input");
213
+ if (inputName === null || inputName.length === 0) {
214
+ throw new BridgeHttpError(400, "missing_input_name", "Input options request must include an input query.");
215
+ }
216
+ const payload = parsePayloadQuery(url.searchParams.get("payload"));
217
+ const options = parseTimeoutOptions(url.searchParams);
218
+ const requestInput = {
219
+ actionName,
220
+ inputName
221
+ };
222
+ if (payload !== undefined)
223
+ requestInput.payload = payload;
224
+ if (options !== undefined)
225
+ requestInput.options = options;
226
+ const result = await this.#requestConnectedRuntime(runtimeId, "getInputOptions", requestInput);
227
+ writeJson(response, 200, result);
228
+ }
229
+ async #handleRunAction(runtimeId, actionName, request, response) {
230
+ const body = await readJson(request);
231
+ const payload = getPayload(body);
232
+ const requestInput = {
233
+ actionName
234
+ };
235
+ if (payload !== undefined)
236
+ requestInput.payload = payload;
237
+ const result = await this.#requestConnectedRuntime(runtimeId, "runAction", requestInput);
238
+ writeJson(response, 200, result);
239
+ }
240
+ async #handleWaitFor(runtimeId, request, response) {
241
+ const body = await readJson(request);
242
+ if (!isRecord(body)) {
243
+ throw new BridgeHttpError(400, "invalid_wait_for_body", "wait-for body must be an object.");
244
+ }
245
+ const targetId = getStringField(body, "targetId") ?? getStringField(body, "id");
246
+ const status = getStringField(body, "status");
247
+ if (targetId === undefined || status === undefined) {
248
+ throw new BridgeHttpError(400, "invalid_wait_for_body", "wait-for body must include targetId and status.");
249
+ }
250
+ const options = parseTimeoutBody(body);
251
+ const requestInput = {
252
+ targetId,
253
+ status
254
+ };
255
+ const where = parseWhereBody(body);
256
+ if (where !== undefined)
257
+ requestInput.where = where;
258
+ if (options !== undefined)
259
+ requestInput.options = options;
260
+ const cachedSnapshot = this.#store.getCachedSnapshot(runtimeId);
261
+ const cachedTarget = cachedSnapshot?.targets[targetId];
262
+ if (matchesRuntimeCondition(cachedTarget, {
263
+ id: targetId,
264
+ status,
265
+ ...(where === undefined ? {} : { where })
266
+ })) {
267
+ writeJson(response, 200, createWaitSuccess(targetId, status, where, cachedSnapshot, cachedTarget));
268
+ return;
269
+ }
270
+ const runtime = this.#store.get(runtimeId);
271
+ if (runtime?.status === "connected") {
272
+ const result = await this.#requestConnectedRuntime(runtimeId, "waitFor", requestInput);
273
+ writeJson(response, 200, result);
274
+ return;
275
+ }
276
+ if (this.#store.hasCachedTarget(runtimeId, targetId)) {
277
+ const cachedResult = await this.#waitForCachedTarget(runtimeId, targetId, status, where, options?.timeout);
278
+ writeJson(response, 200, cachedResult);
279
+ return;
280
+ }
281
+ const result = await this.#requestConnectedRuntime(runtimeId, "waitFor", requestInput);
282
+ writeJson(response, 200, result);
283
+ }
284
+ async #requestConnectedRuntime(runtimeId, method, requestInput) {
285
+ const runtime = this.#store.get(runtimeId);
286
+ if (runtime === undefined) {
287
+ throw new BridgeHttpError(404, "runtime_not_found", "Runtime was not found.");
288
+ }
289
+ if (runtime.status === "disconnected") {
290
+ throw new BridgeHttpError(409, "runtime_disconnected", "Runtime is disconnected.");
291
+ }
292
+ if (runtime.status === "server") {
293
+ throw new BridgeHttpError(409, "runtime_server_only", "Runtime has not connected from a browser yet.");
294
+ }
295
+ return this.#store.request(runtimeId, method, requestInput, getRequestTimeout(requestInput.options?.timeout));
296
+ }
297
+ #getCachedRuntimeResult(runtimeId, method, query) {
298
+ if (method === "getSnapshot")
299
+ return this.#store.getCachedSnapshot(runtimeId);
300
+ if (method === "getEvents")
301
+ return this.#store.getCachedEvents(runtimeId, query);
302
+ if (method === "getTargets")
303
+ return this.#store.getCachedTargets(runtimeId, query);
304
+ if (method === "getActions")
305
+ return this.#store.getCachedActions(runtimeId, query);
306
+ return undefined;
307
+ }
308
+ async #waitForCachedTarget(runtimeId, targetId, status, where, timeout = 5000) {
309
+ const deadline = Date.now() + timeout;
310
+ let snapshot = this.#store.getCachedSnapshot(runtimeId);
311
+ let target = snapshot?.targets[targetId];
312
+ while (Date.now() <= deadline) {
313
+ if (matchesRuntimeCondition(target, {
314
+ id: targetId,
315
+ status,
316
+ ...(where === undefined ? {} : { where })
317
+ })) {
318
+ return createWaitSuccess(targetId, status, where, snapshot, target);
319
+ }
320
+ await sleep(50);
321
+ snapshot = this.#store.getCachedSnapshot(runtimeId);
322
+ target = snapshot?.targets[targetId];
323
+ }
324
+ return {
325
+ success: false,
326
+ condition: {
327
+ id: targetId,
328
+ status,
329
+ ...(where === undefined ? {} : { where })
330
+ },
331
+ snapshot,
332
+ reason: target === undefined ? "Target is not registered." : `Timed out waiting for "${targetId}" to reach "${status}".`
333
+ };
334
+ }
335
+ }
336
+ function createWaitSuccess(targetId, status, where, snapshot, target) {
337
+ return {
338
+ success: true,
339
+ condition: {
340
+ id: targetId,
341
+ status,
342
+ ...(where === undefined ? {} : { where })
343
+ },
344
+ snapshot,
345
+ target
346
+ };
347
+ }
348
+ function sleep(ms) {
349
+ return new Promise((resolve) => {
350
+ setTimeout(resolve, ms);
351
+ });
352
+ }
353
+ function isServerRuntimeSyncPayload(value) {
354
+ if (!isRecord(value))
355
+ return false;
356
+ if (typeof value.runtimeId !== "string" || value.runtimeId.length === 0)
357
+ return false;
358
+ if (typeof value.url !== "string" || value.url.length === 0)
359
+ return false;
360
+ if (value.sessionId !== undefined && typeof value.sessionId !== "string")
361
+ return false;
362
+ if (value.renderId !== undefined && typeof value.renderId !== "string")
363
+ return false;
364
+ if (value.source !== undefined && typeof value.source !== "string")
365
+ return false;
366
+ if (value.targets !== undefined && !Array.isArray(value.targets))
367
+ return false;
368
+ if (value.snapshot !== undefined && !isRecord(value.snapshot))
369
+ return false;
370
+ if (value.events !== undefined && !isRecord(value.events))
371
+ return false;
372
+ if (value.actions !== undefined && !Array.isArray(value.actions))
373
+ return false;
374
+ return true;
375
+ }
376
+ function parseWhereBody(body) {
377
+ if (!("where" in body)) {
378
+ return undefined;
379
+ }
380
+ if (!Array.isArray(body.where)) {
381
+ throw new BridgeHttpError(400, "invalid_wait_for_body", "where must be an array.");
382
+ }
383
+ return body.where.map((item) => {
384
+ if (!isRecord(item) || typeof item.path !== "string" || item.path.length === 0 || !("equals" in item)) {
385
+ throw new BridgeHttpError(400, "invalid_wait_for_body", "where entries must include path and equals.");
386
+ }
387
+ return {
388
+ path: item.path,
389
+ equals: item.equals
390
+ };
391
+ });
392
+ }
393
+ class ServerSentEventStream {
394
+ #response;
395
+ constructor(response) {
396
+ this.#response = response;
397
+ }
398
+ send(event, data) {
399
+ this.#response.write(`event: ${event}\n`);
400
+ this.#response.write(`data: ${JSON.stringify(data)}\n\n`);
401
+ }
402
+ close() {
403
+ this.#response.end();
404
+ }
405
+ }
406
+ function isBridgeRuntimeResponse(value) {
407
+ if (value === null || typeof value !== "object")
408
+ return false;
409
+ const response = value;
410
+ return typeof response.success === "boolean";
411
+ }
412
+ function parsePayloadQuery(value) {
413
+ if (value === null || value.length === 0)
414
+ return undefined;
415
+ let parsed;
416
+ try {
417
+ parsed = JSON.parse(value);
418
+ }
419
+ catch {
420
+ throw new BridgeHttpError(400, "invalid_payload", "payload query must be valid JSON.");
421
+ }
422
+ if (!isRecord(parsed)) {
423
+ throw new BridgeHttpError(400, "invalid_payload", "payload must be a JSON object.");
424
+ }
425
+ return parsed;
426
+ }
427
+ function getPayload(body) {
428
+ if (body === undefined)
429
+ return undefined;
430
+ if (!isRecord(body)) {
431
+ throw new BridgeHttpError(400, "invalid_payload", "Request body must be a JSON object.");
432
+ }
433
+ if ("payload" in body) {
434
+ const payload = body.payload;
435
+ if (payload === undefined)
436
+ return undefined;
437
+ if (!isRecord(payload)) {
438
+ throw new BridgeHttpError(400, "invalid_payload", "payload must be a JSON object.");
439
+ }
440
+ return payload;
441
+ }
442
+ return body;
443
+ }
444
+ function parseTimeoutOptions(searchParams) {
445
+ const value = searchParams.get("timeout");
446
+ if (value === null)
447
+ return undefined;
448
+ return {
449
+ timeout: parseTimeout(value)
450
+ };
451
+ }
452
+ function parseTimeoutBody(body) {
453
+ const timeout = body.timeout;
454
+ if (timeout === undefined)
455
+ return undefined;
456
+ if (typeof timeout !== "number") {
457
+ throw new BridgeHttpError(400, "invalid_timeout", "timeout must be a number.");
458
+ }
459
+ return {
460
+ timeout: normalizeTimeout(timeout)
461
+ };
462
+ }
463
+ function parseTimeout(value) {
464
+ return normalizeTimeout(Number(value));
465
+ }
466
+ function normalizeTimeout(value) {
467
+ if (!Number.isFinite(value) || value < 0) {
468
+ throw new BridgeHttpError(400, "invalid_timeout", "timeout must be a non-negative number.");
469
+ }
470
+ return Math.floor(value);
471
+ }
472
+ function getRequestTimeout(timeout) {
473
+ if (timeout === undefined)
474
+ return undefined;
475
+ return timeout + 1000;
476
+ }
477
+ function getStringField(body, name) {
478
+ const value = body[name];
479
+ return typeof value === "string" && value.length > 0 ? value : undefined;
480
+ }
481
+ function normalizeOptionalQuery(value) {
482
+ return value === null || value.length === 0 ? undefined : value;
483
+ }
484
+ function getOpenRuntimeSessionIdFromUrl(input) {
485
+ try {
486
+ const sessionId = new URL(input).searchParams.get(OPEN_RUNTIME_SESSION_QUERY_PARAM);
487
+ return sessionId === null || sessionId.length === 0 ? undefined : sessionId;
488
+ }
489
+ catch {
490
+ return undefined;
491
+ }
492
+ }
493
+ function isRecord(value) {
494
+ return value !== null && typeof value === "object" && !Array.isArray(value);
495
+ }
496
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export type BridgeRuntimeStatus = "server" | "connected" | "disconnected";
2
+ export interface BridgeRuntimeInfo {
3
+ runtimeId: string;
4
+ url: string;
5
+ sessionId?: string;
6
+ renderId?: string;
7
+ source?: string;
8
+ pageInstanceId?: string;
9
+ status: BridgeRuntimeStatus;
10
+ connectedAt: number;
11
+ lastSeenAt: number;
12
+ disconnectedAt?: number;
13
+ }
14
+ export interface BridgeListenOptions {
15
+ port?: number;
16
+ hostname?: string;
17
+ }
18
+ export interface BridgeServerAddress {
19
+ port: number;
20
+ hostname: string;
21
+ url: string;
22
+ }
23
+ export interface BridgeServer {
24
+ listen(options?: BridgeListenOptions): Promise<BridgeServerAddress>;
25
+ close(): Promise<void>;
26
+ address(): BridgeServerAddress | undefined;
27
+ }
28
+ export interface CreateBridgeServerOptions {
29
+ clock?: {
30
+ now(): number;
31
+ };
32
+ commandTimeout?: number;
33
+ idGenerator?: () => string;
34
+ }
35
+ export interface BridgeErrorBody {
36
+ error: {
37
+ message: string;
38
+ code?: string;
39
+ };
40
+ }
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,mBAAmB,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE;QACN,GAAG,IAAI,MAAM,CAAC;KACf,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}