@confect/js 10.0.0-next.2 → 10.0.0-next.20

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/CHANGELOG.md CHANGED
@@ -1,5 +1,357 @@
1
1
  # @confect/js
2
2
 
3
+ ## 10.0.0-next.20
4
+
5
+ ## 10.0.0-next.19
6
+
7
+ ### Minor Changes
8
+
9
+ - c1087eb: Add `@confect/foldkit` — client-side bindings for [Foldkit](https://foldkit.dev) apps. The package maps Confect's client surface onto Foldkit's integration seams: `Client.layer` provides the scoped WebSocket client and pagination-session allocator through an application's `resources`, `Subscription.reactiveQuery` builds a subscription entry that opens, re-opens, and closes a reactive query as `Option`-wrapped args derived from the Model change, and `Command.query` / `Command.mutation` / `Command.action` build Command definitions whose args are the ref's args and whose Messages are declared with the same `messages` field Foldkit's own `Command.define` takes. Every failure is folded into a Message via the required `onError` handler, so Command and Subscription error channels stay `never` as Foldkit requires.
10
+
11
+ ```ts
12
+ import * as Confect from "@confect/foldkit";
13
+ import * as Schema from "effect/Schema";
14
+ import * as Subscription from "foldkit/subscription";
15
+
16
+ const SaveNote = Confect.Command.mutation(
17
+ "SaveNote",
18
+ refs.public.notes.insert,
19
+ {
20
+ messages: [SucceededSaveNote, FailedSaveNote],
21
+ onSuccess: (noteId) => SucceededSaveNote({ noteId }),
22
+ onError: (error) => FailedSaveNote({ message: String(error) }),
23
+ },
24
+ );
25
+
26
+ const subscriptions = Subscription.make<
27
+ Model,
28
+ Message,
29
+ Confect.Client.Client
30
+ >()(() => ({
31
+ note: Confect.Subscription.reactiveQuery<Model>()(refs.public.notes.get, {
32
+ args: (model) => Option.map(model.noteId, (noteId) => ({ noteId })),
33
+ onSuccess: (note) => SucceededGetNote({ note }),
34
+ onError: (error) => FailedGetNote({ message: String(error) }),
35
+ }),
36
+ }));
37
+ ```
38
+
39
+ The Command factories accept Foldkit's `interrupt` option — `true` keys invocations by the Command name, `{ keyFields, toKey }` by a part derived from the ref's args — and the returned definition gains the `Interrupt` constructor for stopping in-flight invocations. Factory-built definitions instantiate Foldkit's own definition interfaces, so they are accepted wherever Foldkit accepts a Command definition — including Story/Scene `Command.resolve` and `expectExact` matchers. `Command.queryEffect`, `Command.mutationEffect`, and `Command.actionEffect` return execute bodies for hand-written `Command.define` calls (custom args schemas, multi-call Commands), and `Subscription.reactiveQueryStream` is the `dependenciesToStream` escape hatch for hand-written subscription entries.
40
+
41
+ `PaginatedQuery` navigates a paginated query one page at a time over Convex's cursor pagination. `PaginatedQuery.make(ref)` returns the Model and settlement schemas. Its states use Foldkit `AsyncData`'s vocabulary and semantics: `Idle`, `Loading`, `Refreshing`, `Success`, `Failure`, and `Stale`. Failed settlements preserve the complete error contract: declared function and middleware errors are wrapped as `FunctionError`, Convex's invalid-cursor pseudo-error is normalized to the new `@confect/core/PaginationError.InvalidCursor`, and `WebSocketClientError` and `SchemaError` are carried directly. `settle` accepts a request-bound `Result`, turns a failed refresh into `Stale`, automatically resets an invalid cursor, and ignores successes or failures from superseded requests. All machine operations (`init`, `reinitialize`, `reset`, `close`, `next`, `prev`, and `first`) remain pure.
42
+
43
+ `Subscription.paginatedQuery` keeps exactly one live, reactive page subscription in sync with the machine and emits one `onSettled` Message shape for either outcome. It allocates Convex's pagination `id` internally and returns it with the first settlement, so session allocation is not a separate Command or application Message. Installing that id is keep-alive-equivalent and does not restart the subscription. Query errors are emitted as values without closing the underlying Convex subscription, allowing a later successful result to recover naturally. Each request supports `maximumRowsRead` and `maximumBytesRead` and uses `initialNumItems` for the initial page and split heuristic. Page splits remain transparent, the last complete page stays visible during navigation and after refresh failure, and an empty terminal page automatically retreats to the preceding page.
44
+
45
+ ```ts
46
+ const Notes = Confect.PaginatedQuery.make(refs.public.notes.paginate);
47
+
48
+ // Model: notes: Notes.schema
49
+ // Initial Model value: notes: Notes.idle
50
+ // Message: settlement: Notes.settlement
51
+ // update after matching Idle: Notes.init(idle, { channel }, { initialNumItems: 20 })
52
+
53
+ const subscriptions = Subscription.make<
54
+ Model,
55
+ Message,
56
+ Confect.Client.Client
57
+ >()(() => ({
58
+ notesPage: Confect.Subscription.paginatedQuery<Model>()(Notes, {
59
+ state: (model) => model.notes,
60
+ onSettled: (settlement) => SettledGetNotesPage({ settlement }),
61
+ }),
62
+ }));
63
+ ```
64
+
65
+ - aa7d903: Add per-module subpath exports to `@confect/js`, so `import * as WebSocketClient from "@confect/js/WebSocketClient"` and `import * as HttpClient from "@confect/js/HttpClient"` now resolve. The root import (`import { HttpClient, WebSocketClient } from "@confect/js"`) is unchanged.
66
+
67
+ ## 10.0.0-next.18
68
+
69
+ ## 10.0.0-next.17
70
+
71
+ ### Patch Changes
72
+
73
+ - 8e4962e: Raise the required `effect` peer version to `^4.0.0-rc.111` (from `^4.0.0-rc.110`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
74
+
75
+ No Confect API changed, and no call-site edits are needed. `rc.111` is a patch release of Effect with nothing removed or renamed, so upgrading is a matter of installing it alongside `@confect/*`.
76
+
77
+ ## 10.0.0-next.16
78
+
79
+ ### Major Changes
80
+
81
+ - Migrate to Effect v4. All `@confect/*` packages now require `effect@^4.0.0-beta.97`; `@effect/platform` and `@effect/cli` are no longer dependencies (their functionality moved into `effect` core and `effect/unstable/*`).
82
+
83
+ Breaking changes for users:
84
+
85
+ - **Schemas** follow Effect v4's Schema API: `Schema.Union([a, b])` (array form), `Schema.Literals([...])` for literal unions, `Schema.optionalKey` in place of `optionalWith({ exact: true })`, and checks like `Schema.String.check(Schema.isMaxLength(...))` in place of piped filters.
86
+ - **Option-returning functions** must use a codec with a serializable encoded form, such as `Schema.OptionFromNullOr(...)` — v4's `Schema.Option` encodes to an `Option` instance, which is not a Convex value.
87
+ - **Table schemas** may now be transformations (`Schema.decodeTo` chains, `Schema.encodeKeys`), branded structs, suspended schemas, or unions of these — Convex's system fields are carried through the whole encoding chain. Schemas that do not resolve to an object shape at every step (such as `Schema.Class`) are rejected with a descriptive error when the table is defined.
88
+ - **Clients**: decode failures surface as `SchemaError` rather than `ParseError` in `@confect/js` and `@confect/react`, and `@confect/react`'s `useMutation`/`useAction` handles with an `error` schema now resolve to `Result` (v4's replacement for `Either`).
89
+ - **HTTP** is now mounted through the renamed `HttpRouter` module (formerly `HttpApi`). `HttpRouter.make(routes)` takes a single route-registering `Layer` composed from Effect's own `effect/unstable/http` and `effect/unstable/httpapi` modules — `HttpApiBuilder.layer(api)` (with group handler layers supplied via `Layer.provide`; a missing group is a compile-time error), `HttpApiScalar.layer` for docs, `HttpRouter.add` for plain routes, and `HttpRouter.middleware(fn, { global: true })` for middleware, merged with `Layer.mergeAll`. The per-path-prefix record and its `api`/`apiLive`/`middleware`/`scalar` options are gone; Confect registers one catch-all Convex HTTP action at `/`, and plain Convex routes added to the returned router still take precedence. Handlers, middleware, and route-layer construction all run with Confect's Convex-aware `ConfigProvider` in context.
90
+ - **Node actions** use `effect/unstable/process` (`ChildProcessSpawner`) and `@effect/platform-node`'s `NodeServices` in place of `@effect/platform` `Command`/`NodeContext`.
91
+ - **Configuration**: Confect's Convex-aware `ConfigProvider` treats empty-string environment variables as missing values (matching Effect v4's built-in providers), so `Config.withDefault` and `Config.option` recover from them.
92
+ - **CLI**: a malformed `convex.json` now fails codegen with a descriptive error instead of being silently ignored.
93
+ - Confect queries no longer stub the global `Date.now`. Queries run with a `Clock` whose unsafe accessors return constants, so Effect-internal reads (log timestamps, spans) never evict a query from Convex's cache; explicit time reads — `Clock.currentTimeMillis`/`currentTimeNanos` or a raw `Date.now()` call — opt the query out and evict as they honestly should.
94
+
95
+ ### Patch Changes
96
+
97
+ - Raise the required `effect` peer version to `^4.0.0-beta.100` (from `^4.0.0-beta.99`).
98
+
99
+ This is a peer-range-only change with no consumer-visible API consequences. The `beta.100` release only touches `Cron` internals (month/weekday alias normalization, day/weekday rollover, and equality/hashing), CLI error message formatting (`InvalidValue` prefixes), and `Schema.toTaggedUnion` discriminants that Confect doesn't use.
100
+
101
+ - Raise the required `effect` peer version to `^4.0.0-beta.101` (from `^4.0.0-beta.100`).
102
+
103
+ This is a peer-range-only change with no consumer-visible API consequences. The `beta.101` release only touches fiber/concurrency internals (interrupt handling in concurrent traversal, stack frame annotations, `awaitAllChildren` linearization, `interruptibleMask` interrupt delivery), a `MutableList.filter` fix for empty buckets, a `Schema.Struct` required-readonly-field type display simplification, and an `HttpRouter.toWebHandler` middleware type-inference tightening that Confect doesn't need to accommodate.
104
+
105
+ - Raise the required `effect` peer version to `^4.0.0-beta.102` (from `^4.0.0-beta.101`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
106
+ - Raise the required `effect` peer version to `^4.0.0-beta.105` (from `^4.0.0-beta.102`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
107
+
108
+ `beta.103` separates wall-clock time from monotonic elapsed time: `Clock.Clock` now also requires `monotonicTimeNanos` and `monotonicTimeNanosUnsafe`, so a custom `Clock` provided to a Confect function has to supply both. Effects that measure elapsed time — `Effect.timed`, duration metrics, `Sink.withDuration` — read the monotonic accessors instead of the wall clock, and continue to report a zero duration inside queries and mutations, where Confect pins the unsafe accessors to constants to keep Convex's query cache from evicting on every logged span.
109
+
110
+ `beta.103` also moves synchronous Effect runs off `setImmediate`/`setTimeout` and onto the microtask queue, which Convex's query and mutation isolate permits. Confect no longer suppresses cooperative fiber yielding for the synchronous work it performs while your modules load — registration and schema-to-validator compilation — and relies on that scheduling instead. Neither the "Can't use `setTimeout` in queries and mutations" crash nor any other consumer-visible behavior changes, but this is the area to look at if module loading starts misbehaving.
111
+
112
+ `beta.104` renames Effect's schema error constructors to match their `Data` counterparts, which affects any error schema you declare for a Confect function:
113
+
114
+ **Before:**
115
+
116
+ ```ts
117
+ export class NoteNotFound extends Schema.TaggedErrorClass<NoteNotFound>()(
118
+ "NoteNotFound",
119
+ { noteId: Id("notes") },
120
+ ) {}
121
+ ```
122
+
123
+ **After:**
124
+
125
+ ```ts
126
+ export class NoteNotFound extends Schema.TaggedError<NoteNotFound>()(
127
+ "NoteNotFound",
128
+ { noteId: Id("notes") },
129
+ ) {}
130
+ ```
131
+
132
+ `Schema.ErrorClass` is likewise now `Schema.Error`; the schema for JavaScript `Error` instances that previously went by `Schema.Error` is now `Schema.ErrorInstance`, and `Schema.ErrorReviver` is now `Schema.ErrorInstanceReviver`. Confect's own error types — `DocumentDecodeError`, `BlobNotFoundError`, and the rest — are unchanged in name, shape, and message.
133
+
134
+ `beta.105` restructures how schema validation failures are reported, but not on the path Confect puts you on: decode and encode failures still surface as `Schema.SchemaError` with a formatted `message`, so error text from `@confect/js`, `@confect/react`, and document decoding is unchanged.
135
+
136
+ - Raise the required `effect` peer version to `^4.0.0-beta.106` (from `^4.0.0-beta.105`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
137
+
138
+ `beta.106` is a patch-only Effect release. Nothing in Confect's own API changes, and your table, argument, and returns schemas still compile to the same Convex validators.
139
+
140
+ One Effect change needs a call-site edit if you derive property-test generators from those schemas: `Schema.toArbitrary` now returns a factory that takes the `fast-check` module instead of returning an arbitrary directly, and `Schema.toArbitraryLazy` and the `{ report: true }` option are gone.
141
+
142
+ **Before:**
143
+
144
+ ```ts
145
+ const NoteArbitrary = Schema.toArbitrary(Note);
146
+ ```
147
+
148
+ **After:**
149
+
150
+ ```ts
151
+ import * as FastCheck from "fast-check";
152
+
153
+ const NoteArbitrary = Schema.toArbitrary(Note)(FastCheck);
154
+ ```
155
+
156
+ HTTP actions written against `HttpRouter` also inherit Effect's stricter multipart handling: a request that exceeds the configured part count, part size, or field size limits now stops being parsed at the limit rather than being read to completion first.
157
+
158
+ - Raise the required `effect` peer version to `^4.0.0-beta.107` (from `^4.0.0-beta.106`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
159
+
160
+ `beta.107` is a patch-only Effect release, so no Confect API changes and no call-site edits are needed — upgrade `effect` alongside `@confect/*` and everything you have written keeps compiling. Your table, argument, and returns schemas still produce the same Convex validators.
161
+
162
+ Two Effect fixes are worth knowing about if they touch your code. HTTP actions written with `HttpRouter` now collect uploaded file contents far faster on large multipart bodies, and a file part whose stream is cut short — because a parser limit was exceeded or the request body ended early — now fails instead of hanging. Separately, `Duration` values that are equal now hash equally, so a `Duration` used as a `HashMap` key or a `HashSet` member is found regardless of which constructor built it.
163
+
164
+ - Raise the required `effect` peer version to `^4.0.0-beta.98` (from `^4.0.0-beta.97`).
165
+
166
+ `effect`'s `SchemaError` is now exposed as its own public module (`effect/SchemaError`), which changes the import path TypeScript picks when Confect emits `.d.ts` declarations that reference `Schema.SchemaError` (for example in generated `services.d.ts`). Existing `Schema.SchemaError` / `Schema.isSchemaError` usage is unaffected — this is purely a declaration-emit detail that consumers relying on generated types may notice.
167
+
168
+ - Raise the required `effect` peer version to `^4.0.0-beta.99` (from `^4.0.0-beta.98`).
169
+
170
+ This is a peer-range-only change with no consumer-visible API consequences. The `beta.99` release only touches `Graph`, CLI (`Command`/`CliConfig`/wizard mode), `Tool` cloning, Redis script eval, and multipart parser internals that Confect doesn't use.
171
+
172
+ - Raise the required `effect` peer version to `^4.0.0-rc.108` (from `^4.0.0-beta.107`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise. Effect v4 has left beta for release candidates, so `effect@rc` is now the tag to install alongside `@confect/*`.
173
+
174
+ No Confect API changed, and no call-site edits are needed for Confect itself. One Effect change can reach your code: the standalone `effect/SchemaError` module is gone, and `SchemaError` is now exported from `Schema`. Confect still fails decoding with the same error, so this only matters if you name the type when handling it.
175
+
176
+ Before:
177
+
178
+ ```ts
179
+ import type { SchemaError } from "effect/SchemaError";
180
+ ```
181
+
182
+ After:
183
+
184
+ ```ts
185
+ import type { SchemaError } from "effect/Schema";
186
+ ```
187
+
188
+ Also worth knowing if you serve an `HttpApi`: a query parameter declared as an array now decodes correctly when a request supplies exactly one value for it.
189
+
190
+ One internal change rides along. Queries and mutations that run long enough to trigger a cooperative fiber yield now take that yield from Effect's own scheduler, which `rc.108` made usable inside Convex's isolate for the first time. The underlying microtask primitive is identical, so behavior should not change — but it is the thing to look at if a long-running query or mutation regresses on this release.
191
+
192
+ - Raise the required `effect` peer version to `^4.0.0-rc.109` (from `^4.0.0-rc.108`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
193
+
194
+ No Confect API changed, and no call-site edits are needed. `rc.109` is a patch release of Effect with nothing removed or renamed, so upgrading is a matter of installing it alongside `@confect/*`.
195
+
196
+ - 8e4962e: Raise the required `effect` peer version to `^4.0.0-rc.110` (from `^4.0.0-rc.109`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
197
+
198
+ No Confect API changed, and no call-site edits are needed. `rc.110` is a patch release of Effect with nothing removed or renamed, so upgrading is a matter of installing it alongside `@confect/*`.
199
+
200
+ - 3f0255c: Build and test against `convex` 1.44.0. The published `convex` peer ranges are unchanged, so no consumer action is required.
201
+ - Sync with `main`: this prerelease line now includes all changes released in `@confect/*` 9.2.2–9.2.4 — see those versions' changelog entries.
202
+ - Sync with `main`: this prerelease line now includes all changes released in `@confect/*` 9.2.5 — see that version's changelog entries.
203
+ - Sync with `main`: this prerelease line now includes all changes released in `@confect/*` 9.3.0 — see that version's changelog entries.
204
+ - Sync with `main`: this prerelease line now includes all changes released in `@confect/*` 9.4.0 — see that version's changelog entries.
205
+
206
+ The `@effect/platform` and `@effect/cli` peer and dependency floors that 9.4.0 raises do not apply here: this line runs on Effect v4, where those packages are not dependencies at all.
207
+
208
+ - The published type declarations are now emitted by TypeScript 7 rather than TypeScript 6. No API changed, but the declaration text differs in places, so an inferred type printed in your editor or in a type error may read slightly differently than before.
209
+
210
+ ## 10.0.0-next.15
211
+
212
+ ### Patch Changes
213
+
214
+ - 8e4962e: Raise the required `effect` peer version to `^4.0.0-rc.109` (from `^4.0.0-rc.108`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
215
+
216
+ No Confect API changed, and no call-site edits are needed. `rc.109` is a patch release of Effect with nothing removed or renamed, so upgrading is a matter of installing it alongside `@confect/*`.
217
+
218
+ ## 10.0.0-next.14
219
+
220
+ ### Patch Changes
221
+
222
+ - 9d51bd3: Raise the required `effect` peer version to `^4.0.0-rc.108` (from `^4.0.0-beta.107`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise. Effect v4 has left beta for release candidates, so `effect@rc` is now the tag to install alongside `@confect/*`.
223
+
224
+ No Confect API changed, and no call-site edits are needed for Confect itself. One Effect change can reach your code: the standalone `effect/SchemaError` module is gone, and `SchemaError` is now exported from `Schema`. Confect still fails decoding with the same error, so this only matters if you name the type when handling it.
225
+
226
+ Before:
227
+
228
+ ```ts
229
+ import type { SchemaError } from "effect/SchemaError";
230
+ ```
231
+
232
+ After:
233
+
234
+ ```ts
235
+ import type { SchemaError } from "effect/Schema";
236
+ ```
237
+
238
+ Also worth knowing if you serve an `HttpApi`: a query parameter declared as an array now decodes correctly when a request supplies exactly one value for it.
239
+
240
+ One internal change rides along. Queries and mutations that run long enough to trigger a cooperative fiber yield now take that yield from Effect's own scheduler, which `rc.108` made usable inside Convex's isolate for the first time. The underlying microtask primitive is identical, so behavior should not change — but it is the thing to look at if a long-running query or mutation regresses on this release.
241
+
242
+ - a4054ab: The published type declarations are now emitted by TypeScript 7 rather than TypeScript 6. No API changed, but the declaration text differs in places, so an inferred type printed in your editor or in a type error may read slightly differently than before.
243
+
244
+ ## 10.0.0-next.13
245
+
246
+ ### Patch Changes
247
+
248
+ - 5a73763: Raise the required `effect` peer version to `^4.0.0-beta.107` (from `^4.0.0-beta.106`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
249
+
250
+ `beta.107` is a patch-only Effect release, so no Confect API changes and no call-site edits are needed — upgrade `effect` alongside `@confect/*` and everything you have written keeps compiling. Your table, argument, and returns schemas still produce the same Convex validators.
251
+
252
+ Two Effect fixes are worth knowing about if they touch your code. HTTP actions written with `HttpRouter` now collect uploaded file contents far faster on large multipart bodies, and a file part whose stream is cut short — because a parser limit was exceeded or the request body ended early — now fails instead of hanging. Separately, `Duration` values that are equal now hash equally, so a `Duration` used as a `HashMap` key or a `HashSet` member is found regardless of which constructor built it.
253
+
254
+ ## 10.0.0-next.12
255
+
256
+ ### Patch Changes
257
+
258
+ - 661ee9b: Raise the required `effect` peer version to `^4.0.0-beta.106` (from `^4.0.0-beta.105`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
259
+
260
+ `beta.106` is a patch-only Effect release. Nothing in Confect's own API changes, and your table, argument, and returns schemas still compile to the same Convex validators.
261
+
262
+ One Effect change needs a call-site edit if you derive property-test generators from those schemas: `Schema.toArbitrary` now returns a factory that takes the `fast-check` module instead of returning an arbitrary directly, and `Schema.toArbitraryLazy` and the `{ report: true }` option are gone.
263
+
264
+ **Before:**
265
+
266
+ ```ts
267
+ const NoteArbitrary = Schema.toArbitrary(Note);
268
+ ```
269
+
270
+ **After:**
271
+
272
+ ```ts
273
+ import * as FastCheck from "fast-check";
274
+
275
+ const NoteArbitrary = Schema.toArbitrary(Note)(FastCheck);
276
+ ```
277
+
278
+ HTTP actions written against `HttpRouter` also inherit Effect's stricter multipart handling: a request that exceeds the configured part count, part size, or field size limits now stops being parsed at the limit rather than being read to completion first.
279
+
280
+ ## 10.0.0-next.11
281
+
282
+ ### Patch Changes
283
+
284
+ - f782cdd: Raise the required `effect` peer version to `^4.0.0-beta.105` (from `^4.0.0-beta.102`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
285
+
286
+ `beta.103` separates wall-clock time from monotonic elapsed time: `Clock.Clock` now also requires `monotonicTimeNanos` and `monotonicTimeNanosUnsafe`, so a custom `Clock` provided to a Confect function has to supply both. Effects that measure elapsed time — `Effect.timed`, duration metrics, `Sink.withDuration` — read the monotonic accessors instead of the wall clock, and continue to report a zero duration inside queries and mutations, where Confect pins the unsafe accessors to constants to keep Convex's query cache from evicting on every logged span.
287
+
288
+ `beta.103` also moves synchronous Effect runs off `setImmediate`/`setTimeout` and onto the microtask queue, which Convex's query and mutation isolate permits. Confect no longer suppresses cooperative fiber yielding for the synchronous work it performs while your modules load — registration and schema-to-validator compilation — and relies on that scheduling instead. Neither the "Can't use `setTimeout` in queries and mutations" crash nor any other consumer-visible behavior changes, but this is the area to look at if module loading starts misbehaving.
289
+
290
+ `beta.104` renames Effect's schema error constructors to match their `Data` counterparts, which affects any error schema you declare for a Confect function:
291
+
292
+ **Before:**
293
+
294
+ ```ts
295
+ export class NoteNotFound extends Schema.TaggedErrorClass<NoteNotFound>()(
296
+ "NoteNotFound",
297
+ { noteId: Id("notes") },
298
+ ) {}
299
+ ```
300
+
301
+ **After:**
302
+
303
+ ```ts
304
+ export class NoteNotFound extends Schema.TaggedError<NoteNotFound>()(
305
+ "NoteNotFound",
306
+ { noteId: Id("notes") },
307
+ ) {}
308
+ ```
309
+
310
+ `Schema.ErrorClass` is likewise now `Schema.Error`; the schema for JavaScript `Error` instances that previously went by `Schema.Error` is now `Schema.ErrorInstance`, and `Schema.ErrorReviver` is now `Schema.ErrorInstanceReviver`. Confect's own error types — `DocumentDecodeError`, `BlobNotFoundError`, and the rest — are unchanged in name, shape, and message.
311
+
312
+ `beta.105` restructures how schema validation failures are reported, but not on the path Confect puts you on: decode and encode failures still surface as `Schema.SchemaError` with a formatted `message`, so error text from `@confect/js`, `@confect/react`, and document decoding is unchanged.
313
+
314
+ - Sync with `main`: this prerelease line now includes all changes released in `@confect/*` 9.4.0 — see that version's changelog entries.
315
+
316
+ The `@effect/platform` and `@effect/cli` peer and dependency floors that 9.4.0 raises do not apply here: this line runs on Effect v4, where those packages are not dependencies at all.
317
+
318
+ ## 10.0.0-next.10
319
+
320
+ ### Patch Changes
321
+
322
+ - Sync with `main`: this prerelease line now includes all changes released in `@confect/*` 9.3.0 — see that version's changelog entries.
323
+
324
+ ## 10.0.0-next.9
325
+
326
+ ### Patch Changes
327
+
328
+ - 0dcc0fb: Raise the required `effect` peer version to `^4.0.0-beta.102` (from `^4.0.0-beta.101`), and `@confect/server`'s optional `@effect/platform-node` peer version likewise.
329
+ - 25e8d19: Sync with `main`: this prerelease line now includes all changes released in `@confect/*` 9.2.5 — see that version's changelog entries.
330
+
331
+ ## 10.0.0-next.8
332
+
333
+ ### Patch Changes
334
+
335
+ - 913d0e5: Raise the required `effect` peer version to `^4.0.0-beta.101` (from `^4.0.0-beta.100`).
336
+
337
+ This is a peer-range-only change with no consumer-visible API consequences. The `beta.101` release only touches fiber/concurrency internals (interrupt handling in concurrent traversal, stack frame annotations, `awaitAllChildren` linearization, `interruptibleMask` interrupt delivery), a `MutableList.filter` fix for empty buckets, a `Schema.Struct` required-readonly-field type display simplification, and an `HttpRouter.toWebHandler` middleware type-inference tightening that Confect doesn't need to accommodate.
338
+
339
+ ## 10.0.0-next.7
340
+
341
+ ## 10.0.0-next.6
342
+
343
+ ## 10.0.0-next.5
344
+
345
+ ## 10.0.0-next.4
346
+
347
+ ## 10.0.0-next.3
348
+
349
+ ### Patch Changes
350
+
351
+ - 5b63546: Raise the required `effect` peer version to `^4.0.0-beta.100` (from `^4.0.0-beta.99`).
352
+
353
+ This is a peer-range-only change with no consumer-visible API consequences. The `beta.100` release only touches `Cron` internals (month/weekday alias normalization, day/weekday rollover, and equality/hashing), CLI error message formatting (`InvalidValue` prefixes), and `Schema.toTaggedUnion` discriminants that Confect doesn't use.
354
+
3
355
  ## 10.0.0-next.2
4
356
 
5
357
  ### Patch Changes
@@ -43,6 +395,18 @@
43
395
  - Updated dependencies [70e313e]
44
396
  - @confect/core@10.0.0-next.0
45
397
 
398
+ ## 9.4.1
399
+
400
+ ### Patch Changes
401
+
402
+ - a4054ab: The published type declarations are now emitted by TypeScript 7 rather than TypeScript 6. No API changed, but the declaration text differs in places, so an inferred type printed in your editor or in a type error may read slightly differently than before.
403
+
404
+ ## 9.4.0
405
+
406
+ ## 9.3.0
407
+
408
+ ## 9.2.5
409
+
46
410
  ## 9.2.4
47
411
 
48
412
  ## 9.2.3
package/README.md CHANGED
@@ -5,7 +5,9 @@ Confect is a framework that deeply integrates Effect with Convex. It's more than
5
5
  - Define your Convex database schema using Effect schemas.
6
6
  - Write Convex function args and returns validators using Effect's schema library.
7
7
  - Use Confect functions to automatically decode and encode your data according to your Effect schema definitions for end-to-end rich types, from client to function to database (and back).
8
- - Use Effect's HTTP API modules to define your HTTP API(s). Includes interactive OpenAPI documentation powered by [Scalar](https://github.com/scalar/scalar).
8
+ - Add reusable, type-safe middleware to function groups or individual functions to provide Effect services and run logic around handlers.
9
+ - Declare typed errors on functions and middleware using Effect schemas, then handle the decoded errors at every call site.
10
+ - Use Effect's native HTTP API modules to define your HTTP API.
9
11
  - Access Convex platform capabilities via Effect services.
10
12
 
11
13
  Want to learn more? Read the [docs](https://confect.dev)!
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../src/HttpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../src/HttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAExC,qBAAa,eAAgB,SAAQ,oBAKpC;CAAG;AAkFJ;;GAEG;AACH,eAAO,MAAM,UAAU;;qBA3EG,MAAM;;YAWf,KAAK,SAAS,GAAG,CAAC,cAAc,OACxC,KAAK,WACD,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,KAC/B,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC,WAAW,CACxD;eAWiB,QAAQ,SAAS,GAAG,CAAC,iBAAiB,OACjD,QAAQ,WACJ,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,KAClC,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EACrB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC,WAAW,CAC3D;aAWe,MAAM,SAAS,GAAG,CAAC,eAAe,OAC3C,MAAM,WACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAChC,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACnB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC,WAAW,CACzD;;;;;;;;EA0BF,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,UAAU,CAAC;AAEtD,eAAO,MAAM,KAAK,YACP,MAAM,YACL,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;;qBAnFnC,MAAM;;YAWf,KAAK,SAAS,GAAG,CAAC,cAAc,OACxC,KAAK,WACD,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,KAC/B,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC,WAAW,CACxD;eAWiB,QAAQ,SAAS,GAAG,CAAC,iBAAiB,OACjD,QAAQ,WACJ,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,KAClC,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EACrB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC,WAAW,CAC3D;aAWe,MAAM,SAAS,GAAG,CAAC,eAAe,OAC3C,MAAM,WACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAChC,MAAM,CAAC,MAAM,CACd,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACnB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC,WAAW,CACzD;gBAiCsD,CAAC"}
@@ -11,7 +11,7 @@ var HttpClient_exports = /* @__PURE__ */ __exportAll({
11
11
  HttpClientError: () => HttpClientError,
12
12
  layer: () => layer
13
13
  });
14
- var HttpClientError = class extends Schema.TaggedErrorClass()("HttpClientError", { cause: Schema.Unknown }) {};
14
+ var HttpClientError = class extends Schema.TaggedError()("HttpClientError", { cause: Schema.Unknown }) {};
15
15
  const make = (address, options) => {
16
16
  const client = new ConvexHttpClient(address, options);
17
17
  const url = client.url;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.js","names":[],"sources":["../src/HttpClient.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { ConvexHttpClient } from \"convex/browser\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Schema from \"effect/Schema\";\n\nexport class HttpClientError extends Schema.TaggedErrorClass<HttpClientError>()(\n \"HttpClientError\",\n {\n cause: Schema.Unknown,\n },\n) {}\n\nconst make = (\n address: string,\n options?: ConstructorParameters<typeof ConvexHttpClient>[1],\n) => {\n const client = new ConvexHttpClient(address, options);\n\n const url = client.url;\n\n const setAuth = (token: string) =>\n Effect.sync(() => {\n client.setAuth(token);\n });\n\n const clearAuth = Effect.sync(() => {\n client.clearAuth();\n });\n\n const mapUnknownError = (cause: unknown) => new HttpClientError({ cause });\n\n const query = <Query extends Ref.AnyPublicQuery>(\n ref: Query,\n ...rest: Ref.OptionalArgs<Query>\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | HttpClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Query>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n client.query(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const mutation = <Mutation extends Ref.AnyPublicMutation>(\n ref: Mutation,\n ...rest: Ref.OptionalArgs<Mutation>\n ): Effect.Effect<\n Ref.Returns<Mutation>,\n Ref.Error<Mutation> | HttpClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Mutation>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n client.mutation(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const action = <Action extends Ref.AnyPublicAction>(\n ref: Action,\n ...rest: Ref.OptionalArgs<Action>\n ): Effect.Effect<\n Ref.Returns<Action>,\n Ref.Error<Action> | HttpClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Action>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n client.action(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n return {\n url,\n setAuth,\n clearAuth,\n query,\n mutation,\n action,\n };\n};\n\n/**\n * A Confect client which uses HTTP to communicate with your Convex backend. Works in any JS runtime that supports `fetch`. Wraps [ConvexHttpClient](https://docs.convex.dev/api/classes/browser.ConvexHttpClient).\n */\nexport const HttpClient = Context.Service<ReturnType<typeof make>>(\n \"@confect/js/HttpClient\",\n);\n\nexport type HttpClient = typeof HttpClient.Identifier;\n\nexport const layer = (\n address: string,\n options?: ConstructorParameters<typeof ConvexHttpClient>[1],\n) => Layer.sync(HttpClient, () => make(address, options));\n"],"mappings":";;;;;;;;;;;;;AAOA,IAAa,kBAAb,cAAqC,OAAO,iBAAkC,CAAC,CAC7E,mBACA,EACE,OAAO,OAAO,QAChB,CACF,CAAC,CAAC,CAAC;AAEH,MAAM,QACJ,SACA,YACG;CACH,MAAM,SAAS,IAAI,iBAAiB,SAAS,OAAO;CAEpD,MAAM,MAAM,OAAO;CAEnB,MAAM,WAAW,UACf,OAAO,WAAW;EAChB,OAAO,QAAQ,KAAK;CACtB,CAAC;CAEH,MAAM,YAAY,OAAO,WAAW;EAClC,OAAO,UAAU;CACnB,CAAC;CAED,MAAM,mBAAmB,UAAmB,IAAI,gBAAgB,EAAE,MAAM,CAAC;CAEzE,MAAM,SACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,OAAO,MAAM,mBAAmB,WAAW,GAC7C,eACF;CACF;CAEA,MAAM,YACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,OAAO,SAAS,mBAAmB,WAAW,GAChD,eACF;CACF;CAEA,MAAM,UACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,OAAO,OAAO,mBAAmB,WAAW,GAC9C,eACF;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;AAKA,MAAa,aAAa,QAAQ,QAChC,wBACF;AAIA,MAAa,SACX,SACA,YACG,MAAM,KAAK,kBAAkB,KAAK,SAAS,OAAO,CAAC"}
1
+ {"version":3,"file":"HttpClient.js","names":[],"sources":["../src/HttpClient.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { ConvexHttpClient } from \"convex/browser\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Schema from \"effect/Schema\";\n\nexport class HttpClientError extends Schema.TaggedError<HttpClientError>()(\n \"HttpClientError\",\n {\n cause: Schema.Unknown,\n },\n) {}\n\nconst make = (\n address: string,\n options?: ConstructorParameters<typeof ConvexHttpClient>[1],\n) => {\n const client = new ConvexHttpClient(address, options);\n\n const url = client.url;\n\n const setAuth = (token: string) =>\n Effect.sync(() => {\n client.setAuth(token);\n });\n\n const clearAuth = Effect.sync(() => {\n client.clearAuth();\n });\n\n const mapUnknownError = (cause: unknown) => new HttpClientError({ cause });\n\n const query = <Query extends Ref.AnyPublicQuery>(\n ref: Query,\n ...rest: Ref.OptionalArgs<Query>\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | HttpClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Query>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n client.query(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const mutation = <Mutation extends Ref.AnyPublicMutation>(\n ref: Mutation,\n ...rest: Ref.OptionalArgs<Mutation>\n ): Effect.Effect<\n Ref.Returns<Mutation>,\n Ref.Error<Mutation> | HttpClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Mutation>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n client.mutation(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const action = <Action extends Ref.AnyPublicAction>(\n ref: Action,\n ...rest: Ref.OptionalArgs<Action>\n ): Effect.Effect<\n Ref.Returns<Action>,\n Ref.Error<Action> | HttpClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Action>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n client.action(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n return {\n url,\n setAuth,\n clearAuth,\n query,\n mutation,\n action,\n };\n};\n\n/**\n * A Confect client which uses HTTP to communicate with your Convex backend. Works in any JS runtime that supports `fetch`. Wraps [ConvexHttpClient](https://docs.convex.dev/api/classes/browser.ConvexHttpClient).\n */\nexport const HttpClient = Context.Service<ReturnType<typeof make>>(\n \"@confect/js/HttpClient\",\n);\n\nexport type HttpClient = typeof HttpClient.Identifier;\n\nexport const layer = (\n address: string,\n options?: ConstructorParameters<typeof ConvexHttpClient>[1],\n) => Layer.sync(HttpClient, () => make(address, options));\n"],"mappings":";;;;;;;;;;;;;AAOA,IAAa,kBAAb,cAAqC,OAAO,YAA6B,CAAC,CACxE,mBACA,EACE,OAAO,OAAO,QAChB,CACF,CAAC,CAAC,CAAC;AAEH,MAAM,QACJ,SACA,YACG;CACH,MAAM,SAAS,IAAI,iBAAiB,SAAS,OAAO;CAEpD,MAAM,MAAM,OAAO;CAEnB,MAAM,WAAW,UACf,OAAO,WAAW;EAChB,OAAO,QAAQ,KAAK;CACtB,CAAC;CAEH,MAAM,YAAY,OAAO,WAAW;EAClC,OAAO,UAAU;CACnB,CAAC;CAED,MAAM,mBAAmB,UAAmB,IAAI,gBAAgB,EAAE,MAAM,CAAC;CAEzE,MAAM,SACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,OAAO,MAAM,mBAAmB,WAAW,GAC7C,eACF;CACF;CAEA,MAAM,YACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,OAAO,SAAS,mBAAmB,WAAW,GAChD,eACF;CACF;CAEA,MAAM,UACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,OAAO,OAAO,mBAAmB,WAAW,GAC9C,eACF;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;AAKA,MAAa,aAAa,QAAQ,QAChC,wBACF;AAIA,MAAa,SACX,SACA,YACG,MAAM,KAAK,kBAAkB,KAAK,SAAS,OAAO,CAAC"}
@@ -1,14 +1,14 @@
1
1
  import * as Ref from "@confect/core/Ref";
2
2
  import { ConvexClient } from "convex/browser";
3
- import * as Cause from "effect/Cause";
4
3
  import * as Context from "effect/Context";
5
4
  import * as Effect from "effect/Effect";
6
5
  import * as Layer from "effect/Layer";
6
+ import * as Result from "effect/Result";
7
7
  import * as Schema from "effect/Schema";
8
8
  import * as Stream from "effect/Stream";
9
9
  declare const WebSocketClientError_base: Schema.Class<WebSocketClientError, Schema.TaggedStruct<"WebSocketClientError", {
10
- readonly cause: Schema.Unknown;
11
- }>, Cause.YieldableError>;
10
+ readonly cause: Schema.Defect;
11
+ }>, import("effect/Cause").YieldableError>;
12
12
  export declare class WebSocketClientError extends WebSocketClientError_base {
13
13
  }
14
14
  /**
@@ -22,7 +22,8 @@ export declare const WebSocketClient: Context.Service<{
22
22
  query: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Effect.Effect<Ref.Returns<Query>, Ref.Error<Query> | WebSocketClientError | Schema.SchemaError>;
23
23
  mutation: <Mutation extends Ref.AnyPublicMutation>(ref: Mutation, ...rest: Ref.OptionalArgs<Mutation>) => Effect.Effect<Ref.Returns<Mutation>, Ref.Error<Mutation> | WebSocketClientError | Schema.SchemaError>;
24
24
  action: <Action extends Ref.AnyPublicAction>(ref: Action, ...rest: Ref.OptionalArgs<Action>) => Effect.Effect<Ref.Returns<Action>, Ref.Error<Action> | WebSocketClientError | Schema.SchemaError>;
25
- reactiveQuery: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Ref.Returns<Query>, Ref.Error<Query> | WebSocketClientError | Schema.SchemaError>;
25
+ reactiveQuery: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Ref.Returns<Query>, Schema.SchemaError | WebSocketClientError | Ref.Error<Query>>;
26
+ reactiveQueryResult: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Result.Result<Ref.Returns<Query>, Schema.SchemaError | WebSocketClientError | Ref.Error<Query>>>;
26
27
  }, {
27
28
  url: string;
28
29
  setAuth: (fetchToken: (args: {
@@ -31,7 +32,8 @@ export declare const WebSocketClient: Context.Service<{
31
32
  query: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Effect.Effect<Ref.Returns<Query>, Ref.Error<Query> | WebSocketClientError | Schema.SchemaError>;
32
33
  mutation: <Mutation extends Ref.AnyPublicMutation>(ref: Mutation, ...rest: Ref.OptionalArgs<Mutation>) => Effect.Effect<Ref.Returns<Mutation>, Ref.Error<Mutation> | WebSocketClientError | Schema.SchemaError>;
33
34
  action: <Action extends Ref.AnyPublicAction>(ref: Action, ...rest: Ref.OptionalArgs<Action>) => Effect.Effect<Ref.Returns<Action>, Ref.Error<Action> | WebSocketClientError | Schema.SchemaError>;
34
- reactiveQuery: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Ref.Returns<Query>, Ref.Error<Query> | WebSocketClientError | Schema.SchemaError>;
35
+ reactiveQuery: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Ref.Returns<Query>, Schema.SchemaError | WebSocketClientError | Ref.Error<Query>>;
36
+ reactiveQueryResult: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Result.Result<Ref.Returns<Query>, Schema.SchemaError | WebSocketClientError | Ref.Error<Query>>>;
35
37
  }>;
36
38
  export type WebSocketClient = typeof WebSocketClient.Identifier;
37
39
  export declare const layer: (address: string, options?: ConstructorParameters<typeof ConvexClient>[1]) => Layer.Layer<{
@@ -42,7 +44,8 @@ export declare const layer: (address: string, options?: ConstructorParameters<ty
42
44
  query: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Effect.Effect<Ref.Returns<Query>, Ref.Error<Query> | WebSocketClientError | Schema.SchemaError>;
43
45
  mutation: <Mutation extends Ref.AnyPublicMutation>(ref: Mutation, ...rest: Ref.OptionalArgs<Mutation>) => Effect.Effect<Ref.Returns<Mutation>, Ref.Error<Mutation> | WebSocketClientError | Schema.SchemaError>;
44
46
  action: <Action extends Ref.AnyPublicAction>(ref: Action, ...rest: Ref.OptionalArgs<Action>) => Effect.Effect<Ref.Returns<Action>, Ref.Error<Action> | WebSocketClientError | Schema.SchemaError>;
45
- reactiveQuery: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Ref.Returns<Query>, Ref.Error<Query> | WebSocketClientError | Schema.SchemaError>;
47
+ reactiveQuery: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Ref.Returns<Query>, Schema.SchemaError | WebSocketClientError | Ref.Error<Query>>;
48
+ reactiveQueryResult: <Query extends Ref.AnyPublicQuery>(ref: Query, ...rest: Ref.OptionalArgs<Query>) => Stream.Stream<Result.Result<Ref.Returns<Query>, Schema.SchemaError | WebSocketClientError | Ref.Error<Query>>>;
46
49
  }, never, never>;
47
50
  export {};
48
51
  //# sourceMappingURL=WebSocketClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketClient.d.ts","sourceRoot":"","sources":["../src/WebSocketClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketClient.d.ts","sourceRoot":"","sources":["../src/WebSocketClient.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { __exportAll } from "./_virtual/_rolldown/runtime.js";
2
2
  import * as Ref from "@confect/core/Ref";
3
3
  import { ConvexClient } from "convex/browser";
4
- import * as Cause from "effect/Cause";
5
4
  import * as Context from "effect/Context";
6
5
  import * as Effect from "effect/Effect";
7
6
  import * as Layer from "effect/Layer";
8
7
  import * as Queue from "effect/Queue";
8
+ import * as Result from "effect/Result";
9
9
  import * as Schema from "effect/Schema";
10
10
  import * as Stream from "effect/Stream";
11
11
  //#region src/WebSocketClient.ts
@@ -14,7 +14,7 @@ var WebSocketClient_exports = /* @__PURE__ */ __exportAll({
14
14
  WebSocketClientError: () => WebSocketClientError,
15
15
  layer: () => layer
16
16
  });
17
- var WebSocketClientError = class extends Schema.TaggedErrorClass()("WebSocketClientError", { cause: Schema.Unknown }) {};
17
+ var WebSocketClientError = class extends Schema.TaggedError()("WebSocketClientError", { cause: Schema.Defect() }) {};
18
18
  const make = (address, options) => Effect.acquireRelease(Effect.sync(() => new ConvexClient(address, options)), (convexClient) => Effect.promise(() => convexClient.close())).pipe(Effect.map((convexClient) => {
19
19
  const url = address;
20
20
  const setAuth = (fetchToken, onChange) => Effect.sync(() => {
@@ -33,29 +33,40 @@ const make = (address, options) => Effect.acquireRelease(Effect.sync(() => new C
33
33
  const args = rest[0] ?? {};
34
34
  return Ref.runWithCodec(ref, args, (functionReference, encodedArgs) => convexClient.action(functionReference, encodedArgs), mapUnknownError);
35
35
  };
36
- const reactiveQuery = (ref, ...rest) => {
36
+ const reactiveQueryResult = (ref, ...rest) => {
37
37
  const args = rest[0] ?? {};
38
38
  const functionReference = Ref.getFunctionReference(ref);
39
39
  const onError = Ref.decodeErrorOrElse(ref, mapUnknownError);
40
- return Stream.unwrap(Effect.gen(function* () {
41
- const encodedArgs = yield* Ref.encodeArgs(ref, args);
42
- return Stream.callback((queue) => Effect.gen(function* () {
40
+ return Stream.unwrap(Effect.match(Ref.encodeArgs(ref, args), {
41
+ onFailure: (error) => Stream.succeed(Result.fail(error)),
42
+ onSuccess: (encodedArgs) => Stream.callback((queue) => Effect.gen(function* () {
43
43
  const unsubscribe = convexClient.onUpdate(functionReference, encodedArgs, (result) => {
44
- Queue.offerUnsafe(queue, result);
44
+ Queue.offerUnsafe(queue, Result.succeed(result));
45
45
  }, (error) => {
46
- Queue.failCauseUnsafe(queue, Cause.fail(onError(error)));
46
+ Queue.offerUnsafe(queue, Result.fail(onError(error)));
47
47
  });
48
48
  yield* Effect.addFinalizer(() => Effect.sync(() => unsubscribe()));
49
- }));
50
- })).pipe(Stream.mapEffect((encodedReturns) => Ref.decodeReturns(ref, encodedReturns)));
49
+ }))
50
+ })).pipe(Stream.mapEffect((result) => Result.match(result, {
51
+ onFailure: (error) => Effect.succeed(Result.fail(error)),
52
+ onSuccess: (encodedReturns) => Effect.match(Ref.decodeReturns(ref, encodedReturns), {
53
+ onFailure: Result.fail,
54
+ onSuccess: Result.succeed
55
+ })
56
+ })));
51
57
  };
58
+ const reactiveQuery = (ref, ...rest) => reactiveQueryResult(ref, ...rest).pipe(Stream.mapEffect(Result.match({
59
+ onFailure: Effect.fail,
60
+ onSuccess: Effect.succeed
61
+ })));
52
62
  return {
53
63
  url,
54
64
  setAuth,
55
65
  query,
56
66
  mutation,
57
67
  action,
58
- reactiveQuery
68
+ reactiveQuery,
69
+ reactiveQueryResult
59
70
  };
60
71
  }));
61
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketClient.js","names":[],"sources":["../src/WebSocketClient.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { ConvexClient } from \"convex/browser\";\nimport * as Cause from \"effect/Cause\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Queue from \"effect/Queue\";\nimport * as Schema from \"effect/Schema\";\nimport * as Stream from \"effect/Stream\";\n\nexport class WebSocketClientError extends Schema.TaggedErrorClass<WebSocketClientError>()(\n \"WebSocketClientError\",\n {\n cause: Schema.Unknown,\n },\n) {}\n\nconst make = (\n address: string,\n options?: ConstructorParameters<typeof ConvexClient>[1],\n) =>\n Effect.acquireRelease(\n Effect.sync(() => new ConvexClient(address, options)),\n (convexClient) => Effect.promise(() => convexClient.close()),\n ).pipe(\n Effect.map((convexClient) => {\n const url = address;\n\n const setAuth = (\n fetchToken: (args: {\n forceRefreshToken: boolean;\n }) => Effect.Effect<string | null | undefined>,\n onChange?: (isAuthenticated: boolean) => Effect.Effect<void>,\n ) =>\n Effect.sync(() => {\n convexClient.setAuth(\n (args) => Effect.runPromise(fetchToken(args)),\n ...(onChange\n ? [\n (isAuthenticated: boolean) =>\n Effect.runFork(onChange(isAuthenticated)),\n ]\n : []),\n );\n });\n\n const mapUnknownError = (cause: unknown) =>\n new WebSocketClientError({ cause });\n\n const query = <Query extends Ref.AnyPublicQuery>(\n ref: Query,\n ...rest: Ref.OptionalArgs<Query>\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | WebSocketClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Query>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n convexClient.query(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const mutation = <Mutation extends Ref.AnyPublicMutation>(\n ref: Mutation,\n ...rest: Ref.OptionalArgs<Mutation>\n ): Effect.Effect<\n Ref.Returns<Mutation>,\n Ref.Error<Mutation> | WebSocketClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Mutation>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n convexClient.mutation(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const action = <Action extends Ref.AnyPublicAction>(\n ref: Action,\n ...rest: Ref.OptionalArgs<Action>\n ): Effect.Effect<\n Ref.Returns<Action>,\n Ref.Error<Action> | WebSocketClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Action>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n convexClient.action(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const reactiveQuery = <Query extends Ref.AnyPublicQuery>(\n ref: Query,\n ...rest: Ref.OptionalArgs<Query>\n ): Stream.Stream<\n Ref.Returns<Query>,\n Ref.Error<Query> | WebSocketClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Query>;\n const functionReference = Ref.getFunctionReference(ref);\n const onError = Ref.decodeErrorOrElse(ref, mapUnknownError);\n\n return Stream.unwrap(\n Effect.gen(function* () {\n const encodedArgs = yield* Ref.encodeArgs(ref, args);\n\n return Stream.callback<\n unknown,\n Ref.Error<Query> | WebSocketClientError\n >((queue) =>\n Effect.gen(function* () {\n const unsubscribe = convexClient.onUpdate(\n functionReference,\n encodedArgs,\n (result) => {\n Queue.offerUnsafe(queue, result);\n },\n (error) => {\n Queue.failCauseUnsafe(queue, Cause.fail(onError(error)));\n },\n );\n yield* Effect.addFinalizer(() =>\n Effect.sync(() => unsubscribe()),\n );\n }),\n );\n }),\n ).pipe(\n Stream.mapEffect((encodedReturns) =>\n Ref.decodeReturns(ref, encodedReturns),\n ),\n );\n };\n\n return {\n url,\n setAuth,\n query,\n mutation,\n action,\n reactiveQuery,\n };\n }),\n );\n\n/**\n * A Confect client which uses a WebSocket to communicate with your Convex backend and supports reactive query subscriptions. The WebSocket connection is managed by the layer's scope and closed automatically when the scope ends. Wraps [ConvexClient](https://docs.convex.dev/api/classes/browser.ConvexClient).\n */\nexport const WebSocketClient = Context.Service<\n Effect.Success<ReturnType<typeof make>>\n>(\"@confect/js/WebSocketClient\");\n\nexport type WebSocketClient = typeof WebSocketClient.Identifier;\n\nexport const layer = (\n address: string,\n options?: ConstructorParameters<typeof ConvexClient>[1],\n) => Layer.effect(WebSocketClient, make(address, options));\n"],"mappings":";;;;;;;;;;;;;;;;AAUA,IAAa,uBAAb,cAA0C,OAAO,iBAAuC,CAAC,CACvF,wBACA,EACE,OAAO,OAAO,QAChB,CACF,CAAC,CAAC,CAAC;AAEH,MAAM,QACJ,SACA,YAEA,OAAO,eACL,OAAO,WAAW,IAAI,aAAa,SAAS,OAAO,CAAC,IACnD,iBAAiB,OAAO,cAAc,aAAa,MAAM,CAAC,CAC7D,CAAC,CAAC,KACA,OAAO,KAAK,iBAAiB;CAC3B,MAAM,MAAM;CAEZ,MAAM,WACJ,YAGA,aAEA,OAAO,WAAW;EAChB,aAAa,SACV,SAAS,OAAO,WAAW,WAAW,IAAI,CAAC,GAC5C,GAAI,WACA,EACG,oBACC,OAAO,QAAQ,SAAS,eAAe,CAAC,CAC5C,IACA,CAAC,CACP;CACF,CAAC;CAEH,MAAM,mBAAmB,UACvB,IAAI,qBAAqB,EAAE,MAAM,CAAC;CAEpC,MAAM,SACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,aAAa,MAAM,mBAAmB,WAAW,GACnD,eACF;CACF;CAEA,MAAM,YACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,aAAa,SAAS,mBAAmB,WAAW,GACtD,eACF;CACF;CAEA,MAAM,UACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,aAAa,OAAO,mBAAmB,WAAW,GACpD,eACF;CACF;CAEA,MAAM,iBACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,MAAM,oBAAoB,IAAI,qBAAqB,GAAG;EACtD,MAAM,UAAU,IAAI,kBAAkB,KAAK,eAAe;EAE1D,OAAO,OAAO,OACZ,OAAO,IAAI,aAAa;GACtB,MAAM,cAAc,OAAO,IAAI,WAAW,KAAK,IAAI;GAEnD,OAAO,OAAO,UAGX,UACD,OAAO,IAAI,aAAa;IACtB,MAAM,cAAc,aAAa,SAC/B,mBACA,cACC,WAAW;KACV,MAAM,YAAY,OAAO,MAAM;IACjC,IACC,UAAU;KACT,MAAM,gBAAgB,OAAO,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC;IACzD,CACF;IACA,OAAO,OAAO,mBACZ,OAAO,WAAW,YAAY,CAAC,CACjC;GACF,CAAC,CACH;EACF,CAAC,CACH,CAAC,CAAC,KACA,OAAO,WAAW,mBAChB,IAAI,cAAc,KAAK,cAAc,CACvC,CACF;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF,CAAC,CACH;;;;AAKF,MAAa,kBAAkB,QAAQ,QAErC,6BAA6B;AAI/B,MAAa,SACX,SACA,YACG,MAAM,OAAO,iBAAiB,KAAK,SAAS,OAAO,CAAC"}
1
+ {"version":3,"file":"WebSocketClient.js","names":[],"sources":["../src/WebSocketClient.ts"],"sourcesContent":["import * as Ref from \"@confect/core/Ref\";\nimport { ConvexClient } from \"convex/browser\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Queue from \"effect/Queue\";\nimport * as Result from \"effect/Result\";\nimport * as Schema from \"effect/Schema\";\nimport * as Stream from \"effect/Stream\";\n\nexport class WebSocketClientError extends Schema.TaggedError<WebSocketClientError>()(\n \"WebSocketClientError\",\n {\n cause: Schema.Defect(),\n },\n) {}\n\nconst make = (\n address: string,\n options?: ConstructorParameters<typeof ConvexClient>[1],\n) =>\n Effect.acquireRelease(\n Effect.sync(() => new ConvexClient(address, options)),\n (convexClient) => Effect.promise(() => convexClient.close()),\n ).pipe(\n Effect.map((convexClient) => {\n const url = address;\n\n const setAuth = (\n fetchToken: (args: {\n forceRefreshToken: boolean;\n }) => Effect.Effect<string | null | undefined>,\n onChange?: (isAuthenticated: boolean) => Effect.Effect<void>,\n ) =>\n Effect.sync(() => {\n convexClient.setAuth(\n (args) => Effect.runPromise(fetchToken(args)),\n ...(onChange\n ? [\n (isAuthenticated: boolean) =>\n Effect.runFork(onChange(isAuthenticated)),\n ]\n : []),\n );\n });\n\n const mapUnknownError = (cause: unknown) =>\n new WebSocketClientError({ cause });\n\n const query = <Query extends Ref.AnyPublicQuery>(\n ref: Query,\n ...rest: Ref.OptionalArgs<Query>\n ): Effect.Effect<\n Ref.Returns<Query>,\n Ref.Error<Query> | WebSocketClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Query>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n convexClient.query(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const mutation = <Mutation extends Ref.AnyPublicMutation>(\n ref: Mutation,\n ...rest: Ref.OptionalArgs<Mutation>\n ): Effect.Effect<\n Ref.Returns<Mutation>,\n Ref.Error<Mutation> | WebSocketClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Mutation>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n convexClient.mutation(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n const action = <Action extends Ref.AnyPublicAction>(\n ref: Action,\n ...rest: Ref.OptionalArgs<Action>\n ): Effect.Effect<\n Ref.Returns<Action>,\n Ref.Error<Action> | WebSocketClientError | Schema.SchemaError\n > => {\n const args = (rest[0] ?? {}) as Ref.Args<Action>;\n return Ref.runWithCodec(\n ref,\n args,\n (functionReference, encodedArgs) =>\n convexClient.action(functionReference, encodedArgs),\n mapUnknownError,\n );\n };\n\n type ReactiveQueryError<Query extends Ref.AnyPublicQuery> =\n | Ref.Error<Query>\n | WebSocketClientError\n | Schema.SchemaError;\n\n const reactiveQueryResult = <Query extends Ref.AnyPublicQuery>(\n ref: Query,\n ...rest: Ref.OptionalArgs<Query>\n ): Stream.Stream<\n Result.Result<Ref.Returns<Query>, ReactiveQueryError<Query>>\n > => {\n type QueryResult = Result.Result<\n Ref.Returns<Query>,\n ReactiveQueryError<Query>\n >;\n const args = (rest[0] ?? {}) as Ref.Args<Query>;\n const functionReference = Ref.getFunctionReference(ref);\n const onError = Ref.decodeErrorOrElse(ref, mapUnknownError);\n\n return Stream.unwrap(\n Effect.match(Ref.encodeArgs(ref, args), {\n onFailure: (error) =>\n Stream.succeed<QueryResult>(Result.fail(error)),\n onSuccess: (encodedArgs) =>\n Stream.callback<\n Result.Result<unknown, ReactiveQueryError<Query>>\n >((queue) =>\n Effect.gen(function* () {\n const unsubscribe = convexClient.onUpdate(\n functionReference,\n encodedArgs,\n (result) => {\n Queue.offerUnsafe(queue, Result.succeed(result));\n },\n (error) => {\n Queue.offerUnsafe(queue, Result.fail(onError(error)));\n },\n );\n yield* Effect.addFinalizer(() =>\n Effect.sync(() => unsubscribe()),\n );\n }),\n ),\n }),\n ).pipe(\n Stream.mapEffect((result): Effect.Effect<QueryResult> =>\n Result.match(result, {\n onFailure: (error) => Effect.succeed(Result.fail(error)),\n onSuccess: (encodedReturns) =>\n Effect.match(Ref.decodeReturns(ref, encodedReturns), {\n onFailure: Result.fail,\n onSuccess: Result.succeed,\n }),\n }),\n ),\n );\n };\n\n const reactiveQuery = <Query extends Ref.AnyPublicQuery>(\n ref: Query,\n ...rest: Ref.OptionalArgs<Query>\n ): Stream.Stream<Ref.Returns<Query>, ReactiveQueryError<Query>> =>\n reactiveQueryResult(ref, ...rest).pipe(\n Stream.mapEffect(\n Result.match({\n onFailure: Effect.fail,\n onSuccess: Effect.succeed,\n }),\n ),\n );\n\n return {\n url,\n setAuth,\n query,\n mutation,\n action,\n reactiveQuery,\n reactiveQueryResult,\n };\n }),\n );\n\n/**\n * A Confect client which uses a WebSocket to communicate with your Convex backend and supports reactive query subscriptions. The WebSocket connection is managed by the layer's scope and closed automatically when the scope ends. Wraps [ConvexClient](https://docs.convex.dev/api/classes/browser.ConvexClient).\n */\nexport const WebSocketClient = Context.Service<\n Effect.Success<ReturnType<typeof make>>\n>(\"@confect/js/WebSocketClient\");\n\nexport type WebSocketClient = typeof WebSocketClient.Identifier;\n\nexport const layer = (\n address: string,\n options?: ConstructorParameters<typeof ConvexClient>[1],\n) => Layer.effect(WebSocketClient, make(address, options));\n"],"mappings":";;;;;;;;;;;;;;;;AAUA,IAAa,uBAAb,cAA0C,OAAO,YAAkC,CAAC,CAClF,wBACA,EACE,OAAO,OAAO,OAAO,EACvB,CACF,CAAC,CAAC,CAAC;AAEH,MAAM,QACJ,SACA,YAEA,OAAO,eACL,OAAO,WAAW,IAAI,aAAa,SAAS,OAAO,CAAC,IACnD,iBAAiB,OAAO,cAAc,aAAa,MAAM,CAAC,CAC7D,CAAC,CAAC,KACA,OAAO,KAAK,iBAAiB;CAC3B,MAAM,MAAM;CAEZ,MAAM,WACJ,YAGA,aAEA,OAAO,WAAW;EAChB,aAAa,SACV,SAAS,OAAO,WAAW,WAAW,IAAI,CAAC,GAC5C,GAAI,WACA,EACG,oBACC,OAAO,QAAQ,SAAS,eAAe,CAAC,CAC5C,IACA,CAAC,CACP;CACF,CAAC;CAEH,MAAM,mBAAmB,UACvB,IAAI,qBAAqB,EAAE,MAAM,CAAC;CAEpC,MAAM,SACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,aAAa,MAAM,mBAAmB,WAAW,GACnD,eACF;CACF;CAEA,MAAM,YACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,aAAa,SAAS,mBAAmB,WAAW,GACtD,eACF;CACF;CAEA,MAAM,UACJ,KACA,GAAG,SAIA;EACH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,OAAO,IAAI,aACT,KACA,OACC,mBAAmB,gBAClB,aAAa,OAAO,mBAAmB,WAAW,GACpD,eACF;CACF;CAOA,MAAM,uBACJ,KACA,GAAG,SAGA;EAKH,MAAM,OAAQ,KAAK,MAAM,CAAC;EAC1B,MAAM,oBAAoB,IAAI,qBAAqB,GAAG;EACtD,MAAM,UAAU,IAAI,kBAAkB,KAAK,eAAe;EAE1D,OAAO,OAAO,OACZ,OAAO,MAAM,IAAI,WAAW,KAAK,IAAI,GAAG;GACtC,YAAY,UACV,OAAO,QAAqB,OAAO,KAAK,KAAK,CAAC;GAChD,YAAY,gBACV,OAAO,UAEJ,UACD,OAAO,IAAI,aAAa;IACtB,MAAM,cAAc,aAAa,SAC/B,mBACA,cACC,WAAW;KACV,MAAM,YAAY,OAAO,OAAO,QAAQ,MAAM,CAAC;IACjD,IACC,UAAU;KACT,MAAM,YAAY,OAAO,OAAO,KAAK,QAAQ,KAAK,CAAC,CAAC;IACtD,CACF;IACA,OAAO,OAAO,mBACZ,OAAO,WAAW,YAAY,CAAC,CACjC;GACF,CAAC,CACH;EACJ,CAAC,CACH,CAAC,CAAC,KACA,OAAO,WAAW,WAChB,OAAO,MAAM,QAAQ;GACnB,YAAY,UAAU,OAAO,QAAQ,OAAO,KAAK,KAAK,CAAC;GACvD,YAAY,mBACV,OAAO,MAAM,IAAI,cAAc,KAAK,cAAc,GAAG;IACnD,WAAW,OAAO;IAClB,WAAW,OAAO;GACpB,CAAC;EACL,CAAC,CACH,CACF;CACF;CAEA,MAAM,iBACJ,KACA,GAAG,SAEH,oBAAoB,KAAK,GAAG,IAAI,CAAC,CAAC,KAChC,OAAO,UACL,OAAO,MAAM;EACX,WAAW,OAAO;EAClB,WAAW,OAAO;CACpB,CAAC,CACH,CACF;CAEF,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF,CAAC,CACH;;;;AAKF,MAAa,kBAAkB,QAAQ,QAErC,6BAA6B;AAI/B,MAAa,SACX,SACA,YACG,MAAM,OAAO,iBAAiB,KAAK,SAAS,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@confect/js",
3
3
  "description": "JavaScript client bindings for any JS runtime",
4
- "version": "10.0.0-next.2",
4
+ "version": "10.0.0-next.20",
5
5
  "author": "RJ Dellecese",
6
6
  "bugs": {
7
7
  "url": "https://github.com/rjdellecese/confect/issues"
8
8
  },
9
9
  "devDependencies": {
10
- "@effect/vitest": "4.0.0-beta.99",
11
- "@types/node": "26.1.1",
12
- "effect": "4.0.0-beta.99",
13
- "tsdown": "0.22.7",
14
- "typescript": "6.0.3",
10
+ "@effect/vitest": "4.0.0-rc.112",
11
+ "@types/node": "22.20.1",
12
+ "effect": "4.0.0-rc.112",
13
+ "tsdown": "0.22.14",
14
+ "typescript": "7.0.2",
15
15
  "unrun": "0.3.1",
16
16
  "vitest": "4.1.10"
17
17
  },
@@ -23,6 +23,10 @@
23
23
  "types": "./dist/index.d.ts",
24
24
  "default": "./dist/index.js"
25
25
  },
26
+ "./*": {
27
+ "types": "./dist/*.d.ts",
28
+ "default": "./dist/*.js"
29
+ },
26
30
  "./package.json": "./package.json"
27
31
  },
28
32
  "files": [
@@ -30,6 +34,7 @@
30
34
  "LICENSE",
31
35
  "README.md",
32
36
  "dist",
37
+ "!dist/*.tsbuildinfo",
33
38
  "package.json",
34
39
  "src"
35
40
  ],
@@ -43,19 +48,19 @@
43
48
  "module": "./dist/index.js",
44
49
  "peerDependencies": {
45
50
  "convex": "^1.32.0",
46
- "effect": "^4.0.0-beta.99",
47
- "@confect/core": "^10.0.0-next.2"
51
+ "effect": "^4.0.0-rc.112",
52
+ "@confect/core": "^10.0.0-next.20"
48
53
  },
49
54
  "repository": {
50
55
  "type": "git",
51
- "url": "https://github.com/rjdellecese/confect.git"
56
+ "url": "git+https://github.com/rjdellecese/confect.git"
52
57
  },
53
58
  "sideEffects": false,
54
59
  "type": "module",
55
60
  "types": "./dist/index.d.ts",
56
61
  "scripts": {
57
- "clean": "rm -rf dist coverage node_modules",
58
- "dev": "tsdown --watch --config-loader unrun",
62
+ "clean": "shx rm -rf dist coverage node_modules",
63
+ "dev": "tsdown --watch --no-clean --config-loader unrun",
59
64
  "test": "vitest run",
60
65
  "typecheck": "tsc -b tsconfig.src.json"
61
66
  }
package/src/HttpClient.ts CHANGED
@@ -5,7 +5,7 @@ import * as Effect from "effect/Effect";
5
5
  import * as Layer from "effect/Layer";
6
6
  import * as Schema from "effect/Schema";
7
7
 
8
- export class HttpClientError extends Schema.TaggedErrorClass<HttpClientError>()(
8
+ export class HttpClientError extends Schema.TaggedError<HttpClientError>()(
9
9
  "HttpClientError",
10
10
  {
11
11
  cause: Schema.Unknown,
@@ -1,17 +1,17 @@
1
1
  import * as Ref from "@confect/core/Ref";
2
2
  import { ConvexClient } from "convex/browser";
3
- import * as Cause from "effect/Cause";
4
3
  import * as Context from "effect/Context";
5
4
  import * as Effect from "effect/Effect";
6
5
  import * as Layer from "effect/Layer";
7
6
  import * as Queue from "effect/Queue";
7
+ import * as Result from "effect/Result";
8
8
  import * as Schema from "effect/Schema";
9
9
  import * as Stream from "effect/Stream";
10
10
 
11
- export class WebSocketClientError extends Schema.TaggedErrorClass<WebSocketClientError>()(
11
+ export class WebSocketClientError extends Schema.TaggedError<WebSocketClientError>()(
12
12
  "WebSocketClientError",
13
13
  {
14
- cause: Schema.Unknown,
14
+ cause: Schema.Defect(),
15
15
  },
16
16
  ) {}
17
17
 
@@ -98,49 +98,77 @@ const make = (
98
98
  );
99
99
  };
100
100
 
101
- const reactiveQuery = <Query extends Ref.AnyPublicQuery>(
101
+ type ReactiveQueryError<Query extends Ref.AnyPublicQuery> =
102
+ | Ref.Error<Query>
103
+ | WebSocketClientError
104
+ | Schema.SchemaError;
105
+
106
+ const reactiveQueryResult = <Query extends Ref.AnyPublicQuery>(
102
107
  ref: Query,
103
108
  ...rest: Ref.OptionalArgs<Query>
104
109
  ): Stream.Stream<
105
- Ref.Returns<Query>,
106
- Ref.Error<Query> | WebSocketClientError | Schema.SchemaError
110
+ Result.Result<Ref.Returns<Query>, ReactiveQueryError<Query>>
107
111
  > => {
112
+ type QueryResult = Result.Result<
113
+ Ref.Returns<Query>,
114
+ ReactiveQueryError<Query>
115
+ >;
108
116
  const args = (rest[0] ?? {}) as Ref.Args<Query>;
109
117
  const functionReference = Ref.getFunctionReference(ref);
110
118
  const onError = Ref.decodeErrorOrElse(ref, mapUnknownError);
111
119
 
112
120
  return Stream.unwrap(
113
- Effect.gen(function* () {
114
- const encodedArgs = yield* Ref.encodeArgs(ref, args);
115
-
116
- return Stream.callback<
117
- unknown,
118
- Ref.Error<Query> | WebSocketClientError
119
- >((queue) =>
120
- Effect.gen(function* () {
121
- const unsubscribe = convexClient.onUpdate(
122
- functionReference,
123
- encodedArgs,
124
- (result) => {
125
- Queue.offerUnsafe(queue, result);
126
- },
127
- (error) => {
128
- Queue.failCauseUnsafe(queue, Cause.fail(onError(error)));
129
- },
130
- );
131
- yield* Effect.addFinalizer(() =>
132
- Effect.sync(() => unsubscribe()),
133
- );
134
- }),
135
- );
121
+ Effect.match(Ref.encodeArgs(ref, args), {
122
+ onFailure: (error) =>
123
+ Stream.succeed<QueryResult>(Result.fail(error)),
124
+ onSuccess: (encodedArgs) =>
125
+ Stream.callback<
126
+ Result.Result<unknown, ReactiveQueryError<Query>>
127
+ >((queue) =>
128
+ Effect.gen(function* () {
129
+ const unsubscribe = convexClient.onUpdate(
130
+ functionReference,
131
+ encodedArgs,
132
+ (result) => {
133
+ Queue.offerUnsafe(queue, Result.succeed(result));
134
+ },
135
+ (error) => {
136
+ Queue.offerUnsafe(queue, Result.fail(onError(error)));
137
+ },
138
+ );
139
+ yield* Effect.addFinalizer(() =>
140
+ Effect.sync(() => unsubscribe()),
141
+ );
142
+ }),
143
+ ),
136
144
  }),
137
145
  ).pipe(
138
- Stream.mapEffect((encodedReturns) =>
139
- Ref.decodeReturns(ref, encodedReturns),
146
+ Stream.mapEffect((result): Effect.Effect<QueryResult> =>
147
+ Result.match(result, {
148
+ onFailure: (error) => Effect.succeed(Result.fail(error)),
149
+ onSuccess: (encodedReturns) =>
150
+ Effect.match(Ref.decodeReturns(ref, encodedReturns), {
151
+ onFailure: Result.fail,
152
+ onSuccess: Result.succeed,
153
+ }),
154
+ }),
140
155
  ),
141
156
  );
142
157
  };
143
158
 
159
+ const reactiveQuery = <Query extends Ref.AnyPublicQuery>(
160
+ ref: Query,
161
+ ...rest: Ref.OptionalArgs<Query>
162
+ ): Stream.Stream<Ref.Returns<Query>, ReactiveQueryError<Query>> =>
163
+ reactiveQueryResult(ref, ...rest).pipe(
164
+ Stream.mapEffect(
165
+ Result.match({
166
+ onFailure: Effect.fail,
167
+ onSuccess: Effect.succeed,
168
+ }),
169
+ ),
170
+ );
171
+
144
172
  return {
145
173
  url,
146
174
  setAuth,
@@ -148,6 +176,7 @@ const make = (
148
176
  mutation,
149
177
  action,
150
178
  reactiveQuery,
179
+ reactiveQueryResult,
151
180
  };
152
181
  }),
153
182
  );
@@ -1 +0,0 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/value.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/type_utils.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/validators.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/validator.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/base64.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/errors.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/compare.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/size.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/values/index.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/authentication.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/system_fields.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/data_model.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/filter_builder.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/index_range_builder.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/pagination.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/search_filter_builder.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/query.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/schema.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/database.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/api.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/meta.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/scheduler.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/vector_search.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/registration.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/impl/registration_impl.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/storage.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/cron.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/router.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/components/paths.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/components/index.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/logVars.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/audit_logging.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/log.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/server/index.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Types.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/HKT.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Function.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Ordering.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Order.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Combiner.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Reducer.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Equivalence.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Predicate.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Inspectable.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Pipeable.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Unify.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Utils.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Result.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Filter.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Option.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Record.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Array.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Hash.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Equal.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Context.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Exit.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/LogLevel.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Duration.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/BigDecimal.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/NonEmptyIterable.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Chunk.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Deferred.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Latch.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/MutableList.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/MutableRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Scope.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/PubSub.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Pull.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Scheduler.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Queue.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Cron.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Schedule.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Take.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Tracer.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Channel.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/ExecutionPlan.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Sink.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Stream.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Layer.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/DateTime.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Differ.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Formatter.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/HashMap.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/HashSet.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/JsonPatch.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/JsonSchema.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaIssue.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaGetter.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaTransformation.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaAST.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Optic.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Redacted.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaError.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaParser.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaRepresentation.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Struct.d.ts","../../../node_modules/.pnpm/pure-rand@8.4.0/node_modules/pure-rand/lib/esm/RandomGenerator-CKZRB3Fu.d.ts","../../../node_modules/.pnpm/pure-rand@8.4.0/node_modules/pure-rand/lib/esm/types/RandomGenerator.d.ts","../../../node_modules/.pnpm/pure-rand@8.4.0/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.d.ts","../../../node_modules/.pnpm/fast-check@4.9.0/node_modules/fast-check/lib/fast-check.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/testing/FastCheck.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Schema.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Brand.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Data.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/PlatformError.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/FileSystem.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Logger.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/References.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Fiber.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Cause.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Clock.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Metric.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Request.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/MutableHashMap.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Cache.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/PrimaryKey.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/reactivity/Reactivity.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/sql/SqlError.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/sql/SqlConnection.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/sql/Statement.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/sql/SqlClient.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Path.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/persistence/KeyValueStore.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/persistence/Redis.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/persistence/Persistence.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/unstable/persistence/Persistable.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/RequestResolver.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Effect.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/BigInt.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Boolean.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/ChannelSchema.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/ConfigProvider.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Config.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Console.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Crypto.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Effectable.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Encoding.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/ErrorReporter.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/FiberHandle.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/FiberMap.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/FiberSet.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Graph.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/HashRing.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Iterable.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/JsonPointer.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/RcMap.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/LayerMap.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/RcRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/LayerRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/ManagedRuntime.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Match.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/MutableHashSet.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Newtype.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Number.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/PartitionedSemaphore.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Semaphore.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Pool.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Random.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Redactable.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Ref.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/RegExp.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SynchronizedRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/ScopedRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Resource.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Runtime.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SchemaUtils.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/ScopedCache.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Stdio.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/String.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/SubscriptionRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Symbol.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Terminal.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Trie.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/Tuple.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxChunk.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxDeferred.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxHashMap.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxHashSet.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxPriorityQueue.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxQueue.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxPubSub.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxReentrantLock.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxSemaphore.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/TxSubscriptionRef.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/UndefinedOr.d.ts","../../../node_modules/.pnpm/effect@4.0.0-beta.99/node_modules/effect/dist/index.d.ts","../../core/dist/FunctionProvenance.d.ts","../../core/dist/RuntimeAndFunctionType.d.ts","../../core/dist/FunctionSpec.d.ts","../../core/dist/Ref.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/function_result.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/logging.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/optimistic_updates.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/vendor/long.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/protocol.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/udf_path_utils.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/local_state.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/authentication_manager.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/client.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/sync/pagination.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/simple_client.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/http_client.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/query_options.d.ts","../../../node_modules/.pnpm/convex@1.40.0_react@19.2.4/node_modules/convex/dist/esm-types/browser/index.d.ts","../src/HttpClient.ts","../src/WebSocketClient.ts","../src/index.ts"],"fileIdsList":[[108,122,282],[281,283,285,286,289,290,291,292,293],[97,281],[108],[122,288,289,290,294],[282,285,287],[97,281,282,283,284,285,286,288],[97],[97,285,286],[97,108],[97,122],[97,98,284],[90,103,112],[119],[90,91,92,108,112,117],[97,108,110],[97,99],[97,99,100,105,106],[97,100],[100,112],[90,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,118,120,121],[100],[119,120],[108,112],[89,91],[100,101,102,103,104],[89,90,91,92,100,108,109,110,111,122],[112],[89,108],[90,91,92,99,100],[90,97,100],[89,100],[89],[89,91,92,93,94,95,96],[90,91,97],[89,90,92,97],[123,124,125,127,129,130,131,136,138,139],[126,127,130,132,133,138,142],[126,127,128,129,130,138],[125,127,129,130],[123,136,138,176,179,191],[131,133,138,144,146,151,203,218],[123,132,133,136,138,142,143,197,198,218],[123,125,131,133,134,137,138,140,143,144,145,150,155,156,157,159,161,162,163,168,199,218],[140,164,191],[123,124,127,130,131,132,133,136,137,138,140,142,149],[143,146,218],[127],[138,145,146,179,181,191,218,222],[123,133,143,155,168,194,195,199,211,218],[143,155,218],[123,125,132,133,138,142,218],[123,130,132,133,136,138,142,169,199],[143,194,218],[123,133,134,199],[125,127,130,132,133,138,143,146,168,199,218],[123,125,133,138,144,199,218],[127,128,129,130,132,133,138,142],[123,124,125,131,132,133,134,136,137,138,140,143,144,145,146,155,158,161,163,165,168,196,198,199,200,201,202,216,217],[198,218],[123,136,199],[130,141],[124,129],[139,143,145,155,168,198,199,218],[133,140,143,161,168,218],[123,136,138,199,218],[123,133,140,143,144,145,155,158,163,197,218],[132,133,138,151,155,158,198,218],[132,133,138,151,155,198,203,218],[132,133,151,155,198,218],[138,143,155,166,167,168,192,194,218],[123,131,136,138,218],[124],[123,132,133,138,142,193,199],[123],[123,132,133,136,138,142],[133,205],[123,131,132,133,142],[123,136,138,139,140],[191],[218],[123,125,133,134,140,143,144,155,163,164,167,199,218],[123,143,146,155,168,218,236],[143,146,155,161,168,218,238],[127,130,218],[133,143,145,146,155,168,194,195,198,199,218],[143,144,155,168,198,218],[123,131,133,134,136,138],[123,133,143,144,146,168,218],[132,133,138,140],[132,133,203],[132,133],[127,128,129,130,180],[126,127,129,130,138],[123,136,138,179,191],[123,124,125,127,128,129,130,131,132,133,134,135,136,137],[124,126,129],[125,129],[138,218],[143,168,194,218],[123,193,199],[133,144,146,152,155,218,246],[123,124],[123,125,133,138,140,151,152,153,154,155,218],[136,144,199,218],[123,132,138,140,144,153,157,158,199,218],[140,143,149,199,218],[133,143,146,151,155,198,199,203,218],[123,133,146,155,218],[123,124,128,129,130,136,138],[143],[123,130,133,142],[128],[123,133,138,154,218],[139,143,145,158,163,196],[123,143,144,199,218],[123,133,140,146,155,163,191,202,204,214,215,218],[133,144,155,161,218,253],[123,124,125,130,131,132,133,134,135,138],[144,198,218],[123,133,136,140,143,146,157,160,169,218],[143,198],[123,127,128,130,133,134,136,138,144,146,147,148,150,169,170,171,172,173,174,175,176,177,179,180,181,182,183,184,185,190,192,199,218],[128,133,176,178,191,218],[123,176,199],[133,138,169,176,179,191,218],[138,147,171,179,191],[136,138,144,176,179,191,218],[175,179,191],[138,146,148,169,176,177,179,218],[143,144,218],[131,133,138,144,146,151,155,203,218],[125,133,155,218,252],[123,125,131,133,134,137,138,140,143,144,146,155,156,157,159,164,167,199,218],[143,166,167,168,194,218],[123,124,125,131,133,134,136,137,138,140,143,144,145,146,155,156,157,159,161,162,163,164,165,166,168,199,218],[126,127,129,130,131,138,140],[127,128,129,130],[123,133,138,156,167,218,246],[138,218,246,250],[140,144,157],[138,143,155,159,191,194,199,218],[125,138,143,144,145,198],[127,128,129,130,131,185],[123,132,133,150,217,218],[132,133,136,138,217,218],[132,133,136,138,172,217,218],[123,131,132,133,173,217,218],[127,131,132,133,138,150,217,218],[132,133,155,218,270],[123,132,138,140,157,199,217,218,265],[132,133,155,218],[123,133,218],[132,133,155,217,218],[132,133,155,167,218,270],[125,128,129],[123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,211,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275],[189],[123,125,138,143,168,191,194,195,199,210,211,218],[123,144,146,191,202,205,214,218],[140,143,144,146,155,168,191,199,200,210,212,213,215,218],[143,191,199,218],[139,143,155,159,167,168,218],[123,139,143,155,159,167,206,207,208,209,218],[143,155,167,207,218],[191,199],[143,163,167,198,207,208,218],[187,188],[186],[122,134,193,276],[122,276,277,278],[97,122,138,191,218,278,279],[143,168,191,218,280,294],[143,159,167,168,191,199,218,280,294],[295,296]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8e049e11e28043c79dab4129c374bdf419fd850883dea6728115ee338504537","impliedFormat":99},{"version":"56c7652b9e41b2acf8fc249f13bbf293f2fd5d20a6826a779fb13f2b41310285","impliedFormat":99},{"version":"c3a167d97f273863ebaab83d2542d6f65ad441c1ecd503941380ade6e1917d5c","impliedFormat":99},{"version":"7850d6321a180d766be2135754e02dad1abdf4c838c68af9a209bd1f58b65f4f","impliedFormat":99},{"version":"27f7e8c28ea53d110d4a4e3a365736dc2cdf2c46e3aa02e48c5ec22207123b9d","impliedFormat":99},{"version":"c5ee44dca52898ad7262cadc354f5e6f434a007c2d904a53ecfb4ee0e419b403","impliedFormat":99},{"version":"cb44dd6fd99ade30c70496a3fa535590aed5f2bb64ba7bc92aa34156c10c0f25","impliedFormat":99},{"version":"1dd1b5dbac5619a8cbec1534db4912fb630347d360083750dad29cf438a94118","impliedFormat":99},{"version":"0a7e9d7d7549e76e20b61d5ffeeedda9fc221db143c08980e9c55cf9909722cd","impliedFormat":99},{"version":"ed6fd0951de157501bfb5772742b7dddac9ca8e53f1ab201513af8c91f92de66","impliedFormat":99},{"version":"ab59a5f7526fc8309ee5a5a28e3e358f6ed457bdb599dd6542becb706c0419dc","impliedFormat":99},{"version":"847b3c49eebf382b81a971ac21970ad1501c9805d595f256a86526d3e0b74df5","impliedFormat":99},{"version":"c4dd27a0c3897b8f1b7082f70d70f38231f0e0973813680c8ca08ddf0e7d16c1","impliedFormat":99},{"version":"b23fad2190be146426a7de0fa403e24fccbc9c985d49d22f8b9f39803db47699","impliedFormat":99},{"version":"6ad179a688d2cc17c4450ff68d7736487513d84de3bcf56012be7695193abe0c","impliedFormat":99},{"version":"895d89df016d846222abdd633b1f6e3a7f4c820f56901dbda853916d302c16f2","impliedFormat":99},{"version":"eac382beb3caab54de8539a7a012aebca873032987acca9a6e60b65b8c5139bd","impliedFormat":99},{"version":"3079f20851804cfff72cd1b8ca93d8c7a14ea60465176c56dc7ae713498d8c7d","impliedFormat":99},{"version":"986fc8888567348fbc70abaaa8e41f58f2b0fbcbe0d46f556389cd9750a7e406","impliedFormat":99},{"version":"5282413ed863194cc7cd873fe3f485168ad08658a91bf026c2a0a8e4db900196","impliedFormat":99},{"version":"fbe6a2345134ced1297cb067b690968de21f128e021a6a9d6edf0f7eb1d6dc2f","impliedFormat":99},{"version":"5e8dab7ea4056d557b1ac48dc2905b97669a5fdea37c3c79a5563e2e126f1b29","impliedFormat":99},{"version":"7c1c1d4c8fe888eecca43aa8d1bb12811c4915ffd27718b939c9bb127f2225bf","impliedFormat":99},{"version":"4a14d6d0674aed28641f02810d5844d523ce2cb466d325b2ffcc097c7bcd6b67","impliedFormat":99},{"version":"da26ce433bffc096a52108d0ef4ac55881d13d70b0c371738d73cbd67591bad2","impliedFormat":99},{"version":"34b6847b168dd7aa74c772c0f5c68afe7c6b35348f5d3071681c1f26e276318d","impliedFormat":99},{"version":"9f2a41d65629c9d3218d3451b5b73dd96956f9078720e5ea2acf469ea6895240","impliedFormat":99},{"version":"2d1924bb4fa9f785437228ca40cd05162795b36295b9addaed7aaef2e8e5c7e5","impliedFormat":99},{"version":"99d62f5ac0911ef2a22c1a67a69e8441e1b409d1773837ba58361e8d574b4152","impliedFormat":99},{"version":"4c9f04b85b9beec6a75da9f4212801166f4b89e6a1e28dc6cb260cde489b9e27","impliedFormat":99},{"version":"712eb912c80fa09852338ec64b09157c2e326f2664a98c9b80b1006398c83b10","impliedFormat":99},{"version":"39e8248275fc12910b1c936d01407d03034d79d76064b4e5008ad695ffdc84da","impliedFormat":99},{"version":"4f4fd894db27564921f23d7453c1f45b05db63b3bc7e91e2b256f50509c32b91","impliedFormat":99},{"version":"2e4306e222ef5ff15f64be519caebcdd84cab1de48eadc078b089181e4a3b000","impliedFormat":99},{"version":"26c6b51fa5db5118df59f30526977235172b19082230febea9457d7c46bb2cf0","impliedFormat":99},{"version":"b2a53e4068bf3bb0484e546a0e211bdc31343f57a06a4cd362dd254c8531d9cb","impliedFormat":99},{"version":"4134343c3e084889d67d6168902dcd1fc23b3c413892b9048cc203487d78b33c","impliedFormat":99},{"version":"4ab7697fc5ea2610a68939ffb71668685e8e34b2083a3833a167c7ef402dcb9b","impliedFormat":99},{"version":"5122adca1430112c5ddeebb061f576803affe49684c25ad6c89f14ac8b4d9915","impliedFormat":99},{"version":"4548bcdf485e2a1ebd9e880aa03bb01f26778f1825f803c252ec223ab07b279f","impliedFormat":99},{"version":"3beae00ba79eaa7e3b6218621ea21b43a6e593317507593c86e7ee659a894eb6","impliedFormat":99},{"version":"6cc1607e434046a6e2dbb1a4b066210dd804ae82231f146146a27c4a25997980","impliedFormat":99},{"version":"df4d841548f32f58cc12740c1d6aa6b693ba1c0d6b4113eba071180ba07db4c5","impliedFormat":99},{"version":"5926c741f86868b954a782504dda07af76c64589b503b05f7e0acf3d315a3950","impliedFormat":99},{"version":"d0707735ad913c93ab5943a85f215504d530725cb3bad0f3fb2b95e80669db2e","impliedFormat":99},{"version":"c7d03733983a4721cca40bbecd24e07a9bab3b2b90699f48b2d0d0b9d8a1ff15","impliedFormat":99},{"version":"6d37ff5e9b65179fa7cb370272fb2a273b8274dc1bd9ed7962d1a53431be32bc","impliedFormat":99},{"version":"4de3e1260ab33b68adc8f3f07858174bface804bed8ba5c513e663cc967271b4","impliedFormat":99},{"version":"8216280a2ce3f3fe691b64b757a9a4b101072be8fde8da4d31e488d2856314e9","impliedFormat":99},{"version":"e0ec8b83d11314e3e0cbd8ac57f9849e8d06bdfe5b0918ea8517cc28aa921d42","impliedFormat":99},{"version":"3d13cebf1527b557eda4b654761bc12ef4b4ee184ca3e5de45f3f0a216ff35d2","impliedFormat":99},{"version":"e17e184d884f727b73a88a498b6cc301ce0f4a27a9e6aba462c08def64eb07a3","impliedFormat":99},{"version":"3680c4da0928c1275aa300711e32303a3750aff7820789aa0b80f1584e545350","impliedFormat":99},{"version":"d8018e10f84e9243e636668540a056c3772cbfb5148c2d26c7b5e3fbad014256","impliedFormat":99},{"version":"996775066fe18fdf2ebe8113c12e123074558b06a06fcd93cd085cedde4956b3","impliedFormat":99},{"version":"5724774ec407dbbf97f26f6cb728cf68069ae544ec82d6a44ea7df6770aee40b","impliedFormat":99},{"version":"2b8af9162fd1e969e1ad7795bef77dda273422834608e16dfcc612c72cb696aa","impliedFormat":99},{"version":"bdc286bd8051517c543b8d2e77ae44367d0a38d33aec25018600cdc0fba6cecb","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"b4935af9e7fa23ea03b87295884863b6952ed4e94ea9b966c373f32347412589","impliedFormat":99},{"version":"2f2e4feb0a7b7809ee1ac4171fccbbb5fbd711624cf356ad08a7cc090dccfe3a","impliedFormat":99},{"version":"cb3da2f9a95bc87f9a5f509c51a4eea13d63e5e4ccd5c7b10008b0fe4a35830b","impliedFormat":99},{"version":"41f68c216a6fccf526db4db7f9bf57cf536d26802db72b188702c468abb796d6","impliedFormat":99},{"version":"98fe1c47a2242bdb9f0506c3c21c9c638d050d06cc727205e74c067867bdec19","impliedFormat":99},{"version":"01b147b9bde620fecd14c2ba4acb2eaa6a8d3f7e6cadcaf139a96f39fe1ca19d","impliedFormat":99},{"version":"9cd6cda8d277af5d60d9e66340b11751e1a481791b777c8aa9041c741be6408e","impliedFormat":99},{"version":"fe7f7bed70840a73aba01341c94574c72364e6a062cc60bbb93732da950747cf","impliedFormat":99},{"version":"541ff2923997a251e41d4967bdf93c18712847da73cc71aec2c773bb7e2d4386","impliedFormat":99},{"version":"0ca7b0459ca84199006ce9a859e39e0a1a3e399773e4137c4c22878085868f84","impliedFormat":99},{"version":"dd79178261619359a3070a8696fa77d430b71bf2588ff2502026a26901552c1d","impliedFormat":99},{"version":"558b4e79664ed8f306a762c6e49b89e851ab5e3d423b0e4912b7c061c814ed6b","impliedFormat":99},{"version":"4fbf84a2c157cee0b31c7a35c138b846442085ff4be49642695b28630f0a0f21","impliedFormat":99},{"version":"7d5813809a0f90d88cf856010e94ee0c9094f237dde8bb053465376fe1d0259a","impliedFormat":99},{"version":"bc3a2fb50a646aa0dd360c3ea7c13ce8e46c3356ce15018b4dd08563140e85ce","impliedFormat":99},{"version":"5b7fb01f1074db2dd85d90cd8375f0e5fe53b884475df7d7be798e8e9d7b0e61","impliedFormat":99},{"version":"6dec56b6ebde10cbad0077e56ac57d7c2a2a84764b9b896805c120e09c348770","impliedFormat":99},{"version":"e4af506306bd84d2d488abb4f16b4bcc206fd8f6c2811cbe3c377176fdf69cc5","impliedFormat":99},{"version":"49ad6b83629211aff8ab647aaf8538def7829ac9a1776e85f7603fc65b4491a7","impliedFormat":99},{"version":"b503cd7fe87363b587391833cdd28bfa723d42083e6c30cae25c036efeead60c","impliedFormat":99},{"version":"69e72a64d893a93a19cff3363eac918fbe24ba3bfe3d83f5ec0664797fff1205","impliedFormat":99},{"version":"4ef72123ba65f8cf5d1981cc97b01822c7a34a6c648213ef7e82047ea5a08216","impliedFormat":99},{"version":"bc23da4fca79cd67b2267049e2d8786599f6f8e2495d27cfd1d05f9cd06750ad","impliedFormat":99},{"version":"e9c7a1e0755f5e81e3b5057cd17084318f15adc061035f83cee2059050f89674","impliedFormat":99},{"version":"a5cf939dd312143432513195bfea14cfe112b2b4e0869b7e5963be94a004aab2","impliedFormat":99},{"version":"aeaad02153aee684bf261e76a8d55920b98839585cc01f69116f0b5c08babe5f","impliedFormat":99},{"version":"0948c6b298ce62972fc77ac4e9aed262e6ad0c02a0cb83a8df3e9a2a59948538","impliedFormat":99},{"version":"d4a2a5ff88d97a6f3f63c5a080fd77f2eb586e2f66d5c40909c43fd181a0392b","impliedFormat":99},{"version":"8313f658870e60baa103e792900d91b2deb4a6a5a833a1dffe322cb20bf1e60b","impliedFormat":99},{"version":"d68c3d273da17c26d14f5d555f1e9f0a4e5a626170404fc78cf7fac5c87cfc2a","impliedFormat":99},{"version":"3245164399c0ed4e8623a961e60f60eb049a9a1cab093e07814967f6d3203714","impliedFormat":99},{"version":"f01673cac8b937206e5fd544a9fbda1d78158232b23cd3bdf903a0a2f2c3a84e","impliedFormat":99},{"version":"da8673bac4fceb824efa1bfecce7cd71920b74e21edf2060ef162d3a64d2f230","impliedFormat":99},{"version":"dc57a5453485fe3932dcdfc945f3ac94b1773005892f9a873c680e5165ffb7ee","impliedFormat":99},{"version":"6d06d132831fb9219442ac69b2ebcffc06ae4f7634805c9a8cef171c38fcc841","impliedFormat":99},{"version":"8d17109a788d79f268b9f3edbdb610a5cc6e11b9fe2cd10f6d3897758758db73","impliedFormat":99},{"version":"bfdb772aea8f96f7312b11a40d24416dbde3c1c604b6d6cfb8bc323a694ee2e9","impliedFormat":99},{"version":"cccc7eb728520a25afd849967f55ba2bd8e61d328f47db353e08a950cf5cd9aa","impliedFormat":99},{"version":"80f829c59dfb2ac33d6b02467d78bc88790963fc168ac5e3003880f6a414414b","impliedFormat":99},{"version":"a88ac70da90568928e571a83ff90dafc2942cf390522c94324ad6e564ca0d892","impliedFormat":99},{"version":"7b1c855dcc8538439f185381220e39e7d5c4d09e4b3f8888f41ea068cd7a0839","impliedFormat":99},{"version":"29ac3721c3e26235e2fdb106b5a6909fdc3cbb273c869129ed6df7542e733014","impliedFormat":99},{"version":"2dc2768ba2c8feab6ddd23fa9bbd7245cf9108c3a6cdb708109fe28859b42fc8","impliedFormat":99},{"version":"07ff56158bdf37e862818acc3eaa3819e1bd1359d2722fbf5c0975e1324e87f2","impliedFormat":99},{"version":"761a96b93e2f68a1073c4f35bd58cca32e5ad5500e696cbe4bf98c57a0ee9c03","impliedFormat":99},{"version":"015f09e044efc0156329eabe853567ed7291ffc767216f6ae13966e65ec19c19","impliedFormat":99},{"version":"5c88d24ea875fbe1d082a69013ec490498c102b184cd5a69175adda9e4b3ee52","impliedFormat":99},{"version":"92da8a9fda30058cd39989e26b35fdedb665a366b252df86b0372f1df0746ed0","impliedFormat":99},{"version":"5f82438f541b3d843eda0f88aa304052fd50899bd6b1db06a5264ae11fc0d44d","impliedFormat":99},{"version":"c715f66ce54039058ea230dc303272f85ff5804d5fa8b70b972bfae5fd6d76b3","impliedFormat":99},{"version":"def1b429d467ef78664032e41c6a315d689346df499a6cb6f176f82920b82dd4","impliedFormat":99},{"version":"3648337810b61294b73be2dec22678524830ac5c7151cbdd3a8b635e398463f8","impliedFormat":99},{"version":"cf63ecaac59b1379167a4d8ec378e3d54dc0a1f6f0c6d4093a8e5e563546cf4d","impliedFormat":99},{"version":"4c64971053cb423082d10ebbc7b490872fa9ac9d0c47bc9a722a50f2d3ae9879","impliedFormat":99},{"version":"1cdaae81e618e41b3f9058833485103411f548510508036d8be186130a92ef80","impliedFormat":99},{"version":"5fdeb88d10b813c0da1b6e01476ed9c1d21e17073faf401e913764905bd99716","impliedFormat":99},{"version":"f75c102970ba33b9359ca5978d0876d802d80186bdf5ff527043c2d63689d937","impliedFormat":99},{"version":"c582297e292298dc18bd9f2cfeeeebc267db029054817f60edf72beb6bc5e1b3","impliedFormat":99},{"version":"75f853d74a6200e931e0e641b4fe0b3b4d848581b56cf5a46e7e17dc19de5fae","impliedFormat":99},{"version":"04e9431315b7524eb3e0cb2e9fb5396e2561458f797374df45697a00d1722d37","impliedFormat":99},{"version":"e63534e7bd60830735483da51ae395273cc42ffabc8eb1073a6ce5580abc7530","impliedFormat":99},{"version":"54917f5a4705eaa7c37515f8c9b99479c02308eaf1b2f15021b6a4ca82f449ad","impliedFormat":99},{"version":"6572c5a65b64776d60defdc99d9346fea30dc62c4d63a13f88e25038d1ea3dde","impliedFormat":99},{"version":"77d5cfaaeafd83a03363bb2ca32ac1e20ab2156e515d52f9f425a2d40d91d167","impliedFormat":99},{"version":"b9f96606ed3e5597f1bd6a2b902383025c9395d8af0d47417501f99e19a0dc4a","impliedFormat":99},{"version":"bbea5a80c5b55fbf570e4ed180cba209c59ca07ee1c6a54c21f5c5861e7c1249","impliedFormat":99},{"version":"83c7959413af6b117ca837a9b473397aa6de87e44a956db67956b67d4e1c54d3","impliedFormat":99},{"version":"6f7c1595e87c16d7d3f7c30fbedddc242a50398f19541e082d3cd7000033fa4d","impliedFormat":99},{"version":"fee0991a747b1c4314d6850718d8ed2e9b9249923b89cd678e84eeb524cb9e07","impliedFormat":99},{"version":"5bee0065b138cde392b5616384ed85ba7beea78570729de50d85a31e2c0346c3","impliedFormat":99},{"version":"554fea2502b1f71b6a42d5823592e41e59f038b57da3c3d0e9509bcc649b64b3","impliedFormat":99},{"version":"0e86e9c0aa8d32924ae1874b99802faf401374867eb2eba371a536e8f4d45a59","impliedFormat":99},{"version":"d6d8af6a05fd5fc4996d448cebc1d115159bf9704389e750ccfe258063b7144d","impliedFormat":99},{"version":"374587a7e76ddeab5997159e76b947e844950f7bde30879e90119cce4f94aa92","impliedFormat":99},{"version":"bb9deb374abd6084119eb9b895f8cc9774999a0a87911c23438e1f3109a8e06f","impliedFormat":99},{"version":"5671df7110ba57ef30af281f9658f47dd70b2507db856acb1bf0f62689004f41","impliedFormat":99},{"version":"d1e62920be3a6de81ff193bc5188fe19621e755d5385c963f097f0b4422b28ca","impliedFormat":99},{"version":"92b7c407d645576b8abc7b73679513f94d1a6ea0f05bf38adff7cb2e7ae6b142","impliedFormat":99},{"version":"24fdf47005d22b9ad4e338c8d8fabc8e61baa90a5890e8586fd05f7b77ebb8e3","impliedFormat":99},{"version":"e223449e1f534fd2e67596c4d1639486d8c59ff6493fa18c48a8582b4868e38d","impliedFormat":99},{"version":"2c042e02275998a5900289691e21ed6197e2c840a1f429f84215b19a7afbda4f","affectsGlobalScope":true,"impliedFormat":99},{"version":"755bab460a324eca16e4220d18d47720df32cbf8a916270b473515e8e05123f2","impliedFormat":99},{"version":"2f03db598e31a4896cc29687c047fb1ba2c039cbde1ebca89248391886410aac","impliedFormat":99},{"version":"a5f1aff6faf6777eb0d488214650c6a115be3b4c487643e7254cb3dd33ce5f3e","impliedFormat":99},{"version":"ad0cf7792ac5c498b3defd7081d552fd635ae71348c1a6d185a0d0ff6c82eb60","impliedFormat":99},{"version":"db5b7e5cd2f1974f5b1e7700e242b88b7821cff5d3bde4d172f3f27110cf52d9","impliedFormat":99},{"version":"979337b054c40208415f235ab576c9a4192c82c48e3cb5256f08845b0184e9fc","impliedFormat":99},{"version":"d914323d698be251f92dc77c6dd3e2addf5e0a708c2a8642ffb25dc442bc9795","impliedFormat":99},{"version":"1ac538f7e0fa26e1862f2a95f0418372d47492c7d9fc512a4e1ed629d6504531","impliedFormat":99},{"version":"1aa938e19683a0280c9da77733f06c8d58fa9a73f6c08ccd8050dfe4284819f5","impliedFormat":99},{"version":"386de59851a6de6ce1a060a1db0455f6b7eca562ce8edcfb35a5f48e7f6a26e3","impliedFormat":99},{"version":"9e1d6e0cc075a8742c1e9add7e8c6c56702b1880e8660e127e0dbe1efe023778","impliedFormat":99},{"version":"2565c025c1bd13231b17050c1794b0ea135e43d312ff1e77815469720c799525","impliedFormat":99},{"version":"de6433fb0aabbc0d6cc0519bcdfc19de677189b5ee32433297a5227ab6980489","impliedFormat":99},{"version":"834959fefa661c9756b0eff19f0fd9555029258f02994c9f179975e00b20f6ff","impliedFormat":99},{"version":"cd7bc29b59a13c75912d2632da82757fcd40b11e80e33ba425120774e6748ce4","impliedFormat":99},{"version":"151f3b3d1cbbbea995e34e1bce84b22ff4991f09c52ef581fa8397a159049fc1","impliedFormat":99},{"version":"b60a591cd78ffa4249317c618da85aa1ab74207ea3a9a2d6ea1efaf73c10ffef","impliedFormat":99},{"version":"0354e8cd9622f4973ddd25ea96a27aa414d8aa34b26e0c4e19c505fd37cd6742","impliedFormat":99},{"version":"0b52d0feeff902147cbfbb2efc288864018147416c594a007336fb00ec950e69","impliedFormat":99},{"version":"40982c42aa963311cb2ed86fe32701d27a530d54b750e484746d7a2785b68f26","impliedFormat":99},{"version":"89635984677fa37aa219e4f496a0a59e2bf2ba607df1120971aa9e023cdcfee2","impliedFormat":99},{"version":"b1e495b2c896a0d2e2854aa27718b80a6eb4ffc2623c3537200db9d52f6ba412","impliedFormat":99},{"version":"550cdd5fbd7977a795c811d4200b65ba1140d10ce1623cc9465632d5c3f245af","impliedFormat":99},{"version":"e9a8a25e3671f5b452312dc7b16b75b059675dda304d722a2be76e8a2c23a779","impliedFormat":99},{"version":"31bd2d789d87981e525e5dbd2ae5361b9a23ea61b1ac69a9c9c199a838dbe33c","impliedFormat":99},{"version":"8e98e3c603312ad103b3d12b2d46e1f5c36dccd4bdd54e44a7fcf05b08f74a55","impliedFormat":99},{"version":"3659a32284f13c4cd98e1d4788e7a2d9b7c62928858af396b050dbd4c29f09b6","affectsGlobalScope":true,"impliedFormat":99},{"version":"cc914408dfef7610ee5a5f8d30cd852e6cbd3e72bd624ff0574760a01653c3ce","impliedFormat":99},{"version":"0800e986afd9ed03866e48aae192c6e7c1e1ca7982e37843384474ca48ea5e80","impliedFormat":99},{"version":"24502863e090b350b16af6e9b64239c9f4c145f5c7ef08e21d941be10b4fcd1d","impliedFormat":99},{"version":"1e37e5e333c79624e2925c2409c7ab4acc982d842f5b2290124cd1c8a30a0fd1","impliedFormat":99},{"version":"1db6d1ec0d80e8467f50cfe0eb692e23ec5257b906f02e75e4de4abff0c93dcf","impliedFormat":99},{"version":"d42a1234fc7466f26339089a35114e52f7ad8ce1d0716775d49e3914bd6bc065","impliedFormat":99},{"version":"ff936db132dc2959f70604d7eca1df1419df1fddbcece2f65e18f2348e06cf77","impliedFormat":99},{"version":"f69fbb651300ba319a8080d6854ae7d131793e6e2b72b451af3a16fc486b063e","impliedFormat":99},{"version":"0f9639e2b74fe46d48877809f454bbbe4e06f925bc8e60ac249ccfecdb4462c7","impliedFormat":99},{"version":"39b131e8b9bd8bc5f7a6ac3a30ce3791f375e905afdd93cc678cccc37dfdf6d8","impliedFormat":99},{"version":"897b6a1b6aba1ef8f2ce46b3a90cfe228961aef845ec56a6263c91c52cb9d479","impliedFormat":99},{"version":"9372a6f9b8bd9d68c2c5c87a1b221f7cc5d5f49f1837799c61832b9d9cdfe4bf","impliedFormat":99},{"version":"8f649f8b323e74bd073623003a3a6ff139aef735f3a8d2e841ed33099dd8db43","impliedFormat":99},{"version":"84407ee4f0a4032e8efbcfeb60e0da6356747c42f30d5a191af09efff9028f61","impliedFormat":99},{"version":"0705c9a98325da0f9c4975fd4730350a6e365cb4fb4c6713be9e5050e1e47af0","impliedFormat":99},{"version":"2686d2455aef490d66b193857bc53378457776baaa5cafffb60439c1d4621aeb","impliedFormat":99},{"version":"0d335a723d369d6a977f74288888f5ab99772337ccfc954c8fd559c362d4cf16","impliedFormat":99},{"version":"7716ae4f02b7034a1062ad9dcfadd62de22a23c0ccfc700d3f001bea9192e5bb","impliedFormat":99},{"version":"4293d03bc28e73b3e796c92a7559137c21b9ad0103512ec2387292ca64c98c14","impliedFormat":99},{"version":"049704db7fac1b0214fbdb5b1cfe6387fc27e29da97341140c0d6e779373ccc8","impliedFormat":99},{"version":"bd2c7d8fe130d882d1d3fb02fc101519fac2d732d3ed2050983952ff522799c0","impliedFormat":99},"474faa74e5a29ea2077e41442a98797ff0b4ae82202ae8fe760fbff02ca33d57","213dfb39c1d2a414ab71e4906ed4fd51a7884604928f2ba9bc4cf9a8625d8d21","f2ea66af892b192e493e5736b1a61b3c037424e0915375a0e7b68b36714b9c9d","d60a3a907aa87458428e33c3ce80416d5a930787d948c5890483e185753ab0f3",{"version":"c350a902358c95ed32df253305e044aa109e96adfd66528c5d03fe75a45be7f7","impliedFormat":99},{"version":"553b96a938c932097c0416f529371833994889510c185a8b45630420428c1add","impliedFormat":99},{"version":"84aa893c666ccd0e5a15b3fb7fd278b10fcdc0b6e1911fb46a711e3fd649120b","impliedFormat":99},{"version":"f5c0229716cab5de0c590cd12615c347ef2a6e9793381272f1b074d67ca5d416","impliedFormat":99},{"version":"28e51826c19447a3354ac4fae5023326269a2a59ad735e1c09ec42aff20acc1c","impliedFormat":99},{"version":"38f9e317ee90e3ad8cb39d4aafe8afeb784bcb84210bfbb7dd8788e769f1afb3","impliedFormat":99},{"version":"7ce4403d02c6b349ad44d71cd3e016013046a6509def1124cf6b47247d393163","impliedFormat":99},{"version":"178f3ae3f3424f1a1e0ce312bd8d060dbac93e716905c2f7b65e54c6fd28adee","impliedFormat":99},{"version":"e928ad510390357fd344aefaae8f5bb655da7c3283857caaa9313c259d59de67","impliedFormat":99},{"version":"815fb4112c165f37fd2732d5ccd19f5e81ae33b662fb5a3af933b8bfd7954b32","impliedFormat":99},{"version":"cda7c95ef6f305bdab792edf17cba63f8020898de687d94230735b702ede2c44","impliedFormat":99},{"version":"9a0514b8d9fc823de2efa2618853532c0587e6f2acf177574ac937452a57ab0b","impliedFormat":99},{"version":"2390b4944e68a81fa306ee40df1e81ed7e82450da77df5f26c72fa982b012ab0","impliedFormat":99},{"version":"8b16b751f5f81e11627150b078d0060def6820152584c69ac3bfbfe75a2798b7","impliedFormat":99},{"version":"8e23a892ac6171301f88c2e57b3ecdf112211e402818dcfca61e70ef03de1b08","signature":"bc4133e9bf89fb42a560427e98211a0c728a66e8a9399eded1c90d8af92c693f"},{"version":"5b50f2a224b2b40b9e0d16d56b12011cea23a8fd3a4ef3d099c8cd01691b21e9","signature":"1cc2df9aeead3f7f1c896110d5be0cf5b360dc240f3623c984fb760b9a74d216"},"0fd52d53e76d87ba7f99d09534ed4b9aabf4c37582276137efe071d20e431424"],"root":[[295,297]],"options":{"allowJs":false,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"isolatedDeclarations":false,"module":99,"noEmitOnError":false,"noErrorTruncation":false,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":false,"noImplicitThis":true,"noUncheckedIndexedAccess":false,"noUnusedLocals":true,"noUnusedParameters":false,"outDir":"./","removeComments":false,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"stripInternal":true,"target":99,"tsBuildInfoFile":"./tsconfig.src.tsbuildinfo"},"referencedMap":[[292,1],[294,2],[282,3],[293,4],[291,5],[288,6],[289,7],[281,8],[287,9],[283,10],[290,11],[285,12],[286,8],[108,13],[120,14],[98,8],[118,15],[115,16],[100,17],[107,18],[101,19],[113,20],[122,21],[102,22],[121,23],[109,24],[103,25],[105,26],[112,27],[116,28],[110,29],[106,30],[104,22],[114,8],[99,31],[111,32],[95,33],[94,33],[97,34],[96,33],[92,35],[91,36],[140,37],[148,38],[219,39],[220,40],[192,41],[204,42],[199,43],[164,44],[221,45],[150,46],[200,47],[128,48],[223,49],[222,50],[224,51],[143,52],[160,53],[225,54],[193,55],[169,56],[151,57],[146,58],[218,59],[226,60],[227,61],[142,62],[130,63],[228,64],[165,65],[144,66],[198,67],[229,68],[230,69],[231,70],[195,71],[137,72],[125,73],[232,74],[124,75],[172,76],[233,77],[173,78],[234,79],[174,80],[152,81],[168,82],[237,83],[239,84],[145,85],[196,86],[240,87],[241,88],[201,89],[203,90],[242,91],[154,92],[243,93],[244,94],[180,95],[138,96],[127,97],[126,98],[245,99],[211,100],[194,101],[247,102],[131,103],[156,104],[157,105],[159,106],[248,107],[236,108],[238,109],[139,110],[249,111],[181,112],[129,113],[250,114],[197,115],[202,116],[216,117],[254,118],[136,119],[255,120],[161,121],[158,122],[191,123],[179,124],[182,125],[177,126],[176,127],[183,128],[184,129],[178,130],[256,80],[155,131],[257,132],[253,133],[246,99],[166,134],[258,135],[167,136],[259,137],[185,138],[260,139],[252,140],[162,141],[262,142],[163,143],[263,76],[264,144],[265,145],[266,146],[267,147],[268,148],[269,149],[271,150],[270,151],[272,152],[217,153],[273,154],[274,155],[275,156],[135,103],[276,157],[190,158],[212,159],[215,160],[214,161],[213,162],[206,163],[210,164],[208,165],[207,166],[209,167],[189,168],[188,169],[187,169],[277,170],[279,171],[280,172],[295,173],[296,174],[297,175]],"latestChangedDtsFile":"./index.d.ts","version":"6.0.3"}