@herrromich/az-functions 1.0.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 (439) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +830 -0
  3. package/coverage/cobertura-coverage.xml +3482 -0
  4. package/coverage/lcov-report/base.css +224 -0
  5. package/coverage/lcov-report/block-navigation.js +87 -0
  6. package/coverage/lcov-report/context/forked-invocation-context.ts.html +127 -0
  7. package/coverage/lcov-report/context/index.html +191 -0
  8. package/coverage/lcov-report/context/index.ts.html +97 -0
  9. package/coverage/lcov-report/context/platform-context.manager.ts.html +193 -0
  10. package/coverage/lcov-report/context/platform-context.model.ts.html +262 -0
  11. package/coverage/lcov-report/context/platform-context.provider.ts.html +196 -0
  12. package/coverage/lcov-report/context/platform.execution.context.ts.html +217 -0
  13. package/coverage/lcov-report/context/wrapped-invocation-context.ts.html +163 -0
  14. package/coverage/lcov-report/event-hub-handler/azure-event-hub-trigger.model.ts.html +187 -0
  15. package/coverage/lcov-report/event-hub-handler/azure-event-hub-trigger.service.ts.html +760 -0
  16. package/coverage/lcov-report/event-hub-handler/decorators/decorators.model.ts.html +292 -0
  17. package/coverage/lcov-report/event-hub-handler/decorators/decorators.ts.html +778 -0
  18. package/coverage/lcov-report/event-hub-handler/decorators/index.html +146 -0
  19. package/coverage/lcov-report/event-hub-handler/decorators/index.ts.html +91 -0
  20. package/coverage/lcov-report/event-hub-handler/event-hub-handle-method-args-metadata.service.ts.html +130 -0
  21. package/coverage/lcov-report/event-hub-handler/event-hub-handler-metadata.reader.ts.html +199 -0
  22. package/coverage/lcov-report/event-hub-handler/event-hub-handler-registration.service.ts.html +220 -0
  23. package/coverage/lcov-report/event-hub-handler/event-hub-handler.factory.ts.html +283 -0
  24. package/coverage/lcov-report/event-hub-handler/event-hub-handler.model.ts.html +421 -0
  25. package/coverage/lcov-report/event-hub-handler/event-hub-handler.provider.ts.html +187 -0
  26. package/coverage/lcov-report/event-hub-handler/event-hub-trigger-support.factory.ts.html +787 -0
  27. package/coverage/lcov-report/event-hub-handler/event-hub-trigger-support.service.ts.html +829 -0
  28. package/coverage/lcov-report/event-hub-handler/event-hub-trigger.model.ts.html +193 -0
  29. package/coverage/lcov-report/event-hub-handler/event-hub-trigger.service.ts.html +859 -0
  30. package/coverage/lcov-report/event-hub-handler/event-hub-triggers-registration.service.ts.html +307 -0
  31. package/coverage/lcov-report/event-hub-handler/index.html +221 -0
  32. package/coverage/lcov-report/event-hub-handler/index.ts.html +142 -0
  33. package/coverage/lcov-report/eventhub-handler/decorators/decorators.model.ts.html +277 -0
  34. package/coverage/lcov-report/eventhub-handler/decorators/decorators.ts.html +679 -0
  35. package/coverage/lcov-report/eventhub-handler/decorators/index.html +131 -0
  36. package/coverage/lcov-report/eventhub-handler/eventhub-handler-metadata.reader.ts.html +196 -0
  37. package/coverage/lcov-report/eventhub-handler/eventhub-handler-registration.service.ts.html +220 -0
  38. package/coverage/lcov-report/eventhub-handler/eventhub-handler.factory.ts.html +193 -0
  39. package/coverage/lcov-report/eventhub-handler/eventhub-handler.model.ts.html +406 -0
  40. package/coverage/lcov-report/eventhub-handler/eventhub-trigger.model.ts.html +187 -0
  41. package/coverage/lcov-report/eventhub-handler/eventhub-trigger.service.ts.html +760 -0
  42. package/coverage/lcov-report/eventhub-handler/eventhub-triggers-registration.service.ts.html +304 -0
  43. package/coverage/lcov-report/eventhub-handler/index.html +206 -0
  44. package/coverage/lcov-report/favicon.png +0 -0
  45. package/coverage/lcov-report/forked-invocation-context.ts.html +127 -0
  46. package/coverage/lcov-report/function-handler-metadata.reader.ts.html +172 -0
  47. package/coverage/lcov-report/http-controller/authentication.provider.ts.html +481 -0
  48. package/coverage/lcov-report/http-controller/authenticator.provider.ts.html +460 -0
  49. package/coverage/lcov-report/http-controller/azure-http-trigger.service.ts.html +1045 -0
  50. package/coverage/lcov-report/http-controller/decorators/decorators.model.ts.html +388 -0
  51. package/coverage/lcov-report/http-controller/decorators/decorators.ts.html +1627 -0
  52. package/coverage/lcov-report/http-controller/decorators/index.html +146 -0
  53. package/coverage/lcov-report/http-controller/decorators/index.ts.html +94 -0
  54. package/coverage/lcov-report/http-controller/http-controller-metadata.reader.ts.html +271 -0
  55. package/coverage/lcov-report/http-controller/http-controller-metadata.service.ts.html +130 -0
  56. package/coverage/lcov-report/http-controller/http-controller-platform.model.ts.html +187 -0
  57. package/coverage/lcov-report/http-controller/http-controller-registration.service.ts.html +241 -0
  58. package/coverage/lcov-report/http-controller/http-controller.model.ts.html +745 -0
  59. package/coverage/lcov-report/http-controller/http-handler-support.factory.ts.html +499 -0
  60. package/coverage/lcov-report/http-controller/http-handler.factory.ts.html +415 -0
  61. package/coverage/lcov-report/http-controller/http-operation-registration.service.ts.html +328 -0
  62. package/coverage/lcov-report/http-controller/http-operations-registration.service.ts.html +328 -0
  63. package/coverage/lcov-report/http-controller/http-request-arg-provider.factory.ts.html +580 -0
  64. package/coverage/lcov-report/http-controller/http-request-handler.provider.ts.html +388 -0
  65. package/coverage/lcov-report/http-controller/http-response-processor.factory.ts.html +316 -0
  66. package/coverage/lcov-report/http-controller/index.html +311 -0
  67. package/coverage/lcov-report/http-controller/index.ts.html +226 -0
  68. package/coverage/lcov-report/http-controller/open-api-definition.service.ts.html +568 -0
  69. package/coverage/lcov-report/http-controller/open-api-metadata.service.ts.html +373 -0
  70. package/coverage/lcov-report/http-controller/open-api-print.service.ts.html +232 -0
  71. package/coverage/lcov-report/http-controller/open-api-registration.service.ts.html +220 -0
  72. package/coverage/lcov-report/http-controller/rest-open-api.regstry.ts.html +262 -0
  73. package/coverage/lcov-report/http-controller/security/authentication-service.factory.ts.html +280 -0
  74. package/coverage/lcov-report/http-controller/security/authentication-service.ts.html +115 -0
  75. package/coverage/lcov-report/http-controller/security/authenticator.provider.ts.html +799 -0
  76. package/coverage/lcov-report/http-controller/security/bearer-security-authentication.service.ts.html +133 -0
  77. package/coverage/lcov-report/http-controller/security/index.html +206 -0
  78. package/coverage/lcov-report/http-controller/security/index.ts.html +94 -0
  79. package/coverage/lcov-report/http-controller/security/model.ts.html +133 -0
  80. package/coverage/lcov-report/http-controller/security/operation-authentication.resolver.ts.html +418 -0
  81. package/coverage/lcov-report/http-controller/security/principal-merge.service.ts.html +163 -0
  82. package/coverage/lcov-report/http-controller/security/strict-principal-merge.servce.ts.html +154 -0
  83. package/coverage/lcov-report/http-controller/swagger-handling.service.ts.html +463 -0
  84. package/coverage/lcov-report/index.html +281 -0
  85. package/coverage/lcov-report/init.ts.html +97 -0
  86. package/coverage/lcov-report/ioc-container.utils.ts.html +100 -0
  87. package/coverage/lcov-report/logger/azure-log-transport.service.ts.html +433 -0
  88. package/coverage/lcov-report/logger/bindings.ts.html +253 -0
  89. package/coverage/lcov-report/logger/index.html +221 -0
  90. package/coverage/lcov-report/logger/index.ts.html +163 -0
  91. package/coverage/lcov-report/logger/log-level.service.ts.html +127 -0
  92. package/coverage/lcov-report/logger/log-transport.service.ts.html +571 -0
  93. package/coverage/lcov-report/logger/logger-factory.provider.ts.html +142 -0
  94. package/coverage/lcov-report/logger/logger.factory.ts.html +172 -0
  95. package/coverage/lcov-report/logger/logger.model.ts.html +868 -0
  96. package/coverage/lcov-report/logger/logger.utils.ts.html +877 -0
  97. package/coverage/lcov-report/logger/model.ts.html +172 -0
  98. package/coverage/lcov-report/logger/otel.logger.ts.html +358 -0
  99. package/coverage/lcov-report/logger/platform.logger.ts.html +229 -0
  100. package/coverage/lcov-report/logger/trie-search.service.ts.html +616 -0
  101. package/coverage/lcov-report/platform/azure-platform.ts.html +256 -0
  102. package/coverage/lcov-report/platform/index.html +176 -0
  103. package/coverage/lcov-report/platform/index.ts.html +139 -0
  104. package/coverage/lcov-report/platform/platform-component-metadata.service.ts.html +115 -0
  105. package/coverage/lcov-report/platform/register-function.factory.ts.html +145 -0
  106. package/coverage/lcov-report/platform/register-trigger-handler.factory.ts.html +214 -0
  107. package/coverage/lcov-report/platform/security-context.ts.html +127 -0
  108. package/coverage/lcov-report/platform/startup.service.ts.html +106 -0
  109. package/coverage/lcov-report/platform/system-logger-name.provider.ts.html +145 -0
  110. package/coverage/lcov-report/platform/system.container.ts.html +169 -0
  111. package/coverage/lcov-report/platform-context.model.ts.html +124 -0
  112. package/coverage/lcov-report/platform.logger.ts.html +316 -0
  113. package/coverage/lcov-report/platform.model.ts.html +292 -0
  114. package/coverage/lcov-report/prettify.css +1 -0
  115. package/coverage/lcov-report/prettify.js +2 -0
  116. package/coverage/lcov-report/security/index.html +146 -0
  117. package/coverage/lcov-report/security/index.ts.html +91 -0
  118. package/coverage/lcov-report/security/security-context.ts.html +130 -0
  119. package/coverage/lcov-report/security/security.model.ts.html +169 -0
  120. package/coverage/lcov-report/shared/all-settled.util.ts.html +118 -0
  121. package/coverage/lcov-report/shared/decorators/decorators.model.ts.html +136 -0
  122. package/coverage/lcov-report/shared/decorators/decorators.ts.html +346 -0
  123. package/coverage/lcov-report/shared/decorators/index.html +146 -0
  124. package/coverage/lcov-report/shared/decorators/index.ts.html +91 -0
  125. package/coverage/lcov-report/shared/function-handler-metadata.reader.ts.html +172 -0
  126. package/coverage/lcov-report/shared/index.html +176 -0
  127. package/coverage/lcov-report/shared/index.ts.html +133 -0
  128. package/coverage/lcov-report/shared/ioc-container.utils.ts.html +115 -0
  129. package/coverage/lcov-report/shared/platform-context-local-storage.ts.html +133 -0
  130. package/coverage/lcov-report/shared/platform-context.manager.ts.html +253 -0
  131. package/coverage/lcov-report/shared/platform.context.provider.ts.html +136 -0
  132. package/coverage/lcov-report/shared/platform.model.ts.html +298 -0
  133. package/coverage/lcov-report/shared/security.model.ts.html +142 -0
  134. package/coverage/lcov-report/shared/trie-search.service.ts.html +337 -0
  135. package/coverage/lcov-report/shared/trigger-handler-metadata.reader.ts.html +166 -0
  136. package/coverage/lcov-report/shared/zod-parser-wrapper.service.ts.html +217 -0
  137. package/coverage/lcov-report/shared/zod-parser-wrapper.ts.html +232 -0
  138. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  139. package/coverage/lcov-report/sorter.js +210 -0
  140. package/coverage/lcov-report/src/context/index.html +191 -0
  141. package/coverage/lcov-report/src/context/index.ts.html +97 -0
  142. package/coverage/lcov-report/src/context/platform-context.manager.ts.html +193 -0
  143. package/coverage/lcov-report/src/context/platform-context.model.ts.html +262 -0
  144. package/coverage/lcov-report/src/context/platform-context.provider.ts.html +196 -0
  145. package/coverage/lcov-report/src/context/platform.execution.context.ts.html +217 -0
  146. package/coverage/lcov-report/src/context/wrapped-invocation-context.ts.html +163 -0
  147. package/coverage/lcov-report/src/event-hub-handler/azure-event-hub-trigger.model.ts.html +187 -0
  148. package/coverage/lcov-report/src/event-hub-handler/azure-event-hub-trigger.service.ts.html +769 -0
  149. package/coverage/lcov-report/src/event-hub-handler/decorators/decorators.model.ts.html +313 -0
  150. package/coverage/lcov-report/src/event-hub-handler/decorators/decorators.ts.html +778 -0
  151. package/coverage/lcov-report/src/event-hub-handler/decorators/index.html +146 -0
  152. package/coverage/lcov-report/src/event-hub-handler/decorators/index.ts.html +91 -0
  153. package/coverage/lcov-report/src/event-hub-handler/event-hub-handle-method-args-metadata.service.ts.html +130 -0
  154. package/coverage/lcov-report/src/event-hub-handler/event-hub-handler-metadata.reader.ts.html +199 -0
  155. package/coverage/lcov-report/src/event-hub-handler/event-hub-handler-registration.service.ts.html +220 -0
  156. package/coverage/lcov-report/src/event-hub-handler/event-hub-handler.factory.ts.html +283 -0
  157. package/coverage/lcov-report/src/event-hub-handler/event-hub-handler.model.ts.html +421 -0
  158. package/coverage/lcov-report/src/event-hub-handler/event-hub-handler.provider.ts.html +187 -0
  159. package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger-support.factory.ts.html +787 -0
  160. package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger-support.service.ts.html +832 -0
  161. package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger.model.ts.html +193 -0
  162. package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger.service.ts.html +859 -0
  163. package/coverage/lcov-report/src/event-hub-handler/event-hub-triggers-registration.service.ts.html +307 -0
  164. package/coverage/lcov-report/src/event-hub-handler/index.html +221 -0
  165. package/coverage/lcov-report/src/event-hub-handler/index.ts.html +142 -0
  166. package/coverage/lcov-report/src/framework.container.ts.html +157 -0
  167. package/coverage/lcov-report/src/http-controller/authentication.provider.ts.html +481 -0
  168. package/coverage/lcov-report/src/http-controller/authenticator.provider.ts.html +460 -0
  169. package/coverage/lcov-report/src/http-controller/azure-http-trigger.service.ts.html +865 -0
  170. package/coverage/lcov-report/src/http-controller/decorators/decorators.model.ts.html +553 -0
  171. package/coverage/lcov-report/src/http-controller/decorators/decorators.ts.html +1633 -0
  172. package/coverage/lcov-report/src/http-controller/decorators/index.html +146 -0
  173. package/coverage/lcov-report/src/http-controller/decorators/index.ts.html +94 -0
  174. package/coverage/lcov-report/src/http-controller/http-controller-metadata.reader.ts.html +271 -0
  175. package/coverage/lcov-report/src/http-controller/http-controller-metadata.service.ts.html +121 -0
  176. package/coverage/lcov-report/src/http-controller/http-controller-platform.model.ts.html +187 -0
  177. package/coverage/lcov-report/src/http-controller/http-controller-registration.service.ts.html +241 -0
  178. package/coverage/lcov-report/src/http-controller/http-controller.model.ts.html +784 -0
  179. package/coverage/lcov-report/src/http-controller/http-handler-support.factory.ts.html +481 -0
  180. package/coverage/lcov-report/src/http-controller/http-handler.factory.ts.html +406 -0
  181. package/coverage/lcov-report/src/http-controller/http-operation-registration.service.ts.html +328 -0
  182. package/coverage/lcov-report/src/http-controller/http-operations-registration.service.ts.html +328 -0
  183. package/coverage/lcov-report/src/http-controller/http-request-arg-provider.factory.ts.html +580 -0
  184. package/coverage/lcov-report/src/http-controller/http-request-handler.provider.ts.html +388 -0
  185. package/coverage/lcov-report/src/http-controller/http-response-processor.factory.ts.html +316 -0
  186. package/coverage/lcov-report/src/http-controller/index.html +311 -0
  187. package/coverage/lcov-report/src/http-controller/index.ts.html +226 -0
  188. package/coverage/lcov-report/src/http-controller/open-api-definition.service.ts.html +550 -0
  189. package/coverage/lcov-report/src/http-controller/open-api-metadata.service.ts.html +373 -0
  190. package/coverage/lcov-report/src/http-controller/open-api-print.service.ts.html +232 -0
  191. package/coverage/lcov-report/src/http-controller/open-api-registration.service.ts.html +220 -0
  192. package/coverage/lcov-report/src/http-controller/rest-open-api.regstry.ts.html +262 -0
  193. package/coverage/lcov-report/src/http-controller/security/authentication-service.factory.ts.html +280 -0
  194. package/coverage/lcov-report/src/http-controller/security/authentication-service.ts.html +139 -0
  195. package/coverage/lcov-report/src/http-controller/security/authenticator.provider.ts.html +799 -0
  196. package/coverage/lcov-report/src/http-controller/security/bearer-security-authentication.service.ts.html +133 -0
  197. package/coverage/lcov-report/src/http-controller/security/index.html +206 -0
  198. package/coverage/lcov-report/src/http-controller/security/index.ts.html +94 -0
  199. package/coverage/lcov-report/src/http-controller/security/model.ts.html +133 -0
  200. package/coverage/lcov-report/src/http-controller/security/operation-authentication.resolver.ts.html +418 -0
  201. package/coverage/lcov-report/src/http-controller/security/principal-merge.service.ts.html +163 -0
  202. package/coverage/lcov-report/src/http-controller/security/strict-principal-merge.servce.ts.html +154 -0
  203. package/coverage/lcov-report/src/http-controller/swagger-handling.service.ts.html +463 -0
  204. package/coverage/lcov-report/src/index.html +161 -0
  205. package/coverage/lcov-report/src/init.ts.html +97 -0
  206. package/coverage/lcov-report/src/logger/azure-log-transport.service.ts.html +433 -0
  207. package/coverage/lcov-report/src/logger/bindings.ts.html +253 -0
  208. package/coverage/lcov-report/src/logger/index.html +221 -0
  209. package/coverage/lcov-report/src/logger/index.ts.html +163 -0
  210. package/coverage/lcov-report/src/logger/log-level.service.ts.html +127 -0
  211. package/coverage/lcov-report/src/logger/log-transport.service.ts.html +571 -0
  212. package/coverage/lcov-report/src/logger/logger-factory.provider.ts.html +142 -0
  213. package/coverage/lcov-report/src/logger/logger.factory.ts.html +172 -0
  214. package/coverage/lcov-report/src/logger/logger.model.ts.html +868 -0
  215. package/coverage/lcov-report/src/logger/logger.utils.ts.html +877 -0
  216. package/coverage/lcov-report/src/logger/otel.logger.ts.html +358 -0
  217. package/coverage/lcov-report/src/logger/platform.logger.ts.html +229 -0
  218. package/coverage/lcov-report/src/logger/trie-search.service.ts.html +616 -0
  219. package/coverage/lcov-report/src/middleware.ts.html +232 -0
  220. package/coverage/lcov-report/src/platform/azure-platform.ts.html +256 -0
  221. package/coverage/lcov-report/src/platform/index.html +176 -0
  222. package/coverage/lcov-report/src/platform/index.ts.html +139 -0
  223. package/coverage/lcov-report/src/platform/platform-component-metadata.service.ts.html +115 -0
  224. package/coverage/lcov-report/src/platform/register-function.factory.ts.html +145 -0
  225. package/coverage/lcov-report/src/platform/register-trigger-handler.factory.ts.html +214 -0
  226. package/coverage/lcov-report/src/platform/security-context.ts.html +127 -0
  227. package/coverage/lcov-report/src/platform/startup.service.ts.html +202 -0
  228. package/coverage/lcov-report/src/platform/system-logger-name.provider.ts.html +145 -0
  229. package/coverage/lcov-report/src/platform/system.container.ts.html +172 -0
  230. package/coverage/lcov-report/src/platform.container.ts.html +148 -0
  231. package/coverage/lcov-report/src/security/index.html +146 -0
  232. package/coverage/lcov-report/src/security/index.ts.html +91 -0
  233. package/coverage/lcov-report/src/security/security-context.ts.html +175 -0
  234. package/coverage/lcov-report/src/security/security.model.ts.html +223 -0
  235. package/coverage/lcov-report/src/shared/decorators/decorators.model.ts.html +136 -0
  236. package/coverage/lcov-report/src/shared/decorators/decorators.ts.html +346 -0
  237. package/coverage/lcov-report/src/shared/decorators/index.html +146 -0
  238. package/coverage/lcov-report/src/shared/decorators/index.ts.html +91 -0
  239. package/coverage/lcov-report/src/shared/index.html +176 -0
  240. package/coverage/lcov-report/src/shared/index.ts.html +133 -0
  241. package/coverage/lcov-report/src/shared/ioc-container.utils.ts.html +115 -0
  242. package/coverage/lcov-report/src/shared/platform-context-local-storage.ts.html +133 -0
  243. package/coverage/lcov-report/src/shared/platform.model.ts.html +298 -0
  244. package/coverage/lcov-report/src/shared/security.model.ts.html +139 -0
  245. package/coverage/lcov-report/src/shared/trie-search.service.ts.html +337 -0
  246. package/coverage/lcov-report/src/shared/trigger-handler-metadata.reader.ts.html +166 -0
  247. package/coverage/lcov-report/src/shared/zod-parser-wrapper.ts.html +232 -0
  248. package/coverage/lcov-report/test/index.html +116 -0
  249. package/coverage/lcov-report/test/utils.ts.html +100 -0
  250. package/coverage/lcov-report/test-utils/index.html +116 -0
  251. package/coverage/lcov-report/test-utils/utils.ts.html +100 -0
  252. package/coverage/lcov-report/trie-search.service.ts.html +469 -0
  253. package/coverage/lcov-report/trigger-handler-metadata.reader.ts.html +187 -0
  254. package/coverage/lcov-report/wrapped-invocation-context.ts.html +163 -0
  255. package/coverage/lcov-report/zod-parser-wrapper.ts.html +232 -0
  256. package/coverage/lcov.info +3220 -0
  257. package/dist/assets/swagger-ui/LICENSE +202 -0
  258. package/dist/assets/swagger-ui/NOTICE +2 -0
  259. package/dist/assets/swagger-ui/README.md +40 -0
  260. package/dist/assets/swagger-ui/absolute-path.js +1 -0
  261. package/dist/assets/swagger-ui/favicon-16x16.png +0 -0
  262. package/dist/assets/swagger-ui/favicon-32x32.png +0 -0
  263. package/dist/assets/swagger-ui/index.css +16 -0
  264. package/dist/assets/swagger-ui/index.html +19 -0
  265. package/dist/assets/swagger-ui/index.js +1 -0
  266. package/dist/assets/swagger-ui/log.bundle-sizes.swagger-ui.txt +114 -0
  267. package/dist/assets/swagger-ui/log.es-bundle-core-sizes.swagger-ui.txt +14 -0
  268. package/dist/assets/swagger-ui/log.es-bundle-sizes.swagger-ui.txt +114 -0
  269. package/dist/assets/swagger-ui/oauth2-redirect.html +6 -0
  270. package/dist/assets/swagger-ui/oauth2-redirect.js +1 -0
  271. package/dist/assets/swagger-ui/package.json +20 -0
  272. package/dist/assets/swagger-ui/swagger-initializer.js +1 -0
  273. package/dist/assets/swagger-ui/swagger-ui-bundle.js +2 -0
  274. package/dist/assets/swagger-ui/swagger-ui-bundle.js.LICENSE.txt +106 -0
  275. package/dist/assets/swagger-ui/swagger-ui-bundle.js.map +1 -0
  276. package/dist/assets/swagger-ui/swagger-ui-es-bundle-core.js +2 -0
  277. package/dist/assets/swagger-ui/swagger-ui-es-bundle-core.js.LICENSE.txt +35 -0
  278. package/dist/assets/swagger-ui/swagger-ui-es-bundle-core.js.map +1 -0
  279. package/dist/assets/swagger-ui/swagger-ui-es-bundle.js +2 -0
  280. package/dist/assets/swagger-ui/swagger-ui-es-bundle.js.LICENSE.txt +106 -0
  281. package/dist/assets/swagger-ui/swagger-ui-es-bundle.js.map +1 -0
  282. package/dist/assets/swagger-ui/swagger-ui-standalone-preset.js +2 -0
  283. package/dist/assets/swagger-ui/swagger-ui-standalone-preset.js.LICENSE.txt +22 -0
  284. package/dist/assets/swagger-ui/swagger-ui-standalone-preset.js.map +1 -0
  285. package/dist/assets/swagger-ui/swagger-ui.css +3 -0
  286. package/dist/assets/swagger-ui/swagger-ui.css.map +1 -0
  287. package/dist/assets/swagger-ui/swagger-ui.js +1 -0
  288. package/dist/assets/swagger-ui/swagger-ui.js.map +1 -0
  289. package/dist/index.cjs +3 -0
  290. package/dist/index.cjs.LICENSE.txt +24 -0
  291. package/dist/src/context/index.d.ts +4 -0
  292. package/dist/src/context/platform-context.manager.d.ts +23 -0
  293. package/dist/src/context/platform-context.model.d.ts +56 -0
  294. package/dist/src/context/platform-context.provider.d.ts +23 -0
  295. package/dist/src/context/platform.execution.context.d.ts +13 -0
  296. package/dist/src/context/wrapped-invocation-context.d.ts +5 -0
  297. package/dist/src/event-hub-handler/decorators/decorators.d.ts +161 -0
  298. package/dist/src/event-hub-handler/decorators/decorators.model.d.ts +62 -0
  299. package/dist/src/event-hub-handler/decorators/index.d.ts +2 -0
  300. package/dist/src/event-hub-handler/event-hub-handler-metadata.reader.d.ts +8 -0
  301. package/dist/src/event-hub-handler/event-hub-handler-registration.service.d.ts +12 -0
  302. package/dist/src/event-hub-handler/event-hub-handler.factory.d.ts +13 -0
  303. package/dist/src/event-hub-handler/event-hub-handler.model.d.ts +101 -0
  304. package/dist/src/event-hub-handler/event-hub-trigger-support.factory.d.ts +10 -0
  305. package/dist/src/event-hub-handler/event-hub-trigger.model.d.ts +39 -0
  306. package/dist/src/event-hub-handler/event-hub-triggers-registration.service.d.ts +18 -0
  307. package/dist/src/event-hub-handler/index.d.ts +4 -0
  308. package/dist/src/framework.container.d.ts +6 -0
  309. package/dist/src/http-controller/decorators/decorators.d.ts +410 -0
  310. package/dist/src/http-controller/decorators/decorators.model.d.ts +123 -0
  311. package/dist/src/http-controller/decorators/index.d.ts +3 -0
  312. package/dist/src/http-controller/http-controller-metadata.reader.d.ts +8 -0
  313. package/dist/src/http-controller/http-controller-registration.service.d.ts +12 -0
  314. package/dist/src/http-controller/http-controller.model.d.ts +131 -0
  315. package/dist/src/http-controller/http-handler-support.factory.d.ts +26 -0
  316. package/dist/src/http-controller/http-handler.factory.d.ts +16 -0
  317. package/dist/src/http-controller/http-operations-registration.service.d.ts +22 -0
  318. package/dist/src/http-controller/http-request-arg-provider.factory.d.ts +12 -0
  319. package/dist/src/http-controller/http-response-processor.factory.d.ts +10 -0
  320. package/dist/src/http-controller/index.d.ts +11 -0
  321. package/dist/src/http-controller/open-api-definition.service.d.ts +29 -0
  322. package/dist/src/http-controller/open-api-metadata.service.d.ts +11 -0
  323. package/dist/src/http-controller/open-api-print.service.d.ts +8 -0
  324. package/dist/src/http-controller/open-api-registration.service.d.ts +17 -0
  325. package/dist/src/http-controller/security/authentication-service.d.ts +15 -0
  326. package/dist/src/http-controller/security/authenticator.provider.d.ts +31 -0
  327. package/dist/src/http-controller/security/bearer-security-authentication.service.d.ts +9 -0
  328. package/dist/src/http-controller/security/bearer-token.service.d.ts +5 -0
  329. package/dist/src/http-controller/security/index.d.ts +3 -0
  330. package/dist/src/http-controller/security/operation-authentication.resolver.d.ts +18 -0
  331. package/dist/src/http-controller/security/principal-merge.service.d.ts +11 -0
  332. package/dist/src/http-controller/security/strict-principal-merge.servce.d.ts +5 -0
  333. package/dist/src/http-controller/swagger-handling.service.d.ts +11 -0
  334. package/dist/src/index.d.ts +9 -0
  335. package/dist/src/init.d.ts +1 -0
  336. package/dist/src/logger/bindings.d.ts +7 -0
  337. package/dist/src/logger/index.d.ts +6 -0
  338. package/dist/src/logger/log-level.service.d.ts +7 -0
  339. package/dist/src/logger/log-transport.service.d.ts +19 -0
  340. package/dist/src/logger/logger.model.d.ts +241 -0
  341. package/dist/src/logger/logger.utils.d.ts +17 -0
  342. package/dist/src/logger/otel.logger.d.ts +9 -0
  343. package/dist/src/logger/trie-search.service.d.ts +65 -0
  344. package/dist/src/middleware.d.ts +10 -0
  345. package/dist/src/platform/azure-platform.d.ts +15 -0
  346. package/dist/src/platform/index.d.ts +5 -0
  347. package/dist/src/platform/model.d.ts +18 -0
  348. package/dist/src/platform/register-trigger-handler.factory.d.ts +5 -0
  349. package/dist/src/platform/startup.service.d.ts +36 -0
  350. package/dist/src/platform/system-logger-name.provider.d.ts +1 -0
  351. package/dist/src/platform.container.d.ts +3 -0
  352. package/dist/src/security/index.d.ts +2 -0
  353. package/dist/src/security/security-context.d.ts +22 -0
  354. package/dist/src/security/security.model.d.ts +37 -0
  355. package/dist/src/shared/decorators/decorators.d.ts +37 -0
  356. package/dist/src/shared/decorators/decorators.model.d.ts +13 -0
  357. package/dist/src/shared/decorators/index.d.ts +2 -0
  358. package/dist/src/shared/index.d.ts +8 -0
  359. package/dist/src/shared/ioc-container.utils.d.ts +7 -0
  360. package/dist/src/shared/platform.model.d.ts +44 -0
  361. package/dist/src/shared/trigger-handler-metadata.reader.d.ts +6 -0
  362. package/dist/src/shared/zod-parser-wrapper.d.ts +5 -0
  363. package/docs/logging.md +805 -0
  364. package/package.json +87 -0
  365. package/src/context/index.ts +4 -0
  366. package/src/context/platform-context.manager.ts +36 -0
  367. package/src/context/platform-context.model.ts +59 -0
  368. package/src/context/platform-context.provider.ts +37 -0
  369. package/src/context/platform.execution.context.ts +44 -0
  370. package/src/context/wrapped-invocation-context.ts +26 -0
  371. package/src/event-hub-handler/decorators/decorators.model.ts +76 -0
  372. package/src/event-hub-handler/decorators/decorators.ts +231 -0
  373. package/src/event-hub-handler/decorators/index.ts +2 -0
  374. package/src/event-hub-handler/event-hub-handler-metadata.reader.ts +38 -0
  375. package/src/event-hub-handler/event-hub-handler-registration.service.ts +45 -0
  376. package/src/event-hub-handler/event-hub-handler.factory.ts +66 -0
  377. package/src/event-hub-handler/event-hub-handler.model.ts +112 -0
  378. package/src/event-hub-handler/event-hub-trigger-support.factory.ts +234 -0
  379. package/src/event-hub-handler/event-hub-trigger.model.ts +36 -0
  380. package/src/event-hub-handler/event-hub-triggers-registration.service.ts +74 -0
  381. package/src/event-hub-handler/index.ts +19 -0
  382. package/src/framework.container.ts +24 -0
  383. package/src/http-controller/decorators/decorators.model.ts +156 -0
  384. package/src/http-controller/decorators/decorators.ts +516 -0
  385. package/src/http-controller/decorators/index.ts +3 -0
  386. package/src/http-controller/http-controller-metadata.reader.ts +62 -0
  387. package/src/http-controller/http-controller-registration.service.ts +52 -0
  388. package/src/http-controller/http-controller.model.ts +233 -0
  389. package/src/http-controller/http-handler-support.factory.ts +132 -0
  390. package/src/http-controller/http-handler.factory.ts +107 -0
  391. package/src/http-controller/http-operations-registration.service.ts +81 -0
  392. package/src/http-controller/http-request-arg-provider.factory.ts +165 -0
  393. package/src/http-controller/http-response-processor.factory.ts +77 -0
  394. package/src/http-controller/index.ts +47 -0
  395. package/src/http-controller/open-api-definition.service.ts +155 -0
  396. package/src/http-controller/open-api-metadata.service.ts +96 -0
  397. package/src/http-controller/open-api-print.service.ts +49 -0
  398. package/src/http-controller/open-api-registration.service.ts +45 -0
  399. package/src/http-controller/security/authentication-service.ts +18 -0
  400. package/src/http-controller/security/authenticator.provider.ts +238 -0
  401. package/src/http-controller/security/bearer-security-authentication.service.ts +16 -0
  402. package/src/http-controller/security/bearer-token.service.ts +6 -0
  403. package/src/http-controller/security/index.ts +3 -0
  404. package/src/http-controller/security/operation-authentication.resolver.ts +111 -0
  405. package/src/http-controller/security/principal-merge.service.ts +26 -0
  406. package/src/http-controller/security/strict-principal-merge.servce.ts +23 -0
  407. package/src/http-controller/swagger-handling.service.ts +126 -0
  408. package/src/index.ts +80 -0
  409. package/src/init.ts +4 -0
  410. package/src/logger/bindings.ts +56 -0
  411. package/src/logger/index.ts +26 -0
  412. package/src/logger/log-level.service.ts +14 -0
  413. package/src/logger/log-transport.service.ts +162 -0
  414. package/src/logger/logger.model.ts +261 -0
  415. package/src/logger/logger.utils.ts +264 -0
  416. package/src/logger/otel.logger.ts +91 -0
  417. package/src/logger/trie-search.service.ts +177 -0
  418. package/src/middleware.ts +49 -0
  419. package/src/platform/azure-platform.ts +57 -0
  420. package/src/platform/index.ts +18 -0
  421. package/src/platform/model.ts +19 -0
  422. package/src/platform/register-trigger-handler.factory.ts +43 -0
  423. package/src/platform/startup.service.ts +39 -0
  424. package/src/platform/system-logger-name.provider.ts +20 -0
  425. package/src/platform.container.ts +21 -0
  426. package/src/security/index.ts +2 -0
  427. package/src/security/security-context.ts +30 -0
  428. package/src/security/security.model.ts +46 -0
  429. package/src/shared/decorators/decorators.model.ts +17 -0
  430. package/src/shared/decorators/decorators.ts +87 -0
  431. package/src/shared/decorators/index.ts +2 -0
  432. package/src/shared/index.ts +16 -0
  433. package/src/shared/ioc-container.utils.ts +10 -0
  434. package/src/shared/platform.model.ts +71 -0
  435. package/src/shared/trigger-handler-metadata.reader.ts +27 -0
  436. package/src/shared/zod-parser-wrapper.ts +49 -0
  437. package/src/test-utilities/index.ts +1 -0
  438. package/src/test-utilities/utils.ts +5 -0
  439. package/tsconfig.test.json +8 -0
@@ -0,0 +1,26 @@
1
+ import { HttpRequest, InvocationContext } from '@azure/functions';
2
+ import { HttpResponseInit } from '@azure/functions/types/http';
3
+ import { AuthContext } from '../security';
4
+ import { AzFunctionsSystemError } from '../shared';
5
+ import { Promisable } from 'type-fest';
6
+ import { ControllerOperationArgMetadata, DirectResponseObject } from './decorators';
7
+ import { HttpRequestArgProviderFactory } from './http-request-arg-provider.factory';
8
+ import { HttpResponseProcessorFactory } from './http-response-processor.factory';
9
+ export declare class HttpTriggerDefinitionError extends AzFunctionsSystemError {
10
+ }
11
+ export interface HttpRequestProcessorInput {
12
+ request: HttpRequest;
13
+ invocationContext: InvocationContext;
14
+ authContext: AuthContext;
15
+ }
16
+ export type HttpRequestArgsProvider = (input: HttpRequestProcessorInput) => Promise<unknown[]>;
17
+ export type HttpRequestArgProvider = (input: HttpRequestProcessorInput) => Promisable<unknown>;
18
+ export type HttpResponseProcessor = (response: unknown) => Promise<HttpResponseInit>;
19
+ export declare class HttpHandlerSupportFactory {
20
+ private readonly httpRequestArgProviderFactory;
21
+ private readonly httpResponseProcessorFactory;
22
+ constructor(httpRequestArgProviderFactory: HttpRequestArgProviderFactory, httpResponseProcessorFactory: HttpResponseProcessorFactory);
23
+ createRequestArgsProvider(operationArgs: ControllerOperationArgMetadata[]): HttpRequestArgsProvider;
24
+ private validateArgs;
25
+ createResponseProcessor(directResponse?: DirectResponseObject): HttpResponseProcessor;
26
+ }
@@ -0,0 +1,16 @@
1
+ import { HttpRequest, InvocationContext } from '@azure/functions';
2
+ import { HttpResponseInit } from '@azure/functions/types/http';
3
+ import { Container } from 'inversify';
4
+ import { LoggerFactory } from '../logger';
5
+ import { HttpHandlerSupportFactory } from './http-handler-support.factory';
6
+ import { HttpOperationRegistration } from './http-operations-registration.service';
7
+ import { AuthenticatorProvider } from './security/authenticator.provider';
8
+ export type RequestHandler = (request: HttpRequest, context: InvocationContext) => Promise<HttpResponseInit>;
9
+ export declare class HttpHandlerFactory {
10
+ private readonly platformContainer;
11
+ private readonly supportService;
12
+ private readonly authenticationProvider;
13
+ private readonly logger;
14
+ constructor(loggerFactory: LoggerFactory, platformContainer: Container, supportService: HttpHandlerSupportFactory, authenticationProvider: AuthenticatorProvider);
15
+ createHandler(operationRegistration: HttpOperationRegistration, method: (...args: unknown[]) => Promise<unknown>): RequestHandler;
16
+ }
@@ -0,0 +1,22 @@
1
+ import { LoggerFactory } from '../logger';
2
+ import { TriggerHandlerClass } from '../shared';
3
+ import { ControllerOperationMetadata, HttpControllerMetadata, HttpControllerMetadataReader } from './decorators';
4
+ import { RestApplication } from './http-controller.model';
5
+ import { OpenApiDefinitionService } from './open-api-definition.service';
6
+ export interface HttpOperationRegistration {
7
+ operationId: string;
8
+ controllerMethod: string;
9
+ controllerMetadata: HttpControllerMetadata;
10
+ operationMetadata: ControllerOperationMetadata;
11
+ application: RestApplication;
12
+ route: string;
13
+ }
14
+ export type RegisterCallback = (operationRegistration: HttpOperationRegistration) => void;
15
+ export declare class HttpOperationsRegistrationService {
16
+ private readonly metadataReader;
17
+ private readonly openApiDefinitionService;
18
+ private readonly logger;
19
+ constructor(loggerFactory: LoggerFactory, metadataReader: HttpControllerMetadataReader, openApiDefinitionService: OpenApiDefinitionService);
20
+ registerOperations(controllerClass: TriggerHandlerClass, registerCallback: RegisterCallback): void;
21
+ private getOperationMetadata;
22
+ }
@@ -0,0 +1,12 @@
1
+ import { ZodType } from 'zod';
2
+ import { ControllerOperationPathArgMetadata, ControllerOperationQueryArgMetadata } from './decorators';
3
+ import { HttpRequestArgProvider, HttpRequestArgsProvider } from './http-handler-support.factory';
4
+ export declare class HttpRequestArgProviderFactory {
5
+ createBodyArgProvider<T>(bodySchema: ZodType<T>): HttpRequestArgProvider;
6
+ createPathParamArgProvider(arg: ControllerOperationPathArgMetadata): HttpRequestArgProvider;
7
+ createHeaderProvider(headerItemName: string, headerSchema: ZodType<string | undefined>): HttpRequestArgProvider;
8
+ createQueryItemArgProvider(arg: ControllerOperationQueryArgMetadata): HttpRequestArgProvider;
9
+ private getCoercedSchema;
10
+ private getCoercedSingleSchema;
11
+ createArgsProvider(argProviders: HttpRequestArgProvider[]): HttpRequestArgsProvider;
12
+ }
@@ -0,0 +1,10 @@
1
+ import { HttpResponseInit } from '@azure/functions/types/http';
2
+ import { DirectResponseObject } from './decorators';
3
+ export type ResponsePartialProcessor = (input: HttpResponseInit) => Promise<HttpResponseInit>;
4
+ export declare class HttpResponseProcessorFactory {
5
+ provideStatusProcessor(directResponse?: DirectResponseObject): ResponsePartialProcessor;
6
+ provideJsonBodyProcessor(directResponse?: DirectResponseObject): ResponsePartialProcessor | undefined;
7
+ private parseJsonBody;
8
+ provideHeaderProcessor(directResponse?: DirectResponseObject): ResponsePartialProcessor | undefined;
9
+ private parseDirectResponseHeaders;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { ContainerModule } from 'inversify';
2
+ export * from './decorators';
3
+ export * from './http-controller-registration.service';
4
+ export * from './http-controller.model';
5
+ export * from './http-handler-support.factory';
6
+ export * from './open-api-definition.service';
7
+ export * from './open-api-print.service';
8
+ export * from './open-api-registration.service';
9
+ export * from './security';
10
+ export * from './swagger-handling.service';
11
+ export declare const HttpControllerModule: ContainerModule;
@@ -0,0 +1,29 @@
1
+ import { OpenAPIRegistry } from '@asteasolutions/zod-to-openapi';
2
+ import { LoggerFactory } from '../logger';
3
+ import { OpenAPIObject } from 'openapi3-ts/oas30';
4
+ import { AzFunctionsSystemError } from '../shared';
5
+ import { RestApplication } from './http-controller.model';
6
+ import { HttpOperationRegistration } from './http-operations-registration.service';
7
+ import { OpenApiMetadataService } from './open-api-metadata.service';
8
+ export interface RestOpenApiEntry {
9
+ application: RestApplication;
10
+ registry: OpenAPIRegistry;
11
+ }
12
+ export type RestOpenApiEntries = Record<string, RestOpenApiEntry>;
13
+ export declare class OpenApiDefinitionError extends AzFunctionsSystemError {
14
+ }
15
+ export declare class OpenApiDefinitionService {
16
+ private readonly loggerFactory;
17
+ private readonly openApiMetadataService;
18
+ private readonly logger;
19
+ private readonly restOpenApiEntries;
20
+ constructor(loggerFactory: LoggerFactory, openApiMetadataService: OpenApiMetadataService);
21
+ addApplication(application: RestApplication): void;
22
+ getApplications(): string[];
23
+ getApplication(applicationName?: string): RestApplication;
24
+ getRegistry(applicationName?: string): OpenAPIRegistry;
25
+ private getApiDataEntry;
26
+ generateDocument(applicationName: string, apiUrl?: string): OpenAPIObject;
27
+ private getDefaultDataEntry;
28
+ registerOperation(operationRegistration: HttpOperationRegistration): void;
29
+ }
@@ -0,0 +1,11 @@
1
+ import { ResponseConfig, RouteConfig } from '@asteasolutions/zod-to-openapi';
2
+ import { ControllerOperationMetadata, HttpControllerMetadata } from './decorators';
3
+ type RouteConfigRequest = RouteConfig['request'];
4
+ type Responses = Record<string, ResponseConfig>;
5
+ export declare class OpenApiMetadataService {
6
+ getTags(controllerMetadata: HttpControllerMetadata, operationMetadata: ControllerOperationMetadata): string[] | undefined;
7
+ getRequest(operationMetadata: ControllerOperationMetadata): RouteConfigRequest;
8
+ getResponses(operationMetadata: ControllerOperationMetadata): Responses;
9
+ private static getQueryType;
10
+ }
11
+ export {};
@@ -0,0 +1,8 @@
1
+ import { LoggerFactory } from '../logger';
2
+ import { OpenApiDefinitionService } from './open-api-definition.service';
3
+ export declare class OpenApiPrintService {
4
+ private readonly openApiDefinitionService;
5
+ private readonly logger;
6
+ constructor(openApiDefinitionService: OpenApiDefinitionService, loggerFactory: LoggerFactory);
7
+ printOpenApi(): void;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { LoggerFactory } from '../logger';
2
+ import { TriggerHandlerClass, TriggerHandlerMetadataReader } from '../shared';
3
+ import { RestApplication } from './http-controller.model';
4
+ import { HttpOperationsRegistrationService } from './http-operations-registration.service';
5
+ import { OpenApiDefinitionService } from './open-api-definition.service';
6
+ export declare class OpenApiRegistrationService {
7
+ private readonly metadataReader;
8
+ private readonly definitionService;
9
+ private readonly operationRegistrationService;
10
+ private readonly loggerFactory;
11
+ private readonly logger;
12
+ constructor(metadataReader: TriggerHandlerMetadataReader, definitionService: OpenApiDefinitionService, operationRegistrationService: HttpOperationsRegistrationService, loggerFactory: LoggerFactory);
13
+ register(config: {
14
+ triggerHandlerClasses: TriggerHandlerClass[];
15
+ restApplications?: RestApplication[];
16
+ }): void;
17
+ }
@@ -0,0 +1,15 @@
1
+ import { HttpRequest } from '@azure/functions';
2
+ import { Principal } from '../../security';
3
+ /**
4
+ * Service identifier for the AuthenticationService. This service is responsible for authenticating incoming HTTP requests and returning a Principal object representing the authenticated user.
5
+ * It can be used to implement custom authentication logic, such as validating JWT tokens, API keys, or other authentication mechanisms.
6
+ */
7
+ export declare const AUTHENTICATION_SERVICE: import("inversify").ServiceIdentifier<AuthenticationService>;
8
+ export declare const REST_APPLICATION_TAG_KEY: unique symbol;
9
+ /**
10
+ * Interface representing an authentication service that can authenticate incoming HTTP requests.
11
+ * The service should implement the `authenticate` method, which takes an HttpRequest and returns a Promise that resolves to a Principal object representing the authenticated user.
12
+ */
13
+ export interface AuthenticationService {
14
+ authenticate(request: HttpRequest): Promise<Principal>;
15
+ }
@@ -0,0 +1,31 @@
1
+ import { HttpRequest } from '@azure/functions';
2
+ import { LoggerFactory } from '../../logger';
3
+ import { AuthContext, Principal } from '../../security';
4
+ import { HttpOperationRegistration } from '../http-operations-registration.service';
5
+ import { OperationAuthenticationResolver } from './operation-authentication.resolver';
6
+ import { FallbackPrincipalMergeService } from './principal-merge.service';
7
+ interface BaseAuthenticationResult {
8
+ state: string;
9
+ scheme: string;
10
+ }
11
+ interface SuccessfulAuthenticationResult extends BaseAuthenticationResult {
12
+ state: 'successful';
13
+ principal: Principal;
14
+ }
15
+ interface FailedAuthenticationResult extends BaseAuthenticationResult {
16
+ state: 'unauthenticated' | 'unauthorized';
17
+ error: unknown;
18
+ }
19
+ export type AuthenticationResult = SuccessfulAuthenticationResult | FailedAuthenticationResult;
20
+ export type AuthenticationHandler = (request: HttpRequest) => Promise<AuthContext>;
21
+ export declare class AuthenticatorProvider {
22
+ private readonly operationAuthenticationResolver;
23
+ private readonly principalMergeService;
24
+ private readonly logger;
25
+ constructor(loggerFactory: LoggerFactory, operationAuthenticationResolver: OperationAuthenticationResolver, principalMergeService: FallbackPrincipalMergeService);
26
+ provideAuthenticator(registrationData: HttpOperationRegistration): AuthenticationHandler;
27
+ private authenticate;
28
+ private authenticateSecurityBinding;
29
+ private getAndAuthenticationResult;
30
+ }
31
+ export {};
@@ -0,0 +1,9 @@
1
+ import { HttpRequest } from '@azure/functions';
2
+ import { Principal } from '../../security';
3
+ import { AuthenticationService } from './authentication-service';
4
+ import { BearerTokenService } from './bearer-token.service';
5
+ export declare class BearerSecurityAuthenticationService implements AuthenticationService {
6
+ private readonly bearerTokenService;
7
+ constructor(bearerTokenService: BearerTokenService);
8
+ authenticate(request: HttpRequest): Promise<Principal>;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { Principal } from '../../security';
2
+ export interface BearerTokenService {
3
+ readonly bearerFormat: string;
4
+ getPrincipalFromToken(accessToken: string): Principal | PromiseLike<Principal>;
5
+ }
@@ -0,0 +1,3 @@
1
+ export * from './authentication-service';
2
+ export * from './bearer-security-authentication.service';
3
+ export * from './bearer-token.service';
@@ -0,0 +1,18 @@
1
+ import { Container } from 'inversify';
2
+ import { LoggerFactory } from '../../logger';
3
+ import { HttpOperationRegistration } from '../http-operations-registration.service';
4
+ import { AuthenticationService } from './authentication-service';
5
+ import { AuthenticationHandler } from './authenticator.provider';
6
+ export interface SecurityBinding {
7
+ authService: AuthenticationService;
8
+ scopes: string[];
9
+ }
10
+ export type SecurityBindingObject = Record<string, SecurityBinding>;
11
+ export declare class OperationAuthenticationResolver {
12
+ private readonly platformContainer;
13
+ private readonly logger;
14
+ constructor(loggerFactory: LoggerFactory, platformContainer: Container);
15
+ getOperationSecurityBindings(registrationData: HttpOperationRegistration): SecurityBindingObject[];
16
+ private getSecurityBindingObjects;
17
+ defaultAuthenticator(registrationData: HttpOperationRegistration): AuthenticationHandler;
18
+ }
@@ -0,0 +1,11 @@
1
+ import { AuthContext, Principal } from '../../security';
2
+ import { StrictPrincipalMergeService } from './strict-principal-merge.servce';
3
+ export declare const PRINCIPAL_MERGE_SERVICE: import("inversify").ServiceIdentifier<PrincipalMergeService>;
4
+ export interface PrincipalMergeService {
5
+ mergePrincipals(principals: Principal[]): AuthContext;
6
+ }
7
+ export declare class FallbackPrincipalMergeService implements PrincipalMergeService {
8
+ private readonly mergeService;
9
+ constructor(defaultMergeService: StrictPrincipalMergeService, optionalMergeService: PrincipalMergeService | undefined);
10
+ mergePrincipals(principals: Principal[]): AuthContext;
11
+ }
@@ -0,0 +1,5 @@
1
+ import { AuthContext, Principal } from '../../security';
2
+ import { PrincipalMergeService } from './principal-merge.service';
3
+ export declare class StrictPrincipalMergeService implements PrincipalMergeService {
4
+ mergePrincipals(principals: Principal[]): AuthContext;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { HttpRequest, HttpResponseInit } from '@azure/functions';
2
+ import { OpenApiDefinitionService } from './open-api-definition.service';
3
+ export declare class SwaggerHandlingService {
4
+ private readonly baseDir;
5
+ private readonly openApiDefinitionService;
6
+ constructor(baseDir: string, openApiDefinitionService: OpenApiDefinitionService);
7
+ handleSwaggerContent(request: HttpRequest): Promise<HttpResponseInit>;
8
+ private serveSwaggerUi;
9
+ handleOpenApiDefinition(request: HttpRequest): HttpResponseInit;
10
+ private getOriginalUrl;
11
+ }
@@ -0,0 +1,9 @@
1
+ import './init';
2
+ export { EventHubHandler, EventHubHandlerCardinality, EventHubMessageWrapper, EventHubTriggerMessageArgConfig, Message, Messages, OnEventHubTrigger, OnEventHubTriggerConfig, RawMessage, RawMessages, } from './event-hub-handler';
3
+ export { PLATFORM_CONTEXT_MANAGER, PLATFORM_CONTEXT_PROVIDER, PlatformContext, PlatformContextManager, PlatformContextProvider, PlatformContextValueKey, createPlatformContextValueKey, } from './context';
4
+ export { AUTHENTICATION_SERVICE, AuthCtx, AuthenticationService, BadRequestError, Body, ControllerConfig, ControllerOperationConfig, ControllerRequestBodyOperationConfig, Delete, DirectResponseObject, Get, Head, HeaderParam, HeaderParamConfig, HttpController, HttpDirectResponseBuilder, InternalServerError, NotFoundError, NumberSchema, OptionalStringSchema, Patch, PathParam, PathParamConfig, Post, Put, QueryParam, QueryParamConfig, Request, RestApplication, StringSchema, UnauthorizedError, } from './http-controller';
5
+ export { DEFAULT_LOG_LEVEL, LOGGER_FACTORY, LOGGER_NAME_PROVIDER, LOG_LEVEL_PROVIDER, LogLevel, LogLevelProvider, Logger, LoggerFactory, LoggerNameProvider, OtelConfiguration, SYSTEM_LOGGER_NAME_PREFIX, TrieSearchService, } from './logger';
6
+ export { startPlatform } from './middleware';
7
+ export { IStartupService, STARTUP_SERVICE } from './platform';
8
+ export { AUTHENTICATION_CONTEXT_KEY, AuthContext, AuthenticationError, Principal, SecurityContext } from './security';
9
+ export { AzFunctionsErrorOptions, AzFunctionsRuntimeError, InvocationCtx, TriggerHandlerClass, serviceIdentifier, } from './shared';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import { LoggerProvider } from '@opentelemetry/sdk-logs';
2
+ import { ResolutionContext } from 'inversify';
3
+ import * as winston from 'winston';
4
+ import { LoggerFactory, OtelConfiguration } from './logger.model';
5
+ export declare function bindWinstonLogger(context: ResolutionContext): winston.Logger;
6
+ export declare function bindLoggerFactory(context: ResolutionContext): LoggerFactory;
7
+ export declare function bindOtelLoggerProvider(otelConfiguration: OtelConfiguration): LoggerProvider;
@@ -0,0 +1,6 @@
1
+ import { ContainerModule } from 'inversify';
2
+ import { LoggerConfiguration } from './logger.model';
3
+ export * from './logger.model';
4
+ export * from './logger.utils';
5
+ export * from './trie-search.service';
6
+ export declare function provideLoggerModule(loggerConfiguration?: LoggerConfiguration): ContainerModule;
@@ -0,0 +1,7 @@
1
+ import { LogLevel, LogLevelProvider } from './logger.model';
2
+ export declare class LogLevelService {
3
+ private readonly logLevelsProvider;
4
+ private readonly defaultLogLevel;
5
+ constructor(logLevelsProvider: LogLevelProvider | undefined, defaultLogLevel: LogLevel);
6
+ getLogLevel(loggerName: string | undefined): LogLevel;
7
+ }
@@ -0,0 +1,19 @@
1
+ import { InvocationContext } from '@azure/functions';
2
+ import { PlatformContextManager } from '../context';
3
+ import * as Transport from 'winston-transport';
4
+ import { LogLevelService } from './log-level.service';
5
+ import { LogLevel } from './logger.model';
6
+ import { OtelLogger } from './otel.logger';
7
+ export type InvocationContextLogger = Pick<InvocationContext, 'log' | 'trace' | 'debug' | 'info' | 'warn' | 'error'>;
8
+ export declare const LOG_METHOD_MAP: Record<LogLevel, keyof InvocationContextLogger>;
9
+ export declare class AzFunctionsTransport extends Transport {
10
+ private readonly platformContextManager;
11
+ private readonly defaultLogLevel;
12
+ private readonly logger;
13
+ private readonly logLevelsService;
14
+ constructor(platformContextManager: PlatformContextManager, defaultLogLevel: LogLevel, logger: OtelLogger | undefined, logLevelsService: LogLevelService);
15
+ log(info: any, next: () => void): any;
16
+ private logInternal;
17
+ private getPlatformLogInfo;
18
+ private getContextMetadata;
19
+ }
@@ -0,0 +1,241 @@
1
+ import { TraceContext } from '@azure/functions';
2
+ import { AnyValueMap } from '@opentelemetry/api-logs';
3
+ import { LoggerProvider } from '@opentelemetry/sdk-logs';
4
+ import * as winston from 'winston';
5
+ /**
6
+ * Log levels for the logger.
7
+ */
8
+ export declare const LOG_LEVELS: {
9
+ readonly error: 0;
10
+ readonly warn: 1;
11
+ readonly info: 2;
12
+ readonly http: 3;
13
+ readonly verbose: 4;
14
+ readonly debug: 5;
15
+ readonly silly: 6;
16
+ };
17
+ export declare const LOGGER_NAME_META_KEY = "loggerName";
18
+ export type ContextLoggerMetadata = Partial<Record<LogLevel, object>>;
19
+ export declare const CONTEXT_LOGGER_METADATA: import("../context").PlatformContextValueKey<Partial<Record<"error" | "warn" | "info" | "http" | "verbose" | "debug" | "silly", object>>>;
20
+ /**
21
+ * Log levels for the logger.
22
+ *
23
+ * @see LOG_LEVELS
24
+ */
25
+ export type LogLevel = keyof typeof LOG_LEVELS;
26
+ /**
27
+ * IoC container identifier for the default log level used by the logger.
28
+ */
29
+ export declare const DEFAULT_LOG_LEVEL: import("inversify").ServiceIdentifier<"error" | "warn" | "info" | "http" | "verbose" | "debug" | "silly">;
30
+ /**
31
+ * A logger interface that provides logging methods for different log levels.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * @Injectable()
36
+ * class MyService {
37
+ * private readonly logger: Logger;
38
+ *
39
+ * constructor(@Inject(LOGGER_FACTORY) loggerFactory: LoggerFactory) {
40
+ * this.logger = loggerFactory('MyService');
41
+ * }
42
+ *
43
+ * doSomething() {
44
+ * this.logger.info('Doing something...');
45
+ * }
46
+ * }
47
+ * ```
48
+ */
49
+ export type Logger = Pick<winston.Logger, LogLevel>;
50
+ /**
51
+ * A prefix for all system loggers used by the AzFunctions platform. This prefix is used to identify loggers that are part of the platform's internal logging system.
52
+ */
53
+ export declare const SYSTEM_LOGGER_NAME_PREFIX = "#az-functions";
54
+ export declare const LOGGER_PROVIDER: import("inversify").ServiceIdentifier<LoggerProvider>;
55
+ /**
56
+ * An IoC container identifier for a service that provides log levels for loggers.
57
+ *
58
+ * This service can be used to determine the log level for a specific logger based on its name.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * @Injectable()
63
+ * class MyLogLevelProvider implements LogLevelProvider {
64
+ * getLogLevel(loggerName?: string): LogLevel | undefined {
65
+ * if (loggerName?.startsWith('MyService')) {
66
+ * return 'debug';
67
+ * }
68
+ * return undefined;
69
+ * }
70
+ * }
71
+ * ...
72
+ * export const LoggerModule = new ContainerModule(({ bind }) => {
73
+ * ...
74
+ * bind(LOG_LEVEL_PROVIDER).to(MyLogLevelProvider);
75
+ * ...
76
+ * });
77
+ * ...
78
+ * startPlatform({
79
+ * ...
80
+ * modules: [
81
+ * ...
82
+ * LoggerModule,
83
+ * ...
84
+ * ],
85
+ * });
86
+ * ```
87
+ */
88
+ export declare const LOG_LEVEL_PROVIDER: import("inversify").ServiceIdentifier<LogLevelProvider>;
89
+ /**
90
+ * An identifier for a logger factory function that creates a logger instance.
91
+ *
92
+ * @param loggerName - The name of the logger. If not provided, the logger name will be derived from the call stack.
93
+ * @returns A logger instance.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * @Injectable()
98
+ * class MyService {
99
+ * private readonly logger: Logger;
100
+ *
101
+ * constructor(@Inject(LOGGER_FACTORY) loggerFactory: LoggerFactory) {
102
+ * this.logger = loggerFactory('MyService');
103
+ * }
104
+ *
105
+ * doSomething() {
106
+ * this.logger.info('Doing something...');
107
+ * }
108
+ * }
109
+ * ```
110
+ */
111
+ export declare const LOGGER_FACTORY: import("inversify").ServiceIdentifier<LoggerFactory>;
112
+ /**
113
+ * A factory function that creates a logger instance.
114
+ *
115
+ * @param loggerName - The name of the logger. If not provided, the logger name will be derived from the call stack.
116
+ * @returns A logger instance.
117
+ */
118
+ export type LoggerFactory = (loggerName?: string) => Logger;
119
+ /**
120
+ * A IoC container identifier for a function that provides a logger name based on the call stack.
121
+
122
+ @example
123
+ ```ts
124
+ export const LoggerModule = new ContainerModule(({ bind }) => {
125
+ ...
126
+ bind(LOGGER_NAME_PROVIDER).toFactory(() => {
127
+ const regexp =
128
+ /^\s*at\s+(?:new\s+)?([A-Za-z0-9_$]+)\s+\(.*packages[\\/]examples[\\/]backend[\\/]src[\\/](.+)\/[^\\/]+:\d+:\d+\)$/;
129
+ return (stackEntry?: string) => {
130
+ const stackLines = stackEntry?.split('\n') ?? [];
131
+ let callerLine = stackLines.shift();
132
+ while (callerLine !== undefined) {
133
+ const match = regexp.exec(callerLine.trim());
134
+ if (match !== null) {
135
+ return `${LOGGER_NAME_PREFIX}.${match[2]?.replace(/\//g, '.')}.${match[1]}`;
136
+ } else {
137
+ callerLine = stackLines.shift();
138
+ }
139
+ }
140
+ };
141
+ ...
142
+ });
143
+ ...
144
+
145
+ startPlatform({
146
+ ...
147
+ modules: [
148
+ ...
149
+ LoggerModule,
150
+ ...
151
+ ],
152
+ });
153
+ });
154
+ ```
155
+ */
156
+ export declare const LOGGER_NAME_PROVIDER: import("inversify").ServiceIdentifier<LoggerNameProvider>;
157
+ /**
158
+ * A function that provides a logger name based on the call stack.
159
+ *
160
+ * @param stackEntry - An optional stack entry from which to derive the logger name.
161
+ * @returns A logger name or undefined if it cannot be derived.
162
+ */
163
+ export type LoggerNameProvider = (stackEntry?: string) => string | undefined;
164
+ /**
165
+ * An interface for a service that provides log levels for loggers.
166
+ *
167
+ * This service can be used to determine the log level for a specific logger based on its name.
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * @Injectable()
172
+ * class MyLogLevelProvider implements LogLevelProvider {
173
+ * getLogLevel(loggerName?: string): LogLevel | undefined {
174
+ * if (loggerName?.startsWith('MyService')) {
175
+ * return 'debug';
176
+ * }
177
+ * return undefined;
178
+ * }
179
+ * }
180
+ * ```
181
+ */
182
+ export interface LogLevelProvider {
183
+ /**
184
+ * Gets the log level for a specific logger based on its name.
185
+ *
186
+ * @param loggerName - The name of the logger for which to get the log level.
187
+ * @returns The log level for the specified logger, or undefined if no specific log level is set and default log level should be used.
188
+ */
189
+ getLogLevel(loggerName?: string): LogLevel | undefined;
190
+ }
191
+ /**
192
+ * Configuration options for OpenTelemetry (Otel) logging.
193
+ *
194
+ * This interface defines the configuration options required to set up OpenTelemetry logging in an application.
195
+ * It includes the connection string for Application Insights, as well as optional service metadata such as name, instance ID, and version.
196
+ *
197
+ * @param applicationInsightsConnectionString - The connection string for Application Insights, used to send telemetry data.
198
+ * @param serviceName - (Optional) The name of the service being monitored. This is used to identify the service in telemetry data.
199
+ * @param serviceInstanceId - (Optional) A unique identifier for the specific instance of the service. This can be used to differentiate between multiple instances of the same service.
200
+ * @param serviceVersion - (Optional) The version of the service being monitored. This can be used to track changes and updates to the service over time.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * const otelConfiguration: OtelConfiguration | undefined =
205
+ * process.env.APPLICATIONINSIGHTS_CONNECTION_STRING !== undefined
206
+ * ? {
207
+ * applicationInsightsConnectionString: process.env.APPLICATIONINSIGHTS_CONNECTION_STRING,
208
+ * serviceName: process.env.WEBSITE_DEPLOYMENT_ID,
209
+ * serviceVersion: '1.0.0',
210
+ * serviceInstanceId: process.env.WEBSITE_INSTANCE_ID,
211
+ * }
212
+ * : undefined;
213
+ * ...
214
+ * startPlatform({
215
+ * ...
216
+ * loggerConfiguration: {
217
+ * otelConfiguration,
218
+ * },
219
+ * });
220
+ * ```
221
+ */
222
+ export interface OtelConfiguration {
223
+ applicationInsightsConnectionString: string;
224
+ serviceName?: string;
225
+ serviceInstanceId?: string;
226
+ serviceVersion?: string;
227
+ }
228
+ export interface LoggerConfiguration {
229
+ defaultLogLevel?: LogLevel;
230
+ otelConfiguration?: OtelConfiguration;
231
+ }
232
+ export interface PlatformLogInfo {
233
+ level: LogLevel;
234
+ timestamp: Date;
235
+ message: string;
236
+ invocationId?: string;
237
+ traceContext?: TraceContext;
238
+ operationName?: string;
239
+ loggerName: string;
240
+ metadata?: AnyValueMap;
241
+ }
@@ -0,0 +1,17 @@
1
+ import { PlatformContextManager } from '../context';
2
+ import { ContextLoggerMetadata } from './logger.model';
3
+ export type AnyValueScalar = string | number | boolean;
4
+ export type AnyValueArray = AnyValue[];
5
+ export interface AnyValueMap {
6
+ [attributeKey: string]: AnyValue;
7
+ }
8
+ export type AnyValue = AnyValueScalar | Uint8Array | AnyValueArray | AnyValueMap | null | undefined;
9
+ export interface SanitizerOptions {
10
+ maxDepth?: number;
11
+ maxTraceLength?: number;
12
+ maxArrayLength?: number;
13
+ maxKeysCount?: number;
14
+ maxStringLength?: number;
15
+ }
16
+ export declare function sanitizeMetadata(metadata: unknown, options?: SanitizerOptions): AnyValueMap;
17
+ export declare function adjustContextLoggerMetadata(contextManager: PlatformContextManager, metadata: ContextLoggerMetadata): void;
@@ -0,0 +1,9 @@
1
+ import { LoggerProvider } from '@opentelemetry/sdk-logs';
2
+ import { PlatformLogInfo } from './logger.model';
3
+ export declare class OtelLogger {
4
+ private readonly loggerProvider;
5
+ constructor(loggerProvider: LoggerProvider);
6
+ log(logInfo: PlatformLogInfo): void;
7
+ private decodeTraceContext;
8
+ private getCustomDimensions;
9
+ }