@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,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PLUGIN_READY_INTERVAL_MS = exports.PLUGIN_REFRESH_LEAD_MS = exports.PLUGIN_REFRESH_TIMEOUT_MS = exports.PLUGIN_SDK_VERSION = void 0;
|
|
4
|
+
exports.connectToInfraClient = connectToInfraClient;
|
|
5
|
+
const messages_1 = require("../contracts/messages");
|
|
6
|
+
const transport_1 = require("../contracts/transport");
|
|
7
|
+
const errors_1 = require("./errors");
|
|
8
|
+
const http_1 = require("./http");
|
|
9
|
+
const theme_apply_1 = require("./theme-apply");
|
|
10
|
+
exports.PLUGIN_SDK_VERSION = "0.2.0";
|
|
11
|
+
exports.PLUGIN_REFRESH_TIMEOUT_MS = 15_000;
|
|
12
|
+
exports.PLUGIN_REFRESH_LEAD_MS = 30_000;
|
|
13
|
+
exports.PLUGIN_READY_INTERVAL_MS = 1_000;
|
|
14
|
+
function resolveEnvironment(options) {
|
|
15
|
+
const g = globalThis;
|
|
16
|
+
if (!options.hostWindow && g.window && g.window.parent === g.window) {
|
|
17
|
+
throw new errors_1.PluginSdkError("not_framed", "this page is not inside the portal's plugin frame");
|
|
18
|
+
}
|
|
19
|
+
const hostWindow = options.hostWindow ?? g.window?.parent;
|
|
20
|
+
const listenOn = options.listenOn ?? g.window;
|
|
21
|
+
const hostOrigin = options.hostOrigin ?? g.window?.location.origin;
|
|
22
|
+
const fetchImpl = options.fetch ?? (typeof g.fetch === "function" ? (input, init) => g.fetch(input, init) : undefined);
|
|
23
|
+
const missing = [
|
|
24
|
+
!hostWindow && "hostWindow", !listenOn && "listenOn", !hostOrigin && "hostOrigin", !fetchImpl && "fetch",
|
|
25
|
+
].filter((name) => typeof name === "string");
|
|
26
|
+
if (!hostWindow || !listenOn || !hostOrigin || !fetchImpl) {
|
|
27
|
+
throw new errors_1.PluginSdkError("invalid_options", `outside a browser window, pass ${missing.join(", ")}`);
|
|
28
|
+
}
|
|
29
|
+
const doc = g.document;
|
|
30
|
+
const applyTheme = options.applyTheme === false ? null : options.applyTheme ?? (doc ? (theme) => (0, theme_apply_1.applyPluginTheme)(theme, doc) : null);
|
|
31
|
+
return { hostWindow, hostOrigin, listenOn, fetch: fetchImpl, applyTheme };
|
|
32
|
+
}
|
|
33
|
+
/** Only messages from the host window at the expected origin count; everything else is invisible. */
|
|
34
|
+
function fromHost(event, env) {
|
|
35
|
+
if (event.source !== env.hostWindow || event.origin !== env.hostOrigin)
|
|
36
|
+
return null;
|
|
37
|
+
return (0, messages_1.inspectPluginMessage)(event.data);
|
|
38
|
+
}
|
|
39
|
+
/** Announce to the host and resolve once `init` arrives. Rejects with `handshake_timeout` (call
|
|
40
|
+
* again to retry), `incompatible_host`, `not_framed` or `invalid_options`. */
|
|
41
|
+
function connectToInfraClient(options = {}) {
|
|
42
|
+
let env;
|
|
43
|
+
try {
|
|
44
|
+
env = resolveEnvironment(options);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return Promise.reject(error);
|
|
48
|
+
}
|
|
49
|
+
const instanceId = options.instanceId ?? (0, transport_1.newPluginProtocolId)("frame");
|
|
50
|
+
const timeoutMs = options.handshakeTimeoutMs ?? messages_1.PLUGIN_HANDSHAKE_TIMEOUT_MS;
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
let ticker;
|
|
53
|
+
let timer;
|
|
54
|
+
const cleanup = () => {
|
|
55
|
+
env.listenOn.removeEventListener("message", listener);
|
|
56
|
+
clearInterval(ticker);
|
|
57
|
+
clearTimeout(timer);
|
|
58
|
+
};
|
|
59
|
+
const fail = (error) => {
|
|
60
|
+
cleanup();
|
|
61
|
+
reject(error);
|
|
62
|
+
};
|
|
63
|
+
const announce = () => {
|
|
64
|
+
try {
|
|
65
|
+
env.hostWindow.postMessage((0, messages_1.createPluginMessage)("ready", instanceId, { sdkVersion: exports.PLUGIN_SDK_VERSION, protocolVersion: messages_1.PLUGIN_PROTOCOL_VERSION }), env.hostOrigin);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
fail(new errors_1.PluginSdkError("invalid_options", `cannot post to the host: ${error instanceof Error ? error.message : String(error)}`));
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const listener = (event) => {
|
|
72
|
+
const seen = fromHost(event, env);
|
|
73
|
+
if (!seen)
|
|
74
|
+
return;
|
|
75
|
+
if (seen.kind === "incompatible") {
|
|
76
|
+
fail(new errors_1.PluginSdkError("incompatible_host", `the host speaks protocol version ${String(seen.version)}`));
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (seen.kind !== "message" || seen.message.type !== "init" || seen.message.instanceId !== instanceId)
|
|
80
|
+
return;
|
|
81
|
+
cleanup();
|
|
82
|
+
const client = new PluginClient(env, instanceId, seen.message.payload, options);
|
|
83
|
+
if (env.applyTheme) {
|
|
84
|
+
env.applyTheme(client.theme());
|
|
85
|
+
client.on("themeChanged", env.applyTheme);
|
|
86
|
+
}
|
|
87
|
+
resolve(client);
|
|
88
|
+
};
|
|
89
|
+
env.listenOn.addEventListener("message", listener);
|
|
90
|
+
ticker = setInterval(announce, exports.PLUGIN_READY_INTERVAL_MS);
|
|
91
|
+
if (timeoutMs > 0) {
|
|
92
|
+
timer = setTimeout(() => fail(new errors_1.PluginSdkError("handshake_timeout", `no init from the host within ${timeoutMs} ms`)), timeoutMs);
|
|
93
|
+
}
|
|
94
|
+
announce(); // last: a throwing first attempt must find the ticker and timer to clear
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
class PluginClient {
|
|
98
|
+
env;
|
|
99
|
+
instanceId;
|
|
100
|
+
user;
|
|
101
|
+
plugin;
|
|
102
|
+
entry;
|
|
103
|
+
session;
|
|
104
|
+
api;
|
|
105
|
+
current;
|
|
106
|
+
access;
|
|
107
|
+
currentTheme;
|
|
108
|
+
/** The expiry we already asked the host to renew past, so a host that answers with the same
|
|
109
|
+
* session is not asked again on every request for the rest of the lead window. */
|
|
110
|
+
askedFor = null;
|
|
111
|
+
ended = false;
|
|
112
|
+
pending = null;
|
|
113
|
+
listeners = new Map();
|
|
114
|
+
refreshTimeoutMs;
|
|
115
|
+
refreshLeadMs;
|
|
116
|
+
listener;
|
|
117
|
+
constructor(env, instanceId, init, options) {
|
|
118
|
+
this.env = env;
|
|
119
|
+
this.instanceId = instanceId;
|
|
120
|
+
this.user = init.user;
|
|
121
|
+
this.plugin = init.plugin;
|
|
122
|
+
this.entry = init.entry;
|
|
123
|
+
this.current = (0, messages_1.pluginSessionOf)(init.session);
|
|
124
|
+
this.access = { accounts: init.accounts, entryAvailable: true };
|
|
125
|
+
this.currentTheme = init.theme;
|
|
126
|
+
this.refreshTimeoutMs = options.refreshTimeoutMs ?? exports.PLUGIN_REFRESH_TIMEOUT_MS;
|
|
127
|
+
this.refreshLeadMs = options.refreshLeadMs ?? exports.PLUGIN_REFRESH_LEAD_MS;
|
|
128
|
+
this.session = {
|
|
129
|
+
current: () => this.current,
|
|
130
|
+
token: () => this.tokenForRequest(),
|
|
131
|
+
refresh: (reason) => this.refresh(reason),
|
|
132
|
+
};
|
|
133
|
+
this.api = (0, http_1.createPluginApi)({
|
|
134
|
+
apiBaseUrl: init.plugin.apiBaseUrl,
|
|
135
|
+
tokens: this.session,
|
|
136
|
+
accounts: () => this.access.accounts,
|
|
137
|
+
fetch: env.fetch,
|
|
138
|
+
assertActive: () => this.assertActive(),
|
|
139
|
+
onForbidden: options.accessRefreshOnForbidden === false ? undefined : () => this.requestAccessRefresh("forbidden"),
|
|
140
|
+
});
|
|
141
|
+
this.listener = (event) => {
|
|
142
|
+
const seen = fromHost(event, env);
|
|
143
|
+
if (seen?.kind === "message" && seen.message.instanceId === instanceId && (0, messages_1.isHostToPluginMessage)(seen.message))
|
|
144
|
+
this.handle(seen.message);
|
|
145
|
+
};
|
|
146
|
+
env.listenOn.addEventListener("message", this.listener);
|
|
147
|
+
}
|
|
148
|
+
state() {
|
|
149
|
+
return this.ended ? "ended" : "connected";
|
|
150
|
+
}
|
|
151
|
+
accounts() {
|
|
152
|
+
return this.access.accounts;
|
|
153
|
+
}
|
|
154
|
+
permissionsFor(accountNumber) {
|
|
155
|
+
return this.access.accounts.find((a) => a.accountNumber === accountNumber)?.permissions ?? [];
|
|
156
|
+
}
|
|
157
|
+
hasPermission(permission, accountNumber) {
|
|
158
|
+
return this.permissionsFor(accountNumber).includes(permission);
|
|
159
|
+
}
|
|
160
|
+
entryAvailable() {
|
|
161
|
+
return this.access.entryAvailable;
|
|
162
|
+
}
|
|
163
|
+
theme() {
|
|
164
|
+
return this.currentTheme;
|
|
165
|
+
}
|
|
166
|
+
requestAccessRefresh(reason = "manual") {
|
|
167
|
+
if (this.ended)
|
|
168
|
+
return;
|
|
169
|
+
this.post("requestAccessRefresh", { reason });
|
|
170
|
+
}
|
|
171
|
+
on(event, listener) {
|
|
172
|
+
let set = this.listeners.get(event);
|
|
173
|
+
if (!set)
|
|
174
|
+
this.listeners.set(event, (set = new Set()));
|
|
175
|
+
set.add(listener);
|
|
176
|
+
return () => set.delete(listener);
|
|
177
|
+
}
|
|
178
|
+
dispose() {
|
|
179
|
+
if (this.ended)
|
|
180
|
+
return;
|
|
181
|
+
this.teardown();
|
|
182
|
+
this.pending?.reject(new errors_1.PluginSdkError("disposed", "the plugin context was disposed"));
|
|
183
|
+
this.listeners.clear();
|
|
184
|
+
}
|
|
185
|
+
assertActive() {
|
|
186
|
+
if (this.ended)
|
|
187
|
+
throw new errors_1.PluginSdkError("session_ended", "the host ended this session");
|
|
188
|
+
}
|
|
189
|
+
post(type, payload, requestId) {
|
|
190
|
+
this.env.hostWindow.postMessage((0, messages_1.createPluginMessage)(type, this.instanceId, payload, requestId), this.env.hostOrigin);
|
|
191
|
+
}
|
|
192
|
+
/** Expired: wait for the host. Expiring: renew in the background, the current token still
|
|
193
|
+
* carries the request. Fresh: send. */
|
|
194
|
+
async tokenForRequest() {
|
|
195
|
+
this.assertActive();
|
|
196
|
+
const remaining = this.current.expiresAt - Date.now();
|
|
197
|
+
if (remaining <= 0) {
|
|
198
|
+
await this.refresh("expiring");
|
|
199
|
+
}
|
|
200
|
+
else if (remaining <= this.refreshLeadMs && this.askedFor !== this.current.expiresAt) {
|
|
201
|
+
this.askedFor = this.current.expiresAt;
|
|
202
|
+
void this.refresh("expiring").catch(() => undefined);
|
|
203
|
+
}
|
|
204
|
+
return this.current.token;
|
|
205
|
+
}
|
|
206
|
+
refresh(reason) {
|
|
207
|
+
if (this.ended)
|
|
208
|
+
return Promise.reject(new errors_1.PluginSdkError("session_ended", "the host ended this session"));
|
|
209
|
+
if (this.pending)
|
|
210
|
+
return this.pending.promise;
|
|
211
|
+
let settleResolve;
|
|
212
|
+
let settleReject;
|
|
213
|
+
const promise = new Promise((resolve, reject) => {
|
|
214
|
+
settleResolve = resolve;
|
|
215
|
+
settleReject = reject;
|
|
216
|
+
});
|
|
217
|
+
let timer;
|
|
218
|
+
const finish = () => {
|
|
219
|
+
clearTimeout(timer);
|
|
220
|
+
this.pending = null;
|
|
221
|
+
};
|
|
222
|
+
const pending = {
|
|
223
|
+
promise,
|
|
224
|
+
resolve: (session) => {
|
|
225
|
+
finish();
|
|
226
|
+
settleResolve(session);
|
|
227
|
+
},
|
|
228
|
+
reject: (error) => {
|
|
229
|
+
finish();
|
|
230
|
+
settleReject(error);
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
if (this.refreshTimeoutMs > 0) {
|
|
234
|
+
timer = setTimeout(() => pending.reject(new errors_1.PluginSdkError("refresh_timeout", `no session from the host within ${this.refreshTimeoutMs} ms`)), this.refreshTimeoutMs);
|
|
235
|
+
}
|
|
236
|
+
this.pending = pending;
|
|
237
|
+
this.post("requestSessionRefresh", { reason }, (0, transport_1.newPluginProtocolId)("req"));
|
|
238
|
+
return promise;
|
|
239
|
+
}
|
|
240
|
+
handle(message) {
|
|
241
|
+
switch (message.type) {
|
|
242
|
+
case "sessionChanged": {
|
|
243
|
+
// The host owns session truth: whatever it sends after our request is the answer.
|
|
244
|
+
const session = (0, messages_1.pluginSessionOf)(message.payload);
|
|
245
|
+
this.current = session;
|
|
246
|
+
this.pending?.resolve(session);
|
|
247
|
+
this.emit("sessionChanged", session);
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
case "sessionEnded":
|
|
251
|
+
this.teardown();
|
|
252
|
+
this.pending?.reject(new errors_1.PluginSdkError("session_ended", `the host ended this session (${message.payload.reason})`));
|
|
253
|
+
this.emit("sessionEnded", message.payload);
|
|
254
|
+
this.listeners.clear();
|
|
255
|
+
return;
|
|
256
|
+
case "accessChanged":
|
|
257
|
+
this.access = message.payload;
|
|
258
|
+
this.emit("accessChanged", message.payload);
|
|
259
|
+
return;
|
|
260
|
+
case "themeChanged":
|
|
261
|
+
this.currentTheme = message.payload;
|
|
262
|
+
this.emit("themeChanged", message.payload);
|
|
263
|
+
return;
|
|
264
|
+
default:
|
|
265
|
+
return; // a repeated `init` for this instance carries nothing new
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/** After this, no host message reaches the client again: an old frame's session cannot come back. */
|
|
269
|
+
teardown() {
|
|
270
|
+
this.ended = true;
|
|
271
|
+
this.env.listenOn.removeEventListener("message", this.listener);
|
|
272
|
+
}
|
|
273
|
+
emit(event, payload) {
|
|
274
|
+
const set = this.listeners.get(event);
|
|
275
|
+
if (!set)
|
|
276
|
+
return;
|
|
277
|
+
for (const listener of [...set]) {
|
|
278
|
+
try {
|
|
279
|
+
listener(payload);
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
const report = globalThis.reportError;
|
|
283
|
+
if (typeof report === "function")
|
|
284
|
+
report(error);
|
|
285
|
+
else
|
|
286
|
+
setTimeout(() => { throw error; }, 0);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type PluginSdkErrorCode = "not_framed" | "invalid_options" | "handshake_timeout" | "incompatible_host" | "refresh_timeout" | "session_ended" | "disposed" | "invalid_url" | "timeout" | "http";
|
|
2
|
+
export declare class PluginSdkError extends Error {
|
|
3
|
+
readonly code: PluginSdkErrorCode;
|
|
4
|
+
constructor(code: PluginSdkErrorCode, message: string);
|
|
5
|
+
}
|
|
6
|
+
/** A non-2xx response from a JSON helper. `body` is the parsed JSON, the text, or undefined. */
|
|
7
|
+
export declare class PluginApiError extends PluginSdkError {
|
|
8
|
+
readonly status: number;
|
|
9
|
+
readonly method: string;
|
|
10
|
+
readonly url: string;
|
|
11
|
+
readonly body: unknown;
|
|
12
|
+
constructor(status: number, method: string, url: string, body: unknown);
|
|
13
|
+
}
|
|
14
|
+
export declare function isPluginSdkError(value: unknown, code?: PluginSdkErrorCode): value is PluginSdkError;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PluginApiError = exports.PluginSdkError = void 0;
|
|
4
|
+
exports.isPluginSdkError = isPluginSdkError;
|
|
5
|
+
class PluginSdkError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = "PluginSdkError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.PluginSdkError = PluginSdkError;
|
|
14
|
+
/** A non-2xx response from a JSON helper. `body` is the parsed JSON, the text, or undefined. */
|
|
15
|
+
class PluginApiError extends PluginSdkError {
|
|
16
|
+
status;
|
|
17
|
+
method;
|
|
18
|
+
url;
|
|
19
|
+
body;
|
|
20
|
+
constructor(status, method, url, body) {
|
|
21
|
+
super("http", `${method} ${url} failed with ${status}`);
|
|
22
|
+
this.status = status;
|
|
23
|
+
this.method = method;
|
|
24
|
+
this.url = url;
|
|
25
|
+
this.body = body;
|
|
26
|
+
this.name = "PluginApiError";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.PluginApiError = PluginApiError;
|
|
30
|
+
function isPluginSdkError(value, code) {
|
|
31
|
+
return value instanceof PluginSdkError && (code === undefined || value.code === code);
|
|
32
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { PluginAccountContext, PluginSession } from "../contracts/messages";
|
|
2
|
+
export type PluginQuery = Record<string, string | number | boolean | undefined>;
|
|
3
|
+
export interface PluginRequestOptions {
|
|
4
|
+
method?: string;
|
|
5
|
+
headers?: Record<string, string>;
|
|
6
|
+
body?: BodyInit | null;
|
|
7
|
+
query?: PluginQuery;
|
|
8
|
+
signal?: AbortSignal;
|
|
9
|
+
/** Aborts the request, body read included (`PluginSdkError` code `timeout`). Never retried. */
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export type PluginJsonOptions = Omit<PluginRequestOptions, "method" | "body">;
|
|
13
|
+
export interface PluginApi {
|
|
14
|
+
/** `fetch` from the iframe with the current bearer token attached, one retry after an
|
|
15
|
+
* authentication-layer 401. Returns the raw `Response`; no status check. */
|
|
16
|
+
request(path: string, options?: PluginRequestOptions): Promise<Response>;
|
|
17
|
+
get<T = unknown>(path: string, options?: PluginJsonOptions): Promise<T>;
|
|
18
|
+
post<T = unknown>(path: string, body?: unknown, options?: PluginJsonOptions): Promise<T>;
|
|
19
|
+
put<T = unknown>(path: string, body?: unknown, options?: PluginJsonOptions): Promise<T>;
|
|
20
|
+
patch<T = unknown>(path: string, body?: unknown, options?: PluginJsonOptions): Promise<T>;
|
|
21
|
+
delete<T = unknown>(path: string, options?: PluginJsonOptions): Promise<T>;
|
|
22
|
+
/** The URL a plugin API path resolves to, for callers bringing their own HTTP client. */
|
|
23
|
+
url(path: string, query?: PluginQuery): string;
|
|
24
|
+
}
|
|
25
|
+
export interface PluginTokenProvider {
|
|
26
|
+
current(): PluginSession;
|
|
27
|
+
/** The current bearer token. Renewal through the host runs in the background while the token is
|
|
28
|
+
* still valid and is awaited only once it has expired. */
|
|
29
|
+
token(): Promise<string>;
|
|
30
|
+
/** Ask the host to renew. Concurrent callers share one round trip. */
|
|
31
|
+
refresh(reason: "unauthorized" | "expiring"): Promise<PluginSession>;
|
|
32
|
+
}
|
|
33
|
+
export type FetchLike = (input: string, init: RequestInit) => Promise<Response>;
|
|
34
|
+
export interface PluginApiDeps {
|
|
35
|
+
readonly apiBaseUrl: string;
|
|
36
|
+
readonly tokens: PluginTokenProvider;
|
|
37
|
+
readonly accounts: () => readonly PluginAccountContext[];
|
|
38
|
+
readonly fetch: FetchLike;
|
|
39
|
+
readonly assertActive: () => void;
|
|
40
|
+
readonly onForbidden?: () => void;
|
|
41
|
+
}
|
|
42
|
+
/** Relative paths under the plugin's own API root only, so a well-behaved plugin cannot send the bearer
|
|
43
|
+
* token to another origin or the core API by mistake (a `..` segment would climb out). A guardrail, not
|
|
44
|
+
* a boundary: the page is same-origin with the portal (README "Trust model"). */
|
|
45
|
+
export declare function resolvePluginApiUrl(apiBaseUrl: string, path: string, query?: PluginQuery): string;
|
|
46
|
+
export declare function isReplayableBody(body: unknown): boolean;
|
|
47
|
+
/** The account a plugin API URL acts on: every route mounts under `<apiBaseUrl>/accounts/<accountNumber>`.
|
|
48
|
+
* `null` for a URL outside that shape, which names no account. */
|
|
49
|
+
export declare function pluginRequestAccount(apiBaseUrl: string, url: string): string | null;
|
|
50
|
+
export interface UnauthorizedRefreshInput {
|
|
51
|
+
readonly body: unknown;
|
|
52
|
+
/** `pluginRequestAccount` of the request. */
|
|
53
|
+
readonly account: string | null;
|
|
54
|
+
/** The caller's accounts as they stand when the rule is asked, not as they stood at send. */
|
|
55
|
+
readonly permitted: readonly Pick<PluginAccountContext, "accountNumber">[];
|
|
56
|
+
}
|
|
57
|
+
export interface UnauthorizedRetryInput extends UnauthorizedRefreshInput {
|
|
58
|
+
readonly rejectedToken: string;
|
|
59
|
+
readonly retryToken: string;
|
|
60
|
+
}
|
|
61
|
+
/** Is a 401 worth asking the host to renew for? Only when the request could be sent again at all:
|
|
62
|
+
* the body must be re-readable, and the account the request acts on must still be one the
|
|
63
|
+
* caller may use (access can be revoked while the request or the renewal is in flight). A request
|
|
64
|
+
* that names no account is not held to the list. */
|
|
65
|
+
export declare function shouldRefreshAfterUnauthorized(input: UnauthorizedRefreshInput): boolean;
|
|
66
|
+
/** The one rule for re-sending a request the authorizer rejected with 401 (`context.api` and the
|
|
67
|
+
* Angular interceptor both use it): the renewal must have produced a different token, and the
|
|
68
|
+
* conditions that allowed the refresh must still hold after it. An authorizer 401 is decided
|
|
69
|
+
* before the plugin's handler runs, so that replay repeats nothing; a plugin whose own handler
|
|
70
|
+
* answers 401 breaks that assumption, which is why handlers must use domain 4xx codes instead. */
|
|
71
|
+
export declare function canRetryAfterUnauthorized(input: UnauthorizedRetryInput): boolean;
|
|
72
|
+
export declare function createPluginApi(deps: PluginApiDeps): PluginApi;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvePluginApiUrl = resolvePluginApiUrl;
|
|
4
|
+
exports.isReplayableBody = isReplayableBody;
|
|
5
|
+
exports.pluginRequestAccount = pluginRequestAccount;
|
|
6
|
+
exports.shouldRefreshAfterUnauthorized = shouldRefreshAfterUnauthorized;
|
|
7
|
+
exports.canRetryAfterUnauthorized = canRetryAfterUnauthorized;
|
|
8
|
+
exports.createPluginApi = createPluginApi;
|
|
9
|
+
const errors_1 = require("./errors");
|
|
10
|
+
/** Relative paths under the plugin's own API root only, so a well-behaved plugin cannot send the bearer
|
|
11
|
+
* token to another origin or the core API by mistake (a `..` segment would climb out). A guardrail, not
|
|
12
|
+
* a boundary: the page is same-origin with the portal (README "Trust model"). */
|
|
13
|
+
function resolvePluginApiUrl(apiBaseUrl, path, query) {
|
|
14
|
+
const escapes = path.split(/[/?#]/).includes("..");
|
|
15
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(path) || path.startsWith("//") || escapes) {
|
|
16
|
+
throw new errors_1.PluginSdkError("invalid_url", `plugin API paths are relative to ${apiBaseUrl}; got ${path}`);
|
|
17
|
+
}
|
|
18
|
+
const relative = path.replace(/^\/+/, "");
|
|
19
|
+
const base = apiBaseUrl.replace(/\/+$/, "");
|
|
20
|
+
let url = relative ? `${base}/${relative}` : base;
|
|
21
|
+
if (query) {
|
|
22
|
+
const params = new URLSearchParams();
|
|
23
|
+
for (const [key, value] of Object.entries(query))
|
|
24
|
+
if (value !== undefined)
|
|
25
|
+
params.set(key, String(value));
|
|
26
|
+
const encoded = params.toString();
|
|
27
|
+
if (encoded)
|
|
28
|
+
url += (url.includes("?") ? "&" : "?") + encoded;
|
|
29
|
+
}
|
|
30
|
+
return url;
|
|
31
|
+
}
|
|
32
|
+
function isReplayableBody(body) {
|
|
33
|
+
return body == null || typeof body === "string" || typeof ReadableStream === "undefined" || !(body instanceof ReadableStream);
|
|
34
|
+
}
|
|
35
|
+
/** The account a plugin API URL acts on: every route mounts under `<apiBaseUrl>/accounts/<accountNumber>`.
|
|
36
|
+
* `null` for a URL outside that shape, which names no account. */
|
|
37
|
+
function pluginRequestAccount(apiBaseUrl, url) {
|
|
38
|
+
// Compared by path: one side may be written absolute and the other relative, and a mismatch in form
|
|
39
|
+
// must not read as "names no account", which would skip the revoked-account check.
|
|
40
|
+
const path = (value) => {
|
|
41
|
+
try {
|
|
42
|
+
return new URL(value, "http://plugin.invalid").pathname;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const base = path(apiBaseUrl).replace(/\/+$/, "");
|
|
49
|
+
const target = path(url);
|
|
50
|
+
if (!target.startsWith(`${base}/`))
|
|
51
|
+
return null;
|
|
52
|
+
return /^\/accounts\/(\d{12})(?:\/|$)/.exec(target.slice(base.length))?.[1] ?? null;
|
|
53
|
+
}
|
|
54
|
+
/** Is a 401 worth asking the host to renew for? Only when the request could be sent again at all:
|
|
55
|
+
* the body must be re-readable, and the account the request acts on must still be one the
|
|
56
|
+
* caller may use (access can be revoked while the request or the renewal is in flight). A request
|
|
57
|
+
* that names no account is not held to the list. */
|
|
58
|
+
function shouldRefreshAfterUnauthorized(input) {
|
|
59
|
+
return isReplayableBody(input.body) && (input.account === null || input.permitted.some((a) => a.accountNumber === input.account));
|
|
60
|
+
}
|
|
61
|
+
/** The one rule for re-sending a request the authorizer rejected with 401 (`context.api` and the
|
|
62
|
+
* Angular interceptor both use it): the renewal must have produced a different token, and the
|
|
63
|
+
* conditions that allowed the refresh must still hold after it. An authorizer 401 is decided
|
|
64
|
+
* before the plugin's handler runs, so that replay repeats nothing; a plugin whose own handler
|
|
65
|
+
* answers 401 breaks that assumption, which is why handlers must use domain 4xx codes instead. */
|
|
66
|
+
function canRetryAfterUnauthorized(input) {
|
|
67
|
+
return shouldRefreshAfterUnauthorized(input) && input.rejectedToken !== input.retryToken;
|
|
68
|
+
}
|
|
69
|
+
const timedOut = () => new errors_1.PluginSdkError("timeout", "the request timed out");
|
|
70
|
+
/** `AbortSignal.timeout`/`any` are recent (Safari 17.4, Firefox 124); fall back to a controller so a
|
|
71
|
+
* plugin on an older browser gets the timeout rather than a TypeError. */
|
|
72
|
+
function requestSignal(user, timeoutMs) {
|
|
73
|
+
if (!timeoutMs)
|
|
74
|
+
return user;
|
|
75
|
+
if (typeof AbortSignal.timeout === "function" && (!user || typeof AbortSignal.any === "function")) {
|
|
76
|
+
const timeout = AbortSignal.timeout(timeoutMs);
|
|
77
|
+
return user ? AbortSignal.any([user, timeout]) : timeout;
|
|
78
|
+
}
|
|
79
|
+
const controller = new AbortController();
|
|
80
|
+
const timer = setTimeout(() => controller.abort(timedOut()), timeoutMs);
|
|
81
|
+
const forward = () => {
|
|
82
|
+
clearTimeout(timer);
|
|
83
|
+
controller.abort(user?.reason);
|
|
84
|
+
};
|
|
85
|
+
if (user?.aborted)
|
|
86
|
+
forward();
|
|
87
|
+
else
|
|
88
|
+
user?.addEventListener("abort", forward, { once: true });
|
|
89
|
+
return controller.signal;
|
|
90
|
+
}
|
|
91
|
+
/** `AbortSignal.timeout` rejects with a DOMException named TimeoutError; callers get the SDK code. */
|
|
92
|
+
function mapTimeout(error) {
|
|
93
|
+
return typeof error === "object" && error !== null && error.name === "TimeoutError" ? timedOut() : error;
|
|
94
|
+
}
|
|
95
|
+
async function parseBody(response) {
|
|
96
|
+
if (response.status === 204 || response.status === 205)
|
|
97
|
+
return undefined;
|
|
98
|
+
const text = await response.text();
|
|
99
|
+
if (!text)
|
|
100
|
+
return undefined;
|
|
101
|
+
if (/json/i.test(response.headers.get("content-type") ?? "")) {
|
|
102
|
+
try {
|
|
103
|
+
return JSON.parse(text);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return text;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return text;
|
|
110
|
+
}
|
|
111
|
+
function createPluginApi(deps) {
|
|
112
|
+
const url = (path, query) => resolvePluginApiUrl(deps.apiBaseUrl, path, query);
|
|
113
|
+
const perform = async (target, method, options) => {
|
|
114
|
+
deps.assertActive();
|
|
115
|
+
const replayable = () => ({ body: options.body, account: pluginRequestAccount(deps.apiBaseUrl, target), permitted: deps.accounts() });
|
|
116
|
+
const signal = requestSignal(options.signal, options.timeoutMs);
|
|
117
|
+
const send = (token) => deps.fetch(target, {
|
|
118
|
+
method,
|
|
119
|
+
headers: { ...options.headers, Authorization: `Bearer ${token}` },
|
|
120
|
+
body: options.body ?? undefined,
|
|
121
|
+
signal,
|
|
122
|
+
});
|
|
123
|
+
try {
|
|
124
|
+
const token = await deps.tokens.token();
|
|
125
|
+
let response = await send(token);
|
|
126
|
+
if (response.status === 401 && shouldRefreshAfterUnauthorized(replayable())) {
|
|
127
|
+
deps.assertActive();
|
|
128
|
+
const renewed = await deps.tokens.refresh("unauthorized");
|
|
129
|
+
if (canRetryAfterUnauthorized({ ...replayable(), rejectedToken: token, retryToken: renewed.token }))
|
|
130
|
+
response = await send(renewed.token);
|
|
131
|
+
}
|
|
132
|
+
if (response.status === 403)
|
|
133
|
+
deps.onForbidden?.();
|
|
134
|
+
return response;
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
throw mapTimeout(error);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const request = (path, options = {}) => perform(url(path, options.query), (options.method ?? "GET").toUpperCase(), options);
|
|
141
|
+
const json = async (method, path, body, options = {}) => {
|
|
142
|
+
const target = url(path, options.query);
|
|
143
|
+
const headers = { Accept: "application/json", ...options.headers };
|
|
144
|
+
let payload;
|
|
145
|
+
if (body !== undefined) {
|
|
146
|
+
headers["Content-Type"] = "application/json";
|
|
147
|
+
payload = JSON.stringify(body);
|
|
148
|
+
}
|
|
149
|
+
const response = await perform(target, method, { ...options, headers, body: payload });
|
|
150
|
+
let parsed;
|
|
151
|
+
try {
|
|
152
|
+
parsed = await parseBody(response);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
throw mapTimeout(error);
|
|
156
|
+
}
|
|
157
|
+
if (!response.ok)
|
|
158
|
+
throw new errors_1.PluginApiError(response.status, method, target, parsed);
|
|
159
|
+
return parsed;
|
|
160
|
+
};
|
|
161
|
+
return {
|
|
162
|
+
request,
|
|
163
|
+
url,
|
|
164
|
+
get: (path, options) => json("GET", path, undefined, options),
|
|
165
|
+
post: (path, body, options) => json("POST", path, body, options),
|
|
166
|
+
put: (path, body, options) => json("PUT", path, body, options),
|
|
167
|
+
patch: (path, body, options) => json("PATCH", path, body, options),
|
|
168
|
+
delete: (path, options) => json("DELETE", path, undefined, options),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./client";
|
|
2
|
+
export * from "./http";
|
|
3
|
+
export * from "./errors";
|
|
4
|
+
export * from "./theme-apply";
|
|
5
|
+
export * from "../contracts/messages";
|
|
6
|
+
export * from "../contracts/theme";
|
|
7
|
+
export * from "../contracts/transport";
|
|
8
|
+
export * from "../contracts/discovery";
|
|
9
|
+
export { pluginApiBaseUrl } from "../contracts/paths";
|
|
10
|
+
export type { PluginPermission, PluginRouteMethod } from "../contracts/manifest";
|
|
11
|
+
export type { PluginPrincipalType } from "../contracts/authorizer";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.pluginApiBaseUrl = void 0;
|
|
18
|
+
// Entry point for plugin frontends. Must stay free of Node, CDK and AWS server imports.
|
|
19
|
+
__exportStar(require("./client"), exports);
|
|
20
|
+
__exportStar(require("./http"), exports);
|
|
21
|
+
__exportStar(require("./errors"), exports);
|
|
22
|
+
__exportStar(require("./theme-apply"), exports);
|
|
23
|
+
__exportStar(require("../contracts/messages"), exports);
|
|
24
|
+
__exportStar(require("../contracts/theme"), exports);
|
|
25
|
+
__exportStar(require("../contracts/transport"), exports);
|
|
26
|
+
__exportStar(require("../contracts/discovery"), exports);
|
|
27
|
+
var paths_1 = require("../contracts/paths");
|
|
28
|
+
Object.defineProperty(exports, "pluginApiBaseUrl", { enumerable: true, get: function () { return paths_1.pluginApiBaseUrl; } });
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PluginTheme } from "../contracts/theme";
|
|
2
|
+
export declare const PLUGIN_THEME_STYLE_ID = "infra-client-plugin-theme";
|
|
3
|
+
export interface PluginThemeNode {
|
|
4
|
+
textContent: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface PluginThemeStyleElement extends PluginThemeNode {
|
|
7
|
+
id: string;
|
|
8
|
+
}
|
|
9
|
+
/** The slice of `Document` theme application touches; a real `Document` satisfies it. */
|
|
10
|
+
export interface PluginThemeDocument {
|
|
11
|
+
readonly documentElement: {
|
|
12
|
+
setAttribute(name: string, value: string): void;
|
|
13
|
+
};
|
|
14
|
+
readonly head: {
|
|
15
|
+
appendChild(node: PluginThemeNode): unknown;
|
|
16
|
+
};
|
|
17
|
+
getElementById(id: string): PluginThemeNode | null;
|
|
18
|
+
createElement(tagName: "style"): PluginThemeStyleElement;
|
|
19
|
+
}
|
|
20
|
+
/** Writes the theme into one `<style>` element (replaced on every call) and stamps
|
|
21
|
+
* `data-theme="light|dark"` on the root element for appearance-specific plugin CSS. */
|
|
22
|
+
export declare function applyPluginTheme(theme: PluginTheme, doc: PluginThemeDocument): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PLUGIN_THEME_STYLE_ID = void 0;
|
|
4
|
+
exports.applyPluginTheme = applyPluginTheme;
|
|
5
|
+
const theme_1 = require("../contracts/theme");
|
|
6
|
+
exports.PLUGIN_THEME_STYLE_ID = "infra-client-plugin-theme";
|
|
7
|
+
/** Writes the theme into one `<style>` element (replaced on every call) and stamps
|
|
8
|
+
* `data-theme="light|dark"` on the root element for appearance-specific plugin CSS. */
|
|
9
|
+
function applyPluginTheme(theme, doc) {
|
|
10
|
+
const css = (0, theme_1.pluginThemeCss)(theme);
|
|
11
|
+
const existing = doc.getElementById(exports.PLUGIN_THEME_STYLE_ID);
|
|
12
|
+
if (existing) {
|
|
13
|
+
existing.textContent = css;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
const element = doc.createElement("style");
|
|
17
|
+
element.id = exports.PLUGIN_THEME_STYLE_ID;
|
|
18
|
+
element.textContent = css;
|
|
19
|
+
doc.head.appendChild(element);
|
|
20
|
+
}
|
|
21
|
+
doc.documentElement.setAttribute("data-theme", theme.appearance);
|
|
22
|
+
}
|