swarm-mail 1.2.2 → 1.4.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 (190) hide show
  1. package/README.md +174 -144
  2. package/bin/swarm-db.ts +168 -0
  3. package/dist/adapter.d.ts +2 -2
  4. package/dist/analytics/formatters.d.ts +50 -0
  5. package/dist/analytics/formatters.d.ts.map +1 -0
  6. package/dist/analytics/index.d.ts +35 -0
  7. package/dist/analytics/index.d.ts.map +1 -0
  8. package/dist/analytics/queries/agent-activity.d.ts +21 -0
  9. package/dist/analytics/queries/agent-activity.d.ts.map +1 -0
  10. package/dist/analytics/queries/checkpoint-frequency.d.ts +26 -0
  11. package/dist/analytics/queries/checkpoint-frequency.d.ts.map +1 -0
  12. package/dist/analytics/queries/failed-decompositions.d.ts +22 -0
  13. package/dist/analytics/queries/failed-decompositions.d.ts.map +1 -0
  14. package/dist/analytics/queries/human-feedback.d.ts +26 -0
  15. package/dist/analytics/queries/human-feedback.d.ts.map +1 -0
  16. package/dist/analytics/queries/index.d.ts +21 -0
  17. package/dist/analytics/queries/index.d.ts.map +1 -0
  18. package/dist/analytics/queries/lock-contention.d.ts +20 -0
  19. package/dist/analytics/queries/lock-contention.d.ts.map +1 -0
  20. package/dist/analytics/queries/message-latency.d.ts +24 -0
  21. package/dist/analytics/queries/message-latency.d.ts.map +1 -0
  22. package/dist/analytics/queries/recovery-success.d.ts +26 -0
  23. package/dist/analytics/queries/recovery-success.d.ts.map +1 -0
  24. package/dist/analytics/queries/scope-violations.d.ts +27 -0
  25. package/dist/analytics/queries/scope-violations.d.ts.map +1 -0
  26. package/dist/analytics/queries/strategy-success-rates.d.ts +20 -0
  27. package/dist/analytics/queries/strategy-success-rates.d.ts.map +1 -0
  28. package/dist/analytics/queries/task-duration.d.ts +31 -0
  29. package/dist/analytics/queries/task-duration.d.ts.map +1 -0
  30. package/dist/analytics/query-builder.d.ts +110 -0
  31. package/dist/analytics/query-builder.d.ts.map +1 -0
  32. package/dist/analytics/types.d.ts +36 -0
  33. package/dist/analytics/types.d.ts.map +1 -0
  34. package/dist/cli/db.d.ts +73 -0
  35. package/dist/cli/db.d.ts.map +1 -0
  36. package/dist/db/client.d.ts +68 -0
  37. package/dist/db/client.d.ts.map +1 -0
  38. package/dist/db/drizzle.d.ts +24 -0
  39. package/dist/db/drizzle.d.ts.map +1 -0
  40. package/dist/db/index.d.ts +25 -0
  41. package/dist/db/index.d.ts.map +1 -0
  42. package/dist/db/migrate.d.ts +81 -0
  43. package/dist/db/migrate.d.ts.map +1 -0
  44. package/dist/db/schema/hive.d.ts +1596 -0
  45. package/dist/db/schema/hive.d.ts.map +1 -0
  46. package/dist/db/schema/index.d.ts +12 -0
  47. package/dist/db/schema/index.d.ts.map +1 -0
  48. package/dist/db/schema/memory.d.ts +214 -0
  49. package/dist/db/schema/memory.d.ts.map +1 -0
  50. package/dist/db/schema/streams.d.ts +1601 -0
  51. package/dist/db/schema/streams.d.ts.map +1 -0
  52. package/dist/debug-demo.d.ts +12 -0
  53. package/dist/debug-demo.d.ts.map +1 -0
  54. package/dist/debug.d.ts +19 -0
  55. package/dist/debug.d.ts.map +1 -0
  56. package/dist/errors/base-error.d.ts +49 -0
  57. package/dist/errors/base-error.d.ts.map +1 -0
  58. package/dist/errors/checkpoint-error.d.ts +10 -0
  59. package/dist/errors/checkpoint-error.d.ts.map +1 -0
  60. package/dist/errors/decomposition-error.d.ts +10 -0
  61. package/dist/errors/decomposition-error.d.ts.map +1 -0
  62. package/dist/errors/index.d.ts +37 -0
  63. package/dist/errors/index.d.ts.map +1 -0
  64. package/dist/errors/reservation-error.d.ts +10 -0
  65. package/dist/errors/reservation-error.d.ts.map +1 -0
  66. package/dist/errors/validation-error.d.ts +10 -0
  67. package/dist/errors/validation-error.d.ts.map +1 -0
  68. package/dist/hive/adapter.d.ts +8 -8
  69. package/dist/hive/adapter.d.ts.map +1 -1
  70. package/dist/hive/dependencies-drizzle.d.ts +31 -0
  71. package/dist/hive/dependencies-drizzle.d.ts.map +1 -0
  72. package/dist/hive/dependencies.d.ts.map +1 -1
  73. package/dist/hive/flush-manager.d.ts +2 -1
  74. package/dist/hive/flush-manager.d.ts.map +1 -1
  75. package/dist/hive/jsonl.d.ts.map +1 -1
  76. package/dist/hive/migrations.d.ts +23 -3
  77. package/dist/hive/migrations.d.ts.map +1 -1
  78. package/dist/hive/projections-drizzle.d.ts +43 -0
  79. package/dist/hive/projections-drizzle.d.ts.map +1 -0
  80. package/dist/hive/projections.d.ts +8 -0
  81. package/dist/hive/projections.d.ts.map +1 -1
  82. package/dist/hive/queries-drizzle.d.ts +52 -0
  83. package/dist/hive/queries-drizzle.d.ts.map +1 -0
  84. package/dist/hive/queries.d.ts +38 -0
  85. package/dist/hive/queries.d.ts.map +1 -1
  86. package/dist/hive/store.d.ts +36 -14
  87. package/dist/hive/store.d.ts.map +1 -1
  88. package/dist/index.d.ts +37 -18
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +84673 -38352
  91. package/dist/libsql.convenience.d.ts +155 -0
  92. package/dist/libsql.convenience.d.ts.map +1 -0
  93. package/dist/libsql.d.ts +93 -0
  94. package/dist/libsql.d.ts.map +1 -0
  95. package/dist/memory/adapter.d.ts +6 -7
  96. package/dist/memory/adapter.d.ts.map +1 -1
  97. package/dist/memory/libsql-schema.d.ts +83 -0
  98. package/dist/memory/libsql-schema.d.ts.map +1 -0
  99. package/dist/memory/migrate-legacy.d.ts +3 -0
  100. package/dist/memory/migrate-legacy.d.ts.map +1 -1
  101. package/dist/memory/migrations.d.ts +11 -0
  102. package/dist/memory/migrations.d.ts.map +1 -1
  103. package/dist/memory/store.d.ts +39 -31
  104. package/dist/memory/store.d.ts.map +1 -1
  105. package/dist/memory/test-utils.d.ts +59 -0
  106. package/dist/memory/test-utils.d.ts.map +1 -0
  107. package/dist/migrate-pglite-to-libsql.d.ts +73 -0
  108. package/dist/migrate-pglite-to-libsql.d.ts.map +1 -0
  109. package/dist/pglite.d.ts +8 -170
  110. package/dist/pglite.d.ts.map +1 -1
  111. package/dist/streams/agent-mail.d.ts +13 -0
  112. package/dist/streams/agent-mail.d.ts.map +1 -1
  113. package/dist/streams/auto-migrate.d.ts +182 -0
  114. package/dist/streams/auto-migrate.d.ts.map +1 -0
  115. package/dist/streams/effect/ask.d.ts +5 -4
  116. package/dist/streams/effect/ask.d.ts.map +1 -1
  117. package/dist/streams/effect/cursor.d.ts +3 -2
  118. package/dist/streams/effect/cursor.d.ts.map +1 -1
  119. package/dist/streams/effect/deferred.d.ts +12 -9
  120. package/dist/streams/effect/deferred.d.ts.map +1 -1
  121. package/dist/streams/effect/lock.d.ts +13 -11
  122. package/dist/streams/effect/lock.d.ts.map +1 -1
  123. package/dist/streams/effect/mailbox.d.ts +3 -2
  124. package/dist/streams/effect/mailbox.d.ts.map +1 -1
  125. package/dist/streams/events.d.ts +4 -0
  126. package/dist/streams/events.d.ts.map +1 -1
  127. package/dist/streams/index.d.ts +20 -74
  128. package/dist/streams/index.d.ts.map +1 -1
  129. package/dist/streams/libsql-schema.d.ts +77 -0
  130. package/dist/streams/libsql-schema.d.ts.map +1 -0
  131. package/dist/streams/migrations.d.ts +8 -8
  132. package/dist/streams/migrations.d.ts.map +1 -1
  133. package/dist/streams/projections-drizzle.d.ts +175 -0
  134. package/dist/streams/projections-drizzle.d.ts.map +1 -0
  135. package/dist/streams/projections.d.ts +9 -0
  136. package/dist/streams/projections.d.ts.map +1 -1
  137. package/dist/streams/store-drizzle.d.ts +96 -0
  138. package/dist/streams/store-drizzle.d.ts.map +1 -0
  139. package/dist/streams/store.d.ts +23 -0
  140. package/dist/streams/store.d.ts.map +1 -1
  141. package/dist/streams/swarm-mail.d.ts +9 -0
  142. package/dist/streams/swarm-mail.d.ts.map +1 -1
  143. package/dist/test-libsql.d.ts +76 -0
  144. package/dist/test-libsql.d.ts.map +1 -0
  145. package/dist/types/adapter.d.ts +3 -3
  146. package/dist/types/database.d.ts +12 -12
  147. package/dist/types/hive-adapter.d.ts +5 -5
  148. package/package.json +10 -6
  149. package/dist/beads/adapter.d.ts +0 -38
  150. package/dist/beads/adapter.d.ts.map +0 -1
  151. package/dist/beads/blocked-cache.d.ts +0 -21
  152. package/dist/beads/blocked-cache.d.ts.map +0 -1
  153. package/dist/beads/comments.d.ts +0 -21
  154. package/dist/beads/comments.d.ts.map +0 -1
  155. package/dist/beads/dependencies.d.ts +0 -58
  156. package/dist/beads/dependencies.d.ts.map +0 -1
  157. package/dist/beads/events.d.ts +0 -163
  158. package/dist/beads/events.d.ts.map +0 -1
  159. package/dist/beads/flush-manager.d.ts +0 -71
  160. package/dist/beads/flush-manager.d.ts.map +0 -1
  161. package/dist/beads/index.d.ts +0 -25
  162. package/dist/beads/index.d.ts.map +0 -1
  163. package/dist/beads/jsonl.d.ts +0 -103
  164. package/dist/beads/jsonl.d.ts.map +0 -1
  165. package/dist/beads/labels.d.ts +0 -21
  166. package/dist/beads/labels.d.ts.map +0 -1
  167. package/dist/beads/merge.d.ts +0 -99
  168. package/dist/beads/merge.d.ts.map +0 -1
  169. package/dist/beads/migrations.d.ts +0 -41
  170. package/dist/beads/migrations.d.ts.map +0 -1
  171. package/dist/beads/operations.d.ts +0 -56
  172. package/dist/beads/operations.d.ts.map +0 -1
  173. package/dist/beads/projections.d.ts +0 -103
  174. package/dist/beads/projections.d.ts.map +0 -1
  175. package/dist/beads/queries.d.ts +0 -77
  176. package/dist/beads/queries.d.ts.map +0 -1
  177. package/dist/beads/store.d.ts +0 -98
  178. package/dist/beads/store.d.ts.map +0 -1
  179. package/dist/beads/validation.d.ts +0 -75
  180. package/dist/beads/validation.d.ts.map +0 -1
  181. package/dist/daemon.d.ts +0 -161
  182. package/dist/daemon.d.ts.map +0 -1
  183. package/dist/socket-adapter.d.ts +0 -78
  184. package/dist/socket-adapter.d.ts.map +0 -1
  185. package/dist/streams/debug.d.ts +0 -173
  186. package/dist/streams/debug.d.ts.map +0 -1
  187. package/dist/test-server.d.ts +0 -64
  188. package/dist/test-server.d.ts.map +0 -1
  189. package/dist/types/beads-adapter.d.ts +0 -397
  190. package/dist/types/beads-adapter.d.ts.map +0 -1
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Swarm Mail Projections Layer - Drizzle Implementation
3
+ *
4
+ * Drizzle-based queries for materialized views.
5
+ * These are the read-side of CQRS - fast queries over denormalized data.
6
+ *
7
+ * Key projections:
8
+ * - getAgents: List registered agents
9
+ * - getInbox: Get messages for an agent
10
+ * - getActiveReservations: Get current file locks
11
+ * - checkConflicts: Detect reservation conflicts
12
+ */
13
+ import type { SwarmDb } from "../db/client.js";
14
+ export interface Agent {
15
+ id: number;
16
+ name: string;
17
+ program: string;
18
+ model: string;
19
+ task_description: string | null;
20
+ registered_at: number;
21
+ last_active_at: number;
22
+ }
23
+ export interface Message {
24
+ id: number;
25
+ from_agent: string;
26
+ subject: string;
27
+ body?: string;
28
+ thread_id: string | null;
29
+ importance: string;
30
+ ack_required: boolean;
31
+ created_at: number;
32
+ read_at?: number | null;
33
+ acked_at?: number | null;
34
+ }
35
+ export interface Reservation {
36
+ id: number;
37
+ agent_name: string;
38
+ path_pattern: string;
39
+ exclusive: boolean;
40
+ reason: string | null;
41
+ created_at: number;
42
+ expires_at: number;
43
+ }
44
+ export interface Conflict {
45
+ path: string;
46
+ holder: string;
47
+ pattern: string;
48
+ exclusive: boolean;
49
+ }
50
+ /**
51
+ * Get all agents for a project using Drizzle
52
+ */
53
+ export declare function getAgentsDrizzle(db: SwarmDb, projectKey: string): Promise<Agent[]>;
54
+ /**
55
+ * Get a specific agent by name using Drizzle
56
+ */
57
+ export declare function getAgentDrizzle(db: SwarmDb, projectKey: string, agentName: string): Promise<Agent | null>;
58
+ export interface InboxOptions {
59
+ limit?: number;
60
+ urgentOnly?: boolean;
61
+ unreadOnly?: boolean;
62
+ includeBodies?: boolean;
63
+ sinceTs?: string;
64
+ }
65
+ /**
66
+ * Get inbox messages for an agent using Drizzle
67
+ */
68
+ export declare function getInboxDrizzle(db: SwarmDb, projectKey: string, agentName: string, options?: InboxOptions): Promise<Message[]>;
69
+ /**
70
+ * Get a single message by ID with full body using Drizzle
71
+ */
72
+ export declare function getMessageDrizzle(db: SwarmDb, projectKey: string, messageId: number): Promise<Message | null>;
73
+ /**
74
+ * Get all messages in a thread using Drizzle
75
+ */
76
+ export declare function getThreadMessagesDrizzle(db: SwarmDb, projectKey: string, threadId: string): Promise<Message[]>;
77
+ /**
78
+ * Get active (non-expired, non-released) reservations using Drizzle
79
+ */
80
+ export declare function getActiveReservationsDrizzle(db: SwarmDb, projectKey: string, agentName?: string): Promise<Reservation[]>;
81
+ /**
82
+ * Check for conflicts with existing reservations using Drizzle
83
+ */
84
+ export declare function checkConflictsDrizzle(db: SwarmDb, projectKey: string, agentName: string, paths: string[]): Promise<Conflict[]>;
85
+ export interface EvalRecord {
86
+ id: string;
87
+ project_key: string;
88
+ task: string;
89
+ context: string | null;
90
+ strategy: string;
91
+ epic_title: string;
92
+ subtasks: Array<{
93
+ title: string;
94
+ files: string[];
95
+ priority?: number;
96
+ }>;
97
+ outcomes?: Array<{
98
+ bead_id: string;
99
+ planned_files: string[];
100
+ actual_files: string[];
101
+ duration_ms: number;
102
+ error_count: number;
103
+ retry_count: number;
104
+ success: boolean;
105
+ }>;
106
+ overall_success: boolean | null;
107
+ total_duration_ms: number | null;
108
+ total_errors: number | null;
109
+ human_accepted: boolean | null;
110
+ human_modified: boolean | null;
111
+ human_notes: string | null;
112
+ file_overlap_count: number | null;
113
+ scope_accuracy: number | null;
114
+ time_balance_ratio: number | null;
115
+ created_at: number;
116
+ updated_at: number;
117
+ }
118
+ export interface EvalStats {
119
+ totalRecords: number;
120
+ successRate: number;
121
+ avgDurationMs: number;
122
+ byStrategy: Record<string, number>;
123
+ }
124
+ /**
125
+ * Get eval records with optional filters using Drizzle
126
+ */
127
+ export declare function getEvalRecordsDrizzle(db: SwarmDb, projectKey: string, options?: {
128
+ limit?: number;
129
+ strategy?: string;
130
+ }): Promise<EvalRecord[]>;
131
+ /**
132
+ * Get eval statistics for a project using Drizzle
133
+ */
134
+ export declare function getEvalStatsDrizzle(db: SwarmDb, projectKey: string): Promise<EvalStats>;
135
+ /**
136
+ * Convenience wrapper for getAgentsDrizzle that matches the old signature.
137
+ */
138
+ export declare function getAgents(projectKey: string, projectPath?: string, dbOverride?: any): Promise<Agent[]>;
139
+ /**
140
+ * Convenience wrapper for getAgentDrizzle
141
+ */
142
+ export declare function getAgent(projectKey: string, agentName: string, projectPath?: string, dbOverride?: any): Promise<Agent | null>;
143
+ /**
144
+ * Convenience wrapper for getInboxDrizzle
145
+ */
146
+ export declare function getInbox(projectKey: string, agentName: string, options?: InboxOptions, projectPath?: string, dbOverride?: any): Promise<Message[]>;
147
+ /**
148
+ * Convenience wrapper for getMessageDrizzle
149
+ */
150
+ export declare function getMessage(projectKey: string, messageId: number, projectPath?: string, dbOverride?: any): Promise<Message | null>;
151
+ /**
152
+ * Convenience wrapper for getThreadMessagesDrizzle
153
+ */
154
+ export declare function getThreadMessages(projectKey: string, threadId: string, projectPath?: string, dbOverride?: any): Promise<Message[]>;
155
+ /**
156
+ * Convenience wrapper for getActiveReservationsDrizzle
157
+ */
158
+ export declare function getActiveReservations(projectKey: string, projectPath?: string, agentName?: string, dbOverride?: any): Promise<Reservation[]>;
159
+ /**
160
+ * Convenience wrapper for checkConflictsDrizzle
161
+ */
162
+ export declare function checkConflicts(projectKey: string, agentName: string, paths: string[], projectPath?: string, dbOverride?: any): Promise<Conflict[]>;
163
+ /**
164
+ * Convenience wrapper for getEvalRecordsDrizzle
165
+ */
166
+ export declare function getEvalRecords(projectKey: string, options?: {
167
+ limit?: number;
168
+ offset?: number;
169
+ strategy?: string;
170
+ }, projectPath?: string, dbOverride?: any): Promise<EvalRecord[]>;
171
+ /**
172
+ * Convenience wrapper for getEvalStatsDrizzle
173
+ */
174
+ export declare function getEvalStats(projectKey: string, projectPath?: string, dbOverride?: any): Promise<EvalStats>;
175
+ //# sourceMappingURL=projections-drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projections-drizzle.d.ts","sourceRoot":"","sources":["../../src/streams/projections-drizzle.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Swarm Mail Projections Layer (DEPRECATED - use projections-drizzle.ts)
3
+ *
4
+ * Legacy PGlite-based projections. This file exists only for backward compatibility.
5
+ * New code should use projections-drizzle.ts instead.
6
+ *
7
+ * @deprecated Use projections-drizzle.ts with DatabaseAdapter
8
+ */
1
9
  import type { DatabaseAdapter } from "../types/database";
2
10
  export interface Agent {
3
11
  id: number;
@@ -28,6 +36,7 @@ export interface Reservation {
28
36
  reason: string | null;
29
37
  created_at: number;
30
38
  expires_at: number;
39
+ lock_holder_id?: string | null;
31
40
  }
32
41
  export interface Conflict {
33
42
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../src/streams/projections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../src/streams/projections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Event Store - Drizzle ORM Implementation
3
+ *
4
+ * Drizzle-based implementation of event store operations.
5
+ * Replaces raw SQL queries with type-safe Drizzle query builder.
6
+ *
7
+ * Core operations:
8
+ * - appendEvent(): Add events to the log
9
+ * - readEvents(): Read events with filters
10
+ * - getLatestSequence(): Get max sequence number
11
+ *
12
+ * All state changes go through events. Projections compute current state.
13
+ */
14
+ import type { SwarmDb } from "../db/client.js";
15
+ import type { AgentEvent } from "./events.js";
16
+ /**
17
+ * Append an event to the log using Drizzle
18
+ *
19
+ * @param db - Drizzle database instance
20
+ * @param event - Event to append
21
+ * @returns Event with id and sequence
22
+ */
23
+ export declare function appendEventDrizzle(db: SwarmDb, event: AgentEvent): Promise<AgentEvent & {
24
+ id: number;
25
+ sequence: number;
26
+ }>;
27
+ /**
28
+ * Read events with optional filters using Drizzle
29
+ *
30
+ * @param db - Drizzle database instance
31
+ * @param options - Filter options
32
+ * @returns Array of events with id and sequence
33
+ */
34
+ export declare function readEventsDrizzle(db: SwarmDb, options?: {
35
+ projectKey?: string;
36
+ types?: AgentEvent["type"][];
37
+ since?: number;
38
+ until?: number;
39
+ afterSequence?: number;
40
+ limit?: number;
41
+ offset?: number;
42
+ }): Promise<Array<AgentEvent & {
43
+ id: number;
44
+ sequence: number;
45
+ }>>;
46
+ /**
47
+ * Get the latest sequence number using Drizzle
48
+ *
49
+ * @param db - Drizzle database instance
50
+ * @param projectKey - Optional project key to filter by
51
+ * @returns Latest sequence number (0 if no events)
52
+ */
53
+ export declare function getLatestSequenceDrizzle(db: SwarmDb, projectKey?: string): Promise<number>;
54
+ /**
55
+ * Utility: Get or create database adapter with schema initialization
56
+ *
57
+ * CRITICAL: Uses the cached adapter from store.ts to ensure all callers
58
+ * (appendEvent, sendSwarmMessage, getInbox) use the SAME database instance.
59
+ *
60
+ * Fixes bug where sendSwarmMessage created a different adapter than the test,
61
+ * causing empty inbox (messages written to adapter A, read from adapter B).
62
+ *
63
+ * NOTE: Parameter order matches store-drizzle.ts convention (projectPath, dbOverride)
64
+ * but delegates to store.ts which uses (dbOverride, projectPath). We swap them here.
65
+ *
66
+ * @internal Exported for use by swarm-mail.ts to ensure adapter consistency
67
+ */
68
+ export declare function getOrCreateAdapter(projectPath?: string, dbOverride?: any): Promise<any>;
69
+ /**
70
+ * Convenience wrapper for appendEventDrizzle that matches the old signature.
71
+ * Gets database from adapter and converts to SwarmDb.
72
+ */
73
+ export declare function appendEvent(event: AgentEvent, projectPath?: string, dbOverride?: any): Promise<AgentEvent & {
74
+ id: number;
75
+ sequence: number;
76
+ }>;
77
+ /**
78
+ * Convenience wrapper for readEventsDrizzle
79
+ */
80
+ export declare function readEvents(options?: {
81
+ projectKey?: string;
82
+ types?: AgentEvent["type"][];
83
+ since?: number;
84
+ until?: number;
85
+ afterSequence?: number;
86
+ limit?: number;
87
+ offset?: number;
88
+ }, projectPath?: string, dbOverride?: any): Promise<Array<AgentEvent & {
89
+ id: number;
90
+ sequence: number;
91
+ }>>;
92
+ /**
93
+ * Convenience wrapper for getLatestSequenceDrizzle
94
+ */
95
+ export declare function getLatestSequence(projectKey?: string, projectPath?: string, dbOverride?: any): Promise<number>;
96
+ //# sourceMappingURL=store-drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-drizzle.d.ts","sourceRoot":"","sources":["../../src/streams/store-drizzle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,aAAa,CAAC;AAerB;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA0BxD;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,OAAO,EACX,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GACL,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmD/D;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,OAAO,EACX,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAWjB;AA+XD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAK7F;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAOxD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,EACN,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAO/D;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,MAAM,CAAC,CAOjB"}
@@ -1,4 +1,26 @@
1
1
  import type { DatabaseAdapter } from "../types/database";
2
+ /**
3
+ * Clear the adapter cache (primarily for test isolation)
4
+ *
5
+ * In production, adapters are long-lived. In tests, call this in afterEach
6
+ * to ensure each test gets a fresh database instance.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare function clearAdapterCache(): void;
11
+ /**
12
+ * Get or create a DatabaseAdapter
13
+ *
14
+ * If dbOverride is provided, returns it directly (dependency injection).
15
+ * Otherwise, creates/reuses a cached adapter for the given projectPath.
16
+ *
17
+ * @param dbOverride - Optional explicit adapter (for dependency injection)
18
+ * @param projectPath - Optional project path (uses global DB if not provided)
19
+ * @returns DatabaseAdapter instance
20
+ *
21
+ * @internal Exported for use by store-drizzle.ts to ensure adapter consistency
22
+ */
23
+ export declare function getOrCreateAdapter(dbOverride?: DatabaseAdapter, projectPath?: string): Promise<DatabaseAdapter>;
2
24
  import { type AgentEvent, type AgentRegisteredEvent, type MessageSentEvent, type FileReservedEvent } from "./events";
3
25
  /**
4
26
  * Append an event to the log
@@ -164,6 +186,7 @@ export declare function reserveFiles(projectKey: string, agentName: string, path
164
186
  reason?: string;
165
187
  exclusive?: boolean;
166
188
  ttlSeconds?: number;
189
+ lockHolderIds?: string[];
167
190
  }, projectPath?: string, dbOverride?: DatabaseAdapter): Promise<FileReservedEvent & {
168
191
  id: number;
169
192
  sequence: number;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/streams/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/streams/store.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface InitSwarmAgentOptions {
8
8
  program?: string;
9
9
  model?: string;
10
10
  taskDescription?: string;
11
+ dbOverride?: any;
11
12
  }
12
13
  export interface SendSwarmMessageOptions {
13
14
  projectPath: string;
@@ -18,6 +19,7 @@ export interface SendSwarmMessageOptions {
18
19
  threadId?: string;
19
20
  importance?: "low" | "normal" | "high" | "urgent";
20
21
  ackRequired?: boolean;
22
+ dbOverride?: any;
21
23
  }
22
24
  export interface SendSwarmMessageResult {
23
25
  success: boolean;
@@ -32,6 +34,7 @@ export interface GetSwarmInboxOptions {
32
34
  urgentOnly?: boolean;
33
35
  unreadOnly?: boolean;
34
36
  includeBodies?: boolean;
37
+ dbOverride?: any;
35
38
  }
36
39
  export interface SwarmInboxMessage {
37
40
  id: number;
@@ -51,6 +54,7 @@ export interface ReadSwarmMessageOptions {
51
54
  messageId: number;
52
55
  agentName?: string;
53
56
  markAsRead?: boolean;
57
+ dbOverride?: any;
54
58
  }
55
59
  export interface ReserveSwarmFilesOptions {
56
60
  projectPath: string;
@@ -60,6 +64,7 @@ export interface ReserveSwarmFilesOptions {
60
64
  exclusive?: boolean;
61
65
  ttlSeconds?: number;
62
66
  force?: boolean;
67
+ dbOverride?: any;
63
68
  }
64
69
  export interface GrantedSwarmReservation {
65
70
  id: number;
@@ -81,6 +86,7 @@ export interface ReleaseSwarmFilesOptions {
81
86
  agentName: string;
82
87
  paths?: string[];
83
88
  reservationIds?: number[];
89
+ dbOverride?: any;
84
90
  }
85
91
  export interface ReleaseSwarmFilesResult {
86
92
  released: number;
@@ -90,6 +96,7 @@ export interface AcknowledgeSwarmOptions {
90
96
  projectPath: string;
91
97
  messageId: number;
92
98
  agentName: string;
99
+ dbOverride?: any;
93
100
  }
94
101
  export interface AcknowledgeSwarmResult {
95
102
  acknowledged: boolean;
@@ -148,6 +155,8 @@ export declare function releaseSwarmFiles(options: ReleaseSwarmFilesOptions): Pr
148
155
  export declare function acknowledgeSwarmMessage(options: AcknowledgeSwarmOptions): Promise<AcknowledgeSwarmResult>;
149
156
  /**
150
157
  * Check if the swarm mail store is healthy
158
+ *
159
+ * Migrated from PGlite to libSQL adapter pattern.
151
160
  */
152
161
  export declare function checkSwarmHealth(projectPath?: string): Promise<SwarmHealthResult>;
153
162
  //# sourceMappingURL=swarm-mail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-mail.d.ts","sourceRoot":"","sources":["../../src/streams/swarm-mail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm-mail.d.ts","sourceRoot":"","sources":["../../src/streams/swarm-mail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * LibSQL Test Database Helper
3
+ *
4
+ * Replaces test-server.ts for libSQL-based tests.
5
+ * Creates in-memory libSQL databases with full schema.
6
+ *
7
+ * ## Performance Impact
8
+ * - libSQL in-memory initialization is faster than PGlite WASM (~10ms vs ~500ms)
9
+ * - Each test gets a fresh database (no shared state concerns)
10
+ * - No TRUNCATE needed between tests (create new instance instead)
11
+ *
12
+ * ## Usage
13
+ * ```typescript
14
+ * import { createTestLibSQLDb } from './test-libsql';
15
+ *
16
+ * test("my test", async () => {
17
+ * const { client, db } = await createTestLibSQLDb();
18
+ * // Use client for raw SQL, db for Drizzle queries
19
+ * await db.query.agents.findMany();
20
+ * });
21
+ * ```
22
+ *
23
+ * ## Schema Coverage
24
+ * - All streams tables (events, agents, messages, reservations, locks)
25
+ * - All hive tables (beads, dependencies, labels, comments)
26
+ * - All durable primitive tables (cursors, deferred)
27
+ * - All memory tables (memories with vector support, FTS5)
28
+ * - Learning system tables (eval_records, swarm_contexts)
29
+ *
30
+ * ## Key Differences from PGlite
31
+ * - SERIAL → INTEGER PRIMARY KEY AUTOINCREMENT
32
+ * - JSONB → TEXT (store JSON.stringify)
33
+ * - TIMESTAMPTZ → TEXT (ISO 8601)
34
+ * - BOOLEAN → INTEGER (0/1)
35
+ * - $1, $2 params → ? params
36
+ * - vector(N) → F32_BLOB(N)
37
+ * - TEXT[] → TEXT (JSON array as string)
38
+ */
39
+ import type { Client } from "@libsql/client";
40
+ import type { SwarmDb } from "./db/client.js";
41
+ import type { DatabaseAdapter } from "./types/database.js";
42
+ /**
43
+ * Create a test DatabaseAdapter with automatic $N → ? conversion.
44
+ *
45
+ * Wraps a libSQL client to transparently convert PostgreSQL-style parameters
46
+ * to libSQL-style parameters. Use this in tests that need to run hive SQL
47
+ * queries without manual conversion.
48
+ *
49
+ * @param client - libSQL client instance
50
+ * @returns DatabaseAdapter with automatic conversion
51
+ */
52
+ export declare function createTestDatabaseAdapter(client: Client): DatabaseAdapter;
53
+ /**
54
+ * Create a test libSQL database with full schema.
55
+ *
56
+ * Returns the raw libSQL client, Drizzle-wrapped db instance, and a DatabaseAdapter
57
+ * with automatic $N → ? parameter conversion for hive tests.
58
+ * Schema includes all tables from streams, hive, memory, and learning systems.
59
+ *
60
+ * @returns Object containing client, db, and adapter instances
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const { client, db, adapter } = await createTestLibSQLDb();
65
+ * // Use adapter for PostgreSQL-style queries
66
+ * await adapter.query("SELECT * FROM beads WHERE id = $1", ["bd-123"]);
67
+ * // Use db for Drizzle queries
68
+ * await db.query.agents.findMany();
69
+ * ```
70
+ */
71
+ export declare function createTestLibSQLDb(): Promise<{
72
+ client: Client;
73
+ db: SwarmDb;
74
+ adapter: DatabaseAdapter;
75
+ }>;
76
+ //# sourceMappingURL=test-libsql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-libsql.d.ts","sourceRoot":"","sources":["../src/test-libsql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAyDxE;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAEzE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC,CAqhBD"}
@@ -5,7 +5,7 @@
5
5
  * reservations, locks) to enable different storage backends.
6
6
  *
7
7
  * ## Design Goals
8
- * - Database-agnostic (works with PGLite, SQLite, PostgreSQL, etc.)
8
+ * - Database-agnostic (works with libSQL, SQLite, PostgreSQL, etc.)
9
9
  * - Matches existing swarm-mail API surface
10
10
  * - No implementation details leak through interface
11
11
  *
@@ -290,10 +290,10 @@ export interface SwarmMailAdapter extends EventStoreAdapter, AgentAdapter, Messa
290
290
  *
291
291
  * @example
292
292
  * ```typescript
293
- * import { createPGLiteAdapter } from '@opencode/swarm-mail/adapters/pglite';
293
+ * import { createLibSQLAdapter } from '@opencode/swarm-mail/adapters/libsql';
294
294
  * import { createSQLiteAdapter } from '@opencode/swarm-mail/adapters/sqlite';
295
295
  *
296
- * const adapter = createPGLiteAdapter({ path: './streams.db' });
296
+ * const adapter = createLibSQLAdapter({ path: './streams.db' });
297
297
  * const adapter2 = createSQLiteAdapter({ path: './streams.db' });
298
298
  * ```
299
299
  */
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * DatabaseAdapter - Database-agnostic interface for swarm-mail
3
3
  *
4
- * Abstracts PGLite-specific operations to support multiple database backends.
4
+ * Abstracts database-specific operations to support multiple database backends.
5
5
  * Based on coursebuilder's adapter-drizzle pattern.
6
6
  *
7
7
  * ## Design Goals
8
- * - Zero PGLite types in this interface
9
- * - Support for PGLite, better-sqlite3, libsql, PostgreSQL
8
+ * - Zero database-specific types in this interface
9
+ * - Support for libSQL, better-sqlite3, PostgreSQL
10
10
  * - Transaction support optional (some adapters may not support it)
11
11
  *
12
12
  * ## Implementation Strategy
@@ -27,7 +27,7 @@ export interface QueryResult<T = unknown> {
27
27
  * DatabaseAdapter interface
28
28
  *
29
29
  * Minimal interface for executing SQL queries and managing transactions.
30
- * Adapters implement this for PGLite, SQLite, PostgreSQL, etc.
30
+ * Adapters implement this for libSQL, SQLite, PostgreSQL, etc.
31
31
  */
32
32
  export interface DatabaseAdapter {
33
33
  /**
@@ -85,19 +85,19 @@ export interface DatabaseAdapter {
85
85
  /**
86
86
  * Close the database connection (optional)
87
87
  *
88
- * Some adapters (like PGLite) need explicit cleanup.
88
+ * Some adapters (like libSQL) need explicit cleanup.
89
89
  * If not provided, swarm-mail assumes connection is managed externally.
90
90
  */
91
91
  close?(): Promise<void>;
92
92
  /**
93
93
  * Force a checkpoint to flush WAL to data files (optional)
94
94
  *
95
- * PostgreSQL CHECKPOINT command forces write-ahead log (WAL) to be written
95
+ * CHECKPOINT command forces write-ahead log (WAL) to be written
96
96
  * to data files, allowing WAL to be recycled. Critical for preventing WAL
97
- * bloat in embedded databases like PGLite.
97
+ * bloat in embedded databases.
98
98
  *
99
- * Root cause from pdf-brain: PGLite accumulated 930 WAL files (930MB) without
100
- * explicit CHECKPOINT, causing WASM OOM crash.
99
+ * Root cause from historical migration: Embedded databases accumulated 930 WAL files (930MB)
100
+ * without explicit CHECKPOINT, causing resource exhaustion.
101
101
  *
102
102
  * Call after batch operations:
103
103
  * - Migration batches
@@ -115,9 +115,9 @@ export interface DatabaseAdapter {
115
115
  * Get WAL statistics (optional)
116
116
  *
117
117
  * Returns current size and file count of write-ahead log (WAL) files.
118
- * Use for monitoring WAL bloat to prevent WASM OOM crashes in PGLite.
118
+ * Use for monitoring WAL bloat to prevent resource exhaustion.
119
119
  *
120
- * For PGLite: checks pg_wal directory in dataDir
120
+ * For libSQL: checks WAL directory in dataDir
121
121
  * For PostgreSQL: queries pg_stat_wal (if available)
122
122
  *
123
123
  * @returns WAL stats with size in bytes and file count
@@ -136,7 +136,7 @@ export interface DatabaseAdapter {
136
136
  * Check WAL health against threshold (optional)
137
137
  *
138
138
  * Monitors WAL size and warns when it exceeds a configurable threshold.
139
- * Default threshold: 100MB (warns before critical 930MB from pdf-brain crash).
139
+ * Default threshold: 100MB (warns before critical resource exhaustion).
140
140
  *
141
141
  * Returns health status with message describing current WAL state.
142
142
  *