@moyodb/sdk 0.0.0-alpha.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.
Files changed (47) hide show
  1. package/README.md +51 -0
  2. package/dist/assets/worker-CaOzbBz1.js +2351 -0
  3. package/dist/assets/worker-CaOzbBz1.js.map +1 -0
  4. package/dist/change-events.d.ts +29 -0
  5. package/dist/change-events.d.ts.map +1 -0
  6. package/dist/codec.d.ts +17 -0
  7. package/dist/codec.d.ts.map +1 -0
  8. package/dist/compression.d.ts +11 -0
  9. package/dist/compression.d.ts.map +1 -0
  10. package/dist/demo.d.ts +21 -0
  11. package/dist/demo.d.ts.map +1 -0
  12. package/dist/engine/README.md +56 -0
  13. package/dist/engine/moyodb_engine.d.ts +127 -0
  14. package/dist/engine/moyodb_engine.js +1193 -0
  15. package/dist/engine/moyodb_engine_bg.wasm +0 -0
  16. package/dist/engine/moyodb_engine_bg.wasm.d.ts +52 -0
  17. package/dist/engine/package.json +21 -0
  18. package/dist/engine/snippets/moyodb-engine-cff0a0e2441a7a8f/js/opfs_shim.js +402 -0
  19. package/dist/errors.d.ts +77 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/index.d.ts +9 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/indexing.d.ts +33 -0
  24. package/dist/indexing.d.ts.map +1 -0
  25. package/dist/internal.d.ts +4 -0
  26. package/dist/internal.d.ts.map +1 -0
  27. package/dist/moyodb-sdk.js +1988 -0
  28. package/dist/moyodb-sdk.js.map +1 -0
  29. package/dist/moyodb-sdk.umd.cjs +2 -0
  30. package/dist/moyodb-sdk.umd.cjs.map +1 -0
  31. package/dist/registry.d.ts +33 -0
  32. package/dist/registry.d.ts.map +1 -0
  33. package/dist/subscriptions.d.ts +10 -0
  34. package/dist/subscriptions.d.ts.map +1 -0
  35. package/dist/types.d.ts +158 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/worker-api.d.ts +51 -0
  38. package/dist/worker-api.d.ts.map +1 -0
  39. package/dist/worker-client.d.ts +67 -0
  40. package/dist/worker-client.d.ts.map +1 -0
  41. package/dist/worker-protocol.d.ts +86 -0
  42. package/dist/worker-protocol.d.ts.map +1 -0
  43. package/dist/worker-server.d.ts +6 -0
  44. package/dist/worker-server.d.ts.map +1 -0
  45. package/dist/worker.d.ts +2 -0
  46. package/dist/worker.d.ts.map +1 -0
  47. package/package.json +71 -0
package/README.md ADDED
@@ -0,0 +1,51 @@
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
11
+ ```
12
+
13
+ This repository snapshot is prepared for `v0.0.0-alpha.1` package-readiness checks; publishing is not performed automatically.
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.