@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/lix.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { fetchTransport } from "./http-transport.js";
1
2
  import { invalidArgument } from "./errors.js";
2
3
  import { normalizeOptionals, wrapExecuteBatchResult, wrapExecuteResult, } from "./result.js";
3
4
  import { normalizeParam, toNativeValue } from "./value.js";
@@ -65,7 +66,10 @@ export class Lix {
65
66
  const { rowMode = "object", ...bindingOptions } = options ?? {};
66
67
  return this.#runOperation(async () => {
67
68
  const results = await this.binding.executeBatch(normalizedStatements, bindingOptions);
68
- return results.map((result) => wrapExecuteBatchResult(result, rowMode));
69
+ return {
70
+ results: results.results.map((result) => wrapExecuteBatchResult(result, rowMode)),
71
+ commit: results.commit ?? null,
72
+ };
69
73
  });
70
74
  }
71
75
  observe(sql, params = []) {
@@ -95,6 +99,36 @@ export class Lix {
95
99
  }
96
100
  });
97
101
  }
102
+ /** Lists preserved generations belonging to this local repository. */
103
+ async replicaRecoverySources() {
104
+ return this.#runOperation(() => this.binding.replicaRecoverySources());
105
+ }
106
+ /** Exports retained work without deleting or changing its source. */
107
+ async exportReplicaRecovery(id) {
108
+ return this.#runOperation(() => this.binding.exportReplicaRecovery(id));
109
+ }
110
+ /** Restores supported rows onto separate recovery branches; preserves the source. */
111
+ async recoverReplica(id) {
112
+ return this.#runOperation(() => this.binding.recoverReplica(id));
113
+ }
114
+ /** Explicitly hydrates retained-source recovery dependencies; does not start sync. */
115
+ async recoverReplicaWithServer(id, server) {
116
+ const entries = (headers) => {
117
+ const result = [];
118
+ new Headers(headers).forEach((value, key) => result.push([key, value]));
119
+ return result;
120
+ };
121
+ return this.#runOperation(() => this.binding.recoverReplicaWithServer(id, {
122
+ url: new URL(server.url).toString(),
123
+ headers: typeof server.headers === "function" ? [] : entries(server.headers),
124
+ headerProvider: typeof server.headers === "function" ? async () => entries(await server.headers()) : undefined,
125
+ transport: server.fetch ? fetchTransport(server.fetch) : undefined,
126
+ }));
127
+ }
128
+ /** Local worker health; independent of whether a warm SQL read succeeds. */
129
+ async syncHealth() {
130
+ return this.binding.syncHealth();
131
+ }
98
132
  async activeBranchId() {
99
133
  return this.#runOperation(() => this.binding.activeBranchId());
100
134
  }
@@ -113,7 +147,8 @@ export class Lix {
113
147
  async createBranch(options) {
114
148
  return this.#runOperation(() => this.binding.createBranch(options));
115
149
  }
116
- /** Streams a deterministic snapshot of the complete Lix. */
150
+ /** Streams this handle's state. Local partial replicas include their cached
151
+ * inputs and pending edits; remote handles export the complete authority. */
117
152
  exportSnapshot() {
118
153
  let snapshot;
119
154
  const start = () => {
@@ -330,7 +365,6 @@ export class ObserveEvents {
330
365
  export class LixTransaction {
331
366
  binding;
332
367
  onFinish;
333
- finishPromise;
334
368
  finished = false;
335
369
  constructor(binding, onFinish = () => undefined) {
336
370
  this.binding = binding;
@@ -338,37 +372,38 @@ export class LixTransaction {
338
372
  transactionFinalizer.register(this, { transaction: binding, onFinish: this.onFinish }, this);
339
373
  }
340
374
  async execute(sql, params = [], options) {
375
+ if (this.finished)
376
+ throw transactionClosedError();
341
377
  assertExecuteArgs("lixTransaction", sql, params, options);
342
378
  const { rowMode = "object", ...bindingOptions } = options ?? {};
343
- return wrapExecuteResult(await this.binding.execute(sql, params.map((param, index) => toNativeValue(normalizeParam(param, index))), bindingOptions), rowMode);
379
+ const { commit: _commit, ...statement } = wrapExecuteResult(await this.binding.execute(sql, params.map((param, index) => toNativeValue(normalizeParam(param, index))), bindingOptions), rowMode);
380
+ return statement;
344
381
  }
345
382
  async commit() {
346
- return this.finish("transaction.commit");
383
+ return (await this.finish("transaction.commit"));
347
384
  }
348
385
  async rollback() {
349
- return this.finish("transaction.rollback");
386
+ await this.finish("transaction.rollback");
350
387
  }
351
388
  async finish(kind) {
352
389
  if (this.finished)
353
390
  throw transactionClosedError();
354
- if (!this.finishPromise) {
355
- this.finishPromise = (async () => {
356
- try {
357
- if (kind === "transaction.commit")
358
- await this.binding.commit();
359
- else
360
- await this.binding.rollback();
361
- }
362
- finally {
363
- // A terminal binding call consumes the underlying transaction even
364
- // when its durable commit or rollback reports an error.
365
- this.finished = true;
366
- transactionFinalizer.unregister(this);
367
- this.onFinish();
368
- }
369
- })();
391
+ // The first terminal call owns the handle immediately. In particular,
392
+ // a concurrent rollback must never report a pending commit's success.
393
+ this.finished = true;
394
+ try {
395
+ if (kind === "transaction.commit") {
396
+ const receipt = await this.binding.commit();
397
+ return { commit: receipt.commit ?? null };
398
+ }
399
+ await this.binding.rollback();
400
+ }
401
+ finally {
402
+ // Keep the parent transaction lease until the binding settles. A
403
+ // terminal call consumes the handle even when it reports an error.
404
+ transactionFinalizer.unregister(this);
405
+ this.onFinish();
370
406
  }
371
- await this.finishPromise;
372
407
  }
373
408
  }
374
409
  function transactionClosedError() {
@@ -385,6 +420,11 @@ function assertExecuteArgs(receiver, sql, params, options) {
385
420
  if (!options || typeof options !== "object" || Array.isArray(options)) {
386
421
  throw invalidArgument("execute", "options", "object", typeof options, receiver);
387
422
  }
423
+ if (options.maxAutoCommitRetries !== undefined &&
424
+ (!Number.isInteger(options.maxAutoCommitRetries) ||
425
+ options.maxAutoCommitRetries < 0 || options.maxAutoCommitRetries > 0xffff_ffff)) {
426
+ throw invalidArgument("execute", "options.maxAutoCommitRetries", "integer between 0 and 4294967295", typeof options.maxAutoCommitRetries, receiver);
427
+ }
388
428
  if (options.originKey !== undefined &&
389
429
  typeof options.originKey !== "string") {
390
430
  throw invalidArgument("execute", "options.originKey", "string", typeof options.originKey, receiver);
@@ -450,6 +490,11 @@ function assertBatchOptions(options) {
450
490
  if (!options || typeof options !== "object" || Array.isArray(options)) {
451
491
  throw invalidArgument("executeBatch", "options", "object", typeof options);
452
492
  }
493
+ if (options.maxAutoCommitRetries !== undefined &&
494
+ (!Number.isInteger(options.maxAutoCommitRetries) ||
495
+ options.maxAutoCommitRetries < 0 || options.maxAutoCommitRetries > 0xffff_ffff)) {
496
+ throw invalidArgument("executeBatch", "options.maxAutoCommitRetries", "integer between 0 and 4294967295", typeof options.maxAutoCommitRetries);
497
+ }
453
498
  if (options.originKey !== undefined &&
454
499
  typeof options.originKey !== "string") {
455
500
  throw invalidArgument("executeBatch", "options.originKey", "string", typeof options.originKey);
@@ -0,0 +1,33 @@
1
+ import type { LixStorageConfig, LixStorageProviderModule, SyncServerBindingOptions } from "./binding-types.js";
2
+ export declare function initializeMigration(): Promise<unknown>;
3
+ export declare function convertReplicaBinding(storage: LixStorageConfig, server: SyncServerBindingOptions, branchId?: string): Promise<void>;
4
+ export declare function retryReplicaMigrationCleanupBinding(storage: LixStorageConfig, server: SyncServerBindingOptions): Promise<number>;
5
+ export type RepositoryInspection = {
6
+ format: number | null;
7
+ role: "authority" | "partial_replica" | "full_replica" | "standalone" | "empty" | "invalid";
8
+ layout: "active" | "legacy" | "interrupted" | "empty";
9
+ current: boolean;
10
+ protocol_epoch: number;
11
+ };
12
+ export type RepositoryMigrationReport = {
13
+ embedded_repository_id: string;
14
+ before: RepositoryInspection;
15
+ after: RepositoryInspection;
16
+ semantic_preservation_verified: boolean;
17
+ preservation_basis: string;
18
+ expected_content_digest: string;
19
+ before_content_digest: string;
20
+ after_content_digest: string;
21
+ };
22
+ type Provider = Awaited<ReturnType<LixStorageProviderModule["createLixStorageProvider"]>>;
23
+ /** Caller owns the provider and its physical exclusion fence across all phases. */
24
+ export declare function inspectStorageProvider(source: Provider): Promise<RepositoryInspection>;
25
+ /** Does not close the provider or publish a browser active-store pointer. */
26
+ export type MigrationLimits = {
27
+ maxChanges: number;
28
+ maxPreflightBytes: number;
29
+ };
30
+ export declare function migrateStorageProvider(source: Provider, limits?: MigrationLimits): Promise<RepositoryMigrationReport>;
31
+ /** Explicit full->partial conversion within the caller's fenced destination. */
32
+ export declare function convertStorageProviderToPartial(source: Provider, server: SyncServerBindingOptions, branchId?: string): Promise<void>;
33
+ export {};
@@ -0,0 +1,46 @@
1
+ import { withConversionProvider } from "./conversion-provider.js";
2
+ // Generated only by build:migration:wasm, physically separate from runtime WASM.
3
+ // @ts-ignore Detached artifact is absent in source-only checks.
4
+ import init, { convertJsStorageReplicaToPartial, retryJsStorageReplicaMigrationCleanup, inspectJsStorageRepository, migrateJsStorageRepository } from "./migration-wasm/lix_js_sdk.js";
5
+ let initialization;
6
+ export async function initializeMigration() {
7
+ return initialization ??= (async () => {
8
+ const url = new URL("./migration-wasm/lix_js_sdk_bg.wasm", import.meta.url);
9
+ if (typeof process !== "undefined" && process.versions?.node) {
10
+ const { readFile } = await import("node:fs/promises");
11
+ return init({ module_or_path: await readFile(url) });
12
+ }
13
+ return init({ module_or_path: url });
14
+ })();
15
+ }
16
+ async function provider(storage) {
17
+ if (storage.kind !== "jsStorage")
18
+ throw new TypeError("Browser migration requires persistent JavaScript storage");
19
+ await initializeMigration();
20
+ const module = await import(/* @vite-ignore */ storage.moduleUrl);
21
+ if (typeof module.createLixStorageProvider !== "function")
22
+ throw new TypeError("Invalid storage provider module");
23
+ return module.createLixStorageProvider(storage.options);
24
+ }
25
+ export async function convertReplicaBinding(storage, server, branchId) {
26
+ const source = await provider(storage);
27
+ return withConversionProvider(source, () => convertJsStorageReplicaToPartial(source, server, branchId));
28
+ }
29
+ export async function retryReplicaMigrationCleanupBinding(storage, server) {
30
+ const source = await provider(storage);
31
+ return withConversionProvider(source, () => retryJsStorageReplicaMigrationCleanup(source, server));
32
+ }
33
+ /** Caller owns the provider and its physical exclusion fence across all phases. */
34
+ export async function inspectStorageProvider(source) {
35
+ await initializeMigration();
36
+ return inspectJsStorageRepository(source);
37
+ }
38
+ export async function migrateStorageProvider(source, limits) {
39
+ await initializeMigration();
40
+ return migrateJsStorageRepository(source, limits);
41
+ }
42
+ /** Explicit full->partial conversion within the caller's fenced destination. */
43
+ export async function convertStorageProviderToPartial(source, server, branchId) {
44
+ await initializeMigration();
45
+ return convertJsStorageReplicaToPartial(source, server, branchId);
46
+ }
@@ -0,0 +1,6 @@
1
+ type MigrationAddon = {
2
+ convertFilesystemReplicaToPartial(path: string, syncAllFiles: boolean, url: string, headers: [string, string][], branchId?: string): Promise<void>;
3
+ retryFilesystemReplicaMigrationCleanup(path: string, syncAllFiles: boolean, url: string, headers: [string, string][]): Promise<number>;
4
+ };
5
+ export declare function loadMigrationAddon(): MigrationAddon;
6
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createRequire } from "node:module";
2
+ const require = createRequire(import.meta.url);
3
+ export function loadMigrationAddon() {
4
+ return require("../lix_js_sdk_migration.node");
5
+ }
@@ -0,0 +1,271 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ export class BrowserComponentHost {
5
+ private constructor();
6
+ free(): void;
7
+ [Symbol.dispose](): void;
8
+ call(method: string, _arguments: string): string;
9
+ }
10
+
11
+ export class WasmLix {
12
+ private constructor();
13
+ free(): void;
14
+ [Symbol.dispose](): void;
15
+ activeAccountId(): Promise<string>;
16
+ activeBranchId(): Promise<string>;
17
+ beginTransaction(): Promise<WasmLixTransaction>;
18
+ close(): Promise<void>;
19
+ createBranch(options: any): Promise<any>;
20
+ createHosted(server: any): Promise<any>;
21
+ execute(sql: string, params: any, options?: any | null): Promise<any>;
22
+ executeBatch(statements: any, options?: any | null): Promise<any>;
23
+ exportReplicaRecovery(id: string): Promise<any>;
24
+ exportSnapshot(): WasmSnapshotExport;
25
+ importFilesystemPaths(_paths: any): Promise<void>;
26
+ mergeBranch(options: any): Promise<any>;
27
+ mergeBranchPreview(options: any): Promise<any>;
28
+ observe(sql: string, params: any): Promise<WasmObserveEvents>;
29
+ openAnotherSession(options: any, telemetry_dispatch?: Function | null): Promise<WasmLix>;
30
+ openReport(): any;
31
+ recoverReplica(id: string): Promise<any>;
32
+ recoverReplicaWithServer(id: string, server: any): Promise<any>;
33
+ redo(): Promise<any>;
34
+ replicaRecoverySources(): Promise<any>;
35
+ setTelemetryParent(parent?: any | null): void;
36
+ switchBranch(options: any): Promise<any>;
37
+ syncDiskToLix(): Promise<void>;
38
+ syncHealth(): Promise<any>;
39
+ undo(): Promise<any>;
40
+ }
41
+
42
+ export class WasmLixTransaction {
43
+ private constructor();
44
+ free(): void;
45
+ [Symbol.dispose](): void;
46
+ commit(): Promise<any>;
47
+ execute(sql: string, params: any, options?: any | null): Promise<any>;
48
+ rollback(): Promise<void>;
49
+ }
50
+
51
+ export class WasmObserveEvents {
52
+ private constructor();
53
+ free(): void;
54
+ [Symbol.dispose](): void;
55
+ close(): void;
56
+ next(): Promise<any>;
57
+ setTelemetryParent(parent?: any | null): void;
58
+ }
59
+
60
+ export class WasmRemoteLix {
61
+ private constructor();
62
+ free(): void;
63
+ [Symbol.dispose](): void;
64
+ activeAccountId(): Promise<string>;
65
+ activeBranchId(): Promise<string>;
66
+ beginTransaction(): Promise<WasmRemoteLixTransaction>;
67
+ close(): Promise<void>;
68
+ createBranch(options: any): Promise<any>;
69
+ execute(sql: string, params: any, options?: any | null): Promise<any>;
70
+ executeBatch(statements: any, options?: any | null): Promise<any>;
71
+ exportReplicaRecovery(_id: string): Promise<any>;
72
+ exportSnapshot(): WasmSnapshotExport;
73
+ importFilesystemPaths(_paths: any): Promise<void>;
74
+ mergeBranch(options: any): Promise<any>;
75
+ mergeBranchPreview(options: any): Promise<any>;
76
+ observe(sql: string, params: any): Promise<WasmRemoteObserveEvents>;
77
+ openAnotherSession(options: any): Promise<WasmRemoteLix>;
78
+ recoverReplica(_id: string): Promise<any>;
79
+ recoverReplicaWithServer(_id: string, _server: any): Promise<any>;
80
+ redo(): Promise<any>;
81
+ replicaRecoverySources(): Promise<any>;
82
+ setTelemetryParent(_parent?: any | null): void;
83
+ switchBranch(options: any): Promise<any>;
84
+ syncDiskToLix(): Promise<void>;
85
+ syncHealth(): Promise<any>;
86
+ undo(): Promise<any>;
87
+ }
88
+
89
+ export class WasmRemoteLixTransaction {
90
+ private constructor();
91
+ free(): void;
92
+ [Symbol.dispose](): void;
93
+ commit(): Promise<any>;
94
+ execute(sql: string, params: any, options?: any | null): Promise<any>;
95
+ rollback(): Promise<void>;
96
+ }
97
+
98
+ export class WasmRemoteObserveEvents {
99
+ private constructor();
100
+ free(): void;
101
+ [Symbol.dispose](): void;
102
+ close(): void;
103
+ next(): Promise<any>;
104
+ setTelemetryParent(_parent?: any | null): void;
105
+ }
106
+
107
+ export class WasmSnapshotExport {
108
+ private constructor();
109
+ free(): void;
110
+ [Symbol.dispose](): void;
111
+ cancel(): Promise<void>;
112
+ next(): Promise<Uint8Array | undefined>;
113
+ }
114
+
115
+ export class WasmSnapshotRestore {
116
+ private constructor();
117
+ free(): void;
118
+ [Symbol.dispose](): void;
119
+ cancel(): Promise<void>;
120
+ finish(): Promise<WasmLix>;
121
+ isComplete(): boolean;
122
+ write(chunk: Uint8Array): Promise<void>;
123
+ }
124
+
125
+ export function convertJsStorageReplicaToPartial(provider: any, server: any, branch_id?: string | null): Promise<void>;
126
+
127
+ export function createHosted(server: any): Promise<any>;
128
+
129
+ export function deleteHosted(server: any): Promise<void>;
130
+
131
+ /**
132
+ * Read-only routing metadata; available in the current-format runtime.
133
+ */
134
+ export function inspectJsStorageRepository(provider: any): Promise<any>;
135
+
136
+ /**
137
+ * Detached migration artifact only. Caller owns the physical source lock and
138
+ * destination publication/recovery lifecycle.
139
+ */
140
+ export function migrateJsStorageRepository(provider: any, limits?: any | null): Promise<any>;
141
+
142
+ 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>;
143
+
144
+ 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;
145
+
146
+ 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>;
147
+
148
+ 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;
149
+
150
+ export function openRemote(url: string, fetch: Function, headers: any, initial_active_branch_id?: string | null): Promise<WasmRemoteLix>;
151
+
152
+ /**
153
+ * Parse the engine SQL dialect for hosts that authorize public SQL.
154
+ */
155
+ export function parseSqlScript(sql: string, provided_param_count: number): any;
156
+
157
+ export function retryJsStorageReplicaMigrationCleanup(provider: any, server: any): Promise<number>;
158
+
159
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
160
+
161
+ export interface InitOutput {
162
+ readonly memory: WebAssembly.Memory;
163
+ readonly __wbg_browsercomponenthost_free: (a: number, b: number) => void;
164
+ readonly __wbg_wasmlix_free: (a: number, b: number) => void;
165
+ readonly __wbg_wasmlixtransaction_free: (a: number, b: number) => void;
166
+ readonly __wbg_wasmobserveevents_free: (a: number, b: number) => void;
167
+ readonly __wbg_wasmremotelix_free: (a: number, b: number) => void;
168
+ readonly __wbg_wasmremotelixtransaction_free: (a: number, b: number) => void;
169
+ readonly __wbg_wasmremoteobserveevents_free: (a: number, b: number) => void;
170
+ readonly __wbg_wasmsnapshotexport_free: (a: number, b: number) => void;
171
+ readonly __wbg_wasmsnapshotrestore_free: (a: number, b: number) => void;
172
+ readonly browsercomponenthost_call: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
173
+ readonly convertJsStorageReplicaToPartial: (a: number, b: number, c: number, d: number) => number;
174
+ readonly createHosted: (a: number) => number;
175
+ readonly deleteHosted: (a: number) => number;
176
+ readonly inspectJsStorageRepository: (a: number) => number;
177
+ readonly migrateJsStorageRepository: (a: number, b: number) => number;
178
+ readonly openJsStorage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
179
+ readonly openJsStorageFromSnapshot: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
180
+ readonly openMemory: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
181
+ readonly openMemoryFromSnapshot: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
182
+ readonly openRemote: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
183
+ readonly parseSqlScript: (a: number, b: number, c: number, d: number) => void;
184
+ readonly retryJsStorageReplicaMigrationCleanup: (a: number, b: number) => number;
185
+ readonly wasmlix_activeAccountId: (a: number) => number;
186
+ readonly wasmlix_activeBranchId: (a: number) => number;
187
+ readonly wasmlix_beginTransaction: (a: number) => number;
188
+ readonly wasmlix_close: (a: number) => number;
189
+ readonly wasmlix_createBranch: (a: number, b: number) => number;
190
+ readonly wasmlix_createHosted: (a: number, b: number) => number;
191
+ readonly wasmlix_execute: (a: number, b: number, c: number, d: number, e: number) => number;
192
+ readonly wasmlix_executeBatch: (a: number, b: number, c: number) => number;
193
+ readonly wasmlix_exportReplicaRecovery: (a: number, b: number, c: number) => number;
194
+ readonly wasmlix_exportSnapshot: (a: number) => number;
195
+ readonly wasmlix_importFilesystemPaths: (a: number, b: number) => number;
196
+ readonly wasmlix_mergeBranch: (a: number, b: number) => number;
197
+ readonly wasmlix_mergeBranchPreview: (a: number, b: number) => number;
198
+ readonly wasmlix_observe: (a: number, b: number, c: number, d: number) => number;
199
+ readonly wasmlix_openAnotherSession: (a: number, b: number, c: number) => number;
200
+ readonly wasmlix_openReport: (a: number, b: number) => void;
201
+ readonly wasmlix_recoverReplica: (a: number, b: number, c: number) => number;
202
+ readonly wasmlix_recoverReplicaWithServer: (a: number, b: number, c: number, d: number) => number;
203
+ readonly wasmlix_redo: (a: number) => number;
204
+ readonly wasmlix_replicaRecoverySources: (a: number) => number;
205
+ readonly wasmlix_setTelemetryParent: (a: number, b: number, c: number) => void;
206
+ readonly wasmlix_switchBranch: (a: number, b: number) => number;
207
+ readonly wasmlix_syncDiskToLix: (a: number) => number;
208
+ readonly wasmlix_syncHealth: (a: number) => number;
209
+ readonly wasmlix_undo: (a: number) => number;
210
+ readonly wasmlixtransaction_commit: (a: number) => number;
211
+ readonly wasmlixtransaction_execute: (a: number, b: number, c: number, d: number, e: number) => number;
212
+ readonly wasmlixtransaction_rollback: (a: number) => number;
213
+ readonly wasmobserveevents_close: (a: number) => void;
214
+ readonly wasmobserveevents_next: (a: number) => number;
215
+ readonly wasmobserveevents_setTelemetryParent: (a: number, b: number, c: number) => void;
216
+ readonly wasmremotelix_activeAccountId: (a: number) => number;
217
+ readonly wasmremotelix_activeBranchId: (a: number) => number;
218
+ readonly wasmremotelix_beginTransaction: (a: number) => number;
219
+ readonly wasmremotelix_close: (a: number) => number;
220
+ readonly wasmremotelix_createBranch: (a: number, b: number) => number;
221
+ readonly wasmremotelix_execute: (a: number, b: number, c: number, d: number, e: number) => number;
222
+ readonly wasmremotelix_executeBatch: (a: number, b: number, c: number) => number;
223
+ readonly wasmremotelix_exportReplicaRecovery: (a: number, b: number, c: number) => number;
224
+ readonly wasmremotelix_exportSnapshot: (a: number) => number;
225
+ readonly wasmremotelix_importFilesystemPaths: (a: number, b: number) => number;
226
+ readonly wasmremotelix_mergeBranch: (a: number, b: number) => number;
227
+ readonly wasmremotelix_mergeBranchPreview: (a: number, b: number) => number;
228
+ readonly wasmremotelix_observe: (a: number, b: number, c: number, d: number) => number;
229
+ readonly wasmremotelix_openAnotherSession: (a: number, b: number) => number;
230
+ readonly wasmremotelix_recoverReplica: (a: number, b: number, c: number) => number;
231
+ readonly wasmremotelix_recoverReplicaWithServer: (a: number, b: number, c: number, d: number) => number;
232
+ readonly wasmremotelix_redo: (a: number) => number;
233
+ readonly wasmremotelix_replicaRecoverySources: (a: number) => number;
234
+ readonly wasmremotelix_setTelemetryParent: (a: number, b: number) => void;
235
+ readonly wasmremotelix_switchBranch: (a: number, b: number) => number;
236
+ readonly wasmremotelix_syncDiskToLix: (a: number) => number;
237
+ readonly wasmremotelix_syncHealth: (a: number) => number;
238
+ readonly wasmremotelix_undo: (a: number) => number;
239
+ readonly wasmremotelixtransaction_commit: (a: number) => number;
240
+ readonly wasmremotelixtransaction_execute: (a: number, b: number, c: number, d: number, e: number) => number;
241
+ readonly wasmremotelixtransaction_rollback: (a: number) => number;
242
+ readonly wasmremoteobserveevents_close: (a: number) => void;
243
+ readonly wasmremoteobserveevents_next: (a: number) => number;
244
+ readonly wasmremoteobserveevents_setTelemetryParent: (a: number, b: number) => void;
245
+ readonly wasmsnapshotexport_cancel: (a: number) => number;
246
+ readonly wasmsnapshotexport_next: (a: number) => number;
247
+ readonly wasmsnapshotrestore_cancel: (a: number) => number;
248
+ readonly wasmsnapshotrestore_finish: (a: number) => number;
249
+ readonly wasmsnapshotrestore_isComplete: (a: number) => number;
250
+ readonly wasmsnapshotrestore_write: (a: number, b: number, c: number) => number;
251
+ readonly __wasm_bindgen_func_elem_105798: (a: number, b: number, c: number, d: number) => void;
252
+ readonly __wasm_bindgen_func_elem_105800: (a: number, b: number, c: number, d: number) => void;
253
+ readonly __wasm_bindgen_func_elem_26031: (a: number, b: number, c: number) => number;
254
+ readonly __wasm_bindgen_func_elem_26030: (a: number, b: number) => void;
255
+ readonly __wbindgen_export: (a: number, b: number) => number;
256
+ readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
257
+ readonly __wbindgen_export3: (a: number) => void;
258
+ readonly __wbindgen_export4: (a: number, b: number, c: number) => void;
259
+ readonly __wbindgen_export5: (a: number, b: number) => void;
260
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
261
+ }
262
+
263
+ /**
264
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
265
+ * for everything else, calls `WebAssembly.instantiate` directly.
266
+ *
267
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
268
+ *
269
+ * @returns {Promise<InitOutput>}
270
+ */
271
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;