@fntio/infra-client 0.0.0-stage → 0.5.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 (940) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/LICENSE +93 -0
  3. package/README.md +875 -2
  4. package/assets/acl-reconciler/index.js +1604 -0
  5. package/assets/api/index.js +9857 -0
  6. package/assets/api/package.json +9 -0
  7. package/assets/api/vendor_modules/.package-lock.json +857 -0
  8. package/assets/api/vendor_modules/accepts/HISTORY.md +243 -0
  9. package/assets/api/vendor_modules/accepts/LICENSE +23 -0
  10. package/assets/api/vendor_modules/accepts/README.md +140 -0
  11. package/assets/api/vendor_modules/accepts/index.js +238 -0
  12. package/assets/api/vendor_modules/accepts/package.json +47 -0
  13. package/assets/api/vendor_modules/array-flatten/LICENSE +21 -0
  14. package/assets/api/vendor_modules/array-flatten/README.md +43 -0
  15. package/assets/api/vendor_modules/array-flatten/array-flatten.js +64 -0
  16. package/assets/api/vendor_modules/array-flatten/package.json +39 -0
  17. package/assets/api/vendor_modules/aws-jwt-verify/LICENSE +175 -0
  18. package/assets/api/vendor_modules/aws-jwt-verify/README.md +1033 -0
  19. package/assets/api/vendor_modules/aws-jwt-verify/asn1.d.ts +20 -0
  20. package/assets/api/vendor_modules/aws-jwt-verify/assert.d.ts +41 -0
  21. package/assets/api/vendor_modules/aws-jwt-verify/cognito-verifier.d.ts +183 -0
  22. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/asn1.js +301 -0
  23. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/assert.js +108 -0
  24. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/cognito-verifier.js +158 -0
  25. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/error.js +131 -0
  26. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-common.js +29 -0
  27. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-node.js +89 -0
  28. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https.js +52 -0
  29. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/index.js +9 -0
  30. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwk.js +221 -0
  31. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-model.js +10 -0
  32. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-rsa.js +397 -0
  33. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt.js +161 -0
  34. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-node.js +48 -0
  35. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-web.js +78 -0
  36. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat.js +11 -0
  37. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/package.json +1 -0
  38. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/safe-json-parse.js +34 -0
  39. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/typing-util.js +6 -0
  40. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/asn1.js +296 -0
  41. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/assert.js +101 -0
  42. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/cognito-verifier.js +153 -0
  43. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/error.js +101 -0
  44. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-common.js +25 -0
  45. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-node.js +85 -0
  46. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https.js +48 -0
  47. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/index.js +4 -0
  48. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwk.js +208 -0
  49. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-model.js +7 -0
  50. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-rsa.js +389 -0
  51. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt.js +156 -0
  52. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-node.js +45 -0
  53. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-web.js +75 -0
  54. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat.js +10 -0
  55. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/package.json +1 -0
  56. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/safe-json-parse.js +29 -0
  57. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/typing-util.js +5 -0
  58. package/assets/api/vendor_modules/aws-jwt-verify/error.d.ts +108 -0
  59. package/assets/api/vendor_modules/aws-jwt-verify/https-common.d.ts +9 -0
  60. package/assets/api/vendor_modules/aws-jwt-verify/https-node.d.ts +20 -0
  61. package/assets/api/vendor_modules/aws-jwt-verify/https.d.ts +35 -0
  62. package/assets/api/vendor_modules/aws-jwt-verify/index.d.ts +2 -0
  63. package/assets/api/vendor_modules/aws-jwt-verify/jwk.d.ts +76 -0
  64. package/assets/api/vendor_modules/aws-jwt-verify/jwt-model.d.ts +78 -0
  65. package/assets/api/vendor_modules/aws-jwt-verify/jwt-rsa.d.ts +348 -0
  66. package/assets/api/vendor_modules/aws-jwt-verify/jwt.d.ts +51 -0
  67. package/assets/api/vendor_modules/aws-jwt-verify/package.json +136 -0
  68. package/assets/api/vendor_modules/aws-jwt-verify/safe-json-parse.d.ts +18 -0
  69. package/assets/api/vendor_modules/aws-jwt-verify/typing-util.d.ts +38 -0
  70. package/assets/api/vendor_modules/body-parser/HISTORY.md +703 -0
  71. package/assets/api/vendor_modules/body-parser/LICENSE +23 -0
  72. package/assets/api/vendor_modules/body-parser/README.md +476 -0
  73. package/assets/api/vendor_modules/body-parser/index.js +156 -0
  74. package/assets/api/vendor_modules/body-parser/lib/read.js +205 -0
  75. package/assets/api/vendor_modules/body-parser/lib/types/json.js +247 -0
  76. package/assets/api/vendor_modules/body-parser/lib/types/raw.js +105 -0
  77. package/assets/api/vendor_modules/body-parser/lib/types/text.js +125 -0
  78. package/assets/api/vendor_modules/body-parser/lib/types/urlencoded.js +303 -0
  79. package/assets/api/vendor_modules/body-parser/node_modules/qs/.editorconfig +46 -0
  80. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/FUNDING.yml +12 -0
  81. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/SECURITY.md +11 -0
  82. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/THREAT_MODEL.md +80 -0
  83. package/assets/api/vendor_modules/body-parser/node_modules/qs/.nycrc +13 -0
  84. package/assets/api/vendor_modules/body-parser/node_modules/qs/CHANGELOG.md +872 -0
  85. package/assets/api/vendor_modules/body-parser/node_modules/qs/LICENSE.md +29 -0
  86. package/assets/api/vendor_modules/body-parser/node_modules/qs/README.md +804 -0
  87. package/assets/api/vendor_modules/body-parser/node_modules/qs/dist/qs.js +141 -0
  88. package/assets/api/vendor_modules/body-parser/node_modules/qs/eslint.config.mjs +57 -0
  89. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/formats.js +23 -0
  90. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/index.js +11 -0
  91. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/parse.js +503 -0
  92. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/stringify.js +378 -0
  93. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/utils.js +512 -0
  94. package/assets/api/vendor_modules/body-parser/node_modules/qs/package.json +95 -0
  95. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/empty-keys-cases.js +267 -0
  96. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/parse.js +2296 -0
  97. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/stringify.js +1995 -0
  98. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/utils.js +822 -0
  99. package/assets/api/vendor_modules/body-parser/package.json +55 -0
  100. package/assets/api/vendor_modules/bytes/History.md +97 -0
  101. package/assets/api/vendor_modules/bytes/LICENSE +23 -0
  102. package/assets/api/vendor_modules/bytes/Readme.md +152 -0
  103. package/assets/api/vendor_modules/bytes/index.js +170 -0
  104. package/assets/api/vendor_modules/bytes/package.json +42 -0
  105. package/assets/api/vendor_modules/call-bind-apply-helpers/.eslintrc +17 -0
  106. package/assets/api/vendor_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  107. package/assets/api/vendor_modules/call-bind-apply-helpers/.nycrc +9 -0
  108. package/assets/api/vendor_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  109. package/assets/api/vendor_modules/call-bind-apply-helpers/LICENSE +21 -0
  110. package/assets/api/vendor_modules/call-bind-apply-helpers/README.md +62 -0
  111. package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  112. package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.js +10 -0
  113. package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  114. package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.js +10 -0
  115. package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  116. package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.js +4 -0
  117. package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  118. package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.js +4 -0
  119. package/assets/api/vendor_modules/call-bind-apply-helpers/index.d.ts +64 -0
  120. package/assets/api/vendor_modules/call-bind-apply-helpers/index.js +15 -0
  121. package/assets/api/vendor_modules/call-bind-apply-helpers/package.json +85 -0
  122. package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  123. package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  124. package/assets/api/vendor_modules/call-bind-apply-helpers/test/index.js +63 -0
  125. package/assets/api/vendor_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  126. package/assets/api/vendor_modules/call-bound/.eslintrc +13 -0
  127. package/assets/api/vendor_modules/call-bound/.github/FUNDING.yml +12 -0
  128. package/assets/api/vendor_modules/call-bound/.nycrc +9 -0
  129. package/assets/api/vendor_modules/call-bound/CHANGELOG.md +42 -0
  130. package/assets/api/vendor_modules/call-bound/LICENSE +21 -0
  131. package/assets/api/vendor_modules/call-bound/README.md +53 -0
  132. package/assets/api/vendor_modules/call-bound/index.d.ts +94 -0
  133. package/assets/api/vendor_modules/call-bound/index.js +19 -0
  134. package/assets/api/vendor_modules/call-bound/package.json +99 -0
  135. package/assets/api/vendor_modules/call-bound/test/index.js +61 -0
  136. package/assets/api/vendor_modules/call-bound/tsconfig.json +10 -0
  137. package/assets/api/vendor_modules/content-disposition/HISTORY.md +60 -0
  138. package/assets/api/vendor_modules/content-disposition/LICENSE +22 -0
  139. package/assets/api/vendor_modules/content-disposition/README.md +142 -0
  140. package/assets/api/vendor_modules/content-disposition/index.js +458 -0
  141. package/assets/api/vendor_modules/content-disposition/package.json +44 -0
  142. package/assets/api/vendor_modules/content-type/HISTORY.md +29 -0
  143. package/assets/api/vendor_modules/content-type/LICENSE +22 -0
  144. package/assets/api/vendor_modules/content-type/README.md +94 -0
  145. package/assets/api/vendor_modules/content-type/index.js +225 -0
  146. package/assets/api/vendor_modules/content-type/package.json +42 -0
  147. package/assets/api/vendor_modules/cookie/LICENSE +24 -0
  148. package/assets/api/vendor_modules/cookie/README.md +317 -0
  149. package/assets/api/vendor_modules/cookie/SECURITY.md +25 -0
  150. package/assets/api/vendor_modules/cookie/index.js +335 -0
  151. package/assets/api/vendor_modules/cookie/package.json +44 -0
  152. package/assets/api/vendor_modules/cookie-signature/History.md +42 -0
  153. package/assets/api/vendor_modules/cookie-signature/Readme.md +42 -0
  154. package/assets/api/vendor_modules/cookie-signature/index.js +51 -0
  155. package/assets/api/vendor_modules/cookie-signature/package.json +18 -0
  156. package/assets/api/vendor_modules/debug/.coveralls.yml +1 -0
  157. package/assets/api/vendor_modules/debug/.eslintrc +11 -0
  158. package/assets/api/vendor_modules/debug/.travis.yml +14 -0
  159. package/assets/api/vendor_modules/debug/CHANGELOG.md +362 -0
  160. package/assets/api/vendor_modules/debug/LICENSE +19 -0
  161. package/assets/api/vendor_modules/debug/Makefile +50 -0
  162. package/assets/api/vendor_modules/debug/README.md +312 -0
  163. package/assets/api/vendor_modules/debug/component.json +19 -0
  164. package/assets/api/vendor_modules/debug/karma.conf.js +70 -0
  165. package/assets/api/vendor_modules/debug/node.js +1 -0
  166. package/assets/api/vendor_modules/debug/package.json +49 -0
  167. package/assets/api/vendor_modules/debug/src/browser.js +185 -0
  168. package/assets/api/vendor_modules/debug/src/debug.js +202 -0
  169. package/assets/api/vendor_modules/debug/src/index.js +10 -0
  170. package/assets/api/vendor_modules/debug/src/inspector-log.js +15 -0
  171. package/assets/api/vendor_modules/debug/src/node.js +248 -0
  172. package/assets/api/vendor_modules/depd/History.md +103 -0
  173. package/assets/api/vendor_modules/depd/LICENSE +22 -0
  174. package/assets/api/vendor_modules/depd/Readme.md +280 -0
  175. package/assets/api/vendor_modules/depd/index.js +538 -0
  176. package/assets/api/vendor_modules/depd/lib/browser/index.js +77 -0
  177. package/assets/api/vendor_modules/depd/package.json +45 -0
  178. package/assets/api/vendor_modules/destroy/LICENSE +23 -0
  179. package/assets/api/vendor_modules/destroy/README.md +63 -0
  180. package/assets/api/vendor_modules/destroy/index.js +209 -0
  181. package/assets/api/vendor_modules/destroy/package.json +48 -0
  182. package/assets/api/vendor_modules/dunder-proto/.eslintrc +5 -0
  183. package/assets/api/vendor_modules/dunder-proto/.github/FUNDING.yml +12 -0
  184. package/assets/api/vendor_modules/dunder-proto/.nycrc +13 -0
  185. package/assets/api/vendor_modules/dunder-proto/CHANGELOG.md +24 -0
  186. package/assets/api/vendor_modules/dunder-proto/LICENSE +21 -0
  187. package/assets/api/vendor_modules/dunder-proto/README.md +54 -0
  188. package/assets/api/vendor_modules/dunder-proto/get.d.ts +5 -0
  189. package/assets/api/vendor_modules/dunder-proto/get.js +30 -0
  190. package/assets/api/vendor_modules/dunder-proto/package.json +76 -0
  191. package/assets/api/vendor_modules/dunder-proto/set.d.ts +5 -0
  192. package/assets/api/vendor_modules/dunder-proto/set.js +35 -0
  193. package/assets/api/vendor_modules/dunder-proto/test/get.js +34 -0
  194. package/assets/api/vendor_modules/dunder-proto/test/index.js +4 -0
  195. package/assets/api/vendor_modules/dunder-proto/test/set.js +50 -0
  196. package/assets/api/vendor_modules/dunder-proto/tsconfig.json +9 -0
  197. package/assets/api/vendor_modules/ee-first/LICENSE +22 -0
  198. package/assets/api/vendor_modules/ee-first/README.md +80 -0
  199. package/assets/api/vendor_modules/ee-first/index.js +95 -0
  200. package/assets/api/vendor_modules/ee-first/package.json +29 -0
  201. package/assets/api/vendor_modules/encodeurl/LICENSE +22 -0
  202. package/assets/api/vendor_modules/encodeurl/README.md +109 -0
  203. package/assets/api/vendor_modules/encodeurl/index.js +60 -0
  204. package/assets/api/vendor_modules/encodeurl/package.json +40 -0
  205. package/assets/api/vendor_modules/es-define-property/.eslintrc +13 -0
  206. package/assets/api/vendor_modules/es-define-property/.github/FUNDING.yml +12 -0
  207. package/assets/api/vendor_modules/es-define-property/.nycrc +9 -0
  208. package/assets/api/vendor_modules/es-define-property/CHANGELOG.md +29 -0
  209. package/assets/api/vendor_modules/es-define-property/LICENSE +21 -0
  210. package/assets/api/vendor_modules/es-define-property/README.md +49 -0
  211. package/assets/api/vendor_modules/es-define-property/index.d.ts +3 -0
  212. package/assets/api/vendor_modules/es-define-property/index.js +14 -0
  213. package/assets/api/vendor_modules/es-define-property/package.json +81 -0
  214. package/assets/api/vendor_modules/es-define-property/test/index.js +56 -0
  215. package/assets/api/vendor_modules/es-define-property/tsconfig.json +10 -0
  216. package/assets/api/vendor_modules/es-errors/.eslintrc +5 -0
  217. package/assets/api/vendor_modules/es-errors/.github/FUNDING.yml +12 -0
  218. package/assets/api/vendor_modules/es-errors/CHANGELOG.md +40 -0
  219. package/assets/api/vendor_modules/es-errors/LICENSE +21 -0
  220. package/assets/api/vendor_modules/es-errors/README.md +55 -0
  221. package/assets/api/vendor_modules/es-errors/eval.d.ts +3 -0
  222. package/assets/api/vendor_modules/es-errors/eval.js +4 -0
  223. package/assets/api/vendor_modules/es-errors/index.d.ts +3 -0
  224. package/assets/api/vendor_modules/es-errors/index.js +4 -0
  225. package/assets/api/vendor_modules/es-errors/package.json +80 -0
  226. package/assets/api/vendor_modules/es-errors/range.d.ts +3 -0
  227. package/assets/api/vendor_modules/es-errors/range.js +4 -0
  228. package/assets/api/vendor_modules/es-errors/ref.d.ts +3 -0
  229. package/assets/api/vendor_modules/es-errors/ref.js +4 -0
  230. package/assets/api/vendor_modules/es-errors/syntax.d.ts +3 -0
  231. package/assets/api/vendor_modules/es-errors/syntax.js +4 -0
  232. package/assets/api/vendor_modules/es-errors/test/index.js +19 -0
  233. package/assets/api/vendor_modules/es-errors/tsconfig.json +49 -0
  234. package/assets/api/vendor_modules/es-errors/type.d.ts +3 -0
  235. package/assets/api/vendor_modules/es-errors/type.js +4 -0
  236. package/assets/api/vendor_modules/es-errors/uri.d.ts +3 -0
  237. package/assets/api/vendor_modules/es-errors/uri.js +4 -0
  238. package/assets/api/vendor_modules/es-object-atoms/.eslintrc +16 -0
  239. package/assets/api/vendor_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  240. package/assets/api/vendor_modules/es-object-atoms/CHANGELOG.md +44 -0
  241. package/assets/api/vendor_modules/es-object-atoms/LICENSE +21 -0
  242. package/assets/api/vendor_modules/es-object-atoms/README.md +63 -0
  243. package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  244. package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  245. package/assets/api/vendor_modules/es-object-atoms/ToObject.d.ts +7 -0
  246. package/assets/api/vendor_modules/es-object-atoms/ToObject.js +10 -0
  247. package/assets/api/vendor_modules/es-object-atoms/index.d.ts +3 -0
  248. package/assets/api/vendor_modules/es-object-atoms/index.js +4 -0
  249. package/assets/api/vendor_modules/es-object-atoms/isObject.d.ts +3 -0
  250. package/assets/api/vendor_modules/es-object-atoms/isObject.js +6 -0
  251. package/assets/api/vendor_modules/es-object-atoms/package.json +79 -0
  252. package/assets/api/vendor_modules/es-object-atoms/test/index.js +38 -0
  253. package/assets/api/vendor_modules/es-object-atoms/tsconfig.json +7 -0
  254. package/assets/api/vendor_modules/escape-html/LICENSE +24 -0
  255. package/assets/api/vendor_modules/escape-html/Readme.md +43 -0
  256. package/assets/api/vendor_modules/escape-html/index.js +78 -0
  257. package/assets/api/vendor_modules/escape-html/package.json +24 -0
  258. package/assets/api/vendor_modules/etag/HISTORY.md +83 -0
  259. package/assets/api/vendor_modules/etag/LICENSE +22 -0
  260. package/assets/api/vendor_modules/etag/README.md +159 -0
  261. package/assets/api/vendor_modules/etag/index.js +131 -0
  262. package/assets/api/vendor_modules/etag/package.json +47 -0
  263. package/assets/api/vendor_modules/express/History.md +3676 -0
  264. package/assets/api/vendor_modules/express/LICENSE +24 -0
  265. package/assets/api/vendor_modules/express/Readme.md +260 -0
  266. package/assets/api/vendor_modules/express/index.js +11 -0
  267. package/assets/api/vendor_modules/express/lib/application.js +661 -0
  268. package/assets/api/vendor_modules/express/lib/express.js +116 -0
  269. package/assets/api/vendor_modules/express/lib/middleware/init.js +43 -0
  270. package/assets/api/vendor_modules/express/lib/middleware/query.js +47 -0
  271. package/assets/api/vendor_modules/express/lib/request.js +525 -0
  272. package/assets/api/vendor_modules/express/lib/response.js +1179 -0
  273. package/assets/api/vendor_modules/express/lib/router/index.js +673 -0
  274. package/assets/api/vendor_modules/express/lib/router/layer.js +181 -0
  275. package/assets/api/vendor_modules/express/lib/router/route.js +230 -0
  276. package/assets/api/vendor_modules/express/lib/utils.js +304 -0
  277. package/assets/api/vendor_modules/express/lib/view.js +182 -0
  278. package/assets/api/vendor_modules/express/package.json +102 -0
  279. package/assets/api/vendor_modules/finalhandler/HISTORY.md +216 -0
  280. package/assets/api/vendor_modules/finalhandler/LICENSE +22 -0
  281. package/assets/api/vendor_modules/finalhandler/README.md +147 -0
  282. package/assets/api/vendor_modules/finalhandler/SECURITY.md +25 -0
  283. package/assets/api/vendor_modules/finalhandler/index.js +341 -0
  284. package/assets/api/vendor_modules/finalhandler/package.json +47 -0
  285. package/assets/api/vendor_modules/forwarded/HISTORY.md +21 -0
  286. package/assets/api/vendor_modules/forwarded/LICENSE +22 -0
  287. package/assets/api/vendor_modules/forwarded/README.md +57 -0
  288. package/assets/api/vendor_modules/forwarded/index.js +90 -0
  289. package/assets/api/vendor_modules/forwarded/package.json +45 -0
  290. package/assets/api/vendor_modules/fresh/HISTORY.md +70 -0
  291. package/assets/api/vendor_modules/fresh/LICENSE +23 -0
  292. package/assets/api/vendor_modules/fresh/README.md +119 -0
  293. package/assets/api/vendor_modules/fresh/index.js +137 -0
  294. package/assets/api/vendor_modules/fresh/package.json +46 -0
  295. package/assets/api/vendor_modules/function-bind/.eslintrc +21 -0
  296. package/assets/api/vendor_modules/function-bind/.github/FUNDING.yml +12 -0
  297. package/assets/api/vendor_modules/function-bind/.github/SECURITY.md +3 -0
  298. package/assets/api/vendor_modules/function-bind/.nycrc +13 -0
  299. package/assets/api/vendor_modules/function-bind/CHANGELOG.md +136 -0
  300. package/assets/api/vendor_modules/function-bind/LICENSE +20 -0
  301. package/assets/api/vendor_modules/function-bind/README.md +46 -0
  302. package/assets/api/vendor_modules/function-bind/implementation.js +84 -0
  303. package/assets/api/vendor_modules/function-bind/index.js +5 -0
  304. package/assets/api/vendor_modules/function-bind/package.json +87 -0
  305. package/assets/api/vendor_modules/function-bind/test/.eslintrc +9 -0
  306. package/assets/api/vendor_modules/function-bind/test/index.js +252 -0
  307. package/assets/api/vendor_modules/get-intrinsic/.eslintrc +42 -0
  308. package/assets/api/vendor_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  309. package/assets/api/vendor_modules/get-intrinsic/.nycrc +9 -0
  310. package/assets/api/vendor_modules/get-intrinsic/CHANGELOG.md +186 -0
  311. package/assets/api/vendor_modules/get-intrinsic/LICENSE +21 -0
  312. package/assets/api/vendor_modules/get-intrinsic/README.md +71 -0
  313. package/assets/api/vendor_modules/get-intrinsic/index.js +378 -0
  314. package/assets/api/vendor_modules/get-intrinsic/package.json +97 -0
  315. package/assets/api/vendor_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  316. package/assets/api/vendor_modules/get-proto/.eslintrc +10 -0
  317. package/assets/api/vendor_modules/get-proto/.github/FUNDING.yml +12 -0
  318. package/assets/api/vendor_modules/get-proto/.nycrc +9 -0
  319. package/assets/api/vendor_modules/get-proto/CHANGELOG.md +21 -0
  320. package/assets/api/vendor_modules/get-proto/LICENSE +21 -0
  321. package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  322. package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.js +6 -0
  323. package/assets/api/vendor_modules/get-proto/README.md +50 -0
  324. package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  325. package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  326. package/assets/api/vendor_modules/get-proto/index.d.ts +5 -0
  327. package/assets/api/vendor_modules/get-proto/index.js +27 -0
  328. package/assets/api/vendor_modules/get-proto/package.json +81 -0
  329. package/assets/api/vendor_modules/get-proto/test/index.js +68 -0
  330. package/assets/api/vendor_modules/get-proto/tsconfig.json +9 -0
  331. package/assets/api/vendor_modules/gopd/.eslintrc +16 -0
  332. package/assets/api/vendor_modules/gopd/.github/FUNDING.yml +12 -0
  333. package/assets/api/vendor_modules/gopd/CHANGELOG.md +45 -0
  334. package/assets/api/vendor_modules/gopd/LICENSE +21 -0
  335. package/assets/api/vendor_modules/gopd/README.md +40 -0
  336. package/assets/api/vendor_modules/gopd/gOPD.d.ts +1 -0
  337. package/assets/api/vendor_modules/gopd/gOPD.js +4 -0
  338. package/assets/api/vendor_modules/gopd/index.d.ts +5 -0
  339. package/assets/api/vendor_modules/gopd/index.js +15 -0
  340. package/assets/api/vendor_modules/gopd/package.json +77 -0
  341. package/assets/api/vendor_modules/gopd/test/index.js +36 -0
  342. package/assets/api/vendor_modules/gopd/tsconfig.json +9 -0
  343. package/assets/api/vendor_modules/has-symbols/.eslintrc +11 -0
  344. package/assets/api/vendor_modules/has-symbols/.github/FUNDING.yml +12 -0
  345. package/assets/api/vendor_modules/has-symbols/.nycrc +9 -0
  346. package/assets/api/vendor_modules/has-symbols/CHANGELOG.md +91 -0
  347. package/assets/api/vendor_modules/has-symbols/LICENSE +21 -0
  348. package/assets/api/vendor_modules/has-symbols/README.md +46 -0
  349. package/assets/api/vendor_modules/has-symbols/index.d.ts +3 -0
  350. package/assets/api/vendor_modules/has-symbols/index.js +14 -0
  351. package/assets/api/vendor_modules/has-symbols/package.json +111 -0
  352. package/assets/api/vendor_modules/has-symbols/shams.d.ts +3 -0
  353. package/assets/api/vendor_modules/has-symbols/shams.js +45 -0
  354. package/assets/api/vendor_modules/has-symbols/test/index.js +22 -0
  355. package/assets/api/vendor_modules/has-symbols/test/shams/core-js.js +29 -0
  356. package/assets/api/vendor_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  357. package/assets/api/vendor_modules/has-symbols/test/tests.js +58 -0
  358. package/assets/api/vendor_modules/has-symbols/tsconfig.json +10 -0
  359. package/assets/api/vendor_modules/hasown/.github/FUNDING.yml +12 -0
  360. package/assets/api/vendor_modules/hasown/.nycrc +13 -0
  361. package/assets/api/vendor_modules/hasown/CHANGELOG.md +58 -0
  362. package/assets/api/vendor_modules/hasown/LICENSE +21 -0
  363. package/assets/api/vendor_modules/hasown/README.md +40 -0
  364. package/assets/api/vendor_modules/hasown/eslint.config.mjs +6 -0
  365. package/assets/api/vendor_modules/hasown/index.d.ts +3 -0
  366. package/assets/api/vendor_modules/hasown/index.js +8 -0
  367. package/assets/api/vendor_modules/hasown/package.json +91 -0
  368. package/assets/api/vendor_modules/hasown/tsconfig.json +6 -0
  369. package/assets/api/vendor_modules/http-errors/HISTORY.md +186 -0
  370. package/assets/api/vendor_modules/http-errors/LICENSE +23 -0
  371. package/assets/api/vendor_modules/http-errors/README.md +169 -0
  372. package/assets/api/vendor_modules/http-errors/index.js +290 -0
  373. package/assets/api/vendor_modules/http-errors/package.json +54 -0
  374. package/assets/api/vendor_modules/iconv-lite/Changelog.md +162 -0
  375. package/assets/api/vendor_modules/iconv-lite/LICENSE +21 -0
  376. package/assets/api/vendor_modules/iconv-lite/README.md +156 -0
  377. package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  378. package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  379. package/assets/api/vendor_modules/iconv-lite/encodings/index.js +22 -0
  380. package/assets/api/vendor_modules/iconv-lite/encodings/internal.js +188 -0
  381. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  382. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  383. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  384. package/assets/api/vendor_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  385. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  386. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  387. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  388. package/assets/api/vendor_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  389. package/assets/api/vendor_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  390. package/assets/api/vendor_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  391. package/assets/api/vendor_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  392. package/assets/api/vendor_modules/iconv-lite/encodings/utf16.js +177 -0
  393. package/assets/api/vendor_modules/iconv-lite/encodings/utf7.js +290 -0
  394. package/assets/api/vendor_modules/iconv-lite/lib/bom-handling.js +52 -0
  395. package/assets/api/vendor_modules/iconv-lite/lib/extend-node.js +217 -0
  396. package/assets/api/vendor_modules/iconv-lite/lib/index.d.ts +24 -0
  397. package/assets/api/vendor_modules/iconv-lite/lib/index.js +153 -0
  398. package/assets/api/vendor_modules/iconv-lite/lib/streams.js +121 -0
  399. package/assets/api/vendor_modules/iconv-lite/package.json +46 -0
  400. package/assets/api/vendor_modules/inherits/LICENSE +16 -0
  401. package/assets/api/vendor_modules/inherits/README.md +42 -0
  402. package/assets/api/vendor_modules/inherits/inherits.js +9 -0
  403. package/assets/api/vendor_modules/inherits/inherits_browser.js +27 -0
  404. package/assets/api/vendor_modules/inherits/package.json +29 -0
  405. package/assets/api/vendor_modules/ipaddr.js/LICENSE +19 -0
  406. package/assets/api/vendor_modules/ipaddr.js/README.md +233 -0
  407. package/assets/api/vendor_modules/ipaddr.js/ipaddr.min.js +1 -0
  408. package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js +673 -0
  409. package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  410. package/assets/api/vendor_modules/ipaddr.js/package.json +35 -0
  411. package/assets/api/vendor_modules/math-intrinsics/.eslintrc +16 -0
  412. package/assets/api/vendor_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  413. package/assets/api/vendor_modules/math-intrinsics/CHANGELOG.md +24 -0
  414. package/assets/api/vendor_modules/math-intrinsics/LICENSE +21 -0
  415. package/assets/api/vendor_modules/math-intrinsics/README.md +50 -0
  416. package/assets/api/vendor_modules/math-intrinsics/abs.d.ts +1 -0
  417. package/assets/api/vendor_modules/math-intrinsics/abs.js +4 -0
  418. package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  419. package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  420. package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  421. package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  422. package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  423. package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.js +5 -0
  424. package/assets/api/vendor_modules/math-intrinsics/floor.d.ts +1 -0
  425. package/assets/api/vendor_modules/math-intrinsics/floor.js +4 -0
  426. package/assets/api/vendor_modules/math-intrinsics/isFinite.d.ts +3 -0
  427. package/assets/api/vendor_modules/math-intrinsics/isFinite.js +12 -0
  428. package/assets/api/vendor_modules/math-intrinsics/isInteger.d.ts +3 -0
  429. package/assets/api/vendor_modules/math-intrinsics/isInteger.js +16 -0
  430. package/assets/api/vendor_modules/math-intrinsics/isNaN.d.ts +1 -0
  431. package/assets/api/vendor_modules/math-intrinsics/isNaN.js +6 -0
  432. package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  433. package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.js +6 -0
  434. package/assets/api/vendor_modules/math-intrinsics/max.d.ts +1 -0
  435. package/assets/api/vendor_modules/math-intrinsics/max.js +4 -0
  436. package/assets/api/vendor_modules/math-intrinsics/min.d.ts +1 -0
  437. package/assets/api/vendor_modules/math-intrinsics/min.js +4 -0
  438. package/assets/api/vendor_modules/math-intrinsics/mod.d.ts +3 -0
  439. package/assets/api/vendor_modules/math-intrinsics/mod.js +9 -0
  440. package/assets/api/vendor_modules/math-intrinsics/package.json +86 -0
  441. package/assets/api/vendor_modules/math-intrinsics/pow.d.ts +1 -0
  442. package/assets/api/vendor_modules/math-intrinsics/pow.js +4 -0
  443. package/assets/api/vendor_modules/math-intrinsics/round.d.ts +1 -0
  444. package/assets/api/vendor_modules/math-intrinsics/round.js +4 -0
  445. package/assets/api/vendor_modules/math-intrinsics/sign.d.ts +3 -0
  446. package/assets/api/vendor_modules/math-intrinsics/sign.js +11 -0
  447. package/assets/api/vendor_modules/math-intrinsics/test/index.js +192 -0
  448. package/assets/api/vendor_modules/math-intrinsics/tsconfig.json +3 -0
  449. package/assets/api/vendor_modules/media-typer/HISTORY.md +22 -0
  450. package/assets/api/vendor_modules/media-typer/LICENSE +22 -0
  451. package/assets/api/vendor_modules/media-typer/README.md +81 -0
  452. package/assets/api/vendor_modules/media-typer/index.js +270 -0
  453. package/assets/api/vendor_modules/media-typer/package.json +26 -0
  454. package/assets/api/vendor_modules/merge-descriptors/HISTORY.md +21 -0
  455. package/assets/api/vendor_modules/merge-descriptors/LICENSE +23 -0
  456. package/assets/api/vendor_modules/merge-descriptors/README.md +49 -0
  457. package/assets/api/vendor_modules/merge-descriptors/index.js +60 -0
  458. package/assets/api/vendor_modules/merge-descriptors/package.json +39 -0
  459. package/assets/api/vendor_modules/methods/HISTORY.md +29 -0
  460. package/assets/api/vendor_modules/methods/LICENSE +24 -0
  461. package/assets/api/vendor_modules/methods/README.md +51 -0
  462. package/assets/api/vendor_modules/methods/index.js +69 -0
  463. package/assets/api/vendor_modules/methods/package.json +36 -0
  464. package/assets/api/vendor_modules/mime/CHANGELOG.md +164 -0
  465. package/assets/api/vendor_modules/mime/LICENSE +21 -0
  466. package/assets/api/vendor_modules/mime/README.md +90 -0
  467. package/assets/api/vendor_modules/mime/cli.js +8 -0
  468. package/assets/api/vendor_modules/mime/mime.js +108 -0
  469. package/assets/api/vendor_modules/mime/package.json +44 -0
  470. package/assets/api/vendor_modules/mime/src/build.js +53 -0
  471. package/assets/api/vendor_modules/mime/src/test.js +60 -0
  472. package/assets/api/vendor_modules/mime/types.json +1 -0
  473. package/assets/api/vendor_modules/mime-db/HISTORY.md +507 -0
  474. package/assets/api/vendor_modules/mime-db/LICENSE +23 -0
  475. package/assets/api/vendor_modules/mime-db/README.md +100 -0
  476. package/assets/api/vendor_modules/mime-db/db.json +8519 -0
  477. package/assets/api/vendor_modules/mime-db/index.js +12 -0
  478. package/assets/api/vendor_modules/mime-db/package.json +60 -0
  479. package/assets/api/vendor_modules/mime-types/HISTORY.md +397 -0
  480. package/assets/api/vendor_modules/mime-types/LICENSE +23 -0
  481. package/assets/api/vendor_modules/mime-types/README.md +113 -0
  482. package/assets/api/vendor_modules/mime-types/index.js +188 -0
  483. package/assets/api/vendor_modules/mime-types/package.json +44 -0
  484. package/assets/api/vendor_modules/ms/index.js +152 -0
  485. package/assets/api/vendor_modules/ms/license.md +21 -0
  486. package/assets/api/vendor_modules/ms/package.json +37 -0
  487. package/assets/api/vendor_modules/ms/readme.md +51 -0
  488. package/assets/api/vendor_modules/negotiator/HISTORY.md +108 -0
  489. package/assets/api/vendor_modules/negotiator/LICENSE +24 -0
  490. package/assets/api/vendor_modules/negotiator/README.md +203 -0
  491. package/assets/api/vendor_modules/negotiator/index.js +82 -0
  492. package/assets/api/vendor_modules/negotiator/lib/charset.js +169 -0
  493. package/assets/api/vendor_modules/negotiator/lib/encoding.js +184 -0
  494. package/assets/api/vendor_modules/negotiator/lib/language.js +179 -0
  495. package/assets/api/vendor_modules/negotiator/lib/mediaType.js +294 -0
  496. package/assets/api/vendor_modules/negotiator/package.json +42 -0
  497. package/assets/api/vendor_modules/object-inspect/.eslintrc +53 -0
  498. package/assets/api/vendor_modules/object-inspect/.github/FUNDING.yml +12 -0
  499. package/assets/api/vendor_modules/object-inspect/.nycrc +13 -0
  500. package/assets/api/vendor_modules/object-inspect/CHANGELOG.md +424 -0
  501. package/assets/api/vendor_modules/object-inspect/LICENSE +21 -0
  502. package/assets/api/vendor_modules/object-inspect/example/all.js +23 -0
  503. package/assets/api/vendor_modules/object-inspect/example/circular.js +6 -0
  504. package/assets/api/vendor_modules/object-inspect/example/fn.js +5 -0
  505. package/assets/api/vendor_modules/object-inspect/example/inspect.js +10 -0
  506. package/assets/api/vendor_modules/object-inspect/index.js +544 -0
  507. package/assets/api/vendor_modules/object-inspect/package-support.json +20 -0
  508. package/assets/api/vendor_modules/object-inspect/package.json +105 -0
  509. package/assets/api/vendor_modules/object-inspect/readme.markdown +84 -0
  510. package/assets/api/vendor_modules/object-inspect/test/bigint.js +58 -0
  511. package/assets/api/vendor_modules/object-inspect/test/browser/dom.js +15 -0
  512. package/assets/api/vendor_modules/object-inspect/test/circular.js +16 -0
  513. package/assets/api/vendor_modules/object-inspect/test/deep.js +12 -0
  514. package/assets/api/vendor_modules/object-inspect/test/element.js +53 -0
  515. package/assets/api/vendor_modules/object-inspect/test/err.js +48 -0
  516. package/assets/api/vendor_modules/object-inspect/test/fakes.js +29 -0
  517. package/assets/api/vendor_modules/object-inspect/test/fn.js +76 -0
  518. package/assets/api/vendor_modules/object-inspect/test/global.js +17 -0
  519. package/assets/api/vendor_modules/object-inspect/test/has.js +15 -0
  520. package/assets/api/vendor_modules/object-inspect/test/holes.js +15 -0
  521. package/assets/api/vendor_modules/object-inspect/test/indent-option.js +271 -0
  522. package/assets/api/vendor_modules/object-inspect/test/inspect.js +139 -0
  523. package/assets/api/vendor_modules/object-inspect/test/lowbyte.js +12 -0
  524. package/assets/api/vendor_modules/object-inspect/test/number.js +58 -0
  525. package/assets/api/vendor_modules/object-inspect/test/quoteStyle.js +26 -0
  526. package/assets/api/vendor_modules/object-inspect/test/toStringTag.js +40 -0
  527. package/assets/api/vendor_modules/object-inspect/test/undef.js +12 -0
  528. package/assets/api/vendor_modules/object-inspect/test/values.js +261 -0
  529. package/assets/api/vendor_modules/object-inspect/test-core-js.js +26 -0
  530. package/assets/api/vendor_modules/object-inspect/util.inspect.js +1 -0
  531. package/assets/api/vendor_modules/on-finished/HISTORY.md +98 -0
  532. package/assets/api/vendor_modules/on-finished/LICENSE +23 -0
  533. package/assets/api/vendor_modules/on-finished/README.md +162 -0
  534. package/assets/api/vendor_modules/on-finished/index.js +234 -0
  535. package/assets/api/vendor_modules/on-finished/package.json +39 -0
  536. package/assets/api/vendor_modules/parseurl/HISTORY.md +58 -0
  537. package/assets/api/vendor_modules/parseurl/LICENSE +24 -0
  538. package/assets/api/vendor_modules/parseurl/README.md +133 -0
  539. package/assets/api/vendor_modules/parseurl/index.js +158 -0
  540. package/assets/api/vendor_modules/parseurl/package.json +40 -0
  541. package/assets/api/vendor_modules/path-to-regexp/LICENSE +21 -0
  542. package/assets/api/vendor_modules/path-to-regexp/Readme.md +35 -0
  543. package/assets/api/vendor_modules/path-to-regexp/index.js +158 -0
  544. package/assets/api/vendor_modules/path-to-regexp/package.json +30 -0
  545. package/assets/api/vendor_modules/proxy-addr/HISTORY.md +167 -0
  546. package/assets/api/vendor_modules/proxy-addr/LICENSE +22 -0
  547. package/assets/api/vendor_modules/proxy-addr/README.md +139 -0
  548. package/assets/api/vendor_modules/proxy-addr/index.js +359 -0
  549. package/assets/api/vendor_modules/proxy-addr/package.json +51 -0
  550. package/assets/api/vendor_modules/qs/.editorconfig +46 -0
  551. package/assets/api/vendor_modules/qs/.github/FUNDING.yml +12 -0
  552. package/assets/api/vendor_modules/qs/.github/SECURITY.md +11 -0
  553. package/assets/api/vendor_modules/qs/.github/THREAT_MODEL.md +78 -0
  554. package/assets/api/vendor_modules/qs/.nycrc +13 -0
  555. package/assets/api/vendor_modules/qs/CHANGELOG.md +833 -0
  556. package/assets/api/vendor_modules/qs/LICENSE.md +29 -0
  557. package/assets/api/vendor_modules/qs/README.md +758 -0
  558. package/assets/api/vendor_modules/qs/dist/qs.js +141 -0
  559. package/assets/api/vendor_modules/qs/eslint.config.mjs +57 -0
  560. package/assets/api/vendor_modules/qs/lib/formats.js +23 -0
  561. package/assets/api/vendor_modules/qs/lib/index.js +11 -0
  562. package/assets/api/vendor_modules/qs/lib/parse.js +414 -0
  563. package/assets/api/vendor_modules/qs/lib/stringify.js +363 -0
  564. package/assets/api/vendor_modules/qs/lib/utils.js +381 -0
  565. package/assets/api/vendor_modules/qs/package.json +95 -0
  566. package/assets/api/vendor_modules/qs/test/empty-keys-cases.js +267 -0
  567. package/assets/api/vendor_modules/qs/test/parse.js +1933 -0
  568. package/assets/api/vendor_modules/qs/test/stringify.js +1448 -0
  569. package/assets/api/vendor_modules/qs/test/utils.js +626 -0
  570. package/assets/api/vendor_modules/range-parser/HISTORY.md +56 -0
  571. package/assets/api/vendor_modules/range-parser/LICENSE +23 -0
  572. package/assets/api/vendor_modules/range-parser/README.md +84 -0
  573. package/assets/api/vendor_modules/range-parser/index.js +162 -0
  574. package/assets/api/vendor_modules/range-parser/package.json +44 -0
  575. package/assets/api/vendor_modules/raw-body/LICENSE +22 -0
  576. package/assets/api/vendor_modules/raw-body/README.md +223 -0
  577. package/assets/api/vendor_modules/raw-body/index.d.ts +87 -0
  578. package/assets/api/vendor_modules/raw-body/index.js +336 -0
  579. package/assets/api/vendor_modules/raw-body/package.json +47 -0
  580. package/assets/api/vendor_modules/safe-buffer/LICENSE +21 -0
  581. package/assets/api/vendor_modules/safe-buffer/README.md +584 -0
  582. package/assets/api/vendor_modules/safe-buffer/index.d.ts +187 -0
  583. package/assets/api/vendor_modules/safe-buffer/index.js +65 -0
  584. package/assets/api/vendor_modules/safe-buffer/package.json +51 -0
  585. package/assets/api/vendor_modules/safer-buffer/LICENSE +21 -0
  586. package/assets/api/vendor_modules/safer-buffer/Porting-Buffer.md +268 -0
  587. package/assets/api/vendor_modules/safer-buffer/Readme.md +156 -0
  588. package/assets/api/vendor_modules/safer-buffer/dangerous.js +58 -0
  589. package/assets/api/vendor_modules/safer-buffer/package.json +34 -0
  590. package/assets/api/vendor_modules/safer-buffer/safer.js +77 -0
  591. package/assets/api/vendor_modules/safer-buffer/tests.js +406 -0
  592. package/assets/api/vendor_modules/send/HISTORY.md +538 -0
  593. package/assets/api/vendor_modules/send/LICENSE +23 -0
  594. package/assets/api/vendor_modules/send/README.md +327 -0
  595. package/assets/api/vendor_modules/send/SECURITY.md +24 -0
  596. package/assets/api/vendor_modules/send/index.js +1142 -0
  597. package/assets/api/vendor_modules/send/node_modules/ms/index.js +162 -0
  598. package/assets/api/vendor_modules/send/node_modules/ms/license.md +21 -0
  599. package/assets/api/vendor_modules/send/node_modules/ms/package.json +38 -0
  600. package/assets/api/vendor_modules/send/node_modules/ms/readme.md +59 -0
  601. package/assets/api/vendor_modules/send/package.json +62 -0
  602. package/assets/api/vendor_modules/serve-static/HISTORY.md +493 -0
  603. package/assets/api/vendor_modules/serve-static/LICENSE +25 -0
  604. package/assets/api/vendor_modules/serve-static/README.md +257 -0
  605. package/assets/api/vendor_modules/serve-static/index.js +209 -0
  606. package/assets/api/vendor_modules/serve-static/package.json +42 -0
  607. package/assets/api/vendor_modules/serverless-http/LICENSE.txt +33 -0
  608. package/assets/api/vendor_modules/serverless-http/README.md +117 -0
  609. package/assets/api/vendor_modules/serverless-http/lib/finish.js +42 -0
  610. package/assets/api/vendor_modules/serverless-http/lib/framework/get-framework.js +79 -0
  611. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/clean-up-event.js +98 -0
  612. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/create-request.js +110 -0
  613. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/format-response.js +45 -0
  614. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/index.js +15 -0
  615. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/is-binary.js +42 -0
  616. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/sanitize-headers.js +21 -0
  617. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/clean-up-request.js +41 -0
  618. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/create-request.js +45 -0
  619. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/format-response.js +18 -0
  620. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/index.js +13 -0
  621. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/is-binary.js +42 -0
  622. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/sanitize-headers.js +23 -0
  623. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/set-cookie.json +1 -0
  624. package/assets/api/vendor_modules/serverless-http/lib/provider/get-provider.js +17 -0
  625. package/assets/api/vendor_modules/serverless-http/lib/request.js +38 -0
  626. package/assets/api/vendor_modules/serverless-http/lib/response.js +135 -0
  627. package/assets/api/vendor_modules/serverless-http/package.json +93 -0
  628. package/assets/api/vendor_modules/serverless-http/serverless-http.d.ts +41 -0
  629. package/assets/api/vendor_modules/serverless-http/serverless-http.js +23 -0
  630. package/assets/api/vendor_modules/setprototypeof/LICENSE +13 -0
  631. package/assets/api/vendor_modules/setprototypeof/README.md +31 -0
  632. package/assets/api/vendor_modules/setprototypeof/index.d.ts +2 -0
  633. package/assets/api/vendor_modules/setprototypeof/index.js +17 -0
  634. package/assets/api/vendor_modules/setprototypeof/package.json +38 -0
  635. package/assets/api/vendor_modules/setprototypeof/test/index.js +24 -0
  636. package/assets/api/vendor_modules/side-channel/.editorconfig +9 -0
  637. package/assets/api/vendor_modules/side-channel/.eslintrc +12 -0
  638. package/assets/api/vendor_modules/side-channel/.github/FUNDING.yml +12 -0
  639. package/assets/api/vendor_modules/side-channel/.nycrc +13 -0
  640. package/assets/api/vendor_modules/side-channel/CHANGELOG.md +120 -0
  641. package/assets/api/vendor_modules/side-channel/LICENSE +21 -0
  642. package/assets/api/vendor_modules/side-channel/README.md +61 -0
  643. package/assets/api/vendor_modules/side-channel/index.d.ts +14 -0
  644. package/assets/api/vendor_modules/side-channel/index.js +46 -0
  645. package/assets/api/vendor_modules/side-channel/package.json +85 -0
  646. package/assets/api/vendor_modules/side-channel/test/index.js +120 -0
  647. package/assets/api/vendor_modules/side-channel/tsconfig.json +9 -0
  648. package/assets/api/vendor_modules/side-channel-list/.editorconfig +9 -0
  649. package/assets/api/vendor_modules/side-channel-list/.eslintrc +11 -0
  650. package/assets/api/vendor_modules/side-channel-list/.github/FUNDING.yml +12 -0
  651. package/assets/api/vendor_modules/side-channel-list/.nycrc +13 -0
  652. package/assets/api/vendor_modules/side-channel-list/CHANGELOG.md +36 -0
  653. package/assets/api/vendor_modules/side-channel-list/LICENSE +21 -0
  654. package/assets/api/vendor_modules/side-channel-list/README.md +62 -0
  655. package/assets/api/vendor_modules/side-channel-list/index.d.ts +13 -0
  656. package/assets/api/vendor_modules/side-channel-list/index.js +111 -0
  657. package/assets/api/vendor_modules/side-channel-list/list.d.ts +14 -0
  658. package/assets/api/vendor_modules/side-channel-list/package.json +77 -0
  659. package/assets/api/vendor_modules/side-channel-list/test/index.js +154 -0
  660. package/assets/api/vendor_modules/side-channel-list/tsconfig.json +9 -0
  661. package/assets/api/vendor_modules/side-channel-map/.editorconfig +9 -0
  662. package/assets/api/vendor_modules/side-channel-map/.eslintrc +11 -0
  663. package/assets/api/vendor_modules/side-channel-map/.github/FUNDING.yml +12 -0
  664. package/assets/api/vendor_modules/side-channel-map/.nycrc +13 -0
  665. package/assets/api/vendor_modules/side-channel-map/CHANGELOG.md +22 -0
  666. package/assets/api/vendor_modules/side-channel-map/LICENSE +21 -0
  667. package/assets/api/vendor_modules/side-channel-map/README.md +62 -0
  668. package/assets/api/vendor_modules/side-channel-map/index.d.ts +15 -0
  669. package/assets/api/vendor_modules/side-channel-map/index.js +68 -0
  670. package/assets/api/vendor_modules/side-channel-map/package.json +80 -0
  671. package/assets/api/vendor_modules/side-channel-map/test/index.js +114 -0
  672. package/assets/api/vendor_modules/side-channel-map/tsconfig.json +9 -0
  673. package/assets/api/vendor_modules/side-channel-weakmap/.editorconfig +9 -0
  674. package/assets/api/vendor_modules/side-channel-weakmap/.eslintrc +12 -0
  675. package/assets/api/vendor_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  676. package/assets/api/vendor_modules/side-channel-weakmap/.nycrc +13 -0
  677. package/assets/api/vendor_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  678. package/assets/api/vendor_modules/side-channel-weakmap/LICENSE +21 -0
  679. package/assets/api/vendor_modules/side-channel-weakmap/README.md +62 -0
  680. package/assets/api/vendor_modules/side-channel-weakmap/index.d.ts +15 -0
  681. package/assets/api/vendor_modules/side-channel-weakmap/index.js +84 -0
  682. package/assets/api/vendor_modules/side-channel-weakmap/package.json +87 -0
  683. package/assets/api/vendor_modules/side-channel-weakmap/test/index.js +114 -0
  684. package/assets/api/vendor_modules/side-channel-weakmap/tsconfig.json +9 -0
  685. package/assets/api/vendor_modules/statuses/HISTORY.md +87 -0
  686. package/assets/api/vendor_modules/statuses/LICENSE +23 -0
  687. package/assets/api/vendor_modules/statuses/README.md +139 -0
  688. package/assets/api/vendor_modules/statuses/codes.json +65 -0
  689. package/assets/api/vendor_modules/statuses/index.js +146 -0
  690. package/assets/api/vendor_modules/statuses/package.json +49 -0
  691. package/assets/api/vendor_modules/toidentifier/HISTORY.md +9 -0
  692. package/assets/api/vendor_modules/toidentifier/LICENSE +21 -0
  693. package/assets/api/vendor_modules/toidentifier/README.md +61 -0
  694. package/assets/api/vendor_modules/toidentifier/index.js +32 -0
  695. package/assets/api/vendor_modules/toidentifier/package.json +38 -0
  696. package/assets/api/vendor_modules/type-is/HISTORY.md +259 -0
  697. package/assets/api/vendor_modules/type-is/LICENSE +23 -0
  698. package/assets/api/vendor_modules/type-is/README.md +170 -0
  699. package/assets/api/vendor_modules/type-is/index.js +266 -0
  700. package/assets/api/vendor_modules/type-is/package.json +45 -0
  701. package/assets/api/vendor_modules/unpipe/HISTORY.md +4 -0
  702. package/assets/api/vendor_modules/unpipe/LICENSE +22 -0
  703. package/assets/api/vendor_modules/unpipe/README.md +43 -0
  704. package/assets/api/vendor_modules/unpipe/index.js +69 -0
  705. package/assets/api/vendor_modules/unpipe/package.json +27 -0
  706. package/assets/api/vendor_modules/utils-merge/LICENSE +20 -0
  707. package/assets/api/vendor_modules/utils-merge/README.md +34 -0
  708. package/assets/api/vendor_modules/utils-merge/index.js +23 -0
  709. package/assets/api/vendor_modules/utils-merge/package.json +40 -0
  710. package/assets/api/vendor_modules/vary/HISTORY.md +39 -0
  711. package/assets/api/vendor_modules/vary/LICENSE +22 -0
  712. package/assets/api/vendor_modules/vary/README.md +101 -0
  713. package/assets/api/vendor_modules/vary/index.js +149 -0
  714. package/assets/api/vendor_modules/vary/package.json +43 -0
  715. package/assets/federation-presignup/index.js +108 -0
  716. package/assets/firstadmin/index.js +361 -0
  717. package/assets/headscale-apikey/index.js +140 -0
  718. package/assets/invoke-relay/index.js +96 -0
  719. package/assets/issuer-canary/index.js +71 -0
  720. package/assets/issuer-publish/index.js +87 -0
  721. package/assets/keyminter/index.js +209 -0
  722. package/assets/plugin-authorizer/index.js +1740 -0
  723. package/assets/plugin-catalog/index.js +881 -0
  724. package/assets/reapproval/index.js +3761 -0
  725. package/assets/sg-manager/index.js +176 -0
  726. package/assets/tailnet-resolver/index.js +55 -0
  727. package/assets/web/chunk-2MOGDYK4.js +1 -0
  728. package/assets/web/chunk-2SO4BVIT.js +1 -0
  729. package/assets/web/chunk-2V6RSAAC.js +1 -0
  730. package/assets/web/chunk-32GNBTAL.js +1 -0
  731. package/assets/web/chunk-33SYY2JB.js +1 -0
  732. package/assets/web/chunk-3VWYT7AX.js +1 -0
  733. package/assets/web/chunk-4FG4DAWU.js +4 -0
  734. package/assets/web/chunk-4N2IUS6T.js +1 -0
  735. package/assets/web/chunk-4SK6XQ6C.js +1 -0
  736. package/assets/web/chunk-65WE5MXA.js +8 -0
  737. package/assets/web/chunk-6D7SSSJF.js +1 -0
  738. package/assets/web/chunk-6KFR7DYY.js +1 -0
  739. package/assets/web/chunk-A4WHI3ZG.js +8 -0
  740. package/assets/web/chunk-BNFKRZTP.js +1 -0
  741. package/assets/web/chunk-CG56PH3M.js +1 -0
  742. package/assets/web/chunk-CGO25AIM.js +1 -0
  743. package/assets/web/chunk-CP4XZPOA.js +1 -0
  744. package/assets/web/chunk-CV7EODPO.js +1 -0
  745. package/assets/web/chunk-D7TR2ORJ.js +1 -0
  746. package/assets/web/chunk-DCOFBAKJ.js +1 -0
  747. package/assets/web/chunk-DOLRLYW7.js +1 -0
  748. package/assets/web/chunk-EEJ3X466.js +1 -0
  749. package/assets/web/chunk-EQ4PF25J.js +1 -0
  750. package/assets/web/chunk-EVP5UVDQ.js +1 -0
  751. package/assets/web/chunk-EW2VMNHE.js +1 -0
  752. package/assets/web/chunk-FIUVIKAN.js +1 -0
  753. package/assets/web/chunk-GHEU25TG.js +1 -0
  754. package/assets/web/chunk-GK2T2SMO.js +1 -0
  755. package/assets/web/chunk-GKI3R2JB.js +1 -0
  756. package/assets/web/chunk-GPKKIOHD.js +2 -0
  757. package/assets/web/chunk-H4AVFUDM.js +1 -0
  758. package/assets/web/chunk-H5H727H6.js +1 -0
  759. package/assets/web/chunk-HGVFH6YM.js +1 -0
  760. package/assets/web/chunk-HHPIANBK.js +1 -0
  761. package/assets/web/chunk-HK56COCB.js +1 -0
  762. package/assets/web/chunk-HZUB7LFV.js +1 -0
  763. package/assets/web/chunk-I7NTNTBA.js +1 -0
  764. package/assets/web/chunk-IKK5DQ3Z.js +1 -0
  765. package/assets/web/chunk-IMH56UBX.js +1 -0
  766. package/assets/web/chunk-J3SSPCFV.js +1 -0
  767. package/assets/web/chunk-J4C7C5KO.js +1 -0
  768. package/assets/web/chunk-J57JB4MU.js +1 -0
  769. package/assets/web/chunk-JMBXRK3I.js +4 -0
  770. package/assets/web/chunk-KCCEQIXX.js +1 -0
  771. package/assets/web/chunk-KEBESIXR.js +1 -0
  772. package/assets/web/chunk-KPNHT4MK.js +1 -0
  773. package/assets/web/chunk-LMLXTVZG.js +1 -0
  774. package/assets/web/chunk-M6OAYNRE.js +1 -0
  775. package/assets/web/chunk-M7MGX5I4.js +1 -0
  776. package/assets/web/chunk-MU2VNTNY.js +1 -0
  777. package/assets/web/chunk-NABAVDRL.js +1 -0
  778. package/assets/web/chunk-NO5D6WDF.js +1 -0
  779. package/assets/web/chunk-O4QSFUXB.js +1 -0
  780. package/assets/web/chunk-OATVFQXO.js +1 -0
  781. package/assets/web/chunk-P5WRM37W.js +5 -0
  782. package/assets/web/chunk-PCP6D2SM.js +1 -0
  783. package/assets/web/chunk-PMMBJK7Q.js +1 -0
  784. package/assets/web/chunk-PSMER3HX.js +1 -0
  785. package/assets/web/chunk-QPBWZLCT.js +1 -0
  786. package/assets/web/chunk-QVABVDO5.js +1 -0
  787. package/assets/web/chunk-RI77LE5V.js +1 -0
  788. package/assets/web/chunk-RKGUEXZ2.js +1 -0
  789. package/assets/web/chunk-RMFH2YTZ.js +1 -0
  790. package/assets/web/chunk-RROPCBUH.js +1 -0
  791. package/assets/web/chunk-SJMLX5AT.js +1 -0
  792. package/assets/web/chunk-TKVALOE4.js +2 -0
  793. package/assets/web/chunk-TM43WUKM.js +1 -0
  794. package/assets/web/chunk-VKWV3ANT.js +1 -0
  795. package/assets/web/chunk-VTMYG6YW.js +1 -0
  796. package/assets/web/chunk-VWW4SA5R.js +1 -0
  797. package/assets/web/chunk-WEDAFMID.js +1 -0
  798. package/assets/web/chunk-WFIHWVQO.js +1 -0
  799. package/assets/web/chunk-XJM3HDJQ.js +1 -0
  800. package/assets/web/chunk-YVJV2RUY.js +1 -0
  801. package/assets/web/chunk-Z3KONI7L.js +1 -0
  802. package/assets/web/chunk-ZDCURXPS.js +1 -0
  803. package/assets/web/favicon.ico +0 -0
  804. package/assets/web/index.html +63 -0
  805. package/assets/web/main-S6E3BC5O.js +2 -0
  806. package/assets/web/polyfills-7RSNIJ6J.js +2 -0
  807. package/assets/web/styles-R6ZUWC6K.css +1 -0
  808. package/dist/index.d.ts +27 -0
  809. package/dist/index.js +66 -0
  810. package/dist/lambdacode/api/services/brandingShapes.d.ts +5 -0
  811. package/dist/lambdacode/api/services/brandingShapes.js +15 -0
  812. package/dist/lambdacode/issuer/objects.d.ts +8 -0
  813. package/dist/lambdacode/issuer/objects.js +11 -0
  814. package/dist/lambdacode/network/naming.d.ts +52 -0
  815. package/dist/lambdacode/network/naming.js +67 -0
  816. package/dist/lib/access-portal-hub.d.ts +53 -0
  817. package/dist/lib/access-portal-hub.js +87 -0
  818. package/dist/lib/access-portal.d.ts +32 -0
  819. package/dist/lib/access-portal.js +174 -0
  820. package/dist/lib/audit-log.d.ts +18 -0
  821. package/dist/lib/audit-log.js +25 -0
  822. package/dist/lib/connector-stack.d.ts +28 -0
  823. package/dist/lib/connector-stack.js +81 -0
  824. package/dist/lib/constructs/app-function.d.ts +14 -0
  825. package/dist/lib/constructs/app-function.js +84 -0
  826. package/dist/lib/constructs/app-table.d.ts +12 -0
  827. package/dist/lib/constructs/app-table.js +58 -0
  828. package/dist/lib/constructs/mirrored-image.d.ts +12 -0
  829. package/dist/lib/constructs/mirrored-image.js +80 -0
  830. package/dist/lib/constructs/monitoring.d.ts +21 -0
  831. package/dist/lib/constructs/monitoring.js +133 -0
  832. package/dist/lib/constructs/oidc-issuer.d.ts +44 -0
  833. package/dist/lib/constructs/oidc-issuer.js +234 -0
  834. package/dist/lib/constructs/scratch-tmpfs.d.ts +5 -0
  835. package/dist/lib/constructs/scratch-tmpfs.js +48 -0
  836. package/dist/lib/constructs/sg-manager.d.ts +27 -0
  837. package/dist/lib/constructs/sg-manager.js +88 -0
  838. package/dist/lib/constructs/tailnet-connector.d.ts +29 -0
  839. package/dist/lib/constructs/tailnet-connector.js +177 -0
  840. package/dist/lib/constructs/tailnet-resolver.d.ts +30 -0
  841. package/dist/lib/constructs/tailnet-resolver.js +71 -0
  842. package/dist/lib/constructs/target-account-trust.d.ts +32 -0
  843. package/dist/lib/constructs/target-account-trust.js +81 -0
  844. package/dist/lib/constructs/vending-api.d.ts +103 -0
  845. package/dist/lib/constructs/vending-api.js +203 -0
  846. package/dist/lib/constructs/web-acl.d.ts +61 -0
  847. package/dist/lib/constructs/web-acl.js +213 -0
  848. package/dist/lib/constructs/web-identity.d.ts +49 -0
  849. package/dist/lib/constructs/web-identity.js +116 -0
  850. package/dist/lib/creds-stack.d.ts +151 -0
  851. package/dist/lib/creds-stack.js +592 -0
  852. package/dist/lib/data-stack.d.ts +53 -0
  853. package/dist/lib/data-stack.js +282 -0
  854. package/dist/lib/dimensions-validation.d.ts +20 -0
  855. package/dist/lib/dimensions-validation.js +51 -0
  856. package/dist/lib/federation.d.ts +113 -0
  857. package/dist/lib/federation.js +254 -0
  858. package/dist/lib/managed-login-branding.json +450 -0
  859. package/dist/lib/network-stack.d.ts +58 -0
  860. package/dist/lib/network-stack.js +776 -0
  861. package/dist/lib/network-validation.d.ts +54 -0
  862. package/dist/lib/network-validation.js +220 -0
  863. package/dist/lib/pkg-paths.d.ts +3 -0
  864. package/dist/lib/pkg-paths.js +51 -0
  865. package/dist/lib/plugins/plugin-api.d.ts +40 -0
  866. package/dist/lib/plugins/plugin-api.js +125 -0
  867. package/dist/lib/plugins/plugin-catalog-activation.d.ts +31 -0
  868. package/dist/lib/plugins/plugin-catalog-activation.js +109 -0
  869. package/dist/lib/plugins/registration.d.ts +41 -0
  870. package/dist/lib/plugins/registration.js +121 -0
  871. package/dist/lib/plugins/runtime.d.ts +10 -0
  872. package/dist/lib/plugins/runtime.js +17 -0
  873. package/dist/lib/project-config.d.ts +164 -0
  874. package/dist/lib/project-config.js +2 -0
  875. package/dist/lib/target-account-stack.d.ts +15 -0
  876. package/dist/lib/target-account-stack.js +59 -0
  877. package/dist/lib/target-account-template.d.ts +13 -0
  878. package/dist/lib/target-account-template.js +64 -0
  879. package/dist/lib/web-cert-stack.d.ts +30 -0
  880. package/dist/lib/web-cert-stack.js +90 -0
  881. package/dist/lib/web-stack.d.ts +103 -0
  882. package/dist/lib/web-stack.js +540 -0
  883. package/node_modules/@fntio/infra-client-plugin-sdk/README.md +303 -0
  884. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.d.ts +31 -0
  885. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.js +58 -0
  886. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.d.ts +9 -0
  887. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.js +26 -0
  888. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.d.ts +59 -0
  889. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.js +290 -0
  890. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.d.ts +14 -0
  891. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.js +32 -0
  892. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.d.ts +72 -0
  893. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.js +170 -0
  894. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.d.ts +11 -0
  895. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.js +28 -0
  896. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.d.ts +22 -0
  897. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.js +22 -0
  898. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.d.ts +14 -0
  899. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.js +41 -0
  900. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.d.ts +17 -0
  901. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.js +44 -0
  902. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.d.ts +2 -0
  903. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.js +21 -0
  904. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.d.ts +39 -0
  905. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.js +18 -0
  906. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.d.ts +78 -0
  907. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.js +48 -0
  908. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.d.ts +7 -0
  909. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.js +2 -0
  910. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.d.ts +59 -0
  911. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.js +19 -0
  912. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.d.ts +111 -0
  913. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.js +109 -0
  914. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.d.ts +20 -0
  915. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.js +49 -0
  916. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.d.ts +21 -0
  917. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.js +60 -0
  918. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.d.ts +14 -0
  919. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.js +10 -0
  920. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.d.ts +27 -0
  921. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.js +321 -0
  922. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.d.ts +61 -0
  923. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.js +99 -0
  924. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.d.ts +12 -0
  925. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.js +22 -0
  926. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.d.ts +22 -0
  927. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.js +46 -0
  928. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.d.ts +4 -0
  929. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.js +20 -0
  930. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.d.ts +37 -0
  931. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.js +228 -0
  932. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.d.ts +47 -0
  933. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.js +121 -0
  934. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.d.ts +5 -0
  935. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.js +22 -0
  936. package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.d.ts +10 -0
  937. package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.js +28 -0
  938. package/node_modules/@fntio/infra-client-plugin-sdk/package.json +99 -0
  939. package/openapi.yaml +4284 -0
  940. package/package.json +124 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,193 @@
1
+ # Changelog
2
+
3
+ What each release of `@fntio/infra-client` changed, newest first. Versions 0.1.0 to 0.1.11 were reconstructed from the commit history on 2026-09-10; from 0.1.12 on, every release adds its entry here before the version bump. Steps a release needs from you are on the wiki's Deploy and Upgrade page.
4
+
5
+ ## 0.5.0 — 2026-10-16
6
+
7
+ **Upgrade:** hub stacks (`DataStack CredsStack WebStack`), then `NetworkStack` and every `Connector-<account>` stack if you run the private network — see the wiki's Deploy and Upgrade page, "Upgrading to 0.5.0".
8
+
9
+ - Bell notices for a change that moves many targets at once are one row, not one per target: when one person gains or loses more than five roles, resources or plugin permissions through a group (a membership or bundle edit) or a cascade, the feed gets a single `kind: BUNDLE` notice carrying `count` and, for a group, `groupId`/`groupName` ("7,346 access grants · group · FullSystemAccess"). Adding a member to a 7,000-role group used to write 7,000 "access granted" rows for them, the pop-up logic re-raised that backlog as a fresh summary every minute, and `POST /notifications/revocations/seen` (one update at a time) could not clear it inside the request timeout. Mark-seen now runs 25 updates at a time; the web app folds raised notice keys older than its 500-key cap into a watermark instead of forgetting them. The activity log's per-person rows under such a change collapse the same way: one `access.gain`/`access.lose` row per person carrying `details.count` ("gained 7346 access grants via group FullSystemAccess") instead of one per target; the primary row's `affected` list is unchanged.
10
+ - Renew sign-in before the 12-hour wall, from anywhere: the user menu's "Session ends" row becomes a "Renew sign-in" button that shows the time left (the end time is its tooltip); the desktop tray's session row gains "Renew sign-in…" (desktop app 0.5.0 or later). All of them start a fresh sign-in while the running session, its credentials and the VPN stay up until the new one lands — nothing is torn down mid-task.
11
+ - Desktop: closing a backend tab no longer loses its address. The connect screen (the + button) lists every deployment the app has connected to at least once under **Recently connected**, newest first with its project name; click one to reconnect, or its ✕ to forget it after a confirmation. Only that ✕ removes an entry (`recents.json` in the app's data folder, 20 entries). Reconnecting a saved deployment that was unreachable at startup now keeps its login session instead of starting a fresh one.
12
+ - **Large catalogs (#39): the portal now holds a 4,000-account, 16,000-role catalog without the pages or the API growing with it.** The catalog (accounts, roles, group names) lives in an in-memory index per API container, rebuilt only when a catalog write moves a version row, and every catalog-sized list — my access, the admin Accounts page, the request picker, the users directory, a group's bundle — serves one paged contract (`?q=&filter[key]=a,b&sort=&limit=&cursor=` → `{items,nextCursor,total,facets}`; without `limit` each route answers its old whole-list shape, so existing clients keep working). Access is still decided in one place before any page is cut; the index lists, it never grants.
13
+ - Dashboard (#45): a user who holds an account an admin kept off the dashboard gets a sticky search over everything they hold — results drop down as role rows with the card's actions (star, Console, Get credentials, the desktop auto-login bolt) — above **Signed in now** (roles with running credentials), **Main**, **Favorites** and **Recently vended**, each heading pinned while its cards scroll, and a table of the **Other accounts** (the roles outside Main and Favorites, five to start and more as you scroll; `GET /accounts` gains the `main` and `favorite` facets and a sparse `main: false` on each account for it); everyone else keeps the plain page unchanged.
14
+ - Lists in panels and dialogs (a user's or group's roles, a service user's roles, a group editor's picked roles) show five rows, with Show more / Show less and a search box as soon as any are folded away, instead of thirty and "Show more"; the grant-roles dialog is wider and its dimension filter no longer opens off the dialog's edge. New account flag **Show in the Main section** (on by default; `main: false` on `POST/PATCH /admin/accounts`), `GET /accounts/home`, `PUT /preferences/favorites/{account}` (50 favorites, synced across devices), recents from credential and console vends. The admin Accounts page has a deployment-wide **Dashboard layout** choice (`PUT /admin/dashboard-layout`): automatic (the rule above), sections for everyone, or the plain list for everyone.
15
+ - Account dimensions (#47), opt-in: `accountDimensions` in the project config stores tenant / project / stage on each account **when it is registered**, read off its name (`<tenant>-<project>-<stage>`; a pipeline may pass `dims` instead), admin-editable on the account form and never re-derived by a rename. They filter the dashboard search, the admin Accounts page, every account picker (request form, role form, grant dialogs) and the group editor, which gains **add one role across many accounts** (`POST /admin/groups/{id}/roles/bulk`, with a dry-run count). The role card's silhouette follows the stage through the config's stage map (`stages`); without the block nothing changes. A deployment turning it on backfills existing rows with `scripts/backfill-dimensions.mjs` (deployment README "Account dimensions"). The dashboard's search and browse results can be grouped by one dimension (a **Group by** choice beside the filter), and registering a role offers the groups that already bundle that role in the account's sibling accounts (same tenant and stage, `GET /admin/groups/suggest`).
16
+ - Groups at scale (#43, #44): `POST /admin/groups/{id}/roles` and `DELETE …/roles/{account}/{role}` add or remove one role, written only if absent, so a pipeline registering accounts never races another writer (the full-list `PATCH` is read-modify-write); the add answers with the change (`{groupId, name, role, added}`), not the bundle, and neither call reads the whole bundle — a 4,000-role group answers in well under a second; the access diff behind a bundle edit reads only the touched targets; the group list caps each bundle at 50 roles with `roleCount` and `GET /admin/groups/{id}/roles` pages the rest; **one yearly review per group** (its clock = the latest approval or bundle change) replaces one per bundled role; the users directory caps each user's role and resource lists at 50 with totals, `GET /admin/users/{id}` carries everything.
17
+ - Registration is idempotent (#43): `POST /admin/accounts` and `POST /admin/accounts/{a}/roles` answer `200` with the stored row when the same registration is sent again, `409` only when a field differs — a pipeline can retry any step. The admin forms still refuse a duplicate.
18
+ - Target-account template (#43): `TargetAccountStack` / `targetAccountTemplate()` synthesize one account-agnostic CloudFormation template (native `AWS::IAM::OIDCProvider`, sub pin through `AWS::AccountId`) for StackSets or Control Tower, so a 4,000-account deployment does not need one CDK stack per account.
19
+ - Pickers (#46): every place that listed the whole catalog in a `<select>` or a checkbox wall (request form, add-role form, group form, the grant dialogs on user, group and service-user panels) is a typeahead over one page at a time.
20
+ - Access report (#46): `POST /admin/access-report/jobs` builds the CSV in the background (a second Lambda on the API bundle, 15-minute budget, private reports bucket with a 7-day expiry) and `GET …/jobs/{id}` hands back a 15-minute download link; the Users page's export uses it. The inline `GET /admin/access-report` remains.
21
+ - Reads bounded by the catalog (#41, #44): `BatchGetItem` retries unprocessed keys and runs in parallel chunks; the admin bell reads the bare directory; the setup checklist counts from the index; the reconciler scans only what it needs.
22
+ - Security Hub S3.9 and CloudFront.5: every hub bucket (web app, OIDC issuer, plugin assets) sends S3 server-access logs, and both CloudFront distributions send standard logs, into one new `AccessLogsBucket` in `DataStack` (90-day expiry, kept on teardown when `prod` is on). That bucket is the one that logs nowhere; AWS's own S3.9 text says to suppress its finding. Rides a deploy of all three stacks.
23
+ - Private network: the ALB writes its access logs to a bucket of its own in `NetworkStack` (Security Hub ELB.5): SSE-S3, TLS-only, public access blocked, bucket-owner-enforced, objects expire after 90 days, its own access logs go to the hub's shared access-log bucket under `s3/alb-logs/`; the bucket is kept on a `prod` teardown and emptied and deleted otherwise. Rides a `NetworkStack` deploy.
24
+ - Private network: ECS.20 passes on every network task definition. The control-server task is three non-root containers with no shared task volume: the init container renders the config and the self-signed TLS pair next to the database on the EFS mount (the access point performs every file operation as uid 0, whatever user the container runs as), the server container serves from there with its Unix socket on a per-container tmpfs and runs the two CLI bootstrap steps itself once the socket answers, so the `bootstrap-user` and `bootstrap-key` sidecars are gone and `Custom::HeadscaleApiKey` reads the key from the `headscale` container's own log stream (`headscale-<site>/headscale/<task>`); the publish-cert step reads the certificate from EFS. The connector task's two containers are non-root too, each with its own tmpfs, and the minted auth key crosses from the aws-cli container to the Tailscale container over the task's localhost instead of a shared file. The control server moves to the upstream `-debug` image tag (same Headscale, plus busybox for the start script). Why the layout changed: a Fargate task volume is root-owned 0755 when the task starts whatever mode the image gives the path, so 0.4.0's non-root containers could only share a volume a root init container had chowned, which kept ECS.20 failing on that container and on the connectors. Rides a `NetworkStack` deploy (each control server restarts once; the EFS directory gains `config.yaml`, `tls.key` and `tls.crt`) and a deploy of every connector stack (each connector re-registers once). Needs Fargate's tmpfs support (platform version `LATEST`, available in all Regions since January 2026) and aws-cdk-lib 2.263 or later.
25
+ - Bell: temporary plugin permissions now warn before they end and once more after, like roles and network resources. New routes `GET /plugins/expiry` and `POST /plugins/expiry/seen`; the notice names the plugin and the account.
26
+ - Removing an account now also denies its open plugin reviews and deletes a group that bundled nothing but that account's plugin permissions, as the role cascade already did.
27
+ - `PUT /admin/plugins/{pluginId}/accounts/{accountNumber}/grants` answers 404 for a user that is neither in the pool nor a registered service user; `DELETE` still takes any id, so a deleted user's row stays revocable. Every plugin answer carries `Cache-Control: no-store`, 204s and errors included.
28
+ - The activity log names the plugin on a revoke (it only did on a grant).
29
+ - Plugin assets are uploaded with `Cache-Control: max-age=31536000, immutable` (their prefix carries the content hash), matching the app bundle.
30
+ - Catalog provider: a construct rename no longer tombstones the record the new resource just wrote (the record remembers the logical id that owns it; CloudFormation's cleanup Delete for the old id is ignored). Provider tests now cover a retried Create, rollback after a failed install and after a failed update, and a reinstall over expired rows.
31
+ - CDK tests pin that no method under a plugin path is unauthenticated, that the catalog record depends on the API stage, that no Function URL exists, and the feature's on → empty → off lifecycle.
32
+
33
+
34
+ ## 0.4.0 — 2026-10-08
35
+
36
+ - Desktop: the app updates itself. A packaged app checks the Release feed a minute after launch and every six hours. On macOS the new version downloads in the background; the tray then offers "Update <version> · Restart to install" (the same teardown as Quit, then the new version relaunches), and a plain Quit installs it too. On Windows the installer is still unsigned, so the app only announces the version and the tray row opens the download page. Each Release now carries `latest-mac.yml`, `latest.yml` and `.blockmap` files next to the installers; an installed 0.3.0 needs one last manual DMG, since it predates the updater.
37
+ - Private network: three of the four Security Hub findings an ECS or load-balancer control raised against the network stacks pass as shipped, and the fourth narrows. Every control-server and connector container runs on a read-only root filesystem (ECS.5); the Headscale server and its sidecars run as a non-root user (ECS.20), while the connector containers and Headscale's config-writing init container stay root, because a Fargate task volume is root-owned when the task starts whatever the image says, so the first writer of a shared volume must be root (the wiki's Security Posture lists ECS.20 for exactly those); and the load balancer reaches Headscale over HTTPS (ELB.21, ELB.22): the config-writing init container also mints a self-signed certificate at each task start, Headscale serves TLS on 8080 from it, and the target groups and their health checks speak HTTPS (the ALB never validates a target's certificate, so nothing has to be issued or rotated; the key minter and the reconciler reach the admin API over the same HTTPS inside the VPC and verify it against the certificate the task publishes to the SSM parameter `/<resourcePrefix>/headscale-tls-<site>` at every start, which only its own task role may write; the VPC gains an SSM interface endpoint for that read, since the functions have no internet path; removing a site now also means deleting that parameter, next to the API-key secret). Everything a container writes lives on one task volume at `/tmp`, which the init container hands to the non-root uid; the Headscale CLI finds its config from the working directory, so the ECS Exec commands in the runbook are unchanged. Rides a `NetworkStack` deploy (each control server restarts once) and a deploy of every connector stack (each connector re-registers once). The wiki's Security Posture page no longer lists ECS.5, ELB.21 or ELB.22 as accepted.
38
+ - API: every `__`-prefixed row in the Resources table is bookkeeping, never a resource. The catalog listing, single-resource reads, the users directory and the network reconciler skipped only the reconciler's own `__reconciler-status__` rows; any other sentinel (a nameless `__catalog-version__` row written by a newer branch's API run against the same tables) reached the name sort and turned `/resources/expiry`, `/notifications/revocations` and `/admin/requests` into 502s.
39
+ - Config: `loginMethods.smsOtp` is gone. It never worked (setting it failed at synth: SMS sign-in needs SNS, an origination number and SMS-sandbox exit, none of which the stacks provision). A config that sets it fails type-checking; remove the line. The remaining methods are unchanged.
40
+ - Plugin pages: a plugin no longer reloads its data every minute. The portal re-reads plugin discovery on a timer (`plugins.discoveryRefreshSeconds`, default 60) and told the frame `accessChanged` on every answer, so a plugin following the SDK's guidance redrew each time; now the frame hears it only when its account list really changed.
41
+ - Fixtures: the sample identities in the web bundle's story and fixture data, the API spec's examples and the desktop tests are invented names on fixture domains. The 0.3.0 release was built from the export before that change, so its bundle still carries a few of the previous placeholder names; no address, key or deployment value was ever included.
42
+ - Config: `alertEmail` takes a list of addresses as well as one. Every address gets its own subscription to the ops alert topic (alarms and the issuer canary) and its own confirmation email on the next deploy; the first address is the default `email.dmarcReportEmail`. A single address keeps working unchanged.
43
+
44
+ ## 0.3.0 — 2026-10-07
45
+
46
+ - **Private network: a resource in another account whose DNS name is also a service name in the hub account got the hub's address.** The reconciler asked the hub's Cloud Map for every resource's name first, so with the hub and a second account each running `litellm.<namespace>.internal` (or any shared label) in VPCs with the same range, the second account's rules pointed at the hub's task and its resource stayed unreachable. Now only a hub-account resource is resolved through the hub's Cloud Map and VPC DNS; every other account's resource goes to its own in-VPC `tailnet-resolver`, and the plain-DNS fallback from the hub is used for it only when the hub has no service by that label. Rides a `NetworkStack` deploy; the affected resources resolve correctly on the next pass.
47
+ - Web app and desktop: the end of a sign-in is visible and warned (#29). The profile menu shows "Session ends 6:40 PM"; 15 minutes before it a banner above the page and a pop-up (new "Session ending" kind in the Notifications settings, on by default) say so; the desktop tray lists the time per backend and in its hover text. **Sign in again** from the banner or the pop-up is a handover, not a sign-out: the current session keeps running, credentials and the VPN stay, and the new sign-in takes over with a fresh 12 hours (the old refresh token is revoked). After a forced sign-out the sign-in page says why — the 12-hour limit, a session ended early, or a sign-out in another window — instead of a bare form. `config.json` carries `sessionHours` (the refresh-token validity, from one constant in `WebStack`), so the app never hardcodes 12.
48
+
49
+ ## 0.2.0 — 2026-10-06
50
+
51
+ - Plugin pages: moving from one plugin page to another now starts that page's own frame. The frame of the previous plugin stayed on screen under a "newer version available" notice until a reload.
52
+ - Plugin pages: the frame's colour scheme follows the portal's light/dark choice, so a plugin document themed dark is no longer given an opaque black backdrop; and `applyPluginUi` (`@fntio/infra-client-plugin-ui`) now sets the page base too: see-through background, no body margin, the portal's text colour and typeface, at zero specificity so a plugin's own rules win.
53
+ - Private network: a resource's range may be as wide as `/16` (it was `/24`), for a subnet of hosts rather than one database. The reconciler's containment check against approved routes is unchanged, and the form states how many addresses a range wider than `/24` covers.
54
+ - Private network: every call the reconciler makes to a site's control server has a time limit (10 seconds; 30 for the policy update), so a control server that accepts the connection and never answers fails its own site for that pass instead of spending the whole pass and leaving the other sites without a policy update; and a catalog row with no address is skipped instead of freezing its site's policy. Both ride a `NetworkStack` deploy.
55
+ - **Private network: a DNS name that stops resolving no longer opens the resource's stored range.** The rules hold the addresses the name last resolved to for up to 24 hours after it last resolved, so a resolver blip does not cut access; after that, or for a name that has never resolved, nothing is open and the resource shows "DNS unresolved". Until now the whole registered range opened as the fallback. **Before deploying `NetworkStack`, check the admin Resources page for resources marked "DNS unresolved"**: they work through the range today and will stop until their name resolves (usually a connector stack deployed before the in-VPC resolver existed; redeploy it).
56
+ - Private network: the reconciler approves a connector's advertised route only when it is private **and** inside the `routes` config declares for that connector's own VPC (`connectorVpcs`). Until now any private range was approved, so a connector in one account could advertise another account's subnet in the same site and receive its traffic. A refused route is logged and the rest are still approved (one bad route used to hold back all of them, silently); a route approved earlier that falls outside the declaration is logged, not removed. The rule is per site: once a site lists any connector VPC, every connector in that site must be listed, and one that matches no entry gets nothing approved; a site with no `connectorVpcs` at all keeps the private-range rule. Needs a `NetworkStack` deploy; **before it, check each connector advertises what `connectorVpcs.<account>.routes` says**, or a restarted connector's routes will wait unapproved.
57
+ - Private network: a site's access rules are sent compact (about 40,000 user-resource pairs fit under the control server's 4 MB limit, up from about 24,000), the reconciler warns at three quarters of the limit and fails the pass with a clear error above it.
58
+ - **Plugin pages: the plugin now owns the whole page.** The portal no longer draws a header (title, version, account picker) above the frame, and the frame fills the page area beside the sidebar; it was stuck at a 20rem minimum. A plugin draws its own title, and its own account picker if it needs one. **The portal no longer tracks a selected account at all** (plugin message protocol 2, plugin packages 0.2.0): it hands the frame the accounts the caller may use and their permissions, and which one the plugin works in is the plugin's own state. For plugin authors: `context.selectedAccount()`, `context.selectAccount()` and the `contextChanged` event are gone; `context.permissions()` is `context.permissionsFor(accountNumber)` and `context.hasPermission(p)` is `context.hasPermission(p, accountNumber)`; `accessChanged` is the one account event; `?account=` links are no longer read. **Every plugin must be rebuilt against the 0.2.0 plugin packages**; a page built on 0.1.x shows "built for a different version of the portal". The reference plugin shows the new shape. Switching between two entries of one plugin (`index.html#/user`, `#/admin`) and the "Try again" / "Reload it" buttons now really reload the frame.
59
+ - Private network, opt-in: `network.mirrorImages` (hub) and the `mirrorImages` prop on `ConnectorStack` / `TailnetConnector` run the control servers and connectors from a copy of their image in the account's own registry, made at deploy, so a task restart no longer depends on GitHub's registry being reachable. Off by default; turning it on restarts each control server and connector once, and needs `npm install cdk-ecr-deployment` in the deployment project (an optional peer: nothing extra is installed otherwise).
60
+ - Web app: a tab left open across more than one deploy could stop responding to a click on a page it had already recovered once; the click did nothing until a manual refresh. The one-reload-per-page guard from 0.1.18 was never cleared; it now clears on the next successful navigation.
61
+ - Web app: the side panel (a resource's or user's details) now shrinks to the room the window leaves the page, down to its own minimum. A width dragged wide on a large screen carried over unshrunk, and on the admin Network page, whose table needs 860px, the panel went off the right edge.
62
+ - Web app: being connected to a network where nothing is granted to you now says so. The network's bar chip and the sidebar pill turn amber with "nothing granted", and the empty state explains that every address is blocked and staying connected changes nothing. The connection itself is untouched; a new grant flips it back on the next sync.
63
+ - Config: `branding.logoFile` takes a local image file (`.svg`, `.png`, `.jpg`, `.webp`, `.gif`, up to about 47 KB) and embeds it in the web app's config at synth, so a logo no longer needs a public URL. Not together with `logoUrl`.
64
+ - Every Lambda function the package deploys carries a description saying what it is for.
65
+ - `NetworkStack` no longer prints `CfnResource#addDependency is deprecated` on every synth and deploy.
66
+ - Versioning from this release on: bug fixes raise the patch number, a new feature raises the minor, a breaking change raises the major.
67
+ - Releases: the four plugin packages (`@fntio/infra-client-plugin-sdk`, `-cdk`, `-ui`, `-example`) are attached to every GitHub Release beside the core tarball, so a plugin author downloads them instead of cloning the repository and running `npm run pack:plugins`. The v0.1.18 Release carries them too (uploaded after the fact, built from the same source). The example README's install step and the Releasing wiki page describe the new path.
68
+ - **Upgrade order: deploy 0.1.18 first.** DataStack no longer creates the access-model-v1 `Grants` and `ResourceGrants` tables (unread since 2026-08-17) or exports their names and ARNs. A deployment whose CredsStack or NetworkStack still imports those exports (every version before 0.1.18) fails this DataStack deploy with "export in use", so upgrade through 0.1.18 and deploy its `NetworkStack` by hand before this version. Deployments with `prod: true` keep both tables as orphans (RETAIN): delete them in the DynamoDB console afterwards, turning off deletion protection first; non-prod deployments lose them with the deploy. The one-off v1→v2 migration script is gone with them.
69
+
70
+ ## 0.1.18 — 2026-10-01
71
+
72
+ - Access correctness: approving a yearly review now renews the standing grant in place and refuses (409) when that grant was revoked after the review was raised — it used to write a fresh grant, so a revoked role came back through the review queue; revoking a grant directly now closes the open review for it, a duration on a review approval is refused (it never applied), and a denial whose revoke fails no longer leaves a DENIED row beside live access. Vending a grant whose role is no longer in the catalog is DENIED with reason `NO_ROLE` instead of assuming a conventional ARN.
73
+ - Admin API hardening: every `:userId` must be a Cognito sub or service-user client id (an email used to slip past the last-admin and self-delete guards); `admin` must be a boolean; account and role free-text fields must be strings with length caps (a stored number in an account name broke every accounts list); the user profile-name override follows the same charset rule as admin-set names.
74
+ - Catalog deletes: role, account and resource deletes revoke grants, drop group bundles and deny the target's open requests and reviews BEFORE the catalog row goes, and can be repeated after a failure (an already-removed role still sweeps its leftovers before the 404); a cascade no longer leaves an empty group. `DELETE /admin/accounts/{id}` answers 409 while the account still has network resources.
75
+ - Offboarding: deleting or demoting a user ends their sessions at once (`AdminUserGlobalSignOut`), and admin routes re-check the admins group once a minute per API container, so an already-issued token cannot keep admin access for the rest of its hour. The API role gains `cognito-idp:AdminGetUser` and `cognito-idp:AdminUserGlobalSignOut` (rides the hub deploy).
76
+ - Deploys: the site's hashed assets upload with a one-year immutable cache and `index.html`/`config.json` with `no-cache` (browsers no longer keep the previous shell for a day after a deploy); the web app reloads when a page's chunk from a pruned build fails to load; the deploy workflow verifies the live bundle matches the build. The cdk-nag gate runs in CI (it had been skipping itself when the frontend was not built).
77
+ - Security headers: app pages send an enforced Content-Security-Policy (self, the region's Cognito API and the hosted-UI domain; it ran report-only on the development deployment first with no violation across the e2e suite); plugin assets get their own enforced policy that allows the portal only. The shell's boot-failure script is allowed by a hash WebStack computes from the index.html it deploys, and the frontend build no longer inlines critical CSS (its stylesheet link carried an inline `onload`). A plugin that loads anything from a third-party host has never worked under the plugin policy and does not work under the app policy either. The scripts Cognito client (`/.well-known/infra-client`) no longer reveals whether an email address has an account.
78
+ - Web app: the admin role, resource and group panels reload their lists when the panel is pointed at another row (they showed the previous row's holders); the Get-credentials dialog is re-created when a toast or deep link switches its role; a sign-out that raced the hourly token renewal no longer signs the user back in; a plugin page keeps its session across a transient renewal failure; the sign-up link works seconds after creating a user (consistent lookup); a refused last-admin delete no longer ends that admin's dev shares first.
79
+ - Desktop (needs the next desktop build): the credentials writer never replaces or deletes a profile it did not write (a role renamed to `default` used to overwrite the user's long-lived keys), a settings file that is not a list no longer blocks startup, the device key can no longer appear in a CLI error detail, Electron 44 with fuses set. `cd desktop && npm test` runs the new unit tests.
80
+ - API runtime: the handler runs at 1024 MB; the console federation call and the STS/KMS clients have a 4 s deadline so a hang cannot skip the vend's audit row; the vend reads access strongly consistent; the legacy Grants/ResourceGrants tables (access model v1, unread since 2026-08-17) are no longer referenced by CredsStack or NetworkStack at all (no env, no IAM, no output). DataStack still deploys them and keeps exporting their names and ARNs, because CloudFormation refuses to drop an export while a deployed stack imports it and DataStack deploys first. **The next release removes the tables, so deploy this version before upgrading past it** (a manual `NetworkStack` deploy counts). Deployments with `prod: true` keep the tables as orphans (RETAIN); delete them by hand afterwards (turn off deletion protection first).
81
+ - Desktop tray: the credential expiry alarms no longer fire all at once when the Mac wakes from sleep. An alarm that comes due while the machine is asleep waits 30 seconds after the wake, so the app can renew the credentials or, past the 12-hour sign-in limit, log out and purge them first; only credentials still on file and still expired are then reported, and "expires in 1 minute" is never said of something already expired. Needs the next desktop build.
82
+
83
+ ## 0.1.17 — 2026-09-29
84
+
85
+ - Desktop keep-fresh: a starred role's credential renewal now survives the machine sleeping — on wake, reconnect or window focus the app re-vends whatever is due and re-arms the other timers from the wall clock — and a renewal that fails (offline, a 5xx, a timeout) is retried on a doubling delay from 30 s to 5 min instead of stopping silently, with one toast after the second failure. A revoked grant or a dead session still ends that role's loop. Before this, one missed renewal after a laptop sleep left the profile expired until "Renew all now".
86
+ - Activity log: the Activity page now records every action that changes or uses access, not only vends — grants and revokes of roles, network resources, plugin permissions and dev shares (direct, bulk or through a group), group membership and bundle edits, requests raised, approved and denied, yearly reviews raised and lapsed, expiries, catalog changes to accounts, roles, resources and groups, user invites, deletions, admin changes, MFA resets and the service-user lifecycle, refused admin and plugin calls, and — from the reconciler's five-minute pass — VPN sessions per site, firewall rules written and connectors pruned. Each row names who did it (people, service users, or `system:<job>`), what, to whom or what, the outcome and why; group, cascade and bulk changes also write per-user "gained / lost" rows, hidden by default. The page filters by a custom date-time range as well as the 7/30/90-day presets, by type, outcome, account, actor, person and the specific role, resource, group, site, plugin, share or service user, loads older rows past a full page, and every user, role, resource and group panel links to its history. The Users page gains an **Access report** CSV of who can reach what right now. `GET /admin/audit` takes the new filters (`from`, `to`, `before`, `user`, `actor`, `category`, `outcome`, `account`, `group`, `target`, `derived`) and returns `ActivityPage`; `GET /admin/access-report` is new. Config: `audit.retentionDays` (default 400). Older vend rows are read in the new shape; nothing is migrated. Deploy notes in the package README's upgrade section (one new table index, a `NetworkStack` redeploy for the VPN rows).
87
+ - Activity log follow-ups: an account, role, resource or branding save that changes nothing no longer writes an update row; a revoke row whose access continues through a group names the group ("still held through group Platform") instead of a generic note; expired grants are logged by the expiry sweep (`system:expiry`) rather than under the yearly review; branding edits file under Catalog instead of Users & admins.
88
+ - Pop-up notifications: the bell's items can raise system notifications when the app is behind another window — in the desktop app always, in a browser once allowed from the new **Notifications** entry in the user menu, which also has a switch per kind. Two bell gaps close with it: access granted without a request (a direct grant, a group that now bundles it, a port shared with you) is now a bell item, and expiring or expired access pops up at the same threshold the bell already used. `GET/PUT /preferences/notifications` store the choices server-side; notices from `GET /notifications/revocations` carry `change: GRANTED | REVOKED`. Desktop: the shell now declares its Windows AppUserModelID (toasts never showed on Windows without it), clicking a notification opens the right page, resolved items close their toast, the bell polls immediately after wake from sleep, and an unexpected VPN drop raises a local notification. Needs the next desktop build for the desktop-side changes; the web app works with older shells.
89
+ - Setup band (pull request #28): the setup checklist is pinned above every page as a band until the required steps are done, with the progress shown in the user menu, and it refreshes only when the page changes; the collapsed sidebar rail is tidied; the theme wizard's Reset buttons restore the deployment's configured branding rather than built-in defaults, and its border-strength seed is painted on open so Save persists what the admin saw; the Users bulk-action bar now appears only once a row is selected. The Bold and Solid icon styles no longer draw half strokes for several icons, and the Bold Operate icon keeps its crossed tools.
90
+ - Accounts order: **Arrange order** on the admin Accounts tab lets an admin drag accounts, and the roles inside each, into the order every page then shows to every user (the arrows on each row do the same from the keyboard); accounts and roles without a position list after the ordered ones, by name (accounts sorted by number before). New route `PUT /admin/accounts/order` taking `accounts: [{ accountNumber, roles? }]`; each save records an `account.reorder` activity row.
91
+ - User panels: a **History** tab lists the person's activity in place (last 90 days, older on demand), with **Open in Activity** for the full filters; the link that left the page is gone.
92
+ - Sign-up link: Create user now opens the new user's panel straight away (grants live there), and the invitation email can be switched off on the form (`sendEmail: false`; the user still gets a temporary password). Only then does the API answer with the `/login#inv=` link the email would otherwise carry, and the panel shows it with the app's address to copy; while the email goes out, no link leaves the server. A pending user's panel gains **Copy sign-up link**, which mints a fresh temporary password and so retires the emailed one; **Send invite email** (formerly Resend invite, which read wrong after a link-only invite) retires a copied link in turn. New route `POST /admin/users/{userId}/signup-link`; `POST /admin/users` and `/admin/users/bulk` take `sendEmail` and return `signupLink` only when it is `false`. Nothing is stored. Needs the CredsStack deploy this version brings (the API learns its own address and may set temporary passwords).
93
+ - Desktop: the tab label, the tray's groups and the saved registry entry follow a project rename in the theme wizard right away, and a VPN tunnel left up by a previous run (a crash, a reboot, a quit that lost the logout race) is dropped at start when auto-reconnect is off instead of being shown as Connected. Both need the next desktop build.
94
+
95
+ ## 0.1.16 — 2026-09-21
96
+
97
+ - Theme wizard (issue #27): the preview picker offers the real Network, Users and Groups pages with sample data, and a "Preview as" toggle shows an admin's screens or a member's; each page loads the first time it is shown and follows every knob live.
98
+ - Several connector VPCs per account (issue #17): `connectorVpcs.<account>` takes a list, every entry but one carrying a `name` that suffixes the connector's hostname (`connector-<account>-<name>`), its stack id (`Connector-<account>-<name>`) and its SG-manager and resolver function names. The reconciler asks every VPC's manager and resolver of an account; a manager now answers `other-vpc` for a security group outside its VPC instead of failing on it (the Network page shows "SG outside connector VPCs"), and the admin Network map draws one connector per declared VPC. A single VPC per account is unchanged. `GET /admin/network` returns `connectorVpcs.<account>` as a list. Deploy the hub's NetworkStack first; when an account gains a second VPC, redeploy its existing ConnectorStack too (see the package README's upgrade note).
99
+
100
+ ## 0.1.15 — 2026-09-21
101
+
102
+ - The Release now carries a Windows installer, `infra-client-<version>-x64.exe`, next to the macOS one. It is unsigned for now: the first launch shows SmartScreen's "Windows protected your PC" screen, and **More info**, then **Run anyway** gets past it once per downloaded file. Nothing in the package changed.
103
+ - Plugin SDK: the sample session in `@fntio/infra-client-plugin-sdk/fixtures` expires an hour after it is loaded instead of at a fixed instant, which passed on 2026-09-21 and made every suite built on it ask the host for an "expiring" refresh.
104
+
105
+ ## 0.1.14 — 2026-09-17
106
+
107
+ - Customer plugins (`plugins.enabled`, off by default): a deployment can bolt independently built plugins onto the portal — a frontend shown in an iframe on the portal's own origin, and Lambda routes behind a shared API Gateway authorizer. Two permission levels per plugin, `user` and `admin`, granted per account from the same Users and Groups screens as roles, with `admin` including `user` only where the plugin declares it. Plugin entries join the sidebar after the core items of their section, and a plugin-admin entry opens Administration for someone holding no core admin rights. New routes `GET /plugins`, `GET /admin/plugins`, `GET/PUT/DELETE /admin/plugins/{pluginId}/accounts/{accountNumber}/grants`, `GET /admin/users/{userId}/plugin-grants`, `GET /admin/groups/{groupId}/plugin-grants`; revocation notices gain kind `PLUGIN`. Grants live in the existing access table and join the yearly review lifecycle. Registering a plugin needs its frontend built before synth. See the Plugins section of the package README.
108
+ - Three new packages ship alongside: `@fntio/infra-client-plugin-sdk` (contracts, the iframe SDK and the host adapter), `@fntio/infra-client-plugin-cdk` (`definePlugin`), and `@fntio/infra-client-plugin-ui` (theme helpers and an Angular HTTP interceptor). Two agent skills ship inside them, for building a plugin and for integrating one into a CDK application that already exists.
109
+ - With `loginMethods.federation` configured, the invite email tells the person to use the provider's sign-in button and that no password is needed; the set-password link stays underneath for local users.
110
+ - Invites past Cognito's built-in daily email cap (about 50 a day per AWS account without the `email` block) now fail with a message that says so and points at the `email` block or the SES quota, instead of Cognito's wording; the user is not created either way.
111
+ - Releases are GitHub Releases from this version on: the tag `v<version>` carries the package tarball and the signed macOS desktop installer, and the desktop app now shares the package's version number (it was 0.1.3).
112
+
113
+ ## 0.1.13 — 2026-09-15
114
+
115
+ - Accounts page: the Console button shows a spinner and refuses a second click while the sign-in link is being created; each extra click vended another set of credentials and opened another tab (issue #13).
116
+ - Connector VPCs outside the hub's region (issue #15): `connectorVpcs.<account>.region` deploys `ConnectorStack` there and keeps grant-driven security-group rules and DNS re-resolution working for that account. The hub gains a relay function outside its VPC (a foreign-region function is unreachable from inside it) on its own invoke-only role, which such a connector's SG-manager and resolver trust; the connector's key-mint step now runs in the hub's region. Needs a manual `NetworkStack` deploy (it adds the relay role on every hub); the next `ConnectorStack` deploy rolls the connector task once. Bootstrap a foreign region before deploying into it. Without the field nothing else changes.
117
+
118
+ ## 0.1.12 — 2026-09-15
119
+
120
+ - Federated sign-in (`loginMethods.federation`, off by default): one OIDC provider per entry (Entra ID first), offered on the login page next to the local methods on a dedicated app client that alone may write the mapped claims. Nobody signs in without an invite — a first federated sign-in is linked to the invited user with that email, an unknown email is refused — and the mapped claims ride the ID token into the admin directory and audit rows. The provider's asserted email is the trust assumption; see the Security Posture and Runbooks (Users) wiki pages.
121
+ - Session end: at the 12 h wall the desktop app could stay signed out on the page it was on, showing the API's `Missing bearer token`; it now lands on the sign-in page (before the desktop purges credentials and drops the VPN), a 401 that outlives the session reads "Your session has ended", and the sign-in page no longer polls the API.
122
+ - Desktop 0.1.3: the bridge refuses calls from any page that is not the backend's own (the SSO hop keeps identity-provider pages in-view); `npm run dist` starts electron-builder on Windows.
123
+ - Network page: the Share a local port button's icon is readable at its size.
124
+ - Dev shares (`network.devShares`, off by default): a user shares one local port on their laptop with named users or groups on the same site for a bounded time; the desktop app runs `tailscale serve`, the reconciler writes a per-grantee rule to the owner's device, and the API kicks a reconciler pass on create/stop. New routes `GET/POST /network/shares`, `GET /network/shares/directory`, `DELETE /network/shares/{shareId}`, `GET /admin/network/shares`; revocation notices gain kind `SHARE` and via `OWNER`; the access table gets a `ttl` attribute (share rows only) and group rows now honor an `expiresAt`. Needs a manual `NetworkStack` deploy (reconciler rules + reserved concurrency). See the Private Network wiki page.
125
+
126
+ ## 0.1.11 — 2026-09-09
127
+
128
+ - Per-token API rate limit: the new `waf.perTokenRateLimit` (default 2000 requests per bearer token per 5 minutes) on the API web ACL caps a runaway or leaked token. See the Configuration Reference wiki page.
129
+ - The OpenAPI spec's version now follows the package version.
130
+
131
+ ## 0.1.10 — 2026-09-09
132
+
133
+ - The portal API has an OpenAPI 3.1 contract, shipped as `openapi.yaml` in the package root. Its route inventory is drift-tested against the mounted routes, and a Postman collection is generated from the spec.
134
+ - Desktop 0.1.2: `infraclient://` deep links, and the login page offers "Open in the desktop app".
135
+
136
+ ## 0.1.9 — 2026-09-09
137
+
138
+ - Login: "no passkey in this browser or app" is now told apart from a dismissed passkey prompt.
139
+ - Desktop 0.1.1: on macOS, the app launched from the Dock never actually logged the VPN client in while reporting success; the Tailscale CLI is now invoked correctly.
140
+ - Desktop build fixes: signed artifacts were labelled as unsigned, and the macOS build runner is pinned.
141
+
142
+ ## 0.1.8 — 2026-09-08
143
+
144
+ - The credential issuer is served as static files from a private S3 bucket behind CloudFront on the same hostname, instead of an API Gateway HTTP API. Signing keys and every workload account's trust are unchanged. The hub account needs `us-east-1` bootstrapped; see the 0.1.8 notes in the Deploy and Upgrade wiki page.
145
+ - Root and package READMEs rewritten for consumers; stale asset paths fixed.
146
+
147
+ ## 0.1.7 — 2026-09-08
148
+
149
+ - Security Hub AWS Foundational Security Best Practices pass: `prod: true` now drives further hardening (load balancer, VPC, EFS), the API stage logs its access, and the MFA requirement for password-only pools is an explicit config choice (`loginMethods.mfa`). See the Security Posture wiki page.
150
+
151
+ ## 0.1.6 — 2026-09-08
152
+
153
+ - The deploy-side Security Hub suppression added in 0.1.5 is reverted: automation rules are administrator-only, so accepted findings are suppressed by hand instead.
154
+
155
+ ## 0.1.5 — 2026-09-08
156
+
157
+ - WAF web ACLs on CloudFront and the API stage, on by default with a per-IP rate limit (`waf` block).
158
+ - Three by-design Security Hub findings suppressed from the deploy (reverted in 0.1.6).
159
+ - Credential countdowns show hours (11:58:03, not 718:03).
160
+ - Failed credential vends reach the Activity page as a FAILED outcome; the Activity page gains an outcome filter; tables get sticky headers.
161
+ - VPN: per-site in-VPC resolvers heal cross-account DNS drift.
162
+ - Runbooks for signing-key rotation and restore from backup; upgrade skew notes (deploy hub stacks together, refresh stale bundles).
163
+ - Desktop 0.1.0: macOS code signing and notarization with a manual build workflow, Touch ID passkeys in signed builds, and the provisioning profile embedded so the passkey entitlement no longer kills the app at launch. A self-update mechanism was added and backed out in the same window.
164
+
165
+ ## 0.1.4 — 2026-08-31
166
+
167
+ - `githubRepo` removed from `ProjectConfig`. Only the internal deploy pipeline read it, so consumers without a GitHub pipeline no longer need a dummy value.
168
+
169
+ ## 0.1.3 — 2026-08-31
170
+
171
+ - `CredsStack` ships the API Gateway account CloudWatch role. Consumer deployments synthesizing with the `@aws-cdk/aws-apigateway:disableCloudWatchRole` feature flag failed with "CloudWatch Logs role ARN must be set in account settings"; this fixes it.
172
+ - VPN: the deploy mints each site's control-plane admin user and API key itself, and prunes offline connector predecessors behind a live replacement. The only manual step left is deleting a removed site's secret.
173
+ - VPN opt-in: without a site, the Network pages are hidden and resource registration is refused.
174
+ - Production hardening: identity resources retained on teardown, earlier failures at synth, and `issuer.keyVersions` / `signerVersion` default to `[1]` / `1`.
175
+ - Setup checklist reports the configured email sender; invite lists can be uploaded; an icon-style setting with three bundled icon sets; toolbars and column headers stay pinned on the Users, Service users and Groups tables.
176
+
177
+ ## 0.1.2 — 2026-08-26
178
+
179
+ - 0.1.1 had already been minted for a consumer deployment from its own deployment repository, so the setup-checklist build ships as 0.1.2.
180
+ - Setup checklist edge hardening; an accidentally committed pack tarball removed from the repository.
181
+
182
+ ## 0.1.1 — 2026-08-26
183
+
184
+ - First-admin setup checklist: a card at the top of the home page for admins whose items check themselves off from live state, reopenable from the sidebar user menu (`GET /admin/setup`).
185
+ - First admin from config: the `firstAdmin` block creates the admins-group account during the deploy and reports `FirstAdminInviteSent`.
186
+ - Setup hardening: more synth-time validation, and placeholders shaped like real addresses are refused.
187
+ - Session length end to end (the 12-hour role cap), theme and login fixes.
188
+ - Desktop: quitting logs out site tunnels a crashed run left behind.
189
+ - Truthful MFA messaging and a flow-neutral verification email.
190
+
191
+ ## 0.1.0 — 2026-08-25
192
+
193
+ First packaged build. The repository became npm workspaces with `@fntio/infra-client` as the package and the internal deployment as a separate app, and `npm pack` yields a working beta tarball: compiled `dist/`, prebundled Lambdas, the built web app, runtime dependencies as `vendor_modules`. The same day brought the consumer-grade construct API (the hub locator, `TargetAccountStack`, `ConnectorStack`, the principal factory, and the `samples/` apps) and consumer-facing docs. Product features that landed before this point predate versioning and are not listed here.
package/LICENSE ADDED
@@ -0,0 +1,93 @@
1
+ Elastic License 2.0
2
+
3
+ URL: https://www.elastic.co/licensing/elastic-license
4
+
5
+ ## Acceptance
6
+
7
+ By using the software, you agree to all of the terms and conditions below.
8
+
9
+ ## Copyright License
10
+
11
+ The licensor grants you a non-exclusive, royalty-free, worldwide,
12
+ non-sublicensable, non-transferable license to use, copy, distribute, make
13
+ available, and prepare derivative works of the software, in each case subject to
14
+ the limitations and conditions below.
15
+
16
+ ## Limitations
17
+
18
+ You may not provide the software to third parties as a hosted or managed
19
+ service, where the service provides users with access to any substantial set of
20
+ the features or functionality of the software.
21
+
22
+ You may not move, change, disable, or circumvent the license key functionality
23
+ in the software, and you may not remove or obscure any functionality in the
24
+ software that is protected by the license key.
25
+
26
+ You may not alter, remove, or obscure any licensing, copyright, or other notices
27
+ of the licensor in the software. Any use of the licensor’s trademarks is subject
28
+ to applicable law.
29
+
30
+ ## Patents
31
+
32
+ The licensor grants you a license, under any patent claims the licensor can
33
+ license, or becomes able to license, to make, have made, use, sell, offer for
34
+ sale, import and have imported the software, in each case subject to the
35
+ limitations and conditions in this license. This license does not cover any
36
+ patent claims that you cause to be infringed by modifications or additions to
37
+ the software. If you or your company make any written claim that the software
38
+ infringes or contributes to infringement of any patent, your patent license for
39
+ the software granted under these terms ends immediately. If your company makes
40
+ such a claim, your patent license ends immediately for work on behalf of your
41
+ company.
42
+
43
+ ## Notices
44
+
45
+ You must ensure that anyone who gets a copy of any part of the software from you
46
+ also gets a copy of these terms.
47
+
48
+ If you modify the software, you must include in any modified copies of the
49
+ software prominent notices stating that you have modified the software.
50
+
51
+ ## No Other Rights
52
+
53
+ These terms do not imply any licenses other than those expressly granted in
54
+ these terms.
55
+
56
+ ## Termination
57
+
58
+ If you use the software in violation of these terms, such use is not licensed,
59
+ and your licenses will automatically terminate. If the licensor provides you
60
+ with a notice of your violation, and you cease all violation of this license no
61
+ later than 30 days after you receive that notice, your licenses will be
62
+ reinstated retroactively. However, if you violate these terms after such
63
+ reinstatement, any additional violation of these terms will cause your licenses
64
+ to terminate automatically and permanently.
65
+
66
+ ## No Liability
67
+
68
+ *As far as the law allows, the software comes as is, without any warranty or
69
+ condition, and the licensor will not be liable to you for any damages arising
70
+ out of these terms or the use or nature of the software, under any kind of
71
+ legal claim.*
72
+
73
+ ## Definitions
74
+
75
+ The **licensor** is the entity offering these terms, and the **software** is the
76
+ software the licensor makes available under these terms, including any portion
77
+ of it.
78
+
79
+ **you** refers to the individual or entity agreeing to these terms.
80
+
81
+ **your company** is any legal entity, sole proprietorship, or other kind of
82
+ organization that you work for, plus all organizations that have control over,
83
+ are under the control of, or are under common control with that
84
+ organization. **control** means ownership of substantially all the assets of an
85
+ entity, or the power to direct its management and policies by vote, contract, or
86
+ otherwise. Control can be direct or indirect.
87
+
88
+ **your licenses** are all the licenses granted to you for the software under
89
+ these terms.
90
+
91
+ **use** means anything you do with the software requiring one of your licenses.
92
+
93
+ **trademark** means trademarks, service marks, and similar rights.