alepha 0.20.1 → 0.20.3

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 (393) 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.d.ts.map +1 -1
  7. package/dist/api/audits/index.js +49 -0
  8. package/dist/api/audits/index.js.map +1 -1
  9. package/dist/api/files/index.d.ts.map +1 -1
  10. package/dist/api/files/index.js +2 -1
  11. package/dist/api/files/index.js.map +1 -1
  12. package/dist/api/jobs/index.browser.js +64 -148
  13. package/dist/api/jobs/index.browser.js.map +1 -1
  14. package/dist/api/jobs/index.d.ts +339 -600
  15. package/dist/api/jobs/index.d.ts.map +1 -1
  16. package/dist/api/jobs/index.js +605 -1012
  17. package/dist/api/jobs/index.js.map +1 -1
  18. package/dist/api/keys/index.js.map +1 -1
  19. package/dist/api/notifications/index.d.ts +79 -27
  20. package/dist/api/notifications/index.d.ts.map +1 -1
  21. package/dist/api/notifications/index.js +90 -23
  22. package/dist/api/notifications/index.js.map +1 -1
  23. package/dist/api/organizations/index.d.ts.map +1 -1
  24. package/dist/api/parameters/index.browser.js +37 -0
  25. package/dist/api/parameters/index.browser.js.map +1 -1
  26. package/dist/api/parameters/index.d.ts +4 -65
  27. package/dist/api/parameters/index.d.ts.map +1 -1
  28. package/dist/api/parameters/index.js +37 -0
  29. package/dist/api/parameters/index.js.map +1 -1
  30. package/dist/api/payments/index.d.ts +2 -1
  31. package/dist/api/payments/index.d.ts.map +1 -1
  32. package/dist/api/payments/index.js +4 -2
  33. package/dist/api/payments/index.js.map +1 -1
  34. package/dist/api/users/index.d.ts +225 -5199
  35. package/dist/api/users/index.d.ts.map +1 -1
  36. package/dist/api/users/index.js +15 -11
  37. package/dist/api/users/index.js.map +1 -1
  38. package/dist/api/verifications/index.d.ts.map +1 -1
  39. package/dist/api/verifications/index.js +4 -2
  40. package/dist/api/verifications/index.js.map +1 -1
  41. package/dist/bucket/index.js +5 -1
  42. package/dist/bucket/index.js.map +1 -1
  43. package/dist/bucket/index.workerd.js +5 -1
  44. package/dist/bucket/index.workerd.js.map +1 -1
  45. package/dist/cache/core/index.js.map +1 -1
  46. package/dist/cache/core/index.workerd.js.map +1 -1
  47. package/dist/captcha/index.js.map +1 -1
  48. package/dist/cli/core/index.d.ts +225 -11681
  49. package/dist/cli/core/index.d.ts.map +1 -1
  50. package/dist/cli/core/index.js +732 -257
  51. package/dist/cli/core/index.js.map +1 -1
  52. package/dist/cli/devtools/index.js +7 -1
  53. package/dist/cli/devtools/index.js.map +1 -1
  54. package/dist/cli/platform/index.d.ts +65 -63
  55. package/dist/cli/platform/index.d.ts.map +1 -1
  56. package/dist/cli/platform/index.js +140 -27
  57. package/dist/cli/platform/index.js.map +1 -1
  58. package/dist/cli/vendor/index.js +15 -0
  59. package/dist/cli/vendor/index.js.map +1 -1
  60. package/dist/command/index.d.ts +1 -1
  61. package/dist/command/index.js +1 -1
  62. package/dist/command/index.js.map +1 -1
  63. package/dist/core/index.browser.js +6 -0
  64. package/dist/core/index.browser.js.map +1 -1
  65. package/dist/core/index.d.ts +8 -8
  66. package/dist/core/index.d.ts.map +1 -1
  67. package/dist/core/index.js +6 -0
  68. package/dist/core/index.js.map +1 -1
  69. package/dist/core/index.native.js +6 -0
  70. package/dist/core/index.native.js.map +1 -1
  71. package/dist/core/index.workerd.js +6 -0
  72. package/dist/core/index.workerd.js.map +1 -1
  73. package/dist/crypto/index.js.map +1 -1
  74. package/dist/datetime/index.js.map +1 -1
  75. package/dist/email/core/index.js.map +1 -1
  76. package/dist/email/smtp/index.js +2 -10522
  77. package/dist/email/smtp/index.js.map +1 -1
  78. package/dist/fake/index.d.ts +4 -8085
  79. package/dist/fake/index.d.ts.map +1 -1
  80. package/dist/fake/index.js +3 -33554
  81. package/dist/fake/index.js.map +1 -1
  82. package/dist/lock/core/index.js.map +1 -1
  83. package/dist/lock/redis/index.js.map +1 -1
  84. package/dist/logger/index.js +32 -1
  85. package/dist/logger/index.js.map +1 -1
  86. package/dist/mcp/index.js +5 -1
  87. package/dist/mcp/index.js.map +1 -1
  88. package/dist/orm/core/index.browser.js +1 -361
  89. package/dist/orm/core/index.browser.js.map +1 -1
  90. package/dist/orm/core/index.bun.js +14 -406
  91. package/dist/orm/core/index.bun.js.map +1 -1
  92. package/dist/orm/core/index.d.ts +96 -5117
  93. package/dist/orm/core/index.d.ts.map +1 -1
  94. package/dist/orm/core/index.js +23 -419
  95. package/dist/orm/core/index.js.map +1 -1
  96. package/dist/orm/postgres/index.bun.js +17 -20
  97. package/dist/orm/postgres/index.bun.js.map +1 -1
  98. package/dist/orm/postgres/index.d.ts +2 -613
  99. package/dist/orm/postgres/index.d.ts.map +1 -1
  100. package/dist/orm/postgres/index.js +17 -20
  101. package/dist/orm/postgres/index.js.map +1 -1
  102. package/dist/react/core/index.js.map +1 -1
  103. package/dist/react/form/index.d.ts +60 -1
  104. package/dist/react/form/index.d.ts.map +1 -1
  105. package/dist/react/form/index.js +86 -1
  106. package/dist/react/form/index.js.map +1 -1
  107. package/dist/react/head/index.browser.js +16 -1
  108. package/dist/react/head/index.browser.js.map +1 -1
  109. package/dist/react/head/index.d.ts +6 -0
  110. package/dist/react/head/index.d.ts.map +1 -1
  111. package/dist/react/head/index.js +16 -1
  112. package/dist/react/head/index.js.map +1 -1
  113. package/dist/react/i18n/index.js.map +1 -1
  114. package/dist/react/intro/index.js +22 -17
  115. package/dist/react/intro/index.js.map +1 -1
  116. package/dist/react/router/index.browser.js +78 -12
  117. package/dist/react/router/index.browser.js.map +1 -1
  118. package/dist/react/router/index.d.ts +57 -13
  119. package/dist/react/router/index.d.ts.map +1 -1
  120. package/dist/react/router/index.js +102 -14
  121. package/dist/react/router/index.js.map +1 -1
  122. package/dist/react/testing/index.d.ts +1 -411
  123. package/dist/react/testing/index.d.ts.map +1 -1
  124. package/dist/react/testing/index.js +13 -12293
  125. package/dist/react/testing/index.js.map +1 -1
  126. package/dist/react/ui/index.d.ts +124 -0
  127. package/dist/react/ui/index.d.ts.map +1 -0
  128. package/dist/react/ui/index.js +209 -0
  129. package/dist/react/ui/index.js.map +1 -0
  130. package/dist/react/websocket/index.js.map +1 -1
  131. package/dist/redis/index.js.map +1 -1
  132. package/dist/router/index.d.ts +13 -13
  133. package/dist/router/index.d.ts.map +1 -1
  134. package/dist/router/index.js +45 -32
  135. package/dist/router/index.js.map +1 -1
  136. package/dist/scheduler/index.d.ts +1 -83
  137. package/dist/scheduler/index.d.ts.map +1 -1
  138. package/dist/scheduler/index.js +2 -391
  139. package/dist/scheduler/index.js.map +1 -1
  140. package/dist/scheduler/index.workerd.js +2 -391
  141. package/dist/scheduler/index.workerd.js.map +1 -1
  142. package/dist/security/index.browser.js.map +1 -1
  143. package/dist/security/index.d.ts +2 -325
  144. package/dist/security/index.d.ts.map +1 -1
  145. package/dist/security/index.js +3 -1362
  146. package/dist/security/index.js.map +1 -1
  147. package/dist/server/auth/index.d.ts +1 -1054
  148. package/dist/server/auth/index.d.ts.map +1 -1
  149. package/dist/server/auth/index.js +16 -1224
  150. package/dist/server/auth/index.js.map +1 -1
  151. package/dist/server/cookies/index.js.map +1 -1
  152. package/dist/server/core/index.browser.js.map +1 -1
  153. package/dist/server/core/index.d.ts +1 -4
  154. package/dist/server/core/index.d.ts.map +1 -1
  155. package/dist/server/core/index.js +19 -4
  156. package/dist/server/core/index.js.map +1 -1
  157. package/dist/server/links/index.browser.js.map +1 -1
  158. package/dist/server/links/index.js.map +1 -1
  159. package/dist/server/metrics/index.d.ts +1 -514
  160. package/dist/server/metrics/index.d.ts.map +1 -1
  161. package/dist/server/metrics/index.js +4 -4356
  162. package/dist/server/metrics/index.js.map +1 -1
  163. package/dist/server/rate-limit/index.js.map +1 -1
  164. package/dist/server/static/index.js.map +1 -1
  165. package/dist/server/swagger/index.js +1 -1
  166. package/dist/server/swagger/index.js.map +1 -1
  167. package/dist/sms/index.js.map +1 -1
  168. package/dist/system/index.browser.js.map +1 -1
  169. package/dist/system/index.d.ts.map +1 -1
  170. package/dist/system/index.js +1 -0
  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 +1 -1
  174. package/dist/topic/core/index.js.map +1 -1
  175. package/dist/websocket/index.browser.js +21 -0
  176. package/dist/websocket/index.browser.js.map +1 -1
  177. package/dist/websocket/index.js +21 -0
  178. package/dist/websocket/index.js.map +1 -1
  179. package/package.json +23 -37
  180. package/src/api/files/__tests__/FileController.spec.ts +1 -1
  181. package/src/api/files/jobs/FileJobs.ts +2 -1
  182. package/src/api/jobs/__tests__/$job.spec.ts +320 -2867
  183. package/src/api/jobs/controllers/AdminJobController.ts +29 -138
  184. package/src/api/jobs/entities/jobExecutionEntity.ts +27 -19
  185. package/src/api/jobs/index.browser.ts +5 -7
  186. package/src/api/jobs/index.ts +23 -51
  187. package/src/api/jobs/primitives/$job.ts +66 -58
  188. package/src/api/jobs/providers/JobProvider.ts +561 -566
  189. package/src/api/jobs/providers/JobQueueProvider.ts +18 -19
  190. package/src/api/jobs/schemas/jobConfigAtom.ts +20 -23
  191. package/src/api/jobs/schemas/jobExecutionQuerySchema.ts +3 -27
  192. package/src/api/jobs/schemas/jobExecutionResourceSchema.ts +5 -7
  193. package/src/api/jobs/schemas/jobRegistrationSchema.ts +7 -4
  194. package/src/api/jobs/schemas/triggerJobSchema.ts +0 -1
  195. package/src/api/jobs/services/JobService.ts +90 -483
  196. package/src/api/notifications/controllers/AdminNotificationController.ts +19 -12
  197. package/src/api/notifications/index.ts +7 -4
  198. package/src/api/notifications/jobs/NotificationJobs.ts +83 -12
  199. package/src/api/payments/services/PaymentService.ts +4 -2
  200. package/src/api/users/__tests__/UserJobs.spec.ts +10 -49
  201. package/src/api/users/audits/UserAudits.ts +3 -1
  202. package/src/api/users/buckets/UserBuckets.ts +2 -1
  203. package/src/api/users/index.ts +1 -4
  204. package/src/api/users/jobs/UserJobs.ts +5 -4
  205. package/src/api/users/schemas/userQuerySchema.ts +0 -1
  206. package/src/api/users/services/UserService.ts +1 -5
  207. package/src/api/verifications/__tests__/CodeVerification.spec.ts +14 -0
  208. package/src/api/verifications/__tests__/LinkVerification.spec.ts +14 -0
  209. package/src/api/verifications/jobs/VerificationJobs.ts +2 -1
  210. package/src/api/verifications/services/VerificationService.ts +1 -0
  211. package/src/cli/core/__tests__/init.spec.ts +209 -1
  212. package/src/cli/core/commands/init.ts +9 -9
  213. package/src/cli/core/services/PackageManagerUtils.ts +22 -12
  214. package/src/cli/core/services/ProjectScaffolder.ts +300 -70
  215. package/src/cli/core/tasks/BuildDockerTask.ts +9 -10
  216. package/src/cli/core/tasks/BuildServerTask.ts +8 -0
  217. package/src/cli/core/templates/agentMd.ts +2 -8
  218. package/src/cli/core/templates/apiIndexTs.ts +22 -14
  219. package/src/cli/core/templates/componentsJsonTs.ts +39 -0
  220. package/src/cli/core/templates/mainCss.ts +2 -36
  221. package/src/cli/core/templates/saasAdminLayoutTsx.ts +77 -0
  222. package/src/cli/core/templates/saasAdminPagesTsx.ts +26 -0
  223. package/src/cli/core/templates/saasAuthLayoutTsx.ts +20 -0
  224. package/src/cli/core/templates/saasAuthPagesTsx.ts +62 -0
  225. package/src/cli/core/templates/saasRealmProviderTs.ts +46 -0
  226. package/src/cli/core/templates/vitestConfigTs.ts +17 -0
  227. package/src/cli/core/templates/webAppRouterTs.ts +102 -82
  228. package/src/cli/core/templates/webIndexTs.ts +23 -1
  229. package/src/cli/platform/__tests__/CloudflareAdapter.spec.ts +22 -71
  230. package/src/cli/platform/__tests__/SecretsCommand.spec.ts +2 -0
  231. package/src/cli/platform/adapters/CloudflareAdapter.ts +12 -11
  232. package/src/cli/platform/atoms/platformOptions.ts +9 -0
  233. package/src/cli/platform/schemas/cloudflare.ts +3 -2
  234. package/src/cli/platform/services/CloudflareApi.ts +164 -25
  235. package/src/cli/platform/services/WranglerApi.ts +0 -17
  236. package/src/command/providers/CliProvider.ts +1 -1
  237. package/src/core/Alepha.ts +9 -0
  238. package/src/core/interfaces/Service.ts +3 -1
  239. package/src/core/providers/TypeProvider.ts +1 -1
  240. package/src/logger/services/Logger.ts +1 -1
  241. package/src/mcp/__tests__/$resource.spec.ts +1 -1
  242. package/src/mcp/__tests__/$tool.spec.ts +1 -1
  243. package/src/mcp/__tests__/McpServerProvider.spec.ts +1 -1
  244. package/src/orm/__tests__/$repository-tests.ts +1 -0
  245. package/src/orm/__tests__/orm-next-tests.ts +2 -67
  246. package/src/orm/__tests__/orm-next.spec.ts +0 -21
  247. package/src/orm/core/index.shared.ts +0 -2
  248. package/src/orm/core/index.ts +1 -2
  249. package/src/orm/core/primitives/$repository.ts +3 -6
  250. package/src/orm/core/providers/drivers/DatabaseProvider.ts +0 -5
  251. package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +11 -13
  252. package/src/orm/core/services/ModelBuilder.ts +1 -13
  253. package/src/orm/core/services/Repository.ts +1 -42
  254. package/src/orm/core/services/SqliteModelBuilder.ts +2 -33
  255. package/src/orm/postgres/services/PostgresModelBuilder.ts +10 -45
  256. package/src/react/form/index.ts +2 -0
  257. package/src/react/form/services/parseField.ts +163 -0
  258. package/src/react/form/services/prettyName.ts +19 -0
  259. package/src/react/head/providers/BrowserHeadProvider.ts +31 -10
  260. package/src/react/intro/components/GettingStartedAuthSlide.tsx +11 -4
  261. package/src/react/router/__tests__/ReactBrowserProvider.browser.spec.ts +213 -2
  262. package/src/react/router/primitives/$page.ts +35 -12
  263. package/src/react/router/providers/ReactBrowserProvider.ts +73 -0
  264. package/src/react/router/providers/ReactBrowserRouterProvider.ts +1 -1
  265. package/src/react/router/providers/ReactPreloadProvider.ts +1 -1
  266. package/src/react/router/providers/ReactServerProvider.ts +1 -0
  267. package/src/react/ui/atoms/uiAtom.ts +28 -0
  268. package/src/react/ui/components/ColorScheme.tsx +36 -0
  269. package/src/react/ui/hooks/useColorMode.ts +49 -0
  270. package/src/react/ui/hooks/useSidebarState.ts +26 -0
  271. package/src/react/ui/hooks/useTheme.ts +22 -0
  272. package/src/react/ui/index.ts +35 -0
  273. package/src/react/ui/services/UiPersistence.ts +41 -0
  274. package/src/router/TemplatedPathParser.ts +50 -51
  275. package/src/router/__tests__/RouterProvider.spec.ts +62 -0
  276. package/src/router/__tests__/TemplatedPathParser.spec.ts +18 -0
  277. package/src/router/providers/RouterProvider.ts +10 -5
  278. package/src/scheduler/providers/CronProvider.ts +1 -1
  279. package/src/security/primitives/$basicAuth.ts +1 -1
  280. package/src/server/auth/providers/ServerAuthProvider.ts +5 -1
  281. package/src/server/core/interfaces/ServerRequest.ts +1 -0
  282. package/src/server/core/providers/ServerProvider.ts +1 -1
  283. package/src/server/core/providers/ServerRouterProvider.ts +2 -2
  284. package/src/server/core/services/HttpClient.ts +1 -1
  285. package/src/server/swagger/providers/ServerSwaggerProvider.ts +1 -1
  286. package/src/system/providers/NodeShellProvider.ts +1 -0
  287. package/src/topic/core/providers/TopicProvider.ts +1 -1
  288. package/dist/api/invitations/index.d.ts +0 -790
  289. package/dist/api/invitations/index.d.ts.map +0 -1
  290. package/dist/api/invitations/index.js +0 -662
  291. package/dist/api/invitations/index.js.map +0 -1
  292. package/dist/api/issues/index.d.ts +0 -810
  293. package/dist/api/issues/index.d.ts.map +0 -1
  294. package/dist/api/issues/index.js +0 -444
  295. package/dist/api/issues/index.js.map +0 -1
  296. package/dist/api/subscriptions/index.d.ts +0 -1692
  297. package/dist/api/subscriptions/index.d.ts.map +0 -1
  298. package/dist/api/subscriptions/index.js +0 -1867
  299. package/dist/api/subscriptions/index.js.map +0 -1
  300. package/dist/api/workflows/index.browser.js +0 -246
  301. package/dist/api/workflows/index.browser.js.map +0 -1
  302. package/dist/api/workflows/index.d.ts +0 -1618
  303. package/dist/api/workflows/index.d.ts.map +0 -1
  304. package/dist/api/workflows/index.js +0 -1495
  305. package/dist/api/workflows/index.js.map +0 -1
  306. package/dist/react/testing/chunk-DBEY4PJZ.js +0 -16
  307. package/src/api/invitations/__tests__/InvitationService.spec.ts +0 -439
  308. package/src/api/invitations/controllers/AdminInvitationController.ts +0 -86
  309. package/src/api/invitations/controllers/InvitationController.ts +0 -84
  310. package/src/api/invitations/entities/invitations.ts +0 -33
  311. package/src/api/invitations/index.ts +0 -58
  312. package/src/api/invitations/jobs/InvitationJobs.ts +0 -37
  313. package/src/api/invitations/providers/InvitationProvider.ts +0 -45
  314. package/src/api/invitations/schemas/createInvitationSchema.ts +0 -12
  315. package/src/api/invitations/schemas/invitationConfigAtom.ts +0 -20
  316. package/src/api/invitations/schemas/invitationQuerySchema.ts +0 -15
  317. package/src/api/invitations/schemas/invitationResourceSchema.ts +0 -6
  318. package/src/api/invitations/schemas/invitationWithResourceInfoSchema.ts +0 -22
  319. package/src/api/invitations/schemas/myInvitationsQuerySchema.ts +0 -10
  320. package/src/api/invitations/services/InvitationService.ts +0 -556
  321. package/src/api/issues/__tests__/IssueService.spec.ts +0 -263
  322. package/src/api/issues/controllers/AdminIssueController.ts +0 -149
  323. package/src/api/issues/controllers/IssueController.ts +0 -44
  324. package/src/api/issues/entities/issues.ts +0 -49
  325. package/src/api/issues/index.ts +0 -50
  326. package/src/api/issues/schemas/createIssueSchema.ts +0 -13
  327. package/src/api/issues/schemas/issueConfigAtom.ts +0 -13
  328. package/src/api/issues/schemas/issueQuerySchema.ts +0 -18
  329. package/src/api/issues/schemas/issueResourceSchema.ts +0 -6
  330. package/src/api/issues/schemas/myIssueQuerySchema.ts +0 -10
  331. package/src/api/issues/schemas/updateIssueSchema.ts +0 -13
  332. package/src/api/issues/services/IssueService.ts +0 -264
  333. package/src/api/jobs/__tests__/$job-middleware.spec.ts +0 -126
  334. package/src/api/jobs/__tests__/JobService.spec.ts +0 -31
  335. package/src/api/jobs/entities/jobExecutionLogEntity.ts +0 -13
  336. package/src/api/jobs/schemas/jobActivitySchema.ts +0 -15
  337. package/src/api/jobs/schemas/jobCronInfoSchema.ts +0 -22
  338. package/src/api/jobs/schemas/jobExecutionDetailResourceSchema.ts +0 -20
  339. package/src/api/jobs/schemas/jobFailureSchema.ts +0 -9
  340. package/src/api/jobs/schemas/jobQueueDepthSchema.ts +0 -14
  341. package/src/api/jobs/schemas/jobStatsSchema.ts +0 -14
  342. package/src/api/jobs/services/JobService-tests.ts +0 -157
  343. package/src/api/subscriptions/__tests__/BillingService.spec.ts +0 -218
  344. package/src/api/subscriptions/__tests__/SubscriptionService.spec.ts +0 -278
  345. package/src/api/subscriptions/controllers/AdminSubscriptionController.ts +0 -212
  346. package/src/api/subscriptions/controllers/SubscriptionController.ts +0 -189
  347. package/src/api/subscriptions/entities/subscriptionEvents.ts +0 -54
  348. package/src/api/subscriptions/entities/subscriptions.ts +0 -68
  349. package/src/api/subscriptions/index.ts +0 -133
  350. package/src/api/subscriptions/jobs/SubscriptionJobs.ts +0 -382
  351. package/src/api/subscriptions/middleware/$requireLimit.ts +0 -50
  352. package/src/api/subscriptions/middleware/$requirePlan.ts +0 -49
  353. package/src/api/subscriptions/notifications/SubscriptionNotifications.ts +0 -110
  354. package/src/api/subscriptions/schemas/cancelSubscriptionSchema.ts +0 -8
  355. package/src/api/subscriptions/schemas/changePlanSchema.ts +0 -9
  356. package/src/api/subscriptions/schemas/createSubscriptionSchema.ts +0 -11
  357. package/src/api/subscriptions/schemas/entitlementsSchema.ts +0 -21
  358. package/src/api/subscriptions/schemas/mrrSchema.ts +0 -13
  359. package/src/api/subscriptions/schemas/planDefinitionSchema.ts +0 -71
  360. package/src/api/subscriptions/schemas/planResourceSchema.ts +0 -25
  361. package/src/api/subscriptions/schemas/subscriptionEventResourceSchema.ts +0 -8
  362. package/src/api/subscriptions/schemas/subscriptionQuerySchema.ts +0 -19
  363. package/src/api/subscriptions/schemas/subscriptionResourceSchema.ts +0 -6
  364. package/src/api/subscriptions/schemas/subscriptionSettingsSchema.ts +0 -32
  365. package/src/api/subscriptions/schemas/subscriptionStatsSchema.ts +0 -23
  366. package/src/api/subscriptions/services/BillingService.ts +0 -437
  367. package/src/api/subscriptions/services/SubscriptionConfig.ts +0 -56
  368. package/src/api/subscriptions/services/SubscriptionService.ts +0 -867
  369. package/src/api/subscriptions/services/UsageService.ts +0 -118
  370. package/src/api/workflows/__tests__/$workflow.spec.ts +0 -616
  371. package/src/api/workflows/controllers/AdminWorkflowController.ts +0 -191
  372. package/src/api/workflows/entities/workflowExecutions.ts +0 -74
  373. package/src/api/workflows/entities/workflowStepExecutions.ts +0 -74
  374. package/src/api/workflows/entities/workflowStepLogs.ts +0 -13
  375. package/src/api/workflows/index.browser.ts +0 -22
  376. package/src/api/workflows/index.ts +0 -115
  377. package/src/api/workflows/jobs/WorkflowJobs.ts +0 -77
  378. package/src/api/workflows/primitives/$workflow.ts +0 -202
  379. package/src/api/workflows/providers/WorkflowProvider.ts +0 -1284
  380. package/src/api/workflows/schemas/workflowActivitySchema.ts +0 -15
  381. package/src/api/workflows/schemas/workflowConfigAtom.ts +0 -51
  382. package/src/api/workflows/schemas/workflowExecutionDetailSchema.ts +0 -18
  383. package/src/api/workflows/schemas/workflowExecutionQuerySchema.ts +0 -26
  384. package/src/api/workflows/schemas/workflowExecutionResourceSchema.ts +0 -30
  385. package/src/api/workflows/schemas/workflowRegistrationSchema.ts +0 -26
  386. package/src/api/workflows/schemas/workflowStatsSchema.ts +0 -16
  387. package/src/api/workflows/schemas/workflowStepExecutionResourceSchema.ts +0 -15
  388. package/src/api/workflows/services/WorkflowService.ts +0 -382
  389. package/src/cli/core/templates/apiAppSecurityTs.ts +0 -43
  390. package/src/cli/core/templates/webAdminDashboardTsx.ts +0 -17
  391. package/src/orm/core/__tests__/parseQueryString.spec.ts +0 -196
  392. package/src/orm/core/helpers/parseQueryString.ts +0 -502
  393. package/src/orm/core/primitives/$view.ts +0 -88
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/api/notifications/schemas/notificationPayloadSchema.ts","../../../src/api/notifications/primitives/$notification.ts","../../../src/api/notifications/services/NotificationSenderService.ts","../../../src/api/notifications/jobs/NotificationJobs.ts","../../../src/api/notifications/schemas/notificationResourceSchema.ts","../../../src/api/notifications/schemas/notificationDetailResourceSchema.ts","../../../src/api/notifications/schemas/notificationQuerySchema.ts","../../../src/api/notifications/controllers/AdminNotificationController.ts","../../../src/api/notifications/schemas/notificationContactPreferencesSchema.ts","../../../src/api/notifications/schemas/notificationContactSchema.ts","../../../src/api/notifications/index.ts"],"sourcesContent":["import { type Static, t } from \"alepha\";\n\nexport const notificationPayloadSchema = t.object({\n type: t.enum([\"email\", \"sms\"]),\n template: t.text(),\n contact: t.text(),\n variables: t.optional(t.record(t.text(), t.any())),\n category: t.optional(t.text()),\n critical: t.optional(t.boolean()),\n sensitive: t.optional(t.boolean()),\n});\n\nexport type NotificationPayload = Static<typeof notificationPayloadSchema>;\n","import {\n $inject,\n createPrimitive,\n KIND,\n Primitive,\n type Static,\n type StaticEncode,\n type TObject,\n} from \"alepha\";\nimport { NotificationJobs } from \"../jobs/NotificationJobs.ts\";\n\n/**\n * Creates a notification primitive for managing email/SMS notification templates.\n *\n * Provides type-safe, reusable notification templates with multi-language support,\n * variable substitution, and categorization for different notification channels.\n *\n * @example\n * ```ts\n * class NotificationTemplates {\n * welcomeEmail = $notification({\n * name: \"welcome-email\",\n * category: \"onboarding\",\n * schema: t.object({ username: t.text(), activationLink: t.text() }),\n * email: {\n * subject: \"Welcome to our platform!\",\n * body: (vars) => `Hello ${vars.username}, click: ${vars.activationLink}`\n * }\n * });\n *\n * async sendWelcome(user: User) {\n * await this.welcomeEmail.push({\n * variables: { username: user.name, activationLink: generateLink() },\n * contact: user.email\n * });\n * }\n * }\n * ```\n */\nexport const $notification = <T extends TObject>(\n options: NotificationPrimitiveOptions<T>,\n) => createPrimitive(NotificationPrimitive<T>, options);\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface NotificationPrimitiveOptions<T extends TObject>\n extends NotificationMessage<T> {\n name?: string;\n description?: string;\n category?: string;\n critical?: boolean;\n sensitive?: boolean;\n translations?: {\n // e.g., \"en\", \"fr\", even \"en-US\"\n [lang: string]: NotificationMessage<T>;\n };\n schema: T;\n}\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport class NotificationPrimitive<T extends TObject> extends Primitive<\n NotificationPrimitiveOptions<T>\n> {\n protected readonly notificationJobs = $inject(NotificationJobs);\n\n public get name() {\n return this.options.name ?? `${this.config.propertyKey}`;\n }\n\n public async push(options: NotificationPushOptions<T>) {\n const pushOpts = this.options.critical\n ? ({ priority: \"critical\" } as const)\n : undefined;\n\n if (this.options.email) {\n await this.notificationJobs.sendNotification.push(\n {\n type: \"email\",\n template: this.name,\n contact: options.contact,\n variables: options.variables as Record<string, unknown>,\n category: this.options.category,\n critical: this.options.critical,\n sensitive: this.options.sensitive,\n },\n pushOpts,\n );\n }\n\n if (this.options.sms) {\n await this.notificationJobs.sendNotification.push(\n {\n type: \"sms\",\n template: this.name,\n contact: options.contact,\n variables: options.variables as Record<string, unknown>,\n category: this.options.category,\n critical: this.options.critical,\n sensitive: this.options.sensitive,\n },\n pushOpts,\n );\n }\n }\n\n public configure(options: Partial<NotificationPrimitiveOptions<T>>) {\n Object.assign(this.options, options);\n }\n}\n\n$notification[KIND] = NotificationPrimitive;\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface NotificationPushOptions<T extends TObject> {\n variables: StaticEncode<T>;\n contact: string;\n}\n\nexport interface NotificationMessage<T extends TObject> {\n email?: {\n subject: string;\n body: string | ((variables: Static<T>) => string);\n };\n sms?: {\n message: string | ((variables: Static<T>) => string);\n };\n}\n","import { $inject, Alepha, AlephaError } from \"alepha\";\nimport { EmailProvider } from \"alepha/email\";\nimport { $logger } from \"alepha/logger\";\nimport { SmsProvider } from \"alepha/sms\";\nimport { $notification } from \"../primitives/$notification.ts\";\nimport type { NotificationPayload } from \"../schemas/notificationPayloadSchema.ts\";\n\nexport class NotificationSenderService {\n protected readonly alepha = $inject(Alepha);\n protected readonly log = $logger();\n protected readonly emailProvider = $inject(EmailProvider);\n protected readonly smsProvider = $inject(SmsProvider);\n\n public async send(payload: NotificationPayload) {\n this.log.debug(\"Processing notification\", {\n type: payload.type,\n template: payload.template,\n contact: payload.contact,\n });\n\n if (payload.type === \"email\") {\n const rendered = this.renderEmail(payload);\n await this.emailProvider.send(rendered);\n this.log.info(\"Email notification sent\", {\n template: payload.template,\n contact: payload.contact,\n });\n return {\n type: \"email\" as const,\n to: rendered.to,\n subject: rendered.subject,\n body: rendered.body,\n };\n }\n\n if (payload.type === \"sms\") {\n const rendered = this.renderSms(payload);\n await this.smsProvider.send(rendered);\n this.log.info(\"SMS notification sent\", {\n template: payload.template,\n contact: payload.contact,\n });\n return {\n type: \"sms\" as const,\n to: rendered.to,\n message: rendered.message,\n };\n }\n }\n\n public renderSms(payload: NotificationPayload) {\n const { variables, contact, template } = this.load(payload);\n\n const sms = template.options.sms;\n if (!sms) {\n throw new AlephaError(\n `Notification template ${payload.template} has no sms defined`,\n );\n }\n\n const message =\n typeof sms.message === \"function\"\n ? sms.message(variables as any)\n : sms.message;\n\n return { to: contact, message };\n }\n\n public renderEmail(payload: NotificationPayload) {\n const { variables, contact, template } = this.load(payload);\n\n const email = template.options.email;\n if (!email) {\n throw new AlephaError(\n `Notification template ${payload.template} has no email defined`,\n );\n }\n\n const subject = email.subject;\n const body =\n typeof email.body === \"function\"\n ? email.body(variables as any)\n : email.body;\n\n return { to: contact, subject, body };\n }\n\n protected load(payload: NotificationPayload) {\n const variables = payload.variables || {};\n const contact = payload.contact;\n const template = this.alepha\n .primitives($notification)\n .find((it) => it.name === payload.template);\n\n if (!template) {\n throw new AlephaError(\n `No notification template found for ${payload.template}`,\n );\n }\n\n return { template, variables, contact };\n }\n}\n","import { $inject } from \"alepha\";\nimport { $job, jobExecutionEntity } from \"alepha/api/jobs\";\nimport { $repository } from \"alepha/orm\";\nimport { notificationPayloadSchema } from \"../schemas/notificationPayloadSchema.ts\";\nimport { NotificationSenderService } from \"../services/NotificationSenderService.ts\";\n\nexport class NotificationJobs {\n protected readonly notificationSenderService = $inject(\n NotificationSenderService,\n );\n protected readonly executions = $repository(jobExecutionEntity);\n\n public readonly sendNotification = $job({\n schema: notificationPayloadSchema,\n retry: {\n retries: 3,\n backoff: {\n initial: [5, \"seconds\"],\n factor: 4,\n max: [10, \"minutes\"],\n jitter: true,\n },\n },\n timeout: [30, \"seconds\"],\n concurrency: 5,\n handler: async ({ items }) => {\n for (const item of items) {\n const rendered = await this.notificationSenderService.send(\n item.payload,\n );\n if (rendered) {\n await this.executions.updateById(item.id, {\n result: rendered as Record<string, unknown>,\n });\n }\n }\n },\n });\n}\n","import { type Static, t } from \"alepha\";\n\nexport const notificationResourceSchema = t.object({\n id: t.uuid(),\n createdAt: t.datetime(),\n status: t.text(),\n template: t.optional(t.text()),\n type: t.optional(t.text()),\n contact: t.optional(t.text()),\n category: t.optional(t.text()),\n critical: t.optional(t.boolean()),\n sensitive: t.optional(t.boolean()),\n startedAt: t.optional(t.datetime()),\n completedAt: t.optional(t.datetime()),\n error: t.optional(t.text()),\n});\n\nexport type NotificationResource = Static<typeof notificationResourceSchema>;\n","import { type Static, t } from \"alepha\";\nimport { logEntrySchema } from \"alepha/logger\";\nimport { notificationResourceSchema } from \"./notificationResourceSchema.ts\";\n\nexport const notificationDetailResourceSchema = t.extend(\n notificationResourceSchema,\n {\n variables: t.optional(t.record(t.text(), t.any())),\n rendered: t.optional(t.record(t.text(), t.any())),\n logs: t.optional(t.array(logEntrySchema)),\n },\n {\n title: \"NotificationDetailResource\",\n description: \"A notification resource with rendered content and logs.\",\n },\n);\n\nexport type NotificationDetailResource = Static<\n typeof notificationDetailResourceSchema\n>;\n","import { type Static, t } from \"alepha\";\nimport { pageQuerySchema } from \"alepha/orm\";\n\nexport const notificationQuerySchema = t.extend(pageQuerySchema, {\n status: t.optional(\n t.enum([\n \"pending\",\n \"scheduled\",\n \"retrying\",\n \"running\",\n \"completed\",\n \"dead\",\n \"cancelled\",\n ]),\n ),\n});\n\nexport type NotificationQuery = Static<typeof notificationQuerySchema>;\n","import { $inject, t } from \"alepha\";\nimport { JobService } from \"alepha/api/jobs\";\nimport { $secure } from \"alepha/security\";\nimport { $action } from \"alepha/server\";\nimport { NotificationJobs } from \"../jobs/NotificationJobs.ts\";\nimport { notificationDetailResourceSchema } from \"../schemas/notificationDetailResourceSchema.ts\";\nimport { notificationQuerySchema } from \"../schemas/notificationQuerySchema.ts\";\nimport { notificationResourceSchema } from \"../schemas/notificationResourceSchema.ts\";\n\nexport class AdminNotificationController {\n protected readonly url: string = \"/notifications\";\n protected readonly group: string = \"admin:notifications\";\n protected readonly jobService = $inject(JobService);\n protected readonly notificationJobs = $inject(NotificationJobs);\n\n protected get jobName(): string {\n return this.notificationJobs.sendNotification.name;\n }\n\n public readonly findNotifications = $action({\n path: this.url,\n group: this.group,\n use: [$secure({ permissions: [\"admin:notification:read\"] })],\n schema: {\n query: notificationQuerySchema,\n response: t.page(notificationResourceSchema),\n },\n handler: async ({ query }) => {\n const result = await this.jobService.findExecutions({\n ...query,\n job: this.jobName,\n });\n return {\n ...result,\n content: result.content.map((exec) => this.toResource(exec)),\n } as any;\n },\n });\n\n public readonly getNotification = $action({\n path: `${this.url}/:id`,\n group: this.group,\n use: [$secure({ permissions: [\"admin:notification:read\"] })],\n schema: {\n params: t.object({\n id: t.uuid(),\n }),\n response: notificationDetailResourceSchema,\n },\n handler: async ({ params }) => {\n const detail = await this.jobService.getExecution(params.id);\n return this.toDetailResource(detail) as any;\n },\n });\n\n protected toResource(exec: Record<string, unknown>) {\n const payload = (exec.payload ?? {}) as Record<string, unknown>;\n return {\n id: exec.id,\n createdAt: exec.createdAt,\n status: exec.status,\n template: payload.template,\n type: payload.type,\n contact: payload.contact,\n category: payload.category,\n critical: payload.critical,\n sensitive: payload.sensitive,\n startedAt: exec.startedAt,\n completedAt: exec.completedAt,\n error: exec.error,\n };\n }\n\n protected toDetailResource(exec: Record<string, unknown>) {\n const payload = (exec.payload ?? {}) as Record<string, unknown>;\n return {\n ...this.toResource(exec),\n variables: payload.variables,\n rendered: exec.result,\n logs: exec.logs,\n };\n }\n}\n","import { type Static, t } from \"alepha\";\n\nexport const notificationContactPreferencesSchema = t.object({\n language: t.optional(t.text()),\n exclude: t.array(t.text()),\n});\n\nexport type NotificationContactPreferences = Static<\n typeof notificationContactPreferencesSchema\n>;\n","import { type Static, t } from \"alepha\";\n\nexport const notificationContactSchema = t.object({\n email: t.optional(t.email()),\n phoneNumber: t.optional(t.e164()),\n firstName: t.optional(t.shortText()),\n lastName: t.optional(t.text({ size: \"short\" })),\n language: t.optional(t.bcp47()),\n});\n\nexport type NotificationContact = Static<typeof notificationContactSchema>;\n","import { $module } from \"alepha\";\nimport { AdminNotificationController } from \"./controllers/AdminNotificationController.ts\";\nimport { NotificationJobs } from \"./jobs/NotificationJobs.ts\";\nimport { $notification } from \"./primitives/$notification.ts\";\nimport { NotificationSenderService } from \"./services/NotificationSenderService.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./controllers/AdminNotificationController.ts\";\nexport * from \"./jobs/NotificationJobs.ts\";\nexport * from \"./primitives/$notification.ts\";\nexport * from \"./schemas/notificationContactPreferencesSchema.ts\";\nexport * from \"./schemas/notificationContactSchema.ts\";\nexport * from \"./schemas/notificationDetailResourceSchema.ts\";\nexport * from \"./schemas/notificationPayloadSchema.ts\";\nexport * from \"./schemas/notificationQuerySchema.ts\";\nexport * from \"./schemas/notificationResourceSchema.ts\";\nexport * from \"./services/NotificationSenderService.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\n/**\n * User notification management.\n *\n * **Features:**\n * - Notification definitions\n * - Email/SMS notification sending\n * - Job-based delivery with retry and tracking\n * - User preferences\n *\n * @module alepha.api.notifications\n */\nexport const AlephaApiNotifications = $module({\n name: \"alepha.api.notifications\",\n primitives: [$notification],\n services: [\n NotificationSenderService,\n NotificationJobs,\n AdminNotificationController,\n ],\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/api/notifications/schemas/notificationPayloadSchema.ts","../../../src/api/notifications/primitives/$notification.ts","../../../src/api/notifications/services/NotificationSenderService.ts","../../../src/api/notifications/jobs/NotificationJobs.ts","../../../src/api/notifications/schemas/notificationResourceSchema.ts","../../../src/api/notifications/schemas/notificationDetailResourceSchema.ts","../../../src/api/notifications/schemas/notificationQuerySchema.ts","../../../src/api/notifications/controllers/AdminNotificationController.ts","../../../src/api/notifications/schemas/notificationContactPreferencesSchema.ts","../../../src/api/notifications/schemas/notificationContactSchema.ts","../../../src/api/notifications/index.ts"],"sourcesContent":["import { type Static, t } from \"alepha\";\n\nexport const notificationPayloadSchema = t.object({\n type: t.enum([\"email\", \"sms\"]),\n template: t.text(),\n contact: t.text(),\n variables: t.optional(t.record(t.text(), t.any())),\n category: t.optional(t.text()),\n critical: t.optional(t.boolean()),\n sensitive: t.optional(t.boolean()),\n});\n\nexport type NotificationPayload = Static<typeof notificationPayloadSchema>;\n","import {\n $inject,\n createPrimitive,\n KIND,\n Primitive,\n type Static,\n type StaticEncode,\n type TObject,\n} from \"alepha\";\nimport { NotificationJobs } from \"../jobs/NotificationJobs.ts\";\n\n/**\n * Creates a notification primitive for managing email/SMS notification templates.\n *\n * Provides type-safe, reusable notification templates with multi-language support,\n * variable substitution, and categorization for different notification channels.\n *\n * @example\n * ```ts\n * class NotificationTemplates {\n * welcomeEmail = $notification({\n * name: \"welcome-email\",\n * category: \"onboarding\",\n * schema: t.object({ username: t.text(), activationLink: t.text() }),\n * email: {\n * subject: \"Welcome to our platform!\",\n * body: (vars) => `Hello ${vars.username}, click: ${vars.activationLink}`\n * }\n * });\n *\n * async sendWelcome(user: User) {\n * await this.welcomeEmail.push({\n * variables: { username: user.name, activationLink: generateLink() },\n * contact: user.email\n * });\n * }\n * }\n * ```\n */\nexport const $notification = <T extends TObject>(\n options: NotificationPrimitiveOptions<T>,\n) => createPrimitive(NotificationPrimitive<T>, options);\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface NotificationPrimitiveOptions<T extends TObject>\n extends NotificationMessage<T> {\n name?: string;\n description?: string;\n category?: string;\n critical?: boolean;\n sensitive?: boolean;\n translations?: {\n // e.g., \"en\", \"fr\", even \"en-US\"\n [lang: string]: NotificationMessage<T>;\n };\n schema: T;\n}\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport class NotificationPrimitive<T extends TObject> extends Primitive<\n NotificationPrimitiveOptions<T>\n> {\n protected readonly notificationJobs = $inject(NotificationJobs);\n\n public get name() {\n return this.options.name ?? `${this.config.propertyKey}`;\n }\n\n public async push(options: NotificationPushOptions<T>) {\n const pushOpts = this.options.critical\n ? ({ priority: \"critical\" } as const)\n : undefined;\n\n if (this.options.email) {\n await this.notificationJobs.sendNotification.push(\n {\n type: \"email\",\n template: this.name,\n contact: options.contact,\n variables: options.variables as Record<string, unknown>,\n category: this.options.category,\n critical: this.options.critical,\n sensitive: this.options.sensitive,\n },\n pushOpts,\n );\n }\n\n if (this.options.sms) {\n await this.notificationJobs.sendNotification.push(\n {\n type: \"sms\",\n template: this.name,\n contact: options.contact,\n variables: options.variables as Record<string, unknown>,\n category: this.options.category,\n critical: this.options.critical,\n sensitive: this.options.sensitive,\n },\n pushOpts,\n );\n }\n }\n\n public configure(options: Partial<NotificationPrimitiveOptions<T>>) {\n Object.assign(this.options, options);\n }\n}\n\n$notification[KIND] = NotificationPrimitive;\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface NotificationPushOptions<T extends TObject> {\n variables: StaticEncode<T>;\n contact: string;\n}\n\nexport interface NotificationMessage<T extends TObject> {\n email?: {\n subject: string;\n body: string | ((variables: Static<T>) => string);\n };\n sms?: {\n message: string | ((variables: Static<T>) => string);\n };\n}\n","import { $inject, Alepha, AlephaError } from \"alepha\";\nimport { EmailProvider } from \"alepha/email\";\nimport { $logger } from \"alepha/logger\";\nimport { SmsProvider } from \"alepha/sms\";\nimport { $notification } from \"../primitives/$notification.ts\";\nimport type { NotificationPayload } from \"../schemas/notificationPayloadSchema.ts\";\n\nexport class NotificationSenderService {\n protected readonly alepha = $inject(Alepha);\n protected readonly log = $logger();\n protected readonly emailProvider = $inject(EmailProvider);\n protected readonly smsProvider = $inject(SmsProvider);\n\n public async send(payload: NotificationPayload) {\n this.log.debug(\"Processing notification\", {\n type: payload.type,\n template: payload.template,\n contact: payload.contact,\n });\n\n if (payload.type === \"email\") {\n const rendered = this.renderEmail(payload);\n await this.emailProvider.send(rendered);\n this.log.info(\"Email notification sent\", {\n template: payload.template,\n contact: payload.contact,\n });\n return {\n type: \"email\" as const,\n to: rendered.to,\n subject: rendered.subject,\n body: rendered.body,\n };\n }\n\n if (payload.type === \"sms\") {\n const rendered = this.renderSms(payload);\n await this.smsProvider.send(rendered);\n this.log.info(\"SMS notification sent\", {\n template: payload.template,\n contact: payload.contact,\n });\n return {\n type: \"sms\" as const,\n to: rendered.to,\n message: rendered.message,\n };\n }\n }\n\n public renderSms(payload: NotificationPayload) {\n const { variables, contact, template } = this.load(payload);\n\n const sms = template.options.sms;\n if (!sms) {\n throw new AlephaError(\n `Notification template ${payload.template} has no sms defined`,\n );\n }\n\n const message =\n typeof sms.message === \"function\"\n ? sms.message(variables as any)\n : sms.message;\n\n return { to: contact, message };\n }\n\n public renderEmail(payload: NotificationPayload) {\n const { variables, contact, template } = this.load(payload);\n\n const email = template.options.email;\n if (!email) {\n throw new AlephaError(\n `Notification template ${payload.template} has no email defined`,\n );\n }\n\n const subject = email.subject;\n const body =\n typeof email.body === \"function\"\n ? email.body(variables as any)\n : email.body;\n\n return { to: contact, subject, body };\n }\n\n protected load(payload: NotificationPayload) {\n const variables = payload.variables || {};\n const contact = payload.contact;\n const template = this.alepha\n .primitives($notification)\n .find((it) => it.name === payload.template);\n\n if (!template) {\n throw new AlephaError(\n `No notification template found for ${payload.template}`,\n );\n }\n\n return { template, variables, contact };\n }\n}\n","import { $inject, t } from \"alepha\";\nimport { $job, jobExecutionEntity } from \"alepha/api/jobs\";\nimport { $parameter } from \"alepha/api/parameters\";\nimport { DateTimeProvider } from \"alepha/datetime\";\nimport { $logger } from \"alepha/logger\";\nimport { $repository } from \"alepha/orm\";\nimport { notificationPayloadSchema } from \"../schemas/notificationPayloadSchema.ts\";\nimport { NotificationSenderService } from \"../services/NotificationSenderService.ts\";\n\n/**\n * Notification jobs + runtime-editable retention.\n *\n * - `settings` — a `$parameter` exposing `retentionDays` that admins can\n * update at runtime. Changes propagate across instances via the parameter\n * pub/sub; the next purge run picks up the new value with no restart.\n * - `sendNotification` — queue-mode, audit-oriented. Every execution is kept\n * (`record: \"all\"`, `keep: { ok: 0, error: 0 }` disables the ring-buffer\n * trim) so the audit trail survives even under heavy volume.\n * - `purgeOldNotifications` — cron sweep that deletes notification execution\n * rows whose `completedAt` is older than the current `retentionDays`.\n *\n * Cron expression note: the purge cron is declared statically (`0 3 * * *`)\n * because some runtimes (Cloudflare Workers) freeze cron triggers at deploy\n * time. The *retention window* is fully runtime-editable — that's the knob\n * that actually matters for operators.\n */\nexport class NotificationJobs {\n protected readonly log = $logger();\n protected readonly dt = $inject(DateTimeProvider);\n protected readonly notificationSenderService = $inject(\n NotificationSenderService,\n );\n protected readonly executions = $repository(jobExecutionEntity);\n\n /** Runtime-editable config. Admins can change retentionDays without deploy. */\n public readonly settings = $parameter({\n name: \"alepha.api.notifications\",\n description: \"Notification delivery & retention settings.\",\n schema: t.object({\n retentionDays: t.integer({\n description:\n \"Days to keep notification execution rows before the purge sweep removes them.\",\n minimum: 1,\n }),\n }),\n default: {\n retentionDays: 7,\n },\n });\n\n public readonly sendNotification = $job({\n name: \"api:notifications:sendNotification\",\n description:\n \"Sends a notification (email/SMS) and keeps every execution for audit.\",\n schema: notificationPayloadSchema,\n retry: {\n retries: 3,\n backoff: {\n initial: [5, \"seconds\"],\n factor: 4,\n max: [10, \"minutes\"],\n jitter: true,\n },\n },\n timeout: [30, \"seconds\"],\n record: \"all\",\n keep: { ok: 0, error: 0 },\n handler: async ({ payload }) => {\n await this.notificationSenderService.send(payload);\n },\n });\n\n public readonly purgeOldNotifications = $job({\n name: \"api:notifications:purgeOldNotifications\",\n description:\n \"Hourly sweep that deletes notification execution rows older than the configured retention window.\",\n cron: \"0 * * * *\",\n handler: async ({ now }) => {\n const { retentionDays } = this.settings.cachedCurrentContent;\n const cutoff = now.subtract(retentionDays, \"day\").toISOString();\n const jobName = this.sendNotification.name;\n\n const expired = await this.executions.findMany({\n where: {\n jobName: { eq: jobName },\n status: { inArray: [\"ok\", \"error\", \"cancelled\"] },\n completedAt: { lt: cutoff },\n },\n columns: [\"id\"] as any,\n limit: 5_000,\n });\n\n if (expired.length === 0) {\n this.log.debug(\"Notification purge: nothing to delete\", {\n cutoff,\n retentionDays,\n });\n return;\n }\n\n await this.executions.deleteMany({\n id: { inArray: expired.map((r) => r.id) },\n });\n this.log.info(\n `Notification purge: deleted ${expired.length} row(s) older than ${retentionDays} days`,\n { cutoff },\n );\n },\n });\n}\n","import { type Static, t } from \"alepha\";\n\nexport const notificationResourceSchema = t.object({\n id: t.uuid(),\n createdAt: t.datetime(),\n status: t.text(),\n template: t.optional(t.text()),\n type: t.optional(t.text()),\n contact: t.optional(t.text()),\n category: t.optional(t.text()),\n critical: t.optional(t.boolean()),\n sensitive: t.optional(t.boolean()),\n startedAt: t.optional(t.datetime()),\n completedAt: t.optional(t.datetime()),\n error: t.optional(t.text()),\n});\n\nexport type NotificationResource = Static<typeof notificationResourceSchema>;\n","import { type Static, t } from \"alepha\";\nimport { logEntrySchema } from \"alepha/logger\";\nimport { notificationResourceSchema } from \"./notificationResourceSchema.ts\";\n\nexport const notificationDetailResourceSchema = t.extend(\n notificationResourceSchema,\n {\n variables: t.optional(t.record(t.text(), t.any())),\n rendered: t.optional(t.record(t.text(), t.any())),\n logs: t.optional(t.array(logEntrySchema)),\n },\n {\n title: \"NotificationDetailResource\",\n description: \"A notification resource with rendered content and logs.\",\n },\n);\n\nexport type NotificationDetailResource = Static<\n typeof notificationDetailResourceSchema\n>;\n","import { type Static, t } from \"alepha\";\nimport { pageQuerySchema } from \"alepha/orm\";\n\nexport const notificationQuerySchema = t.extend(pageQuerySchema, {\n status: t.optional(\n t.enum([\n \"pending\",\n \"scheduled\",\n \"retrying\",\n \"running\",\n \"completed\",\n \"dead\",\n \"cancelled\",\n ]),\n ),\n});\n\nexport type NotificationQuery = Static<typeof notificationQuerySchema>;\n","import { $inject, t } from \"alepha\";\nimport { jobExecutionEntity } from \"alepha/api/jobs\";\nimport { $repository } from \"alepha/orm\";\nimport { $secure } from \"alepha/security\";\nimport { $action, NotFoundError } from \"alepha/server\";\nimport { NotificationJobs } from \"../jobs/NotificationJobs.ts\";\nimport { notificationDetailResourceSchema } from \"../schemas/notificationDetailResourceSchema.ts\";\nimport { notificationQuerySchema } from \"../schemas/notificationQuerySchema.ts\";\nimport { notificationResourceSchema } from \"../schemas/notificationResourceSchema.ts\";\n\nexport class AdminNotificationController {\n protected readonly url: string = \"/notifications\";\n protected readonly group: string = \"admin:notifications\";\n protected readonly notificationJobs = $inject(NotificationJobs);\n protected readonly executions = $repository(jobExecutionEntity);\n\n protected get jobName(): string {\n return this.notificationJobs.sendNotification.name;\n }\n\n public readonly findNotifications = $action({\n path: this.url,\n group: this.group,\n use: [$secure({ permissions: [\"admin:notification:read\"] })],\n schema: {\n query: notificationQuerySchema,\n response: t.page(notificationResourceSchema),\n },\n handler: async ({ query }) => {\n query.sort ??= \"-createdAt\";\n const where = this.executions.createQueryWhere();\n where.jobName = { eq: this.jobName };\n const page = await this.executions.paginate(\n query,\n { where },\n { count: true },\n );\n return {\n ...page,\n content: page.content.map((exec) => this.toResource(exec)),\n } as any;\n },\n });\n\n public readonly getNotification = $action({\n path: `${this.url}/:id`,\n group: this.group,\n use: [$secure({ permissions: [\"admin:notification:read\"] })],\n schema: {\n params: t.object({\n id: t.uuid(),\n }),\n response: notificationDetailResourceSchema,\n },\n handler: async ({ params }) => {\n const exec = await this.executions.findById(params.id);\n if (!exec || exec.jobName !== this.jobName) {\n throw new NotFoundError(`Notification not found: ${params.id}`);\n }\n return this.toDetailResource(exec) as any;\n },\n });\n\n protected toResource(exec: Record<string, unknown>) {\n const payload = (exec.payload ?? {}) as Record<string, unknown>;\n return {\n id: exec.id,\n createdAt: exec.createdAt,\n status: exec.status,\n template: payload.template,\n type: payload.type,\n contact: payload.contact,\n category: payload.category,\n critical: payload.critical,\n sensitive: payload.sensitive,\n startedAt: exec.startedAt,\n completedAt: exec.completedAt,\n error: exec.error,\n };\n }\n\n protected toDetailResource(exec: Record<string, unknown>) {\n const payload = (exec.payload ?? {}) as Record<string, unknown>;\n return {\n ...this.toResource(exec),\n variables: payload.variables,\n logs: exec.logs,\n };\n }\n}\n","import { type Static, t } from \"alepha\";\n\nexport const notificationContactPreferencesSchema = t.object({\n language: t.optional(t.text()),\n exclude: t.array(t.text()),\n});\n\nexport type NotificationContactPreferences = Static<\n typeof notificationContactPreferencesSchema\n>;\n","import { type Static, t } from \"alepha\";\n\nexport const notificationContactSchema = t.object({\n email: t.optional(t.email()),\n phoneNumber: t.optional(t.e164()),\n firstName: t.optional(t.shortText()),\n lastName: t.optional(t.text({ size: \"short\" })),\n language: t.optional(t.bcp47()),\n});\n\nexport type NotificationContact = Static<typeof notificationContactSchema>;\n","import { $module } from \"alepha\";\nimport { AlephaApiJobsQueue } from \"alepha/api/jobs\";\nimport { AlephaApiParameters } from \"alepha/api/parameters\";\nimport { AdminNotificationController } from \"./controllers/AdminNotificationController.ts\";\nimport { NotificationJobs } from \"./jobs/NotificationJobs.ts\";\nimport { $notification } from \"./primitives/$notification.ts\";\nimport { NotificationSenderService } from \"./services/NotificationSenderService.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./controllers/AdminNotificationController.ts\";\nexport * from \"./jobs/NotificationJobs.ts\";\nexport * from \"./primitives/$notification.ts\";\nexport * from \"./schemas/notificationContactPreferencesSchema.ts\";\nexport * from \"./schemas/notificationContactSchema.ts\";\nexport * from \"./schemas/notificationDetailResourceSchema.ts\";\nexport * from \"./schemas/notificationPayloadSchema.ts\";\nexport * from \"./schemas/notificationQuerySchema.ts\";\nexport * from \"./schemas/notificationResourceSchema.ts\";\nexport * from \"./services/NotificationSenderService.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\n/**\n * User notification management.\n *\n * **Features:**\n * - Notification definitions (email/SMS templates)\n * - Queue-based delivery with retry and audit trail (`record: \"all\"` + no ring buffer trim)\n * - Runtime-editable retention window via `$parameter` — purge cron respects it live\n * - Admin API for inspecting sent notifications\n *\n * @module alepha.api.notifications\n */\nexport const AlephaApiNotifications = $module({\n name: \"alepha.api.notifications\",\n imports: [AlephaApiJobsQueue, AlephaApiParameters],\n primitives: [$notification],\n services: [\n NotificationSenderService,\n NotificationJobs,\n AdminNotificationController,\n ],\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/organizations/entities/organizations.ts","../../../src/api/organizations/schemas/createOrganizationSchema.ts","../../../src/api/organizations/schemas/organizationQuerySchema.ts","../../../src/api/organizations/schemas/updateOrganizationSchema.ts","../../../src/api/organizations/services/OrganizationService.ts","../../../src/api/organizations/controllers/AdminOrganizationController.ts","../../../src/api/organizations/schemas/organizationResourceSchema.ts","../../../src/api/organizations/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/organizations/entities/organizations.ts","../../../src/api/organizations/schemas/createOrganizationSchema.ts","../../../src/api/organizations/schemas/organizationQuerySchema.ts","../../../src/api/organizations/schemas/updateOrganizationSchema.ts","../../../src/api/organizations/services/OrganizationService.ts","../../../src/api/organizations/controllers/AdminOrganizationController.ts","../../../src/api/organizations/schemas/organizationResourceSchema.ts","../../../src/api/organizations/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;KAaY,aAAA,WAAwB,OAAA,IAAW,OAAA,eACjC,CAAA,kBAAmB,CAAA,eAAgB,CAAA;EAAA,CAC5C,YAAA;AAAA,YAGC,CAAA,GAAI,CAAA,eAAgB,CAAA;EAAA,CACjB,UAAA;AAAA;EACD,WAAA;AAAA,IACF,SAAA,CAAU,CAAA,eAAgB,CAAA,KAC1B,CAAA,eAAgB,CAAA;;;;;;;;;;;;KCJV,aAAA,WAAwB,OAAA,IAAW,OAAA,eACjC,CAAA,kBAAmB,CAAA,eAAgB,CAAA;EAAA,CAC5C,YAAA;AAAA,YAGC,CAAA,GAAI,CAAA,eAAgB,CAAA,UAAW,SAAA,YAC/B,SAAA,CAAU,MAAA,EAAQ,CAAA,EAAG,KAAA,MACrB,CAAA,eAAgB,CAAA;;;UCWL,sBAAA,WACL,OAAA,eACG,MAAA,CAAO,CAAA;EFnBb;;;;EEyBP,IAAA;EFtBoB;;;EE2BpB,MAAA,EAAQ,CAAA;EFpCgB;;;EEyCxB,OAAA,IACI,IAAA;IFzCQ;;;IE8CN,MAAA,EAAQ,IAAA;IF1CV;;;IE8CE,MAAA;IF5CA;;;IEgDA,IAAA;IF9CF;;;IEkDE,KAAA,GAAQ,GAAA;EAAA;;;ADtDhB;IC4DQ,OAAA,EAAS,IAAA;ID5DQ;;;ICgEjB,MAAA;ID/DyC;;;ICmEzC,IAAA;ID/DkB;;;ICmElB,KAAA,GAAQ,GAAA;EAAA;IDlEV;;;;;;;;;;;;;;;;ICqFE,WAAA,GAAc,IAAA,EAAM,MAAA,CAAO,IAAA,qBAAyB,GAAA;IDtFvB;;;IC0F7B,MAAA;IDzFgB;;;IC6FhB,IAAA;ID5Fe;;;ICgGf,KAAA,GAAQ,GAAA;EAAA;EArFC;;;EA4Ff,WAAA,GAAc,KAAA;IA1FM;;;IA8FlB,IAAA;IAxEY;;;IA4EZ,OAAA,EAAS,KAAA,OAAY,MAAA,CAAO,CAAA;IA3BG;;;;IAgC/B,cAAA,EAAgB,KAAA,OAAY,YAAA;EAAA;EALnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCX,WAAA,GAAc,KAAA;IAjGC;;;IAqGb,OAAA,EAAS,KAAA,OAAY,MAAA,CAAO,CAAA;IAzFhB;;;IA6FZ,IAAA;IA1EkB;;;IA8ElB,MAAA;IAlEI;;;IAsEJ,KAAA,GAAQ,GAAA;EAAA;EAvDR;;;EA6DF,MAAA,IACE,IAAA,EAAM,uBAAA,SAAgC,UAAA,CAAW,CAAA,aAC9C,uBAAA;AAAA;AAAA,cAKM,eAAA,WAA0B,OAAA,GAAU,OAAA;EAAA,SAC/B,OAAA,EAAS,sBAAA,CAAuB,CAAA;cAEpC,OAAA,EAAS,sBAAA,CAAuB,CAAA;EAI5C,KAAA,CAAM,KAAA;EAAA,IAYF,IAAA,CAAA,GAAQ,aAAA,CAAc,CAAA;EAAA,IActB,IAAA,CAAA;EAAA,IAIA,MAAA,CAAA,GAAU,CAAA;EAAA,IAIV,YAAA,CAAA,GAAgB,aAAA,CAAc,CAAA;EAAA,IAI9B,YAAA,CAAA,GAAgB,aAAA,CAAc,CAAA;AAAA;;;;KAYxB,UAAA,WAAqB,OAAA,oBACjB,CAAA,iBAAkB,mBAAA;AAAA,KAYtB,YAAA,WAAuB,OAAA;EACjC,IAAA;EACA,MAAA,EAAQ,eAAA,CAAgB,CAAA;AAAA;AAAA,KAGd,aAAA,WAAwB,OAAA,oBACpB,CAAA,iBAAkB,YAAA,CAAa,CAAA;;;cCjRlC,UAAA;AAAA,cACA,cAAA;AAAA,cACA,aAAA;AAAA,cACA,aAAA;AAAA,cACA,aAAA;AAAA,cACA,UAAA;AAAA,cACA,WAAA;AAAA,cACA,OAAA;AAAA,cACA,MAAA;AAAA,cACA,YAAA;AAAA,cACA,eAAA;;;;cAKA,SAAA;AAAA,KAMD,SAAA;EAAA,CACT,UAAA;EAAA,CACA,cAAA;EAAA,CACA,aAAA;EAAA,CACA,aAAA;EAAA,CACA,aAAA;EAAA,CACA,UAAA;EAAA,CACA,WAAA,GAAc,iBAAA;EAAA,CACd,MAAA,GAAS,YAAA;EAAA,CACT,OAAA,GAAU,aAAA;EAAA,CACV,YAAA,GAAe,kBAAA;EAAA,CACf,eAAA;EHjBmB;;;EAAA,CGsBnB,SAAA;AAAA;AAAA,KAGS,YAAA,SAAqB,SAAA;AAAA,KAErB,iBAAA;EACV,IAAA;AAAA,IACE,iBAAA;EACA,IAAA;AAAA;AAAA,UAGa,aAAA;EACf,IAAA;EACA,WAAA;AAAA;AAAA,UAGe,kBAAA;EHxCT;;;EG4CN,UAAA,EAAY,GAAA;EH1CR;;;;;EGiDJ,IAAA;AAAA;AAAA,UAGe,YAAA;EACf,GAAA;IACE,IAAA;IACA,MAAA,EAAQ,eAAA;EAAA;EAEV,OAAA;IACE,QAAA,GAAW,kBAAA;IACX,QAAA,GAAW,kBAAA;EAAA;AAAA;;;;;;KC5BH,MAAA,WAAiB,OAAA,gBAAuB,YAAA,IAAgB,CAAA,WAC5D,KAAA,GAAQ,SAAA,CAAU,CAAA;;;;;;;;;;;;;;;;cCvCb,iBAAA,WAAiB,OAAA;mCAW5B,QAAA,CAAA,OAAA;;ALbF;;;;;;;;;YKgBY,GAAA,SAAY,OAAA,CAAQ,MAAA,QAAc,iBAAA;AAAA;;;cCzBjC,aAAA,EAAa,aAAA,CAAA,eAAA,UAAA,OAAA;gDAaxB,QAAA,CAAA,OAAA;;;;;;;;KAEU,kBAAA,GAAqB,MAAA,QAAc,aAAA,CAAc,MAAA;;;cChBhD,wBAAA,WAAwB,OAAA;QAInC,QAAA,CAAA,OAAA;;;;KAEU,kBAAA,GAAqB,MAAA,QAAc,wBAAA;;;cCLlC,uBAAA,WAAuB,OAAA;2BAGlC,QAAA,CAAA,QAAA;;;;;;KAEU,iBAAA,GAAoB,MAAA,QAAc,uBAAA;;;cCLjC,wBAAA,WAAwB,OAAA;2BAAsC,QAAA,CAAA,OAAA;;;;KAE/D,kBAAA,GAAqB,MAAA,QAAc,wBAAA;;;cCKlC,mBAAA;EAAA,mBACQ,MAAA,EAAM,MAAA;EAAA,mBACN,GAAA,EADM,gBAAA,CACH,MAAA;EAAA,mBACH,IAAA,EAAI,aAAA,CAAA,UAAA,UAAA,OAAA;kDADD,QAAA,CAAA,OAAA;;;;;;;;EVAC;;;EUMV,IAAA,CACX,KAAA,GAAO,iBAAA,GACN,OAAA,CAAQ,IAAA,CAAK,kBAAA;EVPe;;;EU0BlB,OAAA,CAAQ,EAAA,WAAa,OAAA,CAAQ,kBAAA;EVtBlC;;;EU6BK,SAAA,CAAU,IAAA,WAAe,OAAA,CAAQ,kBAAA;EV1BhB;;;EUiCjB,MAAA,CAAO,IAAA,EAAM,kBAAA,GAAqB,OAAA,CAAQ,kBAAA;EVzCV;;;EUgDhC,MAAA,CACX,EAAA,UACA,IAAA,EAAM,kBAAA,GACL,OAAA,CAAQ,kBAAA;EVnDuB;;;EU0DrB,MAAA,CAAO,EAAA,WAAa,OAAA;AAAA;;;cC9DtB,2BAAA;EAAA,mBACQ,GAAA;EAAA,mBACA,KAAA;EAAA,mBACA,mBAAA,EAAmB,mBAAA;;;;WAKtB,iBAAA,mBAAiB,iBAAA;;+BALK,QAAA,CAAA,QAAA;;;;;;;;;;;;;;;;EXM9B;;;EAAA,SWcQ,eAAA,mBAAe,iBAAA;;UAfE,QAAA,CAAA,OAAA;IAAA;;;;;;;;;;;EXHc;;;EAAA,SWmC/B,kBAAA,mBAAkB,iBAAA;;YAjBH,QAAA,CAAA,OAAA;;;;;;;;;;;;;;EVdR;;;EAAA,SU+CP,kBAAA,mBAAkB,iBAAA;;UAhBA,QAAA,CAAA,OAAA;IAAA;;;;;;;;;;;;;;;;EV9BjC;;;EAAA,SUkEe,kBAAA,mBAAkB,iBAAA;;UApBA,QAAA,CAAA,OAAA;IAAA;;;;;;;;;;cC9DvB,0BAAA,WAA0B,OAAA;oBAAuB,QAAA,CAAA,OAAA;;;;;;;;KAElD,oBAAA,GAAuB,MAAA,QAAc,0BAAA;;;;;;;;;;;;;AZQjD;caca,sBAAA,EAAsB,QAAA,CAAA,OAAA,CAGjC,QAAA,CAHiC,MAAA"}
@@ -16,16 +16,53 @@ const parameters = $entity({
16
16
  id: db.primaryKey(t.uuid()),
17
17
  createdAt: db.createdAt(),
18
18
  updatedAt: db.updatedAt(),
19
+ /**
20
+ * Configuration name using dot notation for tree hierarchy.
21
+ * Examples: "app.features", "app.pricing.tiers", "system.limits"
22
+ */
19
23
  name: t.text(),
24
+ /**
25
+ * The configuration content as JSON.
26
+ */
20
27
  content: t.json(),
28
+ /**
29
+ * Schema version hash for detecting schema changes.
30
+ * Used for auto-migration when schema evolves.
31
+ */
21
32
  schemaHash: t.text(),
33
+ /**
34
+ * When this version should become active.
35
+ * Default is immediate (now).
36
+ */
22
37
  activationDate: t.datetime(),
38
+ /**
39
+ * Version number for this configuration.
40
+ * Auto-incremented per config name.
41
+ */
23
42
  version: t.integer(),
43
+ /**
44
+ * Optional description of changes in this version.
45
+ */
24
46
  changeDescription: t.optional(t.text()),
47
+ /**
48
+ * Optional tags for filtering/categorization.
49
+ */
25
50
  tags: t.optional(t.array(t.text())),
51
+ /**
52
+ * Creator user ID (if available).
53
+ */
26
54
  creatorId: t.optional(t.uuid()),
55
+ /**
56
+ * Creator display name for audit trail.
57
+ */
27
58
  creatorName: t.optional(t.text()),
59
+ /**
60
+ * Previous content before this change (for rollback reference).
61
+ */
28
62
  previousContent: t.optional(t.json()),
63
+ /**
64
+ * Migration log if schema changed.
65
+ */
29
66
  migrationLog: t.optional(t.text())
30
67
  }),
31
68
  indexes: [
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","names":[],"sources":["../../../src/api/parameters/entities/parameters.ts","../../../src/api/parameters/schemas/activateParameterBodySchema.ts","../../../src/api/parameters/schemas/createParameterVersionBodySchema.ts","../../../src/api/parameters/schemas/parameterStatusSchema.ts","../../../src/api/parameters/schemas/parameterResponseSchema.ts","../../../src/api/parameters/schemas/parameterCurrentResponseSchema.ts","../../../src/api/parameters/schemas/parameterHistoryResponseSchema.ts","../../../src/api/parameters/schemas/parameterNameParamSchema.ts","../../../src/api/parameters/schemas/parameterNamesResponseSchema.ts","../../../src/api/parameters/schemas/parameterTreeNodeSchema.ts","../../../src/api/parameters/schemas/parameterVersionParamSchema.ts","../../../src/api/parameters/schemas/parameterVersionResponseSchema.ts","../../../src/api/parameters/schemas/rollbackParameterBodySchema.ts","../../../src/api/parameters/index.browser.ts"],"sourcesContent":["import { type Static, t } from \"alepha\";\nimport { $entity, db } from \"alepha/orm\";\n\n/**\n * Configuration parameter entity for versioned configuration management.\n *\n * Stores all versions of configuration parameters with:\n * - Status derived from activationDate at query time\n * - Schema versioning for migrations\n * - Activation scheduling\n * - Audit trail (creator info)\n */\nexport const parameters = $entity({\n name: \"parameters\",\n schema: t.object({\n id: db.primaryKey(t.uuid()),\n createdAt: db.createdAt(),\n updatedAt: db.updatedAt(),\n\n /**\n * Configuration name using dot notation for tree hierarchy.\n * Examples: \"app.features\", \"app.pricing.tiers\", \"system.limits\"\n */\n name: t.text(),\n\n /**\n * The configuration content as JSON.\n */\n content: t.json(),\n\n /**\n * Schema version hash for detecting schema changes.\n * Used for auto-migration when schema evolves.\n */\n schemaHash: t.text(),\n\n /**\n * When this version should become active.\n * Default is immediate (now).\n */\n activationDate: t.datetime(),\n\n /**\n * Version number for this configuration.\n * Auto-incremented per config name.\n */\n version: t.integer(),\n\n /**\n * Optional description of changes in this version.\n */\n changeDescription: t.optional(t.text()),\n\n /**\n * Optional tags for filtering/categorization.\n */\n tags: t.optional(t.array(t.text())),\n\n /**\n * Creator user ID (if available).\n */\n creatorId: t.optional(t.uuid()),\n\n /**\n * Creator display name for audit trail.\n */\n creatorName: t.optional(t.text()),\n\n /**\n * Previous content before this change (for rollback reference).\n */\n previousContent: t.optional(t.json()),\n\n /**\n * Migration log if schema changed.\n */\n migrationLog: t.optional(t.text()),\n }),\n indexes: [\n { columns: [\"name\", \"activationDate\"] },\n { columns: [\"name\", \"version\"], unique: true },\n { columns: [\"activationDate\"] },\n ],\n});\n\nexport type Parameter = Static<typeof parameters.schema>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Activate parameter body schema.\n * Uses t.pick for version and creator fields.\n */\nexport const activateParameterBodySchema = t.pick(parameters.schema, [\n \"version\",\n \"creatorId\",\n \"creatorName\",\n]);\n\nexport type ActivateParameterBody = Static<typeof activateParameterBodySchema>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Create parameter version body schema.\n * Uses t.pick to derive from entity, with required fields made non-optional.\n */\nexport const createParameterVersionBodySchema = t.extend(\n t.pick(parameters.schema, [\n \"content\",\n \"schemaHash\",\n \"changeDescription\",\n \"tags\",\n \"creatorId\",\n \"creatorName\",\n ]),\n {\n activationDate: t.optional(\n t.datetime({ description: \"When to activate (default: now)\" }),\n ),\n },\n);\n\nexport type CreateParameterVersionBody = Static<\n typeof createParameterVersionBodySchema\n>;\n","import { type Static, t } from \"alepha\";\n\n/**\n * Parameter status enum schema.\n */\nexport const parameterStatusSchema = t.enum([\n \"expired\",\n \"current\",\n \"next\",\n \"future\",\n]);\n\nexport type ParameterStatus = Static<typeof parameterStatusSchema>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\nimport { parameterStatusSchema } from \"./parameterStatusSchema.ts\";\n\n/**\n * Parameter response schema for API responses.\n * Extends the entity schema with a calculated status field.\n * Status is derived from activationDate at query time, not stored.\n */\nexport const parameterResponseSchema = t.extend(parameters.schema, {\n status: parameterStatusSchema,\n});\n\nexport type ParameterResponse = Static<typeof parameterResponseSchema>;\n","import { type Static, t } from \"alepha\";\nimport { parameterResponseSchema } from \"./parameterResponseSchema.ts\";\n\n/**\n * Current parameter response schema.\n * Includes current version, next scheduled version, and defaults.\n */\nexport const parameterCurrentResponseSchema = t.object({\n current: t.optional(parameterResponseSchema),\n next: t.optional(parameterResponseSchema),\n defaultValue: t.optional(t.json()),\n currentValue: t.optional(t.json()),\n schema: t.optional(t.json()),\n});\n\nexport type ParameterCurrentResponse = Static<\n typeof parameterCurrentResponseSchema\n>;\n","import { type Static, t } from \"alepha\";\nimport { parameterResponseSchema } from \"./parameterResponseSchema.ts\";\n\n/**\n * Parameter history response schema.\n */\nexport const parameterHistoryResponseSchema = t.object({\n versions: t.array(parameterResponseSchema),\n});\n\nexport type ParameterHistoryResponse = Static<\n typeof parameterHistoryResponseSchema\n>;\n","import { t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Parameter name param schema.\n * Uses t.pick from entity for consistency.\n */\nexport const parameterNameParamSchema = t.pick(parameters.schema, [\"name\"]);\n","import { type Static, t } from \"alepha\";\n\n/**\n * Parameter names list response schema.\n */\nexport const parameterNamesResponseSchema = t.object({\n names: t.array(t.text()),\n});\n\nexport type ParameterNamesResponse = Static<\n typeof parameterNamesResponseSchema\n>;\n","import { type Static, t } from \"alepha\";\n\n/**\n * Tree node schema for parameter tree navigation.\n */\nexport const parameterTreeNodeSchema = t.object({\n name: t.text(),\n path: t.text(),\n isLeaf: t.boolean(),\n children: t.array(t.any()),\n});\n\nexport type ParameterTreeNode = Static<typeof parameterTreeNodeSchema>;\n","import { t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Parameter name and version param schema.\n * Uses t.pick from entity for consistency.\n */\nexport const parameterVersionParamSchema = t.pick(parameters.schema, [\n \"name\",\n \"version\",\n]);\n","import { type Static, t } from \"alepha\";\nimport { parameterResponseSchema } from \"./parameterResponseSchema.ts\";\n\n/**\n * Parameter version response schema.\n */\nexport const parameterVersionResponseSchema = t.object({\n parameter: t.optional(parameterResponseSchema),\n});\n\nexport type ParameterVersionResponse = Static<\n typeof parameterVersionResponseSchema\n>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Rollback parameter body schema.\n * Uses t.pick for creator fields, adds targetVersion.\n */\nexport const rollbackParameterBodySchema = t.extend(\n t.pick(parameters.schema, [\"changeDescription\", \"creatorId\", \"creatorName\"]),\n {\n targetVersion: t.integer({\n description: \"Version number to rollback to\",\n }),\n },\n);\n\nexport type RollbackParameterBody = Static<typeof rollbackParameterBodySchema>;\n","import { $module } from \"alepha\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./entities/parameters.ts\";\nexport * from \"./schemas/activateParameterBodySchema.ts\";\nexport * from \"./schemas/createParameterVersionBodySchema.ts\";\nexport * from \"./schemas/parameterCurrentResponseSchema.ts\";\nexport * from \"./schemas/parameterHistoryResponseSchema.ts\";\nexport * from \"./schemas/parameterNameParamSchema.ts\";\nexport * from \"./schemas/parameterNamesResponseSchema.ts\";\nexport * from \"./schemas/parameterResponseSchema.ts\";\nexport * from \"./schemas/parameterStatusSchema.ts\";\nexport * from \"./schemas/parameterTreeNodeSchema.ts\";\nexport * from \"./schemas/parameterVersionParamSchema.ts\";\nexport * from \"./schemas/parameterVersionResponseSchema.ts\";\nexport * from \"./schemas/rollbackParameterBodySchema.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport const AlephaApiParameters = $module({\n name: \"alepha.api.parameters\",\n services: [],\n});\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,aAAa,QAAQ;CAChC,MAAM;CACN,QAAQ,EAAE,OAAO;EACf,IAAI,GAAG,WAAW,EAAE,MAAM,CAAC;EAC3B,WAAW,GAAG,WAAW;EACzB,WAAW,GAAG,WAAW;EAMzB,MAAM,EAAE,MAAM;EAKd,SAAS,EAAE,MAAM;EAMjB,YAAY,EAAE,MAAM;EAMpB,gBAAgB,EAAE,UAAU;EAM5B,SAAS,EAAE,SAAS;EAKpB,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC;EAKvC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;EAKnC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;EAK/B,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC;EAKjC,iBAAiB,EAAE,SAAS,EAAE,MAAM,CAAC;EAKrC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC;EACnC,CAAC;CACF,SAAS;EACP,EAAE,SAAS,CAAC,QAAQ,iBAAiB,EAAE;EACvC;GAAE,SAAS,CAAC,QAAQ,UAAU;GAAE,QAAQ;GAAM;EAC9C,EAAE,SAAS,CAAC,iBAAiB,EAAE;EAChC;CACF,CAAC;;;;;;;AC5EF,MAAa,8BAA8B,EAAE,KAAK,WAAW,QAAQ;CACnE;CACA;CACA;CACD,CAAC;;;;;;;ACJF,MAAa,mCAAmC,EAAE,OAChD,EAAE,KAAK,WAAW,QAAQ;CACxB;CACA;CACA;CACA;CACA;CACA;CACD,CAAC,EACF,EACE,gBAAgB,EAAE,SAChB,EAAE,SAAS,EAAE,aAAa,mCAAmC,CAAC,CAC/D,EACF,CACF;;;;;;AChBD,MAAa,wBAAwB,EAAE,KAAK;CAC1C;CACA;CACA;CACA;CACD,CAAC;;;;;;;;ACDF,MAAa,0BAA0B,EAAE,OAAO,WAAW,QAAQ,EACjE,QAAQ,uBACT,CAAC;;;;;;;ACJF,MAAa,iCAAiC,EAAE,OAAO;CACrD,SAAS,EAAE,SAAS,wBAAwB;CAC5C,MAAM,EAAE,SAAS,wBAAwB;CACzC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC;CAClC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC;CAClC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;CAC7B,CAAC;;;;;;ACPF,MAAa,iCAAiC,EAAE,OAAO,EACrD,UAAU,EAAE,MAAM,wBAAwB,EAC3C,CAAC;;;;;;;ACDF,MAAa,2BAA2B,EAAE,KAAK,WAAW,QAAQ,CAAC,OAAO,CAAC;;;;;;ACF3E,MAAa,+BAA+B,EAAE,OAAO,EACnD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EACzB,CAAC;;;;;;ACFF,MAAa,0BAA0B,EAAE,OAAO;CAC9C,MAAM,EAAE,MAAM;CACd,MAAM,EAAE,MAAM;CACd,QAAQ,EAAE,SAAS;CACnB,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC;CAC3B,CAAC;;;;;;;ACHF,MAAa,8BAA8B,EAAE,KAAK,WAAW,QAAQ,CACnE,QACA,UACD,CAAC;;;;;;ACJF,MAAa,iCAAiC,EAAE,OAAO,EACrD,WAAW,EAAE,SAAS,wBAAwB,EAC/C,CAAC;;;;;;;ACDF,MAAa,8BAA8B,EAAE,OAC3C,EAAE,KAAK,WAAW,QAAQ;CAAC;CAAqB;CAAa;CAAc,CAAC,EAC5E,EACE,eAAe,EAAE,QAAQ,EACvB,aAAa,iCACd,CAAC,EACH,CACF;;;ACMD,MAAa,sBAAsB,QAAQ;CACzC,MAAM;CACN,UAAU,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"index.browser.js","names":[],"sources":["../../../src/api/parameters/entities/parameters.ts","../../../src/api/parameters/schemas/activateParameterBodySchema.ts","../../../src/api/parameters/schemas/createParameterVersionBodySchema.ts","../../../src/api/parameters/schemas/parameterStatusSchema.ts","../../../src/api/parameters/schemas/parameterResponseSchema.ts","../../../src/api/parameters/schemas/parameterCurrentResponseSchema.ts","../../../src/api/parameters/schemas/parameterHistoryResponseSchema.ts","../../../src/api/parameters/schemas/parameterNameParamSchema.ts","../../../src/api/parameters/schemas/parameterNamesResponseSchema.ts","../../../src/api/parameters/schemas/parameterTreeNodeSchema.ts","../../../src/api/parameters/schemas/parameterVersionParamSchema.ts","../../../src/api/parameters/schemas/parameterVersionResponseSchema.ts","../../../src/api/parameters/schemas/rollbackParameterBodySchema.ts","../../../src/api/parameters/index.browser.ts"],"sourcesContent":["import { type Static, t } from \"alepha\";\nimport { $entity, db } from \"alepha/orm\";\n\n/**\n * Configuration parameter entity for versioned configuration management.\n *\n * Stores all versions of configuration parameters with:\n * - Status derived from activationDate at query time\n * - Schema versioning for migrations\n * - Activation scheduling\n * - Audit trail (creator info)\n */\nexport const parameters = $entity({\n name: \"parameters\",\n schema: t.object({\n id: db.primaryKey(t.uuid()),\n createdAt: db.createdAt(),\n updatedAt: db.updatedAt(),\n\n /**\n * Configuration name using dot notation for tree hierarchy.\n * Examples: \"app.features\", \"app.pricing.tiers\", \"system.limits\"\n */\n name: t.text(),\n\n /**\n * The configuration content as JSON.\n */\n content: t.json(),\n\n /**\n * Schema version hash for detecting schema changes.\n * Used for auto-migration when schema evolves.\n */\n schemaHash: t.text(),\n\n /**\n * When this version should become active.\n * Default is immediate (now).\n */\n activationDate: t.datetime(),\n\n /**\n * Version number for this configuration.\n * Auto-incremented per config name.\n */\n version: t.integer(),\n\n /**\n * Optional description of changes in this version.\n */\n changeDescription: t.optional(t.text()),\n\n /**\n * Optional tags for filtering/categorization.\n */\n tags: t.optional(t.array(t.text())),\n\n /**\n * Creator user ID (if available).\n */\n creatorId: t.optional(t.uuid()),\n\n /**\n * Creator display name for audit trail.\n */\n creatorName: t.optional(t.text()),\n\n /**\n * Previous content before this change (for rollback reference).\n */\n previousContent: t.optional(t.json()),\n\n /**\n * Migration log if schema changed.\n */\n migrationLog: t.optional(t.text()),\n }),\n indexes: [\n { columns: [\"name\", \"activationDate\"] },\n { columns: [\"name\", \"version\"], unique: true },\n { columns: [\"activationDate\"] },\n ],\n});\n\nexport type Parameter = Static<typeof parameters.schema>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Activate parameter body schema.\n * Uses t.pick for version and creator fields.\n */\nexport const activateParameterBodySchema = t.pick(parameters.schema, [\n \"version\",\n \"creatorId\",\n \"creatorName\",\n]);\n\nexport type ActivateParameterBody = Static<typeof activateParameterBodySchema>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Create parameter version body schema.\n * Uses t.pick to derive from entity, with required fields made non-optional.\n */\nexport const createParameterVersionBodySchema = t.extend(\n t.pick(parameters.schema, [\n \"content\",\n \"schemaHash\",\n \"changeDescription\",\n \"tags\",\n \"creatorId\",\n \"creatorName\",\n ]),\n {\n activationDate: t.optional(\n t.datetime({ description: \"When to activate (default: now)\" }),\n ),\n },\n);\n\nexport type CreateParameterVersionBody = Static<\n typeof createParameterVersionBodySchema\n>;\n","import { type Static, t } from \"alepha\";\n\n/**\n * Parameter status enum schema.\n */\nexport const parameterStatusSchema = t.enum([\n \"expired\",\n \"current\",\n \"next\",\n \"future\",\n]);\n\nexport type ParameterStatus = Static<typeof parameterStatusSchema>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\nimport { parameterStatusSchema } from \"./parameterStatusSchema.ts\";\n\n/**\n * Parameter response schema for API responses.\n * Extends the entity schema with a calculated status field.\n * Status is derived from activationDate at query time, not stored.\n */\nexport const parameterResponseSchema = t.extend(parameters.schema, {\n status: parameterStatusSchema,\n});\n\nexport type ParameterResponse = Static<typeof parameterResponseSchema>;\n","import { type Static, t } from \"alepha\";\nimport { parameterResponseSchema } from \"./parameterResponseSchema.ts\";\n\n/**\n * Current parameter response schema.\n * Includes current version, next scheduled version, and defaults.\n */\nexport const parameterCurrentResponseSchema = t.object({\n current: t.optional(parameterResponseSchema),\n next: t.optional(parameterResponseSchema),\n defaultValue: t.optional(t.json()),\n currentValue: t.optional(t.json()),\n schema: t.optional(t.json()),\n});\n\nexport type ParameterCurrentResponse = Static<\n typeof parameterCurrentResponseSchema\n>;\n","import { type Static, t } from \"alepha\";\nimport { parameterResponseSchema } from \"./parameterResponseSchema.ts\";\n\n/**\n * Parameter history response schema.\n */\nexport const parameterHistoryResponseSchema = t.object({\n versions: t.array(parameterResponseSchema),\n});\n\nexport type ParameterHistoryResponse = Static<\n typeof parameterHistoryResponseSchema\n>;\n","import { t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Parameter name param schema.\n * Uses t.pick from entity for consistency.\n */\nexport const parameterNameParamSchema = t.pick(parameters.schema, [\"name\"]);\n","import { type Static, t } from \"alepha\";\n\n/**\n * Parameter names list response schema.\n */\nexport const parameterNamesResponseSchema = t.object({\n names: t.array(t.text()),\n});\n\nexport type ParameterNamesResponse = Static<\n typeof parameterNamesResponseSchema\n>;\n","import { type Static, t } from \"alepha\";\n\n/**\n * Tree node schema for parameter tree navigation.\n */\nexport const parameterTreeNodeSchema = t.object({\n name: t.text(),\n path: t.text(),\n isLeaf: t.boolean(),\n children: t.array(t.any()),\n});\n\nexport type ParameterTreeNode = Static<typeof parameterTreeNodeSchema>;\n","import { t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Parameter name and version param schema.\n * Uses t.pick from entity for consistency.\n */\nexport const parameterVersionParamSchema = t.pick(parameters.schema, [\n \"name\",\n \"version\",\n]);\n","import { type Static, t } from \"alepha\";\nimport { parameterResponseSchema } from \"./parameterResponseSchema.ts\";\n\n/**\n * Parameter version response schema.\n */\nexport const parameterVersionResponseSchema = t.object({\n parameter: t.optional(parameterResponseSchema),\n});\n\nexport type ParameterVersionResponse = Static<\n typeof parameterVersionResponseSchema\n>;\n","import { type Static, t } from \"alepha\";\nimport { parameters } from \"../entities/parameters.ts\";\n\n/**\n * Rollback parameter body schema.\n * Uses t.pick for creator fields, adds targetVersion.\n */\nexport const rollbackParameterBodySchema = t.extend(\n t.pick(parameters.schema, [\"changeDescription\", \"creatorId\", \"creatorName\"]),\n {\n targetVersion: t.integer({\n description: \"Version number to rollback to\",\n }),\n },\n);\n\nexport type RollbackParameterBody = Static<typeof rollbackParameterBodySchema>;\n","import { $module } from \"alepha\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./entities/parameters.ts\";\nexport * from \"./schemas/activateParameterBodySchema.ts\";\nexport * from \"./schemas/createParameterVersionBodySchema.ts\";\nexport * from \"./schemas/parameterCurrentResponseSchema.ts\";\nexport * from \"./schemas/parameterHistoryResponseSchema.ts\";\nexport * from \"./schemas/parameterNameParamSchema.ts\";\nexport * from \"./schemas/parameterNamesResponseSchema.ts\";\nexport * from \"./schemas/parameterResponseSchema.ts\";\nexport * from \"./schemas/parameterStatusSchema.ts\";\nexport * from \"./schemas/parameterTreeNodeSchema.ts\";\nexport * from \"./schemas/parameterVersionParamSchema.ts\";\nexport * from \"./schemas/parameterVersionResponseSchema.ts\";\nexport * from \"./schemas/rollbackParameterBodySchema.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport const AlephaApiParameters = $module({\n name: \"alepha.api.parameters\",\n services: [],\n});\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,aAAa,QAAQ;CAChC,MAAM;CACN,QAAQ,EAAE,OAAO;EACf,IAAI,GAAG,WAAW,EAAE,MAAM,CAAC;EAC3B,WAAW,GAAG,WAAW;EACzB,WAAW,GAAG,WAAW;;;;;EAMzB,MAAM,EAAE,MAAM;;;;EAKd,SAAS,EAAE,MAAM;;;;;EAMjB,YAAY,EAAE,MAAM;;;;;EAMpB,gBAAgB,EAAE,UAAU;;;;;EAM5B,SAAS,EAAE,SAAS;;;;EAKpB,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC;;;;EAKvC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;;;;EAKnC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;;;;EAK/B,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC;;;;EAKjC,iBAAiB,EAAE,SAAS,EAAE,MAAM,CAAC;;;;EAKrC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC;EACnC,CAAC;CACF,SAAS;EACP,EAAE,SAAS,CAAC,QAAQ,iBAAiB,EAAE;EACvC;GAAE,SAAS,CAAC,QAAQ,UAAU;GAAE,QAAQ;GAAM;EAC9C,EAAE,SAAS,CAAC,iBAAiB,EAAE;EAChC;CACF,CAAC;;;;;;;AC5EF,MAAa,8BAA8B,EAAE,KAAK,WAAW,QAAQ;CACnE;CACA;CACA;CACD,CAAC;;;;;;;ACJF,MAAa,mCAAmC,EAAE,OAChD,EAAE,KAAK,WAAW,QAAQ;CACxB;CACA;CACA;CACA;CACA;CACA;CACD,CAAC,EACF,EACE,gBAAgB,EAAE,SAChB,EAAE,SAAS,EAAE,aAAa,mCAAmC,CAAC,CAC/D,EACF,CACF;;;;;;AChBD,MAAa,wBAAwB,EAAE,KAAK;CAC1C;CACA;CACA;CACA;CACD,CAAC;;;;;;;;ACDF,MAAa,0BAA0B,EAAE,OAAO,WAAW,QAAQ,EACjE,QAAQ,uBACT,CAAC;;;;;;;ACJF,MAAa,iCAAiC,EAAE,OAAO;CACrD,SAAS,EAAE,SAAS,wBAAwB;CAC5C,MAAM,EAAE,SAAS,wBAAwB;CACzC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC;CAClC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC;CAClC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;CAC7B,CAAC;;;;;;ACPF,MAAa,iCAAiC,EAAE,OAAO,EACrD,UAAU,EAAE,MAAM,wBAAwB,EAC3C,CAAC;;;;;;;ACDF,MAAa,2BAA2B,EAAE,KAAK,WAAW,QAAQ,CAAC,OAAO,CAAC;;;;;;ACF3E,MAAa,+BAA+B,EAAE,OAAO,EACnD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EACzB,CAAC;;;;;;ACFF,MAAa,0BAA0B,EAAE,OAAO;CAC9C,MAAM,EAAE,MAAM;CACd,MAAM,EAAE,MAAM;CACd,QAAQ,EAAE,SAAS;CACnB,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC;CAC3B,CAAC;;;;;;;ACHF,MAAa,8BAA8B,EAAE,KAAK,WAAW,QAAQ,CACnE,QACA,UACD,CAAC;;;;;;ACJF,MAAa,iCAAiC,EAAE,OAAO,EACrD,WAAW,EAAE,SAAS,wBAAwB,EAC/C,CAAC;;;;;;;ACDF,MAAa,8BAA8B,EAAE,OAC3C,EAAE,KAAK,WAAW,QAAQ;CAAC;CAAqB;CAAa;CAAc,CAAC,EAC5E,EACE,eAAe,EAAE,QAAQ,EACvB,aAAa,iCACd,CAAC,EACH,CACF;;;ACMD,MAAa,sBAAsB,QAAQ;CACzC,MAAM;CACN,UAAU,EAAE;CACb,CAAC"}
@@ -10,7 +10,6 @@ import * as _$alepha_logger0 from "alepha/logger";
10
10
  import * as _$alepha_topic0 from "alepha/topic";
11
11
  import { BuildExtraConfigColumns, SQL } from "drizzle-orm";
12
12
  import { PgColumnBuilderBase, PgSequenceOptions, PgTableExtraConfigValue, UpdateDeleteAction } from "drizzle-orm/pg-core";
13
- import * as _$typebox from "typebox";
14
13
  //#region ../../src/orm/core/schemas/insertSchema.d.ts
15
14
  /**
16
15
  * Transforms a TObject schema for insert operations.
@@ -499,43 +498,13 @@ declare class ParameterPrimitive<T extends TObject> extends Primitive<ParameterP
499
498
  tags?: string[] | undefined;
500
499
  creatorId?: string | undefined;
501
500
  creatorName?: string | undefined;
502
- previousContent?: _$typebox.StaticRecord<[], "Decode", {}, {
503
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
504
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
505
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
506
- name: _$alepha.TString;
507
- content: _$alepha.TRecord<string, _$alepha.TAny>;
508
- schemaHash: _$alepha.TString;
509
- activationDate: _$alepha.TString;
510
- version: _$alepha.TInteger;
511
- changeDescription: _$alepha.TOptional<_$alepha.TString>;
512
- tags: _$alepha.TOptional<_$alepha.TArray<_$alepha.TString>>;
513
- creatorId: _$alepha.TOptional<_$alepha.TString>;
514
- creatorName: _$alepha.TOptional<_$alepha.TString>;
515
- previousContent: _$alepha.TOptional<_$alepha.TRecord<string, _$alepha.TAny>>;
516
- migrationLog: _$alepha.TOptional<_$alepha.TString>;
517
- }, string, _$alepha.TAny> | undefined;
501
+ previousContent?: Record<string, any> | undefined;
518
502
  migrationLog?: string | undefined;
519
503
  id: string;
520
504
  createdAt: string;
521
505
  updatedAt: string;
522
506
  name: string;
523
- content: _$typebox.StaticRecord<[], "Decode", {}, {
524
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
525
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
526
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
527
- name: _$alepha.TString;
528
- content: _$alepha.TRecord<string, _$alepha.TAny>;
529
- schemaHash: _$alepha.TString;
530
- activationDate: _$alepha.TString;
531
- version: _$alepha.TInteger;
532
- changeDescription: _$alepha.TOptional<_$alepha.TString>;
533
- tags: _$alepha.TOptional<_$alepha.TArray<_$alepha.TString>>;
534
- creatorId: _$alepha.TOptional<_$alepha.TString>;
535
- creatorName: _$alepha.TOptional<_$alepha.TString>;
536
- previousContent: _$alepha.TOptional<_$alepha.TRecord<string, _$alepha.TAny>>;
537
- migrationLog: _$alepha.TOptional<_$alepha.TString>;
538
- }, string, _$alepha.TAny>;
507
+ content: Record<string, any>;
539
508
  schemaHash: string;
540
509
  activationDate: string;
541
510
  version: number;
@@ -548,43 +517,13 @@ declare class ParameterPrimitive<T extends TObject> extends Primitive<ParameterP
548
517
  tags?: string[] | undefined;
549
518
  creatorId?: string | undefined;
550
519
  creatorName?: string | undefined;
551
- previousContent?: _$typebox.StaticRecord<[], "Decode", {}, {
552
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
553
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
554
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
555
- name: _$alepha.TString;
556
- content: _$alepha.TRecord<string, _$alepha.TAny>;
557
- schemaHash: _$alepha.TString;
558
- activationDate: _$alepha.TString;
559
- version: _$alepha.TInteger;
560
- changeDescription: _$alepha.TOptional<_$alepha.TString>;
561
- tags: _$alepha.TOptional<_$alepha.TArray<_$alepha.TString>>;
562
- creatorId: _$alepha.TOptional<_$alepha.TString>;
563
- creatorName: _$alepha.TOptional<_$alepha.TString>;
564
- previousContent: _$alepha.TOptional<_$alepha.TRecord<string, _$alepha.TAny>>;
565
- migrationLog: _$alepha.TOptional<_$alepha.TString>;
566
- }, string, _$alepha.TAny> | undefined;
520
+ previousContent?: Record<string, any> | undefined;
567
521
  migrationLog?: string | undefined;
568
522
  id: string;
569
523
  createdAt: string;
570
524
  updatedAt: string;
571
525
  name: string;
572
- content: _$typebox.StaticRecord<[], "Decode", {}, {
573
- id: PgAttr<PgAttr<_$alepha.TString, typeof PG_PRIMARY_KEY>, typeof PG_DEFAULT>;
574
- createdAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_CREATED_AT>, typeof PG_DEFAULT>;
575
- updatedAt: PgAttr<PgAttr<_$alepha.TString, typeof PG_UPDATED_AT>, typeof PG_DEFAULT>;
576
- name: _$alepha.TString;
577
- content: _$alepha.TRecord<string, _$alepha.TAny>;
578
- schemaHash: _$alepha.TString;
579
- activationDate: _$alepha.TString;
580
- version: _$alepha.TInteger;
581
- changeDescription: _$alepha.TOptional<_$alepha.TString>;
582
- tags: _$alepha.TOptional<_$alepha.TArray<_$alepha.TString>>;
583
- creatorId: _$alepha.TOptional<_$alepha.TString>;
584
- creatorName: _$alepha.TOptional<_$alepha.TString>;
585
- previousContent: _$alepha.TOptional<_$alepha.TRecord<string, _$alepha.TAny>>;
586
- migrationLog: _$alepha.TOptional<_$alepha.TString>;
587
- }, string, _$alepha.TAny>;
526
+ content: Record<string, any>;
588
527
  schemaHash: string;
589
528
  activationDate: string;
590
529
  version: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/parameters/entities/parameters.ts","../../../src/api/parameters/primitives/$parameter.ts","../../../src/api/parameters/schemas/parameterStatusSchema.ts","../../../src/api/parameters/schemas/parameterTreeNodeSchema.ts","../../../src/api/parameters/services/ParameterProvider.ts","../../../src/api/parameters/controllers/AdminParameterController.ts","../../../src/api/parameters/schemas/activateParameterBodySchema.ts","../../../src/api/parameters/schemas/createParameterVersionBodySchema.ts","../../../src/api/parameters/schemas/parameterCurrentResponseSchema.ts","../../../src/api/parameters/schemas/parameterHistoryResponseSchema.ts","../../../src/api/parameters/schemas/parameterNameParamSchema.ts","../../../src/api/parameters/schemas/parameterNamesResponseSchema.ts","../../../src/api/parameters/schemas/parameterResponseSchema.ts","../../../src/api/parameters/schemas/parameterVersionParamSchema.ts","../../../src/api/parameters/schemas/parameterVersionResponseSchema.ts","../../../src/api/parameters/schemas/rollbackParameterBodySchema.ts","../../../src/api/parameters/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/parameters/entities/parameters.ts","../../../src/api/parameters/primitives/$parameter.ts","../../../src/api/parameters/schemas/parameterStatusSchema.ts","../../../src/api/parameters/schemas/parameterTreeNodeSchema.ts","../../../src/api/parameters/services/ParameterProvider.ts","../../../src/api/parameters/controllers/AdminParameterController.ts","../../../src/api/parameters/schemas/activateParameterBodySchema.ts","../../../src/api/parameters/schemas/createParameterVersionBodySchema.ts","../../../src/api/parameters/schemas/parameterCurrentResponseSchema.ts","../../../src/api/parameters/schemas/parameterHistoryResponseSchema.ts","../../../src/api/parameters/schemas/parameterNameParamSchema.ts","../../../src/api/parameters/schemas/parameterNamesResponseSchema.ts","../../../src/api/parameters/schemas/parameterResponseSchema.ts","../../../src/api/parameters/schemas/parameterVersionParamSchema.ts","../../../src/api/parameters/schemas/parameterVersionResponseSchema.ts","../../../src/api/parameters/schemas/rollbackParameterBodySchema.ts","../../../src/api/parameters/index.ts"],"mappings":"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"}
@@ -23,16 +23,53 @@ const parameters = $entity({
23
23
  id: db.primaryKey(t.uuid()),
24
24
  createdAt: db.createdAt(),
25
25
  updatedAt: db.updatedAt(),
26
+ /**
27
+ * Configuration name using dot notation for tree hierarchy.
28
+ * Examples: "app.features", "app.pricing.tiers", "system.limits"
29
+ */
26
30
  name: t.text(),
31
+ /**
32
+ * The configuration content as JSON.
33
+ */
27
34
  content: t.json(),
35
+ /**
36
+ * Schema version hash for detecting schema changes.
37
+ * Used for auto-migration when schema evolves.
38
+ */
28
39
  schemaHash: t.text(),
40
+ /**
41
+ * When this version should become active.
42
+ * Default is immediate (now).
43
+ */
29
44
  activationDate: t.datetime(),
45
+ /**
46
+ * Version number for this configuration.
47
+ * Auto-incremented per config name.
48
+ */
30
49
  version: t.integer(),
50
+ /**
51
+ * Optional description of changes in this version.
52
+ */
31
53
  changeDescription: t.optional(t.text()),
54
+ /**
55
+ * Optional tags for filtering/categorization.
56
+ */
32
57
  tags: t.optional(t.array(t.text())),
58
+ /**
59
+ * Creator user ID (if available).
60
+ */
33
61
  creatorId: t.optional(t.uuid()),
62
+ /**
63
+ * Creator display name for audit trail.
64
+ */
34
65
  creatorName: t.optional(t.text()),
66
+ /**
67
+ * Previous content before this change (for rollback reference).
68
+ */
35
69
  previousContent: t.optional(t.json()),
70
+ /**
71
+ * Migration log if schema changed.
72
+ */
36
73
  migrationLog: t.optional(t.text())
37
74
  }),
38
75
  indexes: [