@geekmidas/constructs 0.2.3 → 0.3.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 (208) hide show
  1. package/dist/{AWSLambdaFunction-H65WfXLt.mjs → AWSLambdaFunction-C54a1doJ.mjs} +3 -3
  2. package/dist/{AWSLambdaFunction-H65WfXLt.mjs.map → AWSLambdaFunction-C54a1doJ.mjs.map} +1 -1
  3. package/dist/{AWSLambdaFunction-C-fuCLA3.cjs → AWSLambdaFunction-EPGY4s7i.cjs} +3 -3
  4. package/dist/{AWSLambdaFunction-C-fuCLA3.cjs.map → AWSLambdaFunction-EPGY4s7i.cjs.map} +1 -1
  5. package/dist/{AmazonApiGatewayEndpointAdaptor-pEWzF2uY.mjs → AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs} +2 -2
  6. package/dist/{AmazonApiGatewayEndpointAdaptor-pEWzF2uY.mjs.map → AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs.map} +1 -1
  7. package/dist/{AmazonApiGatewayEndpointAdaptor-Bk6ssx3K.cjs → AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs} +2 -2
  8. package/dist/{AmazonApiGatewayEndpointAdaptor-Bk6ssx3K.cjs.map → AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs.map} +1 -1
  9. package/dist/{AmazonApiGatewayV1EndpointAdaptor-MJpRbIaQ.mjs → AmazonApiGatewayV1EndpointAdaptor-BbkfC1dk.mjs} +2 -2
  10. package/dist/{AmazonApiGatewayV1EndpointAdaptor-MJpRbIaQ.mjs.map → AmazonApiGatewayV1EndpointAdaptor-BbkfC1dk.mjs.map} +1 -1
  11. package/dist/{AmazonApiGatewayV1EndpointAdaptor-uBp_4zLf.cjs → AmazonApiGatewayV1EndpointAdaptor-BiNzaAxD.cjs} +2 -2
  12. package/dist/{AmazonApiGatewayV1EndpointAdaptor-uBp_4zLf.cjs.map → AmazonApiGatewayV1EndpointAdaptor-BiNzaAxD.cjs.map} +1 -1
  13. package/dist/{AmazonApiGatewayV2EndpointAdaptor-I1W23Nvn.cjs → AmazonApiGatewayV2EndpointAdaptor-DZclCykB.cjs} +2 -2
  14. package/dist/{AmazonApiGatewayV2EndpointAdaptor-I1W23Nvn.cjs.map → AmazonApiGatewayV2EndpointAdaptor-DZclCykB.cjs.map} +1 -1
  15. package/dist/{AmazonApiGatewayV2EndpointAdaptor-ChO8BlDz.mjs → AmazonApiGatewayV2EndpointAdaptor-jRrQrIdm.mjs} +2 -2
  16. package/dist/{AmazonApiGatewayV2EndpointAdaptor-ChO8BlDz.mjs.map → AmazonApiGatewayV2EndpointAdaptor-jRrQrIdm.mjs.map} +1 -1
  17. package/dist/{Authorizer-bO8pUWlg.cjs → Authorizer-C0ge_tc8.cjs} +1 -1
  18. package/dist/{Authorizer-bO8pUWlg.cjs.map → Authorizer-C0ge_tc8.cjs.map} +1 -1
  19. package/dist/{Authorizer-5UwTFGFA.mjs → Authorizer-r9U3y_ms.mjs} +1 -1
  20. package/dist/{Authorizer-5UwTFGFA.mjs.map → Authorizer-r9U3y_ms.mjs.map} +1 -1
  21. package/dist/{BaseFunctionBuilder-B5gkW0Kt.mjs → BaseFunctionBuilder-Czi1Jwza.mjs} +2 -2
  22. package/dist/{BaseFunctionBuilder-B5gkW0Kt.mjs.map → BaseFunctionBuilder-Czi1Jwza.mjs.map} +1 -1
  23. package/dist/{BaseFunctionBuilder-C5Se7pdL.cjs → BaseFunctionBuilder-MYG3C9ug.cjs} +2 -2
  24. package/dist/{BaseFunctionBuilder-C5Se7pdL.cjs.map → BaseFunctionBuilder-MYG3C9ug.cjs.map} +1 -1
  25. package/dist/{Construct-BYSPikVm.cjs → Construct-Ba5cMxib.cjs} +2 -2
  26. package/dist/{Construct-BYSPikVm.cjs.map → Construct-Ba5cMxib.cjs.map} +1 -1
  27. package/dist/{Construct-LWeB1rSQ.mjs → Construct-DdyGHuag.mjs} +2 -2
  28. package/dist/{Construct-LWeB1rSQ.mjs.map → Construct-DdyGHuag.mjs.map} +1 -1
  29. package/dist/Construct.cjs +1 -1
  30. package/dist/Construct.mjs +1 -1
  31. package/dist/{Cron-B_J26y4S.mjs → Cron-BxhGs5up.mjs} +3 -3
  32. package/dist/{Cron-B_J26y4S.mjs.map → Cron-BxhGs5up.mjs.map} +1 -1
  33. package/dist/{Cron-at8QLgVN.cjs → Cron-CGF4YAfM.cjs} +3 -3
  34. package/dist/{Cron-at8QLgVN.cjs.map → Cron-CGF4YAfM.cjs.map} +1 -1
  35. package/dist/{CronBuilder-B62sGZ1a.cjs → CronBuilder-CcxKRtVP.cjs} +4 -4
  36. package/dist/{CronBuilder-B62sGZ1a.cjs.map → CronBuilder-CcxKRtVP.cjs.map} +1 -1
  37. package/dist/{CronBuilder-DQQwfklF.mjs → CronBuilder-d2jh-IB2.mjs} +4 -4
  38. package/dist/{CronBuilder-DQQwfklF.mjs.map → CronBuilder-d2jh-IB2.mjs.map} +1 -1
  39. package/dist/{Endpoint-BJo9Hhwm.cjs → Endpoint-BVGZXFyV.cjs} +3 -3
  40. package/dist/{Endpoint-BJo9Hhwm.cjs.map → Endpoint-BVGZXFyV.cjs.map} +1 -1
  41. package/dist/{Endpoint-B70_KKhu.mjs → Endpoint-CuOEswxJ.mjs} +3 -3
  42. package/dist/{Endpoint-B70_KKhu.mjs.map → Endpoint-CuOEswxJ.mjs.map} +1 -1
  43. package/dist/{EndpointBuilder-Ddy5Q8rO.cjs → EndpointBuilder-Cgj1P_ra.cjs} +6 -6
  44. package/dist/{EndpointBuilder-Ddy5Q8rO.cjs.map → EndpointBuilder-Cgj1P_ra.cjs.map} +1 -1
  45. package/dist/{EndpointBuilder-XnuNlUQs.mjs → EndpointBuilder-DnCB1h1j.mjs} +6 -6
  46. package/dist/{EndpointBuilder-XnuNlUQs.mjs.map → EndpointBuilder-DnCB1h1j.mjs.map} +1 -1
  47. package/dist/{EndpointFactory-VxyowJQC.cjs → EndpointFactory-CYj6BYok.cjs} +7 -6
  48. package/dist/EndpointFactory-CYj6BYok.cjs.map +1 -0
  49. package/dist/{EndpointFactory-BX5qoLCE.mjs → EndpointFactory-CbdxPCIH.mjs} +7 -6
  50. package/dist/EndpointFactory-CbdxPCIH.mjs.map +1 -0
  51. package/dist/{EndpointFactory-3g-7Rznt.d.cts → EndpointFactory-D8I4NNCo.d.cts} +14 -13
  52. package/dist/{EndpointFactory-DaFR9LQG.d.mts → EndpointFactory-jAkQxWRj.d.mts} +14 -13
  53. package/dist/{Function-DfKsM5Kx.mjs → Function-BVHqIDp9.mjs} +2 -2
  54. package/dist/{Function-DfKsM5Kx.mjs.map → Function-BVHqIDp9.mjs.map} +1 -1
  55. package/dist/{Function-DagDbeXo.cjs → Function-DDZb1525.cjs} +2 -2
  56. package/dist/{Function-DagDbeXo.cjs.map → Function-DDZb1525.cjs.map} +1 -1
  57. package/dist/{FunctionBuilder-CVT7bG2o.mjs → FunctionBuilder-CrDYgfiI.mjs} +4 -4
  58. package/dist/{FunctionBuilder-CVT7bG2o.mjs.map → FunctionBuilder-CrDYgfiI.mjs.map} +1 -1
  59. package/dist/{FunctionBuilder-DXvG_XD-.cjs → FunctionBuilder-DswJ-9sD.cjs} +4 -4
  60. package/dist/{FunctionBuilder-DXvG_XD-.cjs.map → FunctionBuilder-DswJ-9sD.cjs.map} +1 -1
  61. package/dist/{FunctionExecutionWrapper-DkNycmOh.cjs → FunctionExecutionWrapper-BYI2bGTL.cjs} +2 -2
  62. package/dist/{FunctionExecutionWrapper-DkNycmOh.cjs.map → FunctionExecutionWrapper-BYI2bGTL.cjs.map} +1 -1
  63. package/dist/{FunctionExecutionWrapper-Bubnr0zA.mjs → FunctionExecutionWrapper-CLDh7Z2_.mjs} +2 -2
  64. package/dist/{FunctionExecutionWrapper-Bubnr0zA.mjs.map → FunctionExecutionWrapper-CLDh7Z2_.mjs.map} +1 -1
  65. package/dist/{HonoEndpointAdaptor-D8a3lZN8.d.cts → HonoEndpointAdaptor-Bx9Y1bCZ.d.cts} +3 -3
  66. package/dist/{HonoEndpointAdaptor-CcvXzoYV.mjs → HonoEndpointAdaptor-NLlQk5iU.mjs} +4 -5
  67. package/dist/{HonoEndpointAdaptor-CcvXzoYV.mjs.map → HonoEndpointAdaptor-NLlQk5iU.mjs.map} +1 -1
  68. package/dist/{HonoEndpointAdaptor-DodwLM0-.cjs → HonoEndpointAdaptor-e6l9eVDU.cjs} +4 -5
  69. package/dist/{HonoEndpointAdaptor-DodwLM0-.cjs.map → HonoEndpointAdaptor-e6l9eVDU.cjs.map} +1 -1
  70. package/dist/{HonoEndpointAdaptor-C10W7xCf.d.mts → HonoEndpointAdaptor-kb1ByjUL.d.mts} +3 -3
  71. package/dist/{Subscriber-DOt3svUC.cjs → Subscriber-BiHjVXtM.cjs} +2 -2
  72. package/dist/{Subscriber-DOt3svUC.cjs.map → Subscriber-BiHjVXtM.cjs.map} +1 -1
  73. package/dist/{Subscriber-kCHbH2fZ.mjs → Subscriber-BmPf9GFb.mjs} +2 -2
  74. package/dist/{Subscriber-kCHbH2fZ.mjs.map → Subscriber-BmPf9GFb.mjs.map} +1 -1
  75. package/dist/{SubscriberBuilder-Cj2u9k5Q.cjs → SubscriberBuilder-Cp1C-xtT.cjs} +2 -2
  76. package/dist/{SubscriberBuilder-Cj2u9k5Q.cjs.map → SubscriberBuilder-Cp1C-xtT.cjs.map} +1 -1
  77. package/dist/{SubscriberBuilder-DmxMU89X.mjs → SubscriberBuilder-DJPEeYDJ.mjs} +2 -2
  78. package/dist/{SubscriberBuilder-DmxMU89X.mjs.map → SubscriberBuilder-DJPEeYDJ.mjs.map} +1 -1
  79. package/dist/{TestEndpointAdaptor-wA-fmq4v.cjs → TestEndpointAdaptor-opEisC30.cjs} +2 -2
  80. package/dist/{TestEndpointAdaptor-wA-fmq4v.cjs.map → TestEndpointAdaptor-opEisC30.cjs.map} +1 -1
  81. package/dist/{TestEndpointAdaptor-1pPixE6y.mjs → TestEndpointAdaptor-oq5mfglM.mjs} +2 -2
  82. package/dist/{TestEndpointAdaptor-1pPixE6y.mjs.map → TestEndpointAdaptor-oq5mfglM.mjs.map} +1 -1
  83. package/dist/adaptors/aws.cjs +11 -11
  84. package/dist/adaptors/aws.d.cts +1 -1
  85. package/dist/adaptors/aws.d.mts +1 -1
  86. package/dist/adaptors/aws.mjs +11 -11
  87. package/dist/adaptors/hono.cjs +8 -8
  88. package/dist/adaptors/hono.d.cts +2 -2
  89. package/dist/adaptors/hono.d.mts +2 -2
  90. package/dist/adaptors/hono.mjs +8 -8
  91. package/dist/adaptors/testing.cjs +7 -7
  92. package/dist/adaptors/testing.d.cts +1 -1
  93. package/dist/adaptors/testing.d.mts +1 -1
  94. package/dist/adaptors/testing.mjs +7 -7
  95. package/dist/crons/Cron.cjs +6 -6
  96. package/dist/crons/Cron.d.cts +1 -1
  97. package/dist/crons/Cron.d.mts +1 -1
  98. package/dist/crons/Cron.mjs +6 -6
  99. package/dist/crons/CronBuilder.cjs +7 -7
  100. package/dist/crons/CronBuilder.d.cts +1 -1
  101. package/dist/crons/CronBuilder.d.mts +1 -1
  102. package/dist/crons/CronBuilder.mjs +7 -7
  103. package/dist/crons/index.cjs +7 -7
  104. package/dist/crons/index.d.cts +5 -5
  105. package/dist/crons/index.d.mts +5 -5
  106. package/dist/crons/index.mjs +7 -7
  107. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
  108. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +1 -1
  109. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +1 -1
  110. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
  111. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
  112. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +1 -1
  113. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +1 -1
  114. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
  115. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
  116. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +1 -1
  117. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +1 -1
  118. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
  119. package/dist/endpoints/Authorizer.cjs +1 -1
  120. package/dist/endpoints/Authorizer.mjs +1 -1
  121. package/dist/endpoints/Endpoint.cjs +6 -6
  122. package/dist/endpoints/Endpoint.d.cts +1 -1
  123. package/dist/endpoints/Endpoint.d.mts +1 -1
  124. package/dist/endpoints/Endpoint.mjs +6 -6
  125. package/dist/endpoints/EndpointBuilder.cjs +9 -9
  126. package/dist/endpoints/EndpointBuilder.d.cts +1 -1
  127. package/dist/endpoints/EndpointBuilder.d.mts +1 -1
  128. package/dist/endpoints/EndpointBuilder.mjs +9 -9
  129. package/dist/endpoints/EndpointFactory.cjs +10 -10
  130. package/dist/endpoints/EndpointFactory.d.cts +4 -4
  131. package/dist/endpoints/EndpointFactory.d.mts +4 -4
  132. package/dist/endpoints/EndpointFactory.mjs +10 -10
  133. package/dist/endpoints/HonoEndpointAdaptor.cjs +8 -8
  134. package/dist/endpoints/HonoEndpointAdaptor.d.cts +2 -2
  135. package/dist/endpoints/HonoEndpointAdaptor.d.mts +2 -2
  136. package/dist/endpoints/HonoEndpointAdaptor.mjs +8 -8
  137. package/dist/endpoints/TestEndpointAdaptor.cjs +7 -7
  138. package/dist/endpoints/TestEndpointAdaptor.d.cts +1 -1
  139. package/dist/endpoints/TestEndpointAdaptor.d.mts +1 -1
  140. package/dist/endpoints/TestEndpointAdaptor.mjs +7 -7
  141. package/dist/endpoints/audit.d.cts +1 -1
  142. package/dist/endpoints/audit.d.mts +1 -1
  143. package/dist/endpoints/helpers.cjs +7 -7
  144. package/dist/endpoints/helpers.d.cts +1 -1
  145. package/dist/endpoints/helpers.d.mts +1 -1
  146. package/dist/endpoints/helpers.mjs +7 -7
  147. package/dist/endpoints/index.cjs +14 -10
  148. package/dist/endpoints/index.cjs.map +1 -1
  149. package/dist/endpoints/index.d.cts +6 -6
  150. package/dist/endpoints/index.d.mts +4 -4
  151. package/dist/endpoints/index.mjs +11 -11
  152. package/dist/endpoints/index.mjs.map +1 -1
  153. package/dist/endpoints/processAudits.d.cts +1 -1
  154. package/dist/endpoints/processAudits.d.mts +1 -1
  155. package/dist/endpoints/rls.cjs +1 -1
  156. package/dist/endpoints/rls.d.cts +1 -1
  157. package/dist/endpoints/rls.d.mts +1 -1
  158. package/dist/endpoints/rls.mjs +1 -1
  159. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  160. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  161. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  162. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  163. package/dist/functions/Function.cjs +2 -2
  164. package/dist/functions/Function.mjs +2 -2
  165. package/dist/functions/FunctionBuilder.cjs +4 -4
  166. package/dist/functions/FunctionBuilder.mjs +4 -4
  167. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  168. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  169. package/dist/functions/TestFunctionAdaptor.cjs +4 -4
  170. package/dist/functions/TestFunctionAdaptor.mjs +4 -4
  171. package/dist/functions/index.cjs +5 -5
  172. package/dist/functions/index.d.cts +1 -1
  173. package/dist/functions/index.d.mts +1 -1
  174. package/dist/functions/index.mjs +5 -5
  175. package/dist/functions-C6EK1xL6.mjs +8 -0
  176. package/dist/{functions-JhRsNoAZ.mjs.map → functions-C6EK1xL6.mjs.map} +1 -1
  177. package/dist/{functions-FCb-wWFC.cjs → functions-fTid0RMK.cjs} +2 -2
  178. package/dist/{functions-FCb-wWFC.cjs.map → functions-fTid0RMK.cjs.map} +1 -1
  179. package/dist/{helpers-DxxSpLfw.cjs → helpers-BcP1tXAi.cjs} +2 -2
  180. package/dist/{helpers-DxxSpLfw.cjs.map → helpers-BcP1tXAi.cjs.map} +1 -1
  181. package/dist/{helpers-C3B2lVrM.mjs → helpers-ByRTDO_m.mjs} +2 -2
  182. package/dist/{helpers-C3B2lVrM.mjs.map → helpers-ByRTDO_m.mjs.map} +1 -1
  183. package/dist/{index-Ceo-GuhJ.d.cts → index-CFyaRrck.d.mts} +2 -2
  184. package/dist/index-CqH4_Ieb.d.cts +10 -0
  185. package/dist/index.cjs +1 -1
  186. package/dist/index.mjs +1 -1
  187. package/dist/{rls-B6WreraR.mjs → rls-Bf3FRwto.mjs} +1 -1
  188. package/dist/{rls-B6WreraR.mjs.map → rls-Bf3FRwto.mjs.map} +1 -1
  189. package/dist/{rls-cLpyGWKe.cjs → rls-CmJ7bRsz.cjs} +1 -1
  190. package/dist/{rls-cLpyGWKe.cjs.map → rls-CmJ7bRsz.cjs.map} +1 -1
  191. package/dist/subscribers/Subscriber.cjs +2 -2
  192. package/dist/subscribers/Subscriber.mjs +2 -2
  193. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  194. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  195. package/dist/subscribers/index.cjs +3 -3
  196. package/dist/subscribers/index.d.mts +2 -2
  197. package/dist/subscribers/index.mjs +3 -3
  198. package/package.json +64 -13
  199. package/src/Construct.ts +3 -3
  200. package/src/__benchmarks__/endpoint.bench.ts +494 -0
  201. package/src/__benchmarks__/hono-server.bench.ts +249 -0
  202. package/src/endpoints/EndpointFactory.ts +50 -22
  203. package/src/endpoints/HonoEndpointAdaptor.ts +1 -2
  204. package/src/endpoints/index.ts +11 -0
  205. package/dist/EndpointFactory-BX5qoLCE.mjs.map +0 -1
  206. package/dist/EndpointFactory-VxyowJQC.cjs.map +0 -1
  207. package/dist/functions-JhRsNoAZ.mjs +0 -8
  208. package/dist/index-BtVKIOXm.d.mts +0 -10
@@ -1,17 +1,17 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import "../Function-DfKsM5Kx.mjs";
3
- import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
4
- import "../FunctionBuilder-CVT7bG2o.mjs";
5
- import "../functions-JhRsNoAZ.mjs";
6
- import { Endpoint } from "../Endpoint-B70_KKhu.mjs";
7
- import "../Authorizer-5UwTFGFA.mjs";
8
- import { RLS_BYPASS } from "../rls-B6WreraR.mjs";
9
- import { EndpointBuilder } from "../EndpointBuilder-XnuNlUQs.mjs";
10
- import { EndpointFactory } from "../EndpointFactory-BX5qoLCE.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import "../Function-BVHqIDp9.mjs";
3
+ import "../BaseFunctionBuilder-Czi1Jwza.mjs";
4
+ import "../FunctionBuilder-CrDYgfiI.mjs";
5
+ import "../functions-C6EK1xL6.mjs";
6
+ import { Endpoint } from "../Endpoint-CuOEswxJ.mjs";
7
+ import { BUILT_IN_SECURITY_SCHEMES, createAuthorizer, getSecurityScheme, isBuiltInSecurityScheme } from "../Authorizer-r9U3y_ms.mjs";
8
+ import { RLS_BYPASS } from "../rls-Bf3FRwto.mjs";
9
+ import { EndpointBuilder } from "../EndpointBuilder-DnCB1h1j.mjs";
10
+ import { EndpointFactory } from "../EndpointFactory-CbdxPCIH.mjs";
11
11
 
12
12
  //#region src/endpoints/index.ts
13
13
  const e = new EndpointFactory();
14
14
 
15
15
  //#endregion
16
- export { Endpoint, EndpointBuilder, EndpointFactory, RLS_BYPASS, e };
16
+ export { BUILT_IN_SECURITY_SCHEMES, Endpoint, EndpointBuilder, EndpointFactory, RLS_BYPASS, createAuthorizer, e, getSecurityScheme, isBuiltInSecurityScheme };
17
17
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/endpoints/index.ts"],"sourcesContent":["import { EndpointFactory } from './EndpointFactory';\n\nexport { EndpointFactory } from './EndpointFactory';\nexport {\n Endpoint,\n type EndpointOutput,\n type EndpointSchemas,\n type EndpointHandler,\n type EndpointContext,\n} from './Endpoint';\nexport { EndpointBuilder } from './EndpointBuilder';\nexport { type MappedAudit, type ActorExtractor } from './audit';\nexport {\n type RlsConfig,\n type RlsContext,\n type RlsContextExtractor,\n RLS_BYPASS,\n type RlsBypass,\n} from './rls';\n\nexport const e = new EndpointFactory();\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAa,IAAI,IAAI"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/endpoints/index.ts"],"sourcesContent":["import { EndpointFactory } from './EndpointFactory';\n\nexport { EndpointFactory } from './EndpointFactory';\nexport {\n Endpoint,\n type EndpointOutput,\n type EndpointSchemas,\n type EndpointHandler,\n type EndpointContext,\n} from './Endpoint';\nexport { EndpointBuilder } from './EndpointBuilder';\nexport { type MappedAudit, type ActorExtractor } from './audit';\nexport {\n type RlsConfig,\n type RlsContext,\n type RlsContextExtractor,\n RLS_BYPASS,\n type RlsBypass,\n} from './rls';\nexport {\n type SecurityScheme,\n type OAuthFlows,\n type OAuthFlow,\n type Authorizer,\n type BuiltInSecuritySchemeId,\n BUILT_IN_SECURITY_SCHEMES,\n createAuthorizer,\n isBuiltInSecurityScheme,\n getSecurityScheme,\n} from './Authorizer';\n\nexport const e = new EndpointFactory();\n"],"mappings":";;;;;;;;;;;;AA+BA,MAAa,IAAI,IAAI"}
@@ -3,7 +3,7 @@ import "../types-Bp9ysFXd.cjs";
3
3
  import "../Function-DHD1V9QW.cjs";
4
4
  import "../BaseFunctionBuilder-DaQA0uKE.cjs";
5
5
  import "../FunctionBuilder-FV6r3I7X.cjs";
6
- import "../index-Ceo-GuhJ.cjs";
6
+ import "../index-CqH4_Ieb.cjs";
7
7
  import "../Authorizer-CpSUMTIs.cjs";
8
8
  import { CookieFn, Endpoint, HeaderFn } from "../Endpoint-CC2RGjkl.cjs";
9
9
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
@@ -3,7 +3,7 @@ import "../types-CScirkHt.mjs";
3
3
  import "../Function-Vh1t-Qjj.mjs";
4
4
  import "../BaseFunctionBuilder-CoV7J45W.mjs";
5
5
  import "../FunctionBuilder-3jsoFffg.mjs";
6
- import "../index-BtVKIOXm.mjs";
6
+ import "../index-CFyaRrck.mjs";
7
7
  import "../Authorizer-Cpx59w_q.mjs";
8
8
  import { CookieFn, Endpoint, HeaderFn } from "../Endpoint-C5djXyae.mjs";
9
9
  import { Service, ServiceDiscovery } from "@geekmidas/services";
@@ -1,3 +1,3 @@
1
- const require_rls = require('../rls-cLpyGWKe.cjs');
1
+ const require_rls = require('../rls-CmJ7bRsz.cjs');
2
2
 
3
3
  exports.RLS_BYPASS = require_rls.RLS_BYPASS;
@@ -3,7 +3,7 @@ import "../types-Bp9ysFXd.cjs";
3
3
  import "../Function-DHD1V9QW.cjs";
4
4
  import "../BaseFunctionBuilder-DaQA0uKE.cjs";
5
5
  import "../FunctionBuilder-FV6r3I7X.cjs";
6
- import "../index-Ceo-GuhJ.cjs";
6
+ import "../index-CqH4_Ieb.cjs";
7
7
  import "../Authorizer-CpSUMTIs.cjs";
8
8
  import { RLS_BYPASS, RlsBypass, RlsConfig, RlsContext, RlsContextExtractor } from "../Endpoint-CC2RGjkl.cjs";
9
9
  export { RLS_BYPASS, RlsBypass, RlsConfig, RlsContext, RlsContextExtractor };
@@ -3,7 +3,7 @@ import "../types-CScirkHt.mjs";
3
3
  import "../Function-Vh1t-Qjj.mjs";
4
4
  import "../BaseFunctionBuilder-CoV7J45W.mjs";
5
5
  import "../FunctionBuilder-3jsoFffg.mjs";
6
- import "../index-BtVKIOXm.mjs";
6
+ import "../index-CFyaRrck.mjs";
7
7
  import "../Authorizer-Cpx59w_q.mjs";
8
8
  import { RLS_BYPASS, RlsBypass, RlsConfig, RlsContext, RlsContextExtractor } from "../Endpoint-C5djXyae.mjs";
9
9
  export { RLS_BYPASS, RlsBypass, RlsConfig, RlsContext, RlsContextExtractor };
@@ -1,3 +1,3 @@
1
- import { RLS_BYPASS } from "../rls-B6WreraR.mjs";
1
+ import { RLS_BYPASS } from "../rls-Bf3FRwto.mjs";
2
2
 
3
3
  export { RLS_BYPASS };
@@ -1,9 +1,9 @@
1
- require('../Construct-BYSPikVm.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
2
  require('../publisher-lFQleddL.cjs');
3
- require('../Function-DagDbeXo.cjs');
4
- require('../BaseFunctionBuilder-C5Se7pdL.cjs');
5
- require('../FunctionBuilder-DXvG_XD-.cjs');
6
- require('../FunctionExecutionWrapper-DkNycmOh.cjs');
7
- const require_AWSLambdaFunction = require('../AWSLambdaFunction-C-fuCLA3.cjs');
3
+ require('../Function-DDZb1525.cjs');
4
+ require('../BaseFunctionBuilder-MYG3C9ug.cjs');
5
+ require('../FunctionBuilder-DswJ-9sD.cjs');
6
+ require('../FunctionExecutionWrapper-BYI2bGTL.cjs');
7
+ const require_AWSLambdaFunction = require('../AWSLambdaFunction-EPGY4s7i.cjs');
8
8
 
9
9
  exports.AWSLambdaFunction = require_AWSLambdaFunction.AWSLambdaFunction;
@@ -1,9 +1,9 @@
1
- import "../Construct-LWeB1rSQ.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
2
  import "../publisher-Bw4770Hi.mjs";
3
- import "../Function-DfKsM5Kx.mjs";
4
- import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
5
- import "../FunctionBuilder-CVT7bG2o.mjs";
6
- import "../FunctionExecutionWrapper-Bubnr0zA.mjs";
7
- import { AWSLambdaFunction } from "../AWSLambdaFunction-H65WfXLt.mjs";
3
+ import "../Function-BVHqIDp9.mjs";
4
+ import "../BaseFunctionBuilder-Czi1Jwza.mjs";
5
+ import "../FunctionBuilder-CrDYgfiI.mjs";
6
+ import "../FunctionExecutionWrapper-CLDh7Z2_.mjs";
7
+ import { AWSLambdaFunction } from "../AWSLambdaFunction-C54a1doJ.mjs";
8
8
 
9
9
  export { AWSLambdaFunction };
@@ -1,4 +1,4 @@
1
- require('../Construct-BYSPikVm.cjs');
2
- const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-C5Se7pdL.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
+ const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-MYG3C9ug.cjs');
3
3
 
4
4
  exports.BaseFunctionBuilder = require_BaseFunctionBuilder.BaseFunctionBuilder;
@@ -1,4 +1,4 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-B5gkW0Kt.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-Czi1Jwza.mjs";
3
3
 
4
4
  export { BaseFunctionBuilder };
@@ -1,5 +1,5 @@
1
- require('../Construct-BYSPikVm.cjs');
2
- const require_Function = require('../Function-DagDbeXo.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
+ const require_Function = require('../Function-DDZb1525.cjs');
3
3
 
4
4
  exports.Function = require_Function.Function;
5
5
  exports.FunctionFactory = require_Function.FunctionFactory;
@@ -1,4 +1,4 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import { Function, FunctionFactory } from "../Function-DfKsM5Kx.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import { Function, FunctionFactory } from "../Function-BVHqIDp9.mjs";
3
3
 
4
4
  export { Function, FunctionFactory };
@@ -1,6 +1,6 @@
1
- require('../Construct-BYSPikVm.cjs');
2
- require('../Function-DagDbeXo.cjs');
3
- require('../BaseFunctionBuilder-C5Se7pdL.cjs');
4
- const require_FunctionBuilder = require('../FunctionBuilder-DXvG_XD-.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
+ require('../Function-DDZb1525.cjs');
3
+ require('../BaseFunctionBuilder-MYG3C9ug.cjs');
4
+ const require_FunctionBuilder = require('../FunctionBuilder-DswJ-9sD.cjs');
5
5
 
6
6
  exports.FunctionBuilder = require_FunctionBuilder.FunctionBuilder;
@@ -1,6 +1,6 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import "../Function-DfKsM5Kx.mjs";
3
- import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-CVT7bG2o.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import "../Function-BVHqIDp9.mjs";
3
+ import "../BaseFunctionBuilder-Czi1Jwza.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-CrDYgfiI.mjs";
5
5
 
6
6
  export { FunctionBuilder };
@@ -1,8 +1,8 @@
1
- require('../Construct-BYSPikVm.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
2
  require('../publisher-lFQleddL.cjs');
3
- require('../Function-DagDbeXo.cjs');
4
- require('../BaseFunctionBuilder-C5Se7pdL.cjs');
5
- require('../FunctionBuilder-DXvG_XD-.cjs');
6
- const require_FunctionExecutionWrapper = require('../FunctionExecutionWrapper-DkNycmOh.cjs');
3
+ require('../Function-DDZb1525.cjs');
4
+ require('../BaseFunctionBuilder-MYG3C9ug.cjs');
5
+ require('../FunctionBuilder-DswJ-9sD.cjs');
6
+ const require_FunctionExecutionWrapper = require('../FunctionExecutionWrapper-BYI2bGTL.cjs');
7
7
 
8
8
  exports.FunctionExecutionWrapper = require_FunctionExecutionWrapper.FunctionExecutionWrapper;
@@ -1,8 +1,8 @@
1
- import "../Construct-LWeB1rSQ.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
2
  import "../publisher-Bw4770Hi.mjs";
3
- import "../Function-DfKsM5Kx.mjs";
4
- import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
5
- import "../FunctionBuilder-CVT7bG2o.mjs";
6
- import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-Bubnr0zA.mjs";
3
+ import "../Function-BVHqIDp9.mjs";
4
+ import "../BaseFunctionBuilder-Czi1Jwza.mjs";
5
+ import "../FunctionBuilder-CrDYgfiI.mjs";
6
+ import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-CLDh7Z2_.mjs";
7
7
 
8
8
  export { FunctionExecutionWrapper };
@@ -1,9 +1,9 @@
1
1
  const require_chunk = require('../chunk-CUT6urMc.cjs');
2
- require('../Construct-BYSPikVm.cjs');
2
+ require('../Construct-Ba5cMxib.cjs');
3
3
  const require_publisher = require('../publisher-lFQleddL.cjs');
4
- require('../Function-DagDbeXo.cjs');
5
- require('../BaseFunctionBuilder-C5Se7pdL.cjs');
6
- const require_FunctionBuilder = require('../FunctionBuilder-DXvG_XD-.cjs');
4
+ require('../Function-DDZb1525.cjs');
5
+ require('../BaseFunctionBuilder-MYG3C9ug.cjs');
6
+ const require_FunctionBuilder = require('../FunctionBuilder-DswJ-9sD.cjs');
7
7
  const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
8
8
  const __geekmidas_audit = require_chunk.__toESM(require("@geekmidas/audit"));
9
9
  const __geekmidas_envkit = require_chunk.__toESM(require("@geekmidas/envkit"));
@@ -1,8 +1,8 @@
1
- import "../Construct-LWeB1rSQ.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
2
  import { publishEvents } from "../publisher-Bw4770Hi.mjs";
3
- import "../Function-DfKsM5Kx.mjs";
4
- import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
5
- import { FunctionBuilder } from "../FunctionBuilder-CVT7bG2o.mjs";
3
+ import "../Function-BVHqIDp9.mjs";
4
+ import "../BaseFunctionBuilder-Czi1Jwza.mjs";
5
+ import { FunctionBuilder } from "../FunctionBuilder-CrDYgfiI.mjs";
6
6
  import { ServiceDiscovery } from "@geekmidas/services";
7
7
  import { DefaultAuditor } from "@geekmidas/audit";
8
8
  import { EnvironmentParser } from "@geekmidas/envkit";
@@ -1,8 +1,8 @@
1
- require('../Construct-BYSPikVm.cjs');
2
- const require_Function = require('../Function-DagDbeXo.cjs');
3
- const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-C5Se7pdL.cjs');
4
- const require_FunctionBuilder = require('../FunctionBuilder-DXvG_XD-.cjs');
5
- const require_functions = require('../functions-FCb-wWFC.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
+ const require_Function = require('../Function-DDZb1525.cjs');
3
+ const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-MYG3C9ug.cjs');
4
+ const require_FunctionBuilder = require('../FunctionBuilder-DswJ-9sD.cjs');
5
+ const require_functions = require('../functions-fTid0RMK.cjs');
6
6
 
7
7
  exports.BaseFunctionBuilder = require_BaseFunctionBuilder.BaseFunctionBuilder;
8
8
  exports.Function = require_Function.Function;
@@ -2,5 +2,5 @@ import "../Construct-Dkd8Kvc9.cjs";
2
2
  import { Function, FunctionContext, FunctionHandler } from "../Function-DHD1V9QW.cjs";
3
3
  import { BaseFunctionBuilder } from "../BaseFunctionBuilder-DaQA0uKE.cjs";
4
4
  import { FunctionBuilder } from "../FunctionBuilder-FV6r3I7X.cjs";
5
- import { f } from "../index-Ceo-GuhJ.cjs";
5
+ import { f } from "../index-CqH4_Ieb.cjs";
6
6
  export { BaseFunctionBuilder, Function, FunctionBuilder, FunctionContext, FunctionHandler, f };
@@ -2,5 +2,5 @@ import "../Construct-jBKqb-Zi.mjs";
2
2
  import { Function, FunctionContext, FunctionHandler } from "../Function-Vh1t-Qjj.mjs";
3
3
  import { BaseFunctionBuilder } from "../BaseFunctionBuilder-CoV7J45W.mjs";
4
4
  import { FunctionBuilder } from "../FunctionBuilder-3jsoFffg.mjs";
5
- import { f } from "../index-BtVKIOXm.mjs";
5
+ import { f } from "../index-CFyaRrck.mjs";
6
6
  export { BaseFunctionBuilder, Function, FunctionBuilder, FunctionContext, FunctionHandler, f };
@@ -1,7 +1,7 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import { Function } from "../Function-DfKsM5Kx.mjs";
3
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-B5gkW0Kt.mjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-CVT7bG2o.mjs";
5
- import { f } from "../functions-JhRsNoAZ.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import { Function } from "../Function-BVHqIDp9.mjs";
3
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-Czi1Jwza.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-CrDYgfiI.mjs";
5
+ import { f } from "../functions-C6EK1xL6.mjs";
6
6
 
7
7
  export { BaseFunctionBuilder, Function, FunctionBuilder, f };
@@ -0,0 +1,8 @@
1
+ import { FunctionBuilder } from "./FunctionBuilder-CrDYgfiI.mjs";
2
+
3
+ //#region src/functions/index.ts
4
+ const f = new FunctionBuilder();
5
+
6
+ //#endregion
7
+ export { f };
8
+ //# sourceMappingURL=functions-C6EK1xL6.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions-JhRsNoAZ.mjs","names":[],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAI"}
1
+ {"version":3,"file":"functions-C6EK1xL6.mjs","names":[],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAI"}
@@ -1,4 +1,4 @@
1
- const require_FunctionBuilder = require('./FunctionBuilder-DXvG_XD-.cjs');
1
+ const require_FunctionBuilder = require('./FunctionBuilder-DswJ-9sD.cjs');
2
2
 
3
3
  //#region src/functions/index.ts
4
4
  const f = new require_FunctionBuilder.FunctionBuilder();
@@ -10,4 +10,4 @@ Object.defineProperty(exports, 'f', {
10
10
  return f;
11
11
  }
12
12
  });
13
- //# sourceMappingURL=functions-FCb-wWFC.cjs.map
13
+ //# sourceMappingURL=functions-fTid0RMK.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions-FCb-wWFC.cjs","names":["FunctionBuilder"],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAIA"}
1
+ {"version":3,"file":"functions-fTid0RMK.cjs","names":["FunctionBuilder"],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAIA"}
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Endpoint = require('./Endpoint-BJo9Hhwm.cjs');
2
+ const require_Endpoint = require('./Endpoint-BVGZXFyV.cjs');
3
3
  const node_path = require_chunk.__toESM(require("node:path"));
4
4
  const fast_glob = require_chunk.__toESM(require("fast-glob"));
5
5
 
@@ -92,4 +92,4 @@ Object.defineProperty(exports, 'getProjectRoot', {
92
92
  return getProjectRoot;
93
93
  }
94
94
  });
95
- //# sourceMappingURL=helpers-DxxSpLfw.cjs.map
95
+ //# sourceMappingURL=helpers-BcP1tXAi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers-DxxSpLfw.cjs","names":["cwd: string","routes: string[]","endpoints: Endpoint<string, HttpMethod, any, any, TServices>[]"],"sources":["../src/endpoints/helpers.ts"],"sourcesContent":["import path from 'node:path';\nimport fg from 'fast-glob';\nimport { Endpoint } from './Endpoint';\n\nimport type { Service } from '@geekmidas/services';\nimport type { HttpMethod } from '../types';\n\n// Re-export utility functions\n\n/**\n * Recursively finds the project root directory by looking for lock files.\n * Traverses up the directory tree until it finds a package manager lock file.\n *\n * @param cwd - The current working directory to start searching from\n * @returns Promise resolving to the absolute path of the project root\n *\n * @example\n * ```typescript\n * const projectRoot = await getProjectRoot(process.cwd());\n * console.log(`Project root: ${projectRoot}`);\n * // Output: Project root: /Users/user/my-project\n * ```\n */\nexport async function getProjectRoot(cwd: string): Promise<string> {\n if (cwd === '/') {\n return cwd;\n }\n\n const stream = fg.stream(\n ['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json', 'deno.lock'],\n { dot: true, cwd },\n );\n\n let isRoot = false;\n\n for await (const _ of stream) {\n isRoot = true;\n break;\n }\n\n if (isRoot) {\n return cwd;\n }\n\n return getProjectRoot(path.resolve(cwd, '..'));\n}\n\n/**\n * Discovers and imports all Endpoint instances from the specified route patterns.\n * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.\n *\n * @template TServices - Array of service types used by the endpoints\n * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])\n * @param cwd - The current working directory to resolve paths from\n * @returns Promise resolving to an array of Endpoint instances found in the matched files\n *\n * @example\n * ```typescript\n * // Find all endpoints in the routes directory\n * const endpoints = await getEndpointsFromRoutes(\n * ['src/routes/**\\/*.ts'],\n * process.cwd()\n * );\n *\n * // Register endpoints with your server\n * for (const endpoint of endpoints) {\n * server.register(endpoint);\n * }\n * ```\n *\n * @remarks\n * - Only exports that are valid Endpoint instances are included\n * - Files are imported dynamically, so they must be valid ES modules\n * - The function filters out non-Endpoint exports automatically\n */\nexport async function getEndpointsFromRoutes<TServices extends Service[]>(\n routes: string[],\n cwd: string,\n): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]> {\n const stream = fg.stream(routes, { cwd });\n\n const endpoints: Endpoint<string, HttpMethod, any, any, TServices>[] = [];\n\n for await (const f of stream) {\n // Resolve the absolute path for the route file\n const routePath = path.resolve(cwd, f.toString());\n // Dynamically import the route module\n const route = await import(routePath);\n\n // Filter exported values to find only Endpoint instances\n const handlers = Object.values(route).filter((value) => {\n return Endpoint.isEndpoint(value);\n }) as unknown as Endpoint<string, HttpMethod, any, any, TServices>[];\n\n endpoints.push(...handlers);\n }\n\n return endpoints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuBA,eAAsB,eAAeA,KAA8B;AACjE,KAAI,QAAQ,IACV,QAAO;CAGT,MAAM,SAAS,kBAAG,OAChB;EAAC;EAAa;EAAkB;EAAqB;CAAY,GACjE;EAAE,KAAK;EAAM;CAAK,EACnB;CAED,IAAI,SAAS;AAEb,YAAW,MAAM,KAAK,QAAQ;AAC5B,WAAS;AACT;CACD;AAED,KAAI,OACF,QAAO;AAGT,QAAO,eAAe,kBAAK,QAAQ,KAAK,KAAK,CAAC;AAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,eAAsB,uBACpBC,QACAD,KAC8D;CAC9D,MAAM,SAAS,kBAAG,OAAO,QAAQ,EAAE,IAAK,EAAC;CAEzC,MAAME,YAAiE,CAAE;AAEzE,YAAW,MAAM,KAAK,QAAQ;EAE5B,MAAM,YAAY,kBAAK,QAAQ,KAAK,EAAE,UAAU,CAAC;EAEjD,MAAM,QAAQ,MAAM,OAAO;EAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU;AACtD,UAAO,0BAAS,WAAW,MAAM;EAClC,EAAC;AAEF,YAAU,KAAK,GAAG,SAAS;CAC5B;AAED,QAAO;AACR"}
1
+ {"version":3,"file":"helpers-BcP1tXAi.cjs","names":["cwd: string","routes: string[]","endpoints: Endpoint<string, HttpMethod, any, any, TServices>[]"],"sources":["../src/endpoints/helpers.ts"],"sourcesContent":["import path from 'node:path';\nimport fg from 'fast-glob';\nimport { Endpoint } from './Endpoint';\n\nimport type { Service } from '@geekmidas/services';\nimport type { HttpMethod } from '../types';\n\n// Re-export utility functions\n\n/**\n * Recursively finds the project root directory by looking for lock files.\n * Traverses up the directory tree until it finds a package manager lock file.\n *\n * @param cwd - The current working directory to start searching from\n * @returns Promise resolving to the absolute path of the project root\n *\n * @example\n * ```typescript\n * const projectRoot = await getProjectRoot(process.cwd());\n * console.log(`Project root: ${projectRoot}`);\n * // Output: Project root: /Users/user/my-project\n * ```\n */\nexport async function getProjectRoot(cwd: string): Promise<string> {\n if (cwd === '/') {\n return cwd;\n }\n\n const stream = fg.stream(\n ['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json', 'deno.lock'],\n { dot: true, cwd },\n );\n\n let isRoot = false;\n\n for await (const _ of stream) {\n isRoot = true;\n break;\n }\n\n if (isRoot) {\n return cwd;\n }\n\n return getProjectRoot(path.resolve(cwd, '..'));\n}\n\n/**\n * Discovers and imports all Endpoint instances from the specified route patterns.\n * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.\n *\n * @template TServices - Array of service types used by the endpoints\n * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])\n * @param cwd - The current working directory to resolve paths from\n * @returns Promise resolving to an array of Endpoint instances found in the matched files\n *\n * @example\n * ```typescript\n * // Find all endpoints in the routes directory\n * const endpoints = await getEndpointsFromRoutes(\n * ['src/routes/**\\/*.ts'],\n * process.cwd()\n * );\n *\n * // Register endpoints with your server\n * for (const endpoint of endpoints) {\n * server.register(endpoint);\n * }\n * ```\n *\n * @remarks\n * - Only exports that are valid Endpoint instances are included\n * - Files are imported dynamically, so they must be valid ES modules\n * - The function filters out non-Endpoint exports automatically\n */\nexport async function getEndpointsFromRoutes<TServices extends Service[]>(\n routes: string[],\n cwd: string,\n): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]> {\n const stream = fg.stream(routes, { cwd });\n\n const endpoints: Endpoint<string, HttpMethod, any, any, TServices>[] = [];\n\n for await (const f of stream) {\n // Resolve the absolute path for the route file\n const routePath = path.resolve(cwd, f.toString());\n // Dynamically import the route module\n const route = await import(routePath);\n\n // Filter exported values to find only Endpoint instances\n const handlers = Object.values(route).filter((value) => {\n return Endpoint.isEndpoint(value);\n }) as unknown as Endpoint<string, HttpMethod, any, any, TServices>[];\n\n endpoints.push(...handlers);\n }\n\n return endpoints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuBA,eAAsB,eAAeA,KAA8B;AACjE,KAAI,QAAQ,IACV,QAAO;CAGT,MAAM,SAAS,kBAAG,OAChB;EAAC;EAAa;EAAkB;EAAqB;CAAY,GACjE;EAAE,KAAK;EAAM;CAAK,EACnB;CAED,IAAI,SAAS;AAEb,YAAW,MAAM,KAAK,QAAQ;AAC5B,WAAS;AACT;CACD;AAED,KAAI,OACF,QAAO;AAGT,QAAO,eAAe,kBAAK,QAAQ,KAAK,KAAK,CAAC;AAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,eAAsB,uBACpBC,QACAD,KAC8D;CAC9D,MAAM,SAAS,kBAAG,OAAO,QAAQ,EAAE,IAAK,EAAC;CAEzC,MAAME,YAAiE,CAAE;AAEzE,YAAW,MAAM,KAAK,QAAQ;EAE5B,MAAM,YAAY,kBAAK,QAAQ,KAAK,EAAE,UAAU,CAAC;EAEjD,MAAM,QAAQ,MAAM,OAAO;EAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU;AACtD,UAAO,0BAAS,WAAW,MAAM;EAClC,EAAC;AAEF,YAAU,KAAK,GAAG,SAAS;CAC5B;AAED,QAAO;AACR"}
@@ -1,4 +1,4 @@
1
- import { Endpoint } from "./Endpoint-B70_KKhu.mjs";
1
+ import { Endpoint } from "./Endpoint-CuOEswxJ.mjs";
2
2
  import path from "node:path";
3
3
  import fg from "fast-glob";
4
4
 
@@ -80,4 +80,4 @@ async function getEndpointsFromRoutes(routes, cwd) {
80
80
 
81
81
  //#endregion
82
82
  export { getEndpointsFromRoutes, getProjectRoot };
83
- //# sourceMappingURL=helpers-C3B2lVrM.mjs.map
83
+ //# sourceMappingURL=helpers-ByRTDO_m.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers-C3B2lVrM.mjs","names":["cwd: string","routes: string[]","endpoints: Endpoint<string, HttpMethod, any, any, TServices>[]"],"sources":["../src/endpoints/helpers.ts"],"sourcesContent":["import path from 'node:path';\nimport fg from 'fast-glob';\nimport { Endpoint } from './Endpoint';\n\nimport type { Service } from '@geekmidas/services';\nimport type { HttpMethod } from '../types';\n\n// Re-export utility functions\n\n/**\n * Recursively finds the project root directory by looking for lock files.\n * Traverses up the directory tree until it finds a package manager lock file.\n *\n * @param cwd - The current working directory to start searching from\n * @returns Promise resolving to the absolute path of the project root\n *\n * @example\n * ```typescript\n * const projectRoot = await getProjectRoot(process.cwd());\n * console.log(`Project root: ${projectRoot}`);\n * // Output: Project root: /Users/user/my-project\n * ```\n */\nexport async function getProjectRoot(cwd: string): Promise<string> {\n if (cwd === '/') {\n return cwd;\n }\n\n const stream = fg.stream(\n ['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json', 'deno.lock'],\n { dot: true, cwd },\n );\n\n let isRoot = false;\n\n for await (const _ of stream) {\n isRoot = true;\n break;\n }\n\n if (isRoot) {\n return cwd;\n }\n\n return getProjectRoot(path.resolve(cwd, '..'));\n}\n\n/**\n * Discovers and imports all Endpoint instances from the specified route patterns.\n * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.\n *\n * @template TServices - Array of service types used by the endpoints\n * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])\n * @param cwd - The current working directory to resolve paths from\n * @returns Promise resolving to an array of Endpoint instances found in the matched files\n *\n * @example\n * ```typescript\n * // Find all endpoints in the routes directory\n * const endpoints = await getEndpointsFromRoutes(\n * ['src/routes/**\\/*.ts'],\n * process.cwd()\n * );\n *\n * // Register endpoints with your server\n * for (const endpoint of endpoints) {\n * server.register(endpoint);\n * }\n * ```\n *\n * @remarks\n * - Only exports that are valid Endpoint instances are included\n * - Files are imported dynamically, so they must be valid ES modules\n * - The function filters out non-Endpoint exports automatically\n */\nexport async function getEndpointsFromRoutes<TServices extends Service[]>(\n routes: string[],\n cwd: string,\n): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]> {\n const stream = fg.stream(routes, { cwd });\n\n const endpoints: Endpoint<string, HttpMethod, any, any, TServices>[] = [];\n\n for await (const f of stream) {\n // Resolve the absolute path for the route file\n const routePath = path.resolve(cwd, f.toString());\n // Dynamically import the route module\n const route = await import(routePath);\n\n // Filter exported values to find only Endpoint instances\n const handlers = Object.values(route).filter((value) => {\n return Endpoint.isEndpoint(value);\n }) as unknown as Endpoint<string, HttpMethod, any, any, TServices>[];\n\n endpoints.push(...handlers);\n }\n\n return endpoints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBA,eAAsB,eAAeA,KAA8B;AACjE,KAAI,QAAQ,IACV,QAAO;CAGT,MAAM,SAAS,GAAG,OAChB;EAAC;EAAa;EAAkB;EAAqB;CAAY,GACjE;EAAE,KAAK;EAAM;CAAK,EACnB;CAED,IAAI,SAAS;AAEb,YAAW,MAAM,KAAK,QAAQ;AAC5B,WAAS;AACT;CACD;AAED,KAAI,OACF,QAAO;AAGT,QAAO,eAAe,KAAK,QAAQ,KAAK,KAAK,CAAC;AAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,eAAsB,uBACpBC,QACAD,KAC8D;CAC9D,MAAM,SAAS,GAAG,OAAO,QAAQ,EAAE,IAAK,EAAC;CAEzC,MAAME,YAAiE,CAAE;AAEzE,YAAW,MAAM,KAAK,QAAQ;EAE5B,MAAM,YAAY,KAAK,QAAQ,KAAK,EAAE,UAAU,CAAC;EAEjD,MAAM,QAAQ,MAAM,OAAO;EAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU;AACtD,UAAO,SAAS,WAAW,MAAM;EAClC,EAAC;AAEF,YAAU,KAAK,GAAG,SAAS;CAC5B;AAED,QAAO;AACR"}
1
+ {"version":3,"file":"helpers-ByRTDO_m.mjs","names":["cwd: string","routes: string[]","endpoints: Endpoint<string, HttpMethod, any, any, TServices>[]"],"sources":["../src/endpoints/helpers.ts"],"sourcesContent":["import path from 'node:path';\nimport fg from 'fast-glob';\nimport { Endpoint } from './Endpoint';\n\nimport type { Service } from '@geekmidas/services';\nimport type { HttpMethod } from '../types';\n\n// Re-export utility functions\n\n/**\n * Recursively finds the project root directory by looking for lock files.\n * Traverses up the directory tree until it finds a package manager lock file.\n *\n * @param cwd - The current working directory to start searching from\n * @returns Promise resolving to the absolute path of the project root\n *\n * @example\n * ```typescript\n * const projectRoot = await getProjectRoot(process.cwd());\n * console.log(`Project root: ${projectRoot}`);\n * // Output: Project root: /Users/user/my-project\n * ```\n */\nexport async function getProjectRoot(cwd: string): Promise<string> {\n if (cwd === '/') {\n return cwd;\n }\n\n const stream = fg.stream(\n ['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json', 'deno.lock'],\n { dot: true, cwd },\n );\n\n let isRoot = false;\n\n for await (const _ of stream) {\n isRoot = true;\n break;\n }\n\n if (isRoot) {\n return cwd;\n }\n\n return getProjectRoot(path.resolve(cwd, '..'));\n}\n\n/**\n * Discovers and imports all Endpoint instances from the specified route patterns.\n * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.\n *\n * @template TServices - Array of service types used by the endpoints\n * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])\n * @param cwd - The current working directory to resolve paths from\n * @returns Promise resolving to an array of Endpoint instances found in the matched files\n *\n * @example\n * ```typescript\n * // Find all endpoints in the routes directory\n * const endpoints = await getEndpointsFromRoutes(\n * ['src/routes/**\\/*.ts'],\n * process.cwd()\n * );\n *\n * // Register endpoints with your server\n * for (const endpoint of endpoints) {\n * server.register(endpoint);\n * }\n * ```\n *\n * @remarks\n * - Only exports that are valid Endpoint instances are included\n * - Files are imported dynamically, so they must be valid ES modules\n * - The function filters out non-Endpoint exports automatically\n */\nexport async function getEndpointsFromRoutes<TServices extends Service[]>(\n routes: string[],\n cwd: string,\n): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]> {\n const stream = fg.stream(routes, { cwd });\n\n const endpoints: Endpoint<string, HttpMethod, any, any, TServices>[] = [];\n\n for await (const f of stream) {\n // Resolve the absolute path for the route file\n const routePath = path.resolve(cwd, f.toString());\n // Dynamically import the route module\n const route = await import(routePath);\n\n // Filter exported values to find only Endpoint instances\n const handlers = Object.values(route).filter((value) => {\n return Endpoint.isEndpoint(value);\n }) as unknown as Endpoint<string, HttpMethod, any, any, TServices>[];\n\n endpoints.push(...handlers);\n }\n\n return endpoints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBA,eAAsB,eAAeA,KAA8B;AACjE,KAAI,QAAQ,IACV,QAAO;CAGT,MAAM,SAAS,GAAG,OAChB;EAAC;EAAa;EAAkB;EAAqB;CAAY,GACjE;EAAE,KAAK;EAAM;CAAK,EACnB;CAED,IAAI,SAAS;AAEb,YAAW,MAAM,KAAK,QAAQ;AAC5B,WAAS;AACT;CACD;AAED,KAAI,OACF,QAAO;AAGT,QAAO,eAAe,KAAK,QAAQ,KAAK,KAAK,CAAC;AAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,eAAsB,uBACpBC,QACAD,KAC8D;CAC9D,MAAM,SAAS,GAAG,OAAO,QAAQ,EAAE,IAAK,EAAC;CAEzC,MAAME,YAAiE,CAAE;AAEzE,YAAW,MAAM,KAAK,QAAQ;EAE5B,MAAM,YAAY,KAAK,QAAQ,KAAK,EAAE,UAAU,CAAC;EAEjD,MAAM,QAAQ,MAAM,OAAO;EAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU;AACtD,UAAO,SAAS,WAAW,MAAM;EAClC,EAAC;AAEF,YAAU,KAAK,GAAG,SAAS;CAC5B;AAED,QAAO;AACR"}
@@ -1,4 +1,4 @@
1
- import { FunctionBuilder } from "./FunctionBuilder-FV6r3I7X.cjs";
1
+ import { FunctionBuilder } from "./FunctionBuilder-3jsoFffg.mjs";
2
2
  import * as _geekmidas_audit9 from "@geekmidas/audit";
3
3
  import * as _geekmidas_logger8 from "@geekmidas/logger";
4
4
  import * as _geekmidas_schema7 from "@geekmidas/schema";
@@ -7,4 +7,4 @@ import * as _geekmidas_schema7 from "@geekmidas/schema";
7
7
  declare const f: FunctionBuilder<_geekmidas_schema7.ComposableStandardSchema, undefined, [], _geekmidas_logger8.Logger, undefined, string, undefined, string, undefined, string, _geekmidas_audit9.AuditableAction<string, unknown>>;
8
8
  //#endregion
9
9
  export { f };
10
- //# sourceMappingURL=index-Ceo-GuhJ.d.cts.map
10
+ //# sourceMappingURL=index-CFyaRrck.d.mts.map
@@ -0,0 +1,10 @@
1
+ import { FunctionBuilder } from "./FunctionBuilder-FV6r3I7X.cjs";
2
+ import * as _geekmidas_audit7 from "@geekmidas/audit";
3
+ import * as _geekmidas_logger6 from "@geekmidas/logger";
4
+ import * as _geekmidas_schema5 from "@geekmidas/schema";
5
+
6
+ //#region src/functions/index.d.ts
7
+ declare const f: FunctionBuilder<_geekmidas_schema5.ComposableStandardSchema, undefined, [], _geekmidas_logger6.Logger, undefined, string, undefined, string, undefined, string, _geekmidas_audit7.AuditableAction<string, unknown>>;
8
+ //#endregion
9
+ export { f };
10
+ //# sourceMappingURL=index-CqH4_Ieb.d.cts.map
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_Construct = require('./Construct-BYSPikVm.cjs');
1
+ const require_Construct = require('./Construct-Ba5cMxib.cjs');
2
2
 
3
3
  exports.Construct = require_Construct.Construct;
4
4
  exports.ConstructType = require_Construct.ConstructType;
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { Construct, ConstructType } from "./Construct-LWeB1rSQ.mjs";
1
+ import { Construct, ConstructType } from "./Construct-DdyGHuag.mjs";
2
2
 
3
3
  export { Construct, ConstructType };
@@ -6,4 +6,4 @@ const RLS_BYPASS = Symbol.for("geekmidas.rls.bypass");
6
6
 
7
7
  //#endregion
8
8
  export { RLS_BYPASS };
9
- //# sourceMappingURL=rls-B6WreraR.mjs.map
9
+ //# sourceMappingURL=rls-Bf3FRwto.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rls-B6WreraR.mjs","names":[],"sources":["../src/endpoints/rls.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { CookieFn, HeaderFn } from './Endpoint';\n\n/**\n * RLS context - key-value pairs to set as PostgreSQL session variables.\n * Keys become `prefix.key` (e.g., `app.user_id`).\n */\nexport interface RlsContext {\n [key: string]: string | number | boolean | null | undefined;\n}\n\n/**\n * Function type for extracting RLS context from request context.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n *\n * @example\n * ```ts\n * const extractor: RlsContextExtractor<[], UserSession> = ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * roles: session.roles.join(','),\n * });\n * ```\n */\nexport type RlsContextExtractor<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> = (ctx: {\n services: ServiceRecord<TServices>;\n session: TSession;\n header: HeaderFn;\n cookie: CookieFn;\n logger: TLogger;\n}) => RlsContext | Promise<RlsContext>;\n\n/**\n * Configuration for RLS on an endpoint or factory.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n */\nexport interface RlsConfig<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> {\n /** Function to extract RLS context from request */\n extractor: RlsContextExtractor<TServices, TSession, TLogger>;\n /** Prefix for PostgreSQL session variables (default: 'app') */\n prefix?: string;\n}\n\n/**\n * Symbol used to bypass RLS for an endpoint.\n */\nexport const RLS_BYPASS = Symbol.for('geekmidas.rls.bypass');\n\n/**\n * Type for RLS bypass marker.\n */\nexport type RlsBypass = typeof RLS_BYPASS;\n"],"mappings":";;;;AA6DA,MAAa,aAAa,OAAO,IAAI,uBAAuB"}
1
+ {"version":3,"file":"rls-Bf3FRwto.mjs","names":[],"sources":["../src/endpoints/rls.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { CookieFn, HeaderFn } from './Endpoint';\n\n/**\n * RLS context - key-value pairs to set as PostgreSQL session variables.\n * Keys become `prefix.key` (e.g., `app.user_id`).\n */\nexport interface RlsContext {\n [key: string]: string | number | boolean | null | undefined;\n}\n\n/**\n * Function type for extracting RLS context from request context.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n *\n * @example\n * ```ts\n * const extractor: RlsContextExtractor<[], UserSession> = ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * roles: session.roles.join(','),\n * });\n * ```\n */\nexport type RlsContextExtractor<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> = (ctx: {\n services: ServiceRecord<TServices>;\n session: TSession;\n header: HeaderFn;\n cookie: CookieFn;\n logger: TLogger;\n}) => RlsContext | Promise<RlsContext>;\n\n/**\n * Configuration for RLS on an endpoint or factory.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n */\nexport interface RlsConfig<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> {\n /** Function to extract RLS context from request */\n extractor: RlsContextExtractor<TServices, TSession, TLogger>;\n /** Prefix for PostgreSQL session variables (default: 'app') */\n prefix?: string;\n}\n\n/**\n * Symbol used to bypass RLS for an endpoint.\n */\nexport const RLS_BYPASS = Symbol.for('geekmidas.rls.bypass');\n\n/**\n * Type for RLS bypass marker.\n */\nexport type RlsBypass = typeof RLS_BYPASS;\n"],"mappings":";;;;AA6DA,MAAa,aAAa,OAAO,IAAI,uBAAuB"}
@@ -12,4 +12,4 @@ Object.defineProperty(exports, 'RLS_BYPASS', {
12
12
  return RLS_BYPASS;
13
13
  }
14
14
  });
15
- //# sourceMappingURL=rls-cLpyGWKe.cjs.map
15
+ //# sourceMappingURL=rls-CmJ7bRsz.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rls-cLpyGWKe.cjs","names":[],"sources":["../src/endpoints/rls.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { CookieFn, HeaderFn } from './Endpoint';\n\n/**\n * RLS context - key-value pairs to set as PostgreSQL session variables.\n * Keys become `prefix.key` (e.g., `app.user_id`).\n */\nexport interface RlsContext {\n [key: string]: string | number | boolean | null | undefined;\n}\n\n/**\n * Function type for extracting RLS context from request context.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n *\n * @example\n * ```ts\n * const extractor: RlsContextExtractor<[], UserSession> = ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * roles: session.roles.join(','),\n * });\n * ```\n */\nexport type RlsContextExtractor<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> = (ctx: {\n services: ServiceRecord<TServices>;\n session: TSession;\n header: HeaderFn;\n cookie: CookieFn;\n logger: TLogger;\n}) => RlsContext | Promise<RlsContext>;\n\n/**\n * Configuration for RLS on an endpoint or factory.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n */\nexport interface RlsConfig<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> {\n /** Function to extract RLS context from request */\n extractor: RlsContextExtractor<TServices, TSession, TLogger>;\n /** Prefix for PostgreSQL session variables (default: 'app') */\n prefix?: string;\n}\n\n/**\n * Symbol used to bypass RLS for an endpoint.\n */\nexport const RLS_BYPASS = Symbol.for('geekmidas.rls.bypass');\n\n/**\n * Type for RLS bypass marker.\n */\nexport type RlsBypass = typeof RLS_BYPASS;\n"],"mappings":";;;;;AA6DA,MAAa,aAAa,OAAO,IAAI,uBAAuB"}
1
+ {"version":3,"file":"rls-CmJ7bRsz.cjs","names":[],"sources":["../src/endpoints/rls.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { CookieFn, HeaderFn } from './Endpoint';\n\n/**\n * RLS context - key-value pairs to set as PostgreSQL session variables.\n * Keys become `prefix.key` (e.g., `app.user_id`).\n */\nexport interface RlsContext {\n [key: string]: string | number | boolean | null | undefined;\n}\n\n/**\n * Function type for extracting RLS context from request context.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n *\n * @example\n * ```ts\n * const extractor: RlsContextExtractor<[], UserSession> = ({ session }) => ({\n * user_id: session.userId,\n * tenant_id: session.tenantId,\n * roles: session.roles.join(','),\n * });\n * ```\n */\nexport type RlsContextExtractor<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> = (ctx: {\n services: ServiceRecord<TServices>;\n session: TSession;\n header: HeaderFn;\n cookie: CookieFn;\n logger: TLogger;\n}) => RlsContext | Promise<RlsContext>;\n\n/**\n * Configuration for RLS on an endpoint or factory.\n *\n * @template TServices - Available service dependencies\n * @template TSession - Session data type\n * @template TLogger - Logger type\n */\nexport interface RlsConfig<\n TServices extends Service[] = [],\n TSession = unknown,\n TLogger extends Logger = Logger,\n> {\n /** Function to extract RLS context from request */\n extractor: RlsContextExtractor<TServices, TSession, TLogger>;\n /** Prefix for PostgreSQL session variables (default: 'app') */\n prefix?: string;\n}\n\n/**\n * Symbol used to bypass RLS for an endpoint.\n */\nexport const RLS_BYPASS = Symbol.for('geekmidas.rls.bypass');\n\n/**\n * Type for RLS bypass marker.\n */\nexport type RlsBypass = typeof RLS_BYPASS;\n"],"mappings":";;;;;AA6DA,MAAa,aAAa,OAAO,IAAI,uBAAuB"}
@@ -1,4 +1,4 @@
1
- require('../Construct-BYSPikVm.cjs');
2
- const require_Subscriber = require('../Subscriber-DOt3svUC.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
+ const require_Subscriber = require('../Subscriber-BiHjVXtM.cjs');
3
3
 
4
4
  exports.Subscriber = require_Subscriber.Subscriber;
@@ -1,4 +1,4 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import { Subscriber } from "../Subscriber-kCHbH2fZ.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import { Subscriber } from "../Subscriber-BmPf9GFb.mjs";
3
3
 
4
4
  export { Subscriber };
@@ -1,5 +1,5 @@
1
- require('../Construct-BYSPikVm.cjs');
2
- require('../Subscriber-DOt3svUC.cjs');
3
- const require_SubscriberBuilder = require('../SubscriberBuilder-Cj2u9k5Q.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
+ require('../Subscriber-BiHjVXtM.cjs');
3
+ const require_SubscriberBuilder = require('../SubscriberBuilder-Cp1C-xtT.cjs');
4
4
 
5
5
  exports.SubscriberBuilder = require_SubscriberBuilder.SubscriberBuilder;
@@ -1,5 +1,5 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import "../Subscriber-kCHbH2fZ.mjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-DmxMU89X.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import "../Subscriber-BmPf9GFb.mjs";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-DJPEeYDJ.mjs";
4
4
 
5
5
  export { SubscriberBuilder };
@@ -1,6 +1,6 @@
1
- require('../Construct-BYSPikVm.cjs');
2
- const require_Subscriber = require('../Subscriber-DOt3svUC.cjs');
3
- const require_SubscriberBuilder = require('../SubscriberBuilder-Cj2u9k5Q.cjs');
1
+ require('../Construct-Ba5cMxib.cjs');
2
+ const require_Subscriber = require('../Subscriber-BiHjVXtM.cjs');
3
+ const require_SubscriberBuilder = require('../SubscriberBuilder-Cp1C-xtT.cjs');
4
4
 
5
5
  //#region src/subscribers/index.ts
6
6
  const s = new require_SubscriberBuilder.SubscriberBuilder();
@@ -1,10 +1,10 @@
1
1
  import "../Construct-jBKqb-Zi.mjs";
2
2
  import { Subscriber } from "../Subscriber-aNr1qkxR.mjs";
3
3
  import { SubscriberBuilder } from "../SubscriberBuilder-CWS4tdbp.mjs";
4
- import * as _geekmidas_logger7 from "@geekmidas/logger";
4
+ import * as _geekmidas_logger10 from "@geekmidas/logger";
5
5
 
6
6
  //#region src/subscribers/index.d.ts
7
- declare const s: SubscriberBuilder<[], _geekmidas_logger7.Logger, undefined, undefined, string, []>;
7
+ declare const s: SubscriberBuilder<[], _geekmidas_logger10.Logger, undefined, undefined, string, []>;
8
8
  //#endregion
9
9
  export { Subscriber, SubscriberBuilder, s };
10
10
  //# sourceMappingURL=index.d.mts.map
@@ -1,6 +1,6 @@
1
- import "../Construct-LWeB1rSQ.mjs";
2
- import { Subscriber } from "../Subscriber-kCHbH2fZ.mjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-DmxMU89X.mjs";
1
+ import "../Construct-DdyGHuag.mjs";
2
+ import { Subscriber } from "../Subscriber-BmPf9GFb.mjs";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-DJPEeYDJ.mjs";
4
4
 
5
5
  //#region src/subscribers/index.ts
6
6
  const s = new SubscriberBuilder();