@sunfall/arc-db 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/LICENSE +21 -0
  2. package/dist/change-feed-dispatcher.d.ts +21 -0
  3. package/dist/change-feed-dispatcher.d.ts.map +1 -0
  4. package/dist/change-feed-dispatcher.js +53 -0
  5. package/dist/change-feed-dispatcher.js.map +1 -0
  6. package/dist/collection-change-feed-runtime.d.ts +32 -0
  7. package/dist/collection-change-feed-runtime.d.ts.map +1 -0
  8. package/dist/collection-change-feed-runtime.js +50 -0
  9. package/dist/collection-change-feed-runtime.js.map +1 -0
  10. package/dist/collection-contract.d.ts +525 -0
  11. package/dist/collection-contract.d.ts.map +1 -0
  12. package/dist/collection-contract.js +4 -0
  13. package/dist/collection-contract.js.map +1 -0
  14. package/dist/collection-definition-snapshot.d.ts +64 -0
  15. package/dist/collection-definition-snapshot.d.ts.map +1 -0
  16. package/dist/collection-definition-snapshot.js +122 -0
  17. package/dist/collection-definition-snapshot.js.map +1 -0
  18. package/dist/collection-errors.d.ts +38 -0
  19. package/dist/collection-errors.d.ts.map +1 -0
  20. package/dist/collection-errors.js +17 -0
  21. package/dist/collection-errors.js.map +1 -0
  22. package/dist/collection-ids.d.ts +6 -0
  23. package/dist/collection-ids.d.ts.map +1 -0
  24. package/dist/collection-ids.js +6 -0
  25. package/dist/collection-ids.js.map +1 -0
  26. package/dist/collection-index-materialization.d.ts +29 -0
  27. package/dist/collection-index-materialization.d.ts.map +1 -0
  28. package/dist/collection-index-materialization.js +118 -0
  29. package/dist/collection-index-materialization.js.map +1 -0
  30. package/dist/collection-mutation-queue.d.ts +10 -0
  31. package/dist/collection-mutation-queue.d.ts.map +1 -0
  32. package/dist/collection-mutation-queue.js +46 -0
  33. package/dist/collection-mutation-queue.js.map +1 -0
  34. package/dist/collection-mutation-workflow.d.ts +18 -0
  35. package/dist/collection-mutation-workflow.d.ts.map +1 -0
  36. package/dist/collection-mutation-workflow.js +252 -0
  37. package/dist/collection-mutation-workflow.js.map +1 -0
  38. package/dist/collection-persistence.d.ts +48 -0
  39. package/dist/collection-persistence.d.ts.map +1 -0
  40. package/dist/collection-persistence.js +323 -0
  41. package/dist/collection-persistence.js.map +1 -0
  42. package/dist/collection-policy.d.ts +5 -0
  43. package/dist/collection-policy.d.ts.map +1 -0
  44. package/dist/collection-policy.js +7 -0
  45. package/dist/collection-policy.js.map +1 -0
  46. package/dist/collection-preload.d.ts +21 -0
  47. package/dist/collection-preload.d.ts.map +1 -0
  48. package/dist/collection-preload.js +4 -0
  49. package/dist/collection-preload.js.map +1 -0
  50. package/dist/collection-projection-callback-policy.d.ts +14 -0
  51. package/dist/collection-projection-callback-policy.d.ts.map +1 -0
  52. package/dist/collection-projection-callback-policy.js +25 -0
  53. package/dist/collection-projection-callback-policy.js.map +1 -0
  54. package/dist/collection-reactive-binding.d.ts +72 -0
  55. package/dist/collection-reactive-binding.d.ts.map +1 -0
  56. package/dist/collection-reactive-binding.js +95 -0
  57. package/dist/collection-reactive-binding.js.map +1 -0
  58. package/dist/collection-registry.d.ts +56 -0
  59. package/dist/collection-registry.d.ts.map +1 -0
  60. package/dist/collection-registry.js +123 -0
  61. package/dist/collection-registry.js.map +1 -0
  62. package/dist/collection-row-ingress.d.ts +16 -0
  63. package/dist/collection-row-ingress.d.ts.map +1 -0
  64. package/dist/collection-row-ingress.js +110 -0
  65. package/dist/collection-row-ingress.js.map +1 -0
  66. package/dist/collection-runtime.d.ts +20 -0
  67. package/dist/collection-runtime.d.ts.map +1 -0
  68. package/dist/collection-runtime.js +256 -0
  69. package/dist/collection-runtime.js.map +1 -0
  70. package/dist/collection-snapshot-codec.d.ts +62 -0
  71. package/dist/collection-snapshot-codec.d.ts.map +1 -0
  72. package/dist/collection-snapshot-codec.js +563 -0
  73. package/dist/collection-snapshot-codec.js.map +1 -0
  74. package/dist/collection-state.d.ts +72 -0
  75. package/dist/collection-state.d.ts.map +1 -0
  76. package/dist/collection-state.js +276 -0
  77. package/dist/collection-state.js.map +1 -0
  78. package/dist/collection-sync-load-policy.d.ts +17 -0
  79. package/dist/collection-sync-load-policy.d.ts.map +1 -0
  80. package/dist/collection-sync-load-policy.js +245 -0
  81. package/dist/collection-sync-load-policy.js.map +1 -0
  82. package/dist/collection-value-detachment.d.ts +34 -0
  83. package/dist/collection-value-detachment.d.ts.map +1 -0
  84. package/dist/collection-value-detachment.js +248 -0
  85. package/dist/collection-value-detachment.js.map +1 -0
  86. package/dist/collection-write-commit.d.ts +32 -0
  87. package/dist/collection-write-commit.d.ts.map +1 -0
  88. package/dist/collection-write-commit.js +51 -0
  89. package/dist/collection-write-commit.js.map +1 -0
  90. package/dist/flush-policy.d.ts +130 -0
  91. package/dist/flush-policy.d.ts.map +1 -0
  92. package/dist/flush-policy.js +96 -0
  93. package/dist/flush-policy.js.map +1 -0
  94. package/dist/index.d.ts +481 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +251 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/live-query-collection-materialization.d.ts +47 -0
  99. package/dist/live-query-collection-materialization.d.ts.map +1 -0
  100. package/dist/live-query-collection-materialization.js +231 -0
  101. package/dist/live-query-collection-materialization.js.map +1 -0
  102. package/dist/live-query-collection.d.ts +23 -0
  103. package/dist/live-query-collection.d.ts.map +1 -0
  104. package/dist/live-query-collection.js +94 -0
  105. package/dist/live-query-collection.js.map +1 -0
  106. package/dist/live-query-runtime.d.ts +8 -0
  107. package/dist/live-query-runtime.d.ts.map +1 -0
  108. package/dist/live-query-runtime.js +228 -0
  109. package/dist/live-query-runtime.js.map +1 -0
  110. package/dist/live-query-state.d.ts +11 -0
  111. package/dist/live-query-state.d.ts.map +1 -0
  112. package/dist/live-query-state.js +130 -0
  113. package/dist/live-query-state.js.map +1 -0
  114. package/dist/query-builder.d.ts +294 -0
  115. package/dist/query-builder.d.ts.map +1 -0
  116. package/dist/query-builder.js +373 -0
  117. package/dist/query-builder.js.map +1 -0
  118. package/dist/query-context-identity.d.ts +19 -0
  119. package/dist/query-context-identity.d.ts.map +1 -0
  120. package/dist/query-context-identity.js +41 -0
  121. package/dist/query-context-identity.js.map +1 -0
  122. package/dist/query-execution-plan.d.ts +27 -0
  123. package/dist/query-execution-plan.d.ts.map +1 -0
  124. package/dist/query-execution-plan.js +69 -0
  125. package/dist/query-execution-plan.js.map +1 -0
  126. package/dist/query-plan.d.ts +200 -0
  127. package/dist/query-plan.d.ts.map +1 -0
  128. package/dist/query-plan.js +524 -0
  129. package/dist/query-plan.js.map +1 -0
  130. package/dist/query-source-adapter.d.ts +25 -0
  131. package/dist/query-source-adapter.d.ts.map +1 -0
  132. package/dist/query-source-adapter.js +14 -0
  133. package/dist/query-source-adapter.js.map +1 -0
  134. package/dist/runtime-collection-store.d.ts +38 -0
  135. package/dist/runtime-collection-store.d.ts.map +1 -0
  136. package/dist/runtime-collection-store.js +149 -0
  137. package/dist/runtime-collection-store.js.map +1 -0
  138. package/dist/server-collection.d.ts +84 -0
  139. package/dist/server-collection.d.ts.map +1 -0
  140. package/dist/server-collection.js +84 -0
  141. package/dist/server-collection.js.map +1 -0
  142. package/dist/sqlite-persistence.d.ts +239 -0
  143. package/dist/sqlite-persistence.d.ts.map +1 -0
  144. package/dist/sqlite-persistence.js +345 -0
  145. package/dist/sqlite-persistence.js.map +1 -0
  146. package/dist/sync-adapter.d.ts +233 -0
  147. package/dist/sync-adapter.d.ts.map +1 -0
  148. package/dist/sync-adapter.js +226 -0
  149. package/dist/sync-adapter.js.map +1 -0
  150. package/package.json +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,251 @@
1
+ import { runFork, } from "@sunfall/arc-core";
2
+ import { Effect, Option, PubSub, Schema, Scope } from "effect";
3
+ import { backgroundSyncCollectionsPendingMutationsEffect, flushCollectionsPendingMutationsEffect, } from "./flush-policy.js";
4
+ import { makeSQLiteMemoryStatementDatabase, makeSQLitePreparedStatementDatabase, makeSQLitePersistenceStorage, makeSQLiteStatementPersistenceDriver, } from "./sqlite-persistence.js";
5
+ import { serverCollectionOptions, serverCollectionSyncAdapter, } from "./server-collection.js";
6
+ import { collectionQuerySyncAdapter, collectionResourceSyncAdapter, collectionSyncOptions, } from "./sync-adapter.js";
7
+ import { UnknownCollectionIndex } from "./collection-index-materialization.js";
8
+ import { collectionStorageFromSync, makeCollectionMemoryStorage, CollectionStorageError, persistedCollectionOptions, } from "./collection-persistence.js";
9
+ import { Query } from "./query-builder.js";
10
+ import { makeLiveQueryCollectionDefinition, } from "./live-query-collection.js";
11
+ import { CollectionTypeId } from "./collection-ids.js";
12
+ import { CollectionRowKeyChanged, CollectionRowNotFound, ReadonlyCollectionMutation, } from "./collection-errors.js";
13
+ import { CollectionPreloadCollector, } from "./collection-preload.js";
14
+ import { applyCollectionChangesEffect, collectionStoreEffect, currentCollectionStore, defineCollection, dehydrateCollections, dehydrateCollectionsEffect, hydrateCollectionsEffect, validateCollectionsHydrationEffect, subscribeCollectionChangesEffect, subscribeCollectionEventsEffect, } from "./collection-runtime.js";
15
+ import { collectionRegistryDiagnostics, collectionDefinitionRegistry, collectionDiagnostics, defaultCollectionDefinitionRegistry, makeCollectionDefinitionRegistry, } from "./collection-registry.js";
16
+ import { CollectionSnapshotCodecError } from "./collection-snapshot-codec.js";
17
+ export { UnknownCollectionIndex } from "./collection-index-materialization.js";
18
+ export { CollectionStoreTypeId, CollectionTypeId } from "./collection-ids.js";
19
+ export { CollectionRowKeyChanged, CollectionRowNotFound, ReadonlyCollectionMutation, } from "./collection-errors.js";
20
+ export { CollectionSnapshotCodecError } from "./collection-snapshot-codec.js";
21
+ export { CollectionPreloadCollector } from "./collection-preload.js";
22
+ export { defaultCollectionDefinitionRegistry, makeCollectionDefinitionRegistry, } from "./collection-registry.js";
23
+ export { Query, and, eq, gt, gte, includes, lt, lte, neq, not, or } from "./query-builder.js";
24
+ export { QueryEvaluationError, UnsupportedLiveQuery } from "./query-plan.js";
25
+ export { persistedCollectionOptions } from "./collection-persistence.js";
26
+ /**
27
+ * Create a read-only collection from a live query.
28
+ *
29
+ * The collection materializes query results for reads, indexes, and joins.
30
+ * Mutation effects fail with `ReadonlyCollectionMutation`; use the source
31
+ * collections for writes.
32
+ */
33
+ export const makeLiveQueryCollection = (options, registry = defaultCollectionDefinitionRegistry) => makeLiveQueryCollectionDefinition(options, (name, definition) => {
34
+ registry.register(name, definition);
35
+ });
36
+ /**
37
+ * Type guard for runtime collection definitions.
38
+ */
39
+ const isCollectionDefinition = (value) => typeof value === "object" &&
40
+ value !== null &&
41
+ value[CollectionTypeId] === CollectionTypeId;
42
+ /** Type guard for runtime collection definitions. */
43
+ export const isCollection = isCollectionDefinition;
44
+ /**
45
+ * Main collection API namespace.
46
+ *
47
+ * Prefer the `*Effect` entrypoints in application code so errors and service
48
+ * requirements stay typed in Effect. Non-Effect helpers either read synchronously
49
+ * from the current runtime store or fork work onto the current runtime.
50
+ */
51
+ export var Collection;
52
+ (function (Collection) {
53
+ /** Error raised when an update or delete targets a missing collection row. */
54
+ Collection.RowNotFound = CollectionRowNotFound;
55
+ /** Error raised when an update would change the collection key for a row. */
56
+ Collection.RowKeyChanged = CollectionRowKeyChanged;
57
+ /** Error raised when mutating a read-only live-query collection. */
58
+ Collection.ReadonlyMutation = ReadonlyCollectionMutation;
59
+ /** Error raised when a requested secondary index does not exist. */
60
+ Collection.UnknownIndex = UnknownCollectionIndex;
61
+ /** Error raised by built-in collection persistence storage operations. */
62
+ Collection.StorageError = CollectionStorageError;
63
+ /** Error raised when collection snapshots fail validation or serialization. */
64
+ Collection.SnapshotCodecError = CollectionSnapshotCodecError;
65
+ /** Build `Collection.define` options from server functions or Effect callbacks. */
66
+ Collection.serverOptions = serverCollectionOptions;
67
+ /** Build a sync adapter from server functions or Effect callbacks. */
68
+ Collection.serverSyncAdapter = serverCollectionSyncAdapter;
69
+ /** Adapt an `@sunfall/arc-core` Resource ref into a collection sync adapter. */
70
+ Collection.resourceSyncAdapter = collectionResourceSyncAdapter;
71
+ /** Adapt a query client style cache into a collection sync adapter. */
72
+ Collection.querySyncAdapter = collectionQuerySyncAdapter;
73
+ /** Convert a sync adapter into `Collection.define` options. */
74
+ Collection.syncOptions = collectionSyncOptions;
75
+ /** Attach persistence while preserving storage error and requirement types. */
76
+ Collection.persistedOptions = persistedCollectionOptions;
77
+ /** Create a read-only collection from a live query result. */
78
+ Collection.liveQuery = makeLiveQueryCollection;
79
+ /** Build an isolated collection definition registry adapter. */
80
+ Collection.makeRegistry = makeCollectionDefinitionRegistry;
81
+ /** Process-wide collection definition registry adapter used by default. */
82
+ Collection.defaultRegistry = defaultCollectionDefinitionRegistry;
83
+ /** Flush queued optimistic mutations across many collections. */
84
+ Collection.flushAllPendingMutationsEffect = flushCollectionsPendingMutationsEffect;
85
+ /** Decide whether to flush pending mutations for background sync triggers. */
86
+ Collection.backgroundSyncPendingMutationsEffect = backgroundSyncCollectionsPendingMutationsEffect;
87
+ /** Build collection persistence storage from a SQLite persistence driver. */
88
+ Collection.sqliteStorage = makeSQLitePersistenceStorage;
89
+ /** Adapt prepare/run/all style SQLite clients to statement database storage. */
90
+ Collection.sqlitePreparedStatementDatabase = makeSQLitePreparedStatementDatabase;
91
+ /** Build a persistence driver from a simple SQL statement database. */
92
+ Collection.sqliteStatementDriver = makeSQLiteStatementPersistenceDriver;
93
+ /** In-memory SQL statement database for tests and demos. */
94
+ Collection.sqliteMemoryStatementDatabase = makeSQLiteMemoryStatementDatabase;
95
+ function define(options, registry = defaultCollectionDefinitionRegistry) {
96
+ return defineCollection(options, (name, definition) => {
97
+ registry.register(name, definition);
98
+ });
99
+ }
100
+ Collection.define = define;
101
+ /** Return the process-wide registry of named collection definitions. */
102
+ Collection.definitions = () => collectionDefinitionRegistry();
103
+ /** Type guard for values that are full Collection definitions. */
104
+ Collection.isCollection = isCollectionDefinition;
105
+ /** Describe registered collections, indexes, handlers, sync, and persistence. */
106
+ Collection.diagnostics = () => collectionDiagnostics();
107
+ /** Describe the process-wide registry, including duplicate registrations. */
108
+ Collection.registryDiagnostics = () => collectionRegistryDiagnostics();
109
+ /** Reactive load state signal for a collection. */
110
+ Collection.state = (definition) => definition.state();
111
+ /** Reactive version signal that changes when rows or pending mutations change. */
112
+ Collection.version = (definition) => definition.version();
113
+ /** Read one row by key from current in-memory state. */
114
+ Collection.get = (definition, key) => definition.get(key);
115
+ /** Read all current rows, including local optimistic rows. */
116
+ Collection.rows = (definition) => definition.rows();
117
+ /** Read rows from a named secondary index bucket. */
118
+ Collection.index = (definition, index, value) => definition.index(index, value);
119
+ /** Read the first row from a named secondary index bucket. */
120
+ Collection.firstByIndex = (definition, index, value) => definition.firstByIndex(index, value);
121
+ /**
122
+ * Ensure a collection has loaded once.
123
+ *
124
+ * Restores configured persistence first, then skips `load` when data is
125
+ * already ready. Errors and requirements come from the collection definition.
126
+ */
127
+ Collection.preloadEffect = (definition) => definition.preloadEffect();
128
+ /**
129
+ * Force a fresh load for a collection.
130
+ */
131
+ Collection.refetchEffect = (definition) => definition.refetchEffect();
132
+ /**
133
+ * Run an Effect and collect any collections it preloads.
134
+ *
135
+ * Useful for SSR or route loaders that need data plus a hydration payload.
136
+ * The returned definitions are ordered preload facts. Nested collection
137
+ * collectors propagate their facts to the parent collector; dehydration
138
+ * dedupes identical definitions and rejects distinct same-name definitions.
139
+ */
140
+ Collection.collectEffect = (effect) => Effect.gen(function* () {
141
+ const parentCollector = yield* Effect.serviceOption(CollectionPreloadCollector);
142
+ const collector = { definitions: [] };
143
+ const value = yield* Effect.provideService(effect, CollectionPreloadCollector, collector);
144
+ if (Option.isSome(parentCollector)) {
145
+ parentCollector.value.definitions.push(...collector.definitions);
146
+ }
147
+ return {
148
+ value,
149
+ definitions: collector.definitions.slice(),
150
+ };
151
+ });
152
+ /** Return queued optimistic mutations waiting for handlers to commit. */
153
+ Collection.pendingMutationsEffect = (definition) => definition.pendingMutationsEffect();
154
+ /** Synchronously read queued optimistic mutations from the current runtime store. */
155
+ Collection.pendingMutations = (definition) => definition.pendingMutations();
156
+ /** Retry all queued mutation handlers for one collection. */
157
+ Collection.flushPendingMutationsEffect = (definition) => definition.flushPendingMutationsEffect();
158
+ /** Capture a durable serializable snapshot with an Effect-provided timestamp. */
159
+ Collection.snapshotEffect = (definition) => definition.snapshotEffect();
160
+ /** Synchronous inspection snapshot; durable workflows should use `snapshotEffect`. */
161
+ Collection.snapshot = (definition) => definition.snapshot();
162
+ /**
163
+ * Restore one collection from a snapshot.
164
+ *
165
+ * By default hydration replaces existing rows and pending mutations. Pass
166
+ * `{ replace: false }` to merge into current state.
167
+ */
168
+ Collection.hydrateEffect = (definition, value, options) => definition.hydrateEffect(value, options);
169
+ /** Fork `hydrateEffect` on the current runtime. */
170
+ Collection.hydrate = (definition, value, options) => definition.hydrate(value, options);
171
+ /** Snapshot several collections synchronously for UI inspection. */
172
+ Collection.dehydrate = (collections) => dehydrateCollections(collections);
173
+ /** Snapshot several collections durably with an Effect-provided timestamp. */
174
+ Collection.dehydrateEffect = (collections) => dehydrateCollectionsEffect(collections);
175
+ /** Hydrate matching collections from a multi-collection payload. */
176
+ Collection.hydratePayloadEffect = (collections, payload, options) => hydrateCollectionsEffect(collections, payload, options);
177
+ /** Validate a multi-collection hydration payload without applying it. */
178
+ Collection.validateHydrationPayloadEffect = (collections, payload, options) => validateCollectionsHydrationEffect(collections, payload, options);
179
+ /** Fork `hydratePayloadEffect` on the current runtime. */
180
+ Collection.hydratePayload = (collections, payload, options) => {
181
+ void runFork(Collection.hydratePayloadEffect(collections, payload, options));
182
+ };
183
+ /**
184
+ * Apply remote change-feed events without queuing local mutation handlers.
185
+ */
186
+ Collection.applyChangesEffect = (definition, changes, options) => applyCollectionChangesEffect(definition, changes, options);
187
+ /** Fork `applyChangesEffect` on the current runtime. */
188
+ Collection.applyChanges = (definition, changes, options) => {
189
+ void runFork(applyCollectionChangesEffect(definition, changes, options));
190
+ };
191
+ /**
192
+ * Subscribe a collection to a scoped remote change feed.
193
+ *
194
+ * Requires `Scope.Scope`; feed errors/requirements are unioned with the
195
+ * collection channels.
196
+ */
197
+ Collection.subscribeChangesEffect = (definition, adapter, options) => subscribeCollectionChangesEffect(definition, adapter, options);
198
+ /**
199
+ * Persist one collection snapshot to storage.
200
+ *
201
+ * The storage backend controls the Effect error and requirement channels.
202
+ */
203
+ Collection.persistEffect = (definition, storage, options) => definition.persistEffect(storage, options);
204
+ /**
205
+ * Restore one collection snapshot from storage if present.
206
+ */
207
+ Collection.restoreEffect = (definition, storage, options) => definition.restoreEffect(storage, options);
208
+ /** Create in-memory persistence storage for tests, demos, or ephemeral data. */
209
+ Collection.memoryStorage = (initial) => makeCollectionMemoryStorage(initial);
210
+ /** Adapt synchronous Web Storage style APIs to Effect-aware persistence storage. */
211
+ Collection.storage = (storage) => collectionStorageFromSync(storage);
212
+ /** Access the current runtime collection store as an Effect. */
213
+ Collection.storeEffect = () => collectionStoreEffect;
214
+ /** Access the current runtime collection store synchronously. */
215
+ Collection.currentStore = () => currentCollectionStore();
216
+ /** Subscribe to collection lifecycle events inside a Scope. */
217
+ Collection.subscribeEventsEffect = () => subscribeCollectionEventsEffect();
218
+ })(Collection || (Collection = {}));
219
+ /**
220
+ * Compatibility alias for `Collection.define(...)`.
221
+ *
222
+ * Prefer `Collection.define(...)` in new code so DB APIs stay grouped under
223
+ * their owning namespace in LSP hovers and generated docs.
224
+ *
225
+ * @deprecated Use `Collection.define(...)`.
226
+ */
227
+ export const createCollection = Collection.define;
228
+ /**
229
+ * Compatibility alias for `Query.live(...)`.
230
+ *
231
+ * Prefer `Query.live(...)` in new code so query APIs stay grouped under their
232
+ * owning namespace in LSP hovers and generated docs.
233
+ *
234
+ * @deprecated Use `Query.live(...)`.
235
+ */
236
+ export const createLiveQuery = Query.live;
237
+ /**
238
+ * Compatibility alias for `Collection.liveQuery(...)`.
239
+ *
240
+ * Prefer `Collection.liveQuery(...)` in new code so live-query collection APIs
241
+ * stay grouped under their owning namespace in LSP hovers and generated docs.
242
+ *
243
+ * @deprecated Use `Collection.liveQuery(...)`.
244
+ */
245
+ export const createLiveQueryCollection = Collection.liveQuery;
246
+ export * from "./flush-policy.js";
247
+ export * from "./server-collection.js";
248
+ export * from "./collection-reactive-binding.js";
249
+ export { CollectionStorageError } from "./collection-persistence.js";
250
+ export * from "./sqlite-persistence.js";
251
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { EffectInputCallbackError, type ReadableSignal } from "@sunfall/arc-core";
2
+ import { Effect } from "effect";
3
+ import type { ReadonlyCollectionMutation } from "./collection-errors.js";
4
+ import { CollectionSnapshotCodecError } from "./collection-snapshot-codec.js";
5
+ import { type RuntimeCollectionStore } from "./runtime-collection-store.js";
6
+ import type { CollectionDefinition, CollectionIndexValue, CollectionKey, CollectionLoadState, CollectionRow, CollectionSnapshot } from "./collection-contract.js";
7
+ import type { LiveQuery } from "./query-builder.js";
8
+ import type { QueryEvaluationError } from "./query-plan.js";
9
+ export type LiveQueryCollectionMaterializationError = CollectionSnapshotCodecError | EffectInputCallbackError;
10
+ type LiveQueryCollectionError<E> = E | QueryEvaluationError | ReadonlyCollectionMutation;
11
+ type LiveQueryCollectionLoadStateError<E> = LiveQueryCollectionError<E> | LiveQueryCollectionMaterializationError;
12
+ type LiveQueryCollectionDefinitionForMaterialization<A extends object, K extends CollectionKey, E, R> = CollectionDefinition<A, K, LiveQueryCollectionError<E>, R>;
13
+ /**
14
+ * Per-store projection cache for a Live Query Collection.
15
+ *
16
+ * The materialization Module owns the one keyed projection shared by `rows`,
17
+ * `get`, secondary indexes, `version`, load state, and snapshots. Keeping that
18
+ * cache behind this interface prevents the read-only Collection Definition
19
+ * adapter from also owning projection invalidation and snapshot encoding rules.
20
+ */
21
+ export interface LiveQueryCollectionMaterialization<A extends object, K extends CollectionKey, E = never> {
22
+ state(): ReadableSignal<CollectionLoadState<LiveQueryCollectionLoadStateError<E>>>;
23
+ version(): ReadableSignal<number>;
24
+ get(key: K): CollectionRow<A, K> | undefined;
25
+ rows(): ReadonlyArray<CollectionRow<A, K>>;
26
+ index(index: string, value: CollectionIndexValue): ReadonlyArray<CollectionRow<A, K>>;
27
+ firstByIndex(index: string, value: CollectionIndexValue): CollectionRow<A, K> | undefined;
28
+ snapshot(updatedAt: number): CollectionSnapshot<A, K>;
29
+ snapshotWithStore(store: RuntimeCollectionStore, updatedAt: number): CollectionSnapshot<A, K>;
30
+ snapshotWithStoreEffect(store: RuntimeCollectionStore, updatedAt: number): Effect.Effect<CollectionSnapshot<A, K>, LiveQueryCollectionMaterializationError>;
31
+ }
32
+ export interface LiveQueryCollectionMaterializationOptions<A extends object, K extends CollectionKey, E = never, R = never> {
33
+ readonly name: string;
34
+ readonly live: LiveQuery<A, E, R>;
35
+ readonly definition: () => LiveQueryCollectionDefinitionForMaterialization<A, K, E, R>;
36
+ }
37
+ /**
38
+ * Builds the private Live Query Collection Materialization Module.
39
+ *
40
+ * A live query can be observed from several Runtime Collection Stores during
41
+ * SSR, client runtime work, and tests. This factory gives each store an
42
+ * isolated projection while exposing a single collection-shaped interface to
43
+ * the definition adapter.
44
+ */
45
+ export declare const makeLiveQueryCollectionMaterialization: <A extends object, K extends CollectionKey = string, E = never, R = never>(options: LiveQueryCollectionMaterializationOptions<A, K, E, R>) => LiveQueryCollectionMaterialization<A, K, E>;
46
+ export {};
47
+ //# sourceMappingURL=live-query-collection-materialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-query-collection-materialization.d.ts","sourceRoot":"","sources":["../src/live-query-collection-materialization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ import { EffectInputCallbackError, Signal, stableStringify, } from "@sunfall/arc-core";
2
+ import { Effect } from "effect";
3
+ import { collectionIndex, collectionIndexKey, uniqueCollectionIndexValues, } from "./collection-index-materialization.js";
4
+ import { cloneCollectionValue, detachCollectionRow } from "./collection-value-detachment.js";
5
+ import { CollectionSnapshotCodecError } from "./collection-snapshot-codec.js";
6
+ import { ingestCollectionOutputRowsSync } from "./collection-row-ingress.js";
7
+ import { currentCollectionStore, runWithCollectionStore, } from "./runtime-collection-store.js";
8
+ const materializationCallbackError = (collection, operation, cause) => new EffectInputCallbackError({
9
+ operation: `Collection.materialize(${collection}).${operation}`,
10
+ cause,
11
+ guidance: "Live query collection materialization must produce collection rows with stable keys and stable-stringifiable values.",
12
+ });
13
+ const normalizeMaterializationError = (collection, operation, cause) => cause instanceof CollectionSnapshotCodecError || cause instanceof EffectInputCallbackError
14
+ ? cause
15
+ : materializationCallbackError(collection, operation, cause);
16
+ /**
17
+ * Builds the private Live Query Collection Materialization Module.
18
+ *
19
+ * A live query can be observed from several Runtime Collection Stores during
20
+ * SSR, client runtime work, and tests. This factory gives each store an
21
+ * isolated projection while exposing a single collection-shaped interface to
22
+ * the definition adapter.
23
+ */
24
+ export const makeLiveQueryCollectionMaterialization = (options) => {
25
+ const storeAdapters = new WeakMap();
26
+ const currentRuntimeCollectionStore = () => currentCollectionStore();
27
+ const withStore = (store, evaluate) => runWithCollectionStore(store, evaluate);
28
+ const storeAdapter = (store) => {
29
+ const existing = storeAdapters.get(store);
30
+ if (existing) {
31
+ return existing;
32
+ }
33
+ let revision = 0;
34
+ let projection;
35
+ let materializationError;
36
+ let materializedUpdatedAt = 0;
37
+ const indexCache = new Map();
38
+ const nextUpdatedAt = () => {
39
+ const now = Date.now();
40
+ materializedUpdatedAt = now > materializedUpdatedAt ? now : materializedUpdatedAt + 1;
41
+ return materializedUpdatedAt;
42
+ };
43
+ const materialize = (values, operation) => {
44
+ const definition = options.definition();
45
+ const rows = ingestCollectionOutputRowsSync(definition, values, {
46
+ operation,
47
+ path: `$.collections[${options.name}].rows`,
48
+ synced: true,
49
+ origin: "remote",
50
+ });
51
+ const byKey = new Map();
52
+ for (const row of rows) {
53
+ byKey.set(row.key, {
54
+ key: row.key,
55
+ value: cloneCollectionValue(row.value),
56
+ });
57
+ }
58
+ const entries = Array.from(byKey.values());
59
+ return {
60
+ entries,
61
+ byKey,
62
+ serialized: stableStringify(entries.map((entry) => [typeof entry.key, entry.key, entry.value])),
63
+ };
64
+ };
65
+ const emptyProjection = () => ({
66
+ entries: [],
67
+ byKey: new Map(),
68
+ serialized: "[]",
69
+ });
70
+ const replaceObservedProjection = (next) => {
71
+ if (projection === undefined || projection.serialized !== next.serialized) {
72
+ revision++;
73
+ indexCache.clear();
74
+ projection = {
75
+ ...next,
76
+ revision,
77
+ updatedAt: nextUpdatedAt(),
78
+ };
79
+ }
80
+ return projection;
81
+ };
82
+ const observeMaterialized = (values) => {
83
+ try {
84
+ const next = materialize(values, "load");
85
+ materializationError = undefined;
86
+ return replaceObservedProjection(next);
87
+ }
88
+ catch (error) {
89
+ materializationError = normalizeMaterializationError(options.name, "load", error);
90
+ return projection ?? replaceObservedProjection(emptyProjection());
91
+ }
92
+ };
93
+ const currentProjection = () => projectionSignal.get();
94
+ const currentProjectionDirect = () => withStore(store, () => observeMaterialized(options.live.state.get().data));
95
+ const projectionSignal = Signal.derive(() => currentProjectionDirect());
96
+ const row = (entry) => detachCollectionRow({
97
+ collection: options.name,
98
+ key: entry.key,
99
+ value: entry.value,
100
+ synced: true,
101
+ origin: "remote",
102
+ });
103
+ const rows = () => currentProjection().entries.map(row);
104
+ const indexEntries = (name, value) => {
105
+ const definition = options.definition();
106
+ const definitionIndex = collectionIndex(definition, name);
107
+ const materialized = currentProjection();
108
+ let cache = indexCache.get(name);
109
+ if (!cache || cache.revision !== materialized.revision) {
110
+ const buckets = new Map();
111
+ for (const entry of materialized.entries) {
112
+ for (const candidate of uniqueCollectionIndexValues(definitionIndex, entry.value)) {
113
+ const key = collectionIndexKey(candidate);
114
+ const bucket = buckets.get(key);
115
+ if (bucket) {
116
+ bucket.push(entry);
117
+ }
118
+ else {
119
+ buckets.set(key, [entry]);
120
+ }
121
+ }
122
+ }
123
+ cache = { revision: materialized.revision, buckets };
124
+ indexCache.set(name, cache);
125
+ }
126
+ return cache.buckets.get(collectionIndexKey(value)) ?? [];
127
+ };
128
+ const snapshot = (materialized, updatedAt) => ({
129
+ name: options.name,
130
+ rows: materialized.entries.map((entry) => ({
131
+ key: entry.key,
132
+ value: cloneCollectionValue(entry.value),
133
+ synced: true,
134
+ origin: "remote",
135
+ })),
136
+ pendingMutations: [],
137
+ updatedAt,
138
+ });
139
+ let readyState;
140
+ const pendingState = {
141
+ _tag: "Pending",
142
+ waiting: true,
143
+ };
144
+ const ready = (updatedAt) => {
145
+ if (readyState?._tag === "Ready" && readyState.updatedAt === updatedAt) {
146
+ return readyState;
147
+ }
148
+ readyState = { _tag: "Ready", waiting: false, updatedAt };
149
+ return readyState;
150
+ };
151
+ const readState = () => withStore(store, () => {
152
+ const state = options.live.state.get();
153
+ switch (state._tag) {
154
+ case "Pending":
155
+ return pendingState;
156
+ case "Failure":
157
+ return { _tag: "Failure", waiting: false, error: state.error };
158
+ case "Success": {
159
+ const current = currentProjection();
160
+ if (materializationError) {
161
+ return { _tag: "Failure", waiting: false, error: materializationError };
162
+ }
163
+ return ready(current.updatedAt);
164
+ }
165
+ }
166
+ });
167
+ const stateSignal = Signal.derive(readState);
168
+ const versionSignal = Signal.derive(() => currentProjection().revision);
169
+ const adapter = {
170
+ stateSignal,
171
+ versionSignal,
172
+ get: (key) => {
173
+ const entry = currentProjection().byKey.get(key);
174
+ return entry ? row(entry) : undefined;
175
+ },
176
+ rows,
177
+ index: (index, value) => indexEntries(index, value).map(row),
178
+ firstByIndex: (index, value) => {
179
+ const entry = indexEntries(index, value)[0];
180
+ return entry === undefined ? undefined : row(entry);
181
+ },
182
+ snapshot: (updatedAt) => {
183
+ try {
184
+ const state = options.live.state.get();
185
+ if (state._tag === "Failure") {
186
+ throw new CollectionSnapshotCodecError({
187
+ operation: "snapshot",
188
+ path: "$",
189
+ reason: `Live query collection "${options.name}" is failed; resolve the live query failure before snapshotting or persisting it.`,
190
+ });
191
+ }
192
+ const next = materialize(state.data, "snapshot");
193
+ return snapshot({
194
+ ...next,
195
+ revision: revision + 1,
196
+ updatedAt,
197
+ }, updatedAt);
198
+ }
199
+ catch (error) {
200
+ throw normalizeMaterializationError(options.name, "snapshot", error);
201
+ }
202
+ },
203
+ };
204
+ storeAdapters.set(store, adapter);
205
+ return adapter;
206
+ };
207
+ const currentAdapter = () => storeAdapter(currentRuntimeCollectionStore());
208
+ const snapshotWithStoreEffect = (store, updatedAt) => Effect.try({
209
+ try: () => runWithCollectionStore(store, () => {
210
+ const adapter = storeAdapter(store);
211
+ return adapter.snapshot(updatedAt);
212
+ }),
213
+ catch: (cause) => normalizeMaterializationError(options.name, "snapshot", cause),
214
+ });
215
+ const snapshotWithStore = (store, updatedAt) => runWithCollectionStore(store, () => {
216
+ const adapter = storeAdapter(store);
217
+ return adapter.snapshot(updatedAt);
218
+ });
219
+ return {
220
+ state: () => currentAdapter().stateSignal,
221
+ version: () => currentAdapter().versionSignal,
222
+ get: (key) => currentAdapter().get(key),
223
+ rows: () => currentAdapter().rows(),
224
+ index: (index, value) => currentAdapter().index(index, value),
225
+ firstByIndex: (index, value) => currentAdapter().firstByIndex(index, value),
226
+ snapshot: (updatedAt) => currentAdapter().snapshot(updatedAt),
227
+ snapshotWithStore,
228
+ snapshotWithStoreEffect,
229
+ };
230
+ };
231
+ //# sourceMappingURL=live-query-collection-materialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-query-collection-materialization.js","sourceRoot":"","sources":["../src/live-query-collection-materialization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,MAAM,EACN,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,+BAA+B,CAAC;AAiGvC,MAAM,4BAA4B,GAAG,CACnC,UAAkB,EAClB,SAAsD,EACtD,KAAc,EACY,EAAE,CAC5B,IAAI,wBAAwB,CAAC;IAC3B,SAAS,EAAE,0BAA0B,UAAU,KAAK,SAAS,EAAE;IAC/D,KAAK;IACL,QAAQ,EACN,sHAAsH;CACzH,CAAC,CAAC;AAEL,MAAM,6BAA6B,GAAG,CACpC,UAAkB,EAClB,SAAsD,EACtD,KAAc,EAC2B,EAAE,CAC3C,KAAK,YAAY,4BAA4B,IAAI,KAAK,YAAY,wBAAwB;IACxF,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAMpD,OAA8D,EACjB,EAAE;IAC/C,MAAM,aAAa,GAAG,IAAI,OAAO,EAG9B,CAAC;IACJ,MAAM,6BAA6B,GAAG,GAA2B,EAAE,CACjE,sBAAsB,EAA4B,CAAC;IACrD,MAAM,SAAS,GAAG,CAAM,KAA6B,EAAE,QAAmB,EAAO,EAAE,CACjF,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,CACnB,KAA6B,EACqB,EAAE;QACpD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,UAAoD,CAAC;QACzD,IAAI,oBAAyE,CAAC;QAC9E,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2C,CAAC;QACtE,MAAM,aAAa,GAAG,GAAW,EAAE;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,qBAAqB,GAAG,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC;YACtF,OAAO,qBAAqB,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAClB,MAAwB,EACxB,SAA8B,EACgC,EAAE;YAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE;gBAC9D,SAAS;gBACT,IAAI,EAAE,iBAAiB,OAAO,CAAC,IAAI,QAAQ;gBAC3C,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;YACpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3C,OAAO;gBACL,OAAO;gBACP,KAAK;gBACL,UAAU,EAAE,eAAe,CACzB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACnE;aACF,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,GAAiE,EAAE,CAAC,CAAC;YAC3F,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,IAAI,GAAG,EAAE;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,yBAAyB,GAAG,CAChC,IAAkE,EACpC,EAAE;YAChC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1E,QAAQ,EAAE,CAAC;gBACX,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,UAAU,GAAG;oBACX,GAAG,IAAI;oBACP,QAAQ;oBACR,SAAS,EAAE,aAAa,EAAE;iBAC3B,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,mBAAmB,GAAG,CAAC,MAAwB,EAAgC,EAAE;YACrF,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzC,oBAAoB,GAAG,SAAS,CAAC;gBACjC,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oBAAoB,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClF,OAAO,UAAU,IAAI,yBAAyB,CAAC,eAAe,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC;QACF,MAAM,iBAAiB,GAAG,GAAiC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACrF,MAAM,uBAAuB,GAAG,GAAiC,EAAE,CACjE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,CAAC,KAA8B,EAAuB,EAAE,CAClE,mBAAmB,CAAC;YAClB,UAAU,EAAE,OAAO,CAAC,IAAI;YACxB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACL,MAAM,IAAI,GAAG,GAAuC,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,KAA2B,EACa,EAAE;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,eAAe,GAAG,eAAe,CAAI,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;YACzC,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0C,CAAC;gBAClE,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzC,KAAK,MAAM,SAAS,IAAI,2BAA2B,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClF,MAAM,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;wBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,MAAM,EAAE,CAAC;4BACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC5B,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,KAAK,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBACrD,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CACf,YAA0C,EAC1C,SAAiB,EACS,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxC,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,gBAAgB,EAAE,EAAE;YACpB,SAAS;SACV,CAAC,CAAC;QACH,IAAI,UAAiF,CAAC;QACtF,MAAM,YAAY,GAA8D;YAC9E,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,KAAK,GAAG,CACZ,SAAiB,EAC0C,EAAE;YAC7D,IAAI,UAAU,EAAE,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACvE,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1D,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,GAA8D,EAAE,CAChF,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,SAAS;oBACZ,OAAO,YAAY,CAAC;gBACtB,KAAK,SAAS;oBACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjE,KAAK,SAAS,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;oBACpC,IAAI,oBAAoB,EAAE,CAAC;wBACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;oBAC1E,CAAC;oBACD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACL,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,OAAO,GAAqD;YAChE,WAAW;YACX,aAAa;YACb,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;gBACX,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxC,CAAC;YACD,IAAI;YACJ,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5D,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE;gBACtB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC7B,MAAM,IAAI,4BAA4B,CAAC;4BACrC,SAAS,EAAE,UAAU;4BACrB,IAAI,EAAE,GAAG;4BACT,MAAM,EAAE,0BAA0B,OAAO,CAAC,IAAI,mFAAmF;yBAClI,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBACjD,OAAO,QAAQ,CACb;wBACE,GAAG,IAAI;wBACP,QAAQ,EAAE,QAAQ,GAAG,CAAC;wBACtB,SAAS;qBACV,EACD,SAAS,CACV,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,6BAA6B,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;SACF,CAAC;QACF,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,GAAqD,EAAE,CAC5E,YAAY,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAChD,MAAM,uBAAuB,GAAG,CAAC,KAA6B,EAAE,SAAiB,EAAE,EAAE,CACnF,MAAM,CAAC,GAAG,CAAC;QACT,GAAG,EAAE,GAAG,EAAE,CACR,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC;QACJ,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;KACjF,CAAC,CAAC;IACL,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,SAAiB,EAAE,EAAE,CAC7E,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE;QACjC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,WAAW;QACzC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,aAAa;QAC7C,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QACvC,IAAI,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;QAC7D,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;QAC3E,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC7D,iBAAiB;QACjB,uBAAuB;KACxB,CAAC;AACJ,CAAC,CAAC"}