@lastbrain/module-ai 2.0.18 → 2.0.30

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 (368) hide show
  1. package/README.md +52 -1
  2. package/dist/ai.build.config.d.ts.map +1 -1
  3. package/dist/ai.build.config.js +508 -9
  4. package/dist/api/admin/ai-provider-models/[id].d.ts +18 -0
  5. package/dist/api/admin/ai-provider-models/[id].d.ts.map +1 -0
  6. package/dist/api/admin/ai-provider-models/[id].js +58 -0
  7. package/dist/api/admin/ai-provider-models.d.ts +20 -0
  8. package/dist/api/admin/ai-provider-models.d.ts.map +1 -0
  9. package/dist/api/admin/ai-provider-models.js +26 -0
  10. package/dist/api/admin/ai-providers/[key].d.ts +18 -0
  11. package/dist/api/admin/ai-providers/[key].d.ts.map +1 -0
  12. package/dist/api/admin/ai-providers/[key].js +55 -0
  13. package/dist/api/admin/ai-providers.d.ts +20 -0
  14. package/dist/api/admin/ai-providers.d.ts.map +1 -0
  15. package/dist/api/admin/ai-providers.js +26 -0
  16. package/dist/api/admin/billing-analytics.d.ts +43 -0
  17. package/dist/api/admin/billing-analytics.d.ts.map +1 -0
  18. package/dist/api/admin/billing-analytics.js +144 -0
  19. package/dist/api/admin/global-ai-settings.d.ts +14 -0
  20. package/dist/api/admin/global-ai-settings.d.ts.map +1 -0
  21. package/dist/api/admin/global-ai-settings.js +63 -0
  22. package/dist/api/admin/token-packs/[id].d.ts.map +1 -1
  23. package/dist/api/admin/token-packs/[id].js +3 -2
  24. package/dist/api/admin/token-packs.d.ts.map +1 -1
  25. package/dist/api/admin/token-packs.js +3 -2
  26. package/dist/api/admin/user-monthly-details.d.ts +49 -0
  27. package/dist/api/admin/user-monthly-details.d.ts.map +1 -0
  28. package/dist/api/admin/user-monthly-details.js +140 -0
  29. package/dist/api/admin/user-quota.d.ts +21 -0
  30. package/dist/api/admin/user-quota.d.ts.map +1 -0
  31. package/dist/api/admin/user-quota.js +59 -0
  32. package/dist/api/admin/user-token/[id].d.ts.map +1 -1
  33. package/dist/api/admin/user-token/[id].js +2 -1
  34. package/dist/api/admin/user-token.d.ts +5 -2
  35. package/dist/api/admin/user-token.d.ts.map +1 -1
  36. package/dist/api/admin/user-token.js +91 -17
  37. package/dist/api/admin/user-usage-by-model.d.ts +22 -0
  38. package/dist/api/admin/user-usage-by-model.d.ts.map +1 -0
  39. package/dist/api/admin/user-usage-by-model.js +78 -0
  40. package/dist/api/admin/user-wallet-analytics.d.ts +15 -0
  41. package/dist/api/admin/user-wallet-analytics.d.ts.map +1 -0
  42. package/dist/api/admin/user-wallet-analytics.js +67 -0
  43. package/dist/api/admin/wallet-repair/route.d.ts +30 -0
  44. package/dist/api/admin/wallet-repair/route.d.ts.map +1 -0
  45. package/dist/api/admin/wallet-repair/route.js +63 -0
  46. package/dist/api/auth/ai-model-settings.d.ts +21 -0
  47. package/dist/api/auth/ai-model-settings.d.ts.map +1 -0
  48. package/dist/api/auth/ai-model-settings.js +86 -0
  49. package/dist/api/auth/ai-settings.d.ts +17 -0
  50. package/dist/api/auth/ai-settings.d.ts.map +1 -0
  51. package/dist/api/auth/ai-settings.js +87 -0
  52. package/dist/api/auth/api-keys/[id].d.ts +17 -0
  53. package/dist/api/auth/api-keys/[id].d.ts.map +1 -0
  54. package/dist/api/auth/api-keys/[id].js +66 -0
  55. package/dist/api/auth/api-keys.d.ts +19 -0
  56. package/dist/api/auth/api-keys.d.ts.map +1 -0
  57. package/dist/api/auth/api-keys.js +94 -0
  58. package/dist/api/auth/create-checkout.d.ts +1 -1
  59. package/dist/api/auth/create-checkout.d.ts.map +1 -1
  60. package/dist/api/auth/create-checkout.js +8 -6
  61. package/dist/api/auth/generate-image.d.ts +2 -2
  62. package/dist/api/auth/generate-image.d.ts.map +1 -1
  63. package/dist/api/auth/generate-image.js +404 -104
  64. package/dist/api/auth/generate-text.d.ts +3 -3
  65. package/dist/api/auth/generate-text.d.ts.map +1 -1
  66. package/dist/api/auth/generate-text.js +133 -59
  67. package/dist/api/auth/process-ocr.d.ts +9 -0
  68. package/dist/api/auth/process-ocr.d.ts.map +1 -0
  69. package/dist/api/auth/process-ocr.js +43 -0
  70. package/dist/api/auth/prompts/stats.d.ts +14 -0
  71. package/dist/api/auth/prompts/stats.d.ts.map +1 -0
  72. package/dist/api/auth/prompts/stats.js +46 -0
  73. package/dist/api/auth/prompts.d.ts +26 -0
  74. package/dist/api/auth/prompts.d.ts.map +1 -0
  75. package/dist/api/auth/prompts.js +175 -0
  76. package/dist/api/auth/token-balance.d.ts +26 -0
  77. package/dist/api/auth/token-balance.d.ts.map +1 -0
  78. package/dist/api/auth/token-balance.js +47 -0
  79. package/dist/api/auth/token-checkout.d.ts.map +1 -1
  80. package/dist/api/auth/token-checkout.js +22 -4
  81. package/dist/api/auth/token-packs.d.ts.map +1 -1
  82. package/dist/api/auth/token-packs.js +2 -1
  83. package/dist/api/auth/usage-by-model.d.ts +25 -0
  84. package/dist/api/auth/usage-by-model.d.ts.map +1 -0
  85. package/dist/api/auth/usage-by-model.js +95 -0
  86. package/dist/api/auth/usage.d.ts +26 -0
  87. package/dist/api/auth/usage.d.ts.map +1 -0
  88. package/dist/api/auth/usage.js +127 -0
  89. package/dist/api/auth/user-tokens.d.ts.map +1 -1
  90. package/dist/api/auth/user-tokens.js +36 -2
  91. package/dist/api/auth/wallet/route.d.ts +17 -0
  92. package/dist/api/auth/wallet/route.d.ts.map +1 -0
  93. package/dist/api/auth/wallet/route.js +68 -0
  94. package/dist/api/auth/wallet.d.ts +16 -0
  95. package/dist/api/auth/wallet.d.ts.map +1 -0
  96. package/dist/api/auth/wallet.js +71 -0
  97. package/dist/api/public/gateway-models.d.ts +25 -0
  98. package/dist/api/public/gateway-models.d.ts.map +1 -0
  99. package/dist/api/public/gateway-models.js +49 -0
  100. package/dist/api/public/pricing-summary.d.ts +46 -0
  101. package/dist/api/public/pricing-summary.d.ts.map +1 -0
  102. package/dist/api/public/pricing-summary.js +70 -0
  103. package/dist/api/public/prompts/[id]/stats.d.ts +15 -0
  104. package/dist/api/public/prompts/[id]/stats.d.ts.map +1 -0
  105. package/dist/api/public/prompts/[id]/stats.js +37 -0
  106. package/dist/api/public/prompts/[id]/view.d.ts +15 -0
  107. package/dist/api/public/prompts/[id]/view.d.ts.map +1 -0
  108. package/dist/api/public/prompts/[id]/view.js +41 -0
  109. package/dist/api/public/prompts/slug/[slug].d.ts +15 -0
  110. package/dist/api/public/prompts/slug/[slug].d.ts.map +1 -0
  111. package/dist/api/public/prompts/slug/[slug].js +40 -0
  112. package/dist/api/public/prompts/user/[username].d.ts +17 -0
  113. package/dist/api/public/prompts/user/[username].d.ts.map +1 -0
  114. package/dist/api/public/prompts/user/[username].js +51 -0
  115. package/dist/api/public/prompts.d.ts +15 -0
  116. package/dist/api/public/prompts.d.ts.map +1 -0
  117. package/dist/api/public/prompts.js +45 -0
  118. package/dist/api/public/token-packs.d.ts +11 -0
  119. package/dist/api/public/token-packs.d.ts.map +1 -0
  120. package/dist/api/public/token-packs.js +25 -0
  121. package/dist/api/public/token-pricing.d.ts +44 -0
  122. package/dist/api/public/token-pricing.d.ts.map +1 -0
  123. package/dist/api/public/token-pricing.js +168 -0
  124. package/dist/api/public/v1/_lib/artifacts.d.ts +52 -0
  125. package/dist/api/public/v1/_lib/artifacts.d.ts.map +1 -0
  126. package/dist/api/public/v1/_lib/artifacts.js +217 -0
  127. package/dist/api/public/v1/_lib/auth.d.ts +43 -0
  128. package/dist/api/public/v1/_lib/auth.d.ts.map +1 -0
  129. package/dist/api/public/v1/_lib/auth.js +108 -0
  130. package/dist/api/public/v1/_lib/errors.d.ts +17 -0
  131. package/dist/api/public/v1/_lib/errors.d.ts.map +1 -0
  132. package/dist/api/public/v1/_lib/errors.js +16 -0
  133. package/dist/api/public/v1/_lib/log.d.ts +29 -0
  134. package/dist/api/public/v1/_lib/log.d.ts.map +1 -0
  135. package/dist/api/public/v1/_lib/log.js +68 -0
  136. package/dist/api/public/v1/_lib/quota.d.ts +24 -0
  137. package/dist/api/public/v1/_lib/quota.d.ts.map +1 -0
  138. package/dist/api/public/v1/_lib/quota.js +118 -0
  139. package/dist/api/public/v1/_lib/router.d.ts +54 -0
  140. package/dist/api/public/v1/_lib/router.d.ts.map +1 -0
  141. package/dist/api/public/v1/_lib/router.js +119 -0
  142. package/dist/api/public/v1/connect.d.ts +20 -0
  143. package/dist/api/public/v1/connect.d.ts.map +1 -0
  144. package/dist/api/public/v1/connect.js +119 -0
  145. package/dist/api/public/v1/doc.d.ts +239 -0
  146. package/dist/api/public/v1/doc.d.ts.map +1 -0
  147. package/dist/api/public/v1/doc.js +253 -0
  148. package/dist/api/public/v1/history/[id].d.ts +92 -0
  149. package/dist/api/public/v1/history/[id].d.ts.map +1 -0
  150. package/dist/api/public/v1/history/[id].js +176 -0
  151. package/dist/api/public/v1/history.d.ts +30 -0
  152. package/dist/api/public/v1/history.d.ts.map +1 -0
  153. package/dist/api/public/v1/history.js +142 -0
  154. package/dist/api/public/v1/image-ai.d.ts +24 -0
  155. package/dist/api/public/v1/image-ai.d.ts.map +1 -0
  156. package/dist/api/public/v1/image-ai.js +233 -0
  157. package/dist/api/public/v1/prompts.d.ts +19 -0
  158. package/dist/api/public/v1/prompts.d.ts.map +1 -0
  159. package/dist/api/public/v1/prompts.js +107 -0
  160. package/dist/api/public/v1/provider.d.ts +16 -0
  161. package/dist/api/public/v1/provider.d.ts.map +1 -0
  162. package/dist/api/public/v1/provider.js +130 -0
  163. package/dist/api/public/v1/purchase.d.ts +11 -0
  164. package/dist/api/public/v1/purchase.d.ts.map +1 -0
  165. package/dist/api/public/v1/purchase.js +18 -0
  166. package/dist/api/public/v1/status.d.ts +35 -0
  167. package/dist/api/public/v1/status.d.ts.map +1 -0
  168. package/dist/api/public/v1/status.js +163 -0
  169. package/dist/api/public/v1/text-ai.d.ts +26 -0
  170. package/dist/api/public/v1/text-ai.d.ts.map +1 -0
  171. package/dist/api/public/v1/text-ai.js +239 -0
  172. package/dist/api/public/webhook.d.ts.map +1 -1
  173. package/dist/api/public/webhook.js +50 -39
  174. package/dist/api/track-usage.d.ts +12 -0
  175. package/dist/api/track-usage.d.ts.map +1 -0
  176. package/dist/api/track-usage.js +37 -0
  177. package/dist/components/Doc.d.ts.map +1 -1
  178. package/dist/components/Doc.js +1 -1
  179. package/dist/components/DocUsageCustom.js +6 -6
  180. package/dist/components/admin/UserTokenTab.d.ts.map +1 -1
  181. package/dist/components/admin/UserTokenTab.js +170 -23
  182. package/dist/components/auth/AuthDashboardAi.d.ts +2 -0
  183. package/dist/components/auth/AuthDashboardAi.d.ts.map +1 -0
  184. package/dist/components/auth/AuthDashboardAi.js +53 -0
  185. package/dist/docs/REFACTORING_BILLING_GUIDE.d.ts +277 -0
  186. package/dist/docs/REFACTORING_BILLING_GUIDE.d.ts.map +1 -0
  187. package/dist/docs/REFACTORING_BILLING_GUIDE.js +276 -0
  188. package/dist/index.d.ts +17 -1
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +19 -1
  191. package/dist/scripts/migrate-tokens-to-wallet.d.ts +13 -0
  192. package/dist/scripts/migrate-tokens-to-wallet.d.ts.map +1 -0
  193. package/dist/scripts/migrate-tokens-to-wallet.js +165 -0
  194. package/dist/server/__tests__/billing.test.d.ts +5 -0
  195. package/dist/server/__tests__/billing.test.d.ts.map +1 -0
  196. package/dist/server/__tests__/billing.test.js +223 -0
  197. package/dist/server/ai-client.d.ts +59 -0
  198. package/dist/server/ai-client.d.ts.map +1 -0
  199. package/dist/server/ai-client.js +111 -0
  200. package/dist/server/ai-generation-service.d.ts +66 -0
  201. package/dist/server/ai-generation-service.d.ts.map +1 -0
  202. package/dist/server/ai-generation-service.js +274 -0
  203. package/dist/server/billing.d.ts +200 -0
  204. package/dist/server/billing.d.ts.map +1 -0
  205. package/dist/server/billing.js +488 -0
  206. package/dist/server/gateway-service.d.ts +13 -0
  207. package/dist/server/gateway-service.d.ts.map +1 -0
  208. package/dist/server/gateway-service.js +161 -0
  209. package/dist/server/global-settings.d.ts +16 -0
  210. package/dist/server/global-settings.d.ts.map +1 -0
  211. package/dist/server/global-settings.js +42 -0
  212. package/dist/server/model-filter.d.ts +25 -0
  213. package/dist/server/model-filter.d.ts.map +1 -0
  214. package/dist/server/model-filter.js +240 -0
  215. package/dist/server/ocr.d.ts +39 -0
  216. package/dist/server/ocr.d.ts.map +1 -0
  217. package/dist/server/ocr.js +280 -0
  218. package/dist/server/openai-client.d.ts +19 -0
  219. package/dist/server/openai-client.d.ts.map +1 -0
  220. package/dist/server/openai-client.js +26 -0
  221. package/dist/server/pricing-config.d.ts +18 -0
  222. package/dist/server/pricing-config.d.ts.map +1 -0
  223. package/dist/server/pricing-config.js +94 -0
  224. package/dist/server/pricing-validator.d.ts +41 -0
  225. package/dist/server/pricing-validator.d.ts.map +1 -0
  226. package/dist/server/pricing-validator.js +113 -0
  227. package/dist/server/pricing.d.ts +121 -0
  228. package/dist/server/pricing.d.ts.map +1 -0
  229. package/dist/server/pricing.js +225 -0
  230. package/dist/server/quota.d.ts +66 -0
  231. package/dist/server/quota.d.ts.map +1 -0
  232. package/dist/server/quota.js +538 -0
  233. package/dist/server/wallet-repair.d.ts +32 -0
  234. package/dist/server/wallet-repair.d.ts.map +1 -0
  235. package/dist/server/wallet-repair.js +189 -0
  236. package/dist/server.d.ts +13 -1
  237. package/dist/server.d.ts.map +1 -1
  238. package/dist/server.js +87 -16
  239. package/dist/sitemap/handlers/prompts.d.ts +6 -0
  240. package/dist/sitemap/handlers/prompts.d.ts.map +1 -0
  241. package/dist/sitemap/handlers/prompts.js +72 -0
  242. package/dist/sitemap/handlers/users.d.ts +6 -0
  243. package/dist/sitemap/handlers/users.d.ts.map +1 -0
  244. package/dist/sitemap/handlers/users.js +80 -0
  245. package/dist/sitemap/manifest.d.ts +8 -0
  246. package/dist/sitemap/manifest.d.ts.map +1 -0
  247. package/dist/sitemap/manifest.js +27 -0
  248. package/dist/types/gateway.d.ts +40 -0
  249. package/dist/types/gateway.d.ts.map +1 -0
  250. package/dist/types/gateway.js +4 -0
  251. package/dist/types/quota.d.ts +74 -0
  252. package/dist/types/quota.d.ts.map +1 -0
  253. package/dist/types/quota.js +11 -0
  254. package/dist/utils/date.d.ts +7 -0
  255. package/dist/utils/date.d.ts.map +1 -0
  256. package/dist/utils/date.js +17 -0
  257. package/dist/web/admin/AdminTokenPacksPage.js +1 -1
  258. package/dist/web/admin/BillingAnalyticsPage.d.ts +2 -0
  259. package/dist/web/admin/BillingAnalyticsPage.d.ts.map +1 -0
  260. package/dist/web/admin/BillingAnalyticsPage.js +141 -0
  261. package/dist/web/admin/GlobalAISettingsPage.d.ts +2 -0
  262. package/dist/web/admin/GlobalAISettingsPage.d.ts.map +1 -0
  263. package/dist/web/admin/GlobalAISettingsPage.js +93 -0
  264. package/dist/web/admin/UserTokenPage.d.ts.map +1 -1
  265. package/dist/web/admin/UserTokenPage.js +20 -7
  266. package/dist/web/auth/AISettingsPage.d.ts +2 -0
  267. package/dist/web/auth/AISettingsPage.d.ts.map +1 -0
  268. package/dist/web/auth/AISettingsPage.js +258 -0
  269. package/dist/web/auth/APIKeysPage.d.ts +2 -0
  270. package/dist/web/auth/APIKeysPage.d.ts.map +1 -0
  271. package/dist/web/auth/APIKeysPage.js +154 -0
  272. package/dist/web/auth/HistoryPage.d.ts +2 -0
  273. package/dist/web/auth/HistoryPage.d.ts.map +1 -0
  274. package/dist/web/auth/HistoryPage.js +279 -0
  275. package/dist/web/auth/PromptsPage.d.ts +5 -0
  276. package/dist/web/auth/PromptsPage.d.ts.map +1 -0
  277. package/dist/web/auth/PromptsPage.js +137 -0
  278. package/dist/web/auth/TokenPage.d.ts.map +1 -1
  279. package/dist/web/auth/TokenPage.js +88 -31
  280. package/dist/web/auth/UsageAndTokensPage.d.ts +2 -0
  281. package/dist/web/auth/UsageAndTokensPage.d.ts.map +1 -0
  282. package/dist/web/auth/UsageAndTokensPage.js +157 -0
  283. package/dist/web/auth/UsagePage.d.ts +2 -0
  284. package/dist/web/auth/UsagePage.d.ts.map +1 -0
  285. package/dist/web/auth/UsagePage.js +62 -0
  286. package/dist/web/auth/components/ApiKeyFilterSelect.d.ts +13 -0
  287. package/dist/web/auth/components/ApiKeyFilterSelect.d.ts.map +1 -0
  288. package/dist/web/auth/components/ApiKeyFilterSelect.js +16 -0
  289. package/dist/web/auth/components/ModelUsageTable.d.ts +19 -0
  290. package/dist/web/auth/components/ModelUsageTable.d.ts.map +1 -0
  291. package/dist/web/auth/components/ModelUsageTable.js +37 -0
  292. package/dist/web/auth/components/PurchaseButton.d.ts +7 -0
  293. package/dist/web/auth/components/PurchaseButton.d.ts.map +1 -0
  294. package/dist/web/auth/components/PurchaseButton.js +13 -0
  295. package/dist/web/auth/components/TokenHistoryCard.d.ts +20 -0
  296. package/dist/web/auth/components/TokenHistoryCard.d.ts.map +1 -0
  297. package/dist/web/auth/components/TokenHistoryCard.js +76 -0
  298. package/dist/web/auth/components/TokenKpiGrid.d.ts +24 -0
  299. package/dist/web/auth/components/TokenKpiGrid.d.ts.map +1 -0
  300. package/dist/web/auth/components/TokenKpiGrid.js +38 -0
  301. package/dist/web/auth/components/UsageByDayChart.d.ts +11 -0
  302. package/dist/web/auth/components/UsageByDayChart.d.ts.map +1 -0
  303. package/dist/web/auth/components/UsageByDayChart.js +32 -0
  304. package/dist/web/auth/components/UsageByModelBarChart.d.ts +12 -0
  305. package/dist/web/auth/components/UsageByModelBarChart.d.ts.map +1 -0
  306. package/dist/web/auth/components/UsageByModelBarChart.js +32 -0
  307. package/dist/web/auth/components/WalletStatusCard.d.ts +9 -0
  308. package/dist/web/auth/components/WalletStatusCard.d.ts.map +1 -0
  309. package/dist/web/auth/components/WalletStatusCard.js +50 -0
  310. package/dist/web/components/ButtonGenerative.d.ts +24 -0
  311. package/dist/web/components/ButtonGenerative.d.ts.map +1 -0
  312. package/dist/web/components/ButtonGenerative.js +91 -0
  313. package/dist/web/components/ImageGenerative.d.ts +3 -1
  314. package/dist/web/components/ImageGenerative.d.ts.map +1 -1
  315. package/dist/web/components/ImageGenerative.js +240 -52
  316. package/dist/web/components/TextareaGenerative.d.ts +3 -1
  317. package/dist/web/components/TextareaGenerative.d.ts.map +1 -1
  318. package/dist/web/components/TextareaGenerative.js +12 -5
  319. package/dist/web/public/PromptDetailPage.d.ts +25 -0
  320. package/dist/web/public/PromptDetailPage.d.ts.map +1 -0
  321. package/dist/web/public/PromptDetailPage.js +71 -0
  322. package/dist/web/public/PromptDetailPageServer.d.ts +15 -0
  323. package/dist/web/public/PromptDetailPageServer.d.ts.map +1 -0
  324. package/dist/web/public/PromptDetailPageServer.js +68 -0
  325. package/dist/web/public/PublicPromptsPage.d.ts +5 -0
  326. package/dist/web/public/PublicPromptsPage.d.ts.map +1 -0
  327. package/dist/web/public/PublicPromptsPage.js +110 -0
  328. package/dist/web/public/PurchaseTokensPage.d.ts +2 -0
  329. package/dist/web/public/PurchaseTokensPage.d.ts.map +1 -0
  330. package/dist/web/public/PurchaseTokensPage.js +98 -0
  331. package/dist/web/public/UserAvatar.d.ts +13 -0
  332. package/dist/web/public/UserAvatar.d.ts.map +1 -0
  333. package/dist/web/public/UserAvatar.js +13 -0
  334. package/dist/web/public/UserDetailPageServer.d.ts +15 -0
  335. package/dist/web/public/UserDetailPageServer.d.ts.map +1 -0
  336. package/dist/web/public/UserDetailPageServer.js +31 -0
  337. package/dist/web/public/UserPromptsPage.d.ts +9 -0
  338. package/dist/web/public/UserPromptsPage.d.ts.map +1 -0
  339. package/dist/web/public/UserPromptsPage.js +112 -0
  340. package/dist/web/public/UserPromptsPageServer.d.ts +15 -0
  341. package/dist/web/public/UserPromptsPageServer.d.ts.map +1 -0
  342. package/dist/web/public/UserPromptsPageServer.js +31 -0
  343. package/package.json +18 -9
  344. package/supabase/migrations/20251125000000_ai_tokens.sql +7 -0
  345. package/supabase/migrations/20260123100002_user_token_quota_monthly copy.sql +173 -0
  346. package/supabase/migrations/20260128100003_update_and_add_table.sql +368 -0
  347. package/supabase/migrations/20260128120000_seed_providers_models.sql +78 -0
  348. package/supabase/migrations/20260128131405_add_api_key_id_to_ledgers.sql +41 -0
  349. package/supabase/migrations/20260128140000_ai_artifacts_storage.sql +99 -0
  350. package/supabase/migrations/20260128140002_ai_user_settings.sql +57 -0
  351. package/supabase/migrations/20260128150000_drop_ai_user_settings.sql +21 -0
  352. package/supabase/migrations/20260128160000_wallet_billing_system.sql +192 -0
  353. package/supabase/migrations/20260128160001_wallet_rpc_functions.sql +165 -0
  354. package/supabase/migrations/20260128170000_add_pack_coef_to_token_packs.sql +30 -0
  355. package/supabase/migrations/20260129120000_wallet_view_rpc.sql +41 -0
  356. package/supabase/migrations/20260129220003_update_pack_margins.sql +31 -0
  357. package/supabase/migrations/20260129330004_ai_user_prompts.sql +151 -0
  358. package/supabase/migrations/20260129330005_ai_prompts_ip_tracking.sql +92 -0
  359. package/supabase/migrations/20260129330006_ai_prompts_slug.sql +64 -0
  360. package/supabase/migrations/20260129330007_ai_prompts_view_slug.sql +26 -0
  361. package/supabase/migrations/20260129440000_ai_prompts_view_username.sql +33 -0
  362. package/supabase/migrations/20260129450000_ai_prompts_add_lang.sql +40 -0
  363. package/supabase/migrations/20260131000000_extract_model_prompt_in_ledger.sql +92 -0
  364. package/supabase/migrations/20260131140000_fix_duplicate_purchases.sql +64 -0
  365. package/supabase/migrations/20260201120000_module-ai_default_models.sql +63 -0
  366. package/supabase/migrations/20260201130000_module-ai_remove_provider_tables.sql +17 -0
  367. package/supabase/migrations-down/20251217120000_user_token_quota_monthly.sql +34 -0
  368. package/supabase/migrations-down/20260128131405_add_api_key_id_to_ledgers.sql +25 -0
@@ -0,0 +1,63 @@
1
+ -- module-ai: Set default text and image models GLOBALLY
2
+ -- This migration creates a system-wide config table for default models
3
+ -- All API calls (recipes, images, etc.) will use these defaults unless user overrides
4
+
5
+ begin;
6
+
7
+ -- -----------------------------------------------------------------------------
8
+ -- 1) Create global AI configuration table (single row)
9
+ -- -----------------------------------------------------------------------------
10
+
11
+ create table if not exists public.ai_global_settings (
12
+ id integer primary key default 1 check (id = 1), -- Only 1 row allowed
13
+
14
+ -- Default models for all users
15
+ default_text_provider text not null default 'openai',
16
+ default_text_model text not null default 'gpt-4.1-mini',
17
+
18
+ default_image_provider text not null default 'google',
19
+ default_image_model text not null default 'gemini-2.5-flash-image',
20
+
21
+ -- Optional: default max tokens
22
+ max_tokens_per_call integer not null default 16384,
23
+
24
+ -- Metadata
25
+ updated_at timestamptz not null default now(),
26
+ updated_by uuid null references auth.users(id)
27
+ );
28
+
29
+ -- Insert default values
30
+ insert into public.ai_global_settings (id)
31
+ values (1)
32
+ on conflict (id) do update
33
+ set
34
+ default_text_provider = excluded.default_text_provider,
35
+ default_text_model = excluded.default_text_model,
36
+ default_image_provider = excluded.default_image_provider,
37
+ default_image_model = excluded.default_image_model,
38
+ max_tokens_per_call = excluded.max_tokens_per_call;
39
+
40
+ -- -----------------------------------------------------------------------------
41
+ -- 2) RLS: Public read for all, only superadmin can write
42
+ -- -----------------------------------------------------------------------------
43
+
44
+ alter table public.ai_global_settings enable row level security;
45
+
46
+ drop policy if exists ai_global_settings_select on public.ai_global_settings;
47
+ create policy ai_global_settings_select
48
+ on public.ai_global_settings for select
49
+ using (true); -- Everyone can read
50
+
51
+ drop policy if exists ai_global_settings_update on public.ai_global_settings;
52
+ create policy ai_global_settings_update
53
+ on public.ai_global_settings for update
54
+ using (is_superadmin(auth.uid()))
55
+ with check (is_superadmin(auth.uid()));
56
+
57
+ -- Updated trigger
58
+ drop trigger if exists trg_ai_global_settings_updated_at on public.ai_global_settings;
59
+ create trigger trg_ai_global_settings_updated_at
60
+ before update on public.ai_global_settings
61
+ for each row execute function public.set_updated_at();
62
+
63
+ commit;
@@ -0,0 +1,17 @@
1
+ -- module-ai: Remove deprecated tables ai_providers and ai_provider_models
2
+ -- These tables are no longer used - we query Vercel AI Gateway directly for available models
3
+ -- Global defaults are now stored in ai_global_settings table
4
+
5
+ begin;
6
+
7
+ -- Drop dependent tables/views first (if any)
8
+ drop view if exists ai_active_models_v cascade;
9
+
10
+ -- Drop the tables
11
+ drop table if exists public.ai_provider_models cascade;
12
+ drop table if exists public.ai_providers cascade;
13
+
14
+ -- Note: No need to update ai_global_settings as it doesn't have foreign keys to these tables
15
+ -- The global settings table uses simple text fields for provider/model names
16
+
17
+ commit;
@@ -0,0 +1,34 @@
1
+ -- ===========================================================================
2
+ -- Module: @lastbrain/module-ai
3
+ -- Migration DOWN: 20251217120000_user_token_quota_monthly.sql
4
+ -- Description: Rollback monthly token quota tables
5
+ -- ===========================================================================
6
+
7
+ -- Drop helper function
8
+ DROP FUNCTION IF EXISTS public.get_plan_default_tokens(text);
9
+
10
+ -- Drop triggers
11
+ DROP TRIGGER IF EXISTS set_user_token_quota_monthly_updated_at ON public.user_token_quota_monthly;
12
+
13
+ -- Drop policies - user_token_quota_ledger
14
+ DROP POLICY IF EXISTS user_token_quota_ledger_admin_all ON public.user_token_quota_ledger;
15
+ DROP POLICY IF EXISTS user_token_quota_ledger_select_own ON public.user_token_quota_ledger;
16
+
17
+ -- Drop policies - user_token_quota_monthly
18
+ DROP POLICY IF EXISTS user_token_quota_monthly_admin_all ON public.user_token_quota_monthly;
19
+ DROP POLICY IF EXISTS user_token_quota_monthly_select_own ON public.user_token_quota_monthly;
20
+
21
+ -- Drop indexes - user_token_quota_ledger
22
+ DROP INDEX IF EXISTS public.idx_user_token_quota_ledger_period;
23
+ DROP INDEX IF EXISTS public.idx_user_token_quota_ledger_owner_created;
24
+ DROP INDEX IF EXISTS public.idx_user_token_quota_ledger_owner;
25
+
26
+ -- Drop indexes - user_token_quota_monthly
27
+ DROP INDEX IF EXISTS public.idx_user_token_quota_monthly_subscription;
28
+ DROP INDEX IF EXISTS public.idx_user_token_quota_monthly_period;
29
+ DROP INDEX IF EXISTS public.idx_user_token_quota_monthly_plan;
30
+ DROP INDEX IF EXISTS public.idx_user_token_quota_monthly_owner;
31
+
32
+ -- Drop tables
33
+ DROP TABLE IF EXISTS public.user_token_quota_ledger;
34
+ DROP TABLE IF EXISTS public.user_token_quota_monthly;
@@ -0,0 +1,25 @@
1
+ -- module-ai: rollback api_key_id columns from ledger tables
2
+
3
+ begin;
4
+
5
+ -- -----------------------------------------------------------------------------
6
+ -- Remove indexes for user_token_ledger
7
+ -- -----------------------------------------------------------------------------
8
+ drop index if exists public.idx_user_token_ledger_owner_api_key;
9
+ drop index if exists public.idx_user_token_ledger_api_key_id;
10
+
11
+ -- Remove column from user_token_ledger
12
+ alter table public.user_token_ledger
13
+ drop column if exists api_key_id;
14
+
15
+ -- -----------------------------------------------------------------------------
16
+ -- Remove indexes for user_token_quota_ledger
17
+ -- -----------------------------------------------------------------------------
18
+ drop index if exists public.idx_user_token_quota_ledger_owner_api_key;
19
+ drop index if exists public.idx_user_token_quota_ledger_api_key_id;
20
+
21
+ -- Remove column from user_token_quota_ledger
22
+ alter table public.user_token_quota_ledger
23
+ drop column if exists api_key_id;
24
+
25
+ commit;