@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 @@
|
|
|
1
|
+
@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--color-red-500: oklch(63.7% .237 25.331);--color-amber-400: oklch(82.8% .189 84.429);--color-amber-500: oklch(76.9% .188 70.08);--color-amber-700: oklch(55.5% .163 48.998);--color-green-500: oklch(72.3% .219 149.579);--color-gray-100: oklch(96.7% .003 264.542);--color-gray-400: oklch(70.7% .022 261.325);--color-gray-900: oklch(21% .034 264.665);--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-xl: 36rem;--container-2xl: 42rem;--container-3xl: 48rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--leading-snug: 1.375;--leading-relaxed: 1.625;--radius-md: calc(var(--radius) - .125rem);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + .25rem);--radius-2xl: calc(var(--radius) * 2);--radius-4xl: calc(var(--radius) * 3);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-2xl: 40px;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--default-mono-font-family: ui-monospace, "SF Mono", Menlo, monospace;--shadow-card: var(--card-shadow);--shadow-pill: var(--pill-shadow);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.3, 0, 0, 1)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-\[3px\]{top:3px}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1{right:calc(var(--spacing) * -1)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-\[3px\]{right:3px}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[1\.125rem\]{left:1.125rem}.left-full{left:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[5\]{z-index:5}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.col-span-3{grid-column:span 3 / span 3}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:var(--spacing)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-px{margin-block:-1px}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.-mt-3{margin-top:calc(var(--spacing) * -3)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-\[5px\]{margin-top:5px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-auto{margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:0}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-52{height:calc(var(--spacing) * 52)}.h-56{height:calc(var(--spacing) * 56)}.h-\[3px\]{height:3px}.h-\[9px\]{height:9px}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[19px\]{height:19px}.h-\[22px\]{height:22px}.h-\[30px\]{height:30px}.h-\[720px\]{height:720px}.h-\[760px\]{height:760px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[50vh\]{max-height:50vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\[38px\]{min-height:38px}.min-h-\[360px\]{min-height:360px}.min-h-\[380px\]{min-height:380px}.min-h-\[440px\]{min-height:440px}.min-h-full{min-height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:calc(2 / 3 * 100%)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\[3px\]{width:3px}.w-\[9px\]{width:9px}.w-\[15px\]{width:15px}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[19px\]{width:19px}.w-\[22px\]{width:22px}.w-\[30px\]{width:30px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[352px\]{width:352px}.w-\[480px\]{width:480px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-44{max-width:calc(var(--spacing) * 44)}.max-w-\[18rem\]{max-width:18rem}.max-w-\[65ch\]{max-width:65ch}.max-w-\[70\%\]{max-width:70%}.max-w-\[88vw\]{max-width:88vw}.max-w-\[118px\]{max-width:118px}.max-w-\[260px\]{max-width:260px}.max-w-\[420px\]{max-width:420px}.max-w-\[480px\]{max-width:480px}.max-w-\[520px\]{max-width:520px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[10rem\]{min-width:10rem}.min-w-\[124px\]{min-width:124px}.min-w-\[560px\]{min-width:560px}.min-w-\[680px\]{min-width:680px}.min-w-\[720px\]{min-width:720px}.min-w-\[760px\]{min-width:760px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.shrink-\[4\]{flex-shrink:4}.shrink-\[60\]{flex-shrink:60}.shrink-\[400\]{flex-shrink:400}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[\.\.\.\]{animation:...}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.\[scrollbar-gutter\:stable_both-edges\]{scrollbar-gutter:stable both-edges}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[6\.5rem_minmax\(0\,1fr\)_max-content\]{grid-template-columns:6.5rem minmax(0,1fr) max-content}.grid-cols-\[26\%_20\%_30\%_13\%_minmax\(0\,1fr\)\]{grid-template-columns:26% 20% 30% 13% minmax(0,1fr)}.grid-cols-\[40px_22\%_18\%_30\%_minmax\(0\,1fr\)\]{grid-template-columns:40px 22% 18% 30% minmax(0,1fr)}.grid-cols-\[120px_minmax\(0\,1fr\)\]{grid-template-columns:120px minmax(0,1fr)}.grid-cols-\[220px_minmax\(0\,1fr\)_minmax\(0\,1fr\)_100px\]{grid-template-columns:220px minmax(0,1fr) minmax(0,1fr) 100px}.grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[minmax\(0\,12fr\)_minmax\(0\,20fr\)_minmax\(0\,52fr\)_minmax\(0\,16fr\)\]{grid-template-columns:minmax(0,12fr) minmax(0,20fr) minmax(0,52fr) minmax(0,16fr)}.grid-cols-\[minmax\(0\,19fr\)_minmax\(0\,13fr\)_minmax\(0\,21fr\)_minmax\(0\,21fr\)_minmax\(0\,19fr\)_minmax\(0\,24fr\)\]{grid-template-columns:minmax(0,19fr) minmax(0,13fr) minmax(0,21fr) minmax(0,21fr) minmax(0,19fr) minmax(0,24fr)}.grid-cols-\[minmax\(0\,20fr\)_minmax\(0\,55fr\)_minmax\(0\,9fr\)_minmax\(0\,26fr\)\]{grid-template-columns:minmax(0,20fr) minmax(0,55fr) minmax(0,9fr) minmax(0,26fr)}.grid-cols-\[minmax\(0\,26fr\)_minmax\(0\,18fr\)_minmax\(0\,32fr\)\]{grid-template-columns:minmax(0,26fr) minmax(0,18fr) minmax(0,32fr)}.grid-cols-\[repeat\(auto-fill\,minmax\(300px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[7px\]{gap:7px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:var(--spacing)}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-\[26px\]{column-gap:26px}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.gap-y-\[7px\]{row-gap:7px}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.\!rounded-md{border-radius:calc(var(--radius) - .125rem)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 2)}.rounded-3xl{border-radius:calc(var(--radius) * 2.5)}.rounded-4xl{border-radius:calc(var(--radius) * 3)}.rounded-\[5px\]{border-radius:5px}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - .125rem)}.rounded-xl{border-radius:calc(var(--radius) + .25rem)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-\[2\.5px\]{border-top-style:var(--tw-border-style);border-top-width:2.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[2\.5px\]{border-left-style:var(--tw-border-style);border-left-width:2.5px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-none{--tw-border-style: none;border-style:none}.\!border-brand{border-color:var(--brand)!important}.border-border{border-color:var(--border)}.border-border-strong,.border-border-strong\/50{border-color:var(--border-strong)}@supports (color: color-mix(in lab,red,red)){.border-border-strong\/50{border-color:color-mix(in oklab,var(--border-strong) 50%,transparent)}}.border-border\/70{border-color:var(--border)}@supports (color: color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border) 70%,transparent)}}.border-brand{border-color:var(--brand)}.border-brand-muted{border-color:var(--brand-muted)}.border-brand\/20{border-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.border-brand\/20{border-color:color-mix(in oklab,var(--brand) 20%,transparent)}}.border-brand\/50{border-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.border-brand\/50{border-color:color-mix(in oklab,var(--brand) 50%,transparent)}}.border-brand\/60{border-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.border-brand\/60{border-color:color-mix(in oklab,var(--brand) 60%,transparent)}}.border-current{border-color:currentcolor}.border-danger{border-color:var(--danger)}.border-placeholder{border-color:var(--placeholder)}.border-success\/30{border-color:var(--success)}@supports (color: color-mix(in lab,red,red)){.border-success\/30{border-color:color-mix(in oklab,var(--success) 30%,transparent)}}.border-transparent{border-color:transparent}.border-warning\/30{border-color:var(--warning)}@supports (color: color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--warning) 30%,transparent)}}.border-t-brand{border-top-color:var(--brand)}.border-t-transparent{border-top-color:transparent}.bg-\[\#10b981\]{background-color:#10b981}.bg-\[\#f59e0b\]{background-color:#f59e0b}.bg-\[var\(--dot-active\)\]{background-color:var(--dot-active)}.bg-\[var\(--dot-active\,\#10b981\)\]{background-color:var(--dot-active,#10b981)}.bg-\[var\(--dot-expiring\)\]{background-color:var(--dot-expiring)}.bg-\[var\(--dot-expiring\,\#f59e0b\)\]{background-color:var(--dot-expiring,#f59e0b)}.bg-\[var\(--wiz-panel\)\]{background-color:var(--wiz-panel)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-border{background-color:var(--border)}.bg-border-strong{background-color:var(--border-strong)}.bg-brand{background-color:var(--brand)}.bg-brand-muted{background-color:var(--brand-muted)}.bg-brand-muted-2{background-color:var(--brand-muted-2)}.bg-brand\/5{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.bg-brand\/5{background-color:color-mix(in oklab,var(--brand) 5%,transparent)}}.bg-brand\/10{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.bg-brand\/10{background-color:color-mix(in oklab,var(--brand) 10%,transparent)}}.bg-brand\/12{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.bg-brand\/12{background-color:color-mix(in oklab,var(--brand) 12%,transparent)}}.bg-brand\/20{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.bg-brand\/20{background-color:color-mix(in oklab,var(--brand) 20%,transparent)}}.bg-card-bg{background-color:var(--card-bg)}.bg-current{background-color:currentcolor}.bg-danger{background-color:var(--danger)}.bg-danger-muted{background-color:var(--danger-muted)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-900\/40{background-color:color-mix(in srgb,oklch(21% .034 264.665) 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-gray-900\/40{background-color:color-mix(in oklab,var(--color-gray-900) 40%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/40{background-color:var(--muted-foreground)}@supports (color: color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,var(--muted-foreground) 40%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color: color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}.bg-notif{background-color:var(--notif)}.bg-placeholder{background-color:var(--placeholder)}.bg-popover{background-color:var(--popover-bg)}.bg-red-500{background-color:var(--color-red-500)}.bg-state-hover{background-color:var(--state-hover)}.bg-success-muted{background-color:var(--success-muted)}.bg-surface,.bg-surface\/60{background-color:var(--surface)}@supports (color: color-mix(in lab,red,red)){.bg-surface\/60{background-color:color-mix(in oklab,var(--surface) 60%,transparent)}}.bg-transparent{background-color:transparent}.bg-warning{background-color:var(--warning)}.bg-warning-muted{background-color:var(--warning-muted)}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.\!p-0{padding:0!important}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.p-\[3px\]{padding:3px}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[9px\]{padding-inline:9px}.px-\[13px\]{padding-inline:13px}.px-\[25px\]{padding-inline:25px}.\!py-0{padding-block:0!important}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-\[5px\]{padding-block:5px}.py-\[11px\]{padding-block:11px}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-14{padding-right:calc(var(--spacing) * 14)}.pr-\[5px\]{padding-right:5px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-\[5px\]{padding-left:5px}.pl-\[120px\]{padding-left:120px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-\[1\.35\]{--tw-leading: 1.35;line-height:1.35}.leading-\[1\.45\]{--tw-leading: 1.45;line-height:1.45}.leading-\[18px\]{--tw-leading: 18px;line-height:18px}.leading-none{--tw-leading: 1;line-height:1}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading: var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking: -.01em;letter-spacing:-.01em}.tracking-\[0\.015em\]{--tw-tracking: .015em;letter-spacing:.015em}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-amber-700{color:var(--color-amber-700)}.text-brand{color:var(--brand)}.text-brand-foreground{color:var(--brand-foreground)}.text-brand-muted-foreground{color:var(--brand-muted-foreground)}.text-brand-text{color:var(--brand-text)}.text-danger{color:var(--danger)}.text-gray-100{color:var(--color-gray-100)}.text-muted-foreground{color:var(--muted-foreground)}.text-placeholder{color:var(--placeholder)}.text-success{color:var(--success)}.text-surface-foreground{color:var(--surface-foreground)}.text-text-secondary{color:var(--text-secondary)}.text-warning{color:var(--warning)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0%}.opacity-50{opacity:50%}.opacity-60{opacity:60%}.opacity-70{opacity:70%}.opacity-80{opacity:80%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_2px_var\(--surface\)\]{--tw-shadow: 0 0 0 2px var(--tw-shadow-color, var(--surface));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow: 0 1px 2px var(--tw-shadow-color, rgba(0,0,0,.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_6px_-4px_rgba\(16\,24\,40\,0\.12\)\]{--tw-shadow: 0 4px 6px -4px var(--tw-shadow-color, rgba(16,24,40,.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_-14px_rgba\(0\,0\,0\,\.35\)\]{--tw-shadow: 0 10px 30px -14px var(--tw-shadow-color, rgba(0,0,0,.35));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[\2026\]{--tw-shadow: \2026;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-card{--tw-shadow: var(--card-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-page{--tw-shadow: var(--page-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-pill{--tw-shadow: var(--pill-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-toast{--tw-shadow: var(--toast-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[var\(--brand\)\]{--tw-ring-color: var(--brand)}.ring-\[var\(--success\)\]{--tw-ring-color: var(--success)}.ring-\[var\(--warning\)\]{--tw-ring-color: var(--warning)}.ring-\[var\(--x\)\]{--tw-ring-color: var(--x)}.ring-border{--tw-ring-color: var(--border)}.ring-border-strong{--tw-ring-color: var(--border-strong)}.ring-brand,.ring-brand\/20{--tw-ring-color: var(--brand)}@supports (color: color-mix(in lab,red,red)){.ring-brand\/20{--tw-ring-color: color-mix(in oklab, var(--brand) 20%, transparent)}}.ring-brand\/25{--tw-ring-color: var(--brand)}@supports (color: color-mix(in lab,red,red)){.ring-brand\/25{--tw-ring-color: color-mix(in oklab, var(--brand) 25%, transparent)}}.ring-danger\/20{--tw-ring-color: var(--danger)}@supports (color: color-mix(in lab,red,red)){.ring-danger\/20{--tw-ring-color: color-mix(in oklab, var(--danger) 20%, transparent)}}.ring-success\/25{--tw-ring-color: var(--success)}@supports (color: color-mix(in lab,red,red)){.ring-success\/25{--tw-ring-color: color-mix(in oklab, var(--success) 25%, transparent)}}.ring-success\/30{--tw-ring-color: var(--success)}@supports (color: color-mix(in lab,red,red)){.ring-success\/30{--tw-ring-color: color-mix(in oklab, var(--success) 30%, transparent)}}.ring-surface{--tw-ring-color: var(--surface)}.ring-warning\/25{--tw-ring-color: var(--warning)}@supports (color: color-mix(in lab,red,red)){.ring-warning\/25{--tw-ring-color: color-mix(in oklab, var(--warning) 25%, transparent)}}.ring-warning\/30{--tw-ring-color: var(--warning)}@supports (color: color-mix(in lab,red,red)){.ring-warning\/30{--tw-ring-color: color-mix(in oklab, var(--warning) 30%, transparent)}}.ring-offset-1{--tw-ring-offset-width: 1px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(var(--blur-2xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-150{--tw-duration: .15s;transition-duration:.15s}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-\[180ms\]{--tw-duration: .18s;transition-duration:.18s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[font\:inherit\]{font:inherit}.ring-inset{--tw-ring-inset: inset}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:100%}}@media(hover:hover){.group-hover\:shadow-card-hover:is(:where(.group):hover *){--tw-shadow: var(--card-shadow-hover);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.placeholder\:text-placeholder::placeholder{color:var(--placeholder)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0px}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}@media(hover:hover){.hover\:scale-110:hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(hover:hover){.hover\:border-brand:hover{border-color:var(--brand)}}@media(hover:hover){.hover\:border-success\/50:hover{border-color:var(--success)}@supports (color: color-mix(in lab,red,red)){.hover\:border-success\/50:hover{border-color:color-mix(in oklab,var(--success) 50%,transparent)}}}@media(hover:hover){.hover\:border-warning\/50:hover{border-color:var(--warning)}@supports (color: color-mix(in lab,red,red)){.hover\:border-warning\/50:hover{border-color:color-mix(in oklab,var(--warning) 50%,transparent)}}}@media(hover:hover){.hover\:bg-border-strong:hover{background-color:var(--border-strong)}}@media(hover:hover){.hover\:bg-brand-hover:hover{background-color:var(--brand-hover)}}@media(hover:hover){.hover\:bg-brand-muted:hover{background-color:var(--brand-muted)}}@media(hover:hover){.hover\:bg-brand\/12:hover{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-brand\/12:hover{background-color:color-mix(in oklab,var(--brand) 12%,transparent)}}}@media(hover:hover){.hover\:bg-brand\/15:hover{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-brand\/15:hover{background-color:color-mix(in oklab,var(--brand) 15%,transparent)}}}@media(hover:hover){.hover\:bg-brand\/18:hover{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-brand\/18:hover{background-color:color-mix(in oklab,var(--brand) 18%,transparent)}}}@media(hover:hover){.hover\:bg-brand\/20:hover{background-color:var(--brand)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-brand\/20:hover{background-color:color-mix(in oklab,var(--brand) 20%,transparent)}}}@media(hover:hover){.hover\:bg-danger-hover:hover{background-color:var(--danger-hover)}}@media(hover:hover){.hover\:bg-danger-muted:hover{background-color:var(--danger-muted)}}@media(hover:hover){.hover\:bg-danger\/10:hover{background-color:var(--danger)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-danger\/10:hover{background-color:color-mix(in oklab,var(--danger) 10%,transparent)}}}@media(hover:hover){.hover\:bg-muted:hover{background-color:var(--muted)}}@media(hover:hover){.hover\:bg-state-hover:hover{background-color:var(--state-hover)}}@media(hover:hover){.hover\:text-brand-text:hover{color:var(--brand-text)}}@media(hover:hover){.hover\:text-surface-foreground:hover{color:var(--surface-foreground)}}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}}@media(hover:hover){.hover\:opacity-100:hover{opacity:100%}}@media(hover:hover){.hover\:shadow-card-hover:hover{--tw-shadow: var(--card-shadow-hover);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(hover:hover){.hover\:ring-brand\/40:hover{--tw-ring-color: var(--brand)}@supports (color: color-mix(in lab,red,red)){.hover\:ring-brand\/40:hover{--tw-ring-color: color-mix(in oklab, var(--brand) 40%, transparent)}}}@media(hover:hover){.hover\:ring-success\/40:hover{--tw-ring-color: var(--success)}@supports (color: color-mix(in lab,red,red)){.hover\:ring-success\/40:hover{--tw-ring-color: color-mix(in oklab, var(--success) 40%, transparent)}}}@media(hover:hover){.hover\:ring-warning\/40:hover{--tw-ring-color: var(--warning)}@supports (color: color-mix(in lab,red,red)){.hover\:ring-warning\/40:hover{--tw-ring-color: color-mix(in oklab, var(--warning) 40%, transparent)}}}.focus\:outline-none:focus{--tw-outline-style: none;outline-style:none}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-brand:focus-visible{outline-color:var(--brand)}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:scale-90:active{--tw-scale-x: 90%;--tw-scale-y: 90%;--tw-scale-z: 90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:bg-border-strong:active{background-color:var(--border-strong)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-progress:disabled{cursor:progress}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-50:disabled{opacity:50%}.disabled\:opacity-60:disabled{opacity:60%}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:transparent}}.disabled\:active\:scale-100:disabled:active{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media(prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media(width>=48rem){.md\:mt-0{margin-top:0}}@media(width>=48rem){.md\:flex{display:flex}}@media(width>=48rem){.md\:hidden{display:none}}@media(width>=48rem){.md\:w-44{width:calc(var(--spacing) * 44)}}@media(width>=48rem){.md\:w-56{width:calc(var(--spacing) * 56)}}@media(width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width>=48rem){.md\:items-center{align-items:center}}@media(width>=48rem){.md\:gap-4{gap:calc(var(--spacing) * 4)}}@media(width>=64rem){.lg\:flex{display:flex}}@media(prefers-color-scheme:dark){.dark\:text-amber-400{color:var(--color-amber-400)}}.\[\&\:focus-within\:not\(\:has\(\[picker-trailing\]\:focus\)\)\]\:border-transparent:focus-within:not(:has([picker-trailing]:focus)){border-color:transparent}.\[\&\:focus-within\:not\(\:has\(\[picker-trailing\]\:focus\)\)\]\:outline-2:focus-within:not(:has([picker-trailing]:focus)){outline-style:var(--tw-outline-style);outline-width:2px}.\[\&\:focus-within\:not\(\:has\(\[picker-trailing\]\:focus\)\)\]\:-outline-offset-1:focus-within:not(:has([picker-trailing]:focus)){outline-offset:-1px}.\[\&\:focus-within\:not\(\:has\(\[picker-trailing\]\:focus\)\)\]\:outline-\[var\(--ring\)\]:focus-within:not(:has([picker-trailing]:focus)){outline-color:var(--ring)}}:root{--knob-accent: #4f46e5;--radius: .5rem;--brand-primary: #4f46e5;--brand-primary-hover: #4338ca;--brand-accent: #f59e0b;--accent-1: #fbfcff;--accent-2: #f4f6ff;--accent-3: #e9edfe;--accent-4: #dde3fd;--accent-5: #cdd6fb;--accent-6: #b9c4f8;--accent-7: #9fadf3;--accent-8: #7e8fee;--accent-9: #4f46e5;--accent-10: #4338ca;--accent-11: #3f3ba7;--accent-12: #2b2870;--gray-1: #f4f9ff;--gray-2: #eff4fc;--gray-3: #e8ecf4;--gray-4: #dee3ea;--gray-5: #dbe0e8;--gray-6: #d2d7df;--gray-7: #c4c9d0;--gray-8: #a8adb4;--gray-9: #82868e;--gray-10: #787c83;--gray-11: #51555c;--gray-12: #15181e;--background: var(--gray-1);--surface: #ffffff;--surface-foreground: var(--gray-12);--popover-bg: var(--surface);--muted: rgba(15, 18, 25, .06);--muted-foreground: var(--gray-11);--text-secondary: var(--gray-10);--placeholder: var(--gray-8);--border: rgba(15, 18, 25, .04);--border-strong: rgba(15, 18, 25, .08);--checkbox-border: var(--gray-8);--ring: var(--accent-8);--brand: var(--accent-9);--brand-foreground: #ffffff;--brand-hover: var(--accent-10);--brand-muted: var(--accent-3);--brand-muted-foreground: var(--accent-11);--brand-text: var(--accent-11);--brand-muted-2: var(--accent-2);--success: #047857;--success-muted: #bbf7d0;--success-foreground: #ffffff;--warning: #b45309;--warning-muted: #fde68a;--danger: #dc2626;--danger-hover: #b91c1c;--danger-muted: #fee2e2;--notif: #e5484d;--dot-active: #10b981;--dot-expiring: #f59e0b;--state-hover: rgba(15, 18, 25, .03);--state-selected: rgba(15, 18, 25, .06);--pill-shadow: 0 1px 2px rgba(20, 22, 40, .03);--toast-shadow: 0 10px 30px -14px rgba(0, 0, 0, .35);--page-shadow: 0 4px 6px -4px rgba(16, 24, 40, .12);--card-bg: rgba(15, 18, 25, .028);--card-shadow: 0 1px 2px rgba(20, 22, 40, .05);--card-shadow-hover: 0 6px 14px -8px rgba(30, 32, 60, .16);--glass-plate: linear-gradient(165deg, #eef1f6, #dfe3ea);--glass-panel-bg: rgba(255, 255, 255, .84);--glass-panel-glow-mult: 0;--glass-panel-glow-a: var(--accent-9)}@supports (color: color-mix(in lab,red,red)){:root{--glass-panel-glow-a: color-mix( in srgb, var(--accent-9) calc(60% * var(--glass-panel-glow-mult)), transparent )}}:root{--glass-panel-glow-b: var(--accent-9)}@supports (color: color-mix(in lab,red,red)){:root{--glass-panel-glow-b: color-mix( in srgb, var(--accent-9) calc(34% * var(--glass-panel-glow-mult)), transparent )}}@keyframes glass-glow-drift{0%{transform:translate3d(-2%,-1.5%,0) scale(1)}33%{transform:translate3d(1.5%,2%,0) scale(1.035)}66%{transform:translate3d(2%,-1%,0) scale(1.015)}to{transform:translate3d(-2%,-1.5%,0) scale(1)}}:root[data-gray-tone=neutral]{--gray-1: #fcfcfc;--gray-2: #fafafa;--gray-3: #f5f5f5;--gray-4: #efefef;--gray-5: #e5e5e5;--gray-6: #dbdbdb;--gray-7: #d4d4d4;--gray-8: #a3a3a3;--gray-9: #737373;--gray-10: #616161;--gray-11: #525252;--gray-12: #171717}:root[data-gray-tone=warm]{--gray-1: #fcfcfb;--gray-2: #fafaf9;--gray-3: #f5f5f4;--gray-4: #eeedec;--gray-5: #e7e5e4;--gray-6: #dcdad8;--gray-7: #d6d3d1;--gray-8: #a8a29e;--gray-9: #78716c;--gray-10: #66605b;--gray-11: #57534e;--gray-12: #1c1917}:root[data-gray-tone=mauve]{--gray-1: #fdfcfd;--gray-2: #f9f8f9;--gray-3: #f4f2f4;--gray-4: #eeedef;--gray-5: #e9e8ea;--gray-6: #e4e2e4;--gray-7: #dcdbdd;--gray-8: #c9c7cb;--gray-9: #8e8c99;--gray-10: #85828e;--gray-11: #65636d;--gray-12: #211f26}:root[data-gray-tone=sage]{--gray-1: #fbfdfc;--gray-2: #f7f9f8;--gray-3: #eef1f0;--gray-4: #e6e9e8;--gray-5: #dfe2e0;--gray-6: #d7dad9;--gray-7: #cbcecd;--gray-8: #b8bcbb;--gray-9: #868e8b;--gray-10: #7c8481;--gray-11: #63706b;--gray-12: #1a211e}:root[data-gray-tone=olive]{--gray-1: #fcfdfc;--gray-2: #f8faf8;--gray-3: #eff1ef;--gray-4: #e7e9e7;--gray-5: #e0e2df;--gray-6: #d8dad8;--gray-7: #cdcfcd;--gray-8: #b9bbb8;--gray-9: #898e87;--gray-10: #7f847d;--gray-11: #63675f;--gray-12: #1d211c}:root[data-gray-tone=sand]{--gray-1: #fdfdfc;--gray-2: #f9f9f8;--gray-3: #f1f0ef;--gray-4: #e9e8e6;--gray-5: #e2e1de;--gray-6: #dad9d6;--gray-7: #cfceca;--gray-8: #bcbbb5;--gray-9: #8d8d86;--gray-10: #82827c;--gray-11: #63635e;--gray-12: #21201c}:root[data-theme=dark]{--background: #0e1013;--surface: rgba(255, 255, 255, .044);--surface-foreground: #e7ebf2;--popover-bg: #34383f;--muted: rgba(255, 255, 255, .07);--muted-foreground: #9aa3b2;--text-secondary: #7c8698;--placeholder: #6b7484;--border: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .09);--checkbox-border: rgba(255, 255, 255, .35);--state-hover: rgba(255, 255, 255, .03);--state-selected: rgba(255, 255, 255, .055);--success: #4ade80;--success-muted: rgba(74, 222, 128, .16);--success-foreground: #0e1013;--warning: #fcd34d;--warning-muted: rgba(252, 211, 77, .18);--danger: #f87171;--danger-hover: #fca5a5;--danger-muted: rgba(248, 113, 113, .18);--notif: #ff6369;--dot-active: var(--success);--dot-expiring: var(--warning);--brand-text: #a5b4fc;--brand-muted-foreground: #a5b4fc;--brand-muted: var(--brand)}@supports (color: color-mix(in lab,red,red)){:root[data-theme=dark]{--brand-muted: color-mix(in oklab, var(--brand) 14%, transparent)}}:root[data-theme=dark]{--brand-muted-2: var(--brand)}@supports (color: color-mix(in lab,red,red)){:root[data-theme=dark]{--brand-muted-2: color-mix(in oklab, var(--brand) 8%, transparent)}}:root[data-theme=dark]{--card-shadow: 0 8px 28px -16px rgba(0, 0, 0, .5);--card-shadow-hover: 0 8px 18px -10px rgba(0, 0, 0, .35);--pill-shadow: 0 4px 14px -10px rgba(0, 0, 0, .35);--card-bg: rgba(255, 255, 255, .035);--glass-plate: linear-gradient(165deg, #23262e, #14161c);--glass-panel-bg: rgba(255, 255, 255, .07);--accent-1: #12141b;--accent-2: #141622;--accent-3: #17192b;--accent-4: #1a1d38;--accent-5: #1f2247;--accent-6: #242759;--accent-7: #2b2d71;--accent-8: #34348f}@layer base{body{color:var(--surface-foreground)}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}fieldset{min-width:0}}*{scrollbar-width:thin;scrollbar-color:rgba(140,150,165,.28) transparent}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#8c96a547;border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:#8c96a573}@layer components{.ui-title{font-size:1.75rem;font-weight:500;letter-spacing:-.02em;color:var(--surface-foreground)}.ui-subtitle{font-size:.9375rem;font-weight:600;color:var(--surface-foreground)}.ui-microlabel{font-size:11px;font-weight:600}.ui-card-title{font-size:.875rem;font-weight:500;letter-spacing:-.01em;color:var(--surface-foreground)}}@layer components{.role-chip{--chip-c: var(--role-c);background:var(--chip-c)}@supports (color: color-mix(in lab,red,red)){.role-chip{background:color-mix(in oklab,var(--chip-c) 16%,var(--surface))}}.role-chip{color:var(--chip-c)}@supports (color: color-mix(in lab,red,red)){.role-chip{color:color-mix(in oklab,var(--chip-c) 58%,var(--surface-foreground))}}:root[data-theme=dark] .role-chip{color:oklch(from var(--role-c) calc(l + .1) calc(c*1.15) h)}@supports (color: color-mix(in lab,red,red)){:root[data-theme=dark] .role-chip{color:color-mix(in oklab,oklch(from var(--role-c) calc(l + .1) calc(c*1.15) h) 55%,var(--surface-foreground))}}.role-chip:has(>.chip-tag:last-child){padding-right:.125rem}.role-chip:where(button){box-shadow:inset 0 0 0 1px var(--chip-c)}@supports (color: color-mix(in lab,red,red)){.role-chip:where(button){box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--chip-c) 4%,var(--border))}}button.role-chip:hover{background:var(--chip-c)}@supports (color: color-mix(in lab,red,red)){button.role-chip:hover{background:color-mix(in oklab,var(--chip-c) 24%,var(--surface))}}.role-chip-selected{background:var(--chip-c)}@supports (color: color-mix(in lab,red,red)){.role-chip-selected{background:color-mix(in oklab,var(--chip-c) 24%,var(--surface))}}.role-chip-selected{box-shadow:inset 0 0 0 1px var(--chip-c)}.chip-tag{display:inline-block;height:1rem;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:9999px;background:var(--muted);padding:0 .375rem;font-size:.625rem;font-weight:600;line-height:1rem;color:var(--muted-foreground)}.ui-input{display:block;width:100%;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);padding:.375rem .625rem;font-size:.875rem;color:var(--surface-foreground)}.ui-input:focus{outline:2px solid var(--ring);outline-offset:-1px;border-color:transparent}.ui-input::placeholder{color:var(--placeholder)}input.ui-input,select.ui-input{height:2.25rem}.ui-input:disabled{background:var(--muted);border-color:var(--border);color:var(--muted-foreground);cursor:not-allowed}select.ui-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem 1rem;padding-right:2rem}.ui-checkbox{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:1rem;height:1rem;flex-shrink:0;border-radius:.25rem;border:1px solid var(--checkbox-border);background:var(--surface);cursor:pointer}.ui-checkbox:after{content:"";width:.7rem;height:.7rem;transform:scale(0);background-color:var(--brand-foreground);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.75 6 6 9-13.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-position:center;mask-size:contain}.ui-checkbox:indeterminate:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}.ui-checkbox:checked,.ui-checkbox:indeterminate{border-color:var(--brand);background:var(--brand)}.ui-checkbox:checked:after,.ui-checkbox:indeterminate:after{transform:scale(1)}.ui-checkbox:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.sticky-th{position:sticky;top:0;z-index:10;background:var(--brand-muted)}:root[data-theme=dark] .sticky-th{background:var(--brand)}@supports (color: color-mix(in lab,red,red)){:root[data-theme=dark] .sticky-th{background:color-mix(in oklab,var(--brand) 14%,var(--popover-bg))}}.group-lid-wrap{background:linear-gradient(var(--glass-panel-bg),var(--glass-panel-bg)),var(--glass-plate)}.group-lid{background:linear-gradient(var(--card-bg),var(--card-bg)),linear-gradient(var(--glass-panel-bg),var(--glass-panel-bg)),var(--glass-plate)}.group-lid:hover{background:linear-gradient(var(--state-hover),var(--state-hover)),linear-gradient(var(--card-bg),var(--card-bg)),linear-gradient(var(--glass-panel-bg),var(--glass-panel-bg)),var(--glass-plate)}.floating-bar{background:var(--popover-bg);border:1px solid var(--border);box-shadow:var(--card-shadow-hover)}.ui-check-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--muted)}.ui-check-row:last-child{border-bottom:none}.ui-check-row:hover{background:var(--muted)}}.floating-bar button:disabled{opacity:1;color:var(--placeholder);box-shadow:inset 0 0 0 1px var(--border);cursor:not-allowed}.cdk-drag-preview{box-sizing:border-box;border-radius:8px;background:var(--card-bg, var(--surface));box-shadow:0 8px 24px #0000002e;opacity:.95}.cdk-drag-placeholder{opacity:.35}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-ordinal{syntax: "*"; inherits: false;}@property --tw-slashed-zero{syntax: "*"; inherits: false;}@property --tw-numeric-figure{syntax: "*"; inherits: false;}@property --tw-numeric-spacing{syntax: "*"; inherits: false;}@property --tw-numeric-fraction{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from "./lib/access-portal";
|
|
2
|
+
export * from "./lib/access-portal-hub";
|
|
3
|
+
export * from "./lib/project-config";
|
|
4
|
+
export { type AuditConfig, DEFAULT_AUDIT_RETENTION_DAYS } from "./lib/audit-log";
|
|
5
|
+
export * from "./lib/network-validation";
|
|
6
|
+
export * from "./lib/dimensions-validation";
|
|
7
|
+
export * from "./lib/data-stack";
|
|
8
|
+
export * from "./lib/creds-stack";
|
|
9
|
+
export * from "./lib/web-stack";
|
|
10
|
+
export * from "./lib/web-cert-stack";
|
|
11
|
+
export * from "./lib/federation";
|
|
12
|
+
export { WebAcl, type WebAclProps, type WafConfig, type WafLimits } from "./lib/constructs/web-acl";
|
|
13
|
+
export * from "./lib/plugins/registration";
|
|
14
|
+
export { PluginApi, type PluginApiProps } from "./lib/plugins/plugin-api";
|
|
15
|
+
export { PluginCatalogActivation, type PluginCatalogActivationProps } from "./lib/plugins/plugin-catalog-activation";
|
|
16
|
+
export * from "./lib/plugins/runtime";
|
|
17
|
+
export * from "./lib/target-account-stack";
|
|
18
|
+
export * from "./lib/target-account-template";
|
|
19
|
+
export * from "./lib/constructs/web-identity";
|
|
20
|
+
export * from "./lib/constructs/target-account-trust";
|
|
21
|
+
export * from "./lib/network-stack";
|
|
22
|
+
export * from "./lib/connector-stack";
|
|
23
|
+
export * from "./lib/constructs/tailnet-connector";
|
|
24
|
+
export * from "./lib/constructs/sg-manager";
|
|
25
|
+
export * from "./lib/constructs/tailnet-resolver";
|
|
26
|
+
export { CONNECTOR_NAME_RE, DEFAULT_RESOURCE_PREFIX, assertConnectorName, connectorHostname, parseConnectorVpcs, sgManagerFnName, tailnetResolverFnName, deviceKeyMinterFnName, connectorKeyMinterFnName, aclReconcilerRoleName, aclReconcilerFnName, } from "./lambdacode/network/naming";
|
|
27
|
+
export type { ConnectorTarget } from "./lambdacode/network/naming";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// The package's public surface. Everything a consuming CDK app needs is
|
|
3
|
+
// exported here — deep imports into lib/ are not part of the contract.
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.aclReconcilerFnName = exports.aclReconcilerRoleName = exports.connectorKeyMinterFnName = exports.deviceKeyMinterFnName = exports.tailnetResolverFnName = exports.sgManagerFnName = exports.parseConnectorVpcs = exports.connectorHostname = exports.assertConnectorName = exports.DEFAULT_RESOURCE_PREFIX = exports.CONNECTOR_NAME_RE = exports.PluginCatalogActivation = exports.PluginApi = exports.WebAcl = exports.DEFAULT_AUDIT_RETENTION_DAYS = void 0;
|
|
20
|
+
// Hub
|
|
21
|
+
__exportStar(require("./lib/access-portal"), exports);
|
|
22
|
+
__exportStar(require("./lib/access-portal-hub"), exports);
|
|
23
|
+
__exportStar(require("./lib/project-config"), exports);
|
|
24
|
+
var audit_log_1 = require("./lib/audit-log");
|
|
25
|
+
Object.defineProperty(exports, "DEFAULT_AUDIT_RETENTION_DAYS", { enumerable: true, get: function () { return audit_log_1.DEFAULT_AUDIT_RETENTION_DAYS; } });
|
|
26
|
+
__exportStar(require("./lib/network-validation"), exports);
|
|
27
|
+
__exportStar(require("./lib/dimensions-validation"), exports);
|
|
28
|
+
__exportStar(require("./lib/data-stack"), exports);
|
|
29
|
+
__exportStar(require("./lib/creds-stack"), exports);
|
|
30
|
+
__exportStar(require("./lib/web-stack"), exports);
|
|
31
|
+
__exportStar(require("./lib/web-cert-stack"), exports);
|
|
32
|
+
__exportStar(require("./lib/federation"), exports);
|
|
33
|
+
var web_acl_1 = require("./lib/constructs/web-acl");
|
|
34
|
+
Object.defineProperty(exports, "WebAcl", { enumerable: true, get: function () { return web_acl_1.WebAcl; } });
|
|
35
|
+
// Customer plugins (Epic 5): registrations feed addAccessPortal; the constructs are exported for custom compositions.
|
|
36
|
+
__exportStar(require("./lib/plugins/registration"), exports);
|
|
37
|
+
var plugin_api_1 = require("./lib/plugins/plugin-api");
|
|
38
|
+
Object.defineProperty(exports, "PluginApi", { enumerable: true, get: function () { return plugin_api_1.PluginApi; } });
|
|
39
|
+
var plugin_catalog_activation_1 = require("./lib/plugins/plugin-catalog-activation");
|
|
40
|
+
Object.defineProperty(exports, "PluginCatalogActivation", { enumerable: true, get: function () { return plugin_catalog_activation_1.PluginCatalogActivation; } });
|
|
41
|
+
__exportStar(require("./lib/plugins/runtime"), exports);
|
|
42
|
+
// Target accounts
|
|
43
|
+
__exportStar(require("./lib/target-account-stack"), exports);
|
|
44
|
+
__exportStar(require("./lib/target-account-template"), exports);
|
|
45
|
+
__exportStar(require("./lib/constructs/web-identity"), exports);
|
|
46
|
+
__exportStar(require("./lib/constructs/target-account-trust"), exports);
|
|
47
|
+
// Private network
|
|
48
|
+
__exportStar(require("./lib/network-stack"), exports);
|
|
49
|
+
__exportStar(require("./lib/connector-stack"), exports);
|
|
50
|
+
__exportStar(require("./lib/constructs/tailnet-connector"), exports);
|
|
51
|
+
__exportStar(require("./lib/constructs/sg-manager"), exports);
|
|
52
|
+
__exportStar(require("./lib/constructs/tailnet-resolver"), exports);
|
|
53
|
+
// The by-name cross-account contracts (names derived from resourcePrefix) — used internally
|
|
54
|
+
// by AccessPortalHub; exported for consumers who need the raw names.
|
|
55
|
+
var naming_1 = require("./lambdacode/network/naming");
|
|
56
|
+
Object.defineProperty(exports, "CONNECTOR_NAME_RE", { enumerable: true, get: function () { return naming_1.CONNECTOR_NAME_RE; } });
|
|
57
|
+
Object.defineProperty(exports, "DEFAULT_RESOURCE_PREFIX", { enumerable: true, get: function () { return naming_1.DEFAULT_RESOURCE_PREFIX; } });
|
|
58
|
+
Object.defineProperty(exports, "assertConnectorName", { enumerable: true, get: function () { return naming_1.assertConnectorName; } });
|
|
59
|
+
Object.defineProperty(exports, "connectorHostname", { enumerable: true, get: function () { return naming_1.connectorHostname; } });
|
|
60
|
+
Object.defineProperty(exports, "parseConnectorVpcs", { enumerable: true, get: function () { return naming_1.parseConnectorVpcs; } });
|
|
61
|
+
Object.defineProperty(exports, "sgManagerFnName", { enumerable: true, get: function () { return naming_1.sgManagerFnName; } });
|
|
62
|
+
Object.defineProperty(exports, "tailnetResolverFnName", { enumerable: true, get: function () { return naming_1.tailnetResolverFnName; } });
|
|
63
|
+
Object.defineProperty(exports, "deviceKeyMinterFnName", { enumerable: true, get: function () { return naming_1.deviceKeyMinterFnName; } });
|
|
64
|
+
Object.defineProperty(exports, "connectorKeyMinterFnName", { enumerable: true, get: function () { return naming_1.connectorKeyMinterFnName; } });
|
|
65
|
+
Object.defineProperty(exports, "aclReconcilerRoleName", { enumerable: true, get: function () { return naming_1.aclReconcilerRoleName; } });
|
|
66
|
+
Object.defineProperty(exports, "aclReconcilerFnName", { enumerable: true, get: function () { return naming_1.aclReconcilerFnName; } });
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const HEX_RE: RegExp;
|
|
2
|
+
export declare const LOGO_MAX = 64000;
|
|
3
|
+
export declare const LOGO_URL_RE: RegExp;
|
|
4
|
+
/** 'mono' is the wizard's mode-aware neutral accent (primary only). */
|
|
5
|
+
export declare function isBrandColor(key: string, value: string): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOGO_URL_RE = exports.LOGO_MAX = exports.HEX_RE = void 0;
|
|
4
|
+
exports.isBrandColor = isBrandColor;
|
|
5
|
+
// One definition of the branding value shapes — the runtime admin API (brandingService) and
|
|
6
|
+
// deploy-time synth validation (WebStack) must agree, or a value one accepts fails in the other.
|
|
7
|
+
exports.HEX_RE = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i;
|
|
8
|
+
// Enough for a ~48 KB image as base64 (or any inline SVG); the whole overlay
|
|
9
|
+
// must stay a quick pre-paint fetch.
|
|
10
|
+
exports.LOGO_MAX = 64_000;
|
|
11
|
+
exports.LOGO_URL_RE = /^(https:\/\/|data:image\/)/;
|
|
12
|
+
/** 'mono' is the wizard's mode-aware neutral accent (primary only). */
|
|
13
|
+
function isBrandColor(key, value) {
|
|
14
|
+
return exports.HEX_RE.test(value) || (key === "primaryColor" && value === "mono");
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** The objects the issuer serves. Shared by the publisher Lambda and the
|
|
2
|
+
* OidcIssuer construct (whose bucket grant names exactly these keys), so it
|
|
3
|
+
* must stay free of SDK imports — the construct ships to consumers. */
|
|
4
|
+
export declare const ISSUER_OBJECTS: {
|
|
5
|
+
readonly discovery: ".well-known/openid-configuration";
|
|
6
|
+
readonly jwks: ".well-known/jwks.json";
|
|
7
|
+
readonly index: "index.html";
|
|
8
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ISSUER_OBJECTS = void 0;
|
|
4
|
+
/** The objects the issuer serves. Shared by the publisher Lambda and the
|
|
5
|
+
* OidcIssuer construct (whose bucket grant names exactly these keys), so it
|
|
6
|
+
* must stay free of SDK imports — the construct ships to consumers. */
|
|
7
|
+
exports.ISSUER_OBJECTS = {
|
|
8
|
+
discovery: ".well-known/openid-configuration",
|
|
9
|
+
jwks: ".well-known/jwks.json",
|
|
10
|
+
index: "index.html",
|
|
11
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** Headscale rejects digit-first user names and ~half of Cognito subs (random hex) start with one — the prefix
|
|
2
|
+
* keeps names letter-first. The keyminter (creates users) and ACL reconciler (matches rules) MUST share this mapping. */
|
|
3
|
+
export declare const headscaleUserName: (cognitoSub: string) => string;
|
|
4
|
+
/** SET-ONCE product prefix for every by-name contract (Lambda/role/secret names, the SG rule marker). Config
|
|
5
|
+
* `resourcePrefix` may override it only BEFORE the first deploy — renaming later breaks every cross-account by-name invocation and orphans managed SG rules until all stacks in all accounts redeploy in lockstep. */
|
|
6
|
+
export declare const DEFAULT_RESOURCE_PREFIX = "infra-client";
|
|
7
|
+
/** A connector VPC's `name` (config `connectorVpcs`): letters and digits, letter-first, at most 10 — it
|
|
8
|
+
* suffixes the connector hostname AND both per-VPC function names, and the longest of those (a 15-char
|
|
9
|
+
* prefix, the resolver stem, a 20-char site id, the name) must fit Lambda's 64-char limit. */
|
|
10
|
+
export declare const CONNECTOR_NAME_RE: RegExp;
|
|
11
|
+
export declare const assertConnectorName: (name: string, where: string) => void;
|
|
12
|
+
/** One connector VPC as the hub addresses it: `name` for a named VPC, `region` only outside the hub's region.
|
|
13
|
+
* NetworkStack writes `CONNECTOR_VPCS` (accountNumber → ConnectorTarget[]) for the reconciler and its relay. */
|
|
14
|
+
export interface ConnectorTarget {
|
|
15
|
+
name?: string;
|
|
16
|
+
region?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const parseConnectorVpcs: (json: string | undefined) => Map<string, ConnectorTarget[]>;
|
|
19
|
+
/** `connector-<account>[-<name>]` is a CONTRACT: the ACL reconciler maps a node's routes to grants in the
|
|
20
|
+
* account it names. The name tells one VPC of an account from another; it coexists with headscale's own
|
|
21
|
+
* `-<random>` dedupe suffix, which the reconciler's parser tolerates either way. */
|
|
22
|
+
export declare const connectorHostname: (account: string, name?: string) => string;
|
|
23
|
+
/** Well-known SG-manager function name — one per connector VPC (`-<name>` for a named VPC; an account's
|
|
24
|
+
* one unnamed VPC keeps the bare name), invoked BY NAME across accounts (as the key minters are). The
|
|
25
|
+
* reconciler builds `arn:aws:lambda:<region>:<account>:function:<this>` from it. */
|
|
26
|
+
export declare const sgManagerFnName: (prefix: string, name?: string) => string;
|
|
27
|
+
/** Well-known key-minter names — invoked BY NAME so stacks deploy in any order. SECURITY SPLIT: the device minter
|
|
28
|
+
* (per-user keys, takes a siteId) is granted only to the vending API role; each site's connector minter (machine keys, ignores input) may be granted cross-account — site selection rides on WHICH minter an account may invoke, never on an argument, so a connector can neither impersonate a user nor enroll into another site. */
|
|
29
|
+
export declare const deviceKeyMinterFnName: (prefix: string) => string;
|
|
30
|
+
export declare const connectorKeyMinterFnName: (prefix: string, siteId: string) => string;
|
|
31
|
+
/** Well-known in-VPC DNS resolver — one per connector VPC, named PER SITE (an account may host connector
|
|
32
|
+
* VPCs in two sites — colliding CIDRs are the whole reason sites exist — and each VPC has its own private-DNS
|
|
33
|
+
* view, so a per-account name would answer with the wrong VPC's IPs) and, for a named VPC, per VPC. Invoked
|
|
34
|
+
* BY NAME across accounts like the SG-manager; private-zone names (Cloud Map, RDS) are invisible outside
|
|
35
|
+
* their VPC. */
|
|
36
|
+
export declare const tailnetResolverFnName: (prefix: string, siteId: string, name?: string) => string;
|
|
37
|
+
/** Fixed reconciler role name: connector accounts pin their SG-manager's invoke trust to this exact ARN. Lambda
|
|
38
|
+
* resolves the principal at permission-attach time, so recreating this role means redeploying every ConnectorStack. */
|
|
39
|
+
export declare const aclReconcilerRoleName: (prefix: string) => string;
|
|
40
|
+
/** The reconciler's out-of-VPC relay (function AND its invoke-only role share the name) — the hub's way
|
|
41
|
+
* into connector accounts in OTHER regions. Those accounts pin their SG-manager/resolver trust to the ROLE,
|
|
42
|
+
* the way hub-region ones pin it to the reconciler role; same recreate caveat. */
|
|
43
|
+
export declare const aclReconcilerRelayFnName: (prefix: string) => string;
|
|
44
|
+
export declare const aclReconcilerRelayRoleName: (prefix: string) => string;
|
|
45
|
+
/** Site ids: DNS label, letter-first, ≤20 chars — also the per-site resolver name's suffix. */
|
|
46
|
+
export declare const SITE_ID_RE: RegExp;
|
|
47
|
+
/** Fixed reconciler FUNCTION name: the API invokes it by name for the admin "Sync now" button
|
|
48
|
+
* (same by-name pattern as the key minters, so CredsStack never references NetworkStack). */
|
|
49
|
+
export declare const aclReconcilerFnName: (prefix: string) => string;
|
|
50
|
+
/** Ownership marker on every SG rule the manager writes — it only ever
|
|
51
|
+
* revokes rules carrying it. */
|
|
52
|
+
export declare const managedRuleDesc: (prefix: string) => string;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.managedRuleDesc = exports.aclReconcilerFnName = exports.SITE_ID_RE = exports.aclReconcilerRelayRoleName = exports.aclReconcilerRelayFnName = exports.aclReconcilerRoleName = exports.tailnetResolverFnName = exports.connectorKeyMinterFnName = exports.deviceKeyMinterFnName = exports.sgManagerFnName = exports.connectorHostname = exports.parseConnectorVpcs = exports.assertConnectorName = exports.CONNECTOR_NAME_RE = exports.DEFAULT_RESOURCE_PREFIX = exports.headscaleUserName = void 0;
|
|
4
|
+
/** Headscale rejects digit-first user names and ~half of Cognito subs (random hex) start with one — the prefix
|
|
5
|
+
* keeps names letter-first. The keyminter (creates users) and ACL reconciler (matches rules) MUST share this mapping. */
|
|
6
|
+
const headscaleUserName = (cognitoSub) => `u-${cognitoSub}`;
|
|
7
|
+
exports.headscaleUserName = headscaleUserName;
|
|
8
|
+
/** SET-ONCE product prefix for every by-name contract (Lambda/role/secret names, the SG rule marker). Config
|
|
9
|
+
* `resourcePrefix` may override it only BEFORE the first deploy — renaming later breaks every cross-account by-name invocation and orphans managed SG rules until all stacks in all accounts redeploy in lockstep. */
|
|
10
|
+
exports.DEFAULT_RESOURCE_PREFIX = "infra-client";
|
|
11
|
+
/** A connector VPC's `name` (config `connectorVpcs`): letters and digits, letter-first, at most 10 — it
|
|
12
|
+
* suffixes the connector hostname AND both per-VPC function names, and the longest of those (a 15-char
|
|
13
|
+
* prefix, the resolver stem, a 20-char site id, the name) must fit Lambda's 64-char limit. */
|
|
14
|
+
exports.CONNECTOR_NAME_RE = /^[a-z][a-z0-9]{0,9}$/;
|
|
15
|
+
const assertConnectorName = (name, where) => {
|
|
16
|
+
if (!exports.CONNECTOR_NAME_RE.test(name)) {
|
|
17
|
+
throw new Error(`${where}: name "${name}" is invalid — letters and digits, letter-first, at most 10 ` +
|
|
18
|
+
`characters (it suffixes the connector's hostname and its function names).`);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.assertConnectorName = assertConnectorName;
|
|
22
|
+
const parseConnectorVpcs = (json) => new Map(Object.entries(JSON.parse(json ?? "{}")).filter(([, v]) => Array.isArray(v)));
|
|
23
|
+
exports.parseConnectorVpcs = parseConnectorVpcs;
|
|
24
|
+
/** `connector-<account>[-<name>]` is a CONTRACT: the ACL reconciler maps a node's routes to grants in the
|
|
25
|
+
* account it names. The name tells one VPC of an account from another; it coexists with headscale's own
|
|
26
|
+
* `-<random>` dedupe suffix, which the reconciler's parser tolerates either way. */
|
|
27
|
+
const connectorHostname = (account, name) => name ? `connector-${account}-${name}` : `connector-${account}`;
|
|
28
|
+
exports.connectorHostname = connectorHostname;
|
|
29
|
+
/** Well-known SG-manager function name — one per connector VPC (`-<name>` for a named VPC; an account's
|
|
30
|
+
* one unnamed VPC keeps the bare name), invoked BY NAME across accounts (as the key minters are). The
|
|
31
|
+
* reconciler builds `arn:aws:lambda:<region>:<account>:function:<this>` from it. */
|
|
32
|
+
const sgManagerFnName = (prefix, name) => name ? `${prefix}-sg-manager-${name}` : `${prefix}-sg-manager`;
|
|
33
|
+
exports.sgManagerFnName = sgManagerFnName;
|
|
34
|
+
/** Well-known key-minter names — invoked BY NAME so stacks deploy in any order. SECURITY SPLIT: the device minter
|
|
35
|
+
* (per-user keys, takes a siteId) is granted only to the vending API role; each site's connector minter (machine keys, ignores input) may be granted cross-account — site selection rides on WHICH minter an account may invoke, never on an argument, so a connector can neither impersonate a user nor enroll into another site. */
|
|
36
|
+
const deviceKeyMinterFnName = (prefix) => `${prefix}-tailnet-device-keyminter`;
|
|
37
|
+
exports.deviceKeyMinterFnName = deviceKeyMinterFnName;
|
|
38
|
+
const connectorKeyMinterFnName = (prefix, siteId) => `${prefix}-tailnet-connector-keyminter-${siteId}`;
|
|
39
|
+
exports.connectorKeyMinterFnName = connectorKeyMinterFnName;
|
|
40
|
+
/** Well-known in-VPC DNS resolver — one per connector VPC, named PER SITE (an account may host connector
|
|
41
|
+
* VPCs in two sites — colliding CIDRs are the whole reason sites exist — and each VPC has its own private-DNS
|
|
42
|
+
* view, so a per-account name would answer with the wrong VPC's IPs) and, for a named VPC, per VPC. Invoked
|
|
43
|
+
* BY NAME across accounts like the SG-manager; private-zone names (Cloud Map, RDS) are invisible outside
|
|
44
|
+
* their VPC. */
|
|
45
|
+
const tailnetResolverFnName = (prefix, siteId, name) => name ? `${prefix}-tailnet-resolver-${siteId}-${name}` : `${prefix}-tailnet-resolver-${siteId}`;
|
|
46
|
+
exports.tailnetResolverFnName = tailnetResolverFnName;
|
|
47
|
+
/** Fixed reconciler role name: connector accounts pin their SG-manager's invoke trust to this exact ARN. Lambda
|
|
48
|
+
* resolves the principal at permission-attach time, so recreating this role means redeploying every ConnectorStack. */
|
|
49
|
+
const aclReconcilerRoleName = (prefix) => `${prefix}-acl-reconciler`;
|
|
50
|
+
exports.aclReconcilerRoleName = aclReconcilerRoleName;
|
|
51
|
+
/** The reconciler's out-of-VPC relay (function AND its invoke-only role share the name) — the hub's way
|
|
52
|
+
* into connector accounts in OTHER regions. Those accounts pin their SG-manager/resolver trust to the ROLE,
|
|
53
|
+
* the way hub-region ones pin it to the reconciler role; same recreate caveat. */
|
|
54
|
+
const aclReconcilerRelayFnName = (prefix) => `${prefix}-acl-reconciler-relay`;
|
|
55
|
+
exports.aclReconcilerRelayFnName = aclReconcilerRelayFnName;
|
|
56
|
+
const aclReconcilerRelayRoleName = (prefix) => `${prefix}-acl-reconciler-relay`;
|
|
57
|
+
exports.aclReconcilerRelayRoleName = aclReconcilerRelayRoleName;
|
|
58
|
+
/** Site ids: DNS label, letter-first, ≤20 chars — also the per-site resolver name's suffix. */
|
|
59
|
+
exports.SITE_ID_RE = /^[a-z][a-z0-9-]{0,19}$/;
|
|
60
|
+
/** Fixed reconciler FUNCTION name: the API invokes it by name for the admin "Sync now" button
|
|
61
|
+
* (same by-name pattern as the key minters, so CredsStack never references NetworkStack). */
|
|
62
|
+
const aclReconcilerFnName = (prefix) => `${prefix}-acl-reconciler`;
|
|
63
|
+
exports.aclReconcilerFnName = aclReconcilerFnName;
|
|
64
|
+
/** Ownership marker on every SG rule the manager writes — it only ever
|
|
65
|
+
* revokes rules carrying it. */
|
|
66
|
+
const managedRuleDesc = (prefix) => `${prefix}:managed`;
|
|
67
|
+
exports.managedRuleDesc = managedRuleDesc;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import * as iam from "aws-cdk-lib/aws-iam";
|
|
3
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
4
|
+
/** Identity of a deployed hub, from the consumer's point of view. Everything
|
|
5
|
+
* a cross-account stack needs derives from these — no hand-assembled ARNs. */
|
|
6
|
+
export interface AccessPortalHubAttributes {
|
|
7
|
+
readonly account: string;
|
|
8
|
+
readonly region: string;
|
|
9
|
+
/** The hub's issuer host, e.g. "issuer.acme.com". Needed for `issuerUrl`;
|
|
10
|
+
* omit when only the network side is consumed. */
|
|
11
|
+
readonly issuerDomain?: string;
|
|
12
|
+
/** SET-ONCE product prefix the hub was deployed with. */
|
|
13
|
+
readonly resourcePrefix?: string;
|
|
14
|
+
/** The zone + subdomain the hub's network deployed with. Needed for
|
|
15
|
+
* `controlUrl()`; omit when the hub has no NetworkStack. */
|
|
16
|
+
readonly network?: {
|
|
17
|
+
readonly zoneName: string;
|
|
18
|
+
readonly subdomain: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** The hub consumers point cross-account constructs at. Every contract is a
|
|
22
|
+
* WELL-KNOWN NAME from `resourcePrefix`, so plain attributes answer everything. */
|
|
23
|
+
export interface IAccessPortalHub {
|
|
24
|
+
readonly account: string;
|
|
25
|
+
readonly region: string;
|
|
26
|
+
readonly resourcePrefix: string;
|
|
27
|
+
/** `https://<issuerDomain>` — what target-account trust derives from. */
|
|
28
|
+
readonly issuerUrl?: string;
|
|
29
|
+
/** A site's Headscale control-plane URL (`https://<site>.<subdomain>.<zone>`). */
|
|
30
|
+
controlUrl(siteId: string): string;
|
|
31
|
+
/** ONE SITE's connector minter — site selection = WHICH minter an account
|
|
32
|
+
* may invoke; the hub must reciprocate with grantConnectorAccount. */
|
|
33
|
+
connectorKeyMinter(scope: Construct, siteId: string): lambda.IFunction;
|
|
34
|
+
/** The hub's ACL-reconciler role — what an SG-manager/resolver IN THE HUB'S REGION trusts. */
|
|
35
|
+
aclReconcilerPrincipal(): iam.IPrincipal;
|
|
36
|
+
/** The reconciler's out-of-VPC relay role — what an SG-manager/resolver in ANY OTHER region
|
|
37
|
+
* trusts (the reconciler itself cannot reach that region). */
|
|
38
|
+
aclReconcilerRelayPrincipal(): iam.IPrincipal;
|
|
39
|
+
}
|
|
40
|
+
export declare class AccessPortalHub implements IAccessPortalHub {
|
|
41
|
+
/** Locate a hub by identity alone — for apps that don't contain its stacks. */
|
|
42
|
+
static fromAttributes(attrs: AccessPortalHubAttributes): IAccessPortalHub;
|
|
43
|
+
readonly account: string;
|
|
44
|
+
readonly region: string;
|
|
45
|
+
readonly resourcePrefix: string;
|
|
46
|
+
readonly issuerUrl?: string;
|
|
47
|
+
private readonly network?;
|
|
48
|
+
private constructor();
|
|
49
|
+
controlUrl(siteId: string): string;
|
|
50
|
+
connectorKeyMinter(scope: Construct, siteId: string): lambda.IFunction;
|
|
51
|
+
aclReconcilerPrincipal(): iam.IPrincipal;
|
|
52
|
+
aclReconcilerRelayPrincipal(): iam.IPrincipal;
|
|
53
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AccessPortalHub = void 0;
|
|
37
|
+
const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
38
|
+
const lambda = __importStar(require("aws-cdk-lib/aws-lambda"));
|
|
39
|
+
const naming_1 = require("../lambdacode/network/naming");
|
|
40
|
+
class AccessPortalHub {
|
|
41
|
+
/** Locate a hub by identity alone — for apps that don't contain its stacks. */
|
|
42
|
+
static fromAttributes(attrs) {
|
|
43
|
+
return new AccessPortalHub(attrs);
|
|
44
|
+
}
|
|
45
|
+
account;
|
|
46
|
+
region;
|
|
47
|
+
resourcePrefix;
|
|
48
|
+
issuerUrl;
|
|
49
|
+
network;
|
|
50
|
+
constructor(attrs) {
|
|
51
|
+
this.account = attrs.account;
|
|
52
|
+
this.region = attrs.region;
|
|
53
|
+
this.resourcePrefix = attrs.resourcePrefix ?? naming_1.DEFAULT_RESOURCE_PREFIX;
|
|
54
|
+
this.issuerUrl = attrs.issuerDomain
|
|
55
|
+
? `https://${attrs.issuerDomain}`
|
|
56
|
+
: undefined;
|
|
57
|
+
this.network = attrs.network
|
|
58
|
+
? { zoneName: attrs.network.zoneName, subdomain: attrs.network.subdomain }
|
|
59
|
+
: undefined;
|
|
60
|
+
}
|
|
61
|
+
controlUrl(siteId) {
|
|
62
|
+
if (!this.network) {
|
|
63
|
+
throw new Error("AccessPortalHub.controlUrl: pass `network: { zoneName, subdomain }` " +
|
|
64
|
+
"in fromAttributes() — the control-plane hostname derives from them.");
|
|
65
|
+
}
|
|
66
|
+
return `https://${siteId}.${this.network.subdomain}.${this.network.zoneName}`;
|
|
67
|
+
}
|
|
68
|
+
connectorKeyMinter(scope, siteId) {
|
|
69
|
+
const id = `HubConnectorMinter-${siteId}`;
|
|
70
|
+
const existing = scope.node.tryFindChild(id);
|
|
71
|
+
if (existing)
|
|
72
|
+
return existing;
|
|
73
|
+
return lambda.Function.fromFunctionAttributes(scope, id, {
|
|
74
|
+
functionArn: `arn:aws:lambda:${this.region}:${this.account}:function:${(0, naming_1.connectorKeyMinterFnName)(this.resourcePrefix, siteId)}`,
|
|
75
|
+
// Cross-account: the resource-policy half lives hub-side
|
|
76
|
+
// (NetworkStack.grantConnectorAccount) — nothing to attach here.
|
|
77
|
+
skipPermissions: true,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
aclReconcilerPrincipal() {
|
|
81
|
+
return new iam.ArnPrincipal(`arn:aws:iam::${this.account}:role/${(0, naming_1.aclReconcilerRoleName)(this.resourcePrefix)}`);
|
|
82
|
+
}
|
|
83
|
+
aclReconcilerRelayPrincipal() {
|
|
84
|
+
return new iam.ArnPrincipal(`arn:aws:iam::${this.account}:role/${(0, naming_1.aclReconcilerRelayRoleName)(this.resourcePrefix)}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.AccessPortalHub = AccessPortalHub;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { PluginRegistration } from "./plugins/registration";
|
|
3
|
+
import { DataStack } from "./data-stack";
|
|
4
|
+
import { CredsStack } from "./creds-stack";
|
|
5
|
+
import { WebStack } from "./web-stack";
|
|
6
|
+
import { WebCertStack } from "./web-cert-stack";
|
|
7
|
+
import { NetworkStack } from "./network-stack";
|
|
8
|
+
import type { ProjectConfig } from "./project-config";
|
|
9
|
+
import type { ResolvedSite } from "./network-validation";
|
|
10
|
+
export interface AccessPortalProps {
|
|
11
|
+
readonly project: ProjectConfig;
|
|
12
|
+
/** SET ONCE — every by-name cross-account contract derives from it. */
|
|
13
|
+
readonly resourcePrefix: string;
|
|
14
|
+
readonly sites?: ResolvedSite[];
|
|
15
|
+
/** Overrides the bundled web app (tests point it at a stub). */
|
|
16
|
+
readonly webAssetPath?: string;
|
|
17
|
+
/** Customer plugins (`definePlugin` results). Requires `project.plugins.enabled`. */
|
|
18
|
+
readonly plugins?: readonly PluginRegistration[];
|
|
19
|
+
}
|
|
20
|
+
export interface AccessPortal {
|
|
21
|
+
readonly dataStack: DataStack;
|
|
22
|
+
readonly credsStack: CredsStack;
|
|
23
|
+
/** us-east-1 companion: issuer + web certificates and the CloudFront web
|
|
24
|
+
* ACL. Always present — CredsStack depends on it. */
|
|
25
|
+
readonly webCertStack: WebCertStack;
|
|
26
|
+
readonly webStack: WebStack;
|
|
27
|
+
/** Present only when `project.network` + `sites` are set. */
|
|
28
|
+
readonly networkStack?: NetworkStack;
|
|
29
|
+
}
|
|
30
|
+
/** Every hub stack as one unit — NOT a `cdk.Stage`: a Stage prefixes every
|
|
31
|
+
* construct path, renaming physical names and replacing live resources. */
|
|
32
|
+
export declare function addAccessPortal(scope: Construct, props: AccessPortalProps): AccessPortal;
|