@lix-js/sdk 0.16.0 → 0.17.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 (73) hide show
  1. package/README.md +187 -22
  2. package/dist/binding-types.d.ts +20 -6
  3. package/dist/binding.browser.d.ts +2 -0
  4. package/dist/binding.browser.js +14 -4
  5. package/dist/binding.node-wasm.d.ts +1 -1
  6. package/dist/binding.node-wasm.js +5 -3
  7. package/dist/binding.node.d.ts +2 -0
  8. package/dist/binding.node.js +34 -8
  9. package/dist/bundled-plugins/plugin_csv.lixplugin +0 -0
  10. package/dist/bundled-plugins/plugin_markdown.lixplugin +0 -0
  11. package/dist/compatibility.d.ts +6 -0
  12. package/dist/compatibility.js +6 -0
  13. package/dist/component-host/dispatch.d.ts +12 -0
  14. package/dist/component-host/dispatch.js +364 -0
  15. package/dist/component-host/index.d.ts +15 -0
  16. package/dist/component-host/index.js +84 -0
  17. package/dist/component-host/instrument.d.ts +6 -0
  18. package/dist/component-host/instrument.js +260 -0
  19. package/dist/conversion-provider.d.ts +4 -0
  20. package/dist/conversion-provider.js +20 -0
  21. package/dist/hosted-lix.js +1 -1
  22. package/dist/http-transport.d.ts +25 -0
  23. package/dist/http-transport.js +162 -0
  24. package/dist/index.d.ts +2 -1
  25. package/dist/index.js +1 -0
  26. package/dist/lix.d.ts +20 -10
  27. package/dist/lix.js +68 -23
  28. package/dist/migration-binding.browser.d.ts +33 -0
  29. package/dist/migration-binding.browser.js +46 -0
  30. package/dist/migration-binding.node.d.ts +6 -0
  31. package/dist/migration-binding.node.js +5 -0
  32. package/dist/migration-wasm/lix_js_sdk.d.ts +271 -0
  33. package/dist/migration-wasm/lix_js_sdk.js +1852 -0
  34. package/dist/migration-wasm/lix_js_sdk_bg.wasm +4 -0
  35. package/dist/migration-wasm/lix_js_sdk_bg.wasm.d.ts +101 -0
  36. package/dist/migration.d.ts +23 -0
  37. package/dist/migration.js +55 -0
  38. package/dist/open-lix.js +29 -18
  39. package/dist/open-progress.d.ts +10 -0
  40. package/dist/open-progress.js +59 -0
  41. package/dist/remote/client.d.ts +2 -1
  42. package/dist/remote/client.js +11 -1
  43. package/dist/result.d.ts +4 -3
  44. package/dist/result.js +3 -4
  45. package/dist/storage-adapter.d.ts +7 -5
  46. package/dist/storage-ownership.d.ts +5 -0
  47. package/dist/storage-ownership.js +4 -0
  48. package/dist/types.d.ts +132 -22
  49. package/dist/wasm/lix_js_sdk.d.ts +57 -16
  50. package/dist/wasm/lix_js_sdk.js +268 -60
  51. package/dist/wasm/lix_js_sdk_bg.wasm +2 -2
  52. package/dist/wasm/lix_js_sdk_bg.wasm.d.ts +23 -9
  53. package/dist/worker/client.d.ts +12 -3
  54. package/dist/worker/client.js +98 -81
  55. package/dist/worker/durable-local-admission.d.ts +20 -0
  56. package/dist/worker/durable-local-admission.js +87 -0
  57. package/dist/worker/entry.shared.browser.d.ts +1 -0
  58. package/dist/worker/entry.shared.browser.js +211 -0
  59. package/dist/worker/factory.browser.d.ts +2 -0
  60. package/dist/worker/factory.browser.js +65 -1
  61. package/dist/worker/factory.node.d.ts +1 -0
  62. package/dist/worker/factory.node.js +3 -0
  63. package/dist/worker/host.d.ts +4 -2
  64. package/dist/worker/host.js +92 -32
  65. package/dist/worker/protocol.d.ts +33 -8
  66. package/dist/worker/protocol.js +25 -7
  67. package/dist/worker/shared-admission.d.ts +26 -0
  68. package/dist/worker/shared-admission.js +116 -0
  69. package/dist/worker/shared-engine.d.ts +34 -0
  70. package/dist/worker/shared-engine.js +194 -0
  71. package/package.json +21 -13
  72. package/dist/remote/server-protocol.d.ts +0 -185
  73. package/dist/remote/server-protocol.js +0 -417
package/dist/types.d.ts CHANGED
@@ -1,8 +1,14 @@
1
1
  export type RemoteLixFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
2
2
  /** A Lix protocol endpoint. Host URL for creation; repository URL for opening/deletion. */
3
3
  export type LixServerOptions = {
4
+ /** Defaults to remote SQL execution. Partial replicas require storage. */
5
+ mode?: "remote" | "partial_replica";
4
6
  url: string | URL;
5
7
  headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
8
+ /** Network/telemetry adapter. Preserve the supplied credential headers;
9
+ * delegate actual I/O to `networkFetch` to preserve typed network failures.
10
+ * Injecting an account through hidden cookies or replacement credentials is unsupported.
11
+ */
6
12
  fetch?: RemoteLixFetch;
7
13
  };
8
14
  export type HostedLix = {
@@ -54,11 +60,14 @@ export type LixTelemetryOptions = {
54
60
  /** Read immediately before each serialized engine operation. */
55
61
  parentContext?(): LixTelemetryParentContext | undefined;
56
62
  };
57
- /** Stable phases emitted while a local repository is opened. */
63
+ /** Stable phases emitted while a repository is opened. */
58
64
  export type LixOpenPhase = "inspecting" | "migrating" | "validating" | "opening" | "complete";
59
65
  /** One observational repository-open progress snapshot. */
60
66
  export type LixOpenProgress = {
61
67
  phase: LixOpenPhase;
68
+ /** Present for an upgrade owned by the remote authority. */
69
+ scope?: "authority";
70
+ /** May be unknown while waiting for a remote authority upgrade. */
62
71
  fromFormat?: number;
63
72
  toFormat: number;
64
73
  completed?: number;
@@ -75,23 +84,90 @@ export type LixOpenReport = {
75
84
  initialized: boolean;
76
85
  migration?: LixOpenMigrationReport;
77
86
  };
87
+ /** A retained local generation. Presence does not mean recovery is complete. */
88
+ export type ReplicaRecoverySource = {
89
+ id: string;
90
+ sourceFormat: number;
91
+ repositoryId: string;
92
+ accountId: string;
93
+ recoveryRequired: boolean;
94
+ };
95
+ export type ReplicaRecoveryRow = {
96
+ rowPk: JsonValue;
97
+ schemaKey: string;
98
+ fileId: string | null;
99
+ snapshot: JsonValue;
100
+ metadata: JsonValue;
101
+ deleted: boolean;
102
+ untracked: boolean;
103
+ global: boolean;
104
+ changeId: string | null;
105
+ commitId: string | null;
106
+ };
107
+ export type ReplicaRecoveryBranch = {
108
+ branchId: string;
109
+ headCommitId: string;
110
+ checkpointCommitId: string | null;
111
+ rows: ReplicaRecoveryRow[];
112
+ };
113
+ export type ReplicaRecoveryBlob = {
114
+ id: string;
115
+ contentBase64: string;
116
+ };
117
+ export type ReplicaRecoveryFile = {
118
+ branchId: string;
119
+ id: string;
120
+ path: string;
121
+ untracked: boolean;
122
+ blobId: string | null;
123
+ };
124
+ /** Portable recovery data; unresolved entries identify data not reconstructed. */
125
+ export type ReplicaRecoveryExport = {
126
+ version: number;
127
+ source: ReplicaRecoverySource;
128
+ branches: ReplicaRecoveryBranch[];
129
+ commits: JsonValue[];
130
+ uploads: JsonValue[];
131
+ blobs: ReplicaRecoveryBlob[];
132
+ files: ReplicaRecoveryFile[];
133
+ unresolved: string[];
134
+ };
135
+ /** Local recovery result. This does not acknowledge durable server storage. */
136
+ export type ReplicaRecoveryReceipt = {
137
+ branchIds: string[];
138
+ restoredFiles: number;
139
+ restoredRows: number;
140
+ unresolved: string[];
141
+ };
142
+ /** Local persistence policy. Buffered acknowledgement can lose saves on a crash. */
143
+ export type Durability = "durable" | "buffered";
78
144
  export type LixOpenProgressOptions = {
79
- /** Observes local inspection, automatic migration, and opening. */
145
+ /** Observes local or authority inspection, automatic migration, and opening. */
80
146
  onProgress?(progress: LixOpenProgress): void;
81
147
  };
82
- /** No options: memory. Storage: local. Server: remote. Storage + server: sync. */
148
+ export type RemoteLixServerOptions = Omit<LixServerOptions, "mode"> & {
149
+ mode?: "remote";
150
+ };
151
+ export type PartialReplicaLixServerOptions = Omit<LixServerOptions, "mode"> & {
152
+ mode: "partial_replica";
153
+ };
154
+ /** Server defaults to remote. Partial replicas explicitly opt in and require storage. */
83
155
  export type OpenLixOptions = ({
84
156
  storage?: import("./storage-adapter.js").LixStorage;
157
+ /** Defaults to durable; applies to all local sessions and transactions. */
158
+ durability?: Durability;
85
159
  server?: never;
86
160
  telemetry?: LixTelemetryOptions;
87
- } & LixOpenProgressOptions) | {
161
+ } & LixOpenProgressOptions) | ({
88
162
  storage?: never;
89
- server: LixServerOptions;
163
+ /** Remote persistence is configured by the authority. */
164
+ durability?: never;
165
+ server: RemoteLixServerOptions;
90
166
  telemetry?: never;
91
- onProgress?: never;
92
- } | ({
167
+ } & LixOpenProgressOptions) | ({
93
168
  storage: import("./storage-adapter.js").LixStorage;
94
- server: LixServerOptions;
169
+ durability?: Durability;
170
+ server: PartialReplicaLixServerOptions;
95
171
  telemetry?: LixTelemetryOptions;
96
172
  } & LixOpenProgressOptions);
97
173
  /** Selects the initial context for an additional independent session. */
@@ -135,6 +211,12 @@ export type JsonValue = null | boolean | number | string | readonly JsonValue[]
135
211
  export type SqlParam = JsonValue | Uint8Array | import("./value.js").Value;
136
212
  export type ExecuteOptions = {
137
213
  originKey?: string;
214
+ /**
215
+ * Caps whole automatic-transaction replays after conflict or snapshot expiry.
216
+ * Zero fails on the first failed attempt. Omit to retain default recovery budgets.
217
+ * Does not control explicit transactions, read recovery, or transport retries.
218
+ */
219
+ maxAutoCommitRetries?: number;
138
220
  /** Returns positional arrays instead of plain objects. Defaults to "object". */
139
221
  rowMode?: "object" | "array";
140
222
  /**
@@ -151,6 +233,12 @@ export type LixBatchStatement = {
151
233
  };
152
234
  export type LixBatchOptions = {
153
235
  originKey?: string;
236
+ /**
237
+ * Caps whole automatic-transaction replays after conflict or snapshot expiry.
238
+ * Zero fails on the first failed attempt. Omit to retain default recovery budgets.
239
+ * Does not control explicit transactions, read recovery, or transport retries.
240
+ */
241
+ maxAutoCommitRetries?: number;
154
242
  /** Returns positional arrays instead of plain objects. Defaults to "object". */
155
243
  rowMode?: "object" | "array";
156
244
  /** See {@link ExecuteOptions.idempotencyKey}. */
@@ -164,7 +252,19 @@ export type ResultColumn = {
164
252
  export type ResultObjectRow = Record<string, unknown>;
165
253
  export type ResultArrayRow = unknown[];
166
254
  export type ResultRow = ResultObjectRow | ResultArrayRow;
167
- export type ExecuteResult<TRow extends object = ResultObjectRow> = {
255
+ /**
256
+ * The active-branch commits a write moved between.
257
+ *
258
+ * `before` is the active branch's head before the write and `after` the head
259
+ * it published, so `lix_diff('lix_file', before, after)` is exactly what the
260
+ * write changed. A write that published no commit on the active branch
261
+ * reports both ids equal; a restore reports the commit it moved the head to.
262
+ */
263
+ export type CommitSpan = {
264
+ before: string;
265
+ after: string;
266
+ };
267
+ export type StatementResult<TRow extends object = ResultObjectRow> = {
168
268
  statementIndex?: number;
169
269
  label?: string;
170
270
  columns: ResultColumn[];
@@ -176,9 +276,18 @@ export type ExecuteResult<TRow extends object = ResultObjectRow> = {
176
276
  hint?: string;
177
277
  }>;
178
278
  };
179
- export type ExecuteBatchResult<TRow extends object = ResultObjectRow> = ExecuteResult<TRow> & {
279
+ export type ExecuteResult<TRow extends object = ResultObjectRow> = StatementResult<TRow> & CommitReceipt;
280
+ export type CommitReceipt = {
281
+ /** Exact durable transition for a committed write; null for reads. */
282
+ commit: CommitSpan | null;
283
+ };
284
+ export type ExecuteBatchStatementResult<TRow extends object = ResultObjectRow> = StatementResult<TRow> & {
180
285
  statementIndex: number;
181
286
  };
287
+ export type ExecuteBatchResult<TRow extends object = ResultObjectRow> = {
288
+ results: readonly ExecuteBatchStatementResult<TRow>[];
289
+ commit: CommitSpan | null;
290
+ };
182
291
  export type ObserveEvent = {
183
292
  sequence: number;
184
293
  mutationSequence: number;
@@ -239,7 +348,6 @@ export type MergeBranchPreview = {
239
348
  targetHeadCommitId: string;
240
349
  sourceHeadCommitId: string;
241
350
  changeStats: MergeChangeStats;
242
- conflicts: MergeConflict[];
243
351
  };
244
352
  export type MergeChangeStats = {
245
353
  total: number;
@@ -247,15 +355,17 @@ export type MergeChangeStats = {
247
355
  modified: number;
248
356
  removed: number;
249
357
  };
250
- export type MergeConflict = {
251
- kind: "sameRowChanged";
252
- rowRef: string;
253
- fileId: string | null;
254
- target: MergeConflictSide;
255
- source: MergeConflictSide;
256
- };
257
- export type MergeConflictSide = {
258
- kind: "added" | "modified" | "removed";
259
- beforeChangeId: string | null;
260
- afterChangeId: string | null;
358
+ /** Local partial-replica worker health. Running does not guarantee remote freshness. */
359
+ export type SyncHealth = {
360
+ state: "inactive" | "running" | "stalled" | "failed" | "stopped";
361
+ appliedCursor: number | null;
362
+ observedCursor: number | null;
363
+ failures: Partial<Record<"descriptor" | "publication" | "upload" | "lease", {
364
+ code: string;
365
+ message: string;
366
+ }>>;
367
+ terminalError: {
368
+ code: string;
369
+ message: string;
370
+ } | null;
261
371
  };
@@ -1,6 +1,13 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
 
4
+ export class BrowserComponentHost {
5
+ private constructor();
6
+ free(): void;
7
+ [Symbol.dispose](): void;
8
+ call(method: string, _arguments: string): string;
9
+ }
10
+
4
11
  export class WasmLix {
5
12
  private constructor();
6
13
  free(): void;
@@ -13,17 +20,22 @@ export class WasmLix {
13
20
  createHosted(server: any): Promise<any>;
14
21
  execute(sql: string, params: any, options?: any | null): Promise<any>;
15
22
  executeBatch(statements: any, options?: any | null): Promise<any>;
23
+ exportReplicaRecovery(id: string): Promise<any>;
16
24
  exportSnapshot(): WasmSnapshotExport;
17
25
  importFilesystemPaths(_paths: any): Promise<void>;
18
26
  mergeBranch(options: any): Promise<any>;
19
27
  mergeBranchPreview(options: any): Promise<any>;
20
28
  observe(sql: string, params: any): Promise<WasmObserveEvents>;
21
- openAnotherSession(options: any): Promise<WasmLix>;
29
+ openAnotherSession(options: any, telemetry_dispatch?: Function | null): Promise<WasmLix>;
22
30
  openReport(): any;
31
+ recoverReplica(id: string): Promise<any>;
32
+ recoverReplicaWithServer(id: string, server: any): Promise<any>;
23
33
  redo(): Promise<any>;
34
+ replicaRecoverySources(): Promise<any>;
24
35
  setTelemetryParent(parent?: any | null): void;
25
36
  switchBranch(options: any): Promise<any>;
26
37
  syncDiskToLix(): Promise<void>;
38
+ syncHealth(): Promise<any>;
27
39
  undo(): Promise<any>;
28
40
  }
29
41
 
@@ -31,7 +43,7 @@ export class WasmLixTransaction {
31
43
  private constructor();
32
44
  free(): void;
33
45
  [Symbol.dispose](): void;
34
- commit(): Promise<void>;
46
+ commit(): Promise<any>;
35
47
  execute(sql: string, params: any, options?: any | null): Promise<any>;
36
48
  rollback(): Promise<void>;
37
49
  }
@@ -56,16 +68,21 @@ export class WasmRemoteLix {
56
68
  createBranch(options: any): Promise<any>;
57
69
  execute(sql: string, params: any, options?: any | null): Promise<any>;
58
70
  executeBatch(statements: any, options?: any | null): Promise<any>;
71
+ exportReplicaRecovery(_id: string): Promise<any>;
59
72
  exportSnapshot(): WasmSnapshotExport;
60
73
  importFilesystemPaths(_paths: any): Promise<void>;
61
74
  mergeBranch(options: any): Promise<any>;
62
75
  mergeBranchPreview(options: any): Promise<any>;
63
76
  observe(sql: string, params: any): Promise<WasmRemoteObserveEvents>;
64
77
  openAnotherSession(options: any): Promise<WasmRemoteLix>;
78
+ recoverReplica(_id: string): Promise<any>;
79
+ recoverReplicaWithServer(_id: string, _server: any): Promise<any>;
65
80
  redo(): Promise<any>;
81
+ replicaRecoverySources(): Promise<any>;
66
82
  setTelemetryParent(_parent?: any | null): void;
67
83
  switchBranch(options: any): Promise<any>;
68
84
  syncDiskToLix(): Promise<void>;
85
+ syncHealth(): Promise<any>;
69
86
  undo(): Promise<any>;
70
87
  }
71
88
 
@@ -73,7 +90,7 @@ export class WasmRemoteLixTransaction {
73
90
  private constructor();
74
91
  free(): void;
75
92
  [Symbol.dispose](): void;
76
- commit(): Promise<void>;
93
+ commit(): Promise<any>;
77
94
  execute(sql: string, params: any, options?: any | null): Promise<any>;
78
95
  rollback(): Promise<void>;
79
96
  }
@@ -109,20 +126,31 @@ export function createHosted(server: any): Promise<any>;
109
126
 
110
127
  export function deleteHosted(server: any): Promise<void>;
111
128
 
112
- export function openJsStorage(provider: any, telemetry_dispatch?: Function | null, telemetry_parent?: any | null, server?: any | null, open_progress_dispatch?: Function | null): Promise<WasmLix>;
129
+ /**
130
+ * Read-only routing metadata; available in the current-format runtime.
131
+ */
132
+ export function inspectJsStorageRepository(provider: any): Promise<any>;
133
+
134
+ export function openJsStorage(provider: any, telemetry_dispatch: Function | null | undefined, telemetry_parent: any | null | undefined, server: any | null | undefined, open_progress_dispatch: Function | null | undefined, component_dispatch: Function, durability?: string | null): Promise<WasmLix>;
113
135
 
114
- export function openJsStorageFromSnapshot(provider: any, telemetry_dispatch?: Function | null, telemetry_parent?: any | null, open_progress_dispatch?: Function | null): WasmSnapshotRestore;
136
+ export function openJsStorageFromSnapshot(provider: any, telemetry_dispatch: Function | null | undefined, telemetry_parent: any | null | undefined, open_progress_dispatch: Function | null | undefined, component_dispatch: Function, durability?: string | null): WasmSnapshotRestore;
115
137
 
116
- export function openMemory(telemetry_dispatch?: Function | null, telemetry_parent?: any | null, server?: any | null, open_progress_dispatch?: Function | null): Promise<WasmLix>;
138
+ export function openMemory(telemetry_dispatch: Function | null | undefined, telemetry_parent: any | null | undefined, server: any | null | undefined, open_progress_dispatch: Function | null | undefined, component_dispatch: Function, durability?: string | null): Promise<WasmLix>;
117
139
 
118
- export function openMemoryFromSnapshot(telemetry_dispatch?: Function | null, telemetry_parent?: any | null, open_progress_dispatch?: Function | null): WasmSnapshotRestore;
140
+ export function openMemoryFromSnapshot(telemetry_dispatch: Function | null | undefined, telemetry_parent: any | null | undefined, open_progress_dispatch: Function | null | undefined, component_dispatch: Function, durability?: string | null): WasmSnapshotRestore;
119
141
 
120
142
  export function openRemote(url: string, fetch: Function, headers: any, initial_active_branch_id?: string | null): Promise<WasmRemoteLix>;
121
143
 
144
+ /**
145
+ * Parse the engine SQL dialect for hosts that authorize public SQL.
146
+ */
147
+ export function parseSqlScript(sql: string, provided_param_count: number): any;
148
+
122
149
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
123
150
 
124
151
  export interface InitOutput {
125
152
  readonly memory: WebAssembly.Memory;
153
+ readonly __wbg_browsercomponenthost_free: (a: number, b: number) => void;
126
154
  readonly __wbg_wasmlix_free: (a: number, b: number) => void;
127
155
  readonly __wbg_wasmlixtransaction_free: (a: number, b: number) => void;
128
156
  readonly __wbg_wasmobserveevents_free: (a: number, b: number) => void;
@@ -131,13 +159,16 @@ export interface InitOutput {
131
159
  readonly __wbg_wasmremoteobserveevents_free: (a: number, b: number) => void;
132
160
  readonly __wbg_wasmsnapshotexport_free: (a: number, b: number) => void;
133
161
  readonly __wbg_wasmsnapshotrestore_free: (a: number, b: number) => void;
162
+ readonly browsercomponenthost_call: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
134
163
  readonly createHosted: (a: number) => number;
135
164
  readonly deleteHosted: (a: number) => number;
136
- readonly openJsStorage: (a: number, b: number, c: number, d: number, e: number) => number;
137
- readonly openJsStorageFromSnapshot: (a: number, b: number, c: number, d: number) => number;
138
- readonly openMemory: (a: number, b: number, c: number, d: number) => number;
139
- readonly openMemoryFromSnapshot: (a: number, b: number, c: number) => number;
165
+ readonly inspectJsStorageRepository: (a: number) => number;
166
+ readonly openJsStorage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
167
+ readonly openJsStorageFromSnapshot: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
168
+ readonly openMemory: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
169
+ readonly openMemoryFromSnapshot: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
140
170
  readonly openRemote: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
171
+ readonly parseSqlScript: (a: number, b: number, c: number, d: number) => void;
141
172
  readonly wasmlix_activeAccountId: (a: number) => number;
142
173
  readonly wasmlix_activeBranchId: (a: number) => number;
143
174
  readonly wasmlix_beginTransaction: (a: number) => number;
@@ -146,17 +177,22 @@ export interface InitOutput {
146
177
  readonly wasmlix_createHosted: (a: number, b: number) => number;
147
178
  readonly wasmlix_execute: (a: number, b: number, c: number, d: number, e: number) => number;
148
179
  readonly wasmlix_executeBatch: (a: number, b: number, c: number) => number;
180
+ readonly wasmlix_exportReplicaRecovery: (a: number, b: number, c: number) => number;
149
181
  readonly wasmlix_exportSnapshot: (a: number) => number;
150
182
  readonly wasmlix_importFilesystemPaths: (a: number, b: number) => number;
151
183
  readonly wasmlix_mergeBranch: (a: number, b: number) => number;
152
184
  readonly wasmlix_mergeBranchPreview: (a: number, b: number) => number;
153
185
  readonly wasmlix_observe: (a: number, b: number, c: number, d: number) => number;
154
- readonly wasmlix_openAnotherSession: (a: number, b: number) => number;
186
+ readonly wasmlix_openAnotherSession: (a: number, b: number, c: number) => number;
155
187
  readonly wasmlix_openReport: (a: number, b: number) => void;
188
+ readonly wasmlix_recoverReplica: (a: number, b: number, c: number) => number;
189
+ readonly wasmlix_recoverReplicaWithServer: (a: number, b: number, c: number, d: number) => number;
156
190
  readonly wasmlix_redo: (a: number) => number;
191
+ readonly wasmlix_replicaRecoverySources: (a: number) => number;
157
192
  readonly wasmlix_setTelemetryParent: (a: number, b: number, c: number) => void;
158
193
  readonly wasmlix_switchBranch: (a: number, b: number) => number;
159
194
  readonly wasmlix_syncDiskToLix: (a: number) => number;
195
+ readonly wasmlix_syncHealth: (a: number) => number;
160
196
  readonly wasmlix_undo: (a: number) => number;
161
197
  readonly wasmlixtransaction_commit: (a: number) => number;
162
198
  readonly wasmlixtransaction_execute: (a: number, b: number, c: number, d: number, e: number) => number;
@@ -171,16 +207,21 @@ export interface InitOutput {
171
207
  readonly wasmremotelix_createBranch: (a: number, b: number) => number;
172
208
  readonly wasmremotelix_execute: (a: number, b: number, c: number, d: number, e: number) => number;
173
209
  readonly wasmremotelix_executeBatch: (a: number, b: number, c: number) => number;
210
+ readonly wasmremotelix_exportReplicaRecovery: (a: number, b: number, c: number) => number;
174
211
  readonly wasmremotelix_exportSnapshot: (a: number) => number;
175
212
  readonly wasmremotelix_importFilesystemPaths: (a: number, b: number) => number;
176
213
  readonly wasmremotelix_mergeBranch: (a: number, b: number) => number;
177
214
  readonly wasmremotelix_mergeBranchPreview: (a: number, b: number) => number;
178
215
  readonly wasmremotelix_observe: (a: number, b: number, c: number, d: number) => number;
179
216
  readonly wasmremotelix_openAnotherSession: (a: number, b: number) => number;
217
+ readonly wasmremotelix_recoverReplica: (a: number, b: number, c: number) => number;
218
+ readonly wasmremotelix_recoverReplicaWithServer: (a: number, b: number, c: number, d: number) => number;
180
219
  readonly wasmremotelix_redo: (a: number) => number;
220
+ readonly wasmremotelix_replicaRecoverySources: (a: number) => number;
181
221
  readonly wasmremotelix_setTelemetryParent: (a: number, b: number) => void;
182
222
  readonly wasmremotelix_switchBranch: (a: number, b: number) => number;
183
223
  readonly wasmremotelix_syncDiskToLix: (a: number) => number;
224
+ readonly wasmremotelix_syncHealth: (a: number) => number;
184
225
  readonly wasmremotelix_undo: (a: number) => number;
185
226
  readonly wasmremotelixtransaction_commit: (a: number) => number;
186
227
  readonly wasmremotelixtransaction_execute: (a: number, b: number, c: number, d: number, e: number) => number;
@@ -194,10 +235,10 @@ export interface InitOutput {
194
235
  readonly wasmsnapshotrestore_finish: (a: number) => number;
195
236
  readonly wasmsnapshotrestore_isComplete: (a: number) => number;
196
237
  readonly wasmsnapshotrestore_write: (a: number, b: number, c: number) => number;
197
- readonly __wasm_bindgen_func_elem_95597: (a: number, b: number, c: number, d: number) => void;
198
- readonly __wasm_bindgen_func_elem_95599: (a: number, b: number, c: number, d: number) => void;
199
- readonly __wasm_bindgen_func_elem_17533: (a: number, b: number, c: number) => number;
200
- readonly __wasm_bindgen_func_elem_17532: (a: number, b: number) => void;
238
+ readonly __wasm_bindgen_func_elem_99617: (a: number, b: number, c: number, d: number) => void;
239
+ readonly __wasm_bindgen_func_elem_99619: (a: number, b: number, c: number, d: number) => void;
240
+ readonly __wasm_bindgen_func_elem_20812: (a: number, b: number, c: number) => number;
241
+ readonly __wasm_bindgen_func_elem_20811: (a: number, b: number) => void;
201
242
  readonly __wbindgen_export: (a: number, b: number) => number;
202
243
  readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
203
244
  readonly __wbindgen_export3: (a: number) => void;