@geekmidas/constructs 0.3.2 → 0.6.0

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 (557) hide show
  1. package/dist/{AWSLambdaFunction-C54a1doJ.mjs → AWSLambdaFunction-BMTaCrG9.mjs} +6 -6
  2. package/dist/AWSLambdaFunction-BMTaCrG9.mjs.map +1 -0
  3. package/dist/{AWSLambdaFunction-BdebRMUh.d.mts → AWSLambdaFunction-BfLF5vNa.d.cts} +6 -6
  4. package/dist/AWSLambdaFunction-BfLF5vNa.d.cts.map +1 -0
  5. package/dist/{AWSLambdaFunction-EPGY4s7i.cjs → AWSLambdaFunction-C1gRqLO7.cjs} +6 -6
  6. package/dist/AWSLambdaFunction-C1gRqLO7.cjs.map +1 -0
  7. package/dist/{AWSLambdaFunction-D0tEOTXQ.d.cts → AWSLambdaFunction-K94K8JU2.d.mts} +6 -6
  8. package/dist/AWSLambdaFunction-K94K8JU2.d.mts.map +1 -0
  9. package/dist/{AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts → AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts} +2 -2
  10. package/dist/AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts.map +1 -0
  11. package/dist/{AWSLambdaSubscriberAdaptor-BLfO612H.mjs → AWSLambdaSubscriberAdaptor-BD3FwGUb.mjs} +3 -3
  12. package/dist/AWSLambdaSubscriberAdaptor-BD3FwGUb.mjs.map +1 -0
  13. package/dist/{AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs → AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs} +3 -3
  14. package/dist/AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs.map +1 -0
  15. package/dist/{AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts → AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts} +2 -2
  16. package/dist/AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts.map +1 -0
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs → AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs} +56 -14
  18. package/dist/AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs.map +1 -0
  19. package/dist/{AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts → AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts} +51 -5
  20. package/dist/AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts.map +1 -0
  21. package/dist/{AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs → AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs} +55 -13
  22. package/dist/AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs.map +1 -0
  23. package/dist/{AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts → AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts} +52 -6
  24. package/dist/AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts.map +1 -0
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs → AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs} +4 -4
  26. package/dist/AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs.map +1 -0
  27. package/dist/{AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts → AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts} +5 -5
  28. package/dist/AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts.map +1 -0
  29. package/dist/{AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts → AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts} +4 -4
  30. package/dist/AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts.map +1 -0
  31. package/dist/{AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs → AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs} +4 -4
  32. package/dist/AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs.map +1 -0
  33. package/dist/{AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts → AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts} +4 -6
  34. package/dist/AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts.map +1 -0
  35. package/dist/{AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs → AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs} +4 -4
  36. package/dist/AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs.map +1 -0
  37. package/dist/{AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs → AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs} +4 -4
  38. package/dist/AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs.map +1 -0
  39. package/dist/{AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts → AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts} +5 -7
  40. package/dist/AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts.map +1 -0
  41. package/dist/{Authorizer-C0ge_tc8.cjs → Authorizer-BXxBee2P.cjs} +1 -1
  42. package/dist/Authorizer-BXxBee2P.cjs.map +1 -0
  43. package/dist/{Authorizer-r9U3y_ms.mjs → Authorizer-BgjU8-z6.mjs} +1 -1
  44. package/dist/Authorizer-BgjU8-z6.mjs.map +1 -0
  45. package/dist/{Authorizer-gWxYsGEp.d.mts → Authorizer-DCcYOx3h.d.mts} +1 -1
  46. package/dist/Authorizer-DCcYOx3h.d.mts.map +1 -0
  47. package/dist/{Authorizer-B-btowNd.d.cts → Authorizer-DWtwC8we.d.cts} +1 -1
  48. package/dist/Authorizer-DWtwC8we.d.cts.map +1 -0
  49. package/dist/{BaseFunctionBuilder-BAtutR6q.d.cts → BaseFunctionBuilder-BqZCqIeU.d.mts} +3 -3
  50. package/dist/BaseFunctionBuilder-BqZCqIeU.d.mts.map +1 -0
  51. package/dist/{BaseFunctionBuilder-DRY419e7.d.mts → BaseFunctionBuilder-CcK691ni.d.cts} +3 -3
  52. package/dist/BaseFunctionBuilder-CcK691ni.d.cts.map +1 -0
  53. package/dist/{BaseFunctionBuilder-Czi1Jwza.mjs → BaseFunctionBuilder-Dsqe6pnn.mjs} +2 -2
  54. package/dist/BaseFunctionBuilder-Dsqe6pnn.mjs.map +1 -0
  55. package/dist/{BaseFunctionBuilder-MYG3C9ug.cjs → BaseFunctionBuilder-Z0XwrKB5.cjs} +2 -2
  56. package/dist/BaseFunctionBuilder-Z0XwrKB5.cjs.map +1 -0
  57. package/dist/Construct-BNDLJJfD.mjs +150 -0
  58. package/dist/Construct-BNDLJJfD.mjs.map +1 -0
  59. package/dist/{Construct-Ba5cMxib.cjs → Construct-CPrCF8NK.cjs} +93 -9
  60. package/dist/Construct-CPrCF8NK.cjs.map +1 -0
  61. package/dist/{Construct-C4rPE67v.d.cts → Construct-Dl0l2d8d.d.cts} +30 -4
  62. package/dist/Construct-Dl0l2d8d.d.cts.map +1 -0
  63. package/dist/{Construct-XrijZFFh.d.mts → Construct-E8QPyHh4.d.mts} +30 -4
  64. package/dist/Construct-E8QPyHh4.d.mts.map +1 -0
  65. package/dist/Construct.cjs +4 -2
  66. package/dist/Construct.d.cts +2 -2
  67. package/dist/Construct.d.mts +2 -2
  68. package/dist/Construct.mjs +2 -2
  69. package/dist/{Cron-CGF4YAfM.cjs → Cron-BmPNTLla.cjs} +3 -3
  70. package/dist/Cron-BmPNTLla.cjs.map +1 -0
  71. package/dist/{Cron-BxhGs5up.mjs → Cron-BpJONaFv.mjs} +3 -3
  72. package/dist/Cron-BpJONaFv.mjs.map +1 -0
  73. package/dist/{Cron-bDLcTvV5.d.cts → Cron-CnmLLh3E.d.mts} +3 -3
  74. package/dist/Cron-CnmLLh3E.d.mts.map +1 -0
  75. package/dist/{Cron-cdjlSKNp.d.mts → Cron-DufAeHry.d.cts} +3 -3
  76. package/dist/Cron-DufAeHry.d.cts.map +1 -0
  77. package/dist/{CronBuilder-d2jh-IB2.mjs → CronBuilder-02HSIHJr.mjs} +4 -4
  78. package/dist/CronBuilder-02HSIHJr.mjs.map +1 -0
  79. package/dist/{CronBuilder-CcxKRtVP.cjs → CronBuilder-DC2zUS8a.cjs} +4 -4
  80. package/dist/CronBuilder-DC2zUS8a.cjs.map +1 -0
  81. package/dist/{CronBuilder-BC4m5-p1.d.mts → CronBuilder-anUSbMxb.d.mts} +4 -4
  82. package/dist/CronBuilder-anUSbMxb.d.mts.map +1 -0
  83. package/dist/{CronBuilder-DKVXyE0Q.d.cts → CronBuilder-fyqf_X8n.d.cts} +4 -4
  84. package/dist/CronBuilder-fyqf_X8n.d.cts.map +1 -0
  85. package/dist/{Endpoint-BVGZXFyV.cjs → Endpoint-BCWVbi8l.cjs} +6 -6
  86. package/dist/Endpoint-BCWVbi8l.cjs.map +1 -0
  87. package/dist/{Endpoint-BPv9_-m_.d.cts → Endpoint-BlcHiGNx.d.cts} +3 -3
  88. package/dist/Endpoint-BlcHiGNx.d.cts.map +1 -0
  89. package/dist/{Endpoint-BdwG75G_.d.mts → Endpoint-DEHuy46S.d.mts} +4 -4
  90. package/dist/Endpoint-DEHuy46S.d.mts.map +1 -0
  91. package/dist/{Endpoint-CuOEswxJ.mjs → Endpoint-ygxv2Ia6.mjs} +6 -6
  92. package/dist/Endpoint-ygxv2Ia6.mjs.map +1 -0
  93. package/dist/{EndpointBuilder-DIy_m1bu.d.cts → EndpointBuilder-DPLAUHqg.d.cts} +4 -4
  94. package/dist/EndpointBuilder-DPLAUHqg.d.cts.map +1 -0
  95. package/dist/{EndpointBuilder-B3az942t.d.mts → EndpointBuilder-DaeCeneF.d.mts} +5 -5
  96. package/dist/EndpointBuilder-DaeCeneF.d.mts.map +1 -0
  97. package/dist/{EndpointBuilder-Cgj1P_ra.cjs → EndpointBuilder-J5D67Y6a.cjs} +6 -6
  98. package/dist/EndpointBuilder-J5D67Y6a.cjs.map +1 -0
  99. package/dist/{EndpointBuilder-DnCB1h1j.mjs → EndpointBuilder-tn4zqoyw.mjs} +6 -6
  100. package/dist/EndpointBuilder-tn4zqoyw.mjs.map +1 -0
  101. package/dist/{EndpointFactory-CbdxPCIH.mjs → EndpointFactory-CIUZTTAF.mjs} +7 -7
  102. package/dist/EndpointFactory-CIUZTTAF.mjs.map +1 -0
  103. package/dist/{EndpointFactory-CyPbm3AD.d.cts → EndpointFactory-CiKcb5PX.d.cts} +4 -4
  104. package/dist/EndpointFactory-CiKcb5PX.d.cts.map +1 -0
  105. package/dist/{EndpointFactory-C-0nE6Jg.d.mts → EndpointFactory-DufM0t2z.d.mts} +4 -4
  106. package/dist/EndpointFactory-DufM0t2z.d.mts.map +1 -0
  107. package/dist/{EndpointFactory-CYj6BYok.cjs → EndpointFactory-d5uwWFkK.cjs} +7 -7
  108. package/dist/EndpointFactory-d5uwWFkK.cjs.map +1 -0
  109. package/dist/{Function-DDZb1525.cjs → Function-2qWSZqYB.cjs} +3 -3
  110. package/dist/Function-2qWSZqYB.cjs.map +1 -0
  111. package/dist/{Function-Cf7f_kCz.d.cts → Function-CbEohg13.d.cts} +3 -3
  112. package/dist/Function-CbEohg13.d.cts.map +1 -0
  113. package/dist/{Function-BVHqIDp9.mjs → Function-CdF1HmFu.mjs} +3 -3
  114. package/dist/Function-CdF1HmFu.mjs.map +1 -0
  115. package/dist/{Function-DN2G6OT5.d.mts → Function-EjIOLxlh.d.mts} +3 -3
  116. package/dist/Function-EjIOLxlh.d.mts.map +1 -0
  117. package/dist/{FunctionBuilder-DswJ-9sD.cjs → FunctionBuilder-B-pbgm09.cjs} +4 -4
  118. package/dist/FunctionBuilder-B-pbgm09.cjs.map +1 -0
  119. package/dist/{FunctionBuilder-CJBzzXL3.d.cts → FunctionBuilder-CX3ooNdq.d.cts} +4 -4
  120. package/dist/FunctionBuilder-CX3ooNdq.d.cts.map +1 -0
  121. package/dist/{FunctionBuilder-Cxx8D2na.d.mts → FunctionBuilder-D11ytDyy.d.mts} +4 -4
  122. package/dist/FunctionBuilder-D11ytDyy.d.mts.map +1 -0
  123. package/dist/{FunctionBuilder-CrDYgfiI.mjs → FunctionBuilder-DaWVthAJ.mjs} +4 -4
  124. package/dist/FunctionBuilder-DaWVthAJ.mjs.map +1 -0
  125. package/dist/{FunctionExecutionWrapper-DF260Aaj.d.mts → FunctionExecutionWrapper-BJcRjH9Z.d.cts} +5 -5
  126. package/dist/FunctionExecutionWrapper-BJcRjH9Z.d.cts.map +1 -0
  127. package/dist/{FunctionExecutionWrapper-BYI2bGTL.cjs → FunctionExecutionWrapper-C6ChBNHs.cjs} +3 -3
  128. package/dist/FunctionExecutionWrapper-C6ChBNHs.cjs.map +1 -0
  129. package/dist/{FunctionExecutionWrapper-Qy8bmgFR.d.cts → FunctionExecutionWrapper-D3RNjGIR.d.mts} +5 -5
  130. package/dist/FunctionExecutionWrapper-D3RNjGIR.d.mts.map +1 -0
  131. package/dist/{FunctionExecutionWrapper-CLDh7Z2_.mjs → FunctionExecutionWrapper-Dj3pmXaN.mjs} +3 -3
  132. package/dist/FunctionExecutionWrapper-Dj3pmXaN.mjs.map +1 -0
  133. package/dist/{HonoEndpointAdaptor-BaPlUhz0.d.mts → HonoEndpointAdaptor-CKP6nrG2.d.mts} +11 -6
  134. package/dist/HonoEndpointAdaptor-CKP6nrG2.d.mts.map +1 -0
  135. package/dist/HonoEndpointAdaptor-Cc8Rnp9G.mjs +251 -0
  136. package/dist/HonoEndpointAdaptor-Cc8Rnp9G.mjs.map +1 -0
  137. package/dist/{HonoEndpointAdaptor-YcRHYALH.d.cts → HonoEndpointAdaptor-hrrvyfw9.d.cts} +10 -5
  138. package/dist/HonoEndpointAdaptor-hrrvyfw9.d.cts.map +1 -0
  139. package/dist/HonoEndpointAdaptor-xGnDZa3a.cjs +257 -0
  140. package/dist/HonoEndpointAdaptor-xGnDZa3a.cjs.map +1 -0
  141. package/dist/{Subscriber-COYMSevD.d.cts → Subscriber-BBcIOkhW.d.cts} +2 -2
  142. package/dist/Subscriber-BBcIOkhW.d.cts.map +1 -0
  143. package/dist/{Subscriber-ikctpU3I.d.mts → Subscriber-BpTAXvbM.d.mts} +2 -2
  144. package/dist/Subscriber-BpTAXvbM.d.mts.map +1 -0
  145. package/dist/{Subscriber-BiHjVXtM.cjs → Subscriber-CL4iYm01.cjs} +2 -2
  146. package/dist/Subscriber-CL4iYm01.cjs.map +1 -0
  147. package/dist/{Subscriber-BmPf9GFb.mjs → Subscriber-CZ8Smwd2.mjs} +2 -2
  148. package/dist/Subscriber-CZ8Smwd2.mjs.map +1 -0
  149. package/dist/{SubscriberBuilder-DJPEeYDJ.mjs → SubscriberBuilder-CxQg3TTm.mjs} +2 -2
  150. package/dist/SubscriberBuilder-CxQg3TTm.mjs.map +1 -0
  151. package/dist/{SubscriberBuilder-Cp1C-xtT.cjs → SubscriberBuilder-D0OS3hd7.cjs} +2 -2
  152. package/dist/SubscriberBuilder-D0OS3hd7.cjs.map +1 -0
  153. package/dist/{SubscriberBuilder-D_9zzllj.d.mts → SubscriberBuilder-D7IgufwB.d.cts} +3 -3
  154. package/dist/SubscriberBuilder-D7IgufwB.d.cts.map +1 -0
  155. package/dist/{SubscriberBuilder-ivHAGIVi.d.cts → SubscriberBuilder-DOFBbWLt.d.mts} +3 -3
  156. package/dist/SubscriberBuilder-DOFBbWLt.d.mts.map +1 -0
  157. package/dist/{TestEndpointAdaptor-DB7bREhS.d.mts → TestEndpointAdaptor-BnJusjf7.d.mts} +4 -4
  158. package/dist/TestEndpointAdaptor-BnJusjf7.d.mts.map +1 -0
  159. package/dist/TestEndpointAdaptor-CPL8ru6q.mjs +170 -0
  160. package/dist/TestEndpointAdaptor-CPL8ru6q.mjs.map +1 -0
  161. package/dist/TestEndpointAdaptor-Ca4K26_d.cjs +176 -0
  162. package/dist/TestEndpointAdaptor-Ca4K26_d.cjs.map +1 -0
  163. package/dist/{TestEndpointAdaptor-C10xBI--.d.cts → TestEndpointAdaptor-EPPTjntv.d.cts} +3 -3
  164. package/dist/TestEndpointAdaptor-EPPTjntv.d.cts.map +1 -0
  165. package/dist/adaptors/aws.cjs +12 -12
  166. package/dist/adaptors/aws.d.cts +15 -14
  167. package/dist/adaptors/aws.d.mts +16 -15
  168. package/dist/adaptors/aws.mjs +12 -12
  169. package/dist/adaptors/hono.cjs +10 -9
  170. package/dist/adaptors/hono.d.cts +8 -8
  171. package/dist/adaptors/hono.d.mts +9 -9
  172. package/dist/adaptors/hono.mjs +10 -9
  173. package/dist/adaptors/testing.cjs +8 -7
  174. package/dist/adaptors/testing.d.cts +8 -8
  175. package/dist/adaptors/testing.d.mts +9 -9
  176. package/dist/adaptors/testing.mjs +8 -7
  177. package/dist/crons/Cron.cjs +6 -6
  178. package/dist/crons/Cron.d.cts +6 -6
  179. package/dist/crons/Cron.d.mts +6 -6
  180. package/dist/crons/Cron.mjs +6 -6
  181. package/dist/crons/CronBuilder.cjs +7 -7
  182. package/dist/crons/CronBuilder.d.cts +7 -7
  183. package/dist/crons/CronBuilder.d.mts +7 -7
  184. package/dist/crons/CronBuilder.mjs +7 -7
  185. package/dist/crons/index.cjs +7 -7
  186. package/dist/crons/index.cjs.map +1 -1
  187. package/dist/crons/index.d.cts +11 -11
  188. package/dist/crons/index.d.mts +7 -7
  189. package/dist/crons/index.mjs +7 -7
  190. package/dist/crons/index.mjs.map +1 -1
  191. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
  192. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +10 -9
  193. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +11 -10
  194. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
  195. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
  196. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +10 -9
  197. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +11 -10
  198. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
  199. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
  200. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +11 -10
  201. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +12 -11
  202. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
  203. package/dist/endpoints/Authorizer.cjs +1 -1
  204. package/dist/endpoints/Authorizer.d.cts +1 -1
  205. package/dist/endpoints/Authorizer.d.mts +1 -1
  206. package/dist/endpoints/Authorizer.mjs +1 -1
  207. package/dist/endpoints/Endpoint.cjs +6 -6
  208. package/dist/endpoints/Endpoint.d.cts +7 -7
  209. package/dist/endpoints/Endpoint.d.mts +8 -8
  210. package/dist/endpoints/Endpoint.mjs +6 -6
  211. package/dist/endpoints/EndpointBuilder.cjs +9 -9
  212. package/dist/endpoints/EndpointBuilder.d.cts +8 -8
  213. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  214. package/dist/endpoints/EndpointBuilder.mjs +9 -9
  215. package/dist/endpoints/EndpointFactory.cjs +10 -10
  216. package/dist/endpoints/EndpointFactory.d.cts +9 -9
  217. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  218. package/dist/endpoints/EndpointFactory.mjs +10 -10
  219. package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
  220. package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -8
  221. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  222. package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
  223. package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
  224. package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -8
  225. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  226. package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
  227. package/dist/endpoints/audit.d.cts +7 -7
  228. package/dist/endpoints/audit.d.mts +8 -8
  229. package/dist/endpoints/helpers.cjs +7 -7
  230. package/dist/endpoints/helpers.d.cts +7 -7
  231. package/dist/endpoints/helpers.d.cts.map +1 -1
  232. package/dist/endpoints/helpers.d.mts +8 -8
  233. package/dist/endpoints/helpers.d.mts.map +1 -1
  234. package/dist/endpoints/helpers.mjs +7 -7
  235. package/dist/endpoints/index.cjs +20 -10
  236. package/dist/endpoints/index.cjs.map +1 -1
  237. package/dist/endpoints/index.d.cts +14 -12
  238. package/dist/endpoints/index.d.cts.map +1 -1
  239. package/dist/endpoints/index.d.mts +15 -13
  240. package/dist/endpoints/index.d.mts.map +1 -1
  241. package/dist/endpoints/index.mjs +13 -11
  242. package/dist/endpoints/index.mjs.map +1 -1
  243. package/dist/endpoints/lazyAccessors.cjs +10 -0
  244. package/dist/endpoints/lazyAccessors.d.cts +10 -0
  245. package/dist/endpoints/lazyAccessors.d.mts +10 -0
  246. package/dist/endpoints/lazyAccessors.mjs +3 -0
  247. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  248. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  249. package/dist/endpoints/parseQueryParams.d.cts.map +1 -1
  250. package/dist/endpoints/parseQueryParams.d.mts.map +1 -1
  251. package/dist/endpoints/processAudits.d.cts +7 -7
  252. package/dist/endpoints/processAudits.d.cts.map +1 -1
  253. package/dist/endpoints/processAudits.d.mts +8 -8
  254. package/dist/endpoints/processAudits.d.mts.map +1 -1
  255. package/dist/endpoints/rls.cjs +1 -1
  256. package/dist/endpoints/rls.d.cts +7 -7
  257. package/dist/endpoints/rls.d.mts +8 -8
  258. package/dist/endpoints/rls.mjs +1 -1
  259. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  260. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  261. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  262. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  263. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  264. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  265. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  266. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  267. package/dist/functions/Function.cjs +2 -2
  268. package/dist/functions/Function.d.cts +2 -2
  269. package/dist/functions/Function.d.mts +2 -2
  270. package/dist/functions/Function.mjs +2 -2
  271. package/dist/functions/FunctionBuilder.cjs +4 -4
  272. package/dist/functions/FunctionBuilder.d.cts +4 -4
  273. package/dist/functions/FunctionBuilder.d.mts +4 -4
  274. package/dist/functions/FunctionBuilder.mjs +4 -4
  275. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  276. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  277. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  278. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  279. package/dist/functions/TestFunctionAdaptor.cjs +7 -7
  280. package/dist/functions/TestFunctionAdaptor.cjs.map +1 -1
  281. package/dist/functions/TestFunctionAdaptor.d.cts +3 -3
  282. package/dist/functions/TestFunctionAdaptor.d.cts.map +1 -1
  283. package/dist/functions/TestFunctionAdaptor.d.mts +3 -3
  284. package/dist/functions/TestFunctionAdaptor.d.mts.map +1 -1
  285. package/dist/functions/TestFunctionAdaptor.mjs +7 -7
  286. package/dist/functions/TestFunctionAdaptor.mjs.map +1 -1
  287. package/dist/functions/index.cjs +5 -5
  288. package/dist/functions/index.d.cts +5 -5
  289. package/dist/functions/index.d.mts +5 -5
  290. package/dist/functions/index.mjs +5 -5
  291. package/dist/{functions-fTid0RMK.cjs → functions-CUEv5NC3.cjs} +2 -2
  292. package/dist/functions-CUEv5NC3.cjs.map +1 -0
  293. package/dist/functions-DOYBrb7n.mjs +8 -0
  294. package/dist/functions-DOYBrb7n.mjs.map +1 -0
  295. package/dist/{helpers-ByRTDO_m.mjs → helpers-Dl1eszfi.mjs} +2 -2
  296. package/dist/helpers-Dl1eszfi.mjs.map +1 -0
  297. package/dist/{helpers-BcP1tXAi.cjs → helpers-QMdfdnvU.cjs} +2 -2
  298. package/dist/helpers-QMdfdnvU.cjs.map +1 -0
  299. package/dist/{index-BWzGIj06.d.mts → index-BrGtMlpJ.d.cts} +2 -2
  300. package/dist/index-BrGtMlpJ.d.cts.map +1 -0
  301. package/dist/index-Dn4py3Db.d.mts +12 -0
  302. package/dist/index-Dn4py3Db.d.mts.map +1 -0
  303. package/dist/index.cjs +4 -2
  304. package/dist/index.d.cts +3 -2
  305. package/dist/index.d.mts +4 -3
  306. package/dist/index.mjs +2 -2
  307. package/dist/lazyAccessors-B-Jgkg2o.mjs +175 -0
  308. package/dist/lazyAccessors-B-Jgkg2o.mjs.map +1 -0
  309. package/dist/lazyAccessors-B8Hhras9.cjs +223 -0
  310. package/dist/lazyAccessors-B8Hhras9.cjs.map +1 -0
  311. package/dist/lazyAccessors-BFAj2-S4.d.mts +49 -0
  312. package/dist/lazyAccessors-BFAj2-S4.d.mts.map +1 -0
  313. package/dist/lazyAccessors-knaNZuTN.d.cts +49 -0
  314. package/dist/lazyAccessors-knaNZuTN.d.cts.map +1 -0
  315. package/dist/{parseHonoQuery-CZC5_97v.cjs → parseHonoQuery-D4MhxTRc.cjs} +1 -1
  316. package/dist/parseHonoQuery-D4MhxTRc.cjs.map +1 -0
  317. package/dist/{parseHonoQuery-DDgIkTO4.mjs → parseHonoQuery-DpK3sGPc.mjs} +1 -1
  318. package/dist/parseHonoQuery-DpK3sGPc.mjs.map +1 -0
  319. package/dist/parseQueryParams-BSNkjmZ9.cjs.map +1 -1
  320. package/dist/parseQueryParams-UMTRnRrW.mjs.map +1 -1
  321. package/dist/processAudits-CzHkPokQ.cjs.map +1 -1
  322. package/dist/processAudits-Dj8UGqcW.mjs.map +1 -1
  323. package/dist/publisher-BXG9YiRi.d.mts +16 -0
  324. package/dist/publisher-BXG9YiRi.d.mts.map +1 -0
  325. package/dist/publisher-Bw4770Hi.mjs.map +1 -1
  326. package/dist/publisher-D9ngDXg3.d.cts +16 -0
  327. package/dist/publisher-D9ngDXg3.d.cts.map +1 -0
  328. package/dist/publisher-lFQleddL.cjs.map +1 -1
  329. package/dist/publisher.d.cts +3 -16
  330. package/dist/publisher.d.mts +3 -16
  331. package/dist/{rls-CmJ7bRsz.cjs → rls-BrywnrQb.cjs} +1 -1
  332. package/dist/{rls-CmJ7bRsz.cjs.map → rls-BrywnrQb.cjs.map} +1 -1
  333. package/dist/{rls-Bf3FRwto.mjs → rls-C0cWOnk4.mjs} +1 -1
  334. package/dist/{rls-Bf3FRwto.mjs.map → rls-C0cWOnk4.mjs.map} +1 -1
  335. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  336. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  337. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  338. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  339. package/dist/subscribers/Subscriber.cjs +2 -2
  340. package/dist/subscribers/Subscriber.d.cts +2 -2
  341. package/dist/subscribers/Subscriber.d.mts +2 -2
  342. package/dist/subscribers/Subscriber.mjs +2 -2
  343. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  344. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  345. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  346. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  347. package/dist/subscribers/index.cjs +3 -3
  348. package/dist/subscribers/index.cjs.map +1 -1
  349. package/dist/subscribers/index.d.cts +5 -5
  350. package/dist/subscribers/index.d.cts.map +1 -1
  351. package/dist/subscribers/index.d.mts +5 -5
  352. package/dist/subscribers/index.d.mts.map +1 -1
  353. package/dist/subscribers/index.mjs +3 -3
  354. package/dist/subscribers/index.mjs.map +1 -1
  355. package/dist/telemetry-BTaiRqPo.d.cts +95 -0
  356. package/dist/telemetry-BTaiRqPo.d.cts.map +1 -0
  357. package/dist/telemetry-yAHf5yDs.d.mts +95 -0
  358. package/dist/telemetry-yAHf5yDs.d.mts.map +1 -0
  359. package/dist/telemetry.cjs +0 -0
  360. package/dist/telemetry.d.cts +2 -0
  361. package/dist/telemetry.d.mts +2 -0
  362. package/dist/telemetry.mjs +0 -0
  363. package/dist/types-B5H3piDg.d.cts.map +1 -1
  364. package/dist/{types-DdIlpxAd.d.mts → types-Dw-iLd3Y.d.mts} +1 -1
  365. package/dist/types-Dw-iLd3Y.d.mts.map +1 -0
  366. package/dist/types.d.mts +1 -1
  367. package/package.json +19 -18
  368. package/src/Construct.ts +189 -94
  369. package/src/__benchmarks__/build-time-optimization.bench.ts +274 -0
  370. package/src/__benchmarks__/endpoint.bench.ts +375 -375
  371. package/src/__benchmarks__/fixtures.ts +241 -0
  372. package/src/__benchmarks__/hono-adaptor.bench.ts +533 -0
  373. package/src/__benchmarks__/hono-server.bench.ts +206 -206
  374. package/src/__benchmarks__/response-builder.bench.ts +428 -0
  375. package/src/__benchmarks__/strategies/strategy-a-lazy-services.ts +319 -0
  376. package/src/__benchmarks__/strategies/strategy-c-middleware.ts +530 -0
  377. package/src/__benchmarks__/strategies/strategy-d-opt-in-events.ts +567 -0
  378. package/src/__tests__/Construct.environment.spec.ts +572 -351
  379. package/src/__tests__/publisher.setting.spec.ts +496 -499
  380. package/src/__tests__/publisher.spec.ts +440 -442
  381. package/src/crons/Cron.ts +117 -117
  382. package/src/crons/CronBuilder.ts +237 -238
  383. package/src/crons/__tests__/Cron.spec.ts +448 -448
  384. package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +214 -214
  385. package/src/crons/index.ts +4 -4
  386. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +571 -463
  387. package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +86 -86
  388. package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +85 -81
  389. package/src/endpoints/Authorizer.ts +100 -100
  390. package/src/endpoints/Endpoint.ts +921 -937
  391. package/src/endpoints/EndpointBuilder.ts +703 -703
  392. package/src/endpoints/EndpointFactory.ts +1054 -1056
  393. package/src/endpoints/HonoEndpointAdaptor.ts +621 -548
  394. package/src/endpoints/TestEndpointAdaptor.ts +372 -353
  395. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.audits.spec.ts +499 -0
  396. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +541 -542
  397. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +1172 -1174
  398. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +599 -599
  399. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +710 -710
  400. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.factory-publisher.spec.ts +280 -280
  401. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +924 -730
  402. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.rls.spec.ts +307 -0
  403. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +408 -408
  404. package/src/endpoints/__tests__/Authorizer.spec.ts +286 -0
  405. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +162 -162
  406. package/src/endpoints/__tests__/Endpoint.headers.spec.ts +182 -182
  407. package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +158 -159
  408. package/src/endpoints/__tests__/Endpoint.spec.ts +819 -822
  409. package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +427 -427
  410. package/src/endpoints/__tests__/EndpointBuilder.spec.ts +478 -478
  411. package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +426 -426
  412. package/src/endpoints/__tests__/EndpointFactory.database-auditor.spec.ts +501 -501
  413. package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +177 -177
  414. package/src/endpoints/__tests__/EndpointFactory.spec.ts +471 -471
  415. package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +143 -143
  416. package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +663 -663
  417. package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +608 -608
  418. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +561 -561
  419. package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +1036 -1036
  420. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +278 -278
  421. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +1093 -1093
  422. package/src/endpoints/__tests__/ResponseBuilder.spec.ts +230 -230
  423. package/src/endpoints/__tests__/TestEndpointAdaptor.audits.spec.ts +569 -569
  424. package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +841 -841
  425. package/src/endpoints/__tests__/endpoint-types.test.ts +68 -68
  426. package/src/endpoints/__tests__/helpers.spec.ts +37 -0
  427. package/src/endpoints/__tests__/lazyAccessors.spec.ts +330 -0
  428. package/src/endpoints/__tests__/processAudits.spec.ts +631 -0
  429. package/src/endpoints/audit.ts +51 -51
  430. package/src/endpoints/helpers.ts +34 -35
  431. package/src/endpoints/index.ts +33 -23
  432. package/src/endpoints/lazyAccessors.ts +241 -0
  433. package/src/endpoints/parseHonoQuery.ts +41 -41
  434. package/src/endpoints/parseQueryParams.ts +36 -36
  435. package/src/endpoints/processAudits.ts +269 -269
  436. package/src/endpoints/rls.ts +16 -16
  437. package/src/functions/AWSLambdaFunction.ts +294 -295
  438. package/src/functions/BaseFunctionBuilder.ts +185 -185
  439. package/src/functions/Function.ts +190 -190
  440. package/src/functions/FunctionBuilder.ts +353 -353
  441. package/src/functions/FunctionExecutionWrapper.ts +199 -200
  442. package/src/functions/TestFunctionAdaptor.ts +191 -191
  443. package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +424 -424
  444. package/src/functions/__tests__/Function.audits.spec.ts +364 -364
  445. package/src/functions/__tests__/Function.spec.ts +453 -454
  446. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +179 -179
  447. package/src/functions/__tests__/TestFunctionAdaptor.spec.ts +369 -369
  448. package/src/functions/index.ts +6 -4
  449. package/src/index.ts +18 -9
  450. package/src/publisher.ts +71 -72
  451. package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +244 -248
  452. package/src/subscribers/Subscriber.ts +82 -84
  453. package/src/subscribers/SubscriberBuilder.ts +129 -129
  454. package/src/subscribers/__tests__/AWSLambdaSubscriberAdaptor.spec.ts +589 -589
  455. package/src/subscribers/__tests__/Subscriber.spec.ts +402 -404
  456. package/src/subscribers/index.ts +1 -0
  457. package/src/telemetry.ts +103 -0
  458. package/src/types.ts +7 -7
  459. package/test.ts +58 -59
  460. package/dist/AWSLambdaFunction-BdebRMUh.d.mts.map +0 -1
  461. package/dist/AWSLambdaFunction-C54a1doJ.mjs.map +0 -1
  462. package/dist/AWSLambdaFunction-D0tEOTXQ.d.cts.map +0 -1
  463. package/dist/AWSLambdaFunction-EPGY4s7i.cjs.map +0 -1
  464. package/dist/AWSLambdaSubscriberAdaptor-BLfO612H.mjs.map +0 -1
  465. package/dist/AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs.map +0 -1
  466. package/dist/AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts.map +0 -1
  467. package/dist/AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts.map +0 -1
  468. package/dist/AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs.map +0 -1
  469. package/dist/AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts.map +0 -1
  470. package/dist/AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs.map +0 -1
  471. package/dist/AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts.map +0 -1
  472. package/dist/AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs.map +0 -1
  473. package/dist/AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs.map +0 -1
  474. package/dist/AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts.map +0 -1
  475. package/dist/AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts.map +0 -1
  476. package/dist/AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs.map +0 -1
  477. package/dist/AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts.map +0 -1
  478. package/dist/AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts.map +0 -1
  479. package/dist/AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs.map +0 -1
  480. package/dist/Authorizer-B-btowNd.d.cts.map +0 -1
  481. package/dist/Authorizer-C0ge_tc8.cjs.map +0 -1
  482. package/dist/Authorizer-gWxYsGEp.d.mts.map +0 -1
  483. package/dist/Authorizer-r9U3y_ms.mjs.map +0 -1
  484. package/dist/BaseFunctionBuilder-BAtutR6q.d.cts.map +0 -1
  485. package/dist/BaseFunctionBuilder-Czi1Jwza.mjs.map +0 -1
  486. package/dist/BaseFunctionBuilder-DRY419e7.d.mts.map +0 -1
  487. package/dist/BaseFunctionBuilder-MYG3C9ug.cjs.map +0 -1
  488. package/dist/Construct-Ba5cMxib.cjs.map +0 -1
  489. package/dist/Construct-C4rPE67v.d.cts.map +0 -1
  490. package/dist/Construct-DdyGHuag.mjs +0 -78
  491. package/dist/Construct-DdyGHuag.mjs.map +0 -1
  492. package/dist/Construct-XrijZFFh.d.mts.map +0 -1
  493. package/dist/Cron-BxhGs5up.mjs.map +0 -1
  494. package/dist/Cron-CGF4YAfM.cjs.map +0 -1
  495. package/dist/Cron-bDLcTvV5.d.cts.map +0 -1
  496. package/dist/Cron-cdjlSKNp.d.mts.map +0 -1
  497. package/dist/CronBuilder-BC4m5-p1.d.mts.map +0 -1
  498. package/dist/CronBuilder-CcxKRtVP.cjs.map +0 -1
  499. package/dist/CronBuilder-DKVXyE0Q.d.cts.map +0 -1
  500. package/dist/CronBuilder-d2jh-IB2.mjs.map +0 -1
  501. package/dist/Endpoint-BPv9_-m_.d.cts.map +0 -1
  502. package/dist/Endpoint-BVGZXFyV.cjs.map +0 -1
  503. package/dist/Endpoint-BdwG75G_.d.mts.map +0 -1
  504. package/dist/Endpoint-CuOEswxJ.mjs.map +0 -1
  505. package/dist/EndpointBuilder-B3az942t.d.mts.map +0 -1
  506. package/dist/EndpointBuilder-Cgj1P_ra.cjs.map +0 -1
  507. package/dist/EndpointBuilder-DIy_m1bu.d.cts.map +0 -1
  508. package/dist/EndpointBuilder-DnCB1h1j.mjs.map +0 -1
  509. package/dist/EndpointFactory-C-0nE6Jg.d.mts.map +0 -1
  510. package/dist/EndpointFactory-CYj6BYok.cjs.map +0 -1
  511. package/dist/EndpointFactory-CbdxPCIH.mjs.map +0 -1
  512. package/dist/EndpointFactory-CyPbm3AD.d.cts.map +0 -1
  513. package/dist/Function-BVHqIDp9.mjs.map +0 -1
  514. package/dist/Function-Cf7f_kCz.d.cts.map +0 -1
  515. package/dist/Function-DDZb1525.cjs.map +0 -1
  516. package/dist/Function-DN2G6OT5.d.mts.map +0 -1
  517. package/dist/FunctionBuilder-CJBzzXL3.d.cts.map +0 -1
  518. package/dist/FunctionBuilder-CrDYgfiI.mjs.map +0 -1
  519. package/dist/FunctionBuilder-Cxx8D2na.d.mts.map +0 -1
  520. package/dist/FunctionBuilder-DswJ-9sD.cjs.map +0 -1
  521. package/dist/FunctionExecutionWrapper-BYI2bGTL.cjs.map +0 -1
  522. package/dist/FunctionExecutionWrapper-CLDh7Z2_.mjs.map +0 -1
  523. package/dist/FunctionExecutionWrapper-DF260Aaj.d.mts.map +0 -1
  524. package/dist/FunctionExecutionWrapper-Qy8bmgFR.d.cts.map +0 -1
  525. package/dist/HonoEndpointAdaptor-BaPlUhz0.d.mts.map +0 -1
  526. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs +0 -234
  527. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs.map +0 -1
  528. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs +0 -228
  529. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs.map +0 -1
  530. package/dist/HonoEndpointAdaptor-YcRHYALH.d.cts.map +0 -1
  531. package/dist/Subscriber-BiHjVXtM.cjs.map +0 -1
  532. package/dist/Subscriber-BmPf9GFb.mjs.map +0 -1
  533. package/dist/Subscriber-COYMSevD.d.cts.map +0 -1
  534. package/dist/Subscriber-ikctpU3I.d.mts.map +0 -1
  535. package/dist/SubscriberBuilder-Cp1C-xtT.cjs.map +0 -1
  536. package/dist/SubscriberBuilder-DJPEeYDJ.mjs.map +0 -1
  537. package/dist/SubscriberBuilder-D_9zzllj.d.mts.map +0 -1
  538. package/dist/SubscriberBuilder-ivHAGIVi.d.cts.map +0 -1
  539. package/dist/TestEndpointAdaptor-C10xBI--.d.cts.map +0 -1
  540. package/dist/TestEndpointAdaptor-DB7bREhS.d.mts.map +0 -1
  541. package/dist/TestEndpointAdaptor-DJgik2Wj.mjs +0 -160
  542. package/dist/TestEndpointAdaptor-DJgik2Wj.mjs.map +0 -1
  543. package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs +0 -166
  544. package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs.map +0 -1
  545. package/dist/functions-C6EK1xL6.mjs +0 -8
  546. package/dist/functions-C6EK1xL6.mjs.map +0 -1
  547. package/dist/functions-fTid0RMK.cjs.map +0 -1
  548. package/dist/helpers-BcP1tXAi.cjs.map +0 -1
  549. package/dist/helpers-ByRTDO_m.mjs.map +0 -1
  550. package/dist/index-BWzGIj06.d.mts.map +0 -1
  551. package/dist/index-DmFozqLd.d.cts +0 -12
  552. package/dist/index-DmFozqLd.d.cts.map +0 -1
  553. package/dist/parseHonoQuery-CZC5_97v.cjs.map +0 -1
  554. package/dist/parseHonoQuery-DDgIkTO4.mjs.map +0 -1
  555. package/dist/publisher.d.cts.map +0 -1
  556. package/dist/publisher.d.mts.map +0 -1
  557. package/dist/types-DdIlpxAd.d.mts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import type {
2
- AuditActor,
3
- AuditStorage,
4
- AuditableAction,
2
+ AuditActor,
3
+ AuditableAction,
4
+ AuditStorage,
5
5
  } from '@geekmidas/audit';
6
6
  import { DefaultAuditor } from '@geekmidas/audit';
7
7
  import { EnvironmentParser } from '@geekmidas/envkit';
@@ -9,392 +9,411 @@ import { UnauthorizedError } from '@geekmidas/errors';
9
9
  import type { EventPublisher } from '@geekmidas/events';
10
10
  import type { Logger } from '@geekmidas/logger';
11
11
  import type {
12
- InferComposableStandardSchema,
13
- InferStandardSchema,
12
+ InferComposableStandardSchema,
13
+ InferStandardSchema,
14
14
  } from '@geekmidas/schema';
15
15
  import {
16
- type Service,
17
- ServiceDiscovery,
18
- type ServiceRecord,
16
+ runWithRequestContext,
17
+ type Service,
18
+ ServiceDiscovery,
19
+ type ServiceRecord,
19
20
  } from '@geekmidas/services';
20
21
  import type { StandardSchemaV1 } from '@standard-schema/spec';
21
22
  import { publishConstructEvents } from '../publisher';
22
23
  import type { HttpMethod } from '../types';
24
+ import type { MappedAudit } from './audit';
23
25
  import {
24
- type CookieOptions,
25
- Endpoint,
26
- type EndpointSchemas,
27
- ResponseBuilder,
26
+ type CookieOptions,
27
+ Endpoint,
28
+ type EndpointSchemas,
29
+ ResponseBuilder,
28
30
  } from './Endpoint';
29
- import type { MappedAudit } from './audit';
30
31
  import {
31
- type AuditExecutionContext,
32
- executeWithAuditTransaction,
32
+ createCookieHeaderAccessor,
33
+ createObjectHeaders,
34
+ } from './lazyAccessors';
35
+ import {
36
+ type AuditExecutionContext,
37
+ executeWithAuditTransaction,
33
38
  } from './processAudits';
34
39
 
35
40
  export type TestHttpResponse<TBody = any> = {
36
- body: TBody;
37
- status: number;
38
- headers: Record<string, string | string[]>;
41
+ body: TBody;
42
+ status: number;
43
+ headers: Record<string, string | string[]>;
39
44
  };
40
45
 
41
46
  /**
42
47
  * Serializes a cookie into a Set-Cookie header string
43
48
  */
44
49
  function serializeCookie(
45
- name: string,
46
- value: string,
47
- options?: CookieOptions,
50
+ name: string,
51
+ value: string,
52
+ options?: CookieOptions,
48
53
  ): string {
49
- let cookieString = `${name}=${value}`;
50
-
51
- if (options) {
52
- if (options.maxAge !== undefined) {
53
- cookieString += `; Max-Age=${options.maxAge}`;
54
- }
55
- if (options.expires) {
56
- cookieString += `; Expires=${options.expires.toUTCString()}`;
57
- }
58
- if (options.domain) {
59
- cookieString += `; Domain=${options.domain}`;
60
- }
61
- if (options.path) {
62
- cookieString += `; Path=${options.path}`;
63
- }
64
- if (options.httpOnly) {
65
- cookieString += '; HttpOnly';
66
- }
67
- if (options.secure) {
68
- cookieString += '; Secure';
69
- }
70
- if (options.sameSite) {
71
- cookieString += `; SameSite=${options.sameSite}`;
72
- }
73
- }
74
-
75
- return cookieString;
54
+ let cookieString = `${name}=${value}`;
55
+
56
+ if (options) {
57
+ if (options.maxAge !== undefined) {
58
+ cookieString += `; Max-Age=${options.maxAge}`;
59
+ }
60
+ if (options.expires) {
61
+ cookieString += `; Expires=${options.expires.toUTCString()}`;
62
+ }
63
+ if (options.domain) {
64
+ cookieString += `; Domain=${options.domain}`;
65
+ }
66
+ if (options.path) {
67
+ cookieString += `; Path=${options.path}`;
68
+ }
69
+ if (options.httpOnly) {
70
+ cookieString += '; HttpOnly';
71
+ }
72
+ if (options.secure) {
73
+ cookieString += '; Secure';
74
+ }
75
+ if (options.sameSite) {
76
+ cookieString += `; SameSite=${options.sameSite}`;
77
+ }
78
+ }
79
+
80
+ return cookieString;
76
81
  }
77
82
 
78
83
  export class TestEndpointAdaptor<
79
- TRoute extends string,
80
- TMethod extends HttpMethod,
81
- TInput extends EndpointSchemas = {},
82
- TOutSchema extends StandardSchemaV1 | undefined = undefined,
83
- TServices extends Service[] = [],
84
- TLogger extends Logger = Logger,
85
- TSession = unknown,
86
- TEventPublisher extends EventPublisher<any> | undefined = undefined,
87
- TEventPublisherServiceName extends string = string,
88
- TAuditStorage extends AuditStorage | undefined = undefined,
89
- TAuditStorageServiceName extends string = string,
90
- TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
91
- string,
92
- unknown
93
- >,
94
- TDatabase = undefined,
95
- TDatabaseServiceName extends string = string,
84
+ TRoute extends string,
85
+ TMethod extends HttpMethod,
86
+ TInput extends EndpointSchemas = {},
87
+ TOutSchema extends StandardSchemaV1 | undefined = undefined,
88
+ TServices extends Service[] = [],
89
+ TLogger extends Logger = Logger,
90
+ TSession = unknown,
91
+ TEventPublisher extends EventPublisher<any> | undefined = undefined,
92
+ TEventPublisherServiceName extends string = string,
93
+ TAuditStorage extends AuditStorage | undefined = undefined,
94
+ TAuditStorageServiceName extends string = string,
95
+ TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
96
+ string,
97
+ unknown
98
+ >,
99
+ TDatabase = undefined,
100
+ TDatabaseServiceName extends string = string,
96
101
  > {
97
- static getDefaultServiceDiscover<
98
- TRoute extends string,
99
- TMethod extends HttpMethod,
100
- TInput extends EndpointSchemas = {},
101
- TOutSchema extends StandardSchemaV1 | undefined = undefined,
102
- TServices extends Service[] = [],
103
- TLogger extends Logger = Logger,
104
- TSession = unknown,
105
- TEventPublisher extends EventPublisher<any> | undefined = undefined,
106
- TEventPublisherServiceName extends string = string,
107
- TAuditStorage extends AuditStorage | undefined = undefined,
108
- TAuditStorageServiceName extends string = string,
109
- TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
110
- string,
111
- unknown
112
- >,
113
- TDatabase = undefined,
114
- TDatabaseServiceName extends string = string,
115
- >(
116
- endpoint: Endpoint<
117
- TRoute,
118
- TMethod,
119
- TInput,
120
- TOutSchema,
121
- TServices,
122
- TLogger,
123
- TSession,
124
- TEventPublisher,
125
- TEventPublisherServiceName,
126
- TAuditStorage,
127
- TAuditStorageServiceName,
128
- TAuditAction,
129
- TDatabase,
130
- TDatabaseServiceName
131
- >,
132
- ) {
133
- return ServiceDiscovery.getInstance(
134
- endpoint.logger,
135
- new EnvironmentParser({}),
136
- );
137
- }
138
- constructor(
139
- private readonly endpoint: Endpoint<
140
- TRoute,
141
- TMethod,
142
- TInput,
143
- TOutSchema,
144
- TServices,
145
- TLogger,
146
- TSession,
147
- TEventPublisher,
148
- TEventPublisherServiceName,
149
- TAuditStorage,
150
- TAuditStorageServiceName,
151
- TAuditAction,
152
- TDatabase,
153
- TDatabaseServiceName
154
- >,
155
- private serviceDiscovery: ServiceDiscovery<
156
- any,
157
- any
158
- > = TestEndpointAdaptor.getDefaultServiceDiscover(endpoint),
159
- ) {}
160
-
161
- async fullRequest(
162
- ctx: TestRequestAdaptor<
163
- TInput,
164
- TServices,
165
- TEventPublisher,
166
- TEventPublisherServiceName,
167
- TAuditStorage,
168
- TAuditStorageServiceName,
169
- TDatabase,
170
- TDatabaseServiceName
171
- >,
172
- ): Promise<TestHttpResponse<InferStandardSchema<TOutSchema>>> {
173
- const body = await this.endpoint.parseInput((ctx as any).body, 'body');
174
- const query = await this.endpoint.parseInput((ctx as any).query, 'query');
175
- const params = await this.endpoint.parseInput(
176
- (ctx as any).params,
177
- 'params',
178
- );
179
-
180
- const header = Endpoint.createHeaders(ctx.headers);
181
- const cookie = Endpoint.createCookies(ctx.headers.cookie);
182
- const logger = this.endpoint.logger.child({
183
- route: this.endpoint.route,
184
- host: ctx.headers.host,
185
- method: this.endpoint.method,
186
- }) as TLogger;
187
-
188
- // Get database from context for session extraction
189
- const rawDb = (ctx as any).database as TDatabase;
190
-
191
- const session = await this.endpoint.getSession({
192
- logger,
193
- services: ctx.services,
194
- header,
195
- cookie,
196
- ...(rawDb !== undefined && { db: rawDb }),
197
- } as any);
198
-
199
- // Check authorization
200
- const isAuthorized = await this.endpoint.authorize({
201
- header,
202
- cookie,
203
- services: ctx.services,
204
- logger,
205
- session,
206
- });
207
-
208
- if (!isAuthorized) {
209
- logger.warn('Unauthorized access attempt');
210
- throw new UnauthorizedError(
211
- 'Unauthorized access to the endpoint',
212
- 'You do not have permission to access this resource.',
213
- );
214
- }
215
-
216
- // Create audit context if audit storage is provided
217
- // The auditorStorage instance is required when endpoint uses .auditor()
218
- const auditorStorage = (ctx as any).auditorStorage as TAuditStorage;
219
- let auditContext: AuditExecutionContext<TAuditAction> | undefined;
220
-
221
- if (auditorStorage) {
222
- // Extract actor if configured
223
- let actor: AuditActor = { id: 'system', type: 'system' };
224
- if (this.endpoint.actorExtractor) {
225
- try {
226
- actor = await this.endpoint.actorExtractor({
227
- services: ctx.services as any,
228
- session,
229
- header,
230
- cookie,
231
- logger,
232
- });
233
- } catch (error) {
234
- logger.error(error as Error, 'Failed to extract actor for audits');
235
- }
236
- }
237
-
238
- const auditor = new DefaultAuditor<TAuditAction>({
239
- actor,
240
- storage: auditorStorage as AuditStorage,
241
- metadata: {
242
- endpoint: this.endpoint.route,
243
- method: this.endpoint.method,
244
- },
245
- });
246
-
247
- auditContext = { auditor, storage: auditorStorage as AuditStorage };
248
- }
249
-
250
- // Warn if declarative audits are configured but no audit storage
251
- const audits = this.endpoint.audits as MappedAudit<
252
- TAuditAction,
253
- TOutSchema
254
- >[];
255
- if (!auditContext && audits?.length) {
256
- logger.warn('No auditor storage service available');
257
- }
258
-
259
- // Execute handler with automatic audit transaction support
260
- const result = await executeWithAuditTransaction(
261
- auditContext,
262
- async (auditor) => {
263
- // Use audit transaction as db if available (when storage has same database)
264
- // For testing, the tester controls whether to use transactional auditing
265
- const trx = auditor?.getTransaction?.();
266
- const db = trx ?? rawDb;
267
-
268
- const responseBuilder = new ResponseBuilder();
269
- const response = await this.endpoint.handler(
270
- {
271
- body,
272
- query,
273
- params,
274
- session,
275
- services: ctx.services,
276
- logger,
277
- header,
278
- cookie,
279
- auditor,
280
- db,
281
- } as any,
282
- responseBuilder,
283
- );
284
-
285
- // Check if response has metadata
286
- let data = response;
287
- let metadata = responseBuilder.getMetadata();
288
-
289
- if (Endpoint.hasMetadata(response)) {
290
- data = response.data;
291
- metadata = response.metadata;
292
- }
293
-
294
- const output = await this.endpoint.parseOutput(data);
295
-
296
- return { output, metadata, responseBuilder };
297
- },
298
- // Process declarative audits after handler (inside transaction)
299
- async (result, auditor) => {
300
- if (!audits?.length) return;
301
-
302
- for (const audit of audits) {
303
- if (audit.when && !audit.when(result.output as any)) {
304
- continue;
305
- }
306
- const payload = audit.payload(result.output as any);
307
- const entityId = audit.entityId?.(result.output as any);
308
- auditor.audit(audit.type as any, payload as any, {
309
- table: audit.table,
310
- entityId,
311
- });
312
- }
313
- },
314
- // Pass rawDb so storage can reuse existing transactions
315
- { db: rawDb },
316
- );
317
-
318
- const { output, metadata } = result;
319
-
320
- ctx.publisher && (await this.serviceDiscovery.register([ctx.publisher]));
321
- await publishConstructEvents(this.endpoint, output, this.serviceDiscovery);
322
-
323
- // Convert cookies to Set-Cookie headers
324
- const headers: Record<string, string | string[]> = {
325
- ...(metadata.headers || {}),
326
- };
327
-
328
- if (metadata.cookies && metadata.cookies.size > 0) {
329
- const setCookieValues: string[] = [];
330
- for (const [name, cookie] of metadata.cookies.entries()) {
331
- setCookieValues.push(
332
- serializeCookie(name, cookie.value, cookie.options),
333
- );
334
- }
335
- headers['set-cookie'] = setCookieValues;
336
- }
337
-
338
- // Return HTTP response format
339
- return {
340
- body: output,
341
- status: metadata.status || 200,
342
- headers,
343
- };
344
- }
345
-
346
- async request(
347
- ctx: TestRequestAdaptor<
348
- TInput,
349
- TServices,
350
- TEventPublisher,
351
- TEventPublisherServiceName,
352
- TAuditStorage,
353
- TAuditStorageServiceName,
354
- TDatabase,
355
- TDatabaseServiceName
356
- >,
357
- ): Promise<InferStandardSchema<TOutSchema>> {
358
- const response = await this.fullRequest(ctx);
359
- return response.body;
360
- }
102
+ static getDefaultServiceDiscover<
103
+ TRoute extends string,
104
+ TMethod extends HttpMethod,
105
+ TInput extends EndpointSchemas = {},
106
+ TOutSchema extends StandardSchemaV1 | undefined = undefined,
107
+ TServices extends Service[] = [],
108
+ TLogger extends Logger = Logger,
109
+ TSession = unknown,
110
+ TEventPublisher extends EventPublisher<any> | undefined = undefined,
111
+ TEventPublisherServiceName extends string = string,
112
+ TAuditStorage extends AuditStorage | undefined = undefined,
113
+ TAuditStorageServiceName extends string = string,
114
+ TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
115
+ string,
116
+ unknown
117
+ >,
118
+ TDatabase = undefined,
119
+ TDatabaseServiceName extends string = string,
120
+ >(
121
+ _endpoint: Endpoint<
122
+ TRoute,
123
+ TMethod,
124
+ TInput,
125
+ TOutSchema,
126
+ TServices,
127
+ TLogger,
128
+ TSession,
129
+ TEventPublisher,
130
+ TEventPublisherServiceName,
131
+ TAuditStorage,
132
+ TAuditStorageServiceName,
133
+ TAuditAction,
134
+ TDatabase,
135
+ TDatabaseServiceName
136
+ >,
137
+ ) {
138
+ return ServiceDiscovery.getInstance(new EnvironmentParser({}));
139
+ }
140
+ constructor(
141
+ private readonly endpoint: Endpoint<
142
+ TRoute,
143
+ TMethod,
144
+ TInput,
145
+ TOutSchema,
146
+ TServices,
147
+ TLogger,
148
+ TSession,
149
+ TEventPublisher,
150
+ TEventPublisherServiceName,
151
+ TAuditStorage,
152
+ TAuditStorageServiceName,
153
+ TAuditAction,
154
+ TDatabase,
155
+ TDatabaseServiceName
156
+ >,
157
+ private serviceDiscovery: ServiceDiscovery<
158
+ any,
159
+ any
160
+ > = TestEndpointAdaptor.getDefaultServiceDiscover(endpoint),
161
+ ) {}
162
+
163
+ async fullRequest(
164
+ ctx: TestRequestAdaptor<
165
+ TInput,
166
+ TServices,
167
+ TEventPublisher,
168
+ TEventPublisherServiceName,
169
+ TAuditStorage,
170
+ TAuditStorageServiceName,
171
+ TDatabase,
172
+ TDatabaseServiceName
173
+ >,
174
+ ): Promise<TestHttpResponse<InferStandardSchema<TOutSchema>>> {
175
+ const body = await this.endpoint.parseInput((ctx as any).body, 'body');
176
+ const query = await this.endpoint.parseInput((ctx as any).query, 'query');
177
+ const params = await this.endpoint.parseInput(
178
+ (ctx as any).params,
179
+ 'params',
180
+ );
181
+
182
+ // Lazy accessors - defer parsing until needed
183
+ const header = createObjectHeaders(ctx.headers);
184
+ const cookie = createCookieHeaderAccessor(ctx.headers.cookie);
185
+
186
+ // Request context setup
187
+ const startTime = Date.now();
188
+ const requestId =
189
+ (ctx as any).requestId ??
190
+ ctx.headers['x-request-id'] ??
191
+ crypto.randomUUID();
192
+
193
+ const logger = this.endpoint.logger.child({
194
+ requestId,
195
+ route: this.endpoint.route,
196
+ host: ctx.headers.host,
197
+ method: this.endpoint.method,
198
+ }) as TLogger;
199
+
200
+ // Get database from context for session extraction
201
+ const rawDb = (ctx as any).database as TDatabase;
202
+
203
+ // Wrap handler execution in request context
204
+ return runWithRequestContext({ logger, requestId, startTime }, async () => {
205
+ const session = await this.endpoint.getSession({
206
+ logger,
207
+ services: ctx.services,
208
+ header,
209
+ cookie,
210
+ ...(rawDb !== undefined && { db: rawDb }),
211
+ } as any);
212
+
213
+ // Check authorization
214
+ const isAuthorized = await this.endpoint.authorize({
215
+ header,
216
+ cookie,
217
+ services: ctx.services,
218
+ logger,
219
+ session,
220
+ });
221
+
222
+ if (!isAuthorized) {
223
+ logger.warn('Unauthorized access attempt');
224
+ throw new UnauthorizedError(
225
+ 'Unauthorized access to the endpoint',
226
+ 'You do not have permission to access this resource.',
227
+ );
228
+ }
229
+
230
+ // Create audit context if audit storage is provided
231
+ // The auditorStorage instance is required when endpoint uses .auditor()
232
+ const auditorStorage = (ctx as any).auditorStorage as TAuditStorage;
233
+ let auditContext: AuditExecutionContext<TAuditAction> | undefined;
234
+
235
+ if (auditorStorage) {
236
+ // Extract actor if configured
237
+ let actor: AuditActor = { id: 'system', type: 'system' };
238
+ if (this.endpoint.actorExtractor) {
239
+ try {
240
+ actor = await this.endpoint.actorExtractor({
241
+ services: ctx.services as any,
242
+ session,
243
+ header,
244
+ cookie,
245
+ logger,
246
+ });
247
+ } catch (error) {
248
+ logger.error(error as Error, 'Failed to extract actor for audits');
249
+ }
250
+ }
251
+
252
+ const auditor = new DefaultAuditor<TAuditAction>({
253
+ actor,
254
+ storage: auditorStorage as AuditStorage,
255
+ metadata: {
256
+ endpoint: this.endpoint.route,
257
+ method: this.endpoint.method,
258
+ },
259
+ });
260
+
261
+ auditContext = { auditor, storage: auditorStorage as AuditStorage };
262
+ }
263
+
264
+ // Warn if declarative audits are configured but no audit storage
265
+ const audits = this.endpoint.audits as MappedAudit<
266
+ TAuditAction,
267
+ TOutSchema
268
+ >[];
269
+ if (!auditContext && audits?.length) {
270
+ logger.warn('No auditor storage service available');
271
+ }
272
+
273
+ // Execute handler with automatic audit transaction support
274
+ const result = await executeWithAuditTransaction(
275
+ auditContext,
276
+ async (auditor) => {
277
+ // Use audit transaction as db if available (when storage has same database)
278
+ // For testing, the tester controls whether to use transactional auditing
279
+ const trx = auditor?.getTransaction?.();
280
+ const db = trx ?? rawDb;
281
+
282
+ const responseBuilder = new ResponseBuilder();
283
+ const response = await this.endpoint.handler(
284
+ {
285
+ body,
286
+ query,
287
+ params,
288
+ session,
289
+ services: ctx.services,
290
+ logger,
291
+ header,
292
+ cookie,
293
+ auditor,
294
+ db,
295
+ } as any,
296
+ responseBuilder,
297
+ );
298
+
299
+ // Check if response has metadata
300
+ let data = response;
301
+ let metadata = responseBuilder.getMetadata();
302
+
303
+ if (Endpoint.hasMetadata(response)) {
304
+ data = response.data;
305
+ metadata = response.metadata;
306
+ }
307
+
308
+ const output = await this.endpoint.parseOutput(data);
309
+
310
+ return { output, metadata, responseBuilder };
311
+ },
312
+ // Process declarative audits after handler (inside transaction)
313
+ async (result, auditor) => {
314
+ if (!audits?.length) return;
315
+
316
+ for (const audit of audits) {
317
+ if (audit.when && !audit.when(result.output as any)) {
318
+ continue;
319
+ }
320
+ const payload = audit.payload(result.output as any);
321
+ const entityId = audit.entityId?.(result.output as any);
322
+ auditor.audit(audit.type as any, payload as any, {
323
+ table: audit.table,
324
+ entityId,
325
+ });
326
+ }
327
+ },
328
+ // Pass rawDb so storage can reuse existing transactions
329
+ { db: rawDb },
330
+ );
331
+
332
+ const { output, metadata } = result;
333
+
334
+ ctx.publisher && (await this.serviceDiscovery.register([ctx.publisher]));
335
+ await publishConstructEvents(
336
+ this.endpoint,
337
+ output,
338
+ this.serviceDiscovery,
339
+ );
340
+
341
+ // Convert cookies to Set-Cookie headers
342
+ const headers: Record<string, string | string[]> = {
343
+ ...(metadata.headers || {}),
344
+ };
345
+
346
+ if (metadata.cookies && metadata.cookies.size > 0) {
347
+ const setCookieValues: string[] = [];
348
+ for (const [name, cookie] of metadata.cookies.entries()) {
349
+ setCookieValues.push(
350
+ serializeCookie(name, cookie.value, cookie.options),
351
+ );
352
+ }
353
+ headers['set-cookie'] = setCookieValues;
354
+ }
355
+
356
+ // Return HTTP response format
357
+ return {
358
+ body: output,
359
+ status: metadata.status || 200,
360
+ headers,
361
+ };
362
+ });
363
+ }
364
+
365
+ async request(
366
+ ctx: TestRequestAdaptor<
367
+ TInput,
368
+ TServices,
369
+ TEventPublisher,
370
+ TEventPublisherServiceName,
371
+ TAuditStorage,
372
+ TAuditStorageServiceName,
373
+ TDatabase,
374
+ TDatabaseServiceName
375
+ >,
376
+ ): Promise<InferStandardSchema<TOutSchema>> {
377
+ const response = await this.fullRequest(ctx);
378
+ return response.body;
379
+ }
361
380
  }
362
381
 
363
382
  /**
364
383
  * Conditional audit storage requirement - required when TAuditStorage is configured
365
384
  */
366
385
  type AuditStorageRequirement<
367
- TAuditStorage extends AuditStorage | undefined = undefined,
386
+ TAuditStorage extends AuditStorage | undefined = undefined,
368
387
  > = TAuditStorage extends undefined
369
- ? {}
370
- : {
371
- /** Audit storage instance - required when endpoint uses .auditor() */
372
- auditorStorage: TAuditStorage;
373
- };
388
+ ? {}
389
+ : {
390
+ /** Audit storage instance - required when endpoint uses .auditor() */
391
+ auditorStorage: TAuditStorage;
392
+ };
374
393
 
375
394
  /**
376
395
  * Conditional database requirement - required when TDatabase is configured
377
396
  */
378
397
  type DatabaseRequirement<TDatabase = undefined> = TDatabase extends undefined
379
- ? {}
380
- : {
381
- /** Database instance - required when endpoint uses .database() */
382
- database: TDatabase;
383
- };
398
+ ? {}
399
+ : {
400
+ /** Database instance - required when endpoint uses .database() */
401
+ database: TDatabase;
402
+ };
384
403
 
385
404
  export type TestRequestAdaptor<
386
- TInput extends EndpointSchemas = {},
387
- TServices extends Service[] = [],
388
- TEventPublisher extends EventPublisher<any> | undefined = undefined,
389
- TEventPublisherServiceName extends string = string,
390
- TAuditStorage extends AuditStorage | undefined = undefined,
391
- _TAuditStorageServiceName extends string = string,
392
- TDatabase = undefined,
393
- _TDatabaseServiceName extends string = string,
405
+ TInput extends EndpointSchemas = {},
406
+ TServices extends Service[] = [],
407
+ TEventPublisher extends EventPublisher<any> | undefined = undefined,
408
+ TEventPublisherServiceName extends string = string,
409
+ TAuditStorage extends AuditStorage | undefined = undefined,
410
+ _TAuditStorageServiceName extends string = string,
411
+ TDatabase = undefined,
412
+ _TDatabaseServiceName extends string = string,
394
413
  > = {
395
- services: ServiceRecord<TServices>;
396
- headers: Record<string, string>;
397
- publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
414
+ services: ServiceRecord<TServices>;
415
+ headers: Record<string, string>;
416
+ publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
398
417
  } & InferComposableStandardSchema<TInput> &
399
- AuditStorageRequirement<TAuditStorage> &
400
- DatabaseRequirement<TDatabase>;
418
+ AuditStorageRequirement<TAuditStorage> &
419
+ DatabaseRequirement<TDatabase>;