alepha 0.20.2 → 0.20.4

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 (304) hide show
  1. package/README.md +0 -1
  2. package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
  3. package/assets/swagger-ui/swagger-ui.css +1 -1
  4. package/dist/api/audits/index.browser.js +49 -0
  5. package/dist/api/audits/index.browser.js.map +1 -1
  6. package/dist/api/audits/index.js +49 -0
  7. package/dist/api/audits/index.js.map +1 -1
  8. package/dist/api/files/index.js.map +1 -1
  9. package/dist/api/jobs/index.d.ts +2 -61
  10. package/dist/api/jobs/index.d.ts.map +1 -1
  11. package/dist/api/jobs/index.js.map +1 -1
  12. package/dist/api/keys/index.d.ts +4 -4
  13. package/dist/api/keys/index.js.map +1 -1
  14. package/dist/api/notifications/index.d.ts +1 -10
  15. package/dist/api/notifications/index.d.ts.map +1 -1
  16. package/dist/api/parameters/index.browser.js +37 -0
  17. package/dist/api/parameters/index.browser.js.map +1 -1
  18. package/dist/api/parameters/index.d.ts +12 -68
  19. package/dist/api/parameters/index.d.ts.map +1 -1
  20. package/dist/api/parameters/index.js +57 -4
  21. package/dist/api/parameters/index.js.map +1 -1
  22. package/dist/api/payments/index.js.map +1 -1
  23. package/dist/api/users/index.browser.js +6 -0
  24. package/dist/api/users/index.browser.js.map +1 -1
  25. package/dist/api/users/index.d.ts +148 -227
  26. package/dist/api/users/index.d.ts.map +1 -1
  27. package/dist/api/users/index.js +60 -14
  28. package/dist/api/users/index.js.map +1 -1
  29. package/dist/api/verifications/index.d.ts.map +1 -1
  30. package/dist/api/verifications/index.js +2 -1
  31. package/dist/api/verifications/index.js.map +1 -1
  32. package/dist/bucket/index.d.ts +77 -107
  33. package/dist/bucket/index.d.ts.map +1 -1
  34. package/dist/bucket/index.js +153 -5
  35. package/dist/bucket/index.js.map +1 -1
  36. package/dist/bucket/index.workerd.js +12 -2
  37. package/dist/bucket/index.workerd.js.map +1 -1
  38. package/dist/cache/core/index.d.ts +26 -0
  39. package/dist/cache/core/index.d.ts.map +1 -1
  40. package/dist/cache/core/index.js +11 -1
  41. package/dist/cache/core/index.js.map +1 -1
  42. package/dist/cache/core/index.workerd.js +11 -1
  43. package/dist/cache/core/index.workerd.js.map +1 -1
  44. package/dist/captcha/index.js.map +1 -1
  45. package/dist/cli/config/index.d.ts +7 -5
  46. package/dist/cli/config/index.d.ts.map +1 -1
  47. package/dist/cli/config/index.js +2 -3
  48. package/dist/cli/config/index.js.map +1 -1
  49. package/dist/cli/core/index.d.ts +637 -11660
  50. package/dist/cli/core/index.d.ts.map +1 -1
  51. package/dist/cli/core/index.js +707 -532
  52. package/dist/cli/core/index.js.map +1 -1
  53. package/dist/cli/devtools/index.d.ts +4 -8
  54. package/dist/cli/devtools/index.d.ts.map +1 -1
  55. package/dist/cli/devtools/index.js +20 -16
  56. package/dist/cli/devtools/index.js.map +1 -1
  57. package/dist/cli/platform/index.d.ts +51 -77
  58. package/dist/cli/platform/index.d.ts.map +1 -1
  59. package/dist/cli/platform/index.js +65 -15
  60. package/dist/cli/platform/index.js.map +1 -1
  61. package/dist/cli/vendor/index.d.ts +10 -13
  62. package/dist/cli/vendor/index.d.ts.map +1 -1
  63. package/dist/cli/vendor/index.js +30 -12
  64. package/dist/cli/vendor/index.js.map +1 -1
  65. package/dist/command/index.js +1 -1
  66. package/dist/command/index.js.map +1 -1
  67. package/dist/core/index.browser.js +27 -3
  68. package/dist/core/index.browser.js.map +1 -1
  69. package/dist/core/index.d.ts +8 -11
  70. package/dist/core/index.d.ts.map +1 -1
  71. package/dist/core/index.js +27 -3
  72. package/dist/core/index.js.map +1 -1
  73. package/dist/core/index.native.js +27 -3
  74. package/dist/core/index.native.js.map +1 -1
  75. package/dist/core/index.workerd.js +27 -3
  76. package/dist/core/index.workerd.js.map +1 -1
  77. package/dist/crypto/index.js.map +1 -1
  78. package/dist/datetime/index.d.ts +69 -10
  79. package/dist/datetime/index.d.ts.map +1 -1
  80. package/dist/datetime/index.js +135 -13
  81. package/dist/datetime/index.js.map +1 -1
  82. package/dist/email/core/index.js.map +1 -1
  83. package/dist/email/smtp/index.js +130 -16
  84. package/dist/email/smtp/index.js.map +1 -1
  85. package/dist/fake/index.js.map +1 -1
  86. package/dist/lock/core/index.d.ts +30 -2
  87. package/dist/lock/core/index.d.ts.map +1 -1
  88. package/dist/lock/core/index.js +35 -12
  89. package/dist/lock/core/index.js.map +1 -1
  90. package/dist/lock/redis/index.js.map +1 -1
  91. package/dist/logger/index.js +32 -1
  92. package/dist/logger/index.js.map +1 -1
  93. package/dist/mcp/index.d.ts +238 -31
  94. package/dist/mcp/index.d.ts.map +1 -1
  95. package/dist/mcp/index.js +198 -67
  96. package/dist/mcp/index.js.map +1 -1
  97. package/dist/orm/core/index.browser.js +2 -362
  98. package/dist/orm/core/index.browser.js.map +1 -1
  99. package/dist/orm/core/index.bun.js +18 -409
  100. package/dist/orm/core/index.bun.js.map +1 -1
  101. package/dist/orm/core/index.d.ts +41 -194
  102. package/dist/orm/core/index.d.ts.map +1 -1
  103. package/dist/orm/core/index.js +27 -422
  104. package/dist/orm/core/index.js.map +1 -1
  105. package/dist/orm/postgres/index.bun.js +17 -20
  106. package/dist/orm/postgres/index.bun.js.map +1 -1
  107. package/dist/orm/postgres/index.d.ts +1 -5
  108. package/dist/orm/postgres/index.d.ts.map +1 -1
  109. package/dist/orm/postgres/index.js +17 -20
  110. package/dist/orm/postgres/index.js.map +1 -1
  111. package/dist/react/core/index.d.ts +102 -1
  112. package/dist/react/core/index.d.ts.map +1 -1
  113. package/dist/react/core/index.js +65 -1
  114. package/dist/react/core/index.js.map +1 -1
  115. package/dist/react/form/index.d.ts +6 -0
  116. package/dist/react/form/index.d.ts.map +1 -1
  117. package/dist/react/form/index.js +7 -7
  118. package/dist/react/form/index.js.map +1 -1
  119. package/dist/react/i18n/index.d.ts +7 -1
  120. package/dist/react/i18n/index.d.ts.map +1 -1
  121. package/dist/react/i18n/index.js +6 -0
  122. package/dist/react/i18n/index.js.map +1 -1
  123. package/dist/react/intro/index.js +22 -17
  124. package/dist/react/intro/index.js.map +1 -1
  125. package/dist/react/router/index.browser.js +98 -4
  126. package/dist/react/router/index.browser.js.map +1 -1
  127. package/dist/react/router/index.d.ts +58 -5
  128. package/dist/react/router/index.d.ts.map +1 -1
  129. package/dist/react/router/index.js +122 -6
  130. package/dist/react/router/index.js.map +1 -1
  131. package/dist/react/testing/{chunk-DBEY4PJZ.js → chunk-6Ep1yQYe.js} +1 -1
  132. package/dist/react/testing/index.js +1 -1
  133. package/dist/react/testing/index.js.map +1 -1
  134. package/dist/react/ui/index.d.ts +195 -1
  135. package/dist/react/ui/index.d.ts.map +1 -1
  136. package/dist/react/ui/index.js +64 -1
  137. package/dist/react/ui/index.js.map +1 -1
  138. package/dist/react/websocket/index.js.map +1 -1
  139. package/dist/redis/index.js.map +1 -1
  140. package/dist/scheduler/index.d.ts +1 -2
  141. package/dist/scheduler/index.d.ts.map +1 -1
  142. package/dist/scheduler/index.js +1 -1
  143. package/dist/scheduler/index.js.map +1 -1
  144. package/dist/scheduler/index.workerd.js +1 -1
  145. package/dist/scheduler/index.workerd.js.map +1 -1
  146. package/dist/security/index.browser.js.map +1 -1
  147. package/dist/security/index.d.ts.map +1 -1
  148. package/dist/security/index.js +2 -2
  149. package/dist/security/index.js.map +1 -1
  150. package/dist/server/auth/index.d.ts.map +1 -1
  151. package/dist/server/auth/index.js +24 -10
  152. package/dist/server/auth/index.js.map +1 -1
  153. package/dist/server/cookies/index.js.map +1 -1
  154. package/dist/server/core/index.browser.js +10 -3
  155. package/dist/server/core/index.browser.js.map +1 -1
  156. package/dist/server/core/index.d.ts +1 -4
  157. package/dist/server/core/index.d.ts.map +1 -1
  158. package/dist/server/core/index.js +47 -9
  159. package/dist/server/core/index.js.map +1 -1
  160. package/dist/server/links/index.browser.js.map +1 -1
  161. package/dist/server/links/index.js.map +1 -1
  162. package/dist/server/metrics/index.js +19 -1
  163. package/dist/server/metrics/index.js.map +1 -1
  164. package/dist/server/rate-limit/index.js.map +1 -1
  165. package/dist/server/static/index.js.map +1 -1
  166. package/dist/server/swagger/index.d.ts.map +1 -1
  167. package/dist/server/swagger/index.js +4 -5
  168. package/dist/server/swagger/index.js.map +1 -1
  169. package/dist/sms/index.js.map +1 -1
  170. package/dist/system/index.browser.js.map +1 -1
  171. package/dist/system/index.js.map +1 -1
  172. package/dist/system/index.workerd.js.map +1 -1
  173. package/dist/topic/core/index.js.map +1 -1
  174. package/dist/websocket/index.browser.js +32 -5
  175. package/dist/websocket/index.browser.js.map +1 -1
  176. package/dist/websocket/index.d.ts +3 -1
  177. package/dist/websocket/index.d.ts.map +1 -1
  178. package/dist/websocket/index.js +42 -6
  179. package/dist/websocket/index.js.map +1 -1
  180. package/package.json +685 -274
  181. package/src/api/files/__tests__/FileController.spec.ts +1 -1
  182. package/src/api/jobs/__tests__/$job.spec.ts +5 -1
  183. package/src/api/parameters/services/ParameterProvider.ts +21 -4
  184. package/src/api/users/__tests__/SessionService.spec.ts +99 -0
  185. package/src/api/users/__tests__/UserJobs.spec.ts +67 -0
  186. package/src/api/users/atoms/realmAuthSettingsAtom.ts +15 -0
  187. package/src/api/users/entities/sessions.ts +6 -0
  188. package/src/api/users/jobs/UserJobs.ts +44 -17
  189. package/src/api/users/providers/RealmProvider.ts +4 -0
  190. package/src/api/users/schemas/userQuerySchema.ts +0 -1
  191. package/src/api/users/services/SessionService.ts +27 -0
  192. package/src/api/users/services/UserService.ts +1 -5
  193. package/src/api/verifications/__tests__/CodeVerification.spec.ts +14 -0
  194. package/src/api/verifications/__tests__/LinkVerification.spec.ts +14 -0
  195. package/src/api/verifications/services/VerificationService.ts +1 -0
  196. package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +74 -0
  197. package/src/bucket/index.ts +19 -2
  198. package/src/bucket/primitives/$bucket.ts +9 -1
  199. package/src/bucket/providers/CloudflareR2Provider.ts +2 -137
  200. package/src/bucket/providers/NodeS3BucketProvider.ts +218 -0
  201. package/src/cache/core/index.ts +29 -0
  202. package/src/cache/core/primitives/$cache.ts +14 -1
  203. package/src/cli/config/defineConfig.ts +13 -15
  204. package/src/cli/core/__tests__/init.spec.ts +214 -7
  205. package/src/cli/core/commands/init.ts +12 -0
  206. package/src/cli/core/services/PackageManagerUtils.ts +23 -6
  207. package/src/cli/core/services/ProjectScaffolder.ts +315 -33
  208. package/src/cli/core/tasks/BuildCloudflareTask.ts +5 -0
  209. package/src/cli/core/tasks/BuildDockerTask.ts +9 -10
  210. package/src/cli/core/tasks/BuildServerTask.ts +8 -0
  211. package/src/cli/core/templates/agentMd.ts +2 -10
  212. package/src/cli/core/templates/apiIndexTs.ts +23 -1
  213. package/src/cli/core/templates/componentsJsonTs.ts +39 -0
  214. package/src/cli/core/templates/mainCss.ts +1 -0
  215. package/src/cli/core/templates/saasAdminLayoutTsx.ts +77 -0
  216. package/src/cli/core/templates/saasAdminPagesTsx.ts +26 -0
  217. package/src/cli/core/templates/saasAuthLayoutTsx.ts +20 -0
  218. package/src/cli/core/templates/saasAuthPagesTsx.ts +62 -0
  219. package/src/cli/core/templates/saasRealmProviderTs.ts +46 -0
  220. package/src/cli/core/templates/webAppRouterTs.ts +104 -1
  221. package/src/cli/core/templates/webIndexTs.ts +23 -1
  222. package/src/cli/devtools/index.ts +12 -26
  223. package/src/cli/platform/__tests__/SecretsCommand.spec.ts +2 -0
  224. package/src/cli/platform/index.ts +15 -24
  225. package/src/cli/vendor/atoms/vendorOptions.ts +1 -1
  226. package/src/cli/vendor/index.ts +14 -23
  227. package/src/command/providers/CliProvider.ts +1 -1
  228. package/src/core/Alepha.ts +11 -1
  229. package/src/core/helpers/ref.ts +18 -0
  230. package/src/core/index.shared.ts +1 -0
  231. package/src/core/interfaces/Service.ts +3 -1
  232. package/src/core/providers/SchemaValidator.ts +9 -1
  233. package/src/core/providers/TypeProvider.ts +2 -3
  234. package/src/datetime/REFACTORING.md +118 -0
  235. package/src/datetime/providers/DateTimeProvider.ts +203 -24
  236. package/src/lock/core/index.ts +31 -0
  237. package/src/lock/core/primitives/$lock.ts +14 -1
  238. package/src/logger/services/Logger.ts +1 -1
  239. package/src/mcp/__tests__/$resource.spec.ts +1 -1
  240. package/src/mcp/__tests__/$tool.spec.ts +1 -1
  241. package/src/mcp/__tests__/McpServerProvider.spec.ts +1 -1
  242. package/src/mcp/__tests__/jsonrpc.spec.ts +1 -1
  243. package/src/mcp/helpers/jsonrpc.ts +26 -1
  244. package/src/mcp/index.ts +10 -5
  245. package/src/mcp/interfaces/McpTypes.ts +83 -6
  246. package/src/mcp/primitives/$prompt.ts +18 -1
  247. package/src/mcp/primitives/$resource.ts +18 -1
  248. package/src/mcp/primitives/$tool.ts +83 -7
  249. package/src/mcp/providers/McpServerProvider.ts +74 -16
  250. package/src/mcp/transports/StreamableHttpMcpTransport.ts +226 -0
  251. package/src/orm/REFACTORING.md +330 -0
  252. package/src/orm/__tests__/$repository-tests.ts +1 -0
  253. package/src/orm/__tests__/orm-next-tests.ts +2 -67
  254. package/src/orm/__tests__/orm-next.spec.ts +0 -21
  255. package/src/orm/core/index.shared.ts +0 -2
  256. package/src/orm/core/index.ts +1 -2
  257. package/src/orm/core/primitives/$repository.ts +3 -6
  258. package/src/orm/core/primitives/$transactional.ts +11 -0
  259. package/src/orm/core/providers/drivers/DatabaseProvider.ts +0 -5
  260. package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +11 -13
  261. package/src/orm/core/schemas/updateSchema.ts +1 -1
  262. package/src/orm/core/services/ModelBuilder.ts +1 -13
  263. package/src/orm/core/services/PgRelationManager.ts +4 -2
  264. package/src/orm/core/services/Repository.ts +1 -42
  265. package/src/orm/core/services/SqliteModelBuilder.ts +2 -33
  266. package/src/orm/postgres/services/PostgresModelBuilder.ts +10 -45
  267. package/src/react/core/__tests__/useQuery.browser.spec.tsx +86 -0
  268. package/src/react/core/hooks/useQuery.ts +153 -0
  269. package/src/react/core/index.ts +1 -0
  270. package/src/react/form/services/FormModel.ts +15 -6
  271. package/src/react/form/services/parseField.ts +8 -0
  272. package/src/react/i18n/providers/I18nProvider.ts +8 -2
  273. package/src/react/intro/components/GettingStartedAuthSlide.tsx +11 -4
  274. package/src/react/router/__tests__/$page.spec.tsx +0 -16
  275. package/src/react/router/__tests__/ReactBrowserProvider.browser.spec.ts +213 -2
  276. package/src/react/router/__tests__/ssr.spec.tsx +339 -0
  277. package/src/react/router/primitives/$page.ts +28 -4
  278. package/src/react/router/providers/ReactBrowserProvider.ts +73 -0
  279. package/src/react/router/providers/ReactBrowserRouterProvider.ts +1 -1
  280. package/src/react/router/providers/ReactPageProvider.ts +27 -9
  281. package/src/react/router/providers/ReactPreloadProvider.ts +1 -1
  282. package/src/react/router/providers/ReactServerProvider.ts +1 -0
  283. package/src/react/ui/atoms/uiThemeListAtom.ts +36 -0
  284. package/src/react/ui/index.ts +6 -0
  285. package/src/react/ui/services/SchemaControl.ts +209 -0
  286. package/src/scheduler/providers/CronProvider.ts +1 -1
  287. package/src/security/primitives/$basicAuth.ts +1 -1
  288. package/src/security/primitives/$issuer.ts +6 -3
  289. package/src/server/auth/providers/ServerAuthProvider.ts +5 -1
  290. package/src/server/core/__tests__/ServerRouterProvider-serializationError.spec.ts +75 -0
  291. package/src/server/core/__tests__/ServerRouterProvider-validationError.spec.ts +306 -0
  292. package/src/server/core/errors/ValidationError.ts +13 -1
  293. package/src/server/core/interfaces/ServerRequest.ts +1 -0
  294. package/src/server/core/primitives/$action.ts +16 -5
  295. package/src/server/core/providers/ServerProvider.ts +1 -1
  296. package/src/server/core/providers/ServerRouterProvider.ts +28 -6
  297. package/src/server/core/services/HttpClient.ts +1 -1
  298. package/src/server/swagger/providers/ServerSwaggerProvider.ts +6 -8
  299. package/src/websocket/providers/NodeWebSocketServerProvider.ts +10 -4
  300. package/src/websocket/services/WebSocketClient.ts +11 -5
  301. package/src/mcp/transports/SseMcpTransport.ts +0 -182
  302. package/src/orm/core/__tests__/parseQueryString.spec.ts +0 -196
  303. package/src/orm/core/helpers/parseQueryString.ts +0 -502
  304. package/src/orm/core/primitives/$view.ts +0 -88
@@ -1,5 +1,5 @@
1
1
  import * as _$alepha from "alepha";
2
- import { Alepha, AlephaError, KIND, Middleware, Page, Page as Page$1, PageQuery, PageQuery as PageQuery$1, Primitive, Service, Static, StaticEncode, TBigInt, TInteger, TNull, TNumber, TNumberOptions, TObject, TObjectOptions, TOptional, TPage, TSchema, TString, TStringOptions, TUnion, pageQuerySchema, pageSchema } from "alepha";
2
+ import { Alepha, AlephaError, KIND, Middleware, Page, Page as Page$1, PageQuery, PageQuery as PageQuery$1, Primitive, SchemaValidator, Service, Static, StaticEncode, TBigInt, TInteger, TNull, TNumber, TNumberOptions, TObject, TObjectOptions, TOptional, TPage, TSchema, TString, TStringOptions, TUnion, pageQuerySchema, pageSchema } from "alepha";
3
3
  import { DateTime, DateTimeProvider } from "alepha/datetime";
4
4
  import * as _$alepha_logger0 from "alepha/logger";
5
5
  import * as _$drizzle_orm0 from "drizzle-orm";
@@ -323,69 +323,6 @@ type EntityColumn<T extends TObject> = {
323
323
  };
324
324
  type EntityColumns<T extends TObject> = { [key in keyof T["properties"]]: EntityColumn<T> };
325
325
  //#endregion
326
- //#region ../../src/orm/core/primitives/$view.d.ts
327
- /**
328
- * Creates a database view primitive from a TypeBox schema and SQL query.
329
- *
330
- * Views are read-only: Repository blocks all write operations.
331
- *
332
- * @example
333
- * ```ts
334
- * import { t } from "alepha";
335
- * import { $view } from "alepha/orm";
336
- * import { sql } from "drizzle-orm";
337
- *
338
- * const userSummary = $view({
339
- * name: "user_summary",
340
- * schema: t.object({
341
- * id: t.uuid(),
342
- * fullName: t.text(),
343
- * orderCount: t.integer(),
344
- * }),
345
- * query: sql`SELECT u.id, u.first_name || ' ' || u.last_name AS full_name, COUNT(o.id) AS order_count FROM users u LEFT JOIN orders o ON o.user_id = u.id GROUP BY u.id`,
346
- * });
347
- *
348
- * // Materialized view (PostgreSQL only)
349
- * const monthlyStats = $view({
350
- * name: "monthly_stats",
351
- * schema: t.object({ ... }),
352
- * query: sql`...`,
353
- * materialized: true,
354
- * });
355
- * ```
356
- */
357
- declare const $view: {
358
- <TSchema extends TObject>(options: ViewPrimitiveOptions<TSchema>): ViewPrimitive<TSchema>;
359
- [KIND]: typeof ViewPrimitive;
360
- };
361
- interface ViewPrimitiveOptions<T extends TObject> {
362
- /**
363
- * The database view name.
364
- */
365
- name: string;
366
- /**
367
- * TypeBox schema defining the view's columns.
368
- */
369
- schema: T;
370
- /**
371
- * SQL query that defines the view.
372
- */
373
- query: SQL;
374
- /**
375
- * Whether this is a materialized view (PostgreSQL only).
376
- * Materialized views store results on disk and can be refreshed.
377
- */
378
- materialized?: boolean;
379
- }
380
- declare class ViewPrimitive<T extends TObject = TObject> {
381
- readonly options: ViewPrimitiveOptions<T>;
382
- readonly isView = true;
383
- constructor(options: ViewPrimitiveOptions<T>);
384
- get name(): string;
385
- get schema(): T;
386
- get materialized(): boolean;
387
- }
388
- //#endregion
389
326
  //#region ../../src/orm/core/services/ModelBuilder.d.ts
390
327
  /**
391
328
  * Database-specific table configuration functions
@@ -421,13 +358,6 @@ declare abstract class ModelBuilder {
421
358
  schemas: Map<string, unknown>;
422
359
  schema: string;
423
360
  }): void;
424
- /**
425
- * Build a view from a view primitive.
426
- */
427
- abstract buildView(view: ViewPrimitive, options: {
428
- tables: Map<string, unknown>;
429
- schema: string;
430
- }): void;
431
361
  /**
432
362
  * Build a sequence from a sequence primitive.
433
363
  */
@@ -5450,7 +5380,6 @@ declare abstract class DatabaseProvider {
5450
5380
  protected parseOperation(sql: string): string;
5451
5381
  table<T extends TObject>(entity: EntityPrimitive<T>): PgTableWithColumns<SchemaToTableConfig<T>>;
5452
5382
  registerEntity(entity: EntityPrimitive): void;
5453
- registerView(view: ViewPrimitive): void;
5454
5383
  registerSequence(sequence: SequencePrimitive): void;
5455
5384
  /**
5456
5385
  * Rebuild all models into fresh maps using a different schema.
@@ -5535,10 +5464,6 @@ declare class SqliteModelBuilder extends ModelBuilder {
5535
5464
  schemas: Map<string, unknown>;
5536
5465
  schema: string;
5537
5466
  }): void;
5538
- buildView(view: ViewPrimitive, options: {
5539
- tables: Map<string, unknown>;
5540
- schema: string;
5541
- }): void;
5542
5467
  buildSequence(sequence: SequencePrimitive, options: {
5543
5468
  sequences: Map<string, unknown>;
5544
5469
  schema: string;
@@ -5588,10 +5513,10 @@ declare class SqliteModelBuilder extends ModelBuilder {
5588
5513
  name: string;
5589
5514
  dataType: "custom";
5590
5515
  columnType: "SQLiteCustomColumn";
5591
- data: _$typebox.StaticRecord<[], "Decode", {}, {}, string, TSchema>;
5516
+ data: Record<string, unknown>;
5592
5517
  driverParam: string;
5593
5518
  enumValues: undefined;
5594
- }>, _$typebox.StaticRecord<[], "Decode", {}, {}, string, TSchema>> | _$drizzle_orm0.$Type<pg.SQLiteCustomColumnBuilder<{
5519
+ }>, Record<string, unknown>> | _$drizzle_orm0.$Type<pg.SQLiteCustomColumnBuilder<{
5595
5520
  name: string;
5596
5521
  dataType: "custom";
5597
5522
  columnType: "SQLiteCustomColumn";
@@ -5971,6 +5896,39 @@ declare class DbTableNotFoundError extends DbError {
5971
5896
  static fromDatabaseError(error: Error): DbTableNotFoundError;
5972
5897
  }
5973
5898
  //#endregion
5899
+ //#region ../../src/orm/core/helpers/pgAttr.d.ts
5900
+ /**
5901
+ * Decorates a typebox schema with a Postgres attribute.
5902
+ *
5903
+ * > It's just a fancy way to add Symbols to a field.
5904
+ *
5905
+ * @example
5906
+ * ```ts
5907
+ * import { t } from "alepha";
5908
+ * import { PG_UPDATED_AT } from "../constants/PG_SYMBOLS";
5909
+ *
5910
+ * export const updatedAtSchema = pgAttr(
5911
+ * t.datetime(), PG_UPDATED_AT,
5912
+ * );
5913
+ * ```
5914
+ */
5915
+ declare const pgAttr: <T extends TSchema, Attr extends PgSymbolKeys>(type: T, attr: Attr, value?: PgSymbols[Attr]) => PgAttr<T, Attr>;
5916
+ /**
5917
+ * Retrieves the fields of a schema that have a specific attribute.
5918
+ */
5919
+ declare const getAttrFields: (schema: TObject, name: PgSymbolKeys) => PgAttrField[];
5920
+ /**
5921
+ * Type representation.
5922
+ */
5923
+ type PgAttr<T extends TSchema, TAttr extends PgSymbolKeys> = T & { [K in TAttr]: PgSymbols[K] };
5924
+ interface PgAttrField {
5925
+ key: string;
5926
+ type: TSchema;
5927
+ data: any;
5928
+ nested?: any[];
5929
+ one?: boolean;
5930
+ }
5931
+ //#endregion
5974
5932
  //#region ../../src/orm/core/interfaces/FilterOperators.d.ts
5975
5933
  interface FilterOperators<TValue> {
5976
5934
  /**
@@ -6517,106 +6475,6 @@ type PgQueryWhereConditions<T extends TObject, Relations extends PgRelationMap<T
6517
6475
  };
6518
6476
  type PgQueryWhereRelations<Relations extends PgRelationMap<TObject> | undefined = undefined> = Relations extends PgRelationMap<TObject> ? { [K in keyof Relations]?: PgQueryWhere<Relations[K]["join"]["schema"], Relations[K]["with"]> } : {};
6519
6477
  //#endregion
6520
- //#region ../../src/orm/core/helpers/parseQueryString.d.ts
6521
- /**
6522
- * Parse a string query into a PgQueryWhere object.
6523
- *
6524
- * Supported syntax:
6525
- * - Simple equality: "name=John"
6526
- * - Wildcard patterns: "name=John*" (startsWith), "name=*John" (endsWith), "name=*John*" (contains)
6527
- * - Operators: "age>18", "age>=18", "age<65", "age<=65", "status!=active"
6528
- * - NULL checks: "deletedAt=null", "email!=null"
6529
- * - IN arrays: "status=[pending,active]"
6530
- * - AND conditions: "name=John&age>18"
6531
- * - OR conditions: "name=John|email=john@example.com"
6532
- * - Nested AND/OR: "(name=John|name=Jane)&age>18"
6533
- * - JSONB nested: "profile.city=Paris"
6534
- *
6535
- * @example
6536
- * ```ts
6537
- * // Simple equality
6538
- * parseQueryString("name=John")
6539
- * // => { name: { eq: "John" } }
6540
- *
6541
- * // Wildcard patterns
6542
- * parseQueryString("name=John*") // startsWith
6543
- * // => { name: { startsWith: "John" } }
6544
- * parseQueryString("name=*Smith") // endsWith
6545
- * // => { name: { endsWith: "Smith" } }
6546
- * parseQueryString("name=*oh*") // contains
6547
- * // => { name: { contains: "oh" } }
6548
- *
6549
- * // Multiple conditions
6550
- * parseQueryString("name=John&age>18")
6551
- * // => { and: [{ name: { eq: "John" } }, { age: { gt: 18 } }] }
6552
- *
6553
- * // OR conditions
6554
- * parseQueryString("status=active|status=pending")
6555
- * // => { or: [{ status: { eq: "active" } }, { status: { eq: "pending" } }] }
6556
- *
6557
- * // Complex nested
6558
- * parseQueryString("(name=John|name=Jane)&age>18&status!=archived")
6559
- * // => { and: [
6560
- * // { or: [{ name: { eq: "John" } }, { name: { eq: "Jane" } }] },
6561
- * // { age: { gt: 18 } },
6562
- * // { status: { ne: "archived" } }
6563
- * // ] }
6564
- *
6565
- * // JSONB nested query
6566
- * parseQueryString("profile.city=Paris&profile.age>25")
6567
- * // => { profile: { city: { eq: "Paris" }, age: { gt: 25 } } }
6568
- * ```
6569
- */
6570
- declare function parseQueryString<T extends TObject>(query: string): PgQueryWhere<T>;
6571
- /**
6572
- * Helper function to build query strings programmatically
6573
- *
6574
- * @example
6575
- * ```ts
6576
- * buildQueryString({
6577
- * and: [
6578
- * { name: "eq:John" },
6579
- * { age: "gt:18" }
6580
- * ]
6581
- * })
6582
- * // => "name=John&age>18"
6583
- * ```
6584
- */
6585
- declare function buildQueryString(where: any): string;
6586
- //#endregion
6587
- //#region ../../src/orm/core/helpers/pgAttr.d.ts
6588
- /**
6589
- * Decorates a typebox schema with a Postgres attribute.
6590
- *
6591
- * > It's just a fancy way to add Symbols to a field.
6592
- *
6593
- * @example
6594
- * ```ts
6595
- * import { t } from "alepha";
6596
- * import { PG_UPDATED_AT } from "../constants/PG_SYMBOLS";
6597
- *
6598
- * export const updatedAtSchema = pgAttr(
6599
- * t.datetime(), PG_UPDATED_AT,
6600
- * );
6601
- * ```
6602
- */
6603
- declare const pgAttr: <T extends TSchema, Attr extends PgSymbolKeys>(type: T, attr: Attr, value?: PgSymbols[Attr]) => PgAttr<T, Attr>;
6604
- /**
6605
- * Retrieves the fields of a schema that have a specific attribute.
6606
- */
6607
- declare const getAttrFields: (schema: TObject, name: PgSymbolKeys) => PgAttrField[];
6608
- /**
6609
- * Type representation.
6610
- */
6611
- type PgAttr<T extends TSchema, TAttr extends PgSymbolKeys> = T & { [K in TAttr]: PgSymbols[K] };
6612
- interface PgAttrField {
6613
- key: string;
6614
- type: TSchema;
6615
- data: any;
6616
- nested?: any[];
6617
- one?: boolean;
6618
- }
6619
- //#endregion
6620
6478
  //#region ../../src/orm/core/interfaces/AggregateQuery.d.ts
6621
6479
  type AggregateOp = "count" | "sum" | "avg" | "min" | "max";
6622
6480
  /**
@@ -6897,6 +6755,7 @@ interface PgJoin {
6897
6755
  //#endregion
6898
6756
  //#region ../../src/orm/core/services/PgRelationManager.d.ts
6899
6757
  declare class PgRelationManager {
6758
+ protected readonly schemaValidator: SchemaValidator;
6900
6759
  /**
6901
6760
  * Recursively build joins for the query builder based on the relations map
6902
6761
  */
@@ -6947,10 +6806,6 @@ declare abstract class Repository<T extends TObject> {
6947
6806
  * Get SQL table name. (from Drizzle table object)
6948
6807
  */
6949
6808
  get tableName(): string;
6950
- /**
6951
- * Whether this repository is backed by a view (read-only).
6952
- */
6953
- get isReadOnly(): boolean;
6954
6809
  /**
6955
6810
  * Getter for the database connection from the database provider.
6956
6811
  *
@@ -7225,14 +7080,6 @@ declare abstract class Repository<T extends TObject> {
7225
7080
  * Clean a row with joins recursively
7226
7081
  */
7227
7082
  protected cleanWithJoins<T extends TObject>(row: Record<string, unknown>, schema: T, joins: PgJoin[], parentPath?: string): Static<T>;
7228
- /**
7229
- * Throw if this repository is read-only (backed by a view).
7230
- */
7231
- protected assertWritable(): void;
7232
- /**
7233
- * Refresh a materialized view. PostgreSQL only.
7234
- */
7235
- refresh(): Promise<void>;
7236
7083
  /**
7237
7084
  * Build a cache key from method name and query parameters.
7238
7085
  */
@@ -7310,9 +7157,9 @@ type WithSQL<T> = { [P in keyof T]?: T[P] | SQL };
7310
7157
  //#endregion
7311
7158
  //#region ../../src/orm/core/primitives/$repository.d.ts
7312
7159
  /**
7313
- * Get the repository for the given entity or view.
7160
+ * Get the repository for the given entity.
7314
7161
  */
7315
- declare const $repository: <T extends TObject>(entity: EntityPrimitive<T> | ViewPrimitive<T>) => Repository<T>;
7162
+ declare const $repository: <T extends TObject>(entity: EntityPrimitive<T>) => Repository<T>;
7316
7163
  //#endregion
7317
7164
  //#region ../../src/orm/core/primitives/$seed.d.ts
7318
7165
  interface SeedOptions {
@@ -7586,7 +7433,7 @@ declare class BunSqliteProvider extends DatabaseProvider {
7586
7433
  protected executeMigrations(migrationsFolder: string): Promise<void>;
7587
7434
  }
7588
7435
  declare namespace index_d_exports {
7589
- export { $entity, $repository, $seed, $sequence, $transactional, $view, AggregateColumnResult, AggregateColumnSelect, AggregateHaving, AggregateOp, AggregateQuery, AggregateResult, AggregateSelect, AlephaOrm, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database$1 as D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbCacheProvider, DbColumnNotFoundError, DbConflictError, DbConnectionError, DbDeadlockError, DbEntityNotFoundError, DbError, DbForeignKeyError, DbMigrationError, DbMigrationMode, DbNotNullError, DbTableNotFoundError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, ModelBuilder, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_GENERATED, PG_IDENTITY, PG_ORGANIZATION, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, Page, PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgGeneratedOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SeedOptions, SequencePrimitive, SequencePrimitiveOptions, SqliteProvider, StatementOptions, TObjectInsert, TObjectUpdate, TableConfigBuilders, TransactionalOptions, ViewPrimitive, ViewPrimitiveOptions, buildQueryString, bunSqliteOptions, databaseEnvSchema, db, _$drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pgAttr, schema, sql, updateSchema };
7436
+ export { $entity, $repository, $seed, $sequence, $transactional, AggregateColumnResult, AggregateColumnSelect, AggregateHaving, AggregateOp, AggregateQuery, AggregateResult, AggregateSelect, AlephaOrm, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database$1 as D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbCacheProvider, DbColumnNotFoundError, DbConflictError, DbConnectionError, DbDeadlockError, DbEntityNotFoundError, DbError, DbForeignKeyError, DbMigrationError, DbMigrationMode, DbNotNullError, DbTableNotFoundError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, ModelBuilder, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_GENERATED, PG_IDENTITY, PG_ORGANIZATION, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, Page, PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgGeneratedOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SeedOptions, SequencePrimitive, SequencePrimitiveOptions, SqliteProvider, StatementOptions, TObjectInsert, TObjectUpdate, TableConfigBuilders, TransactionalOptions, bunSqliteOptions, databaseEnvSchema, db, _$drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, pgAttr, schema, sql, updateSchema };
7590
7437
  }
7591
7438
  declare module "alepha" {
7592
7439
  interface State {
@@ -7660,5 +7507,5 @@ declare module "alepha" {
7660
7507
  declare const SqliteProvider: typeof NodeSqliteProvider;
7661
7508
  declare const AlephaOrm: _$alepha.Service<_$alepha.Module>;
7662
7509
  //#endregion
7663
- export { $entity, $repository, $seed, $sequence, $transactional, $view, AggregateColumnResult, AggregateColumnSelect, AggregateHaving, AggregateOp, AggregateQuery, AggregateResult, AggregateSelect, AlephaOrm, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database$1 as D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbCacheProvider, DbColumnNotFoundError, DbConflictError, DbConnectionError, DbDeadlockError, DbEntityNotFoundError, DbError, DbForeignKeyError, DbMigrationError, DbMigrationMode, DbNotNullError, DbTableNotFoundError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, ModelBuilder, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_GENERATED, PG_IDENTITY, PG_ORGANIZATION, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgGeneratedOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SeedOptions, SequencePrimitive, SequencePrimitiveOptions, SqliteProvider, StatementOptions, TObjectInsert, TObjectUpdate, TableConfigBuilders, TransactionalOptions, ViewPrimitive, ViewPrimitiveOptions, buildQueryString, bunSqliteOptions, databaseEnvSchema, db, _$drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, parseQueryString, pgAttr, schema, sql, updateSchema };
7510
+ export { $entity, $repository, $seed, $sequence, $transactional, AggregateColumnResult, AggregateColumnSelect, AggregateHaving, AggregateOp, AggregateQuery, AggregateResult, AggregateSelect, AlephaOrm, BunSqliteProvider, BunSqliteProviderOptions, CloudflareD1Provider, D1Database$1 as D1Database, D1ExecResult, D1PreparedStatement, D1Result, DatabaseProvider, DatabaseTypeProvider, DbCacheProvider, DbColumnNotFoundError, DbConflictError, DbConnectionError, DbDeadlockError, DbEntityNotFoundError, DbError, DbForeignKeyError, DbMigrationError, DbMigrationMode, DbNotNullError, DbTableNotFoundError, DbVersionMismatchError, DrizzleKitProvider, EntityColumn, EntityColumns, EntityPrimitive, EntityPrimitiveOptions, FilterOperators, FromSchema, ModelBuilder, NodeSqliteProvider, NodeSqliteProviderOptions, OrderBy, OrderByClause, OrderDirection, PG_CREATED_AT, PG_DEFAULT, PG_DELETED_AT, PG_ENUM, PG_GENERATED, PG_IDENTITY, PG_ORGANIZATION, PG_PRIMARY_KEY, PG_REF, PG_SERIAL, PG_UPDATED_AT, PG_VERSION, type Page, type PageQuery, PgAttr, PgAttrField, PgDefault, PgEnumOptions, PgGeneratedOptions, PgIdentityOptions, PgPrimaryKey, PgQuery, PgQueryRelations, PgQueryWhere, PgQueryWhereOrSQL, PgRef, PgRefOptions, PgRelation, PgRelationMap, PgStatic, PgSymbolKeys, PgSymbols, Repository, RepositoryProvider, SQLLike, SchemaToTableConfig, SeedOptions, SequencePrimitive, SequencePrimitiveOptions, SqliteProvider, StatementOptions, TObjectInsert, TObjectUpdate, TableConfigBuilders, TransactionalOptions, bunSqliteOptions, databaseEnvSchema, db, _$drizzle_orm0 as drizzle, getAttrFields, insertSchema, legacyIdSchema, nodeSqliteOptions, pageQuerySchema, pageSchema, pgAttr, schema, sql, updateSchema };
7664
7511
  //# sourceMappingURL=index.d.ts.map