@wizeworks/lens-cloud 0.3.0-alpha.2 → 0.3.0-alpha.4

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 (597) hide show
  1. package/README.md +4 -0
  2. package/dist/alerts/evaluate.d.ts +6 -5
  3. package/dist/alerts/evaluate.d.ts.map +1 -1
  4. package/dist/alerts/evaluate.js +60 -28
  5. package/dist/alerts/evaluate.js.map +1 -1
  6. package/dist/alerts/problem-link.d.ts +12 -0
  7. package/dist/alerts/problem-link.d.ts.map +1 -0
  8. package/dist/alerts/problem-link.js +31 -0
  9. package/dist/alerts/problem-link.js.map +1 -0
  10. package/dist/app.d.ts +15 -0
  11. package/dist/app.d.ts.map +1 -1
  12. package/dist/auth/auth.d.ts +8 -2
  13. package/dist/auth/auth.d.ts.map +1 -1
  14. package/dist/auth/auth.js +25 -2
  15. package/dist/auth/auth.js.map +1 -1
  16. package/dist/auth/billing-hooks.d.ts +9 -0
  17. package/dist/auth/billing-hooks.d.ts.map +1 -0
  18. package/dist/auth/billing-hooks.js +49 -0
  19. package/dist/auth/billing-hooks.js.map +1 -0
  20. package/dist/auth/bridge.js +2 -2
  21. package/dist/auth/bridge.js.map +1 -1
  22. package/dist/auth/crypto.d.ts +2 -0
  23. package/dist/auth/crypto.d.ts.map +1 -1
  24. package/dist/auth/crypto.js +2 -2
  25. package/dist/auth/crypto.js.map +1 -1
  26. package/dist/auth/deps.d.ts +7 -0
  27. package/dist/auth/deps.d.ts.map +1 -1
  28. package/dist/auth/deps.js.map +1 -1
  29. package/dist/auth/hooks.d.ts.map +1 -1
  30. package/dist/auth/hooks.js +8 -1
  31. package/dist/auth/hooks.js.map +1 -1
  32. package/dist/auth/join-scope.d.ts +7 -0
  33. package/dist/auth/join-scope.d.ts.map +1 -0
  34. package/dist/auth/join-scope.js +21 -0
  35. package/dist/auth/join-scope.js.map +1 -0
  36. package/dist/auth/oauth-access.d.ts +8 -0
  37. package/dist/auth/oauth-access.d.ts.map +1 -0
  38. package/dist/auth/oauth-access.js +31 -0
  39. package/dist/auth/oauth-access.js.map +1 -0
  40. package/dist/auth/oauth-grant.d.ts +5 -0
  41. package/dist/auth/oauth-grant.d.ts.map +1 -0
  42. package/dist/auth/oauth-grant.js +79 -0
  43. package/dist/auth/oauth-grant.js.map +1 -0
  44. package/dist/auth/oauth-names.d.ts +104 -0
  45. package/dist/auth/oauth-names.d.ts.map +1 -0
  46. package/dist/auth/oauth-names.js +72 -0
  47. package/dist/auth/oauth-names.js.map +1 -0
  48. package/dist/auth/oauth.d.ts +17 -0
  49. package/dist/auth/oauth.d.ts.map +1 -0
  50. package/dist/auth/oauth.js +47 -0
  51. package/dist/auth/oauth.js.map +1 -0
  52. package/dist/auth/options.d.ts.map +1 -1
  53. package/dist/auth/options.js +2 -0
  54. package/dist/auth/options.js.map +1 -1
  55. package/dist/auth/plugins.d.ts.map +1 -1
  56. package/dist/auth/plugins.js +15 -1
  57. package/dist/auth/plugins.js.map +1 -1
  58. package/dist/auth/principal.d.ts +10 -1
  59. package/dist/auth/principal.d.ts.map +1 -1
  60. package/dist/auth/principal.js +8 -7
  61. package/dist/auth/principal.js.map +1 -1
  62. package/dist/auth/roles.d.ts +5 -2
  63. package/dist/auth/roles.d.ts.map +1 -1
  64. package/dist/auth/roles.js +1 -0
  65. package/dist/auth/roles.js.map +1 -1
  66. package/dist/auth/schema-names.d.ts +33 -0
  67. package/dist/auth/schema-names.d.ts.map +1 -1
  68. package/dist/auth/schema-names.js +23 -0
  69. package/dist/auth/schema-names.js.map +1 -1
  70. package/dist/auth/scim.d.ts +6 -0
  71. package/dist/auth/scim.d.ts.map +1 -0
  72. package/dist/auth/scim.js +56 -0
  73. package/dist/auth/scim.js.map +1 -0
  74. package/dist/auth/signup.d.ts.map +1 -1
  75. package/dist/auth/signup.js +5 -2
  76. package/dist/auth/signup.js.map +1 -1
  77. package/dist/auth/wire.d.ts +2 -1
  78. package/dist/auth/wire.d.ts.map +1 -1
  79. package/dist/auth/wire.js +4 -1
  80. package/dist/auth/wire.js.map +1 -1
  81. package/dist/billing/cli.d.ts +6 -0
  82. package/dist/billing/cli.d.ts.map +1 -0
  83. package/dist/billing/cli.js +54 -0
  84. package/dist/billing/cli.js.map +1 -0
  85. package/dist/billing/gate.d.ts +13 -0
  86. package/dist/billing/gate.d.ts.map +1 -0
  87. package/dist/billing/gate.js +27 -0
  88. package/dist/billing/gate.js.map +1 -0
  89. package/dist/billing/limits.d.ts +29 -0
  90. package/dist/billing/limits.d.ts.map +1 -0
  91. package/dist/billing/limits.js +69 -0
  92. package/dist/billing/limits.js.map +1 -0
  93. package/dist/billing/notices.d.ts +4 -0
  94. package/dist/billing/notices.d.ts.map +1 -0
  95. package/dist/billing/notices.js +40 -0
  96. package/dist/billing/notices.js.map +1 -0
  97. package/dist/billing/options.d.ts +37 -0
  98. package/dist/billing/options.d.ts.map +1 -0
  99. package/dist/billing/options.js +33 -0
  100. package/dist/billing/options.js.map +1 -0
  101. package/dist/billing/plans.d.ts +50 -0
  102. package/dist/billing/plans.d.ts.map +1 -0
  103. package/dist/billing/plans.js +47 -0
  104. package/dist/billing/plans.js.map +1 -0
  105. package/dist/billing/report.d.ts +26 -0
  106. package/dist/billing/report.d.ts.map +1 -0
  107. package/dist/billing/report.js +53 -0
  108. package/dist/billing/report.js.map +1 -0
  109. package/dist/billing/service.d.ts +20 -0
  110. package/dist/billing/service.d.ts.map +1 -0
  111. package/dist/billing/service.js +29 -0
  112. package/dist/billing/service.js.map +1 -0
  113. package/dist/billing/stripe-plugin.d.ts +14 -0
  114. package/dist/billing/stripe-plugin.d.ts.map +1 -0
  115. package/dist/billing/stripe-plugin.js +39 -0
  116. package/dist/billing/stripe-plugin.js.map +1 -0
  117. package/dist/billing/stripe-setup.d.ts +15 -0
  118. package/dist/billing/stripe-setup.d.ts.map +1 -0
  119. package/dist/billing/stripe-setup.js +73 -0
  120. package/dist/billing/stripe-setup.js.map +1 -0
  121. package/dist/billing/summary.d.ts +59 -0
  122. package/dist/billing/summary.d.ts.map +1 -0
  123. package/dist/billing/summary.js +50 -0
  124. package/dist/billing/summary.js.map +1 -0
  125. package/dist/billing/sync.d.ts +5 -0
  126. package/dist/billing/sync.d.ts.map +1 -0
  127. package/dist/billing/sync.js +35 -0
  128. package/dist/billing/sync.js.map +1 -0
  129. package/dist/billing/usage-sub.d.ts +17 -0
  130. package/dist/billing/usage-sub.d.ts.map +1 -0
  131. package/dist/billing/usage-sub.js +47 -0
  132. package/dist/billing/usage-sub.js.map +1 -0
  133. package/dist/billing/usage.d.ts +28 -0
  134. package/dist/billing/usage.d.ts.map +1 -0
  135. package/dist/billing/usage.js +80 -0
  136. package/dist/billing/usage.js.map +1 -0
  137. package/dist/billing/webhook.d.ts +6 -0
  138. package/dist/billing/webhook.d.ts.map +1 -0
  139. package/dist/billing/webhook.js +41 -0
  140. package/dist/billing/webhook.js.map +1 -0
  141. package/dist/changes.d.ts +15 -0
  142. package/dist/changes.d.ts.map +1 -0
  143. package/dist/changes.js +45 -0
  144. package/dist/changes.js.map +1 -0
  145. package/dist/cli-args.d.ts +1 -1
  146. package/dist/cli-args.d.ts.map +1 -1
  147. package/dist/cli-args.js +44 -2
  148. package/dist/cli-args.js.map +1 -1
  149. package/dist/cli.js +10 -0
  150. package/dist/cli.js.map +1 -1
  151. package/dist/config.d.ts +19 -3
  152. package/dist/config.d.ts.map +1 -1
  153. package/dist/config.js +21 -1
  154. package/dist/config.js.map +1 -1
  155. package/dist/copy-cli.d.ts +3 -0
  156. package/dist/copy-cli.d.ts.map +1 -0
  157. package/dist/copy-cli.js +24 -0
  158. package/dist/copy-cli.js.map +1 -0
  159. package/dist/db/db.d.ts +2 -0
  160. package/dist/db/db.d.ts.map +1 -1
  161. package/dist/db/db.js +15 -4
  162. package/dist/db/db.js.map +1 -1
  163. package/dist/db/schema-alerts.d.ts +2 -0
  164. package/dist/db/schema-alerts.d.ts.map +1 -0
  165. package/dist/db/schema-alerts.js +15 -0
  166. package/dist/db/schema-alerts.js.map +1 -0
  167. package/dist/db/schema-billing.d.ts +2 -0
  168. package/dist/db/schema-billing.d.ts.map +1 -0
  169. package/dist/db/schema-billing.js +38 -0
  170. package/dist/db/schema-billing.js.map +1 -0
  171. package/dist/db/schema-issues.d.ts +2 -0
  172. package/dist/db/schema-issues.d.ts.map +1 -0
  173. package/dist/db/schema-issues.js +9 -0
  174. package/dist/db/schema-issues.js.map +1 -0
  175. package/dist/db/schema-logs.d.ts +2 -0
  176. package/dist/db/schema-logs.d.ts.map +1 -0
  177. package/dist/db/schema-logs.js +13 -0
  178. package/dist/db/schema-logs.js.map +1 -0
  179. package/dist/db/schema-oauth.d.ts +2 -0
  180. package/dist/db/schema-oauth.d.ts.map +1 -0
  181. package/dist/db/schema-oauth.js +69 -0
  182. package/dist/db/schema-oauth.js.map +1 -0
  183. package/dist/db/schema-saved-move.d.ts +2 -0
  184. package/dist/db/schema-saved-move.d.ts.map +1 -0
  185. package/dist/db/schema-saved-move.js +13 -0
  186. package/dist/db/schema-saved-move.js.map +1 -0
  187. package/dist/db/schema-saved.d.ts +2 -0
  188. package/dist/db/schema-saved.d.ts.map +1 -0
  189. package/dist/db/schema-saved.js +13 -0
  190. package/dist/db/schema-saved.js.map +1 -0
  191. package/dist/db/schema-scim.d.ts +2 -0
  192. package/dist/db/schema-scim.d.ts.map +1 -0
  193. package/dist/db/schema-scim.js +28 -0
  194. package/dist/db/schema-scim.js.map +1 -0
  195. package/dist/db/schema-search.d.ts +2 -0
  196. package/dist/db/schema-search.d.ts.map +1 -0
  197. package/dist/db/schema-search.js +16 -0
  198. package/dist/db/schema-search.js.map +1 -0
  199. package/dist/db/schema-slos.d.ts +2 -0
  200. package/dist/db/schema-slos.d.ts.map +1 -0
  201. package/dist/db/schema-slos.js +12 -0
  202. package/dist/db/schema-slos.js.map +1 -0
  203. package/dist/db/schema-sourcemaps.d.ts +2 -0
  204. package/dist/db/schema-sourcemaps.d.ts.map +1 -0
  205. package/dist/db/schema-sourcemaps.js +9 -0
  206. package/dist/db/schema-sourcemaps.js.map +1 -0
  207. package/dist/db/schema-tags.d.ts +2 -0
  208. package/dist/db/schema-tags.d.ts.map +1 -0
  209. package/dist/db/schema-tags.js +12 -0
  210. package/dist/db/schema-tags.js.map +1 -0
  211. package/dist/db/schema-team.d.ts +2 -0
  212. package/dist/db/schema-team.d.ts.map +1 -0
  213. package/dist/db/schema-team.js +15 -0
  214. package/dist/db/schema-team.js.map +1 -0
  215. package/dist/db/schema-uptime.d.ts +2 -0
  216. package/dist/db/schema-uptime.d.ts.map +1 -0
  217. package/dist/db/schema-uptime.js +22 -0
  218. package/dist/db/schema-uptime.js.map +1 -0
  219. package/dist/db/schema.d.ts.map +1 -1
  220. package/dist/db/schema.js +32 -0
  221. package/dist/db/schema.js.map +1 -1
  222. package/dist/db/trigram.d.ts +4 -0
  223. package/dist/db/trigram.d.ts.map +1 -0
  224. package/dist/db/trigram.js +34 -0
  225. package/dist/db/trigram.js.map +1 -0
  226. package/dist/http/http.d.ts +5 -1
  227. package/dist/http/http.d.ts.map +1 -1
  228. package/dist/http/http.js +5 -1
  229. package/dist/http/http.js.map +1 -1
  230. package/dist/jobs.d.ts +1 -1
  231. package/dist/jobs.d.ts.map +1 -1
  232. package/dist/jobs.js +23 -9
  233. package/dist/jobs.js.map +1 -1
  234. package/dist/mail/blocks.d.ts +1 -1
  235. package/dist/mail/blocks.js +2 -2
  236. package/dist/mail/blocks.js.map +1 -1
  237. package/dist/mail/emails-billing.d.ts +17 -0
  238. package/dist/mail/emails-billing.d.ts.map +1 -0
  239. package/dist/mail/emails-billing.js +36 -0
  240. package/dist/mail/emails-billing.js.map +1 -0
  241. package/dist/mail/emails.d.ts +1 -1
  242. package/dist/mail/emails.d.ts.map +1 -1
  243. package/dist/mail/emails.js +7 -4
  244. package/dist/mail/emails.js.map +1 -1
  245. package/dist/mail/layout.d.ts +1 -1
  246. package/dist/mail/layout.d.ts.map +1 -1
  247. package/dist/mail/layout.js +2 -2
  248. package/dist/mail/layout.js.map +1 -1
  249. package/dist/mail/mailer.d.ts +1 -1
  250. package/dist/mail/mailer.d.ts.map +1 -1
  251. package/dist/mail/mailer.js +4 -3
  252. package/dist/mail/mailer.js.map +1 -1
  253. package/dist/mail/resend.d.ts +2 -0
  254. package/dist/mail/resend.d.ts.map +1 -1
  255. package/dist/mail/resend.js +1 -1
  256. package/dist/mail/resend.js.map +1 -1
  257. package/dist/mail/samples.d.ts.map +1 -1
  258. package/dist/mail/samples.js +17 -0
  259. package/dist/mail/samples.js.map +1 -1
  260. package/dist/mail/templates.d.ts +1 -1
  261. package/dist/mail/templates.d.ts.map +1 -1
  262. package/dist/mail/theme.d.ts +7 -1
  263. package/dist/mail/theme.d.ts.map +1 -1
  264. package/dist/mail/theme.js +7 -1
  265. package/dist/mail/theme.js.map +1 -1
  266. package/dist/notify/digest-data.d.ts +2 -1
  267. package/dist/notify/digest-data.d.ts.map +1 -1
  268. package/dist/notify/digest-data.js +5 -11
  269. package/dist/notify/digest-data.js.map +1 -1
  270. package/dist/notify/digest.d.ts.map +1 -1
  271. package/dist/notify/digest.js +5 -2
  272. package/dist/notify/digest.js.map +1 -1
  273. package/dist/notify/health.d.ts.map +1 -1
  274. package/dist/notify/health.js +4 -5
  275. package/dist/notify/health.js.map +1 -1
  276. package/dist/notify/team-describe.d.ts.map +1 -1
  277. package/dist/notify/team-describe.js +14 -0
  278. package/dist/notify/team-describe.js.map +1 -1
  279. package/dist/repo/alert-events.d.ts +38 -0
  280. package/dist/repo/alert-events.d.ts.map +1 -0
  281. package/dist/repo/alert-events.js +29 -0
  282. package/dist/repo/alert-events.js.map +1 -0
  283. package/dist/repo/alerts.d.ts +14 -44
  284. package/dist/repo/alerts.d.ts.map +1 -1
  285. package/dist/repo/alerts.js +35 -13
  286. package/dist/repo/alerts.js.map +1 -1
  287. package/dist/repo/audit.d.ts +19 -1
  288. package/dist/repo/audit.d.ts.map +1 -1
  289. package/dist/repo/audit.js +24 -2
  290. package/dist/repo/audit.js.map +1 -1
  291. package/dist/repo/auth-prune.d.ts +1 -1
  292. package/dist/repo/auth-prune.d.ts.map +1 -1
  293. package/dist/repo/auth-prune.js +13 -1
  294. package/dist/repo/auth-prune.js.map +1 -1
  295. package/dist/repo/billing.d.ts +30 -0
  296. package/dist/repo/billing.d.ts.map +1 -0
  297. package/dist/repo/billing.js +47 -0
  298. package/dist/repo/billing.js.map +1 -0
  299. package/dist/repo/grants.d.ts +30 -0
  300. package/dist/repo/grants.d.ts.map +1 -0
  301. package/dist/repo/grants.js +57 -0
  302. package/dist/repo/grants.js.map +1 -0
  303. package/dist/repo/issues.d.ts +15 -0
  304. package/dist/repo/issues.d.ts.map +1 -0
  305. package/dist/repo/issues.js +31 -0
  306. package/dist/repo/issues.js.map +1 -0
  307. package/dist/repo/keys.d.ts +51 -0
  308. package/dist/repo/keys.d.ts.map +1 -0
  309. package/dist/repo/keys.js +58 -0
  310. package/dist/repo/keys.js.map +1 -0
  311. package/dist/repo/log-retention.d.ts +8 -0
  312. package/dist/repo/log-retention.d.ts.map +1 -0
  313. package/dist/repo/log-retention.js +20 -0
  314. package/dist/repo/log-retention.js.map +1 -0
  315. package/dist/repo/metric-read.d.ts +2 -0
  316. package/dist/repo/metric-read.d.ts.map +1 -1
  317. package/dist/repo/metric-read.js +5 -1
  318. package/dist/repo/metric-read.js.map +1 -1
  319. package/dist/repo/metric-write.d.ts.map +1 -1
  320. package/dist/repo/metric-write.js +3 -2
  321. package/dist/repo/metric-write.js.map +1 -1
  322. package/dist/repo/orgs.d.ts +2 -0
  323. package/dist/repo/orgs.d.ts.map +1 -1
  324. package/dist/repo/orgs.js +5 -1
  325. package/dist/repo/orgs.js.map +1 -1
  326. package/dist/repo/project-roles.d.ts +28 -0
  327. package/dist/repo/project-roles.d.ts.map +1 -0
  328. package/dist/repo/project-roles.js +39 -0
  329. package/dist/repo/project-roles.js.map +1 -0
  330. package/dist/repo/projects.d.ts +3 -22
  331. package/dist/repo/projects.d.ts.map +1 -1
  332. package/dist/repo/projects.js +4 -29
  333. package/dist/repo/projects.js.map +1 -1
  334. package/dist/repo/saved.d.ts +9 -0
  335. package/dist/repo/saved.d.ts.map +1 -0
  336. package/dist/repo/saved.js +29 -0
  337. package/dist/repo/saved.js.map +1 -0
  338. package/dist/repo/scim-tokens.d.ts +20 -0
  339. package/dist/repo/scim-tokens.d.ts.map +1 -0
  340. package/dist/repo/scim-tokens.js +32 -0
  341. package/dist/repo/scim-tokens.js.map +1 -0
  342. package/dist/repo/services.d.ts +6 -0
  343. package/dist/repo/services.d.ts.map +1 -0
  344. package/dist/repo/services.js +17 -0
  345. package/dist/repo/services.js.map +1 -0
  346. package/dist/repo/settings.d.ts +30 -0
  347. package/dist/repo/settings.d.ts.map +1 -0
  348. package/dist/repo/settings.js +55 -0
  349. package/dist/repo/settings.js.map +1 -0
  350. package/dist/repo/slos.d.ts +10 -0
  351. package/dist/repo/slos.d.ts.map +1 -0
  352. package/dist/repo/slos.js +27 -0
  353. package/dist/repo/slos.js.map +1 -0
  354. package/dist/repo/sourcemaps.d.ts +9 -0
  355. package/dist/repo/sourcemaps.d.ts.map +1 -0
  356. package/dist/repo/sourcemaps.js +34 -0
  357. package/dist/repo/sourcemaps.js.map +1 -0
  358. package/dist/repo/tags.d.ts +11 -0
  359. package/dist/repo/tags.d.ts.map +1 -0
  360. package/dist/repo/tags.js +33 -0
  361. package/dist/repo/tags.js.map +1 -0
  362. package/dist/repo/trace-join.d.ts +9 -0
  363. package/dist/repo/trace-join.d.ts.map +1 -0
  364. package/dist/repo/trace-join.js +35 -0
  365. package/dist/repo/trace-join.js.map +1 -0
  366. package/dist/repo/trace-read.d.ts +6 -13
  367. package/dist/repo/trace-read.d.ts.map +1 -1
  368. package/dist/repo/trace-read.js +11 -4
  369. package/dist/repo/trace-read.js.map +1 -1
  370. package/dist/repo/trace-write.d.ts +6 -2
  371. package/dist/repo/trace-write.d.ts.map +1 -1
  372. package/dist/repo/trace-write.js +22 -7
  373. package/dist/repo/trace-write.js.map +1 -1
  374. package/dist/repo/uptime.d.ts +21 -0
  375. package/dist/repo/uptime.d.ts.map +1 -0
  376. package/dist/repo/uptime.js +53 -0
  377. package/dist/repo/uptime.js.map +1 -0
  378. package/dist/routes/alerts.d.ts.map +1 -1
  379. package/dist/routes/alerts.js +65 -66
  380. package/dist/routes/alerts.js.map +1 -1
  381. package/dist/routes/apps.d.ts +20 -0
  382. package/dist/routes/apps.d.ts.map +1 -0
  383. package/dist/routes/apps.js +53 -0
  384. package/dist/routes/apps.js.map +1 -0
  385. package/dist/routes/billing.d.ts +4 -0
  386. package/dist/routes/billing.d.ts.map +1 -0
  387. package/dist/routes/billing.js +51 -0
  388. package/dist/routes/billing.js.map +1 -0
  389. package/dist/routes/changes.d.ts +4 -0
  390. package/dist/routes/changes.d.ts.map +1 -0
  391. package/dist/routes/changes.js +19 -0
  392. package/dist/routes/changes.js.map +1 -0
  393. package/dist/routes/data.d.ts.map +1 -1
  394. package/dist/routes/data.js +38 -14
  395. package/dist/routes/data.js.map +1 -1
  396. package/dist/routes/index.d.ts.map +1 -1
  397. package/dist/routes/index.js +28 -0
  398. package/dist/routes/index.js.map +1 -1
  399. package/dist/routes/ingest.d.ts +3 -1
  400. package/dist/routes/ingest.d.ts.map +1 -1
  401. package/dist/routes/ingest.js +60 -14
  402. package/dist/routes/ingest.js.map +1 -1
  403. package/dist/routes/issues.d.ts +4 -0
  404. package/dist/routes/issues.d.ts.map +1 -0
  405. package/dist/routes/issues.js +34 -0
  406. package/dist/routes/issues.js.map +1 -0
  407. package/dist/routes/keys.d.ts +4 -0
  408. package/dist/routes/keys.d.ts.map +1 -0
  409. package/dist/routes/keys.js +70 -0
  410. package/dist/routes/keys.js.map +1 -0
  411. package/dist/routes/mcp.d.ts.map +1 -1
  412. package/dist/routes/mcp.js +85 -31
  413. package/dist/routes/mcp.js.map +1 -1
  414. package/dist/routes/me.d.ts.map +1 -1
  415. package/dist/routes/me.js +15 -5
  416. package/dist/routes/me.js.map +1 -1
  417. package/dist/routes/metrics.d.ts +2 -2
  418. package/dist/routes/metrics.d.ts.map +1 -1
  419. package/dist/routes/metrics.js +3 -4
  420. package/dist/routes/metrics.js.map +1 -1
  421. package/dist/routes/models.d.ts +9 -1
  422. package/dist/routes/models.d.ts.map +1 -1
  423. package/dist/routes/models.js +62 -21
  424. package/dist/routes/models.js.map +1 -1
  425. package/dist/routes/notify.d.ts.map +1 -1
  426. package/dist/routes/notify.js +3 -1
  427. package/dist/routes/notify.js.map +1 -1
  428. package/dist/routes/oauth-meta.d.ts +7 -0
  429. package/dist/routes/oauth-meta.d.ts.map +1 -0
  430. package/dist/routes/oauth-meta.js +52 -0
  431. package/dist/routes/oauth-meta.js.map +1 -0
  432. package/dist/routes/orgs.d.ts.map +1 -1
  433. package/dist/routes/orgs.js +27 -7
  434. package/dist/routes/orgs.js.map +1 -1
  435. package/dist/routes/projects.d.ts.map +1 -1
  436. package/dist/routes/projects.js +32 -22
  437. package/dist/routes/projects.js.map +1 -1
  438. package/dist/routes/saved.d.ts +4 -0
  439. package/dist/routes/saved.d.ts.map +1 -0
  440. package/dist/routes/saved.js +56 -0
  441. package/dist/routes/saved.js.map +1 -0
  442. package/dist/routes/scim.d.ts +4 -0
  443. package/dist/routes/scim.d.ts.map +1 -0
  444. package/dist/routes/scim.js +37 -0
  445. package/dist/routes/scim.js.map +1 -0
  446. package/dist/routes/search.d.ts +4 -0
  447. package/dist/routes/search.d.ts.map +1 -0
  448. package/dist/routes/search.js +36 -0
  449. package/dist/routes/search.js.map +1 -0
  450. package/dist/routes/settings.d.ts +4 -0
  451. package/dist/routes/settings.d.ts.map +1 -0
  452. package/dist/routes/settings.js +39 -0
  453. package/dist/routes/settings.js.map +1 -0
  454. package/dist/routes/shares.d.ts +3 -0
  455. package/dist/routes/shares.d.ts.map +1 -1
  456. package/dist/routes/shares.js +34 -18
  457. package/dist/routes/shares.js.map +1 -1
  458. package/dist/routes/slos.d.ts +4 -0
  459. package/dist/routes/slos.d.ts.map +1 -0
  460. package/dist/routes/slos.js +76 -0
  461. package/dist/routes/slos.js.map +1 -0
  462. package/dist/routes/sourcemaps.d.ts +9 -0
  463. package/dist/routes/sourcemaps.d.ts.map +1 -0
  464. package/dist/routes/sourcemaps.js +54 -0
  465. package/dist/routes/sourcemaps.js.map +1 -0
  466. package/dist/routes/status.d.ts +4 -0
  467. package/dist/routes/status.d.ts.map +1 -0
  468. package/dist/routes/status.js +60 -0
  469. package/dist/routes/status.js.map +1 -0
  470. package/dist/routes/tags.d.ts +4 -0
  471. package/dist/routes/tags.d.ts.map +1 -0
  472. package/dist/routes/tags.js +81 -0
  473. package/dist/routes/tags.js.map +1 -0
  474. package/dist/routes/uptime.d.ts +4 -0
  475. package/dist/routes/uptime.d.ts.map +1 -0
  476. package/dist/routes/uptime.js +71 -0
  477. package/dist/routes/uptime.js.map +1 -0
  478. package/dist/scale-exec.d.ts +3 -2
  479. package/dist/scale-exec.d.ts.map +1 -1
  480. package/dist/scale-exec.js +5 -4
  481. package/dist/scale-exec.js.map +1 -1
  482. package/dist/server.d.ts.map +1 -1
  483. package/dist/server.js +45 -10
  484. package/dist/server.js.map +1 -1
  485. package/dist/settle.d.ts +13 -9
  486. package/dist/settle.d.ts.map +1 -1
  487. package/dist/settle.js +40 -20
  488. package/dist/settle.js.map +1 -1
  489. package/dist/telemetry/cached.d.ts +11 -0
  490. package/dist/telemetry/cached.d.ts.map +1 -0
  491. package/dist/telemetry/cached.js +30 -0
  492. package/dist/telemetry/cached.js.map +1 -0
  493. package/dist/telemetry/ch/admin.d.ts +14 -0
  494. package/dist/telemetry/ch/admin.d.ts.map +1 -0
  495. package/dist/telemetry/ch/admin.js +82 -0
  496. package/dist/telemetry/ch/admin.js.map +1 -0
  497. package/dist/telemetry/ch/http.d.ts +19 -0
  498. package/dist/telemetry/ch/http.d.ts.map +1 -0
  499. package/dist/telemetry/ch/http.js +91 -0
  500. package/dist/telemetry/ch/http.js.map +1 -0
  501. package/dist/telemetry/ch/metrics.d.ts +10 -0
  502. package/dist/telemetry/ch/metrics.d.ts.map +1 -0
  503. package/dist/telemetry/ch/metrics.js +61 -0
  504. package/dist/telemetry/ch/metrics.js.map +1 -0
  505. package/dist/telemetry/ch/queries.d.ts +19 -0
  506. package/dist/telemetry/ch/queries.d.ts.map +1 -0
  507. package/dist/telemetry/ch/queries.js +30 -0
  508. package/dist/telemetry/ch/queries.js.map +1 -0
  509. package/dist/telemetry/ch/queue.d.ts +36 -0
  510. package/dist/telemetry/ch/queue.d.ts.map +1 -0
  511. package/dist/telemetry/ch/queue.js +83 -0
  512. package/dist/telemetry/ch/queue.js.map +1 -0
  513. package/dist/telemetry/ch/read.d.ts +12 -0
  514. package/dist/telemetry/ch/read.d.ts.map +1 -0
  515. package/dist/telemetry/ch/read.js +74 -0
  516. package/dist/telemetry/ch/read.js.map +1 -0
  517. package/dist/telemetry/ch/rebuild.d.ts +23 -0
  518. package/dist/telemetry/ch/rebuild.d.ts.map +1 -0
  519. package/dist/telemetry/ch/rebuild.js +65 -0
  520. package/dist/telemetry/ch/rebuild.js.map +1 -0
  521. package/dist/telemetry/ch/schema-facts.d.ts +6 -0
  522. package/dist/telemetry/ch/schema-facts.d.ts.map +1 -0
  523. package/dist/telemetry/ch/schema-facts.js +55 -0
  524. package/dist/telemetry/ch/schema-facts.js.map +1 -0
  525. package/dist/telemetry/ch/schema-raw.d.ts +10 -0
  526. package/dist/telemetry/ch/schema-raw.d.ts.map +1 -0
  527. package/dist/telemetry/ch/schema-raw.js +37 -0
  528. package/dist/telemetry/ch/schema-raw.js.map +1 -0
  529. package/dist/telemetry/ch/schema-rollups.d.ts +2 -0
  530. package/dist/telemetry/ch/schema-rollups.d.ts.map +1 -0
  531. package/dist/telemetry/ch/schema-rollups.js +61 -0
  532. package/dist/telemetry/ch/schema-rollups.js.map +1 -0
  533. package/dist/telemetry/ch/schema.d.ts +12 -0
  534. package/dist/telemetry/ch/schema.d.ts.map +1 -0
  535. package/dist/telemetry/ch/schema.js +25 -0
  536. package/dist/telemetry/ch/schema.js.map +1 -0
  537. package/dist/telemetry/ch/settle-pool.d.ts +24 -0
  538. package/dist/telemetry/ch/settle-pool.d.ts.map +1 -0
  539. package/dist/telemetry/ch/settle-pool.js +58 -0
  540. package/dist/telemetry/ch/settle-pool.js.map +1 -0
  541. package/dist/telemetry/ch/settle-rows.d.ts +16 -0
  542. package/dist/telemetry/ch/settle-rows.d.ts.map +1 -0
  543. package/dist/telemetry/ch/settle-rows.js +74 -0
  544. package/dist/telemetry/ch/settle-rows.js.map +1 -0
  545. package/dist/telemetry/ch/settle-work.d.ts +21 -0
  546. package/dist/telemetry/ch/settle-work.d.ts.map +1 -0
  547. package/dist/telemetry/ch/settle-work.js +52 -0
  548. package/dist/telemetry/ch/settle-work.js.map +1 -0
  549. package/dist/telemetry/ch/settle-worker.d.ts +2 -0
  550. package/dist/telemetry/ch/settle-worker.d.ts.map +1 -0
  551. package/dist/telemetry/ch/settle-worker.js +10 -0
  552. package/dist/telemetry/ch/settle-worker.js.map +1 -0
  553. package/dist/telemetry/ch/settle.d.ts +21 -0
  554. package/dist/telemetry/ch/settle.d.ts.map +1 -0
  555. package/dist/telemetry/ch/settle.js +55 -0
  556. package/dist/telemetry/ch/settle.js.map +1 -0
  557. package/dist/telemetry/ch/store.d.ts +27 -0
  558. package/dist/telemetry/ch/store.d.ts.map +1 -0
  559. package/dist/telemetry/ch/store.js +94 -0
  560. package/dist/telemetry/ch/store.js.map +1 -0
  561. package/dist/telemetry/ch/util.d.ts +27 -0
  562. package/dist/telemetry/ch/util.d.ts.map +1 -0
  563. package/dist/telemetry/ch/util.js +49 -0
  564. package/dist/telemetry/ch/util.js.map +1 -0
  565. package/dist/telemetry/ch/write.d.ts +12 -0
  566. package/dist/telemetry/ch/write.d.ts.map +1 -0
  567. package/dist/telemetry/ch/write.js +59 -0
  568. package/dist/telemetry/ch/write.js.map +1 -0
  569. package/dist/telemetry/copy.d.ts +9 -0
  570. package/dist/telemetry/copy.d.ts.map +1 -0
  571. package/dist/telemetry/copy.js +60 -0
  572. package/dist/telemetry/copy.js.map +1 -0
  573. package/dist/telemetry/index.d.ts +14 -0
  574. package/dist/telemetry/index.d.ts.map +1 -0
  575. package/dist/telemetry/index.js +26 -0
  576. package/dist/telemetry/index.js.map +1 -0
  577. package/dist/telemetry/pg-store.d.ts +5 -0
  578. package/dist/telemetry/pg-store.d.ts.map +1 -0
  579. package/dist/telemetry/pg-store.js +83 -0
  580. package/dist/telemetry/pg-store.js.map +1 -0
  581. package/dist/telemetry/store.d.ts +85 -0
  582. package/dist/telemetry/store.d.ts.map +1 -0
  583. package/dist/telemetry/store.js +2 -0
  584. package/dist/telemetry/store.js.map +1 -0
  585. package/dist/uptime/headers.d.ts +6 -0
  586. package/dist/uptime/headers.d.ts.map +1 -0
  587. package/dist/uptime/headers.js +25 -0
  588. package/dist/uptime/headers.js.map +1 -0
  589. package/dist/uptime/run.d.ts +9 -0
  590. package/dist/uptime/run.d.ts.map +1 -0
  591. package/dist/uptime/run.js +40 -0
  592. package/dist/uptime/run.js.map +1 -0
  593. package/package.json +10 -5
  594. package/dist/alerts/notify.d.ts +0 -28
  595. package/dist/alerts/notify.d.ts.map +0 -1
  596. package/dist/alerts/notify.js +0 -52
  597. package/dist/alerts/notify.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ // Migration 10: issue states. Error groups and insights a person resolved, ignored, or assigned, per project.
2
+ export const ISSUES_MIGRATION = `
3
+ CREATE TABLE issues (
4
+ project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, kind TEXT NOT NULL, key TEXT NOT NULL,
5
+ status TEXT NOT NULL, until_ms DOUBLE PRECISION, resolved_ms DOUBLE PRECISION, assignee TEXT,
6
+ updated_ms DOUBLE PRECISION NOT NULL, updated_by TEXT NOT NULL, PRIMARY KEY (project_id, kind, key)
7
+ );
8
+ `;
9
+ //# sourceMappingURL=schema-issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-issues.js","sourceRoot":"","sources":["../../src/db/schema-issues.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;CAM/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const LOGS_MIGRATION = "\nALTER TABLE fact_logs ADD COLUMN pattern TEXT NOT NULL DEFAULT '';\nCREATE INDEX ix_fact_logs_pattern ON fact_logs (project_id, pattern, time_ms);\nALTER TABLE projects ADD COLUMN log_retention_days INTEGER;\nALTER TABLE alert_rules ADD COLUMN log_search TEXT NOT NULL DEFAULT '{}';\nCREATE TABLE saved_searches (\n id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, kind TEXT NOT NULL, name TEXT NOT NULL,\n params TEXT NOT NULL, created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL\n);\nCREATE INDEX ix_saved_searches_project ON saved_searches (project_id, kind, created_ms);\n";
2
+ //# sourceMappingURL=schema-logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-logs.d.ts","sourceRoot":"","sources":["../../src/db/schema-logs.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,6nBAU1B,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Migration 19: logs as a product. Pattern ids on log facts, log retention per project, log alert searches, and saved searches.
2
+ export const LOGS_MIGRATION = `
3
+ ALTER TABLE fact_logs ADD COLUMN pattern TEXT NOT NULL DEFAULT '';
4
+ CREATE INDEX ix_fact_logs_pattern ON fact_logs (project_id, pattern, time_ms);
5
+ ALTER TABLE projects ADD COLUMN log_retention_days INTEGER;
6
+ ALTER TABLE alert_rules ADD COLUMN log_search TEXT NOT NULL DEFAULT '{}';
7
+ CREATE TABLE saved_searches (
8
+ id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, kind TEXT NOT NULL, name TEXT NOT NULL,
9
+ params TEXT NOT NULL, created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL
10
+ );
11
+ CREATE INDEX ix_saved_searches_project ON saved_searches (project_id, kind, created_ms);
12
+ `;
13
+ //# sourceMappingURL=schema-logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-logs.js","sourceRoot":"","sources":["../../src/db/schema-logs.ts"],"names":[],"mappings":"AAAA,gIAAgI;AAChI,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;CAU7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const OAUTH_MIGRATION = "\nCREATE TABLE oauth_clients (\n id TEXT NOT NULL PRIMARY KEY, client_id TEXT NOT NULL UNIQUE, client_secret TEXT, client_discovery_id TEXT, disabled BOOLEAN,\n skip_consent BOOLEAN, enable_end_session BOOLEAN, subject_type TEXT, scopes JSONB, client_credentials_scopes JSONB,\n user_id TEXT REFERENCES users (id) ON DELETE CASCADE, created_at TIMESTAMPTZ, updated_at TIMESTAMPTZ, name TEXT, uri TEXT, icon TEXT,\n contacts JSONB, tos TEXT, policy TEXT, software_id TEXT, software_version TEXT, software_statement TEXT, redirect_uris JSONB NOT NULL,\n post_logout_redirect_uris JSONB, backchannel_logout_uri TEXT, backchannel_logout_session_required BOOLEAN, token_endpoint_auth_method TEXT,\n application_type TEXT, jwks TEXT, jwks_uri TEXT, grant_types JSONB, response_types JSONB, require_pkce BOOLEAN,\n dpop_bound_access_tokens BOOLEAN, reference_id TEXT, metadata JSONB\n);\nCREATE INDEX oauth_clients_user_id_idx ON oauth_clients (user_id);\nCREATE TABLE oauth_resources (\n id TEXT NOT NULL PRIMARY KEY, identifier TEXT NOT NULL UNIQUE, name TEXT NOT NULL, access_token_ttl INTEGER, refresh_token_ttl INTEGER,\n signing_algorithm TEXT, signing_key_id TEXT, allowed_scopes JSONB, custom_claims JSONB, dpop_bound_access_tokens_required BOOLEAN,\n disabled BOOLEAN, created_at TIMESTAMPTZ, updated_at TIMESTAMPTZ, policy_version INTEGER, metadata JSONB\n);\nCREATE TABLE oauth_client_resources (\n id TEXT NOT NULL PRIMARY KEY, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,\n resource_id TEXT NOT NULL REFERENCES oauth_resources (identifier) ON DELETE CASCADE, metadata JSONB, created_at TIMESTAMPTZ\n);\nCREATE INDEX oauth_client_resources_client_id_idx ON oauth_client_resources (client_id);\nCREATE INDEX oauth_client_resources_resource_id_idx ON oauth_client_resources (resource_id);\nCREATE UNIQUE INDEX oauth_client_resources_client_id_resource_id_uidx ON oauth_client_resources (client_id, resource_id);\nCREATE TABLE oauth_refresh_tokens (\n id TEXT NOT NULL PRIMARY KEY, token TEXT NOT NULL UNIQUE, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,\n session_id TEXT REFERENCES sessions (id) ON DELETE SET NULL, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE,\n reference_id TEXT, authorization_code_id TEXT, resources JSONB, requested_user_info_claims JSONB, expires_at TIMESTAMPTZ NOT NULL,\n created_at TIMESTAMPTZ NOT NULL, revoked TIMESTAMPTZ, rotated_at TIMESTAMPTZ, rotation_replay_response TEXT,\n rotation_replay_expires_at TIMESTAMPTZ, auth_time TIMESTAMPTZ, confirmation JSONB, scopes JSONB NOT NULL\n);\nCREATE INDEX oauth_refresh_tokens_client_id_idx ON oauth_refresh_tokens (client_id);\nCREATE INDEX oauth_refresh_tokens_session_id_idx ON oauth_refresh_tokens (session_id);\nCREATE INDEX oauth_refresh_tokens_user_id_idx ON oauth_refresh_tokens (user_id);\nCREATE INDEX oauth_refresh_tokens_authorization_code_id_idx ON oauth_refresh_tokens (authorization_code_id);\nCREATE INDEX oauth_refresh_tokens_reference_id_idx ON oauth_refresh_tokens (reference_id);\nCREATE TABLE oauth_access_tokens (\n id TEXT NOT NULL PRIMARY KEY, token TEXT NOT NULL UNIQUE, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,\n session_id TEXT REFERENCES sessions (id) ON DELETE SET NULL, user_id TEXT REFERENCES users (id) ON DELETE CASCADE, reference_id TEXT,\n authorization_code_id TEXT, resources JSONB, requested_user_info_claims JSONB,\n refresh_id TEXT REFERENCES oauth_refresh_tokens (id) ON DELETE CASCADE, expires_at TIMESTAMPTZ NOT NULL, created_at TIMESTAMPTZ NOT NULL,\n revoked TIMESTAMPTZ, confirmation JSONB, scopes JSONB NOT NULL\n);\nCREATE INDEX oauth_access_tokens_client_id_idx ON oauth_access_tokens (client_id);\nCREATE INDEX oauth_access_tokens_session_id_idx ON oauth_access_tokens (session_id);\nCREATE INDEX oauth_access_tokens_user_id_idx ON oauth_access_tokens (user_id);\nCREATE INDEX oauth_access_tokens_authorization_code_id_idx ON oauth_access_tokens (authorization_code_id);\nCREATE INDEX oauth_access_tokens_refresh_id_idx ON oauth_access_tokens (refresh_id);\nCREATE INDEX oauth_access_tokens_reference_id_idx ON oauth_access_tokens (reference_id);\nCREATE TABLE oauth_consents (\n id TEXT NOT NULL PRIMARY KEY, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,\n user_id TEXT REFERENCES users (id) ON DELETE CASCADE, reference_id TEXT, resources JSONB, requested_user_info_claims JSONB,\n scopes JSONB NOT NULL, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL\n);\nCREATE INDEX oauth_consents_client_id_idx ON oauth_consents (client_id);\nCREATE INDEX oauth_consents_user_id_idx ON oauth_consents (user_id);\nCREATE INDEX oauth_consents_reference_id_idx ON oauth_consents (reference_id);\nCREATE TABLE oauth_client_assertions (id TEXT NOT NULL PRIMARY KEY, expires_at TIMESTAMPTZ NOT NULL);\nCREATE TABLE oauth_grants (\n id TEXT NOT NULL PRIMARY KEY, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE,\n org_id TEXT NOT NULL REFERENCES orgs (id) ON DELETE CASCADE, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,\n session_id TEXT, all_projects BOOLEAN NOT NULL, project_ids TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL,\n used_ms DOUBLE PRECISION, revoked_ms DOUBLE PRECISION\n);\nCREATE INDEX ix_oauth_grants_user ON oauth_grants (user_id, client_id);\nCREATE INDEX ix_oauth_grants_org ON oauth_grants (org_id);\nCREATE INDEX ix_oauth_grants_session ON oauth_grants (session_id);\n";
2
+ //# sourceMappingURL=schema-oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-oauth.d.ts","sourceRoot":"","sources":["../../src/db/schema-oauth.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,k8KAkE3B,CAAC"}
@@ -0,0 +1,69 @@
1
+ // Migration 9: OAuth for MCP clients (Better Auth's OAuth provider; names in auth/oauth-names.ts) and the grants behind each consent.
2
+ export const OAUTH_MIGRATION = `
3
+ CREATE TABLE oauth_clients (
4
+ id TEXT NOT NULL PRIMARY KEY, client_id TEXT NOT NULL UNIQUE, client_secret TEXT, client_discovery_id TEXT, disabled BOOLEAN,
5
+ skip_consent BOOLEAN, enable_end_session BOOLEAN, subject_type TEXT, scopes JSONB, client_credentials_scopes JSONB,
6
+ user_id TEXT REFERENCES users (id) ON DELETE CASCADE, created_at TIMESTAMPTZ, updated_at TIMESTAMPTZ, name TEXT, uri TEXT, icon TEXT,
7
+ contacts JSONB, tos TEXT, policy TEXT, software_id TEXT, software_version TEXT, software_statement TEXT, redirect_uris JSONB NOT NULL,
8
+ post_logout_redirect_uris JSONB, backchannel_logout_uri TEXT, backchannel_logout_session_required BOOLEAN, token_endpoint_auth_method TEXT,
9
+ application_type TEXT, jwks TEXT, jwks_uri TEXT, grant_types JSONB, response_types JSONB, require_pkce BOOLEAN,
10
+ dpop_bound_access_tokens BOOLEAN, reference_id TEXT, metadata JSONB
11
+ );
12
+ CREATE INDEX oauth_clients_user_id_idx ON oauth_clients (user_id);
13
+ CREATE TABLE oauth_resources (
14
+ id TEXT NOT NULL PRIMARY KEY, identifier TEXT NOT NULL UNIQUE, name TEXT NOT NULL, access_token_ttl INTEGER, refresh_token_ttl INTEGER,
15
+ signing_algorithm TEXT, signing_key_id TEXT, allowed_scopes JSONB, custom_claims JSONB, dpop_bound_access_tokens_required BOOLEAN,
16
+ disabled BOOLEAN, created_at TIMESTAMPTZ, updated_at TIMESTAMPTZ, policy_version INTEGER, metadata JSONB
17
+ );
18
+ CREATE TABLE oauth_client_resources (
19
+ id TEXT NOT NULL PRIMARY KEY, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,
20
+ resource_id TEXT NOT NULL REFERENCES oauth_resources (identifier) ON DELETE CASCADE, metadata JSONB, created_at TIMESTAMPTZ
21
+ );
22
+ CREATE INDEX oauth_client_resources_client_id_idx ON oauth_client_resources (client_id);
23
+ CREATE INDEX oauth_client_resources_resource_id_idx ON oauth_client_resources (resource_id);
24
+ CREATE UNIQUE INDEX oauth_client_resources_client_id_resource_id_uidx ON oauth_client_resources (client_id, resource_id);
25
+ CREATE TABLE oauth_refresh_tokens (
26
+ id TEXT NOT NULL PRIMARY KEY, token TEXT NOT NULL UNIQUE, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,
27
+ session_id TEXT REFERENCES sessions (id) ON DELETE SET NULL, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE,
28
+ reference_id TEXT, authorization_code_id TEXT, resources JSONB, requested_user_info_claims JSONB, expires_at TIMESTAMPTZ NOT NULL,
29
+ created_at TIMESTAMPTZ NOT NULL, revoked TIMESTAMPTZ, rotated_at TIMESTAMPTZ, rotation_replay_response TEXT,
30
+ rotation_replay_expires_at TIMESTAMPTZ, auth_time TIMESTAMPTZ, confirmation JSONB, scopes JSONB NOT NULL
31
+ );
32
+ CREATE INDEX oauth_refresh_tokens_client_id_idx ON oauth_refresh_tokens (client_id);
33
+ CREATE INDEX oauth_refresh_tokens_session_id_idx ON oauth_refresh_tokens (session_id);
34
+ CREATE INDEX oauth_refresh_tokens_user_id_idx ON oauth_refresh_tokens (user_id);
35
+ CREATE INDEX oauth_refresh_tokens_authorization_code_id_idx ON oauth_refresh_tokens (authorization_code_id);
36
+ CREATE INDEX oauth_refresh_tokens_reference_id_idx ON oauth_refresh_tokens (reference_id);
37
+ CREATE TABLE oauth_access_tokens (
38
+ id TEXT NOT NULL PRIMARY KEY, token TEXT NOT NULL UNIQUE, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,
39
+ session_id TEXT REFERENCES sessions (id) ON DELETE SET NULL, user_id TEXT REFERENCES users (id) ON DELETE CASCADE, reference_id TEXT,
40
+ authorization_code_id TEXT, resources JSONB, requested_user_info_claims JSONB,
41
+ refresh_id TEXT REFERENCES oauth_refresh_tokens (id) ON DELETE CASCADE, expires_at TIMESTAMPTZ NOT NULL, created_at TIMESTAMPTZ NOT NULL,
42
+ revoked TIMESTAMPTZ, confirmation JSONB, scopes JSONB NOT NULL
43
+ );
44
+ CREATE INDEX oauth_access_tokens_client_id_idx ON oauth_access_tokens (client_id);
45
+ CREATE INDEX oauth_access_tokens_session_id_idx ON oauth_access_tokens (session_id);
46
+ CREATE INDEX oauth_access_tokens_user_id_idx ON oauth_access_tokens (user_id);
47
+ CREATE INDEX oauth_access_tokens_authorization_code_id_idx ON oauth_access_tokens (authorization_code_id);
48
+ CREATE INDEX oauth_access_tokens_refresh_id_idx ON oauth_access_tokens (refresh_id);
49
+ CREATE INDEX oauth_access_tokens_reference_id_idx ON oauth_access_tokens (reference_id);
50
+ CREATE TABLE oauth_consents (
51
+ id TEXT NOT NULL PRIMARY KEY, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,
52
+ user_id TEXT REFERENCES users (id) ON DELETE CASCADE, reference_id TEXT, resources JSONB, requested_user_info_claims JSONB,
53
+ scopes JSONB NOT NULL, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL
54
+ );
55
+ CREATE INDEX oauth_consents_client_id_idx ON oauth_consents (client_id);
56
+ CREATE INDEX oauth_consents_user_id_idx ON oauth_consents (user_id);
57
+ CREATE INDEX oauth_consents_reference_id_idx ON oauth_consents (reference_id);
58
+ CREATE TABLE oauth_client_assertions (id TEXT NOT NULL PRIMARY KEY, expires_at TIMESTAMPTZ NOT NULL);
59
+ CREATE TABLE oauth_grants (
60
+ id TEXT NOT NULL PRIMARY KEY, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE,
61
+ org_id TEXT NOT NULL REFERENCES orgs (id) ON DELETE CASCADE, client_id TEXT NOT NULL REFERENCES oauth_clients (client_id) ON DELETE CASCADE,
62
+ session_id TEXT, all_projects BOOLEAN NOT NULL, project_ids TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL,
63
+ used_ms DOUBLE PRECISION, revoked_ms DOUBLE PRECISION
64
+ );
65
+ CREATE INDEX ix_oauth_grants_user ON oauth_grants (user_id, client_id);
66
+ CREATE INDEX ix_oauth_grants_org ON oauth_grants (org_id);
67
+ CREATE INDEX ix_oauth_grants_session ON oauth_grants (session_id);
68
+ `;
69
+ //# sourceMappingURL=schema-oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-oauth.js","sourceRoot":"","sources":["../../src/db/schema-oauth.ts"],"names":[],"mappings":"AAAA,sIAAsI;AACtI,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkE9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SAVED_MOVE_MIGRATION: string;
2
+ //# sourceMappingURL=schema-saved-move.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-saved-move.d.ts","sourceRoot":"","sources":["../../src/db/schema-saved-move.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,QAShC,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Migration 22: saved log searches move into saved_items as shared searches of the Logs page, drawn as charts; saved_searches goes.
2
+ const enc = (v) => `replace(replace(replace(replace(replace(replace(${v}, '%', '%25'), '&', '%26'), '=', '%3D'), '#', '%23'), '+', '%2B'), ' ', '%20')`;
3
+ export const SAVED_MOVE_MIGRATION = `
4
+ INSERT INTO saved_items (id, project_id, owner_id, kind, name, shared, body, created_ms, updated_ms)
5
+ SELECT s.id, s.project_id, CASE WHEN s.created_by LIKE 'user:%' THEN substr(s.created_by, 6) ELSE s.created_by END, 'search', s.name, TRUE,
6
+ json_build_object('href', '#/logs' || COALESCE('?' || (SELECT string_agg(e.key || '=' || ${enc("e.value")}, '&' ORDER BY e.key)
7
+ FROM jsonb_each_text(s.params::jsonb) e WHERE e.value <> ''), ''), 'panels', json_build_array(), 'chart', TRUE)::text,
8
+ s.created_ms, s.created_ms
9
+ FROM saved_searches s
10
+ ON CONFLICT (id) DO NOTHING;
11
+ DROP TABLE saved_searches;
12
+ `;
13
+ //# sourceMappingURL=schema-saved-move.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-saved-move.js","sourceRoot":"","sources":["../../src/db/schema-saved-move.ts"],"names":[],"mappings":"AAAA,oIAAoI;AACpI,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,mDAAmD,CAAC,gFAAgF,CAAC;AAEhK,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;6FAGyD,GAAG,CAAC,SAAS,CAAC;;;;;;CAM1G,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SAVED_MIGRATION = "\nCREATE TABLE saved_items (\n id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, owner_id TEXT NOT NULL, kind TEXT NOT NULL,\n name TEXT NOT NULL, shared BOOLEAN NOT NULL DEFAULT FALSE, body TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL, updated_ms DOUBLE PRECISION NOT NULL\n);\nCREATE INDEX ix_saved_items_project ON saved_items (project_id);\nALTER TABLE shares ADD COLUMN page TEXT NOT NULL DEFAULT '';\nALTER TABLE shares ADD COLUMN title TEXT NOT NULL DEFAULT '';\nALTER TABLE shares ADD COLUMN snapshot TEXT;\nALTER TABLE shares ADD COLUMN params TEXT NOT NULL DEFAULT '{}';\n";
2
+ //# sourceMappingURL=schema-saved.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-saved.d.ts","sourceRoot":"","sources":["../../src/db/schema-saved.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,4nBAU3B,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Saved views, searches, and dashboards per project; and share links to a page (a snapshot of its numbers), not only a trace.
2
+ export const SAVED_MIGRATION = `
3
+ CREATE TABLE saved_items (
4
+ id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, owner_id TEXT NOT NULL, kind TEXT NOT NULL,
5
+ name TEXT NOT NULL, shared BOOLEAN NOT NULL DEFAULT FALSE, body TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL, updated_ms DOUBLE PRECISION NOT NULL
6
+ );
7
+ CREATE INDEX ix_saved_items_project ON saved_items (project_id);
8
+ ALTER TABLE shares ADD COLUMN page TEXT NOT NULL DEFAULT '';
9
+ ALTER TABLE shares ADD COLUMN title TEXT NOT NULL DEFAULT '';
10
+ ALTER TABLE shares ADD COLUMN snapshot TEXT;
11
+ ALTER TABLE shares ADD COLUMN params TEXT NOT NULL DEFAULT '{}';
12
+ `;
13
+ //# sourceMappingURL=schema-saved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-saved.js","sourceRoot":"","sources":["../../src/db/schema-saved.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAC9H,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;CAU9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SCIM_MIGRATION = "\nCREATE TABLE scim_connection_bindings (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, connection_key TEXT NOT NULL UNIQUE, provisioning_domain_id TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL, decommissioned_at TIMESTAMPTZ, decommission_status TEXT NOT NULL, decommission_cursor_user_id TEXT, decommission_reconciled_user_count INTEGER NOT NULL, decommission_batch_count INTEGER NOT NULL, decommission_revision INTEGER NOT NULL, decommission_completed_at TIMESTAMPTZ, decommission_lease_id TEXT, decommission_lease_expires_at TIMESTAMPTZ);\nCREATE TABLE scim_identity_tombstones (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, external_id TEXT NOT NULL, external_id_key TEXT NOT NULL UNIQUE, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE, profile TEXT NOT NULL, deleted_at TIMESTAMPTZ NOT NULL);\nCREATE TABLE scim_subjects (id TEXT NOT NULL PRIMARY KEY, user_id TEXT NOT NULL UNIQUE REFERENCES users (id) ON DELETE CASCADE, profile_source_id TEXT, revision INTEGER NOT NULL, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);\nCREATE TABLE scim_users (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE, connection_user_key TEXT NOT NULL UNIQUE, user_name TEXT NOT NULL, user_name_key TEXT NOT NULL UNIQUE, primary_email TEXT NOT NULL, work_email_value_index TEXT NOT NULL, email_value_index TEXT NOT NULL, display_name TEXT NOT NULL, formatted_name TEXT NOT NULL, given_name TEXT, family_name TEXT, serialized_emails TEXT NOT NULL, serialized_attributes TEXT, external_id TEXT, external_id_key TEXT UNIQUE, active BOOLEAN NOT NULL, order_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);\nCREATE TABLE scim_projection_grants (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, scim_user_id TEXT NOT NULL REFERENCES scim_users (id) ON DELETE CASCADE, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE, source_kind TEXT NOT NULL, source_id TEXT NOT NULL, source_value TEXT, role TEXT NOT NULL, grant_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);\nCREATE TABLE scim_groups (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, revision INTEGER NOT NULL, display_name TEXT NOT NULL, display_name_key TEXT NOT NULL UNIQUE, external_id TEXT, external_id_key TEXT UNIQUE, order_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);\nCREATE TABLE scim_group_members (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, group_id TEXT NOT NULL REFERENCES scim_groups (id) ON DELETE CASCADE, scim_user_id TEXT NOT NULL REFERENCES scim_users (id) ON DELETE CASCADE, membership_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL);\nCREATE INDEX scim_connection_bindings_connection_id_idx ON scim_connection_bindings (connection_id);\nCREATE INDEX scim_identity_tombstones_connection_id_idx ON scim_identity_tombstones (connection_id);\nCREATE INDEX scim_identity_tombstones_provisioning_domain_id_idx ON scim_identity_tombstones (provisioning_domain_id);\nCREATE INDEX scim_identity_tombstones_user_id_idx ON scim_identity_tombstones (user_id);\nCREATE INDEX scim_subjects_profile_source_id_idx ON scim_subjects (profile_source_id);\nCREATE INDEX scim_users_connection_id_idx ON scim_users (connection_id);\nCREATE INDEX scim_users_provisioning_domain_id_idx ON scim_users (provisioning_domain_id);\nCREATE INDEX scim_users_user_id_idx ON scim_users (user_id);\nCREATE INDEX scim_projection_grants_connection_id_idx ON scim_projection_grants (connection_id);\nCREATE INDEX scim_projection_grants_provisioning_domain_id_idx ON scim_projection_grants (provisioning_domain_id);\nCREATE INDEX scim_projection_grants_scim_user_id_idx ON scim_projection_grants (scim_user_id);\nCREATE INDEX scim_projection_grants_user_id_idx ON scim_projection_grants (user_id);\nCREATE INDEX scim_groups_connection_id_idx ON scim_groups (connection_id);\nCREATE INDEX scim_groups_provisioning_domain_id_idx ON scim_groups (provisioning_domain_id);\nCREATE INDEX scim_group_members_connection_id_idx ON scim_group_members (connection_id);\nCREATE INDEX scim_group_members_group_id_idx ON scim_group_members (group_id);\nCREATE INDEX scim_group_members_scim_user_id_idx ON scim_group_members (scim_user_id);\n";
2
+ //# sourceMappingURL=schema-scim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-scim.d.ts","sourceRoot":"","sources":["../../src/db/schema-scim.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,k7IAyB1B,CAAC"}
@@ -0,0 +1,28 @@
1
+ // Migration 15: SCIM provisioning (Better Auth's SCIM plugin, tables renamed to snake_case in auth/scim.ts). Tokens are in scim_tokens.
2
+ export const SCIM_MIGRATION = `
3
+ CREATE TABLE scim_connection_bindings (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, connection_key TEXT NOT NULL UNIQUE, provisioning_domain_id TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL, decommissioned_at TIMESTAMPTZ, decommission_status TEXT NOT NULL, decommission_cursor_user_id TEXT, decommission_reconciled_user_count INTEGER NOT NULL, decommission_batch_count INTEGER NOT NULL, decommission_revision INTEGER NOT NULL, decommission_completed_at TIMESTAMPTZ, decommission_lease_id TEXT, decommission_lease_expires_at TIMESTAMPTZ);
4
+ CREATE TABLE scim_identity_tombstones (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, external_id TEXT NOT NULL, external_id_key TEXT NOT NULL UNIQUE, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE, profile TEXT NOT NULL, deleted_at TIMESTAMPTZ NOT NULL);
5
+ CREATE TABLE scim_subjects (id TEXT NOT NULL PRIMARY KEY, user_id TEXT NOT NULL UNIQUE REFERENCES users (id) ON DELETE CASCADE, profile_source_id TEXT, revision INTEGER NOT NULL, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);
6
+ CREATE TABLE scim_users (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE, connection_user_key TEXT NOT NULL UNIQUE, user_name TEXT NOT NULL, user_name_key TEXT NOT NULL UNIQUE, primary_email TEXT NOT NULL, work_email_value_index TEXT NOT NULL, email_value_index TEXT NOT NULL, display_name TEXT NOT NULL, formatted_name TEXT NOT NULL, given_name TEXT, family_name TEXT, serialized_emails TEXT NOT NULL, serialized_attributes TEXT, external_id TEXT, external_id_key TEXT UNIQUE, active BOOLEAN NOT NULL, order_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);
7
+ CREATE TABLE scim_projection_grants (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, scim_user_id TEXT NOT NULL REFERENCES scim_users (id) ON DELETE CASCADE, user_id TEXT NOT NULL REFERENCES users (id) ON DELETE CASCADE, source_kind TEXT NOT NULL, source_id TEXT NOT NULL, source_value TEXT, role TEXT NOT NULL, grant_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);
8
+ CREATE TABLE scim_groups (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, provisioning_domain_id TEXT NOT NULL, revision INTEGER NOT NULL, display_name TEXT NOT NULL, display_name_key TEXT NOT NULL UNIQUE, external_id TEXT, external_id_key TEXT UNIQUE, order_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ NOT NULL);
9
+ CREATE TABLE scim_group_members (id TEXT NOT NULL PRIMARY KEY, connection_id TEXT NOT NULL, group_id TEXT NOT NULL REFERENCES scim_groups (id) ON DELETE CASCADE, scim_user_id TEXT NOT NULL REFERENCES scim_users (id) ON DELETE CASCADE, membership_key TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL);
10
+ CREATE INDEX scim_connection_bindings_connection_id_idx ON scim_connection_bindings (connection_id);
11
+ CREATE INDEX scim_identity_tombstones_connection_id_idx ON scim_identity_tombstones (connection_id);
12
+ CREATE INDEX scim_identity_tombstones_provisioning_domain_id_idx ON scim_identity_tombstones (provisioning_domain_id);
13
+ CREATE INDEX scim_identity_tombstones_user_id_idx ON scim_identity_tombstones (user_id);
14
+ CREATE INDEX scim_subjects_profile_source_id_idx ON scim_subjects (profile_source_id);
15
+ CREATE INDEX scim_users_connection_id_idx ON scim_users (connection_id);
16
+ CREATE INDEX scim_users_provisioning_domain_id_idx ON scim_users (provisioning_domain_id);
17
+ CREATE INDEX scim_users_user_id_idx ON scim_users (user_id);
18
+ CREATE INDEX scim_projection_grants_connection_id_idx ON scim_projection_grants (connection_id);
19
+ CREATE INDEX scim_projection_grants_provisioning_domain_id_idx ON scim_projection_grants (provisioning_domain_id);
20
+ CREATE INDEX scim_projection_grants_scim_user_id_idx ON scim_projection_grants (scim_user_id);
21
+ CREATE INDEX scim_projection_grants_user_id_idx ON scim_projection_grants (user_id);
22
+ CREATE INDEX scim_groups_connection_id_idx ON scim_groups (connection_id);
23
+ CREATE INDEX scim_groups_provisioning_domain_id_idx ON scim_groups (provisioning_domain_id);
24
+ CREATE INDEX scim_group_members_connection_id_idx ON scim_group_members (connection_id);
25
+ CREATE INDEX scim_group_members_group_id_idx ON scim_group_members (group_id);
26
+ CREATE INDEX scim_group_members_scim_user_id_idx ON scim_group_members (scim_user_id);
27
+ `;
28
+ //# sourceMappingURL=schema-scim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-scim.js","sourceRoot":"","sources":["../../src/db/schema-scim.ts"],"names":[],"mappings":"AAAA,wIAAwI;AACxI,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SEARCH_MIGRATION = "\nCREATE TABLE fact_search (\n project_id TEXT NOT NULL, kind TEXT NOT NULL, trace_id TEXT NOT NULL, owner TEXT NOT NULL, env TEXT NOT NULL DEFAULT '', time_ms DOUBLE PRECISION NOT NULL,\n span_id TEXT, service TEXT NOT NULL, name TEXT, method TEXT, path TEXT, route TEXT, status INTEGER, outcome TEXT, duration_ms DOUBLE PRECISION,\n level_rank SMALLINT, category TEXT, span_kind TEXT, end_user TEXT, error BOOLEAN NOT NULL, message TEXT, text TEXT NOT NULL,\n PRIMARY KEY (project_id, kind, trace_id, owner)\n);\nCREATE INDEX ix_fact_search_time ON fact_search (project_id, kind, time_ms);\nCREATE TABLE fact_attrs (\n project_id TEXT NOT NULL, trace_id TEXT NOT NULL, src TEXT NOT NULL, owner TEXT NOT NULL, key TEXT NOT NULL, value TEXT NOT NULL, num DOUBLE PRECISION\n);\nCREATE INDEX ix_fact_attrs_trace ON fact_attrs (project_id, trace_id, src, owner, key);\nCREATE INDEX ix_fact_attrs_key ON fact_attrs (project_id, key, value);\n";
2
+ //# sourceMappingURL=schema-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-search.d.ts","sourceRoot":"","sources":["../../src/db/schema-search.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,o7BAa5B,CAAC"}
@@ -0,0 +1,16 @@
1
+ // Migration 8: search rows (one per request, trace, span, and log line) and attribute values, built when traces settle.
2
+ export const SEARCH_MIGRATION = `
3
+ CREATE TABLE fact_search (
4
+ project_id TEXT NOT NULL, kind TEXT NOT NULL, trace_id TEXT NOT NULL, owner TEXT NOT NULL, env TEXT NOT NULL DEFAULT '', time_ms DOUBLE PRECISION NOT NULL,
5
+ span_id TEXT, service TEXT NOT NULL, name TEXT, method TEXT, path TEXT, route TEXT, status INTEGER, outcome TEXT, duration_ms DOUBLE PRECISION,
6
+ level_rank SMALLINT, category TEXT, span_kind TEXT, end_user TEXT, error BOOLEAN NOT NULL, message TEXT, text TEXT NOT NULL,
7
+ PRIMARY KEY (project_id, kind, trace_id, owner)
8
+ );
9
+ CREATE INDEX ix_fact_search_time ON fact_search (project_id, kind, time_ms);
10
+ CREATE TABLE fact_attrs (
11
+ project_id TEXT NOT NULL, trace_id TEXT NOT NULL, src TEXT NOT NULL, owner TEXT NOT NULL, key TEXT NOT NULL, value TEXT NOT NULL, num DOUBLE PRECISION
12
+ );
13
+ CREATE INDEX ix_fact_attrs_trace ON fact_attrs (project_id, trace_id, src, owner, key);
14
+ CREATE INDEX ix_fact_attrs_key ON fact_attrs (project_id, key, value);
15
+ `;
16
+ //# sourceMappingURL=schema-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-search.js","sourceRoot":"","sources":["../../src/db/schema-search.ts"],"names":[],"mappings":"AAAA,wHAAwH;AACxH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SLOS_MIGRATION = "\nCREATE TABLE slos (\n id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, name TEXT NOT NULL, service TEXT NOT NULL,\n endpoint TEXT NOT NULL DEFAULT '', kind TEXT NOT NULL, target DOUBLE PRECISION NOT NULL, threshold_ms DOUBLE PRECISION NOT NULL DEFAULT 0,\n window_days INTEGER NOT NULL, created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL\n);\nCREATE INDEX ix_slos_project ON slos (project_id);\nCREATE TABLE apdex_targets (project_id TEXT PRIMARY KEY REFERENCES projects (id) ON DELETE CASCADE, targets TEXT NOT NULL);\nALTER TABLE alert_rules ADD COLUMN slo_id TEXT NOT NULL DEFAULT '';\n";
2
+ //# sourceMappingURL=schema-slos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-slos.d.ts","sourceRoot":"","sources":["../../src/db/schema-slos.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,4oBAS1B,CAAC"}
@@ -0,0 +1,12 @@
1
+ // SLOs and Apdex targets per project, and alert rules that watch an SLO's burn rate.
2
+ export const SLOS_MIGRATION = `
3
+ CREATE TABLE slos (
4
+ id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, name TEXT NOT NULL, service TEXT NOT NULL,
5
+ endpoint TEXT NOT NULL DEFAULT '', kind TEXT NOT NULL, target DOUBLE PRECISION NOT NULL, threshold_ms DOUBLE PRECISION NOT NULL DEFAULT 0,
6
+ window_days INTEGER NOT NULL, created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL
7
+ );
8
+ CREATE INDEX ix_slos_project ON slos (project_id);
9
+ CREATE TABLE apdex_targets (project_id TEXT PRIMARY KEY REFERENCES projects (id) ON DELETE CASCADE, targets TEXT NOT NULL);
10
+ ALTER TABLE alert_rules ADD COLUMN slo_id TEXT NOT NULL DEFAULT '';
11
+ `;
12
+ //# sourceMappingURL=schema-slos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-slos.js","sourceRoot":"","sources":["../../src/db/schema-slos.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;CAS7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SOURCEMAPS_MIGRATION = "\nCREATE TABLE sourcemaps (\n project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE, release TEXT NOT NULL, file TEXT NOT NULL,\n map BYTEA NOT NULL, bytes INTEGER NOT NULL, uploaded_ms DOUBLE PRECISION NOT NULL, PRIMARY KEY (project_id, release, file)\n);\nCREATE INDEX sourcemaps_uploaded_idx ON sourcemaps (project_id, uploaded_ms);\n";
2
+ //# sourceMappingURL=schema-sourcemaps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-sourcemaps.d.ts","sourceRoot":"","sources":["../../src/db/schema-sourcemaps.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,qWAMhC,CAAC"}
@@ -0,0 +1,9 @@
1
+ // Migration 18: browser source maps per project, release, and generated file, kept gzipped (docs/CONTRACT.md, "Source maps").
2
+ export const SOURCEMAPS_MIGRATION = `
3
+ CREATE TABLE sourcemaps (
4
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE, release TEXT NOT NULL, file TEXT NOT NULL,
5
+ map BYTEA NOT NULL, bytes INTEGER NOT NULL, uploaded_ms DOUBLE PRECISION NOT NULL, PRIMARY KEY (project_id, release, file)
6
+ );
7
+ CREATE INDEX sourcemaps_uploaded_idx ON sourcemaps (project_id, uploaded_ms);
8
+ `;
9
+ //# sourceMappingURL=schema-sourcemaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-sourcemaps.js","sourceRoot":"","sources":["../../src/db/schema-sourcemaps.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAC9H,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;CAMnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const TAGS_MIGRATION = "\nCREATE TABLE tag_rules (\n project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE, id TEXT NOT NULL, name TEXT NOT NULL, color TEXT NOT NULL,\n query TEXT NOT NULL, created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL, updated_ms DOUBLE PRECISION NOT NULL,\n PRIMARY KEY (project_id, id), UNIQUE (project_id, name)\n);\nCREATE TABLE tag_builtins (\n project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE, name TEXT NOT NULL, enabled BOOLEAN NOT NULL, PRIMARY KEY (project_id, name)\n);\n";
2
+ //# sourceMappingURL=schema-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-tags.d.ts","sourceRoot":"","sources":["../../src/db/schema-tags.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,qhBAS1B,CAAC"}
@@ -0,0 +1,12 @@
1
+ // Migration 16: tag rules per project, and the built-in tags a project turned off (docs/TAGS-PLAN.md). Settings, never telemetry.
2
+ export const TAGS_MIGRATION = `
3
+ CREATE TABLE tag_rules (
4
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE, id TEXT NOT NULL, name TEXT NOT NULL, color TEXT NOT NULL,
5
+ query TEXT NOT NULL, created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL, updated_ms DOUBLE PRECISION NOT NULL,
6
+ PRIMARY KEY (project_id, id), UNIQUE (project_id, name)
7
+ );
8
+ CREATE TABLE tag_builtins (
9
+ project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE, name TEXT NOT NULL, enabled BOOLEAN NOT NULL, PRIMARY KEY (project_id, name)
10
+ );
11
+ `;
12
+ //# sourceMappingURL=schema-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-tags.js","sourceRoot":"","sources":["../../src/db/schema-tags.ts"],"names":[],"mappings":"AAAA,kIAAkI;AAClI,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;CAS7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const TEAM_MIGRATION = "\nALTER TABLE projects ADD COLUMN settings TEXT NOT NULL DEFAULT '{}';\nALTER TABLE projects ADD COLUMN retention_days INTEGER;\nCREATE TABLE project_roles (\n project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, user_id TEXT NOT NULL, role TEXT NOT NULL,\n PRIMARY KEY (project_id, user_id)\n);\nCREATE INDEX ix_project_roles_user ON project_roles (user_id);\nALTER TABLE api_keys ADD COLUMN expires_ms DOUBLE PRECISION;\nALTER TABLE api_keys ADD COLUMN scopes TEXT;\nALTER TABLE api_keys ADD COLUMN rotated_from TEXT;\nCREATE INDEX ix_audit_org_action ON audit (org_id, action, time_ms);\n";
2
+ //# sourceMappingURL=schema-team.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-team.d.ts","sourceRoot":"","sources":["../../src/db/schema-team.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,smBAY1B,CAAC"}
@@ -0,0 +1,15 @@
1
+ // Project settings (thresholds, extra redacted keys, a shorter retention), roles per project, key expiry and scopes, and audit filters.
2
+ export const TEAM_MIGRATION = `
3
+ ALTER TABLE projects ADD COLUMN settings TEXT NOT NULL DEFAULT '{}';
4
+ ALTER TABLE projects ADD COLUMN retention_days INTEGER;
5
+ CREATE TABLE project_roles (
6
+ project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, user_id TEXT NOT NULL, role TEXT NOT NULL,
7
+ PRIMARY KEY (project_id, user_id)
8
+ );
9
+ CREATE INDEX ix_project_roles_user ON project_roles (user_id);
10
+ ALTER TABLE api_keys ADD COLUMN expires_ms DOUBLE PRECISION;
11
+ ALTER TABLE api_keys ADD COLUMN scopes TEXT;
12
+ ALTER TABLE api_keys ADD COLUMN rotated_from TEXT;
13
+ CREATE INDEX ix_audit_org_action ON audit (org_id, action, time_ms);
14
+ `;
15
+ //# sourceMappingURL=schema-team.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-team.js","sourceRoot":"","sources":["../../src/db/schema-team.ts"],"names":[],"mappings":"AAAA,wIAAwI;AACxI,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;CAY7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const UPTIME_MIGRATION = "\nCREATE TABLE uptime_checks (\n id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, name TEXT NOT NULL, url TEXT NOT NULL,\n method TEXT NOT NULL, headers TEXT NOT NULL, expect_status TEXT NOT NULL, expect_body TEXT NOT NULL, interval_min INTEGER NOT NULL,\n timeout_ms INTEGER NOT NULL, env TEXT NOT NULL DEFAULT '', enabled BOOLEAN NOT NULL, created_by TEXT NOT NULL,\n created_ms DOUBLE PRECISION NOT NULL, state TEXT NOT NULL DEFAULT 'pending', last_run_ms DOUBLE PRECISION,\n last_duration_ms DOUBLE PRECISION, last_status INTEGER, last_error TEXT, tls_expires_ms DOUBLE PRECISION, next_ms DOUBLE PRECISION NOT NULL\n);\nCREATE INDEX ix_uptime_checks_project ON uptime_checks (project_id);\nCREATE INDEX ix_uptime_checks_due ON uptime_checks (next_ms) WHERE enabled;\nCREATE TABLE uptime_incidents (\n id TEXT PRIMARY KEY, check_id TEXT NOT NULL REFERENCES uptime_checks (id) ON DELETE CASCADE, project_id TEXT NOT NULL,\n start_ms DOUBLE PRECISION NOT NULL, end_ms DOUBLE PRECISION, reason TEXT NOT NULL\n);\nCREATE INDEX ix_uptime_incidents_project ON uptime_incidents (project_id, start_ms);\nCREATE TABLE status_pages (\n project_id TEXT PRIMARY KEY REFERENCES projects (id) ON DELETE CASCADE, token_hash TEXT NOT NULL UNIQUE, title TEXT NOT NULL,\n created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL, views INTEGER NOT NULL DEFAULT 0\n);\n";
2
+ //# sourceMappingURL=schema-uptime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-uptime.d.ts","sourceRoot":"","sources":["../../src/db/schema-uptime.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,s4CAmB5B,CAAC"}
@@ -0,0 +1,22 @@
1
+ // Migration 17: uptime checks, their incidents, and public status pages. Results are spans of the wizelens-uptime service.
2
+ export const UPTIME_MIGRATION = `
3
+ CREATE TABLE uptime_checks (
4
+ id TEXT PRIMARY KEY, project_id TEXT NOT NULL REFERENCES projects (id) ON DELETE CASCADE, name TEXT NOT NULL, url TEXT NOT NULL,
5
+ method TEXT NOT NULL, headers TEXT NOT NULL, expect_status TEXT NOT NULL, expect_body TEXT NOT NULL, interval_min INTEGER NOT NULL,
6
+ timeout_ms INTEGER NOT NULL, env TEXT NOT NULL DEFAULT '', enabled BOOLEAN NOT NULL, created_by TEXT NOT NULL,
7
+ created_ms DOUBLE PRECISION NOT NULL, state TEXT NOT NULL DEFAULT 'pending', last_run_ms DOUBLE PRECISION,
8
+ last_duration_ms DOUBLE PRECISION, last_status INTEGER, last_error TEXT, tls_expires_ms DOUBLE PRECISION, next_ms DOUBLE PRECISION NOT NULL
9
+ );
10
+ CREATE INDEX ix_uptime_checks_project ON uptime_checks (project_id);
11
+ CREATE INDEX ix_uptime_checks_due ON uptime_checks (next_ms) WHERE enabled;
12
+ CREATE TABLE uptime_incidents (
13
+ id TEXT PRIMARY KEY, check_id TEXT NOT NULL REFERENCES uptime_checks (id) ON DELETE CASCADE, project_id TEXT NOT NULL,
14
+ start_ms DOUBLE PRECISION NOT NULL, end_ms DOUBLE PRECISION, reason TEXT NOT NULL
15
+ );
16
+ CREATE INDEX ix_uptime_incidents_project ON uptime_incidents (project_id, start_ms);
17
+ CREATE TABLE status_pages (
18
+ project_id TEXT PRIMARY KEY REFERENCES projects (id) ON DELETE CASCADE, token_hash TEXT NOT NULL UNIQUE, title TEXT NOT NULL,
19
+ created_by TEXT NOT NULL, created_ms DOUBLE PRECISION NOT NULL, views INTEGER NOT NULL DEFAULT 0
20
+ );
21
+ `;
22
+ //# sourceMappingURL=schema-uptime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-uptime.js","sourceRoot":"","sources":["../../src/db/schema-uptime.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAC3H,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;CAmB/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAwMvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,uHAAuH,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EA0NvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,uHAAuH,CAAC"}
package/dist/db/schema.js CHANGED
@@ -1,7 +1,21 @@
1
+ import { ALERTS2_MIGRATION } from "./schema-alerts.js";
1
2
  import { AUTH_MIGRATION } from "./schema-auth.js";
3
+ import { LOGS_MIGRATION } from "./schema-logs.js";
4
+ import { BILLING_MIGRATION } from "./schema-billing.js";
2
5
  import { MAIL_MIGRATION } from "./schema-mail.js";
3
6
  import { NOTIFY_MIGRATION } from "./schema-notify.js";
7
+ import { ISSUES_MIGRATION } from "./schema-issues.js";
8
+ import { OAUTH_MIGRATION } from "./schema-oauth.js";
9
+ import { SAVED_MIGRATION } from "./schema-saved.js";
10
+ import { SCIM_MIGRATION } from "./schema-scim.js";
11
+ import { SEARCH_MIGRATION } from "./schema-search.js";
12
+ import { SOURCEMAPS_MIGRATION } from "./schema-sourcemaps.js";
13
+ import { SLOS_MIGRATION } from "./schema-slos.js";
4
14
  import { SSO_MIGRATION } from "./schema-sso.js";
15
+ import { UPTIME_MIGRATION } from "./schema-uptime.js";
16
+ import { TAGS_MIGRATION } from "./schema-tags.js";
17
+ import { TEAM_MIGRATION } from "./schema-team.js";
18
+ import { SAVED_MOVE_MIGRATION } from "./schema-saved-move.js";
5
19
  // Cloud schema, one entry per version. Never edit a shipped entry: add a new one (docs/CONTRACT.md, "Cloud storage").
6
20
  export const MIGRATIONS = [
7
21
  `
@@ -203,6 +217,24 @@ CREATE INDEX ix_metric_1h_time ON metric_1h (project_id, bucket_ms);
203
217
  SSO_MIGRATION,
204
218
  MAIL_MIGRATION,
205
219
  NOTIFY_MIGRATION,
220
+ SEARCH_MIGRATION,
221
+ OAUTH_MIGRATION,
222
+ ISSUES_MIGRATION,
223
+ ALERTS2_MIGRATION,
224
+ SLOS_MIGRATION,
225
+ SAVED_MIGRATION,
226
+ BILLING_MIGRATION,
227
+ SCIM_MIGRATION,
228
+ TAGS_MIGRATION,
229
+ UPTIME_MIGRATION,
230
+ SOURCEMAPS_MIGRATION,
231
+ LOGS_MIGRATION,
232
+ // Migration 20: an alert event names the problem it is part of (docs/CONTRACT.md, "Problems").
233
+ `
234
+ ALTER TABLE alert_events ADD COLUMN problem TEXT NOT NULL DEFAULT '';
235
+ `,
236
+ TEAM_MIGRATION,
237
+ SAVED_MOVE_MIGRATION,
206
238
  ];
207
239
  export const MIGRATIONS_TABLE = `CREATE TABLE IF NOT EXISTS wizelens_migrations (version INTEGER PRIMARY KEY, applied_ms DOUBLE PRECISION NOT NULL)`;
208
240
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,sHAAsH;AACtH,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ED;IACC;;;;;;;;;;CAUD;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGD;IACC,cAAc;IACd,aAAa;IACb,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oHAAoH,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,sHAAsH;AACtH,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ED;IACC;;;;;;;;;;CAUD;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGD;IACC,cAAc;IACd,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,+FAA+F;IAC/F;;CAED;IACC,cAAc;IACd,oBAAoB;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oHAAoH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Db } from "./db.js";
2
+ /** Add pg_trgm and the indexes, with no time limit (a big table takes minutes). False when the database has no pg_trgm. */
3
+ export declare function ensureTrigram(db: Db): Promise<boolean>;
4
+ //# sourceMappingURL=trigram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigram.d.ts","sourceRoot":"","sources":["../../src/db/trigram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAa,MAAM,SAAS,CAAC;AAc7C,2HAA2H;AAC3H,wBAAsB,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB5D"}
@@ -0,0 +1,34 @@
1
+ // Best effort (docs/SEARCH-PLAN.md, small mode): with pg_trgm, "contains" searches read GIN trigram indexes; without it they scan the time window.
2
+ const COLUMNS = [["fact_search", "text"], ["fact_requests", "search"], ["fact_traces", "search"], ["fact_logs", "search"]];
3
+ /** One index, built without blocking writes; a half-built one from a stopped run is dropped first. */
4
+ async function buildIndex(q, table, col) {
5
+ const name = `ix_${table}_trgm`;
6
+ const [old] = await q.query("SELECT i.indisvalid AS valid FROM pg_index i JOIN pg_class c ON c.oid = i.indexrelid WHERE c.relname = $1", [name]);
7
+ if (old?.valid)
8
+ return;
9
+ if (old)
10
+ await q.query(`DROP INDEX CONCURRENTLY IF EXISTS ${name}`);
11
+ await q.query(`CREATE INDEX CONCURRENTLY IF NOT EXISTS ${name} ON ${table} USING gin (${col} gin_trgm_ops)`);
12
+ }
13
+ /** Add pg_trgm and the indexes, with no time limit (a big table takes minutes). False when the database has no pg_trgm. */
14
+ export async function ensureTrigram(db) {
15
+ return db.session(async (q) => {
16
+ try {
17
+ await q.query("CREATE EXTENSION IF NOT EXISTS pg_trgm");
18
+ }
19
+ catch (err) {
20
+ console.warn(`pg_trgm is not available, so text searches scan the time window: ${err instanceof Error ? err.message : String(err)}`);
21
+ return false;
22
+ }
23
+ await q.query("SET statement_timeout = 0");
24
+ try {
25
+ for (const [table, col] of COLUMNS)
26
+ await buildIndex(q, table, col);
27
+ }
28
+ finally {
29
+ await q.query("RESET statement_timeout");
30
+ }
31
+ return true;
32
+ });
33
+ }
34
+ //# sourceMappingURL=trigram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigram.js","sourceRoot":"","sources":["../../src/db/trigram.ts"],"names":[],"mappings":"AAEA,mJAAmJ;AACnJ,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAU,CAAC;AAEpI,sGAAsG;AACtG,KAAK,UAAU,UAAU,CAAC,CAAY,EAAE,KAAa,EAAE,GAAW;IAChE,MAAM,IAAI,GAAG,MAAM,KAAK,OAAO,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAqB,2GAA2G,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACrK,IAAI,GAAG,EAAE,KAAK;QAAE,OAAO;IACvB,IAAI,GAAG;QAAE,MAAM,CAAC,CAAC,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,CAAC,KAAK,CAAC,2CAA2C,IAAI,OAAO,KAAK,eAAe,GAAG,gBAAgB,CAAC,CAAC;AAC/G,CAAC;AAED,2HAA2H;AAC3H,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAM;IACxC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,oEAAoE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrI,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO;gBAAE,MAAM,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,7 +2,11 @@ import type { IncomingMessage, ServerResponse } from "node:http";
2
2
  /** A failure that becomes one JSON error answer. */
3
3
  export declare class HttpError extends Error {
4
4
  readonly status: number;
5
- constructor(status: number, message: string);
5
+ /** More fields for the JSON answer, for example the plan a 402 needs. */
6
+ readonly extra: Record<string, unknown>;
7
+ constructor(status: number, message: string,
8
+ /** More fields for the JSON answer, for example the plan a 402 needs. */
9
+ extra?: Record<string, unknown>);
6
10
  }
7
11
  export declare const fail: (status: number, message: string) => never;
8
12
  export declare function sendJson(res: ServerResponse, status: number, value: unknown, headers?: Record<string, string | string[]>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIjE,oDAAoD;AACpD,qBAAa,SAAU,SAAQ,KAAK;IAEhC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADzB,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAGhB;CACF;AAED,eAAO,MAAM,IAAI,WAAY,MAAM,WAAW,MAAM,KAAG,KAEtD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAAG,IAAI,CAGnI;AAED,4EAA4E;AAC5E,wBAAsB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAUvE;AAED,oEAAoE;AACpE,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASzF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM/E;AAED,wFAAwF;AACxF,eAAO,MAAM,MAAM,SAAU,MAAM,SAAS,MAAM,WAAW,MAAM,UAAU,OAAO,KAAG,MACgC,CAAC;AAExH,eAAO,MAAM,QAAQ,QAAS,eAAe,KAAG,MAAM,GAAG,SAGxD,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAKvF"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIjE,oDAAoD;AACpD,qBAAa,SAAU,SAAQ,KAAK;IAEhC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAEvB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAJzC,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM;IACf,yEAAyE;IAChE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAG7C;CACF;AAED,eAAO,MAAM,IAAI,WAAY,MAAM,WAAW,MAAM,KAAG,KAEtD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAAG,IAAI,CAGnI;AAED,4EAA4E;AAC5E,wBAAsB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAUvE;AAED,oEAAoE;AACpE,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASzF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM/E;AAED,wFAAwF;AACxF,eAAO,MAAM,MAAM,SAAU,MAAM,SAAS,MAAM,WAAW,MAAM,UAAU,OAAO,KAAG,MACgC,CAAC;AAExH,eAAO,MAAM,QAAQ,QAAS,eAAe,KAAG,MAAM,GAAG,SAGxD,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAKvF"}
package/dist/http/http.js CHANGED
@@ -2,9 +2,13 @@ const MAX_JSON = 1024 * 1024;
2
2
  /** A failure that becomes one JSON error answer. */
3
3
  export class HttpError extends Error {
4
4
  status;
5
- constructor(status, message) {
5
+ extra;
6
+ constructor(status, message,
7
+ /** More fields for the JSON answer, for example the plan a 402 needs. */
8
+ extra = {}) {
6
9
  super(message);
7
10
  this.status = status;
11
+ this.extra = extra;
8
12
  }
9
13
  }
10
14
  export const fail = (status, message) => {
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"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"}
package/dist/jobs.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import type { CloudApp } from "./app.js";
2
- /** Background work: retention, stats, rollups, sessions, alert rules, team and health notices, and digests. Returns a function that stops it. */
2
+ /** Background work: retention, old services, stats, rollups, sessions, alert rules, team and health notices, digests, uptime checks, usage, and the Stripe meter. Returns a function that stops it. */
3
3
  export declare function startJobs(app: CloudApp): () => void;
4
4
  //# sourceMappingURL=jobs.d.ts.map