quidproquo-webserver 0.1.19 → 0.1.21

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 (441) hide show
  1. package/README.md +1 -2
  2. package/lib/commonjs/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js +7 -5
  3. package/lib/commonjs/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js.map +1 -1
  4. package/lib/commonjs/actions/dns/DnsActionType.d.ts +3 -1
  5. package/lib/commonjs/actions/dns/DnsActionType.js +2 -0
  6. package/lib/commonjs/actions/dns/DnsActionType.js.map +1 -1
  7. package/lib/commonjs/actions/dns/askDnsList.d.ts +2 -1
  8. package/lib/commonjs/actions/dns/askDnsList.js +1 -0
  9. package/lib/commonjs/actions/dns/askDnsList.js.map +1 -1
  10. package/lib/commonjs/actions/dns/askDnsResolveHosts.d.ts +9 -0
  11. package/lib/commonjs/actions/dns/askDnsResolveHosts.js +11 -0
  12. package/lib/commonjs/actions/dns/askDnsResolveHosts.js.map +1 -0
  13. package/lib/commonjs/actions/dns/index.d.ts +1 -0
  14. package/lib/commonjs/actions/dns/index.js +1 -0
  15. package/lib/commonjs/actions/dns/index.js.map +1 -1
  16. package/lib/commonjs/actions/index.d.ts +1 -1
  17. package/lib/commonjs/actions/index.js +1 -1
  18. package/lib/commonjs/actions/index.js.map +1 -1
  19. package/lib/commonjs/actions/openApi/OpenApiActionType.d.ts +3 -0
  20. package/lib/commonjs/actions/openApi/OpenApiActionType.js +8 -0
  21. package/lib/commonjs/actions/openApi/OpenApiActionType.js.map +1 -0
  22. package/lib/commonjs/actions/openApi/askOpenApiGetDocument.d.ts +9 -0
  23. package/lib/commonjs/actions/openApi/askOpenApiGetDocument.js +12 -0
  24. package/lib/commonjs/actions/openApi/askOpenApiGetDocument.js.map +1 -0
  25. package/lib/commonjs/actions/openApi/index.d.ts +2 -0
  26. package/lib/commonjs/actions/{openApiSpec → openApi}/index.js +2 -2
  27. package/lib/commonjs/actions/openApi/index.js.map +1 -0
  28. package/lib/commonjs/config/QPQConfig.d.ts +0 -1
  29. package/lib/commonjs/config/QPQConfig.js +0 -1
  30. package/lib/commonjs/config/QPQConfig.js.map +1 -1
  31. package/lib/commonjs/config/settings/api.d.ts +1 -2
  32. package/lib/commonjs/config/settings/api.js +1 -2
  33. package/lib/commonjs/config/settings/api.js.map +1 -1
  34. package/lib/commonjs/config/settings/dns.d.ts +15 -5
  35. package/lib/commonjs/config/settings/dns.js +10 -5
  36. package/lib/commonjs/config/settings/dns.js.map +1 -1
  37. package/lib/commonjs/config/settings/domainProxy.d.ts +0 -1
  38. package/lib/commonjs/config/settings/domainProxy.js.map +1 -1
  39. package/lib/commonjs/config/settings/emailSender.d.ts +3 -4
  40. package/lib/commonjs/config/settings/emailSender.js +5 -7
  41. package/lib/commonjs/config/settings/emailSender.js.map +1 -1
  42. package/lib/commonjs/config/settings/index.d.ts +0 -1
  43. package/lib/commonjs/config/settings/index.js +0 -1
  44. package/lib/commonjs/config/settings/index.js.map +1 -1
  45. package/lib/commonjs/config/settings/route.d.ts +2 -0
  46. package/lib/commonjs/config/settings/route.js.map +1 -1
  47. package/lib/commonjs/config/settings/webEntry.d.ts +0 -1
  48. package/lib/commonjs/config/settings/webEntry.js.map +1 -1
  49. package/lib/commonjs/config/settings/websocket.d.ts +1 -2
  50. package/lib/commonjs/config/settings/websocket.js +3 -12
  51. package/lib/commonjs/config/settings/websocket.js.map +1 -1
  52. package/lib/commonjs/config/types/JsonSchema.d.ts +1 -0
  53. package/lib/commonjs/config/types/JsonSchema.js +3 -0
  54. package/lib/commonjs/config/types/JsonSchema.js.map +1 -0
  55. package/lib/commonjs/config/types/RouteSchema.d.ts +10 -0
  56. package/lib/commonjs/config/types/RouteSchema.js +3 -0
  57. package/lib/commonjs/config/types/RouteSchema.js.map +1 -0
  58. package/lib/commonjs/config/types/index.d.ts +2 -0
  59. package/lib/commonjs/config/types/index.js +2 -0
  60. package/lib/commonjs/config/types/index.js.map +1 -1
  61. package/lib/commonjs/configUtils/dns/getDnsConfig.d.ts +4 -0
  62. package/lib/commonjs/configUtils/dns/getDnsConfig.js +16 -0
  63. package/lib/commonjs/configUtils/dns/getDnsConfig.js.map +1 -0
  64. package/lib/commonjs/configUtils/dns/getPrimaryRootDomain.d.ts +3 -0
  65. package/lib/commonjs/configUtils/dns/getPrimaryRootDomain.js +8 -0
  66. package/lib/commonjs/configUtils/dns/getPrimaryRootDomain.js.map +1 -0
  67. package/lib/commonjs/configUtils/dns/getRootDomains.d.ts +3 -0
  68. package/lib/commonjs/configUtils/dns/getRootDomains.js +8 -0
  69. package/lib/commonjs/configUtils/dns/getRootDomains.js.map +1 -0
  70. package/lib/commonjs/configUtils/dns/index.d.ts +3 -0
  71. package/lib/commonjs/configUtils/dns/index.js +20 -0
  72. package/lib/commonjs/configUtils/dns/index.js.map +1 -0
  73. package/lib/commonjs/configUtils/index.d.ts +2 -0
  74. package/lib/commonjs/configUtils/index.js +19 -0
  75. package/lib/commonjs/configUtils/index.js.map +1 -0
  76. package/lib/commonjs/configUtils/storageDrive/getStorageDriveCorsSettingsByName.d.ts +4 -0
  77. package/lib/commonjs/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js +14 -0
  78. package/lib/commonjs/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js.map +1 -0
  79. package/lib/commonjs/configUtils/storageDrive/index.d.ts +1 -0
  80. package/lib/commonjs/configUtils/storageDrive/index.js +18 -0
  81. package/lib/commonjs/configUtils/storageDrive/index.js.map +1 -0
  82. package/lib/commonjs/domain/index.d.ts +2 -0
  83. package/lib/commonjs/domain/index.js +19 -0
  84. package/lib/commonjs/domain/index.js.map +1 -0
  85. package/lib/commonjs/domain/logic/host/findRootDomainForHost.d.ts +6 -0
  86. package/lib/commonjs/domain/logic/host/findRootDomainForHost.js +19 -0
  87. package/lib/commonjs/domain/logic/host/findRootDomainForHost.js.map +1 -0
  88. package/lib/commonjs/domain/logic/host/getDomainTargetKey.d.ts +3 -0
  89. package/lib/commonjs/domain/logic/host/getDomainTargetKey.js +7 -0
  90. package/lib/commonjs/domain/logic/host/getDomainTargetKey.js.map +1 -0
  91. package/lib/commonjs/domain/logic/host/index.d.ts +6 -0
  92. package/lib/commonjs/domain/logic/host/index.js +23 -0
  93. package/lib/commonjs/domain/logic/host/index.js.map +1 -0
  94. package/lib/commonjs/domain/logic/host/resolveHostForRequestHost.d.ts +9 -0
  95. package/lib/commonjs/domain/logic/host/resolveHostForRequestHost.js +21 -0
  96. package/lib/commonjs/domain/logic/host/resolveHostForRequestHost.js.map +1 -0
  97. package/lib/commonjs/domain/logic/host/resolveHostForRoot.d.ts +5 -0
  98. package/lib/commonjs/domain/logic/host/resolveHostForRoot.js +15 -0
  99. package/lib/commonjs/domain/logic/host/resolveHostForRoot.js.map +1 -0
  100. package/lib/commonjs/domain/logic/host/resolveHosts.d.ts +9 -0
  101. package/lib/commonjs/domain/logic/host/resolveHosts.js +27 -0
  102. package/lib/commonjs/domain/logic/host/resolveHosts.js.map +1 -0
  103. package/lib/commonjs/domain/logic/host/resolvePrimaryHost.d.ts +5 -0
  104. package/lib/commonjs/domain/logic/host/resolvePrimaryHost.js +14 -0
  105. package/lib/commonjs/domain/logic/host/resolvePrimaryHost.js.map +1 -0
  106. package/lib/commonjs/domain/logic/index.d.ts +3 -0
  107. package/lib/commonjs/domain/logic/index.js +20 -0
  108. package/lib/commonjs/domain/logic/index.js.map +1 -0
  109. package/lib/commonjs/domain/logic/origin/getStorageDriveCorsAllowedOrigins.d.ts +4 -0
  110. package/lib/commonjs/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js +9 -0
  111. package/lib/commonjs/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js.map +1 -0
  112. package/lib/commonjs/domain/logic/origin/index.d.ts +4 -0
  113. package/lib/commonjs/domain/logic/origin/index.js +21 -0
  114. package/lib/commonjs/domain/logic/origin/index.js.map +1 -0
  115. package/lib/commonjs/domain/logic/origin/resolveContentSecurityPolicyEntry.d.ts +9 -0
  116. package/lib/commonjs/domain/logic/origin/resolveContentSecurityPolicyEntry.js +20 -0
  117. package/lib/commonjs/domain/logic/origin/resolveContentSecurityPolicyEntry.js.map +1 -0
  118. package/lib/commonjs/domain/logic/origin/resolveOrigins.d.ts +8 -0
  119. package/lib/commonjs/domain/logic/origin/resolveOrigins.js +20 -0
  120. package/lib/commonjs/domain/logic/origin/resolveOrigins.js.map +1 -0
  121. package/lib/commonjs/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.d.ts +8 -0
  122. package/lib/commonjs/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js +21 -0
  123. package/lib/commonjs/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js.map +1 -0
  124. package/lib/commonjs/domain/logic/resolver/getDomainResolver.d.ts +4 -0
  125. package/lib/commonjs/domain/logic/resolver/getDomainResolver.js +20 -0
  126. package/lib/commonjs/domain/logic/resolver/getDomainResolver.js.map +1 -0
  127. package/lib/commonjs/domain/logic/resolver/index.d.ts +4 -0
  128. package/lib/commonjs/domain/logic/resolver/index.js +21 -0
  129. package/lib/commonjs/domain/logic/resolver/index.js.map +1 -0
  130. package/lib/commonjs/domain/logic/resolver/isLocalhostRootDomain.d.ts +2 -0
  131. package/lib/commonjs/domain/logic/resolver/isLocalhostRootDomain.js +7 -0
  132. package/lib/commonjs/domain/logic/resolver/isLocalhostRootDomain.js.map +1 -0
  133. package/lib/commonjs/domain/logic/resolver/loadDomainResolver.d.ts +8 -0
  134. package/lib/commonjs/domain/logic/resolver/loadDomainResolver.js +33 -0
  135. package/lib/commonjs/domain/logic/resolver/loadDomainResolver.js.map +1 -0
  136. package/lib/commonjs/domain/logic/resolver/validateResolvedHost.d.ts +3 -0
  137. package/lib/commonjs/domain/logic/resolver/validateResolvedHost.js +13 -0
  138. package/lib/commonjs/domain/logic/resolver/validateResolvedHost.js.map +1 -0
  139. package/lib/commonjs/domain/resolvers/defaultDomainResolver.d.ts +3 -0
  140. package/lib/commonjs/domain/resolvers/defaultDomainResolver.js +11 -0
  141. package/lib/commonjs/domain/resolvers/defaultDomainResolver.js.map +1 -0
  142. package/lib/commonjs/domain/resolvers/index.d.ts +2 -0
  143. package/lib/commonjs/domain/resolvers/index.js +19 -0
  144. package/lib/commonjs/domain/resolvers/index.js.map +1 -0
  145. package/lib/commonjs/domain/resolvers/localhostDomainResolver.d.ts +3 -0
  146. package/lib/commonjs/domain/resolvers/localhostDomainResolver.js +8 -0
  147. package/lib/commonjs/domain/resolvers/localhostDomainResolver.js.map +1 -0
  148. package/lib/commonjs/domain/types/DomainResolver.d.ts +10 -0
  149. package/lib/commonjs/domain/types/DomainResolver.js +3 -0
  150. package/lib/commonjs/domain/types/DomainResolver.js.map +1 -0
  151. package/lib/commonjs/domain/types/DomainScope.d.ts +13 -0
  152. package/lib/commonjs/domain/types/DomainScope.js +3 -0
  153. package/lib/commonjs/domain/types/DomainScope.js.map +1 -0
  154. package/lib/commonjs/domain/types/DomainTarget.d.ts +5 -0
  155. package/lib/commonjs/domain/types/DomainTarget.js +3 -0
  156. package/lib/commonjs/domain/types/DomainTarget.js.map +1 -0
  157. package/lib/commonjs/domain/types/index.d.ts +3 -0
  158. package/lib/commonjs/domain/types/index.js +20 -0
  159. package/lib/commonjs/domain/types/index.js.map +1 -0
  160. package/lib/commonjs/index.d.ts +1 -0
  161. package/lib/commonjs/index.js +1 -0
  162. package/lib/commonjs/index.js.map +1 -1
  163. package/lib/commonjs/stories/index.d.ts +0 -1
  164. package/lib/commonjs/stories/index.js +0 -1
  165. package/lib/commonjs/stories/index.js.map +1 -1
  166. package/lib/commonjs/types/OpenApiDocument.d.ts +60 -0
  167. package/lib/commonjs/types/OpenApiDocument.js +3 -0
  168. package/lib/commonjs/types/OpenApiDocument.js.map +1 -0
  169. package/lib/commonjs/types/index.d.ts +1 -0
  170. package/lib/commonjs/types/index.js +1 -0
  171. package/lib/commonjs/types/index.js.map +1 -1
  172. package/lib/commonjs/utils/headerUtils.d.ts +5 -4
  173. package/lib/commonjs/utils/headerUtils.js +16 -29
  174. package/lib/commonjs/utils/headerUtils.js.map +1 -1
  175. package/lib/commonjs/utils/index.d.ts +3 -0
  176. package/lib/commonjs/utils/index.js +3 -0
  177. package/lib/commonjs/utils/index.js.map +1 -1
  178. package/lib/commonjs/utils/mergeRouteUtils.js +3 -0
  179. package/lib/commonjs/utils/mergeRouteUtils.js.map +1 -1
  180. package/lib/commonjs/utils/openApi/OpenApiDocumentOptions.d.ts +2 -0
  181. package/lib/commonjs/utils/openApi/OpenApiDocumentOptions.js +3 -0
  182. package/lib/commonjs/utils/openApi/OpenApiDocumentOptions.js.map +1 -0
  183. package/lib/commonjs/utils/openApi/buildOpenApiDocument.d.ts +5 -0
  184. package/lib/commonjs/utils/openApi/buildOpenApiDocument.js +55 -0
  185. package/lib/commonjs/utils/openApi/buildOpenApiDocument.js.map +1 -0
  186. package/lib/commonjs/utils/openApi/buildOpenApiOperation.d.ts +4 -0
  187. package/lib/commonjs/utils/openApi/buildOpenApiOperation.js +45 -0
  188. package/lib/commonjs/utils/openApi/buildOpenApiOperation.js.map +1 -0
  189. package/lib/commonjs/utils/openApi/buildOpenApiPathParameters.d.ts +2 -0
  190. package/lib/commonjs/utils/openApi/buildOpenApiPathParameters.js +13 -0
  191. package/lib/commonjs/utils/openApi/buildOpenApiPathParameters.js.map +1 -0
  192. package/lib/commonjs/utils/openApi/buildOpenApiQueryParameters.d.ts +3 -0
  193. package/lib/commonjs/utils/openApi/buildOpenApiQueryParameters.js +25 -0
  194. package/lib/commonjs/utils/openApi/buildOpenApiQueryParameters.js.map +1 -0
  195. package/lib/commonjs/utils/openApi/buildOpenApiSecurity.d.ts +4 -0
  196. package/lib/commonjs/utils/openApi/buildOpenApiSecurity.js +24 -0
  197. package/lib/commonjs/utils/openApi/buildOpenApiSecurity.js.map +1 -0
  198. package/lib/commonjs/utils/openApi/index.d.ts +7 -0
  199. package/lib/commonjs/utils/openApi/index.js +24 -0
  200. package/lib/commonjs/utils/openApi/index.js.map +1 -0
  201. package/lib/commonjs/utils/openApi/openApiSecuritySchemeNames.d.ts +2 -0
  202. package/lib/commonjs/utils/openApi/openApiSecuritySchemeNames.js +7 -0
  203. package/lib/commonjs/utils/openApi/openApiSecuritySchemeNames.js.map +1 -0
  204. package/lib/commonjs/utils/qpqConfigAccessorsUtils.d.ts +1 -34
  205. package/lib/commonjs/utils/qpqConfigAccessorsUtils.js +7 -114
  206. package/lib/commonjs/utils/qpqConfigAccessorsUtils.js.map +1 -1
  207. package/lib/esm/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js +6 -4
  208. package/lib/esm/actionProcessor/api/getHttpApiEventAutoRespondActionProcessor.js.map +1 -1
  209. package/lib/esm/actions/dns/DnsActionType.d.ts +3 -1
  210. package/lib/esm/actions/dns/DnsActionType.js +2 -0
  211. package/lib/esm/actions/dns/DnsActionType.js.map +1 -1
  212. package/lib/esm/actions/dns/askDnsList.d.ts +2 -1
  213. package/lib/esm/actions/dns/askDnsList.js +1 -0
  214. package/lib/esm/actions/dns/askDnsList.js.map +1 -1
  215. package/lib/esm/actions/dns/askDnsResolveHosts.d.ts +9 -0
  216. package/lib/esm/actions/dns/askDnsResolveHosts.js +8 -0
  217. package/lib/esm/actions/dns/askDnsResolveHosts.js.map +1 -0
  218. package/lib/esm/actions/dns/index.d.ts +1 -0
  219. package/lib/esm/actions/dns/index.js +1 -0
  220. package/lib/esm/actions/dns/index.js.map +1 -1
  221. package/lib/esm/actions/index.d.ts +1 -1
  222. package/lib/esm/actions/index.js +1 -1
  223. package/lib/esm/actions/index.js.map +1 -1
  224. package/lib/esm/actions/openApi/OpenApiActionType.d.ts +3 -0
  225. package/lib/esm/actions/openApi/OpenApiActionType.js +5 -0
  226. package/lib/esm/actions/openApi/OpenApiActionType.js.map +1 -0
  227. package/lib/esm/actions/openApi/askOpenApiGetDocument.d.ts +9 -0
  228. package/lib/esm/actions/openApi/askOpenApiGetDocument.js +9 -0
  229. package/lib/esm/actions/openApi/askOpenApiGetDocument.js.map +1 -0
  230. package/lib/esm/actions/openApi/index.d.ts +2 -0
  231. package/lib/esm/actions/openApi/index.js +3 -0
  232. package/lib/esm/actions/openApi/index.js.map +1 -0
  233. package/lib/esm/config/QPQConfig.d.ts +0 -1
  234. package/lib/esm/config/QPQConfig.js +0 -1
  235. package/lib/esm/config/QPQConfig.js.map +1 -1
  236. package/lib/esm/config/settings/api.d.ts +1 -2
  237. package/lib/esm/config/settings/api.js +1 -2
  238. package/lib/esm/config/settings/api.js.map +1 -1
  239. package/lib/esm/config/settings/dns.d.ts +15 -5
  240. package/lib/esm/config/settings/dns.js +10 -5
  241. package/lib/esm/config/settings/dns.js.map +1 -1
  242. package/lib/esm/config/settings/domainProxy.d.ts +0 -1
  243. package/lib/esm/config/settings/domainProxy.js.map +1 -1
  244. package/lib/esm/config/settings/emailSender.d.ts +3 -4
  245. package/lib/esm/config/settings/emailSender.js +5 -7
  246. package/lib/esm/config/settings/emailSender.js.map +1 -1
  247. package/lib/esm/config/settings/index.d.ts +0 -1
  248. package/lib/esm/config/settings/index.js +0 -1
  249. package/lib/esm/config/settings/index.js.map +1 -1
  250. package/lib/esm/config/settings/route.d.ts +2 -0
  251. package/lib/esm/config/settings/route.js.map +1 -1
  252. package/lib/esm/config/settings/webEntry.d.ts +0 -1
  253. package/lib/esm/config/settings/webEntry.js.map +1 -1
  254. package/lib/esm/config/settings/websocket.d.ts +1 -2
  255. package/lib/esm/config/settings/websocket.js +3 -12
  256. package/lib/esm/config/settings/websocket.js.map +1 -1
  257. package/lib/esm/config/types/JsonSchema.d.ts +1 -0
  258. package/lib/esm/config/types/JsonSchema.js +2 -0
  259. package/lib/esm/config/types/JsonSchema.js.map +1 -0
  260. package/lib/esm/config/types/RouteSchema.d.ts +10 -0
  261. package/lib/esm/config/types/RouteSchema.js +2 -0
  262. package/lib/esm/config/types/RouteSchema.js.map +1 -0
  263. package/lib/esm/config/types/index.d.ts +2 -0
  264. package/lib/esm/config/types/index.js +2 -0
  265. package/lib/esm/config/types/index.js.map +1 -1
  266. package/lib/esm/configUtils/dns/getDnsConfig.d.ts +4 -0
  267. package/lib/esm/configUtils/dns/getDnsConfig.js +11 -0
  268. package/lib/esm/configUtils/dns/getDnsConfig.js.map +1 -0
  269. package/lib/esm/configUtils/dns/getPrimaryRootDomain.d.ts +3 -0
  270. package/lib/esm/configUtils/dns/getPrimaryRootDomain.js +4 -0
  271. package/lib/esm/configUtils/dns/getPrimaryRootDomain.js.map +1 -0
  272. package/lib/esm/configUtils/dns/getRootDomains.d.ts +3 -0
  273. package/lib/esm/configUtils/dns/getRootDomains.js +4 -0
  274. package/lib/esm/configUtils/dns/getRootDomains.js.map +1 -0
  275. package/lib/esm/configUtils/dns/index.d.ts +3 -0
  276. package/lib/esm/configUtils/dns/index.js +4 -0
  277. package/lib/esm/configUtils/dns/index.js.map +1 -0
  278. package/lib/esm/configUtils/index.d.ts +2 -0
  279. package/lib/esm/configUtils/index.js +3 -0
  280. package/lib/esm/configUtils/index.js.map +1 -0
  281. package/lib/esm/configUtils/storageDrive/getStorageDriveCorsSettingsByName.d.ts +4 -0
  282. package/lib/esm/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js +7 -0
  283. package/lib/esm/configUtils/storageDrive/getStorageDriveCorsSettingsByName.js.map +1 -0
  284. package/lib/esm/configUtils/storageDrive/index.d.ts +1 -0
  285. package/lib/esm/configUtils/storageDrive/index.js +2 -0
  286. package/lib/esm/configUtils/storageDrive/index.js.map +1 -0
  287. package/lib/esm/domain/index.d.ts +2 -0
  288. package/lib/esm/domain/index.js +3 -0
  289. package/lib/esm/domain/index.js.map +1 -0
  290. package/lib/esm/domain/logic/host/findRootDomainForHost.d.ts +6 -0
  291. package/lib/esm/domain/logic/host/findRootDomainForHost.js +14 -0
  292. package/lib/esm/domain/logic/host/findRootDomainForHost.js.map +1 -0
  293. package/lib/esm/domain/logic/host/getDomainTargetKey.d.ts +3 -0
  294. package/lib/esm/domain/logic/host/getDomainTargetKey.js +3 -0
  295. package/lib/esm/domain/logic/host/getDomainTargetKey.js.map +1 -0
  296. package/lib/esm/domain/logic/host/index.d.ts +6 -0
  297. package/lib/esm/domain/logic/host/index.js +7 -0
  298. package/lib/esm/domain/logic/host/index.js.map +1 -0
  299. package/lib/esm/domain/logic/host/resolveHostForRequestHost.d.ts +9 -0
  300. package/lib/esm/domain/logic/host/resolveHostForRequestHost.js +16 -0
  301. package/lib/esm/domain/logic/host/resolveHostForRequestHost.js.map +1 -0
  302. package/lib/esm/domain/logic/host/resolveHostForRoot.d.ts +5 -0
  303. package/lib/esm/domain/logic/host/resolveHostForRoot.js +11 -0
  304. package/lib/esm/domain/logic/host/resolveHostForRoot.js.map +1 -0
  305. package/lib/esm/domain/logic/host/resolveHosts.d.ts +9 -0
  306. package/lib/esm/domain/logic/host/resolveHosts.js +23 -0
  307. package/lib/esm/domain/logic/host/resolveHosts.js.map +1 -0
  308. package/lib/esm/domain/logic/host/resolvePrimaryHost.d.ts +5 -0
  309. package/lib/esm/domain/logic/host/resolvePrimaryHost.js +10 -0
  310. package/lib/esm/domain/logic/host/resolvePrimaryHost.js.map +1 -0
  311. package/lib/esm/domain/logic/index.d.ts +3 -0
  312. package/lib/esm/domain/logic/index.js +4 -0
  313. package/lib/esm/domain/logic/index.js.map +1 -0
  314. package/lib/esm/domain/logic/origin/getStorageDriveCorsAllowedOrigins.d.ts +4 -0
  315. package/lib/esm/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js +5 -0
  316. package/lib/esm/domain/logic/origin/getStorageDriveCorsAllowedOrigins.js.map +1 -0
  317. package/lib/esm/domain/logic/origin/index.d.ts +4 -0
  318. package/lib/esm/domain/logic/origin/index.js +5 -0
  319. package/lib/esm/domain/logic/origin/index.js.map +1 -0
  320. package/lib/esm/domain/logic/origin/resolveContentSecurityPolicyEntry.d.ts +9 -0
  321. package/lib/esm/domain/logic/origin/resolveContentSecurityPolicyEntry.js +16 -0
  322. package/lib/esm/domain/logic/origin/resolveContentSecurityPolicyEntry.js.map +1 -0
  323. package/lib/esm/domain/logic/origin/resolveOrigins.d.ts +8 -0
  324. package/lib/esm/domain/logic/origin/resolveOrigins.js +16 -0
  325. package/lib/esm/domain/logic/origin/resolveOrigins.js.map +1 -0
  326. package/lib/esm/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.d.ts +8 -0
  327. package/lib/esm/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js +17 -0
  328. package/lib/esm/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.js.map +1 -0
  329. package/lib/esm/domain/logic/resolver/getDomainResolver.d.ts +4 -0
  330. package/lib/esm/domain/logic/resolver/getDomainResolver.js +16 -0
  331. package/lib/esm/domain/logic/resolver/getDomainResolver.js.map +1 -0
  332. package/lib/esm/domain/logic/resolver/index.d.ts +4 -0
  333. package/lib/esm/domain/logic/resolver/index.js +5 -0
  334. package/lib/esm/domain/logic/resolver/index.js.map +1 -0
  335. package/lib/esm/domain/logic/resolver/isLocalhostRootDomain.d.ts +2 -0
  336. package/lib/esm/domain/logic/resolver/isLocalhostRootDomain.js +3 -0
  337. package/lib/esm/domain/logic/resolver/isLocalhostRootDomain.js.map +1 -0
  338. package/lib/esm/domain/logic/resolver/loadDomainResolver.d.ts +8 -0
  339. package/lib/esm/domain/logic/resolver/loadDomainResolver.js +19 -0
  340. package/lib/esm/domain/logic/resolver/loadDomainResolver.js.map +1 -0
  341. package/lib/esm/domain/logic/resolver/validateResolvedHost.d.ts +3 -0
  342. package/lib/esm/domain/logic/resolver/validateResolvedHost.js +9 -0
  343. package/lib/esm/domain/logic/resolver/validateResolvedHost.js.map +1 -0
  344. package/lib/esm/domain/resolvers/defaultDomainResolver.d.ts +3 -0
  345. package/lib/esm/domain/resolvers/defaultDomainResolver.js +8 -0
  346. package/lib/esm/domain/resolvers/defaultDomainResolver.js.map +1 -0
  347. package/lib/esm/domain/resolvers/index.d.ts +2 -0
  348. package/lib/esm/domain/resolvers/index.js +3 -0
  349. package/lib/esm/domain/resolvers/index.js.map +1 -0
  350. package/lib/esm/domain/resolvers/localhostDomainResolver.d.ts +3 -0
  351. package/lib/esm/domain/resolvers/localhostDomainResolver.js +5 -0
  352. package/lib/esm/domain/resolvers/localhostDomainResolver.js.map +1 -0
  353. package/lib/esm/domain/types/DomainResolver.d.ts +10 -0
  354. package/lib/esm/domain/types/DomainResolver.js +2 -0
  355. package/lib/esm/domain/types/DomainResolver.js.map +1 -0
  356. package/lib/esm/domain/types/DomainScope.d.ts +13 -0
  357. package/lib/esm/domain/types/DomainScope.js +2 -0
  358. package/lib/esm/domain/types/DomainScope.js.map +1 -0
  359. package/lib/esm/domain/types/DomainTarget.d.ts +5 -0
  360. package/lib/esm/domain/types/DomainTarget.js +2 -0
  361. package/lib/esm/domain/types/DomainTarget.js.map +1 -0
  362. package/lib/esm/domain/types/index.d.ts +3 -0
  363. package/lib/esm/domain/types/index.js +4 -0
  364. package/lib/esm/domain/types/index.js.map +1 -0
  365. package/lib/esm/index.d.ts +1 -0
  366. package/lib/esm/index.js +1 -0
  367. package/lib/esm/index.js.map +1 -1
  368. package/lib/esm/stories/index.d.ts +0 -1
  369. package/lib/esm/stories/index.js +0 -1
  370. package/lib/esm/stories/index.js.map +1 -1
  371. package/lib/esm/types/OpenApiDocument.d.ts +60 -0
  372. package/lib/esm/types/OpenApiDocument.js +2 -0
  373. package/lib/esm/types/OpenApiDocument.js.map +1 -0
  374. package/lib/esm/types/index.d.ts +1 -0
  375. package/lib/esm/types/index.js +1 -0
  376. package/lib/esm/types/index.js.map +1 -1
  377. package/lib/esm/utils/headerUtils.d.ts +5 -4
  378. package/lib/esm/utils/headerUtils.js +16 -28
  379. package/lib/esm/utils/headerUtils.js.map +1 -1
  380. package/lib/esm/utils/index.d.ts +3 -0
  381. package/lib/esm/utils/index.js +3 -0
  382. package/lib/esm/utils/index.js.map +1 -1
  383. package/lib/esm/utils/mergeRouteUtils.js +2 -0
  384. package/lib/esm/utils/mergeRouteUtils.js.map +1 -1
  385. package/lib/esm/utils/openApi/OpenApiDocumentOptions.d.ts +2 -0
  386. package/lib/esm/utils/openApi/OpenApiDocumentOptions.js +2 -0
  387. package/lib/esm/utils/openApi/OpenApiDocumentOptions.js.map +1 -0
  388. package/lib/esm/utils/openApi/buildOpenApiDocument.d.ts +5 -0
  389. package/lib/esm/utils/openApi/buildOpenApiDocument.js +50 -0
  390. package/lib/esm/utils/openApi/buildOpenApiDocument.js.map +1 -0
  391. package/lib/esm/utils/openApi/buildOpenApiOperation.d.ts +4 -0
  392. package/lib/esm/utils/openApi/buildOpenApiOperation.js +40 -0
  393. package/lib/esm/utils/openApi/buildOpenApiOperation.js.map +1 -0
  394. package/lib/esm/utils/openApi/buildOpenApiPathParameters.d.ts +2 -0
  395. package/lib/esm/utils/openApi/buildOpenApiPathParameters.js +9 -0
  396. package/lib/esm/utils/openApi/buildOpenApiPathParameters.js.map +1 -0
  397. package/lib/esm/utils/openApi/buildOpenApiQueryParameters.d.ts +3 -0
  398. package/lib/esm/utils/openApi/buildOpenApiQueryParameters.js +21 -0
  399. package/lib/esm/utils/openApi/buildOpenApiQueryParameters.js.map +1 -0
  400. package/lib/esm/utils/openApi/buildOpenApiSecurity.d.ts +4 -0
  401. package/lib/esm/utils/openApi/buildOpenApiSecurity.js +19 -0
  402. package/lib/esm/utils/openApi/buildOpenApiSecurity.js.map +1 -0
  403. package/lib/esm/utils/openApi/index.d.ts +7 -0
  404. package/lib/esm/utils/openApi/index.js +8 -0
  405. package/lib/esm/utils/openApi/index.js.map +1 -0
  406. package/lib/esm/utils/openApi/openApiSecuritySchemeNames.d.ts +2 -0
  407. package/lib/esm/utils/openApi/openApiSecuritySchemeNames.js +4 -0
  408. package/lib/esm/utils/openApi/openApiSecuritySchemeNames.js.map +1 -0
  409. package/lib/esm/utils/qpqConfigAccessorsUtils.d.ts +1 -34
  410. package/lib/esm/utils/qpqConfigAccessorsUtils.js +5 -100
  411. package/lib/esm/utils/qpqConfigAccessorsUtils.js.map +1 -1
  412. package/package.json +3 -3
  413. package/lib/commonjs/actions/openApiSpec/OpenApiSpecActionType.d.ts +0 -3
  414. package/lib/commonjs/actions/openApiSpec/OpenApiSpecActionType.js +0 -8
  415. package/lib/commonjs/actions/openApiSpec/OpenApiSpecActionType.js.map +0 -1
  416. package/lib/commonjs/actions/openApiSpec/askGetOpenApiSpec.d.ts +0 -2
  417. package/lib/commonjs/actions/openApiSpec/askGetOpenApiSpec.js +0 -9
  418. package/lib/commonjs/actions/openApiSpec/askGetOpenApiSpec.js.map +0 -1
  419. package/lib/commonjs/actions/openApiSpec/index.d.ts +0 -2
  420. package/lib/commonjs/actions/openApiSpec/index.js.map +0 -1
  421. package/lib/commonjs/config/settings/openApi.d.ts +0 -5
  422. package/lib/commonjs/config/settings/openApi.js +0 -13
  423. package/lib/commonjs/config/settings/openApi.js.map +0 -1
  424. package/lib/commonjs/stories/askGetDomainRoot.d.ts +0 -2
  425. package/lib/commonjs/stories/askGetDomainRoot.js +0 -22
  426. package/lib/commonjs/stories/askGetDomainRoot.js.map +0 -1
  427. package/lib/esm/actions/openApiSpec/OpenApiSpecActionType.d.ts +0 -3
  428. package/lib/esm/actions/openApiSpec/OpenApiSpecActionType.js +0 -5
  429. package/lib/esm/actions/openApiSpec/OpenApiSpecActionType.js.map +0 -1
  430. package/lib/esm/actions/openApiSpec/askGetOpenApiSpec.d.ts +0 -2
  431. package/lib/esm/actions/openApiSpec/askGetOpenApiSpec.js +0 -6
  432. package/lib/esm/actions/openApiSpec/askGetOpenApiSpec.js.map +0 -1
  433. package/lib/esm/actions/openApiSpec/index.d.ts +0 -2
  434. package/lib/esm/actions/openApiSpec/index.js +0 -3
  435. package/lib/esm/actions/openApiSpec/index.js.map +0 -1
  436. package/lib/esm/config/settings/openApi.d.ts +0 -5
  437. package/lib/esm/config/settings/openApi.js +0 -9
  438. package/lib/esm/config/settings/openApi.js.map +0 -1
  439. package/lib/esm/stories/askGetDomainRoot.d.ts +0 -2
  440. package/lib/esm/stories/askGetDomainRoot.js +0 -18
  441. package/lib/esm/stories/askGetDomainRoot.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStorageDriveCorsAllowedOrigins = void 0;
4
+ const getStorageDriveCorsSettingsByName_1 = require("../../../configUtils/storageDrive/getStorageDriveCorsSettingsByName");
5
+ const resolveServiceScopedCorsAllowedOrigins_1 = require("./resolveServiceScopedCorsAllowedOrigins");
6
+ /** Origins allowed on a storage drive's objects: `defineStorageDriveCorsSettings` wins, else the service-scoped default. */
7
+ const getStorageDriveCorsAllowedOrigins = (qpqConfig, storageDriveName, resolver) => { var _a; return (0, resolveServiceScopedCorsAllowedOrigins_1.resolveServiceScopedCorsAllowedOrigins)(qpqConfig, (_a = (0, getStorageDriveCorsSettingsByName_1.getStorageDriveCorsSettingsByName)(qpqConfig, storageDriveName)) === null || _a === void 0 ? void 0 : _a.allowedOrigins, resolver); };
8
+ exports.getStorageDriveCorsAllowedOrigins = getStorageDriveCorsAllowedOrigins;
9
+ //# sourceMappingURL=getStorageDriveCorsAllowedOrigins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStorageDriveCorsAllowedOrigins.js","sourceRoot":"","sources":["../../../../../src/domain/logic/origin/getStorageDriveCorsAllowedOrigins.ts"],"names":[],"mappings":";;;AAEA,2HAAwH;AAExH,qGAAkG;AAElG,4HAA4H;AACrH,MAAM,iCAAiC,GAAG,CAAC,SAAoB,EAAE,gBAAwB,EAAE,QAAyB,EAAY,EAAE,WACvI,OAAA,IAAA,+EAAsC,EAAC,SAAS,EAAE,MAAA,IAAA,qEAAiC,EAAC,SAAS,EAAE,gBAAgB,CAAC,0CAAE,cAAc,EAAE,QAAQ,CAAC,CAAA,EAAA,CAAC;AADjI,QAAA,iCAAiC,qCACgG","sourcesContent":["import { QPQConfig } from 'quidproquo-core';\n\nimport { getStorageDriveCorsSettingsByName } from '../../../configUtils/storageDrive/getStorageDriveCorsSettingsByName';\nimport { DomainResolver } from '../../../domain/types/DomainResolver';\nimport { resolveServiceScopedCorsAllowedOrigins } from './resolveServiceScopedCorsAllowedOrigins';\n\n/** Origins allowed on a storage drive's objects: `defineStorageDriveCorsSettings` wins, else the service-scoped default. */\nexport const getStorageDriveCorsAllowedOrigins = (qpqConfig: QPQConfig, storageDriveName: string, resolver?: DomainResolver): string[] =>\n resolveServiceScopedCorsAllowedOrigins(qpqConfig, getStorageDriveCorsSettingsByName(qpqConfig, storageDriveName)?.allowedOrigins, resolver);\n"]}
@@ -0,0 +1,4 @@
1
+ export * from './getStorageDriveCorsAllowedOrigins';
2
+ export * from './resolveContentSecurityPolicyEntry';
3
+ export * from './resolveOrigins';
4
+ export * from './resolveServiceScopedCorsAllowedOrigins';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./getStorageDriveCorsAllowedOrigins"), exports);
18
+ __exportStar(require("./resolveContentSecurityPolicyEntry"), exports);
19
+ __exportStar(require("./resolveOrigins"), exports);
20
+ __exportStar(require("./resolveServiceScopedCorsAllowedOrigins"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/logic/origin/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,sEAAoD;AACpD,mDAAiC;AACjC,2EAAyD","sourcesContent":["export * from './getStorageDriveCorsAllowedOrigins';\nexport * from './resolveContentSecurityPolicyEntry';\nexport * from './resolveOrigins';\nexport * from './resolveServiceScopedCorsAllowedOrigins';\n"]}
@@ -0,0 +1,9 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ import { ContentSecurityPolicyEntry } from '../../../config/types/ResponseSecurityHeaders';
3
+ import { DomainResolver } from '../../../domain/types/DomainResolver';
4
+ /**
5
+ * CSP source values for an entry: a string passes through, a service entry becomes one
6
+ * host per root (or the pinned `domain`'s), prefixed with the protocol only when given,
7
+ * since CSP accepts bare hosts.
8
+ */
9
+ export declare const resolveContentSecurityPolicyEntry: (qpqConfig: QPQConfig, entry: ContentSecurityPolicyEntry, resolver?: DomainResolver) => string[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveContentSecurityPolicyEntry = void 0;
4
+ const resolveHostForRoot_1 = require("../host/resolveHostForRoot");
5
+ const resolveHosts_1 = require("../host/resolveHosts");
6
+ /**
7
+ * CSP source values for an entry: a string passes through, a service entry becomes one
8
+ * host per root (or the pinned `domain`'s), prefixed with the protocol only when given,
9
+ * since CSP accepts bare hosts.
10
+ */
11
+ const resolveContentSecurityPolicyEntry = (qpqConfig, entry, resolver) => {
12
+ if (typeof entry === 'string') {
13
+ return [entry];
14
+ }
15
+ const target = { subdomain: entry.api, service: entry.service };
16
+ const hosts = entry.domain ? [(0, resolveHostForRoot_1.resolveHostForRoot)(qpqConfig, entry.domain, target, resolver)] : (0, resolveHosts_1.resolveHosts)(qpqConfig, target, resolver);
17
+ return hosts.map((host) => (entry.protocol ? `${entry.protocol}://${host}` : host));
18
+ };
19
+ exports.resolveContentSecurityPolicyEntry = resolveContentSecurityPolicyEntry;
20
+ //# sourceMappingURL=resolveContentSecurityPolicyEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveContentSecurityPolicyEntry.js","sourceRoot":"","sources":["../../../../../src/domain/logic/origin/resolveContentSecurityPolicyEntry.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAChE,uDAAoD;AAEpD;;;;GAIG;AACI,MAAM,iCAAiC,GAAG,CAAC,SAAoB,EAAE,KAAiC,EAAE,QAAyB,EAAY,EAAE;IAChJ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,uCAAkB,EAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAY,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzI,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtF,CAAC,CAAC;AATW,QAAA,iCAAiC,qCAS5C","sourcesContent":["import { QPQConfig } from 'quidproquo-core';\n\nimport { ContentSecurityPolicyEntry } from '../../../config/types/ResponseSecurityHeaders';\nimport { DomainResolver } from '../../../domain/types/DomainResolver';\nimport { resolveHostForRoot } from '../host/resolveHostForRoot';\nimport { resolveHosts } from '../host/resolveHosts';\n\n/**\n * CSP source values for an entry: a string passes through, a service entry becomes one\n * host per root (or the pinned `domain`'s), prefixed with the protocol only when given,\n * since CSP accepts bare hosts.\n */\nexport const resolveContentSecurityPolicyEntry = (qpqConfig: QPQConfig, entry: ContentSecurityPolicyEntry, resolver?: DomainResolver): string[] => {\n if (typeof entry === 'string') {\n return [entry];\n }\n\n const target = { subdomain: entry.api, service: entry.service };\n const hosts = entry.domain ? [resolveHostForRoot(qpqConfig, entry.domain, target, resolver)] : resolveHosts(qpqConfig, target, resolver);\n\n return hosts.map((host) => (entry.protocol ? `${entry.protocol}://${host}` : host));\n};\n"]}
@@ -0,0 +1,8 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ import { ServiceAllowedOrigin } from '../../../config/settings/route';
3
+ import { DomainResolver } from '../../../domain/types/DomainResolver';
4
+ /**
5
+ * Browser origins for a CORS / CSP entry: a string passes through, a service entry becomes
6
+ * `${protocol}://host` once per root, or once for the pinned `domain` when it names one.
7
+ */
8
+ export declare const resolveOrigins: (qpqConfig: QPQConfig, entry: string | ServiceAllowedOrigin, resolver?: DomainResolver) => string[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveOrigins = void 0;
4
+ const resolveHostForRoot_1 = require("../host/resolveHostForRoot");
5
+ const resolveHosts_1 = require("../host/resolveHosts");
6
+ /**
7
+ * Browser origins for a CORS / CSP entry: a string passes through, a service entry becomes
8
+ * `${protocol}://host` once per root, or once for the pinned `domain` when it names one.
9
+ */
10
+ const resolveOrigins = (qpqConfig, entry, resolver) => {
11
+ if (typeof entry === 'string') {
12
+ return [entry];
13
+ }
14
+ const protocol = entry.protocol || 'https';
15
+ const target = { subdomain: entry.api, service: entry.service };
16
+ const hosts = entry.domain ? [(0, resolveHostForRoot_1.resolveHostForRoot)(qpqConfig, entry.domain, target, resolver)] : (0, resolveHosts_1.resolveHosts)(qpqConfig, target, resolver);
17
+ return hosts.map((host) => `${protocol}://${host}`);
18
+ };
19
+ exports.resolveOrigins = resolveOrigins;
20
+ //# sourceMappingURL=resolveOrigins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveOrigins.js","sourceRoot":"","sources":["../../../../../src/domain/logic/origin/resolveOrigins.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAChE,uDAAoD;AAEpD;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAC,SAAoB,EAAE,KAAoC,EAAE,QAAyB,EAAY,EAAE;IAChI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC3C,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAEhE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,uCAAkB,EAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAY,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzI,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB","sourcesContent":["import { QPQConfig } from 'quidproquo-core';\n\nimport { ServiceAllowedOrigin } from '../../../config/settings/route';\nimport { DomainResolver } from '../../../domain/types/DomainResolver';\nimport { resolveHostForRoot } from '../host/resolveHostForRoot';\nimport { resolveHosts } from '../host/resolveHosts';\n\n/**\n * Browser origins for a CORS / CSP entry: a string passes through, a service entry becomes\n * `${protocol}://host` once per root, or once for the pinned `domain` when it names one.\n */\nexport const resolveOrigins = (qpqConfig: QPQConfig, entry: string | ServiceAllowedOrigin, resolver?: DomainResolver): string[] => {\n if (typeof entry === 'string') {\n return [entry];\n }\n\n const protocol = entry.protocol || 'https';\n const target = { subdomain: entry.api, service: entry.service };\n\n const hosts = entry.domain ? [resolveHostForRoot(qpqConfig, entry.domain, target, resolver)] : resolveHosts(qpqConfig, target, resolver);\n\n return hosts.map((host) => `${protocol}://${host}`);\n};\n"]}
@@ -0,0 +1,8 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ import { DomainResolver } from '../../../domain/types/DomainResolver';
3
+ /**
4
+ * CORS origins for a service resource: an explicit list wins; otherwise the site root plus a
5
+ * one-level subdomain wildcard on every root (S3 and CloudFront both accept that form).
6
+ * '*' only when the service declares no domain at all (nothing browser-facing).
7
+ */
8
+ export declare const resolveServiceScopedCorsAllowedOrigins: (qpqConfig: QPQConfig, explicitOrigins?: string[], resolver?: DomainResolver) => string[];
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveServiceScopedCorsAllowedOrigins = void 0;
4
+ const resolveHosts_1 = require("../host/resolveHosts");
5
+ /**
6
+ * CORS origins for a service resource: an explicit list wins; otherwise the site root plus a
7
+ * one-level subdomain wildcard on every root (S3 and CloudFront both accept that form).
8
+ * '*' only when the service declares no domain at all (nothing browser-facing).
9
+ */
10
+ const resolveServiceScopedCorsAllowedOrigins = (qpqConfig, explicitOrigins, resolver) => {
11
+ if (explicitOrigins) {
12
+ return explicitOrigins;
13
+ }
14
+ const hosts = (0, resolveHosts_1.resolveHosts)(qpqConfig, {}, resolver);
15
+ if (hosts.length === 0) {
16
+ return ['*'];
17
+ }
18
+ return hosts.flatMap((host) => [`https://${host}`, `https://*.${host}`]);
19
+ };
20
+ exports.resolveServiceScopedCorsAllowedOrigins = resolveServiceScopedCorsAllowedOrigins;
21
+ //# sourceMappingURL=resolveServiceScopedCorsAllowedOrigins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveServiceScopedCorsAllowedOrigins.js","sourceRoot":"","sources":["../../../../../src/domain/logic/origin/resolveServiceScopedCorsAllowedOrigins.ts"],"names":[],"mappings":";;;AAGA,uDAAoD;AAEpD;;;;GAIG;AACI,MAAM,sCAAsC,GAAG,CAAC,SAAoB,EAAE,eAA0B,EAAE,QAAyB,EAAY,EAAE;IAC9I,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,2BAAY,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAXW,QAAA,sCAAsC,0CAWjD","sourcesContent":["import { QPQConfig } from 'quidproquo-core';\n\nimport { DomainResolver } from '../../../domain/types/DomainResolver';\nimport { resolveHosts } from '../host/resolveHosts';\n\n/**\n * CORS origins for a service resource: an explicit list wins; otherwise the site root plus a\n * one-level subdomain wildcard on every root (S3 and CloudFront both accept that form).\n * '*' only when the service declares no domain at all (nothing browser-facing).\n */\nexport const resolveServiceScopedCorsAllowedOrigins = (qpqConfig: QPQConfig, explicitOrigins?: string[], resolver?: DomainResolver): string[] => {\n if (explicitOrigins) {\n return explicitOrigins;\n }\n\n const hosts = resolveHosts(qpqConfig, {}, resolver);\n if (hosts.length === 0) {\n return ['*'];\n }\n\n return hosts.flatMap((host) => [`https://${host}`, `https://*.${host}`]);\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ import { DomainResolver } from '../../../domain/types/DomainResolver';
3
+ /** The resolver to run: the one the tooling was given, else localhost under the dev server, else the default shape. */
4
+ export declare const getDomainResolver: (qpqConfig: QPQConfig, resolver?: DomainResolver) => DomainResolver;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDomainResolver = void 0;
4
+ const getPrimaryRootDomain_1 = require("../../../configUtils/dns/getPrimaryRootDomain");
5
+ const defaultDomainResolver_1 = require("../../resolvers/defaultDomainResolver");
6
+ const localhostDomainResolver_1 = require("../../resolvers/localhostDomainResolver");
7
+ const isLocalhostRootDomain_1 = require("./isLocalhostRootDomain");
8
+ /** The resolver to run: the one the tooling was given, else localhost under the dev server, else the default shape. */
9
+ const getDomainResolver = (qpqConfig, resolver) => {
10
+ if (resolver) {
11
+ return resolver;
12
+ }
13
+ const primary = (0, getPrimaryRootDomain_1.getPrimaryRootDomain)(qpqConfig);
14
+ if (primary && (0, isLocalhostRootDomain_1.isLocalhostRootDomain)(primary)) {
15
+ return localhostDomainResolver_1.localhostDomainResolver;
16
+ }
17
+ return defaultDomainResolver_1.defaultDomainResolver;
18
+ };
19
+ exports.getDomainResolver = getDomainResolver;
20
+ //# sourceMappingURL=getDomainResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDomainResolver.js","sourceRoot":"","sources":["../../../../../src/domain/logic/resolver/getDomainResolver.ts"],"names":[],"mappings":";;;AAEA,wFAAqF;AAErF,iFAA8E;AAC9E,qFAAkF;AAClF,mEAAgE;AAEhE,uHAAuH;AAChH,MAAM,iBAAiB,GAAG,CAAC,SAAoB,EAAE,QAAyB,EAAkB,EAAE;IACnG,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,IAAI,IAAA,6CAAqB,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,iDAAuB,CAAC;IACjC,CAAC;IAED,OAAO,6CAAqB,CAAC;AAC/B,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B","sourcesContent":["import { QPQConfig } from 'quidproquo-core';\n\nimport { getPrimaryRootDomain } from '../../../configUtils/dns/getPrimaryRootDomain';\nimport { DomainResolver } from '../../../domain/types/DomainResolver';\nimport { defaultDomainResolver } from '../../resolvers/defaultDomainResolver';\nimport { localhostDomainResolver } from '../../resolvers/localhostDomainResolver';\nimport { isLocalhostRootDomain } from './isLocalhostRootDomain';\n\n/** The resolver to run: the one the tooling was given, else localhost under the dev server, else the default shape. */\nexport const getDomainResolver = (qpqConfig: QPQConfig, resolver?: DomainResolver): DomainResolver => {\n if (resolver) {\n return resolver;\n }\n\n const primary = getPrimaryRootDomain(qpqConfig);\n if (primary && isLocalhostRootDomain(primary)) {\n return localhostDomainResolver;\n }\n\n return defaultDomainResolver;\n};\n"]}
@@ -0,0 +1,4 @@
1
+ export * from './getDomainResolver';
2
+ export * from './isLocalhostRootDomain';
3
+ export * from './loadDomainResolver';
4
+ export * from './validateResolvedHost';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./getDomainResolver"), exports);
18
+ __exportStar(require("./isLocalhostRootDomain"), exports);
19
+ __exportStar(require("./loadDomainResolver"), exports);
20
+ __exportStar(require("./validateResolvedHost"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/logic/resolver/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,0DAAwC;AACxC,uDAAqC;AACrC,yDAAuC","sourcesContent":["export * from './getDomainResolver';\nexport * from './isLocalhostRootDomain';\nexport * from './loadDomainResolver';\nexport * from './validateResolvedHost';\n"]}
@@ -0,0 +1,2 @@
1
+ /** `localhost` with or without a port; the dev server rewrites roots to this. */
2
+ export declare const isLocalhostRootDomain: (rootDomain: string) => boolean;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isLocalhostRootDomain = void 0;
4
+ /** `localhost` with or without a port; the dev server rewrites roots to this. */
5
+ const isLocalhostRootDomain = (rootDomain) => rootDomain.split(':')[0].toLowerCase() === 'localhost';
6
+ exports.isLocalhostRootDomain = isLocalhostRootDomain;
7
+ //# sourceMappingURL=isLocalhostRootDomain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLocalhostRootDomain.js","sourceRoot":"","sources":["../../../../../src/domain/logic/resolver/isLocalhostRootDomain.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AAC1E,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;AAAhH,QAAA,qBAAqB,yBAA2F","sourcesContent":["/** `localhost` with or without a port; the dev server rewrites roots to this. */\nexport const isLocalhostRootDomain = (rootDomain: string): boolean => rootDomain.split(':')[0].toLowerCase() === 'localhost';\n"]}
@@ -0,0 +1,8 @@
1
+ import { DynamicModuleLoader, QPQConfig } from 'quidproquo-core';
2
+ import { DomainResolver } from '../../../domain/types/DomainResolver';
3
+ /**
4
+ * The resolver a runtime should use: the Dns setting's pointer loaded through the dynamic
5
+ * module loader (the pointer is a src entry, so the bundler includes it), else the
6
+ * localhost or default built-in. Processor factories call this once and close over it.
7
+ */
8
+ export declare const loadDomainResolver: (qpqConfig: QPQConfig, dynamicModuleLoader: DynamicModuleLoader) => Promise<DomainResolver>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.loadDomainResolver = void 0;
13
+ const getDnsConfig_1 = require("../../../configUtils/dns/getDnsConfig");
14
+ const getDomainResolver_1 = require("./getDomainResolver");
15
+ /**
16
+ * The resolver a runtime should use: the Dns setting's pointer loaded through the dynamic
17
+ * module loader (the pointer is a src entry, so the bundler includes it), else the
18
+ * localhost or default built-in. Processor factories call this once and close over it.
19
+ */
20
+ const loadDomainResolver = (qpqConfig, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
21
+ var _a;
22
+ const pointer = (_a = (0, getDnsConfig_1.getDnsConfig)(qpqConfig)) === null || _a === void 0 ? void 0 : _a.resolver;
23
+ if (!pointer) {
24
+ return (0, getDomainResolver_1.getDomainResolver)(qpqConfig);
25
+ }
26
+ const resolver = (yield dynamicModuleLoader(pointer));
27
+ if (typeof (resolver === null || resolver === void 0 ? void 0 : resolver.resolveHost) !== 'function') {
28
+ throw new Error(`Domain resolver [${pointer.functionName}] in [${pointer.basePath}/${pointer.relativePath}] must be a DomainResolver ({ resolveHost })`);
29
+ }
30
+ return resolver;
31
+ });
32
+ exports.loadDomainResolver = loadDomainResolver;
33
+ //# sourceMappingURL=loadDomainResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadDomainResolver.js","sourceRoot":"","sources":["../../../../../src/domain/logic/resolver/loadDomainResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,wEAAqE;AAErE,2DAAwD;AAExD;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAO,SAAoB,EAAE,mBAAwC,EAA2B,EAAE;;IAClI,MAAM,OAAO,GAAG,MAAA,IAAA,2BAAY,EAAC,SAAS,CAAC,0CAAE,QAAQ,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAA,qCAAiB,EAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAA0B,CAAC;IAC/E,IAAI,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAA,KAAK,UAAU,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,8CAA8C,CACxI,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC;AAdW,QAAA,kBAAkB,sBAc7B","sourcesContent":["import { DynamicModuleLoader, QPQConfig } from 'quidproquo-core';\n\nimport { getDnsConfig } from '../../../configUtils/dns/getDnsConfig';\nimport { DomainResolver } from '../../../domain/types/DomainResolver';\nimport { getDomainResolver } from './getDomainResolver';\n\n/**\n * The resolver a runtime should use: the Dns setting's pointer loaded through the dynamic\n * module loader (the pointer is a src entry, so the bundler includes it), else the\n * localhost or default built-in. Processor factories call this once and close over it.\n */\nexport const loadDomainResolver = async (qpqConfig: QPQConfig, dynamicModuleLoader: DynamicModuleLoader): Promise<DomainResolver> => {\n const pointer = getDnsConfig(qpqConfig)?.resolver;\n if (!pointer) {\n return getDomainResolver(qpqConfig);\n }\n\n const resolver = (await dynamicModuleLoader(pointer)) as DomainResolver | null;\n if (typeof resolver?.resolveHost !== 'function') {\n throw new Error(\n `Domain resolver [${pointer.functionName}] in [${pointer.basePath}/${pointer.relativePath}] must be a DomainResolver ({ resolveHost })`,\n );\n }\n\n return resolver;\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { DomainScope } from '../../../domain/types/DomainScope';
2
+ /** A resolver may shape labels under the root but never invent another apex. */
3
+ export declare const validateResolvedHost: (host: string, scope: DomainScope) => string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateResolvedHost = void 0;
4
+ /** A resolver may shape labels under the root but never invent another apex. */
5
+ const validateResolvedHost = (host, scope) => {
6
+ const isUnderRoot = host === scope.rootDomain || host.endsWith(`.${scope.rootDomain}`);
7
+ if (!host || !isUnderRoot) {
8
+ throw new Error(`Domain resolver returned [${host}] for root [${scope.rootDomain}]; hosts must be the root or end with .${scope.rootDomain}`);
9
+ }
10
+ return host;
11
+ };
12
+ exports.validateResolvedHost = validateResolvedHost;
13
+ //# sourceMappingURL=validateResolvedHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateResolvedHost.js","sourceRoot":"","sources":["../../../../../src/domain/logic/resolver/validateResolvedHost.ts"],"names":[],"mappings":";;;AAEA,gFAAgF;AACzE,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,KAAkB,EAAU,EAAE;IAC/E,MAAM,WAAW,GAAG,IAAI,KAAK,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAEvF,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,eAAe,KAAK,CAAC,UAAU,0CAA0C,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAChJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B","sourcesContent":["import { DomainScope } from '../../../domain/types/DomainScope';\n\n/** A resolver may shape labels under the root but never invent another apex. */\nexport const validateResolvedHost = (host: string, scope: DomainScope): string => {\n const isUnderRoot = host === scope.rootDomain || host.endsWith(`.${scope.rootDomain}`);\n\n if (!host || !isUnderRoot) {\n throw new Error(`Domain resolver returned [${host}] for root [${scope.rootDomain}]; hosts must be the root or end with .${scope.rootDomain}`);\n }\n\n return host;\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { DomainResolver } from '../../domain/types/DomainResolver';
2
+ /** `[subdomain.][service.][feature.][environment.]root`, with no environment label in production. */
3
+ export declare const defaultDomainResolver: DomainResolver;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultDomainResolver = void 0;
4
+ /** `[subdomain.][service.][feature.][environment.]root`, with no environment label in production. */
5
+ exports.defaultDomainResolver = {
6
+ resolveHost: ({ rootDomain, environment, feature, service, subdomain }) => {
7
+ const environmentLabel = environment === 'production' ? undefined : environment;
8
+ return [subdomain, service, feature, environmentLabel, rootDomain].filter(Boolean).join('.');
9
+ },
10
+ };
11
+ //# sourceMappingURL=defaultDomainResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultDomainResolver.js","sourceRoot":"","sources":["../../../../src/domain/resolvers/defaultDomainResolver.ts"],"names":[],"mappings":";;;AAEA,qGAAqG;AACxF,QAAA,qBAAqB,GAAmB;IACnD,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;QACxE,MAAM,gBAAgB,GAAG,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAEhF,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/F,CAAC;CACF,CAAC","sourcesContent":["import { DomainResolver } from '../../domain/types/DomainResolver';\n\n/** `[subdomain.][service.][feature.][environment.]root`, with no environment label in production. */\nexport const defaultDomainResolver: DomainResolver = {\n resolveHost: ({ rootDomain, environment, feature, service, subdomain }) => {\n const environmentLabel = environment === 'production' ? undefined : environment;\n\n return [subdomain, service, feature, environmentLabel, rootDomain].filter(Boolean).join('.');\n },\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './defaultDomainResolver';
2
+ export * from './localhostDomainResolver';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./defaultDomainResolver"), exports);
18
+ __exportStar(require("./localhostDomainResolver"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/resolvers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,4DAA0C","sourcesContent":["export * from './defaultDomainResolver';\nexport * from './localhostDomainResolver';\n"]}
@@ -0,0 +1,3 @@
1
+ import { DomainResolver } from '../../domain/types/DomainResolver';
2
+ /** Every scope is the root itself (`localhost:3080`): the dev server serves everything from one host. */
3
+ export declare const localhostDomainResolver: DomainResolver;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.localhostDomainResolver = void 0;
4
+ /** Every scope is the root itself (`localhost:3080`): the dev server serves everything from one host. */
5
+ exports.localhostDomainResolver = {
6
+ resolveHost: ({ rootDomain }) => rootDomain,
7
+ };
8
+ //# sourceMappingURL=localhostDomainResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localhostDomainResolver.js","sourceRoot":"","sources":["../../../../src/domain/resolvers/localhostDomainResolver.ts"],"names":[],"mappings":";;;AAEA,yGAAyG;AAC5F,QAAA,uBAAuB,GAAmB;IACrD,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU;CAC5C,CAAC","sourcesContent":["import { DomainResolver } from '../../domain/types/DomainResolver';\n\n/** Every scope is the root itself (`localhost:3080`): the dev server serves everything from one host. */\nexport const localhostDomainResolver: DomainResolver = {\n resolveHost: ({ rootDomain }) => rootDomain,\n};\n"]}
@@ -0,0 +1,10 @@
1
+ import { DomainScope } from './DomainScope';
2
+ /**
3
+ * App-authored hostname shape, handed to the deploy tooling (never placed on config). Must be
4
+ * pure and deterministic: it runs at synth and build time only, and its output is
5
+ * materialised into config for the runtime. The returned host must be `scope.rootDomain` or
6
+ * end with `.${scope.rootDomain}`.
7
+ */
8
+ export type DomainResolver = {
9
+ resolveHost: (scope: DomainScope) => string;
10
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DomainResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainResolver.js","sourceRoot":"","sources":["../../../../src/domain/types/DomainResolver.ts"],"names":[],"mappings":"","sourcesContent":["import { DomainScope } from './DomainScope';\n\n/**\n * App-authored hostname shape, handed to the deploy tooling (never placed on config). Must be\n * pure and deterministic: it runs at synth and build time only, and its output is\n * materialised into config for the runtime. The returned host must be `scope.rootDomain` or\n * end with `.${scope.rootDomain}`.\n */\nexport type DomainResolver = {\n resolveHost: (scope: DomainScope) => string;\n};\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Everything a domain resolver is told when asked for one hostname: which root, which
3
+ * deploy, and which part of the app the host is for. `service` is set for hosts scoped to
4
+ * one service (a websocket or web entry that is not on the root domain); `subdomain` is the
5
+ * app-level label (`api`, `views`, `ws`); both absent means the site root itself.
6
+ */
7
+ export type DomainScope = {
8
+ rootDomain: string;
9
+ environment: string;
10
+ feature?: string;
11
+ service?: string;
12
+ subdomain?: string;
13
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DomainScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainScope.js","sourceRoot":"","sources":["../../../../src/domain/types/DomainScope.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Everything a domain resolver is told when asked for one hostname: which root, which\n * deploy, and which part of the app the host is for. `service` is set for hosts scoped to\n * one service (a websocket or web entry that is not on the root domain); `subdomain` is the\n * app-level label (`api`, `views`, `ws`); both absent means the site root itself.\n */\nexport type DomainScope = {\n rootDomain: string;\n environment: string;\n feature?: string;\n service?: string;\n subdomain?: string;\n};\n"]}
@@ -0,0 +1,5 @@
1
+ /** The part of a DomainScope a caller chooses; root, environment and feature come from config. */
2
+ export type DomainTarget = {
3
+ service?: string;
4
+ subdomain?: string;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DomainTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainTarget.js","sourceRoot":"","sources":["../../../../src/domain/types/DomainTarget.ts"],"names":[],"mappings":"","sourcesContent":["/** The part of a DomainScope a caller chooses; root, environment and feature come from config. */\nexport type DomainTarget = {\n service?: string;\n subdomain?: string;\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './DomainResolver';
2
+ export * from './DomainScope';
3
+ export * from './DomainTarget';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./DomainResolver"), exports);
18
+ __exportStar(require("./DomainScope"), exports);
19
+ __exportStar(require("./DomainTarget"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B","sourcesContent":["export * from './DomainResolver';\nexport * from './DomainScope';\nexport * from './DomainTarget';\n"]}
@@ -1,6 +1,7 @@
1
1
  export * from './actionProcessor';
2
2
  export * from './actions';
3
3
  export * from './config';
4
+ export * from './domain';
4
5
  export * from './qpqWebServerUtils';
5
6
  export * from './services';
6
7
  export * from './stories';
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./actionProcessor"), exports);
18
18
  __exportStar(require("./actions"), exports);
19
19
  __exportStar(require("./config"), exports);
20
+ __exportStar(require("./domain"), exports);
20
21
  __exportStar(require("./qpqWebServerUtils"), exports);
21
22
  __exportStar(require("./services"), exports);
22
23
  __exportStar(require("./stories"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,4CAA0B;AAC1B,2CAAyB;AACzB,sDAAoC;AACpC,6CAA2B;AAC3B,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB","sourcesContent":["export * from './actionProcessor';\nexport * from './actions';\nexport * from './config';\nexport * from './qpqWebServerUtils';\nexport * from './services';\nexport * from './stories';\nexport * from './types';\nexport * from './utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,sDAAoC;AACpC,6CAA2B;AAC3B,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB","sourcesContent":["export * from './actionProcessor';\nexport * from './actions';\nexport * from './config';\nexport * from './domain';\nexport * from './qpqWebServerUtils';\nexport * from './services';\nexport * from './stories';\nexport * from './types';\nexport * from './utils';\n"]}
@@ -1,3 +1,2 @@
1
- export * from './askGetDomainRoot';
2
1
  export * from './askGetHttpApiEventStorySession';
3
2
  export * from './askValidateRouteAuth';
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./askGetDomainRoot"), exports);
18
17
  __exportStar(require("./askGetHttpApiEventStorySession"), exports);
19
18
  __exportStar(require("./askValidateRouteAuth"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,mEAAiD;AACjD,yDAAuC","sourcesContent":["export * from './askGetDomainRoot';\nexport * from './askGetHttpApiEventStorySession';\nexport * from './askValidateRouteAuth';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,yDAAuC","sourcesContent":["export * from './askGetHttpApiEventStorySession';\nexport * from './askValidateRouteAuth';\n"]}
@@ -0,0 +1,60 @@
1
+ import { JsonSchema } from '../config/types/JsonSchema';
2
+ export type OpenApiParameter = {
3
+ name: string;
4
+ in: 'path' | 'query';
5
+ required: boolean;
6
+ schema: JsonSchema;
7
+ description?: string;
8
+ };
9
+ export type OpenApiMediaType = {
10
+ schema: JsonSchema;
11
+ };
12
+ export type OpenApiRequestBody = {
13
+ required: boolean;
14
+ content: {
15
+ 'application/json': OpenApiMediaType;
16
+ };
17
+ };
18
+ export type OpenApiResponse = {
19
+ description: string;
20
+ content?: {
21
+ 'application/json': OpenApiMediaType;
22
+ };
23
+ };
24
+ export type OpenApiSecurityRequirement = Record<string, string[]>;
25
+ export type OpenApiOperation = {
26
+ operationId: string;
27
+ summary?: string;
28
+ description?: string;
29
+ tags?: string[];
30
+ parameters?: OpenApiParameter[];
31
+ requestBody?: OpenApiRequestBody;
32
+ responses: Record<string, OpenApiResponse>;
33
+ security?: OpenApiSecurityRequirement[];
34
+ };
35
+ export type OpenApiPathItem = Partial<Record<'get' | 'post' | 'put' | 'patch' | 'delete' | 'options' | 'head', OpenApiOperation>>;
36
+ export type OpenApiSecurityScheme = {
37
+ type: 'http';
38
+ scheme: 'bearer';
39
+ bearerFormat: 'JWT';
40
+ } | {
41
+ type: 'apiKey';
42
+ in: 'header';
43
+ name: string;
44
+ };
45
+ export type OpenApiInfo = {
46
+ title: string;
47
+ version: string;
48
+ description?: string;
49
+ };
50
+ export type OpenApiDocument = {
51
+ openapi: '3.1.0';
52
+ info: OpenApiInfo;
53
+ servers: {
54
+ url: string;
55
+ }[];
56
+ paths: Record<string, OpenApiPathItem>;
57
+ components: {
58
+ securitySchemes: Record<string, OpenApiSecurityScheme>;
59
+ };
60
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=OpenApiDocument.js.map