@aurabase/aurabase-js 0.3.0 → 0.4.0

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 (343) hide show
  1. package/README.md +26 -795
  2. package/{packages/aurabase/dist/AuraClient-DAtDbfPB.d.ts → dist/AuraClient-BcFE8u1v.d.cts} +1 -1
  3. package/{packages/aurabase/dist/AuraClient-DAtDbfPB.d.cts → dist/AuraClient-BcFE8u1v.d.ts} +1 -1
  4. package/{packages/aurabase/dist → dist}/index.d.cts +1 -1
  5. package/{packages/aurabase/dist → dist}/index.d.ts +1 -1
  6. package/{packages/aurabase/dist → dist}/ssr.d.cts +1 -1
  7. package/{packages/aurabase/dist → dist}/ssr.d.ts +1 -1
  8. package/package.json +72 -82
  9. package/.changeset/config.json +0 -11
  10. package/CHANGELOG.md +0 -30
  11. package/packages/ai/LICENSE +0 -21
  12. package/packages/ai/README.md +0 -106
  13. package/packages/ai/dist/index.cjs +0 -229
  14. package/packages/ai/dist/index.d.cts +0 -139
  15. package/packages/ai/dist/index.d.ts +0 -139
  16. package/packages/ai/dist/index.js +0 -226
  17. package/packages/ai/node_modules/.bin/esbuild +0 -19
  18. package/packages/ai/node_modules/.bin/tsc +0 -22
  19. package/packages/ai/node_modules/.bin/tsserver +0 -22
  20. package/packages/ai/node_modules/.bin/tsup +0 -22
  21. package/packages/ai/node_modules/.bin/tsup-node +0 -22
  22. package/packages/ai/node_modules/.bin/vite +0 -22
  23. package/packages/ai/node_modules/.bin/vitest +0 -22
  24. package/packages/ai/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  25. package/packages/ai/package.json +0 -61
  26. package/packages/ai/src/AiService.ts +0 -226
  27. package/packages/ai/src/index.ts +0 -18
  28. package/packages/ai/src/sse.ts +0 -141
  29. package/packages/ai/src/types.ts +0 -30
  30. package/packages/ai/tests/chat-stream.test.ts +0 -151
  31. package/packages/ai/tests/rag-namespaces.test.ts +0 -54
  32. package/packages/ai/tests/sse.test.ts +0 -69
  33. package/packages/ai/tsconfig.json +0 -5
  34. package/packages/ai/tsup.config.ts +0 -11
  35. package/packages/aurabase/LICENSE +0 -21
  36. package/packages/aurabase/README.md +0 -64
  37. package/packages/aurabase/node_modules/.bin/esbuild +0 -19
  38. package/packages/aurabase/node_modules/.bin/tsc +0 -22
  39. package/packages/aurabase/node_modules/.bin/tsserver +0 -22
  40. package/packages/aurabase/node_modules/.bin/tsup +0 -22
  41. package/packages/aurabase/node_modules/.bin/tsup-node +0 -22
  42. package/packages/aurabase/node_modules/.bin/vite +0 -22
  43. package/packages/aurabase/node_modules/.bin/vitest +0 -22
  44. package/packages/aurabase/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  45. package/packages/aurabase/package.json +0 -80
  46. package/packages/aurabase/src/AuraClient.ts +0 -237
  47. package/packages/aurabase/src/index.ts +0 -152
  48. package/packages/aurabase/src/ssr.ts +0 -156
  49. package/packages/aurabase/tests/ai-streaming-rag-e2e.test.ts +0 -82
  50. package/packages/aurabase/tests/ai.test.ts +0 -111
  51. package/packages/aurabase/tests/auth-admin.test.ts +0 -515
  52. package/packages/aurabase/tests/auth-e2e.test.ts +0 -135
  53. package/packages/aurabase/tests/auth-hardening.test.ts +0 -206
  54. package/packages/aurabase/tests/auth.test.ts +0 -947
  55. package/packages/aurabase/tests/database.test.ts +0 -230
  56. package/packages/aurabase/tests/db-types-e2e.test.ts +0 -217
  57. package/packages/aurabase/tests/dispose.test.ts +0 -23
  58. package/packages/aurabase/tests/foreign-token.e2e.test.ts +0 -129
  59. package/packages/aurabase/tests/functions.test.ts +0 -107
  60. package/packages/aurabase/tests/integration.test.ts +0 -413
  61. package/packages/aurabase/tests/live-production-validation.js +0 -241
  62. package/packages/aurabase/tests/live-sdk-production-validation.js +0 -293
  63. package/packages/aurabase/tests/mocks.ts +0 -139
  64. package/packages/aurabase/tests/notifications.test.ts +0 -314
  65. package/packages/aurabase/tests/observability-backup.test.ts +0 -186
  66. package/packages/aurabase/tests/observability-hook.test.ts +0 -130
  67. package/packages/aurabase/tests/production-robustness.test.ts +0 -268
  68. package/packages/aurabase/tests/public-api-surface.test.ts +0 -53
  69. package/packages/aurabase/tests/query-builder.test.ts +0 -329
  70. package/packages/aurabase/tests/readme-smoke-e2e.test.ts +0 -231
  71. package/packages/aurabase/tests/realtime-filter-e2e.test.ts +0 -344
  72. package/packages/aurabase/tests/refresh-locks.test.ts +0 -210
  73. package/packages/aurabase/tests/retry-option.test.ts +0 -17
  74. package/packages/aurabase/tests/rpc-e2e.test.ts +0 -254
  75. package/packages/aurabase/tests/rs256-local-e2e.test.ts +0 -114
  76. package/packages/aurabase/tests/rt-alias-public-e2e.test.ts +0 -235
  77. package/packages/aurabase/tests/rt-http-broadcast-e2e.test.ts +0 -124
  78. package/packages/aurabase/tests/service-role-guard.test.ts +0 -99
  79. package/packages/aurabase/tests/ssr.test.ts +0 -91
  80. package/packages/aurabase/tests/storage-backend-e2e.test.ts +0 -481
  81. package/packages/aurabase/tests/storage-sdk-parity-e2e.test.ts +0 -104
  82. package/packages/aurabase/tests/storage-transform-e2e.test.ts +0 -684
  83. package/packages/aurabase/tests/storage.test.ts +0 -55
  84. package/packages/aurabase/tests/types/client-generic.test-d.ts +0 -79
  85. package/packages/aurabase/tests/types/docs-snippets.test-d.ts +0 -571
  86. package/packages/aurabase/tests/types/error-code.test-d.ts +0 -53
  87. package/packages/aurabase/tsconfig.json +0 -5
  88. package/packages/aurabase/tsconfig.test-d.json +0 -5
  89. package/packages/aurabase/tsup.config.ts +0 -11
  90. package/packages/aurabase/vitest.config.ts +0 -16
  91. package/packages/aurabase/vitest.e2e.config.ts +0 -9
  92. package/packages/auth/LICENSE +0 -21
  93. package/packages/auth/README.md +0 -215
  94. package/packages/auth/dist/index.cjs +0 -1175
  95. package/packages/auth/dist/index.d.cts +0 -397
  96. package/packages/auth/dist/index.d.ts +0 -397
  97. package/packages/auth/dist/index.js +0 -1170
  98. package/packages/auth/node_modules/.bin/esbuild +0 -19
  99. package/packages/auth/node_modules/.bin/tsc +0 -22
  100. package/packages/auth/node_modules/.bin/tsserver +0 -22
  101. package/packages/auth/node_modules/.bin/tsup +0 -22
  102. package/packages/auth/node_modules/.bin/tsup-node +0 -22
  103. package/packages/auth/node_modules/.bin/vite +0 -22
  104. package/packages/auth/node_modules/.bin/vitest +0 -22
  105. package/packages/auth/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  106. package/packages/auth/package.json +0 -61
  107. package/packages/auth/src/AuthAdminService.ts +0 -149
  108. package/packages/auth/src/AuthService.ts +0 -1166
  109. package/packages/auth/src/SessionManager.ts +0 -92
  110. package/packages/auth/src/index.ts +0 -17
  111. package/packages/auth/src/jwks.ts +0 -337
  112. package/packages/auth/src/pkce.ts +0 -27
  113. package/packages/auth/src/types.ts +0 -89
  114. package/packages/auth/tests/auth-lifecycle.test.ts +0 -149
  115. package/packages/auth/tests/detect-session.test.ts +0 -361
  116. package/packages/auth/tests/getclaims.test.ts +0 -780
  117. package/packages/auth/tests/is-mfa-challenge.test.ts +0 -27
  118. package/packages/auth/tests/password-recovery.test.ts +0 -124
  119. package/packages/auth/tests/pkce.test.ts +0 -192
  120. package/packages/auth/tests/session-manager.test.ts +0 -103
  121. package/packages/auth/tests/set-session.test.ts +0 -139
  122. package/packages/auth/tests/verify-otp.test.ts +0 -153
  123. package/packages/auth/tsconfig.json +0 -5
  124. package/packages/auth/tsup.config.ts +0 -11
  125. package/packages/core/LICENSE +0 -21
  126. package/packages/core/README.md +0 -132
  127. package/packages/core/dist/index.cjs +0 -695
  128. package/packages/core/dist/index.d.cts +0 -1137
  129. package/packages/core/dist/index.d.ts +0 -1137
  130. package/packages/core/dist/index.js +0 -673
  131. package/packages/core/node_modules/.bin/esbuild +0 -22
  132. package/packages/core/node_modules/.bin/tsc +0 -22
  133. package/packages/core/node_modules/.bin/tsserver +0 -22
  134. package/packages/core/node_modules/.bin/tsup +0 -22
  135. package/packages/core/node_modules/.bin/tsup-node +0 -22
  136. package/packages/core/node_modules/.bin/vite +0 -22
  137. package/packages/core/node_modules/.bin/vitest +0 -22
  138. package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  139. package/packages/core/package.json +0 -57
  140. package/packages/core/src/AuraError.ts +0 -89
  141. package/packages/core/src/BaseService.ts +0 -44
  142. package/packages/core/src/client.ts +0 -34
  143. package/packages/core/src/cookie-utils.ts +0 -42
  144. package/packages/core/src/fetch.ts +0 -435
  145. package/packages/core/src/index.ts +0 -22
  146. package/packages/core/src/retry.ts +0 -63
  147. package/packages/core/src/serialize.ts +0 -6
  148. package/packages/core/src/stores/BaseAuthStore.ts +0 -164
  149. package/packages/core/src/stores/LocalAuthStore.ts +0 -199
  150. package/packages/core/src/types.ts +0 -1042
  151. package/packages/core/tests/auth-store.test.ts +0 -300
  152. package/packages/core/tests/error-code.test.ts +0 -61
  153. package/packages/core/tests/error.test.ts +0 -24
  154. package/packages/core/tests/fetch.test.ts +0 -286
  155. package/packages/core/tests/mocks.ts +0 -139
  156. package/packages/core/tests/observability.test.ts +0 -86
  157. package/packages/core/tests/refresh-hardening.test.ts +0 -164
  158. package/packages/core/tests/refresh-observability.test.ts +0 -111
  159. package/packages/core/tests/retry.test.ts +0 -106
  160. package/packages/core/tests/serialize.test.ts +0 -12
  161. package/packages/core/tests/timeout.test.ts +0 -79
  162. package/packages/core/tsconfig.json +0 -5
  163. package/packages/core/tsup.config.ts +0 -11
  164. package/packages/db/LICENSE +0 -21
  165. package/packages/db/README.md +0 -152
  166. package/packages/db/VENDORED.md +0 -93
  167. package/packages/db/dist/index.cjs +0 -544
  168. package/packages/db/dist/index.d.cts +0 -1111
  169. package/packages/db/dist/index.d.ts +0 -1111
  170. package/packages/db/dist/index.js +0 -541
  171. package/packages/db/node_modules/.bin/esbuild +0 -19
  172. package/packages/db/node_modules/.bin/tsc +0 -22
  173. package/packages/db/node_modules/.bin/tsserver +0 -22
  174. package/packages/db/node_modules/.bin/tsup +0 -22
  175. package/packages/db/node_modules/.bin/tsup-node +0 -22
  176. package/packages/db/node_modules/.bin/vite +0 -22
  177. package/packages/db/node_modules/.bin/vitest +0 -22
  178. package/packages/db/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  179. package/packages/db/package.json +0 -62
  180. package/packages/db/src/DatabaseService.ts +0 -170
  181. package/packages/db/src/QueryBuilder.ts +0 -830
  182. package/packages/db/src/index.ts +0 -2
  183. package/packages/db/src/pgrst-types/common/common.ts +0 -86
  184. package/packages/db/src/pgrst-types/common/rpc.ts +0 -151
  185. package/packages/db/src/pgrst-types/feature-flags.ts +0 -20
  186. package/packages/db/src/pgrst-types/types.ts +0 -134
  187. package/packages/db/src/select-query-parser/parser.ts +0 -479
  188. package/packages/db/src/select-query-parser/result.ts +0 -553
  189. package/packages/db/src/select-query-parser/types.ts +0 -132
  190. package/packages/db/src/select-query-parser/utils.ts +0 -707
  191. package/packages/db/tests/filters.test.ts +0 -81
  192. package/packages/db/tests/mutations-filtered.e2e.test.ts +0 -132
  193. package/packages/db/tests/mutations-filtered.test.ts +0 -188
  194. package/packages/db/tests/order.test.ts +0 -45
  195. package/packages/db/tests/rpc.test.ts +0 -41
  196. package/packages/db/tests/scale/build-large-schema.ts +0 -94
  197. package/packages/db/tests/scale/scale-compile.test.ts +0 -167
  198. package/packages/db/tests/schema.test.ts +0 -77
  199. package/packages/db/tests/single-accept.e2e.test.ts +0 -123
  200. package/packages/db/tests/single.test.ts +0 -211
  201. package/packages/db/tests/types/filters.test-d.ts +0 -52
  202. package/packages/db/tests/types/fixtures.ts +0 -40
  203. package/packages/db/tests/types/from-views.test-d.ts +0 -18
  204. package/packages/db/tests/types/mutations.test-d.ts +0 -23
  205. package/packages/db/tests/types/rpc.test-d.ts +0 -60
  206. package/packages/db/tests/types/schema-shape.test-d.ts +0 -8
  207. package/packages/db/tests/types/select-inference.test-d.ts +0 -38
  208. package/packages/db/tests/vendored/fixtures.ts +0 -83
  209. package/packages/db/tests/vendored/get-result.test-d.ts +0 -75
  210. package/packages/db/tsconfig.json +0 -5
  211. package/packages/db/tsconfig.test-d.json +0 -5
  212. package/packages/db/tsup.config.ts +0 -11
  213. package/packages/db/vitest.config.ts +0 -8
  214. package/packages/functions/LICENSE +0 -21
  215. package/packages/functions/README.md +0 -96
  216. package/packages/functions/dist/index.cjs +0 -173
  217. package/packages/functions/dist/index.d.cts +0 -81
  218. package/packages/functions/dist/index.d.ts +0 -81
  219. package/packages/functions/dist/index.js +0 -168
  220. package/packages/functions/node_modules/.bin/esbuild +0 -19
  221. package/packages/functions/node_modules/.bin/tsc +0 -22
  222. package/packages/functions/node_modules/.bin/tsserver +0 -22
  223. package/packages/functions/node_modules/.bin/tsup +0 -22
  224. package/packages/functions/node_modules/.bin/tsup-node +0 -22
  225. package/packages/functions/node_modules/.bin/vite +0 -22
  226. package/packages/functions/node_modules/.bin/vitest +0 -22
  227. package/packages/functions/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  228. package/packages/functions/package.json +0 -60
  229. package/packages/functions/src/FunctionsService.ts +0 -188
  230. package/packages/functions/src/errors.ts +0 -70
  231. package/packages/functions/src/index.ts +0 -6
  232. package/packages/functions/tests/invoke.test.ts +0 -97
  233. package/packages/functions/tests/response-type-errors.test.ts +0 -135
  234. package/packages/functions/tsconfig.json +0 -5
  235. package/packages/functions/tsup.config.ts +0 -11
  236. package/packages/gen/LICENSE +0 -21
  237. package/packages/gen/README.md +0 -84
  238. package/packages/gen/dist/cli.cjs +0 -334
  239. package/packages/gen/dist/cli.d.cts +0 -1
  240. package/packages/gen/dist/cli.d.ts +0 -1
  241. package/packages/gen/dist/cli.js +0 -332
  242. package/packages/gen/dist/index.cjs +0 -257
  243. package/packages/gen/dist/index.d.cts +0 -12
  244. package/packages/gen/dist/index.d.ts +0 -12
  245. package/packages/gen/dist/index.js +0 -255
  246. package/packages/gen/node_modules/.bin/esbuild +0 -19
  247. package/packages/gen/node_modules/.bin/tsc +0 -22
  248. package/packages/gen/node_modules/.bin/tsserver +0 -22
  249. package/packages/gen/node_modules/.bin/tsup +0 -22
  250. package/packages/gen/node_modules/.bin/tsup-node +0 -22
  251. package/packages/gen/node_modules/.bin/vite +0 -22
  252. package/packages/gen/node_modules/.bin/vitest +0 -22
  253. package/packages/gen/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  254. package/packages/gen/package.json +0 -66
  255. package/packages/gen/src/cli.ts +0 -67
  256. package/packages/gen/src/generate.ts +0 -0
  257. package/packages/gen/src/index.ts +0 -2
  258. package/packages/gen/tests/compile.test.ts +0 -213
  259. package/packages/gen/tests/e2e.test.ts +0 -130
  260. package/packages/gen/tests/generate.test.ts +0 -396
  261. package/packages/gen/tsconfig.json +0 -5
  262. package/packages/gen/tsup.config.ts +0 -11
  263. package/packages/notifications/LICENSE +0 -21
  264. package/packages/notifications/README.md +0 -134
  265. package/packages/notifications/dist/index.cjs +0 -128
  266. package/packages/notifications/dist/index.d.cts +0 -81
  267. package/packages/notifications/dist/index.d.ts +0 -81
  268. package/packages/notifications/dist/index.js +0 -125
  269. package/packages/notifications/node_modules/.bin/esbuild +0 -19
  270. package/packages/notifications/node_modules/.bin/tsc +0 -22
  271. package/packages/notifications/node_modules/.bin/tsserver +0 -22
  272. package/packages/notifications/node_modules/.bin/tsup +0 -22
  273. package/packages/notifications/node_modules/.bin/tsup-node +0 -22
  274. package/packages/notifications/node_modules/.bin/vite +0 -22
  275. package/packages/notifications/node_modules/.bin/vitest +0 -22
  276. package/packages/notifications/package.json +0 -60
  277. package/packages/notifications/src/NotificationsService.ts +0 -230
  278. package/packages/notifications/src/index.ts +0 -19
  279. package/packages/notifications/tsconfig.json +0 -5
  280. package/packages/notifications/tsup.config.ts +0 -11
  281. package/packages/realtime/LICENSE +0 -21
  282. package/packages/realtime/README.md +0 -183
  283. package/packages/realtime/dist/index.cjs +0 -977
  284. package/packages/realtime/dist/index.d.cts +0 -259
  285. package/packages/realtime/dist/index.d.ts +0 -259
  286. package/packages/realtime/dist/index.js +0 -973
  287. package/packages/realtime/node_modules/.bin/esbuild +0 -19
  288. package/packages/realtime/node_modules/.bin/tsc +0 -22
  289. package/packages/realtime/node_modules/.bin/tsserver +0 -22
  290. package/packages/realtime/node_modules/.bin/tsup +0 -22
  291. package/packages/realtime/node_modules/.bin/tsup-node +0 -22
  292. package/packages/realtime/node_modules/.bin/vite +0 -22
  293. package/packages/realtime/node_modules/.bin/vitest +0 -22
  294. package/packages/realtime/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  295. package/packages/realtime/package.json +0 -60
  296. package/packages/realtime/src/AuraChannel.ts +0 -485
  297. package/packages/realtime/src/HeartbeatManager.ts +0 -73
  298. package/packages/realtime/src/RealtimeService.ts +0 -505
  299. package/packages/realtime/src/columnFilter.ts +0 -301
  300. package/packages/realtime/src/index.ts +0 -4
  301. package/packages/realtime/tests/ack-routing.test.ts +0 -81
  302. package/packages/realtime/tests/column-filter.test.ts +0 -144
  303. package/packages/realtime/tests/dispatch.test.ts +0 -191
  304. package/packages/realtime/tests/heartbeat.test.ts +0 -67
  305. package/packages/realtime/tests/http-broadcast.test.ts +0 -68
  306. package/packages/realtime/tests/realtime-token.test.ts +0 -43
  307. package/packages/realtime/tests/reconnect-race.test.ts +0 -149
  308. package/packages/realtime/tests/ref-id.test.ts +0 -34
  309. package/packages/realtime/tests/set-auth.test.ts +0 -70
  310. package/packages/realtime/tsconfig.json +0 -5
  311. package/packages/realtime/tsup.config.ts +0 -11
  312. package/packages/storage/LICENSE +0 -21
  313. package/packages/storage/README.md +0 -141
  314. package/packages/storage/dist/index.cjs +0 -333
  315. package/packages/storage/dist/index.d.cts +0 -185
  316. package/packages/storage/dist/index.d.ts +0 -185
  317. package/packages/storage/dist/index.js +0 -329
  318. package/packages/storage/node_modules/.bin/esbuild +0 -19
  319. package/packages/storage/node_modules/.bin/tsc +0 -22
  320. package/packages/storage/node_modules/.bin/tsserver +0 -22
  321. package/packages/storage/node_modules/.bin/tsup +0 -22
  322. package/packages/storage/node_modules/.bin/tsup-node +0 -22
  323. package/packages/storage/node_modules/.bin/vite +0 -22
  324. package/packages/storage/node_modules/.bin/vitest +0 -22
  325. package/packages/storage/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  326. package/packages/storage/package.json +0 -60
  327. package/packages/storage/src/DownloadBuilder.ts +0 -60
  328. package/packages/storage/src/StorageService.ts +0 -323
  329. package/packages/storage/src/index.ts +0 -2
  330. package/packages/storage/src/path.ts +0 -35
  331. package/packages/storage/src/transform.ts +0 -15
  332. package/packages/storage/tests/download.test.ts +0 -64
  333. package/packages/storage/tests/parity.test.ts +0 -154
  334. package/packages/storage/tests/path.test.ts +0 -87
  335. package/packages/storage/tests/transform.test.ts +0 -79
  336. package/packages/storage/tsconfig.json +0 -5
  337. package/packages/storage/tsup.config.ts +0 -11
  338. package/pnpm-workspace.yaml +0 -24
  339. package/tsconfig.base.json +0 -15
  340. /package/{packages/aurabase/dist → dist}/index.cjs +0 -0
  341. /package/{packages/aurabase/dist → dist}/index.js +0 -0
  342. /package/{packages/aurabase/dist → dist}/ssr.cjs +0 -0
  343. /package/{packages/aurabase/dist → dist}/ssr.js +0 -0
@@ -1,397 +0,0 @@
1
- import { BaseService, AuraClientLike, AuthChangePayload, SignUpRequest, AuraResponse, LoginResponse, SignInRequest, OAuthSignInOptions, MagicLinkRequest, TokenPair, User, SessionInfo, GetClaimsResult, UpdateUserRequest, PasswordResetRequest, MfaEnrollResponse, MfaVerifyRequest, IdentityInfo, MfaChallenge, AdminUser, AdminCreateUserRequest, AdminUpdateUserRequest, GenerateLinkType, GenerateLinkResult, UserStats, AdminSessionInfo, AuditLogEntry, AuthSettings, EmailTemplateUpdate } from '@aurabase/core';
2
-
3
- /**
4
- * Types d'OTP « email » (parité `EmailOtpType` de supabase-js). Tous ne sont pas
5
- * exercables côté backend Aurabase : `invite` n'a aucun endpoint (→ `verifyOtp`
6
- * lève `otp_type_unsupported`). Conservé dans l'union pour la parité de surface.
7
- */
8
- type EmailOtpType = 'signup' | 'invite' | 'magiclink' | 'recovery' | 'email_change' | 'email';
9
- /**
10
- * Types d'OTP « mobile » (parité `MobileOtpType` de supabase-js). `phone_change`
11
- * n'a aucun endpoint backend (→ `otp_type_unsupported`).
12
- */
13
- type MobileOtpType = 'sms' | 'phone_change';
14
- interface VerifySignupOtpParams {
15
- type: 'signup';
16
- /** Jeton reçu par email (lien de confirmation d'inscription). */
17
- token: string;
18
- }
19
- interface VerifyMagiclinkOtpParams {
20
- type: 'magiclink';
21
- /** Jeton du magic link. */
22
- token: string;
23
- }
24
- interface VerifyEmailOtpParams {
25
- type: 'email';
26
- email: string;
27
- /** Code OTP à 6 chiffres reçu par email (mappé sur `code` côté backend). */
28
- token: string;
29
- }
30
- interface VerifySmsOtpParams {
31
- type: 'sms';
32
- phone: string;
33
- /** Code OTP reçu par SMS (mappé sur `code` côté backend). */
34
- token: string;
35
- }
36
- interface VerifyEmailChangeOtpParams {
37
- type: 'email_change';
38
- /** Jeton de confirmation de changement d'email. */
39
- token: string;
40
- }
41
- interface VerifyRecoveryOtpParams {
42
- type: 'recovery';
43
- /** Jeton de récupération reçu par email. */
44
- token: string;
45
- /**
46
- * Nouveau mot de passe. REQUIS : le backend `reset-password` fusionne
47
- * consommation du token + changement de mot de passe (divergence documentée
48
- * avec supabase-js qui renvoie une session puis attend un `updateUser`).
49
- */
50
- password: string;
51
- }
52
- /** Type de surface (parité) sans endpoint backend → `otp_type_unsupported`. */
53
- interface VerifyInviteOtpParams {
54
- type: 'invite';
55
- token: string;
56
- }
57
- /** Type de surface (parité) sans endpoint backend → `otp_type_unsupported`. */
58
- interface VerifyPhoneChangeOtpParams {
59
- type: 'phone_change';
60
- phone: string;
61
- token: string;
62
- }
63
- /**
64
- * Union discriminée par `type` de la façade `verifyOtp` (parité surface
65
- * `@supabase/auth-js`). Chaque variante route vers l'endpoint historique
66
- * correspondant. `invite`/`phone_change` restent dans l'union pour la parité
67
- * mais lèvent `otp_type_unsupported` tant que le backend ne les expose pas.
68
- */
69
- type VerifyOtpParams = VerifySignupOtpParams | VerifyMagiclinkOtpParams | VerifyEmailOtpParams | VerifySmsOtpParams | VerifyEmailChangeOtpParams | VerifyRecoveryOtpParams | VerifyInviteOtpParams | VerifyPhoneChangeOtpParams;
70
-
71
- type AuthStateCallback = (payload: AuthChangePayload) => void;
72
- interface AuthServiceOptions {
73
- autoRefresh?: boolean;
74
- persistSession?: boolean;
75
- /** Interne/test : force l'activation du SessionManager même hors navigateur. */
76
- forceEnabled?: boolean;
77
- /**
78
- * Détecte/consomme une session dans l'URL au boot (callback OAuth). Défaut :
79
- * `true` en navigateur, no-op hors navigateur. Voir `_detectSessionInUrl`.
80
- */
81
- detectSessionInUrl?: boolean;
82
- }
83
- /**
84
- * Garde de type discriminant `LoginResponse = TokenPair | MfaChallenge` (LOT 3, 3.4).
85
- * Exportée (`@aurabase/auth` et re-export `aurabase`) pour permettre aux consommateurs
86
- * de discriminer eux-mêmes le retour de `signUp`/`signInWithPassword` sans réimplémenter
87
- * la même vérification structurelle (`mfa_required === true`).
88
- */
89
- declare function isMfaChallenge(v: unknown): v is MfaChallenge;
90
- declare class AuthService extends BaseService {
91
- private _stateListeners;
92
- private _sessionManager;
93
- private _applyingRemote;
94
- private _unsubStore;
95
- private _disposed;
96
- constructor(client: AuraClientLike, options?: AuthServiceOptions);
97
- /**
98
- * Détecte et consomme une session présente dans l'URL courante au boot (callback
99
- * OAuth), à l'image de `detectSessionInUrl` de supabase-js :
100
- * - fragment `#access_token=…&refresh_token=…` (flux implicit) → `setSession`.
101
- * - query `?token=…&type=recovery` (lien de récupération de mot de passe) → émet
102
- * `PASSWORD_RECOVERY` avec `recoveryToken` (AUCUNE session posée, PAS de `SIGNED_IN`).
103
- * - query `?code=…` (flux PKCE) → `exchangeCodeForSession` (relit le verifier).
104
- * Puis nettoie l'URL via `history.replaceState` (retire tokens/code de la barre
105
- * d'adresse et de l'historique). Idempotent, no-op si aucun token/code n'est
106
- * présent, no-op hors navigateur. NE THROW JAMAIS (best-effort au boot).
107
- */
108
- _detectSessionInUrl(): Promise<void>;
109
- /**
110
- * Retire de l'URL courante les paramètres d'auth du callback OAuth : le fragment
111
- * entier (flux implicit) et les query params `code`/`state` (flux PKCE), tout en
112
- * préservant les autres query params. Via `history.replaceState` (pas de nouvelle
113
- * entrée d'historique). Best-effort, ne throw jamais.
114
- */
115
- private _cleanAuthParamsFromUrl;
116
- private _broadcastState;
117
- private _applyRemoteState;
118
- /** Démonte le cycle de vie proactif : ticker, visibilité, BroadcastChannel, listeners. */
119
- dispose(): void;
120
- private get prefix();
121
- /** Clé project-scoped du `code_verifier` PKCE (anti-collision multi-projets). */
122
- private get _pkceVerifierKey();
123
- /**
124
- * Clé project-scoped du MARQUEUR d'initiation du flux OAuth implicit (SEC-F3).
125
- * Posé par `signInWithOAuth` (flux implicit) avant le redirect ; vérifié + purgé
126
- * par `_detectSessionInUrl` au retour. Un fragment `#access_token` forgé/injecté
127
- * par un attaquant (login-CSRF / session fixation) n'aura PAS ce marqueur → il ne
128
- * sera jamais adopté.
129
- */
130
- private get _oauthInitiatedKey();
131
- onAuthStateChange(callback: AuthStateCallback): {
132
- unsubscribe: () => void;
133
- };
134
- private _emitEvent;
135
- signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>;
136
- signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>;
137
- signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{
138
- url: string;
139
- }>>;
140
- signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{
141
- message: string;
142
- }>>;
143
- signInAnonymously(): Promise<AuraResponse<TokenPair>>;
144
- signOut(): Promise<AuraResponse<null>>;
145
- refreshSession(): Promise<AuraResponse<TokenPair>>;
146
- /**
147
- * Session courante lue depuis le store (synchrone en pratique, pas d'appel réseau).
148
- *
149
- * ÉCART DE FORME AVEC SUPABASE (LOT 3, 3.5, documenté — pas de breaking change) :
150
- * `supabase-js` renvoie `AuraResponse`-like `{data:{session: Session|null}, error}`
151
- * où `Session` regroupe `access_token`/`refresh_token`/`expires_at`/`user`. Ici,
152
- * `getSession()` renvoie directement `{accessToken, user}` (pas d'enveloppe
153
- * `{data, error}`, pas de `refreshToken`/`expiresAt`). Ce choix est délibéré :
154
- * cette méthode ne fait aucune requête réseau et ne peut donc jamais échouer
155
- * (`error` serait toujours `null`) — l'envelopper aurait été un contrat menteur.
156
- * Le `refreshToken` n'est pas exposé pour éviter qu'un consommateur le manipule
157
- * hors du store (contrairement à `accessToken`, souvent nécessaire pour des appels
158
- * `fetch` manuels côté app). Pour la session complète, lire `client.authStore`
159
- * directement (`.token`, `.refreshToken`, `.user`, `.isValid`).
160
- */
161
- getSession(): Promise<{
162
- accessToken: string | null;
163
- user: User | null;
164
- }>;
165
- setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>;
166
- exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<TokenPair>>;
167
- /**
168
- * Cœur de l'échange PKCE. `successEvent` détermine l'événement émis en cas de
169
- * succès : `SIGNED_IN` (connexion normale) ou `PASSWORD_RECOVERY` (callback de
170
- * récupération de mot de passe, `?code=…&type=recovery` — voir `_detectSessionInUrl`).
171
- */
172
- private _exchangeCode;
173
- listSessions(): Promise<AuraResponse<SessionInfo[]>>;
174
- revokeSession(sessionId: string): Promise<AuraResponse<null>>;
175
- revokeAllSessions(): Promise<AuraResponse<{
176
- message: string;
177
- }>>;
178
- /**
179
- * Récupère l'utilisateur validé côté serveur.
180
- *
181
- * Sans argument : valide le token de la SESSION courante (`store.token`),
182
- * avec refresh proactif — comportement historique.
183
- *
184
- * Avec `jwt` (LOT D) : valide le token ARBITRAIRE passé, via l'override
185
- * `authToken` (`Authorization: Bearer <jwt>`), SANS toucher la session
186
- * (`skipAuthRefresh`, aucun refresh ni retry-401 sur le store). Le backend
187
- * applique l'isolation projet native : un token d'un AUTRE projet → 403.
188
- */
189
- getUser(jwt?: string): Promise<AuraResponse<User>>;
190
- /**
191
- * Vérifie et décode les claims d'un JWT.
192
- *
193
- * Chemin nominal : vérification LOCALE via JWKS + WebCrypto, uniquement pour
194
- * `alg ∈ {RS256, ES256}` (anti-alg-confusion : jamais de vérif locale HS256).
195
- * Chemin fallback : `getUser()` (validation serveur) quand la vérif locale
196
- * n'est pas applicable — `alg` non supporté (HS256), JWKS vide, aucune clé
197
- * correspondante, ou fetch JWKS en échec. C'est le chemin nominal sur les
198
- * déploiements HS256 (JWKS `{"keys":[]}`).
199
- *
200
- * FOREIGN-TOKEN (LOT D) : le fallback getUser valide le token RÉELLEMENT visé.
201
- * Pour le token de session (no-arg, ou `jwt === authStore.token`), c'est
202
- * `getUser()` (validation du token du store). Pour un `jwt` ÉTRANGER, c'est
203
- * `getUser(jwt)` qui présente CE token en `Authorization` (override `authToken`,
204
- * jamais celui du store) : le backend le valide et renvoie SON identité. Aucune
205
- * misattribution possible — on présente exactement le token à vérifier — et
206
- * l'isolation projet est native côté gateway (token d'un autre projet → 403,
207
- * remonté en AuraError, jamais fabriqué).
208
- *
209
- * NOTE (fallback) : les claims renvoyées par le chemin fallback sont dérivées
210
- * de `getUser()` (identité validée serveur) et NE contiennent PAS `exp`/`iat`
211
- * (ni les autres champs temporels du JWT) — un consommateur ne doit pas se
212
- * fier à `claims.exp` / `claims.iat` après un fallback. Seul le chemin de
213
- * vérification locale RS256/ES256 renvoie les claims JWT complètes.
214
- */
215
- getClaims(jwt?: string, options?: {
216
- allowExpired?: boolean;
217
- issuer?: string;
218
- audience?: string;
219
- }): Promise<AuraResponse<GetClaimsResult>>;
220
- deleteUser(password: string): Promise<AuraResponse<null>>;
221
- updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>;
222
- resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{
223
- message: string;
224
- }>>;
225
- updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>;
226
- mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>;
227
- mfaVerifySetup(code: string): Promise<AuraResponse<{
228
- recovery_codes: string[];
229
- }>>;
230
- mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>;
231
- mfaUnenroll(password: string): Promise<AuraResponse<{
232
- message: string;
233
- }>>;
234
- /**
235
- * Façade unifiée de vérification OTP (parité `verifyOtp` de `@supabase/auth-js`).
236
- * Route vers l'endpoint historique correct selon `params.type`, en conservant
237
- * l'effet de bord (sauvegarde de session + émission d'événement). SOURCE DE
238
- * VÉRITÉ UNIQUE : les méthodes historiques (`verifyEmail`, `verifySmsOtp`, …)
239
- * délèguent désormais ici.
240
- *
241
- * Mapping :
242
- * - `signup` → POST /verify-email `{ token }` → SIGNED_IN
243
- * - `magiclink` → POST /magic-link/verify `{ token }` → SIGNED_IN
244
- * - `email` → POST /email-otp/verify `{ email, code }` → SIGNED_IN
245
- * - `sms` → POST /sms/verify `{ phone, code }` → SIGNED_IN
246
- * - `recovery` → POST /reset-password `{ token, password }` → SIGNED_IN
247
- * - `email_change` → POST /user/confirm-email-change `{ token }` → USER_UPDATED
248
- *
249
- * Divergences documentées :
250
- * - `recovery` EXIGE `password` (le backend fusionne consommation du token +
251
- * changement de mot de passe) → `AuraError('missing_password')` sans appel réseau sinon.
252
- * - `invite`/`phone_change` n'ont aucun endpoint backend → `AuraError('otp_type_unsupported')`.
253
- * - `email_change` émet dorénavant `USER_UPDATED` (auparavant aucun événement) —
254
- * amélioration assumée (parité), pas une régression.
255
- */
256
- verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>;
257
- verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>>;
258
- /**
259
- * Helper commun aux vérifications OTP renvoyant une `TokenPair` : appelle
260
- * l'endpoint, puis (succès) sauvegarde la session et émet `SIGNED_IN`.
261
- */
262
- private _verifyToTokenPair;
263
- /** Rétrocompat : délègue à `verifyOtp({ type: 'signup' })` (POST /verify-email). */
264
- verifyEmail(token: string): Promise<AuraResponse<TokenPair>>;
265
- resendVerificationEmail(email?: string): Promise<AuraResponse<{
266
- message: string;
267
- }>>;
268
- signInWithEmailOtp(email: string): Promise<AuraResponse<{
269
- message: string;
270
- }>>;
271
- /** Rétrocompat : délègue à `verifyOtp({ type: 'email' })` (POST /email-otp/verify). */
272
- verifyEmailOtp(email: string, code: string): Promise<AuraResponse<TokenPair>>;
273
- signInWithSmsOtp(phone: string): Promise<AuraResponse<{
274
- message: string;
275
- }>>;
276
- /** Rétrocompat : délègue à `verifyOtp({ type: 'sms' })` (POST /sms/verify). */
277
- verifySmsOtp(phone: string, code: string): Promise<AuraResponse<TokenPair>>;
278
- listIdentities(): Promise<AuraResponse<IdentityInfo[]>>;
279
- linkIdentity(provider: string): Promise<AuraResponse<{
280
- url: string;
281
- provider: string;
282
- }>>;
283
- unlinkIdentity(identityId: string): Promise<AuraResponse<{
284
- message: string;
285
- }>>;
286
- /**
287
- * Rétrocompat : délègue à `verifyOtp({ type: 'email_change' })`.
288
- * CHANGEMENT ASSUMÉ (parité) : émet désormais `USER_UPDATED` (auparavant aucun
289
- * événement) — voir CHANGELOG.
290
- */
291
- confirmEmailChange(token: string): Promise<AuraResponse<User>>;
292
- regenerateRecoveryCodes(code: string): Promise<AuraResponse<{
293
- recovery_codes: string[];
294
- }>>;
295
- signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<TokenPair>>;
296
- /** GoTrue parity : GET /settings — config publique du projet (pas d'auth requise). */
297
- getSettings(): Promise<AuraResponse<{
298
- disable_signup: boolean;
299
- external: Record<string, boolean>;
300
- mailer_autoconfirm: boolean;
301
- mfa_enabled: boolean;
302
- }>>;
303
- /** Clé publiable (anon key) du projet — GET /anon-key (public, à l'image du modèle Supabase). */
304
- getAnonKey(): Promise<AuraResponse<{
305
- anon_key: string;
306
- }>>;
307
- /**
308
- * Consomme le token de récupération de mot de passe et applique le nouveau mot de passe.
309
- * Body confirmé au handler (`ResetPasswordRequest` — services/aura-auth/src/handlers/auth.rs) :
310
- * `{ token, password }`. Révoque les anciennes sessions et renvoie une nouvelle TokenPair.
311
- */
312
- resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>>;
313
- /**
314
- * Convertit l'utilisateur anonyme courant (JWT requis) en compte régulier email+password.
315
- * Body confirmé au handler (`PromoteAnonymousRequest`) : `{ email, password }`.
316
- */
317
- promoteAnonymous(credentials: {
318
- email: string;
319
- password: string;
320
- }): Promise<AuraResponse<TokenPair>>;
321
- /**
322
- * Consomme le token de magic link et renvoie une TokenPair.
323
- * Body confirmé au handler (`VerifyMagicLinkRequest`) : `{ token }`.
324
- */
325
- verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>>;
326
- }
327
-
328
- declare class AuthAdminService extends BaseService {
329
- private get prefix();
330
- listUsers(params?: {
331
- limit?: number;
332
- offset?: number;
333
- search?: string;
334
- }): Promise<AuraResponse<AdminUser[]>>;
335
- getUser(userId: string): Promise<AuraResponse<AdminUser>>;
336
- createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>;
337
- updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>;
338
- deleteUser(userId: string): Promise<AuraResponse<null>>;
339
- banUser(userId: string): Promise<AuraResponse<null>>;
340
- unbanUser(userId: string): Promise<AuraResponse<null>>;
341
- generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>;
342
- getUserStats(): Promise<AuraResponse<UserStats>>;
343
- listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>;
344
- listSessions(params?: {
345
- userId?: string;
346
- limit?: number;
347
- offset?: number;
348
- }): Promise<AuraResponse<AdminSessionInfo[]>>;
349
- revokeSession(sessionId: string): Promise<AuraResponse<null>>;
350
- getAuditLog(params?: {
351
- userId?: string;
352
- limit?: number;
353
- offset?: number;
354
- }): Promise<AuraResponse<AuditLogEntry[]>>;
355
- getSettings(): Promise<AuraResponse<AuthSettings>>;
356
- updateSettings(data: Partial<AuthSettings>): Promise<AuraResponse<AuthSettings>>;
357
- listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>;
358
- getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>;
359
- updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>;
360
- deleteEmailTemplate(type: string): Promise<AuraResponse<{
361
- message: string;
362
- }>>;
363
- testEmailTemplate(type: string, body: {
364
- to_email: string;
365
- }): Promise<AuraResponse<null>>;
366
- }
367
-
368
- interface SessionManagerOptions {
369
- channelName: string;
370
- enabled: boolean;
371
- onTick: () => void;
372
- isRefreshDue: () => boolean;
373
- onRemoteMessage: (data: unknown) => void;
374
- tickMs?: number;
375
- }
376
- /**
377
- * Primitive de cycle de vie de session (timers + BroadcastChannel + visibilité).
378
- * Aucune logique métier auth : `AuthService` fournit les callbacks et pilote `setActive`.
379
- * Sûr en Node/SSR/RN — tous les globals sont gardés (`typeof … !== 'undefined'`).
380
- */
381
- declare class SessionManager {
382
- private readonly opts;
383
- private _interval;
384
- private _channel;
385
- private _active;
386
- private _visHandler;
387
- constructor(opts: SessionManagerOptions);
388
- get isActive(): boolean;
389
- start(): void;
390
- setActive(active: boolean): void;
391
- broadcast(data: unknown): void;
392
- stop(): void;
393
- private _startInterval;
394
- private _stopInterval;
395
- }
396
-
397
- export { AuthAdminService, AuthService, type EmailOtpType, type MobileOtpType, SessionManager, type SessionManagerOptions, type VerifyEmailChangeOtpParams, type VerifyEmailOtpParams, type VerifyInviteOtpParams, type VerifyMagiclinkOtpParams, type VerifyOtpParams, type VerifyPhoneChangeOtpParams, type VerifyRecoveryOtpParams, type VerifySignupOtpParams, type VerifySmsOtpParams, isMfaChallenge };