swarm-mail 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/dist/adapter.d.ts +2 -2
  2. package/dist/db/client.d.ts +68 -0
  3. package/dist/db/client.d.ts.map +1 -0
  4. package/dist/db/drizzle.d.ts +24 -0
  5. package/dist/db/drizzle.d.ts.map +1 -0
  6. package/dist/db/index.d.ts +25 -0
  7. package/dist/db/index.d.ts.map +1 -0
  8. package/dist/db/migrate.d.ts +81 -0
  9. package/dist/db/migrate.d.ts.map +1 -0
  10. package/dist/db/schema/hive.d.ts +1596 -0
  11. package/dist/db/schema/hive.d.ts.map +1 -0
  12. package/dist/db/schema/index.d.ts +12 -0
  13. package/dist/db/schema/index.d.ts.map +1 -0
  14. package/dist/db/schema/memory.d.ts +214 -0
  15. package/dist/db/schema/memory.d.ts.map +1 -0
  16. package/dist/db/schema/streams.d.ts +1601 -0
  17. package/dist/db/schema/streams.d.ts.map +1 -0
  18. package/dist/hive/adapter.d.ts +8 -8
  19. package/dist/hive/adapter.d.ts.map +1 -1
  20. package/dist/hive/dependencies-drizzle.d.ts +31 -0
  21. package/dist/hive/dependencies-drizzle.d.ts.map +1 -0
  22. package/dist/hive/dependencies.d.ts.map +1 -1
  23. package/dist/hive/flush-manager.d.ts +2 -1
  24. package/dist/hive/flush-manager.d.ts.map +1 -1
  25. package/dist/hive/jsonl.d.ts.map +1 -1
  26. package/dist/hive/migrations.d.ts +23 -3
  27. package/dist/hive/migrations.d.ts.map +1 -1
  28. package/dist/hive/projections-drizzle.d.ts +43 -0
  29. package/dist/hive/projections-drizzle.d.ts.map +1 -0
  30. package/dist/hive/projections.d.ts +8 -0
  31. package/dist/hive/projections.d.ts.map +1 -1
  32. package/dist/hive/queries-drizzle.d.ts +52 -0
  33. package/dist/hive/queries-drizzle.d.ts.map +1 -0
  34. package/dist/hive/queries.d.ts +38 -0
  35. package/dist/hive/queries.d.ts.map +1 -1
  36. package/dist/hive/store.d.ts +36 -14
  37. package/dist/hive/store.d.ts.map +1 -1
  38. package/dist/index.d.ts +34 -18
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +83673 -38455
  41. package/dist/libsql.convenience.d.ts +155 -0
  42. package/dist/libsql.convenience.d.ts.map +1 -0
  43. package/dist/libsql.d.ts +93 -0
  44. package/dist/libsql.d.ts.map +1 -0
  45. package/dist/memory/adapter.d.ts +6 -7
  46. package/dist/memory/adapter.d.ts.map +1 -1
  47. package/dist/memory/libsql-schema.d.ts +83 -0
  48. package/dist/memory/libsql-schema.d.ts.map +1 -0
  49. package/dist/memory/migrate-legacy.d.ts +11 -0
  50. package/dist/memory/migrate-legacy.d.ts.map +1 -1
  51. package/dist/memory/migrations.d.ts +11 -0
  52. package/dist/memory/migrations.d.ts.map +1 -1
  53. package/dist/memory/store.d.ts +39 -31
  54. package/dist/memory/store.d.ts.map +1 -1
  55. package/dist/memory/test-utils.d.ts +59 -0
  56. package/dist/memory/test-utils.d.ts.map +1 -0
  57. package/dist/migrate-pglite-to-libsql.d.ts +73 -0
  58. package/dist/migrate-pglite-to-libsql.d.ts.map +1 -0
  59. package/dist/pglite.d.ts +8 -170
  60. package/dist/pglite.d.ts.map +1 -1
  61. package/dist/streams/agent-mail.d.ts +13 -0
  62. package/dist/streams/agent-mail.d.ts.map +1 -1
  63. package/dist/streams/auto-migrate.d.ts +182 -0
  64. package/dist/streams/auto-migrate.d.ts.map +1 -0
  65. package/dist/streams/effect/ask.d.ts +5 -4
  66. package/dist/streams/effect/ask.d.ts.map +1 -1
  67. package/dist/streams/effect/cursor.d.ts +3 -2
  68. package/dist/streams/effect/cursor.d.ts.map +1 -1
  69. package/dist/streams/effect/deferred.d.ts +12 -9
  70. package/dist/streams/effect/deferred.d.ts.map +1 -1
  71. package/dist/streams/effect/lock.d.ts +13 -11
  72. package/dist/streams/effect/lock.d.ts.map +1 -1
  73. package/dist/streams/effect/mailbox.d.ts +3 -2
  74. package/dist/streams/effect/mailbox.d.ts.map +1 -1
  75. package/dist/streams/events.d.ts +4 -0
  76. package/dist/streams/events.d.ts.map +1 -1
  77. package/dist/streams/index.d.ts +20 -74
  78. package/dist/streams/index.d.ts.map +1 -1
  79. package/dist/streams/libsql-schema.d.ts +77 -0
  80. package/dist/streams/libsql-schema.d.ts.map +1 -0
  81. package/dist/streams/migrations.d.ts +8 -8
  82. package/dist/streams/migrations.d.ts.map +1 -1
  83. package/dist/streams/projections-drizzle.d.ts +175 -0
  84. package/dist/streams/projections-drizzle.d.ts.map +1 -0
  85. package/dist/streams/projections.d.ts +9 -0
  86. package/dist/streams/projections.d.ts.map +1 -1
  87. package/dist/streams/store-drizzle.d.ts +96 -0
  88. package/dist/streams/store-drizzle.d.ts.map +1 -0
  89. package/dist/streams/store.d.ts +23 -0
  90. package/dist/streams/store.d.ts.map +1 -1
  91. package/dist/streams/swarm-mail.d.ts +9 -0
  92. package/dist/streams/swarm-mail.d.ts.map +1 -1
  93. package/dist/test-libsql.d.ts +76 -0
  94. package/dist/test-libsql.d.ts.map +1 -0
  95. package/dist/types/adapter.d.ts +3 -3
  96. package/dist/types/database.d.ts +12 -12
  97. package/dist/types/hive-adapter.d.ts +5 -5
  98. package/package.json +5 -5
  99. package/dist/beads/adapter.d.ts +0 -38
  100. package/dist/beads/adapter.d.ts.map +0 -1
  101. package/dist/beads/blocked-cache.d.ts +0 -21
  102. package/dist/beads/blocked-cache.d.ts.map +0 -1
  103. package/dist/beads/comments.d.ts +0 -21
  104. package/dist/beads/comments.d.ts.map +0 -1
  105. package/dist/beads/dependencies.d.ts +0 -58
  106. package/dist/beads/dependencies.d.ts.map +0 -1
  107. package/dist/beads/events.d.ts +0 -163
  108. package/dist/beads/events.d.ts.map +0 -1
  109. package/dist/beads/flush-manager.d.ts +0 -71
  110. package/dist/beads/flush-manager.d.ts.map +0 -1
  111. package/dist/beads/index.d.ts +0 -25
  112. package/dist/beads/index.d.ts.map +0 -1
  113. package/dist/beads/jsonl.d.ts +0 -103
  114. package/dist/beads/jsonl.d.ts.map +0 -1
  115. package/dist/beads/labels.d.ts +0 -21
  116. package/dist/beads/labels.d.ts.map +0 -1
  117. package/dist/beads/merge.d.ts +0 -99
  118. package/dist/beads/merge.d.ts.map +0 -1
  119. package/dist/beads/migrations.d.ts +0 -41
  120. package/dist/beads/migrations.d.ts.map +0 -1
  121. package/dist/beads/operations.d.ts +0 -56
  122. package/dist/beads/operations.d.ts.map +0 -1
  123. package/dist/beads/projections.d.ts +0 -103
  124. package/dist/beads/projections.d.ts.map +0 -1
  125. package/dist/beads/queries.d.ts +0 -77
  126. package/dist/beads/queries.d.ts.map +0 -1
  127. package/dist/beads/store.d.ts +0 -98
  128. package/dist/beads/store.d.ts.map +0 -1
  129. package/dist/beads/validation.d.ts +0 -75
  130. package/dist/beads/validation.d.ts.map +0 -1
  131. package/dist/daemon.d.ts +0 -161
  132. package/dist/daemon.d.ts.map +0 -1
  133. package/dist/socket-adapter.d.ts +0 -78
  134. package/dist/socket-adapter.d.ts.map +0 -1
  135. package/dist/streams/debug.d.ts +0 -173
  136. package/dist/streams/debug.d.ts.map +0 -1
  137. package/dist/test-server.d.ts +0 -64
  138. package/dist/test-server.d.ts.map +0 -1
  139. package/dist/types/beads-adapter.d.ts +0 -397
  140. package/dist/types/beads-adapter.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../../src/db/schema/streams.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBvB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBzB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAalC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB7B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAatB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAexB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB3B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe7B,CAAC"}
@@ -13,16 +13,16 @@
13
13
  *
14
14
  * ## Usage
15
15
  * ```typescript
16
- * import { wrapPGlite } from '@opencode/swarm-mail/pglite';
17
- * import { createHiveAdapter } from '@opencode/swarm-mail/beads';
16
+ * import { createInMemorySwarmMailLibSQL } from 'swarm-mail';
17
+ * import { createHiveAdapter } from 'swarm-mail';
18
18
  *
19
- * const pglite = new PGlite('./streams.db');
20
- * const db = wrapPGlite(pglite);
21
- * const beads = createHiveAdapter(db, '/path/to/project');
19
+ * const swarmMail = await createInMemorySwarmMailLibSQL('my-project');
20
+ * const db = await swarmMail.getDatabase();
21
+ * const hive = createHiveAdapter(db, '/path/to/project');
22
22
  *
23
23
  * // Use the adapter
24
- * await beads.createCell(projectKey, { title: "Task", type: "task", priority: 2 });
25
- * const bead = await beads.getCell(projectKey, "bd-123");
24
+ * await hive.createCell(projectKey, { title: "Task", type: "task", priority: 2 });
25
+ * const cell = await hive.getCell(projectKey, "cell-123");
26
26
  * ```
27
27
  */
28
28
  import type { DatabaseAdapter } from "../types/database.js";
@@ -30,7 +30,7 @@ import type { HiveAdapter } from "../types/hive-adapter.js";
30
30
  /**
31
31
  * Create a HiveAdapter instance
32
32
  *
33
- * @param db - DatabaseAdapter instance (PGLite, SQLite, PostgreSQL, etc.)
33
+ * @param db - DatabaseAdapter instance (libSQL, SQLite, etc.)
34
34
  * @param projectKey - Project identifier (typically the project path)
35
35
  * @returns HiveAdapter interface
36
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/hive/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA+B5D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,GACjB,WAAW,CAmjBb"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/hive/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA+B5D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,GACjB,WAAW,CAqlBb"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Dependency Graph Operations - Drizzle Implementation
3
+ *
4
+ * Drizzle-based operations for blocked cache management.
5
+ * Only handles write operations - complex graph queries stay in dependencies.ts
6
+ *
7
+ * @module hive/dependencies-drizzle
8
+ */
9
+ import type { SwarmDb } from "../db/client.js";
10
+ /**
11
+ * Get all open blockers for a bead (including transitive)
12
+ *
13
+ * Uses raw SQL because recursive CTEs are complex in Drizzle.
14
+ * Returns bead IDs of all beads blocking this one that aren't closed.
15
+ * Only considers "blocks" relationship type.
16
+ */
17
+ export declare function getOpenBlockersDrizzle(db: SwarmDb, projectKey: string, cellId: string): Promise<string[]>;
18
+ /**
19
+ * Rebuild blocked cache for a specific bead using Drizzle
20
+ *
21
+ * Finds all open blockers and updates the cache.
22
+ * If no open blockers, removes from cache (bead is unblocked).
23
+ */
24
+ export declare function rebuildBeadBlockedCacheDrizzle(db: SwarmDb, projectKey: string, cellId: string): Promise<void>;
25
+ /**
26
+ * Invalidate blocked cache when dependencies change using Drizzle
27
+ *
28
+ * Rebuilds cache for the cell and all its dependents.
29
+ */
30
+ export declare function invalidateBlockedCacheDrizzle(db: SwarmDb, projectKey: string, cellId: string): Promise<void>;
31
+ //# sourceMappingURL=dependencies-drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies-drizzle.d.ts","sourceRoot":"","sources":["../../src/hive/dependencies-drizzle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK/C;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnB;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/hive/dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,eAAe,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBnB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/hive/dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,eAAe,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CA4BlB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBnB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -58,7 +58,8 @@ export declare class FlushManager {
58
58
  /**
59
59
  * Force immediate flush
60
60
  *
61
- * Exports all dirty beads to the output file.
61
+ * Exports all dirty beads to the output file, merging with existing content.
62
+ * Dirty cells overwrite existing cells with the same ID.
62
63
  */
63
64
  flush(): Promise<FlushResult>;
64
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"flush-manager.d.ts","sourceRoot":"","sources":["../../src/hive/flush-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAgC;IAChD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,mBAAmB;IAQxC;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAcrB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IA8DnC;;;;OAIG;IACH,IAAI,IAAI,IAAI;CAMb"}
1
+ {"version":3,"file":"flush-manager.d.ts","sourceRoot":"","sources":["../../src/hive/flush-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAgC;IAChD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,mBAAmB;IAQxC;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAcrB;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAuFnC;;;;OAIG;IACH,IAAI,IAAI,IAAI;CAMb"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../src/hive/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAa5D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAyBtD;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAI3D;AAMD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA4EjB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAa/C;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAqBvB"}
1
+ {"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../src/hive/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAa5D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAyBtD;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAI3D;AAMD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA8EjB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAa/C;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAqBvB"}
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * Beads Schema Migration (v7-v8)
3
3
  *
4
- * Adds beads-specific tables to the shared PGLite database.
4
+ * Adds beads-specific tables to the shared libSQL database.
5
5
  * This migration extends the existing swarm-mail schema.
6
6
  *
7
7
  * ## Migration Strategy
8
8
  * - Migration v7 adds beads tables to existing swarm-mail schema (v0-v6)
9
9
  * - Migration v8 adds cells view for beads→hive rename compatibility
10
- * - Shares same PGLite database instance and migration system
10
+ * - Shares same libSQL database instance and migration system
11
11
  * - Uses same schema_version table for tracking
12
12
  *
13
13
  * ## Tables Created
@@ -44,12 +44,32 @@ export declare const beadsMigration: Migration;
44
44
  * The view is updatable via INSTEAD OF triggers for INSERT/UPDATE/DELETE.
45
45
  */
46
46
  export declare const cellsViewMigration: Migration;
47
+ /**
48
+ * LibSQL-compatible cells view migration (v8)
49
+ *
50
+ * SQLite doesn't support CREATE OR REPLACE or stored procedures.
51
+ * Use DROP IF EXISTS + CREATE and inline INSTEAD OF triggers.
52
+ */
53
+ export declare const cellsViewMigrationLibSQL: Migration;
54
+ /**
55
+ * LibSQL-compatible beads migration (v7)
56
+ *
57
+ * Differences from PGLite version:
58
+ * - Uses INTEGER PRIMARY KEY AUTOINCREMENT instead of SERIAL
59
+ * - Uses TEXT (JSON string) instead of TEXT[] for arrays
60
+ * - Uses INTEGER instead of BIGINT (SQLite treats both as INTEGER anyway)
61
+ */
62
+ export declare const beadsMigrationLibSQL: Migration;
47
63
  /**
48
64
  * Export individual migrations
49
65
  */
50
66
  export declare const beadsMigrations: Migration[];
51
67
  /**
52
- * All hive migrations in order
68
+ * All hive migrations in order (PGLite version)
53
69
  */
54
70
  export declare const hiveMigrations: Migration[];
71
+ /**
72
+ * All hive migrations in order (LibSQL version)
73
+ */
74
+ export declare const hiveMigrationsLibSQL: Migration[];
55
75
  //# sourceMappingURL=migrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/hive/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,SAoH5B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAiFhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAAqB,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,EAAyC,CAAC"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/hive/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,SAoH5B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAiFhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAiEtC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAqHlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAAqB,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,EAAyC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,EAAqD,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Hive Projections Layer - Drizzle Implementation
3
+ *
4
+ * Drizzle-based write operations for materialized views.
5
+ * These are the write-side of CQRS - updating denormalized data from events.
6
+ *
7
+ * Key operations:
8
+ * - Event handlers for cell lifecycle (created, updated, closed, etc.)
9
+ * - Dependency management (add/remove)
10
+ * - Label and comment operations
11
+ * - Dirty tracking for JSONL export
12
+ *
13
+ * @module hive/projections-drizzle
14
+ */
15
+ import type { SwarmDb } from "../db/client.js";
16
+ type CellEvent = {
17
+ type: string;
18
+ project_key: string;
19
+ cell_id: string;
20
+ timestamp: number;
21
+ [key: string]: unknown;
22
+ };
23
+ /**
24
+ * Update projections based on an event using Drizzle
25
+ *
26
+ * This is called by the event store after appending an event.
27
+ * Routes to specific handlers based on event type.
28
+ */
29
+ export declare function updateProjectionsDrizzle(db: SwarmDb, event: CellEvent): Promise<void>;
30
+ /**
31
+ * Mark bead as dirty for JSONL export using Drizzle
32
+ */
33
+ export declare function markBeadDirtyDrizzle(db: SwarmDb, projectKey: string, cellId: string): Promise<void>;
34
+ /**
35
+ * Clear dirty flag after export using Drizzle
36
+ */
37
+ export declare function clearDirtyBeadDrizzle(db: SwarmDb, projectKey: string, cellId: string): Promise<void>;
38
+ /**
39
+ * Clear all dirty flags using Drizzle
40
+ */
41
+ export declare function clearAllDirtyBeadsDrizzle(db: SwarmDb, projectKey: string): Promise<void>;
42
+ export {};
43
+ //# sourceMappingURL=projections-drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projections-drizzle.d.ts","sourceRoot":"","sources":["../../src/hive/projections-drizzle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAa/C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAMF;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC,CA2Df;AAuTD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -34,6 +34,8 @@ type CellEvent = {
34
34
  *
35
35
  * This is called by the event store after appending an event.
36
36
  * Routes to specific handlers based on event type.
37
+ *
38
+ * Uses Drizzle for write operations.
37
39
  */
38
40
  export declare function updateProjections(db: DatabaseAdapter, event: CellEvent): Promise<void>;
39
41
  /**
@@ -85,6 +87,8 @@ export declare function getBlockedCells(db: DatabaseAdapter, projectKey: string)
85
87
  }>>;
86
88
  /**
87
89
  * Mark bead as dirty for JSONL export
90
+ *
91
+ * Uses Drizzle for write operations.
88
92
  */
89
93
  export declare function markBeadDirty(db: DatabaseAdapter, projectKey: string, cellId: string): Promise<void>;
90
94
  /**
@@ -93,10 +97,14 @@ export declare function markBeadDirty(db: DatabaseAdapter, projectKey: string, c
93
97
  export declare function getDirtyCells(db: DatabaseAdapter, projectKey: string): Promise<string[]>;
94
98
  /**
95
99
  * Clear dirty flag after export
100
+ *
101
+ * Uses Drizzle for write operations.
96
102
  */
97
103
  export declare function clearDirtyBead(db: DatabaseAdapter, projectKey: string, cellId: string): Promise<void>;
98
104
  /**
99
105
  * Clear all dirty flags
106
+ *
107
+ * Uses Drizzle for write operations.
100
108
  */
101
109
  export declare function clearAllDirtyBeads(db: DatabaseAdapter, projectKey: string): Promise<void>;
102
110
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../src/hive/projections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../src/hive/projections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Drizzle ORM implementations for hive query functions
3
+ *
4
+ * This file contains Drizzle-based implementations of simple queries from queries.ts.
5
+ * Complex queries with CTEs, cache table joins, and JSON operators remain as raw SQL.
6
+ *
7
+ * @module hive/queries-drizzle
8
+ */
9
+ import type { Cell, HiveAdapter } from "../types/hive-adapter.js";
10
+ import type { StaleOptions } from "./queries.js";
11
+ /**
12
+ * Resolve partial cell ID hash to full cell ID (Drizzle implementation)
13
+ *
14
+ * Cell ID format: {prefix}-{hash}-{timestamp}{random}
15
+ * This function matches the hash portion (middle segment) and returns the full ID.
16
+ *
17
+ * CONVERTED TO DRIZZLE: Simple SELECT with LIKE pattern, no joins
18
+ *
19
+ * @param adapter - HiveAdapter instance
20
+ * @param projectKey - Project key to filter cells
21
+ * @param partialHash - Full or partial hash to match
22
+ * @returns Full cell ID if found, null if not found
23
+ * @throws Error if multiple cells match (ambiguous)
24
+ */
25
+ export declare function resolvePartialIdDrizzle(adapter: HiveAdapter, projectKey: string, partialHash: string): Promise<string | null>;
26
+ /**
27
+ * Get stale issues (not updated in N days) - Drizzle implementation
28
+ *
29
+ * CONVERTED TO DRIZZLE: Simple SELECT with WHERE, ORDER BY, LIMIT
30
+ * No complex joins or CTEs
31
+ */
32
+ export declare function getStaleIssuesDrizzle(adapter: HiveAdapter, projectKey: string, days: number, options?: StaleOptions): Promise<Cell[]>;
33
+ /**
34
+ * Get counts by type (Drizzle implementation)
35
+ *
36
+ * CONVERTED TO DRIZZLE: Simple GROUP BY query
37
+ * Used as part of getStatistics
38
+ */
39
+ export declare function getCountsByTypeDrizzle(adapter: HiveAdapter, projectKey: string): Promise<Record<string, number>>;
40
+ /**
41
+ * Get basic status counts (Drizzle implementation)
42
+ *
43
+ * CONVERTED TO DRIZZLE: Simple aggregation with CASE
44
+ * Used as part of getStatistics
45
+ */
46
+ export declare function getStatusCountsDrizzle(adapter: HiveAdapter, projectKey: string): Promise<{
47
+ total: number;
48
+ open: number;
49
+ in_progress: number;
50
+ closed: number;
51
+ }>;
52
+ //# sourceMappingURL=queries-drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries-drizzle.d.ts","sourceRoot":"","sources":["../../src/hive/queries-drizzle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAuBjD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BxB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,EAAE,CAAC,CAiCjB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAuBjC;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CA0BD"}
@@ -11,6 +11,14 @@
11
11
  *
12
12
  * Based on steveyegge/beads query patterns.
13
13
  *
14
+ * ## Drizzle Migration Status
15
+ * - ✅ resolvePartialId - Drizzle (simple LIKE query)
16
+ * - ✅ getStaleIssues - Drizzle (simple WHERE + ORDER BY)
17
+ * - ✅ getStatistics (partial) - Drizzle for counts, raw SQL for cache queries
18
+ * - ❌ getReadyWork - Raw SQL (complex cache EXISTS, dynamic WHERE, CASE sorting)
19
+ * - ❌ getBlockedIssues - Raw SQL (cache JOIN + JSON parsing)
20
+ * - ❌ getEpicsEligibleForClosure - Raw SQL (complex JOIN + GROUP BY + HAVING)
21
+ *
14
22
  * @module beads/queries
15
23
  */
16
24
  import type { Cell, CellStatus, HiveAdapter } from "../types/hive-adapter.js";
@@ -57,22 +65,50 @@ export interface Statistics {
57
65
  *
58
66
  * By default returns both 'open' and 'in_progress' beads so epics/tasks
59
67
  * ready to close are visible (matching steveyegge/beads behavior).
68
+ *
69
+ * ❌ KEPT AS RAW SQL: Complex query requirements
70
+ * - Uses blocked_beads_cache table with EXISTS subquery
71
+ * - Dynamic WHERE clause building based on options
72
+ * - Hybrid sort policy with complex CASE expressions
73
+ * - Label filtering with multiple EXISTS subqueries
74
+ *
75
+ * Drizzle CAN do this, but readability/maintainability favors raw SQL here.
60
76
  */
61
77
  export declare function getReadyWork(adapter: HiveAdapter, projectKey: string, options?: ReadyWorkOptions): Promise<Cell[]>;
62
78
  /**
63
79
  * Get all blocked beads with their blockers
80
+ *
81
+ * ❌ KEPT AS RAW SQL: Requires cache table JOIN and JSON parsing
82
+ * - JOINs with blocked_beads_cache materialized view
83
+ * - Parses blocker_ids JSON column (SQLite doesn't have native arrays)
84
+ *
85
+ * Drizzle doesn't have great JSON column support for SQLite.
64
86
  */
65
87
  export declare function getBlockedIssues(adapter: HiveAdapter, projectKey: string): Promise<BlockedCell[]>;
66
88
  /**
67
89
  * Get epics eligible for closure (all children closed)
90
+ *
91
+ * ❌ KEPT AS RAW SQL: Complex GROUP BY + HAVING with conditional counts
92
+ * - Self-JOIN on beads table (parent → children)
93
+ * - GROUP BY with HAVING clause
94
+ * - Conditional COUNT with CASE
95
+ *
96
+ * Drizzle's GROUP BY + HAVING is verbose and harder to read.
68
97
  */
69
98
  export declare function getEpicsEligibleForClosure(adapter: HiveAdapter, projectKey: string): Promise<EpicStatus[]>;
70
99
  /**
71
100
  * Get stale issues (not updated in N days)
101
+ *
102
+ * ✅ MIGRATED TO DRIZZLE: Simple SELECT with WHERE, ORDER BY, LIMIT
103
+ * No complex joins or CTEs
72
104
  */
73
105
  export declare function getStaleIssues(adapter: HiveAdapter, projectKey: string, days: number, options?: StaleOptions): Promise<Cell[]>;
74
106
  /**
75
107
  * Get aggregate statistics
108
+ *
109
+ * HYBRID APPROACH:
110
+ * - ✅ Status counts and type counts use Drizzle (simple aggregations)
111
+ * - ❌ Blocked/ready counts use raw SQL (requires blocked_beads_cache EXISTS)
76
112
  */
77
113
  export declare function getStatistics(adapter: HiveAdapter, projectKey: string): Promise<Statistics>;
78
114
  /**
@@ -81,6 +117,8 @@ export declare function getStatistics(adapter: HiveAdapter, projectKey: string):
81
117
  * Cell ID format: {prefix}-{hash}-{timestamp}{random}
82
118
  * This function matches the hash portion (middle segment) and returns the full ID.
83
119
  *
120
+ * ✅ MIGRATED TO DRIZZLE: Simple SELECT with LIKE pattern, no joins or CTEs
121
+ *
84
122
  * @param adapter - HiveAdapter instance
85
123
  * @param projectKey - Project key to filter cells
86
124
  * @param partialHash - Full or partial hash to match
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/hive/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,EAAE,CAAC,CA2DjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAmBxB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,EAAE,CAAC,CA4BvB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,EAAE,CAAC,CAmCjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CA4ErB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/hive/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQ9E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,EAAE,CAAC,CA2DjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBxB;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,EAAE,CAAC,CA4BvB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
@@ -1,12 +1,11 @@
1
1
  /**
2
- * Beads Event Store - Append-only event log for bead operations
2
+ * Beads Event Store - Drizzle ORM Implementation
3
3
  *
4
- * Integrates bead events (from opencode-swarm-plugin) into the shared
5
- * swarm-mail event store. Follows same pattern as streams/store.ts but
6
- * for bead-specific events.
4
+ * Drizzle-based implementation of cell event store operations.
5
+ * Replaces raw SQL queries with type-safe Drizzle query builder.
7
6
  *
8
7
  * ## Architecture
9
- * - Bead events stored in shared `events` table (same as agent/message events)
8
+ * - Cell events stored in shared `events` table (same as agent/message events)
10
9
  * - Events trigger updateProjections() to update materialized views
11
10
  * - Events are NOT replayed for state (hybrid model - projections are source of truth)
12
11
  * - Event log provides audit trail and debugging for swarm coordination
@@ -18,15 +17,16 @@
18
17
  *
19
18
  * @module beads/store
20
19
  */
20
+ import type { SwarmDb } from "../db/client.js";
21
21
  import type { DatabaseAdapter } from "../types/database.js";
22
22
  import type { CellEvent } from "./events.js";
23
23
  /**
24
- * Options for reading bead events
24
+ * Options for reading cell events
25
25
  */
26
26
  export interface ReadCellEventsOptions {
27
27
  /** Filter by project key */
28
28
  projectKey?: string;
29
- /** Filter by bead ID */
29
+ /** Filter by cell ID */
30
30
  cellId?: string;
31
31
  /** Filter by event types */
32
32
  types?: CellEvent["type"][];
@@ -42,12 +42,34 @@ export interface ReadCellEventsOptions {
42
42
  offset?: number;
43
43
  }
44
44
  /**
45
- * Append a bead event to the shared event store
45
+ * Append a cell event using Drizzle
46
+ *
47
+ * @param db - Drizzle database instance
48
+ * @param event - Cell event to append
49
+ * @returns Event with id and sequence
50
+ */
51
+ export declare function appendCellEventDrizzle(db: SwarmDb, event: CellEvent): Promise<CellEvent & {
52
+ id: number;
53
+ sequence: number;
54
+ }>;
55
+ /**
56
+ * Read cell events with optional filters using Drizzle
57
+ *
58
+ * @param db - Drizzle database instance
59
+ * @param options - Filter options
60
+ * @returns Array of cell events with id and sequence
61
+ */
62
+ export declare function readCellEventsDrizzle(db: SwarmDb, options?: ReadCellEventsOptions): Promise<Array<CellEvent & {
63
+ id: number;
64
+ sequence: number;
65
+ }>>;
66
+ /**
67
+ * Append a cell event to the shared event store (convenience wrapper)
46
68
  *
47
69
  * Events are stored in the same `events` table as agent/message events.
48
70
  * Triggers updateProjections() to update materialized views.
49
71
  *
50
- * @param event - Bead event to append
72
+ * @param event - Cell event to append
51
73
  * @param projectPath - Optional project path for database location
52
74
  * @param dbOverride - Optional database adapter for dependency injection
53
75
  * @returns Event with id and sequence number
@@ -57,28 +79,28 @@ export declare function appendCellEvent(event: CellEvent, projectPath?: string,
57
79
  sequence: number;
58
80
  }>;
59
81
  /**
60
- * Read bead events with optional filters
82
+ * Read cell events with optional filters (convenience wrapper)
61
83
  *
62
- * Queries the shared events table for bead events (type starts with "cell_").
84
+ * Queries the shared events table for cell events (type starts with "cell_").
63
85
  *
64
86
  * @param options - Filter options
65
87
  * @param projectPath - Optional project path for database location
66
88
  * @param dbOverride - Optional database adapter for dependency injection
67
- * @returns Array of bead events with id and sequence
89
+ * @returns Array of cell events with id and sequence
68
90
  */
69
91
  export declare function readCellEvents(options?: ReadCellEventsOptions, projectPath?: string, dbOverride?: DatabaseAdapter): Promise<Array<CellEvent & {
70
92
  id: number;
71
93
  sequence: number;
72
94
  }>>;
73
95
  /**
74
- * Replay bead events to rebuild materialized views
96
+ * Replay cell events to rebuild materialized views
75
97
  *
76
98
  * Useful for:
77
99
  * - Recovering from projection corruption
78
100
  * - Migrating to new schema
79
101
  * - Debugging state issues
80
102
  *
81
- * Note: Unlike swarm-mail agent events, bead projections are NOT rebuilt
103
+ * Note: Unlike swarm-mail agent events, cell projections are NOT rebuilt
82
104
  * from events in normal operation (hybrid CRUD + audit trail model).
83
105
  * This function is for recovery/debugging only.
84
106
  *
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/hive/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+B7C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BvD;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,EACnC,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAoF9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,EACN,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAyEvD"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/hive/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+B7C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAoCvD;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,OAAO,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA4D9D;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAcvD;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,EACnC,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgB9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,EACN,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAmEvD"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Swarm Mail - Actor-model primitives for multi-agent coordination
3
3
  *
4
- * ## Simple API (PGLite convenience layer)
4
+ * ## Simple API (libSQL convenience layer)
5
5
  * ```typescript
6
- * import { getSwarmMail } from '@opencode/swarm-mail';
7
- * const swarmMail = await getSwarmMail('/path/to/project');
6
+ * import { getSwarmMailLibSQL } from '@opencode/swarm-mail';
7
+ * const swarmMail = await getSwarmMailLibSQL('/path/to/project');
8
8
  * ```
9
9
  *
10
10
  * ## Advanced API (database-agnostic adapter)
@@ -16,21 +16,37 @@
16
16
  */
17
17
  export declare const SWARM_MAIL_VERSION = "0.1.0";
18
18
  export { createSwarmMailAdapter } from "./adapter";
19
- export type { DatabaseAdapter, SwarmMailAdapter, EventStoreAdapter, AgentAdapter, MessagingAdapter, ReservationAdapter, SchemaAdapter, ReadEventsOptions, InboxOptions, Message, Reservation, Conflict, } from "./types";
20
- export { getSwarmMail, getSwarmMailSocket, createInMemorySwarmMail, closeSwarmMail, closeAllSwarmMail, getDatabasePath, getProjectTempDirName, hashProjectPath, PGlite, } from "./pglite";
21
- export { wrapPostgres, createSocketAdapter, } from "./socket-adapter";
22
- export type { SocketAdapterOptions } from "./socket-adapter";
23
- export * from "./streams";
19
+ export type { AgentAdapter, Conflict, DatabaseAdapter, EventStoreAdapter, InboxOptions, Message, MessagingAdapter, ReadEventsOptions, Reservation, ReservationAdapter, SchemaAdapter, SwarmMailAdapter, } from "./types";
20
+ export type { LibSQLConfig } from "./libsql";
21
+ export { createLibSQLAdapter } from "./libsql";
22
+ export { closeAllSwarmMailLibSQL, closeAllSwarmMailLibSQL as closeAllSwarmMail, // Alias for backward compatibility
23
+ closeSwarmMailLibSQL, createInMemorySwarmMailLibSQL, createInMemorySwarmMailLibSQL as createInMemorySwarmMail, // Alias for backward compatibility
24
+ getDatabasePath as getLibSQLDatabasePath, getProjectTempDirName as getLibSQLProjectTempDirName, getSwarmMailLibSQL, hashProjectPath as hashLibSQLProjectPath, } from "./libsql.convenience";
25
+ export { createLibSQLMemorySchema, dropLibSQLMemorySchema, EMBEDDING_DIM as LIBSQL_EMBEDDING_DIM, validateLibSQLMemorySchema, } from "./memory/libsql-schema";
26
+ export { createLibSQLStreamsSchema, dropLibSQLStreamsSchema, validateLibSQLStreamsSchema, } from "./streams/libsql-schema";
27
+ export { checkHealth as checkSwarmHealth } from "./streams/agent-mail";
28
+ export { backupOldDb, detectSourceType, getGlobalDbPath, migrateLibSQLToGlobal, migratePGLiteToGlobal, migrateProjectToGlobal, needsMigration, } from "./streams/auto-migrate";
29
+ export type { MigrationResult as AutoMigrationResult, MigrationStats as AutoMigrationStats, SourceType, } from "./streams/auto-migrate";
30
+ export type { DecompositionGeneratedEvent, MailSessionState, SubtaskOutcomeEvent, } from "./streams/events";
31
+ export { createEvent } from "./streams/events";
32
+ export { appendEvent, clearAdapterCache, getActiveReservations, getAgent, getEvalRecords, getEvalStats, getOldProjectDbPaths, readEvents, } from "./streams/index";
33
+ export type { EvalRecord } from "./streams/projections-drizzle";
34
+ export { acknowledgeSwarmMessage, checkSwarmHealth as checkSwarmMailHealth, getSwarmInbox, initSwarmAgent, readSwarmMessage, releaseSwarmFiles, reserveSwarmFiles, sendSwarmMessage, } from "./streams/swarm-mail";
24
35
  export * from "./hive";
25
- export { startDaemon, stopDaemon, isDaemonRunning, healthCheck, getPidFilePath, } from "./daemon";
26
- export type { DaemonOptions, DaemonInfo } from "./daemon";
27
- export { createMemoryStore, EMBEDDING_DIM, } from "./memory/store";
28
- export type { Memory, SearchResult, SearchOptions, } from "./memory/store";
29
- export { Ollama, OllamaError, getDefaultConfig, makeOllamaLive, } from "./memory/ollama";
30
- export type { MemoryConfig } from "./memory/ollama";
31
- export { memoryMigration, memoryMigrations, } from "./memory/migrations";
32
- export { legacyDatabaseExists, migrateLegacyMemories, getMigrationStatus, getDefaultLegacyPath, } from "./memory/migrate-legacy";
36
+ export { createMemoryAdapter } from "./memory/adapter";
33
37
  export type { MigrationOptions, MigrationResult, } from "./memory/migrate-legacy";
34
- export { exportMemories, importMemories, syncMemories, parseMemoryJSONL, serializeMemoryToJSONL, } from "./memory/sync";
35
- export type { MemoryExport, MemoryImportResult, ExportOptions as MemoryExportOptions, ImportOptions as MemoryImportOptions, } from "./memory/sync";
38
+ export { getDefaultLegacyPath, getMigrationStatus, legacyDatabaseExists, migrateLegacyMemories, targetHasMemories, } from "./memory/migrate-legacy";
39
+ export { memoryMigration, memoryMigrations, } from "./memory/migrations";
40
+ export type { MemoryConfig } from "./memory/ollama";
41
+ export { getDefaultConfig, makeOllamaLive, Ollama, OllamaError, } from "./memory/ollama";
42
+ export type { Memory, SearchOptions, SearchResult, } from "./memory/store";
43
+ export { createMemoryStore, EMBEDDING_DIM, } from "./memory/store";
44
+ export type { ExportOptions as MemoryExportOptions, ImportOptions as MemoryImportOptions, MemoryExport, MemoryImportResult, } from "./memory/sync";
45
+ export { exportMemories, importMemories, parseMemoryJSONL, serializeMemoryToJSONL, syncMemories, } from "./memory/sync";
46
+ export { createTestMemoryDb } from "./memory/test-utils";
47
+ export type { SwarmDb } from "./db";
48
+ export { closeDb, createInMemoryDb, getDb } from "./db";
49
+ export { createDrizzleClient } from "./db/drizzle";
50
+ export { toDrizzleDb, toSwarmDb } from "./libsql.convenience";
51
+ export { type MigrationOptions as PGliteMigrationOptions, type MigrationResult as PGliteMigrationResult, migratePGliteToLibSQL, pgliteExists, } from "./migrate-pglite-to-libsql";
36
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAM1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,MAAM,GACP,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,YAAY,EACZ,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAM7D,cAAc,WAAW,CAAC;AAM1B,cAAc,QAAQ,CAAC;AAMvB,OAAO,EACL,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM1D,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,MAAM,EACN,YAAY,EACZ,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,gBAAgB,EAChB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,IAAI,mBAAmB,EACpC,aAAa,IAAI,mBAAmB,GACrC,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}