@maadb/core 0.7.10-rc.6 → 0.7.10-rc.8

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 (44) hide show
  1. package/dist/backend/adapter.d.ts +8 -0
  2. package/dist/backend/adapter.d.ts.map +1 -1
  3. package/dist/backend/sqlite/index.d.ts +1 -0
  4. package/dist/backend/sqlite/index.d.ts.map +1 -1
  5. package/dist/backend/sqlite/index.js +4 -0
  6. package/dist/backend/sqlite/index.js.map +1 -1
  7. package/dist/engine/index.d.ts +21 -0
  8. package/dist/engine/index.d.ts.map +1 -1
  9. package/dist/engine/index.js +16 -0
  10. package/dist/engine/index.js.map +1 -1
  11. package/dist/engine/repairs.d.ts +18 -0
  12. package/dist/engine/repairs.d.ts.map +1 -0
  13. package/dist/engine/repairs.js +353 -0
  14. package/dist/engine/repairs.js.map +1 -0
  15. package/dist/engine/types.d.ts +50 -0
  16. package/dist/engine/types.d.ts.map +1 -1
  17. package/dist/engine/writes.d.ts +21 -2
  18. package/dist/engine/writes.d.ts.map +1 -1
  19. package/dist/engine/writes.js +175 -22
  20. package/dist/engine/writes.js.map +1 -1
  21. package/dist/errors.d.ts +1 -1
  22. package/dist/errors.d.ts.map +1 -1
  23. package/dist/errors.js.map +1 -1
  24. package/dist/git/commit.d.ts.map +1 -1
  25. package/dist/git/commit.js +12 -1
  26. package/dist/git/commit.js.map +1 -1
  27. package/dist/mcp/bulk-cap.d.ts +2 -0
  28. package/dist/mcp/bulk-cap.d.ts.map +1 -1
  29. package/dist/mcp/bulk-cap.js +35 -0
  30. package/dist/mcp/bulk-cap.js.map +1 -1
  31. package/dist/mcp/kinds.d.ts.map +1 -1
  32. package/dist/mcp/kinds.js +5 -0
  33. package/dist/mcp/kinds.js.map +1 -1
  34. package/dist/mcp/roles.d.ts.map +1 -1
  35. package/dist/mcp/roles.js +3 -0
  36. package/dist/mcp/roles.js.map +1 -1
  37. package/dist/mcp/server.d.ts.map +1 -1
  38. package/dist/mcp/server.js +2 -0
  39. package/dist/mcp/server.js.map +1 -1
  40. package/dist/mcp/tools/cleanup.d.ts +4 -0
  41. package/dist/mcp/tools/cleanup.d.ts.map +1 -0
  42. package/dist/mcp/tools/cleanup.js +317 -0
  43. package/dist/mcp/tools/cleanup.js.map +1 -0
  44. package/package.json +1 -1
@@ -0,0 +1,353 @@
1
+ // ============================================================================
2
+ // 0.7.10 — Tolerant-only repair primitives behind maad_repair_where.
3
+ //
4
+ // Two strategies registered in an internal `REPAIR_STRATEGIES` map:
5
+ //
6
+ // prune_orphan_refs — for each ref-typed field in the record's frontmatter,
7
+ // if the target docId can't be resolved (target missing
8
+ // OR soft-deleted, matching verifyIntegrity's broken_refs
9
+ // semantics), drop the broken ref. Single-valued ref →
10
+ // set to null; list-of-ref → filter out missing targets.
11
+ // Pure compute; the orchestrator owns the disk write.
12
+ //
13
+ // fix_schema_drift — bump the record's `schema` frontmatter value (and the
14
+ // backing schemaRef column on next reindex) to the
15
+ // registry's current schemaRef for the record's docType.
16
+ // Tolerant migration only — adds missing optional fields
17
+ // with their schema defaults, drops fields no longer
18
+ // declared, NEVER coerces types. Records with type
19
+ // coercion needs surface as REPAIR_REQUIRES_MIGRATION
20
+ // for a future migration tool to handle.
21
+ //
22
+ // Both strategies return RepairOutcome — a pure computed value with the new
23
+ // frontmatter and changed-fields list, or a failure code. The orchestrator
24
+ // (`repairWhere`) chains strategies per record, accumulates changes, writes
25
+ // once per record via atomicWrite + indexFile, and emits a single trailing
26
+ // git commit for the whole batch (mirrors bulkUpdate's pattern).
27
+ //
28
+ // Spec lock: docs/specs/0.7.10-integrity-cleanup.md §maad_repair_where.
29
+ // ============================================================================
30
+ import path from 'node:path';
31
+ import { ok } from '../errors.js';
32
+ import { docId as toDocId, filePath as toFilePath, } from '../types.js';
33
+ import { gitCommit } from './context.js';
34
+ import { readFrontmatter } from './helpers.js';
35
+ import { generateDocument, extractBody } from '../writer/index.js';
36
+ import { atomicWrite } from './journal.js';
37
+ import { indexFile } from './indexing.js';
38
+ import { readFile } from 'node:fs/promises';
39
+ // ---- prune_orphan_refs -----------------------------------------------------
40
+ function pruneOrphanRefs(ctx, doc, frontmatter) {
41
+ const schema = ctx.schemaStore.getSchemaForType(doc.docType);
42
+ if (!schema) {
43
+ // Schema gone — fix_schema_drift would catch this; prune can't reason
44
+ // about ref fields without the schema, so noop. Operator can either run
45
+ // fix_schema_drift first or restore the schema pack.
46
+ return { ok: true, noop: true, changedFields: [], newFrontmatter: frontmatter };
47
+ }
48
+ const next = { ...frontmatter };
49
+ const changedFields = [];
50
+ for (const [fieldName, def] of schema.fields) {
51
+ const value = next[fieldName];
52
+ if (value === undefined || value === null)
53
+ continue;
54
+ if (def.type === 'ref') {
55
+ // Single-valued ref. Value is a string docId.
56
+ if (typeof value !== 'string')
57
+ continue;
58
+ if (!isRefBroken(ctx, value))
59
+ continue;
60
+ next[fieldName] = null;
61
+ changedFields.push(fieldName);
62
+ continue;
63
+ }
64
+ if (def.type === 'list' && def.itemType === 'ref') {
65
+ if (!Array.isArray(value))
66
+ continue;
67
+ const filtered = value.filter(v => typeof v === 'string' && !isRefBroken(ctx, v));
68
+ if (filtered.length !== value.length) {
69
+ next[fieldName] = filtered;
70
+ changedFields.push(fieldName);
71
+ }
72
+ }
73
+ }
74
+ if (changedFields.length === 0) {
75
+ return { ok: true, noop: true, changedFields: [], newFrontmatter: frontmatter };
76
+ }
77
+ return { ok: true, noop: false, changedFields, newFrontmatter: next };
78
+ }
79
+ function isRefBroken(ctx, targetDocId) {
80
+ // Aligned with verifyIntegrity's broken_refs semantics: a ref is "broken"
81
+ // when its target either doesn't exist OR is soft-deleted. backend.getDocument
82
+ // already filters deleted=0, so a null return covers both cases.
83
+ return ctx.backend.getDocument(toDocId(targetDocId)) === null;
84
+ }
85
+ // ---- fix_schema_drift ------------------------------------------------------
86
+ function fixSchemaDrift(ctx, doc, frontmatter) {
87
+ const regType = ctx.registry.types.get(doc.docType);
88
+ if (!regType) {
89
+ // No registry entry for this docType — can't determine the target
90
+ // schemaRef. Best-effort: report as REPAIR_REQUIRES_MIGRATION so the
91
+ // operator knows manual intervention is needed.
92
+ return {
93
+ ok: false,
94
+ code: 'REPAIR_REQUIRES_MIGRATION',
95
+ message: `docType "${doc.docType}" is not in the current registry; cannot determine target schemaRef`,
96
+ };
97
+ }
98
+ const currentRef = doc.schemaRef;
99
+ const targetRef = regType.schemaRef;
100
+ if (currentRef === targetRef) {
101
+ return { ok: true, noop: true, changedFields: [], newFrontmatter: frontmatter };
102
+ }
103
+ const targetSchema = ctx.schemaStore.getSchemaForType(doc.docType);
104
+ if (!targetSchema) {
105
+ return {
106
+ ok: false,
107
+ code: 'REPAIR_REQUIRES_MIGRATION',
108
+ message: `target schema "${targetRef}" is registered but not loaded; cannot compute tolerant migration`,
109
+ };
110
+ }
111
+ const next = { ...frontmatter };
112
+ const changedFields = [];
113
+ // Step 1 — drop fields present in the doc but no longer declared by the
114
+ // target schema. Skip core fields (doc_id, doc_type, schema).
115
+ const declaredFields = new Set(targetSchema.fields.keys());
116
+ for (const key of Object.keys(next)) {
117
+ if (key === 'doc_id' || key === 'doc_type' || key === 'schema')
118
+ continue;
119
+ if (declaredFields.has(key))
120
+ continue;
121
+ delete next[key];
122
+ changedFields.push(key);
123
+ }
124
+ // Step 2 — detect type-coercion conflicts (the not-tolerant case). A
125
+ // declared field present in the doc whose schema type changed in a way
126
+ // that doesn't trivially round-trip is REPAIR_REQUIRES_MIGRATION. We treat
127
+ // any non-noop type change as requiring migration; tolerant additions
128
+ // (optional field newly declared, defaulted in) are handled below.
129
+ for (const [fieldName, def] of targetSchema.fields) {
130
+ const value = next[fieldName];
131
+ if (value === undefined || value === null)
132
+ continue;
133
+ if (!isTypeCompatible(value, def)) {
134
+ return {
135
+ ok: false,
136
+ code: 'REPAIR_REQUIRES_MIGRATION',
137
+ message: `field "${fieldName}" value type ${typeof value} is not tolerant-compatible with declared type "${def.type}"; migration required`,
138
+ };
139
+ }
140
+ }
141
+ // Step 3 — add missing optional fields with schema defaults. Required
142
+ // fields stay missing — that's a validation failure caught at write time,
143
+ // not something tolerant repair can invent.
144
+ for (const [fieldName, def] of targetSchema.fields) {
145
+ if (next[fieldName] !== undefined)
146
+ continue;
147
+ if (targetSchema.required.includes(fieldName))
148
+ continue;
149
+ if (def.defaultValue === undefined || def.defaultValue === null)
150
+ continue;
151
+ next[fieldName] = def.defaultValue;
152
+ changedFields.push(fieldName);
153
+ }
154
+ // Step 4 — bump the `schema` frontmatter key to the new schemaRef. The
155
+ // indexFile pass after the write will pick this up into documents.schema_ref.
156
+ if (next.schema !== targetRef) {
157
+ next.schema = targetRef;
158
+ changedFields.push('schema');
159
+ }
160
+ if (changedFields.length === 0) {
161
+ return { ok: true, noop: true, changedFields: [], newFrontmatter: frontmatter };
162
+ }
163
+ return { ok: true, noop: false, changedFields, newFrontmatter: next };
164
+ }
165
+ function isTypeCompatible(value, def) {
166
+ // Tolerant repair is strict about type identity — anything that would
167
+ // require coercion (e.g. "5" → 5) is migration, not repair, and lands as
168
+ // REPAIR_REQUIRES_MIGRATION. `amount` is the one legitimate hybrid: it
169
+ // accepts both numeric scalars and currency-prefixed strings ("$100") as
170
+ // first-class values throughout the engine.
171
+ switch (def.type) {
172
+ case 'string':
173
+ case 'enum':
174
+ case 'date':
175
+ case 'ref':
176
+ return typeof value === 'string';
177
+ case 'number':
178
+ return typeof value === 'number';
179
+ case 'amount':
180
+ return typeof value === 'number' || typeof value === 'string';
181
+ case 'boolean':
182
+ return typeof value === 'boolean';
183
+ case 'list':
184
+ return Array.isArray(value);
185
+ }
186
+ }
187
+ // ---- Registry --------------------------------------------------------------
188
+ const REPAIR_STRATEGIES = {
189
+ prune_orphan_refs: pruneOrphanRefs,
190
+ fix_schema_drift: fixSchemaDrift,
191
+ };
192
+ export function getRepairStrategyNames() {
193
+ return Object.keys(REPAIR_STRATEGIES);
194
+ }
195
+ // ---- Orchestrator ----------------------------------------------------------
196
+ /**
197
+ * 0.7.10 — `maad_repair_where` engine entry point. Applies each strategy in
198
+ * `repairTypes` to every doc matching `(docType, filter)`, capped at
199
+ * `maxRecords`. Per-record per-strategy failures collect independently;
200
+ * per-record successes accumulate and write once with a single trailing
201
+ * commit for the batch.
202
+ *
203
+ * The MCP layer owns the confirm contract, maxRecords resolution, idempotency,
204
+ * and dry-run preview. This function assumes the caller has already gated on
205
+ * `confirm: true`.
206
+ */
207
+ export async function repairWhere(ctx, filter, docType, repairTypes, maxRecords) {
208
+ // Query matches. Without docType the query layer rejects (findDocuments
209
+ // requires it), so the MCP layer is responsible for surfacing a clear
210
+ // error before reaching here. We re-defend with an empty match set so the
211
+ // engine never crashes on a malformed call.
212
+ if (!docType) {
213
+ return ok({
214
+ succeeded: [],
215
+ failed: [],
216
+ totalRequested: 0,
217
+ writeDurable: true,
218
+ });
219
+ }
220
+ const matches = ctx.backend.findDocuments({
221
+ docType,
222
+ ...(filter !== undefined ? { filters: filter } : {}),
223
+ limit: maxRecords,
224
+ });
225
+ const succeeded = [];
226
+ const failed = [];
227
+ const allFiles = [];
228
+ for (const match of matches) {
229
+ const docId = match.docId;
230
+ const doc = ctx.backend.getDocument(docId);
231
+ if (!doc) {
232
+ // Race: row was deleted between findDocuments and getDocument. Skip
233
+ // silently — there's nothing left to repair.
234
+ continue;
235
+ }
236
+ let frontmatter;
237
+ try {
238
+ frontmatter = await readFrontmatter(ctx.projectRoot, doc);
239
+ }
240
+ catch (e) {
241
+ for (const strategy of repairTypes) {
242
+ failed.push({
243
+ docId: docId,
244
+ strategy,
245
+ code: 'REPAIR_REQUIRES_MIGRATION',
246
+ message: `cannot read frontmatter for ${docId}: ${e instanceof Error ? e.message : String(e)}`,
247
+ });
248
+ }
249
+ continue;
250
+ }
251
+ let workingFrontmatter = frontmatter;
252
+ const appliedRepairs = [];
253
+ for (const strategyName of repairTypes) {
254
+ const strategy = REPAIR_STRATEGIES[strategyName];
255
+ const outcome = strategy(ctx, doc, workingFrontmatter);
256
+ if (!outcome.ok) {
257
+ failed.push({
258
+ docId: docId,
259
+ strategy: strategyName,
260
+ code: outcome.code,
261
+ message: outcome.message,
262
+ });
263
+ continue;
264
+ }
265
+ if (outcome.noop)
266
+ continue;
267
+ workingFrontmatter = outcome.newFrontmatter;
268
+ appliedRepairs.push({ strategy: strategyName, changedFields: outcome.changedFields });
269
+ }
270
+ if (appliedRepairs.length === 0)
271
+ continue;
272
+ // Write the record back. Mirrors updateDocument's atomic write + indexFile
273
+ // pattern but skips per-record git commits — the trailing batch commit
274
+ // covers everything. Failures collapse the per-record applied repairs to
275
+ // a single failed entry per strategy attempted.
276
+ const writeResult = await writeRepairedRecord(ctx, doc, workingFrontmatter);
277
+ if (!writeResult.ok) {
278
+ for (const r of appliedRepairs) {
279
+ failed.push({
280
+ docId: docId,
281
+ strategy: r.strategy,
282
+ code: writeResult.code,
283
+ message: writeResult.message,
284
+ });
285
+ }
286
+ continue;
287
+ }
288
+ succeeded.push({
289
+ docId: docId,
290
+ docType: doc.docType,
291
+ appliedRepairs,
292
+ });
293
+ allFiles.push(writeResult.absPath);
294
+ }
295
+ let commitFailure;
296
+ let writeDurable = true;
297
+ const first = succeeded[0];
298
+ if (first) {
299
+ const outcome = await gitCommit(ctx, {
300
+ action: 'update',
301
+ docId: toDocId(first.docId),
302
+ docType: first.docType,
303
+ detail: `repair:${repairTypes.join(',')}:${succeeded.length}`,
304
+ summary: `Repaired ${succeeded.length} records via ${repairTypes.join(' + ')}`,
305
+ files: allFiles,
306
+ });
307
+ if (outcome.status === 'failed') {
308
+ writeDurable = false;
309
+ commitFailure = { code: outcome.code, message: outcome.message, action: 'update' };
310
+ }
311
+ }
312
+ const result = {
313
+ succeeded,
314
+ failed,
315
+ totalRequested: matches.length,
316
+ writeDurable,
317
+ };
318
+ if (commitFailure)
319
+ result.commitFailure = commitFailure;
320
+ return ok(result);
321
+ }
322
+ async function writeRepairedRecord(ctx, doc, newFrontmatter) {
323
+ const targetSchema = ctx.schemaStore.getSchemaForType(doc.docType);
324
+ if (!targetSchema) {
325
+ return { ok: false, code: 'SCHEMA_NOT_FOUND', message: `no schema for "${doc.docType}"` };
326
+ }
327
+ const absPath = path.join(ctx.projectRoot, doc.filePath);
328
+ let rawBody;
329
+ try {
330
+ const raw = await readFile(absPath, 'utf-8');
331
+ rawBody = extractBody(raw);
332
+ }
333
+ catch (e) {
334
+ return { ok: false, code: 'FILE_READ_ERROR', message: `cannot read ${absPath}: ${e instanceof Error ? e.message : String(e)}` };
335
+ }
336
+ const markdown = generateDocument(newFrontmatter, targetSchema, rawBody.length > 0 ? rawBody : undefined);
337
+ try {
338
+ await atomicWrite(absPath, markdown);
339
+ }
340
+ catch (e) {
341
+ return { ok: false, code: 'WRITE_ERROR', message: `atomicWrite failed for ${absPath}: ${e instanceof Error ? e.message : String(e)}` };
342
+ }
343
+ const indexResult = await indexFile(ctx, toFilePath(absPath));
344
+ if (!indexResult.ok) {
345
+ return {
346
+ ok: false,
347
+ code: 'INDEX_FAILED',
348
+ message: `index update failed for ${doc.docId}: ${indexResult.errors.map((err) => err.message).join('; ')}`,
349
+ };
350
+ }
351
+ return { ok: true, absPath };
352
+ }
353
+ //# sourceMappingURL=repairs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repairs.js","sourceRoot":"","sources":["../../src/engine/repairs.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,56 @@ export interface DeleteResult {
121
121
  writeDurable: boolean;
122
122
  commitFailure?: CommitFailureDetail;
123
123
  }
124
+ export interface BulkDeleteResult {
125
+ succeeded: Array<{
126
+ docId: string;
127
+ docType: string;
128
+ filePath: string;
129
+ mode: 'soft' | 'hard';
130
+ }>;
131
+ failed: Array<{
132
+ docId: string;
133
+ error: string;
134
+ }>;
135
+ totalRequested: number;
136
+ writeDurable: boolean;
137
+ commitFailure?: CommitFailureDetail;
138
+ }
139
+ export interface PurgeSoftDeletedResult {
140
+ purged: Array<{
141
+ docId: string;
142
+ docType: string;
143
+ filePath: string;
144
+ }>;
145
+ failed: Array<{
146
+ docId: string;
147
+ error: string;
148
+ }>;
149
+ scanned: number;
150
+ retentionThresholdIso: string;
151
+ writeDurable: boolean;
152
+ commitFailure?: CommitFailureDetail;
153
+ }
154
+ export type RepairStrategyName = 'prune_orphan_refs' | 'fix_schema_drift';
155
+ export interface RepairWhereResult {
156
+ succeeded: Array<{
157
+ docId: string;
158
+ docType: string;
159
+ appliedRepairs: Array<{
160
+ strategy: RepairStrategyName;
161
+ changedFields: string[];
162
+ }>;
163
+ }>;
164
+ failed: Array<{
165
+ docId: string;
166
+ strategy: RepairStrategyName;
167
+ code: string;
168
+ message: string;
169
+ }>;
170
+ totalRequested: number;
171
+ writeDurable: boolean;
172
+ commitFailure?: CommitFailureDetail;
173
+ }
124
174
  export interface ChangesSinceQuery {
125
175
  cursor?: string | undefined;
126
176
  limit?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,29 @@
1
1
  import { type Result } from '../errors.js';
2
2
  import { type DocId, type DocType } from '../types.js';
3
3
  import type { EngineContext } from './context.js';
4
- import type { CreateResult, UpdateResult, DeleteResult, BulkCreateInput, BulkUpdateInput, BulkResult } from './types.js';
4
+ import type { CreateResult, UpdateResult, DeleteResult, BulkCreateInput, BulkUpdateInput, BulkResult, BulkDeleteResult, PurgeSoftDeletedResult } from './types.js';
5
5
  export declare function createDocument(ctx: EngineContext, dt: DocType, fields: Record<string, unknown>, body?: string | undefined, customDocId?: string | undefined): Promise<Result<CreateResult>>;
6
6
  export declare function updateDocument(ctx: EngineContext, id: DocId, fields?: Record<string, unknown> | undefined, body?: string | undefined, appendBody?: string | undefined, expectedVersion?: number | undefined, skipGit?: boolean | undefined): Promise<Result<UpdateResult>>;
7
- export declare function deleteDocument(ctx: EngineContext, id: DocId, mode: 'soft' | 'hard'): Promise<Result<DeleteResult>>;
7
+ export declare function deleteDocument(ctx: EngineContext, id: DocId, mode: 'soft' | 'hard', skipGit?: boolean | undefined): Promise<Result<DeleteResult>>;
8
+ /**
9
+ * 0.7.10 — bulk delete with single-commit atomicity. Mirrors the bulkUpdate
10
+ * pattern: each record runs through deleteDocument with skipGit:true, then
11
+ * one trailing commit stages every affected path (the renamed `_deleted_*`
12
+ * for soft, or the unlinked original for hard). Per-record failures collect
13
+ * and do NOT abort the batch.
14
+ */
15
+ export declare function bulkDelete(ctx: EngineContext, docIds: string[], mode: 'soft' | 'hard'): Promise<Result<BulkDeleteResult>>;
8
16
  export declare function bulkCreate(ctx: EngineContext, records: BulkCreateInput[]): Promise<Result<BulkResult>>;
9
17
  export declare function bulkUpdate(ctx: EngineContext, updates: BulkUpdateInput[]): Promise<Result<BulkResult>>;
18
+ /**
19
+ * 0.7.10 — Hard-delete soft-deleted records older than the retention
20
+ * threshold. Walks `findSoftDeletedBefore(olderThanIso, maxRecords)`, unlinks
21
+ * each `_deleted_<file>.md` from disk, removes the row via the backend's
22
+ * CASCADE-aware `removeDocument` (clears objects / relationships / blocks /
23
+ * field_index in the same statement), and stages every removed path into a
24
+ * single trailing commit. `scanned` reports the total matched before
25
+ * maxRecords clipping — when scanned > purged.length the operator can see
26
+ * the cemetery is bigger than the cap and chunk subsequent calls.
27
+ */
28
+ export declare function purgeSoftDeleted(ctx: EngineContext, olderThanIso: string, maxRecords: number): Promise<Result<PurgeSoftDeletedResult>>;
10
29
  //# sourceMappingURL=writes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writes.d.ts","sourceRoot":"","sources":["../../src/engine/writes.ts"],"names":[],"mappings":"AAQA,OAAO,EAAiC,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,OAAO,EAGb,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAyC,MAAM,YAAY,CAAC;AAShK,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAuG/B;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,KAAK,EACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,EACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,EAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAC5B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAoI/B;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAsExH;AAID,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CA0H7B;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAoE7B"}
1
+ {"version":3,"file":"writes.d.ts","sourceRoot":"","sources":["../../src/engine/writes.ts"],"names":[],"mappings":"AAQA,OAAO,EAAiC,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,OAAO,EAGb,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAoB,gBAAgB,EAAE,sBAAsB,EAAuB,MAAM,YAAY,CAAC;AAS1M,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAuG/B;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,KAAK,EACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,EACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,EAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAC5B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAoI/B;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,EAAE,EAAE,KAAK,EACT,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAC5B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CA2E/B;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAiEnC;AAID,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CA0H7B;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAoE7B;AAqKD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAqEzC"}