@moyodb/sdk 1.0.0 → 1.1.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 (76) hide show
  1. package/dist/LICENSE +202 -0
  2. package/dist/assets/browser-worker-DP6Mjz7c.js +4 -0
  3. package/dist/assets/browser-worker-DP6Mjz7c.js.map +1 -0
  4. package/dist/assets/shared-worker-DKzhauVf.js +2 -0
  5. package/dist/assets/shared-worker-DKzhauVf.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-BzmFhWXs.js +1576 -0
  10. package/dist/chunks/indexing-BzmFhWXs.js.map +1 -0
  11. package/dist/codec.d.ts +1 -1
  12. package/dist/codec.d.ts.map +1 -1
  13. package/dist/compression.d.ts +1 -1
  14. package/dist/compression.d.ts.map +1 -1
  15. package/dist/demo.d.ts +2 -1
  16. package/dist/demo.d.ts.map +1 -1
  17. package/dist/engine/README.md +63 -16
  18. package/dist/engine/moyodb_engine.d.ts +29 -19
  19. package/dist/engine/moyodb_engine.js +78 -28
  20. package/dist/engine/moyodb_engine_bg.wasm +0 -0
  21. package/dist/engine/moyodb_engine_bg.wasm.d.ts +4 -2
  22. package/dist/engine/package.json +1 -1
  23. package/dist/engine/snippets/moyodb-engine-8ebe6af0cc2e81b7/js/opfs_shim.js +151 -62
  24. package/dist/errors.d.ts +6 -3
  25. package/dist/errors.d.ts.map +1 -1
  26. package/dist/index.d.ts +11 -5
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/indexing.d.ts +9 -1
  29. package/dist/indexing.d.ts.map +1 -1
  30. package/dist/moyodb-sdk.js +2253 -589
  31. package/dist/moyodb-sdk.js.map +1 -1
  32. package/dist/node-engine.js +2213 -0
  33. package/dist/node-engine.js.map +1 -0
  34. package/dist/node-storage.d.mts +12 -0
  35. package/dist/node-storage.mjs +634 -0
  36. package/dist/node-worker-client.d.ts +19 -0
  37. package/dist/node-worker-client.d.ts.map +1 -0
  38. package/dist/node-worker.mjs +118 -0
  39. package/dist/node.d.ts +19 -0
  40. package/dist/node.d.ts.map +1 -0
  41. package/dist/node.js +3194 -0
  42. package/dist/node.js.map +1 -0
  43. package/dist/records.d.ts +75 -0
  44. package/dist/records.d.ts.map +1 -0
  45. package/dist/registry.d.ts +13 -4
  46. package/dist/registry.d.ts.map +1 -1
  47. package/dist/shared-worker-client.d.ts +24 -0
  48. package/dist/shared-worker-client.d.ts.map +1 -0
  49. package/dist/shared-worker-protocol.d.ts +16 -0
  50. package/dist/shared-worker-protocol.d.ts.map +1 -0
  51. package/dist/shared-worker.d.ts +33 -0
  52. package/dist/shared-worker.d.ts.map +1 -0
  53. package/dist/sql-parser.d.ts +9 -0
  54. package/dist/sql-parser.d.ts.map +1 -0
  55. package/dist/sql-types.d.ts +82 -0
  56. package/dist/sql-types.d.ts.map +1 -0
  57. package/dist/sql.d.ts +32 -0
  58. package/dist/sql.d.ts.map +1 -0
  59. package/dist/subscriptions.d.ts +2 -2
  60. package/dist/subscriptions.d.ts.map +1 -1
  61. package/dist/types.d.ts +9 -6
  62. package/dist/types.d.ts.map +1 -1
  63. package/dist/worker-api.d.ts +5 -6
  64. package/dist/worker-api.d.ts.map +1 -1
  65. package/dist/worker-client.d.ts +32 -5
  66. package/dist/worker-client.d.ts.map +1 -1
  67. package/dist/worker-protocol.d.ts +36 -3
  68. package/dist/worker-protocol.d.ts.map +1 -1
  69. package/dist/worker-server.d.ts +10 -2
  70. package/dist/worker-server.d.ts.map +1 -1
  71. package/dist/worker.d.ts +263 -1
  72. package/dist/worker.d.ts.map +1 -1
  73. package/package.json +14 -5
  74. package/README.md +0 -59
  75. package/dist/assets/worker-R2dy1Ju5.js +0 -4
  76. package/dist/assets/worker-R2dy1Ju5.js.map +0 -1
@@ -1,9 +1,13 @@
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";
6
6
  export declare const WORKER_PROTOCOL_RESPONSE = "moyodb:worker-protocol:response";
7
+ export declare const WORKER_PROTOCOL_REQUEST_BATCH = "moyodb:worker-protocol:request-batch";
8
+ export declare const WORKER_PROTOCOL_RESPONSE_BATCH = "moyodb:worker-protocol:response-batch";
9
+ export declare const MAX_WORKER_BATCH_MESSAGES = 128;
10
+ export declare const MAX_WORKER_BATCH_BYTES: number;
7
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'];
8
12
  export type WorkerCommand = (typeof WORKER_COMMANDS)[number];
9
13
  type WorkerMethod<M extends WorkerCommand> = WorkerApi[M] extends (...args: infer Args) => Promise<infer Result> ? {
@@ -29,6 +33,8 @@ export interface PackedOptionalValuesV1 {
29
33
  export type WorkerProtocolReadyMessage = {
30
34
  type: typeof WORKER_PROTOCOL_READY;
31
35
  version: typeof WORKER_PROTOCOL_VERSION;
36
+ /** Enables batching; omitted by peers that use single messages. */
37
+ batching?: 1;
32
38
  };
33
39
  export type WorkerProtocolRequestMessage = {
34
40
  [M in WorkerCommand]: {
@@ -39,6 +45,11 @@ export type WorkerProtocolRequestMessage = {
39
45
  args: PreparedWorkerCommandArgs<M>;
40
46
  };
41
47
  }[WorkerCommand];
48
+ export interface WorkerProtocolRequestBatchMessage {
49
+ type: typeof WORKER_PROTOCOL_REQUEST_BATCH;
50
+ version: typeof WORKER_PROTOCOL_VERSION;
51
+ requests: WorkerProtocolRequestMessage[];
52
+ }
42
53
  export interface SerializedWorkerError {
43
54
  name: string;
44
55
  code?: string;
@@ -62,16 +73,28 @@ export interface WorkerProtocolErrorMessage {
62
73
  error: SerializedWorkerError;
63
74
  }
64
75
  export type WorkerProtocolResponseMessage = WorkerProtocolSuccessMessage | WorkerProtocolErrorMessage;
76
+ export interface WorkerProtocolResponseBatchMessage {
77
+ type: typeof WORKER_PROTOCOL_RESPONSE_BATCH;
78
+ version: typeof WORKER_PROTOCOL_VERSION;
79
+ responses: WorkerProtocolResponseMessage[];
80
+ }
65
81
  export declare function isWorkerCommand(value: unknown): value is WorkerCommand;
66
82
  export declare function isWorkerProtocolReadyMessage(value: unknown): value is WorkerProtocolReadyMessage;
83
+ export declare function isWorkerProtocolReadyEnvelope(value: unknown): value is {
84
+ type: typeof WORKER_PROTOCOL_READY;
85
+ version?: unknown;
86
+ batching?: unknown;
87
+ };
67
88
  export declare function isWorkerProtocolResponseMessage(value: unknown): value is WorkerProtocolResponseMessage;
68
89
  export declare function isWorkerProtocolRequestMessage(value: unknown): value is WorkerProtocolRequestMessage;
90
+ export declare function isWorkerProtocolRequestBatchMessage(value: unknown): value is WorkerProtocolRequestBatchMessage;
91
+ export declare function isWorkerProtocolResponseBatchMessage(value: unknown): value is WorkerProtocolResponseBatchMessage;
69
92
  export declare function isWorkerProtocolEnvelope(value: unknown): value is {
70
93
  type: string;
71
94
  id?: unknown;
72
95
  };
73
96
  export declare function serializeWorkerError(error: unknown): SerializedWorkerError;
74
- export declare function deserializeWorkerError(error: SerializedWorkerError): Error;
97
+ export declare function deserializeWorkerError(error: unknown): Error;
75
98
  export declare function workerProtocolError(name: string, message: string, code?: string): Error;
76
99
  export declare function prepareWorkerCommandPayload<M extends WorkerCommand>(command: M, args: WorkerCommandArgs<M>): {
77
100
  args: PreparedWorkerCommandArgs<M>;
@@ -93,5 +116,15 @@ export declare function prepareWorkerResponsePayload<M extends WorkerCommand>(co
93
116
  };
94
117
  export declare function decodeWorkerResponsePayload<M extends WorkerCommand>(command: M, result: unknown): WorkerCommandResult<M>;
95
118
  export declare function collectTransferablesForValue(value: unknown): Transferable[];
119
+ /**
120
+ * Capture the message before batching can observe later mutations. Listed
121
+ * transferables move into the snapshot; other ArrayBuffers are cloned.
122
+ * SharedArrayBuffers remain shared. byteLength is a batch-size estimate.
123
+ */
124
+ export declare function captureWorkerPayload<T>(value: T, transfer: Transferable[]): {
125
+ value: T;
126
+ transfer: Transferable[];
127
+ byteLength: number;
128
+ };
96
129
  export {};
97
130
  //# sourceMappingURL=worker-protocol.d.ts.map
@@ -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;AA4BjE,MAAM,WAAW,kBAAkB;IAC/B,KAAK,IAAI,IAAI,CAAC;CACjB;AAwHD,wBAAgB,eAAe,CAC3B,GAAG,EAAE,SAAS,EACd,KAAK,GAAE,0BAA+D,GACvE,kBAAkB,CAepB"}
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;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;AA+LD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,GAAE,iBAAwB,GAAG,kBAAkB,CAkCnG"}
package/dist/worker.d.ts CHANGED
@@ -1,2 +1,264 @@
1
- export {};
1
+ export { exposeWorkerApi } from './worker-server.js';
2
+ import { type PackedOptionalValuesV1 } from './worker-protocol.js';
3
+ import type { AutocommitCommand, IndexScanPage, WorkerApi, WorkerOpenRequest } 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 WasmEngineHealth = {
13
+ state: 'healthy';
14
+ } | {
15
+ state: 'recoveryRequired';
16
+ reason: string;
17
+ pendingTxid?: number | bigint | null;
18
+ } | {
19
+ state: 'closed';
20
+ };
21
+ type WasmRecoveryReport = {
22
+ lastCommittedTxid: number | bigint;
23
+ pendingTxid?: number | bigint | null;
24
+ pendingCommitted: boolean;
25
+ };
26
+ type WasmChangeFeedPolicy = {
27
+ enabled: boolean;
28
+ retainTxids?: number | bigint | null;
29
+ };
30
+ type WasmEngine = {
31
+ open(name: string, options: unknown): Promise<void>;
32
+ openGeneration(name: string, generationName: string, options: unknown): Promise<void>;
33
+ /** Checkpoints when healthy, then releases the files. */
34
+ close(): void;
35
+ /** Releases the files without writing anything. */
36
+ abandon(): void;
37
+ health(): WasmEngineHealth;
38
+ needs_recovery(): boolean;
39
+ recover(): WasmRecoveryReport;
40
+ checkpoint(): void;
41
+ compact_into(target: WasmEngine): WasmU64;
42
+ compact_into_skipping_stores(target: WasmEngine, skipStores: string[]): WasmU64;
43
+ change_feed_policy(): WasmChangeFeedPolicy;
44
+ set_change_feed_policy(txId: WasmU64, policy: {
45
+ enabled: boolean;
46
+ retainTxids: number | null;
47
+ }): void;
48
+ begin_tx(mode: TxMode): WasmU64;
49
+ commit_tx(txId: WasmU64): WasmU64;
50
+ rollback_tx(txId: WasmU64): void;
51
+ create_store(txId: WasmU64, name: string, options?: unknown): void;
52
+ drop_store(txId: WasmU64, name: string): void;
53
+ clear_store(txId: WasmU64, name: string): void;
54
+ get(txId: WasmU64, store: string, key: Uint8Array): Uint8Array | null;
55
+ get_many(txId: WasmU64, store: string, keys: Array<Uint8Array>): Array<Uint8Array | null>;
56
+ /** Little-endian u32 count | count x u32 length (u32::MAX = missing) | bytes. */
57
+ get_many_packed(txId: WasmU64, store: string, keys: Uint8Array): Uint8Array;
58
+ /** Checks existence without loading the value body; TTL headers may be read. */
59
+ has(txId: WasmU64, store: string, key: Uint8Array): boolean;
60
+ /** Optional for SDK compatibility with older bindings. */
61
+ has_many?(txId: WasmU64, store: string, keys: Array<Uint8Array>): boolean[];
62
+ /** Returns whether a live value existed before the write. */
63
+ put(txId: WasmU64, store: string, key: Uint8Array, value: Uint8Array, options?: unknown): boolean;
64
+ put_many(txId: WasmU64, store: string, entries: Array<[Uint8Array, Uint8Array]>, options?: unknown): boolean[];
65
+ /** One byte per entry: 1 when a live value existed before the write. */
66
+ put_many_packed(txId: WasmU64, store: string, entries: Uint8Array, options?: unknown): Uint8Array;
67
+ delete(txId: WasmU64, store: string, key: Uint8Array): boolean;
68
+ delete_many(txId: WasmU64, store: string, keys: Array<Uint8Array>): boolean[];
69
+ /** One byte per key: 1 when a live value was deleted. */
70
+ delete_many_packed(txId: WasmU64, store: string, keys: Uint8Array): Uint8Array;
71
+ apply_batch(txId: WasmU64, store: string, ops: Array<BatchOp>): WasmBatchOutcome[];
72
+ /** One byte per op: baselineExists for puts, deleted for deletes. */
73
+ apply_batch_packed(txId: WasmU64, store: string, ops: Uint8Array): Uint8Array;
74
+ scan(txId: WasmU64, store: string, range: unknown): unknown;
75
+ changes_since(txId: WasmU64, options?: unknown): unknown;
76
+ get_schema_version(): WasmU64;
77
+ export_snapshot(): Uint8Array;
78
+ list_store_configs(): unknown;
79
+ import_snapshot(data: Uint8Array): WasmU64;
80
+ reset(): WasmU64;
81
+ list_stores(): unknown;
82
+ set_schema_version(txId: WasmU64, version: WasmU64): void;
83
+ stats(): unknown;
84
+ set_failpoint(failpoint: string | null): void;
85
+ };
86
+ export type WasmModule = {
87
+ default: (options?: string | URL | Request | BufferSource | WebAssembly.Module | {
88
+ module_or_path?: string | URL | Request | BufferSource | WebAssembly.Module | Promise<Response> | Response;
89
+ }) => Promise<unknown>;
90
+ deleteDB(name: string): Promise<void>;
91
+ prepareRebuildTarget(name: string): Promise<{
92
+ generationName: string;
93
+ }>;
94
+ /**
95
+ * Publishes only if the active generation matches `expectedCurrent`.
96
+ * `null` requires no active generation. The written control file is
97
+ * flushed and verified before resolving.
98
+ */
99
+ swapActiveGeneration(name: string, generationName: string, expectedCurrent: string | null): Promise<void>;
100
+ /** Active generation, or null for legacy storage. Corrupt control state needs legacy files for fallback. */
101
+ readActiveGeneration(name: string): Promise<string | null>;
102
+ cleanupInactiveEntries(name: string): Promise<void>;
103
+ dbDirectorySize(name: string): Promise<number>;
104
+ WasmEngine: new () => WasmEngine;
105
+ };
106
+ type WasmU64 = bigint;
107
+ export interface WorkerPersistenceBridge {
108
+ persisted(): Promise<boolean>;
109
+ persist(): Promise<boolean>;
110
+ close(): void;
111
+ }
112
+ export interface DbWorkerOptions {
113
+ loadWasm?: () => Promise<WasmModule>;
114
+ persistence?: WorkerPersistenceBridge;
115
+ }
116
+ export declare class DbWorker implements WorkerApi {
117
+ private readonly options;
118
+ private dbName;
119
+ private engine;
120
+ private events;
121
+ private lease;
122
+ private wasmReady;
123
+ private persistenceBridge;
124
+ private txChanges;
125
+ private txModes;
126
+ /**
127
+ * Shared committed schema at begin. Reconciliation replaces the array;
128
+ * it never mutates the shared schema.
129
+ */
130
+ private txIndexSchemas;
131
+ private indexesBySchema;
132
+ private txEnsuredRawStores;
133
+ private txIndexSchemaChanged;
134
+ private txStoreCompression;
135
+ private committedIndexes;
136
+ private committedStoreCompression;
137
+ private openOptions;
138
+ private maintenanceOperation;
139
+ constructor(options?: DbWorkerOptions);
140
+ open(request: WorkerOpenRequest): Promise<void>;
141
+ close(): Promise<void>;
142
+ destroy(): Promise<void>;
143
+ deleteDB(dbName: string): Promise<void>;
144
+ begin(mode: TxMode): Promise<number>;
145
+ commit(txId: number): Promise<number>;
146
+ rollback(txId: number): Promise<void>;
147
+ autocommit(mode: TxMode, command: AutocommitCommand, args: unknown[]): Promise<unknown>;
148
+ createStore(txId: number, name: string, options?: CreateStoreOptions): Promise<void>;
149
+ dropStore(txId: number, name: string): Promise<void>;
150
+ clearStore(txId: number, name: string): Promise<void>;
151
+ get(txId: number, store: string, key: Uint8Array): Promise<Uint8Array | null>;
152
+ getMany(txId: number, store: string, keys: Array<Uint8Array>): Promise<Array<Uint8Array | null>>;
153
+ getManyPacked(txId: number, store: string, packedKeys: Uint8Array): Promise<PackedOptionalValuesV1 | Array<Uint8Array | null>>;
154
+ has(txId: number, store: string, key: Uint8Array): Promise<boolean>;
155
+ put(txId: number, store: string, key: Uint8Array, value: Uint8Array, options?: PutOptions): Promise<void>;
156
+ putMany(txId: number, store: string, entries: Array<[Uint8Array, Uint8Array]>, options?: PutOptions): Promise<void>;
157
+ putManyPacked(txId: number, store: string, packedEntries: Uint8Array, options?: PutOptions): Promise<void>;
158
+ delete(txId: number, store: string, key: Uint8Array): Promise<boolean>;
159
+ deleteMany(txId: number, store: string, keys: Array<Uint8Array>): Promise<void>;
160
+ deleteManyPacked(txId: number, store: string, packedKeys: Uint8Array): Promise<void>;
161
+ applyBatch(txId: number, store: string, ops: Array<BatchOp>): Promise<void>;
162
+ applyBatchPacked(txId: number, store: string, packedOps: Uint8Array): Promise<void>;
163
+ scan(txId: number, store: string, range: Range): Promise<ScanItem[]>;
164
+ getByIndex(txId: number, store: string, indexName: string, key: Uint8Array): Promise<Uint8Array | null>;
165
+ scanByIndex(txId: number, store: string, indexName: string, range?: Range): Promise<ScanItem[]>;
166
+ scanByIndexPage(txId: number, store: string, indexName: string, range: Range, cursor: Uint8Array | null, limit: number): Promise<IndexScanPage>;
167
+ getIndexes(txId?: number): Promise<IndexDef[]>;
168
+ reconcileIndexes(txId: number, indexes: IndexDef[]): Promise<void>;
169
+ listStores(): Promise<string[]>;
170
+ getVersion(): Promise<number>;
171
+ changesSince(txId: number, options?: ChangeFeedOptions): Promise<ChangeFeed>;
172
+ setSchemaVersion(txId: number, version: number): Promise<void>;
173
+ exportSnapshot(options?: ExportSnapshotOptions): Promise<Uint8Array>;
174
+ importSnapshot(data: Uint8Array): Promise<void>;
175
+ reset(): Promise<void>;
176
+ compact(): Promise<CompactionResult>;
177
+ rebuild(): Promise<CompactionResult>;
178
+ stats(): Promise<DbStats>;
179
+ storageInfo(): Promise<StorageInfo>;
180
+ requestPersistence(): Promise<boolean>;
181
+ setFailpoint(failpoint: DebugFailpoint): Promise<void>;
182
+ private requireDbName;
183
+ private ensureNotInMaintenance;
184
+ private currentCachePages;
185
+ private dbDirectorySize;
186
+ private applyCommittedIndexSchema;
187
+ /**
188
+ * Publishes a fresh generation only if the active generation has not changed.
189
+ * A failed swap may have reached storage; read the control file before cleanup.
190
+ * After publication, abandon the old engine to avoid a checkpoint into inactive files.
191
+ */
192
+ private runCompactionOperation;
193
+ /**
194
+ * Returns null when no recovery is needed. A recovery attempt invalidates
195
+ * all open transactions, even if recovery fails.
196
+ */
197
+ private recoverEngineIfNeeded;
198
+ private cleanupTxState;
199
+ private getOrCreateTrackedTxn;
200
+ private getOrCreateTrackedStore;
201
+ private recordStoreLevelChange;
202
+ private recordPutChange;
203
+ private recordPutChanges;
204
+ private recordPutKeyChanges;
205
+ private recordDeleteChange;
206
+ private recordKeyChange;
207
+ private setTrackedKeyChange;
208
+ private markStoreTouched;
209
+ private recordBatchOutcomes;
210
+ private recordBatchKeyOutcomes;
211
+ private finalizeTrackedChanges;
212
+ private rollbackAllTransactions;
213
+ private currentStoreNames;
214
+ private allRawStoreNames;
215
+ private loadCommittedStoreCompression;
216
+ private ensureTxStoreCompression;
217
+ private recordStoreCompressionCreate;
218
+ private recordStoreCompressionDrop;
219
+ private storeCompressionForTx;
220
+ private encodeEntriesForWrite;
221
+ private encodeBatchOpsForWrite;
222
+ private encodeStoreValueForWrite;
223
+ private decodeStoreValue;
224
+ private decodeStoreValueForFeed;
225
+ private readStoreValue;
226
+ private readStoreScan;
227
+ private decodeStoreValues;
228
+ private indexesForStoreInTx;
229
+ private resolveIndexDefinition;
230
+ private indexSchemaForTx;
231
+ private loadCommittedIndexSchema;
232
+ private readIndexSchemaInTx;
233
+ private rawStoreExistsInTx;
234
+ private ensureRawStore;
235
+ private clearRawStoreIfExists;
236
+ private dropRawStoreIfExists;
237
+ private ensureInternalStoresForDefinitions;
238
+ private ensureInternalStoresForStore;
239
+ private readRawValue;
240
+ private readRawScan;
241
+ private putRawValue;
242
+ private putIndexEntry;
243
+ private deleteIndexEntryIfPresent;
244
+ private buildIndexEntryKey;
245
+ private assertUniqueIndexAvailability;
246
+ /**
247
+ * Resumes after a physical index key in the scan direction. Bounded raw
248
+ * chunks prevent stale entries from forcing the whole range into memory.
249
+ * The output limit counts only live rows.
250
+ */
251
+ private loadVisibleIndexPage;
252
+ private readIndexPrimaryValues;
253
+ private resolveVisibleIndexedRow;
254
+ private resolveVisibleIndexedValue;
255
+ private cleanupStaleIndexRow;
256
+ private loadWasm;
257
+ private withEngine;
258
+ private ignoreNamedError;
259
+ private clearTxCaches;
260
+ private clearRuntimeCaches;
261
+ private cleanupAfterFailedOpen;
262
+ private disposePersistenceBridge;
263
+ }
2
264
  //# 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.0",
3
+ "version": "1.1.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -8,10 +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:e2e": "npm run build:wasm:release && playwright test",
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-worker-portability.mjs && node scripts/test-record-work.mjs && node --test --test-isolation=none tests/sql-parser.test.mjs",
15
+ "bench:minimum-work": "node scripts/bench-minimum-work.mjs",
16
+ "test:e2e": "npm run test:minimum-work && npm run build && npm run test:node && playwright test",
15
17
  "build:types": "tsc -p tsconfig.build.json",
16
18
  "bench:browser": "node scripts/run-playwright-env.mjs bench:browser",
17
19
  "bench:indexeddb": "node scripts/run-playwright-env.mjs bench:indexeddb",
@@ -19,15 +21,18 @@
19
21
  "bench:report": "node bench/generate-report.mjs",
20
22
  "test:soak": "node scripts/run-playwright-env.mjs test:soak",
21
23
  "test:browser:soak": "npm run test:soak",
22
- "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"
23
27
  },
24
28
  "devDependencies": {
25
29
  "@playwright/test": "1.63.0",
30
+ "@types/node": "26.6.2",
26
31
  "@typescript/native": "npm:typescript@7.0.2",
27
32
  "typescript": "npm:@typescript/typescript6@6.0.2",
28
33
  "vite": "8.3.0"
29
34
  },
30
- "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.",
31
36
  "license": "SEE LICENSE IN LICENSE",
32
37
  "author": "Eluvane <keiko1337@proton.me>",
33
38
  "repository": {
@@ -60,6 +65,10 @@
60
65
  ".": {
61
66
  "types": "./dist/index.d.ts",
62
67
  "import": "./dist/moyodb-sdk.js"
68
+ },
69
+ "./node": {
70
+ "import": "./dist/node.js",
71
+ "types": "./dist/node.d.ts"
63
72
  }
64
73
  },
65
74
  "types": "./dist/index.d.ts",
package/README.md DELETED
@@ -1,59 +0,0 @@
1
- # @moyodb/sdk
2
-
3
- TypeScript SDK for **MoyoDB**, an experimental Rust/WASM transactional key-value storage engine for browser apps.
4
-
5
- The package name is lowercase/scoped for npm compatibility. The public brand is **MoyoDB**.
6
-
7
- ## Install
8
-
9
- ```bash
10
- npm install @moyodb/sdk@1.0.0
11
- ```
12
-
13
- Current release: `@moyodb/sdk@1.0.0`.
14
-
15
- ## Usage
16
-
17
- ```ts
18
- import { openDB, utf8Encode, utf8Decode } from '@moyodb/sdk';
19
-
20
- const db = await openDB('app', { requestPersistence: false });
21
- await db.createStore('kv');
22
- await db.put('kv', utf8Encode('hello'), utf8Encode('world'));
23
-
24
- const value = await db.get('kv', utf8Encode('hello'));
25
- console.log(value ? utf8Decode(value) : null);
26
- await db.close();
27
- ```
28
-
29
- ## Runtime requirements
30
-
31
- The SDK expects a secure browser context with OPFS, Web Workers, BroadcastChannel, Web Locks, and Worker-side `FileSystemSyncAccessHandle` support. Unsupported browsers should receive a clear `UnsupportedPlatformError`.
32
-
33
- ## Local build
34
-
35
- ```bash
36
- npm ci
37
- npm run build:wasm
38
- npm run typecheck
39
- npm run build
40
- ```
41
-
42
- ## Benchmarks
43
-
44
- ```bash
45
- npm run bench:browser
46
- npm run bench:indexeddb
47
- npm run bench:opfs
48
- npm run bench:report
49
- ```
50
-
51
- Native Rust microbenchmarks measure the engine core only. Browser benchmarks measure the SDK/WASM/Worker/OPFS path. IndexedDB comparison rows depend on browser, device, batch size, transaction boundaries, and workload.
52
-
53
- ## License
54
-
55
- Copyright © 2026 Eluvane. Licensor: Eluvane. Licensing contact: [keiko1337@proton.me](mailto:keiko1337@proton.me). Official repository: [eluvane/MoyoDB](https://github.com/eluvane/MoyoDB).
56
-
57
- MoyoDB **1.0.0** is the first release covered by the Mother of Licenses 1.0 (`LicenseRef-MoL-1.0`); see the `LICENSE` file shipped with this package. Earlier published releases retain their original licenses. Third-party dependencies and separately licensed material retain their own licenses and notices.
58
-
59
- Using unmodified SDK code or Authorized Builds inside your own applications, including commercial ones, is royalty-free. Private modifications and production patches are permitted for your own internal use, provided the modified code is not distributed, published, made available to third parties, or used to create a standalone or competing product or provide Project-as-a-Service. The upstream contribution workflow in Section 6 remains permitted; other publication or distribution of modified versions requires written permission. The full license governs redistribution, independent forks, resale, and hosted services.