@geekmidas/constructs 10.0.0-alpha.4 → 10.0.0-alpha.40

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 (370) hide show
  1. package/README.md +223 -158
  2. package/dist/{Construct-BD5neF7w.mjs → Construct-BO1X-kt9.mjs} +32 -33
  3. package/dist/Construct-BO1X-kt9.mjs.map +1 -0
  4. package/dist/Construct-BQALFCh2.d.cts +230 -0
  5. package/dist/Construct-BQALFCh2.d.cts.map +1 -0
  6. package/dist/{Construct-CyS3RpTL.cjs → Construct-DmvXceVY.cjs} +52 -47
  7. package/dist/Construct-DmvXceVY.cjs.map +1 -0
  8. package/dist/Construct-QXnl3VqT.d.mts +230 -0
  9. package/dist/Construct-QXnl3VqT.d.mts.map +1 -0
  10. package/dist/{Cron-B2OFsfDM.d.cts → Cron-CMEGfRs8.d.cts} +21 -8
  11. package/dist/Cron-CMEGfRs8.d.cts.map +1 -0
  12. package/dist/{Cron-ByxdOfpE.d.mts → Cron-D6X4-xjB.d.mts} +21 -8
  13. package/dist/Cron-D6X4-xjB.d.mts.map +1 -0
  14. package/dist/CronBuilder-CEK7aOqD.d.cts +46 -0
  15. package/dist/CronBuilder-CEK7aOqD.d.cts.map +1 -0
  16. package/dist/CronBuilder-DB35T5dL.cjs +116 -0
  17. package/dist/CronBuilder-DB35T5dL.cjs.map +1 -0
  18. package/dist/CronBuilder-Dv0IlZs0.mjs +104 -0
  19. package/dist/CronBuilder-Dv0IlZs0.mjs.map +1 -0
  20. package/dist/CronBuilder-O_gvButp.d.mts +46 -0
  21. package/dist/CronBuilder-O_gvButp.d.mts.map +1 -0
  22. package/dist/{Endpoint-Dij_wOcc.mjs → Endpoint-CQAeh1Rh.mjs} +117 -109
  23. package/dist/Endpoint-CQAeh1Rh.mjs.map +1 -0
  24. package/dist/{Endpoint-DODn1RhN.cjs → Endpoint-D1L9qu5C.cjs} +145 -131
  25. package/dist/Endpoint-D1L9qu5C.cjs.map +1 -0
  26. package/dist/{Endpoint-2Wg7T7Cq.d.mts → Endpoint-Dp5AKIXl.d.cts} +69 -93
  27. package/dist/Endpoint-Dp5AKIXl.d.cts.map +1 -0
  28. package/dist/{Endpoint-DrD8a1yH.d.cts → Endpoint-DtI7heFm.d.mts} +70 -94
  29. package/dist/Endpoint-DtI7heFm.d.mts.map +1 -0
  30. package/dist/{EndpointFactory-b4ituq-s.mjs → EndpointFactory-BBdNeaGJ.mjs} +39 -74
  31. package/dist/EndpointFactory-BBdNeaGJ.mjs.map +1 -0
  32. package/dist/{EndpointFactory-BHFMmFkV.cjs → EndpointFactory-BZOCOaK6.cjs} +75 -110
  33. package/dist/EndpointFactory-BZOCOaK6.cjs.map +1 -0
  34. package/dist/{index-BxHDdy6a.d.mts → EndpointFactory-CgMDvERK.d.mts} +63 -133
  35. package/dist/EndpointFactory-CgMDvERK.d.mts.map +1 -0
  36. package/dist/{index-B8g8POkr.d.cts → EndpointFactory-FeFRmlDZ.d.cts} +62 -132
  37. package/dist/EndpointFactory-FeFRmlDZ.d.cts.map +1 -0
  38. package/dist/{HonoEndpointAdaptor-BM2jbWht.mjs → HonoEndpointAdaptor-Aui-x9Lg.mjs} +41 -47
  39. package/dist/HonoEndpointAdaptor-Aui-x9Lg.mjs.map +1 -0
  40. package/dist/{HonoEndpointAdaptor-De6IlBZe.cjs → HonoEndpointAdaptor-Cq99r9H7.cjs} +50 -53
  41. package/dist/HonoEndpointAdaptor-Cq99r9H7.cjs.map +1 -0
  42. package/dist/Queue-C1uDgjxt.mjs +100 -0
  43. package/dist/Queue-C1uDgjxt.mjs.map +1 -0
  44. package/dist/Queue-Ckmudcm8.cjs +105 -0
  45. package/dist/Queue-Ckmudcm8.cjs.map +1 -0
  46. package/dist/{Queue-D7ZuwBhy.d.cts → Queue-CpQIGB_2.d.cts} +28 -40
  47. package/dist/Queue-CpQIGB_2.d.cts.map +1 -0
  48. package/dist/{Queue-gVGfi2Yk.d.mts → Queue-YmvN2vEP.d.mts} +28 -40
  49. package/dist/Queue-YmvN2vEP.d.mts.map +1 -0
  50. package/dist/QueueBuilder-CJNcv4dy.cjs +112 -0
  51. package/dist/QueueBuilder-CJNcv4dy.cjs.map +1 -0
  52. package/dist/QueueBuilder-CM0WUxfw.d.mts +62 -0
  53. package/dist/QueueBuilder-CM0WUxfw.d.mts.map +1 -0
  54. package/dist/QueueBuilder-XEnnOWGe.d.cts +62 -0
  55. package/dist/QueueBuilder-XEnnOWGe.d.cts.map +1 -0
  56. package/dist/QueueBuilder-XuPKZwKH.mjs +95 -0
  57. package/dist/QueueBuilder-XuPKZwKH.mjs.map +1 -0
  58. package/dist/{Subscriber-2mEi0ImH.d.cts → Subscriber-B91YSkZt.d.cts} +14 -16
  59. package/dist/Subscriber-B91YSkZt.d.cts.map +1 -0
  60. package/dist/{Subscriber-xTJ9ayPN.d.mts → Subscriber-BjHYe5hK.d.mts} +14 -16
  61. package/dist/Subscriber-BjHYe5hK.d.mts.map +1 -0
  62. package/dist/SubscriberBuilder-BSpQX1JT.d.cts +55 -0
  63. package/dist/SubscriberBuilder-BSpQX1JT.d.cts.map +1 -0
  64. package/dist/SubscriberBuilder-BhMphk4z.d.mts +55 -0
  65. package/dist/SubscriberBuilder-BhMphk4z.d.mts.map +1 -0
  66. package/dist/{SubscriberBuilder-4OPehf2R.cjs → SubscriberBuilder-Duk028pD.cjs} +34 -37
  67. package/dist/SubscriberBuilder-Duk028pD.cjs.map +1 -0
  68. package/dist/{SubscriberBuilder-BjkbeT9l.mjs → SubscriberBuilder-DzQUWE08.mjs} +23 -25
  69. package/dist/SubscriberBuilder-DzQUWE08.mjs.map +1 -0
  70. package/dist/Topic-CkxOTrMv.cjs +104 -0
  71. package/dist/Topic-CkxOTrMv.cjs.map +1 -0
  72. package/dist/Topic-hPffOsot.mjs +99 -0
  73. package/dist/Topic-hPffOsot.mjs.map +1 -0
  74. package/dist/adaptors/aws.cjs +171 -108
  75. package/dist/adaptors/aws.cjs.map +1 -1
  76. package/dist/adaptors/aws.d.cts +75 -43
  77. package/dist/adaptors/aws.d.cts.map +1 -1
  78. package/dist/adaptors/aws.d.mts +76 -44
  79. package/dist/adaptors/aws.d.mts.map +1 -1
  80. package/dist/adaptors/aws.mjs +143 -83
  81. package/dist/adaptors/aws.mjs.map +1 -1
  82. package/dist/adaptors/hono.cjs +3 -10
  83. package/dist/adaptors/hono.d.cts +7 -16
  84. package/dist/adaptors/hono.d.cts.map +1 -1
  85. package/dist/adaptors/hono.d.mts +8 -17
  86. package/dist/adaptors/hono.d.mts.map +1 -1
  87. package/dist/adaptors/hono.mjs +2 -10
  88. package/dist/adaptors/testing.cjs +515 -87
  89. package/dist/adaptors/testing.cjs.map +1 -1
  90. package/dist/adaptors/testing.d.cts +250 -48
  91. package/dist/adaptors/testing.d.cts.map +1 -1
  92. package/dist/adaptors/testing.d.mts +250 -48
  93. package/dist/adaptors/testing.d.mts.map +1 -1
  94. package/dist/adaptors/testing.mjs +484 -68
  95. package/dist/adaptors/testing.mjs.map +1 -1
  96. package/dist/auth-CMwml9QN.d.mts +188 -0
  97. package/dist/auth-CMwml9QN.d.mts.map +1 -0
  98. package/dist/auth-rVRDjIw_.d.cts +188 -0
  99. package/dist/auth-rVRDjIw_.d.cts.map +1 -0
  100. package/dist/auth.cjs +171 -31
  101. package/dist/auth.cjs.map +1 -1
  102. package/dist/auth.d.cts +2 -108
  103. package/dist/auth.d.mts +2 -108
  104. package/dist/auth.mjs +160 -24
  105. package/dist/auth.mjs.map +1 -1
  106. package/dist/{cache-BrRz3fEB.d.mts → cache-C9a_hVCc.d.cts} +4 -7
  107. package/dist/cache-C9a_hVCc.d.cts.map +1 -0
  108. package/dist/{cache-BtZY_tHe.d.cts → cache-CeTMI8LR.d.mts} +4 -7
  109. package/dist/cache-CeTMI8LR.d.mts.map +1 -0
  110. package/dist/cache.cjs +68 -2
  111. package/dist/cache.cjs.map +1 -0
  112. package/dist/cache.d.cts +1 -2
  113. package/dist/cache.d.mts +1 -2
  114. package/dist/cache.mjs +67 -2
  115. package/dist/cache.mjs.map +1 -0
  116. package/dist/{clone-DblgEZZa.mjs → clone-EKNovYHu.mjs} +3 -3
  117. package/dist/clone-EKNovYHu.mjs.map +1 -0
  118. package/dist/{clone-Dy0cR2SZ.cjs → clone-UGJpvQnL.cjs} +7 -8
  119. package/dist/clone-UGJpvQnL.cjs.map +1 -0
  120. package/dist/{construct-interface-g5GM5pwR.d.mts → construct-interface-_3zgxzXl.d.mts} +20 -11
  121. package/dist/construct-interface-_3zgxzXl.d.mts.map +1 -0
  122. package/dist/{construct-interface-D9d4Gm4p.d.cts → construct-interface-_xi4BPN8.d.cts} +20 -11
  123. package/dist/construct-interface-_xi4BPN8.d.cts.map +1 -0
  124. package/dist/construct-interface.cjs +87 -7
  125. package/dist/construct-interface.cjs.map +1 -0
  126. package/dist/construct-interface.d.cts +2 -2
  127. package/dist/construct-interface.d.mts +2 -2
  128. package/dist/construct-interface.mjs +81 -2
  129. package/dist/construct-interface.mjs.map +1 -0
  130. package/dist/credential.cjs +63 -16
  131. package/dist/credential.cjs.map +1 -1
  132. package/dist/credential.d.cts +16 -9
  133. package/dist/credential.d.cts.map +1 -1
  134. package/dist/credential.d.mts +16 -9
  135. package/dist/credential.d.mts.map +1 -1
  136. package/dist/credential.mjs +58 -12
  137. package/dist/credential.mjs.map +1 -1
  138. package/dist/crons/index.cjs +68 -10
  139. package/dist/crons/index.cjs.map +1 -1
  140. package/dist/crons/index.d.cts +32 -14
  141. package/dist/crons/index.d.cts.map +1 -1
  142. package/dist/crons/index.d.mts +32 -14
  143. package/dist/crons/index.d.mts.map +1 -1
  144. package/dist/crons/index.mjs +66 -10
  145. package/dist/crons/index.mjs.map +1 -1
  146. package/dist/database/kysely.cjs +40 -15
  147. package/dist/database/kysely.cjs.map +1 -1
  148. package/dist/database/kysely.d.cts +2 -152
  149. package/dist/database/kysely.d.mts +2 -152
  150. package/dist/database/kysely.mjs +28 -5
  151. package/dist/database/kysely.mjs.map +1 -1
  152. package/dist/email.cjs +25 -12
  153. package/dist/email.cjs.map +1 -1
  154. package/dist/email.d.cts +3 -7
  155. package/dist/email.d.cts.map +1 -1
  156. package/dist/email.d.mts +3 -7
  157. package/dist/email.d.mts.map +1 -1
  158. package/dist/email.mjs +16 -3
  159. package/dist/email.mjs.map +1 -1
  160. package/dist/endpoints/index.cjs +8 -10
  161. package/dist/endpoints/index.d.cts +51 -7
  162. package/dist/endpoints/index.d.cts.map +1 -0
  163. package/dist/endpoints/index.d.mts +51 -7
  164. package/dist/endpoints/index.d.mts.map +1 -0
  165. package/dist/endpoints/index.mjs +6 -10
  166. package/dist/external-api-DS3mujT5.d.mts +86 -0
  167. package/dist/external-api-DS3mujT5.d.mts.map +1 -0
  168. package/dist/external-api-LBfE-q3g.d.cts +86 -0
  169. package/dist/external-api-LBfE-q3g.d.cts.map +1 -0
  170. package/dist/external-api.cjs +124 -0
  171. package/dist/external-api.cjs.map +1 -0
  172. package/dist/external-api.d.cts +2 -0
  173. package/dist/external-api.d.mts +2 -0
  174. package/dist/external-api.mjs +121 -0
  175. package/dist/external-api.mjs.map +1 -0
  176. package/dist/file-server.cjs +42 -10
  177. package/dist/file-server.cjs.map +1 -1
  178. package/dist/file-server.d.cts +6 -10
  179. package/dist/file-server.d.cts.map +1 -1
  180. package/dist/file-server.d.mts +6 -10
  181. package/dist/file-server.d.mts.map +1 -1
  182. package/dist/file-server.mjs +34 -2
  183. package/dist/file-server.mjs.map +1 -1
  184. package/dist/functions/index.cjs +2 -6
  185. package/dist/functions/index.d.cts +2 -4
  186. package/dist/functions/index.d.mts +2 -4
  187. package/dist/functions/index.mjs +2 -6
  188. package/dist/{functions-Ck21Uyq0.mjs → functions-DCIfCRR-.mjs} +371 -241
  189. package/dist/functions-DCIfCRR-.mjs.map +1 -0
  190. package/dist/{functions-DJJA7VGc.cjs → functions-ZH60FE7H.cjs} +409 -273
  191. package/dist/functions-ZH60FE7H.cjs.map +1 -0
  192. package/dist/{index-AIfVzkhi.d.cts → index-B0kxstwf.d.cts} +49 -42
  193. package/dist/index-B0kxstwf.d.cts.map +1 -0
  194. package/dist/index-CeEtxDmK.d.cts +79 -0
  195. package/dist/index-CeEtxDmK.d.cts.map +1 -0
  196. package/dist/index-CeEtxDmK.d.mts +79 -0
  197. package/dist/index-CeEtxDmK.d.mts.map +1 -0
  198. package/dist/{index-CubPzHd9.d.mts → index-CjVEjOw0.d.mts} +49 -42
  199. package/dist/index-CjVEjOw0.d.mts.map +1 -0
  200. package/dist/index.cjs +3 -3
  201. package/dist/index.d.cts +4 -4
  202. package/dist/index.d.mts +4 -4
  203. package/dist/index.mjs +2 -3
  204. package/dist/kysely-BJ8IQ_1P.d.mts +159 -0
  205. package/dist/kysely-BJ8IQ_1P.d.mts.map +1 -0
  206. package/dist/kysely-DVF8wOT4.d.cts +159 -0
  207. package/dist/kysely-DVF8wOT4.d.cts.map +1 -0
  208. package/dist/{lazyAccessors-BoJN3SMd.mjs → lazyAccessors-CFanua0O.mjs} +20 -60
  209. package/dist/lazyAccessors-CFanua0O.mjs.map +1 -0
  210. package/dist/{lazyAccessors-e3j2oE2m.cjs → lazyAccessors-hJKGv8Ay.cjs} +60 -113
  211. package/dist/lazyAccessors-hJKGv8Ay.cjs.map +1 -0
  212. package/dist/mobile-app.cjs +70 -0
  213. package/dist/mobile-app.cjs.map +1 -0
  214. package/dist/mobile-app.d.cts +61 -0
  215. package/dist/mobile-app.d.cts.map +1 -0
  216. package/dist/mobile-app.d.mts +61 -0
  217. package/dist/mobile-app.d.mts.map +1 -0
  218. package/dist/mobile-app.mjs +69 -0
  219. package/dist/mobile-app.mjs.map +1 -0
  220. package/dist/object-storage.cjs +18 -10
  221. package/dist/object-storage.cjs.map +1 -1
  222. package/dist/object-storage.d.cts +3 -7
  223. package/dist/object-storage.d.cts.map +1 -1
  224. package/dist/object-storage.d.mts +3 -7
  225. package/dist/object-storage.d.mts.map +1 -1
  226. package/dist/object-storage.mjs +11 -3
  227. package/dist/object-storage.mjs.map +1 -1
  228. package/dist/{processAudits-Dmts9H_b.mjs → processAudits-BpRlPQMW.mjs} +16 -19
  229. package/dist/processAudits-BpRlPQMW.mjs.map +1 -0
  230. package/dist/{processAudits-CGqttuXm.cjs → processAudits-D_2W5x8k.cjs} +26 -30
  231. package/dist/processAudits-D_2W5x8k.cjs.map +1 -0
  232. package/dist/queue/index.cjs +6 -189
  233. package/dist/queue/index.d.cts +3 -60
  234. package/dist/queue/index.d.mts +3 -60
  235. package/dist/queue/index.mjs +3 -186
  236. package/dist/rest-api.cjs +87 -63
  237. package/dist/rest-api.cjs.map +1 -1
  238. package/dist/rest-api.d.cts +62 -61
  239. package/dist/rest-api.d.cts.map +1 -1
  240. package/dist/rest-api.d.mts +62 -61
  241. package/dist/rest-api.d.mts.map +1 -1
  242. package/dist/rest-api.mjs +79 -55
  243. package/dist/rest-api.mjs.map +1 -1
  244. package/dist/{chunk-DWy1uDak.cjs → rolldown-runtime-y5ARvAq5.cjs} +14 -18
  245. package/dist/site.cjs +33 -9
  246. package/dist/site.cjs.map +1 -1
  247. package/dist/site.d.cts +11 -22
  248. package/dist/site.d.cts.map +1 -1
  249. package/dist/site.d.mts +11 -22
  250. package/dist/site.d.mts.map +1 -1
  251. package/dist/site.mjs +29 -5
  252. package/dist/site.mjs.map +1 -1
  253. package/dist/subscribers/index.cjs +2 -11
  254. package/dist/subscribers/index.d.cts +3 -14
  255. package/dist/subscribers/index.d.mts +3 -14
  256. package/dist/subscribers/index.mjs +2 -11
  257. package/dist/surfaceEnv-CNimK76p.cjs +56 -0
  258. package/dist/surfaceEnv-CNimK76p.cjs.map +1 -0
  259. package/dist/surfaceEnv-wMT5QzgZ.mjs +45 -0
  260. package/dist/surfaceEnv-wMT5QzgZ.mjs.map +1 -0
  261. package/dist/{telemetry-C3L0iS28.d.cts → telemetry-DGcFlVpB.d.cts} +2 -5
  262. package/dist/telemetry-DGcFlVpB.d.cts.map +1 -0
  263. package/dist/{telemetry-D7bVFLGi.d.mts → telemetry-DGcFlVpB.d.mts} +2 -5
  264. package/dist/telemetry-DGcFlVpB.d.mts.map +1 -0
  265. package/dist/topic/index.cjs +3 -137
  266. package/dist/topic/index.d.cts +2 -32
  267. package/dist/topic/index.d.mts +2 -32
  268. package/dist/topic/index.mjs +2 -134
  269. package/dist/{types-BlAkSuGI.d.cts → types-DMuSQeLL.d.cts} +3 -5
  270. package/dist/types-DMuSQeLL.d.cts.map +1 -0
  271. package/dist/{types-aKksMEWL.d.mts → types-DMuSQeLL.d.mts} +3 -5
  272. package/dist/types-DMuSQeLL.d.mts.map +1 -0
  273. package/dist/types.d.cts +1 -1
  274. package/dist/types.d.mts +1 -1
  275. package/dist/types.mjs +1 -0
  276. package/dist/worker.cjs +118 -35
  277. package/dist/worker.cjs.map +1 -1
  278. package/dist/worker.d.cts +95 -42
  279. package/dist/worker.d.cts.map +1 -1
  280. package/dist/worker.d.mts +95 -42
  281. package/dist/worker.d.mts.map +1 -1
  282. package/dist/worker.mjs +113 -30
  283. package/dist/worker.mjs.map +1 -1
  284. package/package.json +66 -41
  285. package/dist/Construct-BD5neF7w.mjs.map +0 -1
  286. package/dist/Construct-C0ijr2qp.d.cts +0 -117
  287. package/dist/Construct-C0ijr2qp.d.cts.map +0 -1
  288. package/dist/Construct-Ct8nalEi.d.mts +0 -117
  289. package/dist/Construct-Ct8nalEi.d.mts.map +0 -1
  290. package/dist/Construct-CyS3RpTL.cjs.map +0 -1
  291. package/dist/Cron-B2OFsfDM.d.cts.map +0 -1
  292. package/dist/Cron-ByxdOfpE.d.mts.map +0 -1
  293. package/dist/CronBuilder-BL0AP6fs.d.mts +0 -44
  294. package/dist/CronBuilder-BL0AP6fs.d.mts.map +0 -1
  295. package/dist/CronBuilder-CdibiHNB.mjs +0 -84
  296. package/dist/CronBuilder-CdibiHNB.mjs.map +0 -1
  297. package/dist/CronBuilder-DyUr6nYz.cjs +0 -96
  298. package/dist/CronBuilder-DyUr6nYz.cjs.map +0 -1
  299. package/dist/CronBuilder-LSJMfqnq.d.cts +0 -44
  300. package/dist/CronBuilder-LSJMfqnq.d.cts.map +0 -1
  301. package/dist/Endpoint-2Wg7T7Cq.d.mts.map +0 -1
  302. package/dist/Endpoint-DODn1RhN.cjs.map +0 -1
  303. package/dist/Endpoint-Dij_wOcc.mjs.map +0 -1
  304. package/dist/Endpoint-DrD8a1yH.d.cts.map +0 -1
  305. package/dist/EndpointFactory-BHFMmFkV.cjs.map +0 -1
  306. package/dist/EndpointFactory-b4ituq-s.mjs.map +0 -1
  307. package/dist/HonoEndpointAdaptor-BM2jbWht.mjs.map +0 -1
  308. package/dist/HonoEndpointAdaptor-De6IlBZe.cjs.map +0 -1
  309. package/dist/Queue-D7ZuwBhy.d.cts.map +0 -1
  310. package/dist/Queue-gVGfi2Yk.d.mts.map +0 -1
  311. package/dist/Subscriber-2mEi0ImH.d.cts.map +0 -1
  312. package/dist/Subscriber-xTJ9ayPN.d.mts.map +0 -1
  313. package/dist/SubscriberBuilder-4OPehf2R.cjs.map +0 -1
  314. package/dist/SubscriberBuilder-BjkbeT9l.mjs.map +0 -1
  315. package/dist/SubscriberBuilder-Dptmo-1A.d.mts +0 -62
  316. package/dist/SubscriberBuilder-Dptmo-1A.d.mts.map +0 -1
  317. package/dist/SubscriberBuilder-waNhzjSM.d.cts +0 -62
  318. package/dist/SubscriberBuilder-waNhzjSM.d.cts.map +0 -1
  319. package/dist/Topic-19QeHBIR.d.cts +0 -91
  320. package/dist/Topic-19QeHBIR.d.cts.map +0 -1
  321. package/dist/Topic-DuFeqkBh.d.mts +0 -91
  322. package/dist/Topic-DuFeqkBh.d.mts.map +0 -1
  323. package/dist/auth.d.cts.map +0 -1
  324. package/dist/auth.d.mts.map +0 -1
  325. package/dist/cache-0ANvRQnD.mjs +0 -51
  326. package/dist/cache-0ANvRQnD.mjs.map +0 -1
  327. package/dist/cache-3WSvAulx.cjs +0 -57
  328. package/dist/cache-3WSvAulx.cjs.map +0 -1
  329. package/dist/cache-BrRz3fEB.d.mts.map +0 -1
  330. package/dist/cache-BtZY_tHe.d.cts.map +0 -1
  331. package/dist/clone-DblgEZZa.mjs.map +0 -1
  332. package/dist/clone-Dy0cR2SZ.cjs.map +0 -1
  333. package/dist/construct-interface-BfjcOD_E.cjs +0 -117
  334. package/dist/construct-interface-BfjcOD_E.cjs.map +0 -1
  335. package/dist/construct-interface-D9d4Gm4p.d.cts.map +0 -1
  336. package/dist/construct-interface-Z4CpS8tK.mjs +0 -81
  337. package/dist/construct-interface-Z4CpS8tK.mjs.map +0 -1
  338. package/dist/construct-interface-g5GM5pwR.d.mts.map +0 -1
  339. package/dist/database/kysely.d.cts.map +0 -1
  340. package/dist/database/kysely.d.mts.map +0 -1
  341. package/dist/functions-Ck21Uyq0.mjs.map +0 -1
  342. package/dist/functions-DJJA7VGc.cjs.map +0 -1
  343. package/dist/index-AIfVzkhi.d.cts.map +0 -1
  344. package/dist/index-B8g8POkr.d.cts.map +0 -1
  345. package/dist/index-BxHDdy6a.d.mts.map +0 -1
  346. package/dist/index-CubPzHd9.d.mts.map +0 -1
  347. package/dist/lazyAccessors-BoJN3SMd.mjs.map +0 -1
  348. package/dist/lazyAccessors-e3j2oE2m.cjs.map +0 -1
  349. package/dist/processAudits-CGqttuXm.cjs.map +0 -1
  350. package/dist/processAudits-Dmts9H_b.mjs.map +0 -1
  351. package/dist/queue/index.cjs.map +0 -1
  352. package/dist/queue/index.d.cts.map +0 -1
  353. package/dist/queue/index.d.mts.map +0 -1
  354. package/dist/queue/index.mjs.map +0 -1
  355. package/dist/subscribers/index.cjs.map +0 -1
  356. package/dist/subscribers/index.d.cts.map +0 -1
  357. package/dist/subscribers/index.d.mts.map +0 -1
  358. package/dist/subscribers/index.mjs.map +0 -1
  359. package/dist/surfaceEnv-BFXEms2f.cjs +0 -39
  360. package/dist/surfaceEnv-BFXEms2f.cjs.map +0 -1
  361. package/dist/surfaceEnv-C3Ktahea.mjs +0 -27
  362. package/dist/surfaceEnv-C3Ktahea.mjs.map +0 -1
  363. package/dist/telemetry-C3L0iS28.d.cts.map +0 -1
  364. package/dist/telemetry-D7bVFLGi.d.mts.map +0 -1
  365. package/dist/topic/index.cjs.map +0 -1
  366. package/dist/topic/index.d.cts.map +0 -1
  367. package/dist/topic/index.d.mts.map +0 -1
  368. package/dist/topic/index.mjs.map +0 -1
  369. package/dist/types-BlAkSuGI.d.cts.map +0 -1
  370. package/dist/types-aKksMEWL.d.mts.map +0 -1
@@ -1,30 +1,23 @@
1
- import "../Construct-Ct8nalEi.mjs";
2
- import { Function } from "../index-CubPzHd9.mjs";
3
- import "../construct-interface-g5GM5pwR.mjs";
4
- import { HttpMethod } from "../types-aKksMEWL.mjs";
5
- import { Endpoint, EndpointSchemas } from "../Endpoint-2Wg7T7Cq.mjs";
6
- import { Queue } from "../Queue-gVGfi2Yk.mjs";
7
- import { Subscriber } from "../Subscriber-xTJ9ayPN.mjs";
1
+ import { t as StandardSchemaV1 } from "../index-CeEtxDmK.mjs";
2
+ import { r as Function } from "../index-CjVEjOw0.mjs";
3
+ import { t as HttpMethod } from "../types-DMuSQeLL.mjs";
4
+ import { c as EndpointSchemas, i as Endpoint } from "../Endpoint-DtI7heFm.mjs";
5
+ import { t as Queue } from "../Queue-YmvN2vEP.mjs";
6
+ import { t as Subscriber } from "../Subscriber-BjHYe5hK.mjs";
7
+ import { t as KyselyDatabase } from "../kysely-BJ8IQ_1P.mjs";
8
+ import { r as Fake } from "../external-api-DS3mujT5.mjs";
9
+ import { EventPublisher, ExtractPublisherMessage } from "@geekmidas/events";
10
+ import { Kysely } from "kysely";
8
11
  import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
9
12
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
13
+ import { TEST_CONTEXT_HEADER } from "@geekmidas/testkit/context";
10
14
  import { HttpHandler } from "msw";
11
- import { EventPublisher, ExtractPublisherMessage } from "@geekmidas/events";
15
+ import { Browser } from "@geekmidas/testkit/browser";
16
+ import { FakerFactory } from "@geekmidas/testkit/faker";
17
+ import { Mailbox } from "@geekmidas/testkit/mailbox";
12
18
  import { Logger } from "@geekmidas/logger";
13
19
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
14
- import { StandardSchemaV1 } from "@standard-schema/spec";
15
-
16
20
  //#region src/endpoints/MswEndpointAdaptor.d.ts
17
- /**
18
- * Header used to identify which test context a request belongs to.
19
- * Each concurrent test registers its own context (services, db transaction, etc.)
20
- * and the MSW handler looks it up by this header value.
21
- */
22
- declare const TEST_CONTEXT_HEADER = "x-test-context-id";
23
- /**
24
- * Per-test context containing an isolated ServiceDiscovery instance.
25
- * Registered in the context map and looked up per-request via the context ID header.
26
- */
27
-
28
21
  /**
29
22
  * Options for creating MSW handlers from endpoint constructs.
30
23
  *
@@ -65,16 +58,16 @@ interface CreateMswHandlersOptions {
65
58
  }
66
59
  /**
67
60
  * Options for registering a per-test context.
68
- * Follows the same pattern as TestRequestAdaptor — services, database,
69
- * publisher, and auditorStorage are provided explicitly.
61
+ * Follows the same pattern as TestRequestAdaptor — services, database and
62
+ * auditorStorage are provided explicitly. A topic is a service under its own
63
+ * name, so a recorder in `services` (`{ users: recorder }`) captures what an
64
+ * endpoint publishes to it.
70
65
  */
71
66
  interface RegisterContextOptions {
72
67
  /** Service instances keyed by serviceName */
73
68
  services?: Record<string, unknown>;
74
69
  /** Database instance — required when endpoints use .database() */
75
70
  database?: unknown;
76
- /** Event publisher service definition */
77
- publisher?: Service;
78
71
  /** Audit storage instance — required when endpoints use .auditor() */
79
72
  auditorStorage?: unknown;
80
73
  }
@@ -102,8 +95,7 @@ interface CreateMswHandlersResult {
102
95
  * @param options - Configuration including baseURL
103
96
  * @returns MSW handlers, the Hono app, and context management functions
104
97
  */
105
- declare function createMswHandlers(endpoints: Endpoint<any, any, any, any, any, any>[], options: CreateMswHandlersOptions): CreateMswHandlersResult;
106
- //# sourceMappingURL=MswEndpointAdaptor.d.ts.map
98
+ export declare function createMswHandlers(endpoints: Endpoint<any, any, any, any, any, any>[], options: CreateMswHandlersOptions): CreateMswHandlersResult;
107
99
  //#endregion
108
100
  //#region src/endpoints/TestEndpointAdaptor.d.ts
109
101
  type TestHttpResponse<TBody = any> = {
@@ -111,13 +103,13 @@ type TestHttpResponse<TBody = any> = {
111
103
  status: number;
112
104
  headers: Record<string, string | string[]>;
113
105
  };
114
- declare class TestEndpointAdaptor<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> {
106
+ export declare class TestEndpointAdaptor<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> {
115
107
  private readonly endpoint;
116
108
  private serviceDiscovery;
117
- static getDefaultServiceDiscover<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string>(_endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>): ServiceDiscovery<any>;
118
- constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>, serviceDiscovery?: ServiceDiscovery<any>);
119
- fullRequest(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<TestHttpResponse<InferStandardSchema<TOutSchema>>>;
120
- request(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<InferStandardSchema<TOutSchema>>;
109
+ static getDefaultServiceDiscover<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string>(_endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>): any;
110
+ constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>, serviceDiscovery?: ServiceDiscovery<any>);
111
+ fullRequest(ctx: TestRequestAdaptor<TInput, TServices, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<TestHttpResponse<InferStandardSchema<TOutSchema>>>;
112
+ request(ctx: TestRequestAdaptor<TInput, TServices, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<InferStandardSchema<TOutSchema>>;
121
113
  }
122
114
  /**
123
115
  * Conditional audit storage requirement - required when TAuditStorage is configured
@@ -133,30 +125,27 @@ type DatabaseRequirement<TDatabase = undefined> = TDatabase extends undefined ?
133
125
  /** Database instance - required when endpoint uses .database() */
134
126
  database: TDatabase;
135
127
  };
136
- type TestRequestAdaptor<TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, _TAuditStorageServiceName extends string = string, TDatabase = undefined, _TDatabaseServiceName extends string = string> = {
128
+ type TestRequestAdaptor<TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TAuditStorage extends AuditStorage | undefined = undefined, _TAuditStorageServiceName extends string = string, TDatabase = undefined, _TDatabaseServiceName extends string = string> = {
137
129
  services: ServiceRecord<TServices>;
138
130
  headers: Record<string, string>;
139
- publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
140
131
  } & InferComposableStandardSchema<TInput> & AuditStorageRequirement<TAuditStorage> & DatabaseRequirement<TDatabase>;
141
132
  //#endregion
142
133
  //#region src/functions/TestFunctionAdaptor.d.ts
143
- declare class TestFunctionAdaptor<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
134
+ export declare class TestFunctionAdaptor<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
144
135
  private readonly fn;
145
136
  private serviceDiscovery;
146
- static getDefaultServiceDiscovery<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>>(_fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>): ServiceDiscovery<any>;
147
- constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>, serviceDiscovery?: ServiceDiscovery<any>);
148
- invoke(ctx: TestFunctionRequest<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TDatabase, TAuditAction>): Promise<InferStandardSchema<TOutSchema>>;
137
+ static getDefaultServiceDiscovery<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>>(_fn: Function<TInput, TServices, TLogger, TOutSchema, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>): any;
138
+ constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>, serviceDiscovery?: ServiceDiscovery<any>);
139
+ invoke(ctx: TestFunctionRequest<TInput, TServices, TDatabase, TAuditAction>): Promise<InferStandardSchema<TOutSchema>>;
149
140
  }
150
- type TestFunctionRequest<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = {
141
+ type TestFunctionRequest<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TDatabase = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = {
151
142
  input: InferComposableStandardSchema<TInput>;
152
143
  services: ServiceRecord<TServices>;
153
- publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
154
144
  db?: TDatabase;
155
145
  auditor?: Auditor<TAuditAction>;
156
146
  } & InferComposableStandardSchema<{
157
147
  input: TInput;
158
148
  }>;
159
- //# sourceMappingURL=TestFunctionAdaptor.d.ts.map
160
149
  //#endregion
161
150
  //#region src/queue/TestQueueAdaptor.d.ts
162
151
  /**
@@ -168,10 +157,10 @@ type TestFunctionRequest<TInput extends ComposableStandardSchema | undefined = u
168
157
  * const adapter = new TestQueueAdaptor(ordersQueue);
169
158
  * await adapter.invoke({ messages: [{ orderId: '123' }] });
170
159
  */
171
- declare class TestQueueAdaptor<TName extends string = string, TMessage extends StandardSchemaV1 = StandardSchemaV1, TServices extends Service[] = [], TLogger extends Logger = Logger> {
160
+ export declare class TestQueueAdaptor<TName extends string = string, TMessage extends StandardSchemaV1 = StandardSchemaV1, TServices extends Service[] = [], TLogger extends Logger = Logger> {
172
161
  private readonly queue;
173
162
  private serviceDiscovery;
174
- static getDefaultServiceDiscovery(): ServiceDiscovery<any>;
163
+ static getDefaultServiceDiscovery(): any;
175
164
  constructor(queue: Queue<TName, TMessage, TServices, TLogger>, serviceDiscovery?: ServiceDiscovery<any>);
176
165
  invoke(request: TestQueueRequest<TMessage, TServices>): Promise<unknown>;
177
166
  }
@@ -179,17 +168,16 @@ type TestQueueRequest<TMessage extends StandardSchemaV1 = StandardSchemaV1, TSer
179
168
  messages: InferStandardSchema<TMessage>[];
180
169
  services?: ServiceRecord<TServices>;
181
170
  };
182
- //# sourceMappingURL=TestQueueAdaptor.d.ts.map
183
171
  //#endregion
184
172
  //#region src/subscribers/TestSubscriberAdaptor.d.ts
185
173
  type ExtractEventPayloads<TPublisher extends EventPublisher<any> | undefined, TEventTypes extends any[]> = TPublisher extends EventPublisher<any> ? Extract<ExtractPublisherMessage<TPublisher>, {
186
174
  type: TEventTypes[number];
187
175
  }> : never;
188
- declare class TestSubscriberAdaptor<TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TSubscribedEvents extends ExtractPublisherMessage<TEventPublisher>['type'][] = ExtractPublisherMessage<TEventPublisher>['type'][]> {
176
+ export declare class TestSubscriberAdaptor<TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TSubscribedEvents extends ExtractPublisherMessage<TEventPublisher>['type'][] = ExtractPublisherMessage<TEventPublisher>['type'][]> {
189
177
  private readonly subscriber;
190
178
  private serviceDiscovery;
191
- static getDefaultServiceDiscovery(): ServiceDiscovery<any>;
192
- constructor(subscriber: Subscriber<TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TSubscribedEvents>, serviceDiscovery?: ServiceDiscovery<any>);
179
+ static getDefaultServiceDiscovery(): any;
180
+ constructor(subscriber: Subscriber<TServices, TLogger, OutSchema, TEventPublisher, TSubscribedEvents>, serviceDiscovery?: ServiceDiscovery<any>);
193
181
  invoke(request: TestSubscriberRequest<TEventPublisher, TSubscribedEvents, TServices>): Promise<InferStandardSchema<OutSchema>>;
194
182
  private filterEvents;
195
183
  }
@@ -198,5 +186,219 @@ type TestSubscriberRequest<TEventPublisher extends EventPublisher<any> | undefin
198
186
  services?: ServiceRecord<TServices>;
199
187
  };
200
188
  //#endregion
201
- export { CreateMswHandlersOptions, CreateMswHandlersResult, RegisterContextOptions, TEST_CONTEXT_HEADER, TestEndpointAdaptor, TestFunctionAdaptor, TestQueueAdaptor, TestSubscriberAdaptor, createMswHandlers };
189
+ //#region src/testing/manifest.d.ts
190
+ /**
191
+ * The test manifest: what `gkm test` knows about an app, written down for the
192
+ * suite it starts.
193
+ *
194
+ * `gkm test` discovers the constructs, reconciles the test stage and resolves
195
+ * its environment — then, until this existed, threw all of it away and left a
196
+ * test to declare it again by hand. The manifest keeps it: which construct and
197
+ * endpoint is exported where, and the environment the test stage resolved,
198
+ * under the keys the constructs themselves derive. A feature test is built from
199
+ * it, so nothing a test says can drift from what the app declares.
200
+ */
201
+ /** Where an export lives: what an import statement has to say. */
202
+ interface TestManifestSource {
203
+ /** Absolute path to the module. */
204
+ file: string;
205
+ /** The name it is exported as. */
206
+ export: string;
207
+ }
208
+ interface TestManifest {
209
+ /** The stage the environment was resolved for — `test`. */
210
+ stage: string;
211
+ /** Every construct the app declares, by id. */
212
+ constructs: Record<string, {
213
+ kind: string;
214
+ source: TestManifestSource;
215
+ }>;
216
+ /** Every endpoint, and the surface that serves it. */
217
+ endpoints: {
218
+ surface: string;
219
+ source: TestManifestSource;
220
+ }[];
221
+ /**
222
+ * The test stage's environment — reconcile's output, keyed as the
223
+ * constructs derive their keys.
224
+ */
225
+ env: Record<string, string>;
226
+ }
227
+ /** The environment variable `gkm test` names the manifest in. */
228
+ export declare const TEST_MANIFEST_ENV = "GKM_TEST_MANIFEST";
229
+ /**
230
+ * Read a test manifest: from a path, a `file:` URL, or — given nothing — the
231
+ * one `gkm test` named in `GKM_TEST_MANIFEST`.
232
+ */
233
+ export declare function loadTestManifest(from?: string | URL): TestManifest;
234
+ /** A feature test ran without a manifest to build itself from. */
235
+ export declare class NoTestManifest extends Error {
236
+ constructor();
237
+ }
238
+ //#endregion
239
+ //#region src/testing/featureTest.d.ts
240
+ /** How each database's test factory is built, keyed by its service name. */
241
+ type FactoryBuilders = Record<string, (db: Kysely<any>) => unknown>;
242
+ interface FeatureTestOptions<TBrowser extends Browser, TFactories extends FactoryBuilders = {}> {
243
+ /**
244
+ * What the app declares and the environment its test stage resolved.
245
+ * Defaults to the manifest `gkm test` names in `GKM_TEST_MANIFEST`.
246
+ */
247
+ manifest?: TestManifest;
248
+ /**
249
+ * The app's modules, already imported, by the absolute path the manifest
250
+ * records for them. The generated harness imports them statically, from
251
+ * inside the app, so they resolve the way the app's own code does — its
252
+ * tsconfig paths included. A module not here is imported by path.
253
+ */
254
+ modules?: Readonly<Record<string, Record<string, unknown>>>;
255
+ /** The browser each test gets — the generated one, with the app's clients. */
256
+ browser?: new () => TBrowser;
257
+ /**
258
+ * Each database's test factory — `createFactory` from
259
+ * `test/factories/<construct>.ts`, which the generated harness imports —
260
+ * keyed by the database's service name. Each is called once per test with
261
+ * that database's transaction, so what a test inserts through it is rolled
262
+ * back with everything else, and seen by the endpoints it calls.
263
+ */
264
+ factories?: TFactories;
265
+ /**
266
+ * Each external API's fake — the default export of `test/fakes/<id>.ts`,
267
+ * which the generated harness imports — keyed by the API's construct id.
268
+ * An app fake is served at the URL the test stage resolved for it.
269
+ */
270
+ fakes?: Readonly<Record<string, Fake>>;
271
+ }
272
+ /** Each database's schema, keyed by its service name. */
273
+ type DatabaseSchemas = Record<string, unknown>;
274
+ /**
275
+ * The app's databases for this test, by service name — `db.get('database')`.
276
+ *
277
+ * Each is this test's transaction on that database: opened by whatever reaches
278
+ * it first — the test, a factory, an endpoint — and the same one for all of
279
+ * them, rolled back after the test.
280
+ */
281
+ interface TestDatabases<TDatabases extends DatabaseSchemas> {
282
+ get<K extends keyof TDatabases & string>(name: K): Promise<Kysely<TDatabases[K]>>;
283
+ }
284
+ /**
285
+ * Each of the app's databases' test factory, by service name —
286
+ * `await factories.get('database')`. Built on first use, on that database's
287
+ * transaction for this test — the one `db.get` returns — and the same factory
288
+ * for the rest of the test.
289
+ */
290
+ interface TestFactories<TFactories extends FactoryBuilders> {
291
+ get<K extends keyof TFactories & string>(name: K): Promise<ReturnType<TFactories[K]>>;
292
+ }
293
+ interface FeatureContext<TBrowser extends Browser, TDatabases extends DatabaseSchemas = {}, TFactories extends FactoryBuilders = {}> {
294
+ /** This test's browser, already the global `fetch`. */
295
+ browser: TBrowser;
296
+ /**
297
+ * The app's own databases — not a tenant an auth server owns, not a
298
+ * reader — by service name: `await db.get('database')`. The same
299
+ * transaction the test's endpoints and factories use.
300
+ */
301
+ db: TestDatabases<TDatabases>;
302
+ /**
303
+ * Each of the app's databases' test factory, by service name —
304
+ * `await factories.get('database')` — on the same transaction `db.get`
305
+ * returns.
306
+ */
307
+ factories: TestFactories<TFactories>;
308
+ /**
309
+ * Testkit's faker — the one factories are handed — seeded from this test's
310
+ * name, so a failing test fails again with the same data, and so a test
311
+ * imports nothing to make some.
312
+ */
313
+ faker: FakerFactory;
314
+ /** The mail sent to an address during this test, read from Mailpit. */
315
+ mailbox: (address: string) => Mailbox;
316
+ /**
317
+ * What this test published to a topic or enqueued on a queue, in order.
318
+ * Nothing is delivered — a subscriber or a worker is tested on its own, by
319
+ * handing it events — so this is where publishing is asserted.
320
+ */
321
+ published: (channel: {
322
+ id: string;
323
+ }) => PublishedMessage[];
324
+ /**
325
+ * A subscriber, run on its own — handed events rather than delivered them —
326
+ * with this test's services: its databases resolve to this test's
327
+ * transactions, as an endpoint's do.
328
+ */
329
+ subscriber: <S extends Subscriber<any, any, any, any, any>>(subscriber: S) => SubscriberAdaptorOf<S>;
330
+ /** A queue's worker, run on its own with this test's services. */
331
+ queue: <Q extends Queue<any, any, any, any>>(queue: Q) => QueueAdaptorOf<Q>;
332
+ }
333
+ type SubscriberAdaptorOf<S> = S extends Subscriber<infer TServices, infer TLogger, infer OutSchema, infer TEventPublisher, infer TSubscribedEvents> ? TestSubscriberAdaptor<TServices, TLogger, OutSchema, TEventPublisher, TSubscribedEvents> : never;
334
+ type QueueAdaptorOf<Q> = Q extends Queue<infer TName, infer TMessage, infer TServices, infer TLogger> ? TestQueueAdaptor<TName, TMessage, TServices, TLogger> : never;
335
+ /** The schema a database construct was declared with — what `db` is typed by. */
336
+ type DatabaseOf<C> = C extends KyselyDatabase<infer DB, any> ? DB : unknown;
337
+ /** One message as it was published: its type and its payload. */
338
+ interface PublishedMessage {
339
+ type: string;
340
+ payload: unknown;
341
+ }
342
+ type FeatureFn<TBrowser extends Browser, TDatabases extends DatabaseSchemas, TFactories extends FactoryBuilders> = (context: FeatureContext<TBrowser, TDatabases, TFactories>) => unknown;
343
+ interface FeatureIt<TBrowser extends Browser, TDatabases extends DatabaseSchemas = {}, TFactories extends FactoryBuilders = {}> {
344
+ (name: string, fn: FeatureFn<TBrowser, TDatabases, TFactories>, timeout?: number): void;
345
+ only(name: string, fn: FeatureFn<TBrowser, TDatabases, TFactories>, timeout?: number): void;
346
+ skip(name: string, fn: FeatureFn<TBrowser, TDatabases, TFactories>, timeout?: number): void;
347
+ }
348
+ export declare function featureTest<TBrowser extends Browser = Browser, TDatabases extends DatabaseSchemas = {}, TFactories extends FactoryBuilders = {}>(options?: FeatureTestOptions<TBrowser, TFactories>): FeatureIt<TBrowser, TDatabases, TFactories>;
349
+ /** What `signInWithMagicLink` uses of a better-auth client. */
350
+ interface MagicLinkAuthClient<TSession> {
351
+ signIn: {
352
+ magicLink(input: {
353
+ email: string;
354
+ }): Promise<{
355
+ error?: {
356
+ message?: string;
357
+ } | null;
358
+ }>;
359
+ };
360
+ getSession(): Promise<{
361
+ data: TSession | null;
362
+ }>;
363
+ }
364
+ /**
365
+ * Sign a test's browser in the way a person does: ask the auth server for a
366
+ * magic link, open the email it sent, follow the link.
367
+ *
368
+ * What the generated `browser.signIn(email)` calls. The address's mail is
369
+ * cleared first — so the link is this request's, not one an earlier test left
370
+ * — and cleared again after the test, like any address a test reads. Returns
371
+ * the session the auth server then reports, as better-auth hands it back.
372
+ */
373
+ export declare function signInWithMagicLink<TSession>(browser: Browser, auth: MagicLinkAuthClient<TSession>, email?: string): Promise<TSession>;
374
+ /** `browser.signIn` finished without a session. */
375
+ export declare class SignInFailed extends Error {
376
+ readonly email: string;
377
+ readonly reason: string;
378
+ constructor(email: string, reason: string);
379
+ }
380
+ /** A request reached an in-process server without a test to belong to. */
381
+ export declare class UnknownTestContext extends Error {
382
+ readonly url: string;
383
+ readonly id: string | undefined;
384
+ constructor(url: string, id: string | undefined);
385
+ }
386
+ /** `mailbox` was used in an app that declares no Email construct. */
387
+ export declare class NoInbox extends Error {
388
+ constructor();
389
+ }
390
+ /** `db.get(name)` named no database the test is handed. */
391
+ export declare class UnknownDatabase extends Error {
392
+ readonly database: string;
393
+ readonly known: readonly string[];
394
+ constructor(database: string, known: readonly string[]);
395
+ }
396
+ /** A factory keyed by a service name no database the app declares has. */
397
+ export declare class UnknownFactory extends Error {
398
+ readonly factory: string;
399
+ readonly known: readonly string[];
400
+ constructor(factory: string, known: readonly string[]);
401
+ }
402
+ //#endregion
403
+ export { type CreateMswHandlersOptions, type CreateMswHandlersResult, type DatabaseOf, type DatabaseSchemas, type FactoryBuilders, type FeatureContext, type FeatureIt, type FeatureTestOptions, type MagicLinkAuthClient, type RegisterContextOptions, TEST_CONTEXT_HEADER, type TestDatabases, type TestFactories, type TestManifest, type TestManifestSource };
202
404
  //# sourceMappingURL=testing.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.mts","names":[],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/queue/TestQueueAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;cAaa,mBAAA;;;;;;AA4Cb;AAUA;;;;AAMoB;AAmBpB;;;;AAI8D;AAkB9D;;;;;AAG0B;;;;AC9E1B;;;;AAGgB;AAwChB;;;;;;;;;AAUuB,UDnCN,wBAAA,CCmCM;EAAY;EAEE,OAAoB,EAAA,MAAA;;;;;;;AAe/B,UD1CT,sBAAA,CC0CS;EAAc;EAEJ,QAEb,CAAA,ED5CX,MC4CW,CAAA,MAAA,EAAA,OAAA,CAAA;EAAe;EAAmC,QAQtE,CAAA,EAAA,OAAA;EAAM;EACC,SACP,CAAA,EDlDU,OCkDV;EAAM;EACI,cACV,CAAA,EAAA,OAAA;;;;;AAKA,UDtCc,uBAAA,CCsCd;EAAa;EACW,QACxB,EDtCQ,WCsCR,EAAA;EAAY;EACH,eACT,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EDtCqC,sBCsCrC,EAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;AAM0B,iBD1Bb,iBAAA,CC0Ba,SAAA,EDzBjB,QCyBiB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,EAAA,OAAA,EDxBnB,wBCwBmB,CAAA,EDvB1B,uBCuB0B;;;;KArGjB;QACL;;WAEG;;cAwCG,2DAEI,2BACD,yCACI,4DACD,gCACF,SAAS,oDAED,uHAEF,6GAED,mCAAmC;;;EDjF5C,OAAA,yBAAmB,CAAA,eAAA,MAAA,EAAA,gBC0Fd,UD1Fc,EAAA,eC2Ff,eD3Fe,GAAA,CAAA,CAAA,EAAA,mBC4FX,gBD5FW,GAAA,SAAA,GAAA,SAAA,EAAA,kBC6FZ,OD7FY,EAAA,GAAA,EAAA,EAAA,gBC8Fd,MD9Fc,GC8FL,MD9FK,EAAA,WAAA,OAAA,EAAA,wBCgGN,cDhGM,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,mCAAA,MAAA,GAAA,MAAA,EAAA,sBCkGR,YDlGQ,GAAA,SAAA,GAAA,SAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,qBCoGT,eDpGS,CAAA,MAAA,EAAA,OAAA,CAAA,GCoG0B,eDpG1B,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,YAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,CAAA,CAAA,SAAA,EC2GnB,QD3GmB,CC4G7B,MD5G6B,EC6G7B,OD7G6B,EC8G7B,MD9G6B,EC+G7B,UD/G6B,ECgH7B,SDhH6B,ECiH7B,ODjH6B,ECkH7B,QDlH6B,ECmH7B,eDnH6B,ECoH7B,0BDpH6B,ECqH7B,aDrH6B,ECsH7B,wBDtH6B,ECuH7B,YDvH6B,ECwH7B,SDxH6B,ECyH7B,oBDzH6B,CAAA,CAAA,EC0H7B,gBD1H6B,CAAA,GAAA,CAAA;EA4Cf,WAAA,CAAA,QAAA,ECmFY,QDnFY,CCoFtC,MDpFsC,ECqFtC,ODrFsC,ECsFtC,MDtFsC,ECuFtC,UDvFsC,ECwFtC,SDxFsC,ECyFtC,ODzFsC,EC0FtC,QD1FsC,EC2FtC,eD3FsC,EC4FtC,0BD5FsC,EC6FtC,aD7FsC,EC8FtC,wBD9FsC,EC+FtC,YD/FsC,ECgGtC,SDhGsC,ECiGtC,oBDjGsC,CAAA,EAAA,gBAAA,CAAA,ECmGb,gBDnGa,CAAA,GAAA,CAAA;EAUxB,WAAA,CAAA,GAAA,EC+FV,kBD/FgC,CCgGpC,MDhGoC,ECiGpC,SDjGoC,ECkGpC,eDlGoC,ECmGpC,0BDnGoC,ECoGpC,aDpGoC,ECqGpC,wBDrGoC,ECsGpC,SDtGoC,ECuGpC,oBDvGoC,CAAA,CAAA,ECyGnC,ODzGmC,CCyG3B,gBDzG2B,CCyGV,mBDzGU,CCyGU,UDzGV,CAAA,CAAA,CAAA;EAAA,OAAA,CAAA,GAAA,EC6ShC,kBD7SgC,CC8SpC,MD9SoC,EC+SpC,SD/SoC,ECgTpC,eDhToC,ECiTpC,0BDjToC,ECkTpC,aDlToC,ECmTpC,wBDnToC,ECoTpC,SDpToC,ECqTpC,oBDrToC,CAAA,CAAA,ECuTnC,ODvTmC,CCuT3B,mBDvT2B,CCuTP,UDvTO,CAAA,CAAA;;;AAMnB;AAmBpB;KCuSK,uBDvSmC,CAAA,sBCwSjB,YDxSiB,GAAA,SAAA,GAAA,SAAA,CAAA,GCySpC,aDzSoC,SAAA,SAAA,GAAA,CAAA,CAAA,GAAA;EAAA;EAElB,cAEkB,ECySrB,aDzSqB;AAAsB,CAAA;AAkB9D;;;KC6RK,mBD3RK,CA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"}
1
+ {"version":3,"file":"testing.d.mts","names":["TestBrowser"],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/queue/TestQueueAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts","../../src/testing/manifest.ts","../../src/testing/featureTest.ts"],"mappings":"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"}