@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.
- package/CHANGELOG.md +193 -0
- package/LICENSE +93 -0
- package/README.md +875 -2
- package/assets/acl-reconciler/index.js +1604 -0
- package/assets/api/index.js +9857 -0
- package/assets/api/package.json +9 -0
- package/assets/api/vendor_modules/.package-lock.json +857 -0
- package/assets/api/vendor_modules/accepts/HISTORY.md +243 -0
- package/assets/api/vendor_modules/accepts/LICENSE +23 -0
- package/assets/api/vendor_modules/accepts/README.md +140 -0
- package/assets/api/vendor_modules/accepts/index.js +238 -0
- package/assets/api/vendor_modules/accepts/package.json +47 -0
- package/assets/api/vendor_modules/array-flatten/LICENSE +21 -0
- package/assets/api/vendor_modules/array-flatten/README.md +43 -0
- package/assets/api/vendor_modules/array-flatten/array-flatten.js +64 -0
- package/assets/api/vendor_modules/array-flatten/package.json +39 -0
- package/assets/api/vendor_modules/aws-jwt-verify/LICENSE +175 -0
- package/assets/api/vendor_modules/aws-jwt-verify/README.md +1033 -0
- package/assets/api/vendor_modules/aws-jwt-verify/asn1.d.ts +20 -0
- package/assets/api/vendor_modules/aws-jwt-verify/assert.d.ts +41 -0
- package/assets/api/vendor_modules/aws-jwt-verify/cognito-verifier.d.ts +183 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/asn1.js +301 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/assert.js +108 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/cognito-verifier.js +158 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/error.js +131 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-common.js +29 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-node.js +89 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https.js +52 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/index.js +9 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwk.js +221 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-model.js +10 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-rsa.js +397 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt.js +161 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-node.js +48 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-web.js +78 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat.js +11 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/package.json +1 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/safe-json-parse.js +34 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/typing-util.js +6 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/asn1.js +296 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/assert.js +101 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/cognito-verifier.js +153 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/error.js +101 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-common.js +25 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-node.js +85 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https.js +48 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/index.js +4 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwk.js +208 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-model.js +7 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-rsa.js +389 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt.js +156 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-node.js +45 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-web.js +75 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat.js +10 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/package.json +1 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/safe-json-parse.js +29 -0
- package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/typing-util.js +5 -0
- package/assets/api/vendor_modules/aws-jwt-verify/error.d.ts +108 -0
- package/assets/api/vendor_modules/aws-jwt-verify/https-common.d.ts +9 -0
- package/assets/api/vendor_modules/aws-jwt-verify/https-node.d.ts +20 -0
- package/assets/api/vendor_modules/aws-jwt-verify/https.d.ts +35 -0
- package/assets/api/vendor_modules/aws-jwt-verify/index.d.ts +2 -0
- package/assets/api/vendor_modules/aws-jwt-verify/jwk.d.ts +76 -0
- package/assets/api/vendor_modules/aws-jwt-verify/jwt-model.d.ts +78 -0
- package/assets/api/vendor_modules/aws-jwt-verify/jwt-rsa.d.ts +348 -0
- package/assets/api/vendor_modules/aws-jwt-verify/jwt.d.ts +51 -0
- package/assets/api/vendor_modules/aws-jwt-verify/package.json +136 -0
- package/assets/api/vendor_modules/aws-jwt-verify/safe-json-parse.d.ts +18 -0
- package/assets/api/vendor_modules/aws-jwt-verify/typing-util.d.ts +38 -0
- package/assets/api/vendor_modules/body-parser/HISTORY.md +703 -0
- package/assets/api/vendor_modules/body-parser/LICENSE +23 -0
- package/assets/api/vendor_modules/body-parser/README.md +476 -0
- package/assets/api/vendor_modules/body-parser/index.js +156 -0
- package/assets/api/vendor_modules/body-parser/lib/read.js +205 -0
- package/assets/api/vendor_modules/body-parser/lib/types/json.js +247 -0
- package/assets/api/vendor_modules/body-parser/lib/types/raw.js +105 -0
- package/assets/api/vendor_modules/body-parser/lib/types/text.js +125 -0
- package/assets/api/vendor_modules/body-parser/lib/types/urlencoded.js +303 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/.editorconfig +46 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/SECURITY.md +11 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/THREAT_MODEL.md +80 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/.nycrc +13 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/CHANGELOG.md +872 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/LICENSE.md +29 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/README.md +804 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/dist/qs.js +141 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/eslint.config.mjs +57 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/formats.js +23 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/index.js +11 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/parse.js +503 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/stringify.js +378 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/utils.js +512 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/package.json +95 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/test/empty-keys-cases.js +267 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/test/parse.js +2296 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/test/stringify.js +1995 -0
- package/assets/api/vendor_modules/body-parser/node_modules/qs/test/utils.js +822 -0
- package/assets/api/vendor_modules/body-parser/package.json +55 -0
- package/assets/api/vendor_modules/bytes/History.md +97 -0
- package/assets/api/vendor_modules/bytes/LICENSE +23 -0
- package/assets/api/vendor_modules/bytes/Readme.md +152 -0
- package/assets/api/vendor_modules/bytes/index.js +170 -0
- package/assets/api/vendor_modules/bytes/package.json +42 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/.eslintrc +17 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/.nycrc +9 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/LICENSE +21 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/README.md +62 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.js +10 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/index.d.ts +64 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/index.js +15 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/package.json +85 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/test/index.js +63 -0
- package/assets/api/vendor_modules/call-bind-apply-helpers/tsconfig.json +9 -0
- package/assets/api/vendor_modules/call-bound/.eslintrc +13 -0
- package/assets/api/vendor_modules/call-bound/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/call-bound/.nycrc +9 -0
- package/assets/api/vendor_modules/call-bound/CHANGELOG.md +42 -0
- package/assets/api/vendor_modules/call-bound/LICENSE +21 -0
- package/assets/api/vendor_modules/call-bound/README.md +53 -0
- package/assets/api/vendor_modules/call-bound/index.d.ts +94 -0
- package/assets/api/vendor_modules/call-bound/index.js +19 -0
- package/assets/api/vendor_modules/call-bound/package.json +99 -0
- package/assets/api/vendor_modules/call-bound/test/index.js +61 -0
- package/assets/api/vendor_modules/call-bound/tsconfig.json +10 -0
- package/assets/api/vendor_modules/content-disposition/HISTORY.md +60 -0
- package/assets/api/vendor_modules/content-disposition/LICENSE +22 -0
- package/assets/api/vendor_modules/content-disposition/README.md +142 -0
- package/assets/api/vendor_modules/content-disposition/index.js +458 -0
- package/assets/api/vendor_modules/content-disposition/package.json +44 -0
- package/assets/api/vendor_modules/content-type/HISTORY.md +29 -0
- package/assets/api/vendor_modules/content-type/LICENSE +22 -0
- package/assets/api/vendor_modules/content-type/README.md +94 -0
- package/assets/api/vendor_modules/content-type/index.js +225 -0
- package/assets/api/vendor_modules/content-type/package.json +42 -0
- package/assets/api/vendor_modules/cookie/LICENSE +24 -0
- package/assets/api/vendor_modules/cookie/README.md +317 -0
- package/assets/api/vendor_modules/cookie/SECURITY.md +25 -0
- package/assets/api/vendor_modules/cookie/index.js +335 -0
- package/assets/api/vendor_modules/cookie/package.json +44 -0
- package/assets/api/vendor_modules/cookie-signature/History.md +42 -0
- package/assets/api/vendor_modules/cookie-signature/Readme.md +42 -0
- package/assets/api/vendor_modules/cookie-signature/index.js +51 -0
- package/assets/api/vendor_modules/cookie-signature/package.json +18 -0
- package/assets/api/vendor_modules/debug/.coveralls.yml +1 -0
- package/assets/api/vendor_modules/debug/.eslintrc +11 -0
- package/assets/api/vendor_modules/debug/.travis.yml +14 -0
- package/assets/api/vendor_modules/debug/CHANGELOG.md +362 -0
- package/assets/api/vendor_modules/debug/LICENSE +19 -0
- package/assets/api/vendor_modules/debug/Makefile +50 -0
- package/assets/api/vendor_modules/debug/README.md +312 -0
- package/assets/api/vendor_modules/debug/component.json +19 -0
- package/assets/api/vendor_modules/debug/karma.conf.js +70 -0
- package/assets/api/vendor_modules/debug/node.js +1 -0
- package/assets/api/vendor_modules/debug/package.json +49 -0
- package/assets/api/vendor_modules/debug/src/browser.js +185 -0
- package/assets/api/vendor_modules/debug/src/debug.js +202 -0
- package/assets/api/vendor_modules/debug/src/index.js +10 -0
- package/assets/api/vendor_modules/debug/src/inspector-log.js +15 -0
- package/assets/api/vendor_modules/debug/src/node.js +248 -0
- package/assets/api/vendor_modules/depd/History.md +103 -0
- package/assets/api/vendor_modules/depd/LICENSE +22 -0
- package/assets/api/vendor_modules/depd/Readme.md +280 -0
- package/assets/api/vendor_modules/depd/index.js +538 -0
- package/assets/api/vendor_modules/depd/lib/browser/index.js +77 -0
- package/assets/api/vendor_modules/depd/package.json +45 -0
- package/assets/api/vendor_modules/destroy/LICENSE +23 -0
- package/assets/api/vendor_modules/destroy/README.md +63 -0
- package/assets/api/vendor_modules/destroy/index.js +209 -0
- package/assets/api/vendor_modules/destroy/package.json +48 -0
- package/assets/api/vendor_modules/dunder-proto/.eslintrc +5 -0
- package/assets/api/vendor_modules/dunder-proto/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/dunder-proto/.nycrc +13 -0
- package/assets/api/vendor_modules/dunder-proto/CHANGELOG.md +24 -0
- package/assets/api/vendor_modules/dunder-proto/LICENSE +21 -0
- package/assets/api/vendor_modules/dunder-proto/README.md +54 -0
- package/assets/api/vendor_modules/dunder-proto/get.d.ts +5 -0
- package/assets/api/vendor_modules/dunder-proto/get.js +30 -0
- package/assets/api/vendor_modules/dunder-proto/package.json +76 -0
- package/assets/api/vendor_modules/dunder-proto/set.d.ts +5 -0
- package/assets/api/vendor_modules/dunder-proto/set.js +35 -0
- package/assets/api/vendor_modules/dunder-proto/test/get.js +34 -0
- package/assets/api/vendor_modules/dunder-proto/test/index.js +4 -0
- package/assets/api/vendor_modules/dunder-proto/test/set.js +50 -0
- package/assets/api/vendor_modules/dunder-proto/tsconfig.json +9 -0
- package/assets/api/vendor_modules/ee-first/LICENSE +22 -0
- package/assets/api/vendor_modules/ee-first/README.md +80 -0
- package/assets/api/vendor_modules/ee-first/index.js +95 -0
- package/assets/api/vendor_modules/ee-first/package.json +29 -0
- package/assets/api/vendor_modules/encodeurl/LICENSE +22 -0
- package/assets/api/vendor_modules/encodeurl/README.md +109 -0
- package/assets/api/vendor_modules/encodeurl/index.js +60 -0
- package/assets/api/vendor_modules/encodeurl/package.json +40 -0
- package/assets/api/vendor_modules/es-define-property/.eslintrc +13 -0
- package/assets/api/vendor_modules/es-define-property/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/es-define-property/.nycrc +9 -0
- package/assets/api/vendor_modules/es-define-property/CHANGELOG.md +29 -0
- package/assets/api/vendor_modules/es-define-property/LICENSE +21 -0
- package/assets/api/vendor_modules/es-define-property/README.md +49 -0
- package/assets/api/vendor_modules/es-define-property/index.d.ts +3 -0
- package/assets/api/vendor_modules/es-define-property/index.js +14 -0
- package/assets/api/vendor_modules/es-define-property/package.json +81 -0
- package/assets/api/vendor_modules/es-define-property/test/index.js +56 -0
- package/assets/api/vendor_modules/es-define-property/tsconfig.json +10 -0
- package/assets/api/vendor_modules/es-errors/.eslintrc +5 -0
- package/assets/api/vendor_modules/es-errors/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/es-errors/CHANGELOG.md +40 -0
- package/assets/api/vendor_modules/es-errors/LICENSE +21 -0
- package/assets/api/vendor_modules/es-errors/README.md +55 -0
- package/assets/api/vendor_modules/es-errors/eval.d.ts +3 -0
- package/assets/api/vendor_modules/es-errors/eval.js +4 -0
- package/assets/api/vendor_modules/es-errors/index.d.ts +3 -0
- package/assets/api/vendor_modules/es-errors/index.js +4 -0
- package/assets/api/vendor_modules/es-errors/package.json +80 -0
- package/assets/api/vendor_modules/es-errors/range.d.ts +3 -0
- package/assets/api/vendor_modules/es-errors/range.js +4 -0
- package/assets/api/vendor_modules/es-errors/ref.d.ts +3 -0
- package/assets/api/vendor_modules/es-errors/ref.js +4 -0
- package/assets/api/vendor_modules/es-errors/syntax.d.ts +3 -0
- package/assets/api/vendor_modules/es-errors/syntax.js +4 -0
- package/assets/api/vendor_modules/es-errors/test/index.js +19 -0
- package/assets/api/vendor_modules/es-errors/tsconfig.json +49 -0
- package/assets/api/vendor_modules/es-errors/type.d.ts +3 -0
- package/assets/api/vendor_modules/es-errors/type.js +4 -0
- package/assets/api/vendor_modules/es-errors/uri.d.ts +3 -0
- package/assets/api/vendor_modules/es-errors/uri.js +4 -0
- package/assets/api/vendor_modules/es-object-atoms/.eslintrc +16 -0
- package/assets/api/vendor_modules/es-object-atoms/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/es-object-atoms/CHANGELOG.md +44 -0
- package/assets/api/vendor_modules/es-object-atoms/LICENSE +21 -0
- package/assets/api/vendor_modules/es-object-atoms/README.md +63 -0
- package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
- package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
- package/assets/api/vendor_modules/es-object-atoms/ToObject.d.ts +7 -0
- package/assets/api/vendor_modules/es-object-atoms/ToObject.js +10 -0
- package/assets/api/vendor_modules/es-object-atoms/index.d.ts +3 -0
- package/assets/api/vendor_modules/es-object-atoms/index.js +4 -0
- package/assets/api/vendor_modules/es-object-atoms/isObject.d.ts +3 -0
- package/assets/api/vendor_modules/es-object-atoms/isObject.js +6 -0
- package/assets/api/vendor_modules/es-object-atoms/package.json +79 -0
- package/assets/api/vendor_modules/es-object-atoms/test/index.js +38 -0
- package/assets/api/vendor_modules/es-object-atoms/tsconfig.json +7 -0
- package/assets/api/vendor_modules/escape-html/LICENSE +24 -0
- package/assets/api/vendor_modules/escape-html/Readme.md +43 -0
- package/assets/api/vendor_modules/escape-html/index.js +78 -0
- package/assets/api/vendor_modules/escape-html/package.json +24 -0
- package/assets/api/vendor_modules/etag/HISTORY.md +83 -0
- package/assets/api/vendor_modules/etag/LICENSE +22 -0
- package/assets/api/vendor_modules/etag/README.md +159 -0
- package/assets/api/vendor_modules/etag/index.js +131 -0
- package/assets/api/vendor_modules/etag/package.json +47 -0
- package/assets/api/vendor_modules/express/History.md +3676 -0
- package/assets/api/vendor_modules/express/LICENSE +24 -0
- package/assets/api/vendor_modules/express/Readme.md +260 -0
- package/assets/api/vendor_modules/express/index.js +11 -0
- package/assets/api/vendor_modules/express/lib/application.js +661 -0
- package/assets/api/vendor_modules/express/lib/express.js +116 -0
- package/assets/api/vendor_modules/express/lib/middleware/init.js +43 -0
- package/assets/api/vendor_modules/express/lib/middleware/query.js +47 -0
- package/assets/api/vendor_modules/express/lib/request.js +525 -0
- package/assets/api/vendor_modules/express/lib/response.js +1179 -0
- package/assets/api/vendor_modules/express/lib/router/index.js +673 -0
- package/assets/api/vendor_modules/express/lib/router/layer.js +181 -0
- package/assets/api/vendor_modules/express/lib/router/route.js +230 -0
- package/assets/api/vendor_modules/express/lib/utils.js +304 -0
- package/assets/api/vendor_modules/express/lib/view.js +182 -0
- package/assets/api/vendor_modules/express/package.json +102 -0
- package/assets/api/vendor_modules/finalhandler/HISTORY.md +216 -0
- package/assets/api/vendor_modules/finalhandler/LICENSE +22 -0
- package/assets/api/vendor_modules/finalhandler/README.md +147 -0
- package/assets/api/vendor_modules/finalhandler/SECURITY.md +25 -0
- package/assets/api/vendor_modules/finalhandler/index.js +341 -0
- package/assets/api/vendor_modules/finalhandler/package.json +47 -0
- package/assets/api/vendor_modules/forwarded/HISTORY.md +21 -0
- package/assets/api/vendor_modules/forwarded/LICENSE +22 -0
- package/assets/api/vendor_modules/forwarded/README.md +57 -0
- package/assets/api/vendor_modules/forwarded/index.js +90 -0
- package/assets/api/vendor_modules/forwarded/package.json +45 -0
- package/assets/api/vendor_modules/fresh/HISTORY.md +70 -0
- package/assets/api/vendor_modules/fresh/LICENSE +23 -0
- package/assets/api/vendor_modules/fresh/README.md +119 -0
- package/assets/api/vendor_modules/fresh/index.js +137 -0
- package/assets/api/vendor_modules/fresh/package.json +46 -0
- package/assets/api/vendor_modules/function-bind/.eslintrc +21 -0
- package/assets/api/vendor_modules/function-bind/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/function-bind/.github/SECURITY.md +3 -0
- package/assets/api/vendor_modules/function-bind/.nycrc +13 -0
- package/assets/api/vendor_modules/function-bind/CHANGELOG.md +136 -0
- package/assets/api/vendor_modules/function-bind/LICENSE +20 -0
- package/assets/api/vendor_modules/function-bind/README.md +46 -0
- package/assets/api/vendor_modules/function-bind/implementation.js +84 -0
- package/assets/api/vendor_modules/function-bind/index.js +5 -0
- package/assets/api/vendor_modules/function-bind/package.json +87 -0
- package/assets/api/vendor_modules/function-bind/test/.eslintrc +9 -0
- package/assets/api/vendor_modules/function-bind/test/index.js +252 -0
- package/assets/api/vendor_modules/get-intrinsic/.eslintrc +42 -0
- package/assets/api/vendor_modules/get-intrinsic/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/get-intrinsic/.nycrc +9 -0
- package/assets/api/vendor_modules/get-intrinsic/CHANGELOG.md +186 -0
- package/assets/api/vendor_modules/get-intrinsic/LICENSE +21 -0
- package/assets/api/vendor_modules/get-intrinsic/README.md +71 -0
- package/assets/api/vendor_modules/get-intrinsic/index.js +378 -0
- package/assets/api/vendor_modules/get-intrinsic/package.json +97 -0
- package/assets/api/vendor_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
- package/assets/api/vendor_modules/get-proto/.eslintrc +10 -0
- package/assets/api/vendor_modules/get-proto/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/get-proto/.nycrc +9 -0
- package/assets/api/vendor_modules/get-proto/CHANGELOG.md +21 -0
- package/assets/api/vendor_modules/get-proto/LICENSE +21 -0
- package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
- package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/assets/api/vendor_modules/get-proto/README.md +50 -0
- package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
- package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/assets/api/vendor_modules/get-proto/index.d.ts +5 -0
- package/assets/api/vendor_modules/get-proto/index.js +27 -0
- package/assets/api/vendor_modules/get-proto/package.json +81 -0
- package/assets/api/vendor_modules/get-proto/test/index.js +68 -0
- package/assets/api/vendor_modules/get-proto/tsconfig.json +9 -0
- package/assets/api/vendor_modules/gopd/.eslintrc +16 -0
- package/assets/api/vendor_modules/gopd/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/gopd/CHANGELOG.md +45 -0
- package/assets/api/vendor_modules/gopd/LICENSE +21 -0
- package/assets/api/vendor_modules/gopd/README.md +40 -0
- package/assets/api/vendor_modules/gopd/gOPD.d.ts +1 -0
- package/assets/api/vendor_modules/gopd/gOPD.js +4 -0
- package/assets/api/vendor_modules/gopd/index.d.ts +5 -0
- package/assets/api/vendor_modules/gopd/index.js +15 -0
- package/assets/api/vendor_modules/gopd/package.json +77 -0
- package/assets/api/vendor_modules/gopd/test/index.js +36 -0
- package/assets/api/vendor_modules/gopd/tsconfig.json +9 -0
- package/assets/api/vendor_modules/has-symbols/.eslintrc +11 -0
- package/assets/api/vendor_modules/has-symbols/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/has-symbols/.nycrc +9 -0
- package/assets/api/vendor_modules/has-symbols/CHANGELOG.md +91 -0
- package/assets/api/vendor_modules/has-symbols/LICENSE +21 -0
- package/assets/api/vendor_modules/has-symbols/README.md +46 -0
- package/assets/api/vendor_modules/has-symbols/index.d.ts +3 -0
- package/assets/api/vendor_modules/has-symbols/index.js +14 -0
- package/assets/api/vendor_modules/has-symbols/package.json +111 -0
- package/assets/api/vendor_modules/has-symbols/shams.d.ts +3 -0
- package/assets/api/vendor_modules/has-symbols/shams.js +45 -0
- package/assets/api/vendor_modules/has-symbols/test/index.js +22 -0
- package/assets/api/vendor_modules/has-symbols/test/shams/core-js.js +29 -0
- package/assets/api/vendor_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
- package/assets/api/vendor_modules/has-symbols/test/tests.js +58 -0
- package/assets/api/vendor_modules/has-symbols/tsconfig.json +10 -0
- package/assets/api/vendor_modules/hasown/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/hasown/.nycrc +13 -0
- package/assets/api/vendor_modules/hasown/CHANGELOG.md +58 -0
- package/assets/api/vendor_modules/hasown/LICENSE +21 -0
- package/assets/api/vendor_modules/hasown/README.md +40 -0
- package/assets/api/vendor_modules/hasown/eslint.config.mjs +6 -0
- package/assets/api/vendor_modules/hasown/index.d.ts +3 -0
- package/assets/api/vendor_modules/hasown/index.js +8 -0
- package/assets/api/vendor_modules/hasown/package.json +91 -0
- package/assets/api/vendor_modules/hasown/tsconfig.json +6 -0
- package/assets/api/vendor_modules/http-errors/HISTORY.md +186 -0
- package/assets/api/vendor_modules/http-errors/LICENSE +23 -0
- package/assets/api/vendor_modules/http-errors/README.md +169 -0
- package/assets/api/vendor_modules/http-errors/index.js +290 -0
- package/assets/api/vendor_modules/http-errors/package.json +54 -0
- package/assets/api/vendor_modules/iconv-lite/Changelog.md +162 -0
- package/assets/api/vendor_modules/iconv-lite/LICENSE +21 -0
- package/assets/api/vendor_modules/iconv-lite/README.md +156 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-data.js +176 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/index.js +22 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/internal.js +188 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data.js +174 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/utf16.js +177 -0
- package/assets/api/vendor_modules/iconv-lite/encodings/utf7.js +290 -0
- package/assets/api/vendor_modules/iconv-lite/lib/bom-handling.js +52 -0
- package/assets/api/vendor_modules/iconv-lite/lib/extend-node.js +217 -0
- package/assets/api/vendor_modules/iconv-lite/lib/index.d.ts +24 -0
- package/assets/api/vendor_modules/iconv-lite/lib/index.js +153 -0
- package/assets/api/vendor_modules/iconv-lite/lib/streams.js +121 -0
- package/assets/api/vendor_modules/iconv-lite/package.json +46 -0
- package/assets/api/vendor_modules/inherits/LICENSE +16 -0
- package/assets/api/vendor_modules/inherits/README.md +42 -0
- package/assets/api/vendor_modules/inherits/inherits.js +9 -0
- package/assets/api/vendor_modules/inherits/inherits_browser.js +27 -0
- package/assets/api/vendor_modules/inherits/package.json +29 -0
- package/assets/api/vendor_modules/ipaddr.js/LICENSE +19 -0
- package/assets/api/vendor_modules/ipaddr.js/README.md +233 -0
- package/assets/api/vendor_modules/ipaddr.js/ipaddr.min.js +1 -0
- package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js +673 -0
- package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
- package/assets/api/vendor_modules/ipaddr.js/package.json +35 -0
- package/assets/api/vendor_modules/math-intrinsics/.eslintrc +16 -0
- package/assets/api/vendor_modules/math-intrinsics/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/math-intrinsics/CHANGELOG.md +24 -0
- package/assets/api/vendor_modules/math-intrinsics/LICENSE +21 -0
- package/assets/api/vendor_modules/math-intrinsics/README.md +50 -0
- package/assets/api/vendor_modules/math-intrinsics/abs.d.ts +1 -0
- package/assets/api/vendor_modules/math-intrinsics/abs.js +4 -0
- package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
- package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
- package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.js +5 -0
- package/assets/api/vendor_modules/math-intrinsics/floor.d.ts +1 -0
- package/assets/api/vendor_modules/math-intrinsics/floor.js +4 -0
- package/assets/api/vendor_modules/math-intrinsics/isFinite.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/isFinite.js +12 -0
- package/assets/api/vendor_modules/math-intrinsics/isInteger.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/isInteger.js +16 -0
- package/assets/api/vendor_modules/math-intrinsics/isNaN.d.ts +1 -0
- package/assets/api/vendor_modules/math-intrinsics/isNaN.js +6 -0
- package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.js +6 -0
- package/assets/api/vendor_modules/math-intrinsics/max.d.ts +1 -0
- package/assets/api/vendor_modules/math-intrinsics/max.js +4 -0
- package/assets/api/vendor_modules/math-intrinsics/min.d.ts +1 -0
- package/assets/api/vendor_modules/math-intrinsics/min.js +4 -0
- package/assets/api/vendor_modules/math-intrinsics/mod.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/mod.js +9 -0
- package/assets/api/vendor_modules/math-intrinsics/package.json +86 -0
- package/assets/api/vendor_modules/math-intrinsics/pow.d.ts +1 -0
- package/assets/api/vendor_modules/math-intrinsics/pow.js +4 -0
- package/assets/api/vendor_modules/math-intrinsics/round.d.ts +1 -0
- package/assets/api/vendor_modules/math-intrinsics/round.js +4 -0
- package/assets/api/vendor_modules/math-intrinsics/sign.d.ts +3 -0
- package/assets/api/vendor_modules/math-intrinsics/sign.js +11 -0
- package/assets/api/vendor_modules/math-intrinsics/test/index.js +192 -0
- package/assets/api/vendor_modules/math-intrinsics/tsconfig.json +3 -0
- package/assets/api/vendor_modules/media-typer/HISTORY.md +22 -0
- package/assets/api/vendor_modules/media-typer/LICENSE +22 -0
- package/assets/api/vendor_modules/media-typer/README.md +81 -0
- package/assets/api/vendor_modules/media-typer/index.js +270 -0
- package/assets/api/vendor_modules/media-typer/package.json +26 -0
- package/assets/api/vendor_modules/merge-descriptors/HISTORY.md +21 -0
- package/assets/api/vendor_modules/merge-descriptors/LICENSE +23 -0
- package/assets/api/vendor_modules/merge-descriptors/README.md +49 -0
- package/assets/api/vendor_modules/merge-descriptors/index.js +60 -0
- package/assets/api/vendor_modules/merge-descriptors/package.json +39 -0
- package/assets/api/vendor_modules/methods/HISTORY.md +29 -0
- package/assets/api/vendor_modules/methods/LICENSE +24 -0
- package/assets/api/vendor_modules/methods/README.md +51 -0
- package/assets/api/vendor_modules/methods/index.js +69 -0
- package/assets/api/vendor_modules/methods/package.json +36 -0
- package/assets/api/vendor_modules/mime/CHANGELOG.md +164 -0
- package/assets/api/vendor_modules/mime/LICENSE +21 -0
- package/assets/api/vendor_modules/mime/README.md +90 -0
- package/assets/api/vendor_modules/mime/cli.js +8 -0
- package/assets/api/vendor_modules/mime/mime.js +108 -0
- package/assets/api/vendor_modules/mime/package.json +44 -0
- package/assets/api/vendor_modules/mime/src/build.js +53 -0
- package/assets/api/vendor_modules/mime/src/test.js +60 -0
- package/assets/api/vendor_modules/mime/types.json +1 -0
- package/assets/api/vendor_modules/mime-db/HISTORY.md +507 -0
- package/assets/api/vendor_modules/mime-db/LICENSE +23 -0
- package/assets/api/vendor_modules/mime-db/README.md +100 -0
- package/assets/api/vendor_modules/mime-db/db.json +8519 -0
- package/assets/api/vendor_modules/mime-db/index.js +12 -0
- package/assets/api/vendor_modules/mime-db/package.json +60 -0
- package/assets/api/vendor_modules/mime-types/HISTORY.md +397 -0
- package/assets/api/vendor_modules/mime-types/LICENSE +23 -0
- package/assets/api/vendor_modules/mime-types/README.md +113 -0
- package/assets/api/vendor_modules/mime-types/index.js +188 -0
- package/assets/api/vendor_modules/mime-types/package.json +44 -0
- package/assets/api/vendor_modules/ms/index.js +152 -0
- package/assets/api/vendor_modules/ms/license.md +21 -0
- package/assets/api/vendor_modules/ms/package.json +37 -0
- package/assets/api/vendor_modules/ms/readme.md +51 -0
- package/assets/api/vendor_modules/negotiator/HISTORY.md +108 -0
- package/assets/api/vendor_modules/negotiator/LICENSE +24 -0
- package/assets/api/vendor_modules/negotiator/README.md +203 -0
- package/assets/api/vendor_modules/negotiator/index.js +82 -0
- package/assets/api/vendor_modules/negotiator/lib/charset.js +169 -0
- package/assets/api/vendor_modules/negotiator/lib/encoding.js +184 -0
- package/assets/api/vendor_modules/negotiator/lib/language.js +179 -0
- package/assets/api/vendor_modules/negotiator/lib/mediaType.js +294 -0
- package/assets/api/vendor_modules/negotiator/package.json +42 -0
- package/assets/api/vendor_modules/object-inspect/.eslintrc +53 -0
- package/assets/api/vendor_modules/object-inspect/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/object-inspect/.nycrc +13 -0
- package/assets/api/vendor_modules/object-inspect/CHANGELOG.md +424 -0
- package/assets/api/vendor_modules/object-inspect/LICENSE +21 -0
- package/assets/api/vendor_modules/object-inspect/example/all.js +23 -0
- package/assets/api/vendor_modules/object-inspect/example/circular.js +6 -0
- package/assets/api/vendor_modules/object-inspect/example/fn.js +5 -0
- package/assets/api/vendor_modules/object-inspect/example/inspect.js +10 -0
- package/assets/api/vendor_modules/object-inspect/index.js +544 -0
- package/assets/api/vendor_modules/object-inspect/package-support.json +20 -0
- package/assets/api/vendor_modules/object-inspect/package.json +105 -0
- package/assets/api/vendor_modules/object-inspect/readme.markdown +84 -0
- package/assets/api/vendor_modules/object-inspect/test/bigint.js +58 -0
- package/assets/api/vendor_modules/object-inspect/test/browser/dom.js +15 -0
- package/assets/api/vendor_modules/object-inspect/test/circular.js +16 -0
- package/assets/api/vendor_modules/object-inspect/test/deep.js +12 -0
- package/assets/api/vendor_modules/object-inspect/test/element.js +53 -0
- package/assets/api/vendor_modules/object-inspect/test/err.js +48 -0
- package/assets/api/vendor_modules/object-inspect/test/fakes.js +29 -0
- package/assets/api/vendor_modules/object-inspect/test/fn.js +76 -0
- package/assets/api/vendor_modules/object-inspect/test/global.js +17 -0
- package/assets/api/vendor_modules/object-inspect/test/has.js +15 -0
- package/assets/api/vendor_modules/object-inspect/test/holes.js +15 -0
- package/assets/api/vendor_modules/object-inspect/test/indent-option.js +271 -0
- package/assets/api/vendor_modules/object-inspect/test/inspect.js +139 -0
- package/assets/api/vendor_modules/object-inspect/test/lowbyte.js +12 -0
- package/assets/api/vendor_modules/object-inspect/test/number.js +58 -0
- package/assets/api/vendor_modules/object-inspect/test/quoteStyle.js +26 -0
- package/assets/api/vendor_modules/object-inspect/test/toStringTag.js +40 -0
- package/assets/api/vendor_modules/object-inspect/test/undef.js +12 -0
- package/assets/api/vendor_modules/object-inspect/test/values.js +261 -0
- package/assets/api/vendor_modules/object-inspect/test-core-js.js +26 -0
- package/assets/api/vendor_modules/object-inspect/util.inspect.js +1 -0
- package/assets/api/vendor_modules/on-finished/HISTORY.md +98 -0
- package/assets/api/vendor_modules/on-finished/LICENSE +23 -0
- package/assets/api/vendor_modules/on-finished/README.md +162 -0
- package/assets/api/vendor_modules/on-finished/index.js +234 -0
- package/assets/api/vendor_modules/on-finished/package.json +39 -0
- package/assets/api/vendor_modules/parseurl/HISTORY.md +58 -0
- package/assets/api/vendor_modules/parseurl/LICENSE +24 -0
- package/assets/api/vendor_modules/parseurl/README.md +133 -0
- package/assets/api/vendor_modules/parseurl/index.js +158 -0
- package/assets/api/vendor_modules/parseurl/package.json +40 -0
- package/assets/api/vendor_modules/path-to-regexp/LICENSE +21 -0
- package/assets/api/vendor_modules/path-to-regexp/Readme.md +35 -0
- package/assets/api/vendor_modules/path-to-regexp/index.js +158 -0
- package/assets/api/vendor_modules/path-to-regexp/package.json +30 -0
- package/assets/api/vendor_modules/proxy-addr/HISTORY.md +167 -0
- package/assets/api/vendor_modules/proxy-addr/LICENSE +22 -0
- package/assets/api/vendor_modules/proxy-addr/README.md +139 -0
- package/assets/api/vendor_modules/proxy-addr/index.js +359 -0
- package/assets/api/vendor_modules/proxy-addr/package.json +51 -0
- package/assets/api/vendor_modules/qs/.editorconfig +46 -0
- package/assets/api/vendor_modules/qs/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/qs/.github/SECURITY.md +11 -0
- package/assets/api/vendor_modules/qs/.github/THREAT_MODEL.md +78 -0
- package/assets/api/vendor_modules/qs/.nycrc +13 -0
- package/assets/api/vendor_modules/qs/CHANGELOG.md +833 -0
- package/assets/api/vendor_modules/qs/LICENSE.md +29 -0
- package/assets/api/vendor_modules/qs/README.md +758 -0
- package/assets/api/vendor_modules/qs/dist/qs.js +141 -0
- package/assets/api/vendor_modules/qs/eslint.config.mjs +57 -0
- package/assets/api/vendor_modules/qs/lib/formats.js +23 -0
- package/assets/api/vendor_modules/qs/lib/index.js +11 -0
- package/assets/api/vendor_modules/qs/lib/parse.js +414 -0
- package/assets/api/vendor_modules/qs/lib/stringify.js +363 -0
- package/assets/api/vendor_modules/qs/lib/utils.js +381 -0
- package/assets/api/vendor_modules/qs/package.json +95 -0
- package/assets/api/vendor_modules/qs/test/empty-keys-cases.js +267 -0
- package/assets/api/vendor_modules/qs/test/parse.js +1933 -0
- package/assets/api/vendor_modules/qs/test/stringify.js +1448 -0
- package/assets/api/vendor_modules/qs/test/utils.js +626 -0
- package/assets/api/vendor_modules/range-parser/HISTORY.md +56 -0
- package/assets/api/vendor_modules/range-parser/LICENSE +23 -0
- package/assets/api/vendor_modules/range-parser/README.md +84 -0
- package/assets/api/vendor_modules/range-parser/index.js +162 -0
- package/assets/api/vendor_modules/range-parser/package.json +44 -0
- package/assets/api/vendor_modules/raw-body/LICENSE +22 -0
- package/assets/api/vendor_modules/raw-body/README.md +223 -0
- package/assets/api/vendor_modules/raw-body/index.d.ts +87 -0
- package/assets/api/vendor_modules/raw-body/index.js +336 -0
- package/assets/api/vendor_modules/raw-body/package.json +47 -0
- package/assets/api/vendor_modules/safe-buffer/LICENSE +21 -0
- package/assets/api/vendor_modules/safe-buffer/README.md +584 -0
- package/assets/api/vendor_modules/safe-buffer/index.d.ts +187 -0
- package/assets/api/vendor_modules/safe-buffer/index.js +65 -0
- package/assets/api/vendor_modules/safe-buffer/package.json +51 -0
- package/assets/api/vendor_modules/safer-buffer/LICENSE +21 -0
- package/assets/api/vendor_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/assets/api/vendor_modules/safer-buffer/Readme.md +156 -0
- package/assets/api/vendor_modules/safer-buffer/dangerous.js +58 -0
- package/assets/api/vendor_modules/safer-buffer/package.json +34 -0
- package/assets/api/vendor_modules/safer-buffer/safer.js +77 -0
- package/assets/api/vendor_modules/safer-buffer/tests.js +406 -0
- package/assets/api/vendor_modules/send/HISTORY.md +538 -0
- package/assets/api/vendor_modules/send/LICENSE +23 -0
- package/assets/api/vendor_modules/send/README.md +327 -0
- package/assets/api/vendor_modules/send/SECURITY.md +24 -0
- package/assets/api/vendor_modules/send/index.js +1142 -0
- package/assets/api/vendor_modules/send/node_modules/ms/index.js +162 -0
- package/assets/api/vendor_modules/send/node_modules/ms/license.md +21 -0
- package/assets/api/vendor_modules/send/node_modules/ms/package.json +38 -0
- package/assets/api/vendor_modules/send/node_modules/ms/readme.md +59 -0
- package/assets/api/vendor_modules/send/package.json +62 -0
- package/assets/api/vendor_modules/serve-static/HISTORY.md +493 -0
- package/assets/api/vendor_modules/serve-static/LICENSE +25 -0
- package/assets/api/vendor_modules/serve-static/README.md +257 -0
- package/assets/api/vendor_modules/serve-static/index.js +209 -0
- package/assets/api/vendor_modules/serve-static/package.json +42 -0
- package/assets/api/vendor_modules/serverless-http/LICENSE.txt +33 -0
- package/assets/api/vendor_modules/serverless-http/README.md +117 -0
- package/assets/api/vendor_modules/serverless-http/lib/finish.js +42 -0
- package/assets/api/vendor_modules/serverless-http/lib/framework/get-framework.js +79 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/aws/clean-up-event.js +98 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/aws/create-request.js +110 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/aws/format-response.js +45 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/aws/index.js +15 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/aws/is-binary.js +42 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/aws/sanitize-headers.js +21 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/azure/clean-up-request.js +41 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/azure/create-request.js +45 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/azure/format-response.js +18 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/azure/index.js +13 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/azure/is-binary.js +42 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/azure/sanitize-headers.js +23 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/azure/set-cookie.json +1 -0
- package/assets/api/vendor_modules/serverless-http/lib/provider/get-provider.js +17 -0
- package/assets/api/vendor_modules/serverless-http/lib/request.js +38 -0
- package/assets/api/vendor_modules/serverless-http/lib/response.js +135 -0
- package/assets/api/vendor_modules/serverless-http/package.json +93 -0
- package/assets/api/vendor_modules/serverless-http/serverless-http.d.ts +41 -0
- package/assets/api/vendor_modules/serverless-http/serverless-http.js +23 -0
- package/assets/api/vendor_modules/setprototypeof/LICENSE +13 -0
- package/assets/api/vendor_modules/setprototypeof/README.md +31 -0
- package/assets/api/vendor_modules/setprototypeof/index.d.ts +2 -0
- package/assets/api/vendor_modules/setprototypeof/index.js +17 -0
- package/assets/api/vendor_modules/setprototypeof/package.json +38 -0
- package/assets/api/vendor_modules/setprototypeof/test/index.js +24 -0
- package/assets/api/vendor_modules/side-channel/.editorconfig +9 -0
- package/assets/api/vendor_modules/side-channel/.eslintrc +12 -0
- package/assets/api/vendor_modules/side-channel/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/side-channel/.nycrc +13 -0
- package/assets/api/vendor_modules/side-channel/CHANGELOG.md +120 -0
- package/assets/api/vendor_modules/side-channel/LICENSE +21 -0
- package/assets/api/vendor_modules/side-channel/README.md +61 -0
- package/assets/api/vendor_modules/side-channel/index.d.ts +14 -0
- package/assets/api/vendor_modules/side-channel/index.js +46 -0
- package/assets/api/vendor_modules/side-channel/package.json +85 -0
- package/assets/api/vendor_modules/side-channel/test/index.js +120 -0
- package/assets/api/vendor_modules/side-channel/tsconfig.json +9 -0
- package/assets/api/vendor_modules/side-channel-list/.editorconfig +9 -0
- package/assets/api/vendor_modules/side-channel-list/.eslintrc +11 -0
- package/assets/api/vendor_modules/side-channel-list/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/side-channel-list/.nycrc +13 -0
- package/assets/api/vendor_modules/side-channel-list/CHANGELOG.md +36 -0
- package/assets/api/vendor_modules/side-channel-list/LICENSE +21 -0
- package/assets/api/vendor_modules/side-channel-list/README.md +62 -0
- package/assets/api/vendor_modules/side-channel-list/index.d.ts +13 -0
- package/assets/api/vendor_modules/side-channel-list/index.js +111 -0
- package/assets/api/vendor_modules/side-channel-list/list.d.ts +14 -0
- package/assets/api/vendor_modules/side-channel-list/package.json +77 -0
- package/assets/api/vendor_modules/side-channel-list/test/index.js +154 -0
- package/assets/api/vendor_modules/side-channel-list/tsconfig.json +9 -0
- package/assets/api/vendor_modules/side-channel-map/.editorconfig +9 -0
- package/assets/api/vendor_modules/side-channel-map/.eslintrc +11 -0
- package/assets/api/vendor_modules/side-channel-map/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/side-channel-map/.nycrc +13 -0
- package/assets/api/vendor_modules/side-channel-map/CHANGELOG.md +22 -0
- package/assets/api/vendor_modules/side-channel-map/LICENSE +21 -0
- package/assets/api/vendor_modules/side-channel-map/README.md +62 -0
- package/assets/api/vendor_modules/side-channel-map/index.d.ts +15 -0
- package/assets/api/vendor_modules/side-channel-map/index.js +68 -0
- package/assets/api/vendor_modules/side-channel-map/package.json +80 -0
- package/assets/api/vendor_modules/side-channel-map/test/index.js +114 -0
- package/assets/api/vendor_modules/side-channel-map/tsconfig.json +9 -0
- package/assets/api/vendor_modules/side-channel-weakmap/.editorconfig +9 -0
- package/assets/api/vendor_modules/side-channel-weakmap/.eslintrc +12 -0
- package/assets/api/vendor_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
- package/assets/api/vendor_modules/side-channel-weakmap/.nycrc +13 -0
- package/assets/api/vendor_modules/side-channel-weakmap/CHANGELOG.md +28 -0
- package/assets/api/vendor_modules/side-channel-weakmap/LICENSE +21 -0
- package/assets/api/vendor_modules/side-channel-weakmap/README.md +62 -0
- package/assets/api/vendor_modules/side-channel-weakmap/index.d.ts +15 -0
- package/assets/api/vendor_modules/side-channel-weakmap/index.js +84 -0
- package/assets/api/vendor_modules/side-channel-weakmap/package.json +87 -0
- package/assets/api/vendor_modules/side-channel-weakmap/test/index.js +114 -0
- package/assets/api/vendor_modules/side-channel-weakmap/tsconfig.json +9 -0
- package/assets/api/vendor_modules/statuses/HISTORY.md +87 -0
- package/assets/api/vendor_modules/statuses/LICENSE +23 -0
- package/assets/api/vendor_modules/statuses/README.md +139 -0
- package/assets/api/vendor_modules/statuses/codes.json +65 -0
- package/assets/api/vendor_modules/statuses/index.js +146 -0
- package/assets/api/vendor_modules/statuses/package.json +49 -0
- package/assets/api/vendor_modules/toidentifier/HISTORY.md +9 -0
- package/assets/api/vendor_modules/toidentifier/LICENSE +21 -0
- package/assets/api/vendor_modules/toidentifier/README.md +61 -0
- package/assets/api/vendor_modules/toidentifier/index.js +32 -0
- package/assets/api/vendor_modules/toidentifier/package.json +38 -0
- package/assets/api/vendor_modules/type-is/HISTORY.md +259 -0
- package/assets/api/vendor_modules/type-is/LICENSE +23 -0
- package/assets/api/vendor_modules/type-is/README.md +170 -0
- package/assets/api/vendor_modules/type-is/index.js +266 -0
- package/assets/api/vendor_modules/type-is/package.json +45 -0
- package/assets/api/vendor_modules/unpipe/HISTORY.md +4 -0
- package/assets/api/vendor_modules/unpipe/LICENSE +22 -0
- package/assets/api/vendor_modules/unpipe/README.md +43 -0
- package/assets/api/vendor_modules/unpipe/index.js +69 -0
- package/assets/api/vendor_modules/unpipe/package.json +27 -0
- package/assets/api/vendor_modules/utils-merge/LICENSE +20 -0
- package/assets/api/vendor_modules/utils-merge/README.md +34 -0
- package/assets/api/vendor_modules/utils-merge/index.js +23 -0
- package/assets/api/vendor_modules/utils-merge/package.json +40 -0
- package/assets/api/vendor_modules/vary/HISTORY.md +39 -0
- package/assets/api/vendor_modules/vary/LICENSE +22 -0
- package/assets/api/vendor_modules/vary/README.md +101 -0
- package/assets/api/vendor_modules/vary/index.js +149 -0
- package/assets/api/vendor_modules/vary/package.json +43 -0
- package/assets/federation-presignup/index.js +108 -0
- package/assets/firstadmin/index.js +361 -0
- package/assets/headscale-apikey/index.js +140 -0
- package/assets/invoke-relay/index.js +96 -0
- package/assets/issuer-canary/index.js +71 -0
- package/assets/issuer-publish/index.js +87 -0
- package/assets/keyminter/index.js +209 -0
- package/assets/plugin-authorizer/index.js +1740 -0
- package/assets/plugin-catalog/index.js +881 -0
- package/assets/reapproval/index.js +3761 -0
- package/assets/sg-manager/index.js +176 -0
- package/assets/tailnet-resolver/index.js +55 -0
- package/assets/web/chunk-2MOGDYK4.js +1 -0
- package/assets/web/chunk-2SO4BVIT.js +1 -0
- package/assets/web/chunk-2V6RSAAC.js +1 -0
- package/assets/web/chunk-32GNBTAL.js +1 -0
- package/assets/web/chunk-33SYY2JB.js +1 -0
- package/assets/web/chunk-3VWYT7AX.js +1 -0
- package/assets/web/chunk-4FG4DAWU.js +4 -0
- package/assets/web/chunk-4N2IUS6T.js +1 -0
- package/assets/web/chunk-4SK6XQ6C.js +1 -0
- package/assets/web/chunk-65WE5MXA.js +8 -0
- package/assets/web/chunk-6D7SSSJF.js +1 -0
- package/assets/web/chunk-6KFR7DYY.js +1 -0
- package/assets/web/chunk-A4WHI3ZG.js +8 -0
- package/assets/web/chunk-BNFKRZTP.js +1 -0
- package/assets/web/chunk-CG56PH3M.js +1 -0
- package/assets/web/chunk-CGO25AIM.js +1 -0
- package/assets/web/chunk-CP4XZPOA.js +1 -0
- package/assets/web/chunk-CV7EODPO.js +1 -0
- package/assets/web/chunk-D7TR2ORJ.js +1 -0
- package/assets/web/chunk-DCOFBAKJ.js +1 -0
- package/assets/web/chunk-DOLRLYW7.js +1 -0
- package/assets/web/chunk-EEJ3X466.js +1 -0
- package/assets/web/chunk-EQ4PF25J.js +1 -0
- package/assets/web/chunk-EVP5UVDQ.js +1 -0
- package/assets/web/chunk-EW2VMNHE.js +1 -0
- package/assets/web/chunk-FIUVIKAN.js +1 -0
- package/assets/web/chunk-GHEU25TG.js +1 -0
- package/assets/web/chunk-GK2T2SMO.js +1 -0
- package/assets/web/chunk-GKI3R2JB.js +1 -0
- package/assets/web/chunk-GPKKIOHD.js +2 -0
- package/assets/web/chunk-H4AVFUDM.js +1 -0
- package/assets/web/chunk-H5H727H6.js +1 -0
- package/assets/web/chunk-HGVFH6YM.js +1 -0
- package/assets/web/chunk-HHPIANBK.js +1 -0
- package/assets/web/chunk-HK56COCB.js +1 -0
- package/assets/web/chunk-HZUB7LFV.js +1 -0
- package/assets/web/chunk-I7NTNTBA.js +1 -0
- package/assets/web/chunk-IKK5DQ3Z.js +1 -0
- package/assets/web/chunk-IMH56UBX.js +1 -0
- package/assets/web/chunk-J3SSPCFV.js +1 -0
- package/assets/web/chunk-J4C7C5KO.js +1 -0
- package/assets/web/chunk-J57JB4MU.js +1 -0
- package/assets/web/chunk-JMBXRK3I.js +4 -0
- package/assets/web/chunk-KCCEQIXX.js +1 -0
- package/assets/web/chunk-KEBESIXR.js +1 -0
- package/assets/web/chunk-KPNHT4MK.js +1 -0
- package/assets/web/chunk-LMLXTVZG.js +1 -0
- package/assets/web/chunk-M6OAYNRE.js +1 -0
- package/assets/web/chunk-M7MGX5I4.js +1 -0
- package/assets/web/chunk-MU2VNTNY.js +1 -0
- package/assets/web/chunk-NABAVDRL.js +1 -0
- package/assets/web/chunk-NO5D6WDF.js +1 -0
- package/assets/web/chunk-O4QSFUXB.js +1 -0
- package/assets/web/chunk-OATVFQXO.js +1 -0
- package/assets/web/chunk-P5WRM37W.js +5 -0
- package/assets/web/chunk-PCP6D2SM.js +1 -0
- package/assets/web/chunk-PMMBJK7Q.js +1 -0
- package/assets/web/chunk-PSMER3HX.js +1 -0
- package/assets/web/chunk-QPBWZLCT.js +1 -0
- package/assets/web/chunk-QVABVDO5.js +1 -0
- package/assets/web/chunk-RI77LE5V.js +1 -0
- package/assets/web/chunk-RKGUEXZ2.js +1 -0
- package/assets/web/chunk-RMFH2YTZ.js +1 -0
- package/assets/web/chunk-RROPCBUH.js +1 -0
- package/assets/web/chunk-SJMLX5AT.js +1 -0
- package/assets/web/chunk-TKVALOE4.js +2 -0
- package/assets/web/chunk-TM43WUKM.js +1 -0
- package/assets/web/chunk-VKWV3ANT.js +1 -0
- package/assets/web/chunk-VTMYG6YW.js +1 -0
- package/assets/web/chunk-VWW4SA5R.js +1 -0
- package/assets/web/chunk-WEDAFMID.js +1 -0
- package/assets/web/chunk-WFIHWVQO.js +1 -0
- package/assets/web/chunk-XJM3HDJQ.js +1 -0
- package/assets/web/chunk-YVJV2RUY.js +1 -0
- package/assets/web/chunk-Z3KONI7L.js +1 -0
- package/assets/web/chunk-ZDCURXPS.js +1 -0
- package/assets/web/favicon.ico +0 -0
- package/assets/web/index.html +63 -0
- package/assets/web/main-S6E3BC5O.js +2 -0
- package/assets/web/polyfills-7RSNIJ6J.js +2 -0
- package/assets/web/styles-R6ZUWC6K.css +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +66 -0
- package/dist/lambdacode/api/services/brandingShapes.d.ts +5 -0
- package/dist/lambdacode/api/services/brandingShapes.js +15 -0
- package/dist/lambdacode/issuer/objects.d.ts +8 -0
- package/dist/lambdacode/issuer/objects.js +11 -0
- package/dist/lambdacode/network/naming.d.ts +52 -0
- package/dist/lambdacode/network/naming.js +67 -0
- package/dist/lib/access-portal-hub.d.ts +53 -0
- package/dist/lib/access-portal-hub.js +87 -0
- package/dist/lib/access-portal.d.ts +32 -0
- package/dist/lib/access-portal.js +174 -0
- package/dist/lib/audit-log.d.ts +18 -0
- package/dist/lib/audit-log.js +25 -0
- package/dist/lib/connector-stack.d.ts +28 -0
- package/dist/lib/connector-stack.js +81 -0
- package/dist/lib/constructs/app-function.d.ts +14 -0
- package/dist/lib/constructs/app-function.js +84 -0
- package/dist/lib/constructs/app-table.d.ts +12 -0
- package/dist/lib/constructs/app-table.js +58 -0
- package/dist/lib/constructs/mirrored-image.d.ts +12 -0
- package/dist/lib/constructs/mirrored-image.js +80 -0
- package/dist/lib/constructs/monitoring.d.ts +21 -0
- package/dist/lib/constructs/monitoring.js +133 -0
- package/dist/lib/constructs/oidc-issuer.d.ts +44 -0
- package/dist/lib/constructs/oidc-issuer.js +234 -0
- package/dist/lib/constructs/scratch-tmpfs.d.ts +5 -0
- package/dist/lib/constructs/scratch-tmpfs.js +48 -0
- package/dist/lib/constructs/sg-manager.d.ts +27 -0
- package/dist/lib/constructs/sg-manager.js +88 -0
- package/dist/lib/constructs/tailnet-connector.d.ts +29 -0
- package/dist/lib/constructs/tailnet-connector.js +177 -0
- package/dist/lib/constructs/tailnet-resolver.d.ts +30 -0
- package/dist/lib/constructs/tailnet-resolver.js +71 -0
- package/dist/lib/constructs/target-account-trust.d.ts +32 -0
- package/dist/lib/constructs/target-account-trust.js +81 -0
- package/dist/lib/constructs/vending-api.d.ts +103 -0
- package/dist/lib/constructs/vending-api.js +203 -0
- package/dist/lib/constructs/web-acl.d.ts +61 -0
- package/dist/lib/constructs/web-acl.js +213 -0
- package/dist/lib/constructs/web-identity.d.ts +49 -0
- package/dist/lib/constructs/web-identity.js +116 -0
- package/dist/lib/creds-stack.d.ts +151 -0
- package/dist/lib/creds-stack.js +592 -0
- package/dist/lib/data-stack.d.ts +53 -0
- package/dist/lib/data-stack.js +282 -0
- package/dist/lib/dimensions-validation.d.ts +20 -0
- package/dist/lib/dimensions-validation.js +51 -0
- package/dist/lib/federation.d.ts +113 -0
- package/dist/lib/federation.js +254 -0
- package/dist/lib/managed-login-branding.json +450 -0
- package/dist/lib/network-stack.d.ts +58 -0
- package/dist/lib/network-stack.js +776 -0
- package/dist/lib/network-validation.d.ts +54 -0
- package/dist/lib/network-validation.js +220 -0
- package/dist/lib/pkg-paths.d.ts +3 -0
- package/dist/lib/pkg-paths.js +51 -0
- package/dist/lib/plugins/plugin-api.d.ts +40 -0
- package/dist/lib/plugins/plugin-api.js +125 -0
- package/dist/lib/plugins/plugin-catalog-activation.d.ts +31 -0
- package/dist/lib/plugins/plugin-catalog-activation.js +109 -0
- package/dist/lib/plugins/registration.d.ts +41 -0
- package/dist/lib/plugins/registration.js +121 -0
- package/dist/lib/plugins/runtime.d.ts +10 -0
- package/dist/lib/plugins/runtime.js +17 -0
- package/dist/lib/project-config.d.ts +164 -0
- package/dist/lib/project-config.js +2 -0
- package/dist/lib/target-account-stack.d.ts +15 -0
- package/dist/lib/target-account-stack.js +59 -0
- package/dist/lib/target-account-template.d.ts +13 -0
- package/dist/lib/target-account-template.js +64 -0
- package/dist/lib/web-cert-stack.d.ts +30 -0
- package/dist/lib/web-cert-stack.js +90 -0
- package/dist/lib/web-stack.d.ts +103 -0
- package/dist/lib/web-stack.js +540 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/README.md +303 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.d.ts +31 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.js +58 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.d.ts +9 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.js +26 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.d.ts +59 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.js +290 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.d.ts +14 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.js +32 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.d.ts +72 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.js +170 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.d.ts +11 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.js +28 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.d.ts +22 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.js +22 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.d.ts +14 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.js +41 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.d.ts +17 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.js +44 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.d.ts +2 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.js +21 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.d.ts +39 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.js +18 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.d.ts +78 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.js +48 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.d.ts +7 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.js +2 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.d.ts +59 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.js +19 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.d.ts +111 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.js +109 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.d.ts +20 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.js +49 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.d.ts +21 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.js +60 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.d.ts +14 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.js +10 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.d.ts +27 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.js +321 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.d.ts +61 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.js +99 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.d.ts +12 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.js +22 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.d.ts +22 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.js +46 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.d.ts +4 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.js +20 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.d.ts +37 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.js +228 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.d.ts +47 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.js +121 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.d.ts +5 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.js +22 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.d.ts +10 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.js +28 -0
- package/node_modules/@fntio/infra-client-plugin-sdk/package.json +99 -0
- package/openapi.yaml +4284 -0
- package/package.json +124 -4
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { ResolvedDevShares } from "./network-validation";
|
|
2
|
+
import type { ResolvedAccountDimensions } from "./dimensions-validation";
|
|
3
|
+
import * as cdk from "aws-cdk-lib";
|
|
4
|
+
import { Construct } from "constructs";
|
|
5
|
+
import * as acm from "aws-cdk-lib/aws-certificatemanager";
|
|
6
|
+
import * as apigw from "aws-cdk-lib/aws-apigateway";
|
|
7
|
+
import * as cognito from "aws-cdk-lib/aws-cognito";
|
|
8
|
+
import * as s3 from "aws-cdk-lib/aws-s3";
|
|
9
|
+
import { type ResolvedFederation } from "./federation";
|
|
10
|
+
/** Angular SPA from a private bucket behind CloudFront, the vending API
|
|
11
|
+
* fronted same-origin under /api/* (no CORS), plus the SPA's Cognito client. */
|
|
12
|
+
/** What the sidebar brand row shows (mirrors the frontend Branding type). */
|
|
13
|
+
export type BrandShow = "logo" | "project" | "company" | "logo-and-project" | "logo-and-company";
|
|
14
|
+
/** Per-project branding injected into the generated config.json (white-label:
|
|
15
|
+
* one frontend build, re-branded per deployment). */
|
|
16
|
+
export interface WebBranding {
|
|
17
|
+
/** Sidebar title + browser-tab title (default "Access Portal"). */
|
|
18
|
+
readonly projectName?: string;
|
|
19
|
+
/** The client's company name, for the 'company' brandShow modes. */
|
|
20
|
+
readonly companyName?: string;
|
|
21
|
+
/** Which of logo / project name / company name the brand row shows.
|
|
22
|
+
* Omitted → 'logo-and-project' when logoUrl is set, else 'project'. */
|
|
23
|
+
readonly brandShow?: BrandShow;
|
|
24
|
+
/** URL of a square logo image; omitted = letter mark from projectName. */
|
|
25
|
+
readonly logoUrl?: string;
|
|
26
|
+
/** A local image file to use as the logo instead of `logoUrl` (.svg, .png, .jpg, .webp or .gif,
|
|
27
|
+
* up to about 47 KB). Read at synth and embedded in the web app's config, so nothing has to be
|
|
28
|
+
* hosted publicly. A relative path resolves from the directory `cdk` runs in. */
|
|
29
|
+
readonly logoFile?: string;
|
|
30
|
+
readonly primaryColor?: string;
|
|
31
|
+
/** Hover shade; darkened primary if omitted. */
|
|
32
|
+
readonly primaryHoverColor?: string;
|
|
33
|
+
readonly accentColor?: string;
|
|
34
|
+
}
|
|
35
|
+
/** Custom domains for the app + its sign-in pages. */
|
|
36
|
+
export interface WebDomains {
|
|
37
|
+
readonly hostedZoneId: string;
|
|
38
|
+
readonly zoneName: string;
|
|
39
|
+
/** The app's public URL (CloudFront alias). */
|
|
40
|
+
readonly domainName: string;
|
|
41
|
+
/** Managed Login sign-in domain — must be a child of `domainName`. */
|
|
42
|
+
readonly authDomainName: string;
|
|
43
|
+
}
|
|
44
|
+
/** By-name contract: the API Lambda derives the same name to write
|
|
45
|
+
* /branding.json without a cross-stack ref (CredsStack deploys first). */
|
|
46
|
+
export declare function webBucketName(resourcePrefix: string, account: string): string;
|
|
47
|
+
export interface WebStackProps extends cdk.StackProps {
|
|
48
|
+
/** SET-ONCE product prefix — names the site bucket; see webBucketName(). */
|
|
49
|
+
readonly resourcePrefix: string;
|
|
50
|
+
/** The CredsStack REST API, mounted under /api/* on the distribution. */
|
|
51
|
+
readonly api: apigw.LambdaRestApi;
|
|
52
|
+
/** The SPA's app client + domain are created HERE — their callback URLs
|
|
53
|
+
* need the CloudFront domain (avoids a circular stack ref). */
|
|
54
|
+
readonly userPool: cognito.IUserPool;
|
|
55
|
+
/** This project's branding, baked into config.json at deploy time. */
|
|
56
|
+
readonly branding?: WebBranding;
|
|
57
|
+
/** Baked into config.json so the frontend only offers MFA screens when the
|
|
58
|
+
* pool actually challenges TOTP. Omit = MFA UI hidden. */
|
|
59
|
+
readonly mfa?: "optional" | "required";
|
|
60
|
+
/** Baked into config.json so the frontend only offers passkey management
|
|
61
|
+
* when the pool accepts WebAuthn. Omit/false = passkey UI hidden. */
|
|
62
|
+
readonly passkey?: boolean;
|
|
63
|
+
/** Whether private-network (VPN) sites exist on this deployment, baked
|
|
64
|
+
* into config.json so the SPA hides its Network pages when they don't. */
|
|
65
|
+
readonly network?: boolean;
|
|
66
|
+
/** `loginMethods.federation`, validated: one Cognito OIDC provider each, offered on the
|
|
67
|
+
* SPA client; the login buttons + claim labels ride config.json. */
|
|
68
|
+
readonly federation?: ResolvedFederation;
|
|
69
|
+
/** Enabled `network.devShares`, baked into config.json (the UI's limits); absent = hidden. */
|
|
70
|
+
readonly devShares?: ResolvedDevShares;
|
|
71
|
+
/** Enabled `accountDimensions`, baked into config.json (labels + stage silhouettes); absent = no filters. */
|
|
72
|
+
readonly accountDimensions?: ResolvedAccountDimensions;
|
|
73
|
+
/** Custom domains; omit to stay on the raw CloudFront URL + default
|
|
74
|
+
* Cognito domain. */
|
|
75
|
+
readonly web?: WebDomains;
|
|
76
|
+
/** Cert covering both `web` domains. Must come from WebCertStack
|
|
77
|
+
* (us-east-1) — CloudFront and Cognito reject certs from any other region. */
|
|
78
|
+
readonly certificate?: acm.ICertificate;
|
|
79
|
+
/** CloudFront-scope WAFv2 web ACL ARN — from WebCertStack, since WAF only
|
|
80
|
+
* accepts CloudFront ACLs in us-east-1. Omit = no WAF. */
|
|
81
|
+
readonly webAclArn?: string;
|
|
82
|
+
/** A prebuilt web bundle to serve instead of the frontend build shipped
|
|
83
|
+
* with this package — the seam for deploying your own frontend build. */
|
|
84
|
+
readonly webAssetPath?: string;
|
|
85
|
+
/** Customer plugins, on: the /plugin-assets/* behavior over DataStack's assets bucket (by name — a
|
|
86
|
+
* bucket reference would try to write its policy from here and cycle the stacks) and the discovery
|
|
87
|
+
* settings in config.json. Absent = feature off. */
|
|
88
|
+
readonly plugins?: WebStackPlugins;
|
|
89
|
+
/** DataStack's log bucket: S3 server-access logs of the site bucket and the distribution's standard logs. */
|
|
90
|
+
readonly accessLogsBucket?: s3.IBucket;
|
|
91
|
+
}
|
|
92
|
+
export interface WebStackPlugins {
|
|
93
|
+
readonly discoveryRefreshSeconds: number;
|
|
94
|
+
readonly assetsBucketName: string;
|
|
95
|
+
}
|
|
96
|
+
/** The session cap: refresh-token validity of the web clients AND config.json's `sessionHours`, which the
|
|
97
|
+
* SPA uses to show when a sign-in ends — one constant so the two can't disagree (issue #29). */
|
|
98
|
+
export declare const SESSION_HOURS = 12;
|
|
99
|
+
export declare class WebStack extends cdk.Stack {
|
|
100
|
+
/** The generated config.json body — what the SPA self-configures from. */
|
|
101
|
+
readonly appConfig: Record<string, unknown>;
|
|
102
|
+
constructor(scope: Construct, id: string, props: WebStackProps);
|
|
103
|
+
}
|
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.WebStack = exports.SESSION_HOURS = void 0;
|
|
40
|
+
exports.webBucketName = webBucketName;
|
|
41
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
42
|
+
const cognito = __importStar(require("aws-cdk-lib/aws-cognito"));
|
|
43
|
+
const cloudfront = __importStar(require("aws-cdk-lib/aws-cloudfront"));
|
|
44
|
+
const origins = __importStar(require("aws-cdk-lib/aws-cloudfront-origins"));
|
|
45
|
+
const route53 = __importStar(require("aws-cdk-lib/aws-route53"));
|
|
46
|
+
const targets = __importStar(require("aws-cdk-lib/aws-route53-targets"));
|
|
47
|
+
const s3 = __importStar(require("aws-cdk-lib/aws-s3"));
|
|
48
|
+
const s3deploy = __importStar(require("aws-cdk-lib/aws-s3-deployment"));
|
|
49
|
+
const crypto = __importStar(require("crypto"));
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
const path = __importStar(require("path"));
|
|
52
|
+
const pkg_paths_1 = require("./pkg-paths");
|
|
53
|
+
const brandingShapes_1 = require("../lambdacode/api/services/brandingShapes");
|
|
54
|
+
const managed_login_branding_json_1 = __importDefault(require("./managed-login-branding.json"));
|
|
55
|
+
const federation_1 = require("./federation");
|
|
56
|
+
const LOGO_FILE_TYPES = {
|
|
57
|
+
".svg": "image/svg+xml",
|
|
58
|
+
".png": "image/png",
|
|
59
|
+
".jpg": "image/jpeg",
|
|
60
|
+
".jpeg": "image/jpeg",
|
|
61
|
+
".webp": "image/webp",
|
|
62
|
+
".gif": "image/gif",
|
|
63
|
+
};
|
|
64
|
+
/** `logoFile` as the data: URI `logoUrl` already accepts — the same thing the theme wizard's upload stores. */
|
|
65
|
+
function inlineLogoFile(file) {
|
|
66
|
+
const mime = LOGO_FILE_TYPES[path.extname(file).toLowerCase()];
|
|
67
|
+
if (!mime) {
|
|
68
|
+
throw new Error(`branding.logoFile ("${file}") must be a .svg, .png, .jpg, .webp or .gif image.`);
|
|
69
|
+
}
|
|
70
|
+
const resolved = path.resolve(file);
|
|
71
|
+
if (!fs.existsSync(resolved)) {
|
|
72
|
+
throw new Error(`branding.logoFile not found at ${resolved} (a relative path resolves from the directory cdk runs in).`);
|
|
73
|
+
}
|
|
74
|
+
const uri = `data:${mime};base64,${fs.readFileSync(resolved).toString("base64")}`;
|
|
75
|
+
if (uri.length > brandingShapes_1.LOGO_MAX) {
|
|
76
|
+
throw new Error(`branding.logoFile ("${file}") is too large: it must be at most about ${Math.floor((brandingShapes_1.LOGO_MAX * 3) / 4 / 1000)} KB. ` +
|
|
77
|
+
`Use a smaller image or an SVG, or host it and set branding.logoUrl.`);
|
|
78
|
+
}
|
|
79
|
+
return uri;
|
|
80
|
+
}
|
|
81
|
+
/** By-name contract: the API Lambda derives the same name to write
|
|
82
|
+
* /branding.json without a cross-stack ref (CredsStack deploys first). */
|
|
83
|
+
function webBucketName(resourcePrefix, account) {
|
|
84
|
+
return `${resourcePrefix}-web-${account}`;
|
|
85
|
+
}
|
|
86
|
+
// Prebuilt output, NOT CDK bundling (which would rerun the 30s+ Angular build
|
|
87
|
+
// on every synth). Repo build when developing here, else the prepack copy.
|
|
88
|
+
const REPO_DIST = path.join((0, pkg_paths_1.packageRoot)(), "..", "..", "frontend", "dist", "frontend", "browser");
|
|
89
|
+
const PACKAGED_DIST = path.join((0, pkg_paths_1.packageRoot)(), "assets", "web");
|
|
90
|
+
/** The session cap: refresh-token validity of the web clients AND config.json's `sessionHours`, which the
|
|
91
|
+
* SPA uses to show when a sign-in ends — one constant so the two can't disagree (issue #29). */
|
|
92
|
+
exports.SESSION_HOURS = 12;
|
|
93
|
+
class WebStack extends cdk.Stack {
|
|
94
|
+
/** The generated config.json body — what the SPA self-configures from. */
|
|
95
|
+
appConfig;
|
|
96
|
+
constructor(scope, id, props) {
|
|
97
|
+
super(scope, id, props);
|
|
98
|
+
const webAssetPath = props.webAssetPath ??
|
|
99
|
+
(fs.existsSync(path.join(REPO_DIST, "index.html"))
|
|
100
|
+
? REPO_DIST
|
|
101
|
+
: PACKAGED_DIST);
|
|
102
|
+
if (!fs.existsSync(path.join(webAssetPath, "index.html"))) {
|
|
103
|
+
throw new Error(`Web assets not found at ${webAssetPath} (no index.html) — build the frontend first, or point webAssetPath at a prebuilt bundle.`);
|
|
104
|
+
}
|
|
105
|
+
// Fail loudly at synth rather than shipping a blank brand row: a brandShow
|
|
106
|
+
// that names the company or a logo must have that value provided.
|
|
107
|
+
if (props.branding?.logoFile && props.branding.logoUrl) {
|
|
108
|
+
throw new Error(`Set branding.logoFile or branding.logoUrl, not both.`);
|
|
109
|
+
}
|
|
110
|
+
const { logoFile, ...brandingRest } = props.branding ?? {};
|
|
111
|
+
const b = props.branding && {
|
|
112
|
+
...brandingRest,
|
|
113
|
+
...(logoFile ? { logoUrl: inlineLogoFile(logoFile) } : {}),
|
|
114
|
+
};
|
|
115
|
+
if (b?.brandShow?.includes("company") && !b.companyName) {
|
|
116
|
+
throw new Error(`branding.brandShow is "${b.brandShow}" but branding.companyName is not set.`);
|
|
117
|
+
}
|
|
118
|
+
if (b?.brandShow?.includes("logo") && !b.logoUrl) {
|
|
119
|
+
throw new Error(`branding.brandShow is "${b.brandShow}" but neither branding.logoUrl nor branding.logoFile is set.`);
|
|
120
|
+
}
|
|
121
|
+
// Shared shapes (brandingShapes): a value the admin API would reject must
|
|
122
|
+
// not deploy — applyBranding silently no-ops on a bad color.
|
|
123
|
+
for (const key of ["primaryColor", "primaryHoverColor", "accentColor"]) {
|
|
124
|
+
const value = b?.[key];
|
|
125
|
+
if (value && !(0, brandingShapes_1.isBrandColor)(key, value)) {
|
|
126
|
+
throw new Error(`branding.${key} ("${value}") must be a #rgb or #rrggbb hex color` +
|
|
127
|
+
(key === "primaryColor" ? ` (or "mono")` : "") +
|
|
128
|
+
`.`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (b?.logoUrl &&
|
|
132
|
+
!(brandingShapes_1.LOGO_URL_RE.test(b.logoUrl) && b.logoUrl.length <= brandingShapes_1.LOGO_MAX)) {
|
|
133
|
+
throw new Error(`branding.logoUrl must be an https:// URL or a data:image/ URI of ` +
|
|
134
|
+
`at most ${brandingShapes_1.LOGO_MAX} characters.`);
|
|
135
|
+
}
|
|
136
|
+
const web = props.web;
|
|
137
|
+
if (web) {
|
|
138
|
+
if (!props.certificate) {
|
|
139
|
+
throw new Error("`web` domains are set but no `certificate` was passed — CloudFront/Cognito require a us-east-1 cert: deploy WebCertStack and pass its certificate.");
|
|
140
|
+
}
|
|
141
|
+
if (web.domainName !== web.zoneName &&
|
|
142
|
+
!web.domainName.endsWith(`.${web.zoneName}`)) {
|
|
143
|
+
throw new Error(`web.domainName (${web.domainName}) must be web.zoneName or a subdomain of it (${web.zoneName}).`);
|
|
144
|
+
}
|
|
145
|
+
// Cognito rejects an auth domain whose parent has no A record — as a
|
|
146
|
+
// child of domainName, the app's own alias record satisfies that.
|
|
147
|
+
if (!web.authDomainName.endsWith(`.${web.domainName}`)) {
|
|
148
|
+
throw new Error(`web.authDomainName (${web.authDomainName}) must be a subdomain of web.domainName (${web.domainName}) — its parent must resolve for Cognito to accept it.`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// The API Lambda (deployed BEFORE this stack) writes /branding.json here
|
|
152
|
+
// by derived name — see webBucketName().
|
|
153
|
+
const siteBucket = new s3.Bucket(this, "SiteBucket", {
|
|
154
|
+
bucketName: webBucketName(props.resourcePrefix, this.account),
|
|
155
|
+
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
|
|
156
|
+
enforceSSL: true,
|
|
157
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY, // contents are redeployable build output
|
|
158
|
+
autoDeleteObjects: true, // otherwise destroy fails on a non-empty bucket
|
|
159
|
+
// Security Hub S3.13 wants a lifecycle configuration; this is the one
|
|
160
|
+
// rule that is useful on a build-output bucket.
|
|
161
|
+
lifecycleRules: [{ abortIncompleteMultipartUploadAfter: cdk.Duration.days(7) }],
|
|
162
|
+
serverAccessLogsBucket: props.accessLogsBucket,
|
|
163
|
+
serverAccessLogsPrefix: props.accessLogsBucket && "s3/web/",
|
|
164
|
+
});
|
|
165
|
+
// NOT CloudFront errorResponses — those are distribution-wide and would
|
|
166
|
+
// rewrite the API's JSON 403/404s into a 200 index page.
|
|
167
|
+
const spaRewrite = new cloudfront.Function(this, "SpaRewrite", {
|
|
168
|
+
comment: "Rewrite extensionless paths to /index.html (SPA routing)",
|
|
169
|
+
code: cloudfront.FunctionCode.fromInline(`
|
|
170
|
+
function handler(event) {
|
|
171
|
+
var request = event.request;
|
|
172
|
+
if (!request.uri.includes(".")) {
|
|
173
|
+
request.uri = "/index.html";
|
|
174
|
+
}
|
|
175
|
+
return request;
|
|
176
|
+
}
|
|
177
|
+
`),
|
|
178
|
+
});
|
|
179
|
+
// ONE origin instance shared by both bucket behaviors — a second
|
|
180
|
+
// withOriginAccessControl() call would mint a duplicate origin + OAC.
|
|
181
|
+
const siteOrigin = origins.S3BucketOrigin.withOriginAccessControl(siteBucket);
|
|
182
|
+
const plugins = props.plugins;
|
|
183
|
+
const pluginAssetsOrigin = plugins
|
|
184
|
+
? origins.S3BucketOrigin.withOriginAccessControl(s3.Bucket.fromBucketName(this, "PluginAssetsBucket", plugins.assetsBucketName))
|
|
185
|
+
: undefined;
|
|
186
|
+
// Where the SPA is allowed to talk: itself, the Cognito API of its region, and the hosted-UI domain
|
|
187
|
+
// (the federation token exchange). Everything else the page loads or sends to is a violation.
|
|
188
|
+
const cognitoOrigin = `https://cognito-idp.${cdk.Stack.of(this).region}.amazonaws.com`;
|
|
189
|
+
const authOrigin = web ? `https://${web.authDomainName}` : "https://*.amazoncognito.com";
|
|
190
|
+
// The shell's inline scripts (the boot-failure fallback) are allowed by hash, taken from the index.html
|
|
191
|
+
// that this very deploy uploads, so the policy and the page cannot drift. Inline event handlers are
|
|
192
|
+
// not covered by hashes: the page must bind them from a script.
|
|
193
|
+
const inlineScriptHashes = [
|
|
194
|
+
...fs.readFileSync(path.join(webAssetPath, "index.html"), "utf8").matchAll(/<script(?![^>]*\ssrc=)[^>]*>([\s\S]*?)<\/script>/gi),
|
|
195
|
+
].map((m) => `'sha256-${crypto.createHash("sha256").update(m[1]).digest("base64")}'`);
|
|
196
|
+
const appCsp = [
|
|
197
|
+
"default-src 'self'",
|
|
198
|
+
["script-src 'self'", ...inlineScriptHashes].join(" "),
|
|
199
|
+
"style-src 'self' 'unsafe-inline'",
|
|
200
|
+
"img-src 'self' data: https:",
|
|
201
|
+
"font-src 'self' data:",
|
|
202
|
+
`connect-src 'self' ${cognitoOrigin} ${authOrigin}`,
|
|
203
|
+
"frame-src 'self'",
|
|
204
|
+
"frame-ancestors 'none'",
|
|
205
|
+
"base-uri 'self'",
|
|
206
|
+
`form-action 'self' ${authOrigin}`,
|
|
207
|
+
"object-src 'none'",
|
|
208
|
+
].join("; ");
|
|
209
|
+
// The same headers the managed SECURITY_HEADERS policy sends, plus the CSP enforced (report-only in
|
|
210
|
+
// 0.1.18's first deploy, no violation seen): tokens live in localStorage, so a script or connection the
|
|
211
|
+
// page did not intend is exactly what a CSP is for. A blocked load logs a console error, so the e2e run
|
|
212
|
+
// fails on a missing allow-list entry. CloudFront rejects `Content-Security-Policy` as a CUSTOM header
|
|
213
|
+
// (the report-only name was accepted only because it is not on the reserved list) — it must be the
|
|
214
|
+
// security-headers field, like the plugin policy below.
|
|
215
|
+
const appHeaders = new cloudfront.ResponseHeadersPolicy(this, "AppHeaders", {
|
|
216
|
+
securityHeadersBehavior: {
|
|
217
|
+
frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },
|
|
218
|
+
contentTypeOptions: { override: true },
|
|
219
|
+
strictTransportSecurity: { accessControlMaxAge: cdk.Duration.days(365), includeSubdomains: true, override: true },
|
|
220
|
+
referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN, override: true },
|
|
221
|
+
xssProtection: { protection: true, modeBlock: true, override: true },
|
|
222
|
+
contentSecurityPolicy: { contentSecurityPolicy: appCsp, override: true },
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
// Plugin UIs are same-origin iframes: SECURITY_HEADERS would send X-Frame-Options DENY, which blocks even
|
|
226
|
+
// same-origin framing. Immutable revision paths cache long; no SPA rewrite, so a missing file is a real error
|
|
227
|
+
// (S3 answers 403 for a key the GetObject-only policy cannot serve), never index.html.
|
|
228
|
+
// A plugin page runs with the signed-in user's authority (same origin), so its CSP is enforced: it may
|
|
229
|
+
// load and talk to the portal only — no third-party scripts, no sending data elsewhere.
|
|
230
|
+
const pluginAssetHeaders = plugins
|
|
231
|
+
? new cloudfront.ResponseHeadersPolicy(this, "PluginAssetHeaders", {
|
|
232
|
+
securityHeadersBehavior: {
|
|
233
|
+
frameOptions: { frameOption: cloudfront.HeadersFrameOption.SAMEORIGIN, override: true },
|
|
234
|
+
contentTypeOptions: { override: true },
|
|
235
|
+
strictTransportSecurity: { accessControlMaxAge: cdk.Duration.days(365), includeSubdomains: true, override: true },
|
|
236
|
+
referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN, override: true },
|
|
237
|
+
contentSecurityPolicy: {
|
|
238
|
+
contentSecurityPolicy: "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'; object-src 'none'",
|
|
239
|
+
override: true,
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
})
|
|
243
|
+
: undefined;
|
|
244
|
+
const distribution = new cloudfront.Distribution(this, "Distribution", {
|
|
245
|
+
comment: "Web frontend (Angular SPA)",
|
|
246
|
+
defaultRootObject: "index.html",
|
|
247
|
+
webAclId: props.webAclArn,
|
|
248
|
+
...(props.accessLogsBucket
|
|
249
|
+
? { enableLogging: true, logBucket: props.accessLogsBucket, logFilePrefix: "cloudfront/web/", logIncludesCookies: false }
|
|
250
|
+
: {}),
|
|
251
|
+
...(web
|
|
252
|
+
? { domainNames: [web.domainName], certificate: props.certificate }
|
|
253
|
+
: {}),
|
|
254
|
+
defaultBehavior: {
|
|
255
|
+
origin: siteOrigin,
|
|
256
|
+
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
257
|
+
// HSTS/nosniff/frame-deny + the CSP on the app pages only — /api/* stays
|
|
258
|
+
// untouched so API responses aren't rewritten.
|
|
259
|
+
responseHeadersPolicy: appHeaders,
|
|
260
|
+
functionAssociations: [
|
|
261
|
+
{
|
|
262
|
+
function: spaRewrite,
|
|
263
|
+
eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
},
|
|
267
|
+
additionalBehaviors: {
|
|
268
|
+
// Runtime-written branding overlay — never cached, so a saved theme
|
|
269
|
+
// shows on the next load without an invalidation.
|
|
270
|
+
"/branding.json": {
|
|
271
|
+
origin: siteOrigin,
|
|
272
|
+
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
273
|
+
cachePolicy: cloudfront.CachePolicy.CACHING_DISABLED,
|
|
274
|
+
},
|
|
275
|
+
...(pluginAssetsOrigin
|
|
276
|
+
? {
|
|
277
|
+
"/plugin-assets/*": {
|
|
278
|
+
origin: pluginAssetsOrigin,
|
|
279
|
+
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
280
|
+
cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,
|
|
281
|
+
responseHeadersPolicy: pluginAssetHeaders,
|
|
282
|
+
},
|
|
283
|
+
}
|
|
284
|
+
: {}),
|
|
285
|
+
// /api/<route> → API Gateway /dev/api/<route>; the Express app strips
|
|
286
|
+
// the /api prefix. No SPA rewrite here, so API status codes pass through.
|
|
287
|
+
"/api/*": {
|
|
288
|
+
origin: new origins.RestApiOrigin(props.api),
|
|
289
|
+
allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,
|
|
290
|
+
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.HTTPS_ONLY,
|
|
291
|
+
// Never cache API responses (per-user, carry credentials).
|
|
292
|
+
cachePolicy: cloudfront.CachePolicy.CACHING_DISABLED,
|
|
293
|
+
// Forward all headers EXCEPT Host — API Gateway routes on its own
|
|
294
|
+
// execute-api hostname and 403s on the CloudFront Host header.
|
|
295
|
+
originRequestPolicy: cloudfront.OriginRequestPolicy.ALL_VIEWER_EXCEPT_HOST_HEADER,
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
});
|
|
299
|
+
let zone;
|
|
300
|
+
let appAlias;
|
|
301
|
+
if (web) {
|
|
302
|
+
zone = route53.HostedZone.fromHostedZoneAttributes(this, "Zone", {
|
|
303
|
+
hostedZoneId: web.hostedZoneId,
|
|
304
|
+
zoneName: web.zoneName,
|
|
305
|
+
});
|
|
306
|
+
const target = route53.RecordTarget.fromAlias(new targets.CloudFrontTarget(distribution));
|
|
307
|
+
appAlias = new route53.ARecord(this, "AppAlias", {
|
|
308
|
+
zone,
|
|
309
|
+
recordName: web.domainName,
|
|
310
|
+
target,
|
|
311
|
+
});
|
|
312
|
+
new route53.AaaaRecord(this, "AppAliasV6", {
|
|
313
|
+
zone,
|
|
314
|
+
recordName: web.domainName,
|
|
315
|
+
target,
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
const webUrl = web
|
|
319
|
+
? `https://${web.domainName}`
|
|
320
|
+
: `https://${distribution.distributionDomainName}`;
|
|
321
|
+
// Federated providers: the pool trusts each issuer; the sign-in itself runs through
|
|
322
|
+
// Cognito's hosted endpoints on the auth domain (authorize → IdP → idpresponse → the app's
|
|
323
|
+
// /auth/callback). Secret by dynamic reference — never in the template.
|
|
324
|
+
const federation = props.federation;
|
|
325
|
+
const idps = (federation?.providers ?? []).map((p) => new cognito.UserPoolIdentityProviderOidc(this, `Idp${p.name}`, {
|
|
326
|
+
userPool: props.userPool,
|
|
327
|
+
name: p.name,
|
|
328
|
+
clientId: p.clientId,
|
|
329
|
+
clientSecret: (0, federation_1.clientSecretReference)(p),
|
|
330
|
+
issuerUrl: p.issuerUrl,
|
|
331
|
+
scopes: [...p.scopes],
|
|
332
|
+
attributeRequestMethod: cognito.OidcAttributeRequestMethod.GET,
|
|
333
|
+
attributeMapping: (0, federation_1.providerAttributeMapping)(p),
|
|
334
|
+
}));
|
|
335
|
+
const claimKeys = federation?.claimKeys ?? [];
|
|
336
|
+
const tokenValidity = {
|
|
337
|
+
// Hard session cap: the SPA renews 1-hour tokens against the
|
|
338
|
+
// refresh token, so its validity IS the max time between logins.
|
|
339
|
+
idTokenValidity: cdk.Duration.hours(1),
|
|
340
|
+
accessTokenValidity: cdk.Duration.hours(1),
|
|
341
|
+
refreshTokenValidity: cdk.Duration.hours(exports.SESSION_HOURS),
|
|
342
|
+
};
|
|
343
|
+
const callbackUrls = [
|
|
344
|
+
...(web ? [`https://${web.domainName}/auth/callback`] : []),
|
|
345
|
+
`https://${distribution.distributionDomainName}/auth/callback`,
|
|
346
|
+
"http://localhost:4200/auth/callback", // ng serve
|
|
347
|
+
];
|
|
348
|
+
const logoutUrls = [
|
|
349
|
+
...(web ? [`https://${web.domainName}`] : []),
|
|
350
|
+
`https://${distribution.distributionDomainName}`,
|
|
351
|
+
"http://localhost:4200",
|
|
352
|
+
];
|
|
353
|
+
// Sign-in is the app's own /login page; the OAuth block only keeps the
|
|
354
|
+
// hosted-UI endpoints valid for pre-cutover sessions. Local only: the mapped claims are
|
|
355
|
+
// readable (they ride local ID tokens of linked users) but never writable here — this
|
|
356
|
+
// client's USER_AUTH access tokens can call UpdateUserAttributes.
|
|
357
|
+
const spaClient = new cognito.UserPoolClient(this, "SpaClient", {
|
|
358
|
+
userPool: props.userPool,
|
|
359
|
+
generateSecret: false,
|
|
360
|
+
supportedIdentityProviders: [cognito.UserPoolClientIdentityProvider.COGNITO],
|
|
361
|
+
...(claimKeys.length
|
|
362
|
+
? {
|
|
363
|
+
readAttributes: (0, federation_1.readAttributes)(claimKeys),
|
|
364
|
+
writeAttributes: (0, federation_1.writeAttributes)(claimKeys, { claims: false }),
|
|
365
|
+
}
|
|
366
|
+
: {}),
|
|
367
|
+
...tokenValidity,
|
|
368
|
+
// `user` = choice-based sign-in (password / email code / passkey).
|
|
369
|
+
authFlows: { user: true },
|
|
370
|
+
// Unknown emails get a simulated challenge menu, so the sign-in page
|
|
371
|
+
// can't be used to probe which emails exist.
|
|
372
|
+
preventUserExistenceErrors: true,
|
|
373
|
+
oAuth: {
|
|
374
|
+
flows: { authorizationCodeGrant: true },
|
|
375
|
+
scopes: [
|
|
376
|
+
cognito.OAuthScope.OPENID,
|
|
377
|
+
cognito.OAuthScope.EMAIL,
|
|
378
|
+
cognito.OAuthScope.PROFILE,
|
|
379
|
+
],
|
|
380
|
+
// The raw CloudFront URL stays registered alongside a custom domain
|
|
381
|
+
// so existing tabs/bookmarks survive the cutover.
|
|
382
|
+
callbackUrls,
|
|
383
|
+
logoutUrls,
|
|
384
|
+
},
|
|
385
|
+
});
|
|
386
|
+
// The federated code flow runs on its own client: providers only (no local sign-in on
|
|
387
|
+
// it), refresh as the sole auth flow, and the ONE place the mapped claims are writable —
|
|
388
|
+
// its tokens never carry the self-service scope, so only Cognito's mapping writes them.
|
|
389
|
+
let federationClient;
|
|
390
|
+
if (federation) {
|
|
391
|
+
federationClient = new cognito.UserPoolClient(this, "FederationClient", {
|
|
392
|
+
userPool: props.userPool,
|
|
393
|
+
generateSecret: false,
|
|
394
|
+
supportedIdentityProviders: federation.providers.map((p) => cognito.UserPoolClientIdentityProvider.custom(p.name)),
|
|
395
|
+
readAttributes: (0, federation_1.readAttributes)(claimKeys),
|
|
396
|
+
writeAttributes: (0, federation_1.writeAttributes)(claimKeys, { claims: true }),
|
|
397
|
+
...tokenValidity,
|
|
398
|
+
preventUserExistenceErrors: true,
|
|
399
|
+
oAuth: {
|
|
400
|
+
flows: { authorizationCodeGrant: true },
|
|
401
|
+
scopes: [cognito.OAuthScope.OPENID, cognito.OAuthScope.EMAIL, cognito.OAuthScope.PROFILE],
|
|
402
|
+
callbackUrls,
|
|
403
|
+
logoutUrls,
|
|
404
|
+
},
|
|
405
|
+
});
|
|
406
|
+
// CDK can't express refresh-only; Cognito's default for an unset list would enable SRP.
|
|
407
|
+
federationClient.node.defaultChild.explicitAuthFlows = [
|
|
408
|
+
"ALLOW_REFRESH_TOKEN_AUTH",
|
|
409
|
+
];
|
|
410
|
+
// A client may only list providers that already exist.
|
|
411
|
+
for (const idp of idps)
|
|
412
|
+
federationClient.node.addDependency(idp);
|
|
413
|
+
}
|
|
414
|
+
// Fallback prefix is region-globally unique across ALL AWS accounts,
|
|
415
|
+
// so include the account id.
|
|
416
|
+
const hostedUiDomain = new cognito.UserPoolDomain(this, "HostedUiDomain", {
|
|
417
|
+
userPool: props.userPool,
|
|
418
|
+
...(web
|
|
419
|
+
? {
|
|
420
|
+
customDomain: {
|
|
421
|
+
domainName: web.authDomainName,
|
|
422
|
+
certificate: props.certificate,
|
|
423
|
+
},
|
|
424
|
+
}
|
|
425
|
+
: { cognitoDomain: { domainPrefix: `creds-${this.account}` } }),
|
|
426
|
+
// Managed Login v2 — required for the passkey chooser + branding designer.
|
|
427
|
+
managedLoginVersion: cognito.ManagedLoginVersion.NEWER_MANAGED_LOGIN,
|
|
428
|
+
});
|
|
429
|
+
if (web && zone && appAlias) {
|
|
430
|
+
// Cognito checks the parent A record at create time — the app's alias
|
|
431
|
+
// must exist first.
|
|
432
|
+
hostedUiDomain.node.addDependency(appAlias);
|
|
433
|
+
new route53.ARecord(this, "AuthAlias", {
|
|
434
|
+
zone,
|
|
435
|
+
recordName: web.authDomainName,
|
|
436
|
+
target: route53.RecordTarget.fromAlias(new targets.UserPoolDomainTarget(hostedUiDomain)),
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
// White-label: swap the accent tokens in managed-login-branding.json to
|
|
440
|
+
// re-skin a client's login page.
|
|
441
|
+
const loginBranding = new cognito.CfnManagedLoginBranding(this, "SpaLoginBranding", {
|
|
442
|
+
userPoolId: props.userPool.userPoolId,
|
|
443
|
+
clientId: spaClient.userPoolClientId,
|
|
444
|
+
useCognitoProvidedValues: false,
|
|
445
|
+
// Imported (not fs-read) so tsc copies the JSON into dist/ and the
|
|
446
|
+
// published package needs no lib/ source next to the compiled code.
|
|
447
|
+
settings: managed_login_branding_json_1.default,
|
|
448
|
+
});
|
|
449
|
+
// The domain must serve v2 before a v2 branding style is meaningful.
|
|
450
|
+
loginBranding.addResourceDependency(hostedUiDomain.node.defaultChild);
|
|
451
|
+
if (federationClient) {
|
|
452
|
+
// Same style for the federation client's hosted pages (error pages, mostly).
|
|
453
|
+
const federationBranding = new cognito.CfnManagedLoginBranding(this, "FederationLoginBranding", {
|
|
454
|
+
userPoolId: props.userPool.userPoolId,
|
|
455
|
+
clientId: federationClient.userPoolClientId,
|
|
456
|
+
useCognitoProvidedValues: false,
|
|
457
|
+
settings: managed_login_branding_json_1.default,
|
|
458
|
+
});
|
|
459
|
+
federationBranding.addResourceDependency(hostedUiDomain.node.defaultChild);
|
|
460
|
+
}
|
|
461
|
+
// The /* invalidation matters: index.html isn't content-hashed — without
|
|
462
|
+
// it users get a stale page for up to 24h.
|
|
463
|
+
const appConfig = {
|
|
464
|
+
userPoolId: props.userPool.userPoolId,
|
|
465
|
+
spaClientId: spaClient.userPoolClientId,
|
|
466
|
+
hostedUiDomain: hostedUiDomain.baseUrl(),
|
|
467
|
+
region: this.region,
|
|
468
|
+
sessionHours: exports.SESSION_HOURS,
|
|
469
|
+
network: !!props.network,
|
|
470
|
+
...(props.devShares ? { devShares: props.devShares } : {}),
|
|
471
|
+
...(props.accountDimensions ? { dimensions: { labels: props.accountDimensions.labels, stages: props.accountDimensions.stages } } : {}),
|
|
472
|
+
...(props.mfa ? { mfa: props.mfa } : {}),
|
|
473
|
+
...(props.passkey ? { passkey: true } : {}),
|
|
474
|
+
...(federation && federationClient
|
|
475
|
+
? { federation: (0, federation_1.federationAppConfig)(federation, federationClient.userPoolClientId) }
|
|
476
|
+
: {}),
|
|
477
|
+
...(b ? { branding: b } : {}),
|
|
478
|
+
...(plugins ? { plugins: { enabled: true, discoveryRefreshSeconds: plugins.discoveryRefreshSeconds } } : {}),
|
|
479
|
+
};
|
|
480
|
+
this.appConfig = appConfig;
|
|
481
|
+
if (federationClient) {
|
|
482
|
+
// What the operator registers at every IdP as the redirect URI.
|
|
483
|
+
new cdk.CfnOutput(this, "FederationRedirectUri", {
|
|
484
|
+
value: `${hostedUiDomain.baseUrl()}/oauth2/idpresponse`,
|
|
485
|
+
});
|
|
486
|
+
new cdk.CfnOutput(this, "FederationClientId", { value: federationClient.userPoolClientId });
|
|
487
|
+
}
|
|
488
|
+
// Two uploads because two cache rules: hashed chunks never change under their name, while index.html
|
|
489
|
+
// and config.json change on every deploy under the SAME name. Without a Cache-Control header browsers
|
|
490
|
+
// apply heuristic freshness to those two, kept the old shell for a day after a deploy and then asked
|
|
491
|
+
// for chunks the prune had removed (the "old bundle still live" incidents; desktop/main.js clears its
|
|
492
|
+
// HTTP cache for the same reason).
|
|
493
|
+
// Three steps so no moment of a deploy serves an index.html whose chunks are missing: (1) the new
|
|
494
|
+
// chunks land beside the old ones, (2) the new index.html and config.json go live, (3) only then are the
|
|
495
|
+
// previous build's chunks pruned (a tab still on the old shell that loads a pruned chunk reloads —
|
|
496
|
+
// frontend/src/app/app.config.ts).
|
|
497
|
+
const hashedAssets = s3deploy.Source.asset(webAssetPath, { exclude: ["config.json", "index.html"] });
|
|
498
|
+
const immutable = [s3deploy.CacheControl.maxAge(cdk.Duration.days(365)), s3deploy.CacheControl.immutable()];
|
|
499
|
+
const assets = new s3deploy.BucketDeployment(this, "DeploySite", {
|
|
500
|
+
sources: [hashedAssets],
|
|
501
|
+
destinationBucket: siteBucket,
|
|
502
|
+
cacheControl: immutable,
|
|
503
|
+
prune: false,
|
|
504
|
+
});
|
|
505
|
+
const entry = new s3deploy.BucketDeployment(this, "DeploySiteEntry", {
|
|
506
|
+
sources: [
|
|
507
|
+
s3deploy.Source.asset(webAssetPath, { exclude: ["*", "!index.html"] }),
|
|
508
|
+
s3deploy.Source.jsonData("config.json", appConfig),
|
|
509
|
+
],
|
|
510
|
+
destinationBucket: siteBucket,
|
|
511
|
+
cacheControl: [s3deploy.CacheControl.noCache()],
|
|
512
|
+
prune: false,
|
|
513
|
+
distribution,
|
|
514
|
+
distributionPaths: ["/*"],
|
|
515
|
+
});
|
|
516
|
+
entry.node.addDependency(assets);
|
|
517
|
+
const prune = new s3deploy.BucketDeployment(this, "DeploySitePrune", {
|
|
518
|
+
sources: [hashedAssets],
|
|
519
|
+
destinationBucket: siteBucket,
|
|
520
|
+
cacheControl: immutable,
|
|
521
|
+
// Removes the previous build's chunks, never the entry files or the admin-saved theme (runtime state,
|
|
522
|
+
// not a deploy artifact).
|
|
523
|
+
exclude: ["branding.json", "index.html", "config.json"],
|
|
524
|
+
});
|
|
525
|
+
prune.node.addDependency(entry);
|
|
526
|
+
new cdk.CfnOutput(this, "DistributionDomain", {
|
|
527
|
+
value: distribution.distributionDomainName,
|
|
528
|
+
});
|
|
529
|
+
new cdk.CfnOutput(this, "WebUrl", {
|
|
530
|
+
value: webUrl,
|
|
531
|
+
});
|
|
532
|
+
new cdk.CfnOutput(this, "SpaClientId", {
|
|
533
|
+
value: spaClient.userPoolClientId,
|
|
534
|
+
});
|
|
535
|
+
new cdk.CfnOutput(this, "HostedUiUrl", {
|
|
536
|
+
value: hostedUiDomain.baseUrl(),
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
exports.WebStack = WebStack;
|