interaqt 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,348 @@
1
+ # interaqt Migration Guide
2
+
3
+ > Use this guide when upgrading an existing interaqt database after changing entities, relations, properties, dictionaries, or computations.
4
+
5
+ ---
6
+
7
+ ## What Migration Does
8
+
9
+ interaqt migration preserves existing fact data and recomputes derived data from the current reactive declarations.
10
+
11
+ Phase 1.5 uses a two-step review workflow:
12
+
13
+ 1. Generate a structured diff with `controller.generateMigrationDiff()`.
14
+ 2. Review the diff, set `status: "approved"`, add explicit decisions, then execute `controller.migrate({ approvedDiff })`.
15
+
16
+ Migration supports additive schema changes, changed/new computation recompute, downstream propagation, filtered membership rebuild, destructive-scope review, and post-backfill constraint verification.
17
+
18
+ Phase 1.5 does not guess or execute rename/copy/merge/split primitives. Rename candidates may be recorded for review, but compute-route migration will still obey physical layout and destructive-change safety gates.
19
+
20
+ ---
21
+
22
+ ## Core APIs
23
+
24
+ ```typescript
25
+ await controller.setup(true)
26
+ await controller.setup(false)
27
+
28
+ const diff = await controller.generateMigrationDiff({
29
+ includeFunctionText: false,
30
+ includeDestructiveScope: true,
31
+ })
32
+
33
+ const approvedDiff = {
34
+ ...diff,
35
+ status: 'approved' as const,
36
+ decisions: [
37
+ ...diff.decisions,
38
+ // one explicit decision for every item in diff.requiredDecisions
39
+ ],
40
+ }
41
+
42
+ const dryRunPlan = await controller.migrate({ approvedDiff, dryRun: true })
43
+ const plan = await controller.migrate({ approvedDiff, handlers })
44
+
45
+ await controller.setup({ migrate: { approvedDiff, handlers } })
46
+ await controller.createMigrationBaseline()
47
+ ```
48
+
49
+ Important exports include:
50
+
51
+ ```typescript
52
+ import {
53
+ createMigrationManifest,
54
+ hashMigrationDiff,
55
+ readMigrationManifest,
56
+ writeMigrationManifest,
57
+ MigrationDiffFile,
58
+ MigrationDecision,
59
+ MigrationDecisionRequirement,
60
+ MigrationHandlers,
61
+ MigrationBaselineError,
62
+ PhysicalLayoutChangeError,
63
+ UnrebuildableComputationError,
64
+ AsyncMigrationComputationError,
65
+ DestructiveComputedOutputError,
66
+ } from 'interaqt'
67
+ ```
68
+
69
+ `setup({ migrate: true })` and bare `controller.migrate()` are intentionally unsupported. Migration execution must carry an approved review artifact.
70
+
71
+ ---
72
+
73
+ ## Recommended Lifecycle
74
+
75
+ ### 1. First Install
76
+
77
+ Use `setup(true)` only for a fresh install or an intentional test reset. It creates tables, installs indexes/constraints, initializes computation state, and writes the baseline migration manifest.
78
+
79
+ ### 2. Normal Startup
80
+
81
+ Use `setup(false)` when code and database manifest already match.
82
+
83
+ If the stored manifest differs from current definitions, `setup(false)` fails before installing the runtime map and tells you to generate and approve a migration diff.
84
+
85
+ ### 3. Generate Review Diff
86
+
87
+ ```typescript
88
+ const diff = await controller.generateMigrationDiff({
89
+ includeFunctionText: true,
90
+ includeDestructiveScope: true,
91
+ })
92
+
93
+ console.log(diff.changes)
94
+ console.log(diff.requiredDecisions)
95
+ console.log(diff.safety.blockingChanges)
96
+ console.log(diff.safety.destructiveScopes)
97
+ ```
98
+
99
+ `changes` includes logical model changes (`record`, `property`, `relation`, `dictionary`), storage changes, and computation changes.
100
+
101
+ Function text/hash is review evidence only. interaqt does not automatically decide semantic change from `Function.toString()`.
102
+
103
+ ### 4. Approve Decisions
104
+
105
+ ```typescript
106
+ const approvedDiff = {
107
+ ...diff,
108
+ status: 'approved' as const,
109
+ decisions: diff.requiredDecisions.map(item => {
110
+ if (item.kind === 'computation') {
111
+ return {
112
+ kind: 'computation' as const,
113
+ id: item.id,
114
+ dataContext: item.dataContext,
115
+ decision: item.recommendedDecision,
116
+ reason: 'reviewed and approved',
117
+ }
118
+ }
119
+
120
+ if (item.kind === 'event-rebuild-handler') {
121
+ return {
122
+ kind: 'event-rebuild-handler' as const,
123
+ dataContext: item.dataContext,
124
+ handlerRef: 'ticketStatus',
125
+ reason: 'status can be reconstructed from durable facts',
126
+ }
127
+ }
128
+
129
+ if (item.kind === 'async-completion-handler') {
130
+ return {
131
+ kind: 'async-completion-handler' as const,
132
+ dataContext: item.dataContext,
133
+ handlerRef: 'scoreCompletion',
134
+ reason: 'async args contain final value',
135
+ }
136
+ }
137
+
138
+ return {
139
+ kind: 'destructive-scope' as const,
140
+ dataContext: item.dataContext,
141
+ recordName: item.recordName,
142
+ ids: item.ids,
143
+ reason: 'reviewed exact destructive scope',
144
+ }
145
+ }),
146
+ }
147
+ ```
148
+
149
+ Approved decisions are audit data. Handler functions are not stored in the diff file.
150
+
151
+ ### 5. Dry Run
152
+
153
+ ```typescript
154
+ const dryRunPlan = await controller.migrate({
155
+ approvedDiff,
156
+ dryRun: true,
157
+ handlers,
158
+ })
159
+
160
+ console.log(dryRunPlan.blockingChanges)
161
+ console.log(dryRunPlan.rebuildPlan)
162
+ console.log(dryRunPlan.deletionScope)
163
+ ```
164
+
165
+ Dry-run validates approved decisions, handler references, safety gates, and destructive scope ids. It does not apply schema, recompute data, or write the manifest.
166
+
167
+ ### 6. Execute
168
+
169
+ ```typescript
170
+ const plan = await controller.migrate({
171
+ approvedDiff,
172
+ handlers,
173
+ })
174
+ ```
175
+
176
+ On success, interaqt writes the new manifest and records approved diff metadata in the migration log.
177
+
178
+ ---
179
+
180
+ ## Identity and Model Hash
181
+
182
+ Phase 1.5 does not require migration-specific `uuid`, `version`, or `migrationKey`.
183
+
184
+ Default identity comes from stable name paths:
185
+
186
+ - `entity:Product`
187
+ - `property:Product.price`
188
+ - `relation:ProductCategory`
189
+ - `dictionary:globalProductCount`
190
+ - `computation:property:Product.doublePrice:Custom`
191
+
192
+ If the same kind/name path appears more than once in one model, diff generation fails and asks you to make names explicit.
193
+
194
+ `uuid` is recorded as an auxiliary review clue when present, but it does not drive migration identity or model hash. This prevents random generated uuids from causing false manifest mismatches.
195
+
196
+ ---
197
+
198
+ ## Computation Decisions
199
+
200
+ Use computation decisions to control recompute semantics:
201
+
202
+ ```typescript
203
+ { kind: 'computation', id, dataContext, decision: 'changed', reason: 'callback now doubles price' }
204
+ { kind: 'computation', id, dataContext, decision: 'unchanged', reason: 'format-only callback change' }
205
+ { kind: 'computation', id, dataContext, decision: 'state-only', reason: 'state default changed only' }
206
+ { kind: 'computation', id, dataContext, decision: 'unrebuildable', reason: 'requires manual migration' }
207
+ ```
208
+
209
+ Rules:
210
+
211
+ - `changed` is a seed rebuild and propagates downstream output events.
212
+ - `unchanged` is not a seed rebuild, but it can still rebuild if an upstream changed output affects it.
213
+ - `state-only` rebuilds bound state without propagating output events.
214
+ - `unrebuildable` becomes a blocking change.
215
+
216
+ New computations must be approved as `changed`.
217
+
218
+ ---
219
+
220
+ ## Event and Async Handlers
221
+
222
+ Event-based computations without full compute support require external rebuild handlers.
223
+
224
+ Async computations that return `ComputationResult.async()` require external completion handlers.
225
+
226
+ ```typescript
227
+ const handlers = {
228
+ eventRebuild: {
229
+ ticketStatus: async ({ record }) => record?.closedAt ? 'closed' : 'open',
230
+ },
231
+ asyncCompletion: {
232
+ scoreCompletion: async ({ args }) => (args as { finalValue: number }).finalValue,
233
+ },
234
+ }
235
+
236
+ await controller.migrate({ approvedDiff, handlers })
237
+ ```
238
+
239
+ Handler decisions reference handlers by `handlerRef`. Missing handlers fail fast. Handlers must return a direct final output; returning `ComputationResult.resolved()` or another async marker is rejected.
240
+
241
+ Do not put migration-only handlers on business model objects. `migrationCompute` and `migrationAsync` are not part of the Phase 1.5 workflow.
242
+
243
+ ---
244
+
245
+ ## Destructive Computed Outputs
246
+
247
+ Migration refuses destructive computed output unless the approved diff contains an exact matching `destructive-scope` decision.
248
+
249
+ This covers:
250
+
251
+ - `_isDeleted_` computed property that deletes host records.
252
+ - Transform stale derived row cleanup.
253
+ - Entity/relation delete patches.
254
+
255
+ `generateMigrationDiff({ includeDestructiveScope: true })` reports candidate scopes. `migrate({ dryRun: true })` recalculates actual scope and fails if approved ids differ. Execution recalculates again before recompute.
256
+
257
+ ---
258
+
259
+ ## Safety Gates
260
+
261
+ Approved diff cannot bypass core safety gates:
262
+
263
+ - Fact physical path moves remain blocked.
264
+ - Fact destructive schema changes remain blocked.
265
+ - Entity/relation output replacement still needs previous manifest ownership proof.
266
+ - Async computations require an approved async completion decision and runtime handler.
267
+ - Event-based computations without full compute require an approved event rebuild decision and runtime handler.
268
+ - Destructive computed output requires exact approved ids.
269
+ - Unique/non-null constraints are verified after backfill and before post-recompute indexes/constraints are created.
270
+
271
+ ---
272
+
273
+ ## Baseline Existing Databases
274
+
275
+ If an existing database has no migration manifest, normal setup and migration fail.
276
+
277
+ Use `createMigrationBaseline()` only when current definitions exactly match the existing schema:
278
+
279
+ ```typescript
280
+ await controller.createMigrationBaseline()
281
+ ```
282
+
283
+ Baseline creation fails if schema planning reports missing DDL or blocking changes. Do not use baseline to skip a real model change.
284
+
285
+ ---
286
+
287
+ ## Resume Behavior
288
+
289
+ Migration writes:
290
+
291
+ - `__interaqt_migration_manifest`
292
+ - `__interaqt_migration_log`
293
+ - `__interaqt_migration_lock`
294
+ - `__interaqt_migration_operation_log`
295
+
296
+ Resume is keyed by both `modelHash` and `approvedDiffHash`, so the same model with different review decisions does not reuse the wrong failed run.
297
+
298
+ Schema DDL, verification, post-recompute constraints, and manifest write use operation-log markers. Computation rebuild resume is phase-level, not per-computation checkpoint.
299
+
300
+ ---
301
+
302
+ ## Common Failure Messages
303
+
304
+ ### `Model manifest mismatch`
305
+
306
+ You called `setup(false)` with changed model definitions. Run `controller.generateMigrationDiff()`, approve it, then call `controller.migrate({ approvedDiff })`.
307
+
308
+ ### `Migration requires an approved diff`
309
+
310
+ You called migration without reviewed input. Generate and approve a diff first.
311
+
312
+ ### `Migration approvedDiff is stale`
313
+
314
+ The diff was generated for a different database manifest or current model. Generate a fresh diff and review it again.
315
+
316
+ ### `Missing migration decision`
317
+
318
+ Every current required decision must have exactly one matching decision in the approved diff. Execution rebuilds the expected diff and does not trust a user-edited `requiredDecisions` list as the source of truth.
319
+
320
+ ### `Missing migration event rebuild handler`
321
+
322
+ The approved diff references an event rebuild handler, but `migrate({ handlers })` did not provide it.
323
+
324
+ ### `Missing migration async completion handler`
325
+
326
+ The approved diff references an async completion handler, but `migrate({ handlers })` did not provide it.
327
+
328
+ ### `physical-path-move`
329
+
330
+ A fact record/property/relation moved physical storage location. Phase 1.5 will not guess a copy/rename.
331
+
332
+ ### `destructive-computed-output`
333
+
334
+ Migration would delete computed output or host records. Inspect `diff.safety.destructiveScopes` and dry-run `deletionScope`, then approve exact ids only when intended.
335
+
336
+ ---
337
+
338
+ ## Safe Migration Checklist
339
+
340
+ - [ ] Run `controller.generateMigrationDiff({ includeDestructiveScope: true })`.
341
+ - [ ] Review logical model changes, storage changes, function hashes/text, required decisions, and safety output.
342
+ - [ ] Add one explicit decision for every required decision.
343
+ - [ ] Provide runtime handlers for event rebuild and async completion decisions.
344
+ - [ ] Run `controller.migrate({ approvedDiff, dryRun: true, handlers })`.
345
+ - [ ] Confirm `blockingChanges` is empty and `rebuildPlan` is expected.
346
+ - [ ] Confirm destructive scopes match exactly when cleanup is intentional.
347
+ - [ ] Run `controller.migrate({ approvedDiff, handlers })`.
348
+ - [ ] Run integration tests for the production driver, especially PostgreSQL/MySQL.
@@ -26,13 +26,23 @@ export interface UniqueConstraintInstance extends IInstance {
26
26
  where?: ConstraintPredicate;
27
27
  violationCode?: string;
28
28
  }
29
- export type ConstraintInstance = UniqueConstraintInstance;
29
+ export interface NonNullConstraintInstance extends IInstance {
30
+ name: string;
31
+ property: string;
32
+ violationCode?: string;
33
+ }
34
+ export type ConstraintInstance = UniqueConstraintInstance | NonNullConstraintInstance;
30
35
  export interface UniqueConstraintCreateArgs {
31
36
  name: string;
32
37
  properties: string[];
33
38
  where?: ConstraintPredicate;
34
39
  violationCode?: string;
35
40
  }
41
+ export interface NonNullConstraintCreateArgs {
42
+ name: string;
43
+ property: string;
44
+ violationCode?: string;
45
+ }
36
46
  export declare class UniqueConstraint implements UniqueConstraintInstance {
37
47
  uuid: string;
38
48
  _type: string;
@@ -92,4 +102,47 @@ export declare class UniqueConstraint implements UniqueConstraintInstance {
92
102
  static check(data: unknown): boolean;
93
103
  static parse(json: string): UniqueConstraintInstance;
94
104
  }
105
+ export declare class NonNullConstraint implements NonNullConstraintInstance {
106
+ uuid: string;
107
+ _type: string;
108
+ _options?: {
109
+ uuid?: string;
110
+ };
111
+ name: string;
112
+ property: string;
113
+ violationCode?: string;
114
+ constructor(args: NonNullConstraintCreateArgs, options?: {
115
+ uuid?: string;
116
+ });
117
+ static isKlass: true;
118
+ static displayName: string;
119
+ static instances: NonNullConstraintInstance[];
120
+ static public: {
121
+ name: {
122
+ type: "string";
123
+ required: true;
124
+ constraints: {
125
+ nameFormat: ({ name }: {
126
+ name: string;
127
+ }) => boolean;
128
+ };
129
+ };
130
+ property: {
131
+ type: "string";
132
+ required: true;
133
+ };
134
+ violationCode: {
135
+ type: "string";
136
+ required: false;
137
+ };
138
+ };
139
+ static create(args: NonNullConstraintCreateArgs, options?: {
140
+ uuid?: string;
141
+ }): NonNullConstraintInstance;
142
+ static stringify(instance: NonNullConstraintInstance): string;
143
+ static clone(instance: NonNullConstraintInstance): NonNullConstraintInstance;
144
+ static is(obj: unknown): obj is NonNullConstraintInstance;
145
+ static check(data: unknown): boolean;
146
+ static parse(json: string): NonNullConstraintInstance;
147
+ }
95
148
  //# sourceMappingURL=Constraint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Constraint.d.ts","sourceRoot":"","sources":["../../src/core/Constraint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,iBAAiB,CAAC;AAI1E,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAExE,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,QAAQ,CAAA;CAAE,GAChB;IAAE,EAAE,EAAE,WAAW,CAAA;CAAE,GACnB;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACjD;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,GACpD;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,wBAAwB,EAAE,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,wBAAwB,EAAE,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,YAAY,EAAE,MAAM,GAAG,2BAA2B,CAAC;CACrD,CAAC;AAEF,MAAM,WAAW,wBAAyB,SAAQ,SAAS;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAiB,YAAW,wBAAwB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,SAAsB;IAC3B,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IASzE,MAAM,CAAC,OAAO,EAAG,IAAI,CAAU;IAC/B,MAAM,CAAC,WAAW,SAAsB;IACxC,MAAM,CAAC,SAAS,EAAE,wBAAwB,EAAE,CAAM;IAElD,MAAM,CAAC,MAAM;;;;;uCAKc;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE;;;;;;;;2CAQZ;oBAAE,UAAU,EAAE,MAAM,EAAE,CAAA;iBAAE;iDAClB;oBAAE,UAAU,EAAE,MAAM,EAAE,CAAA;iBAAE;;;;;;;;;;;;;MAgB3D;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,wBAAwB;IAUtG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM;IAiB5D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,wBAAwB,GAAG,wBAAwB;IAS1E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,wBAAwB;IAIxD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIpC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB;CAIrD"}
1
+ {"version":3,"file":"Constraint.d.ts","sourceRoot":"","sources":["../../src/core/Constraint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../src/core/StateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,qBAAa,YAAa,YAAW,oBAAoB;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,SAAkB;IACvB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,CAAC;gBAE3B,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IASrE,MAAM,CAAC,OAAO,EAAG,IAAI,CAAU;IAC/B,MAAM,CAAC,WAAW,SAAkB;IACpC,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAM;IAE9C,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;MAgBX;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB;IAa9F,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM;IAcxD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,GAAG,oBAAoB;IAQ/E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,oBAAoB;IAIpD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAItC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;CAIjD"}
1
+ {"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../src/core/StateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,qBAAa,YAAa,YAAW,oBAAoB;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,SAAkB;IACvB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,CAAC;gBAE3B,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IASrE,MAAM,CAAC,OAAO,EAAG,IAAI,CAAU;IAC/B,MAAM,CAAC,WAAW,SAAkB;IACpC,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAM;IAE9C,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;MAgBX;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB;IAa9F,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM;IAexD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,GAAG,oBAAoB;IAQ/E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,oBAAoB;IAIpD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAItC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;CAIjD"}
@@ -25,10 +25,12 @@ export declare class MysqlDB implements Database {
25
25
  constraints: {
26
26
  unique: boolean;
27
27
  filteredUnique: boolean;
28
+ nonNull: boolean;
28
29
  };
29
30
  };
30
31
  constructor(database: string, options?: MysqlDBConfig);
31
32
  open(forceDrop?: boolean): Promise<void>;
33
+ openForSchemaRead(): Promise<void>;
32
34
  query<T>(sql: string, where?: unknown[], name?: string): Promise<T[]>;
33
35
  update<T>(sql: string, values: unknown[], idField?: string, name?: string): Promise<T[]>;
34
36
  insert(sql: string, values: unknown[], name?: string): Promise<EntityIdRef>;
@@ -1 +1 @@
1
- {"version":3,"file":"Mysql.d.ts","sourceRoot":"","sources":["../../src/drivers/Mysql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAgE,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACpJ,OAAO,KAAK,EAAE,EAAC,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAgB,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAE7F,qBAAa,OAAQ,YAAW,QAAQ;IAqBjB,QAAQ,EAAC,MAAM;IAAS,OAAO,EAAE,aAAa;IApBjE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAG,UAAU,CAAA;IACf,qBAAqB,EAAE,qBAAqB,CAS3C;IACD,aAAa;;;;;;;;;MAMZ;gBACkB,QAAQ,EAAC,MAAM,EAAS,OAAO,GAAE,aAAkB;IAIhE,IAAI,CAAC,SAAS,UAAQ;IA0BtB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAehE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAmB5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAUjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAKd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
1
+ {"version":3,"file":"Mysql.d.ts","sourceRoot":"","sources":["../../src/drivers/Mysql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAgE,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACpJ,OAAO,KAAK,EAAE,EAAC,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAgB,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAE7F,qBAAa,OAAQ,YAAW,QAAQ;IAqBjB,QAAQ,EAAC,MAAM;IAAS,OAAO,EAAE,aAAa;IApBjE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAG,UAAU,CAAA;IACf,qBAAqB,EAAE,qBAAqB,CAS3C;IACD,aAAa;;;;;;;;;;MAMZ;gBACkB,QAAQ,EAAC,MAAM,EAAS,OAAO,GAAE,aAAkB;IAIhE,IAAI,CAAC,SAAS,UAAQ;IA0BtB,iBAAiB;IAWjB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAehE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAmB5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAUjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAKd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
@@ -26,10 +26,12 @@ export declare class PGLiteDB implements Database {
26
26
  constraints: {
27
27
  unique: boolean;
28
28
  filteredUnique: boolean;
29
+ nonNull: boolean;
29
30
  };
30
31
  };
31
32
  constructor(database?: string | undefined, options?: PGLiteDBConfig);
32
33
  open(forceDrop?: boolean): Promise<void>;
34
+ openForSchemaRead(): Promise<void>;
33
35
  setupInternalComputationState(): Promise<void>;
34
36
  query<T>(sql: string, params?: unknown[], name?: string): Promise<T[]>;
35
37
  update<T>(sql: string, values: unknown[], idField?: string, name?: string): Promise<T[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"PGLite.d.ts","sourceRoot":"","sources":["../../src/drivers/PGLite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA6E,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACjK,OAAO,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAGrC;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAExD,qBAAa,QAAS,YAAW,QAAQ;IAsBlB,QAAQ,CAAC,EAAC,MAAM;IAAS,OAAO,EAAE,cAAc;IArBnE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;IAC/B,uBAAuB,UAAO;IAC9B,qBAAqB,EAAE,qBAAqB,CAS3C;IACD,aAAa;;;;;;;;;MAMZ;gBACkB,QAAQ,CAAC,EAAC,MAAM,YAAA,EAAS,OAAO,GAAE,cAAmB;IAKlE,IAAI,CAAC,SAAS,UAAQ;IAqBtB,6BAA6B;IAU7B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,MAAM,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAuBpD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAgBhE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IA2B5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYjD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAoBjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAOd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
1
+ {"version":3,"file":"PGLite.d.ts","sourceRoot":"","sources":["../../src/drivers/PGLite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA6E,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACjK,OAAO,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAGrC;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAExD,qBAAa,QAAS,YAAW,QAAQ;IAsBlB,QAAQ,CAAC,EAAC,MAAM;IAAS,OAAO,EAAE,cAAc;IArBnE,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,EAAE,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;IAC/B,uBAAuB,UAAO;IAC9B,qBAAqB,EAAE,qBAAqB,CAS3C;IACD,aAAa;;;;;;;;;;MAMZ;gBACkB,QAAQ,CAAC,EAAC,MAAM,YAAA,EAAS,OAAO,GAAE,cAAmB;IAKlE,IAAI,CAAC,SAAS,UAAQ;IAqBtB,iBAAiB;IAIjB,6BAA6B;IAU7B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,MAAM,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAuBpD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAgBhE,MAAM,CAAC,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IA2B5C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYjD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAoBjC,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAYzL,cAAc;IAOd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
@@ -40,10 +40,12 @@ export declare class PostgreSQLDB implements Database {
40
40
  constraints: {
41
41
  unique: boolean;
42
42
  filteredUnique: boolean;
43
+ nonNull: boolean;
43
44
  };
44
45
  };
45
46
  constructor(database: string, options?: PostgreSQLDBConfig);
46
47
  open(forceDrop?: boolean): Promise<void>;
48
+ openForSchemaRead(): Promise<void>;
47
49
  private getQueryable;
48
50
  runInTransaction<T>(options: TransactionOptions, fn: () => Promise<T>): Promise<T>;
49
51
  setupInternalComputationState(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSQL.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgreSQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgreSQL.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgreSQL.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,12 @@ export declare class SQLiteDB implements Database {
26
26
  constraints: {
27
27
  unique: boolean;
28
28
  filteredUnique: boolean;
29
+ nonNull: boolean;
29
30
  };
30
31
  };
31
32
  constructor(file?: string, options?: SQLiteDBOptions | undefined);
32
33
  open(): Promise<void>;
34
+ openForSchemaRead(): Promise<void>;
33
35
  setupInternalComputationState(): Promise<void>;
34
36
  query<T>(sql: string, where?: unknown[], name?: string): Promise<T[]>;
35
37
  update(sql: string, values: unknown[], idField?: string, name?: string): Promise<EntityIdRef[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLite.d.ts","sourceRoot":"","sources":["../../src/drivers/SQLite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA6E,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACjK,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAA;AAEvF,qBAAa,QAAS,YAAW,QAAQ;IAsBlB,IAAI,EAAC,MAAM;IAAsB,OAAO,CAAC,EAAE,eAAe;IArB7E,EAAE,EAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;IAChC,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,uBAAuB,UAAQ;IAC/B,qBAAqB,EAAE,qBAAqB,CAS3C;IACD,aAAa;;;;;;;;;MAMZ;gBACkB,IAAI,GAAC,MAAmB,EAAS,OAAO,CAAC,EAAE,eAAe,YAAA;IAIvE,IAAI;IAIJ,6BAA6B;IAU7B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAe7D,MAAM,CAAE,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAc7C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAU3B,KAAK;IAGL,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAczL,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}
1
+ {"version":3,"file":"SQLite.d.ts","sourceRoot":"","sources":["../../src/drivers/SQLite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAA6E,qBAAqB,EAAC,MAAM,UAAU,CAAC;AACjK,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,cAAM,QAAQ;IACS,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAC/B,KAAK;IAGC,SAAS,CAAC,UAAU,EAAE,MAAM;CAWrC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAA;AAEvF,qBAAa,QAAS,YAAW,QAAQ;IAsBlB,IAAI,EAAC,MAAM;IAAsB,OAAO,CAAC,EAAE,eAAe;IArB7E,EAAE,EAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;IAChC,QAAQ,EAAG,QAAQ,CAAA;IACnB,MAAM,EAAE,cAAc,CAAA;IACtB,uBAAuB,UAAQ;IAC/B,qBAAqB,EAAE,qBAAqB,CAS3C;IACD,aAAa;;;;;;;;;;MAMZ;gBACkB,IAAI,GAAC,MAAmB,EAAS,OAAO,CAAC,EAAE,eAAe,YAAA;IAIvE,IAAI;IAIJ,iBAAiB;IAGjB,6BAA6B;IAU7B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC,MAAM,EAAE,KAAK,GAAE,OAAO,EAAM,EAAE,IAAI,SAAI;IAanD,MAAM,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,SAAG;IAe7D,MAAM,CAAE,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,OAAO,EAAE,EAAE,IAAI,SAAG;IAc7C,MAAM,CAAC,CAAC,EAAG,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,SAAG;IAYhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAG;IAU3B,KAAK;IAGL,SAAS,CAAC,UAAU,EAAE,MAAM;IAGlC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,MAAM;;;;IAczL,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAmBtD"}