@lix-js/sdk 0.16.0 → 0.16.1
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.
- package/README.md +54 -7
- package/dist/binding-types.d.ts +5 -1
- package/dist/bundled-plugins/plugin_csv.lixplugin +0 -0
- package/dist/bundled-plugins/plugin_markdown.lixplugin +0 -0
- package/dist/index.d.ts +1 -1
- package/dist/lix.d.ts +7 -2
- package/dist/lix.js +28 -18
- package/dist/storage-adapter.d.ts +0 -4
- package/dist/types.d.ts +76 -0
- package/dist/wasm/lix_js_sdk.d.ts +16 -4
- package/dist/wasm/lix_js_sdk.js +86 -32
- package/dist/wasm/lix_js_sdk_bg.wasm +0 -0
- package/dist/wasm/lix_js_sdk_bg.wasm.d.ts +10 -4
- package/dist/worker/client.js +3 -0
- package/dist/worker/host.js +6 -0
- package/dist/worker/protocol.d.ts +8 -0
- package/package.json +5 -9
- package/dist/remote/server-protocol.d.ts +0 -185
- package/dist/remote/server-protocol.js +0 -417
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ await lix.close();
|
|
|
31
31
|
| Neither | Fresh in-memory repository |
|
|
32
32
|
| `storage` | Local repository, initialized if empty |
|
|
33
33
|
| `server` | Execute against an existing hosted repository |
|
|
34
|
-
| `storage` and `server` |
|
|
34
|
+
| `storage` and `server` | Local reads and writes with background synchronization |
|
|
35
35
|
|
|
36
36
|
Creation and deletion are explicit server operations:
|
|
37
37
|
|
|
@@ -64,8 +64,8 @@ execution do not require streaming uploads.
|
|
|
64
64
|
|
|
65
65
|
## Synchronized local repositories
|
|
66
66
|
|
|
67
|
-
Combine storage with a server to keep a synchronized local
|
|
68
|
-
|
|
67
|
+
Combine storage with a server to keep a synchronized local replica. Reads and
|
|
68
|
+
writes execute locally; background synchronization exchanges changes with the
|
|
69
69
|
server:
|
|
70
70
|
|
|
71
71
|
```ts
|
|
@@ -83,12 +83,59 @@ const lix = await openLix({
|
|
|
83
83
|
});
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
A successful mutation confirms
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
also need fresh server certification.
|
|
86
|
+
A successful mutation confirms a local commit; it does not confirm server
|
|
87
|
+
acceptance. Pending commits upload in the background. Cached reads and local
|
|
88
|
+
writes work offline; older history and binary content load when needed.
|
|
90
89
|
See [Collaboration and Sync](https://lix.dev/docs/collaboration-and-sync).
|
|
91
90
|
|
|
91
|
+
### Upgrading a local replica
|
|
92
|
+
|
|
93
|
+
Keep the same storage name across SDK upgrades. For a supported older synchronized
|
|
94
|
+
replica, Lix preserves its existing storage generation and bootstraps a separate
|
|
95
|
+
generation from the same authoritative repository and account. The replacement
|
|
96
|
+
becomes active only after bootstrap and validation succeed. Pending work and
|
|
97
|
+
local-only rows remain in the preserved generation; they do not block opening the
|
|
98
|
+
current server state. An upgrade requires a server connection and enough local
|
|
99
|
+
storage for both generations.
|
|
100
|
+
|
|
101
|
+
Recovery is explicit and separate from opening:
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
const sources = await lix.replicaRecoverySources();
|
|
105
|
+
for (const source of sources.filter((source) => source.recoveryRequired)) {
|
|
106
|
+
const exported = await lix.exportReplicaRecovery(source.id);
|
|
107
|
+
// Save exported as JSON when the user requests a portable recovery copy.
|
|
108
|
+
console.log(exported.unresolved);
|
|
109
|
+
|
|
110
|
+
const receipt = await lix.recoverReplica(source.id);
|
|
111
|
+
// Present these separate branches for review; the active branch is unchanged.
|
|
112
|
+
console.log(receipt.branchIds, receipt.restoredRows, receipt.unresolved);
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
`exportReplicaRecovery()` captures available logical rows, blob contents, and
|
|
117
|
+
original branch/checkpoint coordinates. `recoverReplica()` restores supported
|
|
118
|
+
tracked rows into separate recovery branches. It does not automatically publish
|
|
119
|
+
local-only rows or merge recovered work into the active branch. Inspect
|
|
120
|
+
`unresolved`: original history and any unavailable content remain in the retained
|
|
121
|
+
source. A recovery receipt describes local restoration, not a server durability
|
|
122
|
+
acknowledgement. Neither operation deletes the retained generation, and retries
|
|
123
|
+
reuse recovery branch receipts rather than overwriting previously recovered work.
|
|
124
|
+
|
|
125
|
+
Recovery export currently allows up to 100,000 logical rows across all branches,
|
|
126
|
+
64 MiB per blob, and 128 MiB of blob content in total. Unfinished upload parts
|
|
127
|
+
have a separate 128 MiB content budget. A row-limit or upload-limit error leaves
|
|
128
|
+
the source intact; omitted blob content is identified in `unresolved`. Exported
|
|
129
|
+
JSON can be larger than these content budgets because binary data uses base64.
|
|
130
|
+
This recovery file is not a complete repository backup.
|
|
131
|
+
|
|
132
|
+
These methods require a local storage-backed handle; remote-only handles reject
|
|
133
|
+
with `LIX_ERROR_LOCAL_STORAGE_REQUIRED`. Do not clear browser storage to resolve
|
|
134
|
+
upgrade or recovery errors. Browser storage eviction or an unsupported old format
|
|
135
|
+
can still require external recovery; retaining bytes alone is not proof that all
|
|
136
|
+
work has been recovered. Standalone and authoritative repositories continue to
|
|
137
|
+
use history-preserving format migrations.
|
|
138
|
+
|
|
92
139
|
## Remote repositories
|
|
93
140
|
|
|
94
141
|
Use the same Lix client as a thin client against a hosted repository:
|
package/dist/binding-types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateBranchOptions, CreateBranchReceipt, UndoReceipt, RedoReceipt, ExecuteOptions, LixBatchOptions, MergeBranchOptions, MergeBranchPreview, MergeBranchReceipt, SwitchBranchOptions, SwitchBranchReceipt, LixTelemetrySpan, LixTelemetryParentContext, LixOpenProgress, LixOpenReport, OpenAnotherSessionOptions, ResultColumn } from "./types.js";
|
|
1
|
+
import type { CommitSpan, CreateBranchOptions, CreateBranchReceipt, UndoReceipt, RedoReceipt, ExecuteOptions, LixBatchOptions, MergeBranchOptions, MergeBranchPreview, MergeBranchReceipt, SwitchBranchOptions, SwitchBranchReceipt, LixTelemetrySpan, LixTelemetryParentContext, LixOpenProgress, LixOpenReport, ReplicaRecoverySource, ReplicaRecoveryExport, ReplicaRecoveryReceipt, OpenAnotherSessionOptions, ResultColumn } from "./types.js";
|
|
2
2
|
import type { NativeLixValue } from "./value.js";
|
|
3
3
|
import type { LixStorageProvider } from "./storage-adapter.js";
|
|
4
4
|
export type SyncServerBindingOptions = {
|
|
@@ -18,6 +18,7 @@ export type BindingExecuteResult = {
|
|
|
18
18
|
message: string;
|
|
19
19
|
hint?: string;
|
|
20
20
|
}>;
|
|
21
|
+
commit?: CommitSpan;
|
|
21
22
|
};
|
|
22
23
|
export type BindingObserveEvent = {
|
|
23
24
|
sequence: number;
|
|
@@ -49,6 +50,9 @@ export type LixBinding = {
|
|
|
49
50
|
executeBatch(statements: BindingBatchStatement[], options?: LixBatchOptions): Promise<BindingExecuteResult[]>;
|
|
50
51
|
observe(sql: string, params: BindingParam[]): Promise<ObserveEventsBinding>;
|
|
51
52
|
beginTransaction(): Promise<LixTransactionBinding>;
|
|
53
|
+
replicaRecoverySources(): Promise<ReplicaRecoverySource[]>;
|
|
54
|
+
exportReplicaRecovery(id: string): Promise<ReplicaRecoveryExport>;
|
|
55
|
+
recoverReplica(id: string): Promise<ReplicaRecoveryReceipt>;
|
|
52
56
|
activeBranchId(): Promise<string>;
|
|
53
57
|
activeAccountId(): Promise<string>;
|
|
54
58
|
createBranch(options: CreateBranchOptions): Promise<CreateBranchReceipt>;
|
|
Binary file
|
|
Binary file
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export type { LixStorage, LixStorageBound, LixStorageChangeWatch, LixStorageComm
|
|
|
3
3
|
export { LixStorageError } from "./storage-adapter.js";
|
|
4
4
|
export { bundledPluginArchives, type BundledPluginArchive, } from "./bundled-plugins.js";
|
|
5
5
|
export { Value } from "./value.js";
|
|
6
|
-
export type { CreateBranchOptions, CreateBranchReceipt, RedoReceipt, ExecuteOptions, ExecuteResult, ExecuteBatchResult, LixBatchOptions, LixBatchStatement, JsonValue, LixValue, ResultArrayRow, ResultColumn, ResultColumnType, ResultObjectRow, ResultRow, MergeBranchOptions, MergeBranchOutcome, MergeBranchPreview, MergeBranchReceipt, MergeChangeStats, MergeConflict, MergeConflictSide, ObserveEvent, OpenLixOptions, OpenAnotherSessionOptions, LixTelemetryOptions, LixTelemetryParentContext, LixTelemetrySpan, LixTelemetrySpanLink, LixOpenMigrationReport, LixOpenPhase, LixOpenProgress, LixOpenProgressOptions, LixOpenReport, RemoteLixFetch, LixServerOptions, HostedLix, CreateLixOptions, DeleteLixOptions, UndoReceipt, SqlParam, SwitchBranchOptions, SwitchBranchReceipt, } from "./types.js";
|
|
6
|
+
export type { CreateBranchOptions, CreateBranchReceipt, RedoReceipt, CommitSpan, ExecuteOptions, ExecuteResult, ExecuteBatchResult, LixBatchOptions, LixBatchStatement, JsonValue, LixValue, ResultArrayRow, ResultColumn, ResultColumnType, ResultObjectRow, ResultRow, MergeBranchOptions, MergeBranchOutcome, MergeBranchPreview, MergeBranchReceipt, MergeChangeStats, MergeConflict, MergeConflictSide, ObserveEvent, OpenLixOptions, OpenAnotherSessionOptions, LixTelemetryOptions, LixTelemetryParentContext, LixTelemetrySpan, LixTelemetrySpanLink, LixOpenMigrationReport, LixOpenPhase, LixOpenProgress, LixOpenProgressOptions, LixOpenReport, ReplicaRecoverySource, ReplicaRecoveryRow, ReplicaRecoveryBranch, ReplicaRecoveryBlob, ReplicaRecoveryFile, ReplicaRecoveryExport, ReplicaRecoveryReceipt, RemoteLixFetch, LixServerOptions, HostedLix, CreateLixOptions, DeleteLixOptions, UndoReceipt, SqlParam, SwitchBranchOptions, SwitchBranchReceipt, } from "./types.js";
|
|
7
7
|
export { createLix, deleteLix } from "./hosted-lix.js";
|
package/dist/lix.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LixBinding, LixTransactionBinding, ObserveEventsBinding } from "./binding-types.js";
|
|
2
|
-
import type { CreateBranchOptions, CreateBranchReceipt, RedoReceipt, ExecuteOptions, ExecuteResult, ExecuteBatchResult, LixBatchOptions, LixBatchStatement, MergeBranchOptions, MergeBranchPreview, MergeBranchReceipt, ObserveEvent, OpenAnotherSessionOptions, LixOpenReport, SqlParam, ResultArrayRow, ResultObjectRow, ResultRow, SwitchBranchOptions, SwitchBranchReceipt, UndoReceipt } from "./types.js";
|
|
2
|
+
import type { CreateBranchOptions, CreateBranchReceipt, RedoReceipt, ExecuteOptions, ExecuteResult, ExecuteBatchResult, LixBatchOptions, LixBatchStatement, MergeBranchOptions, MergeBranchPreview, MergeBranchReceipt, ObserveEvent, OpenAnotherSessionOptions, LixOpenReport, ReplicaRecoverySource, ReplicaRecoveryExport, ReplicaRecoveryReceipt, SqlParam, ResultArrayRow, ResultObjectRow, ResultRow, SwitchBranchOptions, SwitchBranchReceipt, UndoReceipt } from "./types.js";
|
|
3
3
|
/** @internal Used by createLix without adding another method to Lix. */
|
|
4
4
|
export declare function createHostedFromLix(lix: Lix, server: () => Promise<import("./binding-types.js").HostedServerBindingOptions>): Promise<import("./types.js").HostedLix>;
|
|
5
5
|
export declare class Lix {
|
|
@@ -26,6 +26,12 @@ export declare class Lix {
|
|
|
26
26
|
executeBatch(statements: readonly LixBatchStatement[], options?: LixBatchOptions): Promise<readonly ExecuteBatchResult<ResultRow>[]>;
|
|
27
27
|
observe(sql: string, params?: SqlParam[]): ObserveEvents;
|
|
28
28
|
beginTransaction(): Promise<LixTransaction>;
|
|
29
|
+
/** Lists preserved generations belonging to this local repository. */
|
|
30
|
+
replicaRecoverySources(): Promise<ReplicaRecoverySource[]>;
|
|
31
|
+
/** Exports retained work without deleting or changing its source. */
|
|
32
|
+
exportReplicaRecovery(id: string): Promise<ReplicaRecoveryExport>;
|
|
33
|
+
/** Restores supported rows onto separate recovery branches; preserves the source. */
|
|
34
|
+
recoverReplica(id: string): Promise<ReplicaRecoveryReceipt>;
|
|
29
35
|
activeBranchId(): Promise<string>;
|
|
30
36
|
activeAccountId(): Promise<string>;
|
|
31
37
|
/** Subscribes to successful branch switches made through this Lix handle. */
|
|
@@ -52,7 +58,6 @@ export declare class ObserveEvents {
|
|
|
52
58
|
export declare class LixTransaction {
|
|
53
59
|
private readonly binding;
|
|
54
60
|
private readonly onFinish;
|
|
55
|
-
private finishPromise;
|
|
56
61
|
private finished;
|
|
57
62
|
constructor(binding: LixTransactionBinding, onFinish?: () => void);
|
|
58
63
|
execute(sql: string, params: SqlParam[] | undefined, options: ExecuteOptions & {
|
package/dist/lix.js
CHANGED
|
@@ -95,6 +95,18 @@ export class Lix {
|
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
+
/** Lists preserved generations belonging to this local repository. */
|
|
99
|
+
async replicaRecoverySources() {
|
|
100
|
+
return this.#runOperation(() => this.binding.replicaRecoverySources());
|
|
101
|
+
}
|
|
102
|
+
/** Exports retained work without deleting or changing its source. */
|
|
103
|
+
async exportReplicaRecovery(id) {
|
|
104
|
+
return this.#runOperation(() => this.binding.exportReplicaRecovery(id));
|
|
105
|
+
}
|
|
106
|
+
/** Restores supported rows onto separate recovery branches; preserves the source. */
|
|
107
|
+
async recoverReplica(id) {
|
|
108
|
+
return this.#runOperation(() => this.binding.recoverReplica(id));
|
|
109
|
+
}
|
|
98
110
|
async activeBranchId() {
|
|
99
111
|
return this.#runOperation(() => this.binding.activeBranchId());
|
|
100
112
|
}
|
|
@@ -330,7 +342,6 @@ export class ObserveEvents {
|
|
|
330
342
|
export class LixTransaction {
|
|
331
343
|
binding;
|
|
332
344
|
onFinish;
|
|
333
|
-
finishPromise;
|
|
334
345
|
finished = false;
|
|
335
346
|
constructor(binding, onFinish = () => undefined) {
|
|
336
347
|
this.binding = binding;
|
|
@@ -338,6 +349,8 @@ export class LixTransaction {
|
|
|
338
349
|
transactionFinalizer.register(this, { transaction: binding, onFinish: this.onFinish }, this);
|
|
339
350
|
}
|
|
340
351
|
async execute(sql, params = [], options) {
|
|
352
|
+
if (this.finished)
|
|
353
|
+
throw transactionClosedError();
|
|
341
354
|
assertExecuteArgs("lixTransaction", sql, params, options);
|
|
342
355
|
const { rowMode = "object", ...bindingOptions } = options ?? {};
|
|
343
356
|
return wrapExecuteResult(await this.binding.execute(sql, params.map((param, index) => toNativeValue(normalizeParam(param, index))), bindingOptions), rowMode);
|
|
@@ -351,24 +364,21 @@ export class LixTransaction {
|
|
|
351
364
|
async finish(kind) {
|
|
352
365
|
if (this.finished)
|
|
353
366
|
throw transactionClosedError();
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
369
|
-
})();
|
|
367
|
+
// The first terminal call owns the handle immediately. In particular,
|
|
368
|
+
// a concurrent rollback must never report a pending commit's success.
|
|
369
|
+
this.finished = true;
|
|
370
|
+
try {
|
|
371
|
+
if (kind === "transaction.commit")
|
|
372
|
+
await this.binding.commit();
|
|
373
|
+
else
|
|
374
|
+
await this.binding.rollback();
|
|
375
|
+
}
|
|
376
|
+
finally {
|
|
377
|
+
// Keep the parent transaction lease until the binding settles. A
|
|
378
|
+
// terminal call consumes the handle even when it reports an error.
|
|
379
|
+
transactionFinalizer.unregister(this);
|
|
380
|
+
this.onFinish();
|
|
370
381
|
}
|
|
371
|
-
await this.finishPromise;
|
|
372
382
|
}
|
|
373
383
|
}
|
|
374
384
|
function transactionClosedError() {
|
|
@@ -98,10 +98,6 @@ export type LixStoragePrecondition = {
|
|
|
98
98
|
kind: "rangeEmpty";
|
|
99
99
|
space: LixStorageSpace;
|
|
100
100
|
range: LixStorageKeyRange;
|
|
101
|
-
} | {
|
|
102
|
-
kind: "branchEquals";
|
|
103
|
-
refKey: Uint8Array;
|
|
104
|
-
expected: Uint8Array;
|
|
105
101
|
};
|
|
106
102
|
export type LixStorageGetManyRequest = {
|
|
107
103
|
space: LixStorageSpace;
|
package/dist/types.d.ts
CHANGED
|
@@ -75,6 +75,61 @@ export type LixOpenReport = {
|
|
|
75
75
|
initialized: boolean;
|
|
76
76
|
migration?: LixOpenMigrationReport;
|
|
77
77
|
};
|
|
78
|
+
/** A retained local generation. Presence does not mean recovery is complete. */
|
|
79
|
+
export type ReplicaRecoverySource = {
|
|
80
|
+
id: string;
|
|
81
|
+
sourceFormat: number;
|
|
82
|
+
repositoryId: string;
|
|
83
|
+
accountId: string;
|
|
84
|
+
recoveryRequired: boolean;
|
|
85
|
+
};
|
|
86
|
+
export type ReplicaRecoveryRow = {
|
|
87
|
+
rowPk: JsonValue;
|
|
88
|
+
schemaKey: string;
|
|
89
|
+
fileId: string | null;
|
|
90
|
+
snapshot: JsonValue;
|
|
91
|
+
metadata: JsonValue;
|
|
92
|
+
deleted: boolean;
|
|
93
|
+
untracked: boolean;
|
|
94
|
+
global: boolean;
|
|
95
|
+
changeId: string | null;
|
|
96
|
+
commitId: string | null;
|
|
97
|
+
};
|
|
98
|
+
export type ReplicaRecoveryBranch = {
|
|
99
|
+
branchId: string;
|
|
100
|
+
headCommitId: string;
|
|
101
|
+
checkpointCommitId: string | null;
|
|
102
|
+
rows: ReplicaRecoveryRow[];
|
|
103
|
+
};
|
|
104
|
+
export type ReplicaRecoveryBlob = {
|
|
105
|
+
id: string;
|
|
106
|
+
contentBase64: string;
|
|
107
|
+
};
|
|
108
|
+
export type ReplicaRecoveryFile = {
|
|
109
|
+
branchId: string;
|
|
110
|
+
id: string;
|
|
111
|
+
path: string;
|
|
112
|
+
untracked: boolean;
|
|
113
|
+
blobId: string | null;
|
|
114
|
+
};
|
|
115
|
+
/** Portable recovery data; unresolved entries identify data not reconstructed. */
|
|
116
|
+
export type ReplicaRecoveryExport = {
|
|
117
|
+
version: number;
|
|
118
|
+
source: ReplicaRecoverySource;
|
|
119
|
+
branches: ReplicaRecoveryBranch[];
|
|
120
|
+
commits: JsonValue[];
|
|
121
|
+
uploads: JsonValue[];
|
|
122
|
+
blobs: ReplicaRecoveryBlob[];
|
|
123
|
+
files: ReplicaRecoveryFile[];
|
|
124
|
+
unresolved: string[];
|
|
125
|
+
};
|
|
126
|
+
/** Local recovery result. This does not acknowledge durable server storage. */
|
|
127
|
+
export type ReplicaRecoveryReceipt = {
|
|
128
|
+
branchIds: string[];
|
|
129
|
+
restoredFiles: number;
|
|
130
|
+
restoredRows: number;
|
|
131
|
+
unresolved: string[];
|
|
132
|
+
};
|
|
78
133
|
export type LixOpenProgressOptions = {
|
|
79
134
|
/** Observes local inspection, automatic migration, and opening. */
|
|
80
135
|
onProgress?(progress: LixOpenProgress): void;
|
|
@@ -164,6 +219,18 @@ export type ResultColumn = {
|
|
|
164
219
|
export type ResultObjectRow = Record<string, unknown>;
|
|
165
220
|
export type ResultArrayRow = unknown[];
|
|
166
221
|
export type ResultRow = ResultObjectRow | ResultArrayRow;
|
|
222
|
+
/**
|
|
223
|
+
* The active-branch commits a write moved between.
|
|
224
|
+
*
|
|
225
|
+
* `before` is the active branch's head before the write and `after` the head
|
|
226
|
+
* it published, so `lix_diff('lix_file', before, after)` is exactly what the
|
|
227
|
+
* write changed. A write that published no commit on the active branch
|
|
228
|
+
* reports both ids equal; a restore reports the commit it moved the head to.
|
|
229
|
+
*/
|
|
230
|
+
export type CommitSpan = {
|
|
231
|
+
before: string;
|
|
232
|
+
after: string;
|
|
233
|
+
};
|
|
167
234
|
export type ExecuteResult<TRow extends object = ResultObjectRow> = {
|
|
168
235
|
statementIndex?: number;
|
|
169
236
|
label?: string;
|
|
@@ -175,6 +242,15 @@ export type ExecuteResult<TRow extends object = ResultObjectRow> = {
|
|
|
175
242
|
message: string;
|
|
176
243
|
hint?: string;
|
|
177
244
|
}>;
|
|
245
|
+
/**
|
|
246
|
+
* Present on every auto-committed write statement, including `RETURNING`
|
|
247
|
+
* writes, and on every statement of a written batch (all carry the
|
|
248
|
+
* batch's one span, read statements included). Absent for read
|
|
249
|
+
* statements outside a written batch, read-only batches, statements
|
|
250
|
+
* inside an explicit transaction (whose commit is the write), and the
|
|
251
|
+
* first commit on a branch that had no head yet.
|
|
252
|
+
*/
|
|
253
|
+
commit?: CommitSpan;
|
|
178
254
|
};
|
|
179
255
|
export type ExecuteBatchResult<TRow extends object = ResultObjectRow> = ExecuteResult<TRow> & {
|
|
180
256
|
statementIndex: number;
|
|
@@ -13,6 +13,7 @@ export class WasmLix {
|
|
|
13
13
|
createHosted(server: any): Promise<any>;
|
|
14
14
|
execute(sql: string, params: any, options?: any | null): Promise<any>;
|
|
15
15
|
executeBatch(statements: any, options?: any | null): Promise<any>;
|
|
16
|
+
exportReplicaRecovery(id: string): Promise<any>;
|
|
16
17
|
exportSnapshot(): WasmSnapshotExport;
|
|
17
18
|
importFilesystemPaths(_paths: any): Promise<void>;
|
|
18
19
|
mergeBranch(options: any): Promise<any>;
|
|
@@ -20,7 +21,9 @@ export class WasmLix {
|
|
|
20
21
|
observe(sql: string, params: any): Promise<WasmObserveEvents>;
|
|
21
22
|
openAnotherSession(options: any): Promise<WasmLix>;
|
|
22
23
|
openReport(): any;
|
|
24
|
+
recoverReplica(id: string): Promise<any>;
|
|
23
25
|
redo(): Promise<any>;
|
|
26
|
+
replicaRecoverySources(): Promise<any>;
|
|
24
27
|
setTelemetryParent(parent?: any | null): void;
|
|
25
28
|
switchBranch(options: any): Promise<any>;
|
|
26
29
|
syncDiskToLix(): Promise<void>;
|
|
@@ -56,13 +59,16 @@ export class WasmRemoteLix {
|
|
|
56
59
|
createBranch(options: any): Promise<any>;
|
|
57
60
|
execute(sql: string, params: any, options?: any | null): Promise<any>;
|
|
58
61
|
executeBatch(statements: any, options?: any | null): Promise<any>;
|
|
62
|
+
exportReplicaRecovery(_id: string): Promise<any>;
|
|
59
63
|
exportSnapshot(): WasmSnapshotExport;
|
|
60
64
|
importFilesystemPaths(_paths: any): Promise<void>;
|
|
61
65
|
mergeBranch(options: any): Promise<any>;
|
|
62
66
|
mergeBranchPreview(options: any): Promise<any>;
|
|
63
67
|
observe(sql: string, params: any): Promise<WasmRemoteObserveEvents>;
|
|
64
68
|
openAnotherSession(options: any): Promise<WasmRemoteLix>;
|
|
69
|
+
recoverReplica(_id: string): Promise<any>;
|
|
65
70
|
redo(): Promise<any>;
|
|
71
|
+
replicaRecoverySources(): Promise<any>;
|
|
66
72
|
setTelemetryParent(_parent?: any | null): void;
|
|
67
73
|
switchBranch(options: any): Promise<any>;
|
|
68
74
|
syncDiskToLix(): Promise<void>;
|
|
@@ -146,6 +152,7 @@ export interface InitOutput {
|
|
|
146
152
|
readonly wasmlix_createHosted: (a: number, b: number) => number;
|
|
147
153
|
readonly wasmlix_execute: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
148
154
|
readonly wasmlix_executeBatch: (a: number, b: number, c: number) => number;
|
|
155
|
+
readonly wasmlix_exportReplicaRecovery: (a: number, b: number, c: number) => number;
|
|
149
156
|
readonly wasmlix_exportSnapshot: (a: number) => number;
|
|
150
157
|
readonly wasmlix_importFilesystemPaths: (a: number, b: number) => number;
|
|
151
158
|
readonly wasmlix_mergeBranch: (a: number, b: number) => number;
|
|
@@ -153,7 +160,9 @@ export interface InitOutput {
|
|
|
153
160
|
readonly wasmlix_observe: (a: number, b: number, c: number, d: number) => number;
|
|
154
161
|
readonly wasmlix_openAnotherSession: (a: number, b: number) => number;
|
|
155
162
|
readonly wasmlix_openReport: (a: number, b: number) => void;
|
|
163
|
+
readonly wasmlix_recoverReplica: (a: number, b: number, c: number) => number;
|
|
156
164
|
readonly wasmlix_redo: (a: number) => number;
|
|
165
|
+
readonly wasmlix_replicaRecoverySources: (a: number) => number;
|
|
157
166
|
readonly wasmlix_setTelemetryParent: (a: number, b: number, c: number) => void;
|
|
158
167
|
readonly wasmlix_switchBranch: (a: number, b: number) => number;
|
|
159
168
|
readonly wasmlix_syncDiskToLix: (a: number) => number;
|
|
@@ -171,13 +180,16 @@ export interface InitOutput {
|
|
|
171
180
|
readonly wasmremotelix_createBranch: (a: number, b: number) => number;
|
|
172
181
|
readonly wasmremotelix_execute: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
173
182
|
readonly wasmremotelix_executeBatch: (a: number, b: number, c: number) => number;
|
|
183
|
+
readonly wasmremotelix_exportReplicaRecovery: (a: number, b: number, c: number) => number;
|
|
174
184
|
readonly wasmremotelix_exportSnapshot: (a: number) => number;
|
|
175
185
|
readonly wasmremotelix_importFilesystemPaths: (a: number, b: number) => number;
|
|
176
186
|
readonly wasmremotelix_mergeBranch: (a: number, b: number) => number;
|
|
177
187
|
readonly wasmremotelix_mergeBranchPreview: (a: number, b: number) => number;
|
|
178
188
|
readonly wasmremotelix_observe: (a: number, b: number, c: number, d: number) => number;
|
|
179
189
|
readonly wasmremotelix_openAnotherSession: (a: number, b: number) => number;
|
|
190
|
+
readonly wasmremotelix_recoverReplica: (a: number, b: number, c: number) => number;
|
|
180
191
|
readonly wasmremotelix_redo: (a: number) => number;
|
|
192
|
+
readonly wasmremotelix_replicaRecoverySources: (a: number) => number;
|
|
181
193
|
readonly wasmremotelix_setTelemetryParent: (a: number, b: number) => void;
|
|
182
194
|
readonly wasmremotelix_switchBranch: (a: number, b: number) => number;
|
|
183
195
|
readonly wasmremotelix_syncDiskToLix: (a: number) => number;
|
|
@@ -194,10 +206,10 @@ export interface InitOutput {
|
|
|
194
206
|
readonly wasmsnapshotrestore_finish: (a: number) => number;
|
|
195
207
|
readonly wasmsnapshotrestore_isComplete: (a: number) => number;
|
|
196
208
|
readonly wasmsnapshotrestore_write: (a: number, b: number, c: number) => number;
|
|
197
|
-
readonly
|
|
198
|
-
readonly
|
|
199
|
-
readonly
|
|
200
|
-
readonly
|
|
209
|
+
readonly __wasm_bindgen_func_elem_95812: (a: number, b: number, c: number, d: number) => void;
|
|
210
|
+
readonly __wasm_bindgen_func_elem_95814: (a: number, b: number, c: number, d: number) => void;
|
|
211
|
+
readonly __wasm_bindgen_func_elem_17860: (a: number, b: number, c: number) => number;
|
|
212
|
+
readonly __wasm_bindgen_func_elem_17859: (a: number, b: number) => void;
|
|
201
213
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
202
214
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
203
215
|
readonly __wbindgen_export3: (a: number) => void;
|