@intelligo-dev/core 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/LICENSE +201 -0
  2. package/dist/conversations/errors.d.ts +31 -0
  3. package/dist/conversations/errors.d.ts.map +1 -0
  4. package/dist/conversations/errors.js +25 -0
  5. package/dist/conversations/errors.js.map +1 -0
  6. package/dist/conversations/index.d.ts +13 -0
  7. package/dist/conversations/index.d.ts.map +1 -0
  8. package/dist/conversations/index.js +12 -0
  9. package/dist/conversations/index.js.map +1 -0
  10. package/dist/conversations/service.d.ts +132 -0
  11. package/dist/conversations/service.d.ts.map +1 -0
  12. package/dist/conversations/service.js +347 -0
  13. package/dist/conversations/service.js.map +1 -0
  14. package/dist/conversations/types.d.ts +10 -0
  15. package/dist/conversations/types.d.ts.map +1 -0
  16. package/dist/conversations/types.js +5 -0
  17. package/dist/conversations/types.js.map +1 -0
  18. package/dist/db/client.d.ts +19 -0
  19. package/dist/db/client.d.ts.map +1 -0
  20. package/dist/db/client.js +52 -0
  21. package/dist/db/client.js.map +1 -0
  22. package/dist/db/index.d.ts +4 -0
  23. package/dist/db/index.d.ts.map +1 -0
  24. package/dist/db/index.js +8 -0
  25. package/dist/db/index.js.map +1 -0
  26. package/dist/db/schema/agents.d.ts +400 -0
  27. package/dist/db/schema/agents.d.ts.map +1 -0
  28. package/dist/db/schema/agents.js +39 -0
  29. package/dist/db/schema/agents.js.map +1 -0
  30. package/dist/db/schema/ai.d.ts +2222 -0
  31. package/dist/db/schema/ai.d.ts.map +1 -0
  32. package/dist/db/schema/ai.js +313 -0
  33. package/dist/db/schema/ai.js.map +1 -0
  34. package/dist/db/schema/auth.d.ts +1222 -0
  35. package/dist/db/schema/auth.d.ts.map +1 -0
  36. package/dist/db/schema/auth.js +162 -0
  37. package/dist/db/schema/auth.js.map +1 -0
  38. package/dist/db/schema/billing.d.ts +1199 -0
  39. package/dist/db/schema/billing.d.ts.map +1 -0
  40. package/dist/db/schema/billing.js +150 -0
  41. package/dist/db/schema/billing.js.map +1 -0
  42. package/dist/db/schema/feature-flags.d.ts +143 -0
  43. package/dist/db/schema/feature-flags.d.ts.map +1 -0
  44. package/dist/db/schema/feature-flags.js +25 -0
  45. package/dist/db/schema/feature-flags.js.map +1 -0
  46. package/dist/db/schema/identity.d.ts +1295 -0
  47. package/dist/db/schema/identity.d.ts.map +1 -0
  48. package/dist/db/schema/identity.js +258 -0
  49. package/dist/db/schema/identity.js.map +1 -0
  50. package/dist/db/schema/index.d.ts +16 -0
  51. package/dist/db/schema/index.d.ts.map +1 -0
  52. package/dist/db/schema/index.js +43 -0
  53. package/dist/db/schema/index.js.map +1 -0
  54. package/dist/db/schema/notifications.d.ts +182 -0
  55. package/dist/db/schema/notifications.d.ts.map +1 -0
  56. package/dist/db/schema/notifications.js +38 -0
  57. package/dist/db/schema/notifications.js.map +1 -0
  58. package/dist/db/schema/rag.d.ts +171 -0
  59. package/dist/db/schema/rag.d.ts.map +1 -0
  60. package/dist/db/schema/rag.js +42 -0
  61. package/dist/db/schema/rag.js.map +1 -0
  62. package/dist/db/schema/usage.d.ts +1193 -0
  63. package/dist/db/schema/usage.d.ts.map +1 -0
  64. package/dist/db/schema/usage.js +224 -0
  65. package/dist/db/schema/usage.js.map +1 -0
  66. package/dist/db/validate.d.ts +19 -0
  67. package/dist/db/validate.d.ts.map +1 -0
  68. package/dist/db/validate.js +58 -0
  69. package/dist/db/validate.js.map +1 -0
  70. package/dist/db/workspace-queries.d.ts +75 -0
  71. package/dist/db/workspace-queries.d.ts.map +1 -0
  72. package/dist/db/workspace-queries.js +78 -0
  73. package/dist/db/workspace-queries.js.map +1 -0
  74. package/dist/documents/classifier.d.ts +31 -0
  75. package/dist/documents/classifier.d.ts.map +1 -0
  76. package/dist/documents/classifier.js +41 -0
  77. package/dist/documents/classifier.js.map +1 -0
  78. package/dist/documents/errors.d.ts +32 -0
  79. package/dist/documents/errors.d.ts.map +1 -0
  80. package/dist/documents/errors.js +27 -0
  81. package/dist/documents/errors.js.map +1 -0
  82. package/dist/documents/index.d.ts +14 -0
  83. package/dist/documents/index.d.ts.map +1 -0
  84. package/dist/documents/index.js +13 -0
  85. package/dist/documents/index.js.map +1 -0
  86. package/dist/documents/service.d.ts +54 -0
  87. package/dist/documents/service.d.ts.map +1 -0
  88. package/dist/documents/service.js +146 -0
  89. package/dist/documents/service.js.map +1 -0
  90. package/dist/documents/types.d.ts +27 -0
  91. package/dist/documents/types.d.ts.map +1 -0
  92. package/dist/documents/types.js +5 -0
  93. package/dist/documents/types.js.map +1 -0
  94. package/dist/email/index.d.ts +5 -0
  95. package/dist/email/index.d.ts.map +1 -0
  96. package/dist/email/index.js +5 -0
  97. package/dist/email/index.js.map +1 -0
  98. package/dist/email/provider.d.ts +68 -0
  99. package/dist/email/provider.d.ts.map +1 -0
  100. package/dist/email/provider.js +199 -0
  101. package/dist/email/provider.js.map +1 -0
  102. package/dist/email/send.d.ts +47 -0
  103. package/dist/email/send.d.ts.map +1 -0
  104. package/dist/email/send.js +110 -0
  105. package/dist/email/send.js.map +1 -0
  106. package/dist/email/senders.d.ts +93 -0
  107. package/dist/email/senders.d.ts.map +1 -0
  108. package/dist/email/senders.js +232 -0
  109. package/dist/email/senders.js.map +1 -0
  110. package/dist/email/templates/base-layout.d.ts +7 -0
  111. package/dist/email/templates/base-layout.d.ts.map +1 -0
  112. package/dist/email/templates/base-layout.js +69 -0
  113. package/dist/email/templates/base-layout.js.map +1 -0
  114. package/dist/email/templates/index.d.ts +11 -0
  115. package/dist/email/templates/index.d.ts.map +1 -0
  116. package/dist/email/templates/index.js +17 -0
  117. package/dist/email/templates/index.js.map +1 -0
  118. package/dist/email/templates/password-reset.d.ts +7 -0
  119. package/dist/email/templates/password-reset.d.ts.map +1 -0
  120. package/dist/email/templates/password-reset.js +59 -0
  121. package/dist/email/templates/password-reset.js.map +1 -0
  122. package/dist/email/templates/payment-failed.d.ts +8 -0
  123. package/dist/email/templates/payment-failed.d.ts.map +1 -0
  124. package/dist/email/templates/payment-failed.js +62 -0
  125. package/dist/email/templates/payment-failed.js.map +1 -0
  126. package/dist/email/templates/quota-warning.d.ts +11 -0
  127. package/dist/email/templates/quota-warning.d.ts.map +1 -0
  128. package/dist/email/templates/quota-warning.js +82 -0
  129. package/dist/email/templates/quota-warning.js.map +1 -0
  130. package/dist/email/templates/subscription-confirmed.d.ts +9 -0
  131. package/dist/email/templates/subscription-confirmed.d.ts.map +1 -0
  132. package/dist/email/templates/subscription-confirmed.js +72 -0
  133. package/dist/email/templates/subscription-confirmed.js.map +1 -0
  134. package/dist/email/templates/trial-expiry.d.ts +9 -0
  135. package/dist/email/templates/trial-expiry.d.ts.map +1 -0
  136. package/dist/email/templates/trial-expiry.js +86 -0
  137. package/dist/email/templates/trial-expiry.js.map +1 -0
  138. package/dist/email/templates/trial-warning.d.ts +11 -0
  139. package/dist/email/templates/trial-warning.d.ts.map +1 -0
  140. package/dist/email/templates/trial-warning.js +70 -0
  141. package/dist/email/templates/trial-warning.js.map +1 -0
  142. package/dist/email/templates/verify-email.d.ts +7 -0
  143. package/dist/email/templates/verify-email.d.ts.map +1 -0
  144. package/dist/email/templates/verify-email.js +59 -0
  145. package/dist/email/templates/verify-email.js.map +1 -0
  146. package/dist/email/templates/welcome.d.ts +7 -0
  147. package/dist/email/templates/welcome.d.ts.map +1 -0
  148. package/dist/email/templates/welcome.js +51 -0
  149. package/dist/email/templates/welcome.js.map +1 -0
  150. package/dist/email/templates/workspace-invitation.d.ts +10 -0
  151. package/dist/email/templates/workspace-invitation.d.ts.map +1 -0
  152. package/dist/email/templates/workspace-invitation.js +79 -0
  153. package/dist/email/templates/workspace-invitation.js.map +1 -0
  154. package/dist/env.d.ts +21 -0
  155. package/dist/env.d.ts.map +1 -0
  156. package/dist/env.js +129 -0
  157. package/dist/env.js.map +1 -0
  158. package/dist/identity/audit.d.ts +39 -0
  159. package/dist/identity/audit.d.ts.map +1 -0
  160. package/dist/identity/audit.js +51 -0
  161. package/dist/identity/audit.js.map +1 -0
  162. package/dist/identity/errors.d.ts +32 -0
  163. package/dist/identity/errors.d.ts.map +1 -0
  164. package/dist/identity/errors.js +25 -0
  165. package/dist/identity/errors.js.map +1 -0
  166. package/dist/identity/index.d.ts +16 -0
  167. package/dist/identity/index.d.ts.map +1 -0
  168. package/dist/identity/index.js +15 -0
  169. package/dist/identity/index.js.map +1 -0
  170. package/dist/identity/service.d.ts +70 -0
  171. package/dist/identity/service.d.ts.map +1 -0
  172. package/dist/identity/service.js +179 -0
  173. package/dist/identity/service.js.map +1 -0
  174. package/dist/identity/types.d.ts +27 -0
  175. package/dist/identity/types.d.ts.map +1 -0
  176. package/dist/identity/types.js +5 -0
  177. package/dist/identity/types.js.map +1 -0
  178. package/dist/index.d.ts +3 -0
  179. package/dist/index.d.ts.map +1 -0
  180. package/dist/index.js +11 -0
  181. package/dist/index.js.map +1 -0
  182. package/dist/logger.d.ts +50 -0
  183. package/dist/logger.d.ts.map +1 -0
  184. package/dist/logger.js +183 -0
  185. package/dist/logger.js.map +1 -0
  186. package/dist/notifications/index.d.ts +86 -0
  187. package/dist/notifications/index.d.ts.map +1 -0
  188. package/dist/notifications/index.js +112 -0
  189. package/dist/notifications/index.js.map +1 -0
  190. package/dist/notifications/triggers.d.ts +68 -0
  191. package/dist/notifications/triggers.d.ts.map +1 -0
  192. package/dist/notifications/triggers.js +145 -0
  193. package/dist/notifications/triggers.js.map +1 -0
  194. package/dist/notifications/types.d.ts +19 -0
  195. package/dist/notifications/types.d.ts.map +1 -0
  196. package/dist/notifications/types.js +11 -0
  197. package/dist/notifications/types.js.map +1 -0
  198. package/package.json +101 -0
  199. package/src/db/migrations/0000_sharp_night_nurse.sql +52 -0
  200. package/src/db/migrations/0001_hesitant_vapor.sql +40 -0
  201. package/src/db/migrations/0002_numerous_lady_vermin.sql +235 -0
  202. package/src/db/migrations/0003_mighty_jean_grey.sql +37 -0
  203. package/src/db/migrations/0004_cynical_grandmaster.sql +2 -0
  204. package/src/db/migrations/0005_careful_switch.sql +8 -0
  205. package/src/db/migrations/0006_tense_blue_marvel.sql +16 -0
  206. package/src/db/migrations/0007_next_squadron_sinister.sql +1 -0
  207. package/src/db/migrations/0008_powerful_scream.sql +39 -0
  208. package/src/db/migrations/0009_sad_ink.sql +1 -0
  209. package/src/db/migrations/0010_shocking_omega_flight.sql +2 -0
  210. package/src/db/migrations/0011_ambiguous_otto_octavius.sql +151 -0
  211. package/src/db/migrations/0011_hnsw_vector_index.sql +17 -0
  212. package/src/db/migrations/0012_user_profiles.sql +30 -0
  213. package/src/db/migrations/0013_trending_seasonal_columns.sql +9 -0
  214. package/src/db/migrations/0014_add_product_type_to_agents.sql +6 -0
  215. package/src/db/migrations/0015_new_v1_tables.sql +149 -0
  216. package/src/db/migrations/0016_document_types.sql +30 -0
  217. package/src/db/migrations/0017_document_metadata.sql +2 -0
  218. package/src/db/migrations/0018_identity_graph.sql +200 -0
  219. package/src/db/migrations/0019_db_driven_prompts.sql +20 -0
  220. package/src/db/migrations/0020_pending_extractions.sql +35 -0
  221. package/src/db/migrations/0021_rag_documents.sql +39 -0
  222. package/src/db/migrations/0022_user_quotas_usage_jsonb.sql +70 -0
  223. package/src/db/migrations/0023_user_facts_user_scoped_unique.sql +17 -0
  224. package/src/db/migrations/0024_user_memories_hnsw.sql +23 -0
  225. package/src/db/migrations/0025_audit_trigger_errcode.sql +21 -0
  226. package/src/db/migrations/0026_user_profile_snapshots_composite_pk.sql +17 -0
  227. package/src/db/migrations/0027_billing_settings_mnt_columns.sql +54 -0
  228. package/src/db/migrations/0028_trial_credits_normalized_email.sql +37 -0
  229. package/src/db/migrations/0029_usage_records_conversation_idx.sql +13 -0
  230. package/src/db/migrations/0030_pending_extractions_composite_idx.sql +11 -0
  231. package/src/db/migrations/0031_rag_documents_hnsw.sql +16 -0
  232. package/src/db/migrations/0032_rate_limit_unique_idx.sql +16 -0
  233. package/src/db/migrations/0033_pending_extractions_partial_idx.sql +18 -0
  234. package/src/db/migrations/0034_rate_limit_count.sql +9 -0
  235. package/src/db/migrations/0035_credit_reservations.sql +24 -0
  236. package/src/db/migrations/0036_executions_audit_jobs.sql +96 -0
  237. package/src/db/migrations/0037_rate_limit_minute_bucket.sql +46 -0
  238. package/src/db/migrations/0038_user_quotas_generic_usage.sql +25 -0
  239. package/src/db/migrations/0039_platform_admin_impersonation.sql +27 -0
  240. package/src/db/migrations/0040_ee_audit_chain.sql +23 -0
  241. package/src/db/migrations/README.md +57 -0
  242. package/src/db/migrations/meta/0000_snapshot.json +348 -0
  243. package/src/db/migrations/meta/0001_snapshot.json +631 -0
  244. package/src/db/migrations/meta/0002_snapshot.json +2269 -0
  245. package/src/db/migrations/meta/0003_snapshot.json +2488 -0
  246. package/src/db/migrations/meta/0004_snapshot.json +2500 -0
  247. package/src/db/migrations/meta/0005_snapshot.json +2548 -0
  248. package/src/db/migrations/meta/0006_snapshot.json +2650 -0
  249. package/src/db/migrations/meta/0007_snapshot.json +2657 -0
  250. package/src/db/migrations/meta/0008_snapshot.json +2719 -0
  251. package/src/db/migrations/meta/0009_snapshot.json +2726 -0
  252. package/src/db/migrations/meta/0010_snapshot.json +2739 -0
  253. package/src/db/migrations/meta/0011_snapshot.json +3886 -0
  254. package/src/db/migrations/meta/_journal.json +300 -0
@@ -0,0 +1,1199 @@
1
+ /**
2
+ * Billing Database Schema
3
+ *
4
+ * Tables for managing subscriptions, plans, credits, and finance events.
5
+ * Used by Stripe integration for subscription and credit-based billing.
6
+ *
7
+ * Pattern: snake_case columns in PostgreSQL, camelCase TypeScript API (via Drizzle mapping)
8
+ */
9
+ /**
10
+ * Plans table - DB-configured pricing plans per product
11
+ * Allows dynamic plan changes without code deployment
12
+ */
13
+ export declare const plans: import("drizzle-orm/pg-core").PgTableWithColumns<{
14
+ name: "plans";
15
+ schema: undefined;
16
+ columns: {
17
+ id: import("drizzle-orm/pg-core").PgColumn<{
18
+ name: "id";
19
+ tableName: "plans";
20
+ dataType: "string";
21
+ columnType: "PgText";
22
+ data: string;
23
+ driverParam: string;
24
+ notNull: true;
25
+ hasDefault: false;
26
+ isPrimaryKey: true;
27
+ isAutoincrement: false;
28
+ hasRuntimeDefault: false;
29
+ enumValues: [string, ...string[]];
30
+ baseColumn: never;
31
+ identity: undefined;
32
+ generated: undefined;
33
+ }, {}, {}>;
34
+ name: import("drizzle-orm/pg-core").PgColumn<{
35
+ name: "name";
36
+ tableName: "plans";
37
+ dataType: "string";
38
+ columnType: "PgText";
39
+ data: string;
40
+ driverParam: string;
41
+ notNull: true;
42
+ hasDefault: false;
43
+ isPrimaryKey: false;
44
+ isAutoincrement: false;
45
+ hasRuntimeDefault: false;
46
+ enumValues: [string, ...string[]];
47
+ baseColumn: never;
48
+ identity: undefined;
49
+ generated: undefined;
50
+ }, {}, {}>;
51
+ slug: import("drizzle-orm/pg-core").PgColumn<{
52
+ name: "slug";
53
+ tableName: "plans";
54
+ dataType: "string";
55
+ columnType: "PgText";
56
+ data: string;
57
+ driverParam: string;
58
+ notNull: true;
59
+ hasDefault: false;
60
+ isPrimaryKey: false;
61
+ isAutoincrement: false;
62
+ hasRuntimeDefault: false;
63
+ enumValues: [string, ...string[]];
64
+ baseColumn: never;
65
+ identity: undefined;
66
+ generated: undefined;
67
+ }, {}, {}>;
68
+ description: import("drizzle-orm/pg-core").PgColumn<{
69
+ name: "description";
70
+ tableName: "plans";
71
+ dataType: "string";
72
+ columnType: "PgText";
73
+ data: string;
74
+ driverParam: string;
75
+ notNull: false;
76
+ hasDefault: false;
77
+ isPrimaryKey: false;
78
+ isAutoincrement: false;
79
+ hasRuntimeDefault: false;
80
+ enumValues: [string, ...string[]];
81
+ baseColumn: never;
82
+ identity: undefined;
83
+ generated: undefined;
84
+ }, {}, {}>;
85
+ priceMonthly: import("drizzle-orm/pg-core").PgColumn<{
86
+ name: "price_monthly";
87
+ tableName: "plans";
88
+ dataType: "number";
89
+ columnType: "PgInteger";
90
+ data: number;
91
+ driverParam: string | number;
92
+ notNull: true;
93
+ hasDefault: false;
94
+ isPrimaryKey: false;
95
+ isAutoincrement: false;
96
+ hasRuntimeDefault: false;
97
+ enumValues: undefined;
98
+ baseColumn: never;
99
+ identity: undefined;
100
+ generated: undefined;
101
+ }, {}, {}>;
102
+ priceYearly: import("drizzle-orm/pg-core").PgColumn<{
103
+ name: "price_yearly";
104
+ tableName: "plans";
105
+ dataType: "number";
106
+ columnType: "PgInteger";
107
+ data: number;
108
+ driverParam: string | number;
109
+ notNull: true;
110
+ hasDefault: false;
111
+ isPrimaryKey: false;
112
+ isAutoincrement: false;
113
+ hasRuntimeDefault: false;
114
+ enumValues: undefined;
115
+ baseColumn: never;
116
+ identity: undefined;
117
+ generated: undefined;
118
+ }, {}, {}>;
119
+ stripePriceIdMonthly: import("drizzle-orm/pg-core").PgColumn<{
120
+ name: "stripe_price_id_monthly";
121
+ tableName: "plans";
122
+ dataType: "string";
123
+ columnType: "PgText";
124
+ data: string;
125
+ driverParam: string;
126
+ notNull: false;
127
+ hasDefault: false;
128
+ isPrimaryKey: false;
129
+ isAutoincrement: false;
130
+ hasRuntimeDefault: false;
131
+ enumValues: [string, ...string[]];
132
+ baseColumn: never;
133
+ identity: undefined;
134
+ generated: undefined;
135
+ }, {}, {}>;
136
+ stripePriceIdYearly: import("drizzle-orm/pg-core").PgColumn<{
137
+ name: "stripe_price_id_yearly";
138
+ tableName: "plans";
139
+ dataType: "string";
140
+ columnType: "PgText";
141
+ data: string;
142
+ driverParam: string;
143
+ notNull: false;
144
+ hasDefault: false;
145
+ isPrimaryKey: false;
146
+ isAutoincrement: false;
147
+ hasRuntimeDefault: false;
148
+ enumValues: [string, ...string[]];
149
+ baseColumn: never;
150
+ identity: undefined;
151
+ generated: undefined;
152
+ }, {}, {}>;
153
+ features: import("drizzle-orm/pg-core").PgColumn<{
154
+ name: "features";
155
+ tableName: "plans";
156
+ dataType: "string";
157
+ columnType: "PgText";
158
+ data: string;
159
+ driverParam: string;
160
+ notNull: true;
161
+ hasDefault: false;
162
+ isPrimaryKey: false;
163
+ isAutoincrement: false;
164
+ hasRuntimeDefault: false;
165
+ enumValues: [string, ...string[]];
166
+ baseColumn: never;
167
+ identity: undefined;
168
+ generated: undefined;
169
+ }, {}, {}>;
170
+ limits: import("drizzle-orm/pg-core").PgColumn<{
171
+ name: "limits";
172
+ tableName: "plans";
173
+ dataType: "string";
174
+ columnType: "PgText";
175
+ data: string;
176
+ driverParam: string;
177
+ notNull: true;
178
+ hasDefault: false;
179
+ isPrimaryKey: false;
180
+ isAutoincrement: false;
181
+ hasRuntimeDefault: false;
182
+ enumValues: [string, ...string[]];
183
+ baseColumn: never;
184
+ identity: undefined;
185
+ generated: undefined;
186
+ }, {}, {}>;
187
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
188
+ name: "is_active";
189
+ tableName: "plans";
190
+ dataType: "boolean";
191
+ columnType: "PgBoolean";
192
+ data: boolean;
193
+ driverParam: boolean;
194
+ notNull: true;
195
+ hasDefault: true;
196
+ isPrimaryKey: false;
197
+ isAutoincrement: false;
198
+ hasRuntimeDefault: false;
199
+ enumValues: undefined;
200
+ baseColumn: never;
201
+ identity: undefined;
202
+ generated: undefined;
203
+ }, {}, {}>;
204
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
205
+ name: "sort_order";
206
+ tableName: "plans";
207
+ dataType: "number";
208
+ columnType: "PgInteger";
209
+ data: number;
210
+ driverParam: string | number;
211
+ notNull: true;
212
+ hasDefault: true;
213
+ isPrimaryKey: false;
214
+ isAutoincrement: false;
215
+ hasRuntimeDefault: false;
216
+ enumValues: undefined;
217
+ baseColumn: never;
218
+ identity: undefined;
219
+ generated: undefined;
220
+ }, {}, {}>;
221
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
222
+ name: "created_at";
223
+ tableName: "plans";
224
+ dataType: "date";
225
+ columnType: "PgTimestamp";
226
+ data: Date;
227
+ driverParam: string;
228
+ notNull: true;
229
+ hasDefault: true;
230
+ isPrimaryKey: false;
231
+ isAutoincrement: false;
232
+ hasRuntimeDefault: false;
233
+ enumValues: undefined;
234
+ baseColumn: never;
235
+ identity: undefined;
236
+ generated: undefined;
237
+ }, {}, {}>;
238
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
239
+ name: "updated_at";
240
+ tableName: "plans";
241
+ dataType: "date";
242
+ columnType: "PgTimestamp";
243
+ data: Date;
244
+ driverParam: string;
245
+ notNull: true;
246
+ hasDefault: true;
247
+ isPrimaryKey: false;
248
+ isAutoincrement: false;
249
+ hasRuntimeDefault: false;
250
+ enumValues: undefined;
251
+ baseColumn: never;
252
+ identity: undefined;
253
+ generated: undefined;
254
+ }, {}, {}>;
255
+ };
256
+ dialect: "pg";
257
+ }>;
258
+ /**
259
+ * Subscriptions table - Workspace subscription state
260
+ * Each workspace has one active subscription (unique constraint)
261
+ */
262
+ export declare const subscriptions: import("drizzle-orm/pg-core").PgTableWithColumns<{
263
+ name: "subscriptions";
264
+ schema: undefined;
265
+ columns: {
266
+ id: import("drizzle-orm/pg-core").PgColumn<{
267
+ name: "id";
268
+ tableName: "subscriptions";
269
+ dataType: "string";
270
+ columnType: "PgText";
271
+ data: string;
272
+ driverParam: string;
273
+ notNull: true;
274
+ hasDefault: false;
275
+ isPrimaryKey: true;
276
+ isAutoincrement: false;
277
+ hasRuntimeDefault: false;
278
+ enumValues: [string, ...string[]];
279
+ baseColumn: never;
280
+ identity: undefined;
281
+ generated: undefined;
282
+ }, {}, {}>;
283
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
284
+ name: "workspace_id";
285
+ tableName: "subscriptions";
286
+ dataType: "string";
287
+ columnType: "PgText";
288
+ data: string;
289
+ driverParam: string;
290
+ notNull: true;
291
+ hasDefault: false;
292
+ isPrimaryKey: false;
293
+ isAutoincrement: false;
294
+ hasRuntimeDefault: false;
295
+ enumValues: [string, ...string[]];
296
+ baseColumn: never;
297
+ identity: undefined;
298
+ generated: undefined;
299
+ }, {}, {}>;
300
+ planId: import("drizzle-orm/pg-core").PgColumn<{
301
+ name: "plan_id";
302
+ tableName: "subscriptions";
303
+ dataType: "string";
304
+ columnType: "PgText";
305
+ data: string;
306
+ driverParam: string;
307
+ notNull: true;
308
+ hasDefault: false;
309
+ isPrimaryKey: false;
310
+ isAutoincrement: false;
311
+ hasRuntimeDefault: false;
312
+ enumValues: [string, ...string[]];
313
+ baseColumn: never;
314
+ identity: undefined;
315
+ generated: undefined;
316
+ }, {}, {}>;
317
+ stripeCustomerId: import("drizzle-orm/pg-core").PgColumn<{
318
+ name: "stripe_customer_id";
319
+ tableName: "subscriptions";
320
+ dataType: "string";
321
+ columnType: "PgText";
322
+ data: string;
323
+ driverParam: string;
324
+ notNull: false;
325
+ hasDefault: false;
326
+ isPrimaryKey: false;
327
+ isAutoincrement: false;
328
+ hasRuntimeDefault: false;
329
+ enumValues: [string, ...string[]];
330
+ baseColumn: never;
331
+ identity: undefined;
332
+ generated: undefined;
333
+ }, {}, {}>;
334
+ stripeSubscriptionId: import("drizzle-orm/pg-core").PgColumn<{
335
+ name: "stripe_subscription_id";
336
+ tableName: "subscriptions";
337
+ dataType: "string";
338
+ columnType: "PgText";
339
+ data: string;
340
+ driverParam: string;
341
+ notNull: false;
342
+ hasDefault: false;
343
+ isPrimaryKey: false;
344
+ isAutoincrement: false;
345
+ hasRuntimeDefault: false;
346
+ enumValues: [string, ...string[]];
347
+ baseColumn: never;
348
+ identity: undefined;
349
+ generated: undefined;
350
+ }, {}, {}>;
351
+ status: import("drizzle-orm/pg-core").PgColumn<{
352
+ name: "status";
353
+ tableName: "subscriptions";
354
+ dataType: "string";
355
+ columnType: "PgText";
356
+ data: string;
357
+ driverParam: string;
358
+ notNull: true;
359
+ hasDefault: true;
360
+ isPrimaryKey: false;
361
+ isAutoincrement: false;
362
+ hasRuntimeDefault: false;
363
+ enumValues: [string, ...string[]];
364
+ baseColumn: never;
365
+ identity: undefined;
366
+ generated: undefined;
367
+ }, {}, {}>;
368
+ billingMode: import("drizzle-orm/pg-core").PgColumn<{
369
+ name: "billing_mode";
370
+ tableName: "subscriptions";
371
+ dataType: "string";
372
+ columnType: "PgText";
373
+ data: string;
374
+ driverParam: string;
375
+ notNull: true;
376
+ hasDefault: true;
377
+ isPrimaryKey: false;
378
+ isAutoincrement: false;
379
+ hasRuntimeDefault: false;
380
+ enumValues: [string, ...string[]];
381
+ baseColumn: never;
382
+ identity: undefined;
383
+ generated: undefined;
384
+ }, {}, {}>;
385
+ currentPeriodStart: import("drizzle-orm/pg-core").PgColumn<{
386
+ name: "current_period_start";
387
+ tableName: "subscriptions";
388
+ dataType: "date";
389
+ columnType: "PgTimestamp";
390
+ data: Date;
391
+ driverParam: string;
392
+ notNull: false;
393
+ hasDefault: false;
394
+ isPrimaryKey: false;
395
+ isAutoincrement: false;
396
+ hasRuntimeDefault: false;
397
+ enumValues: undefined;
398
+ baseColumn: never;
399
+ identity: undefined;
400
+ generated: undefined;
401
+ }, {}, {}>;
402
+ currentPeriodEnd: import("drizzle-orm/pg-core").PgColumn<{
403
+ name: "current_period_end";
404
+ tableName: "subscriptions";
405
+ dataType: "date";
406
+ columnType: "PgTimestamp";
407
+ data: Date;
408
+ driverParam: string;
409
+ notNull: false;
410
+ hasDefault: false;
411
+ isPrimaryKey: false;
412
+ isAutoincrement: false;
413
+ hasRuntimeDefault: false;
414
+ enumValues: undefined;
415
+ baseColumn: never;
416
+ identity: undefined;
417
+ generated: undefined;
418
+ }, {}, {}>;
419
+ cancelAtPeriodEnd: import("drizzle-orm/pg-core").PgColumn<{
420
+ name: "cancel_at_period_end";
421
+ tableName: "subscriptions";
422
+ dataType: "boolean";
423
+ columnType: "PgBoolean";
424
+ data: boolean;
425
+ driverParam: boolean;
426
+ notNull: true;
427
+ hasDefault: true;
428
+ isPrimaryKey: false;
429
+ isAutoincrement: false;
430
+ hasRuntimeDefault: false;
431
+ enumValues: undefined;
432
+ baseColumn: never;
433
+ identity: undefined;
434
+ generated: undefined;
435
+ }, {}, {}>;
436
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
437
+ name: "created_at";
438
+ tableName: "subscriptions";
439
+ dataType: "date";
440
+ columnType: "PgTimestamp";
441
+ data: Date;
442
+ driverParam: string;
443
+ notNull: true;
444
+ hasDefault: true;
445
+ isPrimaryKey: false;
446
+ isAutoincrement: false;
447
+ hasRuntimeDefault: false;
448
+ enumValues: undefined;
449
+ baseColumn: never;
450
+ identity: undefined;
451
+ generated: undefined;
452
+ }, {}, {}>;
453
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
454
+ name: "updated_at";
455
+ tableName: "subscriptions";
456
+ dataType: "date";
457
+ columnType: "PgTimestamp";
458
+ data: Date;
459
+ driverParam: string;
460
+ notNull: true;
461
+ hasDefault: true;
462
+ isPrimaryKey: false;
463
+ isAutoincrement: false;
464
+ hasRuntimeDefault: false;
465
+ enumValues: undefined;
466
+ baseColumn: never;
467
+ identity: undefined;
468
+ generated: undefined;
469
+ }, {}, {}>;
470
+ };
471
+ dialect: "pg";
472
+ }>;
473
+ /**
474
+ * Credit balances table - Credit mode balance tracking
475
+ * Each workspace has one credit balance record (unique constraint on workspaceId)
476
+ */
477
+ export declare const creditBalances: import("drizzle-orm/pg-core").PgTableWithColumns<{
478
+ name: "credit_balances";
479
+ schema: undefined;
480
+ columns: {
481
+ id: import("drizzle-orm/pg-core").PgColumn<{
482
+ name: "id";
483
+ tableName: "credit_balances";
484
+ dataType: "string";
485
+ columnType: "PgText";
486
+ data: string;
487
+ driverParam: string;
488
+ notNull: true;
489
+ hasDefault: false;
490
+ isPrimaryKey: true;
491
+ isAutoincrement: false;
492
+ hasRuntimeDefault: false;
493
+ enumValues: [string, ...string[]];
494
+ baseColumn: never;
495
+ identity: undefined;
496
+ generated: undefined;
497
+ }, {}, {}>;
498
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
499
+ name: "workspace_id";
500
+ tableName: "credit_balances";
501
+ dataType: "string";
502
+ columnType: "PgText";
503
+ data: string;
504
+ driverParam: string;
505
+ notNull: true;
506
+ hasDefault: false;
507
+ isPrimaryKey: false;
508
+ isAutoincrement: false;
509
+ hasRuntimeDefault: false;
510
+ enumValues: [string, ...string[]];
511
+ baseColumn: never;
512
+ identity: undefined;
513
+ generated: undefined;
514
+ }, {}, {}>;
515
+ balance: import("drizzle-orm/pg-core").PgColumn<{
516
+ name: "balance";
517
+ tableName: "credit_balances";
518
+ dataType: "number";
519
+ columnType: "PgInteger";
520
+ data: number;
521
+ driverParam: string | number;
522
+ notNull: true;
523
+ hasDefault: true;
524
+ isPrimaryKey: false;
525
+ isAutoincrement: false;
526
+ hasRuntimeDefault: false;
527
+ enumValues: undefined;
528
+ baseColumn: never;
529
+ identity: undefined;
530
+ generated: undefined;
531
+ }, {}, {}>;
532
+ totalPurchased: import("drizzle-orm/pg-core").PgColumn<{
533
+ name: "total_purchased";
534
+ tableName: "credit_balances";
535
+ dataType: "number";
536
+ columnType: "PgInteger";
537
+ data: number;
538
+ driverParam: string | number;
539
+ notNull: true;
540
+ hasDefault: true;
541
+ isPrimaryKey: false;
542
+ isAutoincrement: false;
543
+ hasRuntimeDefault: false;
544
+ enumValues: undefined;
545
+ baseColumn: never;
546
+ identity: undefined;
547
+ generated: undefined;
548
+ }, {}, {}>;
549
+ totalUsed: import("drizzle-orm/pg-core").PgColumn<{
550
+ name: "total_used";
551
+ tableName: "credit_balances";
552
+ dataType: "number";
553
+ columnType: "PgInteger";
554
+ data: number;
555
+ driverParam: string | number;
556
+ notNull: true;
557
+ hasDefault: true;
558
+ isPrimaryKey: false;
559
+ isAutoincrement: false;
560
+ hasRuntimeDefault: false;
561
+ enumValues: undefined;
562
+ baseColumn: never;
563
+ identity: undefined;
564
+ generated: undefined;
565
+ }, {}, {}>;
566
+ balanceMnt: import("drizzle-orm/pg-core").PgColumn<{
567
+ name: "balance_mnt";
568
+ tableName: "credit_balances";
569
+ dataType: "number";
570
+ columnType: "PgInteger";
571
+ data: number;
572
+ driverParam: string | number;
573
+ notNull: true;
574
+ hasDefault: true;
575
+ isPrimaryKey: false;
576
+ isAutoincrement: false;
577
+ hasRuntimeDefault: false;
578
+ enumValues: undefined;
579
+ baseColumn: never;
580
+ identity: undefined;
581
+ generated: undefined;
582
+ }, {}, {}>;
583
+ totalPurchasedMnt: import("drizzle-orm/pg-core").PgColumn<{
584
+ name: "total_purchased_mnt";
585
+ tableName: "credit_balances";
586
+ dataType: "number";
587
+ columnType: "PgInteger";
588
+ data: number;
589
+ driverParam: string | number;
590
+ notNull: true;
591
+ hasDefault: true;
592
+ isPrimaryKey: false;
593
+ isAutoincrement: false;
594
+ hasRuntimeDefault: false;
595
+ enumValues: undefined;
596
+ baseColumn: never;
597
+ identity: undefined;
598
+ generated: undefined;
599
+ }, {}, {}>;
600
+ totalUsedMnt: import("drizzle-orm/pg-core").PgColumn<{
601
+ name: "total_used_mnt";
602
+ tableName: "credit_balances";
603
+ dataType: "number";
604
+ columnType: "PgInteger";
605
+ data: number;
606
+ driverParam: string | number;
607
+ notNull: true;
608
+ hasDefault: true;
609
+ isPrimaryKey: false;
610
+ isAutoincrement: false;
611
+ hasRuntimeDefault: false;
612
+ enumValues: undefined;
613
+ baseColumn: never;
614
+ identity: undefined;
615
+ generated: undefined;
616
+ }, {}, {}>;
617
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
618
+ name: "updated_at";
619
+ tableName: "credit_balances";
620
+ dataType: "date";
621
+ columnType: "PgTimestamp";
622
+ data: Date;
623
+ driverParam: string;
624
+ notNull: true;
625
+ hasDefault: true;
626
+ isPrimaryKey: false;
627
+ isAutoincrement: false;
628
+ hasRuntimeDefault: false;
629
+ enumValues: undefined;
630
+ baseColumn: never;
631
+ identity: undefined;
632
+ generated: undefined;
633
+ }, {}, {}>;
634
+ };
635
+ dialect: "pg";
636
+ }>;
637
+ /**
638
+ * Billing Settings — singleton table holding the live FX rate and
639
+ * margin multiplier. Read once per request (cached 60s in-process) so
640
+ * model price changes and FX moves can be deployed without a code push.
641
+ *
642
+ * Convention: exactly one row with id = "default".
643
+ */
644
+ export declare const billingSettings: import("drizzle-orm/pg-core").PgTableWithColumns<{
645
+ name: "billing_settings";
646
+ schema: undefined;
647
+ columns: {
648
+ id: import("drizzle-orm/pg-core").PgColumn<{
649
+ name: "id";
650
+ tableName: "billing_settings";
651
+ dataType: "string";
652
+ columnType: "PgText";
653
+ data: string;
654
+ driverParam: string;
655
+ notNull: true;
656
+ hasDefault: false;
657
+ isPrimaryKey: true;
658
+ isAutoincrement: false;
659
+ hasRuntimeDefault: false;
660
+ enumValues: [string, ...string[]];
661
+ baseColumn: never;
662
+ identity: undefined;
663
+ generated: undefined;
664
+ }, {}, {}>;
665
+ usdToMntRate: import("drizzle-orm/pg-core").PgColumn<{
666
+ name: "usd_to_mnt_rate";
667
+ tableName: "billing_settings";
668
+ dataType: "number";
669
+ columnType: "PgInteger";
670
+ data: number;
671
+ driverParam: string | number;
672
+ notNull: true;
673
+ hasDefault: true;
674
+ isPrimaryKey: false;
675
+ isAutoincrement: false;
676
+ hasRuntimeDefault: false;
677
+ enumValues: undefined;
678
+ baseColumn: never;
679
+ identity: undefined;
680
+ generated: undefined;
681
+ }, {}, {}>;
682
+ marginMultiplierBp: import("drizzle-orm/pg-core").PgColumn<{
683
+ name: "margin_multiplier_bp";
684
+ tableName: "billing_settings";
685
+ dataType: "number";
686
+ columnType: "PgInteger";
687
+ data: number;
688
+ driverParam: string | number;
689
+ notNull: true;
690
+ hasDefault: true;
691
+ isPrimaryKey: false;
692
+ isAutoincrement: false;
693
+ hasRuntimeDefault: false;
694
+ enumValues: undefined;
695
+ baseColumn: never;
696
+ identity: undefined;
697
+ generated: undefined;
698
+ }, {}, {}>;
699
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
700
+ name: "updated_at";
701
+ tableName: "billing_settings";
702
+ dataType: "date";
703
+ columnType: "PgTimestamp";
704
+ data: Date;
705
+ driverParam: string;
706
+ notNull: true;
707
+ hasDefault: true;
708
+ isPrimaryKey: false;
709
+ isAutoincrement: false;
710
+ hasRuntimeDefault: false;
711
+ enumValues: undefined;
712
+ baseColumn: never;
713
+ identity: undefined;
714
+ generated: undefined;
715
+ }, {}, {}>;
716
+ };
717
+ dialect: "pg";
718
+ }>;
719
+ /**
720
+ * Credit purchases table - One-time credit purchases
721
+ * Tracks all credit purchase transactions
722
+ */
723
+ export declare const creditPurchases: import("drizzle-orm/pg-core").PgTableWithColumns<{
724
+ name: "credit_purchases";
725
+ schema: undefined;
726
+ columns: {
727
+ id: import("drizzle-orm/pg-core").PgColumn<{
728
+ name: "id";
729
+ tableName: "credit_purchases";
730
+ dataType: "string";
731
+ columnType: "PgText";
732
+ data: string;
733
+ driverParam: string;
734
+ notNull: true;
735
+ hasDefault: false;
736
+ isPrimaryKey: true;
737
+ isAutoincrement: false;
738
+ hasRuntimeDefault: false;
739
+ enumValues: [string, ...string[]];
740
+ baseColumn: never;
741
+ identity: undefined;
742
+ generated: undefined;
743
+ }, {}, {}>;
744
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
745
+ name: "workspace_id";
746
+ tableName: "credit_purchases";
747
+ dataType: "string";
748
+ columnType: "PgText";
749
+ data: string;
750
+ driverParam: string;
751
+ notNull: true;
752
+ hasDefault: false;
753
+ isPrimaryKey: false;
754
+ isAutoincrement: false;
755
+ hasRuntimeDefault: false;
756
+ enumValues: [string, ...string[]];
757
+ baseColumn: never;
758
+ identity: undefined;
759
+ generated: undefined;
760
+ }, {}, {}>;
761
+ amount: import("drizzle-orm/pg-core").PgColumn<{
762
+ name: "amount";
763
+ tableName: "credit_purchases";
764
+ dataType: "number";
765
+ columnType: "PgInteger";
766
+ data: number;
767
+ driverParam: string | number;
768
+ notNull: true;
769
+ hasDefault: false;
770
+ isPrimaryKey: false;
771
+ isAutoincrement: false;
772
+ hasRuntimeDefault: false;
773
+ enumValues: undefined;
774
+ baseColumn: never;
775
+ identity: undefined;
776
+ generated: undefined;
777
+ }, {}, {}>;
778
+ credits: import("drizzle-orm/pg-core").PgColumn<{
779
+ name: "credits";
780
+ tableName: "credit_purchases";
781
+ dataType: "number";
782
+ columnType: "PgInteger";
783
+ data: number;
784
+ driverParam: string | number;
785
+ notNull: true;
786
+ hasDefault: false;
787
+ isPrimaryKey: false;
788
+ isAutoincrement: false;
789
+ hasRuntimeDefault: false;
790
+ enumValues: undefined;
791
+ baseColumn: never;
792
+ identity: undefined;
793
+ generated: undefined;
794
+ }, {}, {}>;
795
+ stripePaymentIntentId: import("drizzle-orm/pg-core").PgColumn<{
796
+ name: "stripe_payment_intent_id";
797
+ tableName: "credit_purchases";
798
+ dataType: "string";
799
+ columnType: "PgText";
800
+ data: string;
801
+ driverParam: string;
802
+ notNull: false;
803
+ hasDefault: false;
804
+ isPrimaryKey: false;
805
+ isAutoincrement: false;
806
+ hasRuntimeDefault: false;
807
+ enumValues: [string, ...string[]];
808
+ baseColumn: never;
809
+ identity: undefined;
810
+ generated: undefined;
811
+ }, {}, {}>;
812
+ stripeCheckoutSessionId: import("drizzle-orm/pg-core").PgColumn<{
813
+ name: "stripe_checkout_session_id";
814
+ tableName: "credit_purchases";
815
+ dataType: "string";
816
+ columnType: "PgText";
817
+ data: string;
818
+ driverParam: string;
819
+ notNull: false;
820
+ hasDefault: false;
821
+ isPrimaryKey: false;
822
+ isAutoincrement: false;
823
+ hasRuntimeDefault: false;
824
+ enumValues: [string, ...string[]];
825
+ baseColumn: never;
826
+ identity: undefined;
827
+ generated: undefined;
828
+ }, {}, {}>;
829
+ status: import("drizzle-orm/pg-core").PgColumn<{
830
+ name: "status";
831
+ tableName: "credit_purchases";
832
+ dataType: "string";
833
+ columnType: "PgText";
834
+ data: string;
835
+ driverParam: string;
836
+ notNull: true;
837
+ hasDefault: true;
838
+ isPrimaryKey: false;
839
+ isAutoincrement: false;
840
+ hasRuntimeDefault: false;
841
+ enumValues: [string, ...string[]];
842
+ baseColumn: never;
843
+ identity: undefined;
844
+ generated: undefined;
845
+ }, {}, {}>;
846
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
847
+ name: "created_at";
848
+ tableName: "credit_purchases";
849
+ dataType: "date";
850
+ columnType: "PgTimestamp";
851
+ data: Date;
852
+ driverParam: string;
853
+ notNull: true;
854
+ hasDefault: true;
855
+ isPrimaryKey: false;
856
+ isAutoincrement: false;
857
+ hasRuntimeDefault: false;
858
+ enumValues: undefined;
859
+ baseColumn: never;
860
+ identity: undefined;
861
+ generated: undefined;
862
+ }, {}, {}>;
863
+ };
864
+ dialect: "pg";
865
+ }>;
866
+ /**
867
+ * Finance events table - Audit trail for all Stripe events
868
+ * Ensures idempotent webhook processing and financial audit trail
869
+ */
870
+ export declare const financeEvents: import("drizzle-orm/pg-core").PgTableWithColumns<{
871
+ name: "finance_events";
872
+ schema: undefined;
873
+ columns: {
874
+ id: import("drizzle-orm/pg-core").PgColumn<{
875
+ name: "id";
876
+ tableName: "finance_events";
877
+ dataType: "string";
878
+ columnType: "PgText";
879
+ data: string;
880
+ driverParam: string;
881
+ notNull: true;
882
+ hasDefault: false;
883
+ isPrimaryKey: true;
884
+ isAutoincrement: false;
885
+ hasRuntimeDefault: false;
886
+ enumValues: [string, ...string[]];
887
+ baseColumn: never;
888
+ identity: undefined;
889
+ generated: undefined;
890
+ }, {}, {}>;
891
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
892
+ name: "workspace_id";
893
+ tableName: "finance_events";
894
+ dataType: "string";
895
+ columnType: "PgText";
896
+ data: string;
897
+ driverParam: string;
898
+ notNull: false;
899
+ hasDefault: false;
900
+ isPrimaryKey: false;
901
+ isAutoincrement: false;
902
+ hasRuntimeDefault: false;
903
+ enumValues: [string, ...string[]];
904
+ baseColumn: never;
905
+ identity: undefined;
906
+ generated: undefined;
907
+ }, {}, {}>;
908
+ stripeEventId: import("drizzle-orm/pg-core").PgColumn<{
909
+ name: "stripe_event_id";
910
+ tableName: "finance_events";
911
+ dataType: "string";
912
+ columnType: "PgText";
913
+ data: string;
914
+ driverParam: string;
915
+ notNull: true;
916
+ hasDefault: false;
917
+ isPrimaryKey: false;
918
+ isAutoincrement: false;
919
+ hasRuntimeDefault: false;
920
+ enumValues: [string, ...string[]];
921
+ baseColumn: never;
922
+ identity: undefined;
923
+ generated: undefined;
924
+ }, {}, {}>;
925
+ type: import("drizzle-orm/pg-core").PgColumn<{
926
+ name: "type";
927
+ tableName: "finance_events";
928
+ dataType: "string";
929
+ columnType: "PgText";
930
+ data: string;
931
+ driverParam: string;
932
+ notNull: true;
933
+ hasDefault: false;
934
+ isPrimaryKey: false;
935
+ isAutoincrement: false;
936
+ hasRuntimeDefault: false;
937
+ enumValues: [string, ...string[]];
938
+ baseColumn: never;
939
+ identity: undefined;
940
+ generated: undefined;
941
+ }, {}, {}>;
942
+ amount: import("drizzle-orm/pg-core").PgColumn<{
943
+ name: "amount";
944
+ tableName: "finance_events";
945
+ dataType: "number";
946
+ columnType: "PgInteger";
947
+ data: number;
948
+ driverParam: string | number;
949
+ notNull: false;
950
+ hasDefault: false;
951
+ isPrimaryKey: false;
952
+ isAutoincrement: false;
953
+ hasRuntimeDefault: false;
954
+ enumValues: undefined;
955
+ baseColumn: never;
956
+ identity: undefined;
957
+ generated: undefined;
958
+ }, {}, {}>;
959
+ currency: import("drizzle-orm/pg-core").PgColumn<{
960
+ name: "currency";
961
+ tableName: "finance_events";
962
+ dataType: "string";
963
+ columnType: "PgText";
964
+ data: string;
965
+ driverParam: string;
966
+ notNull: false;
967
+ hasDefault: true;
968
+ isPrimaryKey: false;
969
+ isAutoincrement: false;
970
+ hasRuntimeDefault: false;
971
+ enumValues: [string, ...string[]];
972
+ baseColumn: never;
973
+ identity: undefined;
974
+ generated: undefined;
975
+ }, {}, {}>;
976
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
977
+ name: "metadata";
978
+ tableName: "finance_events";
979
+ dataType: "string";
980
+ columnType: "PgText";
981
+ data: string;
982
+ driverParam: string;
983
+ notNull: false;
984
+ hasDefault: false;
985
+ isPrimaryKey: false;
986
+ isAutoincrement: false;
987
+ hasRuntimeDefault: false;
988
+ enumValues: [string, ...string[]];
989
+ baseColumn: never;
990
+ identity: undefined;
991
+ generated: undefined;
992
+ }, {}, {}>;
993
+ processedAt: import("drizzle-orm/pg-core").PgColumn<{
994
+ name: "processed_at";
995
+ tableName: "finance_events";
996
+ dataType: "date";
997
+ columnType: "PgTimestamp";
998
+ data: Date;
999
+ driverParam: string;
1000
+ notNull: false;
1001
+ hasDefault: false;
1002
+ isPrimaryKey: false;
1003
+ isAutoincrement: false;
1004
+ hasRuntimeDefault: false;
1005
+ enumValues: undefined;
1006
+ baseColumn: never;
1007
+ identity: undefined;
1008
+ generated: undefined;
1009
+ }, {}, {}>;
1010
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1011
+ name: "created_at";
1012
+ tableName: "finance_events";
1013
+ dataType: "date";
1014
+ columnType: "PgTimestamp";
1015
+ data: Date;
1016
+ driverParam: string;
1017
+ notNull: true;
1018
+ hasDefault: true;
1019
+ isPrimaryKey: false;
1020
+ isAutoincrement: false;
1021
+ hasRuntimeDefault: false;
1022
+ enumValues: undefined;
1023
+ baseColumn: never;
1024
+ identity: undefined;
1025
+ generated: undefined;
1026
+ }, {}, {}>;
1027
+ };
1028
+ dialect: "pg";
1029
+ }>;
1030
+ /**
1031
+ * Credit reservations table — closes the checkQuota → recordTokenUsage
1032
+ * TOCTOU window (B-06). Admission inserts a reservation for the
1033
+ * worst-case MNT estimate inside the same transaction that sums the
1034
+ * other active reservations, so N concurrent requests can't all be
1035
+ * admitted against the same balance. recordTokenUsage settles the
1036
+ * reservation; abandoned reservations expire via expires_at and are
1037
+ * ignored by the sum (cleanup cron deletes them).
1038
+ *
1039
+ * This is the seed of the Phase 2 `credit_reservations` table from the
1040
+ * v2 architecture plan (ADR-0004).
1041
+ */
1042
+ export declare const creditReservations: import("drizzle-orm/pg-core").PgTableWithColumns<{
1043
+ name: "credit_reservations";
1044
+ schema: undefined;
1045
+ columns: {
1046
+ id: import("drizzle-orm/pg-core").PgColumn<{
1047
+ name: "id";
1048
+ tableName: "credit_reservations";
1049
+ dataType: "string";
1050
+ columnType: "PgText";
1051
+ data: string;
1052
+ driverParam: string;
1053
+ notNull: true;
1054
+ hasDefault: false;
1055
+ isPrimaryKey: true;
1056
+ isAutoincrement: false;
1057
+ hasRuntimeDefault: false;
1058
+ enumValues: [string, ...string[]];
1059
+ baseColumn: never;
1060
+ identity: undefined;
1061
+ generated: undefined;
1062
+ }, {}, {}>;
1063
+ workspaceId: import("drizzle-orm/pg-core").PgColumn<{
1064
+ name: "workspace_id";
1065
+ tableName: "credit_reservations";
1066
+ dataType: "string";
1067
+ columnType: "PgText";
1068
+ data: string;
1069
+ driverParam: string;
1070
+ notNull: true;
1071
+ hasDefault: false;
1072
+ isPrimaryKey: false;
1073
+ isAutoincrement: false;
1074
+ hasRuntimeDefault: false;
1075
+ enumValues: [string, ...string[]];
1076
+ baseColumn: never;
1077
+ identity: undefined;
1078
+ generated: undefined;
1079
+ }, {}, {}>;
1080
+ requestId: import("drizzle-orm/pg-core").PgColumn<{
1081
+ name: "request_id";
1082
+ tableName: "credit_reservations";
1083
+ dataType: "string";
1084
+ columnType: "PgText";
1085
+ data: string;
1086
+ driverParam: string;
1087
+ notNull: true;
1088
+ hasDefault: false;
1089
+ isPrimaryKey: false;
1090
+ isAutoincrement: false;
1091
+ hasRuntimeDefault: false;
1092
+ enumValues: [string, ...string[]];
1093
+ baseColumn: never;
1094
+ identity: undefined;
1095
+ generated: undefined;
1096
+ }, {}, {}>;
1097
+ estimatedMnt: import("drizzle-orm/pg-core").PgColumn<{
1098
+ name: "estimated_mnt";
1099
+ tableName: "credit_reservations";
1100
+ dataType: "number";
1101
+ columnType: "PgInteger";
1102
+ data: number;
1103
+ driverParam: string | number;
1104
+ notNull: true;
1105
+ hasDefault: false;
1106
+ isPrimaryKey: false;
1107
+ isAutoincrement: false;
1108
+ hasRuntimeDefault: false;
1109
+ enumValues: undefined;
1110
+ baseColumn: never;
1111
+ identity: undefined;
1112
+ generated: undefined;
1113
+ }, {}, {}>;
1114
+ status: import("drizzle-orm/pg-core").PgColumn<{
1115
+ name: "status";
1116
+ tableName: "credit_reservations";
1117
+ dataType: "string";
1118
+ columnType: "PgText";
1119
+ data: string;
1120
+ driverParam: string;
1121
+ notNull: true;
1122
+ hasDefault: true;
1123
+ isPrimaryKey: false;
1124
+ isAutoincrement: false;
1125
+ hasRuntimeDefault: false;
1126
+ enumValues: [string, ...string[]];
1127
+ baseColumn: never;
1128
+ identity: undefined;
1129
+ generated: undefined;
1130
+ }, {}, {}>;
1131
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1132
+ name: "created_at";
1133
+ tableName: "credit_reservations";
1134
+ dataType: "date";
1135
+ columnType: "PgTimestamp";
1136
+ data: Date;
1137
+ driverParam: string;
1138
+ notNull: true;
1139
+ hasDefault: true;
1140
+ isPrimaryKey: false;
1141
+ isAutoincrement: false;
1142
+ hasRuntimeDefault: false;
1143
+ enumValues: undefined;
1144
+ baseColumn: never;
1145
+ identity: undefined;
1146
+ generated: undefined;
1147
+ }, {}, {}>;
1148
+ expiresAt: import("drizzle-orm/pg-core").PgColumn<{
1149
+ name: "expires_at";
1150
+ tableName: "credit_reservations";
1151
+ dataType: "date";
1152
+ columnType: "PgTimestamp";
1153
+ data: Date;
1154
+ driverParam: string;
1155
+ notNull: true;
1156
+ hasDefault: false;
1157
+ isPrimaryKey: false;
1158
+ isAutoincrement: false;
1159
+ hasRuntimeDefault: false;
1160
+ enumValues: undefined;
1161
+ baseColumn: never;
1162
+ identity: undefined;
1163
+ generated: undefined;
1164
+ }, {}, {}>;
1165
+ settledAt: import("drizzle-orm/pg-core").PgColumn<{
1166
+ name: "settled_at";
1167
+ tableName: "credit_reservations";
1168
+ dataType: "date";
1169
+ columnType: "PgTimestamp";
1170
+ data: Date;
1171
+ driverParam: string;
1172
+ notNull: false;
1173
+ hasDefault: false;
1174
+ isPrimaryKey: false;
1175
+ isAutoincrement: false;
1176
+ hasRuntimeDefault: false;
1177
+ enumValues: undefined;
1178
+ baseColumn: never;
1179
+ identity: undefined;
1180
+ generated: undefined;
1181
+ }, {}, {}>;
1182
+ };
1183
+ dialect: "pg";
1184
+ }>;
1185
+ export type Plan = typeof plans.$inferSelect;
1186
+ export type InsertPlan = typeof plans.$inferInsert;
1187
+ export type Subscription = typeof subscriptions.$inferSelect;
1188
+ export type InsertSubscription = typeof subscriptions.$inferInsert;
1189
+ export type CreditBalance = typeof creditBalances.$inferSelect;
1190
+ export type InsertCreditBalance = typeof creditBalances.$inferInsert;
1191
+ export type CreditPurchase = typeof creditPurchases.$inferSelect;
1192
+ export type InsertCreditPurchase = typeof creditPurchases.$inferInsert;
1193
+ export type FinanceEvent = typeof financeEvents.$inferSelect;
1194
+ export type InsertFinanceEvent = typeof financeEvents.$inferInsert;
1195
+ export type BillingSettings = typeof billingSettings.$inferSelect;
1196
+ export type InsertBillingSettings = typeof billingSettings.$inferInsert;
1197
+ export type CreditReservation = typeof creditReservations.$inferSelect;
1198
+ export type InsertCreditReservation = typeof creditReservations.$inferInsert;
1199
+ //# sourceMappingURL=billing.d.ts.map