lattice-orchestrator 0.7.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 (440) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +58 -0
  3. package/config/logrotate.conf +15 -0
  4. package/dist/cli-parser.d.ts +11 -0
  5. package/dist/cli-parser.d.ts.map +1 -0
  6. package/dist/cli-parser.js +48 -0
  7. package/dist/cli-parser.js.map +1 -0
  8. package/dist/lattice-server.d.ts +70 -0
  9. package/dist/lattice-server.d.ts.map +1 -0
  10. package/dist/lattice-server.js +969 -0
  11. package/dist/lattice-server.js.map +1 -0
  12. package/dist/mcp-server/index.d.ts +3 -0
  13. package/dist/mcp-server/index.d.ts.map +1 -0
  14. package/dist/mcp-server/index.js +190 -0
  15. package/dist/mcp-server/index.js.map +1 -0
  16. package/dist/mcp-server/lattice-tools.d.ts +15 -0
  17. package/dist/mcp-server/lattice-tools.d.ts.map +1 -0
  18. package/dist/mcp-server/lattice-tools.js +366 -0
  19. package/dist/mcp-server/lattice-tools.js.map +1 -0
  20. package/dist/middleware/cors-setup.d.ts +7 -0
  21. package/dist/middleware/cors-setup.d.ts.map +1 -0
  22. package/dist/middleware/cors-setup.js +8 -0
  23. package/dist/middleware/cors-setup.js.map +1 -0
  24. package/dist/middleware/error-handler.d.ts +4 -0
  25. package/dist/middleware/error-handler.d.ts.map +1 -0
  26. package/dist/middleware/error-handler.js +27 -0
  27. package/dist/middleware/error-handler.js.map +1 -0
  28. package/dist/middleware/query-parser.d.ts +11 -0
  29. package/dist/middleware/query-parser.d.ts.map +1 -0
  30. package/dist/middleware/query-parser.js +68 -0
  31. package/dist/middleware/query-parser.js.map +1 -0
  32. package/dist/middleware/request-logger.d.ts +4 -0
  33. package/dist/middleware/request-logger.d.ts.map +1 -0
  34. package/dist/middleware/request-logger.js +6 -0
  35. package/dist/middleware/request-logger.js.map +1 -0
  36. package/dist/process-daemon/index.d.ts +14 -0
  37. package/dist/process-daemon/index.d.ts.map +1 -0
  38. package/dist/process-daemon/index.js +51 -0
  39. package/dist/process-daemon/index.js.map +1 -0
  40. package/dist/process-daemon/process-daemon.d.ts +101 -0
  41. package/dist/process-daemon/process-daemon.d.ts.map +1 -0
  42. package/dist/process-daemon/process-daemon.js +846 -0
  43. package/dist/process-daemon/process-daemon.js.map +1 -0
  44. package/dist/process-daemon/process-manager-client.d.ts +123 -0
  45. package/dist/process-daemon/process-manager-client.d.ts.map +1 -0
  46. package/dist/process-daemon/process-manager-client.js +329 -0
  47. package/dist/process-daemon/process-manager-client.js.map +1 -0
  48. package/dist/process-daemon/process-manager-interface.d.ts +61 -0
  49. package/dist/process-daemon/process-manager-interface.d.ts.map +1 -0
  50. package/dist/process-daemon/process-manager-interface.js +8 -0
  51. package/dist/process-daemon/process-manager-interface.js.map +1 -0
  52. package/dist/process-daemon/test-daemon.d.ts +12 -0
  53. package/dist/process-daemon/test-daemon.d.ts.map +1 -0
  54. package/dist/process-daemon/test-daemon.js +81 -0
  55. package/dist/process-daemon/test-daemon.js.map +1 -0
  56. package/dist/process-daemon/types.d.ts +97 -0
  57. package/dist/process-daemon/types.d.ts.map +1 -0
  58. package/dist/process-daemon/types.js +8 -0
  59. package/dist/process-daemon/types.js.map +1 -0
  60. package/dist/routes/analysis.routes.d.ts +13 -0
  61. package/dist/routes/analysis.routes.d.ts.map +1 -0
  62. package/dist/routes/analysis.routes.js +520 -0
  63. package/dist/routes/analysis.routes.js.map +1 -0
  64. package/dist/routes/config.routes.d.ts +4 -0
  65. package/dist/routes/config.routes.d.ts.map +1 -0
  66. package/dist/routes/config.routes.js +27 -0
  67. package/dist/routes/config.routes.js.map +1 -0
  68. package/dist/routes/conversation.routes.d.ts +43 -0
  69. package/dist/routes/conversation.routes.d.ts.map +1 -0
  70. package/dist/routes/conversation.routes.js +79 -0
  71. package/dist/routes/conversation.routes.js.map +1 -0
  72. package/dist/routes/filesystem.routes.d.ts +4 -0
  73. package/dist/routes/filesystem.routes.d.ts.map +1 -0
  74. package/dist/routes/filesystem.routes.js +86 -0
  75. package/dist/routes/filesystem.routes.js.map +1 -0
  76. package/dist/routes/insights.routes.d.ts +17 -0
  77. package/dist/routes/insights.routes.d.ts.map +1 -0
  78. package/dist/routes/insights.routes.js +633 -0
  79. package/dist/routes/insights.routes.js.map +1 -0
  80. package/dist/routes/lattice.routes.d.ts +10 -0
  81. package/dist/routes/lattice.routes.d.ts.map +1 -0
  82. package/dist/routes/lattice.routes.js +123 -0
  83. package/dist/routes/lattice.routes.js.map +1 -0
  84. package/dist/routes/license.routes.d.ts +3 -0
  85. package/dist/routes/license.routes.d.ts.map +1 -0
  86. package/dist/routes/license.routes.js +95 -0
  87. package/dist/routes/license.routes.js.map +1 -0
  88. package/dist/routes/log.routes.d.ts +3 -0
  89. package/dist/routes/log.routes.d.ts.map +1 -0
  90. package/dist/routes/log.routes.js +184 -0
  91. package/dist/routes/log.routes.js.map +1 -0
  92. package/dist/routes/pending-question.routes.d.ts +9 -0
  93. package/dist/routes/pending-question.routes.d.ts.map +1 -0
  94. package/dist/routes/pending-question.routes.js +162 -0
  95. package/dist/routes/pending-question.routes.js.map +1 -0
  96. package/dist/routes/permission.routes.d.ts +18 -0
  97. package/dist/routes/permission.routes.d.ts.map +1 -0
  98. package/dist/routes/permission.routes.js +370 -0
  99. package/dist/routes/permission.routes.js.map +1 -0
  100. package/dist/routes/process-events.routes.d.ts +9 -0
  101. package/dist/routes/process-events.routes.d.ts.map +1 -0
  102. package/dist/routes/process-events.routes.js +141 -0
  103. package/dist/routes/process-events.routes.js.map +1 -0
  104. package/dist/routes/prototype.routes.d.ts +9 -0
  105. package/dist/routes/prototype.routes.d.ts.map +1 -0
  106. package/dist/routes/prototype.routes.js +757 -0
  107. package/dist/routes/prototype.routes.js.map +1 -0
  108. package/dist/routes/question.routes.d.ts +8 -0
  109. package/dist/routes/question.routes.d.ts.map +1 -0
  110. package/dist/routes/question.routes.js +83 -0
  111. package/dist/routes/question.routes.js.map +1 -0
  112. package/dist/routes/session-control.routes.d.ts +29 -0
  113. package/dist/routes/session-control.routes.d.ts.map +1 -0
  114. package/dist/routes/session-control.routes.js +455 -0
  115. package/dist/routes/session-control.routes.js.map +1 -0
  116. package/dist/routes/session-lifecycle.routes.d.ts +21 -0
  117. package/dist/routes/session-lifecycle.routes.d.ts.map +1 -0
  118. package/dist/routes/session-lifecycle.routes.js +256 -0
  119. package/dist/routes/session-lifecycle.routes.js.map +1 -0
  120. package/dist/routes/session-query.routes.d.ts +25 -0
  121. package/dist/routes/session-query.routes.d.ts.map +1 -0
  122. package/dist/routes/session-query.routes.js +363 -0
  123. package/dist/routes/session-query.routes.js.map +1 -0
  124. package/dist/routes/session-stream.routes.d.ts +21 -0
  125. package/dist/routes/session-stream.routes.d.ts.map +1 -0
  126. package/dist/routes/session-stream.routes.js +235 -0
  127. package/dist/routes/session-stream.routes.js.map +1 -0
  128. package/dist/routes/streaming.routes.d.ts +4 -0
  129. package/dist/routes/streaming.routes.d.ts.map +1 -0
  130. package/dist/routes/streaming.routes.js +33 -0
  131. package/dist/routes/streaming.routes.js.map +1 -0
  132. package/dist/routes/system.routes.d.ts +7 -0
  133. package/dist/routes/system.routes.d.ts.map +1 -0
  134. package/dist/routes/system.routes.js +214 -0
  135. package/dist/routes/system.routes.js.map +1 -0
  136. package/dist/routes/walkthrough.routes.d.ts +19 -0
  137. package/dist/routes/walkthrough.routes.d.ts.map +1 -0
  138. package/dist/routes/walkthrough.routes.js +688 -0
  139. package/dist/routes/walkthrough.routes.js.map +1 -0
  140. package/dist/routes/working-directories.routes.d.ts +4 -0
  141. package/dist/routes/working-directories.routes.d.ts.map +1 -0
  142. package/dist/routes/working-directories.routes.js +25 -0
  143. package/dist/routes/working-directories.routes.js.map +1 -0
  144. package/dist/server.d.ts +3 -0
  145. package/dist/server.d.ts.map +1 -0
  146. package/dist/server.js +34 -0
  147. package/dist/server.js.map +1 -0
  148. package/dist/services/ToolMetricsService.d.ts +53 -0
  149. package/dist/services/ToolMetricsService.d.ts.map +1 -0
  150. package/dist/services/ToolMetricsService.js +230 -0
  151. package/dist/services/ToolMetricsService.js.map +1 -0
  152. package/dist/services/claude-router-service.d.ts +19 -0
  153. package/dist/services/claude-router-service.d.ts.map +1 -0
  154. package/dist/services/claude-router-service.js +160 -0
  155. package/dist/services/claude-router-service.js.map +1 -0
  156. package/dist/services/commands-service.d.ts +20 -0
  157. package/dist/services/commands-service.d.ts.map +1 -0
  158. package/dist/services/commands-service.js +115 -0
  159. package/dist/services/commands-service.js.map +1 -0
  160. package/dist/services/connection-debug-logger.d.ts +85 -0
  161. package/dist/services/connection-debug-logger.d.ts.map +1 -0
  162. package/dist/services/connection-debug-logger.js +221 -0
  163. package/dist/services/connection-debug-logger.js.map +1 -0
  164. package/dist/services/debug-log.d.ts +6 -0
  165. package/dist/services/debug-log.d.ts.map +1 -0
  166. package/dist/services/debug-log.js +27 -0
  167. package/dist/services/debug-log.js.map +1 -0
  168. package/dist/services/gemini-service.d.ts +35 -0
  169. package/dist/services/gemini-service.d.ts.map +1 -0
  170. package/dist/services/gemini-service.js +256 -0
  171. package/dist/services/gemini-service.js.map +1 -0
  172. package/dist/services/infrastructure/config-service.d.ts +79 -0
  173. package/dist/services/infrastructure/config-service.d.ts.map +1 -0
  174. package/dist/services/infrastructure/config-service.js +431 -0
  175. package/dist/services/infrastructure/config-service.js.map +1 -0
  176. package/dist/services/infrastructure/cost-tracker.d.ts +112 -0
  177. package/dist/services/infrastructure/cost-tracker.d.ts.map +1 -0
  178. package/dist/services/infrastructure/cost-tracker.js +423 -0
  179. package/dist/services/infrastructure/cost-tracker.js.map +1 -0
  180. package/dist/services/infrastructure/file-system-service.d.ts +61 -0
  181. package/dist/services/infrastructure/file-system-service.d.ts.map +1 -0
  182. package/dist/services/infrastructure/file-system-service.js +348 -0
  183. package/dist/services/infrastructure/file-system-service.js.map +1 -0
  184. package/dist/services/infrastructure/log-formatter.d.ts +5 -0
  185. package/dist/services/infrastructure/log-formatter.d.ts.map +1 -0
  186. package/dist/services/infrastructure/log-formatter.js +77 -0
  187. package/dist/services/infrastructure/log-formatter.js.map +1 -0
  188. package/dist/services/infrastructure/log-stream-buffer.d.ts +11 -0
  189. package/dist/services/infrastructure/log-stream-buffer.d.ts.map +1 -0
  190. package/dist/services/infrastructure/log-stream-buffer.js +36 -0
  191. package/dist/services/infrastructure/log-stream-buffer.js.map +1 -0
  192. package/dist/services/infrastructure/logger.d.ts +71 -0
  193. package/dist/services/infrastructure/logger.d.ts.map +1 -0
  194. package/dist/services/infrastructure/logger.js +215 -0
  195. package/dist/services/infrastructure/logger.js.map +1 -0
  196. package/dist/services/infrastructure/service-registry.d.ts +86 -0
  197. package/dist/services/infrastructure/service-registry.d.ts.map +1 -0
  198. package/dist/services/infrastructure/service-registry.js +162 -0
  199. package/dist/services/infrastructure/service-registry.js.map +1 -0
  200. package/dist/services/infrastructure/stream-manager.d.ts +87 -0
  201. package/dist/services/infrastructure/stream-manager.d.ts.map +1 -0
  202. package/dist/services/infrastructure/stream-manager.js +436 -0
  203. package/dist/services/infrastructure/stream-manager.js.map +1 -0
  204. package/dist/services/infrastructure/timing.d.ts +72 -0
  205. package/dist/services/infrastructure/timing.d.ts.map +1 -0
  206. package/dist/services/infrastructure/timing.js +115 -0
  207. package/dist/services/infrastructure/timing.js.map +1 -0
  208. package/dist/services/insights/anthropic-service.d.ts +224 -0
  209. package/dist/services/insights/anthropic-service.d.ts.map +1 -0
  210. package/dist/services/insights/anthropic-service.js +1062 -0
  211. package/dist/services/insights/anthropic-service.js.map +1 -0
  212. package/dist/services/insights/insight-audit-repository.d.ts +119 -0
  213. package/dist/services/insights/insight-audit-repository.d.ts.map +1 -0
  214. package/dist/services/insights/insight-audit-repository.js +242 -0
  215. package/dist/services/insights/insight-audit-repository.js.map +1 -0
  216. package/dist/services/insights/insight-queue.d.ts +99 -0
  217. package/dist/services/insights/insight-queue.d.ts.map +1 -0
  218. package/dist/services/insights/insight-queue.js +277 -0
  219. package/dist/services/insights/insight-queue.js.map +1 -0
  220. package/dist/services/insights/insights-computer.d.ts +132 -0
  221. package/dist/services/insights/insights-computer.d.ts.map +1 -0
  222. package/dist/services/insights/insights-computer.js +936 -0
  223. package/dist/services/insights/insights-computer.js.map +1 -0
  224. package/dist/services/insights/insights-coordinator.d.ts +165 -0
  225. package/dist/services/insights/insights-coordinator.d.ts.map +1 -0
  226. package/dist/services/insights/insights-coordinator.js +1678 -0
  227. package/dist/services/insights/insights-coordinator.js.map +1 -0
  228. package/dist/services/insights/insights-event-log.d.ts +196 -0
  229. package/dist/services/insights/insights-event-log.d.ts.map +1 -0
  230. package/dist/services/insights/insights-event-log.js +319 -0
  231. package/dist/services/insights/insights-event-log.js.map +1 -0
  232. package/dist/services/lattice-service.d.ts +77 -0
  233. package/dist/services/lattice-service.d.ts.map +1 -0
  234. package/dist/services/lattice-service.js +195 -0
  235. package/dist/services/lattice-service.js.map +1 -0
  236. package/dist/services/license-service.d.ts +69 -0
  237. package/dist/services/license-service.d.ts.map +1 -0
  238. package/dist/services/license-service.js +330 -0
  239. package/dist/services/license-service.js.map +1 -0
  240. package/dist/services/mcp-config-generator.d.ts +32 -0
  241. package/dist/services/mcp-config-generator.d.ts.map +1 -0
  242. package/dist/services/mcp-config-generator.js +126 -0
  243. package/dist/services/mcp-config-generator.js.map +1 -0
  244. package/dist/services/message-filter.d.ts +22 -0
  245. package/dist/services/message-filter.d.ts.map +1 -0
  246. package/dist/services/message-filter.js +57 -0
  247. package/dist/services/message-filter.js.map +1 -0
  248. package/dist/services/notification-service.d.ts +45 -0
  249. package/dist/services/notification-service.d.ts.map +1 -0
  250. package/dist/services/notification-service.js +184 -0
  251. package/dist/services/notification-service.js.map +1 -0
  252. package/dist/services/pending-question-service.d.ts +97 -0
  253. package/dist/services/pending-question-service.d.ts.map +1 -0
  254. package/dist/services/pending-question-service.js +223 -0
  255. package/dist/services/pending-question-service.js.map +1 -0
  256. package/dist/services/permission-event-log.d.ts +136 -0
  257. package/dist/services/permission-event-log.d.ts.map +1 -0
  258. package/dist/services/permission-event-log.js +252 -0
  259. package/dist/services/permission-event-log.js.map +1 -0
  260. package/dist/services/permission-pattern-matcher.d.ts +82 -0
  261. package/dist/services/permission-pattern-matcher.d.ts.map +1 -0
  262. package/dist/services/permission-pattern-matcher.js +294 -0
  263. package/dist/services/permission-pattern-matcher.js.map +1 -0
  264. package/dist/services/permission-tracker.d.ts +67 -0
  265. package/dist/services/permission-tracker.d.ts.map +1 -0
  266. package/dist/services/permission-tracker.js +162 -0
  267. package/dist/services/permission-tracker.js.map +1 -0
  268. package/dist/services/process/claude-process-manager.d.ts +142 -0
  269. package/dist/services/process/claude-process-manager.d.ts.map +1 -0
  270. package/dist/services/process/claude-process-manager.js +1218 -0
  271. package/dist/services/process/claude-process-manager.js.map +1 -0
  272. package/dist/services/process/conversation-status-manager.d.ts +110 -0
  273. package/dist/services/process/conversation-status-manager.d.ts.map +1 -0
  274. package/dist/services/process/conversation-status-manager.js +349 -0
  275. package/dist/services/process/conversation-status-manager.js.map +1 -0
  276. package/dist/services/process/json-lines-parser.d.ts +19 -0
  277. package/dist/services/process/json-lines-parser.d.ts.map +1 -0
  278. package/dist/services/process/json-lines-parser.js +59 -0
  279. package/dist/services/process/json-lines-parser.js.map +1 -0
  280. package/dist/services/process/process-event-log.d.ts +263 -0
  281. package/dist/services/process/process-event-log.d.ts.map +1 -0
  282. package/dist/services/process/process-event-log.js +509 -0
  283. package/dist/services/process/process-event-log.js.map +1 -0
  284. package/dist/services/process/process-manager-factory.d.ts +109 -0
  285. package/dist/services/process/process-manager-factory.d.ts.map +1 -0
  286. package/dist/services/process/process-manager-factory.js +338 -0
  287. package/dist/services/process/process-manager-factory.js.map +1 -0
  288. package/dist/services/question-tracker.d.ts +51 -0
  289. package/dist/services/question-tracker.d.ts.map +1 -0
  290. package/dist/services/question-tracker.js +111 -0
  291. package/dist/services/question-tracker.js.map +1 -0
  292. package/dist/services/sessions/claude-history-reader.d.ts +139 -0
  293. package/dist/services/sessions/claude-history-reader.d.ts.map +1 -0
  294. package/dist/services/sessions/claude-history-reader.js +864 -0
  295. package/dist/services/sessions/claude-history-reader.js.map +1 -0
  296. package/dist/services/sessions/conversation-cache.d.ts +98 -0
  297. package/dist/services/sessions/conversation-cache.d.ts.map +1 -0
  298. package/dist/services/sessions/conversation-cache.js +329 -0
  299. package/dist/services/sessions/conversation-cache.js.map +1 -0
  300. package/dist/services/sessions/session-activity-watcher.d.ts +67 -0
  301. package/dist/services/sessions/session-activity-watcher.d.ts.map +1 -0
  302. package/dist/services/sessions/session-activity-watcher.js +236 -0
  303. package/dist/services/sessions/session-activity-watcher.js.map +1 -0
  304. package/dist/services/sessions/session-analysis-service.d.ts +72 -0
  305. package/dist/services/sessions/session-analysis-service.d.ts.map +1 -0
  306. package/dist/services/sessions/session-analysis-service.js +373 -0
  307. package/dist/services/sessions/session-analysis-service.js.map +1 -0
  308. package/dist/services/sessions/session-branch-service.d.ts +76 -0
  309. package/dist/services/sessions/session-branch-service.d.ts.map +1 -0
  310. package/dist/services/sessions/session-branch-service.js +355 -0
  311. package/dist/services/sessions/session-branch-service.js.map +1 -0
  312. package/dist/services/sessions/session-info-service.d.ts +455 -0
  313. package/dist/services/sessions/session-info-service.d.ts.map +1 -0
  314. package/dist/services/sessions/session-info-service.js +1640 -0
  315. package/dist/services/sessions/session-info-service.js.map +1 -0
  316. package/dist/services/sessions/session-marks-repository.d.ts +78 -0
  317. package/dist/services/sessions/session-marks-repository.d.ts.map +1 -0
  318. package/dist/services/sessions/session-marks-repository.js +263 -0
  319. package/dist/services/sessions/session-marks-repository.js.map +1 -0
  320. package/dist/services/sessions/session-marks-service.d.ts +137 -0
  321. package/dist/services/sessions/session-marks-service.d.ts.map +1 -0
  322. package/dist/services/sessions/session-marks-service.js +562 -0
  323. package/dist/services/sessions/session-marks-service.js.map +1 -0
  324. package/dist/services/sessions/session-review-service.d.ts +98 -0
  325. package/dist/services/sessions/session-review-service.d.ts.map +1 -0
  326. package/dist/services/sessions/session-review-service.js +629 -0
  327. package/dist/services/sessions/session-review-service.js.map +1 -0
  328. package/dist/services/sessions/turn-capture-service.d.ts +83 -0
  329. package/dist/services/sessions/turn-capture-service.d.ts.map +1 -0
  330. package/dist/services/sessions/turn-capture-service.js +477 -0
  331. package/dist/services/sessions/turn-capture-service.js.map +1 -0
  332. package/dist/services/sessions/turn-repository.d.ts +48 -0
  333. package/dist/services/sessions/turn-repository.d.ts.map +1 -0
  334. package/dist/services/sessions/turn-repository.js +103 -0
  335. package/dist/services/sessions/turn-repository.js.map +1 -0
  336. package/dist/services/walkthrough-service.d.ts +226 -0
  337. package/dist/services/walkthrough-service.d.ts.map +1 -0
  338. package/dist/services/walkthrough-service.js +1112 -0
  339. package/dist/services/walkthrough-service.js.map +1 -0
  340. package/dist/services/walkthrough-skill-prompt.d.ts +34 -0
  341. package/dist/services/walkthrough-skill-prompt.d.ts.map +1 -0
  342. package/dist/services/walkthrough-skill-prompt.js +313 -0
  343. package/dist/services/walkthrough-skill-prompt.js.map +1 -0
  344. package/dist/services/web-push-service.d.ts +48 -0
  345. package/dist/services/web-push-service.d.ts.map +1 -0
  346. package/dist/services/web-push-service.js +186 -0
  347. package/dist/services/web-push-service.js.map +1 -0
  348. package/dist/services/working-directories-service.d.ts +19 -0
  349. package/dist/services/working-directories-service.d.ts.map +1 -0
  350. package/dist/services/working-directories-service.js +103 -0
  351. package/dist/services/working-directories-service.js.map +1 -0
  352. package/dist/types/config.d.ts +122 -0
  353. package/dist/types/config.d.ts.map +1 -0
  354. package/dist/types/config.js +21 -0
  355. package/dist/types/config.js.map +1 -0
  356. package/dist/types/express.d.ts +5 -0
  357. package/dist/types/express.d.ts.map +1 -0
  358. package/dist/types/express.js +2 -0
  359. package/dist/types/express.js.map +1 -0
  360. package/dist/types/index.d.ts +400 -0
  361. package/dist/types/index.d.ts.map +1 -0
  362. package/dist/types/index.js +41 -0
  363. package/dist/types/index.js.map +1 -0
  364. package/dist/types/insights.d.ts +176 -0
  365. package/dist/types/insights.d.ts.map +1 -0
  366. package/dist/types/insights.js +23 -0
  367. package/dist/types/insights.js.map +1 -0
  368. package/dist/types/license.d.ts +70 -0
  369. package/dist/types/license.d.ts.map +1 -0
  370. package/dist/types/license.js +5 -0
  371. package/dist/types/license.js.map +1 -0
  372. package/dist/types/router-config.d.ts +13 -0
  373. package/dist/types/router-config.d.ts.map +1 -0
  374. package/dist/types/router-config.js +2 -0
  375. package/dist/types/router-config.js.map +1 -0
  376. package/dist/utils/constants.d.ts +26 -0
  377. package/dist/utils/constants.d.ts.map +1 -0
  378. package/dist/utils/constants.js +28 -0
  379. package/dist/utils/constants.js.map +1 -0
  380. package/dist/utils/machine-id.d.ts +7 -0
  381. package/dist/utils/machine-id.d.ts.map +1 -0
  382. package/dist/utils/machine-id.js +76 -0
  383. package/dist/utils/machine-id.js.map +1 -0
  384. package/dist/utils/server-startup.d.ts +11 -0
  385. package/dist/utils/server-startup.d.ts.map +1 -0
  386. package/dist/utils/server-startup.js +9 -0
  387. package/dist/utils/server-startup.js.map +1 -0
  388. package/dist/utils/update-check.d.ts +13 -0
  389. package/dist/utils/update-check.d.ts.map +1 -0
  390. package/dist/utils/update-check.js +90 -0
  391. package/dist/utils/update-check.js.map +1 -0
  392. package/dist/web/assets/ArchivedCardPrototype-S9ifiasa.js +5 -0
  393. package/dist/web/assets/BannerGallery-B__rJV6F.js +1 -0
  394. package/dist/web/assets/BannerPrototype-DBKP9Uiu.js +52 -0
  395. package/dist/web/assets/CodeHikeExperiment-B8jjWAFy.js +15 -0
  396. package/dist/web/assets/ContextTooltipVariations-DzklAFam.js +1 -0
  397. package/dist/web/assets/FontShowcasePrototype-KIMEWeP2.js +13 -0
  398. package/dist/web/assets/GeometricGallery-DddlWhHK.js +1 -0
  399. package/dist/web/assets/HistoryWalkthroughPrototype-DeniRRdw.js +18 -0
  400. package/dist/web/assets/InlineWalkthroughPrototype-Csd5r_Hk.js +1 -0
  401. package/dist/web/assets/MarkButtonPrototype-CxhxE0RP.js +1 -0
  402. package/dist/web/assets/MenuStylesPrototype-D7neA6YM.js +1 -0
  403. package/dist/web/assets/MomentCardVariations-2GT7GyFn.js +1 -0
  404. package/dist/web/assets/MomentHeaderVariations-DhGEw4XC.js +1 -0
  405. package/dist/web/assets/NarrativeWalkthroughDemo-B5C566fu.js +389 -0
  406. package/dist/web/assets/OutcomeVariations-BrZfsVcs.js +1 -0
  407. package/dist/web/assets/PermissionPatternPickerPrototype-CBOhe2Me.js +1 -0
  408. package/dist/web/assets/PermissionPrototype-BcF-a5an.js +1 -0
  409. package/dist/web/assets/PipelineGallery-BJhyM0rx.js +1 -0
  410. package/dist/web/assets/ScopeHeaderPrototype-GD1HNfaO.js +1 -0
  411. package/dist/web/assets/ScopeHeaderStylesPrototype-aa4uNJJ1.js +1 -0
  412. package/dist/web/assets/ScrollycodingPrototype-CKW1bf72.js +70 -0
  413. package/dist/web/assets/SectionHeaderVariations-DM8vUwfj.js +1 -0
  414. package/dist/web/assets/SemanticGallery-CtQEo7St.js +1 -0
  415. package/dist/web/assets/SessionCardPrototype-CgHCIMHe.js +1 -0
  416. package/dist/web/assets/SessionSidebarVariations-DMQL3Azj.js +3 -0
  417. package/dist/web/assets/SessionStartPrototype-Cwsv01Rr.js +1 -0
  418. package/dist/web/assets/SmartMenuPrototype-Br37Qbs_.js +1 -0
  419. package/dist/web/assets/StyleGallery-rZgrploB.js +1 -0
  420. package/dist/web/assets/TimelineCardPrototype-lzPc5mhe.js +19 -0
  421. package/dist/web/assets/ToolbarPrototype-Dm4BNZra.js +1 -0
  422. package/dist/web/assets/TooltipExperiment-Dy8QzTIP.js +13 -0
  423. package/dist/web/assets/WalkthroughCTAPrototype-uHoovujd.js +1 -0
  424. package/dist/web/assets/WalkthroughHeaderVariations-Do7Di1g1.js +1 -0
  425. package/dist/web/assets/WalkthroughShowcase-sGmRoPoM.js +112 -0
  426. package/dist/web/assets/arrow-right-D46Nx1mC.js +1 -0
  427. package/dist/web/assets/brain-BXIZKtOZ.js +1 -0
  428. package/dist/web/assets/grid-3x3-Cb81B62m.js +1 -0
  429. package/dist/web/assets/main-B1fyog77.js +321 -0
  430. package/dist/web/assets/main-C2PK2Klg.css +1 -0
  431. package/dist/web/assets/semantic-variations-Bd-W7ea2.js +1 -0
  432. package/dist/web/assets/target-Cf92wDTW.js +1 -0
  433. package/dist/web/favicon.png +0 -0
  434. package/dist/web/favicon.svg +22 -0
  435. package/dist/web/icon-192x192.png +0 -0
  436. package/dist/web/icon-512x512.png +0 -0
  437. package/dist/web/index.html +45 -0
  438. package/dist/web/manifest.json +61 -0
  439. package/package.json +192 -0
  440. package/scripts/postinstall.js +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights-coordinator.js","sourceRoot":"","sources":["../../../src/services/insights/insights-coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * InsightsEventLog - Structured event logging for observability.
3
+ *
4
+ * This provides a clear, queryable log of all insight system decisions:
5
+ * - What triggered each operation
6
+ * - What the system decided to do (and why)
7
+ * - What changed (before/after state)
8
+ * - Timing information
9
+ *
10
+ * The log is designed for:
11
+ * 1. Debugging: "Why did/didn't insights update for session X?"
12
+ * 2. Monitoring: "Are insights keeping up with session activity?"
13
+ * 3. Testing: "Did the system behave correctly for this scenario?"
14
+ */
15
+ export type InsightEventType = 'trigger' | 'generate' | 'patch' | 'quick_check' | 'skip' | 'cache_hit' | 'cache_stale' | 'queue_enqueue' | 'queue_coalesce' | 'queue_process' | 'queue_complete' | 'queue_error';
16
+ export type TriggerSource = 'file_change' | 'user_message' | 'tool_use' | 'completion' | 'scheduled' | 'manual' | 'cold_start';
17
+ export type SkipReason = 'cached_fresh' | 'cold_start_cached' | 'below_threshold' | 'already_processing' | 'already_queued' | 'no_cached_insights' | 'haiku_said_no' | 'automated_session';
18
+ export interface InsightEvent {
19
+ id: number;
20
+ traceId: string;
21
+ sessionId: string;
22
+ eventType: InsightEventType;
23
+ trigger?: TriggerSource;
24
+ skipReason?: SkipReason;
25
+ actionCount?: number;
26
+ messageCount?: number;
27
+ newActions?: string[];
28
+ beforeState?: StateSnapshot;
29
+ afterState?: StateSnapshot;
30
+ operationType?: 'GENERATE' | 'PATCH' | 'REFRESH';
31
+ priority?: 'high' | 'normal' | 'low';
32
+ patchedFields?: string[];
33
+ llmResponse?: string;
34
+ timestamp: number;
35
+ durationMs?: number;
36
+ queueDepth?: number;
37
+ queuePosition?: number;
38
+ }
39
+ export interface StateSnapshot {
40
+ mission?: string;
41
+ currentState?: string;
42
+ currentStateColor?: string;
43
+ milestones?: string[];
44
+ panelCount?: number;
45
+ notableCount?: number;
46
+ }
47
+ export declare class InsightsEventLog {
48
+ private logger;
49
+ private events;
50
+ private eventId;
51
+ private maxEvents;
52
+ constructor();
53
+ /**
54
+ * Log a trigger event (something initiated insight evaluation)
55
+ */
56
+ trigger(params: {
57
+ traceId: string;
58
+ sessionId: string;
59
+ source: TriggerSource;
60
+ actionCount?: number;
61
+ messageCount?: number;
62
+ newActions?: string[];
63
+ }): void;
64
+ /**
65
+ * Log that an operation was skipped
66
+ */
67
+ skip(params: {
68
+ traceId: string;
69
+ sessionId: string;
70
+ reason: SkipReason;
71
+ trigger?: TriggerSource;
72
+ }): void;
73
+ /**
74
+ * Log queue events
75
+ */
76
+ queueEnqueue(params: {
77
+ traceId: string;
78
+ sessionId: string;
79
+ operationType: 'GENERATE' | 'PATCH' | 'REFRESH';
80
+ priority: 'high' | 'normal' | 'low';
81
+ trigger: TriggerSource;
82
+ queueDepth: number;
83
+ }): void;
84
+ queueCoalesce(params: {
85
+ traceId: string;
86
+ sessionId: string;
87
+ operationType: 'GENERATE' | 'PATCH' | 'REFRESH';
88
+ reason: 'already_processing' | 'already_queued';
89
+ }): void;
90
+ queueProcess(params: {
91
+ traceId: string;
92
+ sessionId: string;
93
+ operationType: 'GENERATE' | 'PATCH' | 'REFRESH';
94
+ queuePosition: number;
95
+ }): void;
96
+ queueComplete(params: {
97
+ traceId: string;
98
+ sessionId: string;
99
+ operationType: 'GENERATE' | 'PATCH' | 'REFRESH';
100
+ durationMs: number;
101
+ }): void;
102
+ queueError(params: {
103
+ traceId: string;
104
+ sessionId: string;
105
+ operationType: 'GENERATE' | 'PATCH' | 'REFRESH';
106
+ error: string;
107
+ durationMs: number;
108
+ }): void;
109
+ /**
110
+ * Log LLM operations
111
+ */
112
+ generate(params: {
113
+ traceId: string;
114
+ sessionId: string;
115
+ beforeState?: StateSnapshot;
116
+ afterState?: StateSnapshot;
117
+ durationMs: number;
118
+ }): void;
119
+ quickCheck(params: {
120
+ traceId: string;
121
+ sessionId: string;
122
+ result: 'patch_needed' | 'no_patch';
123
+ reason: string;
124
+ durationMs: number;
125
+ }): void;
126
+ patch(params: {
127
+ traceId: string;
128
+ sessionId: string;
129
+ beforeState: StateSnapshot;
130
+ afterState: StateSnapshot;
131
+ patchedFields: string[];
132
+ durationMs: number;
133
+ }): void;
134
+ /**
135
+ * Log cache events
136
+ */
137
+ cacheHit(params: {
138
+ traceId: string;
139
+ sessionId: string;
140
+ computedAt?: string;
141
+ }): void;
142
+ cacheStale(params: {
143
+ traceId: string;
144
+ sessionId: string;
145
+ reason: string;
146
+ }): void;
147
+ private addEvent;
148
+ /**
149
+ * Get all events (most recent first)
150
+ */
151
+ getAll(limit?: number): InsightEvent[];
152
+ /**
153
+ * Get events for a specific session
154
+ */
155
+ getForSession(sessionId: string, limit?: number): InsightEvent[];
156
+ /**
157
+ * Get events for a specific trace ID (follows one operation end-to-end)
158
+ */
159
+ getByTraceId(traceId: string): InsightEvent[];
160
+ /**
161
+ * Get events by type
162
+ */
163
+ getByType(eventType: InsightEventType, limit?: number): InsightEvent[];
164
+ /**
165
+ * Get recent skips (useful for debugging "why didn't it update?")
166
+ */
167
+ getRecentSkips(sessionId?: string, limit?: number): InsightEvent[];
168
+ /**
169
+ * Get recent patches (useful for debugging "what changed?")
170
+ */
171
+ getRecentPatches(sessionId?: string, limit?: number): InsightEvent[];
172
+ /**
173
+ * Get timing summary for a session
174
+ */
175
+ getTimingSummary(sessionId: string): {
176
+ totalGenerates: number;
177
+ totalPatches: number;
178
+ totalQuickChecks: number;
179
+ avgGenerateDurationMs: number;
180
+ avgPatchDurationMs: number;
181
+ avgQuickCheckDurationMs: number;
182
+ totalSkips: number;
183
+ lastActivity?: Date;
184
+ };
185
+ /**
186
+ * Get a human-readable timeline for a session
187
+ */
188
+ getTimeline(sessionId: string, limit?: number): string[];
189
+ /**
190
+ * Clear all events (for testing)
191
+ */
192
+ clear(): void;
193
+ }
194
+ export declare function getInsightsEventLog(): InsightsEventLog;
195
+ export declare function resetInsightsEventLog(): void;
196
+ //# sourceMappingURL=insights-event-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights-event-log.d.ts","sourceRoot":"","sources":["../../../src/services/insights/insights-event-log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,319 @@
1
+ /**
2
+ * InsightsEventLog - Structured event logging for observability.
3
+ *
4
+ * This provides a clear, queryable log of all insight system decisions:
5
+ * - What triggered each operation
6
+ * - What the system decided to do (and why)
7
+ * - What changed (before/after state)
8
+ * - Timing information
9
+ *
10
+ * The log is designed for:
11
+ * 1. Debugging: "Why did/didn't insights update for session X?"
12
+ * 2. Monitoring: "Are insights keeping up with session activity?"
13
+ * 3. Testing: "Did the system behave correctly for this scenario?"
14
+ */
15
+ import { createLogger } from '../infrastructure/logger.js';
16
+ // ============================================================================
17
+ // Event Log Service
18
+ // ============================================================================
19
+ export class InsightsEventLog {
20
+ logger;
21
+ events = [];
22
+ eventId = 0;
23
+ maxEvents = 1000; // Ring buffer size
24
+ constructor() {
25
+ this.logger = createLogger('InsightsEventLog');
26
+ }
27
+ // ========== Logging Methods ==========
28
+ /**
29
+ * Log a trigger event (something initiated insight evaluation)
30
+ */
31
+ trigger(params) {
32
+ this.addEvent({
33
+ traceId: params.traceId,
34
+ sessionId: params.sessionId,
35
+ eventType: 'trigger',
36
+ trigger: params.source,
37
+ actionCount: params.actionCount,
38
+ messageCount: params.messageCount,
39
+ newActions: params.newActions,
40
+ });
41
+ }
42
+ /**
43
+ * Log that an operation was skipped
44
+ */
45
+ skip(params) {
46
+ this.addEvent({
47
+ traceId: params.traceId,
48
+ sessionId: params.sessionId,
49
+ eventType: 'skip',
50
+ skipReason: params.reason,
51
+ trigger: params.trigger,
52
+ });
53
+ }
54
+ /**
55
+ * Log queue events
56
+ */
57
+ queueEnqueue(params) {
58
+ this.addEvent({
59
+ traceId: params.traceId,
60
+ sessionId: params.sessionId,
61
+ eventType: 'queue_enqueue',
62
+ operationType: params.operationType,
63
+ priority: params.priority,
64
+ trigger: params.trigger,
65
+ queueDepth: params.queueDepth,
66
+ });
67
+ }
68
+ queueCoalesce(params) {
69
+ this.addEvent({
70
+ traceId: params.traceId,
71
+ sessionId: params.sessionId,
72
+ eventType: 'queue_coalesce',
73
+ operationType: params.operationType,
74
+ skipReason: params.reason,
75
+ });
76
+ }
77
+ queueProcess(params) {
78
+ this.addEvent({
79
+ traceId: params.traceId,
80
+ sessionId: params.sessionId,
81
+ eventType: 'queue_process',
82
+ operationType: params.operationType,
83
+ queuePosition: params.queuePosition,
84
+ });
85
+ }
86
+ queueComplete(params) {
87
+ this.addEvent({
88
+ traceId: params.traceId,
89
+ sessionId: params.sessionId,
90
+ eventType: 'queue_complete',
91
+ operationType: params.operationType,
92
+ durationMs: params.durationMs,
93
+ });
94
+ }
95
+ queueError(params) {
96
+ this.addEvent({
97
+ traceId: params.traceId,
98
+ sessionId: params.sessionId,
99
+ eventType: 'queue_error',
100
+ operationType: params.operationType,
101
+ llmResponse: `Error: ${params.error}`,
102
+ durationMs: params.durationMs,
103
+ });
104
+ }
105
+ /**
106
+ * Log LLM operations
107
+ */
108
+ generate(params) {
109
+ this.addEvent({
110
+ traceId: params.traceId,
111
+ sessionId: params.sessionId,
112
+ eventType: 'generate',
113
+ beforeState: params.beforeState,
114
+ afterState: params.afterState,
115
+ durationMs: params.durationMs,
116
+ });
117
+ }
118
+ quickCheck(params) {
119
+ this.addEvent({
120
+ traceId: params.traceId,
121
+ sessionId: params.sessionId,
122
+ eventType: 'quick_check',
123
+ llmResponse: `${params.result}: ${params.reason}`,
124
+ durationMs: params.durationMs,
125
+ });
126
+ }
127
+ patch(params) {
128
+ this.addEvent({
129
+ traceId: params.traceId,
130
+ sessionId: params.sessionId,
131
+ eventType: 'patch',
132
+ beforeState: params.beforeState,
133
+ afterState: params.afterState,
134
+ patchedFields: params.patchedFields,
135
+ durationMs: params.durationMs,
136
+ });
137
+ }
138
+ /**
139
+ * Log cache events
140
+ */
141
+ cacheHit(params) {
142
+ this.addEvent({
143
+ traceId: params.traceId,
144
+ sessionId: params.sessionId,
145
+ eventType: 'cache_hit',
146
+ llmResponse: params.computedAt ? `cached at ${params.computedAt}` : undefined,
147
+ });
148
+ }
149
+ cacheStale(params) {
150
+ this.addEvent({
151
+ traceId: params.traceId,
152
+ sessionId: params.sessionId,
153
+ eventType: 'cache_stale',
154
+ llmResponse: params.reason,
155
+ });
156
+ }
157
+ // ========== Internal ==========
158
+ addEvent(params) {
159
+ const event = {
160
+ id: ++this.eventId,
161
+ timestamp: Date.now(),
162
+ ...params,
163
+ };
164
+ // Ring buffer
165
+ if (this.events.length >= this.maxEvents) {
166
+ this.events.shift();
167
+ }
168
+ this.events.push(event);
169
+ // Also log to structured logger for file output
170
+ this.logger.debug('insight_event', {
171
+ id: event.id,
172
+ traceId: event.traceId,
173
+ sessionId: event.sessionId.slice(0, 8),
174
+ eventType: event.eventType,
175
+ trigger: event.trigger,
176
+ skipReason: event.skipReason,
177
+ operationType: event.operationType,
178
+ patchedFields: event.patchedFields,
179
+ durationMs: event.durationMs,
180
+ });
181
+ }
182
+ // ========== Query Methods ==========
183
+ /**
184
+ * Get all events (most recent first)
185
+ */
186
+ getAll(limit = 100) {
187
+ return this.events.slice(-limit).reverse();
188
+ }
189
+ /**
190
+ * Get events for a specific session
191
+ */
192
+ getForSession(sessionId, limit = 50) {
193
+ return this.events
194
+ .filter(e => e.sessionId === sessionId)
195
+ .slice(-limit)
196
+ .reverse();
197
+ }
198
+ /**
199
+ * Get events for a specific trace ID (follows one operation end-to-end)
200
+ */
201
+ getByTraceId(traceId) {
202
+ return this.events.filter(e => e.traceId === traceId);
203
+ }
204
+ /**
205
+ * Get events by type
206
+ */
207
+ getByType(eventType, limit = 50) {
208
+ return this.events
209
+ .filter(e => e.eventType === eventType)
210
+ .slice(-limit)
211
+ .reverse();
212
+ }
213
+ /**
214
+ * Get recent skips (useful for debugging "why didn't it update?")
215
+ */
216
+ getRecentSkips(sessionId, limit = 20) {
217
+ let events = this.events.filter(e => e.eventType === 'skip' || e.eventType === 'queue_coalesce');
218
+ if (sessionId) {
219
+ events = events.filter(e => e.sessionId === sessionId);
220
+ }
221
+ return events.slice(-limit).reverse();
222
+ }
223
+ /**
224
+ * Get recent patches (useful for debugging "what changed?")
225
+ */
226
+ getRecentPatches(sessionId, limit = 20) {
227
+ let events = this.events.filter(e => e.eventType === 'patch');
228
+ if (sessionId) {
229
+ events = events.filter(e => e.sessionId === sessionId);
230
+ }
231
+ return events.slice(-limit).reverse();
232
+ }
233
+ /**
234
+ * Get timing summary for a session
235
+ */
236
+ getTimingSummary(sessionId) {
237
+ const sessionEvents = this.events.filter(e => e.sessionId === sessionId);
238
+ const generates = sessionEvents.filter(e => e.eventType === 'generate');
239
+ const patches = sessionEvents.filter(e => e.eventType === 'patch');
240
+ const quickChecks = sessionEvents.filter(e => e.eventType === 'quick_check');
241
+ const skips = sessionEvents.filter(e => e.eventType === 'skip' || e.eventType === 'queue_coalesce');
242
+ const avgDuration = (events) => {
243
+ const durations = events.map(e => e.durationMs).filter(d => d !== undefined);
244
+ return durations.length > 0 ? durations.reduce((a, b) => a + b, 0) / durations.length : 0;
245
+ };
246
+ const lastEvent = sessionEvents[sessionEvents.length - 1];
247
+ return {
248
+ totalGenerates: generates.length,
249
+ totalPatches: patches.length,
250
+ totalQuickChecks: quickChecks.length,
251
+ avgGenerateDurationMs: Math.round(avgDuration(generates)),
252
+ avgPatchDurationMs: Math.round(avgDuration(patches)),
253
+ avgQuickCheckDurationMs: Math.round(avgDuration(quickChecks)),
254
+ totalSkips: skips.length,
255
+ lastActivity: lastEvent ? new Date(lastEvent.timestamp) : undefined,
256
+ };
257
+ }
258
+ /**
259
+ * Get a human-readable timeline for a session
260
+ */
261
+ getTimeline(sessionId, limit = 30) {
262
+ const events = this.getForSession(sessionId, limit);
263
+ return events.map(e => {
264
+ const time = new Date(e.timestamp).toISOString().slice(11, 19);
265
+ const duration = e.durationMs ? ` (${e.durationMs}ms)` : '';
266
+ switch (e.eventType) {
267
+ case 'trigger':
268
+ return `${time} 🎯 Trigger: ${e.trigger} (${e.actionCount} actions)`;
269
+ case 'skip':
270
+ return `${time} ⏭️ Skip: ${e.skipReason}`;
271
+ case 'queue_enqueue':
272
+ return `${time} 📥 Queue: ${e.operationType} (${e.priority})`;
273
+ case 'queue_coalesce':
274
+ return `${time} 🔄 Coalesce: ${e.operationType} - ${e.skipReason}`;
275
+ case 'queue_process':
276
+ return `${time} ⚙️ Processing: ${e.operationType}`;
277
+ case 'queue_complete':
278
+ return `${time} ✅ Complete: ${e.operationType}${duration}`;
279
+ case 'queue_error':
280
+ return `${time} ❌ Error: ${e.operationType}${duration}`;
281
+ case 'generate':
282
+ return `${time} 🔮 Generate${duration}`;
283
+ case 'quick_check':
284
+ return `${time} 👁️ QuickCheck: ${e.llmResponse}${duration}`;
285
+ case 'patch':
286
+ const fields = e.patchedFields?.join(', ') || 'none';
287
+ return `${time} 🩹 Patch: [${fields}]${duration}`;
288
+ case 'cache_hit':
289
+ return `${time} 💾 CacheHit`;
290
+ case 'cache_stale':
291
+ return `${time} ⚠️ CacheStale: ${e.llmResponse}`;
292
+ default:
293
+ return `${time} ❓ ${e.eventType}`;
294
+ }
295
+ });
296
+ }
297
+ /**
298
+ * Clear all events (for testing)
299
+ */
300
+ clear() {
301
+ this.events = [];
302
+ this.eventId = 0;
303
+ }
304
+ }
305
+ // ============================================================================
306
+ // Singleton
307
+ // ============================================================================
308
+ let instance = null;
309
+ export function getInsightsEventLog() {
310
+ if (!instance) {
311
+ instance = new InsightsEventLog();
312
+ }
313
+ return instance;
314
+ }
315
+ // For testing
316
+ export function resetInsightsEventLog() {
317
+ instance = null;
318
+ }
319
+ //# sourceMappingURL=insights-event-log.js.map