@enbox/dwn-sql-store 0.0.2 → 0.0.3

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 (85) hide show
  1. package/README.md +36 -53
  2. package/dist/esm/src/data-store-sql.js +5 -5
  3. package/dist/esm/src/data-store-sql.js.map +1 -1
  4. package/dist/esm/src/dialect/bun-sqlite-adapter.js +46 -0
  5. package/dist/esm/src/dialect/bun-sqlite-adapter.js.map +1 -0
  6. package/dist/esm/src/dialect/mysql-dialect.js +1 -1
  7. package/dist/esm/src/dialect/mysql-dialect.js.map +1 -1
  8. package/dist/esm/src/dialect/postgres-dialect.js +1 -1
  9. package/dist/esm/src/dialect/postgres-dialect.js.map +1 -1
  10. package/dist/esm/src/dialect/sqlite-dialect.js +1 -1
  11. package/dist/esm/src/dialect/sqlite-dialect.js.map +1 -1
  12. package/dist/esm/src/main.js +3 -1
  13. package/dist/esm/src/main.js.map +1 -1
  14. package/dist/esm/src/message-store-sql.js +54 -25
  15. package/dist/esm/src/message-store-sql.js.map +1 -1
  16. package/dist/esm/src/resumable-task-store-sql.js +5 -6
  17. package/dist/esm/src/resumable-task-store-sql.js.map +1 -1
  18. package/dist/esm/src/smt-store-sql.js +151 -0
  19. package/dist/esm/src/smt-store-sql.js.map +1 -0
  20. package/dist/esm/src/state-index-sql.js +234 -0
  21. package/dist/esm/src/state-index-sql.js.map +1 -0
  22. package/dist/esm/src/utils/filter.js +3 -3
  23. package/dist/esm/src/utils/filter.js.map +1 -1
  24. package/dist/esm/src/utils/sanitize.js +7 -8
  25. package/dist/esm/src/utils/sanitize.js.map +1 -1
  26. package/dist/esm/src/utils/tags.js +3 -6
  27. package/dist/esm/src/utils/tags.js.map +1 -1
  28. package/dist/esm/src/utils/transaction.js +3 -21
  29. package/dist/esm/src/utils/transaction.js.map +1 -1
  30. package/dist/types/src/data-store-sql.d.ts +3 -4
  31. package/dist/types/src/data-store-sql.d.ts.map +1 -1
  32. package/dist/types/src/dialect/bun-sqlite-adapter.d.ts +33 -0
  33. package/dist/types/src/dialect/bun-sqlite-adapter.d.ts.map +1 -0
  34. package/dist/types/src/dialect/dialect.d.ts +1 -2
  35. package/dist/types/src/dialect/dialect.d.ts.map +1 -1
  36. package/dist/types/src/dialect/mysql-dialect.d.ts +3 -2
  37. package/dist/types/src/dialect/mysql-dialect.d.ts.map +1 -1
  38. package/dist/types/src/dialect/postgres-dialect.d.ts +3 -2
  39. package/dist/types/src/dialect/postgres-dialect.d.ts.map +1 -1
  40. package/dist/types/src/dialect/sqlite-dialect.d.ts +3 -2
  41. package/dist/types/src/dialect/sqlite-dialect.d.ts.map +1 -1
  42. package/dist/types/src/main.d.ts +3 -1
  43. package/dist/types/src/main.d.ts.map +1 -1
  44. package/dist/types/src/message-store-sql.d.ts +4 -3
  45. package/dist/types/src/message-store-sql.d.ts.map +1 -1
  46. package/dist/types/src/resumable-task-store-sql.d.ts +2 -2
  47. package/dist/types/src/resumable-task-store-sql.d.ts.map +1 -1
  48. package/dist/types/src/smt-store-sql.d.ts +37 -0
  49. package/dist/types/src/smt-store-sql.d.ts.map +1 -0
  50. package/dist/types/src/state-index-sql.d.ts +44 -0
  51. package/dist/types/src/state-index-sql.d.ts.map +1 -0
  52. package/dist/types/src/types.d.ts +24 -42
  53. package/dist/types/src/types.d.ts.map +1 -1
  54. package/dist/types/src/utils/filter.d.ts +3 -3
  55. package/dist/types/src/utils/filter.d.ts.map +1 -1
  56. package/dist/types/src/utils/sanitize.d.ts +2 -2
  57. package/dist/types/src/utils/sanitize.d.ts.map +1 -1
  58. package/dist/types/src/utils/tags.d.ts +3 -5
  59. package/dist/types/src/utils/tags.d.ts.map +1 -1
  60. package/dist/types/src/utils/transaction.d.ts +4 -4
  61. package/dist/types/src/utils/transaction.d.ts.map +1 -1
  62. package/package.json +24 -36
  63. package/src/data-store-sql.ts +11 -9
  64. package/src/dialect/bun-sqlite-adapter.ts +82 -0
  65. package/src/dialect/dialect.ts +4 -5
  66. package/src/dialect/mysql-dialect.ts +8 -6
  67. package/src/dialect/postgres-dialect.ts +11 -6
  68. package/src/dialect/sqlite-dialect.ts +11 -6
  69. package/src/main.ts +4 -2
  70. package/src/message-store-sql.ts +90 -45
  71. package/src/resumable-task-store-sql.ts +9 -7
  72. package/src/smt-store-sql.ts +206 -0
  73. package/src/state-index-sql.ts +283 -0
  74. package/src/types.ts +32 -47
  75. package/src/utils/filter.ts +8 -6
  76. package/src/utils/sanitize.ts +19 -20
  77. package/src/utils/tags.ts +6 -7
  78. package/src/utils/transaction.ts +7 -23
  79. package/dist/cjs/main.js +0 -3784
  80. package/dist/cjs/package.json +0 -1
  81. package/dist/esm/src/event-log-sql.js +0 -169
  82. package/dist/esm/src/event-log-sql.js.map +0 -1
  83. package/dist/types/src/event-log-sql.d.ts +0 -24
  84. package/dist/types/src/event-log-sql.d.ts.map +0 -1
  85. package/src/event-log-sql.ts +0 -227
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Matches Kysely's SqliteStatement interface.
3
+ */
4
+ interface KyselySqliteStatement {
5
+ readonly reader: boolean;
6
+ all(parameters: ReadonlyArray<unknown>): unknown[];
7
+ run(parameters: ReadonlyArray<unknown>): {
8
+ changes: number | bigint;
9
+ lastInsertRowid: number | bigint;
10
+ };
11
+ }
12
+ /**
13
+ * Matches Kysely's SqliteDatabase interface.
14
+ */
15
+ interface KyselySqliteDatabase {
16
+ close(): void;
17
+ prepare(sql: string): KyselySqliteStatement;
18
+ }
19
+ /**
20
+ * Creates a Kysely-compatible SQLite database backed by `bun:sqlite`.
21
+ *
22
+ * @param path - File path or `":memory:"` for in-memory database.
23
+ * @param options - Options forwarded to `bun:sqlite`'s Database constructor.
24
+ * - `readonly`: Open in read-only mode.
25
+ * - `create`: Create the file if it doesn't exist (default: true).
26
+ * @returns An object implementing Kysely's `SqliteDatabase` interface.
27
+ */
28
+ export declare function createBunSqliteDatabase(path: string, options?: {
29
+ readonly?: boolean;
30
+ create?: boolean;
31
+ }): KyselySqliteDatabase;
32
+ export {};
33
+ //# sourceMappingURL=bun-sqlite-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-sqlite-adapter.d.ts","sourceRoot":"","sources":["../../../../src/dialect/bun-sqlite-adapter.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;IACnD,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG;QACvC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;KAClC,CAAC;CACH;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAC7C;AAWD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,oBAAoB,CAiCtB"}
@@ -1,4 +1,4 @@
1
- import { ColumnBuilderCallback, ColumnDataType, CreateTableBuilder, Dialect as KyselyDialect, Kysely, InsertObject, InsertQueryBuilder, Selection, SelectExpression, Transaction } from 'kysely';
1
+ import type { ColumnBuilderCallback, ColumnDataType, CreateTableBuilder, InsertObject, InsertQueryBuilder, Kysely, Dialect as KyselyDialect, SelectExpression, Selection, Transaction } from 'kysely';
2
2
  export interface Dialect extends KyselyDialect {
3
3
  readonly name: string;
4
4
  readonly isStreamingSupported: boolean;
@@ -31,7 +31,6 @@ export interface Dialect extends KyselyDialect {
31
31
  *
32
32
  * NOTE: the `returning` value must be formatted to return an insertId value.
33
33
  * ex. if the generated key is `id` the string should be `id as insertId`.
34
- * if the generated key is `watermark` the string should be `watermark as insertId`.
35
34
  *
36
35
  * @returns {InsertQueryBuilder} object to further modify the query or execute it.
37
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,OAAO,IAAI,aAAa,EACxB,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACZ,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAEvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAE1B,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAE1B;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,SAAS,EAAE,EAAE,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EACvG,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,SAAS,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACtC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC,CAAC;CAClG"}
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,OAAO,IAAI,aAAa,EACxB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACZ,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAEvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAE1B,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAE1B;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,SAAS,EAAE,EAAE,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IAEnC;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EACvG,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,SAAS,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACtC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC,CAAC;CAClG"}
@@ -1,5 +1,6 @@
1
- import { Dialect } from './dialect.js';
2
- import { AnyColumn, ColumnDataType, CreateTableBuilder, ColumnBuilderCallback, InsertObject, InsertQueryBuilder, SelectExpression, Selection, Transaction, MysqlDialect as KyselyMysqlDialect, Kysely } from 'kysely';
1
+ import type { Dialect } from './dialect.js';
2
+ import type { AnyColumn, ColumnBuilderCallback, ColumnDataType, CreateTableBuilder, InsertObject, InsertQueryBuilder, Kysely, SelectExpression, Selection, Transaction } from 'kysely';
3
+ import { MysqlDialect as KyselyMysqlDialect } from 'kysely';
3
4
  export declare class MysqlDialect extends KyselyMysqlDialect implements Dialect {
4
5
  name: string;
5
6
  isStreamingSupported: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"mysql-dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/mysql-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,YAAY,IAAI,kBAAkB,EAClC,MAAM,EACP,MAAM,QAAQ,CAAC;AAEhB,qBAAa,YAAa,SAAQ,kBAAmB,YAAW,OAAO;IACrE,IAAI,SAAW;IACf,oBAAoB,UAAQ;IAEtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpE,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAUzB,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,SAAS,EAAE,EAAE,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC;IAYlC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EACrH,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,UAAU,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACvC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC;CAGjG"}
1
+ {"version":3,"file":"mysql-dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/mysql-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EACL,YAAY,IAAI,kBAAkB,EACnC,MAAM,QAAQ,CAAC;AAEhB,qBAAa,YAAa,SAAQ,kBAAmB,YAAW,OAAO;IACrE,IAAI,SAAW;IACf,oBAAoB,UAAQ;IAEtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpE,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAUzB,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,SAAS,EAAE,EAAE,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC;IAYlC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EACrH,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,UAAU,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACvC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC;CAGjG"}
@@ -1,5 +1,6 @@
1
- import { Dialect } from './dialect.js';
2
- import { ColumnDataType, ColumnBuilderCallback, CreateTableBuilder, InsertObject, InsertQueryBuilder, Kysely, PostgresDialect as KyselyPostgresDialect, SelectExpression, Selection, Transaction } from 'kysely';
1
+ import type { Dialect } from './dialect.js';
2
+ import type { ColumnBuilderCallback, ColumnDataType, CreateTableBuilder, InsertObject, InsertQueryBuilder, Kysely, SelectExpression, Selection, Transaction } from 'kysely';
3
+ import { PostgresDialect as KyselyPostgresDialect } from 'kysely';
3
4
  export declare class PostgresDialect extends KyselyPostgresDialect implements Dialect {
4
5
  name: string;
5
6
  isStreamingSupported: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/postgres-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,eAAe,IAAI,qBAAqB,EACxC,gBAAgB,EAChB,SAAS,EACT,WAAW,EACZ,MAAM,QAAQ,CAAC;AAEhB,qBAAa,eAAgB,SAAQ,qBAAsB,YAAW,OAAO;IAC3E,IAAI,SAAgB;IACpB,oBAAoB,UAAQ;IAEtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpE,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC;IAIlC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EACvG,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,SAAS,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACtC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC;CAIjG"}
1
+ {"version":3,"file":"postgres-dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/postgres-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EACL,eAAe,IAAI,qBAAqB,EACzC,MAAM,QAAQ,CAAC;AAEhB,qBAAa,eAAgB,SAAQ,qBAAsB,YAAW,OAAO;IAC3E,IAAI,SAAgB;IACpB,oBAAoB,UAAQ;IAEtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpE,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC;IAOlC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EACvG,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,SAAS,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACtC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC;CAIjG"}
@@ -1,5 +1,6 @@
1
- import { Dialect } from './dialect.js';
2
- import { ColumnBuilderCallback, ColumnDataType, CreateTableBuilder, Kysely, InsertObject, InsertQueryBuilder, SelectExpression, Selection, SqliteDialect as KyselySqliteDialect, Transaction } from 'kysely';
1
+ import type { Dialect } from './dialect.js';
2
+ import type { ColumnBuilderCallback, ColumnDataType, CreateTableBuilder, InsertObject, InsertQueryBuilder, Kysely, SelectExpression, Selection, Transaction } from 'kysely';
3
+ import { SqliteDialect as KyselySqliteDialect } from 'kysely';
3
4
  export declare class SqliteDialect extends KyselySqliteDialect implements Dialect {
4
5
  name: string;
5
6
  isStreamingSupported: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/sqlite-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,aAAa,IAAI,mBAAmB,EACpC,WAAW,EACZ,MAAM,QAAQ,CAAC;AAEhB,qBAAa,aAAc,SAAQ,mBAAoB,YAAW,OAAO;IACvE,IAAI,SAAY;IAChB,oBAAoB,UAAS;IAEvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWpE,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAUzB,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC;IAIlC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EACvG,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,SAAS,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACtC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC;CAGjG"}
1
+ {"version":3,"file":"sqlite-dialect.d.ts","sourceRoot":"","sources":["../../../../src/dialect/sqlite-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EACL,aAAa,IAAI,mBAAmB,EACrC,MAAM,QAAQ,CAAC;AAEhB,qBAAa,aAAc,SAAQ,mBAAoB,YAAW,OAAO;IACvE,IAAI,SAAY;IAChB,oBAAoB,UAAS;IAEvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWpE,yBAAyB,CAAC,EAAE,SAAS,MAAM,EACzC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAUzB,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7B,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,kBAAkB,CAAC,EAAE,CAAC;IAIzB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EACnC,OAAO,EAAE,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EACxC,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAChF,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC;IAOlC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EACvG,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,EAAE,GAAG,MAAM,EAClB,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EACrC,SAAS,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,GACtC,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC;CAGjG"}
@@ -1,9 +1,11 @@
1
1
  export * from './dialect/dialect.js';
2
+ export * from './dialect/bun-sqlite-adapter.js';
2
3
  export * from './dialect/mysql-dialect.js';
3
4
  export * from './dialect/postgres-dialect.js';
4
5
  export * from './dialect/sqlite-dialect.js';
5
6
  export * from './data-store-sql.js';
6
- export * from './event-log-sql.js';
7
+ export * from './state-index-sql.js';
7
8
  export * from './message-store-sql.js';
8
9
  export * from './resumable-task-store-sql.js';
10
+ export * from './smt-store-sql.js';
9
11
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Filter, GenericMessage, MessageStore, MessageStoreOptions, MessageSort, Pagination, PaginationCursor } from '@enbox/dwn-sdk-js';
1
+ import type { Dialect } from './dialect/dialect.js';
2
+ import type { KeyValues } from './types.js';
3
+ import type { Filter, GenericMessage, MessageSort, MessageStore, MessageStoreOptions, Pagination, PaginationCursor } from '@enbox/dwn-sdk-js';
2
4
  import { Kysely } from 'kysely';
3
- import { KeyValues } from './types.js';
4
- import { Dialect } from './dialect/dialect.js';
5
5
  export declare class MessageStoreSql implements MessageStore {
6
6
  #private;
7
7
  constructor(dialect: Dialect);
@@ -24,6 +24,7 @@ export declare class MessageStoreSql implements MessageStore {
24
24
  messages: GenericMessage[];
25
25
  cursor?: PaginationCursor;
26
26
  }>;
27
+ count(tenant: string, filters: Filter[], messageSort?: MessageSort, options?: MessageStoreOptions): Promise<number>;
27
28
  delete(tenant: string, cid: string, options?: MessageStoreOptions): Promise<void>;
28
29
  clear(): Promise<void>;
29
30
  private parseEncodedMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"message-store-sql.d.ts","sourceRoot":"","sources":["../../../src/message-store-sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,UAAU,EAEV,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAmB,SAAS,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAQ/C,qBAAa,eAAgB,YAAW,YAAY;;gBAKtC,OAAO,EAAE,OAAO;IAKtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4F3B;;;;;OAKG;IACG,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,GAAG,CACP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAyChB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoC9B,GAAG,CACP,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IA0BhC,KAAK,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAAC,CAAC;IA6D9D,MAAM,CACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAmBV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAYd,mBAAmB;IAuBjC;;;;;;;;;OASG;YACW,wBAAwB;IAsBtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAa9B"}
1
+ {"version":3,"file":"message-store-sql.d.ts","sourceRoot":"","sources":["../../../src/message-store-sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAe9C,OAAO,EAAE,MAAM,EAAO,MAAM,QAAQ,CAAC;AAGrC,qBAAa,eAAgB,YAAW,YAAY;;gBAKtC,OAAO,EAAE,OAAO;IAKtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4G3B;;;;;OAKG;IACG,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,GAAG,CACP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAyChB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoC9B,GAAG,CACP,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IA0BhC,KAAK,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAAC,CAAC;IA6D9D,KAAK,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,WAAW,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAsBZ,MAAM,CACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAmBV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAYd,mBAAmB;IAuBjC;;;;;;;;;OASG;YACW,wBAAwB;IAsBtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAa9B"}
@@ -1,5 +1,5 @@
1
- import { Dialect } from './dialect/dialect.js';
2
- import { ManagedResumableTask, ResumableTaskStore } from '@enbox/dwn-sdk-js';
1
+ import type { Dialect } from './dialect/dialect.js';
2
+ import type { ManagedResumableTask, ResumableTaskStore } from '@enbox/dwn-sdk-js';
3
3
  export declare class ResumableTaskStoreSql implements ResumableTaskStore {
4
4
  #private;
5
5
  private static readonly taskTimeoutInSeconds;
@@ -1 +1 @@
1
- {"version":3,"file":"resumable-task-store-sql.d.ts","sourceRoot":"","sources":["../../../src/resumable-task-store-sql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAO,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAElF,qBAAa,qBAAsB,YAAW,kBAAkB;;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;gBAKtC,OAAO,EAAE,OAAO;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoB5E,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA0CpD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAsB/D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
1
+ {"version":3,"file":"resumable-task-store-sql.d.ts","sourceRoot":"","sources":["../../../src/resumable-task-store-sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMlF,qBAAa,qBAAsB,YAAW,kBAAkB;;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;gBAKtC,OAAO,EAAE,OAAO;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoB5E,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA0CpD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAsB/D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * SQL-backed implementation of SMTNodeStore.
3
+ *
4
+ * Storage layout:
5
+ * - Nodes are stored in the `stateIndexNodes` table, keyed by hex-encoded hash
6
+ * - The root hash is stored in the `stateIndexRoots` table
7
+ * - Node values are serialized with Uint8Array fields encoded as hex strings
8
+ *
9
+ * Each SMTStoreSql instance represents a single tree (identified by a tenant + scope key).
10
+ * Multiple instances share the same underlying Kysely database connection.
11
+ */
12
+ import type { DwnDatabaseType } from './types.js';
13
+ import type { Kysely } from 'kysely';
14
+ import type { Hash, SMTNode, SMTNodeStore } from '@enbox/dwn-sdk-js';
15
+ export type SMTStoreSqlParams = {
16
+ /** The shared Kysely database instance. */
17
+ db: Kysely<DwnDatabaseType>;
18
+ /** The tenant DID that owns this tree. */
19
+ tenant: string;
20
+ /** The scope key for this tree (e.g. '' for global, protocol URI for protocol-scoped). */
21
+ scope: string;
22
+ };
23
+ export declare class SMTStoreSql implements SMTNodeStore {
24
+ #private;
25
+ constructor({ db, tenant, scope }: SMTStoreSqlParams);
26
+ open(): Promise<void>;
27
+ close(): Promise<void>;
28
+ clear(): Promise<void>;
29
+ getNode(hash: Hash): Promise<SMTNode | undefined>;
30
+ putNode(hash: Hash, node: SMTNode): Promise<void>;
31
+ deleteNode(hash: Hash): Promise<void>;
32
+ getRoot(): Promise<Hash | undefined>;
33
+ setRoot(hash: Hash): Promise<void>;
34
+ private serializeNodeToRow;
35
+ private deserializeNode;
36
+ }
37
+ //# sourceMappingURL=smt-store-sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smt-store-sql.d.ts","sourceRoot":"","sources":["../../../src/smt-store-sql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,IAAI,EAAgC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAInG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,WAAY,YAAW,YAAY;;gBAKlC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB;IAM9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAkBjD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrC,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAepC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxC,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,eAAe;CAuBxB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * SQL-backed implementation of the StateIndex interface.
3
+ *
4
+ * Manages per-tenant Sparse Merkle Trees (global + per-protocol sub-trees) backed by SQL tables.
5
+ *
6
+ * Tables:
7
+ * - `stateIndexNodes`: stores SMT nodes (internal + leaf), keyed by (tenant, scope, nodeHash)
8
+ * - `stateIndexRoots`: stores the current root hash per (tenant, scope)
9
+ * - `stateIndexMeta`: reverse lookup from messageCid → protocol (for deletion)
10
+ */
11
+ import type { Dialect } from './dialect/dialect.js';
12
+ import type { Hash } from '@enbox/dwn-sdk-js';
13
+ import type { KeyValues } from '@enbox/dwn-sdk-js';
14
+ import type { StateIndex } from '@enbox/dwn-sdk-js';
15
+ export declare class StateIndexSql implements StateIndex {
16
+ #private;
17
+ constructor(dialect: Dialect);
18
+ open(): Promise<void>;
19
+ close(): Promise<void>;
20
+ clear(): Promise<void>;
21
+ insert(tenant: string, messageCid: string, indexes: KeyValues): Promise<void>;
22
+ delete(tenant: string, messageCids: string[]): Promise<void>;
23
+ getRoot(tenant: string): Promise<Hash>;
24
+ getProtocolRoot(tenant: string, protocol: string): Promise<Hash>;
25
+ getSubtreeHash(tenant: string, prefix: boolean[]): Promise<Hash>;
26
+ getProtocolSubtreeHash(tenant: string, protocol: string, prefix: boolean[]): Promise<Hash>;
27
+ getLeaves(tenant: string, prefix: boolean[]): Promise<string[]>;
28
+ getProtocolLeaves(tenant: string, protocol: string, prefix: boolean[]): Promise<string[]>;
29
+ /**
30
+ * Get or create the global SMT for a tenant.
31
+ * Uses a promise-based cache to prevent concurrent callers from racing.
32
+ */
33
+ private getGlobalTree;
34
+ /**
35
+ * Get or create a protocol-scoped SMT for a tenant.
36
+ * Uses a promise-based cache to prevent concurrent callers from racing.
37
+ */
38
+ private getProtocolTree;
39
+ /**
40
+ * Create and initialize a new SparseMerkleTree backed by SQL via SMTStoreSql.
41
+ */
42
+ private createTree;
43
+ }
44
+ //# sourceMappingURL=state-index-sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-index-sql.d.ts","sourceRoot":"","sources":["../../../src/state-index-sql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,qBAAa,aAAc,YAAW,UAAU;;gBAiBlC,OAAO,EAAE,OAAO;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2ErB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC5D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1F,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO/F;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;YACW,UAAU;CAWzB"}
@@ -1,36 +1,6 @@
1
1
  import type { Generated } from 'kysely';
2
- export type KeyValues = {
3
- [key: string]: string | number | boolean | string[] | number[];
4
- };
5
- type EventLogTable = {
6
- watermark: Generated<number>;
7
- tenant: string;
8
- messageCid: string;
9
- interface: string | null;
10
- method: string | null;
11
- schema: string | null;
12
- dataCid: string | null;
13
- dataSize: number | null;
14
- dateCreated: string | null;
15
- messageTimestamp: string | null;
16
- dataFormat: string | null;
17
- isLatestBaseState: boolean | null;
18
- published: boolean | null;
19
- author: string | null;
20
- recordId: string | null;
21
- entryId: string | null;
22
- datePublished: string | null;
23
- latest: string | null;
24
- protocol: string | null;
25
- permissionsRequestId: string | null;
26
- attester: string | null;
27
- protocolPath: string | null;
28
- recipient: string | null;
29
- contextId: string | null;
30
- parentId: string | null;
31
- permissionGrantId: string | null;
32
- prune: boolean | null;
33
- };
2
+ import type { KeyValues } from '@enbox/dwn-sdk-js';
3
+ export type { KeyValues };
34
4
  type MessageStoreTable = {
35
5
  id: Generated<number>;
36
6
  tenant: string;
@@ -52,7 +22,6 @@ type MessageStoreTable = {
52
22
  entryId: string | null;
53
23
  datePublished: string | null;
54
24
  protocol: string | null;
55
- permissionsRequestId: string | null;
56
25
  attester: string | null;
57
26
  protocolPath: string | null;
58
27
  recipient: string | null;
@@ -68,12 +37,25 @@ type MessageStoreRecordsTagsTable = {
68
37
  valueString: string | null;
69
38
  valueNumber: number | null;
70
39
  };
71
- type EventLogRecordsTagsTable = {
72
- id: Generated<number>;
73
- tag: string;
74
- eventWatermark: number;
75
- valueString: string | null;
76
- valueNumber: number | null;
40
+ type StateIndexNodeTable = {
41
+ tenant: string;
42
+ scope: string;
43
+ nodeHash: string;
44
+ nodeType: string;
45
+ leftHash: string | null;
46
+ rightHash: string | null;
47
+ leafKeyHash: string | null;
48
+ leafValueCid: string | null;
49
+ };
50
+ type StateIndexRootTable = {
51
+ tenant: string;
52
+ scope: string;
53
+ rootHash: string;
54
+ };
55
+ type StateIndexMetaTable = {
56
+ tenant: string;
57
+ messageCid: string;
58
+ protocol: string | null;
77
59
  };
78
60
  type DataStoreTable = {
79
61
  id: Generated<number>;
@@ -89,12 +71,12 @@ type ResumableTaskTable = {
89
71
  retryCount: number;
90
72
  };
91
73
  export type DwnDatabaseType = {
92
- eventLogMessages: EventLogTable;
93
- eventLogRecordsTags: EventLogRecordsTagsTable;
94
74
  messageStoreMessages: MessageStoreTable;
95
75
  messageStoreRecordsTags: MessageStoreRecordsTagsTable;
96
76
  dataStore: DataStoreTable;
97
77
  resumableTasks: ResumableTaskTable;
78
+ stateIndexNodes: StateIndexNodeTable;
79
+ stateIndexRoots: StateIndexRootTable;
80
+ stateIndexMeta: StateIndexMetaTable;
98
81
  };
99
- export {};
100
82
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Filter } from '@enbox/dwn-sdk-js';
2
- import { SelectQueryBuilder } from 'kysely';
3
- import { DwnDatabaseType } from '../types.js';
1
+ import type { DwnDatabaseType } from '../types.js';
2
+ import type { Filter } from '@enbox/dwn-sdk-js';
3
+ import type { SelectQueryBuilder } from 'kysely';
4
4
  /**
5
5
  * Takes multiple Filters and returns a single query.
6
6
  * Each filter is evaluated as an OR operation.
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAuD,kBAAkB,EAAW,MAAM,QAAQ,CAAC;AAE1G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,GAAG,eAAe,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,EACjG,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACnC,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAe/B"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAwC,kBAAkB,EAAW,MAAM,QAAQ,CAAC;AAKhG;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,GAAG,eAAe,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,EACjG,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACnC,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAe/B"}
@@ -1,5 +1,5 @@
1
- import { Filter } from '@enbox/dwn-sdk-js';
2
- import { KeyValues } from '../types.js';
1
+ import type { Filter } from '@enbox/dwn-sdk-js';
2
+ import type { KeyValues } from '../types.js';
3
3
  export declare function extractTagsAndSanitizeIndexes(records: KeyValues): {
4
4
  tags: KeyValues;
5
5
  indexes: KeyValues;
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,SAAS,GAAG;IACjE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;CACpB,CAkBA;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,QAcjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAOhF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,EAAE,CA0BF;AAID;;;;EAIE;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAOnD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAEhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrD"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,SAAS,GAAG;IACjE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;CACpB,CAkBA;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAcxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAOhF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,EAAE,CA0BF;AAID;;;;EAIE;AACF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAOnD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAEvD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrD"}
@@ -1,17 +1,15 @@
1
- import { Transaction } from 'kysely';
1
+ import type { Transaction } from 'kysely';
2
2
  import type { DwnDatabaseType, KeyValues } from '../types.js';
3
- import { Dialect } from '../dialect/dialect.js';
3
+ import type { Dialect } from '../dialect/dialect.js';
4
4
  /**
5
5
  * Helper class to manage adding indexes for `RecordsWrite` messages which contain `tags`.
6
6
  */
7
7
  export declare class TagTables {
8
8
  private dialect;
9
- private table;
10
9
  /**
11
10
  * @param dialect the target dialect, necessary for returning the `insertId`
12
- * @param table the DB Table in order to index the tags and values in the correct tables. Choice between `messageStoreMessages` and `eventLogMessages`
13
11
  */
14
- constructor(dialect: Dialect, table: 'messageStoreMessages' | 'eventLogMessages');
12
+ constructor(dialect: Dialect);
15
13
  /**
16
14
  * Inserts the given tags associated with the given foreign `insertId`.
17
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../../src/utils/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD;;GAEG;AACH,qBAAa,SAAS;IAMR,OAAO,CAAC,OAAO;IAAW,OAAO,CAAC,KAAK;IAJnD;;;OAGG;gBACiB,OAAO,EAAE,OAAO,EAAU,KAAK,EAAE,sBAAsB,GAAG,kBAAkB;IAEhG;;OAEG;IACG,iBAAiB,CACrB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;CAoBhB"}
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../../src/utils/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;GAEG;AACH,qBAAa,SAAS;IAKR,OAAO,CAAC,OAAO;IAH3B;;OAEG;gBACiB,OAAO,EAAE,OAAO;IAEpC;;OAEG;IACG,iBAAiB,CACrB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;CAoBhB"}
@@ -1,7 +1,7 @@
1
- import { DwnDatabaseType } from '../types.js';
2
- import { Kysely, Transaction } from 'kysely';
1
+ import type { DwnDatabaseType } from '../types.js';
2
+ import type { Kysely, Transaction } from 'kysely';
3
3
  /**
4
- * Executes the provided transactional operation with retry if the database is locked.
4
+ * Executes the provided operation atomically within a database transaction.
5
5
  */
6
- export declare function executeWithRetryIfDatabaseIsLocked(database: Kysely<DwnDatabaseType>, operation: (transaction: Transaction<DwnDatabaseType>) => Promise<void>): Promise<void>;
6
+ export declare function executeWithTransaction(database: Kysely<DwnDatabaseType>, operation: (transaction: Transaction<DwnDatabaseType>) => Promise<void>): Promise<void>;
7
7
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE7C;;GAEG;AACH,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,EACjC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACtE,OAAO,CAAC,IAAI,CAAC,CAkBf"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAElD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,EACjC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACtE,OAAO,CAAC,IAAI,CAAC,CAEf"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@enbox/dwn-sql-store",
3
- "version": "0.0.2",
4
- "description": "SQL backed implementations of DWN MessageStore, DataStore, and EventLog",
3
+ "version": "0.0.3",
4
+ "description": "SQL backed implementations of DWN MessageStore, DataStore, and StateIndex",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
7
7
  "homepage": "https://github.com/enboxorg/enbox/tree/main/packages/dwn-sql-store#readme",
@@ -14,55 +14,53 @@
14
14
  "publishConfig": {
15
15
  "access": "public"
16
16
  },
17
- "main": "./dist/cjs/main.js",
17
+ "main": "./dist/esm/src/main.js",
18
18
  "module": "./dist/esm/src/main.js",
19
19
  "types": "./dist/types/src/main.d.ts",
20
20
  "exports": {
21
21
  "import": "./dist/esm/src/main.js",
22
- "require": "./dist/cjs/main.js",
23
22
  "types": "./dist/types/src/main.d.ts"
24
23
  },
25
24
  "react-native": "./dist/esm/src/main.js",
26
25
  "dependencies": {
26
+ "@enbox/dwn-sdk-js": "0.0.3",
27
27
  "@ipld/dag-cbor": "9.0.5",
28
28
  "kysely": "0.26.3",
29
- "multiformats": "12.0.1",
30
- "readable-stream": "4.4.2",
31
- "@enbox/dwn-sdk-js": "0.0.2"
29
+ "multiformats": "12.0.1"
32
30
  },
33
31
  "devDependencies": {
34
- "@types/better-sqlite3": "7.6.4",
35
- "@types/chai": "4.3.4",
36
- "@types/chai-as-promised": "7.1.5",
32
+ "@types/bun": "latest",
37
33
  "@types/express": "4.17.17",
38
- "@types/mocha": "10.0.1",
39
- "@types/node": "20.3.1",
34
+ "@types/node": "20.14.8",
40
35
  "@types/pg": "8.10.2",
41
36
  "@types/pg-cursor": "2.7.0",
42
- "@types/readable-stream": "4.0.6",
43
37
  "@types/supertest": "2.0.12",
44
- "@typescript-eslint/eslint-plugin": "5.59.11",
45
- "@typescript-eslint/parser": "5.59.11",
46
- "better-sqlite3": "8.4.0",
47
- "c8": "8.0.0",
48
- "chai": "4.3.6",
49
- "chai-as-promised": "7.1.1",
38
+ "@typescript-eslint/eslint-plugin": "8.32.1",
39
+ "@typescript-eslint/parser": "8.32.1",
40
+ "bun-types": "latest",
50
41
  "esbuild": "^0.19.3",
51
- "eslint": "8.42.0",
52
- "mocha": "10.2.0",
42
+ "eslint": "9.7.0",
53
43
  "mysql2": "3.9.8",
54
44
  "pg": "8.11.1",
55
45
  "pg-cursor": "2.10.1",
56
46
  "rimraf": "5.0.1",
57
- "sinon": "^18.0.1",
58
- "typescript": "5.0.4"
47
+ "typescript": "5.5.4"
48
+ },
49
+ "scripts": {
50
+ "build:esm": "bun run clean && tsc",
51
+ "build": "bun run clean && bun run build:esm",
52
+ "clean": "rimraf dist compiled",
53
+ "lint": "eslint . --max-warnings 0",
54
+ "lint:fix": "eslint . --fix",
55
+ "test": "bun test .spec.ts",
56
+ "test:node:coverage": "bun test --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage .spec.ts"
59
57
  },
60
58
  "files": [
61
59
  "dist",
62
60
  "src"
63
61
  ],
64
62
  "engines": {
65
- "node": ">=18"
63
+ "bun": ">=1.0.0"
66
64
  },
67
65
  "contributors": [
68
66
  {
@@ -77,15 +75,5 @@
77
75
  "name": "Liran Cohen",
78
76
  "url": "https://github.com/lirancohen"
79
77
  }
80
- ],
81
- "scripts": {
82
- "build:esm": "pnpm clean & tsc",
83
- "build:cjs": "pnpm build:esm && node build/create-cjs-bundle.cjs && echo '{\"type\": \"commonjs\"}' > ./dist/cjs/package.json",
84
- "build": "pnpm clean && pnpm build:esm && pnpm build:cjs",
85
- "clean": "rimraf dist compiled",
86
- "lint": "eslint . --ext .ts --max-warnings 0",
87
- "lint:fix": "eslint . --ext .ts --fix",
88
- "test": "rimraf compiled && tsc -p tests/tsconfig.json && mocha",
89
- "test-coverage": "rimraf compiled && tsc -p tests/tsconfig.json && c8 mocha"
90
- }
91
- }
78
+ ]
79
+ }