@fntio/infra-client 0.0.0-stage → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (940) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/LICENSE +93 -0
  3. package/README.md +875 -2
  4. package/assets/acl-reconciler/index.js +1604 -0
  5. package/assets/api/index.js +9857 -0
  6. package/assets/api/package.json +9 -0
  7. package/assets/api/vendor_modules/.package-lock.json +857 -0
  8. package/assets/api/vendor_modules/accepts/HISTORY.md +243 -0
  9. package/assets/api/vendor_modules/accepts/LICENSE +23 -0
  10. package/assets/api/vendor_modules/accepts/README.md +140 -0
  11. package/assets/api/vendor_modules/accepts/index.js +238 -0
  12. package/assets/api/vendor_modules/accepts/package.json +47 -0
  13. package/assets/api/vendor_modules/array-flatten/LICENSE +21 -0
  14. package/assets/api/vendor_modules/array-flatten/README.md +43 -0
  15. package/assets/api/vendor_modules/array-flatten/array-flatten.js +64 -0
  16. package/assets/api/vendor_modules/array-flatten/package.json +39 -0
  17. package/assets/api/vendor_modules/aws-jwt-verify/LICENSE +175 -0
  18. package/assets/api/vendor_modules/aws-jwt-verify/README.md +1033 -0
  19. package/assets/api/vendor_modules/aws-jwt-verify/asn1.d.ts +20 -0
  20. package/assets/api/vendor_modules/aws-jwt-verify/assert.d.ts +41 -0
  21. package/assets/api/vendor_modules/aws-jwt-verify/cognito-verifier.d.ts +183 -0
  22. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/asn1.js +301 -0
  23. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/assert.js +108 -0
  24. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/cognito-verifier.js +158 -0
  25. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/error.js +131 -0
  26. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-common.js +29 -0
  27. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-node.js +89 -0
  28. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https.js +52 -0
  29. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/index.js +9 -0
  30. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwk.js +221 -0
  31. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-model.js +10 -0
  32. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-rsa.js +397 -0
  33. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt.js +161 -0
  34. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-node.js +48 -0
  35. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-web.js +78 -0
  36. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat.js +11 -0
  37. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/package.json +1 -0
  38. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/safe-json-parse.js +34 -0
  39. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/typing-util.js +6 -0
  40. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/asn1.js +296 -0
  41. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/assert.js +101 -0
  42. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/cognito-verifier.js +153 -0
  43. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/error.js +101 -0
  44. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-common.js +25 -0
  45. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-node.js +85 -0
  46. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https.js +48 -0
  47. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/index.js +4 -0
  48. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwk.js +208 -0
  49. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-model.js +7 -0
  50. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-rsa.js +389 -0
  51. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt.js +156 -0
  52. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-node.js +45 -0
  53. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-web.js +75 -0
  54. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat.js +10 -0
  55. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/package.json +1 -0
  56. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/safe-json-parse.js +29 -0
  57. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/typing-util.js +5 -0
  58. package/assets/api/vendor_modules/aws-jwt-verify/error.d.ts +108 -0
  59. package/assets/api/vendor_modules/aws-jwt-verify/https-common.d.ts +9 -0
  60. package/assets/api/vendor_modules/aws-jwt-verify/https-node.d.ts +20 -0
  61. package/assets/api/vendor_modules/aws-jwt-verify/https.d.ts +35 -0
  62. package/assets/api/vendor_modules/aws-jwt-verify/index.d.ts +2 -0
  63. package/assets/api/vendor_modules/aws-jwt-verify/jwk.d.ts +76 -0
  64. package/assets/api/vendor_modules/aws-jwt-verify/jwt-model.d.ts +78 -0
  65. package/assets/api/vendor_modules/aws-jwt-verify/jwt-rsa.d.ts +348 -0
  66. package/assets/api/vendor_modules/aws-jwt-verify/jwt.d.ts +51 -0
  67. package/assets/api/vendor_modules/aws-jwt-verify/package.json +136 -0
  68. package/assets/api/vendor_modules/aws-jwt-verify/safe-json-parse.d.ts +18 -0
  69. package/assets/api/vendor_modules/aws-jwt-verify/typing-util.d.ts +38 -0
  70. package/assets/api/vendor_modules/body-parser/HISTORY.md +703 -0
  71. package/assets/api/vendor_modules/body-parser/LICENSE +23 -0
  72. package/assets/api/vendor_modules/body-parser/README.md +476 -0
  73. package/assets/api/vendor_modules/body-parser/index.js +156 -0
  74. package/assets/api/vendor_modules/body-parser/lib/read.js +205 -0
  75. package/assets/api/vendor_modules/body-parser/lib/types/json.js +247 -0
  76. package/assets/api/vendor_modules/body-parser/lib/types/raw.js +105 -0
  77. package/assets/api/vendor_modules/body-parser/lib/types/text.js +125 -0
  78. package/assets/api/vendor_modules/body-parser/lib/types/urlencoded.js +303 -0
  79. package/assets/api/vendor_modules/body-parser/node_modules/qs/.editorconfig +46 -0
  80. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/FUNDING.yml +12 -0
  81. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/SECURITY.md +11 -0
  82. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/THREAT_MODEL.md +80 -0
  83. package/assets/api/vendor_modules/body-parser/node_modules/qs/.nycrc +13 -0
  84. package/assets/api/vendor_modules/body-parser/node_modules/qs/CHANGELOG.md +872 -0
  85. package/assets/api/vendor_modules/body-parser/node_modules/qs/LICENSE.md +29 -0
  86. package/assets/api/vendor_modules/body-parser/node_modules/qs/README.md +804 -0
  87. package/assets/api/vendor_modules/body-parser/node_modules/qs/dist/qs.js +141 -0
  88. package/assets/api/vendor_modules/body-parser/node_modules/qs/eslint.config.mjs +57 -0
  89. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/formats.js +23 -0
  90. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/index.js +11 -0
  91. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/parse.js +503 -0
  92. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/stringify.js +378 -0
  93. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/utils.js +512 -0
  94. package/assets/api/vendor_modules/body-parser/node_modules/qs/package.json +95 -0
  95. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/empty-keys-cases.js +267 -0
  96. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/parse.js +2296 -0
  97. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/stringify.js +1995 -0
  98. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/utils.js +822 -0
  99. package/assets/api/vendor_modules/body-parser/package.json +55 -0
  100. package/assets/api/vendor_modules/bytes/History.md +97 -0
  101. package/assets/api/vendor_modules/bytes/LICENSE +23 -0
  102. package/assets/api/vendor_modules/bytes/Readme.md +152 -0
  103. package/assets/api/vendor_modules/bytes/index.js +170 -0
  104. package/assets/api/vendor_modules/bytes/package.json +42 -0
  105. package/assets/api/vendor_modules/call-bind-apply-helpers/.eslintrc +17 -0
  106. package/assets/api/vendor_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  107. package/assets/api/vendor_modules/call-bind-apply-helpers/.nycrc +9 -0
  108. package/assets/api/vendor_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  109. package/assets/api/vendor_modules/call-bind-apply-helpers/LICENSE +21 -0
  110. package/assets/api/vendor_modules/call-bind-apply-helpers/README.md +62 -0
  111. package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  112. package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.js +10 -0
  113. package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  114. package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.js +10 -0
  115. package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  116. package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.js +4 -0
  117. package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  118. package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.js +4 -0
  119. package/assets/api/vendor_modules/call-bind-apply-helpers/index.d.ts +64 -0
  120. package/assets/api/vendor_modules/call-bind-apply-helpers/index.js +15 -0
  121. package/assets/api/vendor_modules/call-bind-apply-helpers/package.json +85 -0
  122. package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  123. package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  124. package/assets/api/vendor_modules/call-bind-apply-helpers/test/index.js +63 -0
  125. package/assets/api/vendor_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  126. package/assets/api/vendor_modules/call-bound/.eslintrc +13 -0
  127. package/assets/api/vendor_modules/call-bound/.github/FUNDING.yml +12 -0
  128. package/assets/api/vendor_modules/call-bound/.nycrc +9 -0
  129. package/assets/api/vendor_modules/call-bound/CHANGELOG.md +42 -0
  130. package/assets/api/vendor_modules/call-bound/LICENSE +21 -0
  131. package/assets/api/vendor_modules/call-bound/README.md +53 -0
  132. package/assets/api/vendor_modules/call-bound/index.d.ts +94 -0
  133. package/assets/api/vendor_modules/call-bound/index.js +19 -0
  134. package/assets/api/vendor_modules/call-bound/package.json +99 -0
  135. package/assets/api/vendor_modules/call-bound/test/index.js +61 -0
  136. package/assets/api/vendor_modules/call-bound/tsconfig.json +10 -0
  137. package/assets/api/vendor_modules/content-disposition/HISTORY.md +60 -0
  138. package/assets/api/vendor_modules/content-disposition/LICENSE +22 -0
  139. package/assets/api/vendor_modules/content-disposition/README.md +142 -0
  140. package/assets/api/vendor_modules/content-disposition/index.js +458 -0
  141. package/assets/api/vendor_modules/content-disposition/package.json +44 -0
  142. package/assets/api/vendor_modules/content-type/HISTORY.md +29 -0
  143. package/assets/api/vendor_modules/content-type/LICENSE +22 -0
  144. package/assets/api/vendor_modules/content-type/README.md +94 -0
  145. package/assets/api/vendor_modules/content-type/index.js +225 -0
  146. package/assets/api/vendor_modules/content-type/package.json +42 -0
  147. package/assets/api/vendor_modules/cookie/LICENSE +24 -0
  148. package/assets/api/vendor_modules/cookie/README.md +317 -0
  149. package/assets/api/vendor_modules/cookie/SECURITY.md +25 -0
  150. package/assets/api/vendor_modules/cookie/index.js +335 -0
  151. package/assets/api/vendor_modules/cookie/package.json +44 -0
  152. package/assets/api/vendor_modules/cookie-signature/History.md +42 -0
  153. package/assets/api/vendor_modules/cookie-signature/Readme.md +42 -0
  154. package/assets/api/vendor_modules/cookie-signature/index.js +51 -0
  155. package/assets/api/vendor_modules/cookie-signature/package.json +18 -0
  156. package/assets/api/vendor_modules/debug/.coveralls.yml +1 -0
  157. package/assets/api/vendor_modules/debug/.eslintrc +11 -0
  158. package/assets/api/vendor_modules/debug/.travis.yml +14 -0
  159. package/assets/api/vendor_modules/debug/CHANGELOG.md +362 -0
  160. package/assets/api/vendor_modules/debug/LICENSE +19 -0
  161. package/assets/api/vendor_modules/debug/Makefile +50 -0
  162. package/assets/api/vendor_modules/debug/README.md +312 -0
  163. package/assets/api/vendor_modules/debug/component.json +19 -0
  164. package/assets/api/vendor_modules/debug/karma.conf.js +70 -0
  165. package/assets/api/vendor_modules/debug/node.js +1 -0
  166. package/assets/api/vendor_modules/debug/package.json +49 -0
  167. package/assets/api/vendor_modules/debug/src/browser.js +185 -0
  168. package/assets/api/vendor_modules/debug/src/debug.js +202 -0
  169. package/assets/api/vendor_modules/debug/src/index.js +10 -0
  170. package/assets/api/vendor_modules/debug/src/inspector-log.js +15 -0
  171. package/assets/api/vendor_modules/debug/src/node.js +248 -0
  172. package/assets/api/vendor_modules/depd/History.md +103 -0
  173. package/assets/api/vendor_modules/depd/LICENSE +22 -0
  174. package/assets/api/vendor_modules/depd/Readme.md +280 -0
  175. package/assets/api/vendor_modules/depd/index.js +538 -0
  176. package/assets/api/vendor_modules/depd/lib/browser/index.js +77 -0
  177. package/assets/api/vendor_modules/depd/package.json +45 -0
  178. package/assets/api/vendor_modules/destroy/LICENSE +23 -0
  179. package/assets/api/vendor_modules/destroy/README.md +63 -0
  180. package/assets/api/vendor_modules/destroy/index.js +209 -0
  181. package/assets/api/vendor_modules/destroy/package.json +48 -0
  182. package/assets/api/vendor_modules/dunder-proto/.eslintrc +5 -0
  183. package/assets/api/vendor_modules/dunder-proto/.github/FUNDING.yml +12 -0
  184. package/assets/api/vendor_modules/dunder-proto/.nycrc +13 -0
  185. package/assets/api/vendor_modules/dunder-proto/CHANGELOG.md +24 -0
  186. package/assets/api/vendor_modules/dunder-proto/LICENSE +21 -0
  187. package/assets/api/vendor_modules/dunder-proto/README.md +54 -0
  188. package/assets/api/vendor_modules/dunder-proto/get.d.ts +5 -0
  189. package/assets/api/vendor_modules/dunder-proto/get.js +30 -0
  190. package/assets/api/vendor_modules/dunder-proto/package.json +76 -0
  191. package/assets/api/vendor_modules/dunder-proto/set.d.ts +5 -0
  192. package/assets/api/vendor_modules/dunder-proto/set.js +35 -0
  193. package/assets/api/vendor_modules/dunder-proto/test/get.js +34 -0
  194. package/assets/api/vendor_modules/dunder-proto/test/index.js +4 -0
  195. package/assets/api/vendor_modules/dunder-proto/test/set.js +50 -0
  196. package/assets/api/vendor_modules/dunder-proto/tsconfig.json +9 -0
  197. package/assets/api/vendor_modules/ee-first/LICENSE +22 -0
  198. package/assets/api/vendor_modules/ee-first/README.md +80 -0
  199. package/assets/api/vendor_modules/ee-first/index.js +95 -0
  200. package/assets/api/vendor_modules/ee-first/package.json +29 -0
  201. package/assets/api/vendor_modules/encodeurl/LICENSE +22 -0
  202. package/assets/api/vendor_modules/encodeurl/README.md +109 -0
  203. package/assets/api/vendor_modules/encodeurl/index.js +60 -0
  204. package/assets/api/vendor_modules/encodeurl/package.json +40 -0
  205. package/assets/api/vendor_modules/es-define-property/.eslintrc +13 -0
  206. package/assets/api/vendor_modules/es-define-property/.github/FUNDING.yml +12 -0
  207. package/assets/api/vendor_modules/es-define-property/.nycrc +9 -0
  208. package/assets/api/vendor_modules/es-define-property/CHANGELOG.md +29 -0
  209. package/assets/api/vendor_modules/es-define-property/LICENSE +21 -0
  210. package/assets/api/vendor_modules/es-define-property/README.md +49 -0
  211. package/assets/api/vendor_modules/es-define-property/index.d.ts +3 -0
  212. package/assets/api/vendor_modules/es-define-property/index.js +14 -0
  213. package/assets/api/vendor_modules/es-define-property/package.json +81 -0
  214. package/assets/api/vendor_modules/es-define-property/test/index.js +56 -0
  215. package/assets/api/vendor_modules/es-define-property/tsconfig.json +10 -0
  216. package/assets/api/vendor_modules/es-errors/.eslintrc +5 -0
  217. package/assets/api/vendor_modules/es-errors/.github/FUNDING.yml +12 -0
  218. package/assets/api/vendor_modules/es-errors/CHANGELOG.md +40 -0
  219. package/assets/api/vendor_modules/es-errors/LICENSE +21 -0
  220. package/assets/api/vendor_modules/es-errors/README.md +55 -0
  221. package/assets/api/vendor_modules/es-errors/eval.d.ts +3 -0
  222. package/assets/api/vendor_modules/es-errors/eval.js +4 -0
  223. package/assets/api/vendor_modules/es-errors/index.d.ts +3 -0
  224. package/assets/api/vendor_modules/es-errors/index.js +4 -0
  225. package/assets/api/vendor_modules/es-errors/package.json +80 -0
  226. package/assets/api/vendor_modules/es-errors/range.d.ts +3 -0
  227. package/assets/api/vendor_modules/es-errors/range.js +4 -0
  228. package/assets/api/vendor_modules/es-errors/ref.d.ts +3 -0
  229. package/assets/api/vendor_modules/es-errors/ref.js +4 -0
  230. package/assets/api/vendor_modules/es-errors/syntax.d.ts +3 -0
  231. package/assets/api/vendor_modules/es-errors/syntax.js +4 -0
  232. package/assets/api/vendor_modules/es-errors/test/index.js +19 -0
  233. package/assets/api/vendor_modules/es-errors/tsconfig.json +49 -0
  234. package/assets/api/vendor_modules/es-errors/type.d.ts +3 -0
  235. package/assets/api/vendor_modules/es-errors/type.js +4 -0
  236. package/assets/api/vendor_modules/es-errors/uri.d.ts +3 -0
  237. package/assets/api/vendor_modules/es-errors/uri.js +4 -0
  238. package/assets/api/vendor_modules/es-object-atoms/.eslintrc +16 -0
  239. package/assets/api/vendor_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  240. package/assets/api/vendor_modules/es-object-atoms/CHANGELOG.md +44 -0
  241. package/assets/api/vendor_modules/es-object-atoms/LICENSE +21 -0
  242. package/assets/api/vendor_modules/es-object-atoms/README.md +63 -0
  243. package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  244. package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  245. package/assets/api/vendor_modules/es-object-atoms/ToObject.d.ts +7 -0
  246. package/assets/api/vendor_modules/es-object-atoms/ToObject.js +10 -0
  247. package/assets/api/vendor_modules/es-object-atoms/index.d.ts +3 -0
  248. package/assets/api/vendor_modules/es-object-atoms/index.js +4 -0
  249. package/assets/api/vendor_modules/es-object-atoms/isObject.d.ts +3 -0
  250. package/assets/api/vendor_modules/es-object-atoms/isObject.js +6 -0
  251. package/assets/api/vendor_modules/es-object-atoms/package.json +79 -0
  252. package/assets/api/vendor_modules/es-object-atoms/test/index.js +38 -0
  253. package/assets/api/vendor_modules/es-object-atoms/tsconfig.json +7 -0
  254. package/assets/api/vendor_modules/escape-html/LICENSE +24 -0
  255. package/assets/api/vendor_modules/escape-html/Readme.md +43 -0
  256. package/assets/api/vendor_modules/escape-html/index.js +78 -0
  257. package/assets/api/vendor_modules/escape-html/package.json +24 -0
  258. package/assets/api/vendor_modules/etag/HISTORY.md +83 -0
  259. package/assets/api/vendor_modules/etag/LICENSE +22 -0
  260. package/assets/api/vendor_modules/etag/README.md +159 -0
  261. package/assets/api/vendor_modules/etag/index.js +131 -0
  262. package/assets/api/vendor_modules/etag/package.json +47 -0
  263. package/assets/api/vendor_modules/express/History.md +3676 -0
  264. package/assets/api/vendor_modules/express/LICENSE +24 -0
  265. package/assets/api/vendor_modules/express/Readme.md +260 -0
  266. package/assets/api/vendor_modules/express/index.js +11 -0
  267. package/assets/api/vendor_modules/express/lib/application.js +661 -0
  268. package/assets/api/vendor_modules/express/lib/express.js +116 -0
  269. package/assets/api/vendor_modules/express/lib/middleware/init.js +43 -0
  270. package/assets/api/vendor_modules/express/lib/middleware/query.js +47 -0
  271. package/assets/api/vendor_modules/express/lib/request.js +525 -0
  272. package/assets/api/vendor_modules/express/lib/response.js +1179 -0
  273. package/assets/api/vendor_modules/express/lib/router/index.js +673 -0
  274. package/assets/api/vendor_modules/express/lib/router/layer.js +181 -0
  275. package/assets/api/vendor_modules/express/lib/router/route.js +230 -0
  276. package/assets/api/vendor_modules/express/lib/utils.js +304 -0
  277. package/assets/api/vendor_modules/express/lib/view.js +182 -0
  278. package/assets/api/vendor_modules/express/package.json +102 -0
  279. package/assets/api/vendor_modules/finalhandler/HISTORY.md +216 -0
  280. package/assets/api/vendor_modules/finalhandler/LICENSE +22 -0
  281. package/assets/api/vendor_modules/finalhandler/README.md +147 -0
  282. package/assets/api/vendor_modules/finalhandler/SECURITY.md +25 -0
  283. package/assets/api/vendor_modules/finalhandler/index.js +341 -0
  284. package/assets/api/vendor_modules/finalhandler/package.json +47 -0
  285. package/assets/api/vendor_modules/forwarded/HISTORY.md +21 -0
  286. package/assets/api/vendor_modules/forwarded/LICENSE +22 -0
  287. package/assets/api/vendor_modules/forwarded/README.md +57 -0
  288. package/assets/api/vendor_modules/forwarded/index.js +90 -0
  289. package/assets/api/vendor_modules/forwarded/package.json +45 -0
  290. package/assets/api/vendor_modules/fresh/HISTORY.md +70 -0
  291. package/assets/api/vendor_modules/fresh/LICENSE +23 -0
  292. package/assets/api/vendor_modules/fresh/README.md +119 -0
  293. package/assets/api/vendor_modules/fresh/index.js +137 -0
  294. package/assets/api/vendor_modules/fresh/package.json +46 -0
  295. package/assets/api/vendor_modules/function-bind/.eslintrc +21 -0
  296. package/assets/api/vendor_modules/function-bind/.github/FUNDING.yml +12 -0
  297. package/assets/api/vendor_modules/function-bind/.github/SECURITY.md +3 -0
  298. package/assets/api/vendor_modules/function-bind/.nycrc +13 -0
  299. package/assets/api/vendor_modules/function-bind/CHANGELOG.md +136 -0
  300. package/assets/api/vendor_modules/function-bind/LICENSE +20 -0
  301. package/assets/api/vendor_modules/function-bind/README.md +46 -0
  302. package/assets/api/vendor_modules/function-bind/implementation.js +84 -0
  303. package/assets/api/vendor_modules/function-bind/index.js +5 -0
  304. package/assets/api/vendor_modules/function-bind/package.json +87 -0
  305. package/assets/api/vendor_modules/function-bind/test/.eslintrc +9 -0
  306. package/assets/api/vendor_modules/function-bind/test/index.js +252 -0
  307. package/assets/api/vendor_modules/get-intrinsic/.eslintrc +42 -0
  308. package/assets/api/vendor_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  309. package/assets/api/vendor_modules/get-intrinsic/.nycrc +9 -0
  310. package/assets/api/vendor_modules/get-intrinsic/CHANGELOG.md +186 -0
  311. package/assets/api/vendor_modules/get-intrinsic/LICENSE +21 -0
  312. package/assets/api/vendor_modules/get-intrinsic/README.md +71 -0
  313. package/assets/api/vendor_modules/get-intrinsic/index.js +378 -0
  314. package/assets/api/vendor_modules/get-intrinsic/package.json +97 -0
  315. package/assets/api/vendor_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  316. package/assets/api/vendor_modules/get-proto/.eslintrc +10 -0
  317. package/assets/api/vendor_modules/get-proto/.github/FUNDING.yml +12 -0
  318. package/assets/api/vendor_modules/get-proto/.nycrc +9 -0
  319. package/assets/api/vendor_modules/get-proto/CHANGELOG.md +21 -0
  320. package/assets/api/vendor_modules/get-proto/LICENSE +21 -0
  321. package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  322. package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.js +6 -0
  323. package/assets/api/vendor_modules/get-proto/README.md +50 -0
  324. package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  325. package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  326. package/assets/api/vendor_modules/get-proto/index.d.ts +5 -0
  327. package/assets/api/vendor_modules/get-proto/index.js +27 -0
  328. package/assets/api/vendor_modules/get-proto/package.json +81 -0
  329. package/assets/api/vendor_modules/get-proto/test/index.js +68 -0
  330. package/assets/api/vendor_modules/get-proto/tsconfig.json +9 -0
  331. package/assets/api/vendor_modules/gopd/.eslintrc +16 -0
  332. package/assets/api/vendor_modules/gopd/.github/FUNDING.yml +12 -0
  333. package/assets/api/vendor_modules/gopd/CHANGELOG.md +45 -0
  334. package/assets/api/vendor_modules/gopd/LICENSE +21 -0
  335. package/assets/api/vendor_modules/gopd/README.md +40 -0
  336. package/assets/api/vendor_modules/gopd/gOPD.d.ts +1 -0
  337. package/assets/api/vendor_modules/gopd/gOPD.js +4 -0
  338. package/assets/api/vendor_modules/gopd/index.d.ts +5 -0
  339. package/assets/api/vendor_modules/gopd/index.js +15 -0
  340. package/assets/api/vendor_modules/gopd/package.json +77 -0
  341. package/assets/api/vendor_modules/gopd/test/index.js +36 -0
  342. package/assets/api/vendor_modules/gopd/tsconfig.json +9 -0
  343. package/assets/api/vendor_modules/has-symbols/.eslintrc +11 -0
  344. package/assets/api/vendor_modules/has-symbols/.github/FUNDING.yml +12 -0
  345. package/assets/api/vendor_modules/has-symbols/.nycrc +9 -0
  346. package/assets/api/vendor_modules/has-symbols/CHANGELOG.md +91 -0
  347. package/assets/api/vendor_modules/has-symbols/LICENSE +21 -0
  348. package/assets/api/vendor_modules/has-symbols/README.md +46 -0
  349. package/assets/api/vendor_modules/has-symbols/index.d.ts +3 -0
  350. package/assets/api/vendor_modules/has-symbols/index.js +14 -0
  351. package/assets/api/vendor_modules/has-symbols/package.json +111 -0
  352. package/assets/api/vendor_modules/has-symbols/shams.d.ts +3 -0
  353. package/assets/api/vendor_modules/has-symbols/shams.js +45 -0
  354. package/assets/api/vendor_modules/has-symbols/test/index.js +22 -0
  355. package/assets/api/vendor_modules/has-symbols/test/shams/core-js.js +29 -0
  356. package/assets/api/vendor_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  357. package/assets/api/vendor_modules/has-symbols/test/tests.js +58 -0
  358. package/assets/api/vendor_modules/has-symbols/tsconfig.json +10 -0
  359. package/assets/api/vendor_modules/hasown/.github/FUNDING.yml +12 -0
  360. package/assets/api/vendor_modules/hasown/.nycrc +13 -0
  361. package/assets/api/vendor_modules/hasown/CHANGELOG.md +58 -0
  362. package/assets/api/vendor_modules/hasown/LICENSE +21 -0
  363. package/assets/api/vendor_modules/hasown/README.md +40 -0
  364. package/assets/api/vendor_modules/hasown/eslint.config.mjs +6 -0
  365. package/assets/api/vendor_modules/hasown/index.d.ts +3 -0
  366. package/assets/api/vendor_modules/hasown/index.js +8 -0
  367. package/assets/api/vendor_modules/hasown/package.json +91 -0
  368. package/assets/api/vendor_modules/hasown/tsconfig.json +6 -0
  369. package/assets/api/vendor_modules/http-errors/HISTORY.md +186 -0
  370. package/assets/api/vendor_modules/http-errors/LICENSE +23 -0
  371. package/assets/api/vendor_modules/http-errors/README.md +169 -0
  372. package/assets/api/vendor_modules/http-errors/index.js +290 -0
  373. package/assets/api/vendor_modules/http-errors/package.json +54 -0
  374. package/assets/api/vendor_modules/iconv-lite/Changelog.md +162 -0
  375. package/assets/api/vendor_modules/iconv-lite/LICENSE +21 -0
  376. package/assets/api/vendor_modules/iconv-lite/README.md +156 -0
  377. package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  378. package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  379. package/assets/api/vendor_modules/iconv-lite/encodings/index.js +22 -0
  380. package/assets/api/vendor_modules/iconv-lite/encodings/internal.js +188 -0
  381. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  382. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  383. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  384. package/assets/api/vendor_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  385. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  386. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  387. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  388. package/assets/api/vendor_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  389. package/assets/api/vendor_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  390. package/assets/api/vendor_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  391. package/assets/api/vendor_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  392. package/assets/api/vendor_modules/iconv-lite/encodings/utf16.js +177 -0
  393. package/assets/api/vendor_modules/iconv-lite/encodings/utf7.js +290 -0
  394. package/assets/api/vendor_modules/iconv-lite/lib/bom-handling.js +52 -0
  395. package/assets/api/vendor_modules/iconv-lite/lib/extend-node.js +217 -0
  396. package/assets/api/vendor_modules/iconv-lite/lib/index.d.ts +24 -0
  397. package/assets/api/vendor_modules/iconv-lite/lib/index.js +153 -0
  398. package/assets/api/vendor_modules/iconv-lite/lib/streams.js +121 -0
  399. package/assets/api/vendor_modules/iconv-lite/package.json +46 -0
  400. package/assets/api/vendor_modules/inherits/LICENSE +16 -0
  401. package/assets/api/vendor_modules/inherits/README.md +42 -0
  402. package/assets/api/vendor_modules/inherits/inherits.js +9 -0
  403. package/assets/api/vendor_modules/inherits/inherits_browser.js +27 -0
  404. package/assets/api/vendor_modules/inherits/package.json +29 -0
  405. package/assets/api/vendor_modules/ipaddr.js/LICENSE +19 -0
  406. package/assets/api/vendor_modules/ipaddr.js/README.md +233 -0
  407. package/assets/api/vendor_modules/ipaddr.js/ipaddr.min.js +1 -0
  408. package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js +673 -0
  409. package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  410. package/assets/api/vendor_modules/ipaddr.js/package.json +35 -0
  411. package/assets/api/vendor_modules/math-intrinsics/.eslintrc +16 -0
  412. package/assets/api/vendor_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  413. package/assets/api/vendor_modules/math-intrinsics/CHANGELOG.md +24 -0
  414. package/assets/api/vendor_modules/math-intrinsics/LICENSE +21 -0
  415. package/assets/api/vendor_modules/math-intrinsics/README.md +50 -0
  416. package/assets/api/vendor_modules/math-intrinsics/abs.d.ts +1 -0
  417. package/assets/api/vendor_modules/math-intrinsics/abs.js +4 -0
  418. package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  419. package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  420. package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  421. package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  422. package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  423. package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.js +5 -0
  424. package/assets/api/vendor_modules/math-intrinsics/floor.d.ts +1 -0
  425. package/assets/api/vendor_modules/math-intrinsics/floor.js +4 -0
  426. package/assets/api/vendor_modules/math-intrinsics/isFinite.d.ts +3 -0
  427. package/assets/api/vendor_modules/math-intrinsics/isFinite.js +12 -0
  428. package/assets/api/vendor_modules/math-intrinsics/isInteger.d.ts +3 -0
  429. package/assets/api/vendor_modules/math-intrinsics/isInteger.js +16 -0
  430. package/assets/api/vendor_modules/math-intrinsics/isNaN.d.ts +1 -0
  431. package/assets/api/vendor_modules/math-intrinsics/isNaN.js +6 -0
  432. package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  433. package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.js +6 -0
  434. package/assets/api/vendor_modules/math-intrinsics/max.d.ts +1 -0
  435. package/assets/api/vendor_modules/math-intrinsics/max.js +4 -0
  436. package/assets/api/vendor_modules/math-intrinsics/min.d.ts +1 -0
  437. package/assets/api/vendor_modules/math-intrinsics/min.js +4 -0
  438. package/assets/api/vendor_modules/math-intrinsics/mod.d.ts +3 -0
  439. package/assets/api/vendor_modules/math-intrinsics/mod.js +9 -0
  440. package/assets/api/vendor_modules/math-intrinsics/package.json +86 -0
  441. package/assets/api/vendor_modules/math-intrinsics/pow.d.ts +1 -0
  442. package/assets/api/vendor_modules/math-intrinsics/pow.js +4 -0
  443. package/assets/api/vendor_modules/math-intrinsics/round.d.ts +1 -0
  444. package/assets/api/vendor_modules/math-intrinsics/round.js +4 -0
  445. package/assets/api/vendor_modules/math-intrinsics/sign.d.ts +3 -0
  446. package/assets/api/vendor_modules/math-intrinsics/sign.js +11 -0
  447. package/assets/api/vendor_modules/math-intrinsics/test/index.js +192 -0
  448. package/assets/api/vendor_modules/math-intrinsics/tsconfig.json +3 -0
  449. package/assets/api/vendor_modules/media-typer/HISTORY.md +22 -0
  450. package/assets/api/vendor_modules/media-typer/LICENSE +22 -0
  451. package/assets/api/vendor_modules/media-typer/README.md +81 -0
  452. package/assets/api/vendor_modules/media-typer/index.js +270 -0
  453. package/assets/api/vendor_modules/media-typer/package.json +26 -0
  454. package/assets/api/vendor_modules/merge-descriptors/HISTORY.md +21 -0
  455. package/assets/api/vendor_modules/merge-descriptors/LICENSE +23 -0
  456. package/assets/api/vendor_modules/merge-descriptors/README.md +49 -0
  457. package/assets/api/vendor_modules/merge-descriptors/index.js +60 -0
  458. package/assets/api/vendor_modules/merge-descriptors/package.json +39 -0
  459. package/assets/api/vendor_modules/methods/HISTORY.md +29 -0
  460. package/assets/api/vendor_modules/methods/LICENSE +24 -0
  461. package/assets/api/vendor_modules/methods/README.md +51 -0
  462. package/assets/api/vendor_modules/methods/index.js +69 -0
  463. package/assets/api/vendor_modules/methods/package.json +36 -0
  464. package/assets/api/vendor_modules/mime/CHANGELOG.md +164 -0
  465. package/assets/api/vendor_modules/mime/LICENSE +21 -0
  466. package/assets/api/vendor_modules/mime/README.md +90 -0
  467. package/assets/api/vendor_modules/mime/cli.js +8 -0
  468. package/assets/api/vendor_modules/mime/mime.js +108 -0
  469. package/assets/api/vendor_modules/mime/package.json +44 -0
  470. package/assets/api/vendor_modules/mime/src/build.js +53 -0
  471. package/assets/api/vendor_modules/mime/src/test.js +60 -0
  472. package/assets/api/vendor_modules/mime/types.json +1 -0
  473. package/assets/api/vendor_modules/mime-db/HISTORY.md +507 -0
  474. package/assets/api/vendor_modules/mime-db/LICENSE +23 -0
  475. package/assets/api/vendor_modules/mime-db/README.md +100 -0
  476. package/assets/api/vendor_modules/mime-db/db.json +8519 -0
  477. package/assets/api/vendor_modules/mime-db/index.js +12 -0
  478. package/assets/api/vendor_modules/mime-db/package.json +60 -0
  479. package/assets/api/vendor_modules/mime-types/HISTORY.md +397 -0
  480. package/assets/api/vendor_modules/mime-types/LICENSE +23 -0
  481. package/assets/api/vendor_modules/mime-types/README.md +113 -0
  482. package/assets/api/vendor_modules/mime-types/index.js +188 -0
  483. package/assets/api/vendor_modules/mime-types/package.json +44 -0
  484. package/assets/api/vendor_modules/ms/index.js +152 -0
  485. package/assets/api/vendor_modules/ms/license.md +21 -0
  486. package/assets/api/vendor_modules/ms/package.json +37 -0
  487. package/assets/api/vendor_modules/ms/readme.md +51 -0
  488. package/assets/api/vendor_modules/negotiator/HISTORY.md +108 -0
  489. package/assets/api/vendor_modules/negotiator/LICENSE +24 -0
  490. package/assets/api/vendor_modules/negotiator/README.md +203 -0
  491. package/assets/api/vendor_modules/negotiator/index.js +82 -0
  492. package/assets/api/vendor_modules/negotiator/lib/charset.js +169 -0
  493. package/assets/api/vendor_modules/negotiator/lib/encoding.js +184 -0
  494. package/assets/api/vendor_modules/negotiator/lib/language.js +179 -0
  495. package/assets/api/vendor_modules/negotiator/lib/mediaType.js +294 -0
  496. package/assets/api/vendor_modules/negotiator/package.json +42 -0
  497. package/assets/api/vendor_modules/object-inspect/.eslintrc +53 -0
  498. package/assets/api/vendor_modules/object-inspect/.github/FUNDING.yml +12 -0
  499. package/assets/api/vendor_modules/object-inspect/.nycrc +13 -0
  500. package/assets/api/vendor_modules/object-inspect/CHANGELOG.md +424 -0
  501. package/assets/api/vendor_modules/object-inspect/LICENSE +21 -0
  502. package/assets/api/vendor_modules/object-inspect/example/all.js +23 -0
  503. package/assets/api/vendor_modules/object-inspect/example/circular.js +6 -0
  504. package/assets/api/vendor_modules/object-inspect/example/fn.js +5 -0
  505. package/assets/api/vendor_modules/object-inspect/example/inspect.js +10 -0
  506. package/assets/api/vendor_modules/object-inspect/index.js +544 -0
  507. package/assets/api/vendor_modules/object-inspect/package-support.json +20 -0
  508. package/assets/api/vendor_modules/object-inspect/package.json +105 -0
  509. package/assets/api/vendor_modules/object-inspect/readme.markdown +84 -0
  510. package/assets/api/vendor_modules/object-inspect/test/bigint.js +58 -0
  511. package/assets/api/vendor_modules/object-inspect/test/browser/dom.js +15 -0
  512. package/assets/api/vendor_modules/object-inspect/test/circular.js +16 -0
  513. package/assets/api/vendor_modules/object-inspect/test/deep.js +12 -0
  514. package/assets/api/vendor_modules/object-inspect/test/element.js +53 -0
  515. package/assets/api/vendor_modules/object-inspect/test/err.js +48 -0
  516. package/assets/api/vendor_modules/object-inspect/test/fakes.js +29 -0
  517. package/assets/api/vendor_modules/object-inspect/test/fn.js +76 -0
  518. package/assets/api/vendor_modules/object-inspect/test/global.js +17 -0
  519. package/assets/api/vendor_modules/object-inspect/test/has.js +15 -0
  520. package/assets/api/vendor_modules/object-inspect/test/holes.js +15 -0
  521. package/assets/api/vendor_modules/object-inspect/test/indent-option.js +271 -0
  522. package/assets/api/vendor_modules/object-inspect/test/inspect.js +139 -0
  523. package/assets/api/vendor_modules/object-inspect/test/lowbyte.js +12 -0
  524. package/assets/api/vendor_modules/object-inspect/test/number.js +58 -0
  525. package/assets/api/vendor_modules/object-inspect/test/quoteStyle.js +26 -0
  526. package/assets/api/vendor_modules/object-inspect/test/toStringTag.js +40 -0
  527. package/assets/api/vendor_modules/object-inspect/test/undef.js +12 -0
  528. package/assets/api/vendor_modules/object-inspect/test/values.js +261 -0
  529. package/assets/api/vendor_modules/object-inspect/test-core-js.js +26 -0
  530. package/assets/api/vendor_modules/object-inspect/util.inspect.js +1 -0
  531. package/assets/api/vendor_modules/on-finished/HISTORY.md +98 -0
  532. package/assets/api/vendor_modules/on-finished/LICENSE +23 -0
  533. package/assets/api/vendor_modules/on-finished/README.md +162 -0
  534. package/assets/api/vendor_modules/on-finished/index.js +234 -0
  535. package/assets/api/vendor_modules/on-finished/package.json +39 -0
  536. package/assets/api/vendor_modules/parseurl/HISTORY.md +58 -0
  537. package/assets/api/vendor_modules/parseurl/LICENSE +24 -0
  538. package/assets/api/vendor_modules/parseurl/README.md +133 -0
  539. package/assets/api/vendor_modules/parseurl/index.js +158 -0
  540. package/assets/api/vendor_modules/parseurl/package.json +40 -0
  541. package/assets/api/vendor_modules/path-to-regexp/LICENSE +21 -0
  542. package/assets/api/vendor_modules/path-to-regexp/Readme.md +35 -0
  543. package/assets/api/vendor_modules/path-to-regexp/index.js +158 -0
  544. package/assets/api/vendor_modules/path-to-regexp/package.json +30 -0
  545. package/assets/api/vendor_modules/proxy-addr/HISTORY.md +167 -0
  546. package/assets/api/vendor_modules/proxy-addr/LICENSE +22 -0
  547. package/assets/api/vendor_modules/proxy-addr/README.md +139 -0
  548. package/assets/api/vendor_modules/proxy-addr/index.js +359 -0
  549. package/assets/api/vendor_modules/proxy-addr/package.json +51 -0
  550. package/assets/api/vendor_modules/qs/.editorconfig +46 -0
  551. package/assets/api/vendor_modules/qs/.github/FUNDING.yml +12 -0
  552. package/assets/api/vendor_modules/qs/.github/SECURITY.md +11 -0
  553. package/assets/api/vendor_modules/qs/.github/THREAT_MODEL.md +78 -0
  554. package/assets/api/vendor_modules/qs/.nycrc +13 -0
  555. package/assets/api/vendor_modules/qs/CHANGELOG.md +833 -0
  556. package/assets/api/vendor_modules/qs/LICENSE.md +29 -0
  557. package/assets/api/vendor_modules/qs/README.md +758 -0
  558. package/assets/api/vendor_modules/qs/dist/qs.js +141 -0
  559. package/assets/api/vendor_modules/qs/eslint.config.mjs +57 -0
  560. package/assets/api/vendor_modules/qs/lib/formats.js +23 -0
  561. package/assets/api/vendor_modules/qs/lib/index.js +11 -0
  562. package/assets/api/vendor_modules/qs/lib/parse.js +414 -0
  563. package/assets/api/vendor_modules/qs/lib/stringify.js +363 -0
  564. package/assets/api/vendor_modules/qs/lib/utils.js +381 -0
  565. package/assets/api/vendor_modules/qs/package.json +95 -0
  566. package/assets/api/vendor_modules/qs/test/empty-keys-cases.js +267 -0
  567. package/assets/api/vendor_modules/qs/test/parse.js +1933 -0
  568. package/assets/api/vendor_modules/qs/test/stringify.js +1448 -0
  569. package/assets/api/vendor_modules/qs/test/utils.js +626 -0
  570. package/assets/api/vendor_modules/range-parser/HISTORY.md +56 -0
  571. package/assets/api/vendor_modules/range-parser/LICENSE +23 -0
  572. package/assets/api/vendor_modules/range-parser/README.md +84 -0
  573. package/assets/api/vendor_modules/range-parser/index.js +162 -0
  574. package/assets/api/vendor_modules/range-parser/package.json +44 -0
  575. package/assets/api/vendor_modules/raw-body/LICENSE +22 -0
  576. package/assets/api/vendor_modules/raw-body/README.md +223 -0
  577. package/assets/api/vendor_modules/raw-body/index.d.ts +87 -0
  578. package/assets/api/vendor_modules/raw-body/index.js +336 -0
  579. package/assets/api/vendor_modules/raw-body/package.json +47 -0
  580. package/assets/api/vendor_modules/safe-buffer/LICENSE +21 -0
  581. package/assets/api/vendor_modules/safe-buffer/README.md +584 -0
  582. package/assets/api/vendor_modules/safe-buffer/index.d.ts +187 -0
  583. package/assets/api/vendor_modules/safe-buffer/index.js +65 -0
  584. package/assets/api/vendor_modules/safe-buffer/package.json +51 -0
  585. package/assets/api/vendor_modules/safer-buffer/LICENSE +21 -0
  586. package/assets/api/vendor_modules/safer-buffer/Porting-Buffer.md +268 -0
  587. package/assets/api/vendor_modules/safer-buffer/Readme.md +156 -0
  588. package/assets/api/vendor_modules/safer-buffer/dangerous.js +58 -0
  589. package/assets/api/vendor_modules/safer-buffer/package.json +34 -0
  590. package/assets/api/vendor_modules/safer-buffer/safer.js +77 -0
  591. package/assets/api/vendor_modules/safer-buffer/tests.js +406 -0
  592. package/assets/api/vendor_modules/send/HISTORY.md +538 -0
  593. package/assets/api/vendor_modules/send/LICENSE +23 -0
  594. package/assets/api/vendor_modules/send/README.md +327 -0
  595. package/assets/api/vendor_modules/send/SECURITY.md +24 -0
  596. package/assets/api/vendor_modules/send/index.js +1142 -0
  597. package/assets/api/vendor_modules/send/node_modules/ms/index.js +162 -0
  598. package/assets/api/vendor_modules/send/node_modules/ms/license.md +21 -0
  599. package/assets/api/vendor_modules/send/node_modules/ms/package.json +38 -0
  600. package/assets/api/vendor_modules/send/node_modules/ms/readme.md +59 -0
  601. package/assets/api/vendor_modules/send/package.json +62 -0
  602. package/assets/api/vendor_modules/serve-static/HISTORY.md +493 -0
  603. package/assets/api/vendor_modules/serve-static/LICENSE +25 -0
  604. package/assets/api/vendor_modules/serve-static/README.md +257 -0
  605. package/assets/api/vendor_modules/serve-static/index.js +209 -0
  606. package/assets/api/vendor_modules/serve-static/package.json +42 -0
  607. package/assets/api/vendor_modules/serverless-http/LICENSE.txt +33 -0
  608. package/assets/api/vendor_modules/serverless-http/README.md +117 -0
  609. package/assets/api/vendor_modules/serverless-http/lib/finish.js +42 -0
  610. package/assets/api/vendor_modules/serverless-http/lib/framework/get-framework.js +79 -0
  611. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/clean-up-event.js +98 -0
  612. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/create-request.js +110 -0
  613. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/format-response.js +45 -0
  614. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/index.js +15 -0
  615. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/is-binary.js +42 -0
  616. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/sanitize-headers.js +21 -0
  617. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/clean-up-request.js +41 -0
  618. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/create-request.js +45 -0
  619. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/format-response.js +18 -0
  620. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/index.js +13 -0
  621. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/is-binary.js +42 -0
  622. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/sanitize-headers.js +23 -0
  623. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/set-cookie.json +1 -0
  624. package/assets/api/vendor_modules/serverless-http/lib/provider/get-provider.js +17 -0
  625. package/assets/api/vendor_modules/serverless-http/lib/request.js +38 -0
  626. package/assets/api/vendor_modules/serverless-http/lib/response.js +135 -0
  627. package/assets/api/vendor_modules/serverless-http/package.json +93 -0
  628. package/assets/api/vendor_modules/serverless-http/serverless-http.d.ts +41 -0
  629. package/assets/api/vendor_modules/serverless-http/serverless-http.js +23 -0
  630. package/assets/api/vendor_modules/setprototypeof/LICENSE +13 -0
  631. package/assets/api/vendor_modules/setprototypeof/README.md +31 -0
  632. package/assets/api/vendor_modules/setprototypeof/index.d.ts +2 -0
  633. package/assets/api/vendor_modules/setprototypeof/index.js +17 -0
  634. package/assets/api/vendor_modules/setprototypeof/package.json +38 -0
  635. package/assets/api/vendor_modules/setprototypeof/test/index.js +24 -0
  636. package/assets/api/vendor_modules/side-channel/.editorconfig +9 -0
  637. package/assets/api/vendor_modules/side-channel/.eslintrc +12 -0
  638. package/assets/api/vendor_modules/side-channel/.github/FUNDING.yml +12 -0
  639. package/assets/api/vendor_modules/side-channel/.nycrc +13 -0
  640. package/assets/api/vendor_modules/side-channel/CHANGELOG.md +120 -0
  641. package/assets/api/vendor_modules/side-channel/LICENSE +21 -0
  642. package/assets/api/vendor_modules/side-channel/README.md +61 -0
  643. package/assets/api/vendor_modules/side-channel/index.d.ts +14 -0
  644. package/assets/api/vendor_modules/side-channel/index.js +46 -0
  645. package/assets/api/vendor_modules/side-channel/package.json +85 -0
  646. package/assets/api/vendor_modules/side-channel/test/index.js +120 -0
  647. package/assets/api/vendor_modules/side-channel/tsconfig.json +9 -0
  648. package/assets/api/vendor_modules/side-channel-list/.editorconfig +9 -0
  649. package/assets/api/vendor_modules/side-channel-list/.eslintrc +11 -0
  650. package/assets/api/vendor_modules/side-channel-list/.github/FUNDING.yml +12 -0
  651. package/assets/api/vendor_modules/side-channel-list/.nycrc +13 -0
  652. package/assets/api/vendor_modules/side-channel-list/CHANGELOG.md +36 -0
  653. package/assets/api/vendor_modules/side-channel-list/LICENSE +21 -0
  654. package/assets/api/vendor_modules/side-channel-list/README.md +62 -0
  655. package/assets/api/vendor_modules/side-channel-list/index.d.ts +13 -0
  656. package/assets/api/vendor_modules/side-channel-list/index.js +111 -0
  657. package/assets/api/vendor_modules/side-channel-list/list.d.ts +14 -0
  658. package/assets/api/vendor_modules/side-channel-list/package.json +77 -0
  659. package/assets/api/vendor_modules/side-channel-list/test/index.js +154 -0
  660. package/assets/api/vendor_modules/side-channel-list/tsconfig.json +9 -0
  661. package/assets/api/vendor_modules/side-channel-map/.editorconfig +9 -0
  662. package/assets/api/vendor_modules/side-channel-map/.eslintrc +11 -0
  663. package/assets/api/vendor_modules/side-channel-map/.github/FUNDING.yml +12 -0
  664. package/assets/api/vendor_modules/side-channel-map/.nycrc +13 -0
  665. package/assets/api/vendor_modules/side-channel-map/CHANGELOG.md +22 -0
  666. package/assets/api/vendor_modules/side-channel-map/LICENSE +21 -0
  667. package/assets/api/vendor_modules/side-channel-map/README.md +62 -0
  668. package/assets/api/vendor_modules/side-channel-map/index.d.ts +15 -0
  669. package/assets/api/vendor_modules/side-channel-map/index.js +68 -0
  670. package/assets/api/vendor_modules/side-channel-map/package.json +80 -0
  671. package/assets/api/vendor_modules/side-channel-map/test/index.js +114 -0
  672. package/assets/api/vendor_modules/side-channel-map/tsconfig.json +9 -0
  673. package/assets/api/vendor_modules/side-channel-weakmap/.editorconfig +9 -0
  674. package/assets/api/vendor_modules/side-channel-weakmap/.eslintrc +12 -0
  675. package/assets/api/vendor_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  676. package/assets/api/vendor_modules/side-channel-weakmap/.nycrc +13 -0
  677. package/assets/api/vendor_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  678. package/assets/api/vendor_modules/side-channel-weakmap/LICENSE +21 -0
  679. package/assets/api/vendor_modules/side-channel-weakmap/README.md +62 -0
  680. package/assets/api/vendor_modules/side-channel-weakmap/index.d.ts +15 -0
  681. package/assets/api/vendor_modules/side-channel-weakmap/index.js +84 -0
  682. package/assets/api/vendor_modules/side-channel-weakmap/package.json +87 -0
  683. package/assets/api/vendor_modules/side-channel-weakmap/test/index.js +114 -0
  684. package/assets/api/vendor_modules/side-channel-weakmap/tsconfig.json +9 -0
  685. package/assets/api/vendor_modules/statuses/HISTORY.md +87 -0
  686. package/assets/api/vendor_modules/statuses/LICENSE +23 -0
  687. package/assets/api/vendor_modules/statuses/README.md +139 -0
  688. package/assets/api/vendor_modules/statuses/codes.json +65 -0
  689. package/assets/api/vendor_modules/statuses/index.js +146 -0
  690. package/assets/api/vendor_modules/statuses/package.json +49 -0
  691. package/assets/api/vendor_modules/toidentifier/HISTORY.md +9 -0
  692. package/assets/api/vendor_modules/toidentifier/LICENSE +21 -0
  693. package/assets/api/vendor_modules/toidentifier/README.md +61 -0
  694. package/assets/api/vendor_modules/toidentifier/index.js +32 -0
  695. package/assets/api/vendor_modules/toidentifier/package.json +38 -0
  696. package/assets/api/vendor_modules/type-is/HISTORY.md +259 -0
  697. package/assets/api/vendor_modules/type-is/LICENSE +23 -0
  698. package/assets/api/vendor_modules/type-is/README.md +170 -0
  699. package/assets/api/vendor_modules/type-is/index.js +266 -0
  700. package/assets/api/vendor_modules/type-is/package.json +45 -0
  701. package/assets/api/vendor_modules/unpipe/HISTORY.md +4 -0
  702. package/assets/api/vendor_modules/unpipe/LICENSE +22 -0
  703. package/assets/api/vendor_modules/unpipe/README.md +43 -0
  704. package/assets/api/vendor_modules/unpipe/index.js +69 -0
  705. package/assets/api/vendor_modules/unpipe/package.json +27 -0
  706. package/assets/api/vendor_modules/utils-merge/LICENSE +20 -0
  707. package/assets/api/vendor_modules/utils-merge/README.md +34 -0
  708. package/assets/api/vendor_modules/utils-merge/index.js +23 -0
  709. package/assets/api/vendor_modules/utils-merge/package.json +40 -0
  710. package/assets/api/vendor_modules/vary/HISTORY.md +39 -0
  711. package/assets/api/vendor_modules/vary/LICENSE +22 -0
  712. package/assets/api/vendor_modules/vary/README.md +101 -0
  713. package/assets/api/vendor_modules/vary/index.js +149 -0
  714. package/assets/api/vendor_modules/vary/package.json +43 -0
  715. package/assets/federation-presignup/index.js +108 -0
  716. package/assets/firstadmin/index.js +361 -0
  717. package/assets/headscale-apikey/index.js +140 -0
  718. package/assets/invoke-relay/index.js +96 -0
  719. package/assets/issuer-canary/index.js +71 -0
  720. package/assets/issuer-publish/index.js +87 -0
  721. package/assets/keyminter/index.js +209 -0
  722. package/assets/plugin-authorizer/index.js +1740 -0
  723. package/assets/plugin-catalog/index.js +881 -0
  724. package/assets/reapproval/index.js +3761 -0
  725. package/assets/sg-manager/index.js +176 -0
  726. package/assets/tailnet-resolver/index.js +55 -0
  727. package/assets/web/chunk-2MOGDYK4.js +1 -0
  728. package/assets/web/chunk-2SO4BVIT.js +1 -0
  729. package/assets/web/chunk-2V6RSAAC.js +1 -0
  730. package/assets/web/chunk-32GNBTAL.js +1 -0
  731. package/assets/web/chunk-33SYY2JB.js +1 -0
  732. package/assets/web/chunk-3VWYT7AX.js +1 -0
  733. package/assets/web/chunk-4FG4DAWU.js +4 -0
  734. package/assets/web/chunk-4N2IUS6T.js +1 -0
  735. package/assets/web/chunk-4SK6XQ6C.js +1 -0
  736. package/assets/web/chunk-65WE5MXA.js +8 -0
  737. package/assets/web/chunk-6D7SSSJF.js +1 -0
  738. package/assets/web/chunk-6KFR7DYY.js +1 -0
  739. package/assets/web/chunk-A4WHI3ZG.js +8 -0
  740. package/assets/web/chunk-BNFKRZTP.js +1 -0
  741. package/assets/web/chunk-CG56PH3M.js +1 -0
  742. package/assets/web/chunk-CGO25AIM.js +1 -0
  743. package/assets/web/chunk-CP4XZPOA.js +1 -0
  744. package/assets/web/chunk-CV7EODPO.js +1 -0
  745. package/assets/web/chunk-D7TR2ORJ.js +1 -0
  746. package/assets/web/chunk-DCOFBAKJ.js +1 -0
  747. package/assets/web/chunk-DOLRLYW7.js +1 -0
  748. package/assets/web/chunk-EEJ3X466.js +1 -0
  749. package/assets/web/chunk-EQ4PF25J.js +1 -0
  750. package/assets/web/chunk-EVP5UVDQ.js +1 -0
  751. package/assets/web/chunk-EW2VMNHE.js +1 -0
  752. package/assets/web/chunk-FIUVIKAN.js +1 -0
  753. package/assets/web/chunk-GHEU25TG.js +1 -0
  754. package/assets/web/chunk-GK2T2SMO.js +1 -0
  755. package/assets/web/chunk-GKI3R2JB.js +1 -0
  756. package/assets/web/chunk-GPKKIOHD.js +2 -0
  757. package/assets/web/chunk-H4AVFUDM.js +1 -0
  758. package/assets/web/chunk-H5H727H6.js +1 -0
  759. package/assets/web/chunk-HGVFH6YM.js +1 -0
  760. package/assets/web/chunk-HHPIANBK.js +1 -0
  761. package/assets/web/chunk-HK56COCB.js +1 -0
  762. package/assets/web/chunk-HZUB7LFV.js +1 -0
  763. package/assets/web/chunk-I7NTNTBA.js +1 -0
  764. package/assets/web/chunk-IKK5DQ3Z.js +1 -0
  765. package/assets/web/chunk-IMH56UBX.js +1 -0
  766. package/assets/web/chunk-J3SSPCFV.js +1 -0
  767. package/assets/web/chunk-J4C7C5KO.js +1 -0
  768. package/assets/web/chunk-J57JB4MU.js +1 -0
  769. package/assets/web/chunk-JMBXRK3I.js +4 -0
  770. package/assets/web/chunk-KCCEQIXX.js +1 -0
  771. package/assets/web/chunk-KEBESIXR.js +1 -0
  772. package/assets/web/chunk-KPNHT4MK.js +1 -0
  773. package/assets/web/chunk-LMLXTVZG.js +1 -0
  774. package/assets/web/chunk-M6OAYNRE.js +1 -0
  775. package/assets/web/chunk-M7MGX5I4.js +1 -0
  776. package/assets/web/chunk-MU2VNTNY.js +1 -0
  777. package/assets/web/chunk-NABAVDRL.js +1 -0
  778. package/assets/web/chunk-NO5D6WDF.js +1 -0
  779. package/assets/web/chunk-O4QSFUXB.js +1 -0
  780. package/assets/web/chunk-OATVFQXO.js +1 -0
  781. package/assets/web/chunk-P5WRM37W.js +5 -0
  782. package/assets/web/chunk-PCP6D2SM.js +1 -0
  783. package/assets/web/chunk-PMMBJK7Q.js +1 -0
  784. package/assets/web/chunk-PSMER3HX.js +1 -0
  785. package/assets/web/chunk-QPBWZLCT.js +1 -0
  786. package/assets/web/chunk-QVABVDO5.js +1 -0
  787. package/assets/web/chunk-RI77LE5V.js +1 -0
  788. package/assets/web/chunk-RKGUEXZ2.js +1 -0
  789. package/assets/web/chunk-RMFH2YTZ.js +1 -0
  790. package/assets/web/chunk-RROPCBUH.js +1 -0
  791. package/assets/web/chunk-SJMLX5AT.js +1 -0
  792. package/assets/web/chunk-TKVALOE4.js +2 -0
  793. package/assets/web/chunk-TM43WUKM.js +1 -0
  794. package/assets/web/chunk-VKWV3ANT.js +1 -0
  795. package/assets/web/chunk-VTMYG6YW.js +1 -0
  796. package/assets/web/chunk-VWW4SA5R.js +1 -0
  797. package/assets/web/chunk-WEDAFMID.js +1 -0
  798. package/assets/web/chunk-WFIHWVQO.js +1 -0
  799. package/assets/web/chunk-XJM3HDJQ.js +1 -0
  800. package/assets/web/chunk-YVJV2RUY.js +1 -0
  801. package/assets/web/chunk-Z3KONI7L.js +1 -0
  802. package/assets/web/chunk-ZDCURXPS.js +1 -0
  803. package/assets/web/favicon.ico +0 -0
  804. package/assets/web/index.html +63 -0
  805. package/assets/web/main-S6E3BC5O.js +2 -0
  806. package/assets/web/polyfills-7RSNIJ6J.js +2 -0
  807. package/assets/web/styles-R6ZUWC6K.css +1 -0
  808. package/dist/index.d.ts +27 -0
  809. package/dist/index.js +66 -0
  810. package/dist/lambdacode/api/services/brandingShapes.d.ts +5 -0
  811. package/dist/lambdacode/api/services/brandingShapes.js +15 -0
  812. package/dist/lambdacode/issuer/objects.d.ts +8 -0
  813. package/dist/lambdacode/issuer/objects.js +11 -0
  814. package/dist/lambdacode/network/naming.d.ts +52 -0
  815. package/dist/lambdacode/network/naming.js +67 -0
  816. package/dist/lib/access-portal-hub.d.ts +53 -0
  817. package/dist/lib/access-portal-hub.js +87 -0
  818. package/dist/lib/access-portal.d.ts +32 -0
  819. package/dist/lib/access-portal.js +174 -0
  820. package/dist/lib/audit-log.d.ts +18 -0
  821. package/dist/lib/audit-log.js +25 -0
  822. package/dist/lib/connector-stack.d.ts +28 -0
  823. package/dist/lib/connector-stack.js +81 -0
  824. package/dist/lib/constructs/app-function.d.ts +14 -0
  825. package/dist/lib/constructs/app-function.js +84 -0
  826. package/dist/lib/constructs/app-table.d.ts +12 -0
  827. package/dist/lib/constructs/app-table.js +58 -0
  828. package/dist/lib/constructs/mirrored-image.d.ts +12 -0
  829. package/dist/lib/constructs/mirrored-image.js +80 -0
  830. package/dist/lib/constructs/monitoring.d.ts +21 -0
  831. package/dist/lib/constructs/monitoring.js +133 -0
  832. package/dist/lib/constructs/oidc-issuer.d.ts +44 -0
  833. package/dist/lib/constructs/oidc-issuer.js +234 -0
  834. package/dist/lib/constructs/scratch-tmpfs.d.ts +5 -0
  835. package/dist/lib/constructs/scratch-tmpfs.js +48 -0
  836. package/dist/lib/constructs/sg-manager.d.ts +27 -0
  837. package/dist/lib/constructs/sg-manager.js +88 -0
  838. package/dist/lib/constructs/tailnet-connector.d.ts +29 -0
  839. package/dist/lib/constructs/tailnet-connector.js +177 -0
  840. package/dist/lib/constructs/tailnet-resolver.d.ts +30 -0
  841. package/dist/lib/constructs/tailnet-resolver.js +71 -0
  842. package/dist/lib/constructs/target-account-trust.d.ts +32 -0
  843. package/dist/lib/constructs/target-account-trust.js +81 -0
  844. package/dist/lib/constructs/vending-api.d.ts +103 -0
  845. package/dist/lib/constructs/vending-api.js +203 -0
  846. package/dist/lib/constructs/web-acl.d.ts +61 -0
  847. package/dist/lib/constructs/web-acl.js +213 -0
  848. package/dist/lib/constructs/web-identity.d.ts +49 -0
  849. package/dist/lib/constructs/web-identity.js +116 -0
  850. package/dist/lib/creds-stack.d.ts +151 -0
  851. package/dist/lib/creds-stack.js +592 -0
  852. package/dist/lib/data-stack.d.ts +53 -0
  853. package/dist/lib/data-stack.js +282 -0
  854. package/dist/lib/dimensions-validation.d.ts +20 -0
  855. package/dist/lib/dimensions-validation.js +51 -0
  856. package/dist/lib/federation.d.ts +113 -0
  857. package/dist/lib/federation.js +254 -0
  858. package/dist/lib/managed-login-branding.json +450 -0
  859. package/dist/lib/network-stack.d.ts +58 -0
  860. package/dist/lib/network-stack.js +776 -0
  861. package/dist/lib/network-validation.d.ts +54 -0
  862. package/dist/lib/network-validation.js +220 -0
  863. package/dist/lib/pkg-paths.d.ts +3 -0
  864. package/dist/lib/pkg-paths.js +51 -0
  865. package/dist/lib/plugins/plugin-api.d.ts +40 -0
  866. package/dist/lib/plugins/plugin-api.js +125 -0
  867. package/dist/lib/plugins/plugin-catalog-activation.d.ts +31 -0
  868. package/dist/lib/plugins/plugin-catalog-activation.js +109 -0
  869. package/dist/lib/plugins/registration.d.ts +41 -0
  870. package/dist/lib/plugins/registration.js +121 -0
  871. package/dist/lib/plugins/runtime.d.ts +10 -0
  872. package/dist/lib/plugins/runtime.js +17 -0
  873. package/dist/lib/project-config.d.ts +164 -0
  874. package/dist/lib/project-config.js +2 -0
  875. package/dist/lib/target-account-stack.d.ts +15 -0
  876. package/dist/lib/target-account-stack.js +59 -0
  877. package/dist/lib/target-account-template.d.ts +13 -0
  878. package/dist/lib/target-account-template.js +64 -0
  879. package/dist/lib/web-cert-stack.d.ts +30 -0
  880. package/dist/lib/web-cert-stack.js +90 -0
  881. package/dist/lib/web-stack.d.ts +103 -0
  882. package/dist/lib/web-stack.js +540 -0
  883. package/node_modules/@fntio/infra-client-plugin-sdk/README.md +303 -0
  884. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.d.ts +31 -0
  885. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.js +58 -0
  886. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.d.ts +9 -0
  887. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.js +26 -0
  888. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.d.ts +59 -0
  889. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.js +290 -0
  890. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.d.ts +14 -0
  891. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.js +32 -0
  892. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.d.ts +72 -0
  893. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.js +170 -0
  894. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.d.ts +11 -0
  895. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.js +28 -0
  896. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.d.ts +22 -0
  897. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.js +22 -0
  898. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.d.ts +14 -0
  899. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.js +41 -0
  900. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.d.ts +17 -0
  901. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.js +44 -0
  902. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.d.ts +2 -0
  903. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.js +21 -0
  904. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.d.ts +39 -0
  905. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.js +18 -0
  906. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.d.ts +78 -0
  907. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.js +48 -0
  908. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.d.ts +7 -0
  909. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.js +2 -0
  910. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.d.ts +59 -0
  911. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.js +19 -0
  912. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.d.ts +111 -0
  913. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.js +109 -0
  914. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.d.ts +20 -0
  915. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.js +49 -0
  916. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.d.ts +21 -0
  917. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.js +60 -0
  918. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.d.ts +14 -0
  919. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.js +10 -0
  920. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.d.ts +27 -0
  921. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.js +321 -0
  922. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.d.ts +61 -0
  923. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.js +99 -0
  924. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.d.ts +12 -0
  925. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.js +22 -0
  926. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.d.ts +22 -0
  927. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.js +46 -0
  928. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.d.ts +4 -0
  929. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.js +20 -0
  930. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.d.ts +37 -0
  931. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.js +228 -0
  932. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.d.ts +47 -0
  933. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.js +121 -0
  934. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.d.ts +5 -0
  935. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.js +22 -0
  936. package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.d.ts +10 -0
  937. package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.js +28 -0
  938. package/node_modules/@fntio/infra-client-plugin-sdk/package.json +99 -0
  939. package/openapi.yaml +4284 -0
  940. package/package.json +124 -4
@@ -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}}}
@@ -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;