clawatch 1.0.22 → 1.0.23

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 (298) hide show
  1. package/backend/dist/db.d.ts +33 -3
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +134 -10
  4. package/backend/dist/db.js.map +1 -1
  5. package/backend/dist/index.js +38 -32
  6. package/backend/dist/index.js.map +1 -1
  7. package/backend/dist/seed.js +115 -109
  8. package/backend/dist/seed.js.map +1 -1
  9. package/backend/node_modules/.package-lock.json +4 -380
  10. package/backend/node_modules/sql.js/.devcontainer/Dockerfile +76 -0
  11. package/backend/node_modules/sql.js/.devcontainer/devcontainer.json +20 -0
  12. package/backend/node_modules/sql.js/.jsdoc.config.json +38 -0
  13. package/backend/node_modules/sql.js/.nojekyll +0 -0
  14. package/backend/node_modules/sql.js/AUTHORS +8 -0
  15. package/backend/node_modules/sql.js/dist/sql-asm-debug.js +140890 -0
  16. package/backend/node_modules/sql.js/dist/sql-asm-memory-growth.js +204 -0
  17. package/backend/node_modules/sql.js/dist/sql-asm.js +202 -0
  18. package/backend/node_modules/sql.js/dist/sql-wasm-browser-debug.js +7157 -0
  19. package/backend/node_modules/sql.js/dist/sql-wasm-browser-debug.wasm +0 -0
  20. package/backend/node_modules/sql.js/dist/sql-wasm-browser.js +183 -0
  21. package/backend/node_modules/sql.js/dist/sql-wasm-browser.wasm +0 -0
  22. package/backend/node_modules/sql.js/dist/sql-wasm-debug.js +7265 -0
  23. package/backend/node_modules/sql.js/dist/sql-wasm-debug.wasm +0 -0
  24. package/backend/node_modules/sql.js/dist/sql-wasm.js +185 -0
  25. package/backend/node_modules/sql.js/dist/sql-wasm.wasm +0 -0
  26. package/backend/node_modules/sql.js/dist/worker.sql-asm-debug.js +141011 -0
  27. package/backend/node_modules/sql.js/dist/worker.sql-asm.js +323 -0
  28. package/backend/node_modules/sql.js/dist/worker.sql-wasm-debug.js +7386 -0
  29. package/backend/node_modules/sql.js/dist/worker.sql-wasm.js +306 -0
  30. package/backend/node_modules/sql.js/eslint.config.cjs +57 -0
  31. package/backend/node_modules/sql.js/logo.svg +13 -0
  32. package/backend/node_modules/sql.js/package.json +58 -0
  33. package/backend/package-lock.json +5 -392
  34. package/backend/package.json +1 -2
  35. package/dist/cli.js +0 -38
  36. package/dist/cli.js.map +1 -1
  37. package/frontend/.next/BUILD_ID +1 -1
  38. package/frontend/.next/build-manifest.json +2 -2
  39. package/frontend/.next/server/app/_global-error.html +2 -2
  40. package/frontend/.next/server/app/_global-error.rsc +1 -1
  41. package/frontend/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  42. package/frontend/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  43. package/frontend/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  44. package/frontend/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  45. package/frontend/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  46. package/frontend/.next/server/app/_not-found.html +1 -1
  47. package/frontend/.next/server/app/_not-found.rsc +1 -1
  48. package/frontend/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  49. package/frontend/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  50. package/frontend/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  51. package/frontend/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  52. package/frontend/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  53. package/frontend/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  54. package/frontend/.next/server/app/dashboard.html +1 -1
  55. package/frontend/.next/server/app/dashboard.rsc +1 -1
  56. package/frontend/.next/server/app/dashboard.segments/_full.segment.rsc +1 -1
  57. package/frontend/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  58. package/frontend/.next/server/app/dashboard.segments/_index.segment.rsc +1 -1
  59. package/frontend/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  60. package/frontend/.next/server/app/dashboard.segments/dashboard/__PAGE__.segment.rsc +1 -1
  61. package/frontend/.next/server/app/dashboard.segments/dashboard.segment.rsc +1 -1
  62. package/frontend/.next/server/app/index.html +1 -1
  63. package/frontend/.next/server/app/index.rsc +1 -1
  64. package/frontend/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  65. package/frontend/.next/server/app/index.segments/_full.segment.rsc +1 -1
  66. package/frontend/.next/server/app/index.segments/_head.segment.rsc +1 -1
  67. package/frontend/.next/server/app/index.segments/_index.segment.rsc +1 -1
  68. package/frontend/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  69. package/frontend/.next/server/pages/404.html +1 -1
  70. package/frontend/.next/server/pages/500.html +2 -2
  71. package/package.json +2 -2
  72. package/backend/node_modules/base64-js/base64js.min.js +0 -1
  73. package/backend/node_modules/base64-js/index.d.ts +0 -3
  74. package/backend/node_modules/base64-js/index.js +0 -150
  75. package/backend/node_modules/base64-js/package.json +0 -47
  76. package/backend/node_modules/better-sqlite3/binding.gyp +0 -38
  77. package/backend/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  78. package/backend/node_modules/better-sqlite3/deps/common.gypi +0 -68
  79. package/backend/node_modules/better-sqlite3/deps/copy.js +0 -31
  80. package/backend/node_modules/better-sqlite3/deps/defines.gypi +0 -41
  81. package/backend/node_modules/better-sqlite3/deps/download.sh +0 -122
  82. package/backend/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  83. package/backend/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -261480
  84. package/backend/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -13715
  85. package/backend/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -719
  86. package/backend/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  87. package/backend/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  88. package/backend/node_modules/better-sqlite3/lib/database.js +0 -90
  89. package/backend/node_modules/better-sqlite3/lib/index.js +0 -3
  90. package/backend/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  91. package/backend/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  92. package/backend/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  93. package/backend/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  94. package/backend/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  95. package/backend/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  96. package/backend/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  97. package/backend/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  98. package/backend/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  99. package/backend/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  100. package/backend/node_modules/better-sqlite3/lib/util.js +0 -12
  101. package/backend/node_modules/better-sqlite3/package.json +0 -54
  102. package/backend/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -2186
  103. package/backend/node_modules/better-sqlite3/src/better_sqlite3.hpp +0 -1036
  104. package/backend/node_modules/bindings/bindings.js +0 -221
  105. package/backend/node_modules/bindings/package.json +0 -28
  106. package/backend/node_modules/buffer/index.d.ts +0 -186
  107. package/backend/node_modules/buffer/index.js +0 -1817
  108. package/backend/node_modules/buffer/package.json +0 -96
  109. package/backend/node_modules/chownr/chownr.js +0 -167
  110. package/backend/node_modules/chownr/package.json +0 -29
  111. package/backend/node_modules/decompress-response/index.d.ts +0 -22
  112. package/backend/node_modules/decompress-response/index.js +0 -58
  113. package/backend/node_modules/decompress-response/license +0 -9
  114. package/backend/node_modules/decompress-response/package.json +0 -56
  115. package/backend/node_modules/deep-extend/index.js +0 -1
  116. package/backend/node_modules/deep-extend/lib/deep-extend.js +0 -150
  117. package/backend/node_modules/deep-extend/package.json +0 -62
  118. package/backend/node_modules/detect-libc/index.d.ts +0 -14
  119. package/backend/node_modules/detect-libc/lib/detect-libc.js +0 -313
  120. package/backend/node_modules/detect-libc/lib/elf.js +0 -39
  121. package/backend/node_modules/detect-libc/lib/filesystem.js +0 -51
  122. package/backend/node_modules/detect-libc/lib/process.js +0 -24
  123. package/backend/node_modules/detect-libc/package.json +0 -44
  124. package/backend/node_modules/expand-template/.travis.yml +0 -6
  125. package/backend/node_modules/expand-template/index.js +0 -26
  126. package/backend/node_modules/expand-template/package.json +0 -29
  127. package/backend/node_modules/expand-template/test.js +0 -67
  128. package/backend/node_modules/file-uri-to-path/.travis.yml +0 -30
  129. package/backend/node_modules/file-uri-to-path/index.d.ts +0 -2
  130. package/backend/node_modules/file-uri-to-path/index.js +0 -66
  131. package/backend/node_modules/file-uri-to-path/package.json +0 -32
  132. package/backend/node_modules/fs-constants/browser.js +0 -1
  133. package/backend/node_modules/fs-constants/index.js +0 -1
  134. package/backend/node_modules/fs-constants/package.json +0 -19
  135. package/backend/node_modules/github-from-package/.travis.yml +0 -4
  136. package/backend/node_modules/github-from-package/index.js +0 -17
  137. package/backend/node_modules/github-from-package/package.json +0 -30
  138. package/backend/node_modules/github-from-package/readme.markdown +0 -53
  139. package/backend/node_modules/ieee754/index.d.ts +0 -10
  140. package/backend/node_modules/ieee754/index.js +0 -85
  141. package/backend/node_modules/ieee754/package.json +0 -52
  142. package/backend/node_modules/ini/ini.js +0 -206
  143. package/backend/node_modules/ini/package.json +0 -33
  144. package/backend/node_modules/mimic-response/index.d.ts +0 -17
  145. package/backend/node_modules/mimic-response/index.js +0 -77
  146. package/backend/node_modules/mimic-response/license +0 -9
  147. package/backend/node_modules/mimic-response/package.json +0 -42
  148. package/backend/node_modules/minimist/.github/FUNDING.yml +0 -12
  149. package/backend/node_modules/minimist/.nycrc +0 -14
  150. package/backend/node_modules/minimist/index.js +0 -263
  151. package/backend/node_modules/minimist/package.json +0 -75
  152. package/backend/node_modules/mkdirp-classic/index.js +0 -98
  153. package/backend/node_modules/mkdirp-classic/package.json +0 -18
  154. package/backend/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  155. package/backend/node_modules/napi-build-utils/index.js +0 -214
  156. package/backend/node_modules/napi-build-utils/package.json +0 -42
  157. package/backend/node_modules/node-abi/abi_registry.json +0 -432
  158. package/backend/node_modules/node-abi/index.js +0 -179
  159. package/backend/node_modules/node-abi/package.json +0 -45
  160. package/backend/node_modules/prebuild-install/asset.js +0 -44
  161. package/backend/node_modules/prebuild-install/bin.js +0 -78
  162. package/backend/node_modules/prebuild-install/download.js +0 -142
  163. package/backend/node_modules/prebuild-install/error.js +0 -14
  164. package/backend/node_modules/prebuild-install/help.txt +0 -16
  165. package/backend/node_modules/prebuild-install/index.js +0 -1
  166. package/backend/node_modules/prebuild-install/log.js +0 -33
  167. package/backend/node_modules/prebuild-install/node_modules/pump/.github/FUNDING.yml +0 -2
  168. package/backend/node_modules/prebuild-install/node_modules/pump/.travis.yml +0 -5
  169. package/backend/node_modules/prebuild-install/node_modules/pump/LICENSE +0 -21
  170. package/backend/node_modules/prebuild-install/node_modules/pump/README.md +0 -74
  171. package/backend/node_modules/prebuild-install/node_modules/pump/SECURITY.md +0 -5
  172. package/backend/node_modules/prebuild-install/node_modules/pump/empty.js +0 -1
  173. package/backend/node_modules/prebuild-install/node_modules/pump/index.js +0 -86
  174. package/backend/node_modules/prebuild-install/node_modules/pump/package.json +0 -30
  175. package/backend/node_modules/prebuild-install/node_modules/pump/test-browser.js +0 -66
  176. package/backend/node_modules/prebuild-install/node_modules/pump/test-node.js +0 -53
  177. package/backend/node_modules/prebuild-install/package.json +0 -67
  178. package/backend/node_modules/prebuild-install/proxy.js +0 -35
  179. package/backend/node_modules/prebuild-install/rc.js +0 -64
  180. package/backend/node_modules/prebuild-install/util.js +0 -143
  181. package/backend/node_modules/rc/browser.js +0 -7
  182. package/backend/node_modules/rc/cli.js +0 -4
  183. package/backend/node_modules/rc/index.js +0 -53
  184. package/backend/node_modules/rc/lib/utils.js +0 -104
  185. package/backend/node_modules/rc/package.json +0 -29
  186. package/backend/node_modules/semver/bin/semver.js +0 -191
  187. package/backend/node_modules/semver/classes/comparator.js +0 -143
  188. package/backend/node_modules/semver/classes/index.js +0 -7
  189. package/backend/node_modules/semver/classes/range.js +0 -557
  190. package/backend/node_modules/semver/classes/semver.js +0 -333
  191. package/backend/node_modules/semver/functions/clean.js +0 -8
  192. package/backend/node_modules/semver/functions/cmp.js +0 -54
  193. package/backend/node_modules/semver/functions/coerce.js +0 -62
  194. package/backend/node_modules/semver/functions/compare-build.js +0 -9
  195. package/backend/node_modules/semver/functions/compare-loose.js +0 -5
  196. package/backend/node_modules/semver/functions/compare.js +0 -7
  197. package/backend/node_modules/semver/functions/diff.js +0 -60
  198. package/backend/node_modules/semver/functions/eq.js +0 -5
  199. package/backend/node_modules/semver/functions/gt.js +0 -5
  200. package/backend/node_modules/semver/functions/gte.js +0 -5
  201. package/backend/node_modules/semver/functions/inc.js +0 -21
  202. package/backend/node_modules/semver/functions/lt.js +0 -5
  203. package/backend/node_modules/semver/functions/lte.js +0 -5
  204. package/backend/node_modules/semver/functions/major.js +0 -5
  205. package/backend/node_modules/semver/functions/minor.js +0 -5
  206. package/backend/node_modules/semver/functions/neq.js +0 -5
  207. package/backend/node_modules/semver/functions/parse.js +0 -18
  208. package/backend/node_modules/semver/functions/patch.js +0 -5
  209. package/backend/node_modules/semver/functions/prerelease.js +0 -8
  210. package/backend/node_modules/semver/functions/rcompare.js +0 -5
  211. package/backend/node_modules/semver/functions/rsort.js +0 -5
  212. package/backend/node_modules/semver/functions/satisfies.js +0 -12
  213. package/backend/node_modules/semver/functions/sort.js +0 -5
  214. package/backend/node_modules/semver/functions/valid.js +0 -8
  215. package/backend/node_modules/semver/index.js +0 -91
  216. package/backend/node_modules/semver/internal/constants.js +0 -37
  217. package/backend/node_modules/semver/internal/debug.js +0 -11
  218. package/backend/node_modules/semver/internal/identifiers.js +0 -29
  219. package/backend/node_modules/semver/internal/lrucache.js +0 -42
  220. package/backend/node_modules/semver/internal/parse-options.js +0 -17
  221. package/backend/node_modules/semver/internal/re.js +0 -223
  222. package/backend/node_modules/semver/package.json +0 -78
  223. package/backend/node_modules/semver/preload.js +0 -4
  224. package/backend/node_modules/semver/range.bnf +0 -16
  225. package/backend/node_modules/semver/ranges/gtr.js +0 -6
  226. package/backend/node_modules/semver/ranges/intersects.js +0 -9
  227. package/backend/node_modules/semver/ranges/ltr.js +0 -6
  228. package/backend/node_modules/semver/ranges/max-satisfying.js +0 -27
  229. package/backend/node_modules/semver/ranges/min-satisfying.js +0 -26
  230. package/backend/node_modules/semver/ranges/min-version.js +0 -63
  231. package/backend/node_modules/semver/ranges/outside.js +0 -82
  232. package/backend/node_modules/semver/ranges/simplify.js +0 -49
  233. package/backend/node_modules/semver/ranges/subset.js +0 -249
  234. package/backend/node_modules/semver/ranges/to-comparators.js +0 -10
  235. package/backend/node_modules/semver/ranges/valid.js +0 -13
  236. package/backend/node_modules/simple-concat/.travis.yml +0 -3
  237. package/backend/node_modules/simple-concat/index.js +0 -15
  238. package/backend/node_modules/simple-concat/package.json +0 -47
  239. package/backend/node_modules/simple-get/.github/dependabot.yml +0 -15
  240. package/backend/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  241. package/backend/node_modules/simple-get/index.js +0 -108
  242. package/backend/node_modules/simple-get/package.json +0 -67
  243. package/backend/node_modules/strip-json-comments/index.js +0 -70
  244. package/backend/node_modules/strip-json-comments/license +0 -21
  245. package/backend/node_modules/strip-json-comments/package.json +0 -42
  246. package/backend/node_modules/tar-fs/.travis.yml +0 -6
  247. package/backend/node_modules/tar-fs/index.js +0 -363
  248. package/backend/node_modules/tar-fs/node_modules/pump/.github/FUNDING.yml +0 -2
  249. package/backend/node_modules/tar-fs/node_modules/pump/.travis.yml +0 -5
  250. package/backend/node_modules/tar-fs/node_modules/pump/LICENSE +0 -21
  251. package/backend/node_modules/tar-fs/node_modules/pump/README.md +0 -74
  252. package/backend/node_modules/tar-fs/node_modules/pump/SECURITY.md +0 -5
  253. package/backend/node_modules/tar-fs/node_modules/pump/empty.js +0 -1
  254. package/backend/node_modules/tar-fs/node_modules/pump/index.js +0 -86
  255. package/backend/node_modules/tar-fs/node_modules/pump/package.json +0 -30
  256. package/backend/node_modules/tar-fs/node_modules/pump/test-browser.js +0 -66
  257. package/backend/node_modules/tar-fs/node_modules/pump/test-node.js +0 -53
  258. package/backend/node_modules/tar-fs/package.json +0 -41
  259. package/backend/node_modules/tar-stream/extract.js +0 -257
  260. package/backend/node_modules/tar-stream/headers.js +0 -295
  261. package/backend/node_modules/tar-stream/index.js +0 -2
  262. package/backend/node_modules/tar-stream/node_modules/bl/.travis.yml +0 -17
  263. package/backend/node_modules/tar-stream/node_modules/bl/BufferList.js +0 -396
  264. package/backend/node_modules/tar-stream/node_modules/bl/LICENSE.md +0 -13
  265. package/backend/node_modules/tar-stream/node_modules/bl/README.md +0 -247
  266. package/backend/node_modules/tar-stream/node_modules/bl/bl.js +0 -84
  267. package/backend/node_modules/tar-stream/node_modules/bl/package.json +0 -37
  268. package/backend/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  269. package/backend/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +0 -136
  270. package/backend/node_modules/tar-stream/node_modules/readable-stream/LICENSE +0 -47
  271. package/backend/node_modules/tar-stream/node_modules/readable-stream/README.md +0 -106
  272. package/backend/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js +0 -127
  273. package/backend/node_modules/tar-stream/node_modules/readable-stream/errors.js +0 -116
  274. package/backend/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js +0 -17
  275. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  276. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  277. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  278. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  279. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  280. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  281. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  282. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  283. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  284. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  285. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  286. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  287. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  288. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  289. package/backend/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  290. package/backend/node_modules/tar-stream/node_modules/readable-stream/package.json +0 -68
  291. package/backend/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +0 -9
  292. package/backend/node_modules/tar-stream/node_modules/readable-stream/readable.js +0 -16
  293. package/backend/node_modules/tar-stream/pack.js +0 -255
  294. package/backend/node_modules/tar-stream/package.json +0 -58
  295. package/backend/node_modules/tar-stream/sandbox.js +0 -11
  296. /package/frontend/.next/static/{3i-dBEEyQLocTNHX5oPZn → a36G8G-fn_tjHP7E62qvj}/_buildManifest.js +0 -0
  297. /package/frontend/.next/static/{3i-dBEEyQLocTNHX5oPZn → a36G8G-fn_tjHP7E62qvj}/_clientMiddlewareManifest.json +0 -0
  298. /package/frontend/.next/static/{3i-dBEEyQLocTNHX5oPZn → a36G8G-fn_tjHP7E62qvj}/_ssgManifest.js +0 -0
@@ -1,6 +1,36 @@
1
- import Database from "better-sqlite3";
2
- declare const db: InstanceType<typeof Database>;
3
- declare function initDb(): void;
1
+ /**
2
+ * PreparedStatement mimics better-sqlite3's prepared statement API
3
+ * using sql.js under the hood. Statements are lazy — they only touch
4
+ * the database when run/get/all is called, not at creation time.
5
+ */
6
+ declare class PreparedStatement {
7
+ private readonly sql;
8
+ constructor(sql: string);
9
+ run(...params: any[]): {
10
+ changes: number;
11
+ };
12
+ get(...params: any[]): any;
13
+ all(...params: any[]): any[];
14
+ }
15
+ /**
16
+ * Database wrapper providing a better-sqlite3-compatible API
17
+ * backed by sql.js (pure WASM SQLite — no native compilation needed).
18
+ *
19
+ * Why: better-sqlite3 requires native C++ compilation (node-gyp, make, gcc).
20
+ * This fails on locked-down environments like Synology NAS. sql.js runs
21
+ * everywhere Node.js runs with zero native dependencies.
22
+ */
23
+ declare const db: {
24
+ prepare(sql: string): PreparedStatement;
25
+ exec(sql: string): void;
26
+ pragma(pragma: string): void;
27
+ transaction<T>(fn: (...args: any[]) => T): (...args: any[]) => T;
28
+ };
29
+ /**
30
+ * Initialize the sql.js database. Must be called (and awaited) before
31
+ * any DB operations. Loads existing data from disk or creates a new DB.
32
+ */
33
+ declare function initDb(): Promise<void>;
4
34
  export { initDb };
5
35
  export default db;
6
36
  //# sourceMappingURL=db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAYtC,QAAA,MAAM,EAAE,EAAE,YAAY,CAAC,OAAO,QAAQ,CAAyB,CAAC;AAOhE,iBAAS,MAAM,IAAI,IAAI,CAuDtB;AAKD,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AA0BA;;;;GAIG;AACH,cAAM,iBAAiB;IACT,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAExC,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAY1C,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG;IAW1B,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;CAY7B;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,EAAE;iBACO,MAAM,GAAG,iBAAiB;cAI7B,MAAM,GAAG,IAAI;mBAKR,MAAM,GAAG,IAAI;gBAQhB,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;CAkBjE,CAAC;AAEF;;;GAGG;AACH,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAyErC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,eAAe,EAAE,CAAC"}
@@ -4,7 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.initDb = initDb;
7
- const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
7
+ // @ts-ignore sql.js ships without declaration files; types are inferred at runtime
8
+ const sql_js_1 = __importDefault(require("sql.js"));
8
9
  const path_1 = __importDefault(require("path"));
9
10
  const os_1 = __importDefault(require("os"));
10
11
  const fs_1 = __importDefault(require("fs"));
@@ -14,13 +15,136 @@ if (!fs_1.default.existsSync(CLAWATCH_DIR)) {
14
15
  fs_1.default.mkdirSync(CLAWATCH_DIR, { recursive: true });
15
16
  }
16
17
  const DB_PATH = path_1.default.join(CLAWATCH_DIR, "clawatch.db");
17
- const db = new better_sqlite3_1.default(DB_PATH);
18
- // Enable WAL mode for better concurrent read performance
19
- db.pragma("journal_mode = WAL");
20
- db.pragma("foreign_keys = ON");
21
- // Auto-init tables immediately (before any imports that call db.prepare)
22
- function initDb() {
23
- db.exec(`
18
+ let sqlDb = null;
19
+ let _inTransaction = false;
20
+ function requireDb() {
21
+ if (!sqlDb)
22
+ throw new Error("Database not initialized call initDb() first");
23
+ return sqlDb;
24
+ }
25
+ function persistDb() {
26
+ if (!sqlDb)
27
+ return;
28
+ fs_1.default.writeFileSync(DB_PATH, Buffer.from(sqlDb.export()));
29
+ }
30
+ /**
31
+ * PreparedStatement mimics better-sqlite3's prepared statement API
32
+ * using sql.js under the hood. Statements are lazy — they only touch
33
+ * the database when run/get/all is called, not at creation time.
34
+ */
35
+ class PreparedStatement {
36
+ sql;
37
+ constructor(sql) {
38
+ this.sql = sql;
39
+ }
40
+ run(...params) {
41
+ const db = requireDb();
42
+ if (params.length > 0) {
43
+ db.run(this.sql, params);
44
+ }
45
+ else {
46
+ db.run(this.sql);
47
+ }
48
+ const changes = db.getRowsModified();
49
+ if (!_inTransaction)
50
+ persistDb();
51
+ return { changes };
52
+ }
53
+ get(...params) {
54
+ const db = requireDb();
55
+ const stmt = db.prepare(this.sql);
56
+ try {
57
+ if (params.length > 0)
58
+ stmt.bind(params);
59
+ return stmt.step() ? stmt.getAsObject() : undefined;
60
+ }
61
+ finally {
62
+ stmt.free();
63
+ }
64
+ }
65
+ all(...params) {
66
+ const db = requireDb();
67
+ const stmt = db.prepare(this.sql);
68
+ try {
69
+ if (params.length > 0)
70
+ stmt.bind(params);
71
+ const rows = [];
72
+ while (stmt.step())
73
+ rows.push(stmt.getAsObject());
74
+ return rows;
75
+ }
76
+ finally {
77
+ stmt.free();
78
+ }
79
+ }
80
+ }
81
+ /**
82
+ * Database wrapper providing a better-sqlite3-compatible API
83
+ * backed by sql.js (pure WASM SQLite — no native compilation needed).
84
+ *
85
+ * Why: better-sqlite3 requires native C++ compilation (node-gyp, make, gcc).
86
+ * This fails on locked-down environments like Synology NAS. sql.js runs
87
+ * everywhere Node.js runs with zero native dependencies.
88
+ */
89
+ const db = {
90
+ prepare(sql) {
91
+ return new PreparedStatement(sql);
92
+ },
93
+ exec(sql) {
94
+ requireDb().exec(sql);
95
+ if (!_inTransaction)
96
+ persistDb();
97
+ },
98
+ pragma(pragma) {
99
+ try {
100
+ requireDb().exec(`PRAGMA ${pragma}`);
101
+ }
102
+ catch {
103
+ // Some pragmas (e.g. journal_mode=WAL) are not supported in WASM — ignore gracefully
104
+ }
105
+ },
106
+ transaction(fn) {
107
+ return (...args) => {
108
+ const db = requireDb();
109
+ db.exec("BEGIN");
110
+ _inTransaction = true;
111
+ try {
112
+ const result = fn(...args);
113
+ db.exec("COMMIT");
114
+ _inTransaction = false;
115
+ persistDb();
116
+ return result;
117
+ }
118
+ catch (err) {
119
+ _inTransaction = false;
120
+ try {
121
+ db.exec("ROLLBACK");
122
+ }
123
+ catch { /* best effort */ }
124
+ throw err;
125
+ }
126
+ };
127
+ },
128
+ };
129
+ /**
130
+ * Initialize the sql.js database. Must be called (and awaited) before
131
+ * any DB operations. Loads existing data from disk or creates a new DB.
132
+ */
133
+ async function initDb() {
134
+ const SQL = await (0, sql_js_1.default)();
135
+ // Load existing DB file or create a new one
136
+ if (fs_1.default.existsSync(DB_PATH)) {
137
+ const fileBuffer = fs_1.default.readFileSync(DB_PATH);
138
+ sqlDb = new SQL.Database(fileBuffer);
139
+ }
140
+ else {
141
+ sqlDb = new SQL.Database();
142
+ }
143
+ // Enable foreign keys (WAL mode is not applicable for sql.js — it uses
144
+ // in-memory storage with manual persist to disk)
145
+ sqlDb.exec("PRAGMA foreign_keys = ON");
146
+ // Create tables
147
+ sqlDb.exec(`
24
148
  CREATE TABLE IF NOT EXISTS agents (
25
149
  id TEXT PRIMARY KEY,
26
150
  name TEXT NOT NULL,
@@ -74,8 +198,8 @@ function initDb() {
74
198
  FOREIGN KEY (projectId) REFERENCES projects(id) ON DELETE CASCADE
75
199
  );
76
200
  `);
201
+ persistDb();
202
+ console.log("[DB] sql.js initialized (pure WASM SQLite — no native deps)");
77
203
  }
78
- // Run immediately so tables exist before other modules call db.prepare()
79
- initDb();
80
204
  exports.default = db;
81
205
  //# sourceMappingURL=db.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":";;;;;AA+ES,wBAAM;AA/Ef,oEAAsC;AACtC,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AAEpB,8DAA8D;AAC9D,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAC1D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;IACjC,YAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AACD,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAEvD,MAAM,EAAE,GAAkC,IAAI,wBAAQ,CAAC,OAAO,CAAC,CAAC;AAEhE,yDAAyD;AACzD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/B,yEAAyE;AACzE,SAAS,MAAM;IACb,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDP,CAAC,CAAC;AACL,CAAC;AAED,yEAAyE;AACzE,MAAM,EAAE,CAAC;AAGT,kBAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const dotenv_1 = __importDefault(require("dotenv"));
7
7
  dotenv_1.default.config();
8
8
  const express_1 = __importDefault(require("express"));
9
9
  const cors_1 = __importDefault(require("cors"));
10
+ const path_1 = __importDefault(require("path"));
10
11
  const db_1 = require("./db");
11
12
  const telegram_1 = require("./telegram");
12
13
  const alertChecker_1 = require("./alertChecker");
@@ -14,41 +15,46 @@ const routes_1 = __importDefault(require("./routes"));
14
15
  const sync_1 = require("./sync");
15
16
  const PORT = parseInt(process.env.PORT || "3001", 10);
16
17
  const API_KEY = process.env.API_KEY || "";
17
- const app = (0, express_1.default)();
18
- app.use((0, cors_1.default)());
19
- app.use(express_1.default.json());
20
- // API key auth middleware (skip if no API_KEY configured)
21
- if (API_KEY) {
22
- app.use("/api", (req, res, next) => {
23
- const key = req.headers["x-clawatch-key"];
24
- if (key !== API_KEY) {
25
- res.status(401).json({ error: "Invalid or missing API key" });
26
- return;
27
- }
28
- next();
18
+ async function main() {
19
+ // Initialize sql.js database (must complete before any DB operations)
20
+ await (0, db_1.initDb)();
21
+ const app = (0, express_1.default)();
22
+ app.use((0, cors_1.default)());
23
+ app.use(express_1.default.json());
24
+ // API key auth middleware (skip if no API_KEY configured)
25
+ if (API_KEY) {
26
+ app.use("/api", (req, res, next) => {
27
+ const key = req.headers["x-clawatch-key"];
28
+ if (key !== API_KEY) {
29
+ res.status(401).json({ error: "Invalid or missing API key" });
30
+ return;
31
+ }
32
+ next();
33
+ });
34
+ }
35
+ app.use("/api", routes_1.default);
36
+ // Health check
37
+ app.get("/health", (_req, res) => {
38
+ res.json({ status: "ok", timestamp: new Date().toISOString() });
29
39
  });
30
- }
31
- app.use("/api", routes_1.default);
32
- // Health check
33
- app.get("/health", (_req, res) => {
34
- res.json({ status: "ok", timestamp: new Date().toISOString() });
35
- });
36
- // Serve embedded dashboard
37
- const path_1 = __importDefault(require("path"));
38
- app.use(express_1.default.static(path_1.default.join(__dirname, "..", "public")));
39
- app.get("*", (_req, res) => {
40
- res.sendFile(path_1.default.join(__dirname, "..", "public", "index.html"));
41
- });
42
- // Init
43
- (0, db_1.initDb)();
44
- (0, telegram_1.initTelegram)();
45
- // Sync all data from ~/.openclaw JSONL files into DB on startup
46
- (0, sync_1.syncAllData)().then(() => {
40
+ // Serve embedded dashboard
41
+ app.use(express_1.default.static(path_1.default.join(__dirname, "..", "public")));
42
+ app.get("*", (_req, res) => {
43
+ res.sendFile(path_1.default.join(__dirname, "..", "public", "index.html"));
44
+ });
45
+ // Init services
46
+ (0, telegram_1.initTelegram)();
47
+ // Sync all data from ~/.openclaw JSONL files into DB on startup
48
+ await (0, sync_1.syncAllData)();
47
49
  (0, alertChecker_1.startAlertChecker)();
48
50
  // Re-sync periodically (every 60s) to keep DB in sync with JSONL
49
51
  setInterval(() => (0, sync_1.syncAllData)(), 60_000);
50
- });
51
- app.listen(PORT, () => {
52
- console.log(`[ClaWatch] Backend running on http://localhost:${PORT}`);
52
+ app.listen(PORT, () => {
53
+ console.log(`[ClaWatch] Backend running on http://localhost:${PORT}`);
54
+ });
55
+ }
56
+ main().catch((err) => {
57
+ console.error("[ClaWatch] Fatal startup error:", err);
58
+ process.exit(1);
53
59
  });
54
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,sDAA8B;AAC9B,gDAAwB;AACxB,6BAA8B;AAC9B,yCAA0C;AAC1C,iDAAmD;AACnD,sDAA8B;AAC9B,iCAAqC;AAErC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;AAE1C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AAEtB,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;AAChB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAExB,0DAA0D;AAC1D,IAAI,OAAO,EAAE,CAAC;IACZ,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAED,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAM,CAAC,CAAC;AAExB,eAAe;AACf,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,gDAAwB;AACxB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACzB,GAAG,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,OAAO;AACP,IAAA,WAAM,GAAE,CAAC;AACT,IAAA,uBAAY,GAAE,CAAC;AAEf,gEAAgE;AAChE,IAAA,kBAAW,GAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACtB,IAAA,gCAAiB,GAAE,CAAC;IACpB,iEAAiE;IACjE,WAAW,CAAC,GAAG,EAAE,CAAC,IAAA,kBAAW,GAAE,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,sDAA8B;AAC9B,gDAAwB;AACxB,gDAAwB;AACxB,6BAA8B;AAC9B,yCAA0C;AAC1C,iDAAmD;AACnD,sDAA8B;AAC9B,iCAAqC;AAErC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;AAE1C,KAAK,UAAU,IAAI;IACjB,sEAAsE;IACtE,MAAM,IAAA,WAAM,GAAE,CAAC;IAEf,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IAEtB,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,0DAA0D;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC1C,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAM,CAAC,CAAC;IAExB,eAAe;IACf,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzB,GAAG,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,IAAA,uBAAY,GAAE,CAAC;IAEf,gEAAgE;IAChE,MAAM,IAAA,kBAAW,GAAE,CAAC;IACpB,IAAA,gCAAiB,GAAE,CAAC;IAEpB,iEAAiE;IACjE,WAAW,CAAC,GAAG,EAAE,CAAC,IAAA,kBAAW,GAAE,EAAE,MAAM,CAAC,CAAC;IAEzC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -7,117 +7,123 @@ const dotenv_1 = __importDefault(require("dotenv"));
7
7
  dotenv_1.default.config();
8
8
  const db_1 = require("./db");
9
9
  const db_2 = __importDefault(require("./db"));
10
- (0, db_1.initDb)();
11
- // Clear existing data
12
- db_2.default.exec("DELETE FROM events; DELETE FROM alerts; DELETE FROM agents;");
13
- const now = Date.now();
14
- const min = 60000;
15
- const hour = 3600000;
16
- const agents = [
17
- {
18
- id: "agent_code01",
19
- name: "code-reviewer",
20
- host: "dev-macbook",
21
- status: "running",
22
- costUsd: 4.52,
23
- tokenCount: 185000,
24
- errorCount: 1,
25
- createdHoursAgo: 6,
26
- },
27
- {
28
- id: "agent_deploy02",
29
- name: "deploy-assistant",
30
- host: "ci-runner-1",
31
- status: "running",
32
- costUsd: 2.18,
33
- tokenCount: 92000,
34
- errorCount: 0,
35
- createdHoursAgo: 3,
36
- },
37
- {
38
- id: "agent_research03",
39
- name: "research-bot",
40
- host: "cloud-vm-east",
41
- status: "error",
42
- costUsd: 8.73,
43
- tokenCount: 340000,
44
- errorCount: 5,
45
- createdHoursAgo: 12,
46
- },
47
- {
48
- id: "agent_qa04",
49
- name: "qa-tester",
50
- host: "dev-macbook",
51
- status: "paused",
52
- costUsd: 1.05,
53
- tokenCount: 41000,
54
- errorCount: 0,
55
- createdHoursAgo: 2,
56
- },
57
- ];
58
- const insertAgent = db_2.default.prepare(`
59
- INSERT INTO agents (id, name, host, status, lastHeartbeat, createdAt, costUsd, tokenCount, errorCount)
60
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
61
- `);
62
- const insertEvent = db_2.default.prepare(`
63
- INSERT INTO events (agentId, type, timestamp, data) VALUES (?, ?, ?, ?)
64
- `);
65
- const insertAlert = db_2.default.prepare(`
66
- INSERT INTO alerts (id, agentId, type, severity, message, timestamp, acknowledged) VALUES (?, ?, ?, ?, ?, ?, ?)
67
- `);
68
- const insertAll = db_2.default.transaction(() => {
69
- for (const a of agents) {
70
- const createdAt = new Date(now - a.createdHoursAgo * hour).toISOString();
71
- const lastHeartbeat = a.status === "running"
72
- ? new Date(now - 30000).toISOString() // 30s ago
73
- : a.status === "error"
74
- ? new Date(now - 8 * min).toISOString() // 8 min ago (stuck)
75
- : new Date(now - 45 * min).toISOString(); // paused 45 min ago
76
- insertAgent.run(a.id, a.name, a.host, a.status, lastHeartbeat, createdAt, a.costUsd, a.tokenCount, a.errorCount);
77
- // Generate heartbeat events
78
- for (let i = 0; i < 10; i++) {
79
- const ts = new Date(now - i * 2 * min).toISOString();
80
- insertEvent.run(a.id, "heartbeat", ts, JSON.stringify({ message: "alive" }));
81
- }
82
- // Generate cost events
83
- const models = ["claude-sonnet-4-20250514", "claude-haiku-4-5-20251001"];
84
- for (let i = 0; i < 5; i++) {
85
- const ts = new Date(now - i * 30 * min).toISOString();
86
- const model = models[i % 2];
87
- const cost = +(Math.random() * 1.5 + 0.1).toFixed(3);
88
- const tokens = Math.floor(Math.random() * 30000 + 5000);
89
- insertEvent.run(a.id, "cost", ts, JSON.stringify({ model, costUsd: cost, tokenCount: tokens }));
90
- }
91
- // Generate tool_call events
92
- const tools = ["exec", "file_read", "web_search", "code_edit", "test_run"];
93
- for (let i = 0; i < 8; i++) {
94
- const ts = new Date(now - i * 5 * min).toISOString();
95
- insertEvent.run(a.id, "tool_call", ts, JSON.stringify({
96
- toolName: tools[i % tools.length],
97
- message: `Called ${tools[i % tools.length]}`,
98
- }));
99
- }
100
- // Generate error events for error-prone agents
101
- if (a.errorCount > 0) {
102
- for (let i = 0; i < a.errorCount; i++) {
103
- const ts = new Date(now - i * 10 * min).toISOString();
104
- insertEvent.run(a.id, "error", ts, JSON.stringify({
105
- error: i === 0 ? "Rate limit exceeded: 429 Too Many Requests" : "Timeout waiting for tool response",
106
- message: "Agent encountered an error",
10
+ async function main() {
11
+ await (0, db_1.initDb)();
12
+ // Clear existing data
13
+ db_2.default.exec("DELETE FROM events; DELETE FROM alerts; DELETE FROM agents;");
14
+ const now = Date.now();
15
+ const min = 60000;
16
+ const hour = 3600000;
17
+ const agents = [
18
+ {
19
+ id: "agent_code01",
20
+ name: "code-reviewer",
21
+ host: "dev-macbook",
22
+ status: "running",
23
+ costUsd: 4.52,
24
+ tokenCount: 185000,
25
+ errorCount: 1,
26
+ createdHoursAgo: 6,
27
+ },
28
+ {
29
+ id: "agent_deploy02",
30
+ name: "deploy-assistant",
31
+ host: "ci-runner-1",
32
+ status: "running",
33
+ costUsd: 2.18,
34
+ tokenCount: 92000,
35
+ errorCount: 0,
36
+ createdHoursAgo: 3,
37
+ },
38
+ {
39
+ id: "agent_research03",
40
+ name: "research-bot",
41
+ host: "cloud-vm-east",
42
+ status: "error",
43
+ costUsd: 8.73,
44
+ tokenCount: 340000,
45
+ errorCount: 5,
46
+ createdHoursAgo: 12,
47
+ },
48
+ {
49
+ id: "agent_qa04",
50
+ name: "qa-tester",
51
+ host: "dev-macbook",
52
+ status: "paused",
53
+ costUsd: 1.05,
54
+ tokenCount: 41000,
55
+ errorCount: 0,
56
+ createdHoursAgo: 2,
57
+ },
58
+ ];
59
+ const insertAgent = db_2.default.prepare(`
60
+ INSERT INTO agents (id, name, host, status, lastHeartbeat, createdAt, costUsd, tokenCount, errorCount)
61
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
62
+ `);
63
+ const insertEvent = db_2.default.prepare(`
64
+ INSERT INTO events (agentId, type, timestamp, data) VALUES (?, ?, ?, ?)
65
+ `);
66
+ const insertAlert = db_2.default.prepare(`
67
+ INSERT INTO alerts (id, agentId, type, severity, message, timestamp, acknowledged) VALUES (?, ?, ?, ?, ?, ?, ?)
68
+ `);
69
+ const insertAll = db_2.default.transaction(() => {
70
+ for (const a of agents) {
71
+ const createdAt = new Date(now - a.createdHoursAgo * hour).toISOString();
72
+ const lastHeartbeat = a.status === "running"
73
+ ? new Date(now - 30000).toISOString() // 30s ago
74
+ : a.status === "error"
75
+ ? new Date(now - 8 * min).toISOString() // 8 min ago (stuck)
76
+ : new Date(now - 45 * min).toISOString(); // paused 45 min ago
77
+ insertAgent.run(a.id, a.name, a.host, a.status, lastHeartbeat, createdAt, a.costUsd, a.tokenCount, a.errorCount);
78
+ // Generate heartbeat events
79
+ for (let i = 0; i < 10; i++) {
80
+ const ts = new Date(now - i * 2 * min).toISOString();
81
+ insertEvent.run(a.id, "heartbeat", ts, JSON.stringify({ message: "alive" }));
82
+ }
83
+ // Generate cost events
84
+ const models = ["claude-sonnet-4-20250514", "claude-haiku-4-5-20251001"];
85
+ for (let i = 0; i < 5; i++) {
86
+ const ts = new Date(now - i * 30 * min).toISOString();
87
+ const model = models[i % 2];
88
+ const cost = +(Math.random() * 1.5 + 0.1).toFixed(3);
89
+ const tokens = Math.floor(Math.random() * 30000 + 5000);
90
+ insertEvent.run(a.id, "cost", ts, JSON.stringify({ model, costUsd: cost, tokenCount: tokens }));
91
+ }
92
+ // Generate tool_call events
93
+ const tools = ["exec", "file_read", "web_search", "code_edit", "test_run"];
94
+ for (let i = 0; i < 8; i++) {
95
+ const ts = new Date(now - i * 5 * min).toISOString();
96
+ insertEvent.run(a.id, "tool_call", ts, JSON.stringify({
97
+ toolName: tools[i % tools.length],
98
+ message: `Called ${tools[i % tools.length]}`,
107
99
  }));
108
100
  }
101
+ // Generate error events for error-prone agents
102
+ if (a.errorCount > 0) {
103
+ for (let i = 0; i < a.errorCount; i++) {
104
+ const ts = new Date(now - i * 10 * min).toISOString();
105
+ insertEvent.run(a.id, "error", ts, JSON.stringify({
106
+ error: i === 0 ? "Rate limit exceeded: 429 Too Many Requests" : "Timeout waiting for tool response",
107
+ message: "Agent encountered an error",
108
+ }));
109
+ }
110
+ }
109
111
  }
110
- }
111
- // Seed some alerts
112
- insertAlert.run("alert_seed01", "agent_research03", "error", "critical", "Error spike detected5 errors in the last 1 minute(s)", new Date(now - 10 * min).toISOString(), 0);
113
- insertAlert.run("alert_seed02", "agent_research03", "stuck", "critical", "Agent research-bot is stuckno heartbeat for 5 minutes", new Date(now - 5 * min).toISOString(), 0);
114
- insertAlert.run("alert_seed03", "agent_code01", "cost_spike", "warning", "Agent code-reviewer exceeded cost threshold — $4.52 spent (threshold: $10)", new Date(now - 2 * hour).toISOString(), 1);
112
+ // Seed some alerts
113
+ insertAlert.run("alert_seed01", "agent_research03", "error", "critical", "Error spike detected — 5 errors in the last 1 minute(s)", new Date(now - 10 * min).toISOString(), 0);
114
+ insertAlert.run("alert_seed02", "agent_research03", "stuck", "critical", "Agent research-bot is stuck no heartbeat for 5 minutes", new Date(now - 5 * min).toISOString(), 0);
115
+ insertAlert.run("alert_seed03", "agent_code01", "cost_spike", "warning", "Agent code-reviewer exceeded cost threshold $4.52 spent (threshold: $10)", new Date(now - 2 * hour).toISOString(), 1);
116
+ });
117
+ insertAll();
118
+ console.log("[Seed] Done! Created:");
119
+ console.log(` - ${agents.length} agents`);
120
+ const eventCount = db_2.default.prepare("SELECT COUNT(*) as cnt FROM events").get();
121
+ const alertCount = db_2.default.prepare("SELECT COUNT(*) as cnt FROM alerts").get();
122
+ console.log(` - ${eventCount.cnt} events`);
123
+ console.log(` - ${alertCount.cnt} alerts`);
124
+ }
125
+ main().catch((err) => {
126
+ console.error("[Seed] Error:", err);
127
+ process.exit(1);
115
128
  });
116
- insertAll();
117
- console.log("[Seed] Done! Created:");
118
- console.log(` - ${agents.length} agents`);
119
- const eventCount = db_2.default.prepare("SELECT COUNT(*) as cnt FROM events").get();
120
- const alertCount = db_2.default.prepare("SELECT COUNT(*) as cnt FROM alerts").get();
121
- console.log(` - ${eventCount.cnt} events`);
122
- console.log(` - ${alertCount.cnt} alerts`);
123
129
  //# sourceMappingURL=seed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../src/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../src/seed.ts"],"names":[],"mappings":"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"}