scoundrel-remote-eval 1.0.20 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,9 +24,8 @@ await clientWebSocket.waitForOpened()
24
24
  const client = new Client(clientWebSocket)
25
25
 
26
26
  const math = await client.import("math")
27
- const pi = await math.readAttributeWithReference("pi")
28
- const cosOfPi = await math.callMethod("cos", {returnReference: true}, pi)
29
- const result = await cosOfPi.serialize()
27
+ const pi = await math.pi
28
+ const result = await (await math.cos(pi)).__serialize()
30
29
 
31
30
  expect(result).toEqual(-1)
32
31
 
@@ -34,29 +33,45 @@ client.close()
34
33
  pythonWebSocketRunner.close()
35
34
  ```
36
35
 
37
- ## Client and reference examples
36
+ ## Client and proxy examples
38
37
 
39
38
  Create remote objects, call methods, and fetch attributes:
40
39
 
41
40
  ```js
42
- const arrayRef = await client.newObjectWithReference("Array")
43
- await arrayRef.callMethod("push", "one", "two")
44
- const joined = await arrayRef.callMethod("join", ", ")
41
+ const array = await client.newObject("Array")
42
+ await array.push("one")
43
+ await array.push("two")
44
+ const joined = await (await array.join(", ")).__serialize()
45
45
  expect(joined).toEqual("one, two")
46
46
 
47
- const lengthRef = await arrayRef.callMethod("push", {returnReference: true}, "three")
48
- const length = await lengthRef.serialize()
49
- expect(length).toEqual(3)
47
+ const length = await array.length
48
+ expect(length).toEqual(2)
50
49
  ```
51
50
 
52
- Read attributes directly or as references:
51
+ `newObject`, `import`, and `getObject` return proxies by default; use `newObjectReference`/`newObjectResult`, `importReference`/`importResult`, and `getObjectReference`/`getObjectResult` when you need a `Reference` or serialized result.
52
+
53
+ ```js
54
+ const arrayRef = await client.newObjectReference("Array")
55
+ const emptyArray = await client.newObjectResult("Array")
56
+ ```
57
+
58
+ Read attributes directly or as proxies:
53
59
 
54
60
  ```js
55
61
  const math = await client.import("math")
56
- const piRef = await math.readAttributeWithReference("pi")
62
+ const pi = await math.pi
63
+ const e = await math.E
64
+ expect([pi, e].every((value) => typeof value === "number")).toEqual(true)
65
+ ```
66
+
67
+ Reference variant (when you need to serialize):
68
+
69
+ ```js
70
+ const math = await client.importReference("math")
71
+ const piRef = await math.readAttributeReference("pi")
57
72
  const pi = await piRef.serialize()
58
73
 
59
- const e = await math.readAttribute("E")
74
+ const e = await math.readAttributeResult("E")
60
75
  expect([pi, e].every((value) => typeof value === "number")).toEqual(true)
61
76
  ```
62
77
 
@@ -65,13 +80,22 @@ Fetch globally available or registered objects:
65
80
  ```js
66
81
  client.registerObject("config", {mode: "test"})
67
82
 
68
- const configRef = await client.getObject("config")
69
- const config = await configRef.serialize()
83
+ const configProxy = await client.getObject("config")
84
+ const config = await configProxy.__serialize()
70
85
  expect(config).toEqual({mode: "test"})
71
86
 
72
87
  client.unregisterObject("config")
73
88
  ```
74
89
 
90
+ Reference/result variants:
91
+
92
+ ```js
93
+ const configRef = await client.getObjectReference("config")
94
+ const config = await configRef.serialize()
95
+
96
+ const configResult = await client.getObjectResult("config")
97
+ ```
98
+
75
99
  ## Serialization
76
100
 
77
101
  `Reference#serialize()` only supports JSON-safe values (strings, numbers, booleans, null, plain objects, and arrays). It throws an error if the value contains functions, symbols, bigints, class instances/non-plain objects, circular references, non-finite numbers, or other unsupported types.
@@ -88,7 +112,7 @@ Application frames, including paths that contain `/internal/` within your projec
88
112
 
89
113
  ## Calling static methods on classes
90
114
 
91
- You can ask for a reference to a class (either globally available or registered with `registerClass`) and call its static methods:
115
+ You can ask for a proxy to a class (either globally available or registered with `registerClass`) and call its static methods:
92
116
 
93
117
  ```js
94
118
  class TestMath {
@@ -98,13 +122,54 @@ class TestMath {
98
122
  // Make the class available for lookups (for example, on a server-controlled client)
99
123
  client.registerClass("TestMath", TestMath)
100
124
 
101
- // Later, fetch the class reference and call its static method
102
- const testMath = await client.getObject("TestMath")
103
- const sum = await testMath.callMethod("add", 2, 3)
125
+ // Later, fetch the class proxy and call its static method
126
+ const testMathProxy = await client.getObject("TestMath")
127
+ const sum = await (await testMathProxy.add(2, 3)).__serialize()
104
128
 
105
129
  expect(sum).toEqual(5)
106
130
  ```
107
131
 
132
+ ## Manual proxy wrapping (optional)
133
+
134
+ The library returns proxies by default. If you need to wrap an existing `Reference`, you can use the helper directly:
135
+
136
+ ```js
137
+ import referenceProxy from "scoundrel-remote-eval/src/client/reference-proxy.js"
138
+
139
+ const arrayRef = await client.newObjectReference("Array")
140
+ const array = referenceProxy(arrayRef)
141
+
142
+ await array.push("one")
143
+ await array.push("two")
144
+ const firstValue = await array[0]
145
+ const length = await array.length
146
+ ```
147
+
148
+ ## Explicit return helpers
149
+
150
+ Use the explicit helpers when you need a definite return type:
151
+
152
+ - `callMethod(...)`: proxy
153
+ - `callMethodReference(...)`: `Reference`
154
+ - `callMethodResult(...)`: raw result
155
+ - `readAttribute(...)`: proxy
156
+ - `readAttributeReference(...)`: `Reference`
157
+ - `readAttributeResult(...)`: raw result
158
+
159
+ Examples:
160
+
161
+ ```js
162
+ const array = await client.newObject("Array")
163
+ const lengthProxy = await array.push("three")
164
+ const length = await lengthProxy.__serialize()
165
+
166
+ const arrayRef = await client.newObjectReference("Array")
167
+ const lengthRef = await arrayRef.callMethodReference("push", "four")
168
+ const lengthValue = await lengthRef.serialize()
169
+
170
+ const rawLength = await arrayRef.callMethodResult("push", "five")
171
+ ```
172
+
108
173
  ## Server-to-client control
109
174
 
110
175
  By default, a client refuses server-initiated commands. Enable it by passing `enableServerControl: true` when constructing the client:
@@ -145,8 +210,8 @@ client.registerClass("TestGreeter", TestGreeter)
145
210
  client.registerObject("testSettings", {prefix: "Hello"})
146
211
 
147
212
  const serverClient = server.getClients()[0] // from your ScoundrelServer instance
148
- const greetingRef = await serverClient.eval("(() => { const greeter = new TestGreeter(testSettings.prefix); return greeter.greet('World') })()")
149
- const greeting = await greetingRef.serialize()
213
+ const greetingProxy = await serverClient.eval("(() => { const greeter = new TestGreeter(testSettings.prefix); return greeter.greet('World') })()")
214
+ const greeting = await greetingProxy.__serialize()
150
215
 
151
216
  expect(greeting).toEqual("Hello World")
152
217
  ```
@@ -158,15 +223,18 @@ client.unregisterClass("TestGreeter")
158
223
  client.unregisterObject("testSettings")
159
224
  ```
160
225
 
161
- `eval` defaults to returning a reference, but you can request the raw result:
226
+ `eval` returns a proxy by default, but you can request the raw result or a reference:
162
227
 
163
228
  ```js
164
- const result = await serverClient.eval({returnResult: true}, "(() => 1 + 1)()")
229
+ const proxyResult = await serverClient.eval("(() => ({value: 42}))()")
230
+ const value = await proxyResult.__serialize()
231
+
232
+ const result = await serverClient.evalResult("(() => 1 + 1)()")
165
233
  expect(result).toEqual(2)
166
234
  ```
167
235
 
168
- Use `eval` with `returnReference` if you need to be explicit:
236
+ Use `evalReference` if you need a reference:
169
237
 
170
238
  ```js
171
- const greetingRef = await serverClient.eval({returnReference: true}, "(() => { return 'Hello' })()")
239
+ const greetingRef = await serverClient.evalReference("(() => { return 'Hello' })()")
172
240
  ```
@@ -1,7 +1,8 @@
1
+ /** @typedef {import("./reference-proxy.js").Proxy} Proxy */
1
2
  /**
2
- * @typedef {{returnReference?: boolean, returnResult?: boolean}} ReturnOptions
3
- * @typedef {ReturnOptions & {returnResult?: false}} ReturnReferenceOptions
4
- * @typedef {ReturnOptions & {returnResult: true, returnReference?: false}} ReturnResultOptions
3
+ * @typedef {{reference?: boolean, result?: boolean, proxy?: boolean}} ReturnOptions
4
+ * @typedef {ReturnOptions & {result?: false}} ReturnReferenceOptions
5
+ * @typedef {ReturnOptions & {result: true, reference?: false}} ReturnResultOptions
5
6
  */
6
7
  export default class Client {
7
8
  /**
@@ -48,9 +49,9 @@ export default class Client {
48
49
  * @param {string} methodName Method name to invoke
49
50
  * @param {ReturnReferenceOptions} options Options for the call
50
51
  * @param {...any} args Arguments to pass to the method
51
- * @returns {Promise<Reference>} Reference to the returned value
52
+ * @returns {Promise<Reference | Proxy>} Reference or proxy to the returned value
52
53
  */
53
- callMethodOnReference(referenceId: number, methodName: string, options: ReturnReferenceOptions, ...args: any[]): Promise<Reference>;
54
+ callMethodOnReference(referenceId: number, methodName: string, options: ReturnReferenceOptions, ...args: any[]): Promise<Reference | Proxy>;
54
55
  /**
55
56
  * Calls a method on a reference and returns the result directly
56
57
  * @overload
@@ -70,53 +71,80 @@ export default class Client {
70
71
  */
71
72
  callMethodOnReferenceWithReference(referenceId: number, methodName: string, ...args: any[]): Promise<Reference>;
72
73
  /**
73
- * Evaluates a string and returns a reference or result
74
- * @overload
74
+ * Evaluates a string and returns a proxy
75
75
  * @param {string} evalString Code to evaluate
76
- * @returns {Promise<Reference>} Reference to the evaluated value
76
+ * @returns {Promise<Proxy>} Proxy to the evaluated value
77
77
  */
78
- eval(evalString: string): Promise<Reference>;
78
+ eval(evalString: string): Promise<Proxy>;
79
79
  /**
80
- * Evaluates a string and returns a reference or result
81
- * @overload
82
- * @param {ReturnReferenceOptions} options Eval options
80
+ * Evaluates a string and returns a reference
83
81
  * @param {string} evalString Code to evaluate
84
82
  * @returns {Promise<Reference>} Reference to the evaluated value
85
83
  */
86
- eval(options: ReturnReferenceOptions, evalString: string): Promise<Reference>;
84
+ evalReference(evalString: string): Promise<Reference>;
87
85
  /**
88
- * Evaluates a string and returns a reference or result
89
- * @overload
90
- * @param {ReturnResultOptions} options Eval options
86
+ * Evaluates a string and returns the result directly
91
87
  * @param {string} evalString Code to evaluate
92
88
  * @returns {Promise<any>} Evaluated result
93
89
  */
94
- eval(options: ReturnResultOptions, evalString: string): Promise<any>;
90
+ evalResult(evalString: string): Promise<any>;
95
91
  /**
96
- * Evaluates a string and returns a new reference
97
- * @param {string} evalString Code to evaluate
98
- * @returns {Promise<Reference>} Reference to the evaluated value
92
+ * Imports a module and returns a proxy to it
93
+ * @param {string} importName Module name to import
94
+ * @returns {Promise<Proxy>} Proxy to the module
99
95
  */
100
- evalWithReference(evalString: string): Promise<Reference>;
96
+ import(importName: string): Promise<Proxy>;
101
97
  /**
102
98
  * Imports a module and returns a reference to it
103
99
  * @param {string} importName Module name to import
104
100
  * @returns {Promise<Reference>} Reference to the module
105
101
  */
106
- import(importName: string): Promise<Reference>;
102
+ importReference(importName: string): Promise<Reference>;
107
103
  /**
108
- * Gets a registered object by name
104
+ * Imports a module and returns the serialized result
105
+ * @param {string} importName Module name to import
106
+ * @returns {Promise<any>} Serialized result for the module
107
+ */
108
+ importResult(importName: string): Promise<any>;
109
+ /**
110
+ * Gets a registered object by name and returns a proxy
111
+ * @param {string} objectName Registered object name
112
+ * @returns {Promise<Proxy>} Proxy to the object
113
+ */
114
+ getObject(objectName: string): Promise<Proxy>;
115
+ /**
116
+ * Gets a registered object by name and returns a reference
109
117
  * @param {string} objectName Registered object name
110
118
  * @returns {Promise<Reference>} Reference to the object
111
119
  */
112
- getObject(objectName: string): Promise<Reference>;
120
+ getObjectReference(objectName: string): Promise<Reference>;
113
121
  /**
114
- * Spawns a new reference to an object
122
+ * Gets a registered object by name and returns the serialized result
123
+ * @param {string} objectName Registered object name
124
+ * @returns {Promise<any>} Serialized result for the object
125
+ */
126
+ getObjectResult(objectName: string): Promise<any>;
127
+ /**
128
+ * Spawns a new reference to an object and returns a proxy
129
+ * @param {string} className Class name to construct
130
+ * @param {...any} args Constructor arguments
131
+ * @returns {Promise<Proxy>} Proxy to the new instance
132
+ */
133
+ newObject(className: string, ...args: any[]): Promise<Proxy>;
134
+ /**
135
+ * Spawns a new reference to an object and returns a reference
115
136
  * @param {string} className Class name to construct
116
137
  * @param {...any} args Constructor arguments
117
138
  * @returns {Promise<Reference>} Reference to the new instance
118
139
  */
119
- newObjectWithReference(className: string, ...args: any[]): Promise<Reference>;
140
+ newObjectReference(className: string, ...args: any[]): Promise<Reference>;
141
+ /**
142
+ * Spawns a new reference to an object and returns the serialized result
143
+ * @param {string} className Class name to construct
144
+ * @param {...any} args Constructor arguments
145
+ * @returns {Promise<any>} Serialized result for the new instance
146
+ */
147
+ newObjectResult(className: string, ...args: any[]): Promise<any>;
120
148
  /**
121
149
  * Checks if the input is a plain object
122
150
  * @param {any} input Value to inspect
@@ -147,18 +175,65 @@ export default class Client {
147
175
  parseArg(arg: any): any;
148
176
  /**
149
177
  * Reads an attribute on a reference and returns a new reference
178
+ * @overload
150
179
  * @param {number} referenceId Reference identifier
151
- * @param {string} attributeName Attribute name to read
180
+ * @param {string | number} attributeName Attribute name to read
152
181
  * @returns {Promise<Reference>} Reference to the attribute value
153
182
  */
154
- readAttributeOnReferenceWithReference(referenceId: number, attributeName: string): Promise<Reference>;
183
+ readAttributeOnReferenceWithReference(referenceId: number, attributeName: string | number): Promise<Reference>;
184
+ /**
185
+ * Reads an attribute on a reference and returns a new reference
186
+ * @overload
187
+ * @param {number} referenceId Reference identifier
188
+ * @param {string | number} attributeName Attribute name to read
189
+ * @param {ReturnReferenceOptions} optionsOrArg Options for the read
190
+ * @returns {Promise<Reference | Proxy>} Reference or proxy to the attribute value
191
+ */
192
+ readAttributeOnReferenceWithReference(referenceId: number, attributeName: string | number, optionsOrArg: ReturnReferenceOptions): Promise<Reference | Proxy>;
193
+ /**
194
+ * Reads an attribute on a reference and returns the result directly
195
+ * @overload
196
+ * @param {number} referenceId Reference identifier
197
+ * @param {string | number} attributeName Attribute name to read
198
+ * @param {ReturnResultOptions} optionsOrArg Options for the read
199
+ * @returns {Promise<any>} Attribute value
200
+ */
201
+ readAttributeOnReferenceWithReference(referenceId: number, attributeName: string | number, optionsOrArg: ReturnResultOptions): Promise<any>;
155
202
  /**
156
203
  * Reads an attribute on a reference and returns the result directly
204
+ * @overload
205
+ * @param {number} referenceId Reference identifier
206
+ * @param {string | number} attributeName Attribute name to read
207
+ * @returns {Promise<any>} Attribute value
208
+ */
209
+ readAttributeOnReference(referenceId: number, attributeName: string | number): Promise<any>;
210
+ /**
211
+ * Reads an attribute on a reference and returns a new reference
212
+ * @overload
213
+ * @param {number} referenceId Reference identifier
214
+ * @param {ReturnReferenceOptions} options Options for the read
215
+ * @param {string | number} attributeName Attribute name to read
216
+ * @returns {Promise<Reference | Proxy>} Reference or proxy to the attribute value
217
+ */
218
+ readAttributeOnReference(referenceId: number, options: ReturnReferenceOptions, attributeName: string | number): Promise<Reference | Proxy>;
219
+ /**
220
+ * Reads an attribute on a reference and returns a result or reference
221
+ * @overload
222
+ * @param {number} referenceId Reference identifier
223
+ * @param {ReturnOptions} options Options for the read
224
+ * @param {string | number} attributeName Attribute name to read
225
+ * @returns {Promise<Reference | Proxy | any>} Attribute value or reference
226
+ */
227
+ readAttributeOnReference(referenceId: number, options: ReturnOptions, attributeName: string | number): Promise<Reference | Proxy | any>;
228
+ /**
229
+ * Reads an attribute on a reference and returns the result directly
230
+ * @overload
157
231
  * @param {number} referenceId Reference identifier
158
- * @param {string} attributeName Attribute name to read
232
+ * @param {ReturnResultOptions} options Options for the read
233
+ * @param {string | number} attributeName Attribute name to read
159
234
  * @returns {Promise<any>} Attribute value
160
235
  */
161
- readAttributeOnReference(referenceId: number, attributeName: string): Promise<any>;
236
+ readAttributeOnReference(referenceId: number, options: ReturnResultOptions, attributeName: string | number): Promise<any>;
162
237
  /**
163
238
  * Registers a class by name
164
239
  * @param {string} className Class name to register
@@ -231,16 +306,18 @@ export default class Client {
231
306
  spawnReference(id: string): Reference;
232
307
  enableServerControl(): void;
233
308
  }
309
+ export type Proxy = import("./reference-proxy.js").Proxy;
234
310
  export type ReturnOptions = {
235
- returnReference?: boolean;
236
- returnResult?: boolean;
311
+ reference?: boolean;
312
+ result?: boolean;
313
+ proxy?: boolean;
237
314
  };
238
315
  export type ReturnReferenceOptions = ReturnOptions & {
239
- returnResult?: false;
316
+ result?: false;
240
317
  };
241
318
  export type ReturnResultOptions = ReturnOptions & {
242
- returnResult: true;
243
- returnReference?: false;
319
+ result: true;
320
+ reference?: false;
244
321
  };
245
322
  import Reference from "./reference.js";
246
323
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.js"],"names":[],"mappings":"AAUA;;;;GAIG;AACH;IACE;;;;OAIG;IACH,qBAHW,GAAG,YACH;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAC,EA2BzC;IAxBC,aAAsB;IAGtB,kCAAkC;IAClC,kBADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACJ;IAC1B,qBAA0B;IAC1B,8BAA8B;IAE9B,kCAAkC;IAClC,UADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACZ;IAElB,kCAAkC;IAClC,UADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACZ;IAElB,wCAAwC;IACxC,YADW,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAChB;IAEpB,kCAAkC;IAClC,SADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACb;IAEjB,qBAAqB;IAErB,sBAAsB;IACtB,sBADW,OAAO,CAC8C;IAGlE;;OAEG;IACH,uBAEC;;;;;;;;;IAIE,mCACQ,MAAM,cACN,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CACxB;;;;;;;;;;IAGE,mCACQ,MAAM,cACN,MAAM,WACN,sBAAsB,WAClB,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAC9B;;;;;;;;;;IAGE,mCACQ,MAAM,cACN,MAAM,WACN,mBAAmB,WACf,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CACxB;IAiED;;;;;;OAMG;IACH,gDALW,MAAM,cACN,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAK9B;;;;;;;IAIE,iBACQ,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAC9B;;;;;;;;IAGE,cACQ,sBAAsB,cACtB,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAC9B;;;;;;;;IAGE,cACQ,mBAAmB,cACnB,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CACxB;IA6DD;;;;OAIG;IACH,8BAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAK9B;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAe9B;IAED;;;;OAIG;IACH,sBAHW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAY9B;IAED;;;;;OAKG;IACH,kCAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAe9B;IAED;;;;OAIG;IACH,qBAHW,GAAG,GACD,OAAO,CAQnB;IAED;;;;;;;;OAQG;IACH,YAAa,0EANV;QAAqB,OAAO,EAApB,MAAM;QACO,UAAU,EAAvB,MAAM;QACI,IAAI,EAAd,GAAG;QACW,KAAK,GAAnB,MAAM;QACQ,UAAU,GAAxB,MAAM;KAEkE,UAuPlF;IAED;;;;OAIG;IACH,cAHW,GAAG,GACD,GAAG,CAwBf;IAED;;;;;OAKG;IACH,mDAJW,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAW9B;IAED;;;;;OAKG;IACH,sCAJW,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CASxB;IAED;;;;OAIG;IACH,yBAHW,MAAM,iBACN,GAAG,QAMb;IAED;;;OAGG;IACH,2BAFW,MAAM,QAMhB;IAED;;;;OAIG;IACH,+BAHW,MAAM,GACJ,GAAG,CAIf;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,GAAG,CAIf;IAED;;;;OAIG;IACH,2BAHW,MAAM,kBACN,GAAG,QAMb;IAED;;;OAGG;IACH,6BAFW,MAAM,QAMhB;IAED;;;;OAIG;IACH,iCAHW,MAAM,GACJ,GAAG,CAIf;IAED;;;;OAIG;IACH,4BAHW,MAAM,QACN,GAAG,QAIb;IAED;;;;;OAKG;IACH,qBAJW,MAAM,QACN,GAAG,GACD,OAAO,CAAC,GAAG,CAAC,CAkBxB;IAED;;;OAGG;IACH,WAFW,GAAG,QAIb;IAED;;;;OAIG;IACH,gCAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAMxB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,SAAS,CAQrB;IAED,4BAEC;CACF;4BA3vBY;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAC;qCACnD,aAAa,GAAG;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAC;kCACtC,aAAa,GAAG;IAAC,YAAY,EAAE,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,KAAK,CAAA;CAAC;sBAVpD,gBAAgB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.js"],"names":[],"mappings":"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"}