@bitblit/ratchet-epsilon-common 4.0.85-alpha

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 (409) hide show
  1. package/CHANGELOG.md +177 -0
  2. package/License.txt +13 -0
  3. package/README.md +242 -0
  4. package/dist/cjs/background/background-dynamo-log-table-handler.js +38 -0
  5. package/dist/cjs/background/background-entry.js +2 -0
  6. package/dist/cjs/background/background-execution-event-type.js +11 -0
  7. package/dist/cjs/background/background-execution-event.js +2 -0
  8. package/dist/cjs/background/background-execution-listener.js +2 -0
  9. package/dist/cjs/background/background-handler.js +269 -0
  10. package/dist/cjs/background/background-http-adapter-handler.js +127 -0
  11. package/dist/cjs/background/background-meta-response-internal.js +2 -0
  12. package/dist/cjs/background/background-process-handling.js +8 -0
  13. package/dist/cjs/background/background-process-log-table-entry.js +2 -0
  14. package/dist/cjs/background/background-queue-response-internal.js +2 -0
  15. package/dist/cjs/background/background-validator.js +88 -0
  16. package/dist/cjs/background/epsilon-background-process-error.js +93 -0
  17. package/dist/cjs/background/internal-background-entry.js +2 -0
  18. package/dist/cjs/background/manager/abstract-background-manager.js +92 -0
  19. package/dist/cjs/background/manager/aws-sqs-sns-background-manager.js +153 -0
  20. package/dist/cjs/background/manager/background-manager-like.js +2 -0
  21. package/dist/cjs/background/manager/single-thread-local-background-manager.js +49 -0
  22. package/dist/cjs/background/s3-background-transaction-logger.js +54 -0
  23. package/dist/cjs/build/ratchet-epsilon-common-info.js +18 -0
  24. package/dist/cjs/built-in/background/echo-processor.js +18 -0
  25. package/dist/cjs/built-in/background/log-and-enqueue-echo-processor.js +16 -0
  26. package/dist/cjs/built-in/background/log-message-background-error-processor.js +10 -0
  27. package/dist/cjs/built-in/background/no-op-processor.js +13 -0
  28. package/dist/cjs/built-in/background/retry-processor.js +41 -0
  29. package/dist/cjs/built-in/background/sample-delay-processor.js +16 -0
  30. package/dist/cjs/built-in/background/sample-input-validated-processor-data.js +2 -0
  31. package/dist/cjs/built-in/background/sample-input-validated-processor.js +16 -0
  32. package/dist/cjs/built-in/built-in-trace-id-generators.js +25 -0
  33. package/dist/cjs/built-in/daemon/daemon-authorizer-function.js +2 -0
  34. package/dist/cjs/built-in/daemon/daemon-config.js +2 -0
  35. package/dist/cjs/built-in/daemon/daemon-group-selection-function.js +2 -0
  36. package/dist/cjs/built-in/daemon/daemon-handler.js +62 -0
  37. package/dist/cjs/built-in/daemon/daemon-process-state-list.js +2 -0
  38. package/dist/cjs/built-in/http/apollo-filter.js +63 -0
  39. package/dist/cjs/built-in/http/built-in-auth-filters.js +115 -0
  40. package/dist/cjs/built-in/http/built-in-authorizers.js +43 -0
  41. package/dist/cjs/built-in/http/built-in-filters.js +222 -0
  42. package/dist/cjs/built-in/http/built-in-handlers.js +73 -0
  43. package/dist/cjs/built-in/http/log-level-manipulation-filter.js +20 -0
  44. package/dist/cjs/built-in/http/run-handler-as-filter.js +64 -0
  45. package/dist/cjs/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.js +20 -0
  46. package/dist/cjs/config/background/background-aws-config.js +2 -0
  47. package/dist/cjs/config/background/background-config.js +2 -0
  48. package/dist/cjs/config/background/background-error-processor.js +2 -0
  49. package/dist/cjs/config/background/background-processor.js +2 -0
  50. package/dist/cjs/config/background/background-transaction-log.js +2 -0
  51. package/dist/cjs/config/background/background-transaction-logger.js +2 -0
  52. package/dist/cjs/config/cron/abstract-cron-entry.js +2 -0
  53. package/dist/cjs/config/cron/cron-background-entry.js +2 -0
  54. package/dist/cjs/config/cron/cron-config.js +2 -0
  55. package/dist/cjs/config/dynamo-db-config.js +2 -0
  56. package/dist/cjs/config/epsilon-config.js +2 -0
  57. package/dist/cjs/config/epsilon-lambda-event-handler.js +2 -0
  58. package/dist/cjs/config/epsilon-logger-config.js +2 -0
  59. package/dist/cjs/config/generic-aws-event-handler-function.js +2 -0
  60. package/dist/cjs/config/http/authorizer-function.js +2 -0
  61. package/dist/cjs/config/http/epsilon-authorization-context.js +2 -0
  62. package/dist/cjs/config/http/extended-api-gateway-event.js +2 -0
  63. package/dist/cjs/config/http/filter-chain-context.js +2 -0
  64. package/dist/cjs/config/http/filter-function.js +2 -0
  65. package/dist/cjs/config/http/handler-function.js +2 -0
  66. package/dist/cjs/config/http/http-config.js +2 -0
  67. package/dist/cjs/config/http/http-processing-config.js +2 -0
  68. package/dist/cjs/config/http/mapped-http-processing-config.js +2 -0
  69. package/dist/cjs/config/http/null-returned-object-handling.js +9 -0
  70. package/dist/cjs/config/inter-api/inter-api-aws-config.js +2 -0
  71. package/dist/cjs/config/inter-api/inter-api-config.js +2 -0
  72. package/dist/cjs/config/inter-api/inter-api-process-mapping.js +2 -0
  73. package/dist/cjs/config/logging-trace-id-generator.js +2 -0
  74. package/dist/cjs/config/open-api/open-api-document-components.js +2 -0
  75. package/dist/cjs/config/open-api/open-api-document-path.js +2 -0
  76. package/dist/cjs/config/open-api/open-api-document.js +2 -0
  77. package/dist/cjs/config/s3-config.js +2 -0
  78. package/dist/cjs/config/sns-config.js +2 -0
  79. package/dist/cjs/epsilon-build-properties.js +28 -0
  80. package/dist/cjs/epsilon-constants.js +49 -0
  81. package/dist/cjs/epsilon-global-handler.js +155 -0
  82. package/dist/cjs/epsilon-instance.js +2 -0
  83. package/dist/cjs/epsilon-logging-extension-processor.js +19 -0
  84. package/dist/cjs/http/auth/api-gateway-adapter-authentication-handler.js +75 -0
  85. package/dist/cjs/http/auth/auth0-web-token-manipulator.js +62 -0
  86. package/dist/cjs/http/auth/basic-auth-token.js +2 -0
  87. package/dist/cjs/http/auth/google-web-token-manipulator.js +72 -0
  88. package/dist/cjs/http/auth/jwt-ratchet-local-web-token-manipulator.js +29 -0
  89. package/dist/cjs/http/auth/local-web-token-manipulator.js +74 -0
  90. package/dist/cjs/http/auth/web-token-manipulator.js +2 -0
  91. package/dist/cjs/http/error/bad-gateway.js +12 -0
  92. package/dist/cjs/http/error/bad-request-error.js +12 -0
  93. package/dist/cjs/http/error/conflict-error.js +12 -0
  94. package/dist/cjs/http/error/epsilon-http-error.js +132 -0
  95. package/dist/cjs/http/error/forbidden-error.js +12 -0
  96. package/dist/cjs/http/error/gateway-timeout.js +12 -0
  97. package/dist/cjs/http/error/method-not-allowed-error.js +12 -0
  98. package/dist/cjs/http/error/misconfigured-error.js +12 -0
  99. package/dist/cjs/http/error/not-found-error.js +12 -0
  100. package/dist/cjs/http/error/not-implemented.js +12 -0
  101. package/dist/cjs/http/error/request-timeout-error.js +12 -0
  102. package/dist/cjs/http/error/service-unavailable.js +12 -0
  103. package/dist/cjs/http/error/too-many-requests-error.js +12 -0
  104. package/dist/cjs/http/error/unauthorized-error.js +12 -0
  105. package/dist/cjs/http/event-util.js +180 -0
  106. package/dist/cjs/http/response-util.js +146 -0
  107. package/dist/cjs/http/route/epsilon-router.js +2 -0
  108. package/dist/cjs/http/route/extended-auth-response-context.js +2 -0
  109. package/dist/cjs/http/route/route-mapping.js +2 -0
  110. package/dist/cjs/http/route/route-validator-config.js +2 -0
  111. package/dist/cjs/http/route/router-util.js +238 -0
  112. package/dist/cjs/http/web-handler.js +122 -0
  113. package/dist/cjs/http/web-v2-handler.js +25 -0
  114. package/dist/cjs/index.js +136 -0
  115. package/dist/cjs/inter-api/inter-api-entry.js +2 -0
  116. package/dist/cjs/inter-api/inter-api-util.js +62 -0
  117. package/dist/cjs/inter-api-manager.js +67 -0
  118. package/dist/cjs/lambda-event-handler/cron-epsilon-lambda-event-handler.js +76 -0
  119. package/dist/cjs/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +36 -0
  120. package/dist/cjs/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +32 -0
  121. package/dist/cjs/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +26 -0
  122. package/dist/cjs/lambda-event-handler/s3-epsilon-lambda-event-handler.js +44 -0
  123. package/dist/cjs/local-container-server.js +79 -0
  124. package/dist/cjs/local-server-cert.js +71 -0
  125. package/dist/cjs/local-server.js +145 -0
  126. package/dist/cjs/open-api-util/open-api-doc-modifications.js +2 -0
  127. package/dist/cjs/open-api-util/open-api-doc-modifier.js +83 -0
  128. package/dist/cjs/open-api-util/yaml-combiner.js +32 -0
  129. package/dist/cjs/run-background-process-from-command-line.js +37 -0
  130. package/dist/cjs/sample/sample-batch-only-local-server.js +19 -0
  131. package/dist/cjs/sample/sample-local-server.js +30 -0
  132. package/dist/cjs/sample/sample-server-components.js +197 -0
  133. package/dist/cjs/test-error-server.js +48 -0
  134. package/dist/cjs/util/aws-util.js +69 -0
  135. package/dist/cjs/util/context-util.js +104 -0
  136. package/dist/cjs/util/cron-util.js +72 -0
  137. package/dist/cjs/util/epsilon-config-parser.js +70 -0
  138. package/dist/es/background/background-dynamo-log-table-handler.js +33 -0
  139. package/dist/es/background/background-entry.js +1 -0
  140. package/dist/es/background/background-execution-event-type.js +8 -0
  141. package/dist/es/background/background-execution-event.js +1 -0
  142. package/dist/es/background/background-execution-listener.js +1 -0
  143. package/dist/es/background/background-handler.js +265 -0
  144. package/dist/es/background/background-http-adapter-handler.js +123 -0
  145. package/dist/es/background/background-meta-response-internal.js +1 -0
  146. package/dist/es/background/background-process-handling.js +5 -0
  147. package/dist/es/background/background-process-log-table-entry.js +1 -0
  148. package/dist/es/background/background-queue-response-internal.js +1 -0
  149. package/dist/es/background/background-validator.js +84 -0
  150. package/dist/es/background/epsilon-background-process-error.js +88 -0
  151. package/dist/es/background/internal-background-entry.js +1 -0
  152. package/dist/es/background/manager/abstract-background-manager.js +88 -0
  153. package/dist/es/background/manager/aws-sqs-sns-background-manager.js +149 -0
  154. package/dist/es/background/manager/background-manager-like.js +1 -0
  155. package/dist/es/background/manager/single-thread-local-background-manager.js +45 -0
  156. package/dist/es/background/s3-background-transaction-logger.js +49 -0
  157. package/dist/es/build/ratchet-epsilon-common-info.js +14 -0
  158. package/dist/es/built-in/background/echo-processor.js +14 -0
  159. package/dist/es/built-in/background/log-and-enqueue-echo-processor.js +12 -0
  160. package/dist/es/built-in/background/log-message-background-error-processor.js +6 -0
  161. package/dist/es/built-in/background/no-op-processor.js +9 -0
  162. package/dist/es/built-in/background/retry-processor.js +36 -0
  163. package/dist/es/built-in/background/sample-delay-processor.js +12 -0
  164. package/dist/es/built-in/background/sample-input-validated-processor-data.js +1 -0
  165. package/dist/es/built-in/background/sample-input-validated-processor.js +12 -0
  166. package/dist/es/built-in/built-in-trace-id-generators.js +21 -0
  167. package/dist/es/built-in/daemon/daemon-authorizer-function.js +1 -0
  168. package/dist/es/built-in/daemon/daemon-config.js +1 -0
  169. package/dist/es/built-in/daemon/daemon-group-selection-function.js +1 -0
  170. package/dist/es/built-in/daemon/daemon-handler.js +58 -0
  171. package/dist/es/built-in/daemon/daemon-process-state-list.js +1 -0
  172. package/dist/es/built-in/http/apollo-filter.js +58 -0
  173. package/dist/es/built-in/http/built-in-auth-filters.js +107 -0
  174. package/dist/es/built-in/http/built-in-authorizers.js +39 -0
  175. package/dist/es/built-in/http/built-in-filters.js +208 -0
  176. package/dist/es/built-in/http/built-in-handlers.js +69 -0
  177. package/dist/es/built-in/http/log-level-manipulation-filter.js +16 -0
  178. package/dist/es/built-in/http/run-handler-as-filter.js +60 -0
  179. package/dist/es/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.js +17 -0
  180. package/dist/es/config/background/background-aws-config.js +1 -0
  181. package/dist/es/config/background/background-config.js +1 -0
  182. package/dist/es/config/background/background-error-processor.js +1 -0
  183. package/dist/es/config/background/background-processor.js +1 -0
  184. package/dist/es/config/background/background-transaction-log.js +1 -0
  185. package/dist/es/config/background/background-transaction-logger.js +1 -0
  186. package/dist/es/config/cron/abstract-cron-entry.js +1 -0
  187. package/dist/es/config/cron/cron-background-entry.js +1 -0
  188. package/dist/es/config/cron/cron-config.js +1 -0
  189. package/dist/es/config/dynamo-db-config.js +1 -0
  190. package/dist/es/config/epsilon-config.js +1 -0
  191. package/dist/es/config/epsilon-lambda-event-handler.js +1 -0
  192. package/dist/es/config/epsilon-logger-config.js +1 -0
  193. package/dist/es/config/generic-aws-event-handler-function.js +1 -0
  194. package/dist/es/config/http/authorizer-function.js +1 -0
  195. package/dist/es/config/http/epsilon-authorization-context.js +1 -0
  196. package/dist/es/config/http/extended-api-gateway-event.js +1 -0
  197. package/dist/es/config/http/filter-chain-context.js +1 -0
  198. package/dist/es/config/http/filter-function.js +1 -0
  199. package/dist/es/config/http/handler-function.js +1 -0
  200. package/dist/es/config/http/http-config.js +1 -0
  201. package/dist/es/config/http/http-processing-config.js +1 -0
  202. package/dist/es/config/http/mapped-http-processing-config.js +1 -0
  203. package/dist/es/config/http/null-returned-object-handling.js +6 -0
  204. package/dist/es/config/inter-api/inter-api-aws-config.js +1 -0
  205. package/dist/es/config/inter-api/inter-api-config.js +1 -0
  206. package/dist/es/config/inter-api/inter-api-process-mapping.js +1 -0
  207. package/dist/es/config/logging-trace-id-generator.js +1 -0
  208. package/dist/es/config/open-api/open-api-document-components.js +1 -0
  209. package/dist/es/config/open-api/open-api-document-path.js +1 -0
  210. package/dist/es/config/open-api/open-api-document.js +1 -0
  211. package/dist/es/config/s3-config.js +1 -0
  212. package/dist/es/config/sns-config.js +1 -0
  213. package/dist/es/epsilon-build-properties.js +24 -0
  214. package/dist/es/epsilon-constants.js +45 -0
  215. package/dist/es/epsilon-global-handler.js +149 -0
  216. package/dist/es/epsilon-instance.js +1 -0
  217. package/dist/es/epsilon-logging-extension-processor.js +15 -0
  218. package/dist/es/http/auth/api-gateway-adapter-authentication-handler.js +71 -0
  219. package/dist/es/http/auth/auth0-web-token-manipulator.js +56 -0
  220. package/dist/es/http/auth/basic-auth-token.js +1 -0
  221. package/dist/es/http/auth/google-web-token-manipulator.js +67 -0
  222. package/dist/es/http/auth/jwt-ratchet-local-web-token-manipulator.js +25 -0
  223. package/dist/es/http/auth/local-web-token-manipulator.js +70 -0
  224. package/dist/es/http/auth/web-token-manipulator.js +1 -0
  225. package/dist/es/http/error/bad-gateway.js +8 -0
  226. package/dist/es/http/error/bad-request-error.js +8 -0
  227. package/dist/es/http/error/conflict-error.js +8 -0
  228. package/dist/es/http/error/epsilon-http-error.js +127 -0
  229. package/dist/es/http/error/forbidden-error.js +8 -0
  230. package/dist/es/http/error/gateway-timeout.js +8 -0
  231. package/dist/es/http/error/method-not-allowed-error.js +8 -0
  232. package/dist/es/http/error/misconfigured-error.js +8 -0
  233. package/dist/es/http/error/not-found-error.js +8 -0
  234. package/dist/es/http/error/not-implemented.js +8 -0
  235. package/dist/es/http/error/request-timeout-error.js +8 -0
  236. package/dist/es/http/error/service-unavailable.js +8 -0
  237. package/dist/es/http/error/too-many-requests-error.js +8 -0
  238. package/dist/es/http/error/unauthorized-error.js +8 -0
  239. package/dist/es/http/event-util.js +175 -0
  240. package/dist/es/http/response-util.js +141 -0
  241. package/dist/es/http/route/epsilon-router.js +1 -0
  242. package/dist/es/http/route/extended-auth-response-context.js +1 -0
  243. package/dist/es/http/route/route-mapping.js +1 -0
  244. package/dist/es/http/route/route-validator-config.js +1 -0
  245. package/dist/es/http/route/router-util.js +233 -0
  246. package/dist/es/http/web-handler.js +116 -0
  247. package/dist/es/http/web-v2-handler.js +21 -0
  248. package/dist/es/index.js +133 -0
  249. package/dist/es/inter-api/inter-api-entry.js +1 -0
  250. package/dist/es/inter-api/inter-api-util.js +58 -0
  251. package/dist/es/inter-api-manager.js +63 -0
  252. package/dist/es/lambda-event-handler/cron-epsilon-lambda-event-handler.js +72 -0
  253. package/dist/es/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +32 -0
  254. package/dist/es/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +28 -0
  255. package/dist/es/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +22 -0
  256. package/dist/es/lambda-event-handler/s3-epsilon-lambda-event-handler.js +40 -0
  257. package/dist/es/local-container-server.js +74 -0
  258. package/dist/es/local-server-cert.js +67 -0
  259. package/dist/es/local-server.js +140 -0
  260. package/dist/es/open-api-util/open-api-doc-modifications.js +1 -0
  261. package/dist/es/open-api-util/open-api-doc-modifier.js +78 -0
  262. package/dist/es/open-api-util/yaml-combiner.js +27 -0
  263. package/dist/es/run-background-process-from-command-line.js +32 -0
  264. package/dist/es/sample/sample-batch-only-local-server.js +17 -0
  265. package/dist/es/sample/sample-local-server.js +28 -0
  266. package/dist/es/sample/sample-server-components.js +192 -0
  267. package/dist/es/test-error-server.js +43 -0
  268. package/dist/es/util/aws-util.js +65 -0
  269. package/dist/es/util/context-util.js +95 -0
  270. package/dist/es/util/cron-util.js +68 -0
  271. package/dist/es/util/epsilon-config-parser.js +64 -0
  272. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  273. package/dist/tsconfig.es.tsbuildinfo +1 -0
  274. package/dist/tsconfig.types.tsbuildinfo +1 -0
  275. package/dist/types/background/background-dynamo-log-table-handler.d.ts +11 -0
  276. package/dist/types/background/background-entry.d.ts +4 -0
  277. package/dist/types/background/background-execution-event-type.d.ts +7 -0
  278. package/dist/types/background/background-execution-event.d.ts +8 -0
  279. package/dist/types/background/background-execution-listener.d.ts +5 -0
  280. package/dist/types/background/background-handler.d.ts +33 -0
  281. package/dist/types/background/background-http-adapter-handler.d.ts +26 -0
  282. package/dist/types/background/background-meta-response-internal.d.ts +5 -0
  283. package/dist/types/background/background-process-handling.d.ts +4 -0
  284. package/dist/types/background/background-process-log-table-entry.d.ts +11 -0
  285. package/dist/types/background/background-queue-response-internal.d.ts +8 -0
  286. package/dist/types/background/background-validator.d.ts +20 -0
  287. package/dist/types/background/epsilon-background-process-error.d.ts +30 -0
  288. package/dist/types/background/internal-background-entry.d.ts +7 -0
  289. package/dist/types/background/manager/abstract-background-manager.d.ts +26 -0
  290. package/dist/types/background/manager/aws-sqs-sns-background-manager.d.ts +30 -0
  291. package/dist/types/background/manager/background-manager-like.d.ts +24 -0
  292. package/dist/types/background/manager/single-thread-local-background-manager.d.ts +22 -0
  293. package/dist/types/background/s3-background-transaction-logger.d.ts +17 -0
  294. package/dist/types/build/ratchet-epsilon-common-info.d.ts +5 -0
  295. package/dist/types/built-in/background/echo-processor.d.ts +7 -0
  296. package/dist/types/built-in/background/log-and-enqueue-echo-processor.d.ts +6 -0
  297. package/dist/types/built-in/background/log-message-background-error-processor.d.ts +5 -0
  298. package/dist/types/built-in/background/no-op-processor.d.ts +6 -0
  299. package/dist/types/built-in/background/retry-processor.d.ts +16 -0
  300. package/dist/types/built-in/background/sample-delay-processor.d.ts +6 -0
  301. package/dist/types/built-in/background/sample-input-validated-processor-data.d.ts +4 -0
  302. package/dist/types/built-in/background/sample-input-validated-processor.d.ts +8 -0
  303. package/dist/types/built-in/built-in-trace-id-generators.d.ts +5 -0
  304. package/dist/types/built-in/daemon/daemon-authorizer-function.d.ts +5 -0
  305. package/dist/types/built-in/daemon/daemon-config.d.ts +8 -0
  306. package/dist/types/built-in/daemon/daemon-group-selection-function.d.ts +4 -0
  307. package/dist/types/built-in/daemon/daemon-handler.d.ts +22 -0
  308. package/dist/types/built-in/daemon/daemon-process-state-list.d.ts +8 -0
  309. package/dist/types/built-in/http/apollo-filter.d.ts +10 -0
  310. package/dist/types/built-in/http/built-in-auth-filters.d.ts +9 -0
  311. package/dist/types/built-in/http/built-in-authorizers.d.ts +8 -0
  312. package/dist/types/built-in/http/built-in-filters.d.ts +25 -0
  313. package/dist/types/built-in/http/built-in-handlers.d.ts +9 -0
  314. package/dist/types/built-in/http/log-level-manipulation-filter.d.ts +9 -0
  315. package/dist/types/built-in/http/run-handler-as-filter.d.ts +12 -0
  316. package/dist/types/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.d.ts +2 -0
  317. package/dist/types/config/background/background-aws-config.d.ts +7 -0
  318. package/dist/types/config/background/background-config.d.ts +14 -0
  319. package/dist/types/config/background/background-error-processor.d.ts +4 -0
  320. package/dist/types/config/background/background-processor.d.ts +6 -0
  321. package/dist/types/config/background/background-transaction-log.d.ts +8 -0
  322. package/dist/types/config/background/background-transaction-logger.d.ts +5 -0
  323. package/dist/types/config/cron/abstract-cron-entry.d.ts +12 -0
  324. package/dist/types/config/cron/cron-background-entry.d.ts +15 -0
  325. package/dist/types/config/cron/cron-config.d.ts +6 -0
  326. package/dist/types/config/dynamo-db-config.d.ts +5 -0
  327. package/dist/types/config/epsilon-config.d.ts +20 -0
  328. package/dist/types/config/epsilon-lambda-event-handler.d.ts +7 -0
  329. package/dist/types/config/epsilon-logger-config.d.ts +12 -0
  330. package/dist/types/config/generic-aws-event-handler-function.d.ts +3 -0
  331. package/dist/types/config/http/authorizer-function.d.ts +6 -0
  332. package/dist/types/config/http/epsilon-authorization-context.d.ts +5 -0
  333. package/dist/types/config/http/extended-api-gateway-event.d.ts +7 -0
  334. package/dist/types/config/http/filter-chain-context.d.ts +14 -0
  335. package/dist/types/config/http/filter-function.d.ts +4 -0
  336. package/dist/types/config/http/handler-function.d.ts +5 -0
  337. package/dist/types/config/http/http-config.d.ts +15 -0
  338. package/dist/types/config/http/http-processing-config.d.ts +11 -0
  339. package/dist/types/config/http/mapped-http-processing-config.d.ts +7 -0
  340. package/dist/types/config/http/null-returned-object-handling.d.ts +5 -0
  341. package/dist/types/config/inter-api/inter-api-aws-config.d.ts +5 -0
  342. package/dist/types/config/inter-api/inter-api-config.d.ts +6 -0
  343. package/dist/types/config/inter-api/inter-api-process-mapping.d.ts +11 -0
  344. package/dist/types/config/logging-trace-id-generator.d.ts +4 -0
  345. package/dist/types/config/open-api/open-api-document-components.d.ts +4 -0
  346. package/dist/types/config/open-api/open-api-document-path.d.ts +2 -0
  347. package/dist/types/config/open-api/open-api-document.d.ts +6 -0
  348. package/dist/types/config/s3-config.d.ts +6 -0
  349. package/dist/types/config/sns-config.d.ts +5 -0
  350. package/dist/types/epsilon-build-properties.d.ts +9 -0
  351. package/dist/types/epsilon-constants.d.ts +16 -0
  352. package/dist/types/epsilon-global-handler.d.ts +23 -0
  353. package/dist/types/epsilon-instance.d.ts +19 -0
  354. package/dist/types/epsilon-logging-extension-processor.d.ts +5 -0
  355. package/dist/types/http/auth/api-gateway-adapter-authentication-handler.d.ts +18 -0
  356. package/dist/types/http/auth/auth0-web-token-manipulator.d.ts +13 -0
  357. package/dist/types/http/auth/basic-auth-token.d.ts +7 -0
  358. package/dist/types/http/auth/google-web-token-manipulator.d.ts +14 -0
  359. package/dist/types/http/auth/jwt-ratchet-local-web-token-manipulator.d.ts +13 -0
  360. package/dist/types/http/auth/local-web-token-manipulator.d.ts +20 -0
  361. package/dist/types/http/auth/web-token-manipulator.d.ts +7 -0
  362. package/dist/types/http/error/bad-gateway.d.ts +5 -0
  363. package/dist/types/http/error/bad-request-error.d.ts +5 -0
  364. package/dist/types/http/error/conflict-error.d.ts +5 -0
  365. package/dist/types/http/error/epsilon-http-error.d.ts +41 -0
  366. package/dist/types/http/error/forbidden-error.d.ts +5 -0
  367. package/dist/types/http/error/gateway-timeout.d.ts +5 -0
  368. package/dist/types/http/error/method-not-allowed-error.d.ts +5 -0
  369. package/dist/types/http/error/misconfigured-error.d.ts +5 -0
  370. package/dist/types/http/error/not-found-error.d.ts +5 -0
  371. package/dist/types/http/error/not-implemented.d.ts +5 -0
  372. package/dist/types/http/error/request-timeout-error.d.ts +5 -0
  373. package/dist/types/http/error/service-unavailable.d.ts +5 -0
  374. package/dist/types/http/error/too-many-requests-error.d.ts +5 -0
  375. package/dist/types/http/error/unauthorized-error.d.ts +5 -0
  376. package/dist/types/http/event-util.d.ts +47 -0
  377. package/dist/types/http/response-util.d.ts +11 -0
  378. package/dist/types/http/route/epsilon-router.d.ts +8 -0
  379. package/dist/types/http/route/extended-auth-response-context.d.ts +6 -0
  380. package/dist/types/http/route/route-mapping.d.ts +12 -0
  381. package/dist/types/http/route/route-validator-config.d.ts +5 -0
  382. package/dist/types/http/route/router-util.d.ts +26 -0
  383. package/dist/types/http/web-handler.d.ts +26 -0
  384. package/dist/types/http/web-v2-handler.d.ts +13 -0
  385. package/dist/types/index.d.ts +136 -0
  386. package/dist/types/inter-api/inter-api-entry.d.ts +7 -0
  387. package/dist/types/inter-api/inter-api-util.d.ts +10 -0
  388. package/dist/types/inter-api-manager.d.ts +17 -0
  389. package/dist/types/lambda-event-handler/cron-epsilon-lambda-event-handler.d.ts +14 -0
  390. package/dist/types/lambda-event-handler/dynamo-epsilon-lambda-event-handler.d.ts +11 -0
  391. package/dist/types/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.d.ts +10 -0
  392. package/dist/types/lambda-event-handler/inter-api-epsilon-lambda-event-handler.d.ts +10 -0
  393. package/dist/types/lambda-event-handler/s3-epsilon-lambda-event-handler.d.ts +10 -0
  394. package/dist/types/local-container-server.d.ts +13 -0
  395. package/dist/types/local-server-cert.d.ts +5 -0
  396. package/dist/types/local-server.d.ts +19 -0
  397. package/dist/types/open-api-util/open-api-doc-modifications.d.ts +8 -0
  398. package/dist/types/open-api-util/open-api-doc-modifier.d.ts +10 -0
  399. package/dist/types/open-api-util/yaml-combiner.d.ts +3 -0
  400. package/dist/types/run-background-process-from-command-line.d.ts +13 -0
  401. package/dist/types/sample/sample-batch-only-local-server.d.ts +1 -0
  402. package/dist/types/sample/sample-local-server.d.ts +1 -0
  403. package/dist/types/sample/sample-server-components.d.ts +12 -0
  404. package/dist/types/test-error-server.d.ts +13 -0
  405. package/dist/types/util/aws-util.d.ts +8 -0
  406. package/dist/types/util/context-util.d.ts +33 -0
  407. package/dist/types/util/cron-util.d.ts +11 -0
  408. package/dist/types/util/epsilon-config-parser.d.ts +14 -0
  409. package/package.json +132 -0
@@ -0,0 +1,47 @@
1
+ import { APIGatewayEvent, APIGatewayEventRequestContext, AuthResponseContext } from 'aws-lambda';
2
+ import { EpsilonLoggerConfig } from '../config/epsilon-logger-config';
3
+ import { BasicAuthToken } from './auth/basic-auth-token';
4
+ import { LoggerLevelName } from '@bitblit/ratchet-common';
5
+ /**
6
+ * Endpoints about the api itself
7
+ */
8
+ export declare class EventUtil {
9
+ private constructor();
10
+ static extractStage(event: APIGatewayEvent): string;
11
+ static extractHostHeader(event: APIGatewayEvent): string;
12
+ static extractProtocol(event: APIGatewayEvent): string;
13
+ static extractApiGatewayStage(event: APIGatewayEvent): string;
14
+ static extractRequestContext(event: APIGatewayEvent): APIGatewayEventRequestContext;
15
+ static extractAuthorizer(event: APIGatewayEvent): AuthResponseContext;
16
+ static ipAddressChain(event: APIGatewayEvent): string[];
17
+ static ipAddress(event: APIGatewayEvent): string;
18
+ static extractFullPath(event: APIGatewayEvent, overrideProtocol?: string): string;
19
+ static extractFullPrefix(event: APIGatewayEvent, overrideProtocol?: string): string;
20
+ static jsonBodyToObject(event: APIGatewayEvent): any;
21
+ static calcLogLevelViaEventOrEnvParam(curLevel: LoggerLevelName, event: APIGatewayEvent, rConfig: EpsilonLoggerConfig): LoggerLevelName;
22
+ /**
23
+ * This is a weird function - sometimes your customers will not decode their query params and it
24
+ * results in query params that look like 'amp;SOMETHING' instead of 'SOMETHING'. This function
25
+ * looks for params that look like that, and strips the amp; from them. If you have any
26
+ * params you are expecting that have 'amp;' in front of them, DON'T use this function.
27
+ *
28
+ * Also, you are a moron for having a param that looks like that
29
+ *
30
+ * Yes, it would be better to fix this on the client side, but that is not always an option
31
+ * in production
32
+ * @param event
33
+ */
34
+ static fixStillEncodedQueryParams(event: APIGatewayEvent): void;
35
+ /**
36
+ * Allows you to force in a token for an arbitrary event without having to pass the whole thing
37
+ * through Epsilon. Useful for when you need to test a handler that needs authorization,
38
+ * and don't need to instantiate all of epsilon, just the handler
39
+ * @param event Event to decorate
40
+ * @param jwtToken String containing a valid JWT token
41
+ */
42
+ static applyTokenToEventForTesting(event: APIGatewayEvent, jwtToken: string): void;
43
+ static extractBasicAuthenticationToken(event: APIGatewayEvent, throwErrorOnMissingBad?: boolean): BasicAuthToken;
44
+ static eventIsAGraphQLIntrospection(event: APIGatewayEvent): boolean;
45
+ static extractAuthorizationHeaderCaseInsensitive(evt: APIGatewayEvent): string;
46
+ static extractBearerTokenFromEvent(evt: APIGatewayEvent): string;
47
+ }
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" />
2
+ import { ProxyResult } from 'aws-lambda';
3
+ import { EpsilonHttpError } from './error/epsilon-http-error';
4
+ export declare class ResponseUtil {
5
+ private constructor();
6
+ static errorResponse<T>(err: EpsilonHttpError<T>): ProxyResult;
7
+ static redirect(target: string, code?: number, queryParams?: any): ProxyResult;
8
+ static coerceToProxyResult(input: any): ProxyResult;
9
+ static applyGzipIfPossible(encodingHeader: string, proxyResult: ProxyResult): Promise<ProxyResult>;
10
+ static gzip(input: Buffer): Promise<Buffer>;
11
+ }
@@ -0,0 +1,8 @@
1
+ import { RouteMapping } from './route-mapping';
2
+ import { ModelValidator } from '@bitblit/ratchet-misc';
3
+ import { HttpConfig } from '../../config/http/http-config';
4
+ export interface EpsilonRouter {
5
+ routes: RouteMapping[];
6
+ openApiModelValidator: ModelValidator;
7
+ config: HttpConfig;
8
+ }
@@ -0,0 +1,6 @@
1
+ import { AuthResponseContext } from 'aws-lambda';
2
+ export interface ExtendedAuthResponseContext extends AuthResponseContext {
3
+ userData: any;
4
+ userDataJSON: string;
5
+ srcData: string;
6
+ }
@@ -0,0 +1,12 @@
1
+ import { RouteValidatorConfig } from './route-validator-config';
2
+ import { HandlerFunction } from '../../config/http/handler-function';
3
+ import { HttpProcessingConfig } from '../../config/http/http-processing-config';
4
+ export interface RouteMapping {
5
+ method: string;
6
+ path: string;
7
+ function: HandlerFunction<any>;
8
+ metaProcessingConfig: HttpProcessingConfig;
9
+ validation: RouteValidatorConfig;
10
+ outboundValidation: RouteValidatorConfig;
11
+ authorizerName: string;
12
+ }
@@ -0,0 +1,5 @@
1
+ export interface RouteValidatorConfig {
2
+ modelName: string;
3
+ emptyAllowed: boolean;
4
+ extraPropertiesAllowed: boolean;
5
+ }
@@ -0,0 +1,26 @@
1
+ import { EpsilonRouter } from './epsilon-router';
2
+ import { OpenApiDocument } from '../../config/open-api/open-api-document';
3
+ import { ModelValidator } from '@bitblit/ratchet-misc';
4
+ import { BackgroundHttpAdapterHandler } from '../../background/background-http-adapter-handler';
5
+ import { HttpConfig } from '../../config/http/http-config';
6
+ import { HttpProcessingConfig } from '../../config/http/http-processing-config';
7
+ import { WebTokenManipulator } from '../auth/web-token-manipulator';
8
+ import { FilterFunction } from '../../config/http/filter-function';
9
+ import { JwtTokenBase } from '@bitblit/ratchet-common';
10
+ /**
11
+ * Endpoints about the api itself
12
+ */
13
+ export declare class RouterUtil {
14
+ private constructor();
15
+ static defaultAuthenticationHeaderParsingEpsilonPreFilters(webTokenManipulator: WebTokenManipulator<JwtTokenBase>): FilterFunction[];
16
+ static defaultEpsilonPreFilters(): FilterFunction[];
17
+ static defaultEpsilonPostFilters(): FilterFunction[];
18
+ static defaultEpsilonErrorFilters(): FilterFunction[];
19
+ static defaultHttpMetaProcessingConfigWithAuthenticationHeaderParsing(webTokenManipulator: WebTokenManipulator<JwtTokenBase>): HttpProcessingConfig;
20
+ static defaultHttpMetaProcessingConfig(): HttpProcessingConfig;
21
+ static assignDefaultsOnHttpConfig(cfg: HttpConfig): HttpConfig;
22
+ static findApplicableMeta(httpConfig: HttpConfig, method: string, path: string): HttpProcessingConfig;
23
+ static openApiYamlToRouterConfig(httpConfig: HttpConfig, openApiDoc: OpenApiDocument, modelValidator: ModelValidator, backgroundHttpAdapterHandler: BackgroundHttpAdapterHandler): EpsilonRouter;
24
+ private static findAndValidateModelName;
25
+ static openApiPathToRouteParserPath(input: string): string;
26
+ }
@@ -0,0 +1,26 @@
1
+ import { EpsilonRouter } from './route/epsilon-router';
2
+ import { APIGatewayEvent, Context, ProxyResult } from 'aws-lambda';
3
+ import Route from 'route-parser';
4
+ import { RouteMapping } from './route/route-mapping';
5
+ import { ExtendedAPIGatewayEvent } from '../config/http/extended-api-gateway-event';
6
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
7
+ /**
8
+ * This class functions as the adapter from a default lambda function to the handlers exposed via Epsilon
9
+ */
10
+ export declare class WebHandler implements EpsilonLambdaEventHandler<APIGatewayEvent> {
11
+ private routerConfig;
12
+ static readonly MAXIMUM_LAMBDA_BODY_SIZE_BYTES: number;
13
+ constructor(routerConfig: EpsilonRouter);
14
+ get router(): EpsilonRouter;
15
+ extractLabel(evt: APIGatewayEvent, context: Context): string;
16
+ handlesEvent(evt: any): boolean;
17
+ processEvent(event: APIGatewayEvent, context: Context): Promise<ProxyResult>;
18
+ openApiLambdaHandler(evt: ExtendedAPIGatewayEvent, context: Context): Promise<ProxyResult>;
19
+ findBestMatchingRoute(event: APIGatewayEvent): RouteAndParse;
20
+ private cleanPath;
21
+ }
22
+ export interface RouteAndParse {
23
+ mapping: RouteMapping;
24
+ route: Route;
25
+ parsed: any;
26
+ }
@@ -0,0 +1,13 @@
1
+ import { APIGatewayProxyEventV2, Context, ProxyResult } from 'aws-lambda';
2
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
3
+ import { WebHandler } from './web-handler';
4
+ /**
5
+ * This class functions as the adapter from a default lambda function to the handlers exposed via Epsilon
6
+ */
7
+ export declare class WebV2Handler implements EpsilonLambdaEventHandler<APIGatewayProxyEventV2> {
8
+ private webHandler;
9
+ constructor(webHandler: WebHandler);
10
+ extractLabel(evt: APIGatewayProxyEventV2, context: Context): string;
11
+ handlesEvent(evt: any): boolean;
12
+ processEvent(evt: APIGatewayProxyEventV2, context: Context): Promise<ProxyResult>;
13
+ }
@@ -0,0 +1,136 @@
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
4
+ export * from './epsilon-build-properties';
5
+ export * from './epsilon-constants';
6
+ export * from './epsilon-global-handler';
7
+ export * from './epsilon-instance';
8
+ export * from './epsilon-logging-extension-processor';
9
+ export * from './inter-api-manager';
10
+ export * from './local-container-server';
11
+ export * from './local-server-cert';
12
+ export * from './local-server';
13
+ export * from './run-background-process-from-command-line';
14
+ export * from './test-error-server';
15
+ export * from './background/background-dynamo-log-table-handler';
16
+ export * from './background/background-entry';
17
+ export * from './background/background-execution-event-type';
18
+ export * from './background/background-execution-event';
19
+ export * from './background/background-execution-listener';
20
+ export * from './background/background-handler';
21
+ export * from './background/background-http-adapter-handler';
22
+ export * from './background/background-meta-response-internal';
23
+ export * from './background/background-process-handling';
24
+ export * from './background/background-process-log-table-entry';
25
+ export * from './background/background-queue-response-internal';
26
+ export * from './background/background-validator';
27
+ export * from './background/epsilon-background-process-error';
28
+ export * from './background/internal-background-entry';
29
+ export * from './background/s3-background-transaction-logger';
30
+ export * from './background/manager/abstract-background-manager';
31
+ export * from './background/manager/aws-sqs-sns-background-manager';
32
+ export * from './background/manager/background-manager-like';
33
+ export * from './background/manager/single-thread-local-background-manager';
34
+ export * from './build/ratchet-epsilon-common-info';
35
+ export * from './built-in/built-in-trace-id-generators';
36
+ export * from './built-in/background/echo-processor';
37
+ export * from './built-in/background/log-and-enqueue-echo-processor';
38
+ export * from './built-in/background/log-message-background-error-processor';
39
+ export * from './built-in/background/no-op-processor';
40
+ export * from './built-in/background/retry-processor';
41
+ export * from './built-in/background/sample-delay-processor';
42
+ export * from './built-in/background/sample-input-validated-processor-data';
43
+ export * from './built-in/background/sample-input-validated-processor';
44
+ export * from './built-in/daemon/daemon-authorizer-function';
45
+ export * from './built-in/daemon/daemon-config';
46
+ export * from './built-in/daemon/daemon-group-selection-function';
47
+ export * from './built-in/daemon/daemon-handler';
48
+ export * from './built-in/daemon/daemon-process-state-list';
49
+ export * from './built-in/http/apollo-filter';
50
+ export * from './built-in/http/built-in-auth-filters';
51
+ export * from './built-in/http/built-in-authorizers';
52
+ export * from './built-in/http/built-in-filters';
53
+ export * from './built-in/http/built-in-handlers';
54
+ export * from './built-in/http/log-level-manipulation-filter';
55
+ export * from './built-in/http/run-handler-as-filter';
56
+ export * from './cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run';
57
+ export * from './config/dynamo-db-config';
58
+ export * from './config/epsilon-config';
59
+ export * from './config/epsilon-lambda-event-handler';
60
+ export * from './config/epsilon-logger-config';
61
+ export * from './config/generic-aws-event-handler-function';
62
+ export * from './config/logging-trace-id-generator';
63
+ export * from './config/s3-config';
64
+ export * from './config/sns-config';
65
+ export * from './config/background/background-aws-config';
66
+ export * from './config/background/background-config';
67
+ export * from './config/background/background-error-processor';
68
+ export * from './config/background/background-processor';
69
+ export * from './config/background/background-transaction-log';
70
+ export * from './config/background/background-transaction-logger';
71
+ export * from './config/cron/abstract-cron-entry';
72
+ export * from './config/cron/cron-background-entry';
73
+ export * from './config/cron/cron-config';
74
+ export * from './config/http/authorizer-function';
75
+ export * from './config/http/epsilon-authorization-context';
76
+ export * from './config/http/extended-api-gateway-event';
77
+ export * from './config/http/filter-chain-context';
78
+ export * from './config/http/filter-function';
79
+ export * from './config/http/handler-function';
80
+ export * from './config/http/http-config';
81
+ export * from './config/http/http-processing-config';
82
+ export * from './config/http/mapped-http-processing-config';
83
+ export * from './config/http/null-returned-object-handling';
84
+ export * from './config/inter-api/inter-api-aws-config';
85
+ export * from './config/inter-api/inter-api-config';
86
+ export * from './config/inter-api/inter-api-process-mapping';
87
+ export * from './config/open-api/open-api-document-components';
88
+ export * from './config/open-api/open-api-document-path';
89
+ export * from './config/open-api/open-api-document';
90
+ export * from './http/event-util';
91
+ export * from './http/response-util';
92
+ export * from './http/web-handler';
93
+ export * from './http/web-v2-handler';
94
+ export * from './http/auth/api-gateway-adapter-authentication-handler';
95
+ export * from './http/auth/auth0-web-token-manipulator';
96
+ export * from './http/auth/basic-auth-token';
97
+ export * from './http/auth/google-web-token-manipulator';
98
+ export * from './http/auth/jwt-ratchet-local-web-token-manipulator';
99
+ export * from './http/auth/local-web-token-manipulator';
100
+ export * from './http/auth/web-token-manipulator';
101
+ export * from './http/error/bad-gateway';
102
+ export * from './http/error/bad-request-error';
103
+ export * from './http/error/conflict-error';
104
+ export * from './http/error/epsilon-http-error';
105
+ export * from './http/error/forbidden-error';
106
+ export * from './http/error/gateway-timeout';
107
+ export * from './http/error/method-not-allowed-error';
108
+ export * from './http/error/misconfigured-error';
109
+ export * from './http/error/not-found-error';
110
+ export * from './http/error/not-implemented';
111
+ export * from './http/error/request-timeout-error';
112
+ export * from './http/error/service-unavailable';
113
+ export * from './http/error/too-many-requests-error';
114
+ export * from './http/error/unauthorized-error';
115
+ export * from './http/route/epsilon-router';
116
+ export * from './http/route/extended-auth-response-context';
117
+ export * from './http/route/route-mapping';
118
+ export * from './http/route/route-validator-config';
119
+ export * from './http/route/router-util';
120
+ export * from './inter-api/inter-api-entry';
121
+ export * from './inter-api/inter-api-util';
122
+ export * from './lambda-event-handler/cron-epsilon-lambda-event-handler';
123
+ export * from './lambda-event-handler/dynamo-epsilon-lambda-event-handler';
124
+ export * from './lambda-event-handler/generic-sns-epsilon-lambda-event-handler';
125
+ export * from './lambda-event-handler/inter-api-epsilon-lambda-event-handler';
126
+ export * from './lambda-event-handler/s3-epsilon-lambda-event-handler';
127
+ export * from './open-api-util/open-api-doc-modifications';
128
+ export * from './open-api-util/open-api-doc-modifier';
129
+ export * from './open-api-util/yaml-combiner';
130
+ export * from './sample/sample-batch-only-local-server';
131
+ export * from './sample/sample-local-server';
132
+ export * from './sample/sample-server-components';
133
+ export * from './util/aws-util';
134
+ export * from './util/context-util';
135
+ export * from './util/cron-util';
136
+ export * from './util/epsilon-config-parser';
@@ -0,0 +1,7 @@
1
+ export interface InterApiEntry<T> {
2
+ source: string;
3
+ type: string;
4
+ data: T;
5
+ traceId?: string;
6
+ traceDepth?: number;
7
+ }
@@ -0,0 +1,10 @@
1
+ import { SNSEvent } from 'aws-lambda';
2
+ import { InterApiEntry } from './inter-api-entry';
3
+ import { InterApiConfig } from '../config/inter-api/inter-api-config';
4
+ import { BackgroundManagerLike } from '../background/manager/background-manager-like';
5
+ export declare class InterApiUtil {
6
+ static isInterApiSnsEvent(event: any): boolean;
7
+ static extractEntryFromEvent(evt: SNSEvent): InterApiEntry<any>;
8
+ static processInterApiEvent(evt: SNSEvent, cfg: InterApiConfig, mgr: BackgroundManagerLike): Promise<string[]>;
9
+ static addTraceToInterApiEntry(ent: InterApiEntry<any>): InterApiEntry<any>;
10
+ }
@@ -0,0 +1,17 @@
1
+ import { InterApiEntry } from './inter-api/inter-api-entry';
2
+ import { InterApiAwsConfig } from './config/inter-api/inter-api-aws-config';
3
+ import { SNSClient } from '@aws-sdk/client-sns';
4
+ /**
5
+ * Handles all submission of events to the inter-api SNS topic (if any)
6
+ */
7
+ export declare class InterApiManager {
8
+ private _aws;
9
+ private _sns;
10
+ constructor(_aws: InterApiAwsConfig, _sns: SNSClient);
11
+ get config(): InterApiAwsConfig;
12
+ get sns(): SNSClient;
13
+ createEntry<T>(type: string, data?: T): InterApiEntry<T>;
14
+ fireInterApiEventByParts<T>(type: string, data?: T): Promise<string>;
15
+ fireInterApiEvent<T>(entry: InterApiEntry<T>): Promise<string>;
16
+ writeMessageToSnsTopic(message: string): Promise<string>;
17
+ }
@@ -0,0 +1,14 @@
1
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
2
+ import { Context, ProxyResult, ScheduledEvent } from 'aws-lambda';
3
+ import { EpsilonInstance } from '../epsilon-instance';
4
+ import { CronConfig } from '../config/cron/cron-config';
5
+ import { BackgroundHandler } from '../background/background-handler';
6
+ import { BackgroundManagerLike } from '../background/manager/background-manager-like';
7
+ export declare class CronEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<ScheduledEvent> {
8
+ private _epsilon;
9
+ constructor(_epsilon: EpsilonInstance);
10
+ extractLabel(evt: ScheduledEvent, context: Context): string;
11
+ handlesEvent(evt: any): boolean;
12
+ processEvent(evt: ScheduledEvent, context: Context): Promise<ProxyResult>;
13
+ static processCronEvent(evt: ScheduledEvent, cronConfig: CronConfig, backgroundManager: BackgroundManagerLike, background: BackgroundHandler): Promise<boolean>;
14
+ }
@@ -0,0 +1,11 @@
1
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
2
+ import { Context, DynamoDBStreamEvent, ProxyResult } from 'aws-lambda';
3
+ import { EpsilonInstance } from '../epsilon-instance';
4
+ export declare class DynamoEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<DynamoDBStreamEvent> {
5
+ private _epsilon;
6
+ constructor(_epsilon: EpsilonInstance);
7
+ extractLabel(evt: DynamoDBStreamEvent, context: Context): string;
8
+ handlesEvent(evt: any): boolean;
9
+ processEvent(evt: DynamoDBStreamEvent, context: Context): Promise<ProxyResult>;
10
+ processUncaughtError(event: DynamoDBStreamEvent, context: Context, err: any): Promise<ProxyResult>;
11
+ }
@@ -0,0 +1,10 @@
1
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
2
+ import { Context, ProxyResult, SNSEvent } from 'aws-lambda';
3
+ import { EpsilonInstance } from '../epsilon-instance';
4
+ export declare class GenericSnsEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<SNSEvent> {
5
+ private _epsilon;
6
+ constructor(_epsilon: EpsilonInstance);
7
+ extractLabel(evt: SNSEvent, context: Context): string;
8
+ handlesEvent(evt: any): boolean;
9
+ processEvent(evt: SNSEvent, context: Context): Promise<ProxyResult>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
2
+ import { Context, ProxyResult, SNSEvent } from 'aws-lambda';
3
+ import { EpsilonInstance } from '../epsilon-instance';
4
+ export declare class InterApiEpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<SNSEvent> {
5
+ private _epsilon;
6
+ constructor(_epsilon: EpsilonInstance);
7
+ extractLabel(evt: SNSEvent, context: Context): string;
8
+ handlesEvent(evt: any): boolean;
9
+ processEvent(evt: SNSEvent, context: Context): Promise<ProxyResult>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
2
+ import { Context, ProxyResult, S3Event } from 'aws-lambda';
3
+ import { EpsilonInstance } from '../epsilon-instance';
4
+ export declare class S3EpsilonLambdaEventHandler implements EpsilonLambdaEventHandler<S3Event> {
5
+ private _epsilon;
6
+ constructor(_epsilon: EpsilonInstance);
7
+ extractLabel(evt: S3Event, context: Context): string;
8
+ handlesEvent(evt: any): boolean;
9
+ processEvent(evt: S3Event, context: Context): Promise<ProxyResult>;
10
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import { IncomingMessage, ServerResponse } from 'http';
3
+ /**
4
+ * A simplistic server for testing your lambdas locally
5
+ */
6
+ export declare class LocalContainerServer {
7
+ private port;
8
+ private server;
9
+ private aborted;
10
+ constructor(port?: number);
11
+ runServer(): Promise<boolean>;
12
+ requestHandler(request: IncomingMessage, response: ServerResponse): Promise<any>;
13
+ }
@@ -0,0 +1,5 @@
1
+ export declare class LocalServerCert {
2
+ static readonly CLIENT_CSR: string;
3
+ static readonly CLIENT_CERT_PEM: string;
4
+ static readonly CLIENT_KEY_PEM: string;
5
+ }
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import { APIGatewayEvent, Context, ProxyResult } from 'aws-lambda';
3
+ import { IncomingMessage, ServerResponse } from 'http';
4
+ import { EpsilonGlobalHandler } from './epsilon-global-handler';
5
+ /**
6
+ * A simplistic server for testing your lambdas locally
7
+ */
8
+ export declare class LocalServer {
9
+ private globalHandler;
10
+ private port;
11
+ private server;
12
+ private aborted;
13
+ constructor(globalHandler: EpsilonGlobalHandler, port?: number, https?: boolean);
14
+ runServer(): Promise<boolean>;
15
+ requestHandler(request: IncomingMessage, response: ServerResponse): Promise<any>;
16
+ static bodyAsBase64String(request: IncomingMessage): Promise<string>;
17
+ static messageToApiGatewayEvent(request: IncomingMessage, context: Context): Promise<APIGatewayEvent>;
18
+ static writeProxyResultToServerResponse(proxyResult: ProxyResult, response: ServerResponse): Promise<boolean>;
19
+ }
@@ -0,0 +1,8 @@
1
+ export interface OpenApiDocModifications {
2
+ newServerPath: string;
3
+ removeEndpoints: RegExp[];
4
+ removeTags: string[];
5
+ removeSchemas: string[];
6
+ sortEndpoints: boolean;
7
+ sortSchemas: boolean;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { OpenApiDocModifications } from './open-api-doc-modifications';
2
+ /**
3
+ * Monitoring endpoints
4
+ */
5
+ export declare class OpenApiDocModifier {
6
+ private options;
7
+ constructor(options: OpenApiDocModifications);
8
+ modifyOpenApiDoc(yamlString: string): string;
9
+ private matchNone;
10
+ }
@@ -0,0 +1,3 @@
1
+ export declare class YamlCombiner {
2
+ static combine(files: string[], inRootPath?: string[]): string;
3
+ }
@@ -0,0 +1,13 @@
1
+ import { EpsilonGlobalHandler } from './epsilon-global-handler';
2
+ /**
3
+ * IMPORTANT NOTE
4
+ * This file is part of the bootstrapper to bridge from the Epsilon Background processor
5
+ * to the AWS Batch processing Docker setup.
6
+ *
7
+ * DO NOT MESS WITH IT UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.
8
+ *
9
+ * You are likely to mess it up otherwise.
10
+ */
11
+ export declare class RunBackgroundProcessFromCommandLine {
12
+ static processBackgroundCliRequest(epsilon: EpsilonGlobalHandler, dryRun?: boolean): Promise<boolean>;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ApolloServer } from 'apollo-server-lambda';
2
+ import { EpsilonGlobalHandler } from '../epsilon-global-handler';
3
+ import { EpsilonConfig } from '../config/epsilon-config';
4
+ export declare class SampleServerComponents {
5
+ private constructor();
6
+ static createSampleApollo(): Promise<ApolloServer>;
7
+ static createSampleEpsilonConfig(): Promise<EpsilonConfig>;
8
+ static createSampleEpsilonGlobalHandler(): Promise<EpsilonGlobalHandler>;
9
+ static createSampleBatchOnlyEpsilonGlobalHandler(): Promise<EpsilonGlobalHandler>;
10
+ static loadSampleOpenApiYaml(): string;
11
+ static loadSampleServerGQL(): string;
12
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import { IncomingMessage, ServerResponse } from 'http';
3
+ /**
4
+ * A simplistic server for testing your lambdas locally
5
+ */
6
+ export declare class TestErrorServer {
7
+ private port;
8
+ private server;
9
+ private aborted;
10
+ constructor(port?: number);
11
+ runServer(): Promise<boolean>;
12
+ requestHandler(request: IncomingMessage, response: ServerResponse): Promise<any>;
13
+ }
@@ -0,0 +1,8 @@
1
+ import { APIGatewayEvent, APIGatewayEventRequestContextV2, APIGatewayEventRequestContextWithAuthorizer, APIGatewayProxyEventV2 } from 'aws-lambda';
2
+ export declare class AwsUtil {
3
+ static apiGatewayV2ToApiGatewayV1(srcEvt: APIGatewayProxyEventV2): APIGatewayEvent;
4
+ static apiGatewayV2RequestContextToApiGatewayV1RequestContext(srcEvt: APIGatewayEventRequestContextV2): APIGatewayEventRequestContextWithAuthorizer<any>;
5
+ static findInMap<T>(toFind: string, map: Map<string, T>): T;
6
+ static matchExact(r: any, str: any): boolean;
7
+ static resolvePotentialFunctionToResult<T>(src: any, def: T): T;
8
+ }
@@ -0,0 +1,33 @@
1
+ import { Context, ProxyResult } from 'aws-lambda';
2
+ import { EpsilonInstance } from '../epsilon-instance';
3
+ import { InternalBackgroundEntry } from '../background/internal-background-entry';
4
+ import { InterApiEntry } from '../inter-api/inter-api-entry';
5
+ export declare class ContextUtil {
6
+ private static CURRENT_EPSILON_REFERENCE;
7
+ private static CURRENT_CONTEXT;
8
+ private static CURRENT_EVENT;
9
+ private static CURRENT_LOG_VARS;
10
+ private static CURRENT_PROCESS_LABEL;
11
+ private static CURRENT_OVERRIDE_TRACE_ID;
12
+ private static CURRENT_OVERRIDE_TRACE_DEPTH;
13
+ private constructor();
14
+ static initContext(epsilon: EpsilonInstance, evt: any, ctx: Context, processLabel: string): void;
15
+ static clearContext(): void;
16
+ static setOverrideTrace(traceId: string, traceDepth: number): void;
17
+ static setOverrideTraceFromInternalBackgroundEntry(entry: InternalBackgroundEntry<any>): void;
18
+ static setOverrideTraceFromInterApiEntry(interApiEntry: InterApiEntry<any>): void;
19
+ static addHeadersToRecord(input: Record<string, any>, depthOffset?: number): void;
20
+ static addTraceToProxyResult(pr: ProxyResult): void;
21
+ static addTraceToHttpRequestInit(ri: RequestInit): void;
22
+ static setProcessLabel(processLabel: string): void;
23
+ static currentRequestId(): string;
24
+ static remainingTimeMS(): number;
25
+ static currentProcessLabel(): string;
26
+ private static traceHeaderName;
27
+ private static traceDepthHeaderName;
28
+ static currentTraceId(): string;
29
+ static currentTraceDepth(): number;
30
+ static addLogVariable(name: string, val: string | number | boolean): void;
31
+ static fetchLogVariable(name: string): string | number | boolean;
32
+ static fetchLogVariables(): Record<string, string | number | boolean>;
33
+ }
@@ -0,0 +1,11 @@
1
+ import { ScheduledEvent } from 'aws-lambda';
2
+ import { AbstractCronEntry } from '../config/cron/abstract-cron-entry';
3
+ import { CronConfig } from '../config/cron/cron-config';
4
+ export declare class CronUtil {
5
+ static everyNMinuteFilter(n: number): number[];
6
+ static everyNDaysOfYearFilter(n: number): number[];
7
+ static everyNElementFilter(n: number, m: number): number[];
8
+ static numberMatchesFilter(num: number, filter: number[]): boolean;
9
+ static eventMatchesEntry(event: ScheduledEvent, entry: AbstractCronEntry, cfg: CronConfig, testTimeEpochMS?: number): boolean;
10
+ static cronEntryName(entry: AbstractCronEntry, idx?: number): string;
11
+ }
@@ -0,0 +1,14 @@
1
+ import { ModelValidator } from '@bitblit/ratchet-misc';
2
+ import { OpenApiDocument } from '../config/open-api/open-api-document';
3
+ import { EpsilonConfig } from '../config/epsilon-config';
4
+ import { EpsilonInstance } from '../epsilon-instance';
5
+ import { EpsilonGlobalHandler } from '../epsilon-global-handler';
6
+ import { BackgroundManagerLike } from '../background/manager/background-manager-like';
7
+ export declare class EpsilonConfigParser {
8
+ constructor();
9
+ static epsilonConfigToEpsilonGlobalHandler(config: EpsilonConfig, backgroundManager?: BackgroundManagerLike): EpsilonGlobalHandler;
10
+ static epsilonConfigToEpsilonInstance(config: EpsilonConfig, backgroundManager?: BackgroundManagerLike): EpsilonInstance;
11
+ static parseOpenApiDocument(yamlString: string): OpenApiDocument;
12
+ static openApiDocToValidator(doc: OpenApiDocument): ModelValidator;
13
+ static validateGlobalConfig(config: EpsilonConfig): void;
14
+ }