agent-recorder 0.0.1

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 (477) hide show
  1. package/README.md +133 -0
  2. package/dist/bundle.d.ts +8 -0
  3. package/dist/bundle.d.ts.map +1 -0
  4. package/dist/bundle.js +131 -0
  5. package/dist/bundle.js.map +1 -0
  6. package/dist/index.d.ts +10 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +31 -0
  9. package/dist/index.js.map +1 -0
  10. package/package.json +53 -0
  11. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics 2.js +205 -0
  12. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.d 2.ts +50 -0
  13. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.d.ts +50 -0
  14. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.d.ts 2.map +1 -0
  15. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.d.ts.map +1 -0
  16. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.js +205 -0
  17. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.js 2.map +1 -0
  18. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.js.map +1 -0
  19. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test 2.js +253 -0
  20. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.d 2.ts +5 -0
  21. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.d.ts +5 -0
  22. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.d.ts 2.map +1 -0
  23. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.d.ts.map +1 -0
  24. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js +253 -0
  25. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js 2.map +1 -0
  26. package/vendor/node_modules/@agent-recorder/cli/analytics/session-analytics.test.js.map +1 -0
  27. package/vendor/node_modules/@agent-recorder/cli/commands/configure 2.js +144 -0
  28. package/vendor/node_modules/@agent-recorder/cli/commands/configure.d 2.ts +17 -0
  29. package/vendor/node_modules/@agent-recorder/cli/commands/configure.d.ts +17 -0
  30. package/vendor/node_modules/@agent-recorder/cli/commands/configure.d.ts 2.map +1 -0
  31. package/vendor/node_modules/@agent-recorder/cli/commands/configure.d.ts.map +1 -0
  32. package/vendor/node_modules/@agent-recorder/cli/commands/configure.js +144 -0
  33. package/vendor/node_modules/@agent-recorder/cli/commands/configure.js 2.map +1 -0
  34. package/vendor/node_modules/@agent-recorder/cli/commands/configure.js.map +1 -0
  35. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose 2.js +141 -0
  36. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.d 2.ts +5 -0
  37. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.d.ts +5 -0
  38. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.d.ts 2.map +1 -0
  39. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.d.ts.map +1 -0
  40. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.js +141 -0
  41. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.js 2.map +1 -0
  42. package/vendor/node_modules/@agent-recorder/cli/commands/diagnose.js.map +1 -0
  43. package/vendor/node_modules/@agent-recorder/cli/commands/doctor 2.js +253 -0
  44. package/vendor/node_modules/@agent-recorder/cli/commands/doctor.d 2.ts +5 -0
  45. package/vendor/node_modules/@agent-recorder/cli/commands/doctor.d.ts +5 -0
  46. package/vendor/node_modules/@agent-recorder/cli/commands/doctor.d.ts 2.map +1 -0
  47. package/vendor/node_modules/@agent-recorder/cli/commands/doctor.d.ts.map +1 -0
  48. package/vendor/node_modules/@agent-recorder/cli/commands/doctor.js +253 -0
  49. package/vendor/node_modules/@agent-recorder/cli/commands/doctor.js 2.map +1 -0
  50. package/vendor/node_modules/@agent-recorder/cli/commands/doctor.js.map +1 -0
  51. package/vendor/node_modules/@agent-recorder/cli/commands/export 2.js +56 -0
  52. package/vendor/node_modules/@agent-recorder/cli/commands/export.d 2.ts +12 -0
  53. package/vendor/node_modules/@agent-recorder/cli/commands/export.d.ts +12 -0
  54. package/vendor/node_modules/@agent-recorder/cli/commands/export.d.ts 2.map +1 -0
  55. package/vendor/node_modules/@agent-recorder/cli/commands/export.d.ts.map +1 -0
  56. package/vendor/node_modules/@agent-recorder/cli/commands/export.js +56 -0
  57. package/vendor/node_modules/@agent-recorder/cli/commands/export.js 2.map +1 -0
  58. package/vendor/node_modules/@agent-recorder/cli/commands/export.js.map +1 -0
  59. package/vendor/node_modules/@agent-recorder/cli/commands/install 2.js +77 -0
  60. package/vendor/node_modules/@agent-recorder/cli/commands/install.d 2.ts +13 -0
  61. package/vendor/node_modules/@agent-recorder/cli/commands/install.d.ts +13 -0
  62. package/vendor/node_modules/@agent-recorder/cli/commands/install.d.ts 2.map +1 -0
  63. package/vendor/node_modules/@agent-recorder/cli/commands/install.d.ts.map +1 -0
  64. package/vendor/node_modules/@agent-recorder/cli/commands/install.js +77 -0
  65. package/vendor/node_modules/@agent-recorder/cli/commands/install.js 2.map +1 -0
  66. package/vendor/node_modules/@agent-recorder/cli/commands/install.js.map +1 -0
  67. package/vendor/node_modules/@agent-recorder/cli/commands/logs 2.js +40 -0
  68. package/vendor/node_modules/@agent-recorder/cli/commands/logs.d 2.ts +8 -0
  69. package/vendor/node_modules/@agent-recorder/cli/commands/logs.d.ts +8 -0
  70. package/vendor/node_modules/@agent-recorder/cli/commands/logs.d.ts 2.map +1 -0
  71. package/vendor/node_modules/@agent-recorder/cli/commands/logs.d.ts.map +1 -0
  72. package/vendor/node_modules/@agent-recorder/cli/commands/logs.js +40 -0
  73. package/vendor/node_modules/@agent-recorder/cli/commands/logs.js 2.map +1 -0
  74. package/vendor/node_modules/@agent-recorder/cli/commands/logs.js.map +1 -0
  75. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp 2.js +188 -0
  76. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.d 2.ts +10 -0
  77. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.d.ts +10 -0
  78. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.d.ts 2.map +1 -0
  79. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.d.ts.map +1 -0
  80. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.js +188 -0
  81. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.js 2.map +1 -0
  82. package/vendor/node_modules/@agent-recorder/cli/commands/mock-mcp.js.map +1 -0
  83. package/vendor/node_modules/@agent-recorder/cli/commands/restart 2.js +67 -0
  84. package/vendor/node_modules/@agent-recorder/cli/commands/restart.d 2.ts +9 -0
  85. package/vendor/node_modules/@agent-recorder/cli/commands/restart.d.ts +9 -0
  86. package/vendor/node_modules/@agent-recorder/cli/commands/restart.d.ts 2.map +1 -0
  87. package/vendor/node_modules/@agent-recorder/cli/commands/restart.d.ts.map +1 -0
  88. package/vendor/node_modules/@agent-recorder/cli/commands/restart.js +67 -0
  89. package/vendor/node_modules/@agent-recorder/cli/commands/restart.js 2.map +1 -0
  90. package/vendor/node_modules/@agent-recorder/cli/commands/restart.js.map +1 -0
  91. package/vendor/node_modules/@agent-recorder/cli/commands/sessions 2.js +333 -0
  92. package/vendor/node_modules/@agent-recorder/cli/commands/sessions.d 2.ts +52 -0
  93. package/vendor/node_modules/@agent-recorder/cli/commands/sessions.d.ts +52 -0
  94. package/vendor/node_modules/@agent-recorder/cli/commands/sessions.d.ts 2.map +1 -0
  95. package/vendor/node_modules/@agent-recorder/cli/commands/sessions.d.ts.map +1 -0
  96. package/vendor/node_modules/@agent-recorder/cli/commands/sessions.js +333 -0
  97. package/vendor/node_modules/@agent-recorder/cli/commands/sessions.js 2.map +1 -0
  98. package/vendor/node_modules/@agent-recorder/cli/commands/sessions.js.map +1 -0
  99. package/vendor/node_modules/@agent-recorder/cli/commands/start 2.js +174 -0
  100. package/vendor/node_modules/@agent-recorder/cli/commands/start.d 2.ts +10 -0
  101. package/vendor/node_modules/@agent-recorder/cli/commands/start.d.ts +10 -0
  102. package/vendor/node_modules/@agent-recorder/cli/commands/start.d.ts 2.map +1 -0
  103. package/vendor/node_modules/@agent-recorder/cli/commands/start.d.ts.map +1 -0
  104. package/vendor/node_modules/@agent-recorder/cli/commands/start.js +174 -0
  105. package/vendor/node_modules/@agent-recorder/cli/commands/start.js 2.map +1 -0
  106. package/vendor/node_modules/@agent-recorder/cli/commands/start.js.map +1 -0
  107. package/vendor/node_modules/@agent-recorder/cli/commands/status 2.js +104 -0
  108. package/vendor/node_modules/@agent-recorder/cli/commands/status.d 2.ts +5 -0
  109. package/vendor/node_modules/@agent-recorder/cli/commands/status.d.ts +5 -0
  110. package/vendor/node_modules/@agent-recorder/cli/commands/status.d.ts 2.map +1 -0
  111. package/vendor/node_modules/@agent-recorder/cli/commands/status.d.ts.map +1 -0
  112. package/vendor/node_modules/@agent-recorder/cli/commands/status.js +104 -0
  113. package/vendor/node_modules/@agent-recorder/cli/commands/status.js 2.map +1 -0
  114. package/vendor/node_modules/@agent-recorder/cli/commands/status.js.map +1 -0
  115. package/vendor/node_modules/@agent-recorder/cli/commands/stop 2.js +89 -0
  116. package/vendor/node_modules/@agent-recorder/cli/commands/stop.d 2.ts +8 -0
  117. package/vendor/node_modules/@agent-recorder/cli/commands/stop.d.ts +8 -0
  118. package/vendor/node_modules/@agent-recorder/cli/commands/stop.d.ts 2.map +1 -0
  119. package/vendor/node_modules/@agent-recorder/cli/commands/stop.d.ts.map +1 -0
  120. package/vendor/node_modules/@agent-recorder/cli/commands/stop.js +89 -0
  121. package/vendor/node_modules/@agent-recorder/cli/commands/stop.js 2.map +1 -0
  122. package/vendor/node_modules/@agent-recorder/cli/commands/stop.js.map +1 -0
  123. package/vendor/node_modules/@agent-recorder/cli/commands/tui 2.js +14 -0
  124. package/vendor/node_modules/@agent-recorder/cli/commands/tui.d 2.ts +5 -0
  125. package/vendor/node_modules/@agent-recorder/cli/commands/tui.d.ts +5 -0
  126. package/vendor/node_modules/@agent-recorder/cli/commands/tui.d.ts 2.map +1 -0
  127. package/vendor/node_modules/@agent-recorder/cli/commands/tui.d.ts.map +1 -0
  128. package/vendor/node_modules/@agent-recorder/cli/commands/tui.js +14 -0
  129. package/vendor/node_modules/@agent-recorder/cli/commands/tui.js 2.map +1 -0
  130. package/vendor/node_modules/@agent-recorder/cli/commands/tui.js.map +1 -0
  131. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths 2.js +117 -0
  132. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d 2.ts +55 -0
  133. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d.ts +55 -0
  134. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d.ts 2.map +1 -0
  135. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.d.ts.map +1 -0
  136. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.js +117 -0
  137. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.js 2.map +1 -0
  138. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.js.map +1 -0
  139. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test 2.js +152 -0
  140. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.d 2.ts +5 -0
  141. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.d.ts +5 -0
  142. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.d.ts 2.map +1 -0
  143. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.d.ts.map +1 -0
  144. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.js +152 -0
  145. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.js 2.map +1 -0
  146. package/vendor/node_modules/@agent-recorder/cli/config/claude-paths.test.js.map +1 -0
  147. package/vendor/node_modules/@agent-recorder/cli/index 2.js +194 -0
  148. package/vendor/node_modules/@agent-recorder/cli/index.d 2.ts +10 -0
  149. package/vendor/node_modules/@agent-recorder/cli/index.d.ts +10 -0
  150. package/vendor/node_modules/@agent-recorder/cli/index.d.ts 2.map +1 -0
  151. package/vendor/node_modules/@agent-recorder/cli/index.d.ts.map +1 -0
  152. package/vendor/node_modules/@agent-recorder/cli/index.js +194 -0
  153. package/vendor/node_modules/@agent-recorder/cli/index.js 2.map +1 -0
  154. package/vendor/node_modules/@agent-recorder/cli/index.js.map +1 -0
  155. package/vendor/node_modules/@agent-recorder/cli/package 2.json +17 -0
  156. package/vendor/node_modules/@agent-recorder/cli/package.json +17 -0
  157. package/vendor/node_modules/@agent-recorder/cli/tui/App 2.js +84 -0
  158. package/vendor/node_modules/@agent-recorder/cli/tui/App.d 2.ts +6 -0
  159. package/vendor/node_modules/@agent-recorder/cli/tui/App.d.ts +6 -0
  160. package/vendor/node_modules/@agent-recorder/cli/tui/App.d.ts 2.map +1 -0
  161. package/vendor/node_modules/@agent-recorder/cli/tui/App.d.ts.map +1 -0
  162. package/vendor/node_modules/@agent-recorder/cli/tui/App.js +84 -0
  163. package/vendor/node_modules/@agent-recorder/cli/tui/App.js 2.map +1 -0
  164. package/vendor/node_modules/@agent-recorder/cli/tui/App.js.map +1 -0
  165. package/vendor/node_modules/@agent-recorder/cli/tui/api 2.js +105 -0
  166. package/vendor/node_modules/@agent-recorder/cli/tui/api.d 2.ts +31 -0
  167. package/vendor/node_modules/@agent-recorder/cli/tui/api.d.ts +31 -0
  168. package/vendor/node_modules/@agent-recorder/cli/tui/api.d.ts 2.map +1 -0
  169. package/vendor/node_modules/@agent-recorder/cli/tui/api.d.ts.map +1 -0
  170. package/vendor/node_modules/@agent-recorder/cli/tui/api.js +105 -0
  171. package/vendor/node_modules/@agent-recorder/cli/tui/api.js 2.map +1 -0
  172. package/vendor/node_modules/@agent-recorder/cli/tui/api.js.map +1 -0
  173. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel 2.js +45 -0
  174. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.d 2.ts +11 -0
  175. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.d.ts +11 -0
  176. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.d.ts 2.map +1 -0
  177. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.d.ts.map +1 -0
  178. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.js +45 -0
  179. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.js 2.map +1 -0
  180. package/vendor/node_modules/@agent-recorder/cli/tui/components/EventInspectPanel.js.map +1 -0
  181. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header 2.js +13 -0
  182. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.d 2.ts +17 -0
  183. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.d.ts +17 -0
  184. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.d.ts 2.map +1 -0
  185. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.d.ts.map +1 -0
  186. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.js +13 -0
  187. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.js 2.map +1 -0
  188. package/vendor/node_modules/@agent-recorder/cli/tui/components/Header.js.map +1 -0
  189. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner 2.js +21 -0
  190. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.d 2.ts +12 -0
  191. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.d.ts +12 -0
  192. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.d.ts 2.map +1 -0
  193. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.d.ts.map +1 -0
  194. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.js +21 -0
  195. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.js 2.map +1 -0
  196. package/vendor/node_modules/@agent-recorder/cli/tui/components/Spinner.js.map +1 -0
  197. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge 2.js +50 -0
  198. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.d 2.ts +16 -0
  199. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.d.ts +16 -0
  200. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.d.ts 2.map +1 -0
  201. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.d.ts.map +1 -0
  202. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.js +50 -0
  203. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.js 2.map +1 -0
  204. package/vendor/node_modules/@agent-recorder/cli/tui/components/StatusBadge.js.map +1 -0
  205. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table 2.js +20 -0
  206. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.d 2.ts +21 -0
  207. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.d.ts +21 -0
  208. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.d.ts 2.map +1 -0
  209. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.d.ts.map +1 -0
  210. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.js +20 -0
  211. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.js 2.map +1 -0
  212. package/vendor/node_modules/@agent-recorder/cli/tui/components/Table.js.map +1 -0
  213. package/vendor/node_modules/@agent-recorder/cli/tui/components/index 2.js +8 -0
  214. package/vendor/node_modules/@agent-recorder/cli/tui/components/index.d 2.ts +8 -0
  215. package/vendor/node_modules/@agent-recorder/cli/tui/components/index.d.ts +8 -0
  216. package/vendor/node_modules/@agent-recorder/cli/tui/components/index.d.ts 2.map +1 -0
  217. package/vendor/node_modules/@agent-recorder/cli/tui/components/index.d.ts.map +1 -0
  218. package/vendor/node_modules/@agent-recorder/cli/tui/components/index.js +8 -0
  219. package/vendor/node_modules/@agent-recorder/cli/tui/components/index.js 2.map +1 -0
  220. package/vendor/node_modules/@agent-recorder/cli/tui/components/index.js.map +1 -0
  221. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream 2.js +75 -0
  222. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.d 2.ts +22 -0
  223. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.d.ts +22 -0
  224. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.d.ts 2.map +1 -0
  225. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.d.ts.map +1 -0
  226. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.js +75 -0
  227. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.js 2.map +1 -0
  228. package/vendor/node_modules/@agent-recorder/cli/tui/hooks/useEventStream.js.map +1 -0
  229. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen 2.js +190 -0
  230. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.d 2.ts +13 -0
  231. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.d.ts +13 -0
  232. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.d.ts 2.map +1 -0
  233. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.d.ts.map +1 -0
  234. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.js +190 -0
  235. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.js 2.map +1 -0
  236. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionDetailScreen.js.map +1 -0
  237. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen 2.js +166 -0
  238. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.d 2.ts +10 -0
  239. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.d.ts +10 -0
  240. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.d.ts 2.map +1 -0
  241. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.d.ts.map +1 -0
  242. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.js +166 -0
  243. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.js 2.map +1 -0
  244. package/vendor/node_modules/@agent-recorder/cli/tui/screens/SessionsScreen.js.map +1 -0
  245. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index 2.js +6 -0
  246. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.d 2.ts +6 -0
  247. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.d.ts +6 -0
  248. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.d.ts 2.map +1 -0
  249. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.d.ts.map +1 -0
  250. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.js +6 -0
  251. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.js 2.map +1 -0
  252. package/vendor/node_modules/@agent-recorder/cli/tui/screens/index.js.map +1 -0
  253. package/vendor/node_modules/@agent-recorder/core/config 2.js +44 -0
  254. package/vendor/node_modules/@agent-recorder/core/config.d 2.ts +25 -0
  255. package/vendor/node_modules/@agent-recorder/core/config.d.ts +25 -0
  256. package/vendor/node_modules/@agent-recorder/core/config.d.ts 2.map +1 -0
  257. package/vendor/node_modules/@agent-recorder/core/config.d.ts.map +1 -0
  258. package/vendor/node_modules/@agent-recorder/core/config.js +44 -0
  259. package/vendor/node_modules/@agent-recorder/core/config.js.map +1 -0
  260. package/vendor/node_modules/@agent-recorder/core/config.test.d.ts +5 -0
  261. package/vendor/node_modules/@agent-recorder/core/config.test.d.ts.map +1 -0
  262. package/vendor/node_modules/@agent-recorder/core/config.test.js +78 -0
  263. package/vendor/node_modules/@agent-recorder/core/config.test.js.map +1 -0
  264. package/vendor/node_modules/@agent-recorder/core/daemon-paths.d.ts +50 -0
  265. package/vendor/node_modules/@agent-recorder/core/daemon-paths.d.ts.map +1 -0
  266. package/vendor/node_modules/@agent-recorder/core/daemon-paths.js +113 -0
  267. package/vendor/node_modules/@agent-recorder/core/daemon-paths.js.map +1 -0
  268. package/vendor/node_modules/@agent-recorder/core/daemon-paths.test.d.ts +5 -0
  269. package/vendor/node_modules/@agent-recorder/core/daemon-paths.test.d.ts.map +1 -0
  270. package/vendor/node_modules/@agent-recorder/core/daemon-paths.test.js +143 -0
  271. package/vendor/node_modules/@agent-recorder/core/daemon-paths.test.js.map +1 -0
  272. package/vendor/node_modules/@agent-recorder/core/db/connection.d 2.ts +15 -0
  273. package/vendor/node_modules/@agent-recorder/core/db/connection.d.ts +15 -0
  274. package/vendor/node_modules/@agent-recorder/core/db/connection.d.ts.map +1 -0
  275. package/vendor/node_modules/@agent-recorder/core/db/connection.js +30 -0
  276. package/vendor/node_modules/@agent-recorder/core/db/connection.js.map +1 -0
  277. package/vendor/node_modules/@agent-recorder/core/db/events.d.ts +65 -0
  278. package/vendor/node_modules/@agent-recorder/core/db/events.d.ts.map +1 -0
  279. package/vendor/node_modules/@agent-recorder/core/db/events.js +117 -0
  280. package/vendor/node_modules/@agent-recorder/core/db/events.js.map +1 -0
  281. package/vendor/node_modules/@agent-recorder/core/db/events.test.d.ts +5 -0
  282. package/vendor/node_modules/@agent-recorder/core/db/events.test.d.ts.map +1 -0
  283. package/vendor/node_modules/@agent-recorder/core/db/events.test.js +72 -0
  284. package/vendor/node_modules/@agent-recorder/core/db/events.test.js.map +1 -0
  285. package/vendor/node_modules/@agent-recorder/core/db/index.d.ts +9 -0
  286. package/vendor/node_modules/@agent-recorder/core/db/index.d.ts.map +1 -0
  287. package/vendor/node_modules/@agent-recorder/core/db/index.js +9 -0
  288. package/vendor/node_modules/@agent-recorder/core/db/index.js.map +1 -0
  289. package/vendor/node_modules/@agent-recorder/core/db/migrations.d.ts +17 -0
  290. package/vendor/node_modules/@agent-recorder/core/db/migrations.d.ts.map +1 -0
  291. package/vendor/node_modules/@agent-recorder/core/db/migrations.js +56 -0
  292. package/vendor/node_modules/@agent-recorder/core/db/migrations.js.map +1 -0
  293. package/vendor/node_modules/@agent-recorder/core/db/sequences.d.ts +17 -0
  294. package/vendor/node_modules/@agent-recorder/core/db/sequences.d.ts.map +1 -0
  295. package/vendor/node_modules/@agent-recorder/core/db/sequences.js +41 -0
  296. package/vendor/node_modules/@agent-recorder/core/db/sequences.js.map +1 -0
  297. package/vendor/node_modules/@agent-recorder/core/db/sessions.d.ts +17 -0
  298. package/vendor/node_modules/@agent-recorder/core/db/sessions.d.ts.map +1 -0
  299. package/vendor/node_modules/@agent-recorder/core/db/sessions.js +61 -0
  300. package/vendor/node_modules/@agent-recorder/core/db/sessions.js.map +1 -0
  301. package/vendor/node_modules/@agent-recorder/core/index.d.ts +13 -0
  302. package/vendor/node_modules/@agent-recorder/core/index.d.ts.map +1 -0
  303. package/vendor/node_modules/@agent-recorder/core/index.js +13 -0
  304. package/vendor/node_modules/@agent-recorder/core/index.js.map +1 -0
  305. package/vendor/node_modules/@agent-recorder/core/lockfile.d.ts +42 -0
  306. package/vendor/node_modules/@agent-recorder/core/lockfile.d.ts.map +1 -0
  307. package/vendor/node_modules/@agent-recorder/core/lockfile.js +122 -0
  308. package/vendor/node_modules/@agent-recorder/core/lockfile.js.map +1 -0
  309. package/vendor/node_modules/@agent-recorder/core/lockfile.test.d.ts +5 -0
  310. package/vendor/node_modules/@agent-recorder/core/lockfile.test.d.ts.map +1 -0
  311. package/vendor/node_modules/@agent-recorder/core/lockfile.test.js +136 -0
  312. package/vendor/node_modules/@agent-recorder/core/lockfile.test.js.map +1 -0
  313. package/vendor/node_modules/@agent-recorder/core/migrations/001_initial 2.sql +40 -0
  314. package/vendor/node_modules/@agent-recorder/core/migrations/001_initial.sql +40 -0
  315. package/vendor/node_modules/@agent-recorder/core/migrations/002_session_sequences 2.sql +8 -0
  316. package/vendor/node_modules/@agent-recorder/core/migrations/002_session_sequences.sql +8 -0
  317. package/vendor/node_modules/@agent-recorder/core/migrations/003_add_tool_columns 2.sql +9 -0
  318. package/vendor/node_modules/@agent-recorder/core/migrations/003_add_tool_columns.sql +9 -0
  319. package/vendor/node_modules/@agent-recorder/core/migrations/004_add_cancelled_status 2.sql +23 -0
  320. package/vendor/node_modules/@agent-recorder/core/migrations/004_add_cancelled_status.sql +23 -0
  321. package/vendor/node_modules/@agent-recorder/core/migrations/005_add_error_category 2.sql +6 -0
  322. package/vendor/node_modules/@agent-recorder/core/migrations/005_add_error_category.sql +6 -0
  323. package/vendor/node_modules/@agent-recorder/core/package 2.json +18 -0
  324. package/vendor/node_modules/@agent-recorder/core/package.json +18 -0
  325. package/vendor/node_modules/@agent-recorder/core/types/events.d 2.ts +69 -0
  326. package/vendor/node_modules/@agent-recorder/core/types/events.d.ts +69 -0
  327. package/vendor/node_modules/@agent-recorder/core/types/events.d.ts.map +1 -0
  328. package/vendor/node_modules/@agent-recorder/core/types/events.js +6 -0
  329. package/vendor/node_modules/@agent-recorder/core/types/events.js.map +1 -0
  330. package/vendor/node_modules/@agent-recorder/core/types/index 2.js +2 -0
  331. package/vendor/node_modules/@agent-recorder/core/types/index.d.ts +3 -0
  332. package/vendor/node_modules/@agent-recorder/core/types/index.d.ts.map +1 -0
  333. package/vendor/node_modules/@agent-recorder/core/types/index.js +2 -0
  334. package/vendor/node_modules/@agent-recorder/core/types/index.js 2.map +1 -0
  335. package/vendor/node_modules/@agent-recorder/core/types/index.js.map +1 -0
  336. package/vendor/node_modules/@agent-recorder/core/types/session 2.js +6 -0
  337. package/vendor/node_modules/@agent-recorder/core/types/session.d 2.ts +22 -0
  338. package/vendor/node_modules/@agent-recorder/core/types/session.d.ts +22 -0
  339. package/vendor/node_modules/@agent-recorder/core/types/session.d.ts 2.map +1 -0
  340. package/vendor/node_modules/@agent-recorder/core/types/session.d.ts.map +1 -0
  341. package/vendor/node_modules/@agent-recorder/core/types/session.js +6 -0
  342. package/vendor/node_modules/@agent-recorder/core/types/session.js 2.map +1 -0
  343. package/vendor/node_modules/@agent-recorder/core/types/session.js.map +1 -0
  344. package/vendor/node_modules/@agent-recorder/core/utils/error-category 2.js +58 -0
  345. package/vendor/node_modules/@agent-recorder/core/utils/error-category.d 2.ts +22 -0
  346. package/vendor/node_modules/@agent-recorder/core/utils/error-category.d.ts +22 -0
  347. package/vendor/node_modules/@agent-recorder/core/utils/error-category.d.ts 2.map +1 -0
  348. package/vendor/node_modules/@agent-recorder/core/utils/error-category.d.ts.map +1 -0
  349. package/vendor/node_modules/@agent-recorder/core/utils/error-category.js +58 -0
  350. package/vendor/node_modules/@agent-recorder/core/utils/error-category.js 2.map +1 -0
  351. package/vendor/node_modules/@agent-recorder/core/utils/error-category.js.map +1 -0
  352. package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.d 2.ts +5 -0
  353. package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.d.ts +5 -0
  354. package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.d.ts 2.map +1 -0
  355. package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.d.ts.map +1 -0
  356. package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.js +89 -0
  357. package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.js 2.map +1 -0
  358. package/vendor/node_modules/@agent-recorder/core/utils/error-category.test.js.map +1 -0
  359. package/vendor/node_modules/@agent-recorder/core/utils/index 2.js +6 -0
  360. package/vendor/node_modules/@agent-recorder/core/utils/index.d 2.ts +6 -0
  361. package/vendor/node_modules/@agent-recorder/core/utils/index.d.ts +6 -0
  362. package/vendor/node_modules/@agent-recorder/core/utils/index.d.ts 2.map +1 -0
  363. package/vendor/node_modules/@agent-recorder/core/utils/index.d.ts.map +1 -0
  364. package/vendor/node_modules/@agent-recorder/core/utils/index.js +6 -0
  365. package/vendor/node_modules/@agent-recorder/core/utils/index.js 2.map +1 -0
  366. package/vendor/node_modules/@agent-recorder/core/utils/index.js.map +1 -0
  367. package/vendor/node_modules/@agent-recorder/core/utils/redact.d 2.ts +19 -0
  368. package/vendor/node_modules/@agent-recorder/core/utils/redact.d.ts +19 -0
  369. package/vendor/node_modules/@agent-recorder/core/utils/redact.d.ts 2.map +1 -0
  370. package/vendor/node_modules/@agent-recorder/core/utils/redact.d.ts.map +1 -0
  371. package/vendor/node_modules/@agent-recorder/core/utils/redact.js +52 -0
  372. package/vendor/node_modules/@agent-recorder/core/utils/redact.js 2.map +1 -0
  373. package/vendor/node_modules/@agent-recorder/core/utils/redact.js.map +1 -0
  374. package/vendor/node_modules/@agent-recorder/service/index 2.js +128 -0
  375. package/vendor/node_modules/@agent-recorder/service/index.d 2.ts +36 -0
  376. package/vendor/node_modules/@agent-recorder/service/index.d.ts +36 -0
  377. package/vendor/node_modules/@agent-recorder/service/index.d.ts 2.map +1 -0
  378. package/vendor/node_modules/@agent-recorder/service/index.d.ts.map +1 -0
  379. package/vendor/node_modules/@agent-recorder/service/index.js +128 -0
  380. package/vendor/node_modules/@agent-recorder/service/index.js 2.map +1 -0
  381. package/vendor/node_modules/@agent-recorder/service/index.js.map +1 -0
  382. package/vendor/node_modules/@agent-recorder/service/mcp/index 2.js +7 -0
  383. package/vendor/node_modules/@agent-recorder/service/mcp/index.d 2.ts +7 -0
  384. package/vendor/node_modules/@agent-recorder/service/mcp/index.d.ts +7 -0
  385. package/vendor/node_modules/@agent-recorder/service/mcp/index.d.ts 2.map +1 -0
  386. package/vendor/node_modules/@agent-recorder/service/mcp/index.d.ts.map +1 -0
  387. package/vendor/node_modules/@agent-recorder/service/mcp/index.js +7 -0
  388. package/vendor/node_modules/@agent-recorder/service/mcp/index.js 2.map +1 -0
  389. package/vendor/node_modules/@agent-recorder/service/mcp/index.js.map +1 -0
  390. package/vendor/node_modules/@agent-recorder/service/mcp/proxy 2.js +223 -0
  391. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d 2.ts +26 -0
  392. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts +26 -0
  393. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts 2.map +1 -0
  394. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.d.ts.map +1 -0
  395. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js +223 -0
  396. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js 2.map +1 -0
  397. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.js.map +1 -0
  398. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.d 2.ts +5 -0
  399. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.d.ts +5 -0
  400. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.d.ts 2.map +1 -0
  401. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.d.ts.map +1 -0
  402. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.js +367 -0
  403. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.js 2.map +1 -0
  404. package/vendor/node_modules/@agent-recorder/service/mcp/proxy.test.js.map +1 -0
  405. package/vendor/node_modules/@agent-recorder/service/mcp/recorder 2.js +62 -0
  406. package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d 2.ts +31 -0
  407. package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d.ts +31 -0
  408. package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d.ts 2.map +1 -0
  409. package/vendor/node_modules/@agent-recorder/service/mcp/recorder.d.ts.map +1 -0
  410. package/vendor/node_modules/@agent-recorder/service/mcp/recorder.js +62 -0
  411. package/vendor/node_modules/@agent-recorder/service/mcp/recorder.js 2.map +1 -0
  412. package/vendor/node_modules/@agent-recorder/service/mcp/recorder.js.map +1 -0
  413. package/vendor/node_modules/@agent-recorder/service/mcp/types 2.js +15 -0
  414. package/vendor/node_modules/@agent-recorder/service/mcp/types.d 2.ts +40 -0
  415. package/vendor/node_modules/@agent-recorder/service/mcp/types.d.ts +40 -0
  416. package/vendor/node_modules/@agent-recorder/service/mcp/types.d.ts 2.map +1 -0
  417. package/vendor/node_modules/@agent-recorder/service/mcp/types.d.ts.map +1 -0
  418. package/vendor/node_modules/@agent-recorder/service/mcp/types.js +15 -0
  419. package/vendor/node_modules/@agent-recorder/service/mcp/types.js 2.map +1 -0
  420. package/vendor/node_modules/@agent-recorder/service/mcp/types.js.map +1 -0
  421. package/vendor/node_modules/@agent-recorder/service/package 2.json +15 -0
  422. package/vendor/node_modules/@agent-recorder/service/package.json +15 -0
  423. package/vendor/node_modules/@agent-recorder/service/routes/events 2.js +71 -0
  424. package/vendor/node_modules/@agent-recorder/service/routes/events.d 2.ts +11 -0
  425. package/vendor/node_modules/@agent-recorder/service/routes/events.d.ts +11 -0
  426. package/vendor/node_modules/@agent-recorder/service/routes/events.d.ts 2.map +1 -0
  427. package/vendor/node_modules/@agent-recorder/service/routes/events.d.ts.map +1 -0
  428. package/vendor/node_modules/@agent-recorder/service/routes/events.js +71 -0
  429. package/vendor/node_modules/@agent-recorder/service/routes/events.js 2.map +1 -0
  430. package/vendor/node_modules/@agent-recorder/service/routes/events.js.map +1 -0
  431. package/vendor/node_modules/@agent-recorder/service/routes/health 2.js +18 -0
  432. package/vendor/node_modules/@agent-recorder/service/routes/health.d 2.ts +6 -0
  433. package/vendor/node_modules/@agent-recorder/service/routes/health.d.ts +6 -0
  434. package/vendor/node_modules/@agent-recorder/service/routes/health.d.ts 2.map +1 -0
  435. package/vendor/node_modules/@agent-recorder/service/routes/health.d.ts.map +1 -0
  436. package/vendor/node_modules/@agent-recorder/service/routes/health.js +18 -0
  437. package/vendor/node_modules/@agent-recorder/service/routes/health.js 2.map +1 -0
  438. package/vendor/node_modules/@agent-recorder/service/routes/health.js.map +1 -0
  439. package/vendor/node_modules/@agent-recorder/service/routes/sessions 2.js +80 -0
  440. package/vendor/node_modules/@agent-recorder/service/routes/sessions.d 2.ts +12 -0
  441. package/vendor/node_modules/@agent-recorder/service/routes/sessions.d.ts +12 -0
  442. package/vendor/node_modules/@agent-recorder/service/routes/sessions.d.ts 2.map +1 -0
  443. package/vendor/node_modules/@agent-recorder/service/routes/sessions.d.ts.map +1 -0
  444. package/vendor/node_modules/@agent-recorder/service/routes/sessions.js +80 -0
  445. package/vendor/node_modules/@agent-recorder/service/routes/sessions.js 2.map +1 -0
  446. package/vendor/node_modules/@agent-recorder/service/routes/sessions.js.map +1 -0
  447. package/vendor/node_modules/@agent-recorder/service/server 2.js +36 -0
  448. package/vendor/node_modules/@agent-recorder/service/server.d 2.ts +19 -0
  449. package/vendor/node_modules/@agent-recorder/service/server.d.ts +19 -0
  450. package/vendor/node_modules/@agent-recorder/service/server.d.ts 2.map +1 -0
  451. package/vendor/node_modules/@agent-recorder/service/server.d.ts.map +1 -0
  452. package/vendor/node_modules/@agent-recorder/service/server.js +36 -0
  453. package/vendor/node_modules/@agent-recorder/service/server.js 2.map +1 -0
  454. package/vendor/node_modules/@agent-recorder/service/server.js.map +1 -0
  455. package/vendor/node_modules/@agent-recorder/service/server.test 2.js +296 -0
  456. package/vendor/node_modules/@agent-recorder/service/server.test.d 2.ts +5 -0
  457. package/vendor/node_modules/@agent-recorder/service/server.test.d.ts +5 -0
  458. package/vendor/node_modules/@agent-recorder/service/server.test.d.ts 2.map +1 -0
  459. package/vendor/node_modules/@agent-recorder/service/server.test.d.ts.map +1 -0
  460. package/vendor/node_modules/@agent-recorder/service/server.test.js +296 -0
  461. package/vendor/node_modules/@agent-recorder/service/server.test.js.map +1 -0
  462. package/vendor/node_modules/@agent-recorder/service/session-manager 2.js +22 -0
  463. package/vendor/node_modules/@agent-recorder/service/session-manager.d 2.ts +16 -0
  464. package/vendor/node_modules/@agent-recorder/service/session-manager.d.ts +16 -0
  465. package/vendor/node_modules/@agent-recorder/service/session-manager.d.ts 2.map +1 -0
  466. package/vendor/node_modules/@agent-recorder/service/session-manager.d.ts.map +1 -0
  467. package/vendor/node_modules/@agent-recorder/service/session-manager.js +22 -0
  468. package/vendor/node_modules/@agent-recorder/service/session-manager.js 2.map +1 -0
  469. package/vendor/node_modules/@agent-recorder/service/session-manager.js.map +1 -0
  470. package/vendor/node_modules/@agent-recorder/service/session-manager.test 2.js +61 -0
  471. package/vendor/node_modules/@agent-recorder/service/session-manager.test.d 2.ts +5 -0
  472. package/vendor/node_modules/@agent-recorder/service/session-manager.test.d.ts +5 -0
  473. package/vendor/node_modules/@agent-recorder/service/session-manager.test.d.ts 2.map +1 -0
  474. package/vendor/node_modules/@agent-recorder/service/session-manager.test.d.ts.map +1 -0
  475. package/vendor/node_modules/@agent-recorder/service/session-manager.test.js +61 -0
  476. package/vendor/node_modules/@agent-recorder/service/session-manager.test.js 2.map +1 -0
  477. package/vendor/node_modules/@agent-recorder/service/session-manager.test.js.map +1 -0
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Event CRUD operations.
3
+ * Uses better-sqlite3 sync API.
4
+ */
5
+ /** Convert DB row to BaseEvent type */
6
+ function rowToEvent(row) {
7
+ return {
8
+ id: row.id,
9
+ sessionId: row.session_id,
10
+ parentEventId: row.parent_event_id,
11
+ sequence: row.sequence,
12
+ eventType: row.event_type,
13
+ agentRole: row.agent_role,
14
+ agentName: row.agent_name,
15
+ skillName: row.skill_name,
16
+ toolName: row.tool_name,
17
+ mcpMethod: row.mcp_method,
18
+ startedAt: row.started_at,
19
+ endedAt: row.ended_at,
20
+ status: row.status,
21
+ inputJson: row.input_json,
22
+ outputJson: row.output_json,
23
+ errorCategory: row.error_category,
24
+ createdAt: row.created_at,
25
+ };
26
+ }
27
+ /** Insert a new event */
28
+ export function insertEvent(db, event) {
29
+ const stmt = db.prepare(`
30
+ INSERT INTO events (
31
+ id, session_id, parent_event_id, sequence, event_type,
32
+ agent_role, agent_name, skill_name, tool_name, mcp_method,
33
+ started_at, ended_at, status, input_json, output_json, error_category, created_at
34
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'))
35
+ `);
36
+ stmt.run(event.id, event.sessionId, event.parentEventId ?? null, event.sequence, event.eventType, event.agentRole, event.agentName, event.skillName ?? null, event.toolName ?? null, event.mcpMethod ?? null, event.startedAt, event.endedAt ?? null, event.status, event.inputJson ?? null, event.outputJson ?? null, event.errorCategory ?? null);
37
+ return getEventById(db, event.id);
38
+ }
39
+ /** Get event by ID */
40
+ export function getEventById(db, id) {
41
+ const stmt = db.prepare("SELECT * FROM events WHERE id = ?");
42
+ const row = stmt.get(id);
43
+ return row ? rowToEvent(row) : null;
44
+ }
45
+ /** Get all events for a session, ordered by sequence */
46
+ export function getEventsBySession(db, sessionId) {
47
+ const stmt = db.prepare("SELECT * FROM events WHERE session_id = ? ORDER BY sequence ASC");
48
+ return stmt.all(sessionId).map(rowToEvent);
49
+ }
50
+ /** Get events for a session with pagination, ordered by sequence ASC */
51
+ export function getEventsBySessionPaginated(db, sessionId, options = {}) {
52
+ const after = options.after ?? 0;
53
+ const limit = options.limit ?? 200;
54
+ const stmt = db.prepare("SELECT * FROM events WHERE session_id = ? AND sequence > ? ORDER BY sequence ASC LIMIT ?");
55
+ return stmt.all(sessionId, after, limit).map(rowToEvent);
56
+ }
57
+ /** Count events for a session (efficient SQL count) */
58
+ export function countEventsBySession(db, sessionId) {
59
+ const stmt = db.prepare("SELECT COUNT(*) as count FROM events WHERE session_id = ?");
60
+ const row = stmt.get(sessionId);
61
+ return row.count;
62
+ }
63
+ /** Update an event's status and endedAt */
64
+ export function updateEventStatus(db, id, status, endedAt) {
65
+ const stmt = db.prepare(`
66
+ UPDATE events SET status = ?, ended_at = COALESCE(?, ended_at)
67
+ WHERE id = ?
68
+ `);
69
+ const result = stmt.run(status, endedAt ?? null, id);
70
+ if (result.changes === 0) {
71
+ return null;
72
+ }
73
+ return getEventById(db, id);
74
+ }
75
+ /** Get events for a session with filters (for CLI grep/search) */
76
+ export function getEventsBySessionFiltered(db, sessionId, options = {}) {
77
+ const conditions = ["session_id = ?"];
78
+ const params = [sessionId];
79
+ if (options.toolName) {
80
+ conditions.push("tool_name = ?");
81
+ params.push(options.toolName);
82
+ }
83
+ if (options.status) {
84
+ conditions.push("status = ?");
85
+ params.push(options.status);
86
+ }
87
+ if (options.errorCategory) {
88
+ conditions.push("error_category = ?");
89
+ params.push(options.errorCategory);
90
+ }
91
+ if (options.sinceSeq !== undefined) {
92
+ conditions.push("sequence > ?");
93
+ params.push(options.sinceSeq);
94
+ }
95
+ let sql = `SELECT * FROM events WHERE ${conditions.join(" AND ")} ORDER BY sequence ASC`;
96
+ if (options.limit) {
97
+ sql += " LIMIT ?";
98
+ params.push(options.limit);
99
+ }
100
+ const stmt = db.prepare(sql);
101
+ return stmt.all(...params).map(rowToEvent);
102
+ }
103
+ /**
104
+ * Get the most recent tool_call event for a session.
105
+ * Used by doctor command to show recording health.
106
+ */
107
+ export function getLatestToolCallEvent(db, sessionId) {
108
+ const stmt = db.prepare(`
109
+ SELECT * FROM events
110
+ WHERE session_id = ? AND event_type = 'tool_call'
111
+ ORDER BY sequence DESC
112
+ LIMIT 1
113
+ `);
114
+ const row = stmt.get(sessionId);
115
+ return row ? rowToEvent(row) : null;
116
+ }
117
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/db/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for event database operations.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=events.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.test.d.ts","sourceRoot":"","sources":["../../src/db/events.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Tests for event database operations.
3
+ */
4
+ import { describe, it, expect, beforeEach, afterEach } from "vitest";
5
+ import { randomUUID } from "node:crypto";
6
+ import { openMemoryDatabase, runMigrations, getDefaultMigrationsDir, insertEvent, getLatestToolCallEvent, createSession, } from "../index.js";
7
+ describe("events", () => {
8
+ let db;
9
+ let sessionId;
10
+ beforeEach(() => {
11
+ db = openMemoryDatabase();
12
+ runMigrations(db, getDefaultMigrationsDir());
13
+ // Create a session
14
+ sessionId = randomUUID();
15
+ createSession(db, sessionId, new Date().toISOString());
16
+ });
17
+ afterEach(() => {
18
+ db.close();
19
+ });
20
+ describe("getLatestToolCallEvent", () => {
21
+ it("returns null when no tool_call events exist", () => {
22
+ const result = getLatestToolCallEvent(db, sessionId);
23
+ expect(result).toBeNull();
24
+ });
25
+ it("returns null when only other event types exist", () => {
26
+ insertEvent(db, createEvent(sessionId, 1, "agent_call"));
27
+ const result = getLatestToolCallEvent(db, sessionId);
28
+ expect(result).toBeNull();
29
+ });
30
+ it("returns the most recent tool_call event", () => {
31
+ // Insert events in order
32
+ insertEvent(db, createEvent(sessionId, 1, "tool_call", "tool-1"));
33
+ insertEvent(db, createEvent(sessionId, 2, "agent_call"));
34
+ insertEvent(db, createEvent(sessionId, 3, "tool_call", "tool-2"));
35
+ insertEvent(db, createEvent(sessionId, 4, "skill_call"));
36
+ const result = getLatestToolCallEvent(db, sessionId);
37
+ expect(result).not.toBeNull();
38
+ expect(result.sequence).toBe(3);
39
+ expect(result.toolName).toBe("tool-2");
40
+ });
41
+ it("returns correct event for specific session", () => {
42
+ // Create another session
43
+ const session2Id = randomUUID();
44
+ createSession(db, session2Id, new Date().toISOString());
45
+ // Insert tool_call in first session
46
+ insertEvent(db, createEvent(sessionId, 1, "tool_call", "session1-tool"));
47
+ // Insert tool_call in second session
48
+ insertEvent(db, createEvent(session2Id, 1, "tool_call", "session2-tool"));
49
+ const result1 = getLatestToolCallEvent(db, sessionId);
50
+ const result2 = getLatestToolCallEvent(db, session2Id);
51
+ expect(result1.toolName).toBe("session1-tool");
52
+ expect(result2.toolName).toBe("session2-tool");
53
+ });
54
+ });
55
+ });
56
+ /**
57
+ * Helper to create a test event input.
58
+ */
59
+ function createEvent(sessionId, sequence, eventType, toolName) {
60
+ return {
61
+ id: `event-${sessionId}-${sequence}`,
62
+ sessionId,
63
+ sequence,
64
+ eventType,
65
+ agentRole: "main",
66
+ agentName: "test-agent",
67
+ toolName: toolName ?? null,
68
+ startedAt: new Date().toISOString(),
69
+ status: "success",
70
+ };
71
+ }
72
+ //# sourceMappingURL=events.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../src/db/events.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Database module exports.
3
+ */
4
+ export { openDatabase, openMemoryDatabase } from "./connection.js";
5
+ export { runMigrations, getDefaultMigrationsDir } from "./migrations.js";
6
+ export { createSession, startSession, endSession, getSessionById, listSessions, } from "./sessions.js";
7
+ export { insertEvent, getEventById, getEventsBySession, getEventsBySessionPaginated, getEventsBySessionFiltered, countEventsBySession, updateEventStatus, getLatestToolCallEvent, type InsertEventInput, type EventQueryOptions, type EventFilterOptions, } from "./events.js";
8
+ export { allocateSequence, getCurrentSequence } from "./sequences.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Database module exports.
3
+ */
4
+ export { openDatabase, openMemoryDatabase } from "./connection.js";
5
+ export { runMigrations, getDefaultMigrationsDir } from "./migrations.js";
6
+ export { createSession, startSession, endSession, getSessionById, listSessions, } from "./sessions.js";
7
+ export { insertEvent, getEventById, getEventsBySession, getEventsBySessionPaginated, getEventsBySessionFiltered, countEventsBySession, updateEventStatus, getLatestToolCallEvent, } from "./events.js";
8
+ export { allocateSequence, getCurrentSequence } from "./sequences.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GAIvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SQLite migrations runner.
3
+ * Reads *.sql files from migrations folder and applies them in order.
4
+ */
5
+ import type Database from "better-sqlite3";
6
+ /**
7
+ * Runs all pending migrations from the migrations folder.
8
+ * Creates _migrations tracking table if it doesn't exist.
9
+ */
10
+ export declare function runMigrations(db: Database.Database, migrationsDir: string): void;
11
+ /**
12
+ * Gets the default migrations directory path.
13
+ * Assumes this file is at packages/core/src/db/migrations.ts (or dist/db/migrations.js)
14
+ * and migrations are at packages/core/migrations/
15
+ */
16
+ export declare function getDefaultMigrationsDir(): string;
17
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,aAAa,EAAE,MAAM,GACpB,IAAI,CAsCN;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAOhD"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * SQLite migrations runner.
3
+ * Reads *.sql files from migrations folder and applies them in order.
4
+ */
5
+ import { readdirSync, readFileSync } from "node:fs";
6
+ import { join, dirname } from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+ /**
9
+ * Runs all pending migrations from the migrations folder.
10
+ * Creates _migrations tracking table if it doesn't exist.
11
+ */
12
+ export function runMigrations(db, migrationsDir) {
13
+ // Create migrations tracking table programmatically
14
+ db.exec(`
15
+ CREATE TABLE IF NOT EXISTS _migrations (
16
+ filename TEXT PRIMARY KEY,
17
+ applied_at TEXT NOT NULL DEFAULT (datetime('now'))
18
+ )
19
+ `);
20
+ // Get list of applied migrations
21
+ const applied = new Set(db
22
+ .prepare("SELECT filename FROM _migrations")
23
+ .all()
24
+ .map((row) => row.filename));
25
+ // Read migration files sorted by name
26
+ const files = readdirSync(migrationsDir)
27
+ .filter((f) => f.endsWith(".sql"))
28
+ .sort();
29
+ // Apply pending migrations
30
+ for (const filename of files) {
31
+ if (applied.has(filename)) {
32
+ continue;
33
+ }
34
+ const sql = readFileSync(join(migrationsDir, filename), "utf-8");
35
+ // Run migration in a transaction
36
+ db.transaction(() => {
37
+ db.exec(sql);
38
+ db.prepare("INSERT INTO _migrations (filename) VALUES (?)").run(filename);
39
+ })();
40
+ console.log(`Applied migration: ${filename}`);
41
+ }
42
+ }
43
+ /**
44
+ * Gets the default migrations directory path.
45
+ * Assumes this file is at packages/core/src/db/migrations.ts (or dist/db/migrations.js)
46
+ * and migrations are at packages/core/migrations/
47
+ */
48
+ export function getDefaultMigrationsDir() {
49
+ // ESM-compatible __dirname equivalent
50
+ const __filename = fileURLToPath(import.meta.url);
51
+ const __dirname = dirname(__filename);
52
+ // When running from dist, we need to go up to packages/core
53
+ // This works for both src and dist locations
54
+ return join(__dirname, "..", "..", "migrations");
55
+ }
56
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAqB,EACrB,aAAqB;IAErB,oDAAoD;IACpD,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,EAAE;SACC,OAAO,CAAC,kCAAkC,CAAC;SAC3C,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAA4B,CAAC,QAAQ,CAAC,CACxD,CAAC;IAEF,sCAAsC;IACtC,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACjC,IAAI,EAAE,CAAC;IAEV,2BAA2B;IAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAEjE,iCAAiC;QACjC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,sCAAsC;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,4DAA4D;IAC5D,6CAA6C;IAC7C,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Atomic sequence number allocation for sessions.
3
+ * Uses session_sequences table to ensure unique, monotonically increasing sequences.
4
+ */
5
+ import type Database from "better-sqlite3";
6
+ /**
7
+ * Allocate the next sequence number for a session atomically.
8
+ * Creates the session_sequences row if it doesn't exist.
9
+ * Returns the allocated sequence number.
10
+ */
11
+ export declare function allocateSequence(db: Database.Database, sessionId: string): number;
12
+ /**
13
+ * Get the current next sequence number for a session without allocating.
14
+ * Returns null if session has no sequence record.
15
+ */
16
+ export declare function getCurrentSequence(db: Database.Database, sessionId: string): number | null;
17
+ //# sourceMappingURL=sequences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequences.d.ts","sourceRoot":"","sources":["../../src/db/sequences.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAuBR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAMf"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Atomic sequence number allocation for sessions.
3
+ * Uses session_sequences table to ensure unique, monotonically increasing sequences.
4
+ */
5
+ /**
6
+ * Allocate the next sequence number for a session atomically.
7
+ * Creates the session_sequences row if it doesn't exist.
8
+ * Returns the allocated sequence number.
9
+ */
10
+ export function allocateSequence(db, sessionId) {
11
+ // Use a transaction to ensure atomicity
12
+ const allocate = db.transaction(() => {
13
+ // Try to insert a new row, or get the current sequence
14
+ const upsertStmt = db.prepare(`
15
+ INSERT INTO session_sequences (session_id, next_sequence)
16
+ VALUES (?, 1)
17
+ ON CONFLICT(session_id) DO UPDATE SET next_sequence = next_sequence
18
+ `);
19
+ upsertStmt.run(sessionId);
20
+ // Get and increment the sequence atomically
21
+ const updateStmt = db.prepare(`
22
+ UPDATE session_sequences
23
+ SET next_sequence = next_sequence + 1
24
+ WHERE session_id = ?
25
+ RETURNING next_sequence - 1 as allocated_sequence
26
+ `);
27
+ const result = updateStmt.get(sessionId);
28
+ return result.allocated_sequence;
29
+ });
30
+ return allocate();
31
+ }
32
+ /**
33
+ * Get the current next sequence number for a session without allocating.
34
+ * Returns null if session has no sequence record.
35
+ */
36
+ export function getCurrentSequence(db, sessionId) {
37
+ const stmt = db.prepare("SELECT next_sequence FROM session_sequences WHERE session_id = ?");
38
+ const row = stmt.get(sessionId);
39
+ return row ? row.next_sequence : null;
40
+ }
41
+ //# sourceMappingURL=sequences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequences.js","sourceRoot":"","sources":["../../src/db/sequences.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,EAAqB,EACrB,SAAiB;IAEjB,wCAAwC;IACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACnC,uDAAuD;QACvD,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;KAI7B,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1B,4CAA4C;QAC5C,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;KAK7B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAmC,CAAC;QAC3E,OAAO,MAAM,CAAC,kBAAkB,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAqB,EACrB,SAAiB;IAEjB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,kEAAkE,CACnE,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAA0C,CAAC;IACzE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Session CRUD operations.
3
+ * Uses better-sqlite3 sync API.
4
+ */
5
+ import type Database from "better-sqlite3";
6
+ import type { Session, SessionStatus } from "../types/index.js";
7
+ /** Create a new session */
8
+ export declare function createSession(db: Database.Database, id: string, startedAt: string): Session;
9
+ /** Create a new session with auto-generated ID. Returns the session. */
10
+ export declare function startSession(db: Database.Database): Session;
11
+ /** End a session by setting status and ended_at */
12
+ export declare function endSession(db: Database.Database, id: string, endedAt: string, status?: SessionStatus): Session | null;
13
+ /** Get session by ID */
14
+ export declare function getSessionById(db: Database.Database, id: string): Session | null;
15
+ /** List sessions with optional status filter */
16
+ export declare function listSessions(db: Database.Database, status?: SessionStatus): Session[];
17
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/db/sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAsBhE,2BAA2B;AAC3B,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAQT;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAI3D;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,aAA2B,GAClC,OAAO,GAAG,IAAI,CAYhB;AAED,wBAAwB;AACxB,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,MAAM,GACT,OAAO,GAAG,IAAI,CAIhB;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,EAAE,CAWX"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Session CRUD operations.
3
+ * Uses better-sqlite3 sync API.
4
+ */
5
+ import { randomUUID } from "node:crypto";
6
+ /** Convert DB row to Session type */
7
+ function rowToSession(row) {
8
+ return {
9
+ id: row.id,
10
+ startedAt: row.started_at,
11
+ endedAt: row.ended_at,
12
+ status: row.status,
13
+ createdAt: row.created_at,
14
+ };
15
+ }
16
+ /** Create a new session */
17
+ export function createSession(db, id, startedAt) {
18
+ const stmt = db.prepare(`
19
+ INSERT INTO sessions (id, started_at, status, created_at)
20
+ VALUES (?, ?, 'active', datetime('now'))
21
+ `);
22
+ stmt.run(id, startedAt);
23
+ return getSessionById(db, id);
24
+ }
25
+ /** Create a new session with auto-generated ID. Returns the session. */
26
+ export function startSession(db) {
27
+ const id = randomUUID();
28
+ const startedAt = new Date().toISOString();
29
+ return createSession(db, id, startedAt);
30
+ }
31
+ /** End a session by setting status and ended_at */
32
+ export function endSession(db, id, endedAt, status = "completed") {
33
+ const stmt = db.prepare(`
34
+ UPDATE sessions SET ended_at = ?, status = ?
35
+ WHERE id = ?
36
+ `);
37
+ const result = stmt.run(endedAt, status, id);
38
+ if (result.changes === 0) {
39
+ return null;
40
+ }
41
+ return getSessionById(db, id);
42
+ }
43
+ /** Get session by ID */
44
+ export function getSessionById(db, id) {
45
+ const stmt = db.prepare("SELECT * FROM sessions WHERE id = ?");
46
+ const row = stmt.get(id);
47
+ return row ? rowToSession(row) : null;
48
+ }
49
+ /** List sessions with optional status filter */
50
+ export function listSessions(db, status) {
51
+ let stmt;
52
+ if (status) {
53
+ stmt = db.prepare("SELECT * FROM sessions WHERE status = ? ORDER BY started_at DESC");
54
+ return stmt.all(status).map(rowToSession);
55
+ }
56
+ else {
57
+ stmt = db.prepare("SELECT * FROM sessions ORDER BY started_at DESC");
58
+ return stmt.all().map(rowToSession);
59
+ }
60
+ }
61
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/db/sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAYzC,qCAAqC;AACrC,SAAS,YAAY,CAAC,GAAe;IACnC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,MAAM,EAAE,GAAG,CAAC,MAAuB;QACnC,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,aAAa,CAC3B,EAAqB,EACrB,EAAU,EACV,SAAiB;IAEjB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGvB,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAExB,OAAO,cAAc,CAAC,EAAE,EAAE,EAAE,CAAE,CAAC;AACjC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,EAAqB;IAChD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,UAAU,CACxB,EAAqB,EACrB,EAAU,EACV,OAAe,EACf,SAAwB,WAAW;IAEnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGvB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAE7C,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,cAAc,CAC5B,EAAqB,EACrB,EAAU;IAEV,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAA2B,CAAC;IACnD,OAAO,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,YAAY,CAC1B,EAAqB,EACrB,MAAsB;IAEtB,IAAI,IAAI,CAAC;IACT,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,GAAG,EAAE,CAAC,OAAO,CACf,kEAAkE,CACnE,CAAC;QACF,OAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;QACrE,OAAQ,IAAI,CAAC,GAAG,EAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @agent-recorder/core
3
+ *
4
+ * Core types, utilities, and SQLite integration for Agent Recorder.
5
+ * Local-first flight recorder for Claude Code.
6
+ */
7
+ export * from "./types/index.js";
8
+ export * from "./db/index.js";
9
+ export * from "./utils/index.js";
10
+ export { loadConfig, type Config } from "./config.js";
11
+ export * from "./daemon-paths.js";
12
+ export * from "./lockfile.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @agent-recorder/core
3
+ *
4
+ * Core types, utilities, and SQLite integration for Agent Recorder.
5
+ * Local-first flight recorder for Claude Code.
6
+ */
7
+ export * from "./types/index.js";
8
+ export * from "./db/index.js";
9
+ export * from "./utils/index.js";
10
+ export { loadConfig } from "./config.js";
11
+ export * from "./daemon-paths.js";
12
+ export * from "./lockfile.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Lockfile handling for single-instance daemon enforcement.
3
+ * Uses exclusive file creation for atomic lock acquisition.
4
+ */
5
+ export interface LockResult {
6
+ acquired: boolean;
7
+ existingPid?: number;
8
+ error?: string;
9
+ }
10
+ /**
11
+ * Attempt to acquire an exclusive lock.
12
+ * Uses fs.openSync with 'wx' flag for atomic exclusive creation.
13
+ *
14
+ * @param lockPath - Path to lock file
15
+ * @param pid - PID to write to lock file (defaults to current process)
16
+ * @returns Result indicating success or failure with details
17
+ */
18
+ export declare function acquireLock(lockPath: string, pid?: number): LockResult;
19
+ /**
20
+ * Release a lock by removing the lock file.
21
+ * Safe to call even if lock doesn't exist.
22
+ */
23
+ export declare function releaseLock(lockPath: string): void;
24
+ /**
25
+ * Check if lock is stale (process no longer running).
26
+ * If stale, clean up the lock file and PID file.
27
+ *
28
+ * @param lockPath - Path to lock file
29
+ * @param pidPath - Optional path to PID file (for cleanup)
30
+ * @returns true if lock was stale and cleaned up
31
+ */
32
+ export declare function checkAndCleanStaleLock(lockPath: string, pidPath?: string): boolean;
33
+ /**
34
+ * Try to acquire lock, cleaning up stale locks first.
35
+ * This is the recommended way to acquire a lock.
36
+ *
37
+ * @param lockPath - Path to lock file
38
+ * @param pidPath - Optional path to PID file (for stale cleanup)
39
+ * @param pid - PID to write (defaults to current process)
40
+ */
41
+ export declare function acquireLockWithCleanup(lockPath: string, pidPath?: string, pid?: number): LockResult;
42
+ //# sourceMappingURL=lockfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../src/lockfile.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAqCtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMlD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAkCT;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,UAAU,CAMZ"}