@diaryx/wasm 0.13.0-dev.c0e2eed → 0.14.0-dev.62fc475

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/diaryx_wasm.d.ts CHANGED
@@ -177,10 +177,10 @@ export class DiaryxBackend {
177
177
  * ```javascript
178
178
  * import { initializeSqliteStorage } from './lib/storage/sqliteStorageBridge.js';
179
179
  * await initializeSqliteStorage();
180
- * const backend = await DiaryxBackend.createOpfs();
180
+ * const backend = await DiaryxBackend.createOpfs('My Journal');
181
181
  * ```
182
182
  */
183
- static createOpfs(): Promise<DiaryxBackend>;
183
+ static createOpfs(root_name?: string | null): Promise<DiaryxBackend>;
184
184
  /**
185
185
  * Create a new sync client for the given server and workspace.
186
186
  *
@@ -278,6 +278,10 @@ export class DiaryxBackend {
278
278
  * provides a unified approach that works across all platforms.
279
279
  */
280
280
  hasNativeSync(): boolean;
281
+ /**
282
+ * Check whether CrdtFs is currently enabled.
283
+ */
284
+ isCrdtEnabled(): boolean;
281
285
  /**
282
286
  * Unsubscribe from filesystem events.
283
287
  *
@@ -325,6 +329,14 @@ export class DiaryxBackend {
325
329
  * Config keys are stored as `diaryx_*` properties.
326
330
  */
327
331
  saveConfig(config_js: any): Promise<any>;
332
+ /**
333
+ * Enable or disable the CrdtFs decorator.
334
+ *
335
+ * When disabled, file writes pass through to storage without updating CRDTs.
336
+ * CrdtFs starts disabled by default and should be enabled after sync
337
+ * handshake completes (or immediately in local-only mode).
338
+ */
339
+ setCrdtEnabled(enabled: boolean): void;
328
340
  /**
329
341
  * Write binary file.
330
342
  *
@@ -416,7 +428,7 @@ export class OpfsFileSystem {
416
428
  /**
417
429
  * Create a new OpfsFileSystem with the default app directory.
418
430
  *
419
- * This creates a "diaryx" directory in the origin-private file system.
431
+ * This creates a "My Journal" directory in the origin-private file system.
420
432
  */
421
433
  static create(): Promise<OpfsFileSystem>;
422
434
  /**
@@ -549,24 +561,7 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
549
561
 
550
562
  export interface InitOutput {
551
563
  readonly memory: WebAssembly.Memory;
552
- readonly __wbg_diaryxbackend_free: (a: number, b: number) => void;
553
- readonly diaryxbackend_create: (a: number, b: number) => any;
554
- readonly diaryxbackend_createFromDirectoryHandle: (a: any) => [number, number, number];
555
- readonly diaryxbackend_createInMemory: () => [number, number, number];
556
- readonly diaryxbackend_createIndexedDb: () => any;
557
- readonly diaryxbackend_createOpfs: () => any;
558
- readonly diaryxbackend_createSyncClient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
559
- readonly diaryxbackend_emitFileSystemEvent: (a: number, b: number, c: number) => [number, number];
560
- readonly diaryxbackend_eventSubscriberCount: (a: number) => number;
561
- readonly diaryxbackend_execute: (a: number, b: number, c: number) => any;
562
- readonly diaryxbackend_executeJs: (a: number, b: any) => any;
563
- readonly diaryxbackend_getConfig: (a: number) => any;
564
- readonly diaryxbackend_hasNativeSync: (a: number) => number;
565
- readonly diaryxbackend_offFileSystemEvent: (a: number, b: bigint) => number;
566
- readonly diaryxbackend_onFileSystemEvent: (a: number, b: any) => bigint;
567
- readonly diaryxbackend_readBinary: (a: number, b: number, c: number) => any;
568
- readonly diaryxbackend_saveConfig: (a: number, b: any) => any;
569
- readonly diaryxbackend_writeBinary: (a: number, b: number, c: number, d: any) => any;
564
+ readonly init: () => void;
570
565
  readonly __wbg_jsasyncfilesystem_free: (a: number, b: number) => void;
571
566
  readonly __wbg_wasmsyncclient_free: (a: number, b: number) => void;
572
567
  readonly jsasyncfilesystem_has_callback: (a: number, b: number, c: number) => number;
@@ -592,18 +587,37 @@ export interface InitOutput {
592
587
  readonly __wbg_indexeddbfilesystem_free: (a: number, b: number) => void;
593
588
  readonly fsafilesystem_fromHandle: (a: any) => number;
594
589
  readonly indexeddbfilesystem_create: () => any;
595
- readonly now_timestamp: () => [number, number];
596
- readonly today_formatted: (a: number, b: number) => [number, number];
590
+ readonly __wbg_diaryxbackend_free: (a: number, b: number) => void;
591
+ readonly diaryxbackend_create: (a: number, b: number) => any;
592
+ readonly diaryxbackend_createFromDirectoryHandle: (a: any) => [number, number, number];
593
+ readonly diaryxbackend_createInMemory: () => [number, number, number];
594
+ readonly diaryxbackend_createIndexedDb: () => any;
595
+ readonly diaryxbackend_createOpfs: (a: number, b: number) => any;
596
+ readonly diaryxbackend_createSyncClient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
597
+ readonly diaryxbackend_emitFileSystemEvent: (a: number, b: number, c: number) => [number, number];
598
+ readonly diaryxbackend_eventSubscriberCount: (a: number) => number;
599
+ readonly diaryxbackend_execute: (a: number, b: number, c: number) => any;
600
+ readonly diaryxbackend_executeJs: (a: number, b: any) => any;
601
+ readonly diaryxbackend_getConfig: (a: number) => any;
602
+ readonly diaryxbackend_hasNativeSync: (a: number) => number;
603
+ readonly diaryxbackend_isCrdtEnabled: (a: number) => number;
604
+ readonly diaryxbackend_offFileSystemEvent: (a: number, b: bigint) => number;
605
+ readonly diaryxbackend_onFileSystemEvent: (a: number, b: any) => bigint;
606
+ readonly diaryxbackend_readBinary: (a: number, b: number, c: number) => any;
607
+ readonly diaryxbackend_saveConfig: (a: number, b: any) => any;
608
+ readonly diaryxbackend_setCrdtEnabled: (a: number, b: number) => void;
609
+ readonly diaryxbackend_writeBinary: (a: number, b: number, c: number, d: any) => any;
597
610
  readonly __wbg_opfsfilesystem_free: (a: number, b: number) => void;
611
+ readonly now_timestamp: () => [number, number];
598
612
  readonly opfsfilesystem_create: () => any;
599
613
  readonly opfsfilesystem_createWithName: (a: number, b: number) => any;
600
- readonly init: () => void;
601
- readonly wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d: (a: number, b: number) => void;
614
+ readonly today_formatted: (a: number, b: number) => [number, number];
615
+ readonly wasm_bindgen__closure__destroy__h8de742aded44d6e1: (a: number, b: number) => void;
602
616
  readonly wasm_bindgen__closure__destroy__h54a6b627d1123dca: (a: number, b: number) => void;
603
617
  readonly wasm_bindgen__closure__destroy__h440f08373ff30a05: (a: number, b: number) => void;
604
- readonly wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87: (a: number, b: number, c: any) => [number, number];
618
+ readonly wasm_bindgen__convert__closures_____invoke__h5ad114623df5d1ae: (a: number, b: number, c: any) => [number, number];
605
619
  readonly wasm_bindgen__convert__closures_____invoke__h4e796b59e8c15a06: (a: number, b: number, c: any, d: any) => void;
606
- readonly wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824: (a: number, b: number, c: any) => void;
620
+ readonly wasm_bindgen__convert__closures_____invoke__hbebc81a3d7fc2578: (a: number, b: number, c: any) => void;
607
621
  readonly wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3: (a: number, b: number, c: any) => void;
608
622
  readonly wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746: (a: number, b: number, c: any) => void;
609
623
  readonly __wbindgen_malloc: (a: number, b: number) => number;
package/diaryx_wasm.js CHANGED
@@ -124,12 +124,15 @@ export class DiaryxBackend {
124
124
  * ```javascript
125
125
  * import { initializeSqliteStorage } from './lib/storage/sqliteStorageBridge.js';
126
126
  * await initializeSqliteStorage();
127
- * const backend = await DiaryxBackend.createOpfs();
127
+ * const backend = await DiaryxBackend.createOpfs('My Journal');
128
128
  * ```
129
+ * @param {string | null} [root_name]
129
130
  * @returns {Promise<DiaryxBackend>}
130
131
  */
131
- static createOpfs() {
132
- const ret = wasm.diaryxbackend_createOpfs();
132
+ static createOpfs(root_name) {
133
+ var ptr0 = isLikeNone(root_name) ? 0 : passStringToWasm0(root_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
134
+ var len0 = WASM_VECTOR_LEN;
135
+ const ret = wasm.diaryxbackend_createOpfs(ptr0, len0);
133
136
  return ret;
134
137
  }
135
138
  /**
@@ -274,6 +277,14 @@ export class DiaryxBackend {
274
277
  const ret = wasm.diaryxbackend_hasNativeSync(this.__wbg_ptr);
275
278
  return ret !== 0;
276
279
  }
280
+ /**
281
+ * Check whether CrdtFs is currently enabled.
282
+ * @returns {boolean}
283
+ */
284
+ isCrdtEnabled() {
285
+ const ret = wasm.diaryxbackend_isCrdtEnabled(this.__wbg_ptr);
286
+ return ret !== 0;
287
+ }
277
288
  /**
278
289
  * Unsubscribe from filesystem events.
279
290
  *
@@ -343,6 +354,17 @@ export class DiaryxBackend {
343
354
  const ret = wasm.diaryxbackend_saveConfig(this.__wbg_ptr, config_js);
344
355
  return ret;
345
356
  }
357
+ /**
358
+ * Enable or disable the CrdtFs decorator.
359
+ *
360
+ * When disabled, file writes pass through to storage without updating CRDTs.
361
+ * CrdtFs starts disabled by default and should be enabled after sync
362
+ * handshake completes (or immediately in local-only mode).
363
+ * @param {boolean} enabled
364
+ */
365
+ setCrdtEnabled(enabled) {
366
+ wasm.diaryxbackend_setCrdtEnabled(this.__wbg_ptr, enabled);
367
+ }
346
368
  /**
347
369
  * Write binary file.
348
370
  *
@@ -518,7 +540,7 @@ export class OpfsFileSystem {
518
540
  /**
519
541
  * Create a new OpfsFileSystem with the default app directory.
520
542
  *
521
- * This creates a "diaryx" directory in the origin-private file system.
543
+ * This creates a "My Journal" directory in the origin-private file system.
522
544
  * @returns {Promise<OpfsFileSystem>}
523
545
  */
524
546
  static create() {
@@ -1495,22 +1517,22 @@ function __wbg_get_imports() {
1495
1517
  return ret;
1496
1518
  }, arguments); },
1497
1519
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
1498
- // Cast intrinsic for `Closure(Closure { dtor_idx: 653, function: Function { arguments: [NamedExternref("Event")], shim_idx: 747, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1499
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d, wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87);
1520
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 542, function: Function { arguments: [NamedExternref("Event")], shim_idx: 720, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1521
+ const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h8de742aded44d6e1, wasm_bindgen__convert__closures_____invoke__h5ad114623df5d1ae);
1500
1522
  return ret;
1501
1523
  },
1502
1524
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
1503
- // Cast intrinsic for `Closure(Closure { dtor_idx: 653, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 748, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1504
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d, wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824);
1525
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 542, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 721, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1526
+ const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h8de742aded44d6e1, wasm_bindgen__convert__closures_____invoke__hbebc81a3d7fc2578);
1505
1527
  return ret;
1506
1528
  },
1507
1529
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
1508
- // Cast intrinsic for `Closure(Closure { dtor_idx: 777, function: Function { arguments: [NamedExternref("Event")], shim_idx: 778, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1530
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 780, function: Function { arguments: [NamedExternref("Event")], shim_idx: 781, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1509
1531
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h54a6b627d1123dca, wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3);
1510
1532
  return ret;
1511
1533
  },
1512
1534
  __wbindgen_cast_0000000000000004: function(arg0, arg1) {
1513
- // Cast intrinsic for `Closure(Closure { dtor_idx: 803, function: Function { arguments: [Externref], shim_idx: 804, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1535
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 806, function: Function { arguments: [Externref], shim_idx: 807, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1514
1536
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h440f08373ff30a05, wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746);
1515
1537
  return ret;
1516
1538
  },
@@ -1555,8 +1577,8 @@ function __wbg_get_imports() {
1555
1577
  };
1556
1578
  }
1557
1579
 
1558
- function wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824(arg0, arg1, arg2) {
1559
- wasm.wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824(arg0, arg1, arg2);
1580
+ function wasm_bindgen__convert__closures_____invoke__hbebc81a3d7fc2578(arg0, arg1, arg2) {
1581
+ wasm.wasm_bindgen__convert__closures_____invoke__hbebc81a3d7fc2578(arg0, arg1, arg2);
1560
1582
  }
1561
1583
 
1562
1584
  function wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3(arg0, arg1, arg2) {
@@ -1567,8 +1589,8 @@ function wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746(arg0, arg
1567
1589
  wasm.wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746(arg0, arg1, arg2);
1568
1590
  }
1569
1591
 
1570
- function wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87(arg0, arg1, arg2) {
1571
- const ret = wasm.wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87(arg0, arg1, arg2);
1592
+ function wasm_bindgen__convert__closures_____invoke__h5ad114623df5d1ae(arg0, arg1, arg2) {
1593
+ const ret = wasm.wasm_bindgen__convert__closures_____invoke__h5ad114623df5d1ae(arg0, arg1, arg2);
1572
1594
  if (ret[1]) {
1573
1595
  throw takeFromExternrefTable0(ret[0]);
1574
1596
  }
@@ -1,24 +1,7 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const __wbg_diaryxbackend_free: (a: number, b: number) => void;
5
- export const diaryxbackend_create: (a: number, b: number) => any;
6
- export const diaryxbackend_createFromDirectoryHandle: (a: any) => [number, number, number];
7
- export const diaryxbackend_createInMemory: () => [number, number, number];
8
- export const diaryxbackend_createIndexedDb: () => any;
9
- export const diaryxbackend_createOpfs: () => any;
10
- export const diaryxbackend_createSyncClient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
11
- export const diaryxbackend_emitFileSystemEvent: (a: number, b: number, c: number) => [number, number];
12
- export const diaryxbackend_eventSubscriberCount: (a: number) => number;
13
- export const diaryxbackend_execute: (a: number, b: number, c: number) => any;
14
- export const diaryxbackend_executeJs: (a: number, b: any) => any;
15
- export const diaryxbackend_getConfig: (a: number) => any;
16
- export const diaryxbackend_hasNativeSync: (a: number) => number;
17
- export const diaryxbackend_offFileSystemEvent: (a: number, b: bigint) => number;
18
- export const diaryxbackend_onFileSystemEvent: (a: number, b: any) => bigint;
19
- export const diaryxbackend_readBinary: (a: number, b: number, c: number) => any;
20
- export const diaryxbackend_saveConfig: (a: number, b: any) => any;
21
- export const diaryxbackend_writeBinary: (a: number, b: number, c: number, d: any) => any;
4
+ export const init: () => void;
22
5
  export const __wbg_jsasyncfilesystem_free: (a: number, b: number) => void;
23
6
  export const __wbg_wasmsyncclient_free: (a: number, b: number) => void;
24
7
  export const jsasyncfilesystem_has_callback: (a: number, b: number, c: number) => number;
@@ -44,18 +27,37 @@ export const __wbg_fsafilesystem_free: (a: number, b: number) => void;
44
27
  export const __wbg_indexeddbfilesystem_free: (a: number, b: number) => void;
45
28
  export const fsafilesystem_fromHandle: (a: any) => number;
46
29
  export const indexeddbfilesystem_create: () => any;
47
- export const now_timestamp: () => [number, number];
48
- export const today_formatted: (a: number, b: number) => [number, number];
30
+ export const __wbg_diaryxbackend_free: (a: number, b: number) => void;
31
+ export const diaryxbackend_create: (a: number, b: number) => any;
32
+ export const diaryxbackend_createFromDirectoryHandle: (a: any) => [number, number, number];
33
+ export const diaryxbackend_createInMemory: () => [number, number, number];
34
+ export const diaryxbackend_createIndexedDb: () => any;
35
+ export const diaryxbackend_createOpfs: (a: number, b: number) => any;
36
+ export const diaryxbackend_createSyncClient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
37
+ export const diaryxbackend_emitFileSystemEvent: (a: number, b: number, c: number) => [number, number];
38
+ export const diaryxbackend_eventSubscriberCount: (a: number) => number;
39
+ export const diaryxbackend_execute: (a: number, b: number, c: number) => any;
40
+ export const diaryxbackend_executeJs: (a: number, b: any) => any;
41
+ export const diaryxbackend_getConfig: (a: number) => any;
42
+ export const diaryxbackend_hasNativeSync: (a: number) => number;
43
+ export const diaryxbackend_isCrdtEnabled: (a: number) => number;
44
+ export const diaryxbackend_offFileSystemEvent: (a: number, b: bigint) => number;
45
+ export const diaryxbackend_onFileSystemEvent: (a: number, b: any) => bigint;
46
+ export const diaryxbackend_readBinary: (a: number, b: number, c: number) => any;
47
+ export const diaryxbackend_saveConfig: (a: number, b: any) => any;
48
+ export const diaryxbackend_setCrdtEnabled: (a: number, b: number) => void;
49
+ export const diaryxbackend_writeBinary: (a: number, b: number, c: number, d: any) => any;
49
50
  export const __wbg_opfsfilesystem_free: (a: number, b: number) => void;
51
+ export const now_timestamp: () => [number, number];
50
52
  export const opfsfilesystem_create: () => any;
51
53
  export const opfsfilesystem_createWithName: (a: number, b: number) => any;
52
- export const init: () => void;
53
- export const wasm_bindgen__closure__destroy__h42aa0e93a1f9e16d: (a: number, b: number) => void;
54
+ export const today_formatted: (a: number, b: number) => [number, number];
55
+ export const wasm_bindgen__closure__destroy__h8de742aded44d6e1: (a: number, b: number) => void;
54
56
  export const wasm_bindgen__closure__destroy__h54a6b627d1123dca: (a: number, b: number) => void;
55
57
  export const wasm_bindgen__closure__destroy__h440f08373ff30a05: (a: number, b: number) => void;
56
- export const wasm_bindgen__convert__closures_____invoke__h91799ae173fd0a87: (a: number, b: number, c: any) => [number, number];
58
+ export const wasm_bindgen__convert__closures_____invoke__h5ad114623df5d1ae: (a: number, b: number, c: any) => [number, number];
57
59
  export const wasm_bindgen__convert__closures_____invoke__h4e796b59e8c15a06: (a: number, b: number, c: any, d: any) => void;
58
- export const wasm_bindgen__convert__closures_____invoke__hbf5a94dccea95824: (a: number, b: number, c: any) => void;
60
+ export const wasm_bindgen__convert__closures_____invoke__hbebc81a3d7fc2578: (a: number, b: number, c: any) => void;
59
61
  export const wasm_bindgen__convert__closures_____invoke__h7d21c95eeb3011e3: (a: number, b: number, c: any) => void;
60
62
  export const wasm_bindgen__convert__closures_____invoke__h359356b1e0b37746: (a: number, b: number, c: any) => void;
61
63
  export const __wbindgen_malloc: (a: number, b: number) => number;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@diaryx/wasm",
3
3
  "type": "module",
4
4
  "description": "WebAssembly bindings for Diaryx core functionality",
5
- "version": "0.13.0-dev.c0e2eed",
5
+ "version": "0.14.0-dev.62fc475",
6
6
  "license": "SEE LICENSE IN ../../LICENSE.md",
7
7
  "repository": {
8
8
  "type": "git",