@moyodb/sdk 1.0.1 → 1.3.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 (78) hide show
  1. package/README.md +111 -28
  2. package/dist/assets/browser-worker-DBt51gsS.js +4 -0
  3. package/dist/assets/browser-worker-DBt51gsS.js.map +1 -0
  4. package/dist/assets/shared-worker-NdniRuEL.js +2 -0
  5. package/dist/assets/shared-worker-NdniRuEL.js.map +1 -0
  6. package/dist/browser-worker.d.ts +2 -0
  7. package/dist/browser-worker.d.ts.map +1 -0
  8. package/dist/change-events.d.ts +1 -1
  9. package/dist/chunks/indexing-CKtbpaZn.js +1657 -0
  10. package/dist/chunks/indexing-CKtbpaZn.js.map +1 -0
  11. package/dist/codec.d.ts +1 -1
  12. package/dist/compression.d.ts +16 -2
  13. package/dist/compression.d.ts.map +1 -1
  14. package/dist/demo.d.ts +2 -1
  15. package/dist/demo.d.ts.map +1 -1
  16. package/dist/engine/README.md +89 -16
  17. package/dist/engine/moyodb_engine.d.ts +34 -10
  18. package/dist/engine/moyodb_engine.js +238 -51
  19. package/dist/engine/moyodb_engine_bg.wasm +0 -0
  20. package/dist/engine/moyodb_engine_bg.wasm.d.ts +17 -10
  21. package/dist/engine/package.json +2 -2
  22. package/dist/errors.d.ts +3 -0
  23. package/dist/errors.d.ts.map +1 -1
  24. package/dist/index.d.ts +11 -5
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/indexing.d.ts +1 -1
  27. package/dist/internal.d.ts +6 -0
  28. package/dist/internal.d.ts.map +1 -1
  29. package/dist/moyodb-sdk.js +2362 -640
  30. package/dist/moyodb-sdk.js.map +1 -1
  31. package/dist/node-engine.js +2838 -0
  32. package/dist/node-engine.js.map +1 -0
  33. package/dist/node-storage.d.mts +16 -0
  34. package/dist/node-storage.mjs +669 -0
  35. package/dist/node-worker-client.d.ts +20 -0
  36. package/dist/node-worker-client.d.ts.map +1 -0
  37. package/dist/node-worker.mjs +119 -0
  38. package/dist/node.d.ts +19 -0
  39. package/dist/node.d.ts.map +1 -0
  40. package/dist/node.js +3437 -0
  41. package/dist/node.js.map +1 -0
  42. package/dist/records.d.ts +75 -0
  43. package/dist/records.d.ts.map +1 -0
  44. package/dist/registry.d.ts +12 -4
  45. package/dist/registry.d.ts.map +1 -1
  46. package/dist/shared-worker-client.d.ts +28 -0
  47. package/dist/shared-worker-client.d.ts.map +1 -0
  48. package/dist/shared-worker-protocol.d.ts +16 -0
  49. package/dist/shared-worker-protocol.d.ts.map +1 -0
  50. package/dist/shared-worker.d.ts +33 -0
  51. package/dist/shared-worker.d.ts.map +1 -0
  52. package/dist/snappy.d.ts +3 -0
  53. package/dist/snappy.d.ts.map +1 -0
  54. package/dist/sql-parser.d.ts +9 -0
  55. package/dist/sql-parser.d.ts.map +1 -0
  56. package/dist/sql-types.d.ts +82 -0
  57. package/dist/sql-types.d.ts.map +1 -0
  58. package/dist/sql.d.ts +32 -0
  59. package/dist/sql.d.ts.map +1 -0
  60. package/dist/subscriptions.d.ts +2 -2
  61. package/dist/subscriptions.d.ts.map +1 -1
  62. package/dist/types.d.ts +36 -3
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/worker-api.d.ts +19 -3
  65. package/dist/worker-api.d.ts.map +1 -1
  66. package/dist/worker-client.d.ts +30 -6
  67. package/dist/worker-client.d.ts.map +1 -1
  68. package/dist/worker-protocol.d.ts +19 -4
  69. package/dist/worker-protocol.d.ts.map +1 -1
  70. package/dist/worker-server.d.ts +10 -2
  71. package/dist/worker-server.d.ts.map +1 -1
  72. package/dist/worker.d.ts +292 -1
  73. package/dist/worker.d.ts.map +1 -1
  74. package/package.json +13 -6
  75. package/dist/assets/worker-KDc8Khl_.js +0 -4
  76. package/dist/assets/worker-KDc8Khl_.js.map +0 -1
  77. package/dist/engine/snippets/moyodb-engine-cff0a0e2441a7a8f/js/opfs_shim.js +0 -513
  78. /package/dist/engine/snippets/{moyodb-engine-8ebe6af0cc2e81b7 → moyodb-engine-54a406e33b0fb849}/js/opfs_shim.js +0 -0
@@ -1,8 +1,27 @@
1
- import type { AutocommitCommand, IndexScanPage, WorkerApi, WorkerOpenRequest } from './worker-api';
2
- import type { BatchOp, ChangeFeed, ChangeFeedOptions, CompactionResult, CreateStoreOptions, DebugFailpoint, DbStats, ExportSnapshotOptions, IndexDef, PutOptions, Range, ScanItem, StorageInfo, TxMode } from './types';
3
- import { type AutocommitArgs, type WorkerCommand, type WorkerCommandArgs, type WorkerCommandResult } from './worker-protocol';
1
+ import type { AutocommitCommand, IndexScanPage, WorkerApi, WorkerOpenRequest, WorkerScanPage, WorkerScanPageRequest } from './worker-api.js';
2
+ import type { BatchOp, ChangeFeed, ChangeFeedOptions, CompactionResult, CreateStoreOptions, DebugFailpoint, DbStats, ExportSnapshotOptions, IndexDef, PutOptions, Range, ScanItem, StorageInfo, TxMode } from './types.js';
3
+ import { type AutocommitArgs, type WorkerCommand, type WorkerCommandArgs, type WorkerCommandResult } from './worker-protocol.js';
4
4
  export interface WorkerProtocolClientOptions {
5
5
  requestTimeoutMs?: number;
6
+ readyTimeoutMs?: number;
7
+ /** Keeps scan packets packed when relaying through SharedWorker. */
8
+ forwardScanPackets?: boolean;
9
+ }
10
+ export interface WorkerTransport {
11
+ postMessage(message: unknown, transfer?: Transferable[]): void;
12
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
13
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
14
+ }
15
+ export interface WorkerClient extends WorkerApi {
16
+ autocommit<M extends AutocommitCommand>(mode: TxMode, command: M, args: AutocommitArgs<M>): Promise<WorkerCommandResult<M>>;
17
+ request<M extends WorkerCommand>(command: M, args: WorkerCommandArgs<M>): Promise<WorkerCommandResult<M>>;
18
+ setFatalHandler(handler: ((error: Error) => void) | null): void;
19
+ whenReady(): Promise<void>;
20
+ dispose(reason?: Error): void;
21
+ acquireMigration?(): Promise<void>;
22
+ releaseMigration?(): Promise<void>;
23
+ setTransactionsInvalidatedHandler?(handler: (() => void) | null): void;
24
+ crash?(): void;
6
25
  }
7
26
  export declare class WorkerProtocolClient implements WorkerApi {
8
27
  private readonly worker;
@@ -21,10 +40,13 @@ export declare class WorkerProtocolClient implements WorkerApi {
21
40
  private queuedBytes;
22
41
  private flushScheduled;
23
42
  private awaitingReady;
24
- constructor(worker: Worker, options?: WorkerProtocolClientOptions);
43
+ private readyTimeout;
44
+ private forwardScanPackets;
45
+ constructor(worker: WorkerTransport, options?: WorkerProtocolClientOptions);
25
46
  setFatalHandler(handler: ((error: Error) => void) | null): void;
26
47
  whenReady(): Promise<void>;
27
48
  dispose(reason?: Error): void;
49
+ protected fail(reason: Error): void;
28
50
  open(request: WorkerOpenRequest): Promise<void>;
29
51
  close(): Promise<void>;
30
52
  destroy(): Promise<void>;
@@ -45,10 +67,12 @@ export declare class WorkerProtocolClient implements WorkerApi {
45
67
  deleteMany(txId: number, store: string, keys: Array<Uint8Array>): Promise<void>;
46
68
  applyBatch(txId: number, store: string, ops: Array<BatchOp>): Promise<void>;
47
69
  scan(txId: number, store: string, range: Range): Promise<ScanItem[]>;
70
+ scanPage(request: WorkerScanPageRequest): Promise<WorkerScanPage>;
71
+ closeCursor(cursorId: number): Promise<void>;
48
72
  getByIndex(txId: number, store: string, indexName: string, key: Uint8Array): Promise<Uint8Array | null>;
49
73
  scanByIndex(txId: number, store: string, indexName: string, range: Range): Promise<ScanItem[]>;
50
- scanByIndexPage(txId: number, store: string, indexName: string, range: Range, cursor: Uint8Array | null, limit: number): Promise<IndexScanPage>;
51
- getIndexes(): Promise<IndexDef[]>;
74
+ scanByIndexPage(txId: number, store: string, indexName: string, range: Range, cursor: Uint8Array | null, limit: number, maxBytes?: number): Promise<IndexScanPage>;
75
+ getIndexes(txId?: number): Promise<IndexDef[]>;
52
76
  reconcileIndexes(txId: number, indexes: IndexDef[]): Promise<void>;
53
77
  listStores(): Promise<string[]>;
54
78
  getVersion(): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../src/worker-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../src/worker-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { AutocommitCommand, WorkerApi } from './worker-api';
2
- import type { BatchOp } from './types';
1
+ import type { AutocommitCommand, WorkerApi } from './worker-api.js';
2
+ import type { BatchOp } from './types.js';
3
3
  export declare const WORKER_PROTOCOL_VERSION = 1;
4
4
  export declare const WORKER_PROTOCOL_READY = "moyodb:worker-protocol:ready";
5
5
  export declare const WORKER_PROTOCOL_REQUEST = "moyodb:worker-protocol:request";
@@ -8,7 +8,7 @@ export declare const WORKER_PROTOCOL_REQUEST_BATCH = "moyodb:worker-protocol:req
8
8
  export declare const WORKER_PROTOCOL_RESPONSE_BATCH = "moyodb:worker-protocol:response-batch";
9
9
  export declare const MAX_WORKER_BATCH_MESSAGES = 128;
10
10
  export declare const MAX_WORKER_BATCH_BYTES: number;
11
- export declare const WORKER_COMMANDS: readonly ['open', 'close', 'destroy', 'deleteDB', 'begin', 'commit', 'rollback', 'autocommit', 'createStore', 'dropStore', 'clearStore', 'get', 'getMany', 'has', 'put', 'putMany', 'delete', 'deleteMany', 'applyBatch', 'scan', 'getByIndex', 'scanByIndex', 'scanByIndexPage', 'getIndexes', 'reconcileIndexes', 'listStores', 'getVersion', 'changesSince', 'setSchemaVersion', 'exportSnapshot', 'importSnapshot', 'reset', 'compact', 'rebuild', 'stats', 'storageInfo', 'requestPersistence', 'setFailpoint'];
11
+ export declare const WORKER_COMMANDS: readonly ['open', 'close', 'destroy', 'deleteDB', 'begin', 'commit', 'rollback', 'autocommit', 'createStore', 'dropStore', 'clearStore', 'get', 'getMany', 'has', 'put', 'putMany', 'delete', 'deleteMany', 'applyBatch', 'scan', 'scanPage', 'closeCursor', 'getByIndex', 'scanByIndex', 'scanByIndexPage', 'getIndexes', 'reconcileIndexes', 'listStores', 'getVersion', 'changesSince', 'setSchemaVersion', 'exportSnapshot', 'importSnapshot', 'reset', 'compact', 'rebuild', 'stats', 'storageInfo', 'requestPersistence', 'setFailpoint'];
12
12
  export type WorkerCommand = (typeof WORKER_COMMANDS)[number];
13
13
  type WorkerMethod<M extends WorkerCommand> = WorkerApi[M] extends (...args: infer Args) => Promise<infer Result> ? {
14
14
  args: Args;
@@ -25,7 +25,12 @@ export type PackedBatchOpKey = {
25
25
  key: Uint8Array;
26
26
  };
27
27
  type PreparedWorkerCommandArgs<M extends WorkerCommand> = WorkerCommandArgs<M> | unknown[];
28
+ declare const PACKED_ENGINE_SCAN_ROWS_V1 = "moyodb:packed-engine-scan-rows:v1";
28
29
  declare const PACKED_OPTIONAL_VALUES_V1 = "moyodb:packed-optional-values:v1";
30
+ export interface PackedEngineScanRowsV1 {
31
+ __moyodbPacked: typeof PACKED_ENGINE_SCAN_ROWS_V1;
32
+ bytes: Uint8Array;
33
+ }
29
34
  export interface PackedOptionalValuesV1 {
30
35
  __moyodbPacked: typeof PACKED_OPTIONAL_VALUES_V1;
31
36
  bytes: Uint8Array;
@@ -80,6 +85,11 @@ export interface WorkerProtocolResponseBatchMessage {
80
85
  }
81
86
  export declare function isWorkerCommand(value: unknown): value is WorkerCommand;
82
87
  export declare function isWorkerProtocolReadyMessage(value: unknown): value is WorkerProtocolReadyMessage;
88
+ export declare function isWorkerProtocolReadyEnvelope(value: unknown): value is {
89
+ type: typeof WORKER_PROTOCOL_READY;
90
+ version?: unknown;
91
+ batching?: unknown;
92
+ };
83
93
  export declare function isWorkerProtocolResponseMessage(value: unknown): value is WorkerProtocolResponseMessage;
84
94
  export declare function isWorkerProtocolRequestMessage(value: unknown): value is WorkerProtocolRequestMessage;
85
95
  export declare function isWorkerProtocolRequestBatchMessage(value: unknown): value is WorkerProtocolRequestBatchMessage;
@@ -89,7 +99,7 @@ export declare function isWorkerProtocolEnvelope(value: unknown): value is {
89
99
  id?: unknown;
90
100
  };
91
101
  export declare function serializeWorkerError(error: unknown): SerializedWorkerError;
92
- export declare function deserializeWorkerError(error: SerializedWorkerError): Error;
102
+ export declare function deserializeWorkerError(error: unknown): Error;
93
103
  export declare function workerProtocolError(name: string, message: string, code?: string): Error;
94
104
  export declare function prepareWorkerCommandPayload<M extends WorkerCommand>(command: M, args: WorkerCommandArgs<M>): {
95
105
  args: PreparedWorkerCommandArgs<M>;
@@ -110,6 +120,11 @@ export declare function prepareWorkerResponsePayload<M extends WorkerCommand>(co
110
120
  transfer: Transferable[];
111
121
  };
112
122
  export declare function decodeWorkerResponsePayload<M extends WorkerCommand>(command: M, result: unknown): WorkerCommandResult<M>;
123
+ export declare function packedScanRows(bytes: Uint8Array): PackedEngineScanRowsV1;
124
+ export declare function unpackPackedScanRows(bytes: Uint8Array): Array<{
125
+ key: Uint8Array;
126
+ value: Uint8Array;
127
+ }>;
113
128
  export declare function collectTransferablesForValue(value: unknown): Transferable[];
114
129
  /**
115
130
  * Capture the message before batching can observe later mutations. Listed
@@ -1 +1 @@
1
- {"version":3,"file":"worker-protocol.d.ts","sourceRoot":"","sources":["../src/worker-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-protocol.d.ts","sourceRoot":"","sources":["../src/worker-protocol.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
- import type { WorkerApi } from './worker-api';
1
+ import type { WorkerApi } from './worker-api.js';
2
2
  export interface WorkerServerHandle {
3
3
  close(): void;
4
4
  }
5
- export declare function exposeWorkerApi(api: WorkerApi, scope?: DedicatedWorkerGlobalScope): WorkerServerHandle;
5
+ export interface WorkerServerScope {
6
+ postMessage(message: unknown, transfer?: Transferable[]): void;
7
+ addEventListener(type: 'message', listener: (event: MessageEvent<unknown>) => void): void;
8
+ removeEventListener(type: 'message', listener: (event: MessageEvent<unknown>) => void): void;
9
+ readonly location: {
10
+ readonly origin: string;
11
+ };
12
+ }
13
+ export declare function exposeWorkerApi(api: WorkerApi, scope?: WorkerServerScope): WorkerServerHandle;
6
14
  //# sourceMappingURL=worker-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-server.d.ts","sourceRoot":"","sources":["../src/worker-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,cAAc,CAAC;AAkCjE,MAAM,WAAW,kBAAkB;IAC/B,KAAK,IAAI,IAAI,CAAC;CACjB;AA8LD,wBAAgB,eAAe,CAC3B,GAAG,EAAE,SAAS,EACd,KAAK,GAAE,0BAA+D,GACvE,kBAAkB,CAkCpB"}
1
+ {"version":3,"file":"worker-server.d.ts","sourceRoot":"","sources":["../src/worker-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,cAAc,CAAC;AAmCjE,MAAM,WAAW,kBAAkB;IAC/B,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAC9B,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/D,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1F,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAyOD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,GAAE,iBAAwB,GAAG,kBAAkB,CAkCnG"}
package/dist/worker.d.ts CHANGED
@@ -1,2 +1,293 @@
1
- export {};
1
+ export { exposeWorkerApi } from './worker-server.js';
2
+ import { type PackedOptionalValuesV1 } from './worker-protocol.js';
3
+ import type { AutocommitCommand, IndexScanPage, WorkerApi, WorkerOpenRequest, WorkerScanPage, WorkerScanPageRequest } from './worker-api.js';
4
+ import type { BatchOp, ChangeFeed, ChangeFeedOptions, CompactionResult, CreateStoreOptions, DbStats, DebugFailpoint, ExportSnapshotOptions, IndexDef, PutOptions, Range, ScanItem, StorageInfo, TxMode } from './types.js';
5
+ type WasmBatchOutcome = {
6
+ kind: 'put';
7
+ baselineExists: boolean;
8
+ } | {
9
+ kind: 'delete';
10
+ deleted: boolean;
11
+ };
12
+ type IndexedPutOp = {
13
+ store: string;
14
+ kind: 'delete' | 'put';
15
+ key: Uint8Array;
16
+ };
17
+ type WasmEngineHealth = {
18
+ state: 'healthy';
19
+ } | {
20
+ state: 'recoveryRequired';
21
+ reason: string;
22
+ pendingTxid?: number | bigint | null;
23
+ } | {
24
+ state: 'closed';
25
+ };
26
+ type WasmRecoveryReport = {
27
+ lastCommittedTxid: number | bigint;
28
+ pendingTxid?: number | bigint | null;
29
+ pendingCommitted: boolean;
30
+ };
31
+ type WasmChangeFeedPolicy = {
32
+ enabled: boolean;
33
+ retainTxids?: number | bigint | null;
34
+ };
35
+ type WasmEngine = {
36
+ open(name: string, options: unknown): Promise<void>;
37
+ openGeneration(name: string, generationName: string, options: unknown): Promise<void>;
38
+ /** Checkpoints when healthy, then releases the files. */
39
+ close(): void;
40
+ /** Releases the files without writing anything. */
41
+ abandon(): void;
42
+ health(): WasmEngineHealth;
43
+ needs_recovery(): boolean;
44
+ recover(): WasmRecoveryReport;
45
+ checkpoint(): void;
46
+ compact_into(target: WasmEngine): WasmU64;
47
+ compact_into_skipping_stores(target: WasmEngine, skipStores: string[]): WasmU64;
48
+ change_feed_policy(): WasmChangeFeedPolicy;
49
+ set_change_feed_policy(txId: WasmU64, policy: {
50
+ enabled: boolean;
51
+ retainTxids: number | null;
52
+ }): void;
53
+ begin_tx(mode: TxMode): WasmU64;
54
+ commit_tx(txId: WasmU64): WasmU64;
55
+ rollback_tx(txId: WasmU64): void;
56
+ create_store(txId: WasmU64, name: string, options?: unknown): void;
57
+ drop_store(txId: WasmU64, name: string): void;
58
+ clear_store(txId: WasmU64, name: string): void;
59
+ get(txId: WasmU64, store: string, key: Uint8Array): Uint8Array | null;
60
+ get_many(txId: WasmU64, store: string, keys: Array<Uint8Array>): Array<Uint8Array | null>;
61
+ /** Little-endian u32 count | count x u32 length (u32::MAX = missing) | bytes. */
62
+ get_many_packed(txId: WasmU64, store: string, keys: Uint8Array): Uint8Array;
63
+ get_many_value_sizes?(txId: WasmU64, store: string, keys: Uint8Array): Uint32Array;
64
+ get_many_value_states?(txId: WasmU64, store: string, keys: Uint8Array): Uint8Array;
65
+ /** Checks existence without loading the value body; TTL headers may be read. */
66
+ has(txId: WasmU64, store: string, key: Uint8Array): boolean;
67
+ /** Optional for SDK compatibility with older bindings. */
68
+ has_many?(txId: WasmU64, store: string, keys: Array<Uint8Array>): boolean[];
69
+ /** Returns whether a live value existed before the write. */
70
+ put(txId: WasmU64, store: string, key: Uint8Array, value: Uint8Array, options?: unknown): boolean;
71
+ put_many(txId: WasmU64, store: string, entries: Array<[Uint8Array, Uint8Array]>, options?: unknown): boolean[];
72
+ /** One byte per entry: 1 when a live value existed before the write. */
73
+ put_many_packed(txId: WasmU64, store: string, entries: Uint8Array, options?: unknown): Uint8Array;
74
+ put_many_indexed_packed(txId: WasmU64, store: string, entries: Uint8Array, indexOps: IndexedPutOp[][], options?: unknown): Uint8Array;
75
+ put_index_entry_checked?(txId: WasmU64, primaryStore: string, indexStore: string, primaryKey: Uint8Array, indexKey: Uint8Array, revisionEpoch: WasmU64, revisionOrdinal: WasmU64): void;
76
+ delete(txId: WasmU64, store: string, key: Uint8Array): boolean;
77
+ delete_many(txId: WasmU64, store: string, keys: Array<Uint8Array>): boolean[];
78
+ /** One byte per key: 1 when a live value was deleted. */
79
+ delete_many_packed(txId: WasmU64, store: string, keys: Uint8Array): Uint8Array;
80
+ apply_batch(txId: WasmU64, store: string, ops: Array<BatchOp>): WasmBatchOutcome[];
81
+ /** One byte per op: baselineExists for puts, deleted for deletes. */
82
+ apply_batch_packed(txId: WasmU64, store: string, ops: Uint8Array): Uint8Array;
83
+ scan(txId: WasmU64, store: string, range: unknown): unknown;
84
+ open_scan_cursor(txId: WasmU64, store: string, range: unknown, keysOnly: boolean): number;
85
+ scan_cursor_next(cursorId: number, maxRows: number, maxBytes: number): {
86
+ packet: Uint8Array;
87
+ rowCount: number;
88
+ exhausted: boolean;
89
+ };
90
+ close_scan_cursor(cursorId: number): void;
91
+ changes_since(txId: WasmU64, options?: unknown): unknown;
92
+ get_schema_version(): WasmU64;
93
+ export_snapshot(): Uint8Array;
94
+ list_store_configs(): unknown;
95
+ import_snapshot(data: Uint8Array): WasmU64;
96
+ reset(): WasmU64;
97
+ list_stores(): unknown;
98
+ set_schema_version(txId: WasmU64, version: WasmU64): void;
99
+ stats(): unknown;
100
+ set_failpoint(failpoint: string | null): void;
101
+ };
102
+ export type WasmModule = {
103
+ default: (options?: string | URL | Request | BufferSource | WebAssembly.Module | {
104
+ module_or_path?: string | URL | Request | BufferSource | WebAssembly.Module | Promise<Response> | Response;
105
+ }) => Promise<unknown>;
106
+ deleteDB(name: string): Promise<void>;
107
+ prepareRebuildTarget(name: string): Promise<{
108
+ generationName: string;
109
+ }>;
110
+ /**
111
+ * Publishes only if the active generation matches `expectedCurrent`.
112
+ * `null` requires no active generation. The written control file is
113
+ * flushed and verified before resolving.
114
+ */
115
+ swapActiveGeneration(name: string, generationName: string, expectedCurrent: string | null): Promise<void>;
116
+ /** Active generation, or null for legacy storage. Corrupt control state needs legacy files for fallback. */
117
+ readActiveGeneration(name: string): Promise<string | null>;
118
+ cleanupInactiveEntries(name: string): Promise<void>;
119
+ dbDirectorySize(name: string): Promise<number>;
120
+ WasmEngine: new () => WasmEngine;
121
+ };
122
+ type WasmU64 = bigint;
123
+ export interface WorkerPersistenceBridge {
124
+ persisted(): Promise<boolean>;
125
+ persist(): Promise<boolean>;
126
+ close(): void;
127
+ }
128
+ export interface DbWorkerOptions {
129
+ loadWasm?: () => Promise<WasmModule>;
130
+ persistence?: WorkerPersistenceBridge;
131
+ }
132
+ export declare class DbWorker implements WorkerApi {
133
+ private readonly options;
134
+ private dbName;
135
+ private engine;
136
+ private events;
137
+ private lease;
138
+ private wasmReady;
139
+ private persistenceBridge;
140
+ private txChanges;
141
+ private txModes;
142
+ private primaryCursors;
143
+ private nextPrimaryCursorId;
144
+ /**
145
+ * Shared committed schema at begin. Reconciliation replaces the array;
146
+ * it never mutates the shared schema.
147
+ */
148
+ private txIndexSchemas;
149
+ private indexesBySchema;
150
+ private txEnsuredRawStores;
151
+ private txIndexSchemaChanged;
152
+ private txStoreCompression;
153
+ private committedIndexes;
154
+ private committedStoreCompression;
155
+ private openOptions;
156
+ private maintenanceOperation;
157
+ constructor(options?: DbWorkerOptions);
158
+ open(request: WorkerOpenRequest): Promise<void>;
159
+ close(): Promise<void>;
160
+ destroy(): Promise<void>;
161
+ deleteDB(dbName: string): Promise<void>;
162
+ begin(mode: TxMode): Promise<number>;
163
+ commit(txId: number): Promise<number>;
164
+ rollback(txId: number): Promise<void>;
165
+ autocommit(mode: TxMode, command: AutocommitCommand, args: unknown[]): Promise<unknown>;
166
+ createStore(txId: number, name: string, options?: CreateStoreOptions): Promise<void>;
167
+ dropStore(txId: number, name: string): Promise<void>;
168
+ clearStore(txId: number, name: string): Promise<void>;
169
+ get(txId: number, store: string, key: Uint8Array): Promise<Uint8Array | null>;
170
+ getMany(txId: number, store: string, keys: Array<Uint8Array>): Promise<Array<Uint8Array | null>>;
171
+ getManyPacked(txId: number, store: string, packedKeys: Uint8Array): Promise<PackedOptionalValuesV1 | Array<Uint8Array | null>>;
172
+ has(txId: number, store: string, key: Uint8Array): Promise<boolean>;
173
+ put(txId: number, store: string, key: Uint8Array, value: Uint8Array, options?: PutOptions): Promise<void>;
174
+ putMany(txId: number, store: string, entries: Array<[Uint8Array, Uint8Array]>, options?: PutOptions): Promise<void>;
175
+ putManyPacked(txId: number, store: string, packedEntries: Uint8Array, options?: PutOptions): Promise<void>;
176
+ delete(txId: number, store: string, key: Uint8Array): Promise<boolean>;
177
+ deleteMany(txId: number, store: string, keys: Array<Uint8Array>): Promise<void>;
178
+ deleteManyPacked(txId: number, store: string, packedKeys: Uint8Array): Promise<void>;
179
+ applyBatch(txId: number, store: string, ops: Array<BatchOp>): Promise<void>;
180
+ applyBatchPacked(txId: number, store: string, packedOps: Uint8Array): Promise<void>;
181
+ scan(txId: number, store: string, range: Range): Promise<ScanItem[]>;
182
+ scanPage(request: WorkerScanPageRequest): Promise<WorkerScanPage>;
183
+ closeCursor(cursorId: number): Promise<void>;
184
+ getByIndex(txId: number, store: string, indexName: string, key: Uint8Array): Promise<Uint8Array | null>;
185
+ scanByIndex(txId: number, store: string, indexName: string, range?: Range): Promise<ScanItem[]>;
186
+ scanByIndexPage(txId: number, store: string, indexName: string, range: Range, cursor: Uint8Array | null, limit: number, maxBytes?: number): Promise<IndexScanPage>;
187
+ getIndexes(txId?: number): Promise<IndexDef[]>;
188
+ reconcileIndexes(txId: number, indexes: IndexDef[]): Promise<void>;
189
+ listStores(): Promise<string[]>;
190
+ getVersion(): Promise<number>;
191
+ changesSince(txId: number, options?: ChangeFeedOptions): Promise<ChangeFeed>;
192
+ setSchemaVersion(txId: number, version: number): Promise<void>;
193
+ exportSnapshot(options?: ExportSnapshotOptions): Promise<Uint8Array>;
194
+ importSnapshot(data: Uint8Array): Promise<void>;
195
+ reset(): Promise<void>;
196
+ compact(): Promise<CompactionResult>;
197
+ rebuild(): Promise<CompactionResult>;
198
+ stats(): Promise<DbStats>;
199
+ storageInfo(): Promise<StorageInfo>;
200
+ requestPersistence(): Promise<boolean>;
201
+ setFailpoint(failpoint: DebugFailpoint): Promise<void>;
202
+ private requireDbName;
203
+ private ensureNotInMaintenance;
204
+ private currentCachePages;
205
+ private dbDirectorySize;
206
+ private applyCommittedIndexSchema;
207
+ /**
208
+ * Publishes a fresh generation only if the active generation has not changed.
209
+ * A failed swap may have reached storage; read the control file before cleanup.
210
+ * After publication, abandon the old engine to avoid a checkpoint into inactive files.
211
+ */
212
+ private runCompactionOperation;
213
+ /**
214
+ * Returns null when no recovery is needed. A recovery attempt invalidates
215
+ * all open transactions, even if recovery fails.
216
+ */
217
+ private recoverEngineIfNeeded;
218
+ private cleanupTxState;
219
+ private getOrCreateTrackedTxn;
220
+ private getOrCreateTrackedStore;
221
+ private recordStoreLevelChange;
222
+ private recordPutChange;
223
+ private recordPutChanges;
224
+ private recordPutKeyChanges;
225
+ private recordDeleteChange;
226
+ private recordKeyChange;
227
+ private setTrackedKeyChange;
228
+ private markStoreTouched;
229
+ private recordBatchOutcomes;
230
+ private recordBatchKeyOutcomes;
231
+ private finalizeTrackedChanges;
232
+ private rollbackAllTransactions;
233
+ private currentStoreNames;
234
+ private allRawStoreNames;
235
+ private loadCommittedStoreCompression;
236
+ private ensureTxStoreCompression;
237
+ private recordStoreCompressionCreate;
238
+ private recordStoreCompressionDrop;
239
+ private storeCompressionForTx;
240
+ private encodeEntriesForWrite;
241
+ private encodePackedEntriesForWrite;
242
+ private preparePutValue;
243
+ private packPreparedPutEntries;
244
+ private putIndexedMany;
245
+ private encodeBatchOpsForWrite;
246
+ private encodeStoreValueForWrite;
247
+ private decodeStoreValue;
248
+ private decodeStoreValueForFeed;
249
+ private readStoreValue;
250
+ private readStoreScan;
251
+ private decodeStoreValues;
252
+ private indexesForStoreInTx;
253
+ private resolveIndexDefinition;
254
+ private indexSchemaForTx;
255
+ private loadCommittedIndexSchema;
256
+ private readIndexSchemaInTx;
257
+ private rawStoreExistsInTx;
258
+ private ensureRawStore;
259
+ private clearRawStoreIfExists;
260
+ private dropRawStoreIfExists;
261
+ private ensureInternalStoresForDefinitions;
262
+ private ensureInternalStoresForStore;
263
+ private readRawValue;
264
+ private readRawScan;
265
+ private readIndexKeyScan;
266
+ private putRawValue;
267
+ private putIndexEntry;
268
+ private readNativeValueState;
269
+ private packNativeKeys;
270
+ private decodeNativeValueStates;
271
+ private inspectIndexedValue;
272
+ private deleteIndexEntryIfPresent;
273
+ private buildIndexEntryKey;
274
+ private assertUniqueIndexAvailability;
275
+ /**
276
+ * Resumes after a physical index key in the scan direction. Bounded raw
277
+ * chunks prevent stale entries from forcing the whole range into memory.
278
+ * The output limit counts only live rows.
279
+ */
280
+ private loadVisibleIndexPage;
281
+ private readIndexPrimaryValues;
282
+ private resolveVisibleIndexedRow;
283
+ private resolveVisibleIndexedValue;
284
+ private cleanupStaleIndexRow;
285
+ private loadWasm;
286
+ private withEngine;
287
+ private ignoreNamedError;
288
+ private clearTxCaches;
289
+ private clearRuntimeCaches;
290
+ private cleanupAfterFailedOpen;
291
+ private disposePersistenceBridge;
292
+ }
2
293
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moyodb/sdk",
3
- "version": "1.0.1",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -8,12 +8,12 @@
8
8
  "build:wasm": "npm run build:wasm:release",
9
9
  "build:wasm:release": "wasm-pack build ../../crates/engine --release --target web --out-dir ../../packages/sdk/public/engine --out-name moyodb_engine",
10
10
  "build:wasm:dev": "wasm-pack build ../../crates/engine --dev --target web --out-dir ../../packages/sdk/public/engine --out-name moyodb_engine",
11
- "build": "npm run build:wasm:release && vite build && npm run build:types && npm run prepare:dist",
11
+ "build": "npm run build:wasm:release && vite build && npm run build:node && npm run build:types && npm run prepare:dist",
12
12
  "dev": "npm run build:wasm:release && vite --host 127.0.0.1 --port 4173",
13
13
  "dev:test": "npm run build:wasm:release && vite --host 127.0.0.1 --port 4173",
14
- "test:minimum-work": "node scripts/test-minimum-work.mjs && node scripts/test-read-work.mjs && node scripts/test-transport-work.mjs && node scripts/test-startup-work.mjs && node scripts/test-sdk-lifecycle.mjs && node scripts/test-codec-index-work.mjs",
14
+ "test:minimum-work": "node scripts/test-minimum-work.mjs && node scripts/test-read-work.mjs && node scripts/test-transport-work.mjs && node scripts/test-startup-work.mjs && node scripts/test-sdk-lifecycle.mjs && node scripts/test-codec-index-work.mjs && node scripts/test-write-pipeline.mjs && node scripts/test-benchmark-datasets.mjs && node scripts/test-worker-portability.mjs && node scripts/test-record-work.mjs && node --test --test-isolation=none tests/snappy.test.mjs tests/shared-cursors.test.mjs tests/sql-parser.test.mjs tests/sql-limit.test.mjs tests/worker-timer-delay.test.mjs",
15
15
  "bench:minimum-work": "node scripts/bench-minimum-work.mjs",
16
- "test:e2e": "npm run test:minimum-work && npm run build:wasm:release && playwright test",
16
+ "test:e2e": "npm run test:minimum-work && npm run build && npm run test:node && playwright test",
17
17
  "build:types": "tsc -p tsconfig.build.json",
18
18
  "bench:browser": "node scripts/run-playwright-env.mjs bench:browser",
19
19
  "bench:indexeddb": "node scripts/run-playwright-env.mjs bench:indexeddb",
@@ -21,15 +21,18 @@
21
21
  "bench:report": "node bench/generate-report.mjs",
22
22
  "test:soak": "node scripts/run-playwright-env.mjs test:soak",
23
23
  "test:browser:soak": "npm run test:soak",
24
- "prepare:dist": "node scripts/prepare-dist.mjs"
24
+ "prepare:dist": "node scripts/prepare-dist.mjs",
25
+ "build:node": "vite build --config vite.node.config.ts",
26
+ "test:node": "node --test --test-isolation=none scripts/test-node-storage.mjs && node scripts/test-node-runtime.mjs && node scripts/test-sql-executor.mjs && node scripts/test-package-types.mjs"
25
27
  },
26
28
  "devDependencies": {
27
29
  "@playwright/test": "1.63.0",
30
+ "@types/node": "26.6.2",
28
31
  "@typescript/native": "npm:typescript@7.0.2",
29
32
  "typescript": "npm:@typescript/typescript6@6.0.2",
30
33
  "vite": "8.3.0"
31
34
  },
32
- "description": "Experimental Rust/WASM transactional key-value storage engine SDK for browser apps, backed by OPFS.",
35
+ "description": "Rust/WASM transactional database SDK for browsers and Node.js with typed records and SQL.",
33
36
  "license": "SEE LICENSE IN LICENSE",
34
37
  "author": "Eluvane <keiko1337@proton.me>",
35
38
  "repository": {
@@ -62,6 +65,10 @@
62
65
  ".": {
63
66
  "types": "./dist/index.d.ts",
64
67
  "import": "./dist/moyodb-sdk.js"
68
+ },
69
+ "./node": {
70
+ "types": "./dist/node.d.ts",
71
+ "import": "./dist/node.js"
65
72
  }
66
73
  },
67
74
  "types": "./dist/index.d.ts",