@zintrust/core 0.1.40 → 0.1.41

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 (460) hide show
  1. package/bin/zintrust-main.d.ts.map +1 -1
  2. package/bin/zintrust-main.js +22 -1
  3. package/package.json +8 -4
  4. package/public/error-pages/404.html +2 -2
  5. package/src/auth/Auth.js +1 -1
  6. package/src/boot/Application.d.ts +1 -16
  7. package/src/boot/Application.d.ts.map +1 -1
  8. package/src/boot/Application.js +2 -290
  9. package/src/boot/Server.d.ts +1 -1
  10. package/src/boot/Server.d.ts.map +1 -1
  11. package/src/boot/bootstrap.js +23 -5
  12. package/src/boot/registry/registerRoute.d.ts +6 -0
  13. package/src/boot/registry/registerRoute.d.ts.map +1 -0
  14. package/src/boot/registry/registerRoute.js +96 -0
  15. package/src/boot/registry/runtime.d.ts +15 -0
  16. package/src/boot/registry/runtime.d.ts.map +1 -0
  17. package/src/boot/registry/runtime.js +353 -0
  18. package/src/boot/registry/type.d.ts +25 -0
  19. package/src/boot/registry/type.d.ts.map +1 -0
  20. package/src/boot/registry/type.js +1 -0
  21. package/src/boot/registry/worker.d.ts +6 -0
  22. package/src/boot/registry/worker.d.ts.map +1 -0
  23. package/src/boot/registry/worker.js +35 -0
  24. package/src/cache/drivers/KVRemoteDriver.d.ts.map +1 -1
  25. package/src/cache/drivers/KVRemoteDriver.js +14 -1
  26. package/src/cli/CLI.d.ts.map +1 -1
  27. package/src/cli/CLI.js +82 -34
  28. package/src/cli/ErrorHandler.js +1 -1
  29. package/src/cli/commands/ContainerProxiesCommand.d.ts +5 -0
  30. package/src/cli/commands/ContainerProxiesCommand.d.ts.map +1 -0
  31. package/src/cli/commands/ContainerProxiesCommand.js +77 -0
  32. package/src/cli/commands/ContainerWorkersCommand.d.ts +5 -0
  33. package/src/cli/commands/ContainerWorkersCommand.d.ts.map +1 -0
  34. package/src/cli/commands/ContainerWorkersCommand.js +57 -0
  35. package/src/cli/commands/DeployCommand.d.ts +16 -0
  36. package/src/cli/commands/DeployCommand.d.ts.map +1 -0
  37. package/src/cli/commands/DeployCommand.js +110 -0
  38. package/src/cli/commands/DeployContainerProxiesCommand.d.ts +5 -0
  39. package/src/cli/commands/DeployContainerProxiesCommand.d.ts.map +1 -0
  40. package/src/cli/commands/DeployContainerProxiesCommand.js +27 -0
  41. package/src/cli/commands/DeployContainerWorkersCommand.d.ts +5 -0
  42. package/src/cli/commands/DeployContainerWorkersCommand.d.ts.map +1 -0
  43. package/src/cli/commands/DeployContainerWorkersCommand.js +27 -0
  44. package/src/cli/commands/DockerComposeCommandUtils.d.ts +3 -0
  45. package/src/cli/commands/DockerComposeCommandUtils.d.ts.map +1 -0
  46. package/src/cli/commands/DockerComposeCommandUtils.js +34 -0
  47. package/src/cli/commands/DoctorArchitectureCommand.d.ts +5 -0
  48. package/src/cli/commands/DoctorArchitectureCommand.d.ts.map +1 -0
  49. package/src/cli/commands/DoctorArchitectureCommand.js +54 -0
  50. package/src/cli/commands/InitContainerCommand.d.ts +5 -0
  51. package/src/cli/commands/InitContainerCommand.d.ts.map +1 -0
  52. package/src/cli/commands/InitContainerCommand.js +216 -0
  53. package/src/cli/commands/InitProducerCommand.d.ts +5 -0
  54. package/src/cli/commands/InitProducerCommand.d.ts.map +1 -0
  55. package/src/cli/commands/InitProducerCommand.js +47 -0
  56. package/src/cli/commands/InitProxyCommand.d.ts +5 -0
  57. package/src/cli/commands/InitProxyCommand.d.ts.map +1 -0
  58. package/src/cli/commands/InitProxyCommand.js +442 -0
  59. package/src/cli/commands/MongoDBProxyCommand.d.ts +5 -0
  60. package/src/cli/commands/MongoDBProxyCommand.d.ts.map +1 -0
  61. package/src/cli/commands/MongoDBProxyCommand.js +98 -0
  62. package/src/cli/commands/MySqlProxyCommand.d.ts +6 -0
  63. package/src/cli/commands/MySqlProxyCommand.d.ts.map +1 -0
  64. package/src/cli/commands/MySqlProxyCommand.js +32 -0
  65. package/src/cli/commands/PostgresProxyCommand.d.ts +6 -0
  66. package/src/cli/commands/PostgresProxyCommand.d.ts.map +1 -0
  67. package/src/cli/commands/PostgresProxyCommand.js +32 -0
  68. package/src/cli/commands/ProxyCommand.d.ts +12 -0
  69. package/src/cli/commands/ProxyCommand.d.ts.map +1 -0
  70. package/src/cli/commands/ProxyCommand.js +80 -0
  71. package/src/cli/commands/ProxyCommandUtils.d.ts +6 -0
  72. package/src/cli/commands/ProxyCommandUtils.d.ts.map +1 -0
  73. package/src/cli/commands/ProxyCommandUtils.js +38 -0
  74. package/src/cli/commands/QueueRecoveryCommand.d.ts +6 -0
  75. package/src/cli/commands/QueueRecoveryCommand.d.ts.map +1 -0
  76. package/src/cli/commands/QueueRecoveryCommand.js +513 -0
  77. package/src/cli/commands/RedisProxyCommand.d.ts +6 -0
  78. package/src/cli/commands/RedisProxyCommand.d.ts.map +1 -0
  79. package/src/cli/commands/RedisProxyCommand.js +53 -0
  80. package/src/cli/commands/SmtpProxyCommand.d.ts +6 -0
  81. package/src/cli/commands/SmtpProxyCommand.d.ts.map +1 -0
  82. package/src/cli/commands/SmtpProxyCommand.js +56 -0
  83. package/src/cli/commands/SqlProxyCommandUtils.d.ts +46 -0
  84. package/src/cli/commands/SqlProxyCommandUtils.d.ts.map +1 -0
  85. package/src/cli/commands/SqlProxyCommandUtils.js +48 -0
  86. package/src/cli/commands/SqlServerProxyCommand.d.ts +5 -0
  87. package/src/cli/commands/SqlServerProxyCommand.d.ts.map +1 -0
  88. package/src/cli/commands/SqlServerProxyCommand.js +85 -0
  89. package/src/cli/commands/StartCommand.d.ts.map +1 -1
  90. package/src/cli/commands/StartCommand.js +132 -17
  91. package/src/cli/commands/WorkerCommands.d.ts +1 -0
  92. package/src/cli/commands/WorkerCommands.d.ts.map +1 -1
  93. package/src/cli/commands/WorkerCommands.js +140 -6
  94. package/src/cli/commands/index.d.ts +2 -0
  95. package/src/cli/commands/index.d.ts.map +1 -1
  96. package/src/cli/commands/index.js +2 -0
  97. package/src/cli/commands/runner/index.d.ts +2 -2
  98. package/src/cli/commands/runner/index.d.ts.map +1 -1
  99. package/src/cli/commands/runner/index.js +15 -4
  100. package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -1
  101. package/src/cli/d1/D1SqlMigrations.js +3 -0
  102. package/src/cli/index.d.ts +4 -0
  103. package/src/cli/index.d.ts.map +1 -1
  104. package/src/cli/index.js +4 -0
  105. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
  106. package/src/cli/scaffolding/ProjectScaffolder.js +2 -0
  107. package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -1
  108. package/src/cli/scaffolding/ServiceScaffolder.js +1 -0
  109. package/src/cli/utils/EnvFileLoader.js +16 -15
  110. package/src/cli/workers/QueueWorkRunner.js +1 -1
  111. package/src/common/HealthRoutes.d.ts.map +1 -1
  112. package/src/common/HealthRoutes.js +50 -2
  113. package/src/common/RemoteSignedJson.d.ts +1 -0
  114. package/src/common/RemoteSignedJson.d.ts.map +1 -1
  115. package/src/common/RemoteSignedJson.js +39 -13
  116. package/src/common/index.d.ts +1 -0
  117. package/src/common/index.d.ts.map +1 -1
  118. package/src/common/index.js +12 -1
  119. package/src/config/FileLogWriter.d.ts.map +1 -1
  120. package/src/config/FileLogWriter.js +21 -6
  121. package/src/config/app.d.ts +4 -0
  122. package/src/config/app.d.ts.map +1 -1
  123. package/src/config/app.js +4 -0
  124. package/src/config/cache.d.ts.map +1 -1
  125. package/src/config/cache.js +22 -2
  126. package/src/config/cloudflare.d.ts +5 -1
  127. package/src/config/cloudflare.d.ts.map +1 -1
  128. package/src/config/cloudflare.js +48 -0
  129. package/src/config/database.d.ts.map +1 -1
  130. package/src/config/database.js +48 -13
  131. package/src/config/env.d.ts +87 -2
  132. package/src/config/env.d.ts.map +1 -1
  133. package/src/config/env.js +156 -17
  134. package/src/config/index.d.ts +1 -0
  135. package/src/config/index.d.ts.map +1 -1
  136. package/src/config/mail.d.ts.map +1 -1
  137. package/src/config/mail.js +16 -10
  138. package/src/config/middleware.d.ts +5 -0
  139. package/src/config/middleware.d.ts.map +1 -1
  140. package/src/config/middleware.js +19 -1
  141. package/src/config/queue.d.ts.map +1 -1
  142. package/src/config/queue.js +70 -9
  143. package/src/config/redis.d.ts.map +1 -1
  144. package/src/config/redis.js +48 -13
  145. package/src/config/storage.d.ts.map +1 -1
  146. package/src/config/storage.js +1 -0
  147. package/src/config/type.d.ts +18 -0
  148. package/src/config/type.d.ts.map +1 -1
  149. package/src/config/workers.d.ts.map +1 -1
  150. package/src/config/workers.js +122 -16
  151. package/src/functions/cloudflare.d.ts.map +1 -1
  152. package/src/functions/cloudflare.js +55 -1
  153. package/src/health/StartupHealthChecks.js +1 -1
  154. package/src/http/FileUpload.d.ts +3 -2
  155. package/src/http/FileUpload.d.ts.map +1 -1
  156. package/src/http/Kernel.d.ts.map +1 -1
  157. package/src/http/Kernel.js +2 -1
  158. package/src/http/error-pages/ErrorPageRenderer.d.ts +4 -0
  159. package/src/http/error-pages/ErrorPageRenderer.d.ts.map +1 -1
  160. package/src/http/error-pages/ErrorPageRenderer.js +141 -1
  161. package/src/http/middleware/BodyParsingMiddleware.d.ts.map +1 -1
  162. package/src/http/middleware/BodyParsingMiddleware.js +33 -6
  163. package/src/index.d.ts +25 -53
  164. package/src/index.d.ts.map +1 -1
  165. package/src/index.js +30 -14
  166. package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -1
  167. package/src/microservices/ServiceAuthMiddleware.js +12 -4
  168. package/src/middleware/CsrfMiddleware.d.ts.map +1 -1
  169. package/src/middleware/CsrfMiddleware.js +30 -16
  170. package/src/middleware/ErrorHandlerMiddleware.d.ts.map +1 -1
  171. package/src/middleware/ErrorHandlerMiddleware.js +2 -1
  172. package/src/migrations/MigrationLoader.js +1 -1
  173. package/src/migrations/schema/SchemaCompiler.d.ts.map +1 -1
  174. package/src/migrations/schema/SchemaCompiler.js +6 -3
  175. package/src/node-singletons/crypto.d.ts +1 -1
  176. package/src/node-singletons/crypto.d.ts.map +1 -1
  177. package/src/node-singletons/crypto.js +1 -1
  178. package/src/node-singletons/fs.d.ts +1 -1
  179. package/src/node-singletons/fs.d.ts.map +1 -1
  180. package/src/node-singletons/path.d.ts +1 -1
  181. package/src/node-singletons/path.d.ts.map +1 -1
  182. package/src/node-singletons/path.js +1 -1
  183. package/src/node-singletons/stream.d.ts +11 -0
  184. package/src/node-singletons/stream.d.ts.map +1 -0
  185. package/src/node-singletons/stream.js +8 -0
  186. package/src/observability/OpenTelemetry.d.ts +7 -0
  187. package/src/observability/OpenTelemetry.d.ts.map +1 -1
  188. package/src/observability/OpenTelemetry.js +49 -2
  189. package/src/orm/Database.d.ts +4 -0
  190. package/src/orm/Database.d.ts.map +1 -1
  191. package/src/orm/Database.js +80 -9
  192. package/src/orm/DatabaseRuntimeRegistration.d.ts.map +1 -1
  193. package/src/orm/DatabaseRuntimeRegistration.js +2 -0
  194. package/src/orm/QueryBuilder.d.ts +1 -0
  195. package/src/orm/QueryBuilder.d.ts.map +1 -1
  196. package/src/orm/QueryBuilder.js +33 -3
  197. package/src/orm/SchemaCompiler.d.ts.map +1 -1
  198. package/src/orm/SchemaCompiler.js +6 -3
  199. package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -1
  200. package/src/orm/adapters/D1RemoteAdapter.js +14 -1
  201. package/src/orm/adapters/MongoDBProxyAdapter.d.ts +3 -0
  202. package/src/orm/adapters/MongoDBProxyAdapter.d.ts.map +1 -0
  203. package/src/orm/adapters/MongoDBProxyAdapter.js +128 -0
  204. package/src/orm/adapters/MySQLProxyAdapter.d.ts +11 -0
  205. package/src/orm/adapters/MySQLProxyAdapter.d.ts.map +1 -0
  206. package/src/orm/adapters/MySQLProxyAdapter.js +143 -0
  207. package/src/orm/adapters/PostgreSQLProxyAdapter.d.ts +11 -0
  208. package/src/orm/adapters/PostgreSQLProxyAdapter.d.ts.map +1 -0
  209. package/src/orm/adapters/PostgreSQLProxyAdapter.js +147 -0
  210. package/src/orm/adapters/ProxyCache.d.ts +9 -0
  211. package/src/orm/adapters/ProxyCache.d.ts.map +1 -0
  212. package/src/orm/adapters/ProxyCache.js +24 -0
  213. package/src/orm/adapters/ProxySignedRequest.d.ts +11 -0
  214. package/src/orm/adapters/ProxySignedRequest.d.ts.map +1 -0
  215. package/src/orm/adapters/ProxySignedRequest.js +30 -0
  216. package/src/orm/adapters/ProxySigningPath.d.ts +3 -0
  217. package/src/orm/adapters/ProxySigningPath.d.ts.map +1 -0
  218. package/src/orm/adapters/ProxySigningPath.js +25 -0
  219. package/src/orm/adapters/SqlProxyAdapterUtils.d.ts +19 -0
  220. package/src/orm/adapters/SqlProxyAdapterUtils.d.ts.map +1 -0
  221. package/src/orm/adapters/SqlProxyAdapterUtils.js +35 -0
  222. package/src/orm/adapters/SqlServerProxyAdapter.d.ts +3 -0
  223. package/src/orm/adapters/SqlServerProxyAdapter.d.ts.map +1 -0
  224. package/src/orm/adapters/SqlServerProxyAdapter.js +146 -0
  225. package/src/performance/Optimizer.d.ts +1 -0
  226. package/src/performance/Optimizer.d.ts.map +1 -1
  227. package/src/performance/Optimizer.js +21 -8
  228. package/src/proxy/ErrorHandler.d.ts +11 -0
  229. package/src/proxy/ErrorHandler.d.ts.map +1 -0
  230. package/src/proxy/ErrorHandler.js +7 -0
  231. package/src/proxy/PoolManager.d.ts +8 -0
  232. package/src/proxy/PoolManager.d.ts.map +1 -0
  233. package/src/proxy/PoolManager.js +18 -0
  234. package/src/proxy/ProxyBackend.d.ts +18 -0
  235. package/src/proxy/ProxyBackend.d.ts.map +1 -0
  236. package/src/proxy/ProxyBackend.js +1 -0
  237. package/src/proxy/ProxyConfig.d.ts +12 -0
  238. package/src/proxy/ProxyConfig.d.ts.map +1 -0
  239. package/src/proxy/ProxyConfig.js +1 -0
  240. package/src/proxy/ProxyRegistry.d.ts +10 -0
  241. package/src/proxy/ProxyRegistry.d.ts.map +1 -0
  242. package/src/proxy/ProxyRegistry.js +11 -0
  243. package/src/proxy/ProxyServer.d.ts +21 -0
  244. package/src/proxy/ProxyServer.d.ts.map +1 -0
  245. package/src/proxy/ProxyServer.js +84 -0
  246. package/src/proxy/ProxyServerUtils.d.ts +37 -0
  247. package/src/proxy/ProxyServerUtils.d.ts.map +1 -0
  248. package/src/proxy/ProxyServerUtils.js +42 -0
  249. package/src/proxy/ProxySigningConfigResolver.d.ts +22 -0
  250. package/src/proxy/ProxySigningConfigResolver.d.ts.map +1 -0
  251. package/src/proxy/ProxySigningConfigResolver.js +24 -0
  252. package/src/proxy/ProxySigningRequest.d.ts +12 -0
  253. package/src/proxy/ProxySigningRequest.d.ts.map +1 -0
  254. package/src/proxy/ProxySigningRequest.js +31 -0
  255. package/src/proxy/RequestValidator.d.ts +15 -0
  256. package/src/proxy/RequestValidator.d.ts.map +1 -0
  257. package/src/proxy/RequestValidator.js +25 -0
  258. package/src/proxy/SigningService.d.ts +39 -0
  259. package/src/proxy/SigningService.d.ts.map +1 -0
  260. package/src/proxy/SigningService.js +107 -0
  261. package/src/proxy/SqlPayloadValidator.d.ts +13 -0
  262. package/src/proxy/SqlPayloadValidator.d.ts.map +1 -0
  263. package/src/proxy/SqlPayloadValidator.js +14 -0
  264. package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -0
  265. package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -0
  266. package/src/proxy/d1/ZintrustD1Proxy.js +1 -0
  267. package/src/proxy/d1/register.d.ts +2 -0
  268. package/src/proxy/d1/register.d.ts.map +1 -0
  269. package/src/proxy/d1/register.js +5 -0
  270. package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -0
  271. package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -0
  272. package/src/proxy/kv/ZintrustKvProxy.js +1 -0
  273. package/src/proxy/kv/register.d.ts +2 -0
  274. package/src/proxy/kv/register.d.ts.map +1 -0
  275. package/src/proxy/kv/register.js +5 -0
  276. package/src/proxy/mongodb/MongoDBProxyServer.d.ts +33 -0
  277. package/src/proxy/mongodb/MongoDBProxyServer.d.ts.map +1 -0
  278. package/src/proxy/mongodb/MongoDBProxyServer.js +202 -0
  279. package/src/proxy/mongodb/register.d.ts +2 -0
  280. package/src/proxy/mongodb/register.d.ts.map +1 -0
  281. package/src/proxy/mongodb/register.js +5 -0
  282. package/src/proxy/mysql/MySqlProxyServer.d.ts +14 -0
  283. package/src/proxy/mysql/MySqlProxyServer.d.ts.map +1 -0
  284. package/src/proxy/mysql/MySqlProxyServer.js +169 -0
  285. package/src/proxy/mysql/register.d.ts +2 -0
  286. package/src/proxy/mysql/register.d.ts.map +1 -0
  287. package/src/proxy/mysql/register.js +5 -0
  288. package/src/proxy/postgres/PostgresProxyServer.d.ts +14 -0
  289. package/src/proxy/postgres/PostgresProxyServer.d.ts.map +1 -0
  290. package/src/proxy/postgres/PostgresProxyServer.js +140 -0
  291. package/src/proxy/postgres/register.d.ts +2 -0
  292. package/src/proxy/postgres/register.d.ts.map +1 -0
  293. package/src/proxy/postgres/register.js +5 -0
  294. package/src/proxy/redis/RedisProxyServer.d.ts +12 -0
  295. package/src/proxy/redis/RedisProxyServer.d.ts.map +1 -0
  296. package/src/proxy/redis/RedisProxyServer.js +192 -0
  297. package/src/proxy/redis/register.d.ts +2 -0
  298. package/src/proxy/redis/register.d.ts.map +1 -0
  299. package/src/proxy/redis/register.js +5 -0
  300. package/src/proxy/smtp/SmtpProxyServer.d.ts +19 -0
  301. package/src/proxy/smtp/SmtpProxyServer.d.ts.map +1 -0
  302. package/src/proxy/smtp/SmtpProxyServer.js +289 -0
  303. package/src/proxy/smtp/register.d.ts +2 -0
  304. package/src/proxy/smtp/register.d.ts.map +1 -0
  305. package/src/proxy/smtp/register.js +5 -0
  306. package/src/proxy/sqlserver/SqlServerProxyServer.d.ts +14 -0
  307. package/src/proxy/sqlserver/SqlServerProxyServer.d.ts.map +1 -0
  308. package/src/proxy/sqlserver/SqlServerProxyServer.js +168 -0
  309. package/src/proxy/sqlserver/register.d.ts +2 -0
  310. package/src/proxy/sqlserver/register.d.ts.map +1 -0
  311. package/src/proxy/sqlserver/register.js +5 -0
  312. package/src/routes/doc.d.ts.map +1 -1
  313. package/src/routes/doc.js +16 -2
  314. package/src/routes/error.d.ts +5 -4
  315. package/src/routes/error.d.ts.map +1 -1
  316. package/src/routes/error.js +15 -13
  317. package/src/routes/errorPages.d.ts +2 -0
  318. package/src/routes/errorPages.d.ts.map +1 -1
  319. package/src/routes/errorPages.js +144 -4
  320. package/src/runtime/PluginAutoImports.d.ts +1 -0
  321. package/src/runtime/PluginAutoImports.d.ts.map +1 -1
  322. package/src/runtime/PluginAutoImports.js +94 -9
  323. package/src/runtime/RuntimeAdapter.d.ts +8 -9
  324. package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
  325. package/src/runtime/RuntimeAdapter.js +120 -34
  326. package/src/runtime/RuntimeServices.d.ts +47 -0
  327. package/src/runtime/RuntimeServices.d.ts.map +1 -0
  328. package/src/runtime/RuntimeServices.js +164 -0
  329. package/src/runtime/StartupConfigFileRegistry.d.ts +4 -4
  330. package/src/runtime/StartupConfigFileRegistry.d.ts.map +1 -1
  331. package/src/runtime/StartupConfigFileRegistry.js +12 -0
  332. package/src/runtime/WorkerAdapterImports.d.ts +5 -0
  333. package/src/runtime/WorkerAdapterImports.d.ts.map +1 -0
  334. package/src/runtime/WorkerAdapterImports.js +17 -0
  335. package/src/runtime/WorkersModule.d.ts +6 -0
  336. package/src/runtime/WorkersModule.d.ts.map +1 -0
  337. package/src/runtime/WorkersModule.js +278 -0
  338. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
  339. package/src/runtime/adapters/CloudflareAdapter.js +19 -2
  340. package/src/runtime/adapters/DenoAdapter.js +1 -0
  341. package/src/runtime/adapters/FargateAdapter.js +1 -1
  342. package/src/runtime/adapters/LambdaAdapter.js +1 -1
  343. package/src/runtime/adapters/NodeServerAdapter.js +1 -1
  344. package/src/runtime/detectRuntime.d.ts +10 -0
  345. package/src/runtime/detectRuntime.d.ts.map +1 -0
  346. package/src/runtime/detectRuntime.js +57 -0
  347. package/src/runtime/useFileLoader.d.ts.map +1 -1
  348. package/src/runtime/useFileLoader.js +16 -0
  349. package/src/scripts/TemplateImportsCheck.js +2 -2
  350. package/src/scripts/TemplateSync.js +3 -4
  351. package/src/security/CsrfTokenManager.d.ts.map +1 -1
  352. package/src/security/CsrfTokenManager.js +12 -0
  353. package/src/security/Hash.d.ts +1 -1
  354. package/src/security/Hash.d.ts.map +1 -1
  355. package/src/security/Hash.js +31 -36
  356. package/src/seeders/SeederLoader.js +1 -1
  357. package/src/session/SessionManager.d.ts +3 -0
  358. package/src/session/SessionManager.d.ts.map +1 -1
  359. package/src/session/SessionManager.js +49 -10
  360. package/src/sockets/CloudflareSocket.d.ts +24 -0
  361. package/src/sockets/CloudflareSocket.d.ts.map +1 -0
  362. package/src/sockets/CloudflareSocket.js +259 -0
  363. package/src/start.d.ts.map +1 -1
  364. package/src/start.js +1 -8
  365. package/src/templates/project/basic/src/zintrust.plugins.wg.ts.tpl +8 -0
  366. package/src/tools/mail/drivers/Smtp.d.ts.map +1 -1
  367. package/src/tools/mail/drivers/Smtp.js +223 -18
  368. package/src/tools/mail/index.d.ts.map +1 -1
  369. package/src/tools/mail/index.js +5 -4
  370. package/src/tools/mail/template-loader.d.ts.map +1 -1
  371. package/src/tools/mail/template-loader.js +197 -29
  372. package/src/tools/mail/templates/auth-password-reset.d.ts +3 -0
  373. package/src/tools/mail/templates/auth-password-reset.d.ts.map +1 -0
  374. package/src/tools/mail/templates/auth-password-reset.js +231 -0
  375. package/src/tools/mail/templates/auth-welcome.d.ts +3 -0
  376. package/src/tools/mail/templates/auth-welcome.d.ts.map +1 -0
  377. package/src/tools/mail/templates/auth-welcome.js +236 -0
  378. package/src/tools/mail/templates/general.d.ts +3 -0
  379. package/src/tools/mail/templates/general.d.ts.map +1 -0
  380. package/src/tools/mail/templates/general.js +109 -0
  381. package/src/tools/mail/templates/index.js +2 -2
  382. package/src/tools/mail/templates/job-completed.d.ts +3 -0
  383. package/src/tools/mail/templates/job-completed.d.ts.map +1 -0
  384. package/src/tools/mail/templates/job-completed.js +188 -0
  385. package/src/tools/mail/templates/notifications-new-comment.d.ts +3 -0
  386. package/src/tools/mail/templates/notifications-new-comment.d.ts.map +1 -0
  387. package/src/tools/mail/templates/notifications-new-comment.js +228 -0
  388. package/src/tools/mail/templates/password-reset.d.ts +3 -0
  389. package/src/tools/mail/templates/password-reset.d.ts.map +1 -0
  390. package/src/tools/mail/templates/password-reset.js +221 -0
  391. package/src/tools/mail/templates/performance-report.d.ts +3 -0
  392. package/src/tools/mail/templates/performance-report.d.ts.map +1 -0
  393. package/src/tools/mail/templates/performance-report.js +258 -0
  394. package/src/tools/mail/templates/welcome.d.ts +3 -0
  395. package/src/tools/mail/templates/welcome.d.ts.map +1 -0
  396. package/src/tools/mail/templates/welcome.js +187 -0
  397. package/src/tools/mail/templates/worker-alert.d.ts +3 -0
  398. package/src/tools/mail/templates/worker-alert.d.ts.map +1 -0
  399. package/src/tools/mail/templates/worker-alert.js +229 -0
  400. package/src/tools/notification/Notification.js +1 -1
  401. package/src/tools/notification/testingHelpers.js +6 -5
  402. package/src/tools/queue/AdvancedQueue.js +2 -6
  403. package/src/tools/queue/IdempotencyManager.d.ts +6 -0
  404. package/src/tools/queue/IdempotencyManager.d.ts.map +1 -0
  405. package/src/tools/queue/IdempotencyManager.js +36 -0
  406. package/src/tools/queue/JobHeartbeatStore.d.ts +16 -0
  407. package/src/tools/queue/JobHeartbeatStore.d.ts.map +1 -0
  408. package/src/tools/queue/JobHeartbeatStore.js +67 -0
  409. package/src/tools/queue/JobReconciliationRunner.d.ts +16 -0
  410. package/src/tools/queue/JobReconciliationRunner.d.ts.map +1 -0
  411. package/src/tools/queue/JobReconciliationRunner.js +88 -0
  412. package/src/tools/queue/JobRecoveryDaemon.d.ts +27 -0
  413. package/src/tools/queue/JobRecoveryDaemon.d.ts.map +1 -0
  414. package/src/tools/queue/JobRecoveryDaemon.js +205 -0
  415. package/src/tools/queue/JobStateTracker.d.ts +131 -0
  416. package/src/tools/queue/JobStateTracker.d.ts.map +1 -0
  417. package/src/tools/queue/JobStateTracker.js +387 -0
  418. package/src/tools/queue/JobStateTrackerDbPersistence.d.ts +12 -0
  419. package/src/tools/queue/JobStateTrackerDbPersistence.d.ts.map +1 -0
  420. package/src/tools/queue/JobStateTrackerDbPersistence.js +148 -0
  421. package/src/tools/queue/Queue.d.ts.map +1 -1
  422. package/src/tools/queue/Queue.js +160 -16
  423. package/src/tools/queue/QueueDataRedactor.d.ts +6 -0
  424. package/src/tools/queue/QueueDataRedactor.d.ts.map +1 -0
  425. package/src/tools/queue/QueueDataRedactor.js +45 -0
  426. package/src/tools/queue/QueueExtensions.d.ts.map +1 -1
  427. package/src/tools/queue/QueueExtensions.js +2 -1
  428. package/src/tools/queue/QueueReliabilityMetrics.d.ts +38 -0
  429. package/src/tools/queue/QueueReliabilityMetrics.d.ts.map +1 -0
  430. package/src/tools/queue/QueueReliabilityMetrics.js +131 -0
  431. package/src/tools/queue/QueueReliabilityOrchestrator.d.ts +7 -0
  432. package/src/tools/queue/QueueReliabilityOrchestrator.d.ts.map +1 -0
  433. package/src/tools/queue/QueueReliabilityOrchestrator.js +59 -0
  434. package/src/tools/queue/QueueRuntimeRegistration.d.ts +1 -9
  435. package/src/tools/queue/QueueRuntimeRegistration.d.ts.map +1 -1
  436. package/src/tools/queue/QueueRuntimeRegistration.js +75 -4
  437. package/src/tools/queue/QueueTracing.d.ts +32 -0
  438. package/src/tools/queue/QueueTracing.d.ts.map +1 -0
  439. package/src/tools/queue/QueueTracing.js +151 -0
  440. package/src/tools/queue/StalledJobMonitor.d.ts +5 -0
  441. package/src/tools/queue/StalledJobMonitor.d.ts.map +1 -0
  442. package/src/tools/queue/StalledJobMonitor.js +21 -0
  443. package/src/tools/queue/TimeoutManager.d.ts +14 -0
  444. package/src/tools/queue/TimeoutManager.d.ts.map +1 -0
  445. package/src/tools/queue/TimeoutManager.js +77 -0
  446. package/src/tools/queue/drivers/Redis.d.ts +1 -0
  447. package/src/tools/queue/drivers/Redis.d.ts.map +1 -1
  448. package/src/tools/queue/drivers/Redis.js +1 -0
  449. package/src/tools/queue/index.d.ts +10 -0
  450. package/src/tools/queue/index.d.ts.map +1 -1
  451. package/src/tools/queue/index.js +10 -0
  452. package/src/tools/storage/drivers/R2.d.ts +13 -0
  453. package/src/tools/storage/drivers/R2.d.ts.map +1 -1
  454. package/src/tools/storage/drivers/R2.js +29 -0
  455. package/src/zintrust.plugins.d.ts +9 -0
  456. package/src/zintrust.plugins.d.ts.map +1 -0
  457. package/src/zintrust.plugins.js +7 -0
  458. package/src/zintrust.plugins.wg.d.ts +9 -0
  459. package/src/zintrust.plugins.wg.d.ts.map +1 -0
  460. package/src/zintrust.plugins.wg.js +7 -0
@@ -0,0 +1,228 @@
1
+ export default `<!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
7
+ <title>New Comment Notification</title>
8
+ <style>
9
+ body {
10
+ margin: 0;
11
+ padding: 0;
12
+ background-color: #0b1220;
13
+ font-family:
14
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
15
+ }
16
+
17
+ .email-container {
18
+ max-width: 600px;
19
+ margin: 40px auto;
20
+ background-color: #0f172a;
21
+ border: 1px solid #334155;
22
+ border-radius: 12px;
23
+ overflow: hidden;
24
+ }
25
+
26
+ .header {
27
+ padding: 40px 40px 30px;
28
+ text-align: center;
29
+ background: linear-gradient(180deg, rgba(168, 85, 247, 0.15), rgba(147, 51, 234, 0.08));
30
+ border-bottom: 1px solid #334155;
31
+ }
32
+
33
+ .icon {
34
+ width: 48px;
35
+ height: 48px;
36
+ margin: 0 auto 20px;
37
+ border-radius: 12px;
38
+ border: 1px solid rgba(168, 85, 247, 0.35);
39
+ background: linear-gradient(180deg, rgba(168, 85, 247, 0.2), rgba(147, 51, 234, 0.1));
40
+ display: inline-flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ }
44
+
45
+ .title {
46
+ margin: 0 0 8px;
47
+ font-size: 28px;
48
+ font-weight: 700;
49
+ color: #e2e8f0;
50
+ line-height: 1.2;
51
+ }
52
+
53
+ .subtitle {
54
+ margin: 0;
55
+ font-size: 16px;
56
+ color: #e2e8f0;
57
+ line-height: 1.5;
58
+ }
59
+
60
+ .content {
61
+ padding: 40px;
62
+ }
63
+
64
+ .greeting {
65
+ margin: 0 0 24px;
66
+ font-size: 15px;
67
+ color: #e2e8f0;
68
+ line-height: 1.6;
69
+ }
70
+
71
+ .comment-card {
72
+ margin-bottom: 30px;
73
+ border-radius: 8px;
74
+ overflow: hidden;
75
+ background: rgba(15, 23, 42, 0.65);
76
+ border: 1px solid #334155;
77
+ }
78
+
79
+ .comment-header {
80
+ display: flex;
81
+ align-items: center;
82
+ padding: 20px;
83
+ background: rgba(168, 85, 247, 0.12);
84
+ border-bottom: 1px solid #334155;
85
+ }
86
+
87
+ .commenter-avatar {
88
+ width: 40px;
89
+ height: 40px;
90
+ border-radius: 50%;
91
+ background: linear-gradient(135deg, #a855f7, #9333ea);
92
+ display: inline-flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ color: #ffffff;
96
+ font-weight: 600;
97
+ font-size: 16px;
98
+ }
99
+
100
+ .commenter-info {
101
+ flex: 1;
102
+ margin-left: 12px;
103
+ }
104
+
105
+ .commenter-name {
106
+ font-weight: 600;
107
+ color: #e2e8f0;
108
+ font-size: 14px;
109
+ }
110
+
111
+ .comment-time {
112
+ font-size: 12px;
113
+ color: #64748b;
114
+ margin-top: 4px;
115
+ }
116
+
117
+ .comment-content {
118
+ flex: 1;
119
+ margin-left: 12px;
120
+ font-size: 14px;
121
+ color: #e2e8f0;
122
+ line-height: 1.6;
123
+ }
124
+
125
+ .comment-text {
126
+ margin: 0 0 12px;
127
+ font-size: 14px;
128
+ color: #cbd5e1;
129
+ line-height: 1.6;
130
+ }
131
+
132
+ .button-container {
133
+ margin-bottom: 30px;
134
+ text-align: center;
135
+ }
136
+
137
+ .view-comment-button {
138
+ display: inline-block;
139
+ padding: 14px 32px;
140
+ background: linear-gradient(135deg, #a855f7, #9333ea);
141
+ color: #ffffff;
142
+ text-decoration: none;
143
+ border-radius: 8px;
144
+ font-weight: 600;
145
+ font-size: 15px;
146
+ border: 1px solid rgba(168, 85, 247, 0.5);
147
+ }
148
+
149
+ .divider {
150
+ margin: 30px 0;
151
+ border-top: 1px solid #334155;
152
+ }
153
+
154
+ .footer {
155
+ padding: 30px 40px;
156
+ background: rgba(15, 23, 42, 0.65);
157
+ border-top: 1px solid #334155;
158
+ text-align: center;
159
+ }
160
+
161
+ .footer p {
162
+ margin: 0;
163
+ font-size: 12px;
164
+ color: #64748b;
165
+ }
166
+
167
+ .footer a {
168
+ color: #bae6fd;
169
+ text-decoration: none;
170
+ }
171
+ </style>
172
+ </head>
173
+ <body>
174
+ <div class="email-container">
175
+ <!-- Header -->
176
+ <div class="header">
177
+ <div class="icon">
178
+ <span style="font-size: 24px">💬</span>
179
+ </div>
180
+ <h1 class="title">New Comment</h1>
181
+ <p class="subtitle">Someone commented on your post</p>
182
+ </div>
183
+
184
+ <!-- Main Content -->
185
+ <div class="content">
186
+ <p class="greeting">Hi <strong style="color: #e2e8f0">{{name}}</strong>,</p>
187
+
188
+ <div class="comment-card">
189
+ <div class="comment-header">
190
+ <div class="commenter-avatar">{{commenterInitial}}</div>
191
+ <div class="commenter-info">
192
+ <div class="commenter-name">{{commenterName}}</div>
193
+ <div class="comment-time">{{commentTime}}</div>
194
+ </div>
195
+ </div>
196
+
197
+ <div class="comment-content">
198
+ <p class="comment-text">{{commentText}}</p>
199
+ <p style="margin: 0 0 12px; font-size: 14px; color: #cbd5e1; line-height: 1.6">
200
+ <strong style="color: #e2e8f0">{{commenterName}}</strong> left a comment on your post
201
+ "<strong style="color: #e2e8f0">{{postTitle}}</strong>".
202
+ </p>
203
+ </div>
204
+ </div>
205
+
206
+ <!-- CTA Button -->
207
+ <div class="button-container">
208
+ <a href="{{commentLink}}" class="view-comment-button">View Comment</a>
209
+ </div>
210
+
211
+ <!-- Divider -->
212
+ <div class="divider"></div>
213
+
214
+ <p style="margin: 0; font-size: 14px; color: #e2e8f0; line-height: 1.6">
215
+ You're receiving this email because you enabled comment notifications.<br />
216
+ <a href="{{unsubscribeLink}}" style="color: #bae6fd; text-decoration: none"
217
+ >Manage notification settings</a
218
+ >
219
+ </p>
220
+ </div>
221
+
222
+ <!-- Footer -->
223
+ <div class="footer">
224
+ <p>&copy; {{year}} {{APP_NAME}}. All rights reserved.</p>
225
+ </div>
226
+ </div>
227
+ </body>
228
+ </html>`;
@@ -0,0 +1,3 @@
1
+ declare const _default: "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Password Reset</title>\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0b1220;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n }\n\n .email-container {\n max-width: 600px;\n margin: 40px auto;\n background-color: #0f172a;\n border: 1px solid #334155;\n border-radius: 12px;\n overflow: hidden;\n }\n\n .header {\n padding: 40px 40px 30px;\n text-align: center;\n background: linear-gradient(180deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.08));\n border-bottom: 1px solid #334155;\n }\n\n .icon {\n width: 48px;\n height: 48px;\n margin: 0 auto 20px;\n border-radius: 12px;\n border: 1px solid rgba(239, 68, 68, 0.35);\n background: linear-gradient(180deg, rgba(239, 68, 68, 0.2), rgba(220, 38, 38, 0.1));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .title {\n margin: 0 0 8px;\n font-size: 28px;\n font-weight: 700;\n color: #e2e8f0;\n line-height: 1.2;\n }\n\n .subtitle {\n margin: 0;\n font-size: 16px;\n color: #e2e8f0;\n line-height: 1.5;\n }\n\n .content {\n padding: 40px;\n }\n\n .greeting {\n margin: 0 0 24px;\n font-size: 15px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .message {\n margin: 0 0 24px;\n font-size: 15px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .alert-box {\n margin-bottom: 30px;\n padding: 16px;\n background: rgba(239, 68, 68, 0.1);\n border-left: 3px solid #fbbf24;\n border-radius: 6px;\n }\n\n .alert-box p {\n margin: 0 0 12px;\n font-size: 14px;\n color: #ffffff;\n line-height: 1.6;\n }\n\n .alert-box strong {\n color: #fbbf24;\n }\n\n .button-container {\n margin-bottom: 30px;\n text-align: center;\n }\n\n .reset-button {\n display: inline-block;\n padding: 14px 32px;\n background: linear-gradient(135deg, #ef4444, #dc2626);\n color: #ffffff;\n text-decoration: none;\n border-radius: 8px;\n font-weight: 600;\n font-size: 15px;\n border: 1px solid rgba(239, 68, 68, 0.5);\n }\n\n .alternative-link {\n margin: 0;\n font-size: 13px;\n color: #f1f5f9;\n line-height: 1.6;\n }\n\n .alternative-link a {\n color: #bae6fd;\n text-decoration: none;\n word-break: break-all;\n }\n\n .divider {\n margin: 30px 0;\n border-top: 1px solid #334155;\n }\n\n .support {\n margin: 0;\n font-size: 14px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .support a {\n color: #bae6fd;\n text-decoration: none;\n }\n\n .footer {\n padding: 30px 40px;\n background: rgba(15, 23, 42, 0.65);\n border-top: 1px solid #334155;\n text-align: center;\n }\n\n .footer p {\n margin: 0;\n font-size: 12px;\n color: #64748b;\n }\n </style>\n </head>\n <body>\n <div class=\"email-container\">\n <!-- Header -->\n <div class=\"header\">\n <div class=\"icon\">\n <span style=\"font-size: 24px\">\uD83D\uDD12</span>\n </div>\n <h1 class=\"title\">Password Reset</h1>\n <p class=\"subtitle\">Reset your {{APP_NAME}} account password</p>\n </div>\n\n <!-- Main Content -->\n <div class=\"content\">\n <p class=\"greeting\">Hi <strong style=\"color: #e2e8f0\">{{name}}</strong>,</p>\n\n <p class=\"message\">\n Someone requested a password reset for your {{APP_NAME}} account (<strong\n style=\"color: #e2e8f0\"\n >{{email}}</strong\n >). If this was you, click the button below to reset your password:\n </p>\n\n <div class=\"alert-box\">\n <p>\n <strong>\u26A0\uFE0F Important:</strong> This password reset link will expire in\n <strong>{{expiryTime}}</strong>.\n </p>\n </div>\n\n <!-- CTA Button -->\n <div class=\"button-container\">\n <a href=\"{{reset_url}}\" class=\"reset-button\">Reset Password</a>\n </div>\n\n <div class=\"alternative-link\">\n If the button above doesn't work, copy and paste this link into your browser:<br />\n <a href=\"{{reset_url}}\">{{reset_url}}</a>\n </div>\n\n <!-- Security Notice -->\n <div class=\"alert-box\">\n <p>\n <strong>Security Notice:</strong> If you didn't request this password reset, please\n ignore this email. Your password will remain unchanged.\n </p>\n </div>\n\n <p class=\"message\">For security reasons, please never share this link with anyone.</p>\n\n <!-- Divider -->\n <div class=\"divider\"></div>\n\n <p class=\"support\">\n If you continue to have problems, please contact our\n <a href=\"{{support_url}}\">support team</a>.\n </p>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <p>&copy; {{year}} {{APP_NAME}}. All rights reserved.</p>\n </div>\n </div>\n </body>\n</html>";
2
+ export default _default;
3
+ //# sourceMappingURL=password-reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-reset.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/templates/password-reset.ts"],"names":[],"mappings":";AAAA,wBA4NS"}
@@ -0,0 +1,221 @@
1
+ export default `<!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Password Reset</title>
7
+ <style>
8
+ body {
9
+ margin: 0;
10
+ padding: 0;
11
+ background-color: #0b1220;
12
+ font-family:
13
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
14
+ }
15
+
16
+ .email-container {
17
+ max-width: 600px;
18
+ margin: 40px auto;
19
+ background-color: #0f172a;
20
+ border: 1px solid #334155;
21
+ border-radius: 12px;
22
+ overflow: hidden;
23
+ }
24
+
25
+ .header {
26
+ padding: 40px 40px 30px;
27
+ text-align: center;
28
+ background: linear-gradient(180deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.08));
29
+ border-bottom: 1px solid #334155;
30
+ }
31
+
32
+ .icon {
33
+ width: 48px;
34
+ height: 48px;
35
+ margin: 0 auto 20px;
36
+ border-radius: 12px;
37
+ border: 1px solid rgba(239, 68, 68, 0.35);
38
+ background: linear-gradient(180deg, rgba(239, 68, 68, 0.2), rgba(220, 38, 38, 0.1));
39
+ display: inline-flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ }
43
+
44
+ .title {
45
+ margin: 0 0 8px;
46
+ font-size: 28px;
47
+ font-weight: 700;
48
+ color: #e2e8f0;
49
+ line-height: 1.2;
50
+ }
51
+
52
+ .subtitle {
53
+ margin: 0;
54
+ font-size: 16px;
55
+ color: #e2e8f0;
56
+ line-height: 1.5;
57
+ }
58
+
59
+ .content {
60
+ padding: 40px;
61
+ }
62
+
63
+ .greeting {
64
+ margin: 0 0 24px;
65
+ font-size: 15px;
66
+ color: #e2e8f0;
67
+ line-height: 1.6;
68
+ }
69
+
70
+ .message {
71
+ margin: 0 0 24px;
72
+ font-size: 15px;
73
+ color: #e2e8f0;
74
+ line-height: 1.6;
75
+ }
76
+
77
+ .alert-box {
78
+ margin-bottom: 30px;
79
+ padding: 16px;
80
+ background: rgba(239, 68, 68, 0.1);
81
+ border-left: 3px solid #fbbf24;
82
+ border-radius: 6px;
83
+ }
84
+
85
+ .alert-box p {
86
+ margin: 0 0 12px;
87
+ font-size: 14px;
88
+ color: #ffffff;
89
+ line-height: 1.6;
90
+ }
91
+
92
+ .alert-box strong {
93
+ color: #fbbf24;
94
+ }
95
+
96
+ .button-container {
97
+ margin-bottom: 30px;
98
+ text-align: center;
99
+ }
100
+
101
+ .reset-button {
102
+ display: inline-block;
103
+ padding: 14px 32px;
104
+ background: linear-gradient(135deg, #ef4444, #dc2626);
105
+ color: #ffffff;
106
+ text-decoration: none;
107
+ border-radius: 8px;
108
+ font-weight: 600;
109
+ font-size: 15px;
110
+ border: 1px solid rgba(239, 68, 68, 0.5);
111
+ }
112
+
113
+ .alternative-link {
114
+ margin: 0;
115
+ font-size: 13px;
116
+ color: #f1f5f9;
117
+ line-height: 1.6;
118
+ }
119
+
120
+ .alternative-link a {
121
+ color: #bae6fd;
122
+ text-decoration: none;
123
+ word-break: break-all;
124
+ }
125
+
126
+ .divider {
127
+ margin: 30px 0;
128
+ border-top: 1px solid #334155;
129
+ }
130
+
131
+ .support {
132
+ margin: 0;
133
+ font-size: 14px;
134
+ color: #e2e8f0;
135
+ line-height: 1.6;
136
+ }
137
+
138
+ .support a {
139
+ color: #bae6fd;
140
+ text-decoration: none;
141
+ }
142
+
143
+ .footer {
144
+ padding: 30px 40px;
145
+ background: rgba(15, 23, 42, 0.65);
146
+ border-top: 1px solid #334155;
147
+ text-align: center;
148
+ }
149
+
150
+ .footer p {
151
+ margin: 0;
152
+ font-size: 12px;
153
+ color: #64748b;
154
+ }
155
+ </style>
156
+ </head>
157
+ <body>
158
+ <div class="email-container">
159
+ <!-- Header -->
160
+ <div class="header">
161
+ <div class="icon">
162
+ <span style="font-size: 24px">🔒</span>
163
+ </div>
164
+ <h1 class="title">Password Reset</h1>
165
+ <p class="subtitle">Reset your {{APP_NAME}} account password</p>
166
+ </div>
167
+
168
+ <!-- Main Content -->
169
+ <div class="content">
170
+ <p class="greeting">Hi <strong style="color: #e2e8f0">{{name}}</strong>,</p>
171
+
172
+ <p class="message">
173
+ Someone requested a password reset for your {{APP_NAME}} account (<strong
174
+ style="color: #e2e8f0"
175
+ >{{email}}</strong
176
+ >). If this was you, click the button below to reset your password:
177
+ </p>
178
+
179
+ <div class="alert-box">
180
+ <p>
181
+ <strong>⚠️ Important:</strong> This password reset link will expire in
182
+ <strong>{{expiryTime}}</strong>.
183
+ </p>
184
+ </div>
185
+
186
+ <!-- CTA Button -->
187
+ <div class="button-container">
188
+ <a href="{{reset_url}}" class="reset-button">Reset Password</a>
189
+ </div>
190
+
191
+ <div class="alternative-link">
192
+ If the button above doesn't work, copy and paste this link into your browser:<br />
193
+ <a href="{{reset_url}}">{{reset_url}}</a>
194
+ </div>
195
+
196
+ <!-- Security Notice -->
197
+ <div class="alert-box">
198
+ <p>
199
+ <strong>Security Notice:</strong> If you didn't request this password reset, please
200
+ ignore this email. Your password will remain unchanged.
201
+ </p>
202
+ </div>
203
+
204
+ <p class="message">For security reasons, please never share this link with anyone.</p>
205
+
206
+ <!-- Divider -->
207
+ <div class="divider"></div>
208
+
209
+ <p class="support">
210
+ If you continue to have problems, please contact our
211
+ <a href="{{support_url}}">support team</a>.
212
+ </p>
213
+ </div>
214
+
215
+ <!-- Footer -->
216
+ <div class="footer">
217
+ <p>&copy; {{year}} {{APP_NAME}}. All rights reserved.</p>
218
+ </div>
219
+ </div>
220
+ </body>
221
+ </html>`;
@@ -0,0 +1,3 @@
1
+ declare const _default: "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Performance Report</title>\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0b1220;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n }\n\n .email-container {\n max-width: 600px;\n margin: 40px auto;\n background-color: #0f172a;\n border: 1px solid #334155;\n border-radius: 12px;\n overflow: hidden;\n }\n\n .header {\n padding: 40px 40px 30px;\n text-align: center;\n background: linear-gradient(180deg, rgba(14, 165, 233, 0.15), rgba(2, 132, 199, 0.08));\n border-bottom: 1px solid #334155;\n }\n\n .icon {\n width: 48px;\n height: 48px;\n margin: 0 auto 20px;\n border-radius: 12px;\n border: 1px solid rgba(14, 165, 233, 0.35);\n background: linear-gradient(180deg, rgba(14, 165, 233, 0.2), rgba(2, 132, 199, 0.1));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .title {\n margin: 0 0 8px;\n font-size: 28px;\n font-weight: 700;\n color: #e2e8f0;\n line-height: 1.2;\n }\n\n .subtitle {\n margin: 0;\n font-size: 16px;\n color: #e2e8f0;\n line-height: 1.5;\n }\n\n .content {\n padding: 40px;\n }\n\n .greeting {\n margin: 0 0 24px;\n font-size: 15px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .summary {\n margin: 0 0 30px;\n font-size: 15px;\n color: #e2e8f0;\n line-height: 1.6;\n }\n\n .metrics-grid {\n display: flex;\n gap: 4%;\n margin-bottom: 20px;\n }\n\n .metric-card {\n flex: 1;\n padding: 20px;\n background: rgba(15, 23, 42, 0.65);\n border: 1px solid #334155;\n border-radius: 8px;\n text-align: center;\n }\n\n .metric-label {\n margin: 0 0 8px;\n font-size: 13px;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n font-weight: 600;\n }\n\n .metric-value {\n margin: 0;\n font-size: 32px;\n font-weight: 700;\n }\n\n .metric-value.total {\n color: #bae6fd;\n }\n\n .metric-value.success {\n color: #22c55e;\n }\n\n .metric-value.failed {\n color: #fca5a5;\n }\n\n .metrics-table {\n margin-bottom: 30px;\n border-radius: 8px;\n overflow: hidden;\n background: rgba(15, 23, 42, 0.65);\n border: 1px solid #334155;\n }\n\n .metrics-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .metrics-table th {\n padding: 10px 0;\n color: #94a3b8;\n font-size: 14px;\n border-bottom: 1px solid #334155;\n text-align: left;\n }\n\n .metrics-table td {\n padding: 12px 0;\n font-size: 14px;\n border-bottom: 1px solid rgba(51, 65, 85, 0.5);\n }\n\n .metrics-table .metric-name {\n color: #cbd5e1;\n }\n\n .metrics-table .metric-value-cell {\n color: #e2e8f0;\n font-weight: 500;\n text-align: right;\n }\n\n .metrics-table .metric-value-cell.failed {\n color: #fca5a5;\n }\n\n .button-container {\n margin-bottom: 30px;\n text-align: center;\n }\n\n .report-button {\n display: inline-block;\n padding: 14px 32px;\n background: linear-gradient(135deg, #0369a1, #075985);\n color: #ffffff;\n text-decoration: none;\n border-radius: 8px;\n font-weight: 600;\n font-size: 15px;\n border: 1px solid rgba(3, 105, 161, 0.5);\n }\n\n .footer {\n padding: 30px 40px;\n background: rgba(15, 23, 42, 0.65);\n border-top: 1px solid #334155;\n text-align: center;\n }\n\n .footer p {\n margin: 0;\n font-size: 12px;\n color: #64748b;\n }\n </style>\n </head>\n <body>\n <div class=\"email-container\">\n <!-- Header -->\n <div class=\"header\">\n <div class=\"icon\">\n <span style=\"font-size: 24px\">\uD83D\uDCCA</span>\n </div>\n <h1 class=\"title\">Performance Report</h1>\n <p class=\"subtitle\">{{report_period}}</p>\n </div>\n\n <!-- Main Content -->\n <div class=\"content\">\n <p class=\"greeting\">Hi <strong style=\"color: #e2e8f0\">{{name}}</strong>,</p>\n\n <p class=\"summary\">Here's your worker performance summary for {{report_period}}:</p>\n\n <!-- Key Metrics -->\n <div class=\"metrics-grid\">\n <div class=\"metric-card\">\n <p class=\"metric-label\">Total Jobs</p>\n <p class=\"metric-value total\">{{total_jobs}}</p>\n </div>\n <div class=\"metric-card\">\n <p class=\"metric-label\">Success Rate</p>\n <p class=\"metric-value success\">{{success_rate}}%</p>\n </div>\n </div>\n\n <!-- Detailed Metrics Table -->\n <div class=\"metrics-table\">\n <table>\n <tr>\n <th>Metric</th>\n <th>Value</th>\n </tr>\n <tr>\n <td class=\"metric-name\">Completed Jobs</td>\n <td class=\"metric-value-cell\">{{completed_jobs}}</td>\n </tr>\n <tr>\n <td class=\"metric-name\">Failed Jobs</td>\n <td class=\"metric-value-cell failed\">{{failed_jobs}}</td>\n </tr>\n <tr>\n <td class=\"metric-name\">Avg Processing Time</td>\n <td class=\"metric-value-cell\">{{avg_processing_time}}</td>\n </tr>\n <tr>\n <td class=\"metric-name\">Active Workers</td>\n <td class=\"metric-value-cell\">{{active_workers}}</td>\n </tr>\n </table>\n </div>\n\n <!-- CTA Button -->\n <div class=\"button-container\">\n <a href=\"{{dashboard_url}}\" class=\"report-button\">View Full Report</a>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <p>&copy; {{year}} {{APP_NAME}}. All rights reserved.</p>\n </div>\n </div>\n </body>\n</html>";
2
+ export default _default;
3
+ //# sourceMappingURL=performance-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-report.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mail/templates/performance-report.ts"],"names":[],"mappings":";AAAA,wBAiQS"}