@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,592 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CredsStack = void 0;
|
|
37
|
+
exports.resolveAlertEmails = resolveAlertEmails;
|
|
38
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
39
|
+
const naming_1 = require("../lambdacode/network/naming");
|
|
40
|
+
const web_stack_1 = require("./web-stack");
|
|
41
|
+
const apigw = __importStar(require("aws-cdk-lib/aws-apigateway"));
|
|
42
|
+
const wafv2 = __importStar(require("aws-cdk-lib/aws-wafv2"));
|
|
43
|
+
const web_acl_1 = require("./constructs/web-acl");
|
|
44
|
+
const cognito = __importStar(require("aws-cdk-lib/aws-cognito"));
|
|
45
|
+
const events = __importStar(require("aws-cdk-lib/aws-events"));
|
|
46
|
+
const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
47
|
+
const s3 = __importStar(require("aws-cdk-lib/aws-s3"));
|
|
48
|
+
const targets = __importStar(require("aws-cdk-lib/aws-events-targets"));
|
|
49
|
+
const logs = __importStar(require("aws-cdk-lib/aws-logs"));
|
|
50
|
+
const cr = __importStar(require("aws-cdk-lib/custom-resources"));
|
|
51
|
+
const app_function_1 = require("./constructs/app-function");
|
|
52
|
+
const audit_log_1 = require("./audit-log");
|
|
53
|
+
const plugin_api_1 = require("./plugins/plugin-api");
|
|
54
|
+
const plugin_catalog_activation_1 = require("./plugins/plugin-catalog-activation");
|
|
55
|
+
const runtime_1 = require("./plugins/runtime");
|
|
56
|
+
const monitoring_1 = require("./constructs/monitoring");
|
|
57
|
+
const oidc_issuer_1 = require("./constructs/oidc-issuer");
|
|
58
|
+
const vending_api_1 = require("./constructs/vending-api");
|
|
59
|
+
const federation_1 = require("./federation");
|
|
60
|
+
/** Cognito + issuer + vending API. The user pool and REST API stay at stack
|
|
61
|
+
* level so their CloudFormation identities survive internal refactors. */
|
|
62
|
+
const EMAIL_RE = /^[^\s@"]+@[^\s@"]+\.[^\s@"]+$/;
|
|
63
|
+
/** `alertEmail` as the list it stands for: trimmed, de-duplicated, every entry a real address.
|
|
64
|
+
* Throws at synth — a placeholder would leave every alarm pointed at nothing. */
|
|
65
|
+
function resolveAlertEmails(alertEmail) {
|
|
66
|
+
const list = [...new Set((typeof alertEmail === "string" ? [alertEmail] : alertEmail).map((e) => e.trim()))];
|
|
67
|
+
if (!list.length)
|
|
68
|
+
throw new Error("alertEmail is empty — alarms and the issuer canary need a recipient.");
|
|
69
|
+
for (const e of list) {
|
|
70
|
+
if (!EMAIL_RE.test(e) || /change-me/i.test(e)) {
|
|
71
|
+
throw new Error(`alertEmail (${e}) is not a real email address — alarms and the issuer canary notify it.`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return list;
|
|
75
|
+
}
|
|
76
|
+
class CredsStack extends cdk.Stack {
|
|
77
|
+
/** Fronted by WebStack's CloudFront /api/* behavior (same-origin, no CORS). */
|
|
78
|
+
api;
|
|
79
|
+
/** Plugin routes + the shared authorizer; present only when plugins are on. */
|
|
80
|
+
pluginApi;
|
|
81
|
+
/** Other stacks hook their alarms here. */
|
|
82
|
+
alertTopic;
|
|
83
|
+
/** WebStack attaches the SPA client + domain here — their callback URLs
|
|
84
|
+
* need the CloudFront domain (avoids a circular stack ref). */
|
|
85
|
+
userPool;
|
|
86
|
+
constructor(scope, id, props) {
|
|
87
|
+
super(scope, id, props);
|
|
88
|
+
const { loginMethods } = props;
|
|
89
|
+
if (!props.projectName.trim()) {
|
|
90
|
+
throw new Error("projectName must be a non-empty display name — " +
|
|
91
|
+
"it is what users see in invite emails and the desktop app.");
|
|
92
|
+
}
|
|
93
|
+
const alertEmails = resolveAlertEmails(props.alertEmail);
|
|
94
|
+
if (loginMethods.password === false) {
|
|
95
|
+
throw new Error("loginMethods.password: false is not supported — Cognito requires " +
|
|
96
|
+
"password as a first-auth factor. Omit it or set true.");
|
|
97
|
+
}
|
|
98
|
+
// A prefix-domain RP id can never match the app origin — every passkey
|
|
99
|
+
// registration would throw SecurityError.
|
|
100
|
+
if (loginMethods.passkey && !props.passkeyDomain) {
|
|
101
|
+
throw new Error("loginMethods.passkey requires the `web` block — passkeys bind to " +
|
|
102
|
+
"the custom web domain as the relying-party id. Set `web`, or " +
|
|
103
|
+
"disable passkey until it exists.");
|
|
104
|
+
}
|
|
105
|
+
// Adaptive step-ups only exist with MFA at least optional on the pool.
|
|
106
|
+
if (loginMethods.threatProtection && !loginMethods.mfa) {
|
|
107
|
+
throw new Error('loginMethods.threatProtection needs mfa: "optional" or "required" — ' +
|
|
108
|
+
"its risky-sign-in step-ups are TOTP challenges.");
|
|
109
|
+
}
|
|
110
|
+
// Security Hub Cognito.5 evaluates PASSWORD-only pools — a silent default
|
|
111
|
+
// would change the pool and the web UI behind the config's back.
|
|
112
|
+
if (!loginMethods.passkey &&
|
|
113
|
+
!loginMethods.emailOtp &&
|
|
114
|
+
!loginMethods.mfa) {
|
|
115
|
+
throw new Error('loginMethods: a password-only pool must set mfa: "optional" or ' +
|
|
116
|
+
'"required" (Security Hub Cognito.5), or enable a passwordless ' +
|
|
117
|
+
"factor (passkey / emailOtp).");
|
|
118
|
+
}
|
|
119
|
+
// An address outside the domain deploys fine, then fails on every send.
|
|
120
|
+
if (props.email &&
|
|
121
|
+
!props.email.fromAddress.endsWith(`@${props.email.zoneName}`)) {
|
|
122
|
+
throw new Error(`email.fromAddress (${props.email.fromAddress}) must be an address ` +
|
|
123
|
+
`under email.zoneName (${props.email.zoneName}).`);
|
|
124
|
+
}
|
|
125
|
+
// Lowercased — the pool's sign-in alias is case-sensitive.
|
|
126
|
+
const firstAdminEmail = props.firstAdmin?.email.trim().toLowerCase();
|
|
127
|
+
if (firstAdminEmail !== undefined &&
|
|
128
|
+
(!EMAIL_RE.test(firstAdminEmail) || /change-me/i.test(firstAdminEmail))) {
|
|
129
|
+
throw new Error(`firstAdmin.email (${props.firstAdmin.email}) is not a real email ` +
|
|
130
|
+
`address — it receives the first admin invite.`);
|
|
131
|
+
}
|
|
132
|
+
const { accountsTable, rolesTable, requestsTable, auditTable, groupsTable, resourcesTable, accessTable, revocationsTable, serviceUsersTable, } = props;
|
|
133
|
+
const auditLog = { table: auditTable, retentionDays: props.auditRetentionDays ?? audit_log_1.DEFAULT_AUDIT_RETENTION_DAYS };
|
|
134
|
+
const ssoLabels = props.federation?.providers.map((p) => p.label).join(" or ");
|
|
135
|
+
const ssoLead = (how) => ssoLabels
|
|
136
|
+
? `<p>If your organization signs in with ${ssoLabels}, ${how} — you don't need a password.</p>`
|
|
137
|
+
: "";
|
|
138
|
+
const userPool = new cognito.UserPool(this, "UserPool", {
|
|
139
|
+
selfSignUpEnabled: false, // admins create users
|
|
140
|
+
signInAliases: { email: true },
|
|
141
|
+
// Cognito's own defaults, pinned so they can't drift.
|
|
142
|
+
passwordPolicy: {
|
|
143
|
+
minLength: 8,
|
|
144
|
+
requireLowercase: true,
|
|
145
|
+
requireUppercase: true,
|
|
146
|
+
requireDigits: true,
|
|
147
|
+
requireSymbols: true,
|
|
148
|
+
},
|
|
149
|
+
removalPolicy: props.prod
|
|
150
|
+
? cdk.RemovalPolicy.RETAIN
|
|
151
|
+
: cdk.RemovalPolicy.DESTROY,
|
|
152
|
+
// RETAIN only covers stack deletion, not a direct DeleteUserPool.
|
|
153
|
+
deletionProtection: !!props.prod,
|
|
154
|
+
email: props.email
|
|
155
|
+
? cognito.UserPoolEmail.withSES({
|
|
156
|
+
fromEmail: props.email.fromAddress,
|
|
157
|
+
fromName: props.email.fromName,
|
|
158
|
+
sesVerifiedDomain: props.email.zoneName,
|
|
159
|
+
})
|
|
160
|
+
: undefined,
|
|
161
|
+
// Cognito requires {username} + {####}, but {username} is the internal
|
|
162
|
+
// UUID — it rides in the link (#inv=…) or hides in an HTML comment. ONE
|
|
163
|
+
// template per pool, so with SSO configured it addresses both kinds of
|
|
164
|
+
// user: the provider button first, the password path as the fallback.
|
|
165
|
+
userInvitation: props.appUrl
|
|
166
|
+
? {
|
|
167
|
+
emailSubject: `Your ${props.projectName} invitation`,
|
|
168
|
+
emailBody: `<p>You've been invited to ${props.projectName}.</p>` +
|
|
169
|
+
ssoLead(`open <a href="${props.appUrl}/login">${props.appUrl}/login</a> and click <b>Sign in with ${ssoLabels}</b>`) +
|
|
170
|
+
`<p>${ssoLabels ? "Otherwise, " : ""}<a href="${props.appUrl}/login#inv={username}:{####}">${ssoLabels ? "set" : "Set"} your password</a> to get started.</p>` +
|
|
171
|
+
`<p>The set-password link expires in 7 days. If it has expired, ask your administrator to resend the invite.</p>`,
|
|
172
|
+
}
|
|
173
|
+
: {
|
|
174
|
+
emailSubject: `Your ${props.projectName} invitation`,
|
|
175
|
+
emailBody: `<p>You've been invited to ${props.projectName}.</p>` +
|
|
176
|
+
ssoLead(`click <b>Sign in with ${ssoLabels}</b> on the sign-in page`) +
|
|
177
|
+
`<p>${ssoLabels ? "Otherwise, sign" : "Sign"} in with your email address and this temporary password: {####}</p>` +
|
|
178
|
+
`<p>The password expires in 7 days. If it has expired, ask your administrator to resend the invite.</p>` +
|
|
179
|
+
`<!-- {username} -->`,
|
|
180
|
+
},
|
|
181
|
+
// One template for EVERY emailed code, password resets included — the
|
|
182
|
+
// copy must stay flow-neutral.
|
|
183
|
+
userVerification: {
|
|
184
|
+
emailSubject: `Your ${props.projectName} verification code`,
|
|
185
|
+
emailBody: `<p>Your ${props.projectName} verification code is {####}.</p>` +
|
|
186
|
+
`<p>If you didn't request a code, you can ignore this email.</p>`,
|
|
187
|
+
},
|
|
188
|
+
// ESSENTIALS covers email OTP, passkeys, and the branding designer;
|
|
189
|
+
// threat protection is PLUS-only.
|
|
190
|
+
featurePlan: loginMethods.threatProtection
|
|
191
|
+
? cognito.FeaturePlan.PLUS
|
|
192
|
+
: cognito.FeaturePlan.ESSENTIALS,
|
|
193
|
+
standardThreatProtectionMode: loginMethods.threatProtection
|
|
194
|
+
? cognito.StandardThreatProtectionMode.FULL_FUNCTION
|
|
195
|
+
: undefined,
|
|
196
|
+
customThreatProtectionMode: loginMethods.threatProtection
|
|
197
|
+
? cognito.CustomThreatProtectionMode.FULL_FUNCTION
|
|
198
|
+
: undefined,
|
|
199
|
+
signInPolicy: {
|
|
200
|
+
allowedFirstAuthFactors: {
|
|
201
|
+
password: true,
|
|
202
|
+
emailOtp: loginMethods.emailOtp ?? false,
|
|
203
|
+
passkey: loginMethods.passkey ?? false,
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
// Spread: EnabledMfas may not appear at all when MFA is off.
|
|
207
|
+
...(loginMethods.mfa
|
|
208
|
+
? {
|
|
209
|
+
mfa: loginMethods.mfa === "required"
|
|
210
|
+
? cognito.Mfa.REQUIRED
|
|
211
|
+
: cognito.Mfa.OPTIONAL,
|
|
212
|
+
// No SMS: it would need SNS, an origination number and sandbox exit.
|
|
213
|
+
mfaSecondFactor: { sms: false, otp: true },
|
|
214
|
+
}
|
|
215
|
+
: {}),
|
|
216
|
+
// The apex domain survives auth-host changes. Changing the RP id
|
|
217
|
+
// orphans every registered passkey.
|
|
218
|
+
passkeyRelyingPartyId: props.passkeyDomain ??
|
|
219
|
+
`creds-${this.account}.auth.${this.region}.amazoncognito.com`,
|
|
220
|
+
passkeyUserVerification: cognito.PasskeyUserVerification.PREFERRED,
|
|
221
|
+
// Mapped claims. MUTABLE is load-bearing: Cognito rewrites a mapped attribute on every
|
|
222
|
+
// sign-in whose value changed, and an immutable one lets the user in exactly once.
|
|
223
|
+
// Permanent for the pool's life — attributes can't be renamed or removed.
|
|
224
|
+
...(props.federation?.claimKeys.length
|
|
225
|
+
? {
|
|
226
|
+
customAttributes: Object.fromEntries(props.federation.claimKeys.map((c) => [
|
|
227
|
+
c.key,
|
|
228
|
+
new cognito.StringAttribute({ mutable: true, minLen: 0, maxLen: c.maxLen }),
|
|
229
|
+
])),
|
|
230
|
+
}
|
|
231
|
+
: {}),
|
|
232
|
+
});
|
|
233
|
+
this.userPool = userPool;
|
|
234
|
+
if (props.federation) {
|
|
235
|
+
// First federated sign-in of an identity: link it to the invited user with that email, or
|
|
236
|
+
// refuse (admins decide who gets in). No USER_POOL_ID env and a policy outside the role's
|
|
237
|
+
// default one — both would close a pool → trigger → pool dependency cycle.
|
|
238
|
+
const preSignUp = new app_function_1.AppFunction(this, "FederationPreSignUpFn", {
|
|
239
|
+
description: "Sign-in trigger: links a first single-sign-on login to the invited user with that email, or refuses it.",
|
|
240
|
+
asset: "federation-presignup",
|
|
241
|
+
// Cognito waits 5 s for a trigger, then retries — longer only does invisible work.
|
|
242
|
+
timeout: cdk.Duration.seconds(5),
|
|
243
|
+
});
|
|
244
|
+
new iam.Policy(this, "FederationPreSignUpPolicy", {
|
|
245
|
+
roles: [preSignUp.role],
|
|
246
|
+
statements: [
|
|
247
|
+
new iam.PolicyStatement({
|
|
248
|
+
// ListUsers: the last-resort case-insensitive scan for a mixed-case invite.
|
|
249
|
+
actions: ["cognito-idp:AdminGetUser", "cognito-idp:ListUsers", "cognito-idp:AdminLinkProviderForUser"],
|
|
250
|
+
resources: [userPool.userPoolArn],
|
|
251
|
+
}),
|
|
252
|
+
],
|
|
253
|
+
});
|
|
254
|
+
userPool.addTrigger(cognito.UserPoolOperation.PRE_SIGN_UP, preSignUp);
|
|
255
|
+
}
|
|
256
|
+
if (loginMethods.threatProtection) {
|
|
257
|
+
// Full-function mode acts only through these actions. Step up, never
|
|
258
|
+
// block, on risk so a user without MFA enrolled can still sign in.
|
|
259
|
+
// Compromised-credential checks cover password sign-ins, not SRP.
|
|
260
|
+
new cognito.CfnUserPoolRiskConfigurationAttachment(this, "RiskConfiguration", {
|
|
261
|
+
userPoolId: userPool.userPoolId,
|
|
262
|
+
clientId: "ALL",
|
|
263
|
+
compromisedCredentialsRiskConfiguration: {
|
|
264
|
+
actions: { eventAction: "BLOCK" },
|
|
265
|
+
eventFilter: ["SIGN_IN", "PASSWORD_CHANGE", "SIGN_UP"],
|
|
266
|
+
},
|
|
267
|
+
accountTakeoverRiskConfiguration: {
|
|
268
|
+
actions: {
|
|
269
|
+
lowAction: { eventAction: "NO_ACTION", notify: false },
|
|
270
|
+
mediumAction: { eventAction: "MFA_IF_CONFIGURED", notify: false },
|
|
271
|
+
highAction: { eventAction: "MFA_IF_CONFIGURED", notify: false },
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
const userPoolClient = userPool.addClient("WebClient", {
|
|
277
|
+
// `user` = choice-based flow; userPassword/userSrp stay for scripts.
|
|
278
|
+
authFlows: { userPassword: true, userSrp: true, user: true },
|
|
279
|
+
// Explicit: federated providers register on the pool from WebStack and
|
|
280
|
+
// must never widen this scripts-only client.
|
|
281
|
+
supportedIdentityProviders: [cognito.UserPoolClientIdentityProvider.COGNITO],
|
|
282
|
+
// Its tokens carry the mapped claims like the SPA client's (read only, never write).
|
|
283
|
+
...(props.federation?.claimKeys.length
|
|
284
|
+
? {
|
|
285
|
+
readAttributes: (0, federation_1.readAttributes)(props.federation.claimKeys),
|
|
286
|
+
writeAttributes: (0, federation_1.writeAttributes)(props.federation.claimKeys, { claims: false }),
|
|
287
|
+
}
|
|
288
|
+
: {}),
|
|
289
|
+
// Without this CDK fills in OAuth defaults (implicit grant + an
|
|
290
|
+
// example.com callback) that nobody chose.
|
|
291
|
+
disableOAuth: true,
|
|
292
|
+
// This client id is published unauthenticated (/.well-known/infra-client), so like the SPA client it
|
|
293
|
+
// must answer "wrong credentials" for unknown and known addresses alike — the Cognito default (LEGACY)
|
|
294
|
+
// tells anyone which emails have an account.
|
|
295
|
+
preventUserExistenceErrors: true,
|
|
296
|
+
// Same session cap as the SPA client — Cognito's 30-day refresh default
|
|
297
|
+
// would outlive it.
|
|
298
|
+
idTokenValidity: cdk.Duration.hours(1),
|
|
299
|
+
accessTokenValidity: cdk.Duration.hours(1),
|
|
300
|
+
refreshTokenValidity: cdk.Duration.hours(web_stack_1.SESSION_HOURS),
|
|
301
|
+
});
|
|
302
|
+
// auth.ts requires exactly `api/invoke` on service-user tokens; the M2M
|
|
303
|
+
// clients themselves are created at runtime (serviceUsersService).
|
|
304
|
+
userPool.addResourceServer("ApiResourceServer", {
|
|
305
|
+
identifier: "api",
|
|
306
|
+
scopes: [
|
|
307
|
+
new cognito.ResourceServerScope({
|
|
308
|
+
scopeName: "invoke",
|
|
309
|
+
scopeDescription: "Call the vending API as a service user",
|
|
310
|
+
}),
|
|
311
|
+
],
|
|
312
|
+
});
|
|
313
|
+
// Admin = membership here, via the token's cognito:groups claim — no DB
|
|
314
|
+
// flag; requireAdmin checks this exact name.
|
|
315
|
+
const adminsGroup = new cognito.CfnUserPoolGroup(this, "AdminsGroup", {
|
|
316
|
+
userPoolId: userPool.userPoolId,
|
|
317
|
+
groupName: "admins",
|
|
318
|
+
description: "Users allowed to call admin-only API routes.",
|
|
319
|
+
});
|
|
320
|
+
// Mints the one account nothing else can; the handler is idempotent
|
|
321
|
+
// against the live pool (lambdacode/firstadmin/handler.ts).
|
|
322
|
+
if (props.firstAdmin) {
|
|
323
|
+
const firstAdminFn = new app_function_1.AppFunction(this, "FirstAdminFn", {
|
|
324
|
+
description: "Deploy-time helper: creates the first admin account and sends its invite.",
|
|
325
|
+
asset: "firstadmin",
|
|
326
|
+
timeout: cdk.Duration.seconds(30),
|
|
327
|
+
environment: { USER_POOL_ID: userPool.userPoolId, ...(0, audit_log_1.auditLogEnv)(auditLog) },
|
|
328
|
+
});
|
|
329
|
+
(0, audit_log_1.grantAuditLogWrite)(firstAdminFn, auditLog);
|
|
330
|
+
firstAdminFn.addToRolePolicy(new iam.PolicyStatement({
|
|
331
|
+
actions: [
|
|
332
|
+
"cognito-idp:AdminGetUser",
|
|
333
|
+
"cognito-idp:AdminCreateUser",
|
|
334
|
+
"cognito-idp:AdminAddUserToGroup",
|
|
335
|
+
// Tells a promotion of an existing user (an admin-grant row) from a no-op re-add.
|
|
336
|
+
"cognito-idp:AdminListGroupsForUser",
|
|
337
|
+
],
|
|
338
|
+
resources: [userPool.userPoolArn],
|
|
339
|
+
}));
|
|
340
|
+
const provider = new cr.Provider(this, "FirstAdminProvider", {
|
|
341
|
+
onEventHandler: firstAdminFn,
|
|
342
|
+
});
|
|
343
|
+
const firstAdmin = new cdk.CustomResource(this, "FirstAdmin", {
|
|
344
|
+
serviceToken: provider.serviceToken,
|
|
345
|
+
resourceType: "Custom::FirstAdmin",
|
|
346
|
+
properties: {
|
|
347
|
+
Email: firstAdminEmail,
|
|
348
|
+
Resend: props.firstAdmin.resend ?? 0,
|
|
349
|
+
// Bump when the handler's RESPONSE shape changes — a stale response
|
|
350
|
+
// has no new Data attribute for outputs to GetAtt.
|
|
351
|
+
SchemaVersion: "2",
|
|
352
|
+
},
|
|
353
|
+
});
|
|
354
|
+
// The group-add must find the group already created.
|
|
355
|
+
firstAdmin.node.addDependency(adminsGroup);
|
|
356
|
+
new cdk.CfnOutput(this, "FirstAdminEmail", {
|
|
357
|
+
value: firstAdminEmail,
|
|
358
|
+
});
|
|
359
|
+
// "suppressed" = created but the invite email failed (SES sandbox) —
|
|
360
|
+
// resend from the Users page; "blocked" = left untouched.
|
|
361
|
+
new cdk.CfnOutput(this, "FirstAdminInviteSent", {
|
|
362
|
+
value: firstAdmin.getAttString("InviteSent"),
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
// Created before the issuer: the signing key's policy names this role as
|
|
366
|
+
// the ONLY principal allowed kms:Sign.
|
|
367
|
+
const vendingRole = new iam.Role(this, "VendingApiRole", {
|
|
368
|
+
assumedBy: new iam.ServicePrincipal("lambda.amazonaws.com"),
|
|
369
|
+
managedPolicies: [
|
|
370
|
+
iam.ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaBasicExecutionRole"),
|
|
371
|
+
],
|
|
372
|
+
});
|
|
373
|
+
const issuer = new oidc_issuer_1.OidcIssuer(this, "Issuer", {
|
|
374
|
+
...props.issuer,
|
|
375
|
+
signerRole: vendingRole,
|
|
376
|
+
prod: props.prod,
|
|
377
|
+
accessLogsBucket: props.accessLogsBucket,
|
|
378
|
+
});
|
|
379
|
+
// The branding route writes /branding.json into the site bucket, by name
|
|
380
|
+
// — WebStack deploys after us.
|
|
381
|
+
const siteBucketName = (0, web_stack_1.webBucketName)(props.resourcePrefix, this.account);
|
|
382
|
+
vendingRole.addToPrincipalPolicy(new iam.PolicyStatement({
|
|
383
|
+
actions: ["s3:PutObject", "s3:GetObject"],
|
|
384
|
+
resources: [`arn:aws:s3:::${siteBucketName}/branding.json`],
|
|
385
|
+
}));
|
|
386
|
+
// Without ListBucket a missing overlay reads AccessDenied (branding saves
|
|
387
|
+
// 502); unconditioned — S3's 404-vs-403 check can't see s3:prefix reliably.
|
|
388
|
+
vendingRole.addToPrincipalPolicy(new iam.PolicyStatement({
|
|
389
|
+
actions: ["s3:ListBucket"],
|
|
390
|
+
resources: [`arn:aws:s3:::${siteBucketName}`],
|
|
391
|
+
}));
|
|
392
|
+
// Access reports built in the background land here, behind presigned links; nothing lives past a week.
|
|
393
|
+
const reportsBucket = new s3.Bucket(this, "ReportsBucket", {
|
|
394
|
+
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
|
|
395
|
+
encryption: s3.BucketEncryption.S3_MANAGED,
|
|
396
|
+
enforceSSL: true,
|
|
397
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY, // derived output, rebuilt on request
|
|
398
|
+
autoDeleteObjects: true,
|
|
399
|
+
lifecycleRules: [{ expiration: cdk.Duration.days(7), abortIncompleteMultipartUploadAfter: cdk.Duration.days(1) }],
|
|
400
|
+
// Same access-log bucket as every other hub bucket (Security Hub S3.9).
|
|
401
|
+
serverAccessLogsBucket: props.accessLogsBucket,
|
|
402
|
+
serverAccessLogsPrefix: props.accessLogsBucket && "s3/reports/",
|
|
403
|
+
});
|
|
404
|
+
const vendingApi = new vending_api_1.VendingApi(this, "VendingApi", {
|
|
405
|
+
handlerRole: vendingRole,
|
|
406
|
+
appUrl: props.appUrl,
|
|
407
|
+
webBucketName: siteBucketName,
|
|
408
|
+
reportsBucket,
|
|
409
|
+
reportJobFunctionName: `${props.resourcePrefix}-report-job`,
|
|
410
|
+
emailConfigured: Boolean(props.email),
|
|
411
|
+
emailFrom: props.email?.fromAddress,
|
|
412
|
+
configAccounts: props.configAccounts,
|
|
413
|
+
accountsTable,
|
|
414
|
+
rolesTable,
|
|
415
|
+
requestsTable,
|
|
416
|
+
auditTable,
|
|
417
|
+
auditRetentionDays: auditLog.retentionDays,
|
|
418
|
+
groupsTable,
|
|
419
|
+
resourcesTable,
|
|
420
|
+
accessTable,
|
|
421
|
+
revocationsTable,
|
|
422
|
+
serviceUsersTable,
|
|
423
|
+
plugins: props.plugins && { discoveryRefreshSeconds: props.plugins.discoveryRefreshSeconds, catalogTable: props.plugins.catalogTable },
|
|
424
|
+
signingKey: issuer.signingKey,
|
|
425
|
+
issuerUrl: issuer.url,
|
|
426
|
+
userPool,
|
|
427
|
+
userPoolClientId: userPoolClient.userPoolClientId,
|
|
428
|
+
projectName: props.projectName,
|
|
429
|
+
network: props.networkSites?.length
|
|
430
|
+
? {
|
|
431
|
+
sites: props.networkSites,
|
|
432
|
+
keyMinterFnName: (0, naming_1.deviceKeyMinterFnName)(props.resourcePrefix),
|
|
433
|
+
reconcilerFnName: (0, naming_1.aclReconcilerFnName)(props.resourcePrefix),
|
|
434
|
+
devShares: props.devShares,
|
|
435
|
+
}
|
|
436
|
+
: undefined,
|
|
437
|
+
accountDimensions: props.accountDimensions,
|
|
438
|
+
});
|
|
439
|
+
// Daily: raises reapprovals past 12 months, auto-revokes past the grace
|
|
440
|
+
// window.
|
|
441
|
+
const reapprovalSweeper = new app_function_1.AppFunction(this, "ReapprovalSweeper", {
|
|
442
|
+
description: "Daily access-review sweep: raises reapprovals that are due and revokes access past the grace period.",
|
|
443
|
+
asset: "reapproval",
|
|
444
|
+
handler: "handler",
|
|
445
|
+
timeout: cdk.Duration.minutes(5),
|
|
446
|
+
environment: {
|
|
447
|
+
ROLES_TABLE_NAME: rolesTable.tableName,
|
|
448
|
+
REQUESTS_TABLE_NAME: requestsTable.tableName,
|
|
449
|
+
RESOURCES_TABLE_NAME: resourcesTable.tableName,
|
|
450
|
+
ACCESS_TABLE_NAME: accessTable.tableName,
|
|
451
|
+
REVOCATIONS_TABLE_NAME: revocationsTable.tableName,
|
|
452
|
+
...(0, audit_log_1.auditLogEnv)(auditLog),
|
|
453
|
+
// Admin/service-user reviews are raise-only — the sweep never
|
|
454
|
+
// deletes or demotes on its own.
|
|
455
|
+
GROUPS_TABLE_NAME: groupsTable.tableName,
|
|
456
|
+
SERVICE_USERS_TABLE_NAME: serviceUsersTable.tableName,
|
|
457
|
+
USER_POOL_ID: userPool.userPoolId,
|
|
458
|
+
// Plugin reviews need the catalog AND the accounts catalog (binding availability).
|
|
459
|
+
...(props.plugins ? (0, runtime_1.pluginRuntimeEnv)({ catalogTable: props.plugins.catalogTable, accountsTable }) : {}),
|
|
460
|
+
NODE_ENV: "production",
|
|
461
|
+
},
|
|
462
|
+
});
|
|
463
|
+
if (props.plugins)
|
|
464
|
+
(0, runtime_1.grantPluginRuntimeRead)(reapprovalSweeper, { catalogTable: props.plugins.catalogTable, accountsTable });
|
|
465
|
+
requestsTable.grantReadWriteData(reapprovalSweeper);
|
|
466
|
+
rolesTable.grantReadData(reapprovalSweeper);
|
|
467
|
+
accessTable.grantReadWriteData(reapprovalSweeper);
|
|
468
|
+
resourcesTable.grantReadData(reapprovalSweeper);
|
|
469
|
+
revocationsTable.grantReadWriteData(reapprovalSweeper);
|
|
470
|
+
(0, audit_log_1.grantAuditLogWrite)(reapprovalSweeper, auditLog);
|
|
471
|
+
// Read-write: a lapsed group reapproval can delete a bundle-less group.
|
|
472
|
+
groupsTable.grantReadWriteData(reapprovalSweeper);
|
|
473
|
+
serviceUsersTable.grantReadData(reapprovalSweeper);
|
|
474
|
+
reapprovalSweeper.addToRolePolicy(new iam.PolicyStatement({
|
|
475
|
+
// The admin re-attestation reads the admins group membership.
|
|
476
|
+
actions: ["cognito-idp:ListUsersInGroup"],
|
|
477
|
+
resources: [userPool.userPoolArn],
|
|
478
|
+
}));
|
|
479
|
+
new events.Rule(this, "ReapprovalSchedule", {
|
|
480
|
+
description: "Daily periodic-reapproval sweep of standing grants.",
|
|
481
|
+
schedule: events.Schedule.rate(cdk.Duration.days(1)),
|
|
482
|
+
targets: [new targets.LambdaFunction(reapprovalSweeper)],
|
|
483
|
+
});
|
|
484
|
+
// No Cognito authorizer — the Express middleware validates the JWT itself.
|
|
485
|
+
const apiAccessLogs = new logs.LogGroup(this, "CredsApiAccessLogs", {
|
|
486
|
+
retention: logs.RetentionDays.THREE_MONTHS,
|
|
487
|
+
});
|
|
488
|
+
const api = new apigw.LambdaRestApi(this, "CredsApi", {
|
|
489
|
+
restApiName: "creds-api",
|
|
490
|
+
handler: vendingApi.handler,
|
|
491
|
+
// The proxy is added by hand below: a proxying LambdaRestApi refuses explicit child resources, and the
|
|
492
|
+
// plugin routes need /api/... resources. addProxy() creates the same {proxy+} + ANY constructs (same
|
|
493
|
+
// logical ids) that proxy: true would.
|
|
494
|
+
proxy: false,
|
|
495
|
+
// Explicit: consumers with the disableCloudWatchRole feature flag would
|
|
496
|
+
// otherwise synth without the account role and fail at deploy.
|
|
497
|
+
cloudWatchRole: true,
|
|
498
|
+
deployOptions: {
|
|
499
|
+
stageName: "dev",
|
|
500
|
+
// Security Hub APIGateway.1/.3. ERROR level only — the app's own
|
|
501
|
+
// structured logs carry the detail — into the group API Gateway
|
|
502
|
+
// manages (negligible volume); traces stop at the gateway, no Lambda
|
|
503
|
+
// has active tracing.
|
|
504
|
+
loggingLevel: apigw.MethodLoggingLevel.ERROR,
|
|
505
|
+
tracingEnabled: true,
|
|
506
|
+
accessLogDestination: new apigw.LogGroupLogDestination(apiAccessLogs),
|
|
507
|
+
accessLogFormat: apigw.AccessLogFormat.jsonWithStandardFields({
|
|
508
|
+
caller: false,
|
|
509
|
+
httpMethod: true,
|
|
510
|
+
ip: true,
|
|
511
|
+
protocol: true,
|
|
512
|
+
requestTime: true,
|
|
513
|
+
resourcePath: true,
|
|
514
|
+
responseLength: true,
|
|
515
|
+
status: true,
|
|
516
|
+
user: false,
|
|
517
|
+
}),
|
|
518
|
+
// Stage-wide ceiling so a leaked token can't hammer STS unbounded.
|
|
519
|
+
throttlingRateLimit: 25,
|
|
520
|
+
throttlingBurstLimit: 50,
|
|
521
|
+
},
|
|
522
|
+
});
|
|
523
|
+
api.root.addProxy();
|
|
524
|
+
this.api = api;
|
|
525
|
+
if (props.plugins) {
|
|
526
|
+
this.pluginApi = new plugin_api_1.PluginApi(this, "PluginApi", {
|
|
527
|
+
api,
|
|
528
|
+
coreHandler: vendingApi.handler,
|
|
529
|
+
plugins: props.plugins.plugins,
|
|
530
|
+
runtime: {
|
|
531
|
+
userPoolId: userPool.userPoolId,
|
|
532
|
+
accessTable,
|
|
533
|
+
serviceUsersTable,
|
|
534
|
+
catalogTable: props.plugins.catalogTable,
|
|
535
|
+
accountsTable,
|
|
536
|
+
},
|
|
537
|
+
auditLog,
|
|
538
|
+
});
|
|
539
|
+
if (props.plugins.plugins.length) {
|
|
540
|
+
new plugin_catalog_activation_1.PluginCatalogActivation(this, "Plugins", {
|
|
541
|
+
plugins: props.plugins.plugins,
|
|
542
|
+
assetsBucket: props.plugins.assetsBucket,
|
|
543
|
+
pluginCatalogTable: props.plugins.catalogTable,
|
|
544
|
+
accessTable,
|
|
545
|
+
accountsTable,
|
|
546
|
+
revocationsTable,
|
|
547
|
+
auditLog,
|
|
548
|
+
apiStage: api.deploymentStage,
|
|
549
|
+
methodsByPlugin: this.pluginApi.methodsByPlugin,
|
|
550
|
+
owner: cdk.Aws.STACK_ID,
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
if (props.waf) {
|
|
555
|
+
const webAcl = new web_acl_1.WebAcl(this, "ApiWebAcl", {
|
|
556
|
+
scope: "REGIONAL",
|
|
557
|
+
name: `${props.resourcePrefix}-api`,
|
|
558
|
+
// Only here, not on CloudFront: every /api/* call lands on this stage
|
|
559
|
+
// anyway and direct execute-api callers are seen only here; a second
|
|
560
|
+
// counter would just disagree with this one. No path prefix — every
|
|
561
|
+
// request on the stage is an API call (the path starts with the stage).
|
|
562
|
+
tokenRateLimit: { limit: props.waf.perTokenRateLimit },
|
|
563
|
+
});
|
|
564
|
+
new wafv2.CfnWebACLAssociation(this, "ApiWebAclAssociation", {
|
|
565
|
+
resourceArn: api.deploymentStage.stageArn,
|
|
566
|
+
webAclArn: webAcl.arn,
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
const monitoring = new monitoring_1.Monitoring(this, "Monitoring", {
|
|
570
|
+
alertEmails,
|
|
571
|
+
vendingFn: vendingApi.handler,
|
|
572
|
+
issuerUrl: issuer.url,
|
|
573
|
+
signingKeyId: issuer.signingKey.keyId,
|
|
574
|
+
});
|
|
575
|
+
this.alertTopic = monitoring.topic;
|
|
576
|
+
new cdk.CfnOutput(this, "ApiUrl", { value: api.url });
|
|
577
|
+
new cdk.CfnOutput(this, "UserPoolId", { value: userPool.userPoolId });
|
|
578
|
+
new cdk.CfnOutput(this, "UserPoolClientId", {
|
|
579
|
+
value: userPoolClient.userPoolClientId,
|
|
580
|
+
});
|
|
581
|
+
new cdk.CfnOutput(this, "AccountsTableName", {
|
|
582
|
+
value: accountsTable.tableName,
|
|
583
|
+
});
|
|
584
|
+
new cdk.CfnOutput(this, "RolesTableName", { value: rolesTable.tableName });
|
|
585
|
+
new cdk.CfnOutput(this, "RequestsTableName", {
|
|
586
|
+
value: requestsTable.tableName,
|
|
587
|
+
});
|
|
588
|
+
new cdk.CfnOutput(this, "IssuerUrl", { value: issuer.url });
|
|
589
|
+
new cdk.CfnOutput(this, "KmsKeyId", { value: issuer.signingKey.keyId });
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
exports.CredsStack = CredsStack;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as cdk from "aws-cdk-lib";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import * as dynamodb from "aws-cdk-lib/aws-dynamodb";
|
|
4
|
+
import * as s3 from "aws-cdk-lib/aws-s3";
|
|
5
|
+
/** Cognito → SES email delivery. */
|
|
6
|
+
export interface EmailConfig {
|
|
7
|
+
readonly hostedZoneId: string;
|
|
8
|
+
readonly zoneName: string;
|
|
9
|
+
/** Sender address — must be an address under zoneName (the SES identity
|
|
10
|
+
* that authorizes sending is the domain itself). */
|
|
11
|
+
readonly fromAddress: string;
|
|
12
|
+
/** Display name shown next to fromAddress in mail clients. */
|
|
13
|
+
readonly fromName?: string;
|
|
14
|
+
/** DMARC aggregate-report recipient (`rua`); omitted = no reports requested. */
|
|
15
|
+
readonly dmarcReportEmail?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface DataStackProps extends cdk.StackProps {
|
|
18
|
+
/** Harden the tables (RETAIN + point-in-time recovery). Defaults to false
|
|
19
|
+
* (sandbox behavior). See AppTable. */
|
|
20
|
+
readonly prod?: boolean;
|
|
21
|
+
/** The SES identity lives HERE, not CredsStack: verification is async, so a
|
|
22
|
+
* failed CredsStack deploy must not roll the identity back (never converges). */
|
|
23
|
+
readonly email?: EmailConfig;
|
|
24
|
+
}
|
|
25
|
+
/** The DynamoDB tables — separate from CredsStack so durable data outlives
|
|
26
|
+
* compute redeploys. */
|
|
27
|
+
export declare class DataStack extends cdk.Stack {
|
|
28
|
+
readonly accountsTable: dynamodb.Table;
|
|
29
|
+
readonly rolesTable: dynamodb.Table;
|
|
30
|
+
readonly requestsTable: dynamodb.Table;
|
|
31
|
+
readonly auditTable: dynamodb.Table;
|
|
32
|
+
readonly groupsTable: dynamodb.Table;
|
|
33
|
+
readonly resourcesTable: dynamodb.Table;
|
|
34
|
+
/** Access model v2: grants stored exactly as granted — principal → target,
|
|
35
|
+
* plus member#/pref# rows; `byTarget` = who holds X. */
|
|
36
|
+
readonly accessTable: dynamodb.Table;
|
|
37
|
+
readonly revocationsTable: dynamodb.Table;
|
|
38
|
+
/** clientId → name + rotation state; grants live in Access under `user#<clientId>`. */
|
|
39
|
+
readonly serviceUsersTable: dynamodb.Table;
|
|
40
|
+
/** Plugin catalog (Epic 5): deployment-written records, keyed by pluginId. Always present so enabling or
|
|
41
|
+
* disabling the feature never adds or removes a cross-stack export; unused until `plugins.enabled`. */
|
|
42
|
+
readonly pluginCatalogTable: dynamodb.Table;
|
|
43
|
+
/** Plugin UIs under immutable `<id>/<version>-<hash>/` prefixes: uploaded by CredsStack's registrations
|
|
44
|
+
* (so a record can depend on its upload), served by WebStack's /plugin-assets/* behavior, never touched
|
|
45
|
+
* by the site deploy's prune. */
|
|
46
|
+
readonly pluginAssetsBucket: s3.Bucket;
|
|
47
|
+
/** Server-access logs of every hub bucket and the standard logs of both CloudFront distributions
|
|
48
|
+
* (Security Hub S3.9, CloudFront.5). ACL-based ownership: that is what CloudFront's standard logging
|
|
49
|
+
* and S3 log delivery write with, and it keeps the other stacks free of a cross-stack bucket-policy
|
|
50
|
+
* reference back into this one. The one bucket that logs nowhere — AWS says to suppress S3.9 on it. */
|
|
51
|
+
readonly accessLogsBucket: s3.Bucket;
|
|
52
|
+
constructor(scope: Construct, id: string, props?: DataStackProps);
|
|
53
|
+
}
|