agentic-qe 1.8.3 → 1.9.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 (290) hide show
  1. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  2. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
  3. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
  4. package/CHANGELOG.md +595 -0
  5. package/README.md +117 -16
  6. package/config/constitution.schema.json +423 -0
  7. package/config/otel-collector.yaml +234 -0
  8. package/dist/App.d.ts +5 -0
  9. package/dist/App.d.ts.map +1 -0
  10. package/dist/App.js +15 -0
  11. package/dist/App.js.map +1 -0
  12. package/dist/cli/commands/constitution.d.ts +34 -0
  13. package/dist/cli/commands/constitution.d.ts.map +1 -0
  14. package/dist/cli/commands/constitution.js +679 -0
  15. package/dist/cli/commands/constitution.js.map +1 -0
  16. package/dist/cli/commands/init-claude-md-template.js +3 -3
  17. package/dist/cli/commands/init.d.ts +8 -75
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +22 -2292
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/telemetry.d.ts +36 -0
  22. package/dist/cli/commands/telemetry.d.ts.map +1 -0
  23. package/dist/cli/commands/telemetry.js +364 -0
  24. package/dist/cli/commands/telemetry.js.map +1 -0
  25. package/dist/cli/index.js +66 -0
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/init/agents.d.ts +22 -0
  28. package/dist/cli/init/agents.d.ts.map +1 -0
  29. package/dist/cli/init/agents.js +522 -0
  30. package/dist/cli/init/agents.js.map +1 -0
  31. package/dist/cli/init/bash-wrapper.d.ts +14 -0
  32. package/dist/cli/init/bash-wrapper.d.ts.map +1 -0
  33. package/dist/cli/init/bash-wrapper.js +47 -0
  34. package/dist/cli/init/bash-wrapper.js.map +1 -0
  35. package/dist/cli/init/claude-config.d.ts +24 -0
  36. package/dist/cli/init/claude-config.d.ts.map +1 -0
  37. package/dist/cli/init/claude-config.js +275 -0
  38. package/dist/cli/init/claude-config.js.map +1 -0
  39. package/dist/cli/init/claude-md.d.ts +19 -0
  40. package/dist/cli/init/claude-md.d.ts.map +1 -0
  41. package/dist/cli/init/claude-md.js +153 -0
  42. package/dist/cli/init/claude-md.js.map +1 -0
  43. package/dist/cli/init/commands.d.ts +6 -0
  44. package/dist/cli/init/commands.d.ts.map +1 -0
  45. package/dist/cli/init/commands.js +83 -0
  46. package/dist/cli/init/commands.js.map +1 -0
  47. package/dist/cli/init/database-init.d.ts +15 -0
  48. package/dist/cli/init/database-init.d.ts.map +1 -0
  49. package/dist/cli/init/database-init.js +203 -0
  50. package/dist/cli/init/database-init.js.map +1 -0
  51. package/dist/cli/init/directory-structure.d.ts +14 -0
  52. package/dist/cli/init/directory-structure.d.ts.map +1 -0
  53. package/dist/cli/init/directory-structure.js +107 -0
  54. package/dist/cli/init/directory-structure.js.map +1 -0
  55. package/dist/cli/init/documentation.d.ts +14 -0
  56. package/dist/cli/init/documentation.d.ts.map +1 -0
  57. package/dist/cli/init/documentation.js +195 -0
  58. package/dist/cli/init/documentation.js.map +1 -0
  59. package/dist/cli/init/fleet-config.d.ts +34 -0
  60. package/dist/cli/init/fleet-config.d.ts.map +1 -0
  61. package/dist/cli/init/fleet-config.js +269 -0
  62. package/dist/cli/init/fleet-config.js.map +1 -0
  63. package/dist/cli/init/helpers.d.ts +6 -0
  64. package/dist/cli/init/helpers.d.ts.map +1 -0
  65. package/dist/cli/init/helpers.js +94 -0
  66. package/dist/cli/init/helpers.js.map +1 -0
  67. package/dist/cli/init/index.d.ts +32 -0
  68. package/dist/cli/init/index.d.ts.map +1 -0
  69. package/dist/cli/init/index.js +294 -0
  70. package/dist/cli/init/index.js.map +1 -0
  71. package/dist/cli/init/skills.d.ts +6 -0
  72. package/dist/cli/init/skills.d.ts.map +1 -0
  73. package/dist/cli/init/skills.js +138 -0
  74. package/dist/cli/init/skills.js.map +1 -0
  75. package/dist/cli/init/utils/file-utils.d.ts +74 -0
  76. package/dist/cli/init/utils/file-utils.d.ts.map +1 -0
  77. package/dist/cli/init/utils/file-utils.js +187 -0
  78. package/dist/cli/init/utils/file-utils.js.map +1 -0
  79. package/dist/cli/init/utils/index.d.ts +18 -0
  80. package/dist/cli/init/utils/index.d.ts.map +1 -0
  81. package/dist/cli/init/utils/index.js +48 -0
  82. package/dist/cli/init/utils/index.js.map +1 -0
  83. package/dist/cli/init/utils/log-utils.d.ts +47 -0
  84. package/dist/cli/init/utils/log-utils.d.ts.map +1 -0
  85. package/dist/cli/init/utils/log-utils.js +68 -0
  86. package/dist/cli/init/utils/log-utils.js.map +1 -0
  87. package/dist/cli/init/utils/path-utils.d.ts +91 -0
  88. package/dist/cli/init/utils/path-utils.d.ts.map +1 -0
  89. package/dist/cli/init/utils/path-utils.js +208 -0
  90. package/dist/cli/init/utils/path-utils.js.map +1 -0
  91. package/dist/cli/init/utils/validation-utils.d.ts +44 -0
  92. package/dist/cli/init/utils/validation-utils.d.ts.map +1 -0
  93. package/dist/cli/init/utils/validation-utils.js +68 -0
  94. package/dist/cli/init/utils/validation-utils.js.map +1 -0
  95. package/dist/cli/init/utils.d.ts +183 -0
  96. package/dist/cli/init/utils.d.ts.map +1 -0
  97. package/dist/cli/init/utils.js +354 -0
  98. package/dist/cli/init/utils.js.map +1 -0
  99. package/dist/components/Dashboard/Dashboard.d.ts +4 -0
  100. package/dist/components/Dashboard/Dashboard.d.ts.map +1 -0
  101. package/dist/components/Dashboard/Dashboard.js +148 -0
  102. package/dist/components/Dashboard/Dashboard.js.map +1 -0
  103. package/dist/components/Dashboard/DashboardHeader.d.ts +4 -0
  104. package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
  105. package/dist/components/Dashboard/DashboardHeader.js +138 -0
  106. package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
  107. package/dist/constitution/evaluators/ast-evaluator.d.ts +42 -0
  108. package/dist/constitution/evaluators/ast-evaluator.d.ts.map +1 -0
  109. package/dist/constitution/evaluators/ast-evaluator.js +303 -0
  110. package/dist/constitution/evaluators/ast-evaluator.js.map +1 -0
  111. package/dist/constitution/evaluators/base.d.ts +144 -0
  112. package/dist/constitution/evaluators/base.d.ts.map +1 -0
  113. package/dist/constitution/evaluators/base.js +144 -0
  114. package/dist/constitution/evaluators/base.js.map +1 -0
  115. package/dist/constitution/evaluators/index.d.ts +19 -0
  116. package/dist/constitution/evaluators/index.d.ts.map +1 -0
  117. package/dist/constitution/evaluators/index.js +56 -0
  118. package/dist/constitution/evaluators/index.js.map +1 -0
  119. package/dist/constitution/evaluators/metric-evaluator.d.ts +59 -0
  120. package/dist/constitution/evaluators/metric-evaluator.d.ts.map +1 -0
  121. package/dist/constitution/evaluators/metric-evaluator.js +195 -0
  122. package/dist/constitution/evaluators/metric-evaluator.js.map +1 -0
  123. package/dist/constitution/evaluators/pattern-evaluator.d.ts +66 -0
  124. package/dist/constitution/evaluators/pattern-evaluator.d.ts.map +1 -0
  125. package/dist/constitution/evaluators/pattern-evaluator.js +221 -0
  126. package/dist/constitution/evaluators/pattern-evaluator.js.map +1 -0
  127. package/dist/constitution/evaluators/semantic-evaluator.d.ts +68 -0
  128. package/dist/constitution/evaluators/semantic-evaluator.d.ts.map +1 -0
  129. package/dist/constitution/evaluators/semantic-evaluator.js +250 -0
  130. package/dist/constitution/evaluators/semantic-evaluator.js.map +1 -0
  131. package/dist/constitution/index.d.ts +105 -0
  132. package/dist/constitution/index.d.ts.map +1 -0
  133. package/dist/constitution/index.js +207 -0
  134. package/dist/constitution/index.js.map +1 -0
  135. package/dist/constitution/loader.d.ts +141 -0
  136. package/dist/constitution/loader.d.ts.map +1 -0
  137. package/dist/constitution/loader.js +515 -0
  138. package/dist/constitution/loader.js.map +1 -0
  139. package/dist/constitution/schema.d.ts +409 -0
  140. package/dist/constitution/schema.d.ts.map +1 -0
  141. package/dist/constitution/schema.js +71 -0
  142. package/dist/constitution/schema.js.map +1 -0
  143. package/dist/contexts/DashboardContext.d.ts +41 -0
  144. package/dist/contexts/DashboardContext.d.ts.map +1 -0
  145. package/dist/contexts/DashboardContext.js +187 -0
  146. package/dist/contexts/DashboardContext.js.map +1 -0
  147. package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
  148. package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
  149. package/dist/core/memory/MemoryManagerFactory.js +270 -0
  150. package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
  151. package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
  152. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  153. package/dist/core/memory/SwarmMemoryManager.js +375 -131
  154. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  155. package/dist/core/memory/index.d.ts +1 -0
  156. package/dist/core/memory/index.d.ts.map +1 -1
  157. package/dist/core/memory/index.js +12 -1
  158. package/dist/core/memory/index.js.map +1 -1
  159. package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
  160. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  161. package/dist/hooks/useKeyboardShortcuts.js +69 -0
  162. package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
  163. package/dist/mcp/handlers/memory/memory-backup.js +6 -6
  164. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  165. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  166. package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
  167. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  168. package/dist/mcp/server.d.ts.map +1 -1
  169. package/dist/mcp/server.js +4 -38
  170. package/dist/mcp/server.js.map +1 -1
  171. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  172. package/dist/mcp/services/AgentRegistry.js +4 -4
  173. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  174. package/dist/persistence/event-store.d.ts +162 -0
  175. package/dist/persistence/event-store.d.ts.map +1 -0
  176. package/dist/persistence/event-store.js +315 -0
  177. package/dist/persistence/event-store.js.map +1 -0
  178. package/dist/persistence/index.d.ts +145 -0
  179. package/dist/persistence/index.d.ts.map +1 -0
  180. package/dist/persistence/index.js +227 -0
  181. package/dist/persistence/index.js.map +1 -0
  182. package/dist/persistence/metrics-aggregator.d.ts +187 -0
  183. package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
  184. package/dist/persistence/metrics-aggregator.js +495 -0
  185. package/dist/persistence/metrics-aggregator.js.map +1 -0
  186. package/dist/persistence/reasoning-store.d.ts +178 -0
  187. package/dist/persistence/reasoning-store.d.ts.map +1 -0
  188. package/dist/persistence/reasoning-store.js +440 -0
  189. package/dist/persistence/reasoning-store.js.map +1 -0
  190. package/dist/persistence/schema.d.ts +181 -0
  191. package/dist/persistence/schema.d.ts.map +1 -0
  192. package/dist/persistence/schema.js +186 -0
  193. package/dist/persistence/schema.js.map +1 -0
  194. package/dist/telemetry/bootstrap.d.ts +67 -0
  195. package/dist/telemetry/bootstrap.d.ts.map +1 -0
  196. package/dist/telemetry/bootstrap.js +320 -0
  197. package/dist/telemetry/bootstrap.js.map +1 -0
  198. package/dist/telemetry/index.d.ts +16 -0
  199. package/dist/telemetry/index.d.ts.map +1 -0
  200. package/dist/telemetry/index.js +84 -0
  201. package/dist/telemetry/index.js.map +1 -0
  202. package/dist/telemetry/instrumentation/agent.d.ts +158 -0
  203. package/dist/telemetry/instrumentation/agent.d.ts.map +1 -0
  204. package/dist/telemetry/instrumentation/agent.js +372 -0
  205. package/dist/telemetry/instrumentation/agent.js.map +1 -0
  206. package/dist/telemetry/instrumentation/index.d.ts +24 -0
  207. package/dist/telemetry/instrumentation/index.d.ts.map +1 -0
  208. package/dist/telemetry/instrumentation/index.js +54 -0
  209. package/dist/telemetry/instrumentation/index.js.map +1 -0
  210. package/dist/telemetry/instrumentation/memory.d.ts +313 -0
  211. package/dist/telemetry/instrumentation/memory.d.ts.map +1 -0
  212. package/dist/telemetry/instrumentation/memory.js +552 -0
  213. package/dist/telemetry/instrumentation/memory.js.map +1 -0
  214. package/dist/telemetry/instrumentation/task.d.ts +146 -0
  215. package/dist/telemetry/instrumentation/task.d.ts.map +1 -0
  216. package/dist/telemetry/instrumentation/task.js +305 -0
  217. package/dist/telemetry/instrumentation/task.js.map +1 -0
  218. package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
  219. package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
  220. package/dist/telemetry/metrics/agent-metrics.js +213 -0
  221. package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
  222. package/dist/telemetry/metrics/collectors/cost.d.ts +246 -0
  223. package/dist/telemetry/metrics/collectors/cost.d.ts.map +1 -0
  224. package/dist/telemetry/metrics/collectors/cost.js +526 -0
  225. package/dist/telemetry/metrics/collectors/cost.js.map +1 -0
  226. package/dist/telemetry/metrics/collectors/pricing-config.d.ts +87 -0
  227. package/dist/telemetry/metrics/collectors/pricing-config.d.ts.map +1 -0
  228. package/dist/telemetry/metrics/collectors/pricing-config.js +207 -0
  229. package/dist/telemetry/metrics/collectors/pricing-config.js.map +1 -0
  230. package/dist/telemetry/metrics/index.d.ts +54 -0
  231. package/dist/telemetry/metrics/index.d.ts.map +1 -0
  232. package/dist/telemetry/metrics/index.js +116 -0
  233. package/dist/telemetry/metrics/index.js.map +1 -0
  234. package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
  235. package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
  236. package/dist/telemetry/metrics/quality-metrics.js +259 -0
  237. package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
  238. package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
  239. package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
  240. package/dist/telemetry/metrics/system-metrics.js +380 -0
  241. package/dist/telemetry/metrics/system-metrics.js.map +1 -0
  242. package/dist/telemetry/types.d.ts +195 -0
  243. package/dist/telemetry/types.d.ts.map +1 -0
  244. package/dist/telemetry/types.js +90 -0
  245. package/dist/telemetry/types.js.map +1 -0
  246. package/dist/visualization/api/RestEndpoints.d.ts +136 -0
  247. package/dist/visualization/api/RestEndpoints.d.ts.map +1 -0
  248. package/dist/visualization/api/RestEndpoints.js +428 -0
  249. package/dist/visualization/api/RestEndpoints.js.map +1 -0
  250. package/dist/visualization/api/WebSocketServer.d.ts +165 -0
  251. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -0
  252. package/dist/visualization/api/WebSocketServer.js +518 -0
  253. package/dist/visualization/api/WebSocketServer.js.map +1 -0
  254. package/dist/visualization/core/DataTransformer.d.ts +89 -0
  255. package/dist/visualization/core/DataTransformer.d.ts.map +1 -0
  256. package/dist/visualization/core/DataTransformer.js +478 -0
  257. package/dist/visualization/core/DataTransformer.js.map +1 -0
  258. package/dist/visualization/index.d.ts +92 -0
  259. package/dist/visualization/index.d.ts.map +1 -0
  260. package/dist/visualization/index.js +121 -0
  261. package/dist/visualization/index.js.map +1 -0
  262. package/dist/visualization/types.d.ts +148 -0
  263. package/dist/visualization/types.d.ts.map +1 -0
  264. package/dist/visualization/types.js +7 -0
  265. package/dist/visualization/types.js.map +1 -0
  266. package/dist/voting/consensus.d.ts +87 -0
  267. package/dist/voting/consensus.d.ts.map +1 -0
  268. package/dist/voting/consensus.js +568 -0
  269. package/dist/voting/consensus.js.map +1 -0
  270. package/dist/voting/index.d.ts +12 -0
  271. package/dist/voting/index.d.ts.map +1 -0
  272. package/dist/voting/index.js +36 -0
  273. package/dist/voting/index.js.map +1 -0
  274. package/dist/voting/orchestrator.d.ts +65 -0
  275. package/dist/voting/orchestrator.d.ts.map +1 -0
  276. package/dist/voting/orchestrator.js +306 -0
  277. package/dist/voting/orchestrator.js.map +1 -0
  278. package/dist/voting/panel-assembly.d.ts +54 -0
  279. package/dist/voting/panel-assembly.d.ts.map +1 -0
  280. package/dist/voting/panel-assembly.js +192 -0
  281. package/dist/voting/panel-assembly.js.map +1 -0
  282. package/dist/voting/protocol.d.ts +119 -0
  283. package/dist/voting/protocol.d.ts.map +1 -0
  284. package/dist/voting/protocol.js +18 -0
  285. package/dist/voting/protocol.js.map +1 -0
  286. package/dist/voting/types.d.ts +125 -0
  287. package/dist/voting/types.d.ts.map +1 -0
  288. package/dist/voting/types.js +7 -0
  289. package/dist/voting/types.js.map +1 -0
  290. package/package.json +43 -2
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Event store for telemetry and event history persistence
4
+ * @module persistence/event-store
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.EventStore = void 0;
8
+ const uuid_1 = require("uuid");
9
+ const schema_1 = require("./schema");
10
+ /**
11
+ * EventStore provides persistence for telemetry events
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const store = new EventStore({ dbPath: './data/events.db' });
16
+ *
17
+ * // Record an event
18
+ * const event = await store.recordEvent({
19
+ * agent_id: 'test-generator',
20
+ * event_type: 'test_generated',
21
+ * payload: { testCount: 10, coverage: 85 },
22
+ * session_id: 'session-123'
23
+ * });
24
+ *
25
+ * // Query events
26
+ * const agentEvents = store.getEventsByAgent('test-generator');
27
+ * ```
28
+ */
29
+ class EventStore {
30
+ /**
31
+ * Create a new EventStore instance
32
+ * @param config - Persistence configuration
33
+ */
34
+ constructor(config = {}) {
35
+ this.config = { ...schema_1.DEFAULT_PERSISTENCE_CONFIG, ...config };
36
+ this.db = (0, schema_1.createDatabase)(this.config);
37
+ this.statements = this.prepareStatements();
38
+ }
39
+ /**
40
+ * Prepare SQL statements for performance
41
+ */
42
+ prepareStatements() {
43
+ return {
44
+ insert: this.db.prepare(`
45
+ INSERT INTO events (id, timestamp, agent_id, event_type, payload, correlation_id, session_id)
46
+ VALUES (?, ?, ?, ?, ?, ?, ?)
47
+ `),
48
+ getById: this.db.prepare(`
49
+ SELECT * FROM events WHERE id = ?
50
+ `),
51
+ getByAgent: this.db.prepare(`
52
+ SELECT * FROM events WHERE agent_id = ?
53
+ ORDER BY timestamp DESC
54
+ LIMIT ? OFFSET ?
55
+ `),
56
+ getByType: this.db.prepare(`
57
+ SELECT * FROM events WHERE event_type = ?
58
+ ORDER BY timestamp DESC
59
+ LIMIT ? OFFSET ?
60
+ `),
61
+ getByTimeRange: this.db.prepare(`
62
+ SELECT * FROM events
63
+ WHERE timestamp >= ? AND timestamp <= ?
64
+ ORDER BY timestamp DESC
65
+ LIMIT ? OFFSET ?
66
+ `),
67
+ getBySession: this.db.prepare(`
68
+ SELECT * FROM events WHERE session_id = ?
69
+ ORDER BY timestamp ASC
70
+ `),
71
+ getByCorrelation: this.db.prepare(`
72
+ SELECT * FROM events WHERE correlation_id = ?
73
+ ORDER BY timestamp ASC
74
+ `),
75
+ countByAgent: this.db.prepare(`
76
+ SELECT COUNT(*) as count FROM events WHERE agent_id = ?
77
+ `),
78
+ countByType: this.db.prepare(`
79
+ SELECT COUNT(*) as count FROM events WHERE event_type = ?
80
+ `),
81
+ deleteOlderThan: this.db.prepare(`
82
+ DELETE FROM events WHERE timestamp < ?
83
+ `),
84
+ };
85
+ }
86
+ /**
87
+ * Deserialize event record from database row
88
+ */
89
+ deserializeEvent(row) {
90
+ return {
91
+ id: row.id,
92
+ timestamp: row.timestamp,
93
+ agent_id: row.agent_id,
94
+ event_type: row.event_type,
95
+ payload: JSON.parse(row.payload),
96
+ correlation_id: row.correlation_id,
97
+ session_id: row.session_id,
98
+ };
99
+ }
100
+ /**
101
+ * Record a new event
102
+ * @param input - Event creation input
103
+ * @returns Created event record
104
+ */
105
+ recordEvent(input) {
106
+ const id = (0, uuid_1.v4)();
107
+ const timestamp = new Date().toISOString();
108
+ const payload = JSON.stringify(input.payload);
109
+ let retries = this.config.maxRetries || 3;
110
+ while (retries > 0) {
111
+ try {
112
+ this.statements.insert.run(id, timestamp, input.agent_id, input.event_type, payload, input.correlation_id || null, input.session_id);
113
+ break;
114
+ }
115
+ catch (error) {
116
+ retries--;
117
+ if (retries === 0) {
118
+ const errorMessage = error instanceof Error ? error.message : String(error);
119
+ throw new Error(`Failed to record event after retries: ${errorMessage}`);
120
+ }
121
+ // Small delay before retry
122
+ const start = Date.now();
123
+ while (Date.now() - start < 100) {
124
+ // Busy wait for synchronous retry
125
+ }
126
+ }
127
+ }
128
+ return {
129
+ id,
130
+ timestamp,
131
+ agent_id: input.agent_id,
132
+ event_type: input.event_type,
133
+ payload: input.payload,
134
+ correlation_id: input.correlation_id || null,
135
+ session_id: input.session_id,
136
+ };
137
+ }
138
+ /**
139
+ * Get event by ID
140
+ * @param id - Event ID
141
+ * @returns Event record or null
142
+ */
143
+ getEventById(id) {
144
+ const row = this.statements.getById.get(id);
145
+ return row ? this.deserializeEvent(row) : null;
146
+ }
147
+ /**
148
+ * Get events by agent ID
149
+ * @param agentId - Agent identifier
150
+ * @param options - Query options
151
+ * @returns Array of event records
152
+ */
153
+ getEventsByAgent(agentId, options = {}) {
154
+ const { limit = 100, offset = 0 } = options;
155
+ const rows = this.statements.getByAgent.all(agentId, limit, offset);
156
+ return rows.map(row => this.deserializeEvent(row));
157
+ }
158
+ /**
159
+ * Get events by event type
160
+ * @param eventType - Event type to filter
161
+ * @param options - Query options
162
+ * @returns Array of event records
163
+ */
164
+ getEventsByType(eventType, options = {}) {
165
+ const { limit = 100, offset = 0 } = options;
166
+ const rows = this.statements.getByType.all(eventType, limit, offset);
167
+ return rows.map(row => this.deserializeEvent(row));
168
+ }
169
+ /**
170
+ * Get events within a time range
171
+ * @param timeRange - Start and end timestamps
172
+ * @param options - Query options
173
+ * @returns Array of event records
174
+ */
175
+ getEventsByTimeRange(timeRange, options = {}) {
176
+ const { limit = 1000, offset = 0 } = options;
177
+ const rows = this.statements.getByTimeRange.all(timeRange.start, timeRange.end, limit, offset);
178
+ return rows.map(row => this.deserializeEvent(row));
179
+ }
180
+ /**
181
+ * Get all events for a session
182
+ * @param sessionId - Session identifier
183
+ * @returns Array of event records in chronological order
184
+ */
185
+ getEventsBySession(sessionId) {
186
+ const rows = this.statements.getBySession.all(sessionId);
187
+ return rows.map(row => this.deserializeEvent(row));
188
+ }
189
+ /**
190
+ * Get correlated events
191
+ * @param correlationId - Correlation identifier
192
+ * @returns Array of correlated events
193
+ */
194
+ getEventsByCorrelation(correlationId) {
195
+ const rows = this.statements.getByCorrelation.all(correlationId);
196
+ return rows.map(row => this.deserializeEvent(row));
197
+ }
198
+ /**
199
+ * Count events by agent
200
+ * @param agentId - Agent identifier
201
+ * @returns Event count
202
+ */
203
+ countEventsByAgent(agentId) {
204
+ const result = this.statements.countByAgent.get(agentId);
205
+ return result.count;
206
+ }
207
+ /**
208
+ * Count events by type
209
+ * @param eventType - Event type
210
+ * @returns Event count
211
+ */
212
+ countEventsByType(eventType) {
213
+ const result = this.statements.countByType.get(eventType);
214
+ return result.count;
215
+ }
216
+ /**
217
+ * Get event counts grouped by agent
218
+ * @returns Map of agent ID to event count
219
+ */
220
+ getEventCountsByAgent() {
221
+ const rows = this.db.prepare(`
222
+ SELECT agent_id, COUNT(*) as count
223
+ FROM events
224
+ GROUP BY agent_id
225
+ ORDER BY count DESC
226
+ `).all();
227
+ const counts = new Map();
228
+ for (const row of rows) {
229
+ counts.set(row.agent_id, row.count);
230
+ }
231
+ return counts;
232
+ }
233
+ /**
234
+ * Get event counts grouped by type
235
+ * @returns Map of event type to count
236
+ */
237
+ getEventCountsByType() {
238
+ const rows = this.db.prepare(`
239
+ SELECT event_type, COUNT(*) as count
240
+ FROM events
241
+ GROUP BY event_type
242
+ ORDER BY count DESC
243
+ `).all();
244
+ const counts = new Map();
245
+ for (const row of rows) {
246
+ counts.set(row.event_type, row.count);
247
+ }
248
+ return counts;
249
+ }
250
+ /**
251
+ * Get recent events with pagination
252
+ * @param limit - Maximum number of events
253
+ * @param offset - Number of events to skip
254
+ * @returns Array of recent events
255
+ */
256
+ getRecentEvents(limit = 50, offset = 0) {
257
+ const rows = this.db.prepare(`
258
+ SELECT * FROM events
259
+ ORDER BY timestamp DESC
260
+ LIMIT ? OFFSET ?
261
+ `).all(limit, offset);
262
+ return rows.map(row => this.deserializeEvent(row));
263
+ }
264
+ /**
265
+ * Search events by payload content
266
+ * @param searchKey - Key to search in payload
267
+ * @param searchValue - Value to match
268
+ * @param limit - Maximum results
269
+ * @returns Matching events
270
+ */
271
+ searchByPayload(searchKey, searchValue, limit = 100) {
272
+ // SQLite JSON extraction
273
+ const pattern = `%"${searchKey}":${JSON.stringify(searchValue)}%`;
274
+ const rows = this.db.prepare(`
275
+ SELECT * FROM events
276
+ WHERE payload LIKE ?
277
+ ORDER BY timestamp DESC
278
+ LIMIT ?
279
+ `).all(pattern, limit);
280
+ return rows.map(row => this.deserializeEvent(row));
281
+ }
282
+ /**
283
+ * Delete events older than specified date
284
+ * @param olderThan - ISO timestamp cutoff
285
+ * @returns Number of deleted events
286
+ */
287
+ deleteEventsOlderThan(olderThan) {
288
+ const result = this.statements.deleteOlderThan.run(olderThan);
289
+ return result.changes;
290
+ }
291
+ /**
292
+ * Get database statistics
293
+ * @returns Statistics about stored events
294
+ */
295
+ getStatistics() {
296
+ const stats = this.db.prepare(`
297
+ SELECT
298
+ COUNT(*) as totalEvents,
299
+ COUNT(DISTINCT agent_id) as uniqueAgents,
300
+ COUNT(DISTINCT session_id) as uniqueSessions,
301
+ MIN(timestamp) as oldestEvent,
302
+ MAX(timestamp) as newestEvent
303
+ FROM events
304
+ `).get();
305
+ return stats;
306
+ }
307
+ /**
308
+ * Close database connection
309
+ */
310
+ close() {
311
+ (0, schema_1.closeDatabase)(this.db);
312
+ }
313
+ }
314
+ exports.EventStore = EventStore;
315
+ //# sourceMappingURL=event-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/persistence/event-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * @fileoverview Main entry point for AQE persistence layer
3
+ * @module persistence
4
+ */
5
+ export { EventType, EventRecord, CreateEventInput, ThoughtType, ChainStatus, ReasoningChain, ReasoningStep, ReasoningChainWithSteps, StartChainInput, AddStepInput, AggregationPeriod, QualityMetric, AggregatedMetric, RecordMetricInput, MetricTrendPoint, AgentPerformance, PersistenceConfig, DEFAULT_PERSISTENCE_CONFIG, CURRENT_SCHEMA_VERSION, createDatabase, closeDatabase, initializeSchema, } from './schema';
6
+ export { EventStore, EventQueryOptions, TimeRange } from './event-store';
7
+ export { ReasoningStore, ChainQueryOptions } from './reasoning-store';
8
+ export { MetricsAggregator, MetricQueryOptions, AggregationConfig } from './metrics-aggregator';
9
+ import { EventStore } from './event-store';
10
+ import { ReasoningStore } from './reasoning-store';
11
+ import { MetricsAggregator } from './metrics-aggregator';
12
+ /**
13
+ * Options for persistence initialization
14
+ */
15
+ export interface InitPersistenceOptions {
16
+ /**
17
+ * Base directory for database files
18
+ * @default './data'
19
+ */
20
+ baseDir?: string;
21
+ /**
22
+ * Enable WAL mode for better concurrency
23
+ * @default true
24
+ */
25
+ enableWAL?: boolean;
26
+ /**
27
+ * Busy timeout in milliseconds
28
+ * @default 5000
29
+ */
30
+ busyTimeout?: number;
31
+ /**
32
+ * Maximum retry attempts for operations
33
+ * @default 3
34
+ */
35
+ maxRetries?: number;
36
+ /**
37
+ * Use separate databases for each store
38
+ * @default false (single database)
39
+ */
40
+ separateDatabases?: boolean;
41
+ }
42
+ /**
43
+ * Initialized persistence stores
44
+ */
45
+ export interface PersistenceStores {
46
+ eventStore: EventStore;
47
+ reasoningStore: ReasoningStore;
48
+ metricsAggregator: MetricsAggregator;
49
+ /**
50
+ * Close all database connections
51
+ */
52
+ close: () => void;
53
+ /**
54
+ * Get statistics from all stores
55
+ */
56
+ getStatistics: () => {
57
+ events: ReturnType<EventStore['getStatistics']>;
58
+ reasoning: ReturnType<ReasoningStore['getStatistics']>;
59
+ metrics: ReturnType<MetricsAggregator['getStatistics']>;
60
+ };
61
+ }
62
+ /**
63
+ * Initialize the persistence layer
64
+ *
65
+ * @param options - Initialization options
66
+ * @returns Initialized persistence stores
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * // Initialize with default settings
71
+ * const persistence = initPersistence();
72
+ *
73
+ * // Record an event
74
+ * persistence.eventStore.recordEvent({
75
+ * agent_id: 'test-gen',
76
+ * event_type: 'test_generated',
77
+ * payload: { count: 5 },
78
+ * session_id: 'session-123'
79
+ * });
80
+ *
81
+ * // Start a reasoning chain
82
+ * const chain = persistence.reasoningStore.startChain({
83
+ * session_id: 'session-123',
84
+ * agent_id: 'test-gen'
85
+ * });
86
+ *
87
+ * // Record a metric
88
+ * persistence.metricsAggregator.recordMetric({
89
+ * agent_id: 'test-gen',
90
+ * metric_name: 'coverage',
91
+ * metric_value: 85.5
92
+ * });
93
+ *
94
+ * // Clean up
95
+ * persistence.close();
96
+ * ```
97
+ */
98
+ export declare function initPersistence(options?: InitPersistenceOptions): PersistenceStores;
99
+ /**
100
+ * Quick utility to create an event store with default settings
101
+ * @param dbPath - Optional database path
102
+ * @returns Configured EventStore instance
103
+ */
104
+ export declare function createEventStore(dbPath?: string): EventStore;
105
+ /**
106
+ * Quick utility to create a reasoning store with default settings
107
+ * @param dbPath - Optional database path
108
+ * @returns Configured ReasoningStore instance
109
+ */
110
+ export declare function createReasoningStore(dbPath?: string): ReasoningStore;
111
+ /**
112
+ * Quick utility to create a metrics aggregator with default settings
113
+ * @param dbPath - Optional database path
114
+ * @returns Configured MetricsAggregator instance
115
+ */
116
+ export declare function createMetricsAggregator(dbPath?: string): MetricsAggregator;
117
+ /**
118
+ * Database cleanup utility
119
+ * @param baseDir - Directory containing database files
120
+ * @param olderThan - Delete data older than this ISO timestamp
121
+ * @returns Cleanup results
122
+ */
123
+ export declare function cleanupOldData(baseDir: string | undefined, olderThan: string): {
124
+ eventsDeleted: number;
125
+ chainsDeleted: number;
126
+ metricsDeleted: number;
127
+ aggregatedDeleted: number;
128
+ };
129
+ /**
130
+ * Run metric aggregation for all periods
131
+ * @param baseDir - Directory containing database files
132
+ * @param periods - Periods to aggregate
133
+ * @returns Aggregation results
134
+ */
135
+ export declare function runAggregation(baseDir?: string, periods?: Array<'1min' | '5min' | '1hour' | '1day'>): Record<string, number>;
136
+ declare const _default: {
137
+ initPersistence: typeof initPersistence;
138
+ createEventStore: typeof createEventStore;
139
+ createReasoningStore: typeof createReasoningStore;
140
+ createMetricsAggregator: typeof createMetricsAggregator;
141
+ cleanupOldData: typeof cleanupOldData;
142
+ runAggregation: typeof runAggregation;
143
+ };
144
+ export default _default;
145
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAEL,SAAS,EACT,WAAW,EACX,gBAAgB,EAGhB,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,EAGZ,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAGhB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EAGtB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGhG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB;;OAEG;IACH,aAAa,EAAE,MAAM;QACnB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAChD,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;KACzD,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,iBAAiB,CAyDvF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,YAAW,EAC1B,SAAS,EAAE,MAAM,GAChB;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAkBA;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,GAAE,MAAiB,EAC1B,OAAO,GAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAqC,GACrF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;;;;;;;;;AAGD,wBAOE"}