codebuff 1.0.326 → 1.0.328

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 (245) hide show
  1. package/dist/checkpoints/file-manager.js +136 -84
  2. package/dist/checkpoints/file-manager.js.map +1 -1
  3. package/dist/cli-handlers/checkpoint.js +4 -3
  4. package/dist/cli-handlers/checkpoint.js.map +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client.js +4 -4
  8. package/dist/client.js.map +1 -1
  9. package/dist/code-map/test-langs/test.d.ts +12 -0
  10. package/dist/code-map/test-langs/test.d.ts.map +1 -0
  11. package/dist/code-map/test-langs/test.js +23 -0
  12. package/dist/code-map/test-langs/test.js.map +1 -0
  13. package/dist/common/actions.d.ts +58 -58
  14. package/dist/common/analytics.d.ts +1 -1
  15. package/dist/common/browser-actions.d.ts +277 -277
  16. package/dist/common/db/env.d.mts +4 -0
  17. package/dist/common/db/env.mjs +26 -0
  18. package/dist/common/db/env.mjs.map +1 -0
  19. package/dist/common/env.d.mts +13 -0
  20. package/dist/common/env.mjs +43 -0
  21. package/dist/common/env.mjs.map +1 -0
  22. package/dist/common/src/actions.d.ts +2673 -0
  23. package/dist/common/src/actions.d.ts.map +1 -0
  24. package/dist/common/src/actions.js +167 -0
  25. package/dist/common/src/actions.js.map +1 -0
  26. package/dist/common/src/analytics.d.ts +6 -0
  27. package/dist/common/src/analytics.d.ts.map +1 -0
  28. package/dist/common/src/analytics.js +60 -0
  29. package/dist/common/src/analytics.js.map +1 -0
  30. package/dist/common/src/api-keys/constants.d.ts +9 -0
  31. package/dist/common/src/api-keys/constants.d.ts.map +1 -0
  32. package/dist/common/src/api-keys/constants.js +26 -0
  33. package/dist/common/src/api-keys/constants.js.map +1 -0
  34. package/dist/common/src/api-keys/crypto.d.ts +25 -0
  35. package/dist/common/src/api-keys/crypto.d.ts.map +1 -0
  36. package/dist/common/src/api-keys/crypto.js +186 -0
  37. package/dist/common/src/api-keys/crypto.js.map +1 -0
  38. package/dist/common/src/browser-actions.d.ts +4416 -0
  39. package/dist/common/src/browser-actions.d.ts.map +1 -0
  40. package/dist/common/src/browser-actions.js +343 -0
  41. package/dist/common/src/browser-actions.js.map +1 -0
  42. package/dist/common/src/constants/analytics-events.d.ts +28 -0
  43. package/dist/common/src/constants/analytics-events.d.ts.map +1 -0
  44. package/dist/common/src/constants/analytics-events.js +36 -0
  45. package/dist/common/src/constants/analytics-events.js.map +1 -0
  46. package/dist/common/src/constants/grant-priorities.d.ts +3 -0
  47. package/dist/common/src/constants/grant-priorities.d.ts.map +1 -0
  48. package/dist/common/src/constants/grant-priorities.js +11 -0
  49. package/dist/common/src/constants/grant-priorities.js.map +1 -0
  50. package/dist/common/src/constants/tools.d.ts +20 -0
  51. package/dist/common/src/constants/tools.d.ts.map +1 -0
  52. package/dist/common/src/constants/tools.js +47 -0
  53. package/dist/common/src/constants/tools.js.map +1 -0
  54. package/dist/common/src/constants.d.ts +152 -0
  55. package/dist/common/src/constants.d.ts.map +1 -0
  56. package/dist/common/src/constants.js +222 -0
  57. package/dist/common/src/constants.js.map +1 -0
  58. package/dist/common/src/db/drizzle.config.d.ts +3 -0
  59. package/dist/common/src/db/drizzle.config.d.ts.map +1 -0
  60. package/dist/common/src/db/drizzle.config.js +17 -0
  61. package/dist/common/src/db/drizzle.config.js.map +1 -0
  62. package/dist/common/src/db/index.d.ts +7 -0
  63. package/dist/common/src/db/index.d.ts.map +1 -0
  64. package/dist/common/src/db/index.js +35 -0
  65. package/dist/common/src/db/index.js.map +1 -0
  66. package/dist/common/src/db/schema.d.ts +2289 -0
  67. package/dist/common/src/db/schema.d.ts.map +1 -0
  68. package/dist/common/src/db/schema.js +296 -0
  69. package/dist/common/src/db/schema.js.map +1 -0
  70. package/dist/common/src/db/transaction.d.ts +13 -0
  71. package/dist/common/src/db/transaction.d.ts.map +1 -0
  72. package/dist/common/src/db/transaction.js +36 -0
  73. package/dist/common/src/db/transaction.js.map +1 -0
  74. package/dist/common/src/json-config/__tests__/constants.test.d.ts +2 -0
  75. package/dist/common/src/json-config/__tests__/constants.test.d.ts.map +1 -0
  76. package/dist/common/src/json-config/__tests__/constants.test.js +273 -0
  77. package/dist/common/src/json-config/__tests__/constants.test.js.map +1 -0
  78. package/dist/common/src/json-config/__tests__/stringify-schema.test.d.ts +2 -0
  79. package/dist/common/src/json-config/__tests__/stringify-schema.test.d.ts.map +1 -0
  80. package/dist/common/src/json-config/__tests__/stringify-schema.test.js +66 -0
  81. package/dist/common/src/json-config/__tests__/stringify-schema.test.js.map +1 -0
  82. package/dist/common/src/json-config/constants.d.ts +138 -0
  83. package/dist/common/src/json-config/constants.d.ts.map +1 -0
  84. package/dist/common/src/json-config/constants.js +78 -0
  85. package/dist/common/src/json-config/constants.js.map +1 -0
  86. package/dist/common/src/json-config/stringify-schema.d.ts +10 -0
  87. package/dist/common/src/json-config/stringify-schema.d.ts.map +1 -0
  88. package/dist/common/src/json-config/stringify-schema.js +131 -0
  89. package/dist/common/src/json-config/stringify-schema.js.map +1 -0
  90. package/dist/common/src/project-file-tree.d.ts +12 -0
  91. package/dist/common/src/project-file-tree.d.ts.map +1 -0
  92. package/dist/common/src/project-file-tree.js +212 -0
  93. package/dist/common/src/project-file-tree.js.map +1 -0
  94. package/dist/common/src/types/agent-state.d.ts +227 -0
  95. package/dist/common/src/types/agent-state.d.ts.map +1 -0
  96. package/dist/common/src/types/agent-state.js +34 -0
  97. package/dist/common/src/types/agent-state.js.map +1 -0
  98. package/dist/common/src/types/grant.d.ts +3 -0
  99. package/dist/common/src/types/grant.d.ts.map +1 -0
  100. package/dist/common/src/types/grant.js +11 -0
  101. package/dist/common/src/types/grant.js.map +1 -0
  102. package/dist/common/src/types/message.d.ts +320 -0
  103. package/dist/common/src/types/message.d.ts.map +1 -0
  104. package/dist/common/src/types/message.js +60 -0
  105. package/dist/common/src/types/message.js.map +1 -0
  106. package/dist/common/src/types/organization.d.ts +106 -0
  107. package/dist/common/src/types/organization.d.ts.map +1 -0
  108. package/dist/common/src/types/organization.js +3 -0
  109. package/dist/common/src/types/organization.js.map +1 -0
  110. package/dist/common/src/types/referral.d.ts +3 -0
  111. package/dist/common/src/types/referral.d.ts.map +1 -0
  112. package/dist/common/src/types/referral.js +5 -0
  113. package/dist/common/src/types/referral.js.map +1 -0
  114. package/dist/common/src/types/tools.d.ts +6 -0
  115. package/dist/common/src/types/tools.d.ts.map +1 -0
  116. package/dist/common/src/types/tools.js +3 -0
  117. package/dist/common/src/types/tools.js.map +1 -0
  118. package/dist/common/src/types/usage.d.ts +41 -0
  119. package/dist/common/src/types/usage.d.ts.map +1 -0
  120. package/dist/common/src/types/usage.js +16 -0
  121. package/dist/common/src/types/usage.js.map +1 -0
  122. package/dist/common/src/util/__tests__/messages.test.d.ts +2 -0
  123. package/dist/common/src/util/__tests__/messages.test.d.ts.map +1 -0
  124. package/dist/common/src/util/__tests__/messages.test.js +70 -0
  125. package/dist/common/src/util/__tests__/messages.test.js.map +1 -0
  126. package/dist/common/src/util/__tests__/saxy.test.d.ts +2 -0
  127. package/dist/common/src/util/__tests__/saxy.test.d.ts.map +1 -0
  128. package/dist/common/src/util/__tests__/saxy.test.js +906 -0
  129. package/dist/common/src/util/__tests__/saxy.test.js.map +1 -0
  130. package/dist/common/src/util/__tests__/string.test.d.ts +2 -0
  131. package/dist/common/src/util/__tests__/string.test.d.ts.map +1 -0
  132. package/dist/common/src/util/__tests__/string.test.js +82 -0
  133. package/dist/common/src/util/__tests__/string.test.js.map +1 -0
  134. package/dist/common/src/util/array.d.ts +7 -0
  135. package/dist/common/src/util/array.d.ts.map +1 -0
  136. package/dist/common/src/util/array.js +32 -0
  137. package/dist/common/src/util/array.js.map +1 -0
  138. package/dist/common/src/util/changes.d.ts +9 -0
  139. package/dist/common/src/util/changes.d.ts.map +1 -0
  140. package/dist/common/src/util/changes.js +87 -0
  141. package/dist/common/src/util/changes.js.map +1 -0
  142. package/dist/common/src/util/credentials.d.ts +26 -0
  143. package/dist/common/src/util/credentials.d.ts.map +1 -0
  144. package/dist/common/src/util/credentials.js +24 -0
  145. package/dist/common/src/util/credentials.js.map +1 -0
  146. package/dist/common/src/util/currency.d.ts +15 -0
  147. package/dist/common/src/util/currency.d.ts.map +1 -0
  148. package/dist/common/src/util/currency.js +23 -0
  149. package/dist/common/src/util/currency.js.map +1 -0
  150. package/dist/common/src/util/dates.d.ts +11 -0
  151. package/dist/common/src/util/dates.d.ts.map +1 -0
  152. package/dist/common/src/util/dates.js +22 -0
  153. package/dist/common/src/util/dates.js.map +1 -0
  154. package/dist/common/src/util/file.d.ts +163 -0
  155. package/dist/common/src/util/file.d.ts.map +1 -0
  156. package/dist/common/src/util/file.js +192 -0
  157. package/dist/common/src/util/file.js.map +1 -0
  158. package/dist/common/src/util/git.d.ts +7 -0
  159. package/dist/common/src/util/git.d.ts.map +1 -0
  160. package/dist/common/src/util/git.js +81 -0
  161. package/dist/common/src/util/git.js.map +1 -0
  162. package/dist/common/src/util/logger.d.ts +9 -0
  163. package/dist/common/src/util/logger.d.ts.map +1 -0
  164. package/dist/common/src/util/logger.js +52 -0
  165. package/dist/common/src/util/logger.js.map +1 -0
  166. package/dist/common/src/util/lru-cache.d.ts +31 -0
  167. package/dist/common/src/util/lru-cache.d.ts.map +1 -0
  168. package/dist/common/src/util/lru-cache.js +68 -0
  169. package/dist/common/src/util/lru-cache.js.map +1 -0
  170. package/dist/common/src/util/messages.d.ts +12 -0
  171. package/dist/common/src/util/messages.d.ts.map +1 -0
  172. package/dist/common/src/util/messages.js +81 -0
  173. package/dist/common/src/util/messages.js.map +1 -0
  174. package/dist/common/src/util/min-heap.d.ts +16 -0
  175. package/dist/common/src/util/min-heap.d.ts.map +1 -0
  176. package/dist/common/src/util/min-heap.js +73 -0
  177. package/dist/common/src/util/min-heap.js.map +1 -0
  178. package/dist/common/src/util/object.d.ts +19 -0
  179. package/dist/common/src/util/object.d.ts.map +1 -0
  180. package/dist/common/src/util/object.js +91 -0
  181. package/dist/common/src/util/object.js.map +1 -0
  182. package/dist/common/src/util/patch.d.ts +2 -0
  183. package/dist/common/src/util/patch.d.ts.map +1 -0
  184. package/dist/common/src/util/patch.js +215 -0
  185. package/dist/common/src/util/patch.js.map +1 -0
  186. package/dist/common/src/util/promise.d.ts +17 -0
  187. package/dist/common/src/util/promise.d.ts.map +1 -0
  188. package/dist/common/src/util/promise.js +51 -0
  189. package/dist/common/src/util/promise.js.map +1 -0
  190. package/dist/common/src/util/random.d.ts +2 -0
  191. package/dist/common/src/util/random.d.ts.map +1 -0
  192. package/dist/common/src/util/random.js +17 -0
  193. package/dist/common/src/util/random.js.map +1 -0
  194. package/dist/common/src/util/referral.d.ts +2 -0
  195. package/dist/common/src/util/referral.d.ts.map +1 -0
  196. package/dist/common/src/util/referral.js +6 -0
  197. package/dist/common/src/util/referral.js.map +1 -0
  198. package/dist/common/src/util/saxy.d.ts +179 -0
  199. package/dist/common/src/util/saxy.d.ts.map +1 -0
  200. package/dist/common/src/util/saxy.js +548 -0
  201. package/dist/common/src/util/saxy.js.map +1 -0
  202. package/dist/common/src/util/string.d.ts +80 -0
  203. package/dist/common/src/util/string.d.ts.map +1 -0
  204. package/dist/common/src/util/string.js +264 -0
  205. package/dist/common/src/util/string.js.map +1 -0
  206. package/dist/common/src/util/stripe.d.ts +4 -0
  207. package/dist/common/src/util/stripe.d.ts.map +1 -0
  208. package/dist/common/src/util/stripe.js +22 -0
  209. package/dist/common/src/util/stripe.js.map +1 -0
  210. package/dist/common/src/util/sync-failure.d.ts +2 -0
  211. package/dist/common/src/util/sync-failure.d.ts.map +1 -0
  212. package/dist/common/src/util/sync-failure.js +57 -0
  213. package/dist/common/src/util/sync-failure.js.map +1 -0
  214. package/dist/common/src/websockets/websocket-client.d.ts +43 -0
  215. package/dist/common/src/websockets/websocket-client.d.ts.map +1 -0
  216. package/dist/common/src/websockets/websocket-client.js +216 -0
  217. package/dist/common/src/websockets/websocket-client.js.map +1 -0
  218. package/dist/common/src/websockets/websocket-schema.d.ts +5159 -0
  219. package/dist/common/src/websockets/websocket-schema.d.ts.map +1 -0
  220. package/dist/common/src/websockets/websocket-schema.js +55 -0
  221. package/dist/common/src/websockets/websocket-schema.js.map +1 -0
  222. package/dist/common/tsconfig.tsbuildinfo +1 -0
  223. package/dist/common/types/message.d.ts +16 -16
  224. package/dist/common/util/string.d.ts +4 -4
  225. package/dist/common/util/string.d.ts.map +1 -1
  226. package/dist/common/util/string.js +18 -7
  227. package/dist/common/util/string.js.map +1 -1
  228. package/dist/common/websockets/websocket-schema.d.ts +134 -134
  229. package/dist/index.js +6 -6
  230. package/dist/project-files.js +6 -1
  231. package/dist/project-files.js.map +1 -1
  232. package/dist/terminal/base.d.ts +1 -0
  233. package/dist/terminal/base.js +43 -48
  234. package/dist/terminal/base.js.map +1 -1
  235. package/dist/tool-handlers.js +1 -1
  236. package/dist/tool-handlers.js.map +1 -1
  237. package/dist/utils/spinner.d.ts +2 -2
  238. package/dist/utils/spinner.js +4 -13
  239. package/dist/utils/spinner.js.map +1 -1
  240. package/dist/utils/tool-renderers.d.ts +5 -5
  241. package/dist/utils/tool-renderers.js +6 -3
  242. package/dist/utils/tool-renderers.js.map +1 -1
  243. package/dist/utils/xml-stream-parser.js +20 -5
  244. package/dist/utils/xml-stream-parser.js.map +1 -1
  245. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orgFeature = exports.orgInvite = exports.orgRepo = exports.orgMember = exports.org = exports.orgRoleEnum = exports.encryptedApiKeys = exports.verificationToken = exports.session = exports.message = exports.fingerprint = exports.referral = exports.syncFailure = exports.creditLedger = exports.account = exports.user = exports.grantTypeEnum = exports.apiKeyTypeEnum = exports.ReferralStatus = void 0;
4
+ const drizzle_orm_1 = require("drizzle-orm");
5
+ const pg_core_1 = require("drizzle-orm/pg-core");
6
+ const grant_1 = require("../types/grant");
7
+ const referral_1 = require("../types/referral");
8
+ exports.ReferralStatus = (0, pg_core_1.pgEnum)('referral_status', [
9
+ referral_1.ReferralStatusValues[0],
10
+ ...referral_1.ReferralStatusValues.slice(1),
11
+ ]);
12
+ exports.apiKeyTypeEnum = (0, pg_core_1.pgEnum)('api_key_type', [
13
+ 'anthropic',
14
+ 'gemini',
15
+ 'openai',
16
+ ]);
17
+ exports.grantTypeEnum = (0, pg_core_1.pgEnum)('grant_type', [
18
+ grant_1.GrantTypeValues[0],
19
+ ...grant_1.GrantTypeValues.slice(1),
20
+ ]);
21
+ exports.user = (0, pg_core_1.pgTable)('user', {
22
+ id: (0, pg_core_1.text)('id')
23
+ .primaryKey()
24
+ .$defaultFn(() => crypto.randomUUID()),
25
+ name: (0, pg_core_1.text)('name'),
26
+ email: (0, pg_core_1.text)('email').unique().notNull(),
27
+ password: (0, pg_core_1.text)('password'),
28
+ emailVerified: (0, pg_core_1.timestamp)('emailVerified', { mode: 'date' }),
29
+ image: (0, pg_core_1.text)('image'),
30
+ stripe_customer_id: (0, pg_core_1.text)('stripe_customer_id').unique(),
31
+ stripe_price_id: (0, pg_core_1.text)('stripe_price_id'),
32
+ next_quota_reset: (0, pg_core_1.timestamp)('next_quota_reset', { mode: 'date' }).default((0, drizzle_orm_1.sql) `now() + INTERVAL '1 month'`),
33
+ created_at: (0, pg_core_1.timestamp)('created_at', { mode: 'date' }).notNull().defaultNow(),
34
+ referral_code: (0, pg_core_1.text)('referral_code')
35
+ .unique()
36
+ .default((0, drizzle_orm_1.sql) `'ref-' || gen_random_uuid()`),
37
+ referral_limit: (0, pg_core_1.integer)('referral_limit').notNull().default(5),
38
+ discord_id: (0, pg_core_1.text)('discord_id').unique(),
39
+ handle: (0, pg_core_1.text)('handle').unique(),
40
+ auto_topup_enabled: (0, pg_core_1.boolean)('auto_topup_enabled').notNull().default(false),
41
+ auto_topup_threshold: (0, pg_core_1.integer)('auto_topup_threshold'),
42
+ auto_topup_amount: (0, pg_core_1.integer)('auto_topup_amount'),
43
+ });
44
+ exports.account = (0, pg_core_1.pgTable)('account', {
45
+ userId: (0, pg_core_1.text)('userId')
46
+ .notNull()
47
+ .references(() => exports.user.id, { onDelete: 'cascade' }),
48
+ type: (0, pg_core_1.text)('type').$type().notNull(),
49
+ provider: (0, pg_core_1.text)('provider').notNull(),
50
+ providerAccountId: (0, pg_core_1.text)('providerAccountId').notNull(),
51
+ refresh_token: (0, pg_core_1.text)('refresh_token'),
52
+ access_token: (0, pg_core_1.text)('access_token'),
53
+ expires_at: (0, pg_core_1.integer)('expires_at'),
54
+ token_type: (0, pg_core_1.text)('token_type'),
55
+ scope: (0, pg_core_1.text)('scope'),
56
+ id_token: (0, pg_core_1.text)('id_token'),
57
+ session_state: (0, pg_core_1.text)('session_state'),
58
+ }, (account) => [
59
+ (0, pg_core_1.primaryKey)({
60
+ columns: [account.provider, account.providerAccountId],
61
+ }),
62
+ ]);
63
+ exports.creditLedger = (0, pg_core_1.pgTable)('credit_ledger', {
64
+ operation_id: (0, pg_core_1.text)('operation_id').primaryKey(),
65
+ user_id: (0, pg_core_1.text)('user_id')
66
+ .notNull()
67
+ .references(() => exports.user.id, { onDelete: 'cascade' }),
68
+ principal: (0, pg_core_1.integer)('principal').notNull(),
69
+ balance: (0, pg_core_1.integer)('balance').notNull(),
70
+ type: (0, exports.grantTypeEnum)('type').notNull(),
71
+ description: (0, pg_core_1.text)('description'),
72
+ priority: (0, pg_core_1.integer)('priority').notNull(),
73
+ expires_at: (0, pg_core_1.timestamp)('expires_at', { mode: 'date', withTimezone: true }),
74
+ created_at: (0, pg_core_1.timestamp)('created_at', { mode: 'date', withTimezone: true })
75
+ .notNull()
76
+ .defaultNow(),
77
+ org_id: (0, pg_core_1.text)('org_id').references(() => exports.org.id, { onDelete: 'cascade' }),
78
+ }, (table) => ({
79
+ idx_credit_ledger_active_balance: (0, pg_core_1.index)('idx_credit_ledger_active_balance')
80
+ .on(table.user_id, table.balance, table.expires_at, table.priority, table.created_at)
81
+ .where((0, drizzle_orm_1.sql) `${table.balance} != 0 AND ${table.expires_at} IS NULL`),
82
+ idx_credit_ledger_org: (0, pg_core_1.index)('idx_credit_ledger_org').on(table.org_id),
83
+ }));
84
+ exports.syncFailure = (0, pg_core_1.pgTable)('sync_failure', {
85
+ message_id: (0, pg_core_1.text)('message_id')
86
+ .primaryKey()
87
+ .references(() => exports.message.id, { onDelete: 'cascade' }),
88
+ provider: (0, pg_core_1.text)('provider').notNull().default('stripe'),
89
+ created_at: (0, pg_core_1.timestamp)('created_at', {
90
+ mode: 'date',
91
+ withTimezone: true,
92
+ })
93
+ .notNull()
94
+ .defaultNow(),
95
+ last_attempt_at: (0, pg_core_1.timestamp)('last_attempt_at', {
96
+ mode: 'date',
97
+ withTimezone: true,
98
+ })
99
+ .notNull()
100
+ .defaultNow(),
101
+ retry_count: (0, pg_core_1.integer)('retry_count').notNull().default(1),
102
+ last_error: (0, pg_core_1.text)('last_error').notNull(),
103
+ }, (table) => ({
104
+ idx_sync_failure_retry: (0, pg_core_1.index)('idx_sync_failure_retry')
105
+ .on(table.retry_count, table.last_attempt_at)
106
+ .where((0, drizzle_orm_1.sql) `${table.retry_count} < 5`),
107
+ }));
108
+ exports.referral = (0, pg_core_1.pgTable)('referral', {
109
+ referrer_id: (0, pg_core_1.text)('referrer_id')
110
+ .notNull()
111
+ .references(() => exports.user.id),
112
+ referred_id: (0, pg_core_1.text)('referred_id')
113
+ .notNull()
114
+ .references(() => exports.user.id),
115
+ status: (0, exports.ReferralStatus)('status').notNull().default('pending'),
116
+ credits: (0, pg_core_1.integer)('credits').notNull(),
117
+ created_at: (0, pg_core_1.timestamp)('created_at', { mode: 'date' })
118
+ .notNull()
119
+ .defaultNow(),
120
+ completed_at: (0, pg_core_1.timestamp)('completed_at', { mode: 'date' }),
121
+ }, (table) => [(0, pg_core_1.primaryKey)({ columns: [table.referrer_id, table.referred_id] })]);
122
+ exports.fingerprint = (0, pg_core_1.pgTable)('fingerprint', {
123
+ id: (0, pg_core_1.text)('id').primaryKey(),
124
+ sig_hash: (0, pg_core_1.text)('sig_hash'),
125
+ created_at: (0, pg_core_1.timestamp)('created_at', { mode: 'date' }).notNull().defaultNow(),
126
+ });
127
+ exports.message = (0, pg_core_1.pgTable)('message', {
128
+ id: (0, pg_core_1.text)('id').primaryKey(),
129
+ finished_at: (0, pg_core_1.timestamp)('finished_at', { mode: 'date' }).notNull(),
130
+ client_id: (0, pg_core_1.text)('client_id').notNull(),
131
+ client_request_id: (0, pg_core_1.text)('client_request_id').notNull(),
132
+ model: (0, pg_core_1.text)('model').notNull(),
133
+ request: (0, pg_core_1.jsonb)('request').notNull(),
134
+ lastMessage: (0, pg_core_1.jsonb)('last_message').generatedAlwaysAs(() => (0, drizzle_orm_1.sql) `${exports.message.request} -> -1`),
135
+ response: (0, pg_core_1.jsonb)('response').notNull(),
136
+ input_tokens: (0, pg_core_1.integer)('input_tokens').notNull().default(0),
137
+ cache_creation_input_tokens: (0, pg_core_1.integer)('cache_creation_input_tokens')
138
+ .notNull()
139
+ .default(0),
140
+ cache_read_input_tokens: (0, pg_core_1.integer)('cache_read_input_tokens')
141
+ .notNull()
142
+ .default(0),
143
+ output_tokens: (0, pg_core_1.integer)('output_tokens').notNull(),
144
+ cost: (0, pg_core_1.numeric)('cost', { precision: 100, scale: 20 }).notNull(),
145
+ credits: (0, pg_core_1.integer)('credits').notNull(),
146
+ latency_ms: (0, pg_core_1.integer)('latency_ms'),
147
+ user_id: (0, pg_core_1.text)('user_id').references(() => exports.user.id, { onDelete: 'cascade' }),
148
+ fingerprint_id: (0, pg_core_1.text)('fingerprint_id')
149
+ .references(() => exports.fingerprint.id, { onDelete: 'cascade' })
150
+ .notNull(),
151
+ org_id: (0, pg_core_1.text)('org_id').references(() => exports.org.id, { onDelete: 'cascade' }),
152
+ repo_url: (0, pg_core_1.text)('repo_url'),
153
+ }, (table) => [
154
+ (0, pg_core_1.index)('message_fingerprint_id_idx').on(table.fingerprint_id),
155
+ (0, pg_core_1.index)('message_user_id_idx').on(table.user_id),
156
+ (0, pg_core_1.index)('message_finished_at_user_id_idx').on(table.finished_at, table.user_id),
157
+ (0, pg_core_1.index)('message_org_id_idx').on(table.org_id),
158
+ (0, pg_core_1.index)('message_org_id_finished_at_idx').on(table.org_id, table.finished_at),
159
+ ]);
160
+ exports.session = (0, pg_core_1.pgTable)('session', {
161
+ sessionToken: (0, pg_core_1.text)('sessionToken').notNull().primaryKey(),
162
+ userId: (0, pg_core_1.text)('userId')
163
+ .notNull()
164
+ .references(() => exports.user.id, { onDelete: 'cascade' }),
165
+ expires: (0, pg_core_1.timestamp)('expires', { mode: 'date' }).notNull(),
166
+ fingerprint_id: (0, pg_core_1.text)('fingerprint_id').references(() => exports.fingerprint.id),
167
+ });
168
+ exports.verificationToken = (0, pg_core_1.pgTable)('verificationToken', {
169
+ identifier: (0, pg_core_1.text)('identifier').notNull(),
170
+ token: (0, pg_core_1.text)('token').notNull(),
171
+ expires: (0, pg_core_1.timestamp)('expires', { mode: 'date' }).notNull(),
172
+ }, (vt) => [(0, pg_core_1.primaryKey)({ columns: [vt.identifier, vt.token] })]);
173
+ exports.encryptedApiKeys = (0, pg_core_1.pgTable)('encrypted_api_keys', {
174
+ user_id: (0, pg_core_1.text)('user_id')
175
+ .notNull()
176
+ .references(() => exports.user.id, { onDelete: 'cascade' }),
177
+ type: (0, exports.apiKeyTypeEnum)('type').notNull(),
178
+ api_key: (0, pg_core_1.text)('api_key').notNull(),
179
+ }, (table) => ({
180
+ pk: (0, pg_core_1.primaryKey)({ columns: [table.user_id, table.type] }),
181
+ }));
182
+ // Organization tables
183
+ exports.orgRoleEnum = (0, pg_core_1.pgEnum)('org_role', ['owner', 'admin', 'member']);
184
+ exports.org = (0, pg_core_1.pgTable)('org', {
185
+ id: (0, pg_core_1.text)('id')
186
+ .primaryKey()
187
+ .$defaultFn(() => crypto.randomUUID()),
188
+ name: (0, pg_core_1.text)('name').notNull(),
189
+ slug: (0, pg_core_1.text)('slug').unique().notNull(),
190
+ description: (0, pg_core_1.text)('description'),
191
+ owner_id: (0, pg_core_1.text)('owner_id')
192
+ .notNull()
193
+ .references(() => exports.user.id, { onDelete: 'cascade' }),
194
+ stripe_customer_id: (0, pg_core_1.text)('stripe_customer_id').unique(),
195
+ stripe_subscription_id: (0, pg_core_1.text)('stripe_subscription_id'),
196
+ current_period_start: (0, pg_core_1.timestamp)('current_period_start', {
197
+ mode: 'date',
198
+ withTimezone: true,
199
+ }),
200
+ current_period_end: (0, pg_core_1.timestamp)('current_period_end', {
201
+ mode: 'date',
202
+ withTimezone: true,
203
+ }),
204
+ auto_topup_enabled: (0, pg_core_1.boolean)('auto_topup_enabled').notNull().default(false),
205
+ auto_topup_threshold: (0, pg_core_1.integer)('auto_topup_threshold').notNull(),
206
+ auto_topup_amount: (0, pg_core_1.integer)('auto_topup_amount').notNull(),
207
+ credit_limit: (0, pg_core_1.integer)('credit_limit'),
208
+ billing_alerts: (0, pg_core_1.boolean)('billing_alerts').notNull().default(true),
209
+ usage_alerts: (0, pg_core_1.boolean)('usage_alerts').notNull().default(true),
210
+ weekly_reports: (0, pg_core_1.boolean)('weekly_reports').notNull().default(false),
211
+ created_at: (0, pg_core_1.timestamp)('created_at', { mode: 'date', withTimezone: true })
212
+ .notNull()
213
+ .defaultNow(),
214
+ updated_at: (0, pg_core_1.timestamp)('updated_at', { mode: 'date', withTimezone: true })
215
+ .notNull()
216
+ .defaultNow(),
217
+ });
218
+ exports.orgMember = (0, pg_core_1.pgTable)('org_member', {
219
+ org_id: (0, pg_core_1.text)('org_id')
220
+ .notNull()
221
+ .references(() => exports.org.id, { onDelete: 'cascade' }),
222
+ user_id: (0, pg_core_1.text)('user_id')
223
+ .notNull()
224
+ .references(() => exports.user.id, { onDelete: 'cascade' }),
225
+ role: (0, exports.orgRoleEnum)('role').notNull(),
226
+ joined_at: (0, pg_core_1.timestamp)('joined_at', { mode: 'date', withTimezone: true })
227
+ .notNull()
228
+ .defaultNow(),
229
+ }, (table) => [(0, pg_core_1.primaryKey)({ columns: [table.org_id, table.user_id] })]);
230
+ exports.orgRepo = (0, pg_core_1.pgTable)('org_repo', {
231
+ id: (0, pg_core_1.text)('id')
232
+ .primaryKey()
233
+ .$defaultFn(() => crypto.randomUUID()),
234
+ org_id: (0, pg_core_1.text)('org_id')
235
+ .notNull()
236
+ .references(() => exports.org.id, { onDelete: 'cascade' }),
237
+ repo_url: (0, pg_core_1.text)('repo_url').notNull(),
238
+ repo_name: (0, pg_core_1.text)('repo_name').notNull(),
239
+ repo_owner: (0, pg_core_1.text)('repo_owner'),
240
+ approved_by: (0, pg_core_1.text)('approved_by')
241
+ .notNull()
242
+ .references(() => exports.user.id),
243
+ approved_at: (0, pg_core_1.timestamp)('approved_at', { mode: 'date', withTimezone: true })
244
+ .notNull()
245
+ .defaultNow(),
246
+ is_active: (0, pg_core_1.boolean)('is_active').notNull().default(true),
247
+ }, (table) => [
248
+ (0, pg_core_1.index)('idx_org_repo_active').on(table.org_id, table.is_active),
249
+ // Unique constraint on org + repo URL
250
+ (0, pg_core_1.index)('idx_org_repo_unique').on(table.org_id, table.repo_url),
251
+ ]);
252
+ exports.orgInvite = (0, pg_core_1.pgTable)('org_invite', {
253
+ id: (0, pg_core_1.text)('id')
254
+ .primaryKey()
255
+ .$defaultFn(() => crypto.randomUUID()),
256
+ org_id: (0, pg_core_1.text)('org_id')
257
+ .notNull()
258
+ .references(() => exports.org.id, { onDelete: 'cascade' }),
259
+ email: (0, pg_core_1.text)('email').notNull(),
260
+ role: (0, exports.orgRoleEnum)('role').notNull(),
261
+ token: (0, pg_core_1.text)('token').notNull().unique(),
262
+ invited_by: (0, pg_core_1.text)('invited_by')
263
+ .notNull()
264
+ .references(() => exports.user.id),
265
+ expires_at: (0, pg_core_1.timestamp)('expires_at', {
266
+ mode: 'date',
267
+ withTimezone: true,
268
+ }).notNull(),
269
+ created_at: (0, pg_core_1.timestamp)('created_at', { mode: 'date', withTimezone: true })
270
+ .notNull()
271
+ .defaultNow(),
272
+ accepted_at: (0, pg_core_1.timestamp)('accepted_at', { mode: 'date', withTimezone: true }),
273
+ accepted_by: (0, pg_core_1.text)('accepted_by').references(() => exports.user.id),
274
+ }, (table) => ({
275
+ idx_org_invite_token: (0, pg_core_1.index)('idx_org_invite_token').on(table.token),
276
+ idx_org_invite_email: (0, pg_core_1.index)('idx_org_invite_email').on(table.org_id, table.email),
277
+ idx_org_invite_expires: (0, pg_core_1.index)('idx_org_invite_expires').on(table.expires_at),
278
+ }));
279
+ exports.orgFeature = (0, pg_core_1.pgTable)('org_feature', {
280
+ org_id: (0, pg_core_1.text)('org_id')
281
+ .notNull()
282
+ .references(() => exports.org.id, { onDelete: 'cascade' }),
283
+ feature: (0, pg_core_1.text)('feature').notNull(),
284
+ config: (0, pg_core_1.jsonb)('config'),
285
+ is_active: (0, pg_core_1.boolean)('is_active').notNull().default(true),
286
+ created_at: (0, pg_core_1.timestamp)('created_at', { mode: 'date', withTimezone: true })
287
+ .notNull()
288
+ .defaultNow(),
289
+ updated_at: (0, pg_core_1.timestamp)('updated_at', { mode: 'date', withTimezone: true })
290
+ .notNull()
291
+ .defaultNow(),
292
+ }, (table) => [
293
+ (0, pg_core_1.primaryKey)({ columns: [table.org_id, table.feature] }),
294
+ (0, pg_core_1.index)('idx_org_feature_active').on(table.org_id, table.is_active),
295
+ ]);
296
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import db from './index';
2
+ type TransactionCallback<T> = Parameters<typeof db.transaction<T>>[0];
3
+ /**
4
+ * Executes a database transaction with SERIALIZABLE isolation level and automatic
5
+ * retries on serialization failures.
6
+ *
7
+ * @param callback The transaction callback
8
+ * @param context Additional context for logging (e.g., userId, operationId)
9
+ * @returns The result of the transaction
10
+ */
11
+ export declare function withSerializableTransaction<T>(callback: TransactionCallback<T>, context?: Record<string, any>): Promise<T>;
12
+ export {};
13
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/db/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,KAAK,mBAAmB,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAErE;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAAC,CAAC,EACjD,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC,OAAO,CAAC,CAAC,CAAC,CA6BZ"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.withSerializableTransaction = withSerializableTransaction;
7
+ const logger_1 = require("../util/logger");
8
+ const promise_1 = require("../util/promise");
9
+ const index_1 = __importDefault(require("./index"));
10
+ /**
11
+ * Executes a database transaction with SERIALIZABLE isolation level and automatic
12
+ * retries on serialization failures.
13
+ *
14
+ * @param callback The transaction callback
15
+ * @param context Additional context for logging (e.g., userId, operationId)
16
+ * @returns The result of the transaction
17
+ */
18
+ async function withSerializableTransaction(callback, context = {}) {
19
+ return (0, promise_1.withRetry)(async () => {
20
+ return await index_1.default.transaction(callback, { isolationLevel: 'serializable' });
21
+ }, {
22
+ maxRetries: 3,
23
+ retryIf: (error) => {
24
+ // Retry on serialization failures (PostgreSQL error code 40001)
25
+ if (error?.code === '40001') {
26
+ logger_1.logger.warn({ ...context, error }, 'Serialization failure in transaction, retrying...');
27
+ return true;
28
+ }
29
+ return false;
30
+ },
31
+ onRetry: (error, attempt) => {
32
+ logger_1.logger.warn({ ...context, attempt, error }, `Transaction retry ${attempt}`);
33
+ },
34
+ });
35
+ }
36
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/db/transaction.ts"],"names":[],"mappings":";;;;;AAcA,kEAgCC;AA9CD,2CAAuC;AACvC,6CAA2C;AAC3C,oDAAwB;AAIxB;;;;;;;GAOG;AACI,KAAK,UAAU,2BAA2B,CAC/C,QAAgC,EAChC,UAA+B,EAAE;IAEjC,OAAO,IAAA,mBAAS,EACd,KAAK,IAAI,EAAE;QACT,OAAO,MAAM,eAAE,CAAC,WAAW,CACzB,QAAQ,EACR,EAAE,cAAc,EAAE,cAAc,EAAE,CACnC,CAAA;IACH,CAAC,EACD;QACE,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,gEAAgE;YAChE,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,eAAM,CAAC,IAAI,CACT,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EACrB,mDAAmD,CACpD,CAAA;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1B,eAAM,CAAC,IAAI,CACT,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAC9B,qBAAqB,OAAO,EAAE,CAC/B,CAAA;QACH,CAAC;KACF,CACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=constants.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.test.d.ts","sourceRoot":"","sources":["../../../../src/json-config/__tests__/constants.test.ts"],"names":[],"mappings":""}