cartethyia 2.7.9 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +3 -2
- package/dist/dashboard/assets/{BannedPage-BxoG1MrL.js → BannedPage-Cc0vKpMG.js} +1 -1
- package/dist/dashboard/assets/BannedPage-Cc0vKpMG.js.gz +0 -0
- package/dist/dashboard/assets/{CliToolDetailPage-ixwgKk53.js → CliToolDetailPage-Bqj2aa1T.js} +1 -1
- package/dist/dashboard/assets/CliToolDetailPage-Bqj2aa1T.js.gz +0 -0
- package/dist/dashboard/assets/{CliToolsPage-BmttNV3U.js → CliToolsPage-CXsaOAO2.js} +1 -1
- package/dist/dashboard/assets/CliToolsPage-CXsaOAO2.js.gz +0 -0
- package/dist/dashboard/assets/{CombosPage-BE3qwwfC.js → CombosPage-BeLpJ4ma.js} +1 -1
- package/dist/dashboard/assets/CombosPage-BeLpJ4ma.js.gz +0 -0
- package/dist/dashboard/assets/{ConsoleLogPage-CRZdmMIX.js → ConsoleLogPage-DnV0uZ3m.js} +1 -1
- package/dist/dashboard/assets/ConsoleLogPage-DnV0uZ3m.js.gz +0 -0
- package/dist/dashboard/assets/{CustomizationPage-Dv_FJ6Er.js → CustomizationPage-CBxAjo63.js} +1 -1
- package/dist/dashboard/assets/CustomizationPage-CBxAjo63.js.gz +0 -0
- package/dist/dashboard/assets/HealthEventsModal-B5yEE0k6.js +1 -0
- package/dist/dashboard/assets/HealthEventsModal-B5yEE0k6.js.gz +0 -0
- package/dist/dashboard/assets/{InjectSystemPromptPanel-BOoO8rpz.js → InjectSystemPromptPanel-BWFLECmz.js} +2 -2
- package/dist/dashboard/assets/InjectSystemPromptPanel-BWFLECmz.js.gz +0 -0
- package/dist/dashboard/assets/{LoginPage-ChJuNNVN.js → LoginPage-CgoPc5B9.js} +1 -1
- package/dist/dashboard/assets/LoginPage-CgoPc5B9.js.gz +0 -0
- package/dist/dashboard/assets/{ModelPicker-BZAJtPg1.js → ModelPicker-D9bFQern.js} +1 -1
- package/dist/dashboard/assets/ModelPicker-D9bFQern.js.gz +0 -0
- package/dist/dashboard/assets/{OverviewPage-BE40s3u5.js → OverviewPage-B_p4tL8k.js} +1 -1
- package/dist/dashboard/assets/OverviewPage-B_p4tL8k.js.gz +0 -0
- package/dist/dashboard/assets/ProviderDetailPage-rs5E2rxv.js +8 -0
- package/dist/dashboard/assets/ProviderDetailPage-rs5E2rxv.js.gz +0 -0
- package/dist/dashboard/assets/{ProviderIcon-CQ6bPUf_.js → ProviderIcon-D_0PiZtg.js} +1 -1
- package/dist/dashboard/assets/ProviderIcon-D_0PiZtg.js.gz +0 -0
- package/dist/dashboard/assets/ProvidersPage-CLI2bJTK.js +1 -0
- package/dist/dashboard/assets/ProvidersPage-CLI2bJTK.js.gz +0 -0
- package/dist/dashboard/assets/{ProxyPage-BJ87Pp0U.js → ProxyPage-BwNC_-Cx.js} +1 -1
- package/dist/dashboard/assets/ProxyPage-BwNC_-Cx.js.gz +0 -0
- package/dist/dashboard/assets/QuotaPage-DA-a1iSN.js +1 -0
- package/dist/dashboard/assets/QuotaPage-DA-a1iSN.js.gz +0 -0
- package/dist/dashboard/assets/{SettingsPage-C5HPWqEv.js → SettingsPage-CctTga2C.js} +1 -1
- package/dist/dashboard/assets/SettingsPage-CctTga2C.js.gz +0 -0
- package/dist/dashboard/assets/{SetupPage-CFNcATJJ.js → SetupPage-febLU4r1.js} +1 -1
- package/dist/dashboard/assets/SetupPage-febLU4r1.js.gz +0 -0
- package/dist/dashboard/assets/{StudioPage-YoD4tY5l.js → StudioPage-M6fvR5Wz.js} +1 -1
- package/dist/dashboard/assets/StudioPage-M6fvR5Wz.js.gz +0 -0
- package/dist/dashboard/assets/{UsagePage-DxjaAhb_.js → UsagePage-nyeuRqz9.js} +1 -1
- package/dist/dashboard/assets/UsagePage-nyeuRqz9.js.gz +0 -0
- package/dist/dashboard/assets/{api-keys-BTlkq_Uk.js → api-keys-BFOlvrJC.js} +1 -1
- package/dist/dashboard/assets/api-keys-BFOlvrJC.js.gz +0 -0
- package/dist/dashboard/assets/app-Dx2QgsNj.css +2 -0
- package/dist/dashboard/assets/app-Dx2QgsNj.css.gz +0 -0
- package/dist/dashboard/assets/assert-CqTLw5e7.js +1 -0
- package/dist/dashboard/assets/assert-CqTLw5e7.js.gz +0 -0
- package/dist/dashboard/assets/{badge-DdbT_7Am.js → badge-C83EqLB0.js} +1 -1
- package/dist/dashboard/assets/badge-C83EqLB0.js.gz +0 -0
- package/dist/dashboard/assets/{banner-CsGN-nbm.js → banner-D1xn7pIe.js} +1 -1
- package/dist/dashboard/assets/banner-D1xn7pIe.js.gz +0 -0
- package/dist/dashboard/assets/{card-mgZ_TLLZ.js → card-DU3Lq5Lm.js} +1 -1
- package/dist/dashboard/assets/card-DU3Lq5Lm.js.gz +0 -0
- package/dist/dashboard/assets/{cli-tools-A1-v8-03.js → cli-tools-Dw1U_drK.js} +1 -1
- package/dist/dashboard/assets/cli-tools-Dw1U_drK.js.gz +0 -0
- package/dist/dashboard/assets/{clipboard-button-CJ4Zty89.js → clipboard-button-CEL5Sg_J.js} +1 -1
- package/dist/dashboard/assets/clipboard-button-CEL5Sg_J.js.gz +0 -0
- package/dist/dashboard/assets/{dialog-B5L2jPQ_.js → dialog-BjFR5UHy.js} +1 -1
- package/dist/dashboard/assets/dialog-BjFR5UHy.js.gz +0 -0
- package/dist/dashboard/assets/{drawer-DkjUouAj.js → drawer-HvBW0AjI.js} +1 -1
- package/dist/dashboard/assets/drawer-HvBW0AjI.js.gz +0 -0
- package/dist/dashboard/assets/entry-BSu3gFlt.js +4 -0
- package/dist/dashboard/assets/entry-BSu3gFlt.js.gz +0 -0
- package/dist/dashboard/assets/{entry-B-LVLV6o.js → entry-CECVELyy.js} +1 -1
- package/dist/dashboard/assets/entry-CECVELyy.js.gz +0 -0
- package/dist/dashboard/assets/{entry-CAhdYl3B.js → entry-DYYofQ7W.js} +1 -1
- package/dist/dashboard/assets/entry-DYYofQ7W.js.gz +0 -0
- package/dist/dashboard/assets/{formatters-CrsdLVsn.js → formatters-DLW4i8zK.js} +1 -1
- package/dist/dashboard/assets/formatters-DLW4i8zK.js.gz +0 -0
- package/dist/dashboard/assets/{index-BU64Lqvp.js → index-1-fCqe64.js} +2 -2
- package/dist/dashboard/assets/index-1-fCqe64.js.gz +0 -0
- package/dist/dashboard/assets/{inline-B2aDLyyg.js → inline-DGvU2oLK.js} +1 -1
- package/dist/dashboard/assets/inline-DGvU2oLK.js.gz +0 -0
- package/dist/dashboard/assets/{input-BCVkdR9d.js → input-iNnO1X2K.js} +1 -1
- package/dist/dashboard/assets/input-iNnO1X2K.js.gz +0 -0
- package/dist/dashboard/assets/{layout-DNcAdMK-.js → layout-0q8UGypb.js} +1 -1
- package/dist/dashboard/assets/layout-0q8UGypb.js.gz +0 -0
- package/dist/dashboard/assets/{list-row-DgrIH0hw.js → list-row-C0w2bQjJ.js} +1 -1
- package/dist/dashboard/assets/list-row-C0w2bQjJ.js.gz +0 -0
- package/dist/dashboard/assets/{live-Cae01iu8.js → live-M5aJ_xCa.js} +1 -1
- package/dist/dashboard/assets/live-M5aJ_xCa.js.gz +0 -0
- package/dist/dashboard/assets/{network-CRib7H_2.js → network-BKeQGT3K.js} +1 -1
- package/dist/dashboard/assets/network-BKeQGT3K.js.gz +0 -0
- package/dist/dashboard/assets/{numbers-BKQE8Xpz.js → numbers-CivAk3da.js} +1 -1
- package/dist/dashboard/assets/numbers-CivAk3da.js.gz +0 -0
- package/dist/dashboard/assets/{pagination-ecPvG_8g.js → pagination-CpzvI5ep.js} +1 -1
- package/dist/dashboard/assets/pagination-CpzvI5ep.js.gz +0 -0
- package/dist/dashboard/assets/providers/zro.svg +3 -0
- package/dist/dashboard/assets/providers/zro.svg.gz +0 -0
- package/dist/dashboard/assets/quota-DiPD6UKH.js +1 -0
- package/dist/dashboard/assets/quota-DiPD6UKH.js.gz +0 -0
- package/dist/dashboard/assets/{routing-Ckm1UXuC.js → routing-BFQX2VBc.js} +1 -1
- package/dist/dashboard/assets/routing-BFQX2VBc.js.gz +0 -0
- package/dist/dashboard/assets/{select-ChoFWyKz.js → select-CXbck0jG.js} +2 -2
- package/dist/dashboard/assets/select-CXbck0jG.js.gz +0 -0
- package/dist/dashboard/assets/{settings-CKjFPlKW.js → settings-C_XvMHh9.js} +1 -1
- package/dist/dashboard/assets/settings-C_XvMHh9.js.gz +0 -0
- package/dist/dashboard/assets/{stack-DWCwU3fh.js → stack-DggRiCxE.js} +1 -1
- package/dist/dashboard/assets/stack-DggRiCxE.js.gz +0 -0
- package/dist/dashboard/assets/{state-Cg3VL5J_.js → state-ClFzfbYp.js} +1 -1
- package/dist/dashboard/assets/state-ClFzfbYp.js.gz +0 -0
- package/dist/dashboard/assets/{switch-Db70BMix.js → switch-CTIFxKqS.js} +1 -1
- package/dist/dashboard/assets/switch-CTIFxKqS.js.gz +0 -0
- package/dist/dashboard/assets/{useMutation-BqdE0LuM.js → useMutation-BClG3yWj.js} +1 -1
- package/dist/dashboard/assets/useMutation-BClG3yWj.js.gz +0 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/dashboard/index.html.gz +0 -0
- package/dist/dashboard/precompressed-assets.json +54 -53
- package/migrations/full-postgres/0046_add_accounts_quota_plan_fetched_at.sql +7 -0
- package/migrations/lite-sqlite3/0046_add_accounts_quota_plan_fetched_at.sql +4 -0
- package/package.json +1 -1
- package/src/boot/app.ts +10 -13
- package/src/boot/dependencies.ts +1 -1
- package/src/boot/flush.ts +20 -0
- package/src/boot/lifecycle.ts +7 -5
- package/src/config/routing.ts +26 -0
- package/src/config/spec-metadata.ts +72 -0
- package/src/config/spec.ts +20 -0
- package/src/console/api-keys/contracts.ts +12 -1
- package/src/console/api-keys/routes.ts +40 -28
- package/src/console/auth/account-reset.ts +7 -9
- package/src/console/backup/contracts.ts +4 -0
- package/src/console/backup/export-endpoint.ts +7 -5
- package/src/console/cli-tools/service.ts +6 -12
- package/src/console/console-router-guards.ts +23 -16
- package/src/console/domain-registration.ts +0 -2
- package/src/console/inferhub/normalize.ts +24 -28
- package/src/console/inferhub/types.ts +3 -0
- package/src/console/ip-bans/routes.ts +7 -13
- package/src/console/observability/store.ts +0 -53
- package/src/console/providers/catalog/contracts.ts +2 -2
- package/src/console/providers/catalog/discover-constants.ts +6 -0
- package/src/console/providers/catalog/routes.ts +1 -0
- package/src/console/providers/catalog/store.ts +21 -16
- package/src/console/quota/account-quota-global.ts +14 -24
- package/src/console/quota/account-quota-shared.ts +49 -0
- package/src/console/quota/account-quota-tenant.ts +6 -18
- package/src/console/quota/quota-view.ts +19 -3
- package/src/console/routing/pools/operations.ts +31 -46
- package/src/console/shared/errors.ts +33 -6
- package/src/main.ts +2 -3
- package/src/network/pool/byte-accounting.ts +3 -2
- package/src/network/pool/selector.ts +182 -39
- package/src/network/pool-cooldown-store.ts +89 -14
- package/src/network/pool-health.ts +49 -61
- package/src/network/rate-limit-verdict.ts +1 -1
- package/src/network/ssrf.ts +6 -6
- package/src/observability/event-log.ts +7 -361
- package/src/observability/performance-metrics.ts +9 -0
- package/src/observability/runtime-metrics.ts +14 -9
- package/src/observability/telemetry-buffer.ts +15 -25
- package/src/observability/telemetry-reconciliation.ts +9 -37
- package/src/observability/telemetry-row.ts +125 -0
- package/src/persistence/db-mode.ts +4 -1
- package/src/persistence/dialect.ts +18 -0
- package/src/persistence/migrate.ts +6 -3
- package/src/persistence/schema.ts +8 -0
- package/src/persistence/ttl-cache.ts +20 -2
- package/src/protocol/codecs.ts +1 -1
- package/src/protocol/dsml.ts +34 -86
- package/src/protocol/markup-stream-parser.ts +195 -0
- package/src/protocol/reasoning-text.ts +19 -0
- package/src/protocol/request/chat.ts +10 -10
- package/src/protocol/request/gemini.ts +8 -2
- package/src/protocol/request/messages.ts +3 -4
- package/src/protocol/response/chat.ts +12 -20
- package/src/protocol/response/omp-tool-call-markup.ts +43 -86
- package/src/protocol/response/responses.ts +18 -2
- package/src/protocol/stop-reason.ts +23 -1
- package/src/protocol/think-split.ts +112 -0
- package/src/protocol/translation/dialect/qwen.ts +26 -58
- package/src/providers/adapters/compatible-adapter.ts +71 -12
- package/src/providers/authentication/oauth-client.ts +1 -1
- package/src/providers/authentication/oauth-device-flow.ts +98 -8
- package/src/providers/authentication/oauth-refresh-service.ts +30 -49
- package/src/providers/configured-provider.ts +148 -0
- package/src/providers/default-registry.ts +61 -36
- package/src/providers/discovery/probe-phases.ts +14 -4
- package/src/providers/discovery/probing-service.ts +15 -2
- package/src/providers/integrations/alibabacp/alibabacp-models.ts +1 -2
- package/src/providers/integrations/{dashscope-models.ts → alibabacp/dashscope-models.ts} +2 -2
- package/src/providers/integrations/antigravity/antigravity-protocol.ts +5 -1
- package/src/providers/integrations/buddy/buddy-chat-shared.ts +173 -17
- package/src/providers/integrations/buddy/buddy-identity.ts +19 -6
- package/src/providers/integrations/buddy/capabilities.ts +2 -2
- package/src/providers/integrations/buddy/codebuddy/cn-provider.ts +3 -0
- package/src/providers/integrations/buddy/codebuddy/provider.ts +4 -0
- package/src/providers/integrations/buddy/codebuddy/shared.ts +37 -22
- package/src/providers/integrations/claude/claude-quota.ts +14 -17
- package/src/providers/integrations/cline/cline.ts +2 -2
- package/src/providers/integrations/commandcode/quota.ts +22 -28
- package/src/providers/integrations/cursor/cursor-auth.ts +0 -8
- package/src/providers/integrations/cursor/cursor-exec.ts +9 -2
- package/src/providers/integrations/cursor/cursor-request.ts +26 -12
- package/src/providers/integrations/cursor/cursor-shared.ts +7 -4
- package/src/providers/integrations/cursor/cursor.ts +89 -40
- package/src/providers/integrations/cursor/protocol/messages.ts +22 -29
- package/src/providers/integrations/cursor/protocol/protobuf-schema.ts +37 -0
- package/src/providers/integrations/devin/protocol/devin-proto.ts +1 -27
- package/src/providers/integrations/factory/factory-oauth.ts +17 -44
- package/src/providers/integrations/freebuff/assets/official-system-manager.txt +88 -0
- package/src/providers/integrations/freebuff/assets/official-system-worker.txt +57 -0
- package/src/providers/integrations/freebuff/assets/official-tools.json +1070 -0
- package/src/providers/integrations/freebuff/freebuff-catalog.ts +120 -0
- package/src/providers/integrations/freebuff/freebuff-constants.ts +1233 -0
- package/src/providers/integrations/freebuff/freebuff-discovery.ts +108 -0
- package/src/providers/integrations/freebuff/freebuff-oauth.ts +240 -0
- package/src/providers/integrations/freebuff/freebuff-quota.ts +260 -0
- package/src/providers/integrations/freebuff/freebuff-virtual.ts +89 -0
- package/src/providers/integrations/freebuff/freebuff.ts +682 -0
- package/src/providers/integrations/grok/grok-oauth.ts +48 -45
- package/src/providers/integrations/grok/grok-ratelimit-store.ts +10 -17
- package/src/providers/integrations/grok/grok-turn-index.ts +11 -16
- package/src/providers/integrations/{hermes.ts → hermes/hermes.ts} +9 -9
- package/src/providers/integrations/hermes/index.ts +2 -0
- package/src/providers/integrations/kiro/kiro-catalog.ts +17 -1
- package/src/providers/integrations/kiro/kiro-discovery.ts +10 -12
- package/src/providers/integrations/kiro/kiro-quota.ts +8 -4
- package/src/providers/integrations/kiro/kiro.ts +15 -19
- package/src/providers/integrations/ollamacloud/index.ts +2 -0
- package/src/providers/integrations/{ollamacloud-models.ts → ollamacloud/models.ts} +2 -2
- package/src/providers/integrations/{ollamacloud-quota.ts → ollamacloud/quota.ts} +3 -3
- package/src/providers/integrations/opencode/opencode-go-quota.ts +2 -8
- package/src/providers/integrations/perch/perch-credential.ts +25 -0
- package/src/providers/integrations/perch/perch-protocol.ts +0 -3
- package/src/providers/integrations/perch/perch-quota.ts +2 -16
- package/src/providers/integrations/perch/perch.ts +3 -13
- package/src/providers/integrations/qoder/claim-qoder-credits.ts +18 -59
- package/src/providers/integrations/qoder/qoder-adapter.ts +1 -12
- package/src/providers/integrations/qoder/qoder-auth.ts +101 -29
- package/src/providers/integrations/qoder/qoder-catalog.ts +20 -5
- package/src/providers/integrations/qoder/qoder-chat.ts +7 -21
- package/src/providers/integrations/qoder/qoder-checkin.ts +4 -4
- package/src/providers/integrations/qoder/qoder-grpc.ts +0 -1
- package/src/providers/integrations/qoder/qoder-ide.ts +0 -107
- package/src/providers/integrations/qoder/qoder.ts +0 -1
- package/src/providers/integrations/trae/trae-protocol.ts +9 -5
- package/src/providers/integrations/trae/trae-quota.ts +6 -28
- package/src/providers/integrations/trae/trae-realm.ts +38 -0
- package/src/providers/integrations/trae/trae.ts +7 -24
- package/src/providers/integrations/zcode-start-plan/provider.ts +226 -23
- package/src/providers/integrations/zcode-start-plan/quota.ts +19 -2
- package/src/providers/integrations/zro/zro.ts +204 -0
- package/src/providers/operations/account-error-classification.ts +199 -307
- package/src/providers/operations/account-health-service.ts +82 -1
- package/src/providers/operations/account-refresh-status.ts +22 -37
- package/src/providers/operations/account-tier.ts +15 -16
- package/src/providers/operations/client-version-resolver.ts +1 -1
- package/src/providers/operations/client-versions.ts +5 -51
- package/src/providers/operations/cooldown-rules.ts +11 -16
- package/src/providers/operations/{model-catalog-cache.ts → provider-caches.ts} +68 -16
- package/src/providers/operations/provider-catalog-service.ts +1 -1
- package/src/providers/operations/provider-credential-service.ts +102 -32
- package/src/providers/operations/provider-rules/github.ts +48 -0
- package/src/providers/operations/provider-rules/grok.ts +33 -0
- package/src/providers/operations/provider-rules/inception.ts +49 -0
- package/src/providers/operations/provider-rules/index.ts +32 -0
- package/src/providers/operations/provider-rules/perch.ts +37 -0
- package/src/providers/operations/provider-rules/qoder.ts +70 -0
- package/src/providers/operations/provider-rules/trae.ts +81 -0
- package/src/providers/provider-contracts.ts +4 -2
- package/src/providers/{provider-credential-resolver.ts → provider-credentials.ts} +40 -3
- package/src/providers/provider-metadata.ts +40 -10
- package/src/providers/provider-probe.ts +15 -1
- package/src/providers/provider-registry.ts +42 -33
- package/src/providers/quota/quota-limit-windows.ts +16 -5
- package/src/providers/quota/quota-support.ts +1 -1
- package/src/providers/quota/quota-window-parser.ts +90 -18
- package/src/providers/quota/refresh.ts +75 -18
- package/src/security/api-key-auth-cache.ts +1 -1
- package/src/security/api-key-auth.ts +6 -2
- package/src/transport/dispatch/attempt-finalize.ts +14 -13
- package/src/transport/dispatch/attempt-loop.ts +71 -17
- package/src/transport/dispatch/generation.ts +2 -8
- package/src/transport/dispatch/native-shared.ts +25 -0
- package/src/transport/dispatch/proxy-request.ts +8 -46
- package/src/transport/dispatch/responses-compact.ts +2 -8
- package/src/transport/dispatch/streaming/finalize.ts +9 -6
- package/src/transport/dispatch/streaming/stream.ts +8 -36
- package/src/transport/dispatch/systemone.ts +2 -8
- package/src/transport/dispatch/token-count.ts +2 -6
- package/src/transport/dispatch/upstream.ts +63 -0
- package/src/transport/drain-endpoint.ts +31 -4
- package/src/transport/failure-policy.ts +16 -30
- package/src/transport/guards/body-policy.ts +7 -1
- package/src/transport/guards/error-lifecycle.ts +13 -1
- package/src/transport/guards/request-context.ts +22 -14
- package/src/transport/request/preparer.ts +81 -71
- package/src/transport/routing/bounded-lru.ts +14 -0
- package/src/transport/routing/drain-reserve.ts +129 -0
- package/src/transport/routing/plan-gate.ts +7 -1
- package/src/transport/routing/round-robin.ts +60 -0
- package/src/transport/routing/route-catalog.ts +123 -111
- package/src/transport/routing/route-model.ts +51 -9
- package/src/transport/routing/router.ts +393 -32
- package/src/transport/surface/adapters.ts +11 -2
- package/src/transport/surface/chat/adapter.ts +2 -2
- package/src/transport/surface/chat/encode.ts +47 -4
- package/src/transport/surface/chat/parse.ts +2 -12
- package/src/transport/surface/completion.ts +44 -33
- package/src/transport/surface/content-parts.ts +21 -0
- package/src/transport/surface/messages/adapter.ts +7 -1
- package/src/transport/surface/messages/encode.ts +11 -3
- package/src/transport/surface/messages/parse.ts +2 -1
- package/src/transport/surface/messages/stream.ts +33 -17
- package/src/transport/surface/responses/encode.ts +22 -5
- package/src/transport/surface/responses/parse.ts +3 -11
- package/dist/dashboard/assets/BannedPage-BxoG1MrL.js.gz +0 -0
- package/dist/dashboard/assets/CliToolDetailPage-ixwgKk53.js.gz +0 -0
- package/dist/dashboard/assets/CliToolsPage-BmttNV3U.js.gz +0 -0
- package/dist/dashboard/assets/CombosPage-BE3qwwfC.js.gz +0 -0
- package/dist/dashboard/assets/ConsoleLogPage-CRZdmMIX.js.gz +0 -0
- package/dist/dashboard/assets/CustomizationPage-Dv_FJ6Er.js.gz +0 -0
- package/dist/dashboard/assets/HealthEventsModal-CoVrw2sM.js +0 -1
- package/dist/dashboard/assets/HealthEventsModal-CoVrw2sM.js.gz +0 -0
- package/dist/dashboard/assets/InjectSystemPromptPanel-BOoO8rpz.js.gz +0 -0
- package/dist/dashboard/assets/LoginPage-ChJuNNVN.js.gz +0 -0
- package/dist/dashboard/assets/ModelPicker-BZAJtPg1.js.gz +0 -0
- package/dist/dashboard/assets/OverviewPage-BE40s3u5.js.gz +0 -0
- package/dist/dashboard/assets/ProviderDetailPage-sfLoQtPV.js +0 -8
- package/dist/dashboard/assets/ProviderDetailPage-sfLoQtPV.js.gz +0 -0
- package/dist/dashboard/assets/ProviderIcon-CQ6bPUf_.js.gz +0 -0
- package/dist/dashboard/assets/ProvidersPage-DcepmPWo.js +0 -1
- package/dist/dashboard/assets/ProvidersPage-DcepmPWo.js.gz +0 -0
- package/dist/dashboard/assets/ProxyPage-BJ87Pp0U.js.gz +0 -0
- package/dist/dashboard/assets/QuotaPage-gkSyRAKa.js +0 -1
- package/dist/dashboard/assets/QuotaPage-gkSyRAKa.js.gz +0 -0
- package/dist/dashboard/assets/SettingsPage-C5HPWqEv.js.gz +0 -0
- package/dist/dashboard/assets/SetupPage-CFNcATJJ.js.gz +0 -0
- package/dist/dashboard/assets/StudioPage-YoD4tY5l.js.gz +0 -0
- package/dist/dashboard/assets/UsagePage-DxjaAhb_.js.gz +0 -0
- package/dist/dashboard/assets/api-keys-BTlkq_Uk.js.gz +0 -0
- package/dist/dashboard/assets/app-BX2nnKqs.css +0 -2
- package/dist/dashboard/assets/app-BX2nnKqs.css.gz +0 -0
- package/dist/dashboard/assets/assert-CndthXFQ.js +0 -1
- package/dist/dashboard/assets/assert-CndthXFQ.js.gz +0 -0
- package/dist/dashboard/assets/badge-DdbT_7Am.js.gz +0 -0
- package/dist/dashboard/assets/banner-CsGN-nbm.js.gz +0 -0
- package/dist/dashboard/assets/card-mgZ_TLLZ.js.gz +0 -0
- package/dist/dashboard/assets/cli-tools-A1-v8-03.js.gz +0 -0
- package/dist/dashboard/assets/clipboard-button-CJ4Zty89.js.gz +0 -0
- package/dist/dashboard/assets/dialog-B5L2jPQ_.js.gz +0 -0
- package/dist/dashboard/assets/drawer-DkjUouAj.js.gz +0 -0
- package/dist/dashboard/assets/entry-B-LVLV6o.js.gz +0 -0
- package/dist/dashboard/assets/entry-CAhdYl3B.js.gz +0 -0
- package/dist/dashboard/assets/entry-D2xD0Tmd.js +0 -4
- package/dist/dashboard/assets/entry-D2xD0Tmd.js.gz +0 -0
- package/dist/dashboard/assets/formatters-CrsdLVsn.js.gz +0 -0
- package/dist/dashboard/assets/index-BU64Lqvp.js.gz +0 -0
- package/dist/dashboard/assets/inline-B2aDLyyg.js.gz +0 -0
- package/dist/dashboard/assets/input-BCVkdR9d.js.gz +0 -0
- package/dist/dashboard/assets/layout-DNcAdMK-.js.gz +0 -0
- package/dist/dashboard/assets/list-row-DgrIH0hw.js.gz +0 -0
- package/dist/dashboard/assets/live-Cae01iu8.js.gz +0 -0
- package/dist/dashboard/assets/network-CRib7H_2.js.gz +0 -0
- package/dist/dashboard/assets/numbers-BKQE8Xpz.js.gz +0 -0
- package/dist/dashboard/assets/pagination-ecPvG_8g.js.gz +0 -0
- package/dist/dashboard/assets/quota-DJ1QlAOq.js +0 -1
- package/dist/dashboard/assets/quota-DJ1QlAOq.js.gz +0 -0
- package/dist/dashboard/assets/routing-Ckm1UXuC.js.gz +0 -0
- package/dist/dashboard/assets/select-ChoFWyKz.js.gz +0 -0
- package/dist/dashboard/assets/settings-CKjFPlKW.js.gz +0 -0
- package/dist/dashboard/assets/stack-DWCwU3fh.js.gz +0 -0
- package/dist/dashboard/assets/state-Cg3VL5J_.js.gz +0 -0
- package/dist/dashboard/assets/switch-Db70BMix.js.gz +0 -0
- package/dist/dashboard/assets/useMutation-BqdE0LuM.js.gz +0 -0
- package/src/providers/bundled-discovery-providers.ts +0 -98
- package/src/providers/configured-openai-providers.ts +0 -120
- package/src/providers/operations/model-discovery-cache.ts +0 -34
- package/src/providers/operations/probe-fetch.ts +0 -15
- package/src/providers/operations/provider-version-cache.ts +0 -30
- package/src/providers/provider-capabilities.ts +0 -33
- package/src/providers/provider-credential-envelope.ts +0 -43
- /package/dist/dashboard/assets/{app-B7kIWFm5.js → app-DIXLjojg.js} +0 -0
- /package/dist/dashboard/assets/{app-B7kIWFm5.js.gz → app-DIXLjojg.js.gz} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t,r as n,t as r}from"./jsx-runtime-CXUMngI_.js";import{d as i,i as a,n as o,s,t as c}from"./app-B7kIWFm5.js";import{i as l,n as u,r as d,t as f}from"./terminal-0_IjPWTk.js";import{t as p}from"./arrow-right-Dl5yKnp8.js";import{t as m}from"./house-h9AZlJuT.js";import{t as h}from"./log-in-BmRjy60c.js";import{t as g}from"./message-circle-CCxGwRvv.js";import{t as _}from"./shield-check-DVS0Foqh.js";import{t as v}from"./use-reduced-motion-C4B0R6Sz.js";var y=e(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),b=i(),x=t(n(),1),S=r(),C=`/`,w=`/console`,T={night:{"--story-accent":`var(--color-story-night)`},core:{"--story-accent":`var(--color-story-core)`},blossom:{"--story-accent":`var(--color-story-blossom)`},voices:{"--story-accent":`var(--color-story-voices)`},red:{"--story-accent":`var(--color-story-red)`},denial:{"--story-accent":`var(--color-story-denial)`},shore:{"--story-accent":`var(--color-story-shore)`}},E=e=>`${C}assets/story/${e}`,D=e=>e.toLowerCase().replace(/\b\w/g,e=>e.toUpperCase()),O=e=>{let t=k[e+1];return t===void 0?`Back to ${k[0]?.label??`the beginning`}`:`Go to ${D(t.location)}`},k=[{id:`blessed-maiden`,number:`01`,label:`The Blessed Maiden`,location:`THE FIRST CROSSING`,theme:`night`,title:`A single signal enters the unknown.`,description:`Every client begins with one request and a question: where should it go? Cartethyia gives that signal a reliable gateway — self-hosted, authenticated, and ready for the crossing.`,image:E(`fleurdelys_plus.webp`),imageAlt:`The Blessed Maiden beneath a luminous blue sky`,signals:[{label:`The first crossing`,value:`OPEN`,icon:`network`},{label:`The chosen vessel`,value:`YOURS`,icon:`shield`},{label:`The gate`,value:`ALIGNED`,icon:`sparkles`}]},{id:`resonant-core`,number:`02`,label:`The Resonant Core`,location:`THE ROUTING SANCTUM`,theme:`core`,title:`The route becomes the power.`,description:`One surface can speak to many providers. Cartethyia translates protocols, balances targets, and keeps each request moving through the right vessel — even when the first path goes quiet.`,image:E(`cartethyia-god.webp`),imageAlt:`Cartethyia surrounded by a celestial blue routing field`,signals:[{label:`The many voices`,value:`30+`,icon:`network`},{label:`The bridge`,value:`ALIGNED`,icon:`terminal`},{label:`The fallback`,value:`AWARE`,icon:`activity`}]},{id:`pink-blossom`,number:`03`,label:`The Pink Blossom Calm`,location:`THE QUIET CONTROL`,theme:`blossom`,title:`Behind every powerful system, there is a quiet place to govern.`,description:`Observe the flow, tune the balance, and let the models answer. Provider accounts, credentials, usage, and health stay in one calm console built for the person operating the route.`,image:E(`jinhsi-blossom.webp`),imageAlt:`Jinhsi beneath soft pink blossoms`,signals:[{label:`The quiet engine`,value:`AWAKE`,icon:`activity`},{label:`The studio`,value:`READY`,icon:`sparkles`},{label:`The balance`,value:`HELD`,icon:`shield`}]},{id:`many-voices`,number:`04`,label:`The Many Voices`,location:`THE LIVING NETWORK`,theme:`voices`,title:`Every route carries a living world.`,description:`Providers, clients, and models bring different voices to the crossing. Cartethyia gives them one dependable gateway without silencing what makes each path unique.`,image:E(`wuthering-waves-hiyuki-aemeath-hiyuki-rover.webp`),imageAlt:`A bright celebration of characters and connected voices`,signals:[{label:`The many voices`,value:`CONNECTED`,icon:`network`},{label:`The shared world`,value:`OPEN`,icon:`sparkles`},{label:`The crossing`,value:`ALIGNED`,icon:`terminal`}]},{id:`red-thread`,number:`05`,label:`The Red Thread`,location:`THE FRACTURED PATH`,theme:`red`,title:`A beautiful signal can still be dangerous.`,description:`Every powerful route attracts pressure. Cartethyia watches the boundary, rejects hostile paths, and keeps a single failure from tearing through the whole network.`,image:E(`phrolova-a.webp`),imageAlt:`A figure surrounded by dark red threads and fractured signals`,signals:[{label:`The threat`,value:`SEEN`,icon:`activity`},{label:`The boundary`,value:`HELD`,icon:`shield`},{label:`The fallback`,value:`READY`,icon:`network`}]},{id:`request-denial`,number:`06`,label:`The Gate of Discernment`,location:`THE GATE OF DISCERNMENT`,theme:`denial`,title:`Not every signal should pass.`,description:`Every game needs a gatekeeper. Cartethyia verifies intent, protects the route, and denies the requests that would fracture the system.`,image:E(`requestdeniawokkjpg.webp`),imageAlt:`A radiant gatekeeper surrounded by cascading signals`,signals:[{label:`The verdict`,value:`CLEAR`,icon:`shield`},{label:`The boundary`,value:`GUARDED`,icon:`network`},{label:`The route`,value:`TRUSTED`,icon:`sparkles`}]},{id:`shorekeeper`,number:`07`,label:`The Open Shore`,location:`THE SHOREKEEPER`,theme:`shore`,title:`The gateway is yours to shape.`,description:`Find your way back to the source, share your route, and join the people building a dependable gateway across a changing AI landscape.`,image:E(`Shorekeeper.webp`),imageAlt:`Shorekeeper watching over a luminous open shore`,signals:[{label:`The source`,value:`OPEN`,icon:`terminal`},{label:`The shore`,value:`AWAITS`,icon:`network`},{label:`The next step`,value:`YOURS`,icon:`sparkles`}]}],A={activity:l,network:d,shield:_,sparkles:u,terminal:f};function j({signal:e}){let t=A[e.icon];return(0,S.jsxs)(`div`,{className:`landing-signal-tile`,children:[(0,S.jsx)(`span`,{className:`landing-signal-icon`,children:(0,S.jsx)(t,{size:12,"aria-hidden":!0})}),(0,S.jsxs)(`div`,{className:`landing-signal-copy`,children:[(0,S.jsx)(`div`,{className:`landing-signal-label`,children:e.label}),(0,S.jsx)(`div`,{className:`landing-signal-value`,children:e.value})]})]})}function M(){let e=v(),t=e?`auto`:`smooth`,[n,r]=(0,x.useState)(0),[i,l]=(0,x.useState)(()=>new Set([0])),[u,d]=(0,x.useState)(!1),[_,b]=(0,x.useState)(!1);(0,x.useEffect)(()=>{let e=()=>b(window.scrollY>24);return e(),window.addEventListener(`scroll`,e,{passive:!0}),()=>window.removeEventListener(`scroll`,e)},[]);let E=(0,x.useRef)([]);(0,x.useEffect)(()=>{if(typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting).sort((e,t)=>t.intersectionRatio-e.intersectionRatio)[0];if(t){let e=Number(t.target.dataset.chapterIndex);r(e),l(t=>t.has(e)?t:new Set([...t,e]))}},{threshold:[.35,.6,.85]});E.current.forEach(t=>{t&&e.observe(t)});let i=e=>{if(!e.target?.matches(`input, textarea, select, [contenteditable="true"]`)){if(e.key===`ArrowDown`||e.key===`ArrowRight`||e.key===`PageDown`){e.preventDefault();let r=Math.min(k.length-1,n+1);E.current[r]?.scrollIntoView({behavior:t,block:`start`})}else if(e.key===`ArrowUp`||e.key===`ArrowLeft`||e.key===`PageUp`){e.preventDefault();let r=Math.max(0,n-1);E.current[r]?.scrollIntoView({behavior:t,block:`start`})}}};return window.addEventListener(`keydown`,i),()=>{e.disconnect(),window.removeEventListener(`keydown`,i)}},[n,t]);let D=e=>{E.current[e]?.scrollIntoView({behavior:t,block:`start`})},M=k[n]?.theme??`night`,N=(t,n=``)=>i.has(t)?e?``:`animate-story-reveal-up ${n}`.trim():`opacity-0`;return(0,S.jsxs)(`div`,{className:`relative min-h-screen overflow-x-clip bg-story-deep font-sans text-story-ink`,id:`top`,style:T[M],children:[(0,S.jsx)(`header`,{className:`landing-header`,"data-scrolled":_,children:(0,S.jsxs)(`div`,{className:`landing-header-inner`,"data-scrolled":_,children:[(0,S.jsxs)(`a`,{className:`landing-header-brand`,href:`#top`,onClick:e=>{e.preventDefault(),D(0)},children:[(0,S.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-xl border border-story-white/25 bg-story-white p-0.5`,children:(0,S.jsx)(`img`,{className:`size-full rounded-lg object-cover`,src:`${C}assets/brand/favicon.webp`,alt:``})}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`strong`,{className:`block font-heading text-lead leading-none`,children:`Cartethyia`}),(0,S.jsx)(`small`,{className:`mt-1 block font-mono text-micro font-medium leading-none tracking-code text-story-white/50`,children:`AI PROXY ROUTER`})]})]}),(0,S.jsxs)(`nav`,{className:`landing-header-desktop-nav`,"aria-label":`Primary navigation`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>D(0),children:[(0,S.jsx)(m,{size:14,"aria-hidden":!0}),`Home`]}),(0,S.jsxs)(`a`,{href:w,children:[(0,S.jsx)(f,{size:14,"aria-hidden":!0}),`Console`]}),(0,S.jsxs)(`a`,{href:s,target:`_blank`,rel:`noreferrer`,children:[(0,S.jsx)(o,{size:14}),`GitHub`]}),(0,S.jsxs)(`a`,{href:a,target:`_blank`,rel:`noreferrer`,children:[(0,S.jsx)(g,{size:14,"aria-hidden":!0}),`Community`]})]}),(0,S.jsxs)(`div`,{className:`landing-header-actions`,children:[(0,S.jsx)(c,{className:`landing-header-github`}),(0,S.jsxs)(`button`,{type:`button`,"aria-label":u?`Show story`:`Show all`,"aria-pressed":u,onClick:()=>d(e=>!e),className:`landing-header-control landing-header-show-all${u?` is-active`:``}`,children:[(0,S.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-full bg-current`,"aria-hidden":!0}),u?`Story`:`All view`]}),(0,S.jsxs)(`a`,{className:`landing-header-control landing-header-console`,href:w,children:[`Enter console`,(0,S.jsx)(h,{size:14,"aria-hidden":!0})]})]})]})}),u?(0,S.jsx)(`main`,{className:`px-12 pb-17.5 pt-44 max-compact:px-8`,children:(0,S.jsxs)(`div`,{className:`mx-auto w-full max-w-640`,children:[(0,S.jsxs)(`div`,{className:`mb-10.5 flex flex-wrap items-end justify-between gap-5.25`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`p`,{className:`text-badge font-bold uppercase tracking-code text-story-white/50`,children:`All chapters · 7 stories`}),(0,S.jsx)(`h2`,{className:`mt-3.5 font-serif text-hero font-normal leading-none tracking-tight text-story-white`,children:`Everything at a glance`}),(0,S.jsx)(`p`,{className:`mt-3.5 max-w-60ch text-body leading-5 text-story-white/65`,children:`Hover a card to lift it — click to jump to its story. All 7 visuals, captions and signals visible without scrolling forever.`})]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-3.5 text-badge text-story-white/50`,children:[(0,S.jsx)(`span`,{className:`h-3 w-3 rounded-full bg-story-success shadow-glow-success`,"aria-hidden":!0}),` Stylish overview`]})]}),(0,S.jsx)(`div`,{className:`grid gap-7 sm:grid-cols-2 lg:grid-cols-3`,children:k.map((e,t)=>(0,S.jsxs)(`article`,{onClick:()=>{d(!1),requestAnimationFrame(()=>D(t))},className:`group relative flex cursor-pointer flex-col overflow-hidden rounded-hero border bg-story-surface text-left transition hover:-translate-y-1 hover:shadow-window focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-story-white/30`,style:T[e.theme],tabIndex:0,role:`button`,"aria-label":`Open ${e.label}`,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d(!1),requestAnimationFrame(()=>D(t)))},children:[(0,S.jsxs)(`div`,{className:`relative h-95 overflow-hidden`,children:[(0,S.jsx)(`img`,{src:e.image,alt:e.imageAlt,className:`h-full w-full object-cover transition duration-500 group-hover:scale-104`,loading:`lazy`,decoding:`async`}),(0,S.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-story-deep/85 via-story-deep/10 to-transparent`}),(0,S.jsxs)(`div`,{className:`absolute left-3 top-3 flex items-center gap-3`,children:[(0,S.jsx)(`span`,{className:`rounded-chip bg-story-white px-3 py-1 font-mono text-micro font-bold tracking-label text-story-deep`,children:e.number}),(0,S.jsx)(`span`,{className:`rounded-chip border border-story-white/20 bg-story-black/25 px-3.5 py-1 text-micro font-bold uppercase tracking-label text-story-white backdrop-blur`,children:e.theme})]}),(0,S.jsxs)(`div`,{className:`absolute bottom-2 left-3 right-3 flex items-center justify-between text-micro font-bold uppercase tracking-label text-story-white/75`,children:[(0,S.jsx)(`span`,{className:`truncate`,children:e.location}),(0,S.jsx)(y,{size:13,"aria-hidden":!0,className:`opacity-60 group-hover:opacity-100`})]})]}),(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col gap-3.5 p-7`,children:[(0,S.jsx)(`h3`,{className:`font-serif text-title font-normal leading-tight tracking-tight text-story-white`,children:e.title}),(0,S.jsx)(`p`,{className:`line-clamp-2 text-caption leading-5 text-story-white/65`,children:e.description}),(0,S.jsx)(`div`,{className:`mt-1.75 flex flex-wrap gap-3`,children:e.signals.map(t=>{let n=A[t.icon];return(0,S.jsxs)(`span`,{className:`inline-flex items-center gap-1.75 rounded-chip border border-story-white/10 bg-story-white/6 px-3.5 py-1.75 text-micro font-semibold uppercase tracking-label text-story-white/75`,children:[(0,S.jsx)(n,{size:12,"aria-hidden":!0,className:`text-story-accent`}),t.label,(0,S.jsx)(`strong`,{className:`font-bold text-story-white`,children:t.value})]},`${e.id}-${t.label}`)})})]})]},e.id))})]})}):(0,S.jsx)(`main`,{className:`relative z-1`,children:k.map((e,t)=>(0,S.jsxs)(`article`,{id:`chapter-${t}`,"data-chapter-index":t,ref:e=>{E.current[t]=e},className:`relative flex min-h-screen items-center overflow-hidden bg-story-deep bg-[linear-gradient(to_right,color-mix(in_srgb,var(--story-accent)_2.4%,transparent)_1px,transparent_1px),linear-gradient(to_bottom,color-mix(in_srgb,var(--story-accent)_2.4%,transparent)_1px,transparent_1px)] bg-[length:44px_100%,100%_40px] py-16 max-medium:min-h-0 max-medium:py-36 max-compact:py-52 max-compact:pb-16`,style:T[e.theme],"aria-labelledby":`chapter-title-${t}`,children:[(0,S.jsx)(`div`,{className:`absolute inset-0 z-0 scale-108 bg-cover bg-center mix-blend-screen`,style:{backgroundImage:`url(${e.image})`,filter:`blur(27px) saturate(1.14)`,opacity:.24},"aria-hidden":!0}),(0,S.jsxs)(`div`,{className:`landing-story-shell relative z-1 mx-auto`,children:[(0,S.jsxs)(`figure`,{className:`landing-story-visual relative row-start-1 min-w-0 w-full self-center overflow-hidden border border-story-white/20 bg-[#090d16] shadow-popout after:absolute after:inset-0 after:bg-gradient-to-b after:from-story-deep/4 after:via-story-deep/30 after:to-story-deep/60 after:content-[''] ${t%2==0?`col-start-1`:`col-start-2`}`,children:[(0,S.jsx)(`img`,{className:`block size-full object-cover object-center`,src:e.image,alt:e.imageAlt,loading:t===0?`eager`:`lazy`,fetchPriority:t===0?`high`:`low`,decoding:`async`}),(0,S.jsxs)(`figcaption`,{className:`absolute inset-x-4 bottom-4 z-1 flex justify-between font-mono text-micro font-medium leading-none tracking-label text-story-white/70 uppercase`,children:[e.location,` `,(0,S.jsx)(`span`,{className:`text-story-accent`,children:e.number})]})]}),(0,S.jsxs)(`div`,{className:`min-w-0 ${t%2==0?`col-start-2 row-start-1`:`col-start-1 row-start-1`}`,children:[(0,S.jsx)(`h1`,{className:`mt-6 max-w-12ch font-head text-story-hero font-normal leading-[0.98] tracking-[-0.045em] text-balance max-compact:max-w-13ch max-compact:text-story-hero-compact ${N(t,`delay-100`)}`,id:`chapter-title-${t}`,children:e.title}),(0,S.jsx)(`p`,{className:`landing-story-description mt-10 max-h-none max-w-[545px] text-lead leading-14 text-story-white/70 max-compact:max-w-full max-compact:text-body max-compact:leading-6 ${N(t,`delay-150`)}`,children:e.description}),(0,S.jsx)(`div`,{className:`landing-signal-grid ${N(t,`delay-200`)}`,children:e.signals.map(t=>(0,S.jsx)(j,{signal:t},`${e.id}-${t.label}`))}),(0,S.jsx)(`div`,{className:`mt-7 flex flex-wrap gap-3.5 max-compact:mt-5 ${N(t,`delay-300`)}`,children:(0,S.jsxs)(`button`,{className:`inline-flex h-22 items-center gap-2 rounded-control border border-story-white/25 bg-story-white/8 px-4.5 text-body font-bold text-story-white transition-transform active:scale-97 hover:bg-story-white/18 max-compact:h-21 max-compact:px-3.5 max-compact:text-badge`,type:`button`,onClick:()=>D(t===k.length-1?0:t+1),children:[O(t),(0,S.jsx)(p,{size:15,"aria-hidden":!0})]})})]})]})]},e.id))})]})}function N(e){document.title=`Cartethyia — The One-Stop AI Proxy Router`,(0,b.createRoot)(e).render((0,S.jsx)(x.StrictMode,{children:(0,S.jsx)(M,{})}))}export{N as mountLanding};
|
|
1
|
+
import{n as e,o as t,r as n,t as r}from"./jsx-runtime-CXUMngI_.js";import{d as i,i as a,n as o,s,t as c}from"./app-DIXLjojg.js";import{i as l,n as u,r as d,t as f}from"./terminal-0_IjPWTk.js";import{t as p}from"./arrow-right-Dl5yKnp8.js";import{t as m}from"./house-h9AZlJuT.js";import{t as h}from"./log-in-BmRjy60c.js";import{t as g}from"./message-circle-CCxGwRvv.js";import{t as _}from"./shield-check-DVS0Foqh.js";import{t as v}from"./use-reduced-motion-C4B0R6Sz.js";var y=e(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),b=i(),x=t(n(),1),S=r(),C=`/`,w=`/console`,T={night:{"--story-accent":`var(--color-story-night)`},core:{"--story-accent":`var(--color-story-core)`},blossom:{"--story-accent":`var(--color-story-blossom)`},voices:{"--story-accent":`var(--color-story-voices)`},red:{"--story-accent":`var(--color-story-red)`},denial:{"--story-accent":`var(--color-story-denial)`},shore:{"--story-accent":`var(--color-story-shore)`}},E=e=>`${C}assets/story/${e}`,D=e=>e.toLowerCase().replace(/\b\w/g,e=>e.toUpperCase()),O=e=>{let t=k[e+1];return t===void 0?`Back to ${k[0]?.label??`the beginning`}`:`Go to ${D(t.location)}`},k=[{id:`blessed-maiden`,number:`01`,label:`The Blessed Maiden`,location:`THE FIRST CROSSING`,theme:`night`,title:`A single signal enters the unknown.`,description:`Every client begins with one request and a question: where should it go? Cartethyia gives that signal a reliable gateway — self-hosted, authenticated, and ready for the crossing.`,image:E(`fleurdelys_plus.webp`),imageAlt:`The Blessed Maiden beneath a luminous blue sky`,signals:[{label:`The first crossing`,value:`OPEN`,icon:`network`},{label:`The chosen vessel`,value:`YOURS`,icon:`shield`},{label:`The gate`,value:`ALIGNED`,icon:`sparkles`}]},{id:`resonant-core`,number:`02`,label:`The Resonant Core`,location:`THE ROUTING SANCTUM`,theme:`core`,title:`The route becomes the power.`,description:`One surface can speak to many providers. Cartethyia translates protocols, balances targets, and keeps each request moving through the right vessel — even when the first path goes quiet.`,image:E(`cartethyia-god.webp`),imageAlt:`Cartethyia surrounded by a celestial blue routing field`,signals:[{label:`The many voices`,value:`30+`,icon:`network`},{label:`The bridge`,value:`ALIGNED`,icon:`terminal`},{label:`The fallback`,value:`AWARE`,icon:`activity`}]},{id:`pink-blossom`,number:`03`,label:`The Pink Blossom Calm`,location:`THE QUIET CONTROL`,theme:`blossom`,title:`Behind every powerful system, there is a quiet place to govern.`,description:`Observe the flow, tune the balance, and let the models answer. Provider accounts, credentials, usage, and health stay in one calm console built for the person operating the route.`,image:E(`jinhsi-blossom.webp`),imageAlt:`Jinhsi beneath soft pink blossoms`,signals:[{label:`The quiet engine`,value:`AWAKE`,icon:`activity`},{label:`The studio`,value:`READY`,icon:`sparkles`},{label:`The balance`,value:`HELD`,icon:`shield`}]},{id:`many-voices`,number:`04`,label:`The Many Voices`,location:`THE LIVING NETWORK`,theme:`voices`,title:`Every route carries a living world.`,description:`Providers, clients, and models bring different voices to the crossing. Cartethyia gives them one dependable gateway without silencing what makes each path unique.`,image:E(`wuthering-waves-hiyuki-aemeath-hiyuki-rover.webp`),imageAlt:`A bright celebration of characters and connected voices`,signals:[{label:`The many voices`,value:`CONNECTED`,icon:`network`},{label:`The shared world`,value:`OPEN`,icon:`sparkles`},{label:`The crossing`,value:`ALIGNED`,icon:`terminal`}]},{id:`red-thread`,number:`05`,label:`The Red Thread`,location:`THE FRACTURED PATH`,theme:`red`,title:`A beautiful signal can still be dangerous.`,description:`Every powerful route attracts pressure. Cartethyia watches the boundary, rejects hostile paths, and keeps a single failure from tearing through the whole network.`,image:E(`phrolova-a.webp`),imageAlt:`A figure surrounded by dark red threads and fractured signals`,signals:[{label:`The threat`,value:`SEEN`,icon:`activity`},{label:`The boundary`,value:`HELD`,icon:`shield`},{label:`The fallback`,value:`READY`,icon:`network`}]},{id:`request-denial`,number:`06`,label:`The Gate of Discernment`,location:`THE GATE OF DISCERNMENT`,theme:`denial`,title:`Not every signal should pass.`,description:`Every game needs a gatekeeper. Cartethyia verifies intent, protects the route, and denies the requests that would fracture the system.`,image:E(`requestdeniawokkjpg.webp`),imageAlt:`A radiant gatekeeper surrounded by cascading signals`,signals:[{label:`The verdict`,value:`CLEAR`,icon:`shield`},{label:`The boundary`,value:`GUARDED`,icon:`network`},{label:`The route`,value:`TRUSTED`,icon:`sparkles`}]},{id:`shorekeeper`,number:`07`,label:`The Open Shore`,location:`THE SHOREKEEPER`,theme:`shore`,title:`The gateway is yours to shape.`,description:`Find your way back to the source, share your route, and join the people building a dependable gateway across a changing AI landscape.`,image:E(`Shorekeeper.webp`),imageAlt:`Shorekeeper watching over a luminous open shore`,signals:[{label:`The source`,value:`OPEN`,icon:`terminal`},{label:`The shore`,value:`AWAITS`,icon:`network`},{label:`The next step`,value:`YOURS`,icon:`sparkles`}]}],A={activity:l,network:d,shield:_,sparkles:u,terminal:f};function j({signal:e}){let t=A[e.icon];return(0,S.jsxs)(`div`,{className:`landing-signal-tile`,children:[(0,S.jsx)(`span`,{className:`landing-signal-icon`,children:(0,S.jsx)(t,{size:12,"aria-hidden":!0})}),(0,S.jsxs)(`div`,{className:`landing-signal-copy`,children:[(0,S.jsx)(`div`,{className:`landing-signal-label`,children:e.label}),(0,S.jsx)(`div`,{className:`landing-signal-value`,children:e.value})]})]})}function M(){let e=v(),t=e?`auto`:`smooth`,[n,r]=(0,x.useState)(0),[i,l]=(0,x.useState)(()=>new Set([0])),[u,d]=(0,x.useState)(!1),[_,b]=(0,x.useState)(!1);(0,x.useEffect)(()=>{let e=()=>b(window.scrollY>24);return e(),window.addEventListener(`scroll`,e,{passive:!0}),()=>window.removeEventListener(`scroll`,e)},[]);let E=(0,x.useRef)([]);(0,x.useEffect)(()=>{if(typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting).sort((e,t)=>t.intersectionRatio-e.intersectionRatio)[0];if(t){let e=Number(t.target.dataset.chapterIndex);r(e),l(t=>t.has(e)?t:new Set([...t,e]))}},{threshold:[.35,.6,.85]});E.current.forEach(t=>{t&&e.observe(t)});let i=e=>{if(!e.target?.matches(`input, textarea, select, [contenteditable="true"]`)){if(e.key===`ArrowDown`||e.key===`ArrowRight`||e.key===`PageDown`){e.preventDefault();let r=Math.min(k.length-1,n+1);E.current[r]?.scrollIntoView({behavior:t,block:`start`})}else if(e.key===`ArrowUp`||e.key===`ArrowLeft`||e.key===`PageUp`){e.preventDefault();let r=Math.max(0,n-1);E.current[r]?.scrollIntoView({behavior:t,block:`start`})}}};return window.addEventListener(`keydown`,i),()=>{e.disconnect(),window.removeEventListener(`keydown`,i)}},[n,t]);let D=e=>{E.current[e]?.scrollIntoView({behavior:t,block:`start`})},M=k[n]?.theme??`night`,N=(t,n=``)=>i.has(t)?e?``:`animate-story-reveal-up ${n}`.trim():`opacity-0`;return(0,S.jsxs)(`div`,{className:`relative min-h-screen overflow-x-clip bg-story-deep font-sans text-story-ink`,id:`top`,style:T[M],children:[(0,S.jsx)(`header`,{className:`landing-header`,"data-scrolled":_,children:(0,S.jsxs)(`div`,{className:`landing-header-inner`,"data-scrolled":_,children:[(0,S.jsxs)(`a`,{className:`landing-header-brand`,href:`#top`,onClick:e=>{e.preventDefault(),D(0)},children:[(0,S.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-xl border border-story-white/25 bg-story-white p-0.5`,children:(0,S.jsx)(`img`,{className:`size-full rounded-lg object-cover`,src:`${C}assets/brand/favicon.webp`,alt:``})}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`strong`,{className:`block font-heading text-lead leading-none`,children:`Cartethyia`}),(0,S.jsx)(`small`,{className:`mt-1 block font-mono text-micro font-medium leading-none tracking-code text-story-white/50`,children:`AI PROXY ROUTER`})]})]}),(0,S.jsxs)(`nav`,{className:`landing-header-desktop-nav`,"aria-label":`Primary navigation`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>D(0),children:[(0,S.jsx)(m,{size:14,"aria-hidden":!0}),`Home`]}),(0,S.jsxs)(`a`,{href:w,children:[(0,S.jsx)(f,{size:14,"aria-hidden":!0}),`Console`]}),(0,S.jsxs)(`a`,{href:s,target:`_blank`,rel:`noreferrer`,children:[(0,S.jsx)(o,{size:14}),`GitHub`]}),(0,S.jsxs)(`a`,{href:a,target:`_blank`,rel:`noreferrer`,children:[(0,S.jsx)(g,{size:14,"aria-hidden":!0}),`Community`]})]}),(0,S.jsxs)(`div`,{className:`landing-header-actions`,children:[(0,S.jsx)(c,{className:`landing-header-github`}),(0,S.jsxs)(`button`,{type:`button`,"aria-label":u?`Show story`:`Show all`,"aria-pressed":u,onClick:()=>d(e=>!e),className:`landing-header-control landing-header-show-all${u?` is-active`:``}`,children:[(0,S.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-full bg-current`,"aria-hidden":!0}),u?`Story`:`All view`]}),(0,S.jsxs)(`a`,{className:`landing-header-control landing-header-console`,href:w,children:[`Enter console`,(0,S.jsx)(h,{size:14,"aria-hidden":!0})]})]})]})}),u?(0,S.jsx)(`main`,{className:`px-12 pb-17.5 pt-44 max-compact:px-8`,children:(0,S.jsxs)(`div`,{className:`mx-auto w-full max-w-640`,children:[(0,S.jsxs)(`div`,{className:`mb-10.5 flex flex-wrap items-end justify-between gap-5.25`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`p`,{className:`text-badge font-bold uppercase tracking-code text-story-white/50`,children:`All chapters · 7 stories`}),(0,S.jsx)(`h2`,{className:`mt-3.5 font-serif text-hero font-normal leading-none tracking-tight text-story-white`,children:`Everything at a glance`}),(0,S.jsx)(`p`,{className:`mt-3.5 max-w-60ch text-body leading-5 text-story-white/65`,children:`Hover a card to lift it — click to jump to its story. All 7 visuals, captions and signals visible without scrolling forever.`})]}),(0,S.jsxs)(`div`,{className:`flex items-center gap-3.5 text-badge text-story-white/50`,children:[(0,S.jsx)(`span`,{className:`h-3 w-3 rounded-full bg-story-success shadow-glow-success`,"aria-hidden":!0}),` Stylish overview`]})]}),(0,S.jsx)(`div`,{className:`grid gap-7 sm:grid-cols-2 lg:grid-cols-3`,children:k.map((e,t)=>(0,S.jsxs)(`article`,{onClick:()=>{d(!1),requestAnimationFrame(()=>D(t))},className:`group relative flex cursor-pointer flex-col overflow-hidden rounded-hero border bg-story-surface text-left transition hover:-translate-y-1 hover:shadow-window focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-story-white/30`,style:T[e.theme],tabIndex:0,role:`button`,"aria-label":`Open ${e.label}`,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d(!1),requestAnimationFrame(()=>D(t)))},children:[(0,S.jsxs)(`div`,{className:`relative h-95 overflow-hidden`,children:[(0,S.jsx)(`img`,{src:e.image,alt:e.imageAlt,className:`h-full w-full object-cover transition duration-500 group-hover:scale-104`,loading:`lazy`,decoding:`async`}),(0,S.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-story-deep/85 via-story-deep/10 to-transparent`}),(0,S.jsxs)(`div`,{className:`absolute left-3 top-3 flex items-center gap-3`,children:[(0,S.jsx)(`span`,{className:`rounded-chip bg-story-white px-3 py-1 font-mono text-micro font-bold tracking-label text-story-deep`,children:e.number}),(0,S.jsx)(`span`,{className:`rounded-chip border border-story-white/20 bg-story-black/25 px-3.5 py-1 text-micro font-bold uppercase tracking-label text-story-white backdrop-blur`,children:e.theme})]}),(0,S.jsxs)(`div`,{className:`absolute bottom-2 left-3 right-3 flex items-center justify-between text-micro font-bold uppercase tracking-label text-story-white/75`,children:[(0,S.jsx)(`span`,{className:`truncate`,children:e.location}),(0,S.jsx)(y,{size:13,"aria-hidden":!0,className:`opacity-60 group-hover:opacity-100`})]})]}),(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col gap-3.5 p-7`,children:[(0,S.jsx)(`h3`,{className:`font-serif text-title font-normal leading-tight tracking-tight text-story-white`,children:e.title}),(0,S.jsx)(`p`,{className:`line-clamp-2 text-caption leading-5 text-story-white/65`,children:e.description}),(0,S.jsx)(`div`,{className:`mt-1.75 flex flex-wrap gap-3`,children:e.signals.map(t=>{let n=A[t.icon];return(0,S.jsxs)(`span`,{className:`inline-flex items-center gap-1.75 rounded-chip border border-story-white/10 bg-story-white/6 px-3.5 py-1.75 text-micro font-semibold uppercase tracking-label text-story-white/75`,children:[(0,S.jsx)(n,{size:12,"aria-hidden":!0,className:`text-story-accent`}),t.label,(0,S.jsx)(`strong`,{className:`font-bold text-story-white`,children:t.value})]},`${e.id}-${t.label}`)})})]})]},e.id))})]})}):(0,S.jsx)(`main`,{className:`relative z-1`,children:k.map((e,t)=>(0,S.jsxs)(`article`,{id:`chapter-${t}`,"data-chapter-index":t,ref:e=>{E.current[t]=e},className:`relative flex min-h-screen items-center overflow-hidden bg-story-deep bg-[linear-gradient(to_right,color-mix(in_srgb,var(--story-accent)_2.4%,transparent)_1px,transparent_1px),linear-gradient(to_bottom,color-mix(in_srgb,var(--story-accent)_2.4%,transparent)_1px,transparent_1px)] bg-[length:44px_100%,100%_40px] py-16 max-medium:min-h-0 max-medium:py-36 max-compact:py-52 max-compact:pb-16`,style:T[e.theme],"aria-labelledby":`chapter-title-${t}`,children:[(0,S.jsx)(`div`,{className:`absolute inset-0 z-0 scale-108 bg-cover bg-center mix-blend-screen`,style:{backgroundImage:`url(${e.image})`,filter:`blur(27px) saturate(1.14)`,opacity:.24},"aria-hidden":!0}),(0,S.jsxs)(`div`,{className:`landing-story-shell relative z-1 mx-auto`,children:[(0,S.jsxs)(`figure`,{className:`landing-story-visual relative row-start-1 min-w-0 w-full self-center overflow-hidden border border-story-white/20 bg-[#090d16] shadow-popout after:absolute after:inset-0 after:bg-gradient-to-b after:from-story-deep/4 after:via-story-deep/30 after:to-story-deep/60 after:content-[''] ${t%2==0?`col-start-1`:`col-start-2`}`,children:[(0,S.jsx)(`img`,{className:`block size-full object-cover object-center`,src:e.image,alt:e.imageAlt,loading:t===0?`eager`:`lazy`,fetchPriority:t===0?`high`:`low`,decoding:`async`}),(0,S.jsxs)(`figcaption`,{className:`absolute inset-x-4 bottom-4 z-1 flex justify-between font-mono text-micro font-medium leading-none tracking-label text-story-white/70 uppercase`,children:[e.location,` `,(0,S.jsx)(`span`,{className:`text-story-accent`,children:e.number})]})]}),(0,S.jsxs)(`div`,{className:`min-w-0 ${t%2==0?`col-start-2 row-start-1`:`col-start-1 row-start-1`}`,children:[(0,S.jsx)(`h1`,{className:`mt-6 max-w-12ch font-head text-story-hero font-normal leading-[0.98] tracking-[-0.045em] text-balance max-compact:max-w-13ch max-compact:text-story-hero-compact ${N(t,`delay-100`)}`,id:`chapter-title-${t}`,children:e.title}),(0,S.jsx)(`p`,{className:`landing-story-description mt-10 max-h-none max-w-[545px] text-lead leading-14 text-story-white/70 max-compact:max-w-full max-compact:text-body max-compact:leading-6 ${N(t,`delay-150`)}`,children:e.description}),(0,S.jsx)(`div`,{className:`landing-signal-grid ${N(t,`delay-200`)}`,children:e.signals.map(t=>(0,S.jsx)(j,{signal:t},`${e.id}-${t.label}`))}),(0,S.jsx)(`div`,{className:`mt-7 flex flex-wrap gap-3.5 max-compact:mt-5 ${N(t,`delay-300`)}`,children:(0,S.jsxs)(`button`,{className:`inline-flex h-22 items-center gap-2 rounded-control border border-story-white/25 bg-story-white/8 px-4.5 text-body font-bold text-story-white transition-transform active:scale-97 hover:bg-story-white/18 max-compact:h-21 max-compact:px-3.5 max-compact:text-badge`,type:`button`,onClick:()=>D(t===k.length-1?0:t+1),children:[O(t),(0,S.jsx)(p,{size:15,"aria-hidden":!0})]})})]})]})]},e.id))})]})}function N(e){document.title=`Cartethyia — The One-Stop AI Proxy Router`,(0,b.createRoot)(e).render((0,S.jsx)(x.StrictMode,{children:(0,S.jsx)(M,{})}))}export{N as mountLanding};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./jsx-runtime-CXUMngI_.js";import{i as n,n as r,r as i}from"./numbers-
|
|
1
|
+
import{n as e,t}from"./jsx-runtime-CXUMngI_.js";import{i as n,n as r,r as i}from"./numbers-CivAk3da.js";import{C as a}from"./assert-CqTLw5e7.js";import{a as o,t as s,u as c}from"./tokens-COzario9.js";import{t as l}from"./select-CXbck0jG.js";var u=e(`cog`,[[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`circle`,{cx:`12`,cy:`12`,r:`8`,key:`46899m`}]]),d=e(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]),f=[`1h`,`6h`,`12h`,`24h`,`7d`,`30d`,`all`],p=t(),m={"1h":`Last 1 Hour`,"6h":`Last 6 Hours`,"12h":`Last 12 Hours`,"24h":`Last 24 Hours`,"7d":`Last 7 Days`,"30d":`Last 30 Days`,all:`All retained`},h=f.map(e=>({value:e,label:m[e]??e}));function g(e){return m[e]??e}function _({value:e,onChange:t}){return(0,p.jsx)(l,{"aria-label":`Period`,value:e,size:`sm`,className:`w-auto min-w-46 shrink-0 grow-0 basis-auto`,onValueChange:t,options:h.map(e=>({value:e.value,label:e.label}))})}function v(e,t,r){let a=g(e);if(t||r===void 0)return a;let o=r.inputTokens+r.outputTokens;return`${a} · ${n(r.requests)} calls · ${c(o)} tokens · avg ${i(r.avgDurationMs)}`}function y(e){return e!==null&&f.includes(e)?e:`24h`}function b(e){return e===`tokens`||e===`cached`?e:`requests`}function x(e){if(e===null)return s;if(e===`auto`)return-1;let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=o?t:s}function S(e){return e!==null&&a.includes(e)?e:`model`}function C(e){return e==null||!Number.isFinite(e)?`—`:e===0?`$0.00`:e<.01?`$${e.toFixed(4)}`:`$${e.toFixed(2)}`}function w(e){return e==null||!Number.isFinite(e)?`—`:`${r(e)} CR`}function T(e){return e==null||!Number.isFinite(e)||e<=0?`—`:`${(e>=100?Math.round(e):Math.round(e*10)/10).toLocaleString(`en-US`)} tok/s`}function E(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString(`en-GB`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function D(e){switch(e){case`chat`:return`OpenAI Completions`;case`messages`:return`Anthropic Messages`;case`responses`:return`OpenAI Responses`;case`completion`:return`OpenAI Completions`;default:return e||`—`}}function O(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=Math.max(0,t-n),i=6e4,a=60*i,o=24*a,s=7*o;if(r<a){let e=Math.max(0,Math.floor(r/i));return e<=1?`just now`:`${e}m ago`}if(r<o){let e=Math.floor(r/a);return e<=1?`1h ago`:`${e}h ago`}if(r<s){let e=Math.floor(r/o);return e<=1?`1d ago`:`${e}d ago`}let c=Math.floor(r/s);return c<=1?`1w ago`:`${c}w ago`}export{O as a,E as c,v as d,_ as f,u as h,x as i,C as l,d as m,b as n,w as o,g as p,y as r,T as s,S as t,D as u};
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/entry-
|
|
2
|
-
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){return e===`/share`||e.startsWith(`/share/`)?`share`:e===`/console`||e.startsWith(`/console/`)?`console`:`landing`}var t=`modulepreload`,n=function(e){return`/`+e},r={},i=function(e,i,a){let o=Promise.resolve();if(i&&i.length>0){let e=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function u(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}o=l(i.map(i=>{if(i=n(i,a),i=u(i),i in r)return;r[i]=!0;let o=i.endsWith(`.css`);for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.href===i&&(!o||n.rel===`stylesheet`))return}let s=document.createElement(`link`);if(s.rel=o?`stylesheet`:t,o||(s.as=`script`),s.crossOrigin=``,s.href=i,c&&s.setAttribute(`nonce`,c),document.head.appendChild(s),o)return new Promise((e,t)=>{s.addEventListener(`load`,e),s.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${i}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(t=>{for(let e of t||[])e.status===`rejected`&&s(e.reason);return e().catch(s)})},a=document.getElementById(`root`);if(a===null)throw Error(`Dashboard root element is missing`);var o=e(window.location.pathname);o===`console`?i(async()=>{let{mountConsole:e}=await import(`./entry-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/entry-BSu3gFlt.js","assets/jsx-runtime-CXUMngI_.js","assets/app-DIXLjojg.js","assets/app-Dx2QgsNj.css","assets/terminal-0_IjPWTk.js","assets/numbers-CivAk3da.js","assets/use-modal-focus-By7oJoGd.js","assets/dialog-BjFR5UHy.js","assets/assert-CqTLw5e7.js","assets/query-keys-IKLh0YFd.js","assets/mutation-BQ0ccH_A.js","assets/useMutation-BClG3yWj.js","assets/dialog-actions-B1axpEg7.js","assets/entry-CECVELyy.js","assets/brain-Cwed_72z.js","assets/chevron-right-BXIy5l3h.js","assets/circle-check-BU3v_mFW.js","assets/eye-C_hawfH4.js","assets/house-h9AZlJuT.js","assets/state-ClFzfbYp.js","assets/key-round-UkavsGxp.js","assets/clipboard-button-CEL5Sg_J.js","assets/use-clipboard-B0Sy03fE.js","assets/scaling-nWE4Cx8f.js","assets/wrench-B6E1oEuY.js","assets/card-DU3Lq5Lm.js","assets/download-dRFo5_Wu.js","assets/tokens-COzario9.js","assets/switch-CTIFxKqS.js","assets/entry-DYYofQ7W.js","assets/arrow-right-Dl5yKnp8.js","assets/log-in-BmRjy60c.js","assets/message-circle-CCxGwRvv.js","assets/shield-check-DVS0Foqh.js","assets/use-reduced-motion-C4B0R6Sz.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){return e===`/share`||e.startsWith(`/share/`)?`share`:e===`/console`||e.startsWith(`/console/`)?`console`:`landing`}var t=`modulepreload`,n=function(e){return`/`+e},r={},i=function(e,i,a){let o=Promise.resolve();if(i&&i.length>0){let e=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function u(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}o=l(i.map(i=>{if(i=n(i,a),i=u(i),i in r)return;r[i]=!0;let o=i.endsWith(`.css`);for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.href===i&&(!o||n.rel===`stylesheet`))return}let s=document.createElement(`link`);if(s.rel=o?`stylesheet`:t,o||(s.as=`script`),s.crossOrigin=``,s.href=i,c&&s.setAttribute(`nonce`,c),document.head.appendChild(s),o)return new Promise((e,t)=>{s.addEventListener(`load`,e),s.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${i}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(t=>{for(let e of t||[])e.status===`rejected`&&s(e.reason);return e().catch(s)})},a=document.getElementById(`root`);if(a===null)throw Error(`Dashboard root element is missing`);var o=e(window.location.pathname);o===`console`?i(async()=>{let{mountConsole:e}=await import(`./entry-BSu3gFlt.js`);return{mountConsole:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])).then(({mountConsole:e})=>e(a)):o===`share`?i(()=>import(`./entry-CECVELyy.js`).then(()=>void 0),__vite__mapDeps([13,1,2,3,14,5,15,16,17,18,19,20,21,22,23,24,25,26,27,28])):i(async()=>{let{mountLanding:e}=await import(`./entry-DYYofQ7W.js`);return{mountLanding:e}},__vite__mapDeps([29,1,2,3,4,30,18,31,32,33,34])).then(({mountLanding:e})=>e(a));export{i as t};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{m as t}from"./numbers-
|
|
1
|
+
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{m as t}from"./numbers-CivAk3da.js";import{r as n}from"./stack-DggRiCxE.js";var r=e(),i={center:`items-center`,start:`items-start`,end:`items-end`,"flex-start":`items-start`,"flex-end":`items-end`,baseline:`items-baseline`,stretch:`items-stretch`},a={center:`justify-center`,start:`justify-start`,end:`justify-end`,"flex-start":`justify-start`,"flex-end":`justify-end`,"space-between":`justify-between`,"space-around":`justify-around`,"space-evenly":`justify-evenly`};function o({children:e,gap:t=3,gapRaw:n,align:i=`center`,justify:a,wrap:o=!0,style:c,className:l=``}){return(0,r.jsx)(s,{gap:t,gapRaw:n,align:i,justify:a,wrap:o,style:c,className:l,children:e})}function s({children:e,gap:o=4,gapRaw:s,align:c=`center`,justify:l,wrap:u=!1,style:d,className:f=``}){let p=n(o,4);return(0,r.jsx)(`div`,{className:t(`flex flex-row`,i[c??``]??``,a[l??``]??``,u&&`flex-wrap`,s===void 0?p:null,f),style:s===void 0?d:{gap:s,...d},children:e})}export{s as n,o as t};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e,r as t,t as n}from"./jsx-runtime-CXUMngI_.js";import{m as r}from"./numbers-
|
|
1
|
+
import{o as e,r as t,t as n}from"./jsx-runtime-CXUMngI_.js";import{m as r}from"./numbers-CivAk3da.js";import{t as i}from"./eye-off-Bk5g2luF.js";import{t as a}from"./eye-C_hawfH4.js";var o=e(t(),1),s=n(),c=`w-full rounded-control border border-inner-border bg-surface-2 text-text-primary px-6 py-4 text-body outline-none transition-[border-color,box-shadow] duration-(--dur-micro) ease-spring focus:border-accent focus:shadow-focus`,l=(0,o.forwardRef)(({label:e,hint:t,error:n,id:l,type:u,className:d=``,showPasswordToggle:f,...p},m)=>{let h=u===`password`,g=h||f,[_,v]=(0,o.useState)(!1);return(0,s.jsxs)(`div`,{className:`form-group flex w-full flex-col gap-3`,children:[e?(0,s.jsxs)(`label`,{htmlFor:l,className:`form-label flex items-center justify-between text-caption font-semibold text-text-primary`,children:[(0,s.jsx)(`span`,{children:e}),t?(0,s.jsx)(`span`,{className:`form-hint text-badge font-normal text-text-tertiary`,children:t}):null]}):null,(0,s.jsxs)(`div`,{className:`relative flex items-center w-full`,children:[(0,s.jsx)(`input`,{ref:m,id:l,type:h?_?`text`:`password`:u,className:r(`form-input`,c,g&&`pr-18`,d),...p}),g?(0,s.jsx)(`button`,{type:`button`,onClick:()=>v(e=>!e),"aria-label":_?`Hide password`:`Show password`,"aria-pressed":_,className:`absolute right-5 bg-transparent border-none text-text-tertiary cursor-pointer p-1 inline-flex items-center justify-center`,children:_?(0,s.jsx)(i,{size:16}):(0,s.jsx)(a,{size:16})}):null]}),n?(0,s.jsx)(`p`,{className:`form-error mt-2 text-badge text-red`,role:`alert`,children:n}):null]})});l.displayName=`Input`;var u=(0,o.forwardRef)(({className:e,...t},n)=>(0,s.jsx)(`input`,{ref:n,type:`file`,className:r(`form-file-input box-border min-w-0 h-16 flex-auto cursor-pointer rounded-control border border-inner-border bg-surface-2 py-0 pl-0 pr-2 font-sans text-badge text-text-secondary transition-colors duration-(--dur-micro) ease-standard enabled:hover:border-border-strong focus-visible:outline-2 focus-visible:outline-focus-ring focus-visible:outline-offset-1 disabled:cursor-not-allowed disabled:opacity-60`,`file:h-full file:mr-4 file:px-5 file:py-0 file:rounded-l-control file:rounded-r-none file:border-0 file:border-r file:border-inner-border file:bg-surface-1 file:font-sans file:text-badge file:font-semibold file:text-text-primary file:cursor-pointer disabled:file:cursor-not-allowed file:hover:bg-surface-hover`,e),...t}));u.displayName=`FileInput`;var d=(0,o.forwardRef)(({label:e,hint:t,error:n,id:i,className:a=``,...o},l)=>(0,s.jsxs)(`div`,{className:`form-group flex w-full flex-col gap-3`,children:[e?(0,s.jsxs)(`label`,{htmlFor:i,className:`form-label flex items-center justify-between text-caption font-semibold text-text-primary`,children:[(0,s.jsx)(`span`,{children:e}),t?(0,s.jsx)(`span`,{className:`form-hint text-badge font-normal text-text-tertiary`,children:t}):null]}):null,(0,s.jsx)(`textarea`,{ref:l,id:i,className:r(`form-textarea`,c,a),...o}),n?(0,s.jsx)(`p`,{className:`form-error mt-2 text-badge text-red`,role:`alert`,children:n}):null]}));d.displayName=`Textarea`;export{l as n,d as r,u as t};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{m as t}from"./numbers-
|
|
1
|
+
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{m as t}from"./numbers-CivAk3da.js";var n=e();function r({eyebrow:e,title:r,description:i,action:a,icon:o,level:s=2}){let c=!!(e||r||i),l=s===1?`h1`:s===3?`h3`:`h2`;return(0,n.jsxs)(`div`,{className:t(`section-header flex items-center justify-between gap-6 max-small:flex-col max-small:items-start max-small:gap-4`,c?void 0:`justify-end`),children:[c?(0,n.jsxs)(`div`,{className:`section-header-text min-w-0`,children:[e?(0,n.jsx)(`p`,{className:`text-badge font-bold uppercase tracking-label text-text-tertiary mb-1`,children:e}):null,r?(0,n.jsx)(l,{className:`font-head text-title font-bold tracking-[-0.02em] text-text-primary`,children:r}):null,i?(0,n.jsx)(`p`,{className:`mt-1 text-caption text-text-secondary`,children:i}):null]}):null,o?(0,n.jsx)(`div`,{className:`card-header-icon grid size-14 shrink-0 place-items-center rounded-pill bg-accent-soft text-accent [&_svg]:size-7.5`,children:o}):null,a?(0,n.jsx)(`div`,{className:`section-header-action max-small:w-full max-small:[&_button]:w-full`,children:a}):null]})}function i(e){return e.length<=7?`default`:e.length<=11?`medium`:`long`}function a({label:e,value:r,detail:a,icon:o,tone:s,status:c,valueColor:l,action:u,size:d=`default`,fit:f=!1}){let p={teal:`text-teal`,purple:`text-accent`,green:`text-green`,orange:`text-orange`,red:`text-red`,accent:`text-accent`}[s||(c===`cooldown`?`orange`:c===`disabled`?`red`:`accent`)]??`text-accent`;return(0,n.jsxs)(`div`,{className:t(`stat-card min-w-0 border border-inner-border rounded-card bg-surface-2`,d===`roomy`?`p-9`:`p-6`),children:[(0,n.jsxs)(`div`,{className:t(`flex items-center justify-between gap-4 font-bold uppercase tracking-label`,d===`roomy`?`text-caption`:`text-micro`,p),children:[(0,n.jsxs)(`span`,{className:`inline-flex items-center gap-4 min-w-0`,children:[o,(0,n.jsx)(`span`,{children:e})]}),u?(0,n.jsx)(`span`,{className:`shrink-0`,children:u}):null]}),(0,n.jsx)(`p`,{className:t(`mb-0`,f?t(`stat-card-value`,d===`roomy`?`mt-4`:`mt-1`):t(`font-mono tabular-nums font-bold leading-[1.15]`,d===`roomy`?`text-hero mt-4`:`text-display mt-1`)),"data-fit":f?i(r):void 0,style:l?{color:l}:void 0,children:r}),(0,n.jsx)(`span`,{className:t(`stat-card-detail line-clamp-2 wrap-anywhere text-text-secondary`,d===`roomy`?`mt-2 text-body`:`text-badge`),children:a})]})}function o({headers:e,children:r,maxHeight:i,onScroll:a,sortKey:o,sortDirection:s,onSort:c,scrollRegion:l=!1,dense:u=!1}){return(0,n.jsx)(`div`,{className:t(`data-table-container`,l&&`scroll-region`),style:i?{maxHeight:i,overflowY:`auto`}:void 0,onScroll:a,children:(0,n.jsxs)(`table`,{className:t(`data-table text-caption`,u&&`text-badge [&_th]:px-4 [&_th]:py-2.5 [&_td]:px-4 [&_td]:py-2.5 [&_th]:text-text-secondary [&_th]:font-semibold [&_th]:normal-case [&_th]:tracking-normal [&_td]:tabular-nums`),children:[(0,n.jsx)(`thead`,{children:(0,n.jsx)(`tr`,{children:e.map(e=>{let r=typeof e==`string`?e:e.key,i=typeof e==`string`?e:e.label,a=typeof e!=`string`&&e.sortable===!0&&c!==void 0,l=o===r;return(0,n.jsx)(`th`,{scope:`col`,"aria-sort":l?s===`asc`?`ascending`:`descending`:void 0,children:a?(0,n.jsxs)(`button`,{type:`button`,onClick:()=>c(r),title:`Sort by ${i}`,className:`inline-flex items-center gap-2 cursor-pointer`,children:[(0,n.jsx)(`span`,{children:i}),(0,n.jsx)(`span`,{"aria-hidden":`true`,className:t(`text-micro`,l?`opacity-100`:`opacity-[0.35]`),children:l?s===`asc`?`▲`:`▼`:`△`})]}):i},r)})})}),(0,n.jsx)(`tbody`,{children:r})]})})}export{r as n,a as r,o as t};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{m as t}from"./numbers-
|
|
1
|
+
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{m as t}from"./numbers-CivAk3da.js";var n=e();function r({children:e,leading:r,actions:i,density:a=`default`,className:o=``,...s}){return(0,n.jsxs)(`div`,{className:t(`list-row flex items-center gap-6 rounded-control border border-inner-border bg-surface-2 min-w-0 px-7 py-5`,a===`compact`&&`list-row-compact px-5 py-3 rounded-inset gap-4`,o),...s,children:[r?(0,n.jsx)(`div`,{className:`list-row-leading shrink-0`,children:r}):null,(0,n.jsx)(`div`,{className:`list-row-body flex-1 min-w-0 flex flex-col gap-2`,children:e}),i?(0,n.jsx)(`div`,{className:`list-row-actions flex items-center gap-2 shrink-0 flex-wrap`,children:i}):null]})}export{r as t};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e,r as t}from"./jsx-runtime-CXUMngI_.js";import{s as n}from"./numbers-
|
|
1
|
+
import{o as e,r as t}from"./jsx-runtime-CXUMngI_.js";import{s as n}from"./numbers-CivAk3da.js";import{E as r}from"./assert-CqTLw5e7.js";import{o as i,t as a,u as o}from"./query-keys-IKLh0YFd.js";var s=e(t(),1);function c(e){if(!o(e)||typeof e.inFlight!=`number`||!Number.isFinite(e.inFlight))return null;let t=Math.max(0,Math.floor(e.inFlight));return{count:t,uniqueIps:typeof e.uniqueIps==`number`&&Number.isFinite(e.uniqueIps)?Math.max(0,Math.min(t,Math.floor(e.uniqueIps))):t}}function l(){let e=r(),[t,a]=(0,s.useState)(null),[o,l]=(0,s.useState)(null),[u,d]=(0,s.useState)(!1);return n({url:`/console/api/live/in-flight/stream`,preflight:async()=>{let e=c(await i(`/live/in-flight`));e!==null&&(a(e.count),l(e.uniqueIps))},events:[`count`,`request_completed`],onEvent:(t,n)=>{if(t===`request_completed`){e.invalidateQueries({queryKey:[`console`,`usage`,`requests`],exact:!1});return}if(t===`count`)try{let e=c(JSON.parse(n));e!==null&&(a(e.count),l(e.uniqueIps),d(!0))}catch{}},onOpen:()=>d(!0),onClose:()=>d(!1)}),{count:t,uniqueIps:o,live:u}}function u(e){if(!o(e)||!Array.isArray(e.pools))return null;let t=[];for(let n of e.pools){if(!o(n)||typeof n.poolId!=`string`)continue;let e=typeof n.currentInflight==`number`&&Number.isFinite(n.currentInflight)?Math.max(0,Math.floor(n.currentInflight)):0,r=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):0;t.push({poolId:n.poolId,currentInflight:e,bytesSent:r(n.bytesSent),bytesReceived:r(n.bytesReceived)})}return t}function d(e){for(;e.size>500;){let t=e.keys().next().value;if(t===void 0)break;e.delete(t)}}function f(e,t){let n=new Set,r=[];for(let i of t){n.add(i.poolId);let t=e.get(i.poolId),a=t?{poolId:i.poolId,currentInflight:i.currentInflight,bytesSent:Math.max(t.bytesSent,i.bytesSent),bytesReceived:Math.max(t.bytesReceived,i.bytesReceived)}:i;e.set(i.poolId,a),r.push(a)}d(e);for(let[t,i]of e)n.has(t)||r.push(i);return r}var p=2e3;function m(){let e=r(),[t,o]=(0,s.useState)(null),[c,l]=(0,s.useState)(!1),d=(0,s.useState)(()=>new Map)[0],m=(0,s.useRef)(void 0);return(0,s.useEffect)(()=>{let e=m;return()=>{e.current!==void 0&&clearTimeout(e.current)}},[]),n({url:`/console/api/live/pools/stream`,preflight:async()=>{let e=u(await i(`/live/pools`));e!==null&&o(f(d,e))},events:[`pools`,`health`],onEvent:(t,n)=>{if(t===`health`){m.current!==void 0&&clearTimeout(m.current),m.current=setTimeout(()=>{m.current=void 0,e.invalidateQueries({queryKey:a.network.pools})},p);return}if(t===`pools`)try{let e=u(JSON.parse(n));e!==null&&(o(f(d,e)),l(!0))}catch{}},onOpen:()=>l(!0),onClose:()=>l(!1)}),{pools:t,live:c}}export{m as n,l as t};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as e}from"./numbers-
|
|
1
|
+
import{g as e}from"./numbers-CivAk3da.js";import{E as t,c as n,l as r,w as i,y as a}from"./assert-CqTLw5e7.js";import{a as o,i as s,l as c,o as l,t as u}from"./query-keys-IKLh0YFd.js";import{t as d}from"./useMutation-BClG3yWj.js";function f(){return i({queryKey:u.network.pools,queryFn:e=>l(`/network/pools`,{signal:a(e)}).then(n),staleTime:s.staleTime,gcTime:s.gcTime})}function p(e,t){return i({queryKey:u.network.poolHealthEvents(e??``),queryFn:t=>l(`/network/pools/${encodeURIComponent(e??``)}/health-events`,{signal:a(t)}),enabled:!!e,...s,refetchInterval:t?.refetchInterval??!1})}function m(){return d({mutationFn:({poolId:e,providerId:t})=>l(`/network/pools/${encodeURIComponent(e)}/provider-probe`,{method:`POST`,body:JSON.stringify({providerId:t})})})}function h(){let e=t();return d({mutationFn:e=>l(`/network/pools/relay/deploy`,{method:`POST`,body:JSON.stringify(e)}),onSuccess:async()=>{await e.invalidateQueries({queryKey:u.network.pools})}})}function g(){return d({mutationFn:e=>l(`/network/pools/test-batch`,{method:`POST`,body:JSON.stringify({targets:e})})})}function _(){let n=t();return d({mutationFn:({poolId:e,request:t})=>l(`/network/pools/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.pools}),e.success(`Proxy updated`)},onError:t=>{e.error(`Could not update the proxy pool.`,c(t))}})}function v(){let n=t();return d({mutationFn:e=>l(`/network/pools/bulk/create`,{method:`POST`,body:JSON.stringify({targets:e})}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.pools})},onError:t=>{e.error(`Could not create the proxy pools.`,c(t))}})}function y(){let n=t();return d({mutationFn:e=>l(`/network/pools/bulk/delete`,{method:`POST`,body:JSON.stringify({ids:e})}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.pools})},onError:t=>{e.error(`Could not delete the proxy pools.`,c(t))}})}function b(){let n=t();return d({mutationFn:({ids:e,status:t})=>l(`/network/pools/bulk/status`,{method:`POST`,body:JSON.stringify({ids:e,status:t})}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.pools})},onError:t=>{e.error(`Could not update the proxy pools.`,c(t))}})}function x(e){return p(e,{refetchInterval:o.status})}function S(){let n=t();return d({mutationFn:e=>l(`/network/pools/${encodeURIComponent(e)}/recover`,{method:`POST`,body:`{}`}),onSuccess:async(t,r)=>{await Promise.all([n.invalidateQueries({queryKey:u.network.pools}),n.invalidateQueries({queryKey:[...u.network.pools,r,`health-events`]})]),e.success(`Proxy pool recovered`)},onError:t=>{e.error(`Could not recover the proxy pool.`,c(t))}})}function C(){let n=t();return d({mutationFn:e=>l(`/network/pools/${encodeURIComponent(e)}`,{method:`DELETE`}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.pools}),e.success(`Proxy pool deleted`)},onError:t=>{e.error(`Could not delete the proxy pool.`,c(t))}})}function w(){let e=t();return d({mutationFn:({poolId:e,providerId:t})=>l(`/network/pools/${encodeURIComponent(e)}/provider-probe`,{method:`POST`,body:JSON.stringify({providerId:t})}),onSuccess:async()=>{await e.invalidateQueries({queryKey:u.network.pools})}})}function T(){return d({mutationFn:({providerId:e,targets:t})=>l(`/network/pools/test-batch/provider`,{method:`POST`,body:JSON.stringify({providerId:e,targets:t})})})}function E(){let n=t();return d({mutationFn:e=>l(`/network/pools/${encodeURIComponent(e)}/health-check`,{method:`POST`,body:`{}`}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.pools}),e.success(`Health check complete`)},onError:t=>{e.error(`Health check failed.`,c(t))}})}function D(){let e=t();return d({mutationFn:({poolId:e,bytes:t})=>l(`/network/pools/${encodeURIComponent(e)}/speed-test`,{method:`POST`,body:JSON.stringify({bytes:t})}),onSuccess:async()=>{await e.invalidateQueries({queryKey:u.network.pools})}})}function O(){let n=t();return d({mutationFn:({poolId:e,providerId:t})=>l(`/network/pools/${encodeURIComponent(e)}/cooldowns/clear`,{method:`POST`,body:JSON.stringify(t?{providerId:t}:{})}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.pools}),e.success(`Provider cooldowns cleared`)},onError:t=>{e.error(`Could not clear provider cooldowns.`,c(t))}})}function k(){return i({queryKey:u.network.poolStrategy,queryFn:e=>l(`/network/pools/strategy`,{signal:a(e)}).then(r),staleTime:s.staleTime,gcTime:s.gcTime})}function A(){let n=t();return d({mutationFn:e=>l(`/network/pools/strategy`,{method:`PATCH`,body:JSON.stringify(e)}),onSuccess:async()=>{await n.invalidateQueries({queryKey:u.network.poolStrategy})},onError:t=>{e.error(`Could not update pool routing`,c(t))}})}export{D as _,h as a,f as c,k as d,T as f,b as g,S as h,y as i,p as l,w as m,v as n,E as o,g as p,C as r,x as s,O as t,m as u,_ as v,A as y};
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e,o as t,r as n,t as r}from"./jsx-runtime-CXUMngI_.js";import{f as i}from"./app-B7kIWFm5.js";var a=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),o=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),s=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),c=e(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),l=e(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),u=e(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),d=e(`heart`,[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`,key:`mvr1a0`}]]),f=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),p=e(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),ee=e(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),m=e(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),h=t(n(),1),te=t(i(),1);function g(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var _=e=>{switch(e){case`success`:return y;case`info`:return x;case`warning`:return b;case`error`:return S;default:return null}},v=Array(12).fill(0),ne=({visible:e,className:t})=>h.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},h.createElement(`div`,{className:`sonner-spinner`},v.map((e,t)=>h.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),y=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),b=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),x=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),S=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),C=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`},h.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),h.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),re=()=>{let[e,t]=h.useState(document.hidden);return h.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),e},w=1,T=100,E=e=>typeof e?.id==`number`||e?.id?.length>0?e.id:w++,D=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),this.getActiveToasts().forEach(t=>e(t)),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e],this.trimHistory()},this.trimHistory=()=>{let e=this.toasts.length-T;e<=0||(this.toasts=this.toasts.filter(t=>e>0&&this.dismissedToasts.has(t.id)?(this.dismissedToasts.delete(t.id),e--,!1):!0))},this.create=e=>{let{message:t,...n}=e,r=E(e),i=this.pendingDismissals.get(r);i!==void 0&&(cancelAnimationFrame(i),this.pendingDismissals.delete(r),this.dismissedToasts.delete(r));let a=this.dismissedToasts.has(r),o=e.dismissible===void 0||e.dismissible;return a&&(this.dismissedToasts.delete(r),this.toasts=this.toasts.filter(e=>e.id!==r)),!a&&this.toasts.find(e=>e.id===r)?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:o,title:t}):n):this.addToast({title:t,...n,dismissible:o,id:r}),r},this.dismiss=e=>{if(e==null)return this.getActiveToasts().forEach(e=>{this.dismissedToasts.add(e.id),this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e;this.dismissedToasts.add(e);let t=this.pendingDismissals.get(e);return t!==void 0&&cancelAnimationFrame(t),this.pendingDismissals.set(e,requestAnimationFrame(()=>{this.pendingDismissals.delete(e),this.subscribers.forEach(t=>t({id:e,dismiss:!0}))})),e},this.message=(e,t)=>this.create({...t,message:e,type:void 0}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],h.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(k(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=E(t);return this.create({...t,jsx:e(n),id:n,type:void 0}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set,this.pendingDismissals=new Map}},O=(e,t)=>D.message(e,t),k=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,A=Object.assign(O,{success:D.success,info:D.info,warning:D.warning,error:D.error,custom:D.custom,message:D.message,promise:D.promise,dismiss:D.dismiss,loading:D.loading},{getHistory:()=>D.toasts,getToasts:()=>D.getActiveToasts()});g(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--normal-text);background:var(--normal-bg);border:1px solid var(--normal-border);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function j(e){return e.label!==void 0}var M=3,N=`24px`,P=`16px`,ie=4e3,ae=356,F=14,I=45,L=200;function R(...e){return e.filter(Boolean).join(` `)}function z(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var oe=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:ee,cancelButtonStyle:m,actionButtonStyle:te,className:g=``,descriptionClassName:v=``,duration:y,position:b,gap:x,expandByDefault:S,classNames:w,icons:T,closeButtonAriaLabel:E=`Close toast`}=e,[D,O]=h.useState(null),[k,A]=h.useState(null),[M,N]=h.useState(!1),[P,ae]=h.useState(!1),[F,oe]=h.useState(!1),[B,se]=h.useState(!1),[ce,V]=h.useState(!1),[le,ue]=h.useState(0),[de,fe]=h.useState(0),pe=h.useRef(n.duration||y||ie),me=h.useRef(null),H=h.useRef(null),he=c===0,ge=c+1<=o,U=n.type,_e=U??`default`,ve=n.dismissible!==!1,ye=n.className||``,be=n.descriptionClassName||``,xe=h.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),Se=h.useMemo(()=>n.closeButton??p,[n.closeButton,p]),Ce=h.useMemo(()=>n.duration||y||ie,[n.duration,y]),we=h.useRef(0),Te=h.useRef(0),Ee=h.useRef(0),De=h.useRef(null),[Oe,ke]=b.split(`-`),Ae=h.useMemo(()=>s.reduce((e,t,n)=>n>=xe?e:e+t.height,0),[s,xe]),je=re(),W=h.useMemo(()=>e.swipeDirections??z(b),[e.swipeDirections,b]),Me=n.invert||t,Ne=U===`loading`;Te.current=h.useMemo(()=>xe*x+Ae,[xe,Ae]),h.useEffect(()=>{pe.current=Ce},[Ce]),h.useEffect(()=>{N(!0)},[]),h.useEffect(()=>{let e=H.current;if(e){let t=e.getBoundingClientRect().height;return fe(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),h.useLayoutEffect(()=>{if(!M)return;let e=H.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,fe(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[M,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let G=h.useCallback(()=>{ae(!0),ue(Te.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},L)},[n,d,a,Te]);h.useEffect(()=>{if(n.promise&&U===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||je?(()=>{if(Ee.current<we.current){let e=new Date().getTime()-we.current;pe.current-=e}Ee.current=new Date().getTime()})():pe.current!==1/0&&(we.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),G()},pe.current)),()=>clearTimeout(e)},[u,i,n,U,je,G]),h.useEffect(()=>{n.delete&&(G(),n.onDismiss==null||n.onDismiss.call(n,n))},[G,n.delete]);function Pe(){return T?.loading?h.createElement(`div`,{className:R(w?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":U===`loading`},T.loading):h.createElement(ne,{className:R(w?.loader,n?.classNames?.loader),visible:U===`loading`})}let Fe=n.icon||T?.[U]||_(U);return h.createElement(`li`,{tabIndex:0,ref:H,className:R(g,ye,w?.toast,n?.classNames?.toast,w?.[_e],n?.classNames?.[_e]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":M,"data-promise":!!n.promise,"data-swiped":ce,"data-removed":P,"data-visible":ge,"data-y-position":Oe,"data-x-position":ke,"data-index":c,"data-front":he,"data-swiping":F,"data-dismissible":ve,"data-type":U,"data-invert":Me,"data-swipe-out":B,"data-swipe-direction":k,"data-expanded":!!(u||S&&M),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${P?le:Te.current}px`,"--initial-height":S?`auto`:`${de}px`,...ee,...n.style},onDragEnd:()=>{oe(!1),O(null),De.current=null},onPointerDown:e=>{e.button!==2&&!Ne&&ve&&(me.current=new Date,ue(Te.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(oe(!0),De.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{if(B||!ve)return;De.current=null;let e=Number(H.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(H.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-me.current?.getTime(),i=D===`x`?e:t,a=Math.abs(i)/r;if((D===`x`?W.includes(e>0?`right`:`left`):W.includes(t>0?`bottom`:`top`))&&(Math.abs(i)>=I||a>.11)){ue(Te.current),n.onDismiss==null||n.onDismiss.call(n,n),A(D===`x`?e>0?`right`:`left`:t>0?`down`:`up`),G(),se(!0);return}var o,s;(o=H.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=H.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`),V(!1),oe(!1),O(null)},onPointerMove:e=>{var t,n;if(!De.current||!ve||window.getSelection()?.toString().length>0)return;let r=e.clientY-De.current.y,i=e.clientX-De.current.x;!D&&(Math.abs(i)>1||Math.abs(r)>1)&&O(Math.abs(i)>Math.abs(r)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(D===`y`){if(W.includes(`top`)||W.includes(`bottom`)){if(W.includes(`top`)&&r<0||W.includes(`bottom`)&&r>0)a.y=r;else{let e=r*o(r);a.y=Math.abs(e)<Math.abs(r)?e:r}}}else if(D===`x`&&(W.includes(`left`)||W.includes(`right`))){if(W.includes(`left`)&&i<0||W.includes(`right`)&&i>0)a.x=i;else{let e=i*o(i);a.x=Math.abs(e)<Math.abs(i)?e:i}}(Math.abs(a.x)>0||Math.abs(a.y)>0)&&V(!0),(t=H.current)==null||t.style.setProperty(`--swipe-amount-x`,`${a.x}px`),(n=H.current)==null||n.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}},Se&&!n.jsx&&U!==`loading`?h.createElement(`button`,{"aria-label":E,"data-disabled":Ne,"data-close-button":!0,onClick:Ne||!ve?()=>{}:()=>{G(),n.onDismiss==null||n.onDismiss.call(n,n)},className:R(w?.closeButton,n?.classNames?.closeButton)},T?.close??C):null,(U||n.icon||n.promise)&&n.icon!==null&&(T?.[U]!==null||n.icon)?h.createElement(`div`,{"data-icon":``,className:R(w?.icon,n?.classNames?.icon)},U===`loading`?n.icon||Pe():n.promise?Pe():null,U===`loading`?null:Fe):null,h.createElement(`div`,{"data-content":``,className:R(w?.content,n?.classNames?.content)},h.createElement(`div`,{"data-title":``,className:R(w?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?h.createElement(`div`,{"data-description":``,className:R(v,be,w?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),h.isValidElement(n.cancel)?n.cancel:n.cancel&&j(n.cancel)?h.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||m,onClick:e=>{j(n.cancel)&&ve&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),G())},className:R(w?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,h.isValidElement(n.action)?n.action:n.action&&j(n.action)?h.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||te,onClick:e=>{j(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&G())},className:R(w?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function B(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function se(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?P:N;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var ce=h.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:ee,visibleToasts:m=M,toastOptions:g,dir:_=B(),gap:v=F,icons:ne,customAriaLabel:y,containerAriaLabel:b=`Notifications`}=e,[x,S]=h.useState([]),C=h.useMemo(()=>n?x.filter(e=>e.toasterId===n):x.filter(e=>!e.toasterId),[x,n]),re=h.useMemo(()=>Array.from(new Set([i].concat(C.filter(e=>e.position).map(e=>e.position)))),[C,i]),[w,T]=h.useState([]),[E,O]=h.useState(!1),[k,A]=h.useState(!1),[j,N]=h.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),P=h.useRef(null),ie=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),I=h.useRef(null),L=h.useRef(!1),R=h.useCallback(e=>{S(t=>(t.find(t=>t.id===e.id)?.delete||D.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return h.useEffect(()=>D.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{S(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{te.flushSync(()=>{S(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[]),h.useEffect(()=>{if(d!==`system`){N(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?N(`dark`):N(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{N(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{N(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),h.useEffect(()=>{x.length<=1&&O(!1)},[x]),h.useEffect(()=>{let e=e=>{if(a.length>0&&a.every(t=>e[t]||e.code===t)){var t;O(!0),(t=P.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===P.current||P.current?.contains(document.activeElement))&&O(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),h.useEffect(()=>{if(P.current)return()=>{I.current&&(I.current.focus({preventScroll:!0}),I.current=null,L.current=!1)}},[P.current]),h.createElement(`section`,{ref:t,"aria-label":y??`${b} ${ie}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0,"data-react-aria-top-layer":!0},re.map((t,n)=>{let[i,a]=t.split(`-`);return C.length?h.createElement(`ol`,{key:t,dir:_===`auto`?B():_,tabIndex:-1,ref:P,className:c,"data-sonner-toaster":!0,"data-sonner-theme":j,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${w[0]?.height||0}px`,"--width":`${ae}px`,"--gap":`${v}px`,...ee,...se(l,u)},onBlur:e=>{L.current&&!e.currentTarget.contains(e.relatedTarget)&&(L.current=!1,I.current&&=(I.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||L.current||(L.current=!0,I.current=e.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{k||O(!1)},onDragEnd:()=>O(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||A(!0)},onPointerUp:()=>A(!1)},C.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>h.createElement(oe,{key:n.id,icons:ne,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:m,closeButton:g?.closeButton??s,interacting:k,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:R,toasts:C.filter(e=>e.position==n.position),heights:w.filter(e=>e.position==n.position),setHeights:T,expandByDefault:o,gap:v,expanded:E,swipeDirections:e.swipeDirections}))):null}))});function V(e,t){let n=[e,t].filter(e=>!!e).join(`
|
|
1
|
+
import{n as e,o as t,r as n,t as r}from"./jsx-runtime-CXUMngI_.js";import{f as i}from"./app-DIXLjojg.js";var a=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),o=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),s=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),c=e(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),l=e(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),u=e(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),d=e(`heart`,[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`,key:`mvr1a0`}]]),f=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),p=e(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),ee=e(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),m=e(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),h=t(n(),1),te=t(i(),1);function g(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var _=e=>{switch(e){case`success`:return y;case`info`:return x;case`warning`:return b;case`error`:return S;default:return null}},v=Array(12).fill(0),ne=({visible:e,className:t})=>h.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},h.createElement(`div`,{className:`sonner-spinner`},v.map((e,t)=>h.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),y=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),b=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),x=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),S=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},h.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),C=h.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`},h.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),h.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),re=()=>{let[e,t]=h.useState(document.hidden);return h.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),e},w=1,T=100,E=e=>typeof e?.id==`number`||e?.id?.length>0?e.id:w++,D=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),this.getActiveToasts().forEach(t=>e(t)),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e],this.trimHistory()},this.trimHistory=()=>{let e=this.toasts.length-T;e<=0||(this.toasts=this.toasts.filter(t=>e>0&&this.dismissedToasts.has(t.id)?(this.dismissedToasts.delete(t.id),e--,!1):!0))},this.create=e=>{let{message:t,...n}=e,r=E(e),i=this.pendingDismissals.get(r);i!==void 0&&(cancelAnimationFrame(i),this.pendingDismissals.delete(r),this.dismissedToasts.delete(r));let a=this.dismissedToasts.has(r),o=e.dismissible===void 0||e.dismissible;return a&&(this.dismissedToasts.delete(r),this.toasts=this.toasts.filter(e=>e.id!==r)),!a&&this.toasts.find(e=>e.id===r)?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:o,title:t}):n):this.addToast({title:t,...n,dismissible:o,id:r}),r},this.dismiss=e=>{if(e==null)return this.getActiveToasts().forEach(e=>{this.dismissedToasts.add(e.id),this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e;this.dismissedToasts.add(e);let t=this.pendingDismissals.get(e);return t!==void 0&&cancelAnimationFrame(t),this.pendingDismissals.set(e,requestAnimationFrame(()=>{this.pendingDismissals.delete(e),this.subscribers.forEach(t=>t({id:e,dismiss:!0}))})),e},this.message=(e,t)=>this.create({...t,message:e,type:void 0}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],h.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(k(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!h.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=E(t);return this.create({...t,jsx:e(n),id:n,type:void 0}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set,this.pendingDismissals=new Map}},O=(e,t)=>D.message(e,t),k=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,A=Object.assign(O,{success:D.success,info:D.info,warning:D.warning,error:D.error,custom:D.custom,message:D.message,promise:D.promise,dismiss:D.dismiss,loading:D.loading},{getHistory:()=>D.toasts,getToasts:()=>D.getActiveToasts()});g(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--normal-text);background:var(--normal-bg);border:1px solid var(--normal-border);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function j(e){return e.label!==void 0}var M=3,N=`24px`,P=`16px`,ie=4e3,ae=356,F=14,I=45,L=200;function R(...e){return e.filter(Boolean).join(` `)}function z(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var oe=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:ee,cancelButtonStyle:m,actionButtonStyle:te,className:g=``,descriptionClassName:v=``,duration:y,position:b,gap:x,expandByDefault:S,classNames:w,icons:T,closeButtonAriaLabel:E=`Close toast`}=e,[D,O]=h.useState(null),[k,A]=h.useState(null),[M,N]=h.useState(!1),[P,ae]=h.useState(!1),[F,oe]=h.useState(!1),[B,se]=h.useState(!1),[ce,V]=h.useState(!1),[le,ue]=h.useState(0),[de,fe]=h.useState(0),pe=h.useRef(n.duration||y||ie),me=h.useRef(null),H=h.useRef(null),he=c===0,ge=c+1<=o,U=n.type,_e=U??`default`,ve=n.dismissible!==!1,ye=n.className||``,be=n.descriptionClassName||``,xe=h.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),Se=h.useMemo(()=>n.closeButton??p,[n.closeButton,p]),Ce=h.useMemo(()=>n.duration||y||ie,[n.duration,y]),we=h.useRef(0),Te=h.useRef(0),Ee=h.useRef(0),De=h.useRef(null),[Oe,ke]=b.split(`-`),Ae=h.useMemo(()=>s.reduce((e,t,n)=>n>=xe?e:e+t.height,0),[s,xe]),je=re(),W=h.useMemo(()=>e.swipeDirections??z(b),[e.swipeDirections,b]),Me=n.invert||t,Ne=U===`loading`;Te.current=h.useMemo(()=>xe*x+Ae,[xe,Ae]),h.useEffect(()=>{pe.current=Ce},[Ce]),h.useEffect(()=>{N(!0)},[]),h.useEffect(()=>{let e=H.current;if(e){let t=e.getBoundingClientRect().height;return fe(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),h.useLayoutEffect(()=>{if(!M)return;let e=H.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,fe(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[M,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let G=h.useCallback(()=>{ae(!0),ue(Te.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},L)},[n,d,a,Te]);h.useEffect(()=>{if(n.promise&&U===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||je?(()=>{if(Ee.current<we.current){let e=new Date().getTime()-we.current;pe.current-=e}Ee.current=new Date().getTime()})():pe.current!==1/0&&(we.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),G()},pe.current)),()=>clearTimeout(e)},[u,i,n,U,je,G]),h.useEffect(()=>{n.delete&&(G(),n.onDismiss==null||n.onDismiss.call(n,n))},[G,n.delete]);function Pe(){return T?.loading?h.createElement(`div`,{className:R(w?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":U===`loading`},T.loading):h.createElement(ne,{className:R(w?.loader,n?.classNames?.loader),visible:U===`loading`})}let Fe=n.icon||T?.[U]||_(U);return h.createElement(`li`,{tabIndex:0,ref:H,className:R(g,ye,w?.toast,n?.classNames?.toast,w?.[_e],n?.classNames?.[_e]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":M,"data-promise":!!n.promise,"data-swiped":ce,"data-removed":P,"data-visible":ge,"data-y-position":Oe,"data-x-position":ke,"data-index":c,"data-front":he,"data-swiping":F,"data-dismissible":ve,"data-type":U,"data-invert":Me,"data-swipe-out":B,"data-swipe-direction":k,"data-expanded":!!(u||S&&M),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${P?le:Te.current}px`,"--initial-height":S?`auto`:`${de}px`,...ee,...n.style},onDragEnd:()=>{oe(!1),O(null),De.current=null},onPointerDown:e=>{e.button!==2&&!Ne&&ve&&(me.current=new Date,ue(Te.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(oe(!0),De.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{if(B||!ve)return;De.current=null;let e=Number(H.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(H.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-me.current?.getTime(),i=D===`x`?e:t,a=Math.abs(i)/r;if((D===`x`?W.includes(e>0?`right`:`left`):W.includes(t>0?`bottom`:`top`))&&(Math.abs(i)>=I||a>.11)){ue(Te.current),n.onDismiss==null||n.onDismiss.call(n,n),A(D===`x`?e>0?`right`:`left`:t>0?`down`:`up`),G(),se(!0);return}var o,s;(o=H.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=H.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`),V(!1),oe(!1),O(null)},onPointerMove:e=>{var t,n;if(!De.current||!ve||window.getSelection()?.toString().length>0)return;let r=e.clientY-De.current.y,i=e.clientX-De.current.x;!D&&(Math.abs(i)>1||Math.abs(r)>1)&&O(Math.abs(i)>Math.abs(r)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(D===`y`){if(W.includes(`top`)||W.includes(`bottom`)){if(W.includes(`top`)&&r<0||W.includes(`bottom`)&&r>0)a.y=r;else{let e=r*o(r);a.y=Math.abs(e)<Math.abs(r)?e:r}}}else if(D===`x`&&(W.includes(`left`)||W.includes(`right`))){if(W.includes(`left`)&&i<0||W.includes(`right`)&&i>0)a.x=i;else{let e=i*o(i);a.x=Math.abs(e)<Math.abs(i)?e:i}}(Math.abs(a.x)>0||Math.abs(a.y)>0)&&V(!0),(t=H.current)==null||t.style.setProperty(`--swipe-amount-x`,`${a.x}px`),(n=H.current)==null||n.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}},Se&&!n.jsx&&U!==`loading`?h.createElement(`button`,{"aria-label":E,"data-disabled":Ne,"data-close-button":!0,onClick:Ne||!ve?()=>{}:()=>{G(),n.onDismiss==null||n.onDismiss.call(n,n)},className:R(w?.closeButton,n?.classNames?.closeButton)},T?.close??C):null,(U||n.icon||n.promise)&&n.icon!==null&&(T?.[U]!==null||n.icon)?h.createElement(`div`,{"data-icon":``,className:R(w?.icon,n?.classNames?.icon)},U===`loading`?n.icon||Pe():n.promise?Pe():null,U===`loading`?null:Fe):null,h.createElement(`div`,{"data-content":``,className:R(w?.content,n?.classNames?.content)},h.createElement(`div`,{"data-title":``,className:R(w?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?h.createElement(`div`,{"data-description":``,className:R(v,be,w?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),h.isValidElement(n.cancel)?n.cancel:n.cancel&&j(n.cancel)?h.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||m,onClick:e=>{j(n.cancel)&&ve&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),G())},className:R(w?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,h.isValidElement(n.action)?n.action:n.action&&j(n.action)?h.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||te,onClick:e=>{j(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&G())},className:R(w?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function B(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function se(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?P:N;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var ce=h.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:ee,visibleToasts:m=M,toastOptions:g,dir:_=B(),gap:v=F,icons:ne,customAriaLabel:y,containerAriaLabel:b=`Notifications`}=e,[x,S]=h.useState([]),C=h.useMemo(()=>n?x.filter(e=>e.toasterId===n):x.filter(e=>!e.toasterId),[x,n]),re=h.useMemo(()=>Array.from(new Set([i].concat(C.filter(e=>e.position).map(e=>e.position)))),[C,i]),[w,T]=h.useState([]),[E,O]=h.useState(!1),[k,A]=h.useState(!1),[j,N]=h.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),P=h.useRef(null),ie=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),I=h.useRef(null),L=h.useRef(!1),R=h.useCallback(e=>{S(t=>(t.find(t=>t.id===e.id)?.delete||D.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return h.useEffect(()=>D.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{S(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{te.flushSync(()=>{S(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[]),h.useEffect(()=>{if(d!==`system`){N(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?N(`dark`):N(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{N(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{N(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),h.useEffect(()=>{x.length<=1&&O(!1)},[x]),h.useEffect(()=>{let e=e=>{if(a.length>0&&a.every(t=>e[t]||e.code===t)){var t;O(!0),(t=P.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===P.current||P.current?.contains(document.activeElement))&&O(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),h.useEffect(()=>{if(P.current)return()=>{I.current&&(I.current.focus({preventScroll:!0}),I.current=null,L.current=!1)}},[P.current]),h.createElement(`section`,{ref:t,"aria-label":y??`${b} ${ie}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0,"data-react-aria-top-layer":!0},re.map((t,n)=>{let[i,a]=t.split(`-`);return C.length?h.createElement(`ol`,{key:t,dir:_===`auto`?B():_,tabIndex:-1,ref:P,className:c,"data-sonner-toaster":!0,"data-sonner-theme":j,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${w[0]?.height||0}px`,"--width":`${ae}px`,"--gap":`${v}px`,...ee,...se(l,u)},onBlur:e=>{L.current&&!e.currentTarget.contains(e.relatedTarget)&&(L.current=!1,I.current&&=(I.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||L.current||(L.current=!0,I.current=e.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{k||O(!1)},onDragEnd:()=>O(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||A(!0)},onPointerUp:()=>A(!1)},C.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>h.createElement(oe,{key:n.id,icons:ne,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:m,closeButton:g?.closeButton??s,interacting:k,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:R,toasts:C.filter(e=>e.position==n.position),heights:w.filter(e=>e.position==n.position),setHeights:T,expandByDefault:o,gap:v,expanded:E,swipeDirections:e.swipeDirections}))):null}))});function V(e,t){let n=[e,t].filter(e=>!!e).join(`
|
|
2
2
|
`);return{...t?{description:t}:{},action:{label:`Copy`,onClick:()=>{if(!navigator.clipboard){A.error(`Clipboard unavailable`);return}navigator.clipboard.writeText(n).then(()=>A.success(`Toast content copied`,{duration:2e3}),()=>A.error(`Copy failed`,{duration:2e3}))}}}}var le={success:(e,t)=>A.success(e,V(e,t)),successRich:(e,t,n)=>A.success(e,{description:t,action:{label:`Copy`,onClick:()=>{if(!navigator.clipboard){A.error(`Clipboard unavailable`);return}navigator.clipboard.writeText(`${e}\n${n}`).then(()=>A.success(`Toast content copied`,{duration:2e3}),()=>A.error(`Copy failed`,{duration:2e3}))}}}),error:(e,t)=>A.error(e,V(e,t)),warning:(e,t)=>A.warning(e,V(e,t)),dismiss:e=>A.dismiss(e)};function ue(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ue(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function de(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ue(e))&&(r&&(r+=` `),r+=t);return r}var fe=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},pe=(e,t)=>({classGroupId:e,validator:t}),me=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),H=`-`,he=[],ge=`arbitrary..`,U=e=>{let t=ye(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return ve(e);let n=e.split(H);return _e(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?fe(i,t):t:i||he}return n[e]||he}}},_e=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=_e(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(H):e.slice(t).join(H),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},ve=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?ge+r:void 0})(),ye=e=>{let{theme:t,classGroups:n}=e;return be(n,t)},be=(e,t)=>{let n=me();for(let r in e){let i=e[r];xe(i,n,r,t)}return n},xe=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Se(i,t,n,r)}},Se=(e,t,n,r)=>{if(typeof e==`string`){Ce(e,t,n);return}if(typeof e==`function`){we(e,t,n,r);return}Te(e,t,n,r)},Ce=(e,t,n)=>{let r=e===``?t:Ee(t,e);r.classGroupId=n},we=(e,t,n,r)=>{if(De(e)){xe(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(pe(n,e))},Te=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];xe(o,Ee(t,a),n,r)}},Ee=(e,t)=>{let n=e,r=t.split(H),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=me(),n.nextPart.set(t,i)),n=i}return n},De=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Oe=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},ke=`!`,Ae=`:`,je=[],W=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Me=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Ae){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(ke)?(c=s.slice(0,-1),l=!0):s.startsWith(ke)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return W(t,l,c,u)};if(t){let e=t+Ae,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):W(je,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Ne=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},G=e=>({cache:Oe(e.cacheSize),parseClassName:Me(e),sortModifiers:Ne(e),postfixLookupClassGroupIds:Pe(e),...U(e)}),Pe=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Fe=/\s+/,Ie=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Fe),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:ee}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let m=!!ee,h;if(m){h=r(p.substring(0,ee));let e=h&&o[h]?r(p):void 0;e&&e!==h&&(h=e,m=!1)}else h=r(p);if(!h){if(!m){l=t+(l.length>0?` `+l:l);continue}if(h=r(p),!h){l=t+(l.length>0?` `+l:l);continue}m=!1}let te=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),g=f?te+ke:te,_=g+h;if(s.indexOf(_)>-1)continue;s.push(_);let v=i(h,m);for(let e=0;e<v.length;++e){let t=v[e];s.push(g+t)}l=t+(l.length>0?` `+l:l)}return l},Le=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Re(n))&&(i&&(i+=` `),i+=r);return i},Re=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Re(e[r]))&&(n&&(n+=` `),n+=t);return n},ze=(e,...t)=>{let n,r,i,a,o=o=>(n=G(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Ie(e,n);return i(e,a),a};return a=o,(...e)=>a(Le(...e))},Be=[],K=e=>{let t=t=>t[e]||Be;return t.isThemeGetter=!0,t.themeKey=e,t},Ve=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,He=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ue=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,We=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ge=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ke=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,qe=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Je=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,q=e=>Ue.test(e),J=e=>!!e&&!Number.isNaN(Number(e)),Y=e=>!!e&&Number.isInteger(Number(e)),Ye=e=>e.endsWith(`%`)&&J(e.slice(0,-1)),X=e=>We.test(e),Xe=()=>!0,Ze=e=>Ge.test(e)&&!Ke.test(e),Qe=()=>!1,$e=e=>qe.test(e),et=e=>Je.test(e),tt=e=>!Z(e)&&!Q(e),nt=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),rt=e=>$(e,xt,Qe),Z=e=>Ve.test(e),it=e=>$(e,St,Ze),at=e=>$(e,Ct,J),ot=e=>$(e,Tt,Xe),st=e=>$(e,wt,Qe),ct=e=>$(e,yt,Qe),lt=e=>$(e,bt,et),ut=e=>$(e,Et,$e),Q=e=>He.test(e),dt=e=>vt(e,St),ft=e=>vt(e,wt),pt=e=>vt(e,yt),mt=e=>vt(e,xt),ht=e=>vt(e,bt),gt=e=>vt(e,Et,!0),_t=e=>vt(e,Tt,!0),$=(e,t,n)=>{let r=Ve.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},vt=(e,t,n=!1)=>{let r=He.exec(e);return r?r[1]?t(r[1]):n:!1},yt=e=>e===`position`||e===`percentage`,bt=e=>e===`image`||e===`url`,xt=e=>e===`length`||e===`size`||e===`bg-size`,St=e=>e===`length`,Ct=e=>e===`number`,wt=e=>e===`family-name`,Tt=e=>e===`number`||e===`weight`,Et=e=>e===`shadow`,Dt=()=>{let e=K(`color`),t=K(`font`),n=K(`text`),r=K(`font-weight`),i=K(`tracking`),a=K(`leading`),o=K(`breakpoint`),s=K(`container`),c=K(`spacing`),l=K(`radius`),u=K(`shadow`),d=K(`inset-shadow`),f=K(`text-shadow`),p=K(`drop-shadow`),ee=K(`blur`),m=K(`perspective`),h=K(`aspect`),te=K(`ease`),g=K(`animate`),_=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],v=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ne=()=>[...v(),Q,Z],y=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],b=()=>[`auto`,`contain`,`none`],x=()=>[Q,Z,c],S=()=>[q,`full`,`auto`,...x()],C=()=>[Y,`none`,`subgrid`,Q,Z],re=()=>[`auto`,{span:[`full`,Y,Q,Z]},Y,Q,Z],w=()=>[Y,`auto`,Q,Z],T=()=>[`auto`,`min`,`max`,`fr`,Q,Z],E=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],D=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],O=()=>[`auto`,...x()],k=()=>[q,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...x()],A=()=>[s,q,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...x()],j=()=>[q,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...x()],M=()=>[e,Q,Z],N=()=>[...v(),pt,ct,{position:[Q,Z]}],P=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,mt,rt,{size:[Q,Z]}],ae=()=>[Ye,dt,it],F=()=>[``,`none`,`full`,l,Q,Z],I=()=>[``,J,dt,it],L=()=>[`solid`,`dashed`,`dotted`,`double`],R=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],z=()=>[J,Ye,pt,ct],oe=()=>[``,`none`,ee,Q,Z],B=()=>[`none`,J,Q,Z],se=()=>[`none`,J,Q,Z],ce=()=>[J,Q,Z],V=()=>[q,`full`,...x()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[X],breakpoint:[X],color:[Xe],container:[X],"drop-shadow":[X],ease:[`in`,`out`,`in-out`],font:[tt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[X],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[X],shadow:[X],spacing:[`px`,J],text:[X],"text-shadow":[X],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,q,Z,Q,h]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Q,Z]}],"container-named":[nt],columns:[{columns:[J,`auto`,Z,Q,s]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:ne()}],overflow:[{overflow:y()}],"overflow-x":[{"overflow-x":y()}],"overflow-y":[{"overflow-y":y()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{"inset-s":S(),start:S()}],end:[{"inset-e":S(),end:S()}],"inset-bs":[{"inset-bs":S()}],"inset-be":[{"inset-be":S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Y,`auto`,Q,Z]}],basis:[{basis:[q,`full`,`auto`,s,...x()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[J,q,`auto`,`initial`,`none`,Z]}],grow:[{grow:[``,J,Q,Z]}],shrink:[{shrink:[``,J,Q,Z]}],order:[{order:[Y,`first`,`last`,`none`,Q,Z]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:re()}],"col-start":[{"col-start":w()}],"col-end":[{"col-end":w()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:re()}],"row-start":[{"row-start":w()}],"row-end":[{"row-end":w()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...E(),`normal`]}],"justify-items":[{"justify-items":[...D(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...D()]}],"align-content":[{content:[`normal`,...E()]}],"align-items":[{items:[...D(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...D(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":E()}],"place-items":[{"place-items":[...D(),`baseline`]}],"place-self":[{"place-self":[`auto`,...D()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pbs:[{pbs:x()}],pbe:[{pbe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mbs:[{mbs:O()}],mbe:[{mbe:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":x()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":x()}],"space-y-reverse":[`space-y-reverse`],size:[{size:k()}],"inline-size":[{inline:[`auto`,...A()]}],"min-inline-size":[{"min-inline":[`auto`,...A()]}],"max-inline-size":[{"max-inline":[`none`,...A()]}],"block-size":[{block:[`auto`,...j()]}],"min-block-size":[{"min-block":[`auto`,...j()]}],"max-block-size":[{"max-block":[`none`,...j()]}],w:[{w:[s,`screen`,...k()]}],"min-w":[{"min-w":[s,`screen`,`none`,...k()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...k()]}],h:[{h:[`screen`,`lh`,...k()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...k()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...k()]}],"font-size":[{text:[`base`,n,dt,it]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,_t,ot]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Ye,Z]}],"font-family":[{font:[ft,st,t]}],"font-features":[{"font-features":[Z]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Q,Z]}],"line-clamp":[{"line-clamp":[J,`none`,Q,at]}],leading:[{leading:[`none`,a,...x()]}],"list-image":[{"list-image":[`none`,Q,Z]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Q,Z]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...L(),`wavy`]}],"text-decoration-thickness":[{decoration:[J,`from-font`,`auto`,Q,it]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[J,`auto`,Q,Z]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:x()}],"tab-size":[{tab:[Y,Q,Z]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Q,Z]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Q,Z]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:P()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Y,Q,Z],radial:[``,Q,Z],conic:[``,Y,Q,Z]},ht,lt]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:I()}],"border-w-x":[{"border-x":I()}],"border-w-y":[{"border-y":I()}],"border-w-s":[{"border-s":I()}],"border-w-e":[{"border-e":I()}],"border-w-bs":[{"border-bs":I()}],"border-w-be":[{"border-be":I()}],"border-w-t":[{"border-t":I()}],"border-w-r":[{"border-r":I()}],"border-w-b":[{"border-b":I()}],"border-w-l":[{"border-l":I()}],"divide-x":[{"divide-x":I()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":I()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...L(),`hidden`,`none`]}],"divide-style":[{divide:[...L(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...L(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[J,Q,Z]}],"outline-w":[{outline:[``,J,dt,it]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`inner`,`none`,u,gt,ut]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,gt,ut]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:I()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[J,it]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":I()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,f,gt,ut]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[J,Q,Z]}],"mix-blend":[{"mix-blend":[...R(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":R()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[J]}],"mask-image-linear-from-pos":[{"mask-linear-from":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[Q,Z]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[J]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:P()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Q,Z]}],filter:[{filter:[``,`none`,Q,Z]}],blur:[{blur:oe()}],brightness:[{brightness:[J,Q,Z]}],contrast:[{contrast:[J,Q,Z]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,gt,ut]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,J,Q,Z]}],"hue-rotate":[{"hue-rotate":[J,Q,Z]}],invert:[{invert:[``,J,Q,Z]}],saturate:[{saturate:[J,Q,Z]}],sepia:[{sepia:[``,J,Q,Z]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Q,Z]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[J,Q,Z]}],"backdrop-contrast":[{"backdrop-contrast":[J,Q,Z]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,J,Q,Z]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[J,Q,Z]}],"backdrop-invert":[{"backdrop-invert":[``,J,Q,Z]}],"backdrop-opacity":[{"backdrop-opacity":[J,Q,Z]}],"backdrop-saturate":[{"backdrop-saturate":[J,Q,Z]}],"backdrop-sepia":[{"backdrop-sepia":[``,J,Q,Z]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Q,Z]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[J,`initial`,Q,Z]}],ease:[{ease:[`linear`,`initial`,te,Q,Z]}],delay:[{delay:[J,Q,Z]}],animate:[{animate:[`none`,g,Q,Z]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[m,Q,Z]}],"perspective-origin":[{"perspective-origin":ne()}],rotate:[{rotate:B()}],"rotate-x":[{"rotate-x":B()}],"rotate-y":[{"rotate-y":B()}],"rotate-z":[{"rotate-z":B()}],scale:[{scale:se()}],"scale-x":[{"scale-x":se()}],"scale-y":[{"scale-y":se()}],"scale-z":[{"scale-z":se()}],"scale-3d":[`scale-3d`],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[Q,Z,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ne()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:V()}],"translate-x":[{"translate-x":V()}],"translate-y":[{"translate-y":V()}],"translate-z":[{"translate-z":V()}],"translate-none":[`translate-none`],zoom:[{zoom:[Y,Q,Z]}],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Q,Z]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":M()}],"scrollbar-track-color":[{"scrollbar-track":M()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mbs":[{"scroll-mbs":x()}],"scroll-mbe":[{"scroll-mbe":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pbs":[{"scroll-pbs":x()}],"scroll-pbe":[{"scroll-pbe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Q,Z]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[J,dt,it,at]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}},Ot=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:a={}})=>(kt(e,`cacheSize`,t),kt(e,`prefix`,n),kt(e,`experimentalParseClassName`,r),At(e.theme,a.theme),At(e.classGroups,a.classGroups),At(e.conflictingClassGroups,a.conflictingClassGroups),At(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers),kt(e,`postfixLookupClassGroups`,a.postfixLookupClassGroups),kt(e,`orderSensitiveModifiers`,a.orderSensitiveModifiers),jt(e.theme,i.theme),jt(e.classGroups,i.classGroups),jt(e.conflictingClassGroups,i.conflictingClassGroups),jt(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),Mt(e,i,`postfixLookupClassGroups`),Mt(e,i,`orderSensitiveModifiers`),e),kt=(e,t,n)=>{n!==void 0&&(e[t]=n)},At=(e,t)=>{if(t)for(let n in t)kt(e,n,t[n])},jt=(e,t)=>{if(t)for(let n in t)Mt(e,t,n)},Mt=(e,t,n)=>{let r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},Nt=((e,...t)=>typeof e==`function`?ze(Dt,e,...t):ze(()=>Ot(Dt(),e),...t))({extend:{classGroups:{"font-size":[{text:[`micro`,`badge`,`caption`,`body`,`body-lg`,`lead`,`title`,`display`,`hero`]}]}}});function Pt(...e){return Nt(de(e))}var Ft=`console-theme`;function It(e){return e===`light`||e===`dark`?e:`dark`}function Lt(e=`dark`){if(typeof window>`u`||!window.localStorage)return e;try{return It(window.localStorage.getItem(`console-theme`)??e)}catch{return e}}function Rt(e){return e===`dark`}function zt(e){typeof document>`u`||(document.documentElement.dataset.theme=Rt(e)?`dark`:`light`)}function Bt(e){if(typeof window<`u`)try{window.localStorage.setItem(Ft,e)}catch{}zt(e)}var Vt=r(),Ht={primary:`btn-primary bg-accent text-accent-foreground hover:bg-accent-hover`,secondary:`btn-secondary border border-inner-border bg-hover text-text-primary hover:bg-active-pill hover:border-border-strong`,ghost:`btn-ghost text-text-secondary hover:bg-hover hover:text-text-primary`,danger:`btn-danger bg-red text-white hover:opacity-90`},Ut={sm:`btn-sm h-15 px-5 text-badge [&_svg]:size-6.5`,md:``,lg:``,icon:`btn-icon size-17 p-0 grid place-items-center [&_svg]:size-7.5`};function Wt({variant:e=`secondary`,size:t=`md`,className:n}={}){return Pt(`btn inline-flex items-center justify-center gap-3.5 rounded-control font-semibold text-caption px-7 py-2 transition-all active:scale-[0.97]`,Ht[e],Ut[t],n)}var Gt=(0,h.forwardRef)(({className:e=``,variant:t=`secondary`,size:n=`md`,icon:r,label:i,loading:a=!1,children:o,type:s=`button`,...c},l)=>{let u=n===`icon`&&i!==void 0,d=a?(0,Vt.jsx)(f,{size:14,className:`animate-spin`}):r;return(0,Vt.jsxs)(`button`,{ref:l,type:s,className:Wt({variant:t,size:u?`md`:n,className:u?Pt(`btn-labeled h-15 px-5 gap-3 text-badge [&_svg]:size-6.5`,e):e}),"aria-busy":a||void 0,...c,children:[d?(0,Vt.jsx)(`span`,{className:`btn-icon-wrapper inline-flex items-center`,"aria-hidden":`true`,children:d}):null,u?(0,Vt.jsx)(`span`,{className:`btn-label`,children:i}):o]})});Gt.displayName=`Button`;function Kt(){let[e,t]=(0,h.useState)(!0),n=(0,h.useRef)(document.hidden);return(0,h.useEffect)(()=>{let e=()=>{let e=!document.hidden;n.current!==e&&(n.current=e,t(e))};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),e}var qt=2e3,Jt=6e4,Yt=400;function Xt(e){let t=Kt(),{url:n,enabled:r=!0}=e,i=(0,h.useRef)(e);i.current=e;let a=e.events?.join(`,`)??``;(0,h.useEffect)(()=>{if(!t||!r)return;let e=!0,o=0,s,c,l=qt,u=()=>{c!==void 0&&(clearTimeout(c),c=void 0)},d=()=>{if(!e||c!==void 0)return;let t=Math.floor(Math.random()*Yt),n=Math.min(l+t,Jt);c=setTimeout(()=>{c=void 0,f()},n)},f=async()=>{if(!e)return;let t=++o;try{await i.current.preflight?.()}catch{e&&t===o&&d();return}if(!e||t!==o)return;let r=new EventSource(n);s=r,r.onopen=()=>{e&&t===o&&(l=qt,i.current.onOpen?.())},r.onerror=()=>{e&&t===o&&(r.close(),s===r&&(s=void 0),i.current.onClose?.(),d())};for(let n of a?a.split(`,`):[])r.addEventListener(n,r=>{if(!e||t!==o)return;let a=r;typeof a.data==`string`&&i.current.onEvent?.(n,a.data)})};return f(),()=>{e=!1,o+=1,u(),s?.close()}},[r,a,n,t])}function Zt(e){if(e==null||!Number.isFinite(e))return`—`;if(e<0)return`${Math.round(e)} B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;let i=r===0?0:1;return`${n.toFixed(i)} ${t[r]}`}function Qt(e){return e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(1)}s`}function $t(e){return e==null||!Number.isFinite(e)?`—`:e<1e3?`${Math.round(e)} ms`:`${(e/1e3).toFixed(1)} s`}function en(e){if(e==null||!Number.isFinite(e))return`—`;let t=Math.max(0,Math.floor(e)),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),i=Math.floor(t%3600/60),a=t%60;return n>0?`${n}d ${r}h`:r>0?`${r}h ${i}m`:i>0?`${i}m ${a}s`:`${a}s`}function tn(e,t){return e==null||!Number.isFinite(e)?`—`:Math.round(e).toLocaleString(t)}function nn(e,t){return e==null||!Number.isFinite(e)?`—`:e.toLocaleString(t,{maximumFractionDigits:2})}export{d as C,s as D,c as E,o as O,f as S,l as T,ce as _,Qt as a,ee as b,Gt as c,Rt as d,Lt as f,le as g,de as h,tn as i,a as k,Wt as l,Pt as m,nn as n,en as o,Bt as p,$t as r,Xt as s,Zt as t,zt as u,A as v,u as w,p as x,m as y};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{c as t}from"./numbers-
|
|
1
|
+
import{t as e}from"./jsx-runtime-CXUMngI_.js";import{c as t}from"./numbers-CivAk3da.js";import{t as n}from"./chevron-left-Bf6CaTSJ.js";import{t as r}from"./chevron-right-BXIy5l3h.js";var i=e();function a({page:e,pageCount:a,onPageChange:o,testId:s}){return a<=1?null:(0,i.jsxs)(`div`,{"data-testid":s,className:`flex items-center justify-end gap-3`,children:[(0,i.jsxs)(`span`,{className:`text-badge tabular-nums text-text-tertiary`,children:[`Page `,e,` of `,a]}),(0,i.jsx)(t,{variant:`ghost`,size:`sm`,disabled:e<=1,onClick:()=>o(e-1),icon:(0,i.jsx)(n,{size:13}),children:`Previous`}),(0,i.jsx)(t,{variant:`ghost`,size:`sm`,disabled:e>=a,onClick:()=>o(e+1),icon:(0,i.jsx)(r,{size:13}),children:`Next`})]})}export{a as t};
|
|
Binary file
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" role="img" aria-label="Zro">
|
|
2
|
+
<path fill="#000" fill-rule="evenodd" d="M700 225 1300 225 1300 450 1500 450 1500 675 1700 675 1700 1350 1500 1350 1500 1575 1300 1575 1300 1775 700 1775 700 1575 500 1575 500 1350 300 1350 300 675 500 675 500 450 700 450Z M700 450 1100 450 1100 675 1050 675 1050 900 950 900 950 1125 850 1125 850 1350 700 1350Z M1150 675 1300 675 1300 1575 900 1575 900 1350 950 1350 950 1125 1050 1125 1050 900 1150 900Z"/>
|
|
3
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return e.kind===`grok:cli-header`||e.kind===`grok:cli-header-requests`}function t(e){let t=Date.now();return e.resetsAt&&(e.modelIds?.length||e.recurring===!1)&&new Date(e.resetsAt).getTime()<=t?`expired`:e.startsAt&&new Date(e.startsAt).getTime()>t?`future`:`current`}function n(e,t=!0){if(!e)return``;let n=new Date(e).getTime()-Date.now();if(!Number.isFinite(n)||n<=0)return t?`Resetting soon`:`Expired`;let r=t?`Resets in`:`Expires in`,i=Math.ceil(n/6e4);if(i<60)return`${r} ${i}mins`;let a=Math.floor(i/60),o=i%60;if(a<24)return`${r} ${a}h${o>0?` ${o}mins`:``}`;let s=Math.floor(a/24),c=a%24,l=`${c>0?` ${c}h`:``}${o>0?` ${o}mins`:``}`;if(s>=365){let e=Math.floor(s/365),t=s%365;return`${r} ${e}y${t>0?` ${t}d`:``}${l}`}if(s>=30){let e=Math.floor(s/30),t=s%30;return`${r} ${e}mo${t>0?` ${t}d`:``}${l}`}return`${r} ${s}d${l}`}function r(e){return/^(?:zcode\s+)?start plan$/i.test(e)?`Start`:/^zcode global build$/i.test(e)?`Global Build`:e}function i(e,t){if(t!==`zcode-start`)return e;let n=e.split(`,`).map(e=>e.trim()).filter(Boolean),i=n.find(e=>r(e)===`Start`)??n[0];return i?`${r(i)}${n.length>1?` +${n.length-1}`:``}`:e}function a(e,t,n){if(t===`zcode-start`){let t=e.split(` · `);return t.length>1&&n?.some(e=>e.toLowerCase()===t[0]?.replace(/-trial$/i,``).toLowerCase())&&t.shift(),t.map(e=>e===`daily`?`Daily`:e===`nightly`?`Nightly`:e===`one-time`?`One-time`:r(e)).join(` · `)}let i=/^(\d+)\s*hour$/i.exec(e.trim());if(!i)return e;let a=Number(i[1]);if(!Number.isFinite(a)||a<=0)return e;if(a===24)return`Daily`;if(a===168)return`Weekly`;if(a===720)return`Monthly`;if(a===8760)return`Yearly`;if(a>=8760){let e=Math.floor(a%8760/24);return`${Math.floor(a/8760)}y${e>0?` ${e}d`:``}`}if(a>=720){let e=Math.floor(a%720/24);return`${Math.floor(a/720)}mo${e>0?` ${e}d`:``}`}return a>=24?`${Math.floor(a/24)}d${a%24>0?` ${a%24}h`:``}`:`${a}h`}function o(e){if(!e)return``;let t=new Date(e);return Number.isFinite(t.getTime())?`Last refreshed: ${t.toLocaleString([],{dateStyle:`medium`,timeStyle:`short`})}`:``}function s(e){let n=0,r=0,i=!1,a=!1,o=null,s=new Map,l=!1,u=!1;for(let c of e){let e=t(c);if(c.modelIds?.length&&(l=!0),e!==`future`){if(e===`expired`&&(u=!0),c.modelIds?.length){let t=e===`expired`?0:c.remainingPercent??c.remaining??(c.limit!=null&&c.used!=null?c.limit-c.used:null),n=typeof t==`number`&&Number.isFinite(t)?t:null;for(let e of c.modelIds){let t=s.get(e);s.set(e,t===void 0?n:t!==null&&t>0?Math.max(t,n??0):n!==null&&n>0?n:t===null||n===null?null:Math.max(t,n))}continue}if(e!==`expired`){if(c.accounting===`pooled`){let e=typeof c.limit==`number`&&Number.isFinite(c.limit)?c.limit:null,t=null;typeof c.remaining==`number`&&Number.isFinite(c.remaining)?t=c.remaining:e!==null&&typeof c.used==`number`&&Number.isFinite(c.used)&&(t=e-c.used),t!==null&&(n+=Math.max(0,t),e===null?a=!0:r+=e,i=!0);continue}if(typeof c.remainingPercent==`number`&&Number.isFinite(c.remainingPercent)){let e=Math.min(100,Math.max(0,c.remainingPercent));o=o===null?e:Math.min(o,e)}}}}let d=null,f=[...s.values()].filter(e=>e!==null&&e>0).length,p=i&&n<=0||o!==null&&o<=0,m=!p&&(l?f>0:n>0||o!==null&&o>0),h=p||(l?s.size>0&&[...s.values()].every(e=>e!==null&&e<=0):u&&!i&&o===null);if(i?d=r>0&&!a?`${c(n)} of ${c(r)}`:`${c(n)} left`:!l&&o!==null&&(d=`${Math.round(o)}% left`),s.size>0){let e=`${p?0:f} of ${s.size} models available`;d=d?`${d} · ${e}`:e,o!==null&&(d+=` · ${Math.round(o)}% account limit left`)}return{remaining:n,total:r,hasCredits:i,lowestPercent:o,text:d,low:h||(o??100)<=10,available:m,empty:h}}function c(e){return e.toLocaleString(void 0,{maximumFractionDigits:1})}function l(e){if(!e)return null;let t=e.toLowerCase();return t.includes(`invalidated`)||t.includes(`reauthorization`)||t.includes(`refresh token revoked`)?`OAuth account invalidated — re-login required`:t.includes(`endpoint is not available`)||t===`not available`?`Quota tracking is not supported for this provider`:t.includes(`overloaded`)||t.includes(`capacity`)||t.includes(`temporarily unavailable`)?`Provider capacity unavailable — retry after the indicated time`:t.includes(`usage limit`)||t.includes(`quota`)||t.includes(`rate limit`)?`Quota exhausted or rate limited — wait for reset`:t.includes(`http 500`)||t.includes(`internal server error`)?`Provider temporarily unavailable — retry in a moment`:t.includes(`http 429`)||t.includes(`too many requests`)?`Rate limited — slow down requests`:t.includes(`http 401`)||t.includes(`unauthorized`)||t.includes(`invalid`)?`Credential expired — re-login or refresh token`:t.includes(`http 403`)||t.includes(`forbidden`)?`Access denied — check account permissions`:t.includes(`http 402`)||t.includes(`payment`)?`Payment required — top up account balance`:t.includes(`connect`)||t.includes(`network`)||t.includes(`timeout`)?`Network error — check connection and retry`:`Provider error — inspect account health details`}function u(e){return e===null?{bar:`var(--text-tertiary)`,text:`var(--text-tertiary)`}:e<20?{bar:`var(--red)`,text:`var(--red)`}:e<50?{bar:`var(--orange)`,text:`var(--orange)`}:{bar:`var(--green)`,text:`var(--green)`}}function d(e,t){let n=Math.ceil(e.length/4),r=Math.max(0,n-1),i=Math.min(Math.max(0,Number.isFinite(t)?Math.trunc(t):0),r),a=i*4;return{items:e.slice(a,a+4),page:i,pageCount:n,startIndex:a}}function f(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function p(e){return e.startsWith(`eyJ`)||e.startsWith(`sk-`)||e.startsWith(`…`)}function m(e,t){return e.startsWith(`eyJ`)||e===`—`?t:e}var h=new Set([`oauth`,`api_key`,`none`]);function g(e,t){let n=t.trim()||`Unnamed account`,r=m(e,n).trim(),i=r&&r!==`—`&&!h.has(r.toLowerCase())?r:null,a=[i,n].find(e=>e!==null&&f(e))??null;return a===null?{primary:n,secondary:i!==null&&i!==n&&!p(i)?i:null}:{primary:a,secondary:[n,i].find(e=>e!==null&&e!==a&&!p(e))??null}}export{n as a,d as c,t as d,a as i,u as l,i as n,l as o,o as r,e as s,g as t,s as u};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,a as t,d as n,o as r,w as i,y as a}from"./assert-
|
|
1
|
+
import{E as e,a as t,d as n,o as r,w as i,y as a}from"./assert-CqTLw5e7.js";import{a as o,i as s,o as c,t as l}from"./query-keys-IKLh0YFd.js";import{t as u}from"./useMutation-BClG3yWj.js";function d(){return i({queryKey:l.modelRouting.aliases,queryFn:e=>c(`/routing/aliases`,{signal:a(e)}).then(t),...s})}function f(){return i({queryKey:l.modelRouting.combos,queryFn:e=>c(`/routing/combos`,{signal:a(e)}).then(r),...s})}function p(e){return i({queryKey:l.providers.routing(e),queryFn:t=>c(`/providers/${encodeURIComponent(e??``)}/routing`,{signal:a(t)}).then(n),enabled:e!==void 0&&e.length>0,...s})}function m(e){return i({queryKey:l.providers.accountInflight(e),queryFn:async t=>{let n=await c(`/providers/${encodeURIComponent(e??``)}/account-inflight`,{signal:a(t)});if(!Array.isArray(n))throw{status:500,code:`invalid_response`,message:`Invalid account inflight response`};let r=new Map;for(let e of n){if(typeof e!=`object`||!e)continue;let t=e;typeof t.accountId==`string`&&typeof t.inflight==`number`&&r.set(t.accountId,Math.max(0,Math.floor(t.inflight)))}return r},enabled:e!==void 0&&e.length>0,refetchInterval:o.live,refetchIntervalInBackground:!1})}function h(){let t=e();return u({mutationFn:e=>c(`/routing/aliases`,{method:`POST`,body:JSON.stringify(e)}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.aliases})}})}function g(){let t=e();return u({mutationFn:({id:e,request:t})=>c(`/routing/aliases/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.aliases})}})}function _(){let t=e();return u({mutationFn:e=>c(`/routing/aliases/${encodeURIComponent(e)}`,{method:`DELETE`}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.aliases})}})}function v(){let t=e();return u({mutationFn:e=>c(`/routing/aliases/reorder`,{method:`POST`,body:JSON.stringify({ids:e})}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.aliases})}})}function y(){let t=e();return u({mutationFn:e=>c(`/routing/combos/reorder`,{method:`POST`,body:JSON.stringify({ids:e})}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.combos})}})}function b(){let t=e();return u({mutationFn:e=>c(`/routing/combos`,{method:`POST`,body:JSON.stringify(e)}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.combos})}})}function x(){let t=e();return u({mutationFn:e=>c(`/routing/combos/${encodeURIComponent(e)}/clone`,{method:`POST`}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.combos})}})}function S(){let t=e();return u({mutationFn:({id:e,request:t})=>c(`/routing/combos/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.combos})}})}function C(){let t=e();return u({mutationFn:e=>c(`/routing/combos/${encodeURIComponent(e)}`,{method:`DELETE`}),onSuccess:async()=>{await t.invalidateQueries({queryKey:l.modelRouting.combos})}})}function w(){let t=e();return u({mutationFn:({providerId:e,request:t})=>c(`/providers/${encodeURIComponent(e)}/routing`,{method:`PATCH`,body:JSON.stringify(t)}),onSuccess:async(e,n)=>{await t.invalidateQueries({queryKey:l.providers.routing(n.providerId)}),await t.invalidateQueries({queryKey:l.providers.all})}})}export{C as a,m as c,y as d,g as f,_ as i,p as l,w as m,h as n,d as o,S as p,b as r,f as s,x as t,v as u};
|
|
Binary file
|