@archlast/server 0.0.1

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 (811) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -0
  3. package/dist/admin/auth.d.ts +79 -0
  4. package/dist/admin/auth.d.ts.map +1 -0
  5. package/dist/admin/auth.js +487 -0
  6. package/dist/admin/auth.js.map +1 -0
  7. package/dist/admin/schema.d.ts +240 -0
  8. package/dist/admin/schema.d.ts.map +1 -0
  9. package/dist/admin/schema.js +521 -0
  10. package/dist/admin/schema.js.map +1 -0
  11. package/dist/admin/seed.d.ts +9 -0
  12. package/dist/admin/seed.d.ts.map +1 -0
  13. package/dist/admin/seed.js +276 -0
  14. package/dist/admin/seed.js.map +1 -0
  15. package/dist/auth/api-key-resolver.d.ts +12 -0
  16. package/dist/auth/api-key-resolver.d.ts.map +1 -0
  17. package/dist/auth/api-key-resolver.js +24 -0
  18. package/dist/auth/api-key-resolver.js.map +1 -0
  19. package/dist/auth/archlast-auth-adapter.d.ts +22 -0
  20. package/dist/auth/archlast-auth-adapter.d.ts.map +1 -0
  21. package/dist/auth/archlast-auth-adapter.js +32 -0
  22. package/dist/auth/archlast-auth-adapter.js.map +1 -0
  23. package/dist/auth/audit.d.ts +65 -0
  24. package/dist/auth/audit.d.ts.map +1 -0
  25. package/dist/auth/audit.js +138 -0
  26. package/dist/auth/audit.js.map +1 -0
  27. package/dist/auth/better-auth-adapter.d.ts +35 -0
  28. package/dist/auth/better-auth-adapter.d.ts.map +1 -0
  29. package/dist/auth/better-auth-adapter.js +460 -0
  30. package/dist/auth/better-auth-adapter.js.map +1 -0
  31. package/dist/auth/better-auth-admin.d.ts +40 -0
  32. package/dist/auth/better-auth-admin.d.ts.map +1 -0
  33. package/dist/auth/better-auth-admin.js +80 -0
  34. package/dist/auth/better-auth-admin.js.map +1 -0
  35. package/dist/auth/better-auth-api-key-resolver.d.ts +39 -0
  36. package/dist/auth/better-auth-api-key-resolver.d.ts.map +1 -0
  37. package/dist/auth/better-auth-api-key-resolver.js +184 -0
  38. package/dist/auth/better-auth-api-key-resolver.js.map +1 -0
  39. package/dist/auth/better-auth-instance.d.ts +2464 -0
  40. package/dist/auth/better-auth-instance.d.ts.map +1 -0
  41. package/dist/auth/better-auth-instance.js +251 -0
  42. package/dist/auth/better-auth-instance.js.map +1 -0
  43. package/dist/auth/better-auth-seed.d.ts +23 -0
  44. package/dist/auth/better-auth-seed.d.ts.map +1 -0
  45. package/dist/auth/better-auth-seed.js +316 -0
  46. package/dist/auth/better-auth-seed.js.map +1 -0
  47. package/dist/auth/better-auth-session-adapter.d.ts +49 -0
  48. package/dist/auth/better-auth-session-adapter.d.ts.map +1 -0
  49. package/dist/auth/better-auth-session-adapter.js +254 -0
  50. package/dist/auth/better-auth-session-adapter.js.map +1 -0
  51. package/dist/auth/errors.d.ts +18 -0
  52. package/dist/auth/errors.d.ts.map +1 -0
  53. package/dist/auth/errors.js +27 -0
  54. package/dist/auth/errors.js.map +1 -0
  55. package/dist/auth/http/handlers.d.ts +17 -0
  56. package/dist/auth/http/handlers.d.ts.map +1 -0
  57. package/dist/auth/http/handlers.js +19 -0
  58. package/dist/auth/http/handlers.js.map +1 -0
  59. package/dist/auth/interfaces.d.ts +138 -0
  60. package/dist/auth/interfaces.d.ts.map +1 -0
  61. package/dist/auth/interfaces.js +105 -0
  62. package/dist/auth/interfaces.js.map +1 -0
  63. package/dist/auth/mfa/index.d.ts +6 -0
  64. package/dist/auth/mfa/index.d.ts.map +1 -0
  65. package/dist/auth/mfa/index.js +13 -0
  66. package/dist/auth/mfa/index.js.map +1 -0
  67. package/dist/auth/mfa/schema.d.ts +32 -0
  68. package/dist/auth/mfa/schema.d.ts.map +1 -0
  69. package/dist/auth/mfa/schema.js +35 -0
  70. package/dist/auth/mfa/schema.js.map +1 -0
  71. package/dist/auth/mfa/service.d.ts +65 -0
  72. package/dist/auth/mfa/service.d.ts.map +1 -0
  73. package/dist/auth/mfa/service.js +255 -0
  74. package/dist/auth/mfa/service.js.map +1 -0
  75. package/dist/auth/oauth-proxy.d.ts +58 -0
  76. package/dist/auth/oauth-proxy.d.ts.map +1 -0
  77. package/dist/auth/oauth-proxy.js +298 -0
  78. package/dist/auth/oauth-proxy.js.map +1 -0
  79. package/dist/auth/otp/index.d.ts +6 -0
  80. package/dist/auth/otp/index.d.ts.map +1 -0
  81. package/dist/auth/otp/index.js +13 -0
  82. package/dist/auth/otp/index.js.map +1 -0
  83. package/dist/auth/otp/schema.d.ts +32 -0
  84. package/dist/auth/otp/schema.d.ts.map +1 -0
  85. package/dist/auth/otp/schema.js +38 -0
  86. package/dist/auth/otp/schema.js.map +1 -0
  87. package/dist/auth/otp/service.d.ts +59 -0
  88. package/dist/auth/otp/service.d.ts.map +1 -0
  89. package/dist/auth/otp/service.js +183 -0
  90. package/dist/auth/otp/service.js.map +1 -0
  91. package/dist/auth/password-recovery.d.ts +61 -0
  92. package/dist/auth/password-recovery.d.ts.map +1 -0
  93. package/dist/auth/password-recovery.js +173 -0
  94. package/dist/auth/password-recovery.js.map +1 -0
  95. package/dist/auth/resolver.d.ts +29 -0
  96. package/dist/auth/resolver.d.ts.map +1 -0
  97. package/dist/auth/resolver.js +78 -0
  98. package/dist/auth/resolver.js.map +1 -0
  99. package/dist/auth/role-helpers.d.ts +56 -0
  100. package/dist/auth/role-helpers.d.ts.map +1 -0
  101. package/dist/auth/role-helpers.js +103 -0
  102. package/dist/auth/role-helpers.js.map +1 -0
  103. package/dist/auth/session-manager.d.ts +21 -0
  104. package/dist/auth/session-manager.d.ts.map +1 -0
  105. package/dist/auth/session-manager.js +30 -0
  106. package/dist/auth/session-manager.js.map +1 -0
  107. package/dist/auth/session-security.d.ts +14 -0
  108. package/dist/auth/session-security.d.ts.map +1 -0
  109. package/dist/auth/session-security.js +26 -0
  110. package/dist/auth/session-security.js.map +1 -0
  111. package/dist/auth/system/better-auth-schema.d.ts +144 -0
  112. package/dist/auth/system/better-auth-schema.d.ts.map +1 -0
  113. package/dist/auth/system/better-auth-schema.js +250 -0
  114. package/dist/auth/system/better-auth-schema.js.map +1 -0
  115. package/dist/auth/system/constants.d.ts +114 -0
  116. package/dist/auth/system/constants.d.ts.map +1 -0
  117. package/dist/auth/system/constants.js +205 -0
  118. package/dist/auth/system/constants.js.map +1 -0
  119. package/dist/auth/system/cookies.d.ts +83 -0
  120. package/dist/auth/system/cookies.d.ts.map +1 -0
  121. package/dist/auth/system/cookies.js +148 -0
  122. package/dist/auth/system/cookies.js.map +1 -0
  123. package/dist/auth/system/crypto.d.ts +53 -0
  124. package/dist/auth/system/crypto.d.ts.map +1 -0
  125. package/dist/auth/system/crypto.js +188 -0
  126. package/dist/auth/system/crypto.js.map +1 -0
  127. package/dist/auth/system/extended-schema.d.ts +145 -0
  128. package/dist/auth/system/extended-schema.d.ts.map +1 -0
  129. package/dist/auth/system/extended-schema.js +86 -0
  130. package/dist/auth/system/extended-schema.js.map +1 -0
  131. package/dist/auth/system/schema.d.ts +538 -0
  132. package/dist/auth/system/schema.d.ts.map +1 -0
  133. package/dist/auth/system/schema.js +306 -0
  134. package/dist/auth/system/schema.js.map +1 -0
  135. package/dist/cache/client.d.ts +77 -0
  136. package/dist/cache/client.d.ts.map +1 -0
  137. package/dist/cache/client.js +279 -0
  138. package/dist/cache/client.js.map +1 -0
  139. package/dist/cache/index.d.ts +9 -0
  140. package/dist/cache/index.d.ts.map +1 -0
  141. package/dist/cache/index.js +14 -0
  142. package/dist/cache/index.js.map +1 -0
  143. package/dist/cache/layers.d.ts +125 -0
  144. package/dist/cache/layers.d.ts.map +1 -0
  145. package/dist/cache/layers.js +354 -0
  146. package/dist/cache/layers.js.map +1 -0
  147. package/dist/cache/manager.d.ts +101 -0
  148. package/dist/cache/manager.d.ts.map +1 -0
  149. package/dist/cache/manager.js +423 -0
  150. package/dist/cache/manager.js.map +1 -0
  151. package/dist/cache/protocol.d.ts +115 -0
  152. package/dist/cache/protocol.d.ts.map +1 -0
  153. package/dist/cache/protocol.js +36 -0
  154. package/dist/cache/protocol.js.map +1 -0
  155. package/dist/cache/run-sidecar.d.ts +8 -0
  156. package/dist/cache/run-sidecar.d.ts.map +1 -0
  157. package/dist/cache/run-sidecar.js +71 -0
  158. package/dist/cache/run-sidecar.js.map +1 -0
  159. package/dist/cache/sidecar-client.d.ts +90 -0
  160. package/dist/cache/sidecar-client.d.ts.map +1 -0
  161. package/dist/cache/sidecar-client.js +437 -0
  162. package/dist/cache/sidecar-client.js.map +1 -0
  163. package/dist/cache/sidecar-server.d.ts +18 -0
  164. package/dist/cache/sidecar-server.d.ts.map +1 -0
  165. package/dist/cache/sidecar-server.js +90 -0
  166. package/dist/cache/sidecar-server.js.map +1 -0
  167. package/dist/cache/store.d.ts +90 -0
  168. package/dist/cache/store.d.ts.map +1 -0
  169. package/dist/cache/store.js +357 -0
  170. package/dist/cache/store.js.map +1 -0
  171. package/dist/cache/strategies.d.ts +52 -0
  172. package/dist/cache/strategies.d.ts.map +1 -0
  173. package/dist/cache/strategies.js +13 -0
  174. package/dist/cache/strategies.js.map +1 -0
  175. package/dist/cache/utils.d.ts +16 -0
  176. package/dist/cache/utils.d.ts.map +1 -0
  177. package/dist/cache/utils.js +101 -0
  178. package/dist/cache/utils.js.map +1 -0
  179. package/dist/config/index.d.ts +4 -0
  180. package/dist/config/index.d.ts.map +1 -0
  181. package/dist/config/index.js +20 -0
  182. package/dist/config/index.js.map +1 -0
  183. package/dist/config/paths.d.ts +16 -0
  184. package/dist/config/paths.d.ts.map +1 -0
  185. package/dist/config/paths.js +29 -0
  186. package/dist/config/paths.js.map +1 -0
  187. package/dist/config/schema.d.ts +42 -0
  188. package/dist/config/schema.d.ts.map +1 -0
  189. package/dist/config/schema.js +62 -0
  190. package/dist/config/schema.js.map +1 -0
  191. package/dist/config/service.d.ts +56 -0
  192. package/dist/config/service.d.ts.map +1 -0
  193. package/dist/config/service.js +108 -0
  194. package/dist/config/service.js.map +1 -0
  195. package/dist/context.d.ts +48 -0
  196. package/dist/context.d.ts.map +1 -0
  197. package/dist/context.js +6 -0
  198. package/dist/context.js.map +1 -0
  199. package/dist/controllers/admin/admin-tokens.controller.d.ts +159 -0
  200. package/dist/controllers/admin/admin-tokens.controller.d.ts.map +1 -0
  201. package/dist/controllers/admin/admin-tokens.controller.js +138 -0
  202. package/dist/controllers/admin/admin-tokens.controller.js.map +1 -0
  203. package/dist/controllers/admin/api-keys.controller.d.ts +187 -0
  204. package/dist/controllers/admin/api-keys.controller.d.ts.map +1 -0
  205. package/dist/controllers/admin/api-keys.controller.js +124 -0
  206. package/dist/controllers/admin/api-keys.controller.js.map +1 -0
  207. package/dist/controllers/admin/app-users.controller.d.ts +376 -0
  208. package/dist/controllers/admin/app-users.controller.d.ts.map +1 -0
  209. package/dist/controllers/admin/app-users.controller.js +348 -0
  210. package/dist/controllers/admin/app-users.controller.js.map +1 -0
  211. package/dist/controllers/admin/auth.controller.d.ts +285 -0
  212. package/dist/controllers/admin/auth.controller.d.ts.map +1 -0
  213. package/dist/controllers/admin/auth.controller.js +221 -0
  214. package/dist/controllers/admin/auth.controller.js.map +1 -0
  215. package/dist/controllers/admin/backup.controller.d.ts +250 -0
  216. package/dist/controllers/admin/backup.controller.d.ts.map +1 -0
  217. package/dist/controllers/admin/backup.controller.js +316 -0
  218. package/dist/controllers/admin/backup.controller.js.map +1 -0
  219. package/dist/controllers/admin/data.controller.d.ts +250 -0
  220. package/dist/controllers/admin/data.controller.d.ts.map +1 -0
  221. package/dist/controllers/admin/data.controller.js +240 -0
  222. package/dist/controllers/admin/data.controller.js.map +1 -0
  223. package/dist/controllers/admin/provisioning.controller.d.ts +77 -0
  224. package/dist/controllers/admin/provisioning.controller.d.ts.map +1 -0
  225. package/dist/controllers/admin/provisioning.controller.js +141 -0
  226. package/dist/controllers/admin/provisioning.controller.js.map +1 -0
  227. package/dist/controllers/admin/settings.controller.d.ts +153 -0
  228. package/dist/controllers/admin/settings.controller.d.ts.map +1 -0
  229. package/dist/controllers/admin/settings.controller.js +120 -0
  230. package/dist/controllers/admin/settings.controller.js.map +1 -0
  231. package/dist/controllers/admin/setup.controller.d.ts +104 -0
  232. package/dist/controllers/admin/setup.controller.d.ts.map +1 -0
  233. package/dist/controllers/admin/setup.controller.js +113 -0
  234. package/dist/controllers/admin/setup.controller.js.map +1 -0
  235. package/dist/controllers/admin/tenants.controller.d.ts +275 -0
  236. package/dist/controllers/admin/tenants.controller.d.ts.map +1 -0
  237. package/dist/controllers/admin/tenants.controller.js +206 -0
  238. package/dist/controllers/admin/tenants.controller.js.map +1 -0
  239. package/dist/controllers/admin/users.controller.d.ts +253 -0
  240. package/dist/controllers/admin/users.controller.d.ts.map +1 -0
  241. package/dist/controllers/admin/users.controller.js +186 -0
  242. package/dist/controllers/admin/users.controller.js.map +1 -0
  243. package/dist/controllers/auth.controller.d.ts +308 -0
  244. package/dist/controllers/auth.controller.d.ts.map +1 -0
  245. package/dist/controllers/auth.controller.js +305 -0
  246. package/dist/controllers/auth.controller.js.map +1 -0
  247. package/dist/controllers/crud-generator.controller.d.ts +83 -0
  248. package/dist/controllers/crud-generator.controller.d.ts.map +1 -0
  249. package/dist/controllers/crud-generator.controller.js +201 -0
  250. package/dist/controllers/crud-generator.controller.js.map +1 -0
  251. package/dist/controllers/deployment-events.controller.d.ts +74 -0
  252. package/dist/controllers/deployment-events.controller.d.ts.map +1 -0
  253. package/dist/controllers/deployment-events.controller.js +143 -0
  254. package/dist/controllers/deployment-events.controller.js.map +1 -0
  255. package/dist/controllers/index.d.ts +18 -0
  256. package/dist/controllers/index.d.ts.map +1 -0
  257. package/dist/controllers/index.js +42 -0
  258. package/dist/controllers/index.js.map +1 -0
  259. package/dist/controllers/introspection.controller.d.ts +430 -0
  260. package/dist/controllers/introspection.controller.d.ts.map +1 -0
  261. package/dist/controllers/introspection.controller.js +358 -0
  262. package/dist/controllers/introspection.controller.js.map +1 -0
  263. package/dist/controllers/invite.controller.d.ts +218 -0
  264. package/dist/controllers/invite.controller.d.ts.map +1 -0
  265. package/dist/controllers/invite.controller.js +218 -0
  266. package/dist/controllers/invite.controller.js.map +1 -0
  267. package/dist/controllers/mfa.controller.d.ts +211 -0
  268. package/dist/controllers/mfa.controller.d.ts.map +1 -0
  269. package/dist/controllers/mfa.controller.js +155 -0
  270. package/dist/controllers/mfa.controller.js.map +1 -0
  271. package/dist/controllers/otp.controller.d.ts +220 -0
  272. package/dist/controllers/otp.controller.d.ts.map +1 -0
  273. package/dist/controllers/otp.controller.js +223 -0
  274. package/dist/controllers/otp.controller.js.map +1 -0
  275. package/dist/controllers/storage.controller.d.ts +297 -0
  276. package/dist/controllers/storage.controller.d.ts.map +1 -0
  277. package/dist/controllers/storage.controller.js +304 -0
  278. package/dist/controllers/storage.controller.js.map +1 -0
  279. package/dist/controllers/system.controller.d.ts +176 -0
  280. package/dist/controllers/system.controller.d.ts.map +1 -0
  281. package/dist/controllers/system.controller.js +222 -0
  282. package/dist/controllers/system.controller.js.map +1 -0
  283. package/dist/controllers/tenant.controller.d.ts +316 -0
  284. package/dist/controllers/tenant.controller.d.ts.map +1 -0
  285. package/dist/controllers/tenant.controller.js +269 -0
  286. package/dist/controllers/tenant.controller.js.map +1 -0
  287. package/dist/db/cachedclient.d.ts +69 -0
  288. package/dist/db/cachedclient.d.ts.map +1 -0
  289. package/dist/db/cachedclient.js +331 -0
  290. package/dist/db/cachedclient.js.map +1 -0
  291. package/dist/db/distributed-client.d.ts +82 -0
  292. package/dist/db/distributed-client.d.ts.map +1 -0
  293. package/dist/db/distributed-client.js +477 -0
  294. package/dist/db/distributed-client.js.map +1 -0
  295. package/dist/db/factory.d.ts +19 -0
  296. package/dist/db/factory.d.ts.map +1 -0
  297. package/dist/db/factory.js +44 -0
  298. package/dist/db/factory.js.map +1 -0
  299. package/dist/db/interfaces.d.ts +67 -0
  300. package/dist/db/interfaces.d.ts.map +1 -0
  301. package/dist/db/interfaces.js +3 -0
  302. package/dist/db/interfaces.js.map +1 -0
  303. package/dist/db/socket-client.d.ts +122 -0
  304. package/dist/db/socket-client.d.ts.map +1 -0
  305. package/dist/db/socket-client.js +1092 -0
  306. package/dist/db/socket-client.js.map +1 -0
  307. package/dist/db/store-config.d.ts +19 -0
  308. package/dist/db/store-config.d.ts.map +1 -0
  309. package/dist/db/store-config.js +65 -0
  310. package/dist/db/store-config.js.map +1 -0
  311. package/dist/deployment/function-extractor.d.ts +11 -0
  312. package/dist/deployment/function-extractor.d.ts.map +1 -0
  313. package/dist/deployment/function-extractor.js +101 -0
  314. package/dist/deployment/function-extractor.js.map +1 -0
  315. package/dist/deployment/handler.d.ts +174 -0
  316. package/dist/deployment/handler.d.ts.map +1 -0
  317. package/dist/deployment/handler.js +1437 -0
  318. package/dist/deployment/handler.js.map +1 -0
  319. package/dist/deployment/persistence.d.ts +97 -0
  320. package/dist/deployment/persistence.d.ts.map +1 -0
  321. package/dist/deployment/persistence.js +238 -0
  322. package/dist/deployment/persistence.js.map +1 -0
  323. package/dist/deployment/protocol.d.ts +34 -0
  324. package/dist/deployment/protocol.d.ts.map +1 -0
  325. package/dist/deployment/protocol.js +7 -0
  326. package/dist/deployment/protocol.js.map +1 -0
  327. package/dist/di/container.d.ts +58 -0
  328. package/dist/di/container.d.ts.map +1 -0
  329. package/dist/di/container.js +121 -0
  330. package/dist/di/container.js.map +1 -0
  331. package/dist/di/decorators.d.ts +57 -0
  332. package/dist/di/decorators.d.ts.map +1 -0
  333. package/dist/di/decorators.js +80 -0
  334. package/dist/di/decorators.js.map +1 -0
  335. package/dist/di/index.d.ts +10 -0
  336. package/dist/di/index.d.ts.map +1 -0
  337. package/dist/di/index.js +21 -0
  338. package/dist/di/index.js.map +1 -0
  339. package/dist/di/resolver.d.ts +26 -0
  340. package/dist/di/resolver.d.ts.map +1 -0
  341. package/dist/di/resolver.js +32 -0
  342. package/dist/di/resolver.js.map +1 -0
  343. package/dist/docker/compose.d.ts +3 -0
  344. package/dist/docker/compose.d.ts.map +1 -0
  345. package/dist/docker/compose.js +106 -0
  346. package/dist/docker/compose.js.map +1 -0
  347. package/dist/docker/index.d.ts +4 -0
  348. package/dist/docker/index.d.ts.map +1 -0
  349. package/dist/docker/index.js +8 -0
  350. package/dist/docker/index.js.map +1 -0
  351. package/dist/docker/manager.d.ts +14 -0
  352. package/dist/docker/manager.d.ts.map +1 -0
  353. package/dist/docker/manager.js +76 -0
  354. package/dist/docker/manager.js.map +1 -0
  355. package/dist/docker/types.d.ts +18 -0
  356. package/dist/docker/types.d.ts.map +1 -0
  357. package/dist/docker/types.js +3 -0
  358. package/dist/docker/types.js.map +1 -0
  359. package/dist/email/index.d.ts +6 -0
  360. package/dist/email/index.d.ts.map +1 -0
  361. package/dist/email/index.js +25 -0
  362. package/dist/email/index.js.map +1 -0
  363. package/dist/email/service.d.ts +89 -0
  364. package/dist/email/service.d.ts.map +1 -0
  365. package/dist/email/service.js +215 -0
  366. package/dist/email/service.js.map +1 -0
  367. package/dist/email/templates/MagicLinkEmail.d.ts +8 -0
  368. package/dist/email/templates/MagicLinkEmail.d.ts.map +1 -0
  369. package/dist/email/templates/MagicLinkEmail.js +84 -0
  370. package/dist/email/templates/MagicLinkEmail.js.map +1 -0
  371. package/dist/email/templates/OtpEmail.d.ts +8 -0
  372. package/dist/email/templates/OtpEmail.d.ts.map +1 -0
  373. package/dist/email/templates/OtpEmail.js +72 -0
  374. package/dist/email/templates/OtpEmail.js.map +1 -0
  375. package/dist/email/templates/PasswordResetEmail.d.ts +9 -0
  376. package/dist/email/templates/PasswordResetEmail.d.ts.map +1 -0
  377. package/dist/email/templates/PasswordResetEmail.js +103 -0
  378. package/dist/email/templates/PasswordResetEmail.js.map +1 -0
  379. package/dist/email/templates/WelcomeEmail.d.ts +8 -0
  380. package/dist/email/templates/WelcomeEmail.d.ts.map +1 -0
  381. package/dist/email/templates/WelcomeEmail.js +94 -0
  382. package/dist/email/templates/WelcomeEmail.js.map +1 -0
  383. package/dist/email/templates/index.d.ts +9 -0
  384. package/dist/email/templates/index.d.ts.map +1 -0
  385. package/dist/email/templates/index.js +16 -0
  386. package/dist/email/templates/index.js.map +1 -0
  387. package/dist/engine/context.d.ts +9 -0
  388. package/dist/engine/context.d.ts.map +1 -0
  389. package/dist/engine/context.js +9 -0
  390. package/dist/engine/context.js.map +1 -0
  391. package/dist/engine/runner.d.ts +115 -0
  392. package/dist/engine/runner.d.ts.map +1 -0
  393. package/dist/engine/runner.js +617 -0
  394. package/dist/engine/runner.js.map +1 -0
  395. package/dist/functions/built-in/auth-apikey.d.ts +21 -0
  396. package/dist/functions/built-in/auth-apikey.d.ts.map +1 -0
  397. package/dist/functions/built-in/auth-apikey.js +344 -0
  398. package/dist/functions/built-in/auth-apikey.js.map +1 -0
  399. package/dist/functions/built-in/auth-email.d.ts +3 -0
  400. package/dist/functions/built-in/auth-email.d.ts.map +1 -0
  401. package/dist/functions/built-in/auth-email.js +63 -0
  402. package/dist/functions/built-in/auth-email.js.map +1 -0
  403. package/dist/functions/built-in/auth-invite.d.ts +5 -0
  404. package/dist/functions/built-in/auth-invite.d.ts.map +1 -0
  405. package/dist/functions/built-in/auth-invite.js +105 -0
  406. package/dist/functions/built-in/auth-invite.js.map +1 -0
  407. package/dist/functions/built-in/auth-password.d.ts +4 -0
  408. package/dist/functions/built-in/auth-password.d.ts.map +1 -0
  409. package/dist/functions/built-in/auth-password.js +107 -0
  410. package/dist/functions/built-in/auth-password.js.map +1 -0
  411. package/dist/functions/built-in/auth-session.d.ts +18 -0
  412. package/dist/functions/built-in/auth-session.d.ts.map +1 -0
  413. package/dist/functions/built-in/auth-session.js +221 -0
  414. package/dist/functions/built-in/auth-session.js.map +1 -0
  415. package/dist/functions/built-in/auth-signin.d.ts +20 -0
  416. package/dist/functions/built-in/auth-signin.d.ts.map +1 -0
  417. package/dist/functions/built-in/auth-signin.js +198 -0
  418. package/dist/functions/built-in/auth-signin.js.map +1 -0
  419. package/dist/functions/built-in/auth-signout.d.ts +18 -0
  420. package/dist/functions/built-in/auth-signout.d.ts.map +1 -0
  421. package/dist/functions/built-in/auth-signout.js +78 -0
  422. package/dist/functions/built-in/auth-signout.js.map +1 -0
  423. package/dist/functions/built-in/auth-signup.d.ts +21 -0
  424. package/dist/functions/built-in/auth-signup.d.ts.map +1 -0
  425. package/dist/functions/built-in/auth-signup.js +147 -0
  426. package/dist/functions/built-in/auth-signup.js.map +1 -0
  427. package/dist/functions/built-in/auth-tenant.d.ts +3 -0
  428. package/dist/functions/built-in/auth-tenant.d.ts.map +1 -0
  429. package/dist/functions/built-in/auth-tenant.js +86 -0
  430. package/dist/functions/built-in/auth-tenant.js.map +1 -0
  431. package/dist/functions/built-in/index.d.ts +55 -0
  432. package/dist/functions/built-in/index.d.ts.map +1 -0
  433. package/dist/functions/built-in/index.js +181 -0
  434. package/dist/functions/built-in/index.js.map +1 -0
  435. package/dist/functions/built-in/system-cache.d.ts +10 -0
  436. package/dist/functions/built-in/system-cache.d.ts.map +1 -0
  437. package/dist/functions/built-in/system-cache.js +98 -0
  438. package/dist/functions/built-in/system-cache.js.map +1 -0
  439. package/dist/functions/built-in/system-data.d.ts +13 -0
  440. package/dist/functions/built-in/system-data.d.ts.map +1 -0
  441. package/dist/functions/built-in/system-data.js +133 -0
  442. package/dist/functions/built-in/system-data.js.map +1 -0
  443. package/dist/functions/built-in/system-jobs.d.ts +22 -0
  444. package/dist/functions/built-in/system-jobs.d.ts.map +1 -0
  445. package/dist/functions/built-in/system-jobs.js +82 -0
  446. package/dist/functions/built-in/system-jobs.js.map +1 -0
  447. package/dist/functions/built-in/system-notifications.d.ts +41 -0
  448. package/dist/functions/built-in/system-notifications.d.ts.map +1 -0
  449. package/dist/functions/built-in/system-notifications.js +72 -0
  450. package/dist/functions/built-in/system-notifications.js.map +1 -0
  451. package/dist/functions/built-in/system-performance.d.ts +25 -0
  452. package/dist/functions/built-in/system-performance.d.ts.map +1 -0
  453. package/dist/functions/built-in/system-performance.js +83 -0
  454. package/dist/functions/built-in/system-performance.js.map +1 -0
  455. package/dist/functions/built-in-registry.d.ts +101 -0
  456. package/dist/functions/built-in-registry.d.ts.map +1 -0
  457. package/dist/functions/built-in-registry.js +165 -0
  458. package/dist/functions/built-in-registry.js.map +1 -0
  459. package/dist/functions/definition.d.ts +206 -0
  460. package/dist/functions/definition.d.ts.map +1 -0
  461. package/dist/functions/definition.js +178 -0
  462. package/dist/functions/definition.js.map +1 -0
  463. package/dist/functions/types.d.ts +151 -0
  464. package/dist/functions/types.d.ts.map +1 -0
  465. package/dist/functions/types.js +3 -0
  466. package/dist/functions/types.js.map +1 -0
  467. package/dist/http/context-helper.d.ts +60 -0
  468. package/dist/http/context-helper.d.ts.map +1 -0
  469. package/dist/http/context-helper.js +161 -0
  470. package/dist/http/context-helper.js.map +1 -0
  471. package/dist/http/definition.d.ts +76 -0
  472. package/dist/http/definition.d.ts.map +1 -0
  473. package/dist/http/definition.js +46 -0
  474. package/dist/http/definition.js.map +1 -0
  475. package/dist/http/index.d.ts +7 -0
  476. package/dist/http/index.d.ts.map +1 -0
  477. package/dist/http/index.js +12 -0
  478. package/dist/http/index.js.map +1 -0
  479. package/dist/http/plugins/auth.d.ts +71 -0
  480. package/dist/http/plugins/auth.d.ts.map +1 -0
  481. package/dist/http/plugins/auth.js +67 -0
  482. package/dist/http/plugins/auth.js.map +1 -0
  483. package/dist/http/plugins/better-auth.d.ts +67 -0
  484. package/dist/http/plugins/better-auth.d.ts.map +1 -0
  485. package/dist/http/plugins/better-auth.js +48 -0
  486. package/dist/http/plugins/better-auth.js.map +1 -0
  487. package/dist/http/router.d.ts +59 -0
  488. package/dist/http/router.d.ts.map +1 -0
  489. package/dist/http/router.js +371 -0
  490. package/dist/http/router.js.map +1 -0
  491. package/dist/http/server.d.ts +15 -0
  492. package/dist/http/server.d.ts.map +1 -0
  493. package/dist/http/server.js +217 -0
  494. package/dist/http/server.js.map +1 -0
  495. package/dist/http/types.d.ts +142 -0
  496. package/dist/http/types.d.ts.map +1 -0
  497. package/dist/http/types.js +7 -0
  498. package/dist/http/types.js.map +1 -0
  499. package/dist/index.d.mts +2 -0
  500. package/dist/index.d.mts.map +1 -0
  501. package/dist/index.mjs +116 -0
  502. package/dist/index.mjs.map +1 -0
  503. package/dist/ipc/run-sidecar.d.ts +8 -0
  504. package/dist/ipc/run-sidecar.d.ts.map +1 -0
  505. package/dist/ipc/run-sidecar.js +127 -0
  506. package/dist/ipc/run-sidecar.js.map +1 -0
  507. package/dist/ipc/socket-bridge.d.ts +114 -0
  508. package/dist/ipc/socket-bridge.d.ts.map +1 -0
  509. package/dist/ipc/socket-bridge.js +724 -0
  510. package/dist/ipc/socket-bridge.js.map +1 -0
  511. package/dist/jobs/index.d.ts +7 -0
  512. package/dist/jobs/index.d.ts.map +1 -0
  513. package/dist/jobs/index.js +10 -0
  514. package/dist/jobs/index.js.map +1 -0
  515. package/dist/jobs/queue.d.ts +62 -0
  516. package/dist/jobs/queue.d.ts.map +1 -0
  517. package/dist/jobs/queue.js +192 -0
  518. package/dist/jobs/queue.js.map +1 -0
  519. package/dist/jobs/run-scheduler.d.ts +2 -0
  520. package/dist/jobs/run-scheduler.d.ts.map +1 -0
  521. package/dist/jobs/run-scheduler.js +245 -0
  522. package/dist/jobs/run-scheduler.js.map +1 -0
  523. package/dist/jobs/run-worker.d.ts +2 -0
  524. package/dist/jobs/run-worker.d.ts.map +1 -0
  525. package/dist/jobs/run-worker.js +123 -0
  526. package/dist/jobs/run-worker.js.map +1 -0
  527. package/dist/jobs/runtime-loader.d.ts +14 -0
  528. package/dist/jobs/runtime-loader.d.ts.map +1 -0
  529. package/dist/jobs/runtime-loader.js +122 -0
  530. package/dist/jobs/runtime-loader.js.map +1 -0
  531. package/dist/jobs/scheduler-client.d.ts +33 -0
  532. package/dist/jobs/scheduler-client.d.ts.map +1 -0
  533. package/dist/jobs/scheduler-client.js +69 -0
  534. package/dist/jobs/scheduler-client.js.map +1 -0
  535. package/dist/jobs/scheduler.d.ts +73 -0
  536. package/dist/jobs/scheduler.d.ts.map +1 -0
  537. package/dist/jobs/scheduler.js +297 -0
  538. package/dist/jobs/scheduler.js.map +1 -0
  539. package/dist/jobs/worker-thread.d.ts +27 -0
  540. package/dist/jobs/worker-thread.d.ts.map +1 -0
  541. package/dist/jobs/worker-thread.js +173 -0
  542. package/dist/jobs/worker-thread.js.map +1 -0
  543. package/dist/jobs/worker.d.ts +30 -0
  544. package/dist/jobs/worker.d.ts.map +1 -0
  545. package/dist/jobs/worker.js +262 -0
  546. package/dist/jobs/worker.js.map +1 -0
  547. package/dist/jobs/ws-client.d.ts +23 -0
  548. package/dist/jobs/ws-client.d.ts.map +1 -0
  549. package/dist/jobs/ws-client.js +105 -0
  550. package/dist/jobs/ws-client.js.map +1 -0
  551. package/dist/linq/async-enumerable.d.ts +91 -0
  552. package/dist/linq/async-enumerable.d.ts.map +1 -0
  553. package/dist/linq/async-enumerable.js +176 -0
  554. package/dist/linq/async-enumerable.js.map +1 -0
  555. package/dist/linq/enumerable.d.ts +94 -0
  556. package/dist/linq/enumerable.d.ts.map +1 -0
  557. package/dist/linq/enumerable.js +210 -0
  558. package/dist/linq/enumerable.js.map +1 -0
  559. package/dist/linq/index.d.ts +25 -0
  560. package/dist/linq/index.d.ts.map +1 -0
  561. package/dist/linq/index.js +27 -0
  562. package/dist/linq/index.js.map +1 -0
  563. package/dist/linq/interfaces.d.ts +23 -0
  564. package/dist/linq/interfaces.d.ts.map +1 -0
  565. package/dist/linq/interfaces.js +3 -0
  566. package/dist/linq/interfaces.js.map +1 -0
  567. package/dist/logging/logger.d.ts +85 -0
  568. package/dist/logging/logger.d.ts.map +1 -0
  569. package/dist/logging/logger.js +217 -0
  570. package/dist/logging/logger.js.map +1 -0
  571. package/dist/query/builder.d.ts +91 -0
  572. package/dist/query/builder.d.ts.map +1 -0
  573. package/dist/query/builder.js +103 -0
  574. package/dist/query/builder.js.map +1 -0
  575. package/dist/query/types.d.ts +112 -0
  576. package/dist/query/types.d.ts.map +1 -0
  577. package/dist/query/types.js +3 -0
  578. package/dist/query/types.js.map +1 -0
  579. package/dist/reactivity/graph.d.ts +8 -0
  580. package/dist/reactivity/graph.d.ts.map +1 -0
  581. package/dist/reactivity/graph.js +51 -0
  582. package/dist/reactivity/graph.js.map +1 -0
  583. package/dist/repository/db-set.d.ts +220 -0
  584. package/dist/repository/db-set.d.ts.map +1 -0
  585. package/dist/repository/db-set.js +515 -0
  586. package/dist/repository/db-set.js.map +1 -0
  587. package/dist/repository/ef-core.d.ts +177 -0
  588. package/dist/repository/ef-core.d.ts.map +1 -0
  589. package/dist/repository/ef-core.js +404 -0
  590. package/dist/repository/ef-core.js.map +1 -0
  591. package/dist/repository/factory.d.ts +117 -0
  592. package/dist/repository/factory.d.ts.map +1 -0
  593. package/dist/repository/factory.js +183 -0
  594. package/dist/repository/factory.js.map +1 -0
  595. package/dist/repository/interfaces.d.ts +449 -0
  596. package/dist/repository/interfaces.d.ts.map +1 -0
  597. package/dist/repository/interfaces.js +21 -0
  598. package/dist/repository/interfaces.js.map +1 -0
  599. package/dist/repository/provider.d.ts +16 -0
  600. package/dist/repository/provider.d.ts.map +1 -0
  601. package/dist/repository/provider.js +674 -0
  602. package/dist/repository/provider.js.map +1 -0
  603. package/dist/repository/queryable.d.ts +111 -0
  604. package/dist/repository/queryable.d.ts.map +1 -0
  605. package/dist/repository/queryable.js +566 -0
  606. package/dist/repository/queryable.js.map +1 -0
  607. package/dist/rpc/adapter.d.ts +18 -0
  608. package/dist/rpc/adapter.d.ts.map +1 -0
  609. package/dist/rpc/adapter.js +101 -0
  610. package/dist/rpc/adapter.js.map +1 -0
  611. package/dist/rpc/router.d.ts +82 -0
  612. package/dist/rpc/router.d.ts.map +1 -0
  613. package/dist/rpc/router.js +177 -0
  614. package/dist/rpc/router.js.map +1 -0
  615. package/dist/schema/definition.d.ts +51 -0
  616. package/dist/schema/definition.d.ts.map +1 -0
  617. package/dist/schema/definition.js +79 -0
  618. package/dist/schema/definition.js.map +1 -0
  619. package/dist/schema/input-types.d.ts +88 -0
  620. package/dist/schema/input-types.d.ts.map +1 -0
  621. package/dist/schema/input-types.js +81 -0
  622. package/dist/schema/input-types.js.map +1 -0
  623. package/dist/schema/modifiers.d.ts +173 -0
  624. package/dist/schema/modifiers.d.ts.map +1 -0
  625. package/dist/schema/modifiers.js +218 -0
  626. package/dist/schema/modifiers.js.map +1 -0
  627. package/dist/schema/relationship-types.d.ts +109 -0
  628. package/dist/schema/relationship-types.d.ts.map +1 -0
  629. package/dist/schema/relationship-types.js +11 -0
  630. package/dist/schema/relationship-types.js.map +1 -0
  631. package/dist/schema/type-helpers.d.ts +105 -0
  632. package/dist/schema/type-helpers.d.ts.map +1 -0
  633. package/dist/schema/type-helpers.js +215 -0
  634. package/dist/schema/type-helpers.js.map +1 -0
  635. package/dist/schema/types.d.ts +144 -0
  636. package/dist/schema/types.d.ts.map +1 -0
  637. package/dist/schema/types.js +12 -0
  638. package/dist/schema/types.js.map +1 -0
  639. package/dist/schema/validators.d.ts +127 -0
  640. package/dist/schema/validators.d.ts.map +1 -0
  641. package/dist/schema/validators.js +164 -0
  642. package/dist/schema/validators.js.map +1 -0
  643. package/dist/services/admin/app-users.service.d.ts +138 -0
  644. package/dist/services/admin/app-users.service.d.ts.map +1 -0
  645. package/dist/services/admin/app-users.service.js +435 -0
  646. package/dist/services/admin/app-users.service.js.map +1 -0
  647. package/dist/services/admin/auth.service.d.ts +104 -0
  648. package/dist/services/admin/auth.service.d.ts.map +1 -0
  649. package/dist/services/admin/auth.service.js +208 -0
  650. package/dist/services/admin/auth.service.js.map +1 -0
  651. package/dist/services/admin/backup/BackupOrchestrator.d.ts +38 -0
  652. package/dist/services/admin/backup/BackupOrchestrator.d.ts.map +1 -0
  653. package/dist/services/admin/backup/BackupOrchestrator.js +350 -0
  654. package/dist/services/admin/backup/BackupOrchestrator.js.map +1 -0
  655. package/dist/services/admin/backup/DataStreamer.d.ts +11 -0
  656. package/dist/services/admin/backup/DataStreamer.d.ts.map +1 -0
  657. package/dist/services/admin/backup/DataStreamer.js +85 -0
  658. package/dist/services/admin/backup/DataStreamer.js.map +1 -0
  659. package/dist/services/admin/backup/LegacyAdapter.d.ts +28 -0
  660. package/dist/services/admin/backup/LegacyAdapter.d.ts.map +1 -0
  661. package/dist/services/admin/backup/LegacyAdapter.js +35 -0
  662. package/dist/services/admin/backup/LegacyAdapter.js.map +1 -0
  663. package/dist/services/admin/backup/SqliteGenerator.d.ts +15 -0
  664. package/dist/services/admin/backup/SqliteGenerator.d.ts.map +1 -0
  665. package/dist/services/admin/backup/SqliteGenerator.js +152 -0
  666. package/dist/services/admin/backup/SqliteGenerator.js.map +1 -0
  667. package/dist/services/admin/backup/StorageStreamer.d.ts +17 -0
  668. package/dist/services/admin/backup/StorageStreamer.d.ts.map +1 -0
  669. package/dist/services/admin/backup/StorageStreamer.js +117 -0
  670. package/dist/services/admin/backup/StorageStreamer.js.map +1 -0
  671. package/dist/services/admin/backup/ZipComposer.d.ts +17 -0
  672. package/dist/services/admin/backup/ZipComposer.d.ts.map +1 -0
  673. package/dist/services/admin/backup/ZipComposer.js +95 -0
  674. package/dist/services/admin/backup/ZipComposer.js.map +1 -0
  675. package/dist/services/admin/backup/ZipExtractor.d.ts +24 -0
  676. package/dist/services/admin/backup/ZipExtractor.d.ts.map +1 -0
  677. package/dist/services/admin/backup/ZipExtractor.js +135 -0
  678. package/dist/services/admin/backup/ZipExtractor.js.map +1 -0
  679. package/dist/services/admin/backup/index.d.ts +9 -0
  680. package/dist/services/admin/backup/index.d.ts.map +1 -0
  681. package/dist/services/admin/backup/index.js +18 -0
  682. package/dist/services/admin/backup/index.js.map +1 -0
  683. package/dist/services/admin/backup/types.d.ts +48 -0
  684. package/dist/services/admin/backup/types.d.ts.map +1 -0
  685. package/dist/services/admin/backup/types.js +3 -0
  686. package/dist/services/admin/backup/types.js.map +1 -0
  687. package/dist/services/admin/backup.service.d.ts +117 -0
  688. package/dist/services/admin/backup.service.d.ts.map +1 -0
  689. package/dist/services/admin/backup.service.js +709 -0
  690. package/dist/services/admin/backup.service.js.map +1 -0
  691. package/dist/services/admin/data.service.d.ts +109 -0
  692. package/dist/services/admin/data.service.d.ts.map +1 -0
  693. package/dist/services/admin/data.service.js +734 -0
  694. package/dist/services/admin/data.service.js.map +1 -0
  695. package/dist/services/admin/tenants.service.d.ts +99 -0
  696. package/dist/services/admin/tenants.service.d.ts.map +1 -0
  697. package/dist/services/admin/tenants.service.js +173 -0
  698. package/dist/services/admin/tenants.service.js.map +1 -0
  699. package/dist/services/auth.service.d.ts +155 -0
  700. package/dist/services/auth.service.d.ts.map +1 -0
  701. package/dist/services/auth.service.js +401 -0
  702. package/dist/services/auth.service.js.map +1 -0
  703. package/dist/services/introspection.service.d.ts +262 -0
  704. package/dist/services/introspection.service.d.ts.map +1 -0
  705. package/dist/services/introspection.service.js +400 -0
  706. package/dist/services/introspection.service.js.map +1 -0
  707. package/dist/services/invite.service.d.ts +87 -0
  708. package/dist/services/invite.service.d.ts.map +1 -0
  709. package/dist/services/invite.service.js +216 -0
  710. package/dist/services/invite.service.js.map +1 -0
  711. package/dist/services/storage.service.d.ts +79 -0
  712. package/dist/services/storage.service.d.ts.map +1 -0
  713. package/dist/services/storage.service.js +209 -0
  714. package/dist/services/storage.service.js.map +1 -0
  715. package/dist/services/system.service.d.ts +60 -0
  716. package/dist/services/system.service.d.ts.map +1 -0
  717. package/dist/services/system.service.js +176 -0
  718. package/dist/services/system.service.js.map +1 -0
  719. package/dist/services/tenant.service.d.ts +112 -0
  720. package/dist/services/tenant.service.d.ts.map +1 -0
  721. package/dist/services/tenant.service.js +359 -0
  722. package/dist/services/tenant.service.js.map +1 -0
  723. package/dist/settings/index.d.ts +6 -0
  724. package/dist/settings/index.d.ts.map +1 -0
  725. package/dist/settings/index.js +13 -0
  726. package/dist/settings/index.js.map +1 -0
  727. package/dist/settings/schema.d.ts +39 -0
  728. package/dist/settings/schema.d.ts.map +1 -0
  729. package/dist/settings/schema.js +41 -0
  730. package/dist/settings/schema.js.map +1 -0
  731. package/dist/settings/service.d.ts +28 -0
  732. package/dist/settings/service.d.ts.map +1 -0
  733. package/dist/settings/service.js +133 -0
  734. package/dist/settings/service.js.map +1 -0
  735. package/dist/startup/bootstrap.d.ts +13 -0
  736. package/dist/startup/bootstrap.d.ts.map +1 -0
  737. package/dist/startup/bootstrap.js +262 -0
  738. package/dist/startup/bootstrap.js.map +1 -0
  739. package/dist/startup/cluster-manager.d.ts +59 -0
  740. package/dist/startup/cluster-manager.d.ts.map +1 -0
  741. package/dist/startup/cluster-manager.js +238 -0
  742. package/dist/startup/cluster-manager.js.map +1 -0
  743. package/dist/startup/process-manager.d.ts +46 -0
  744. package/dist/startup/process-manager.d.ts.map +1 -0
  745. package/dist/startup/process-manager.js +288 -0
  746. package/dist/startup/process-manager.js.map +1 -0
  747. package/dist/startup/processes.d.mts +15 -0
  748. package/dist/startup/processes.d.mts.map +1 -0
  749. package/dist/startup/processes.mjs +162 -0
  750. package/dist/startup/processes.mjs.map +1 -0
  751. package/dist/startup.js +42 -0
  752. package/dist/storage/fs-backend.d.ts +38 -0
  753. package/dist/storage/fs-backend.d.ts.map +1 -0
  754. package/dist/storage/fs-backend.js +129 -0
  755. package/dist/storage/fs-backend.js.map +1 -0
  756. package/dist/storage/manager.d.ts +88 -0
  757. package/dist/storage/manager.d.ts.map +1 -0
  758. package/dist/storage/manager.js +416 -0
  759. package/dist/storage/manager.js.map +1 -0
  760. package/dist/storage/s3-backend.d.ts +30 -0
  761. package/dist/storage/s3-backend.d.ts.map +1 -0
  762. package/dist/storage/s3-backend.js +65 -0
  763. package/dist/storage/s3-backend.js.map +1 -0
  764. package/dist/storage/types.d.ts +56 -0
  765. package/dist/storage/types.d.ts.map +1 -0
  766. package/dist/storage/types.js +3 -0
  767. package/dist/storage/types.js.map +1 -0
  768. package/dist/utils/http.d.ts +16 -0
  769. package/dist/utils/http.d.ts.map +1 -0
  770. package/dist/utils/http.js +61 -0
  771. package/dist/utils/http.js.map +1 -0
  772. package/dist/utils/introspection-helpers.d.ts +35 -0
  773. package/dist/utils/introspection-helpers.d.ts.map +1 -0
  774. package/dist/utils/introspection-helpers.js +246 -0
  775. package/dist/utils/introspection-helpers.js.map +1 -0
  776. package/dist/webhook/definition.d.ts +79 -0
  777. package/dist/webhook/definition.d.ts.map +1 -0
  778. package/dist/webhook/definition.js +33 -0
  779. package/dist/webhook/definition.js.map +1 -0
  780. package/dist/webhook/guard.d.ts +34 -0
  781. package/dist/webhook/guard.d.ts.map +1 -0
  782. package/dist/webhook/guard.js +86 -0
  783. package/dist/webhook/guard.js.map +1 -0
  784. package/dist/webhook/index.d.ts +9 -0
  785. package/dist/webhook/index.d.ts.map +1 -0
  786. package/dist/webhook/index.js +19 -0
  787. package/dist/webhook/index.js.map +1 -0
  788. package/dist/webhook/verifier.d.ts +24 -0
  789. package/dist/webhook/verifier.d.ts.map +1 -0
  790. package/dist/webhook/verifier.js +107 -0
  791. package/dist/webhook/verifier.js.map +1 -0
  792. package/dist/websocket/server.d.ts +74 -0
  793. package/dist/websocket/server.d.ts.map +1 -0
  794. package/dist/websocket/server.js +693 -0
  795. package/dist/websocket/server.js.map +1 -0
  796. package/dist/websocket/types.d.ts +53 -0
  797. package/dist/websocket/types.d.ts.map +1 -0
  798. package/dist/websocket/types.js +3 -0
  799. package/dist/websocket/types.js.map +1 -0
  800. package/dist/websocket/ws-compat.d.ts +26 -0
  801. package/dist/websocket/ws-compat.d.ts.map +1 -0
  802. package/dist/websocket/ws-compat.js +35 -0
  803. package/dist/websocket/ws-compat.js.map +1 -0
  804. package/docker/README.md +5 -0
  805. package/package.json +210 -0
  806. package/scripts/postinstall.js +31 -0
  807. package/templates/.env.example +55 -0
  808. package/templates/archlast.config.js +36 -0
  809. package/templates/docker-compose.dev.yml +8 -0
  810. package/templates/docker-compose.prod.yml +15 -0
  811. package/templates/docker-compose.yml +33 -0
@@ -0,0 +1,177 @@
1
+ /**
2
+ * EF Core Repository Pattern Implementation
3
+ *
4
+ * This module implements Entity Framework Core-style change tracking and Unit of Work patterns.
5
+ * It provides:
6
+ * - EntityState: Enum tracking entity state (Detached, Unchanged, Deleted, Modified, Added)
7
+ * - EntityEntry: Represents a tracked entity with state and original values
8
+ * - ChangeTracker: Manages tracked entities and their states
9
+ * - DbContext: Unit of Work with DbSets and SaveChangesAsync for transactional batching
10
+ *
11
+ * @module repository/ef-core
12
+ */
13
+ import type { IDatabaseClient } from "../db/interfaces.js";
14
+ import type { DbSet } from "./db-set.js";
15
+ /**
16
+ * Entity state enum following EF Core conventions
17
+ * Values match EF Core for consistency (0-4)
18
+ */
19
+ export declare enum EntityState {
20
+ /** Entity is not being tracked */
21
+ Detached = 0,
22
+ /** Entity is tracked but unchanged */
23
+ Unchanged = 1,
24
+ /** Entity is marked for deletion */
25
+ Deleted = 2,
26
+ /** Entity has been modified */
27
+ Modified = 3,
28
+ /** Entity is newly added */
29
+ Added = 4
30
+ }
31
+ /**
32
+ * Represents a tracked entity with state and original values
33
+ * Similar to EF Core's EntityEntry<T>
34
+ */
35
+ export declare class EntityEntry<T> {
36
+ readonly entity: T;
37
+ private _state;
38
+ private readonly _originalValues;
39
+ constructor(entity: T, initialState?: EntityState, originalValues?: Partial<T>);
40
+ /** Get the current state of the entity */
41
+ get state(): EntityState;
42
+ /** Get original values for modified properties */
43
+ get originalValues(): Partial<T>;
44
+ /** Get the entity ID (uses _id property) */
45
+ get id(): string | undefined;
46
+ /**
47
+ * Detach the entity from tracking
48
+ * State becomes Detached, no changes will be saved
49
+ */
50
+ detach(): void;
51
+ /**
52
+ * Mark the entity for deletion
53
+ * - If entity was Added, it becomes Detached (not saved then deleted)
54
+ * - Otherwise, state becomes Deleted
55
+ */
56
+ markDeleted(): void;
57
+ /**
58
+ * Mark the entity as modified
59
+ * Only transitions from Unchanged to Modified
60
+ * Other states remain unchanged (EF Core behavior)
61
+ */
62
+ markModified(): void;
63
+ /**
64
+ * Mark the entity as unchanged
65
+ * Called after SaveChangesAsync to reset state
66
+ */
67
+ markUnchanged(): void;
68
+ /**
69
+ * Set the state directly (used by ChangeTracker)
70
+ * @internal
71
+ */
72
+ setState(state: EntityState): void;
73
+ }
74
+ /**
75
+ * Tracks entities and their states, similar to EF Core's ChangeTracker
76
+ */
77
+ export declare class ChangeTracker {
78
+ private readonly _entries;
79
+ private _tempIdCounter;
80
+ /**
81
+ * Track an entity in the change tracker
82
+ * - If entity has _id and is already tracked, update the entry
83
+ * - If entity has no _id, generate a temporary ID
84
+ * - Returns the EntityEntry for the entity
85
+ */
86
+ track<T>(collection: string, entity: T, state?: EntityState): EntityEntry<T>;
87
+ /**
88
+ * Get the EntityEntry for a tracked entity
89
+ * - First tries to find by collection and ID
90
+ * - If not found, searches by entity reference for new entities
91
+ */
92
+ getEntry<T>(collection: string, id: string | undefined, entity?: T): EntityEntry<T> | undefined;
93
+ /**
94
+ * Get all tracked entries, optionally filtered by state
95
+ */
96
+ entries(state?: EntityState): EntityEntry<unknown>[];
97
+ /**
98
+ * Check if there are any pending changes
99
+ * Returns true if any entity is Added, Modified, or Deleted
100
+ */
101
+ hasChanges(): boolean;
102
+ /**
103
+ * Get entries grouped by collection name
104
+ */
105
+ entriesByCollection(): Map<string, EntityEntry<unknown>[]>;
106
+ /**
107
+ * Accept all changes - marks Added/Modified as Unchanged, removes Deleted entries
108
+ * Called after successful SaveChangesAsync
109
+ */
110
+ acceptAllChanges(): void;
111
+ /**
112
+ * Clear all tracked entries
113
+ */
114
+ clear(): void;
115
+ /**
116
+ * Generate a temporary ID for entities without _id
117
+ */
118
+ private generateTempId;
119
+ }
120
+ /**
121
+ * DbContext implements Unit of Work pattern with change tracking
122
+ * Provides DbSets for each collection and SaveChangesAsync for transactional batching
123
+ */
124
+ export declare class DbContext<DataModel extends Record<string, any>> {
125
+ private readonly _db;
126
+ private readonly _createDbSet;
127
+ private readonly _dbSets;
128
+ private readonly _changeTracker;
129
+ constructor(_db: IDatabaseClient<DataModel, any>, _createDbSet: <K extends keyof DataModel & string>(collection: K, changeTracker: ChangeTracker) => DbSet<DataModel[K]>, sharedChangeTracker?: ChangeTracker);
130
+ /**
131
+ * Get the ChangeTracker for this context
132
+ */
133
+ get ChangeTracker(): ChangeTracker;
134
+ /**
135
+ * Get a DbSet for the specified collection
136
+ * Caches DbSet instances for repeated access
137
+ */
138
+ Set<K extends keyof DataModel & string>(collection: K): DbSet<DataModel[K]>;
139
+ /**
140
+ * Save all pending changes to the database in a transaction
141
+ * - Inserts Added entities
142
+ * - Updates Modified entities
143
+ * - Deletes Deleted entities
144
+ * - Applies schema enforcement (auto-timestamps) before database operations
145
+ * - Returns the number of entities affected
146
+ */
147
+ SaveChangesAsync(): Promise<number>;
148
+ /**
149
+ * Get the EntityEntry for a tracked entity
150
+ * Uses reference equality to find the entry
151
+ *
152
+ * @param entity - The entity to find the entry for
153
+ * @returns EntityEntry if entity is tracked, undefined otherwise
154
+ *
155
+ * @example
156
+ * const entry = repository.Entry(task);
157
+ * if (entry?.state === EntityState.Modified) {
158
+ * console.log("Task has unsaved changes");
159
+ * }
160
+ */
161
+ Entry<T>(entity: T): EntityEntry<T> | undefined;
162
+ }
163
+ /**
164
+ * Factory function to create a DbContext with Proxy-based property access
165
+ * Allows accessing collections via dot notation: context.tasks, context.users, etc.
166
+ *
167
+ * @example
168
+ * ```ts
169
+ * const context = createDbContext(db, createDbSet);
170
+ * const tasks = context.Set("tasks"); // explicit access
171
+ * const tasks2 = context.tasks; // proxy access
172
+ * await context.tasks.Add({ text: "New" });
173
+ * await context.SaveChangesAsync();
174
+ * ```
175
+ */
176
+ export declare function createDbContext<DataModel extends Record<string, any>>(db: IDatabaseClient<DataModel, any>, createDbSet: <K extends keyof DataModel & string>(collection: K, changeTracker: ChangeTracker) => DbSet<DataModel[K]>, sharedChangeTracker?: ChangeTracker): DbContext<DataModel> & DataModel;
177
+ //# sourceMappingURL=ef-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ef-core.d.ts","sourceRoot":"","sources":["../../src/repository/ef-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,404 @@
1
+ "use strict";
2
+ /**
3
+ * EF Core Repository Pattern Implementation
4
+ *
5
+ * This module implements Entity Framework Core-style change tracking and Unit of Work patterns.
6
+ * It provides:
7
+ * - EntityState: Enum tracking entity state (Detached, Unchanged, Deleted, Modified, Added)
8
+ * - EntityEntry: Represents a tracked entity with state and original values
9
+ * - ChangeTracker: Manages tracked entities and their states
10
+ * - DbContext: Unit of Work with DbSets and SaveChangesAsync for transactional batching
11
+ *
12
+ * @module repository/ef-core
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DbContext = exports.ChangeTracker = exports.EntityEntry = exports.EntityState = void 0;
16
+ exports.createDbContext = createDbContext;
17
+ const context_js_1 = require("../engine/context.js");
18
+ /**
19
+ * Entity state enum following EF Core conventions
20
+ * Values match EF Core for consistency (0-4)
21
+ */
22
+ var EntityState;
23
+ (function (EntityState) {
24
+ /** Entity is not being tracked */
25
+ EntityState[EntityState["Detached"] = 0] = "Detached";
26
+ /** Entity is tracked but unchanged */
27
+ EntityState[EntityState["Unchanged"] = 1] = "Unchanged";
28
+ /** Entity is marked for deletion */
29
+ EntityState[EntityState["Deleted"] = 2] = "Deleted";
30
+ /** Entity has been modified */
31
+ EntityState[EntityState["Modified"] = 3] = "Modified";
32
+ /** Entity is newly added */
33
+ EntityState[EntityState["Added"] = 4] = "Added";
34
+ })(EntityState || (exports.EntityState = EntityState = {}));
35
+ /**
36
+ * Represents a tracked entity with state and original values
37
+ * Similar to EF Core's EntityEntry<T>
38
+ */
39
+ class EntityEntry {
40
+ entity;
41
+ _state;
42
+ _originalValues;
43
+ constructor(entity, initialState = EntityState.Added, originalValues = {}) {
44
+ this.entity = entity;
45
+ this._state = initialState;
46
+ this._originalValues = originalValues;
47
+ }
48
+ /** Get the current state of the entity */
49
+ get state() {
50
+ return this._state;
51
+ }
52
+ /** Get original values for modified properties */
53
+ get originalValues() {
54
+ return { ...this._originalValues };
55
+ }
56
+ /** Get the entity ID (uses _id property) */
57
+ get id() {
58
+ const entityWithId = this.entity;
59
+ return entityWithId._id;
60
+ }
61
+ /**
62
+ * Detach the entity from tracking
63
+ * State becomes Detached, no changes will be saved
64
+ */
65
+ detach() {
66
+ this._state = EntityState.Detached;
67
+ }
68
+ /**
69
+ * Mark the entity for deletion
70
+ * - If entity was Added, it becomes Detached (not saved then deleted)
71
+ * - Otherwise, state becomes Deleted
72
+ */
73
+ markDeleted() {
74
+ if (this._state === EntityState.Added) {
75
+ this._state = EntityState.Detached;
76
+ }
77
+ else {
78
+ this._state = EntityState.Deleted;
79
+ }
80
+ }
81
+ /**
82
+ * Mark the entity as modified
83
+ * Only transitions from Unchanged to Modified
84
+ * Other states remain unchanged (EF Core behavior)
85
+ */
86
+ markModified() {
87
+ if (this._state === EntityState.Unchanged) {
88
+ this._state = EntityState.Modified;
89
+ }
90
+ }
91
+ /**
92
+ * Mark the entity as unchanged
93
+ * Called after SaveChangesAsync to reset state
94
+ */
95
+ markUnchanged() {
96
+ this._state = EntityState.Unchanged;
97
+ }
98
+ /**
99
+ * Set the state directly (used by ChangeTracker)
100
+ * @internal
101
+ */
102
+ setState(state) {
103
+ this._state = state;
104
+ }
105
+ }
106
+ exports.EntityEntry = EntityEntry;
107
+ /**
108
+ * Tracks entities and their states, similar to EF Core's ChangeTracker
109
+ */
110
+ class ChangeTracker {
111
+ _entries = new Map();
112
+ _tempIdCounter = 0;
113
+ /**
114
+ * Track an entity in the change tracker
115
+ * - If entity has _id and is already tracked, update the entry
116
+ * - If entity has no _id, generate a temporary ID
117
+ * - Returns the EntityEntry for the entity
118
+ */
119
+ track(collection, entity, state = EntityState.Added) {
120
+ const entityWithId = entity;
121
+ const id = entityWithId._id ?? this.generateTempId();
122
+ // Set temp ID on entity if it doesn't have one
123
+ if (!entityWithId._id) {
124
+ entityWithId._id = id;
125
+ }
126
+ const key = `${collection}:${id}`;
127
+ // Check if already tracked
128
+ const existing = this._entries.get(key);
129
+ if (existing) {
130
+ // Update existing entry if state is different
131
+ if (existing.state !== state) {
132
+ // Update state in place instead of creating new entry
133
+ existing.setState(state);
134
+ }
135
+ return existing;
136
+ }
137
+ // Set _collection on entity
138
+ if (!entityWithId._collection) {
139
+ entityWithId._collection = collection;
140
+ }
141
+ // Create new entry
142
+ const entry = new EntityEntry(entity, state);
143
+ this._entries.set(key, entry);
144
+ return entry;
145
+ }
146
+ /**
147
+ * Get the EntityEntry for a tracked entity
148
+ * - First tries to find by collection and ID
149
+ * - If not found, searches by entity reference for new entities
150
+ */
151
+ getEntry(collection, id, entity) {
152
+ if (id) {
153
+ const key = `${collection}:${id}`;
154
+ const entry = this._entries.get(key);
155
+ if (entry)
156
+ return entry;
157
+ }
158
+ // Search by reference for entities without _id (new entities)
159
+ if (entity) {
160
+ for (const entry of this._entries.values()) {
161
+ if (entry.entity === entity) {
162
+ return entry;
163
+ }
164
+ }
165
+ }
166
+ return undefined;
167
+ }
168
+ /**
169
+ * Get all tracked entries, optionally filtered by state
170
+ */
171
+ entries(state) {
172
+ if (state === undefined) {
173
+ return Array.from(this._entries.values()).filter(e => e.state !== EntityState.Detached);
174
+ }
175
+ return Array.from(this._entries.values()).filter(e => e.state === state);
176
+ }
177
+ /**
178
+ * Check if there are any pending changes
179
+ * Returns true if any entity is Added, Modified, or Deleted
180
+ */
181
+ hasChanges() {
182
+ for (const entry of this._entries.values()) {
183
+ if (entry.state === EntityState.Added ||
184
+ entry.state === EntityState.Modified ||
185
+ entry.state === EntityState.Deleted) {
186
+ return true;
187
+ }
188
+ }
189
+ return false;
190
+ }
191
+ /**
192
+ * Get entries grouped by collection name
193
+ */
194
+ entriesByCollection() {
195
+ const grouped = new Map();
196
+ for (const [key, entry] of this._entries) {
197
+ if (entry.state === EntityState.Detached)
198
+ continue;
199
+ const colonIndex = key.indexOf(':');
200
+ if (colonIndex > 0) {
201
+ const collection = key.slice(0, colonIndex);
202
+ const entries = grouped.get(collection) ?? [];
203
+ entries.push(entry);
204
+ grouped.set(collection, entries);
205
+ }
206
+ }
207
+ return grouped;
208
+ }
209
+ /**
210
+ * Accept all changes - marks Added/Modified as Unchanged, removes Deleted entries
211
+ * Called after successful SaveChangesAsync
212
+ */
213
+ acceptAllChanges() {
214
+ for (const [key, entry] of this._entries) {
215
+ if (entry.state === EntityState.Added || entry.state === EntityState.Modified) {
216
+ entry.markUnchanged();
217
+ }
218
+ else if (entry.state === EntityState.Deleted) {
219
+ this._entries.delete(key);
220
+ }
221
+ }
222
+ }
223
+ /**
224
+ * Clear all tracked entries
225
+ */
226
+ clear() {
227
+ this._entries.clear();
228
+ }
229
+ /**
230
+ * Generate a temporary ID for entities without _id
231
+ */
232
+ generateTempId() {
233
+ return `_temp_${++this._tempIdCounter}`;
234
+ }
235
+ }
236
+ exports.ChangeTracker = ChangeTracker;
237
+ /**
238
+ * DbContext implements Unit of Work pattern with change tracking
239
+ * Provides DbSets for each collection and SaveChangesAsync for transactional batching
240
+ */
241
+ class DbContext {
242
+ _db;
243
+ _createDbSet;
244
+ _dbSets = new Map();
245
+ _changeTracker;
246
+ constructor(_db, _createDbSet, sharedChangeTracker) {
247
+ this._db = _db;
248
+ this._createDbSet = _createDbSet;
249
+ this._changeTracker = sharedChangeTracker ?? new ChangeTracker();
250
+ }
251
+ /**
252
+ * Get the ChangeTracker for this context
253
+ */
254
+ get ChangeTracker() {
255
+ return this._changeTracker;
256
+ }
257
+ /**
258
+ * Get a DbSet for the specified collection
259
+ * Caches DbSet instances for repeated access
260
+ */
261
+ Set(collection) {
262
+ let dbSet = this._dbSets.get(collection);
263
+ if (!dbSet) {
264
+ dbSet = this._createDbSet(collection, this._changeTracker);
265
+ this._dbSets.set(collection, dbSet);
266
+ }
267
+ return dbSet;
268
+ }
269
+ /**
270
+ * Save all pending changes to the database in a transaction
271
+ * - Inserts Added entities
272
+ * - Updates Modified entities
273
+ * - Deletes Deleted entities
274
+ * - Applies schema enforcement (auto-timestamps) before database operations
275
+ * - Returns the number of entities affected
276
+ */
277
+ async SaveChangesAsync() {
278
+ if (!this._changeTracker.hasChanges()) {
279
+ return 0;
280
+ }
281
+ const entriesByCollection = this._changeTracker.entriesByCollection();
282
+ let affectedCount = 0;
283
+ const affectedCollections = new Set();
284
+ // Run all operations in a transaction
285
+ await this._db.runInTransaction(async (txDb) => {
286
+ for (const [collection, entries] of entriesByCollection) {
287
+ for (const entry of entries) {
288
+ switch (entry.state) {
289
+ case EntityState.Added: {
290
+ const entity = entry.entity;
291
+ const now = new Date();
292
+ // Apply schema enforcement: auto-generate timestamps
293
+ if (!entity.createdAt) {
294
+ entity.createdAt = now;
295
+ }
296
+ if (!entity.updatedAt) {
297
+ entity.updatedAt = now;
298
+ }
299
+ const { _collection, ...toInsert } = entity;
300
+ const id = await txDb.insert(collection, toInsert);
301
+ // Update entity with generated ID
302
+ if (typeof entity === 'object' && entity !== null) {
303
+ entity._id = id;
304
+ }
305
+ // Track collection for reactivity
306
+ affectedCollections.add(String(collection));
307
+ affectedCount++;
308
+ break;
309
+ }
310
+ case EntityState.Modified: {
311
+ const entity = entry.entity;
312
+ if (!entity._id) {
313
+ throw new Error('Modified entity must have an _id');
314
+ }
315
+ // Apply schema enforcement: auto-update updatedAt
316
+ entity.updatedAt = new Date();
317
+ const { _id, _collection, originalValues, ...toUpdate } = entity;
318
+ // Only update changed fields
319
+ await txDb.updateMany(collection, { _id }, toUpdate);
320
+ // Track collection for reactivity
321
+ affectedCollections.add(String(collection));
322
+ affectedCount++;
323
+ break;
324
+ }
325
+ case EntityState.Deleted: {
326
+ const entity = entry.entity;
327
+ if (!entity._id) {
328
+ throw new Error('Deleted entity must have an _id');
329
+ }
330
+ await txDb.deleteMany(collection, { _id: entity._id });
331
+ // Track collection for reactivity
332
+ affectedCollections.add(String(collection));
333
+ affectedCount++;
334
+ break;
335
+ }
336
+ }
337
+ }
338
+ }
339
+ });
340
+ // Explicitly track writes for reactivity
341
+ // This ensures real-time updates work when using Add/Update/Remove + SaveChangesAsync
342
+ const ctx = context_js_1.executionContext.getStore();
343
+ if (ctx && ctx.trackWrite) {
344
+ for (const collection of affectedCollections) {
345
+ ctx.trackWrite(`collection:${collection}`);
346
+ }
347
+ }
348
+ // Accept all changes after successful save
349
+ this._changeTracker.acceptAllChanges();
350
+ return affectedCount;
351
+ }
352
+ /**
353
+ * Get the EntityEntry for a tracked entity
354
+ * Uses reference equality to find the entry
355
+ *
356
+ * @param entity - The entity to find the entry for
357
+ * @returns EntityEntry if entity is tracked, undefined otherwise
358
+ *
359
+ * @example
360
+ * const entry = repository.Entry(task);
361
+ * if (entry?.state === EntityState.Modified) {
362
+ * console.log("Task has unsaved changes");
363
+ * }
364
+ */
365
+ Entry(entity) {
366
+ for (const entry of this._changeTracker.entries()) {
367
+ if (entry.entity === entity) {
368
+ return entry;
369
+ }
370
+ }
371
+ return undefined;
372
+ }
373
+ }
374
+ exports.DbContext = DbContext;
375
+ /**
376
+ * Factory function to create a DbContext with Proxy-based property access
377
+ * Allows accessing collections via dot notation: context.tasks, context.users, etc.
378
+ *
379
+ * @example
380
+ * ```ts
381
+ * const context = createDbContext(db, createDbSet);
382
+ * const tasks = context.Set("tasks"); // explicit access
383
+ * const tasks2 = context.tasks; // proxy access
384
+ * await context.tasks.Add({ text: "New" });
385
+ * await context.SaveChangesAsync();
386
+ * ```
387
+ */
388
+ function createDbContext(db, createDbSet, sharedChangeTracker) {
389
+ const context = new DbContext(db, createDbSet, sharedChangeTracker);
390
+ return new Proxy(context, {
391
+ get(target, prop) {
392
+ // Check if property exists on DbContext (ChangeTracker, Set, SaveChangesAsync)
393
+ if (prop in target) {
394
+ return target[prop];
395
+ }
396
+ // Otherwise, treat as collection name and return DbSet
397
+ if (typeof prop === "string") {
398
+ return target.Set(prop);
399
+ }
400
+ return undefined;
401
+ },
402
+ });
403
+ }
404
+ //# sourceMappingURL=ef-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ef-core.js","sourceRoot":"","sources":["../../src/repository/ef-core.ts"],"names":[],"mappings":"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"}