@digimuza/saas-core 0.0.2

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 (474) hide show
  1. package/CLAUDE.md +1165 -0
  2. package/LICENSE +21 -0
  3. package/README.md +234 -0
  4. package/dist/api-keys/index.d.ts +9 -0
  5. package/dist/api-keys/index.d.ts.map +1 -0
  6. package/dist/api-keys/index.js +37 -0
  7. package/dist/api-keys/index.js.map +1 -0
  8. package/dist/api-keys/keys.d.ts +55 -0
  9. package/dist/api-keys/keys.d.ts.map +1 -0
  10. package/dist/api-keys/keys.js +92 -0
  11. package/dist/api-keys/keys.js.map +1 -0
  12. package/dist/api-keys/service.d.ts +111 -0
  13. package/dist/api-keys/service.d.ts.map +1 -0
  14. package/dist/api-keys/service.js +210 -0
  15. package/dist/api-keys/service.js.map +1 -0
  16. package/dist/audit/index.d.ts +5 -0
  17. package/dist/audit/index.d.ts.map +1 -0
  18. package/dist/audit/index.js +44 -0
  19. package/dist/audit/index.js.map +1 -0
  20. package/dist/audit/service.d.ts +88 -0
  21. package/dist/audit/service.d.ts.map +1 -0
  22. package/dist/audit/service.js +128 -0
  23. package/dist/audit/service.js.map +1 -0
  24. package/dist/auth/client.d.ts +5 -0
  25. package/dist/auth/client.d.ts.map +1 -0
  26. package/dist/auth/client.js +26 -0
  27. package/dist/auth/client.js.map +1 -0
  28. package/dist/auth/cookies.d.ts +51 -0
  29. package/dist/auth/cookies.d.ts.map +1 -0
  30. package/dist/auth/cookies.js +58 -0
  31. package/dist/auth/cookies.js.map +1 -0
  32. package/dist/auth/index.d.ts +14 -0
  33. package/dist/auth/index.d.ts.map +1 -0
  34. package/dist/auth/index.js +46 -0
  35. package/dist/auth/index.js.map +1 -0
  36. package/dist/auth/service.d.ts +67 -0
  37. package/dist/auth/service.d.ts.map +1 -0
  38. package/dist/auth/service.js +275 -0
  39. package/dist/auth/service.js.map +1 -0
  40. package/dist/auth/types.d.ts +56 -0
  41. package/dist/auth/types.d.ts.map +1 -0
  42. package/dist/auth/types.js +2 -0
  43. package/dist/auth/types.js.map +1 -0
  44. package/dist/authorization/index.d.ts +4 -0
  45. package/dist/authorization/index.d.ts.map +1 -0
  46. package/dist/authorization/index.js +24 -0
  47. package/dist/authorization/index.js.map +1 -0
  48. package/dist/authorization/service.d.ts +92 -0
  49. package/dist/authorization/service.d.ts.map +1 -0
  50. package/dist/authorization/service.js +254 -0
  51. package/dist/authorization/service.js.map +1 -0
  52. package/dist/billing/index.d.ts +16 -0
  53. package/dist/billing/index.d.ts.map +1 -0
  54. package/dist/billing/index.js +47 -0
  55. package/dist/billing/index.js.map +1 -0
  56. package/dist/billing/provider.d.ts +114 -0
  57. package/dist/billing/provider.d.ts.map +1 -0
  58. package/dist/billing/provider.js +2 -0
  59. package/dist/billing/provider.js.map +1 -0
  60. package/dist/billing/revolut.d.ts +68 -0
  61. package/dist/billing/revolut.d.ts.map +1 -0
  62. package/dist/billing/revolut.js +181 -0
  63. package/dist/billing/revolut.js.map +1 -0
  64. package/dist/billing/service.d.ts +124 -0
  65. package/dist/billing/service.d.ts.map +1 -0
  66. package/dist/billing/service.js +470 -0
  67. package/dist/billing/service.js.map +1 -0
  68. package/dist/cli/commands/dev.d.ts +43 -0
  69. package/dist/cli/commands/dev.d.ts.map +1 -0
  70. package/dist/cli/commands/dev.js +212 -0
  71. package/dist/cli/commands/dev.js.map +1 -0
  72. package/dist/cli/commands/project.d.ts +12 -0
  73. package/dist/cli/commands/project.d.ts.map +1 -0
  74. package/dist/cli/commands/project.js +49 -0
  75. package/dist/cli/commands/project.js.map +1 -0
  76. package/dist/cli/docker.d.ts +50 -0
  77. package/dist/cli/docker.d.ts.map +1 -0
  78. package/dist/cli/docker.js +84 -0
  79. package/dist/cli/docker.js.map +1 -0
  80. package/dist/cli/index.d.ts +6 -0
  81. package/dist/cli/index.d.ts.map +1 -0
  82. package/dist/cli/index.js +198 -0
  83. package/dist/cli/index.js.map +1 -0
  84. package/dist/cli/output.d.ts +30 -0
  85. package/dist/cli/output.d.ts.map +1 -0
  86. package/dist/cli/output.js +66 -0
  87. package/dist/cli/output.js.map +1 -0
  88. package/dist/cli/templates.d.ts +52 -0
  89. package/dist/cli/templates.d.ts.map +1 -0
  90. package/dist/cli/templates.js +225 -0
  91. package/dist/cli/templates.js.map +1 -0
  92. package/dist/config/client.d.ts +60 -0
  93. package/dist/config/client.d.ts.map +1 -0
  94. package/dist/config/client.js +94 -0
  95. package/dist/config/client.js.map +1 -0
  96. package/dist/config/config-loader.d.ts +2 -0
  97. package/dist/config/config-loader.d.ts.map +1 -0
  98. package/dist/config/config-loader.js +2 -0
  99. package/dist/config/config-loader.js.map +1 -0
  100. package/dist/config/env.d.ts +24 -0
  101. package/dist/config/env.d.ts.map +1 -0
  102. package/dist/config/env.js +40 -0
  103. package/dist/config/env.js.map +1 -0
  104. package/dist/config/errors.d.ts +17 -0
  105. package/dist/config/errors.d.ts.map +1 -0
  106. package/dist/config/errors.js +26 -0
  107. package/dist/config/errors.js.map +1 -0
  108. package/dist/config/index.d.ts +72 -0
  109. package/dist/config/index.d.ts.map +1 -0
  110. package/dist/config/index.js +106 -0
  111. package/dist/config/index.js.map +1 -0
  112. package/dist/config/runtime.d.ts +15 -0
  113. package/dist/config/runtime.d.ts.map +1 -0
  114. package/dist/config/runtime.js +22 -0
  115. package/dist/config/runtime.js.map +1 -0
  116. package/dist/config/sections.d.ts +226 -0
  117. package/dist/config/sections.d.ts.map +1 -0
  118. package/dist/config/sections.js +141 -0
  119. package/dist/config/sections.js.map +1 -0
  120. package/dist/db/client.d.ts +43 -0
  121. package/dist/db/client.d.ts.map +1 -0
  122. package/dist/db/client.js +77 -0
  123. package/dist/db/client.js.map +1 -0
  124. package/dist/db/errors.d.ts +39 -0
  125. package/dist/db/errors.d.ts.map +1 -0
  126. package/dist/db/errors.js +67 -0
  127. package/dist/db/errors.js.map +1 -0
  128. package/dist/db/index.d.ts +10 -0
  129. package/dist/db/index.d.ts.map +1 -0
  130. package/dist/db/index.js +10 -0
  131. package/dist/db/index.js.map +1 -0
  132. package/dist/db/migrate.d.ts +21 -0
  133. package/dist/db/migrate.d.ts.map +1 -0
  134. package/dist/db/migrate.js +28 -0
  135. package/dist/db/migrate.js.map +1 -0
  136. package/dist/db/schema/_shared.d.ts +30 -0
  137. package/dist/db/schema/_shared.d.ts.map +1 -0
  138. package/dist/db/schema/_shared.js +36 -0
  139. package/dist/db/schema/_shared.js.map +1 -0
  140. package/dist/db/schema/apikeys.d.ts +263 -0
  141. package/dist/db/schema/apikeys.d.ts.map +1 -0
  142. package/dist/db/schema/apikeys.js +70 -0
  143. package/dist/db/schema/apikeys.js.map +1 -0
  144. package/dist/db/schema/authorization.d.ts +465 -0
  145. package/dist/db/schema/authorization.d.ts.map +1 -0
  146. package/dist/db/schema/authorization.js +134 -0
  147. package/dist/db/schema/authorization.js.map +1 -0
  148. package/dist/db/schema/billing.d.ts +1100 -0
  149. package/dist/db/schema/billing.d.ts.map +1 -0
  150. package/dist/db/schema/billing.js +223 -0
  151. package/dist/db/schema/billing.js.map +1 -0
  152. package/dist/db/schema/events.d.ts +161 -0
  153. package/dist/db/schema/events.d.ts.map +1 -0
  154. package/dist/db/schema/events.js +66 -0
  155. package/dist/db/schema/events.js.map +1 -0
  156. package/dist/db/schema/features.d.ts +243 -0
  157. package/dist/db/schema/features.d.ts.map +1 -0
  158. package/dist/db/schema/features.js +87 -0
  159. package/dist/db/schema/features.js.map +1 -0
  160. package/dist/db/schema/files.d.ts +253 -0
  161. package/dist/db/schema/files.d.ts.map +1 -0
  162. package/dist/db/schema/files.js +74 -0
  163. package/dist/db/schema/files.js.map +1 -0
  164. package/dist/db/schema/index.d.ts +38 -0
  165. package/dist/db/schema/index.d.ts.map +1 -0
  166. package/dist/db/schema/index.js +38 -0
  167. package/dist/db/schema/index.js.map +1 -0
  168. package/dist/db/schema/invitations.d.ts +214 -0
  169. package/dist/db/schema/invitations.d.ts.map +1 -0
  170. package/dist/db/schema/invitations.js +80 -0
  171. package/dist/db/schema/invitations.js.map +1 -0
  172. package/dist/db/schema/messaging.d.ts +442 -0
  173. package/dist/db/schema/messaging.d.ts.map +1 -0
  174. package/dist/db/schema/messaging.js +120 -0
  175. package/dist/db/schema/messaging.js.map +1 -0
  176. package/dist/db/schema/users.d.ts +246 -0
  177. package/dist/db/schema/users.d.ts.map +1 -0
  178. package/dist/db/schema/users.js +60 -0
  179. package/dist/db/schema/users.js.map +1 -0
  180. package/dist/db/schema/webhooks.d.ts +693 -0
  181. package/dist/db/schema/webhooks.d.ts.map +1 -0
  182. package/dist/db/schema/webhooks.js +147 -0
  183. package/dist/db/schema/webhooks.js.map +1 -0
  184. package/dist/db/schema/workspaces.d.ts +196 -0
  185. package/dist/db/schema/workspaces.d.ts.map +1 -0
  186. package/dist/db/schema/workspaces.js +57 -0
  187. package/dist/db/schema/workspaces.js.map +1 -0
  188. package/dist/db/types.d.ts +18 -0
  189. package/dist/db/types.d.ts.map +1 -0
  190. package/dist/db/types.js +2 -0
  191. package/dist/db/types.js.map +1 -0
  192. package/dist/email/adapters.d.ts +29 -0
  193. package/dist/email/adapters.d.ts.map +1 -0
  194. package/dist/email/adapters.js +60 -0
  195. package/dist/email/adapters.js.map +1 -0
  196. package/dist/email/index.d.ts +20 -0
  197. package/dist/email/index.d.ts.map +1 -0
  198. package/dist/email/index.js +79 -0
  199. package/dist/email/index.js.map +1 -0
  200. package/dist/email/provider.d.ts +47 -0
  201. package/dist/email/provider.d.ts.map +1 -0
  202. package/dist/email/provider.js +7 -0
  203. package/dist/email/provider.js.map +1 -0
  204. package/dist/email/resend.d.ts +22 -0
  205. package/dist/email/resend.d.ts.map +1 -0
  206. package/dist/email/resend.js +51 -0
  207. package/dist/email/resend.js.map +1 -0
  208. package/dist/email/service.d.ts +55 -0
  209. package/dist/email/service.d.ts.map +1 -0
  210. package/dist/email/service.js +87 -0
  211. package/dist/email/service.js.map +1 -0
  212. package/dist/email/templates.d.ts +81 -0
  213. package/dist/email/templates.d.ts.map +1 -0
  214. package/dist/email/templates.js +84 -0
  215. package/dist/email/templates.js.map +1 -0
  216. package/dist/entitlements/index.d.ts +10 -0
  217. package/dist/entitlements/index.d.ts.map +1 -0
  218. package/dist/entitlements/index.js +28 -0
  219. package/dist/entitlements/index.js.map +1 -0
  220. package/dist/entitlements/service.d.ts +83 -0
  221. package/dist/entitlements/service.d.ts.map +1 -0
  222. package/dist/entitlements/service.js +158 -0
  223. package/dist/entitlements/service.js.map +1 -0
  224. package/dist/errors.d.ts +85 -0
  225. package/dist/errors.d.ts.map +1 -0
  226. package/dist/errors.js +95 -0
  227. package/dist/errors.js.map +1 -0
  228. package/dist/events/core-events.d.ts +120 -0
  229. package/dist/events/core-events.d.ts.map +1 -0
  230. package/dist/events/core-events.js +109 -0
  231. package/dist/events/core-events.js.map +1 -0
  232. package/dist/events/index.d.ts +15 -0
  233. package/dist/events/index.d.ts.map +1 -0
  234. package/dist/events/index.js +58 -0
  235. package/dist/events/index.js.map +1 -0
  236. package/dist/events/publisher.d.ts +46 -0
  237. package/dist/events/publisher.d.ts.map +1 -0
  238. package/dist/events/publisher.js +54 -0
  239. package/dist/events/publisher.js.map +1 -0
  240. package/dist/events/registry.d.ts +87 -0
  241. package/dist/events/registry.d.ts.map +1 -0
  242. package/dist/events/registry.js +34 -0
  243. package/dist/events/registry.js.map +1 -0
  244. package/dist/events/service.d.ts +78 -0
  245. package/dist/events/service.d.ts.map +1 -0
  246. package/dist/events/service.js +182 -0
  247. package/dist/events/service.js.map +1 -0
  248. package/dist/features/bucket.d.ts +22 -0
  249. package/dist/features/bucket.d.ts.map +1 -0
  250. package/dist/features/bucket.js +42 -0
  251. package/dist/features/bucket.js.map +1 -0
  252. package/dist/features/index.d.ts +15 -0
  253. package/dist/features/index.d.ts.map +1 -0
  254. package/dist/features/index.js +78 -0
  255. package/dist/features/index.js.map +1 -0
  256. package/dist/features/registry.d.ts +51 -0
  257. package/dist/features/registry.d.ts.map +1 -0
  258. package/dist/features/registry.js +52 -0
  259. package/dist/features/registry.js.map +1 -0
  260. package/dist/features/service.d.ts +78 -0
  261. package/dist/features/service.d.ts.map +1 -0
  262. package/dist/features/service.js +207 -0
  263. package/dist/features/service.js.map +1 -0
  264. package/dist/files/index.d.ts +6 -0
  265. package/dist/files/index.d.ts.map +1 -0
  266. package/dist/files/index.js +64 -0
  267. package/dist/files/index.js.map +1 -0
  268. package/dist/files/service.d.ts +92 -0
  269. package/dist/files/service.d.ts.map +1 -0
  270. package/dist/files/service.js +303 -0
  271. package/dist/files/service.js.map +1 -0
  272. package/dist/index.d.ts +33 -0
  273. package/dist/index.d.ts.map +1 -0
  274. package/dist/index.js +33 -0
  275. package/dist/index.js.map +1 -0
  276. package/dist/jobs/backend.d.ts +23 -0
  277. package/dist/jobs/backend.d.ts.map +1 -0
  278. package/dist/jobs/backend.js +23 -0
  279. package/dist/jobs/backend.js.map +1 -0
  280. package/dist/jobs/index.d.ts +29 -0
  281. package/dist/jobs/index.d.ts.map +1 -0
  282. package/dist/jobs/index.js +114 -0
  283. package/dist/jobs/index.js.map +1 -0
  284. package/dist/jobs/service.d.ts +67 -0
  285. package/dist/jobs/service.d.ts.map +1 -0
  286. package/dist/jobs/service.js +139 -0
  287. package/dist/jobs/service.js.map +1 -0
  288. package/dist/jobs/types.d.ts +78 -0
  289. package/dist/jobs/types.d.ts.map +1 -0
  290. package/dist/jobs/types.js +4 -0
  291. package/dist/jobs/types.js.map +1 -0
  292. package/dist/logger/default.d.ts +7 -0
  293. package/dist/logger/default.d.ts.map +1 -0
  294. package/dist/logger/default.js +28 -0
  295. package/dist/logger/default.js.map +1 -0
  296. package/dist/logger/index.d.ts +24 -0
  297. package/dist/logger/index.d.ts.map +1 -0
  298. package/dist/logger/index.js +90 -0
  299. package/dist/logger/index.js.map +1 -0
  300. package/dist/logger/redact.d.ts +40 -0
  301. package/dist/logger/redact.d.ts.map +1 -0
  302. package/dist/logger/redact.js +178 -0
  303. package/dist/logger/redact.js.map +1 -0
  304. package/dist/logger/service.d.ts +14 -0
  305. package/dist/logger/service.d.ts.map +1 -0
  306. package/dist/logger/service.js +56 -0
  307. package/dist/logger/service.js.map +1 -0
  308. package/dist/logger/sinks.d.ts +37 -0
  309. package/dist/logger/sinks.d.ts.map +1 -0
  310. package/dist/logger/sinks.js +135 -0
  311. package/dist/logger/sinks.js.map +1 -0
  312. package/dist/logger/types.d.ts +47 -0
  313. package/dist/logger/types.d.ts.map +1 -0
  314. package/dist/logger/types.js +8 -0
  315. package/dist/logger/types.js.map +1 -0
  316. package/dist/notifications/index.d.ts +8 -0
  317. package/dist/notifications/index.d.ts.map +1 -0
  318. package/dist/notifications/index.js +72 -0
  319. package/dist/notifications/index.js.map +1 -0
  320. package/dist/notifications/service.d.ts +79 -0
  321. package/dist/notifications/service.d.ts.map +1 -0
  322. package/dist/notifications/service.js +164 -0
  323. package/dist/notifications/service.js.map +1 -0
  324. package/dist/realtime/channels.d.ts +37 -0
  325. package/dist/realtime/channels.d.ts.map +1 -0
  326. package/dist/realtime/channels.js +58 -0
  327. package/dist/realtime/channels.js.map +1 -0
  328. package/dist/realtime/index.d.ts +19 -0
  329. package/dist/realtime/index.d.ts.map +1 -0
  330. package/dist/realtime/index.js +118 -0
  331. package/dist/realtime/index.js.map +1 -0
  332. package/dist/realtime/postgres.d.ts +48 -0
  333. package/dist/realtime/postgres.d.ts.map +1 -0
  334. package/dist/realtime/postgres.js +151 -0
  335. package/dist/realtime/postgres.js.map +1 -0
  336. package/dist/realtime/service.d.ts +75 -0
  337. package/dist/realtime/service.d.ts.map +1 -0
  338. package/dist/realtime/service.js +103 -0
  339. package/dist/realtime/service.js.map +1 -0
  340. package/dist/realtime/sse.d.ts +55 -0
  341. package/dist/realtime/sse.d.ts.map +1 -0
  342. package/dist/realtime/sse.js +123 -0
  343. package/dist/realtime/sse.js.map +1 -0
  344. package/dist/realtime/transport.d.ts +52 -0
  345. package/dist/realtime/transport.d.ts.map +1 -0
  346. package/dist/realtime/transport.js +2 -0
  347. package/dist/realtime/transport.js.map +1 -0
  348. package/dist/storage/index.d.ts +18 -0
  349. package/dist/storage/index.d.ts.map +1 -0
  350. package/dist/storage/index.js +89 -0
  351. package/dist/storage/index.js.map +1 -0
  352. package/dist/storage/keys.d.ts +50 -0
  353. package/dist/storage/keys.d.ts.map +1 -0
  354. package/dist/storage/keys.js +120 -0
  355. package/dist/storage/keys.js.map +1 -0
  356. package/dist/storage/memory.d.ts +32 -0
  357. package/dist/storage/memory.d.ts.map +1 -0
  358. package/dist/storage/memory.js +84 -0
  359. package/dist/storage/memory.js.map +1 -0
  360. package/dist/storage/provider.d.ts +93 -0
  361. package/dist/storage/provider.d.ts.map +1 -0
  362. package/dist/storage/provider.js +2 -0
  363. package/dist/storage/provider.js.map +1 -0
  364. package/dist/storage/s3.d.ts +34 -0
  365. package/dist/storage/s3.d.ts.map +1 -0
  366. package/dist/storage/s3.js +175 -0
  367. package/dist/storage/s3.js.map +1 -0
  368. package/dist/storage/service.d.ts +86 -0
  369. package/dist/storage/service.d.ts.map +1 -0
  370. package/dist/storage/service.js +107 -0
  371. package/dist/storage/service.js.map +1 -0
  372. package/dist/storage/sigv4.d.ts +58 -0
  373. package/dist/storage/sigv4.d.ts.map +1 -0
  374. package/dist/storage/sigv4.js +114 -0
  375. package/dist/storage/sigv4.js.map +1 -0
  376. package/dist/streams/client.d.ts +91 -0
  377. package/dist/streams/client.d.ts.map +1 -0
  378. package/dist/streams/client.js +128 -0
  379. package/dist/streams/client.js.map +1 -0
  380. package/dist/streams/events.d.ts +68 -0
  381. package/dist/streams/events.d.ts.map +1 -0
  382. package/dist/streams/events.js +81 -0
  383. package/dist/streams/events.js.map +1 -0
  384. package/dist/streams/index.d.ts +47 -0
  385. package/dist/streams/index.d.ts.map +1 -0
  386. package/dist/streams/index.js +47 -0
  387. package/dist/streams/index.js.map +1 -0
  388. package/dist/streams/realtime.d.ts +27 -0
  389. package/dist/streams/realtime.d.ts.map +1 -0
  390. package/dist/streams/realtime.js +50 -0
  391. package/dist/streams/realtime.js.map +1 -0
  392. package/dist/streams/state.d.ts +26 -0
  393. package/dist/streams/state.d.ts.map +1 -0
  394. package/dist/streams/state.js +34 -0
  395. package/dist/streams/state.js.map +1 -0
  396. package/dist/users/index.d.ts +9 -0
  397. package/dist/users/index.d.ts.map +1 -0
  398. package/dist/users/index.js +23 -0
  399. package/dist/users/index.js.map +1 -0
  400. package/dist/users/service.d.ts +43 -0
  401. package/dist/users/service.d.ts.map +1 -0
  402. package/dist/users/service.js +113 -0
  403. package/dist/users/service.js.map +1 -0
  404. package/dist/webhooks/inbound.d.ts +70 -0
  405. package/dist/webhooks/inbound.d.ts.map +1 -0
  406. package/dist/webhooks/inbound.js +146 -0
  407. package/dist/webhooks/inbound.js.map +1 -0
  408. package/dist/webhooks/index.d.ts +12 -0
  409. package/dist/webhooks/index.d.ts.map +1 -0
  410. package/dist/webhooks/index.js +65 -0
  411. package/dist/webhooks/index.js.map +1 -0
  412. package/dist/webhooks/outgoing.d.ts +89 -0
  413. package/dist/webhooks/outgoing.d.ts.map +1 -0
  414. package/dist/webhooks/outgoing.js +375 -0
  415. package/dist/webhooks/outgoing.js.map +1 -0
  416. package/dist/webhooks/signature.d.ts +40 -0
  417. package/dist/webhooks/signature.d.ts.map +1 -0
  418. package/dist/webhooks/signature.js +77 -0
  419. package/dist/webhooks/signature.js.map +1 -0
  420. package/dist/workspaces/context.d.ts +30 -0
  421. package/dist/workspaces/context.d.ts.map +1 -0
  422. package/dist/workspaces/context.js +12 -0
  423. package/dist/workspaces/context.js.map +1 -0
  424. package/dist/workspaces/index.d.ts +5 -0
  425. package/dist/workspaces/index.d.ts.map +1 -0
  426. package/dist/workspaces/index.js +21 -0
  427. package/dist/workspaces/index.js.map +1 -0
  428. package/dist/workspaces/service.d.ts +126 -0
  429. package/dist/workspaces/service.d.ts.map +1 -0
  430. package/dist/workspaces/service.js +495 -0
  431. package/dist/workspaces/service.js.map +1 -0
  432. package/docs/README.md +71 -0
  433. package/docs/api-keys.md +184 -0
  434. package/docs/audit.md +198 -0
  435. package/docs/auth.md +196 -0
  436. package/docs/authorization.md +225 -0
  437. package/docs/billing.md +293 -0
  438. package/docs/cli.md +238 -0
  439. package/docs/config.md +163 -0
  440. package/docs/db.md +219 -0
  441. package/docs/email.md +222 -0
  442. package/docs/entitlements.md +194 -0
  443. package/docs/errors.md +158 -0
  444. package/docs/events.md +279 -0
  445. package/docs/feature-flags.md +237 -0
  446. package/docs/files.md +229 -0
  447. package/docs/jobs.md +288 -0
  448. package/docs/logger.md +269 -0
  449. package/docs/notifications.md +179 -0
  450. package/docs/publishing.md +128 -0
  451. package/docs/realtime.md +360 -0
  452. package/docs/storage.md +279 -0
  453. package/docs/streams.md +296 -0
  454. package/docs/users.md +117 -0
  455. package/docs/webhooks.md +272 -0
  456. package/docs/workspaces.md +269 -0
  457. package/drizzle/0000_init_users.sql +21 -0
  458. package/drizzle/0001_workspaces_roles_permissions.sql +86 -0
  459. package/drizzle/0002_billing_entitlements.sql +97 -0
  460. package/drizzle/0003_events.sql +17 -0
  461. package/drizzle/0004_notifications_audit.sql +64 -0
  462. package/drizzle/0005_api_keys_webhooks.sql +77 -0
  463. package/drizzle/0006_feature_flags.sql +22 -0
  464. package/drizzle/0007_files.sql +23 -0
  465. package/drizzle/meta/0000_snapshot.json +160 -0
  466. package/drizzle/meta/0001_snapshot.json +837 -0
  467. package/drizzle/meta/0002_snapshot.json +1580 -0
  468. package/drizzle/meta/0003_snapshot.json +1751 -0
  469. package/drizzle/meta/0004_snapshot.json +2109 -0
  470. package/drizzle/meta/0005_snapshot.json +2719 -0
  471. package/drizzle/meta/0006_snapshot.json +2909 -0
  472. package/drizzle/meta/0007_snapshot.json +3113 -0
  473. package/drizzle/meta/_journal.json +62 -0
  474. package/package.json +180 -0
@@ -0,0 +1,1100 @@
1
+ /**
2
+ * Provider-independent subscription lifecycle.
3
+ *
4
+ * A fixed vocabulary rather than whatever the payment provider happens to call
5
+ * these states: the adapter maps provider statuses onto this list, so switching
6
+ * provider does not ripple into application queries.
7
+ */
8
+ export declare const subscriptionStatus: import("drizzle-orm/pg-core").PgEnum<["trialing", "active", "past_due", "paused", "canceled", "incomplete"]>;
9
+ /** Statuses that entitle a workspace to its plan's features. */
10
+ export declare const ENTITLING_SUBSCRIPTION_STATUSES: readonly ["trialing", "active", "past_due"];
11
+ export declare const billingInterval: import("drizzle-orm/pg-core").PgEnum<["month", "year", "one_time"]>;
12
+ /**
13
+ * `feature` entitlements are on/off; `limit` entitlements carry a quota.
14
+ * Separating them keeps `has()` and `getLimit()` from having to guess.
15
+ */
16
+ export declare const entitlementKind: import("drizzle-orm/pg-core").PgEnum<["feature", "limit"]>;
17
+ export declare const billingEventStatus: import("drizzle-orm/pg-core").PgEnum<["pending", "processed", "failed", "ignored"]>;
18
+ /**
19
+ * A purchasable plan.
20
+ *
21
+ * `key` is the stable internal identifier; `provider_price_id` is the provider's.
22
+ * Application code must reference neither — it asks about entitlements. Plans are
23
+ * global rather than workspace-scoped: they are the product's catalogue.
24
+ */
25
+ export declare const plans: import("drizzle-orm/pg-core").PgTableWithColumns<{
26
+ name: "plans";
27
+ schema: undefined;
28
+ columns: {
29
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
30
+ name: "created_at";
31
+ tableName: "plans";
32
+ dataType: "date";
33
+ columnType: "PgTimestamp";
34
+ data: Date;
35
+ driverParam: string;
36
+ notNull: true;
37
+ hasDefault: true;
38
+ isPrimaryKey: false;
39
+ isAutoincrement: false;
40
+ hasRuntimeDefault: false;
41
+ enumValues: undefined;
42
+ baseColumn: never;
43
+ identity: undefined;
44
+ generated: undefined;
45
+ }, {}, {}>;
46
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
47
+ name: "updated_at";
48
+ tableName: "plans";
49
+ dataType: "date";
50
+ columnType: "PgTimestamp";
51
+ data: Date;
52
+ driverParam: string;
53
+ notNull: true;
54
+ hasDefault: true;
55
+ isPrimaryKey: false;
56
+ isAutoincrement: false;
57
+ hasRuntimeDefault: false;
58
+ enumValues: undefined;
59
+ baseColumn: never;
60
+ identity: undefined;
61
+ generated: undefined;
62
+ }, {}, {}>;
63
+ id: import("drizzle-orm/pg-core").PgColumn<{
64
+ name: "id";
65
+ tableName: "plans";
66
+ dataType: "string";
67
+ columnType: "PgUUID";
68
+ data: string;
69
+ driverParam: string;
70
+ notNull: true;
71
+ hasDefault: true;
72
+ isPrimaryKey: true;
73
+ isAutoincrement: false;
74
+ hasRuntimeDefault: false;
75
+ enumValues: undefined;
76
+ baseColumn: never;
77
+ identity: undefined;
78
+ generated: undefined;
79
+ }, {}, {}>;
80
+ key: import("drizzle-orm/pg-core").PgColumn<{
81
+ name: "key";
82
+ tableName: "plans";
83
+ dataType: "string";
84
+ columnType: "PgText";
85
+ data: string;
86
+ driverParam: string;
87
+ notNull: true;
88
+ hasDefault: false;
89
+ isPrimaryKey: false;
90
+ isAutoincrement: false;
91
+ hasRuntimeDefault: false;
92
+ enumValues: [string, ...string[]];
93
+ baseColumn: never;
94
+ identity: undefined;
95
+ generated: undefined;
96
+ }, {}, {}>;
97
+ name: import("drizzle-orm/pg-core").PgColumn<{
98
+ name: "name";
99
+ tableName: "plans";
100
+ dataType: "string";
101
+ columnType: "PgText";
102
+ data: string;
103
+ driverParam: string;
104
+ notNull: true;
105
+ hasDefault: false;
106
+ isPrimaryKey: false;
107
+ isAutoincrement: false;
108
+ hasRuntimeDefault: false;
109
+ enumValues: [string, ...string[]];
110
+ baseColumn: never;
111
+ identity: undefined;
112
+ generated: undefined;
113
+ }, {}, {}>;
114
+ description: import("drizzle-orm/pg-core").PgColumn<{
115
+ name: "description";
116
+ tableName: "plans";
117
+ dataType: "string";
118
+ columnType: "PgText";
119
+ data: string;
120
+ driverParam: string;
121
+ notNull: false;
122
+ hasDefault: false;
123
+ isPrimaryKey: false;
124
+ isAutoincrement: false;
125
+ hasRuntimeDefault: false;
126
+ enumValues: [string, ...string[]];
127
+ baseColumn: never;
128
+ identity: undefined;
129
+ generated: undefined;
130
+ }, {}, {}>;
131
+ providerPriceId: import("drizzle-orm/pg-core").PgColumn<{
132
+ name: "provider_price_id";
133
+ tableName: "plans";
134
+ dataType: "string";
135
+ columnType: "PgText";
136
+ data: string;
137
+ driverParam: string;
138
+ notNull: false;
139
+ hasDefault: false;
140
+ isPrimaryKey: false;
141
+ isAutoincrement: false;
142
+ hasRuntimeDefault: false;
143
+ enumValues: [string, ...string[]];
144
+ baseColumn: never;
145
+ identity: undefined;
146
+ generated: undefined;
147
+ }, {}, {}>;
148
+ amountCents: import("drizzle-orm/pg-core").PgColumn<{
149
+ name: "amount_cents";
150
+ tableName: "plans";
151
+ dataType: "number";
152
+ columnType: "PgInteger";
153
+ data: number;
154
+ driverParam: string | number;
155
+ notNull: true;
156
+ hasDefault: true;
157
+ isPrimaryKey: false;
158
+ isAutoincrement: false;
159
+ hasRuntimeDefault: false;
160
+ enumValues: undefined;
161
+ baseColumn: never;
162
+ identity: undefined;
163
+ generated: undefined;
164
+ }, {}, {}>;
165
+ currency: import("drizzle-orm/pg-core").PgColumn<{
166
+ name: "currency";
167
+ tableName: "plans";
168
+ dataType: "string";
169
+ columnType: "PgText";
170
+ data: string;
171
+ driverParam: string;
172
+ notNull: true;
173
+ hasDefault: true;
174
+ isPrimaryKey: false;
175
+ isAutoincrement: false;
176
+ hasRuntimeDefault: false;
177
+ enumValues: [string, ...string[]];
178
+ baseColumn: never;
179
+ identity: undefined;
180
+ generated: undefined;
181
+ }, {}, {}>;
182
+ interval: import("drizzle-orm/pg-core").PgColumn<{
183
+ name: "interval";
184
+ tableName: "plans";
185
+ dataType: "string";
186
+ columnType: "PgEnumColumn";
187
+ data: "month" | "one_time" | "year";
188
+ driverParam: string;
189
+ notNull: true;
190
+ hasDefault: true;
191
+ isPrimaryKey: false;
192
+ isAutoincrement: false;
193
+ hasRuntimeDefault: false;
194
+ enumValues: ["month", "year", "one_time"];
195
+ baseColumn: never;
196
+ identity: undefined;
197
+ generated: undefined;
198
+ }, {}, {}>;
199
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
200
+ name: "is_active";
201
+ tableName: "plans";
202
+ dataType: "boolean";
203
+ columnType: "PgBoolean";
204
+ data: boolean;
205
+ driverParam: boolean;
206
+ notNull: true;
207
+ hasDefault: true;
208
+ isPrimaryKey: false;
209
+ isAutoincrement: false;
210
+ hasRuntimeDefault: false;
211
+ enumValues: undefined;
212
+ baseColumn: never;
213
+ identity: undefined;
214
+ generated: undefined;
215
+ }, {}, {}>;
216
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
217
+ name: "sort_order";
218
+ tableName: "plans";
219
+ dataType: "number";
220
+ columnType: "PgInteger";
221
+ data: number;
222
+ driverParam: string | number;
223
+ notNull: true;
224
+ hasDefault: true;
225
+ isPrimaryKey: false;
226
+ isAutoincrement: false;
227
+ hasRuntimeDefault: false;
228
+ enumValues: undefined;
229
+ baseColumn: never;
230
+ identity: undefined;
231
+ generated: undefined;
232
+ }, {}, {}>;
233
+ };
234
+ dialect: 'pg';
235
+ }>;
236
+ /**
237
+ * What a plan grants: features and limits.
238
+ *
239
+ * `limit_value` is null for an unlimited quota, which is deliberately distinct
240
+ * from a missing row (no entitlement at all) and from zero (explicitly none).
241
+ */
242
+ export declare const entitlements: import("drizzle-orm/pg-core").PgTableWithColumns<{
243
+ name: "entitlements";
244
+ schema: undefined;
245
+ columns: {
246
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
247
+ name: "created_at";
248
+ tableName: "entitlements";
249
+ dataType: "date";
250
+ columnType: "PgTimestamp";
251
+ data: Date;
252
+ driverParam: string;
253
+ notNull: true;
254
+ hasDefault: true;
255
+ isPrimaryKey: false;
256
+ isAutoincrement: false;
257
+ hasRuntimeDefault: false;
258
+ enumValues: undefined;
259
+ baseColumn: never;
260
+ identity: undefined;
261
+ generated: undefined;
262
+ }, {}, {}>;
263
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
264
+ name: "updated_at";
265
+ tableName: "entitlements";
266
+ dataType: "date";
267
+ columnType: "PgTimestamp";
268
+ data: Date;
269
+ driverParam: string;
270
+ notNull: true;
271
+ hasDefault: true;
272
+ isPrimaryKey: false;
273
+ isAutoincrement: false;
274
+ hasRuntimeDefault: false;
275
+ enumValues: undefined;
276
+ baseColumn: never;
277
+ identity: undefined;
278
+ generated: undefined;
279
+ }, {}, {}>;
280
+ id: import("drizzle-orm/pg-core").PgColumn<{
281
+ name: "id";
282
+ tableName: "entitlements";
283
+ dataType: "string";
284
+ columnType: "PgUUID";
285
+ data: string;
286
+ driverParam: string;
287
+ notNull: true;
288
+ hasDefault: true;
289
+ isPrimaryKey: true;
290
+ isAutoincrement: false;
291
+ hasRuntimeDefault: false;
292
+ enumValues: undefined;
293
+ baseColumn: never;
294
+ identity: undefined;
295
+ generated: undefined;
296
+ }, {}, {}>;
297
+ planId: import("drizzle-orm/pg-core").PgColumn<{
298
+ name: "plan_id";
299
+ tableName: "entitlements";
300
+ dataType: "string";
301
+ columnType: "PgUUID";
302
+ data: string;
303
+ driverParam: string;
304
+ notNull: true;
305
+ hasDefault: false;
306
+ isPrimaryKey: false;
307
+ isAutoincrement: false;
308
+ hasRuntimeDefault: false;
309
+ enumValues: undefined;
310
+ baseColumn: never;
311
+ identity: undefined;
312
+ generated: undefined;
313
+ }, {}, {}>;
314
+ key: import("drizzle-orm/pg-core").PgColumn<{
315
+ name: "key";
316
+ tableName: "entitlements";
317
+ dataType: "string";
318
+ columnType: "PgText";
319
+ data: string;
320
+ driverParam: string;
321
+ notNull: true;
322
+ hasDefault: false;
323
+ isPrimaryKey: false;
324
+ isAutoincrement: false;
325
+ hasRuntimeDefault: false;
326
+ enumValues: [string, ...string[]];
327
+ baseColumn: never;
328
+ identity: undefined;
329
+ generated: undefined;
330
+ }, {}, {}>;
331
+ kind: import("drizzle-orm/pg-core").PgColumn<{
332
+ name: "kind";
333
+ tableName: "entitlements";
334
+ dataType: "string";
335
+ columnType: "PgEnumColumn";
336
+ data: "feature" | "limit";
337
+ driverParam: string;
338
+ notNull: true;
339
+ hasDefault: false;
340
+ isPrimaryKey: false;
341
+ isAutoincrement: false;
342
+ hasRuntimeDefault: false;
343
+ enumValues: ["feature", "limit"];
344
+ baseColumn: never;
345
+ identity: undefined;
346
+ generated: undefined;
347
+ }, {}, {}>;
348
+ limitValue: import("drizzle-orm/pg-core").PgColumn<{
349
+ name: "limit_value";
350
+ tableName: "entitlements";
351
+ dataType: "number";
352
+ columnType: "PgBigInt53";
353
+ data: number;
354
+ driverParam: string | number;
355
+ notNull: false;
356
+ hasDefault: false;
357
+ isPrimaryKey: false;
358
+ isAutoincrement: false;
359
+ hasRuntimeDefault: false;
360
+ enumValues: undefined;
361
+ baseColumn: never;
362
+ identity: undefined;
363
+ generated: undefined;
364
+ }, {}, {}>;
365
+ };
366
+ dialect: 'pg';
367
+ }>;
368
+ /**
369
+ * A workspace's identity at the payment provider.
370
+ *
371
+ * Workspace-scoped, not user-scoped: the tenant pays, and members come and go.
372
+ */
373
+ export declare const billingCustomers: import("drizzle-orm/pg-core").PgTableWithColumns<{
374
+ name: "billing_customers";
375
+ schema: undefined;
376
+ columns: {
377
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
378
+ name: "created_at";
379
+ tableName: "billing_customers";
380
+ dataType: "date";
381
+ columnType: "PgTimestamp";
382
+ data: Date;
383
+ driverParam: string;
384
+ notNull: true;
385
+ hasDefault: true;
386
+ isPrimaryKey: false;
387
+ isAutoincrement: false;
388
+ hasRuntimeDefault: false;
389
+ enumValues: undefined;
390
+ baseColumn: never;
391
+ identity: undefined;
392
+ generated: undefined;
393
+ }, {}, {}>;
394
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
395
+ name: "updated_at";
396
+ tableName: "billing_customers";
397
+ dataType: "date";
398
+ columnType: "PgTimestamp";
399
+ data: Date;
400
+ driverParam: string;
401
+ notNull: true;
402
+ hasDefault: true;
403
+ isPrimaryKey: false;
404
+ isAutoincrement: false;
405
+ hasRuntimeDefault: false;
406
+ enumValues: undefined;
407
+ baseColumn: never;
408
+ identity: undefined;
409
+ generated: undefined;
410
+ }, {}, {}>;
411
+ id: import("drizzle-orm/pg-core").PgColumn<{
412
+ name: "id";
413
+ tableName: "billing_customers";
414
+ dataType: "string";
415
+ columnType: "PgUUID";
416
+ data: string;
417
+ driverParam: string;
418
+ notNull: true;
419
+ hasDefault: true;
420
+ isPrimaryKey: true;
421
+ isAutoincrement: false;
422
+ hasRuntimeDefault: false;
423
+ enumValues: undefined;
424
+ baseColumn: never;
425
+ identity: undefined;
426
+ generated: undefined;
427
+ }, {}, {}>;
428
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
429
+ name: "workspace_id";
430
+ tableName: "billing_customers";
431
+ dataType: "string";
432
+ columnType: "PgUUID";
433
+ data: string;
434
+ driverParam: string;
435
+ notNull: true;
436
+ hasDefault: false;
437
+ isPrimaryKey: false;
438
+ isAutoincrement: false;
439
+ hasRuntimeDefault: false;
440
+ enumValues: undefined;
441
+ baseColumn: never;
442
+ identity: undefined;
443
+ generated: undefined;
444
+ }, {}, {}>;
445
+ provider: import("drizzle-orm/pg-core").PgColumn<{
446
+ name: "provider";
447
+ tableName: "billing_customers";
448
+ dataType: "string";
449
+ columnType: "PgText";
450
+ data: string;
451
+ driverParam: string;
452
+ notNull: true;
453
+ hasDefault: false;
454
+ isPrimaryKey: false;
455
+ isAutoincrement: false;
456
+ hasRuntimeDefault: false;
457
+ enumValues: [string, ...string[]];
458
+ baseColumn: never;
459
+ identity: undefined;
460
+ generated: undefined;
461
+ }, {}, {}>;
462
+ providerCustomerId: import("drizzle-orm/pg-core").PgColumn<{
463
+ name: "provider_customer_id";
464
+ tableName: "billing_customers";
465
+ dataType: "string";
466
+ columnType: "PgText";
467
+ data: string;
468
+ driverParam: string;
469
+ notNull: true;
470
+ hasDefault: false;
471
+ isPrimaryKey: false;
472
+ isAutoincrement: false;
473
+ hasRuntimeDefault: false;
474
+ enumValues: [string, ...string[]];
475
+ baseColumn: never;
476
+ identity: undefined;
477
+ generated: undefined;
478
+ }, {}, {}>;
479
+ email: import("drizzle-orm/pg-core").PgColumn<{
480
+ name: "email";
481
+ tableName: "billing_customers";
482
+ dataType: "string";
483
+ columnType: "PgText";
484
+ data: string;
485
+ driverParam: string;
486
+ notNull: false;
487
+ hasDefault: false;
488
+ isPrimaryKey: false;
489
+ isAutoincrement: false;
490
+ hasRuntimeDefault: false;
491
+ enumValues: [string, ...string[]];
492
+ baseColumn: never;
493
+ identity: undefined;
494
+ generated: undefined;
495
+ }, {}, {}>;
496
+ };
497
+ dialect: 'pg';
498
+ }>;
499
+ export declare const subscriptions: import("drizzle-orm/pg-core").PgTableWithColumns<{
500
+ name: "subscriptions";
501
+ schema: undefined;
502
+ columns: {
503
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
504
+ name: "created_at";
505
+ tableName: "subscriptions";
506
+ dataType: "date";
507
+ columnType: "PgTimestamp";
508
+ data: Date;
509
+ driverParam: string;
510
+ notNull: true;
511
+ hasDefault: true;
512
+ isPrimaryKey: false;
513
+ isAutoincrement: false;
514
+ hasRuntimeDefault: false;
515
+ enumValues: undefined;
516
+ baseColumn: never;
517
+ identity: undefined;
518
+ generated: undefined;
519
+ }, {}, {}>;
520
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
521
+ name: "updated_at";
522
+ tableName: "subscriptions";
523
+ dataType: "date";
524
+ columnType: "PgTimestamp";
525
+ data: Date;
526
+ driverParam: string;
527
+ notNull: true;
528
+ hasDefault: true;
529
+ isPrimaryKey: false;
530
+ isAutoincrement: false;
531
+ hasRuntimeDefault: false;
532
+ enumValues: undefined;
533
+ baseColumn: never;
534
+ identity: undefined;
535
+ generated: undefined;
536
+ }, {}, {}>;
537
+ id: import("drizzle-orm/pg-core").PgColumn<{
538
+ name: "id";
539
+ tableName: "subscriptions";
540
+ dataType: "string";
541
+ columnType: "PgUUID";
542
+ data: string;
543
+ driverParam: string;
544
+ notNull: true;
545
+ hasDefault: true;
546
+ isPrimaryKey: true;
547
+ isAutoincrement: false;
548
+ hasRuntimeDefault: false;
549
+ enumValues: undefined;
550
+ baseColumn: never;
551
+ identity: undefined;
552
+ generated: undefined;
553
+ }, {}, {}>;
554
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
555
+ name: "workspace_id";
556
+ tableName: "subscriptions";
557
+ dataType: "string";
558
+ columnType: "PgUUID";
559
+ data: string;
560
+ driverParam: string;
561
+ notNull: true;
562
+ hasDefault: false;
563
+ isPrimaryKey: false;
564
+ isAutoincrement: false;
565
+ hasRuntimeDefault: false;
566
+ enumValues: undefined;
567
+ baseColumn: never;
568
+ identity: undefined;
569
+ generated: undefined;
570
+ }, {}, {}>;
571
+ billingCustomerId: import("drizzle-orm/pg-core").PgColumn<{
572
+ name: "billing_customer_id";
573
+ tableName: "subscriptions";
574
+ dataType: "string";
575
+ columnType: "PgUUID";
576
+ data: string;
577
+ driverParam: string;
578
+ notNull: true;
579
+ hasDefault: false;
580
+ isPrimaryKey: false;
581
+ isAutoincrement: false;
582
+ hasRuntimeDefault: false;
583
+ enumValues: undefined;
584
+ baseColumn: never;
585
+ identity: undefined;
586
+ generated: undefined;
587
+ }, {}, {}>;
588
+ planId: import("drizzle-orm/pg-core").PgColumn<{
589
+ name: "plan_id";
590
+ tableName: "subscriptions";
591
+ dataType: "string";
592
+ columnType: "PgUUID";
593
+ data: string;
594
+ driverParam: string;
595
+ notNull: true;
596
+ hasDefault: false;
597
+ isPrimaryKey: false;
598
+ isAutoincrement: false;
599
+ hasRuntimeDefault: false;
600
+ enumValues: undefined;
601
+ baseColumn: never;
602
+ identity: undefined;
603
+ generated: undefined;
604
+ }, {}, {}>;
605
+ provider: import("drizzle-orm/pg-core").PgColumn<{
606
+ name: "provider";
607
+ tableName: "subscriptions";
608
+ dataType: "string";
609
+ columnType: "PgText";
610
+ data: string;
611
+ driverParam: string;
612
+ notNull: true;
613
+ hasDefault: false;
614
+ isPrimaryKey: false;
615
+ isAutoincrement: false;
616
+ hasRuntimeDefault: false;
617
+ enumValues: [string, ...string[]];
618
+ baseColumn: never;
619
+ identity: undefined;
620
+ generated: undefined;
621
+ }, {}, {}>;
622
+ providerSubscriptionId: import("drizzle-orm/pg-core").PgColumn<{
623
+ name: "provider_subscription_id";
624
+ tableName: "subscriptions";
625
+ dataType: "string";
626
+ columnType: "PgText";
627
+ data: string;
628
+ driverParam: string;
629
+ notNull: true;
630
+ hasDefault: false;
631
+ isPrimaryKey: false;
632
+ isAutoincrement: false;
633
+ hasRuntimeDefault: false;
634
+ enumValues: [string, ...string[]];
635
+ baseColumn: never;
636
+ identity: undefined;
637
+ generated: undefined;
638
+ }, {}, {}>;
639
+ status: import("drizzle-orm/pg-core").PgColumn<{
640
+ name: "status";
641
+ tableName: "subscriptions";
642
+ dataType: "string";
643
+ columnType: "PgEnumColumn";
644
+ data: "active" | "canceled" | "incomplete" | "past_due" | "paused" | "trialing";
645
+ driverParam: string;
646
+ notNull: true;
647
+ hasDefault: false;
648
+ isPrimaryKey: false;
649
+ isAutoincrement: false;
650
+ hasRuntimeDefault: false;
651
+ enumValues: ["trialing", "active", "past_due", "paused", "canceled", "incomplete"];
652
+ baseColumn: never;
653
+ identity: undefined;
654
+ generated: undefined;
655
+ }, {}, {}>;
656
+ currentPeriodStart: import("drizzle-orm/pg-core").PgColumn<{
657
+ name: "current_period_start";
658
+ tableName: "subscriptions";
659
+ dataType: "date";
660
+ columnType: "PgTimestamp";
661
+ data: Date;
662
+ driverParam: string;
663
+ notNull: false;
664
+ hasDefault: false;
665
+ isPrimaryKey: false;
666
+ isAutoincrement: false;
667
+ hasRuntimeDefault: false;
668
+ enumValues: undefined;
669
+ baseColumn: never;
670
+ identity: undefined;
671
+ generated: undefined;
672
+ }, {}, {}>;
673
+ currentPeriodEnd: import("drizzle-orm/pg-core").PgColumn<{
674
+ name: "current_period_end";
675
+ tableName: "subscriptions";
676
+ dataType: "date";
677
+ columnType: "PgTimestamp";
678
+ data: Date;
679
+ driverParam: string;
680
+ notNull: false;
681
+ hasDefault: false;
682
+ isPrimaryKey: false;
683
+ isAutoincrement: false;
684
+ hasRuntimeDefault: false;
685
+ enumValues: undefined;
686
+ baseColumn: never;
687
+ identity: undefined;
688
+ generated: undefined;
689
+ }, {}, {}>;
690
+ cancelAtPeriodEnd: import("drizzle-orm/pg-core").PgColumn<{
691
+ name: "cancel_at_period_end";
692
+ tableName: "subscriptions";
693
+ dataType: "boolean";
694
+ columnType: "PgBoolean";
695
+ data: boolean;
696
+ driverParam: boolean;
697
+ notNull: true;
698
+ hasDefault: true;
699
+ isPrimaryKey: false;
700
+ isAutoincrement: false;
701
+ hasRuntimeDefault: false;
702
+ enumValues: undefined;
703
+ baseColumn: never;
704
+ identity: undefined;
705
+ generated: undefined;
706
+ }, {}, {}>;
707
+ canceledAt: import("drizzle-orm/pg-core").PgColumn<{
708
+ name: "canceled_at";
709
+ tableName: "subscriptions";
710
+ dataType: "date";
711
+ columnType: "PgTimestamp";
712
+ data: Date;
713
+ driverParam: string;
714
+ notNull: false;
715
+ hasDefault: false;
716
+ isPrimaryKey: false;
717
+ isAutoincrement: false;
718
+ hasRuntimeDefault: false;
719
+ enumValues: undefined;
720
+ baseColumn: never;
721
+ identity: undefined;
722
+ generated: undefined;
723
+ }, {}, {}>;
724
+ trialEndsAt: import("drizzle-orm/pg-core").PgColumn<{
725
+ name: "trial_ends_at";
726
+ tableName: "subscriptions";
727
+ dataType: "date";
728
+ columnType: "PgTimestamp";
729
+ data: Date;
730
+ driverParam: string;
731
+ notNull: false;
732
+ hasDefault: false;
733
+ isPrimaryKey: false;
734
+ isAutoincrement: false;
735
+ hasRuntimeDefault: false;
736
+ enumValues: undefined;
737
+ baseColumn: never;
738
+ identity: undefined;
739
+ generated: undefined;
740
+ }, {}, {}>;
741
+ };
742
+ dialect: 'pg';
743
+ }>;
744
+ /**
745
+ * Every webhook the provider has sent us.
746
+ *
747
+ * `(provider, provider_event_id)` is unique, which is the whole idempotency
748
+ * mechanism: providers retry aggressively and at-least-once delivery means the
749
+ * same event will arrive twice. The insert is what claims an event for
750
+ * processing, so a duplicate is rejected by the database rather than by a
751
+ * check-then-act race.
752
+ *
753
+ * The raw payload is retained so an event whose handler failed can be replayed
754
+ * without asking the provider to resend it.
755
+ */
756
+ export declare const billingEvents: import("drizzle-orm/pg-core").PgTableWithColumns<{
757
+ name: "billing_events";
758
+ schema: undefined;
759
+ columns: {
760
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
761
+ name: "created_at";
762
+ tableName: "billing_events";
763
+ dataType: "date";
764
+ columnType: "PgTimestamp";
765
+ data: Date;
766
+ driverParam: string;
767
+ notNull: true;
768
+ hasDefault: true;
769
+ isPrimaryKey: false;
770
+ isAutoincrement: false;
771
+ hasRuntimeDefault: false;
772
+ enumValues: undefined;
773
+ baseColumn: never;
774
+ identity: undefined;
775
+ generated: undefined;
776
+ }, {}, {}>;
777
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
778
+ name: "updated_at";
779
+ tableName: "billing_events";
780
+ dataType: "date";
781
+ columnType: "PgTimestamp";
782
+ data: Date;
783
+ driverParam: string;
784
+ notNull: true;
785
+ hasDefault: true;
786
+ isPrimaryKey: false;
787
+ isAutoincrement: false;
788
+ hasRuntimeDefault: false;
789
+ enumValues: undefined;
790
+ baseColumn: never;
791
+ identity: undefined;
792
+ generated: undefined;
793
+ }, {}, {}>;
794
+ id: import("drizzle-orm/pg-core").PgColumn<{
795
+ name: "id";
796
+ tableName: "billing_events";
797
+ dataType: "string";
798
+ columnType: "PgUUID";
799
+ data: string;
800
+ driverParam: string;
801
+ notNull: true;
802
+ hasDefault: true;
803
+ isPrimaryKey: true;
804
+ isAutoincrement: false;
805
+ hasRuntimeDefault: false;
806
+ enumValues: undefined;
807
+ baseColumn: never;
808
+ identity: undefined;
809
+ generated: undefined;
810
+ }, {}, {}>;
811
+ provider: import("drizzle-orm/pg-core").PgColumn<{
812
+ name: "provider";
813
+ tableName: "billing_events";
814
+ dataType: "string";
815
+ columnType: "PgText";
816
+ data: string;
817
+ driverParam: string;
818
+ notNull: true;
819
+ hasDefault: false;
820
+ isPrimaryKey: false;
821
+ isAutoincrement: false;
822
+ hasRuntimeDefault: false;
823
+ enumValues: [string, ...string[]];
824
+ baseColumn: never;
825
+ identity: undefined;
826
+ generated: undefined;
827
+ }, {}, {}>;
828
+ providerEventId: import("drizzle-orm/pg-core").PgColumn<{
829
+ name: "provider_event_id";
830
+ tableName: "billing_events";
831
+ dataType: "string";
832
+ columnType: "PgText";
833
+ data: string;
834
+ driverParam: string;
835
+ notNull: true;
836
+ hasDefault: false;
837
+ isPrimaryKey: false;
838
+ isAutoincrement: false;
839
+ hasRuntimeDefault: false;
840
+ enumValues: [string, ...string[]];
841
+ baseColumn: never;
842
+ identity: undefined;
843
+ generated: undefined;
844
+ }, {}, {}>;
845
+ type: import("drizzle-orm/pg-core").PgColumn<{
846
+ name: "type";
847
+ tableName: "billing_events";
848
+ dataType: "string";
849
+ columnType: "PgText";
850
+ data: string;
851
+ driverParam: string;
852
+ notNull: true;
853
+ hasDefault: false;
854
+ isPrimaryKey: false;
855
+ isAutoincrement: false;
856
+ hasRuntimeDefault: false;
857
+ enumValues: [string, ...string[]];
858
+ baseColumn: never;
859
+ identity: undefined;
860
+ generated: undefined;
861
+ }, {}, {}>;
862
+ payload: import("drizzle-orm/pg-core").PgColumn<{
863
+ name: "payload";
864
+ tableName: "billing_events";
865
+ dataType: "json";
866
+ columnType: "PgJsonb";
867
+ data: unknown;
868
+ driverParam: unknown;
869
+ notNull: true;
870
+ hasDefault: false;
871
+ isPrimaryKey: false;
872
+ isAutoincrement: false;
873
+ hasRuntimeDefault: false;
874
+ enumValues: undefined;
875
+ baseColumn: never;
876
+ identity: undefined;
877
+ generated: undefined;
878
+ }, {}, {}>;
879
+ status: import("drizzle-orm/pg-core").PgColumn<{
880
+ name: "status";
881
+ tableName: "billing_events";
882
+ dataType: "string";
883
+ columnType: "PgEnumColumn";
884
+ data: "failed" | "ignored" | "pending" | "processed";
885
+ driverParam: string;
886
+ notNull: true;
887
+ hasDefault: true;
888
+ isPrimaryKey: false;
889
+ isAutoincrement: false;
890
+ hasRuntimeDefault: false;
891
+ enumValues: ["pending", "processed", "failed", "ignored"];
892
+ baseColumn: never;
893
+ identity: undefined;
894
+ generated: undefined;
895
+ }, {}, {}>;
896
+ processedAt: import("drizzle-orm/pg-core").PgColumn<{
897
+ name: "processed_at";
898
+ tableName: "billing_events";
899
+ dataType: "date";
900
+ columnType: "PgTimestamp";
901
+ data: Date;
902
+ driverParam: string;
903
+ notNull: false;
904
+ hasDefault: false;
905
+ isPrimaryKey: false;
906
+ isAutoincrement: false;
907
+ hasRuntimeDefault: false;
908
+ enumValues: undefined;
909
+ baseColumn: never;
910
+ identity: undefined;
911
+ generated: undefined;
912
+ }, {}, {}>;
913
+ error: import("drizzle-orm/pg-core").PgColumn<{
914
+ name: "error";
915
+ tableName: "billing_events";
916
+ dataType: "string";
917
+ columnType: "PgText";
918
+ data: string;
919
+ driverParam: string;
920
+ notNull: false;
921
+ hasDefault: false;
922
+ isPrimaryKey: false;
923
+ isAutoincrement: false;
924
+ hasRuntimeDefault: false;
925
+ enumValues: [string, ...string[]];
926
+ baseColumn: never;
927
+ identity: undefined;
928
+ generated: undefined;
929
+ }, {}, {}>;
930
+ };
931
+ dialect: 'pg';
932
+ }>;
933
+ /**
934
+ * Metered consumption, for limit entitlements.
935
+ *
936
+ * Append-only: a running counter would lose the ability to attribute usage to a
937
+ * billing period, and would make concurrent increments a contention point.
938
+ * Consumption is summed over the current period at read time.
939
+ */
940
+ export declare const usageRecords: import("drizzle-orm/pg-core").PgTableWithColumns<{
941
+ name: "usage_records";
942
+ schema: undefined;
943
+ columns: {
944
+ id: import("drizzle-orm/pg-core").PgColumn<{
945
+ name: "id";
946
+ tableName: "usage_records";
947
+ dataType: "string";
948
+ columnType: "PgUUID";
949
+ data: string;
950
+ driverParam: string;
951
+ notNull: true;
952
+ hasDefault: true;
953
+ isPrimaryKey: true;
954
+ isAutoincrement: false;
955
+ hasRuntimeDefault: false;
956
+ enumValues: undefined;
957
+ baseColumn: never;
958
+ identity: undefined;
959
+ generated: undefined;
960
+ }, {}, {}>;
961
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
962
+ name: "workspace_id";
963
+ tableName: "usage_records";
964
+ dataType: "string";
965
+ columnType: "PgUUID";
966
+ data: string;
967
+ driverParam: string;
968
+ notNull: true;
969
+ hasDefault: false;
970
+ isPrimaryKey: false;
971
+ isAutoincrement: false;
972
+ hasRuntimeDefault: false;
973
+ enumValues: undefined;
974
+ baseColumn: never;
975
+ identity: undefined;
976
+ generated: undefined;
977
+ }, {}, {}>;
978
+ key: import("drizzle-orm/pg-core").PgColumn<{
979
+ name: "key";
980
+ tableName: "usage_records";
981
+ dataType: "string";
982
+ columnType: "PgText";
983
+ data: string;
984
+ driverParam: string;
985
+ notNull: true;
986
+ hasDefault: false;
987
+ isPrimaryKey: false;
988
+ isAutoincrement: false;
989
+ hasRuntimeDefault: false;
990
+ enumValues: [string, ...string[]];
991
+ baseColumn: never;
992
+ identity: undefined;
993
+ generated: undefined;
994
+ }, {}, {}>;
995
+ quantity: import("drizzle-orm/pg-core").PgColumn<{
996
+ name: "quantity";
997
+ tableName: "usage_records";
998
+ dataType: "number";
999
+ columnType: "PgInteger";
1000
+ data: number;
1001
+ driverParam: string | number;
1002
+ notNull: true;
1003
+ hasDefault: true;
1004
+ isPrimaryKey: false;
1005
+ isAutoincrement: false;
1006
+ hasRuntimeDefault: false;
1007
+ enumValues: undefined;
1008
+ baseColumn: never;
1009
+ identity: undefined;
1010
+ generated: undefined;
1011
+ }, {}, {}>;
1012
+ occurredAt: import("drizzle-orm/pg-core").PgColumn<{
1013
+ name: "occurred_at";
1014
+ tableName: "usage_records";
1015
+ dataType: "date";
1016
+ columnType: "PgTimestamp";
1017
+ data: Date;
1018
+ driverParam: string;
1019
+ notNull: true;
1020
+ hasDefault: true;
1021
+ isPrimaryKey: false;
1022
+ isAutoincrement: false;
1023
+ hasRuntimeDefault: false;
1024
+ enumValues: undefined;
1025
+ baseColumn: never;
1026
+ identity: undefined;
1027
+ generated: undefined;
1028
+ }, {}, {}>;
1029
+ idempotencyKey: import("drizzle-orm/pg-core").PgColumn<{
1030
+ name: "idempotency_key";
1031
+ tableName: "usage_records";
1032
+ dataType: "string";
1033
+ columnType: "PgText";
1034
+ data: string;
1035
+ driverParam: string;
1036
+ notNull: false;
1037
+ hasDefault: false;
1038
+ isPrimaryKey: false;
1039
+ isAutoincrement: false;
1040
+ hasRuntimeDefault: false;
1041
+ enumValues: [string, ...string[]];
1042
+ baseColumn: never;
1043
+ identity: undefined;
1044
+ generated: undefined;
1045
+ }, {}, {}>;
1046
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1047
+ name: "created_at";
1048
+ tableName: "usage_records";
1049
+ dataType: "date";
1050
+ columnType: "PgTimestamp";
1051
+ data: Date;
1052
+ driverParam: string;
1053
+ notNull: true;
1054
+ hasDefault: true;
1055
+ isPrimaryKey: false;
1056
+ isAutoincrement: false;
1057
+ hasRuntimeDefault: false;
1058
+ enumValues: undefined;
1059
+ baseColumn: never;
1060
+ identity: undefined;
1061
+ generated: undefined;
1062
+ }, {}, {}>;
1063
+ };
1064
+ dialect: 'pg';
1065
+ }>;
1066
+ export declare const plansRelations: import("drizzle-orm").Relations<"plans", {
1067
+ entitlements: import("drizzle-orm").Many<"entitlements">;
1068
+ subscriptions: import("drizzle-orm").Many<"subscriptions">;
1069
+ }>;
1070
+ export declare const entitlementsRelations: import("drizzle-orm").Relations<"entitlements", {
1071
+ plan: import("drizzle-orm").One<"plans", true>;
1072
+ }>;
1073
+ export declare const billingCustomersRelations: import("drizzle-orm").Relations<"billing_customers", {
1074
+ workspace: import("drizzle-orm").One<"workspaces", true>;
1075
+ subscriptions: import("drizzle-orm").Many<"subscriptions">;
1076
+ }>;
1077
+ export declare const subscriptionsRelations: import("drizzle-orm").Relations<"subscriptions", {
1078
+ workspace: import("drizzle-orm").One<"workspaces", true>;
1079
+ customer: import("drizzle-orm").One<"billing_customers", true>;
1080
+ plan: import("drizzle-orm").One<"plans", true>;
1081
+ }>;
1082
+ export declare const usageRecordsRelations: import("drizzle-orm").Relations<"usage_records", {
1083
+ workspace: import("drizzle-orm").One<"workspaces", true>;
1084
+ }>;
1085
+ export type Plan = typeof plans.$inferSelect;
1086
+ export type NewPlan = typeof plans.$inferInsert;
1087
+ export type Entitlement = typeof entitlements.$inferSelect;
1088
+ export type NewEntitlement = typeof entitlements.$inferInsert;
1089
+ export type BillingCustomer = typeof billingCustomers.$inferSelect;
1090
+ export type NewBillingCustomer = typeof billingCustomers.$inferInsert;
1091
+ export type Subscription = typeof subscriptions.$inferSelect;
1092
+ export type NewSubscription = typeof subscriptions.$inferInsert;
1093
+ export type BillingEvent = typeof billingEvents.$inferSelect;
1094
+ export type NewBillingEvent = typeof billingEvents.$inferInsert;
1095
+ export type UsageRecord = typeof usageRecords.$inferSelect;
1096
+ export type NewUsageRecord = typeof usageRecords.$inferInsert;
1097
+ export type SubscriptionStatus = (typeof subscriptionStatus.enumValues)[number];
1098
+ export type BillingIntervalValue = (typeof billingInterval.enumValues)[number];
1099
+ export type EntitlementKindValue = (typeof entitlementKind.enumValues)[number];
1100
+ //# sourceMappingURL=billing.d.ts.map